@popmelt.com/core 0.24.0 → 0.24.1
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/claude-plugin/.claude-plugin/plugin.json +1 -1
- package/codex-plugin/.codex-plugin/plugin.json +1 -1
- package/dist/ParticipantRuntime-SS2IDRLA.mjs +139 -0
- package/dist/{PreviewRuntime-2SCFCGWC.mjs → PreviewRuntime-NGTLOEX3.mjs} +1 -1
- package/dist/adapter-react-three-fiber.d.mts +1 -1
- package/dist/bridge-entry.mjs +78 -78
- package/dist/{browser-runtime-3Z4U66AP.mjs → browser-runtime-HYKTQV6Q.mjs} +1 -1
- package/dist/browser.d.mts +4 -4
- package/dist/browser.mjs +1 -1
- package/dist/{chunk-DHAOAIKK.mjs → chunk-3MO7Z4DV.mjs} +1 -1
- package/dist/chunk-3XSTOVWX.mjs +2 -0
- package/dist/{chunk-EUDGPGCQ.mjs → chunk-4WAFUF5Y.mjs} +1 -1
- package/dist/chunk-7W3RBRFM.mjs +301 -0
- package/dist/chunk-B5KUI32Q.mjs +413 -0
- package/dist/chunk-ENERPQJN.mjs +2 -0
- package/dist/cli.mjs +97 -97
- package/dist/index.d.mts +5 -5
- package/dist/index.mjs +1 -1
- package/dist/media.d.mts +3 -3
- package/dist/{participantBootstrap-Dqu2h47B.d.mts → participantBootstrap-BQHbHI4r.d.mts} +2 -2
- package/dist/plugin-astro.mjs +1 -1
- package/dist/plugin-nuxt.mjs +1 -1
- package/dist/plugin-vite.mjs +1 -1
- package/dist/server-OPX7SKA7.mjs +228 -0
- package/dist/server.mjs +81 -81
- package/dist/{subjects-DzjWdlAk.d.mts → subjects-BM3Smdow.d.mts} +6 -1
- package/dist/{video-adapter-CCLbp86L.d.mts → video-adapter-Gm5gmoiz.d.mts} +1 -1
- package/package.json +25 -23
- package/dist/ParticipantRuntime-PTBGXKSH.mjs +0 -139
- package/dist/chunk-6URDGUIL.mjs +0 -2
- package/dist/chunk-BYLH3WFB.mjs +0 -2
- package/dist/chunk-C4ONFAGF.mjs +0 -399
- package/dist/chunk-M3HCNQ4T.mjs +0 -250
- package/dist/server-T4EMCHVP.mjs +0 -228
package/dist/chunk-M3HCNQ4T.mjs
DELETED
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{a as qd,b as eh}from"./chunk-EX63NVDN.mjs";import{d as th,g as nh,m as rh,l as oh}from"./chunk-N2ZEZCHO.mjs";import{a as ih}from"./chunk-J3UIBBU2.mjs";import{Xa as Bl,O as Jl,f as Ud,h as Kt,d as ah,Mb as Yd,ha as Xd,l as Kd,j as Vd,k as ql,tc as Ul,m as lh,n as Xi,xc as Qd,yc as Gd,zc as Zd,wc as ec,gc as sh,hc as dh,Qb as ai,rb as ch,qb as uh,p as tc,Xb as ph,sb as fh,t as hh,pb as mh,v as gh,u as yh,s as vh,lc as Yl,kc as bh,jc as Xl,tb as xh,Tb as nc,Ub as wh,Sb as rc,Rb as Sh,w as kh,Ya as Ih,ra as oc,Dc as Eh,Aa as ic,x as Th,uc as ac,Fb as lc,Eb as Ch,Zb as Ah,lb as Mh,mb as Kl,nb as Rh,ob as Lh,q as sc,Yb as $h,Kb as Ph,Jb as jh,Ib as zh,Lb as Dh,Oa as Oh,Pa as Nh,wa as Hh,zb as ln,ea as dc,da as _h,Ab as Fh,Hb as Wh,Db as Bh,Y as gn,V as Un,_ as Vl,L as cc,vb as li,U as Ql,aa as Jh,A as Ca,bb as qh,ub as Uh,$a as uc,ka as pc,T as Mr,pa as Yh,qa as fc,gb as Xh,R as Kh,Q as Vh,ga as Gl,fa as Zl,cc as Ao,bc as hc,dc as mc,Bc as Qh,Cc as Gh,ic as Zh,ec as em,fc as tm,ja as gc,o as nm,Gb as rm,ca as om,_a as im,i as am,G as yc,F as Ki,C as Aa,H as si,Na as vc,Qa as bc,Wa as xc,Va as wc,za as Mo,Ra as Sc,Ua as di,S as kc,Bb as es,yb as lm,xb as ts,wb as ns,Za as sm,Cb as Ic,Ba as dm,W as cm,X as um,eb as Ec,cb as Tc,db as Cc,fb as pm,P as fm,hb as Ac,jb as Mc,kb as hm,ma as mm,la as Rc,oa as gm,ab as ym,na as vm,ia as Lc,K as $c,E as rs,vc as Pc,Ac as jc,y as bm,c as xm,xa as ci,La as os,Ca as Ro,Ta as Ma,Fa as zc,z as wm,Z as is,b as Dc,Vb as Sm,$ as Oc,ba as Nc,D as Ra,ib as km,J as as,g as Im,Ea as La,sa as Hc,Ja as Em,ua as or,Ga as ls,Da as Vi,ta as ss,va as Tm,Ka as Cm,Ia as Am,Sa as ds,Ha as _c,N as Mm,B as Fc,I as Rm,ya as Wc,M as Lm,Ma as $m}from"./chunk-C4ONFAGF.mjs";import{u as Pm,g as Vt,D as Bc,F as jm,H as zm,d as $a,s as cs,o as Yt,p as Lo,t as Qi,n as Pa,C as Jc,B as Dm,v as ja,z as Om,f as pn,w as ir,y as Nm,A as it,h as Hm,i as _m,m as qc,x as Fm,a as Wm,q as Bm,r as Jm,c as Uc,b as us}from"./chunk-6URDGUIL.mjs";import{lazy as Yc,memo as qm,useContext as za,useState as $,Fragment as Xc,useRef as q,useEffect as Y,useCallback as U,useMemo as xe,Suspense as Kc,cloneElement as Um,useSyncExternalStore as Ym,useLayoutEffect as Dt,useId as Xm}from"react";import{domToCanvas as Km,createContext as Vm,destroyContext as Qm}from"modern-screenshot";import{jsx as f,jsxs as A,Fragment as at}from"react/jsx-runtime";import{Fingerprint as Rr,Component as Da,Ban as Oa,Terminal as Vc,PenLine as Qc,Plug as Gm,SquareMousePointer as Zm,ChevronRight as ps,FilePenLine as eg,ChevronDown as ui,Check as Zr,ChevronLeft as tg,X as Na,Clock as Gc,Lock as ng,ArrowDown as rg,Send as og,OctagonAlert as Zc,MessageCircleQuestionMark as ig,Reply as ag,TriangleAlert as lg,Command as eu,CornerDownLeft as fs,EyeOff as sg,Trash2 as dg}from"lucide-react";import{createPortal as tu}from"react-dom";function cg(e){return Ud(e)?new ug(e):new EventSource(e)}var ug=class{constructor(e){this.readyState=0,this.onerror=null,this.controller=new AbortController,this.listeners=new Map,this.read(e)}addEventListener(e,t){let n=this.listeners.get(e)??new Set;n.add(t),this.listeners.set(e,n)}close(){this.readyState=2,this.controller.abort(),this.listeners.clear()}emit(e,t){let n=new MessageEvent(e,{data:t});for(let r of this.listeners.get(e)??[])r(n)}async read(e){try{let t=await fetch(e,Im(e,{signal:this.controller.signal}));if(!t.ok||!t.body||!t.headers.get("content-type")?.includes("text/event-stream"))throw new Error("Event stream unavailable");if(this.controller.signal.aborted)return;this.readyState=1;let n=t.body.getReader(),r=new TextDecoder,o="",i="message",a=[],l=0;try{for(;!this.controller.signal.aborted;){let s=await n.read();if(s.done)throw new Error("Event stream ended");if(o+=r.decode(s.value,{stream:!0}),o.length>2*1024*1024)throw new Error("Event frame too large");let d;for(;(d=o.indexOf(`
|
|
3
|
-
`))!==-1;){let c=o.slice(0,d).replace(/\r$/,"");if(o=o.slice(d+1),!c)a.length&&this.emit(i,a.join(`
|
|
4
|
-
`)),i="message",a=[],l=0;else if(c.startsWith("event:"))i=c.slice(6).trimStart();else if(c.startsWith("data:")&&(a.push(c.slice(5).replace(/^ /,"")),l+=c.length,l>2*1024*1024))throw new Error("Event frame too large")}}}finally{await n.cancel().catch(()=>{})}}catch{if(this.controller.signal.aborted)return;this.readyState=2,this.emit("error",""),this.onerror?.call(this,new Event("error"))}}};function pg(e,t,n){return[...e].reverse().find(o=>o.type==="done"||o.type==="error")||(t?void 0:n)}function nu(e,t,n){let r=new Set(t.map(s=>s.id)),o=new Map(n.map(s=>[s.id,s])),i=e.flatMap(s=>{let d=o.get(s);return d?.status==="done"||d?.status==="error"?[d]:[]}),a=new Set(i.map(s=>s.id)),l=e.filter(s=>!a.has(s));for(let s of r)l.includes(s)||l.push(s);return{serverActiveIds:r,terminalJobs:i,reconciledActiveIds:l}}function ru(e,t){return e.store===void 0&&(e.store=t),e.store}function fg(e,t){let n=e.listeners??(e.listeners=new Set);return n.add(t),()=>n.delete(t)}function hg(e,t,n){let r=n(ru(e,t));e.store=r;for(let o of e.listeners??[])o();return r}var et=globalThis.__POPMELT_BRIDGE_CONNECTION__??(globalThis.__POPMELT_BRIDGE_CONNECTION__={}),Ha=et.sourceId??(typeof localStorage<"u"?localStorage.getItem("popmelt-source-id"):null)??(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2));et.sourceId=Ha;try{typeof localStorage<"u"&&localStorage.setItem("popmelt-source-id",Ha)}catch{}function hs(){return Ha}var _a={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0};et.store??(et.store={..._a}),et.listeners??(et.listeners=new Set);var ar=et.activeEs??null,Fa=et.activeBridgeUrl??null,lr=null,zn=et.connectionGeneration??0,Wa=new Set,pi=new Map,eo={},ms=new Set;function Dn(e,t){if(!e)return!1;if(ms.has(e))return!0;if(Wa.has(e)){let r=pi.get(e);return r||(r=[],pi.set(e,r)),r.push({type:t.type??"",data:t}),!0}let n=eo[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function ou(e,t,n,r=new Map){let o=()=>n!==(et.connectionGeneration??0);for(let i of t){if(o())return;Wa.add(i),pi.set(i,[])}await Promise.all(t.map(async i=>{try{let a=await tc(e,i);if(o())return;let l=pi.get(i)??[];if(a){ut(c=>{let p={...c.jobResponses,[i]:a.accumulated.response},u={...c.jobThinking,[i]:a.accumulated.thinking},m=[...c.events];for(let h of a.events)h.type==="done"||h.type==="error"||m.push({type:h.type,data:h,timestamp:Date.now()});return{...c,jobResponses:p,jobThinking:u,currentResponse:i===c.activeJobId?a.accumulated.response:c.currentResponse,currentThinking:i===c.activeJobId?a.accumulated.thinking:c.currentThinking,events:m}}),eo[i]=a.currentSeq;let s=[...a.events].reverse().find(c=>c.type==="job_started"||c.type==="job_parked");s?.type==="job_parked"&&fi("job_parked",s,i);let d=pg(a.events,a.jobActive,r.get(i));d&&fi(d.type,d,i);for(let c of l)typeof c.data.seq=="number"&&c.data.seq<=a.currentSeq||fi(c.type,c.data,i)}else{let s=!1;for(let c of l)fi(c.type,c.data,i),(c.type==="done"||c.type==="error")&&(s=!0);let d=r.get(i);!s&&d&&fi(d.type,d,i)}}finally{Wa.delete(i),pi.delete(i)}}))}function fi(e,t,n){if(e==="job_parked")ut(r=>{let o=r.activeJobIds.filter(i=>i!==n);return{...r,activeJobIds:o,activeJobId:o.at(-1)??null,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}});else if(e==="job_started")ut(r=>({...r,status:"streaming",activeJobId:n,activeJobIds:[...new Set([...r.activeJobIds,n])],activeJobThreads:typeof t.threadId=="string"?{...r.activeJobThreads,[n]:t.threadId}:r.activeJobThreads,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}));else if(e==="delta"){let r=t.text||"";ut(o=>({...o,jobResponses:{...o.jobResponses,[n]:(o.jobResponses[n]||"")+r},currentResponse:n===o.activeJobId?o.currentResponse+r:o.currentResponse,events:[...o.events,{type:"delta",data:t,timestamp:Date.now()}]}))}else if(e==="thinking"){let r=t.text||"";ut(o=>({...o,jobThinking:{...o.jobThinking,[n]:(o.jobThinking[n]||"")+r},currentThinking:n===o.activeJobId?o.currentThinking+r:o.currentThinking,events:[...o.events,{type:"thinking",data:t,timestamp:Date.now()}]}))}else if(e==="status")ut(r=>({...r,events:[...r.events,{type:"status",data:t,timestamp:Date.now()}]}));else if(e==="done")delete eo[n],ut(r=>{let o=r.activeJobIds.filter(d=>d!==n),i={...r.jobResponses},a={...r.jobThinking},l=i[n];delete i[n],delete a[n];let s=n===r.activeJobId?o.length>0?o[o.length-1]:null:r.activeJobId;return{...r,activeJobIds:o,activeJobId:s,jobResponses:i,jobThinking:a,lastCompletedJobId:n,lastResponseText:t.responseText||l||r.currentResponse||null,lastThreadId:t.threadId??null,...n===r.activeJobId?{currentResponse:s&&i[s]||"",currentThinking:s&&a[s]||""}:{},events:[...r.events,{type:"done",data:t,timestamp:Date.now()}]}});else if(e==="error"){delete eo[n];let r=t.message??"";ut(o=>{let i=o.activeJobIds.filter(l=>l!==n),a=i.length>0?o.status:"error";return{...o,status:a,activeJobIds:i,lastCompletedJobId:n,lastErrorByJob:r?{...o.lastErrorByJob,[n]:r}:o.lastErrorByJob,events:[...o.events,{type:"error",data:t,timestamp:Date.now()}]}})}else ut(e==="question"?r=>{let o=typeof t.threadId=="string"?t.threadId:"",i=typeof t.question=="string"?t.question:"",a=Array.isArray(t.annotationIds)?t.annotationIds.filter(s=>typeof s=="string"):void 0,l=r.pendingQuestions.some(s=>s.jobId===n);return{...r,pendingQuestions:i&&o&&!l?[...r.pendingQuestions,{jobId:n,threadId:o,question:i,annotationIds:a,timestamp:Date.now()}]:r.pendingQuestions,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}}:r=>({...r,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}))}var On=et.discoveredBridgeUrl??null,Sn=et.discoveredBridgeProjectId??null,to=null,hi=null;function iu(e,t=!1){let n=e??null;if(!(!t&&(et.expectedProjectId??null)===n)){ar&&(ar.close(),ar=null,et.activeEs=null),lr&&(clearTimeout(lr),lr=null),Fa=null,et.activeBridgeUrl=null,On=null,Sn=null,et.discoveredBridgeUrl=null,et.discoveredBridgeProjectId=null,to=null,hi=null,Wa.clear(),pi.clear(),ms.clear();for(let r of Object.keys(eo))delete eo[r];et.expectedProjectId=n,zn=(et.connectionGeneration??zn)+1,et.connectionGeneration=zn,ut(()=>({..._a}))}}function mg(){et.listeners?.size||iu(null,!0)}async function au(e,t){if(On&&(t?Sn===t:!Sn))return On;if(!t&&Sn&&(On=null,Sn=null,et.discoveredBridgeUrl=On,et.discoveredBridgeProjectId=Sn),t&&Sn&&Sn!==t&&(On=null,Sn=null,et.discoveredBridgeUrl=On,et.discoveredBridgeProjectId=Sn),to&&hi===(t??null))return to;let n=zn;return hi=t??null,to=nm(e,t).then(r=>n!==zn?null:(On=r?.url??null,Sn=r?.projectId??t??null,et.discoveredBridgeUrl=On,et.discoveredBridgeProjectId=Sn,to=null,hi=null,On)).catch(()=>(n!==zn||(to=null,hi=null),null)),to}function gg(){return On}async function yg(e,t){On=null,Sn=null,et.discoveredBridgeUrl=null,et.discoveredBridgeProjectId=null,to=null,hi=null;let n=zn,r=await au(e,t);return r&&n===zn&&gs(r),r}function Gi(){return ru(et,{..._a})}function vg(e){return fg(et,e)}function ut(e){hg(et,{..._a},t=>{let n=e(t),r=new Set(n.activeJobIds),o=n.activeJobId&&r.has(n.activeJobId)?n.activeJobId:n.activeJobIds.at(-1)??null;return{...n,activeJobId:o,activeJobThreads:Object.keys(n.activeJobThreads).some(i=>!r.has(i))?Object.fromEntries(Object.entries(n.activeJobThreads).filter(([i])=>r.has(i))):n.activeJobThreads,status:n.status==="streaming"&&r.size===0?"idle":n.status}})}function bg(){return typeof window<"u"?window.__POPMELT_PROJECT_ID__??null:null}function gs(e){if(ar&&ar.readyState!==EventSource.CLOSED&&Fa===e)return;ar&&(ar.close(),ar=null,et.activeEs=null),lr&&(clearTimeout(lr),lr=null),Fa=e,et.activeBridgeUrl=Fa,zn=(et.connectionGeneration??zn)+1;let t=zn;et.connectionGeneration=zn;let n=new URLSearchParams({sourceId:Ha}),r=bg();r&&n.set("projectId",r);let o=cg(`${e}/events?${n.toString()}`);ar=o,et.activeEs=ar;let i=()=>t!==(et.connectionGeneration??0);o.addEventListener("connected",()=>{i()||Xi(e).then(a=>{if(i())return;let l=[...a?.activeJobs??(a?.activeJob?[a.activeJob]:[]),...a?.queuedJobs?.filter(g=>g.parked)??[]],s=a?.recentJobs??[],d=nu(Gi().activeJobIds,l,s),{serverActiveIds:c,terminalJobs:p}=d,u=p.map(g=>g.id),m=new Map;for(let g of p)m.set(g.id,g.status==="error"?{type:"error",jobId:g.id,message:g.error??"The agent run failed.",threadId:g.threadId,annotationIds:g.annotationIds}:{type:"done",jobId:g.id,success:!0,threadId:g.threadId,annotationIds:g.annotationIds});ut(g=>{let y={...g.lastErrorByJob};for(let v of p)v?.status==="error"&&v.error&&(y[v.id]=v.error);let w=nu(g.activeJobIds,l,s).reconciledActiveIds,S={};for(let v of l)v.threadId&&(S[v.id]=v.threadId);return{...g,isConnected:!0,status:w.length>0?"streaming":u.length>0||g.status==="disconnected"?"idle":g.status,activeJobId:w.length>0?w[w.length-1]:null,activeJobIds:w,activeJobThreads:S,lastErrorByJob:y,workspaceGeneration:a?.workspaceGeneration}});let h=[...new Set([...Array.from(c),...u])];h.length>0&&ou(e,h,t,m).catch(()=>{})})}),o.addEventListener("job_parked",a=>{if(i())return;let l=JSON.parse(a.data);Dn(l.jobId,l)||fi("job_parked",l,l.jobId)}),o.addEventListener("thread_changed",a=>{if(i())return;let l=JSON.parse(a.data);ut(s=>({...s,events:[...s.events,{type:"thread_changed",data:l,timestamp:Date.now()}]}))}),o.addEventListener("job_started",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(Dn(s,l))return;let d=l.threadId;ut(c=>({...c,status:"streaming",activeJobId:s,activeJobIds:c.activeJobIds.includes(s)?c.activeJobIds:[...c.activeJobIds,s],activeJobThreads:d?{...c.activeJobThreads,[s]:d}:c.activeJobThreads,jobResponses:{...c.jobResponses,[s]:c.jobResponses[s]??""},jobThinking:{...c.jobThinking,[s]:c.jobThinking[s]??""},currentResponse:c.jobResponses[s]??"",currentThinking:c.jobThinking[s]??"",lastResponseText:null,lastThreadId:null,events:[...c.events,{type:"job_started",data:l,timestamp:Date.now()}]}))}),o.addEventListener("delta",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(Dn(s,l))return;let d=l.text||"";ut(c=>({...c,jobResponses:s?{...c.jobResponses,[s]:(c.jobResponses[s]||"")+d}:c.jobResponses,currentResponse:!s||s===c.activeJobId?c.currentResponse+d:c.currentResponse,events:[...c.events,{type:"delta",data:l,timestamp:Date.now()}]}))}),o.addEventListener("thinking",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(Dn(s,l))return;let d=l.text||"";ut(c=>({...c,jobThinking:s?{...c.jobThinking,[s]:(c.jobThinking[s]||"")+d}:c.jobThinking,currentThinking:!s||s===c.activeJobId?c.currentThinking+d:c.currentThinking,events:[...c.events,{type:"thinking",data:l,timestamp:Date.now()}]}))}),o.addEventListener("status",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Dn(s,l)||ut(d=>({...d,events:[...d.events,{type:"status",data:l,timestamp:Date.now()}]}))}),o.addEventListener("orientation",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Dn(s,l)||ut(d=>({...d,events:[...d.events,{type:"orientation",data:l,timestamp:Date.now()}]}))}),o.addEventListener("approval",a=>{if(i())return;let l=JSON.parse(a.data);Dn(l.jobId,l)||ut(s=>({...s,events:[...s.events,{type:"approval",data:l,timestamp:Date.now()}]}))}),o.addEventListener("imprint_used",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Dn(s,l)||ut(d=>({...d,events:[...d.events,{type:"imprint_used",data:l,timestamp:Date.now()}]}))}),o.addEventListener("tool_use",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Dn(s,l)||ut(d=>({...d,events:[...d.events,{type:"tool_use",data:l,timestamp:Date.now()}]}))}),o.addEventListener("done",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Dn(s,l)||(s&&delete eo[s],ut(d=>{let c=s?d.activeJobIds.filter(y=>y!==s):d.activeJobIds,p={...d.jobResponses},u={...d.jobThinking},m={...d.activeJobThreads},h=s?p[s]:void 0;s&&(delete p[s],delete u[s],delete m[s]);let g=s===d.activeJobId?c.length>0?c[c.length-1]:null:d.activeJobId;return{...d,activeJobIds:c,activeJobId:g,jobResponses:p,jobThinking:u,lastCompletedJobId:s??d.activeJobId,lastResponseText:l.responseText||h||d.currentResponse||null,lastThreadId:l.threadId??null,...s===d.activeJobId?{currentResponse:g&&p[g]||"",currentThinking:g&&u[g]||""}:{},events:[...d.events,{type:"done",data:l,timestamp:Date.now()}]}}))}),o.addEventListener("question",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Dn(s,l)||ut(d=>({...d,pendingQuestions:[...d.pendingQuestions,{jobId:l.jobId,threadId:l.threadId,question:l.question,annotationIds:l.annotationIds,timestamp:Date.now()}],events:[...d.events,{type:"question",data:l,timestamp:Date.now()}]}))}),o.addEventListener("capabilities_changed",()=>{i()||ut(a=>({...a,capabilitiesVersion:a.capabilitiesVersion+1}))}),o.addEventListener("workspace_cleared",a=>{if(i())return;let l=JSON.parse(a.data);typeof l.workspaceGeneration!="number"||!Number.isInteger(l.workspaceGeneration)||l.workspaceGeneration<0||ut(s=>{for(let d of s.activeJobIds)ms.add(d);return{...s,workspaceGeneration:l.workspaceGeneration,status:"idle",activeJobId:null,activeJobIds:[],activeJobThreads:{},jobResponses:{},jobThinking:{},currentResponse:"",currentThinking:"",events:[],lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[]}})}),o.addEventListener("queue_drained",()=>{if(i())return;let a=[...Gi().activeJobIds];if(a.length===0){ut(l=>({...l,status:l.status==="error"?"error":"idle",incrementalResolutions:[]}));return}ou(e,a,t).then(()=>{i()||ut(l=>({...l,status:l.activeJobIds.length>0?l.status:l.status==="error"?"error":"idle",incrementalResolutions:l.activeJobIds.length>0?l.incrementalResolutions:[]}))})}),o.addEventListener("error",a=>{if(!i()){if(o.readyState===EventSource.CLOSED){ut(s=>({...s,isConnected:!1,status:"disconnected"})),lr&&(clearTimeout(lr),lr=null);let l=t;lr=setTimeout(()=>{l===(et.connectionGeneration??0)&&Xi(e).then(s=>{s&&l===(et.connectionGeneration??0)&&gs(e)})},5e3)}else if(a instanceof MessageEvent){let l=JSON.parse(a.data),s=l.jobId??null;if(Dn(s??void 0,l))return;s&&delete eo[s];let d=l.message??"";ut(c=>{let p=s?c.activeJobIds.filter(m=>m!==s):c.activeJobIds,u=p.length>0?c.status:"error";return{...c,status:u,activeJobIds:p,lastCompletedJobId:s??c.activeJobId,lastErrorByJob:s&&d?{...c.lastErrorByJob,[s]:d}:c.lastErrorByJob,events:[...c.events,{type:"error",data:l,timestamp:Date.now()}]}})}}}),o.onerror=()=>{i()||o.readyState===EventSource.CLOSED&&ut(a=>({...a,isConnected:!1,status:"disconnected"}))}}function xg(e="http://localhost:1111",t=!0,n){let r=Ym(vg,Gi,Gi);Y(()=>{if(iu(n),!t)return;let a=!1;return au(e,n).then(l=>{!l||a||Xi(l).then(s=>{!a&&s&&(!n||s.projectId===n)&&gs(l)})}),()=>{a=!0}},[e,t,n]);let o=U(()=>{ut(()=>({...Gi(),events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),i=U(a=>{ut(l=>({...l,pendingQuestions:l.pendingQuestions.filter(s=>s.threadId!==a)}))},[]);return{...r,clearEvents:o,dismissQuestion:i}}function wg(e,t,n){let r=e.flatMap(({requestedAt:a,resolvedAt:l})=>Number.isFinite(a)&&Number.isFinite(l)?[[Math.max(t,a),Math.min(n,l)]]:[]).sort((a,l)=>a[0]-l[0]),o=t,i=0;for(let[a,l]of r)i+=Math.max(0,l-Math.max(o,a)),o=Math.max(o,l);return i}function lu(e){let t=new Map,n=new Set;for(let r of e)if(r.type==="approval"){let o=r.data.approval;t.set(o.id,o)}else(r.type==="done"||r.type==="error")&&n.add(String(r.data.jobId));return new Set([...t.values()].filter(r=>r.status==="pending"&&!n.has(r.jobId)).map(r=>r.jobId))}function su(e){let t=new MutationObserver(n=>{let r=n.filter(o=>document.body.contains(o.target)||o.target===document.documentElement&&[...o.addedNodes,...o.removedNodes].some(i=>i instanceof Element&&i.tagName==="BODY"));r.length&&e(r)});return t.observe(document.documentElement,{childList:!0,subtree:!0}),t}function ys(e,t,n){if(e===null||typeof e=="string"||typeof e=="boolean")return;if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError(`Comment metadata at ${t} must be finite.`);return}if(typeof e!="object")throw new TypeError(`Comment metadata at ${t} must be JSON-serializable.`);if(n.has(e))throw new TypeError(`Comment metadata at ${t} contains a cycle.`);let r=Object.getPrototypeOf(e);if(!Array.isArray(e)&&r!==Object.prototype&&r!==null)throw new TypeError(`Comment metadata at ${t} must use plain objects and arrays.`);if(n.add(e),Array.isArray(e))e.forEach((o,i)=>ys(o,`${t}[${i}]`,n));else for(let[o,i]of Object.entries(e))ys(i,`${t}.${o}`,n);n.delete(e)}function vs(e){if(e===void 0)return;if(e===null||Array.isArray(e)||typeof e!="object")throw new TypeError("Comment metadata must be a JSON object.");ys(e,"meta",new Set);let t=JSON.stringify(e);if(new TextEncoder().encode(t).byteLength>65536)throw new RangeError("Comment metadata exceeds the 65536 byte limit.");return JSON.parse(t)}var bs="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Sg=1500,kg=5e3,Ig=24e6,Eg=16e3,Tg=4,Cg=["position","inset","top","right","bottom","left","z-index","display","visibility","opacity","overflow","overflow-x","overflow-y","box-sizing","box-decoration-break","float","clear","width","min-width","max-width","height","min-height","max-height","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-width","border-style","border-color","border-top","border-right","border-bottom","border-left","border-radius","outline","outline-offset","box-shadow","background","background-color","background-image","background-size","background-position","background-repeat","background-clip","background-origin","color","font","font-family","font-size","font-style","font-weight","font-stretch","font-variant","line-height","letter-spacing","text-align","text-decoration","text-indent","text-overflow","text-shadow","text-transform","white-space","word-break","overflow-wrap","vertical-align","direction","writing-mode","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","align-content","align-items","align-self","justify-content","justify-items","justify-self","gap","row-gap","column-gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-row","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","order","columns","column-count","column-fill","column-rule","column-span","column-width","list-style","list-style-image","list-style-position","list-style-type","object-fit","object-position","aspect-ratio","transform","transform-box","transform-origin","transform-style","perspective","perspective-origin","backface-visibility","clip","clip-path","filter","backdrop-filter","mix-blend-mode","isolation","mask","mask-image","mask-position","mask-repeat","mask-size","content","quotes","counter-increment","counter-reset","appearance","accent-color","caret-color","cursor","pointer-events","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity"];async function Ag(e,t){try{let n=await e();if(n)return n}catch{}return t()}var xs=new Map,du=new WeakMap,Mg=1;function kn(){return typeof performance<"u"?performance.now():Date.now()}function ws(e){if(e?.debug!==void 0)return e.debug;if(typeof window>"u")return!1;try{return window.localStorage.getItem("popmelt:screenshot-debug")==="true"}catch{return!1}}function Rg(e){let t=0,n=0;for(let r of e.querySelectorAll("img[src]"))cu(r.currentSrc||r.src)&&(t++,(!r.complete||r.naturalWidth===0)&&n++);return{remoteImages:t,unresolvedRemoteImages:n}}function Lg(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result)),r.onerror=()=>n(r.error??new Error("Asset could not be read")),r.readAsDataURL(e)})}function $g(e,t){let n=null;return async r=>{if(!cu(r))return!1;n??(n=Date.now()+e);let o=n-Date.now();if(o<=0)return t(),bs;let i=new AbortController,a=setTimeout(()=>i.abort(),o);try{let l=await fetch(r,{cache:"force-cache",mode:"cors",signal:i.signal});if(!l.ok)throw new Error(`Asset returned ${l.status}`);return await Lg(await l.blob())}catch{return t(),bs}finally{clearTimeout(a)}}}function Pg(e,t,n){let r=du.get(e);r||(r=Mg++,du.set(e,r));let o=t.filter(i=>(i.status??"pending")==="pending").map(i=>{let a=i.points[0],l=i.points[i.points.length-1];return`${i.id}:${i.points.length}:${a?.x??""}:${a?.y??""}:${l?.x??""}:${l?.y??""}`}).join("|");return[r,window.location.href,window.innerWidth,window.innerHeight,n?.dpr??window.devicePixelRatio??1,n?.viewportOnly?window.scrollY:"",o].join("::")}function jg(e,t,n){let r=Math.min(t,n);return{top:Math.max(0,Math.min(e,n-r)),height:r,annotations:[]}}function cu(e){if(typeof window>"u")return!1;try{let t=new URL(e,window.location.href);return t.protocol!=="http:"&&t.protocol!=="https:"?!1:t.origin!==window.location.origin}catch{return!1}}function uu(e){let t=document.createElement("canvas").getContext("2d");return t?(t.fillStyle=e,t.fillStyle):"#888888"}function Ba(e,t=[],n,r,o=[],i=[],a){let l=new Map,s=[];for(let c of e)if(c.groupId){let p=l.get(c.groupId)||[];p.push(c),l.set(c.groupId,p)}else s.push(c);let d=[];for(let[c,p]of l){let u=p.find(h=>h.type!=="text"),m=p.find(h=>h.type==="text");if(u){let h=u.linkedSelector||m?.linkedSelector,g=m?.imageCount||u.imageCount,y=m?.attachments||u.attachments,w=m?.interactionEpisode||u.interactionEpisode,S=u.pathname||m?.pathname;d.push({id:u.id,type:u.type,instruction:m?.text,...h?{linkedSelector:h}:{},...u.target||m?.target?{target:u.target??m?.target}:{},...S?{pathname:S}:{},elements:u.elements||[],...g?{imageCount:g}:{},...y?.length?{attachments:y}:{},...w?{interactionEpisode:w}:{}})}}for(let c of s)d.push({id:c.id,type:c.type,instruction:c.type==="text"?c.text:void 0,...c.linkedSelector?{linkedSelector:c.linkedSelector}:{},...c.target?{target:c.target}:{},...c.pathname?{pathname:c.pathname}:{},elements:c.elements||[],...c.imageCount?{imageCount:c.imageCount}:{},...c.attachments?.length?{attachments:c.attachments}:{},...c.interactionEpisode?{interactionEpisode:c.interactionEpisode}:{}});return{timestamp:new Date().toISOString(),url:window.location.href,viewport:{width:window.innerWidth,height:window.innerHeight},scrollPosition:{x:window.scrollX,y:window.scrollY},annotations:d,styleModifications:t,...o.length>0?{textModifications:o}:{},...i.length>0?{domModifications:i}:{},...n?{inspectedElement:n}:{},...r&&r.length>0?{spacingTokenChanges:r}:{},...a?{meta:a}:{}}}function zg(e){if(!e.points||e.points.length===0)return null;let t=e.points.map(r=>r.x),n=e.points.map(r=>r.y);return{minX:Math.min(...t),minY:Math.min(...n),maxX:Math.max(...t),maxY:Math.max(...n)}}function Dg(e,t){if(e.length===0)return[];let n=e.map(c=>({annotation:c,bounds:zg(c)})).filter(c=>c.bounds!==null);if(n.length===0)return[];n.sort((c,p)=>c.bounds.minY-p.bounds.minY);let r=Math.min(...n.map(c=>c.bounds.minY)),o=Math.max(...n.map(c=>c.bounds.maxY));if(o-r<=t){let c=(r+o)/2,p=Math.max(0,c-t/2);return[{top:p,bottom:p+t,annotations:e}]}let i=[],a=50,l=Math.max(0,r-a),s=[],d=l;for(let{annotation:c,bounds:p}of n){let u=p.maxY+a;if(u-l<=t)s.push(c),d=Math.max(d,u);else{if(s.length>0){let m=(l+d)/2,h=Math.max(0,m-t/2);i.push({top:h,bottom:h+t,annotations:s})}l=Math.max(0,p.minY-a),s=[c],d=p.maxY+a}}if(s.length>0){let c=(l+d)/2,p=Math.max(0,c-t/2);i.push({top:p,bottom:p+t,annotations:s})}return i}function Og(e){let t=new Map;for(let n of e)if(n.linkedSelector)try{let r=document.querySelector(n.linkedSelector);if(r){let o=r.getBoundingClientRect();t.set(n.id,{x:o.left+window.scrollX,y:o.top+window.scrollY,width:o.width,height:o.height})}}catch{}return t}function pu(e,t,n,r,o){if(e.save(),e.scale(r,r),o)for(let i of t){let a=o.get(i.id);if(!a)continue;let l=a.y-n;e.fillStyle=i.color,e.globalAlpha=.05,e.fillRect(a.x,l,a.width,a.height),e.globalAlpha=1,e.strokeStyle=i.color,e.lineWidth=1,e.setLineDash([2,4]),e.strokeRect(a.x,l,a.width,a.height),e.setLineDash([])}for(let i of t){let a=i.points.map(l=>({x:l.x,y:l.y-n}));switch(e.strokeStyle=i.color,e.fillStyle=i.color,e.lineWidth=i.strokeWidth,e.lineCap="round",e.lineJoin="round",i.type){case"freehand":if(a.length<2)break;e.beginPath(),e.moveTo(a[0].x,a[0].y);for(let l=1;l<a.length;l++)e.lineTo(a[l].x,a[l].y);e.stroke();break;case"line":if(a.length<2)break;e.beginPath(),e.moveTo(a[0].x,a[0].y),e.lineTo(a[a.length-1].x,a[a.length-1].y),e.stroke();break;case"rectangle":{if(a.length<2)break;let l=a[0],s=a[a.length-1],d=Math.min(l.x,s.x),c=Math.min(l.y,s.y),p=Math.abs(s.x-l.x),u=Math.abs(s.y-l.y);e.strokeRect(d,c,p,u);break}case"circle":{if(a.length<2)break;let l=a[0],s=a[a.length-1],d=(l.x+s.x)/2,c=(l.y+s.y)/2,p=Math.abs(s.x-l.x)/2,u=Math.abs(s.y-l.y)/2;e.beginPath(),e.ellipse(d,c,p,u,0,0,Math.PI*2),e.stroke();break}case"text":{if(!i.text||a.length<1)break;let l=a[0],s=i.fontSize||16;e.font=`${s}px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,e.fillStyle=i.color;let d=(i.imageCount&&i.imageCount>0?`[${i.imageCount} image${i.imageCount>1?"s":""}] ${i.text}`:i.text).split(`
|
|
5
|
-
`),c=s*1.2,p=4,u=0;for(let m of d)u=Math.max(u,e.measureText(m).width);e.fillRect(l.x-p,l.y-p,u+p*2,d.length*c+p*2),e.fillStyle="#ffffff",d.forEach((m,h)=>{e.fillText(m,l.x,l.y+s+h*c)});break}}}e.restore()}async function $o(e,t,n=[],r){let o=Pg(e,n,r),i=xs.get(o);if(i)return ws(r)&&console.debug("[Screenshot] Reusing in-flight capture",o),i;let a=Xg(e,n,r).finally(()=>xs.delete(o));return xs.set(o,a),a}function Ng(){let e=getComputedStyle(document.documentElement).backgroundColor;return e&&e!=="rgba(0, 0, 0, 0)"&&e!=="transparent"?e:"#ffffff"}function Hg(e){return e instanceof HTMLElement?e.id==="devtools-canvas"||e.id==="devtools-toolbar"||e.id==="devtools-scrim"?!1:e.dataset.devtools===void 0:!0}function _g(e,t,n,r){return e.length===0?[{top:Math.max(0,Math.min(r,Math.max(0,n-t))),height:Math.min(t,n||t),annotations:[]}]:e.map(o=>{let i=Math.min(t,n||t);return{top:Math.max(0,Math.min(o.top,Math.max(0,n-i))),height:i,annotations:o.annotations}})}function Fg(e,t,n){if(e.length===0)return null;let r=Math.min(...e.map(a=>a.top)),o=Math.max(...e.map(a=>a.top+a.height))-r,i=t*o*n*n;return o>Eg||i>Ig?null:{top:r,height:o}}async function Wg(e,t){let n=[];for(let r of e){let o=Object.getOwnPropertyDescriptor(r.element,"toDataURL");try{Object.defineProperty(r.element,"toDataURL",{configurable:!0,value:()=>r.dataUrl}),n.push(()=>{o?Object.defineProperty(r.element,"toDataURL",o):Reflect.deleteProperty(r.element,"toDataURL")})}catch{}}try{return await t()}finally{for(let r of n.reverse())r()}}async function Bg(e,t,n,r,o,i,a,l){let s=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)>window.innerHeight*Tg||e.querySelectorAll("*").length>2500,d=l?await l():[];return Wg(d,()=>Vm(e,{autoDestruct:!1,filter:Hg,scale:r,backgroundColor:Ng(),width:n,height:t.height,style:{transform:`translate(${-window.scrollX}px, ${-t.top}px)`,transformOrigin:"top left"},timeout:o,debug:i,includeStyleProperties:s?[...Cg]:null,fetchFn:$g(o,()=>{a.remoteAssetFallbacks++}),fetch:{requestInit:{cache:"force-cache"},placeholderImage:bs}}))}async function Jg(e,t,n){return e.width=n,e.height=t.height,e.style={transform:`translate(${-window.scrollX}px, ${-t.top}px)`,transformOrigin:"top left"},Km(e)}async function qg(e,t,n){let r=document.createElement("canvas");r.width=t,r.height=n;let o=r.getContext("2d");if(!o)throw new Error("Canvas context unavailable");if(typeof createImageBitmap=="function"){let l=await createImageBitmap(e);return o.drawImage(l,0,0,t,n),l.close(),r}let i=new Image,a=URL.createObjectURL(e);try{return await new Promise((l,s)=>{i.onload=()=>l(),i.onerror=()=>s(new Error("Native screenshot could not be decoded")),i.src=a}),o.drawImage(i,0,0,t,n),r}finally{URL.revokeObjectURL(a)}}async function fu(e,t,n,r,o,i){if(r?.nativeCapture){let d=kn();try{let c=await r.nativeCapture({url:window.location.href,clip:{x:window.scrollX,y:e.top,width:t,height:e.height},scale:n});if(i.nativeMs+=kn()-d,c)return i.mode=i.renderMs>0||i.contextMs>0?"mixed":"native",qg(c,Math.round(t*n),Math.round(e.height*n))}catch(c){i.nativeMs+=kn()-d,ws(r)&&console.debug("[Screenshot] Native capture unavailable; using DOM fallback",c)}}let a=await o(),l=kn(),s=await Jg(a,e,t);return i.renderMs+=kn()-l,i.mode=i.mode==="native"?"mixed":"dom",s}function hu(e,t,n,r,o,i){let a=document.createElement("canvas");a.width=Math.round(r*o),a.height=Math.round(n.height*o);let l=a.getContext("2d");if(!l)throw new Error("Canvas context unavailable");let s=Math.round((n.top-t)*o);return l.drawImage(e,0,s,a.width,a.height,0,0,a.width,a.height),pu(l,n.annotations,n.top,o,i),a}function Ug(e){if(e.length===1)return e[0];let t=document.createElement("canvas");t.width=e[0]?.width??0,t.height=e.reduce((o,i)=>o+i.height,0);let n=t.getContext("2d");if(!n)throw new Error("Canvas context unavailable");let r=0;for(let o of e)n.drawImage(o,0,r),r+=o.height;return t}function Yg(e,t="image/webp",n=.8){return new Promise(r=>e.toBlob(r,t,n))}async function Xg(e,t,n){let r=kn(),o=n?.dpr??(window.devicePixelRatio||1),i=window.innerWidth,a=window.innerHeight,l=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight),s=Math.max(250,n?.mediaTimeoutMs??Sg),d=ws(n),c=t.filter(k=>(k.status??"pending")==="pending"),p=Og(c),u=n?.viewportOnly?[jg(window.scrollY,a,l)]:_g(Dg(c,a),a,l,window.scrollY),m=Rg(e),h={startedAt:r,mode:"dom",mediaTimeoutMs:s,ranges:u.length,...m,remoteAssetFallbacks:0,nativeMs:0,contextMs:0,renderMs:0,compositeMs:0,encodeMs:0};console.log("[Screenshot] Starting capture with",c.length,"active annotations (filtered",t.length-c.length,"captured);",`${u.length} range(s), ${m.remoteImages} remote image(s), ${m.unresolvedRemoteImages} unresolved`);let g=null,y=null,w=Fg(u,i,o),S=w??u[0],v=async()=>{if(!g){let k=kn();g=Bg(e,S,i,o,s,d,h,n?.captureSurfaces).then(R=>(y=R,h.contextMs+=kn()-k,R))}return g};try{let k=kn(),R;if(w){let B=await fu(w,i,o,n,v,h);R=u.map(H=>hu(B,w.top,H,i,o,p))}else{R=[];for(let B of u){let H=await fu(B,i,o,n,v,h);R.push(hu(H,B.top,B,i,o,p))}}let P=Ug(R);h.compositeMs+=kn()-k-h.renderMs-h.nativeMs-h.contextMs;let _=kn(),V=await Yg(P);h.encodeMs=kn()-_;let W=kn()-h.startedAt,J={mode:h.mode,totalMs:Math.round(W),mediaTimeoutMs:h.mediaTimeoutMs,ranges:h.ranges,remoteImages:h.remoteImages,unresolvedRemoteImages:h.unresolvedRemoteImages,remoteAssetFallbacks:h.remoteAssetFallbacks,nativeMs:Math.round(h.nativeMs),contextMs:Math.round(h.contextMs),renderMs:Math.round(h.renderMs),compositeMs:Math.max(0,Math.round(h.compositeMs)),encodeMs:Math.round(h.encodeMs),overBudget:W>kg};return console.log("[Screenshot] Capture complete",JSON.stringify(J)),V?[V]:[]}catch(k){return console.error("[Screenshot] Capture failed:",k),[]}finally{y&&Qm(y)}}async function Ja(e){if(e.length===0)return null;if(e.length===1)return e[0];let t=await Promise.all(e.map(l=>new Promise((s,d)=>{let c=new Image;c.onload=()=>s(c),c.onerror=d,c.src=URL.createObjectURL(l)}))),n=t[0].width,r=t.reduce((l,s)=>l+s.height,0),o=document.createElement("canvas");o.width=n,o.height=r;let i=o.getContext("2d");if(!i)return null;let a=0;for(let l of t)i.drawImage(l,0,a),a+=l.height,URL.revokeObjectURL(l.src);return new Promise(l=>{o.toBlob(s=>l(s),"image/webp",.8)})}async function Kg(e,t,n,r,o){try{let i=Array.isArray(e)?e:[e];if(i.length===0)return!1;let a=await Ja(i);if(!a)return!1;let l=a;if(a.type!=="image/png"){let m=new Image,h=URL.createObjectURL(a);await new Promise(y=>{m.onload=()=>y(),m.src=h}),URL.revokeObjectURL(h);let g=document.createElement("canvas");g.width=m.naturalWidth,g.height=m.naturalHeight,g.getContext("2d").drawImage(m,0,0),l=await new Promise(y=>g.toBlob(w=>y(w),"image/png"))}let s={"image/png":l},d=t&&t.length>0,c=n&&n.length>0,p=r&&r.length>0,u=o&&o.length>0;if(d||c||p||u){let m=t?t.filter(h=>(h.status??"pending")==="pending"):[];if(m.length>0||c||p||u){let h=Ba(m,n||[],void 0,void 0,r||[],o||[]),g=new Blob([JSON.stringify(h,null,2)],{type:"text/plain"});s["text/plain"]=g}}return await navigator.clipboard.write([new ClipboardItem(s)]),!0}catch(i){return console.warn("Clipboard write failed:",i),!1}}async function Ss(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result).split(",")[1]),r.onerror=n,r.readAsDataURL(e)})}async function Vg(e,t,n,r){let o=Date.now(),i=location.href,a=t.subject?await r.registry.captureFeedback(t.subject):null;if(t.subject&&!a)return{status:"target_unavailable"};let l=a?.elementInfo??Yt(e),s=y=>{try{let w=document.querySelectorAll(y);return w.length===1&&w[0]===e}catch{return!1}},d=y=>!y.pathname||y.pathname===location.pathname,c=r.state?.annotations.filter(y=>d(y)&&y.interactionEpisode&&(t.subject?y.target?.adapter===t.subject.adapter&&y.target?.key===t.subject.key:!!y.linkedSelector&&s(y.linkedSelector)))??[],p=e.getBoundingClientRect(),u={id:t.key,type:"text",text:"",color:"#0099ff",strokeWidth:2,points:[{x:p.left+window.scrollX,y:p.top+window.scrollY}],timestamp:o,pathname:location.pathname,elements:[l],linkedSelector:l.selector,...t.subject?{target:t.subject}:{},...c.length===1?{interactionEpisode:c[0].interactionEpisode}:{}},m=r.getCommentMeta?vs(await r.getCommentMeta({kind:"annotation",purpose:"inspection",timestamp:o,url:location.href,pathname:location.pathname,annotations:[u]})):void 0,h=Ba([u],r.state?.styleModifications.filter(y=>d(y)&&s(y.selector))??[],l,void 0,r.state?.textModifications.filter(y=>d(y)&&s(y.selector))??[],r.state?.domModifications.filter(y=>d(y)&&s(y.selector))??[],m),g=[];if(n){let[y]=await $o(document.body,null,[],{...r.screenshotOptions,viewportOnly:!0,dpr:1});if(y){let w=await createImageBitmap(y);try{let S=document.createElement("canvas");S.width=w.width,S.height=w.height;let v=S.getContext("2d");v.drawImage(w,0,0);let k={...u,text:`Focus: ${l.textContent||l.subjectLabel||l.tagName}`.slice(0,100),points:[{x:Math.max(4,p.left),y:window.scrollY+Math.max(24,p.top-8)}]};pu(v,[k],window.scrollY,1,new Map([[u.id,{x:p.left,y:p.top+window.scrollY,width:p.width,height:p.height}]]));let R=await new Promise(P=>S.toBlob(P,"image/png"));R&&g.push({kind:"annotated-viewport",mimeType:R.type,data:await Ss(R)})}finally{w.close()}if(!a?.crop){let S=await createImageBitmap(y);try{let v=Math.max(0,p.left),k=Math.max(0,p.top),R=Math.min(window.innerWidth,p.right)-v,P=Math.min(window.innerHeight,p.bottom)-k;if(R>0&&P>0){let _=document.createElement("canvas");_.width=Math.ceil(R),_.height=Math.ceil(P);let V=S.width/window.innerWidth,W=S.height/window.innerHeight;_.getContext("2d").drawImage(S,v*V,k*W,R*V,P*W,0,0,R,P);let J=await new Promise(B=>_.toBlob(B,"image/png"));J&&g.push({kind:"element",mimeType:J.type,data:await Ss(J)})}}finally{S.close()}}}a?.crop&&g.push({kind:"subject",mimeType:a.crop.type,data:await Ss(a.crop)})}return!e.isConnected||location.href!==i?{status:"target_unavailable"}:{status:"ok",targetKey:t.key,focusCapturedAt:t.capturedAt,capturedAt:o,feedback:h,images:g,warning:a?.warning,evidenceTime:"Live inspection of the referenced target, not a historical screenshot of the utterance.",actionHistory:c.length===1?"Existing recorded episode; inspection did not submit or modify it.":c.length>1?"Multiple matching episodes; none selected automatically.":"No unambiguous recorded episode for this target."}}function Qg(e,t,n,r=8*1024*1024){let o=d=>JSON.stringify({id:e,clientId:t,result:d}),i=d=>new TextEncoder().encode(d).length<=r,a=o(n);if(i(a))return a;let l=Array.isArray(n.images)?n.images:[],s=[l.filter(d=>d.kind==="annotated-viewport"),l.filter(d=>d.kind!=="annotated-viewport"),[]];for(let d of s){let c=o({...n,images:d,visualEvidence:{status:"partial",reason:"response_size_limit",omitted:l.filter(p=>!d.includes(p)).map(p=>p.kind)}});if(i(c))return c}return o({status:"context_too_large",targetKey:n.targetKey,images:[],warning:"Context exceeds the response limit even without images."})}function Gg(e,t){let n=e.filter(i=>(!t.kind||i.kind===t.kind)&&(!t.entryId||i.id===t.entryId)&&(!t.pathname||i.pathname===t.pathname)),r=Number.isInteger(t.limit)?Math.min(50,Math.max(1,t.limit)):20,o=Number.isInteger(t.offset)?Math.max(0,t.offset):0;return{entries:n.slice(o,o+r).map(({details:i,...a})=>t.entryId?{...a,details:i}:a),total:n.length,nextOffset:o+r<n.length?o+r:null}}function mu(e,t,n,r=!1){if(!e||!t)return null;let o=m=>{let h=m.getBoundingClientRect(),g=bm(m),y=w=>w.width>0&&w.height>0&&w.bottom>0&&w.right>0&&w.top<innerHeight&&w.left<innerWidth;return m.isConnected&&h.width>0&&h.height>0&&(r||y(h)||!!g&&y(g))&&!$a(m,'[data-popmelt-private], [aria-hidden="true"]')},i=m=>{try{let h=m?document.querySelectorAll(m):[];return h.length===1?h[0]:null}catch{return null}};if(t.startsWith("thread:")){let m=t.slice(7),h=[...document.querySelectorAll("[data-popmelt-thread-id]")].filter(w=>w.getAttribute("data-popmelt-thread-id")===m&&o(w));if(h.length===1)return h[0].querySelector("[data-popmelt-thread-header]");let g=e.annotations.filter(w=>w.threadId===m&&(!w.pathname||w.pathname===location.pathname)),y=new Set(g.map(w=>w.target?n.resolve(w.target)?.element??null:Pa(w.linkedSelector,w.elements?.[0])).filter(w=>!!w&&o(w)));return y.size===1?[...y][0]:null}let a=gu(e,{entryId:t});if(!("entries"in a)||a.entries.length!==1)return null;let l=a.entries[0];if(l.pathname&&l.pathname!==location.pathname)return null;let s=e.annotations.find(m=>`draft:${m.id}`===t);if(s?.target){let m=n.resolve(s.target)?.element;return m&&o(m)?m:null}let d="details"in l?l.details:void 0,c=[...e.styleModifications,...e.textModifications].find(m=>m.selector===l.selector),p=s?.elements?.[0]??c?.element,u=p?Pa(l.selector,{...p,selector:d?.durableSelector??p.selector}):i(l.selector)??i(d?.durableSelector);return u&&o(u)?u:null}function gu(e,t={}){if(!e)return{status:"unavailable",reason:"browser_state_unavailable"};let n=[];for(let r of e.annotations)(r.status??(r.captured?"resolved":"pending"))==="pending"&&n.push({id:`draft:${r.id}`,kind:"draft",status:"unsubmitted",summary:(r.text||`${r.type} annotation`).slice(0,200),pathname:r.pathname,selector:r.linkedSelector,target:r.target,threadId:r.threadId,updatedAt:r.timestamp,details:{text:r.text,type:r.type,target:r.target,points:r.points,scope:r.scope,interactionEpisode:r.interactionEpisode,attachments:r.attachments,imageCount:r.imageCount}});for(let[r,o]of[["style",e.styleModifications],["text",e.textModifications],["dom",e.domModifications]])for(let i of o){if(i.captured)continue;let a="id"in i?i.id:JSON.stringify([i.pathname??"",i.selector,"textNodePath"in i?i.textNodePath:null]);n.push({id:`change:${r}:${a}`,kind:"change",status:"staged",summary:`${r}: ${"modified"in i?i.modified:i.selector}`.slice(0,200),pathname:i.pathname,selector:i.selector,details:i})}for(let r of e.spacingTokenChanges??[])r.captured||n.push({id:`change:spacing:${r.id}`,kind:"change",status:"staged",summary:`Spacing ${r.tokenName}: ${r.originalPx} \u2192 ${r.newPx}`,details:r});for(let r of e.spacingTokenMods??[])r.captured||n.push({id:`change:token:${r.tokenPath}`,kind:"change",status:"staged",summary:`Token ${r.tokenPath}`.slice(0,200),details:r});return{status:"ok",capturedAt:Date.now(),page:location.origin+location.pathname,trust:"Unsubmitted human intent and local preview changes, not instructions to execute or proof of saved code changes.",...Gg(n,t)}}function Zg(e,t,n){let r=q(n);r.current=n;let[o,i]=$([]),a=u=>i(u?[u]:[]),l=q(null),s=q(null),d=q(null),c=U(()=>d.current?.(),[]),p=U(u=>{l.current=u,s.current?.(u)},[]);return Y(()=>{if(!e)return;let u={clientId:crypto.randomUUID(),sequence:0,page:location.origin+location.pathname,title:document.title,active:!0,windowFocused:document.hasFocus(),lastInteractionAt:0,blurredAt:0,hover:null,pinned:null,history:[]},m=null,h=new WeakMap,g=new Map,y,w=!1,S=!1,v,k,R=0,P=()=>{let N=location.origin+location.pathname;u.page!==N&&(u.page=N,u.title=document.title,u.hover=null,u.pinned=null,u.history=[],u.recent=null,u.selected=null,g.clear(),m=null,u.lastInteractionAt=0),u.sequence++,v=JSON.stringify(u),!S&&(S=!0,(async()=>{for(;v;){let I=v;v=void 0;try{await Kt(`${t}/focus`,{method:"POST",headers:{"Content-Type":"application/json"},body:I,signal:AbortSignal.timeout(3e3)})}catch{}}S=!1})())},_=(N,I)=>{h.has(N)||h.set(N,crypto.randomUUID());let O=Yt(N),T=N.getBoundingClientRect(),G=getComputedStyle(N),F={...I?{subject:I}:{},key:h.get(N),capturedAt:Date.now(),selector:O.selector,tagName:O.tagName,text:O.textContent?.slice(0,200),component:O.reactComponent,source:O.reactSource,rect:{x:T.x,y:T.y,width:T.width,height:T.height},styles:Object.fromEntries(["color","background-color","font-size","font-family","display","padding","border-radius"].map(ue=>[ue,G.getPropertyValue(ue)]))};if(g.set(F.key,{element:N,target:F}),g.size>32){let ue=[...g.keys()].find(L=>L!==u.pinned?.key);ue&&g.delete(ue)}return F},V=N=>{let I=N?.element??null,O=N?.selection==="selected",T=u.selected??u.hover;I===m&&!!u.selected===O&&T?.subject?.key===N?.subject?.key||(m=I,clearTimeout(y),y=setTimeout(()=>{if(w)return;let G=I?.isConnected&&!$a(I,"input, textarea, select, [contenteditable], [data-popmelt-private], [data-popmelt-canvas-block], [data-devtools]")?_(I,N?.subject):null;u.selected=O?G:null,u.hover=O?null:G,O&&(u.recent=null),u.hover&&(u.history=[...u.history,u.hover].slice(-8)),u.windowFocused&&(u.recent=null),P()},I&&!O?120:0))};s.current=V,d.current=()=>{w||document.visibilityState!=="visible"||(u.lastInteractionAt=Date.now(),u.windowFocused=document.hasFocus(),!k&&(k=setTimeout(()=>{k=void 0,R=Date.now(),P()},Math.max(0,250-(Date.now()-R)))))},V(l.current);let W=()=>{u.windowFocused=document.hasFocus(),u.blurredAt=u.windowFocused?0:Date.now(),u.recent=u.windowFocused?null:u.hover,P()},J=()=>{u.active=document.visibilityState==="visible",u.active?V(l.current):(clearTimeout(y),u.hover=null,u.history=[],u.recent=null,u.selected=null,g.clear(),m=null,u.lastInteractionAt=0),P()};document.addEventListener("visibilitychange",J),window.addEventListener("focus",W),window.addEventListener("blur",W);let B=setInterval(P,1e4),H=!1,te,Q=new Set,D=setInterval(async()=>{if(!(w||H||document.visibilityState!=="visible")){H=!0;try{let N=await Kt(`${t}/focus/requests?clientId=${u.clientId}`,{signal:AbortSignal.timeout(3e3)});if(!N.ok)return;let I=await N.json();for(let O of I){if(Q.has(O.id)||w)continue;Q.add(O.id),Q.size>64&&Q.delete(Q.values().next().value);let T=g.get(O.targetKey),G={status:"target_unavailable"};if(O.workspace){G=gu(r.current.state,O.workspace);let F=O.workspace.entryId?[O.workspace.entryId]:"entries"in G?G.entries.map(L=>L.id):[],ue=[...new Set(F.map(L=>mu(r.current.state,L,r.current.registry)).filter(L=>!!L))];i(ue);for(let L of ue)L instanceof HTMLElement&&L.hasAttribute("data-popmelt-thread-header")&&Th(L,L);if(ue.length&&(clearTimeout(te),te=setTimeout(()=>a(null),Math.max(0,O.expiresAt-Date.now())),await new Promise(L=>requestAnimationFrame(()=>setTimeout(L,0))),w))break;G.attention=O.workspace.entryId?ue.length?"shown":mu(r.current.state,O.workspace.entryId,r.current.registry,!0)?"target_offscreen":"target_missing_hidden_or_ambiguous":{shown:ue.length,requested:F.length}}else if(T?.element.isConnected&&u.page===location.origin+location.pathname&&!$a(T.element,"[data-popmelt-private], input, textarea, select, [contenteditable]"))try{if(a(T.element),clearTimeout(te),te=setTimeout(()=>a(null),Math.max(0,O.expiresAt-Date.now())),await new Promise(F=>requestAnimationFrame(()=>setTimeout(F,0))),w)break;G=O.attentionOnly?{status:"ok",attention:"shown"}:await Vg(T.element,T.target,O.screenshot,r.current)}catch{G={status:"capture_failed"}}if(w||document.visibilityState!=="visible")break;(await Kt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:Qg(O.id,u.clientId,G),signal:AbortSignal.timeout(3e3)})).ok||await Kt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:O.id,clientId:u.clientId,result:{status:"response_rejected"}}),signal:AbortSignal.timeout(3e3)}),clearTimeout(te),a(null)}}catch{}finally{clearTimeout(te),w||a(null),H=!1}}},1e3);return J(),()=>{w=!0,clearTimeout(y),clearTimeout(k),clearInterval(B),clearInterval(D),clearTimeout(te),a(null),document.removeEventListener("visibilitychange",J),window.removeEventListener("focus",W),window.removeEventListener("blur",W),s.current=null,d.current=null,g.clear(),u.hover=null,u.selected=null,u.history=[],u.active=!1,P()}},[e,t]),{onCanvasFocusChange:p,onCanvasActivity:c,inspectingElement:e?o[0]??null:null,inspectingElements:e?o:[]}}function ey(e,t,n,r){let[o,i]=$(null),[a,l]=$(null),s=q(0),d=q(Promise.resolve(!0)),c=U(()=>{s.current=Date.now()},[]),p=U(m=>{s.current=Date.now(),i(m)},[]),u=U(m=>l(h=>JSON.stringify(h)===JSON.stringify(m)?h:m),[]);return Y(()=>{if(!e||!r)return;let m=o?.element;if(m?.closest("[data-private], [data-sensitive]"))return;let h=a?.targets??(m?[{selector:o?.subject?cs(o.subject):Yt(m).selector,...o?.subject?{subject:o.subject}:{}}]:[]);if(!h.length)return;let g={pathname:window.location.pathname,ownerId:t,color:n,targets:h,activity:"looking",...a?{threadId:a.threadId}:{}},y=!1,w=null,S=!1,v=(W,J,B)=>{let H=d.current.then(()=>W!=="finish"&&(y||w!==J)?!1:e(W,J,B));return d.current=H.catch(()=>!1),H},k=()=>{let W=w;w=null,W&&v("finish",W).catch(()=>{})},R=async()=>{if(y||S)return;if(!(document.visibilityState!=="hidden"&&document.hasFocus()&&g.pathname===window.location.pathname&&(a||m?.isConnected&&(o?.selection==="selected"||Date.now()-s.current<5e3)))){k();return}S=!0;let W=w?"renew":"start",J=w??crypto.randomUUID();w=J;try{!await v(W,J,g)&&w===J&&(w=null),y&&k()}catch{w===J&&(w=null)}finally{S=!1}},P=setTimeout(R,120),_=setInterval(R,1e3),V=()=>k();return window.addEventListener("blur",V),window.addEventListener("focus",R),document.addEventListener("visibilitychange",R),()=>{y=!0,clearTimeout(P),clearInterval(_),k(),window.removeEventListener("blur",V),window.removeEventListener("focus",R),document.removeEventListener("visibilitychange",R)}},[e,r,t,n,o,a]),{onFocus:p,onActivity:c,onThread:u}}var qa="data-popmelt-preview-target",yu="script,iframe,object,embed,link,meta,base,style,template";function ty({root:e,targets:t,revision:n,width:r,height:o,cleanClone:i}){let a=e.cloneNode(!0),l=[e,...e.querySelectorAll("*")],s=[a,...a.querySelectorAll("*")],d=new Set,c=new Map;for(let[u,m]of t){if(!u||!l.includes(m))throw new Error("Target is outside the preview root");if(c.has(m))throw new Error("Target has multiple identities");c.set(m,u)}l.forEach((u,m)=>{let h=s[m];(u.shadowRoot||u.matches("canvas,video"))&&d.add("Shadow DOM, canvas and video state are not mirrored");for(let y of[...h.attributes])(/^on/i.test(y.name)||["src","srcset","href","xlink:href","action","formaction","autofocus","contenteditable",qa].includes(y.name))&&h.removeAttribute(y.name);u instanceof HTMLInputElement&&(u.type==="password"||u.type==="file"?h.removeAttribute("value"):h.setAttribute("value",u.value),h.toggleAttribute("checked",u.checked)),u instanceof HTMLTextAreaElement&&(h.textContent=u.value),u instanceof HTMLOptionElement&&h.toggleAttribute("selected",u.selected);let g=c.get(u);g&&h.setAttribute(qa,g),i?.(u,h)});for(let u of a.querySelectorAll(yu))u.remove();for(let u of a.querySelectorAll("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"))u.remove();if(a.matches(yu))throw new Error("Unsupported preview root");let p="";for(let u of e.ownerDocument.styleSheets)if(!(u.ownerNode instanceof Element&&u.ownerNode.closest("[data-devtools], [data-popmelt-top-layer-host]")))try{p+=[...u.cssRules].map(m=>m.cssText).join(`
|
|
6
|
-
`)+`
|
|
7
|
-
`}catch{d.add("An inaccessible stylesheet was omitted")}return d.add("Static snapshot: no scripts, external assets, event handlers or application runtime"),{revision:n,html:e.tagName==="BODY"?a.innerHTML:a.outerHTML,...e.tagName==="BODY"?{bodyAttributes:Object.fromEntries([...a.attributes].map(u=>[u.name,u.value]))}:{},css:p,width:r,height:o,warnings:[...d]}}function vu(e,t){let n=[...e.querySelectorAll(`[${qa}]`)].filter(r=>r.getAttribute(qa)===t);return n.length===1?n[0]:null}var ny=class{constructor(e){this.generation=0,this.cancelPending=null,this.current=null,this.disposed=!1,this.frame=e.ownerDocument.createElement("iframe"),this.frame.setAttribute("sandbox","allow-same-origin"),this.frame.title="Peer plane preview",this.frame.style.cssText="border:0;display:block;pointer-events:none;",this.frame.tabIndex=-1,e.append(this.frame)}async render(e,t,n){if(this.disposed)throw new Error("Preview surface was disposed");this.cancelPending?.();let r=++this.generation;this.current=null,this.frame.width=String(e.width),this.frame.height=String(e.height);let o=this.frame.ownerDocument.implementation.createHTMLDocument("Peer preview"),i=o.createElement("meta");i.httpEquiv="Content-Security-Policy",i.content="default-src 'none'; style-src 'unsafe-inline'; form-action 'none'; base-uri 'none'; script-src 'none'",o.head.prepend(i);let a=o.createElement("style");a.textContent=e.css.replace(/<\/style/gi,"<\\/style"),o.head.append(a),o.body.innerHTML=e.html;for(let[s,d]of Object.entries(e.bodyAttributes??{}))o.body.setAttribute(s,d);let l=o.createElement("style");return l.textContent="*,*::before,*::after{animation:none!important;transition:none!important;caret-color:transparent!important}",o.head.append(l),o.documentElement.dataset.previewGeneration=String(r),new Promise(s=>{let d=m=>{clearTimeout(u),this.frame.removeEventListener("load",p),this.cancelPending===c&&(this.cancelPending=null),s(m)},c=()=>d(!1),p=()=>{if(r!==this.generation||this.frame.contentDocument?.documentElement.dataset.previewGeneration!==String(r))return;let m=this.frame.contentDocument;n?.(m);for(let h of t.artifacts)h.kind==="style"&&vu(m,h.targetKey)?.style.setProperty(h.property,h.value,"important");this.current={baseline:e,plane:{...t}},d(!0)},u=setTimeout(c,5e3);this.cancelPending=c,this.frame.addEventListener("load",p),queueMicrotask(()=>{!this.disposed&&r===this.generation&&(this.frame.srcdoc="<!doctype html>"+o.documentElement.outerHTML)})})}inspect(e,t){let n=this.current,r=this.frame.contentDocument;if(!n||!r)return null;let o=vu(r,e);if(!o)return null;let i=this.frame.contentWindow.getComputedStyle(o),a=o.getBoundingClientRect();return{planeId:n.plane.id,planeRevision:n.plane.revision,sourceRevision:n.baseline.revision,targetKey:e,styles:Object.fromEntries(t.map(l=>[l,i.getPropertyValue(l)])),rect:{x:a.x,y:a.y,width:a.width,height:a.height}}}dispose(){this.disposed=!0,++this.generation,this.cancelPending?.(),this.current=null,this.frame.remove()}};function ry(e,t){return{id:e,ownerId:t,revision:0,artifacts:[],undo:[],redo:[],attention:null}}function ks(e){return La(e).flatMap(t=>t==="color"?[...Hc]:[t])}function oy(e,t){if(e===void 0)return{families:ci.map(n=>({family:n,label:os(n)}))};if(!ci.includes(e))throw new Error("Unknown omnidial family");if(!t)return{family:e,subproperties:ks(e)};if(!ks(e).includes(t))throw new Error("Unknown omnidial subproperty");return{family:e,subproperty:t,...e==="transform"&&t==="translate"?{composedToken:"translate-x-<xStep>-y-<yStep>",axisSteps:Ro(e,t)}:{},tokens:Ro(e,t).map(n=>({token:Ma(e,n,t),value:di(e,n,t)}))}}function iy(e,t){if(t!==void 0&&!ci.includes(t))throw new Error("Unknown omnidial family");let n=/^translate-x-(-?\d+)-y-(-?\d+)$/.exec(e);if(n&&(!t||t==="transform")){let o=Ro("transform","translate"),i=o.find(l=>String(l)===n[1]),a=o.find(l=>String(l)===n[2]);if(i!==void 0&&a!==void 0)return{family:"transform",subproperty:"translate",step:i,axisSteps:{x:i,y:a}}}let r=[];for(let o of t?[t]:ci)for(let i of ks(o))for(let a of Ro(o,i))Ma(o,a,i)===e&&r.push({family:o,subproperty:i,step:a});if(r.length>1)throw new Error("Ambiguous omnidial token; include its family (for example stack or grid)");if(!r.length)throw new Error("Unknown omnidial token; discover available tokens or use an explicit custom property/value");return r[0]}function bu(e,t,n,r){let o=e.ownerDocument.defaultView.getComputedStyle(e),i=vc(t,r),a=di(t,n,r),l=xc(t),s=wc(t,r,n),d=t==="border"&&!Mo(t,r)&&typeof n=="number"&&n>0?Sc(r):null,c={family:t,subproperty:zc(t,r),step:n},p=[{property:i,original:o.getPropertyValue(i).trim()||"0px",modified:a,token:Ma(t,n,r),sticker:c}];l&&p.unshift({property:"display",original:o.getPropertyValue("display").trim()||"block",modified:l,token:l,sticker:c});for(let u of s)p.push({property:u.property,original:o.getPropertyValue(u.property).trim(),modified:u.value,token:u.token,sticker:c});if(d){let u=o.getPropertyValue(d).trim();(!u||u==="none")&&p.push({property:d,original:u||"none",modified:"solid",token:Ma(t,n,r),sticker:c})}return{alreadyApplied:bc(t,n,r,u=>o.getPropertyValue(u)),changes:p}}function xu(e,t,n){let r=e.ownerDocument.defaultView.getComputedStyle(e),o="translate",i=`${Number(t)*4}px ${Number(n)*4}px`,a={family:"transform",subproperty:"translate",step:t,axisSteps:{x:t,y:n}};return{alreadyApplied:r.getPropertyValue(o).trim()===i,changes:[{property:o,original:r.getPropertyValue(o).trim()||"none",modified:i,token:`translate-x-${t}-y-${n}`,sticker:a}]}}function ay(e,t){for(let n of t.changes)it(e,n.property,n.modified)}var ly=new Set(["text","transform","opacity"]),sy=new Set(["padding","margin","border","radius","color"]);function dy(e){return e instanceof SVGSVGElement&&!(e.parentElement instanceof SVGElement)}function cy(e){return e!=="text-align"}function Ua(e,t,n){return ir(e)?e instanceof HTMLElement?!0:t==="text"&&!cy(n)?!1:ly.has(t)||dy(e)&&sy.has(t):!1}function Zi(e){return[...new Set([...e?.annotations.flatMap(t=>t.linkedSelector?[t.linkedSelector]:[])??[],...e?.styleModifications.map(t=>t.selector)??[],...e?.textModifications.map(t=>t.selector)??[]])]}function uy(e,t){return Object.keys(t).filter(n=>e[n]!==void 0&&e[n]!==t[n])}function wu(e,t){return Object.keys(e).length===Object.keys(t).length&&Object.keys(t).every(n=>e[n]===t[n])}function Is(e,t,n,r){let o={...e};for(let i of r){if(n[i]===void 0){delete o[i];continue}o[i]=t[i]??e[i]??n[i]}return o}function py(e){let t=e.ownerDocument.defaultView.getComputedStyle(e),n=Array.from(t).filter(i=>!i.startsWith("--")).map(i=>`${i}:${t.getPropertyValue(i)}`).join(";"),r=e.outerHTML+n,o=2166136261;for(let i=0;i<r.length;i++)o=Math.imul(o^r.charCodeAt(i),16777619);return`target-v2:${(o>>>0).toString(16)}`}var Yn=()=>location.origin+location.pathname;function Ya(e){let t=document.querySelectorAll(e),n=t[0];if(t.length!==1||!(n instanceof HTMLElement||n instanceof SVGElement)||n.closest("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-canvas-block]"))throw new Error("Target must resolve to exactly one app element");if(n.matches("input,textarea,select,[contenteditable],script,style")||n.closest("[data-private], [data-sensitive]"))throw new Error("Private/editable controls are outside the peer preview");return n}var Su=class{constructor(){this.sources={},this.changed=[],this.container=document.createElement("div"),this.container.dataset.popmeltPeerSurface="",this.container.setAttribute("aria-hidden","true"),this.container.style.cssText="position:fixed;left:-100000px;top:0;pointer-events:none;",document.body.append(this.container),this.surface=new ny(this.container)}async render(e,t,n,r=!1){if(t.domModifications.length||t.spacingTokenChanges.length)throw new Error("Independent previews do not yet support staged structure or spacing-token edits; your draft is preserved");let o=e.state??ja,i=new Set([...n?[n]:[],...Zi(o)]),a=new Map;for(let c of i)a.set(c,Ya(c));let l=new Map;for(let c of t.textModifications){let p=document.querySelector(c.selector);p&&l.set(p,[...l.get(p)??[],c])}let s=ty({root:document.body,targets:a,revision:Yn(),width:innerWidth,height:innerHeight,cleanClone:(c,p)=>{if(!r){Fm(c,p);for(let u of l.get(c)??[]){let m=p;for(let h of u.textNodePath)m=m?.childNodes[h];m?.nodeType===Node.TEXT_NODE&&(m.nodeValue=u.original)}}}}),d=ry(e.identity.id,e.identity.id);if(d.revision=e.revision,r||(d.artifacts=o.styleModifications.flatMap(c=>c.changes.map(p=>({kind:"style",id:c.selector+p.property,targetKey:c.selector,property:p.property,value:p.modified})))),!await this.surface.render(s,d,c=>{this.sources=Object.fromEntries([...i].map(p=>[p,py(c.querySelector(`[data-popmelt-preview-target="${CSS.escape(p)}"]`))])),this.changed=uy(e.basis??{},this.sources)}))throw new Error("Preview superseded or unavailable");return this.surface.frame.contentWindow?.scrollTo(scrollX,scrollY),s.warnings}async execute(e,t){let{action:n}=e,r=structuredClone(e.peer);if(n.type==="prepare-send"){if(!Zi(r.state).length)throw new Error("There are no peer changes to send");if(await this.render(r,t),!e.observedSources||Object.keys(this.sources).some(s=>e.observedSources[s]!==this.sources[s]))throw new Error("Source changed since the last preview. Take another look, then send again.");return this.changed.length&&r.revision++,r.basis={...this.sources},delete r.pendingRevision,{peer:r,sources:this.sources}}if(n.type==="check-source"){let s={...r,state:{...structuredClone(ja),annotations:Object.keys(n.sources).map((d,c)=>({id:`source-${c}`,type:"text",text:"",points:[],strokeWidth:1,color:r.color,timestamp:0,linkedSelector:d}))}};if(await this.render(s,t),!wu(n.sources,this.sources))throw new Error("Source changed since Send. Preview the current source and send again.");return{peer:r,evidence:{status:"source-current"}}}if(n.type==="tokens")return{peer:r,evidence:oy(n.family,n.subproperty)};let o=r.state??{...structuredClone(ja),isAnnotating:!0,activeColor:r.color},i=o,a,l=s=>{i=xm(i,s)};if(n.type==="send")throw new Error("Send requires the implementation bridge");if(n.type==="rebase")await this.render(r,t),r.basis={...this.sources},r.revision++,delete r.pendingRevision,a={status:"rebased",note:"Draft preserved against current source; Send requires a new approval if in Suggest."};else if(n.type==="undo"||n.type==="redo"){l({type:n.type==="undo"?"UNDO":"REDO"}),await this.render({...r,state:i},t);let s=[...new Set([...Zi(o),...Zi(i)])].filter(d=>{let c=p=>JSON.stringify([p.annotations.filter(u=>u.linkedSelector===d),p.styleModifications.filter(u=>u.selector===d)]);return c(o)!==c(i)});r.basis=Is(r.basis??{},e.observedSources??{},this.sources,s)}else if(n.type==="attention"&&!n.selector)r.attention=null;else if(n.type==="clear"){let s=n.kind!=="style"&&o.annotations.some(c=>c.linkedSelector===n.selector),d=n.kind!=="comment"&&o.styleModifications.some(c=>c.selector===n.selector);if(!s&&!d)return{peer:r,evidence:{status:"nothing-to-clear"}};i={...o,annotations:n.kind==="style"?o.annotations:o.annotations.filter(c=>c.linkedSelector!==n.selector),styleModifications:n.kind==="comment"?o.styleModifications:o.styleModifications.filter(c=>c.selector!==n.selector),undoStack:[...o.undoStack,{annotations:o.annotations,styleModifications:o.styleModifications,textModifications:o.textModifications,domModifications:o.domModifications,spacingTokenChanges:o.spacingTokenChanges,spacingTokenMods:o.spacingTokenMods}],redoStack:[]},await this.render({...r,state:i},t),r.basis=Is(r.basis??{},e.observedSources??{},this.sources,[n.selector])}else if("selector"in n&&n.selector){let s=Ya(n.selector),d=Yt(s),c=n.selector;if(n.type==="inspect"){let p=await this.render(r,t,c,n.plane==="host");a={...this.surface.inspect(c,n.properties??[]),element:d,warnings:p,view:n.plane??"own",url:Yn(),changedSourceTargets:n.plane==="host"?void 0:this.changed}}else if(n.type==="style")if("token"in n){let p=iy(n.token,n.family);if(!Ua(s,p.family,p.subproperty))throw new Error("This omnidial token does not support the target");await this.render(r,t,c);let u=this.surface.frame.contentDocument?.querySelector(c);if(!u)throw new Error("Could not inspect original style");let m=p.axisSteps?xu(u,p.axisSteps.x,p.axisSteps.y):bu(u,p.family,p.step,p.subproperty);m.alreadyApplied||l({type:"MODIFY_STYLES_BATCH",payload:{selector:c,element:{...d,selector:c},changes:m.changes}}),a={token:n.token,selection:p,alreadyApplied:m.alreadyApplied}}else{if(!CSS.supports(n.property,n.value))throw new Error("Unsupported CSS property/value");await this.render(r,t,c);let p=this.surface.inspect(c,[n.property])?.styles[n.property];if(p===void 0)throw new Error("Could not inspect original style");l({type:"MODIFY_STYLES_BATCH",payload:{selector:c,element:{...d,selector:c},changes:[{property:n.property,original:p,modified:n.value}]}})}else if(n.type==="comment"){await this.render(r,t,c);let p=s.getBoundingClientRect();l({type:"ADD_TEXT",payload:{id:`peer-note-${e.id}`,point:{x:p.x+scrollX,y:p.y+scrollY-26},text:n.text,linkedSelector:c,elements:[{...d,selector:c}]}})}r.attention=null,(n.type==="comment"||n.type==="style")&&(r.basis=Is(r.basis??{},e.observedSources??{},this.sources,[c]))}if(i!==o){if(i.annotations.length+i.styleModifications.length>100)throw new Error("Peer draft is full; submit or undo before adding more");i={...i,undoStack:i.undoStack.slice(-50),redoStack:i.redoStack.slice(-50)},r.state=i,r.revision++,r.url=Yn(),delete r.pendingRevision}return{peer:r,evidence:a,...["inspect","style","comment","clear","undo","redo","rebase"].includes(n.type)&&!(n.type==="inspect"&&n.plane==="host")?{sources:this.sources}:{}}}dispose(){this.surface.dispose(),this.container.remove()}};async function fy(e,t,n){let r=!0,o,i=new Set,a=async c=>{let p=new AbortController;i.add(p);let u=setTimeout(()=>p.abort(),1500);try{return await e(c,p.signal)}catch{return!1}finally{clearTimeout(u),i.delete(p)}},l=()=>{r=!1,clearTimeout(o);for(let c of i)c.abort()},s=()=>{l(),a("finish")},d=async()=>{if(!r)return;let c=await a("renew");r&&c&&(o=setTimeout(()=>{d()},1e3))};n.addEventListener("abort",s,{once:!0});try{if(n.aborted)throw new Error("Canvas disconnected before action");let c=await a("start");if(n.aborted)throw new Error("Canvas disconnected before action");return r&&c&&(o=setTimeout(()=>{d()},1e3)),await t()}finally{l(),n.removeEventListener("abort",s),await a("finish")}}function hy(e){let t=`popmelt-peer-seen:${e}`,[n,r]=$({key:"",revisions:{}});return Y(()=>{let o={};try{let i=JSON.parse(localStorage.getItem(t)??"{}");i&&typeof i=="object"&&!Array.isArray(i)&&(o=Object.fromEntries(Object.entries(i).filter(([,a])=>Number.isSafeInteger(a)&&a>=0)))}catch{}r({key:t,revisions:o})},[t]),{markSeen:U((o,i)=>{r(a=>{if(a.key!==t||(a.revisions[o]??0)>=i)return a;let l={key:t,revisions:{...a.revisions,[o]:i}};try{localStorage.setItem(t,JSON.stringify(l.revisions))}catch{}return l})},[t]),isUnseen:(o,i)=>n.key===t&&i>(n.revisions[o]??0)}}function my(e,t){let n,r=l=>(l instanceof Element?l:l.parentElement)?.closest("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"),o=()=>{n===void 0&&(n=setTimeout(()=>{n=void 0,t()},400))},i=new MutationObserver(l=>{document.hidden||!e.length||l.some(s=>{if(r(s.target)||s.type==="childList"&&[...s.addedNodes,...s.removedNodes].every(c=>r(c)))return!1;let d=s.target instanceof Element?s.target:s.target.parentElement;return d?.closest("style,head")?!0:e.some(c=>{let p=document.querySelector(c);return!p||p.contains(s.target)||d?.contains(p)})})&&o()});i.observe(document.documentElement,{subtree:!0,attributes:!0,childList:!0,characterData:!0}),window.addEventListener("resize",o);let a=()=>{document.hidden||o()};return document.addEventListener("visibilitychange",a),()=>{i.disconnect(),clearTimeout(n),window.removeEventListener("resize",o),document.removeEventListener("visibilitychange",a)}}function ku(e){if(!e)return 0;let t=rm(e.annotations);return lc({annotations:e.annotations.filter(n=>!n.captured&&!t.has(n)),styleModifications:e.styleModifications.filter(n=>!n.captured),textModifications:e.textModifications.filter(n=>!n.captured)}).count}function gy(e,t,n,r,o){let[i,a]=$([]),[l,s]=$([]),d=Ph(l,e&&r.isAnnotating),c=jh(e&&r.isAnnotating),{viewedId:p,isPeeking:u}=c,[m,h]=$(),[g,y]=$(),[w,S]=$([]),v=q(null),{markSeen:k,isUnseen:R}=hy(n),P=xe(()=>new Map(i.map(L=>[L.identity.id,ku(L.state)])),[i]),{annotations:_,styleModifications:V,textModifications:W}=r,J=xe(()=>ku({annotations:_,styleModifications:V,textModifications:W}),[_,V,W]),[B,H]=$(null),te=q(null),Q=q({human:r,settings:o});Q.current={human:r,settings:o};let D=q({clientId:crypto.randomUUID()}),N=q(async()=>{throw new Error("Canvas is disconnected")}),I=e?i.find(L=>L.identity.id===p):void 0;Y(()=>{if(!e||!n)return;D.current.token||(D.current={clientId:crypto.randomUUID()});let L=!1,re,ne=-1,z=-1,Te=new AbortController,me="",He=!1,Oe=new Su,We=new Map,ve=Ce=>{L||typeof Ce.presenceVersion!="number"||Ce.presenceVersion<=z||!Array.isArray(Ce.presence)||(z=Ce.presenceVersion,s(Ce.presence))},fe=async(Ce,Ae={},De=AbortSignal.any([Te.signal,AbortSignal.timeout(5e4)]))=>{let Ge=D.current.token,qe=await Kt(`${t}/peers/${Ce}`,{method:"POST",headers:{"Content-Type":"application/json","X-Popmelt-Project-Id":n},body:JSON.stringify({...D.current,...Ae}),signal:De}),_e=await qe.json();if(Ce!=="host"&&Ge!==D.current.token)throw new Error("Canvas session changed during request");if(!qe.ok||_e.error)throw new Error(_e.error??`Peer request failed (${qe.status})`);return _e};N.current=fe;async function be(Ce){if(Ce.url&&Ce.url!==Yn())throw new Error("Canvas navigated before the operation could run");if(Ce.action.type!=="send"){let At=wm(Ce.action);return At?(Ya(At.selector),fy(async(lt,Le)=>{let Xt=await fe("activity",{id:Ce.id,phase:lt},Le);return ve(Xt),Xt.accepted===!0},()=>Oe.execute(Ce,Q.current.human),Te.signal)):Oe.execute(Ce,Q.current.human)}if(!Ce.grant)throw new Error("No host-approved Send grant");let Ae=structuredClone(Ce.peer);if(Ae.url!==Yn())throw new Error("Return to the proposal\u2019s page before sending");let De=Ae.state;if(!De||!De.annotations.length&&!De.styleModifications.length)throw new Error("There are no peer changes to send");await Oe.render(Ae,Q.current.human);let Ge={...Oe.sources};if(!Ce.observedSources||Object.keys(Ge).some(At=>Ce.observedSources[At]!==Ge[At]))throw new Error("Source changed since the last preview. Take another look, then send again.");let qe=Oe.surface.frame.contentDocument;if(!qe)throw new Error("Peer preview is unavailable");let[_e]=await $o(qe.body,null,[],{viewportOnly:!0});if(!_e)throw new Error("Could not capture the peer preview");if(await Oe.render(Ae,Q.current.human),!wu(Ge,Oe.sources))throw new Error("Source changed while preparing Send. Take another look, then send again.");await fe("source",{grant:Ce.grant,sources:Ge});let dt=Ba(De.annotations,De.styleModifications,void 0,void 0,De.textModifications),{provider:tt,model:we,agentSettings:nt}=Q.current.settings,jt=await sc(_e,JSON.stringify(dt),t,Ae.color,tt,we,void 0,void 0,nt,void 0,void 0,void 0,Ce.grant);return Ae.state={...structuredClone(ja),isAnnotating:!0,activeColor:Ae.color},Ae.revision++,Ae.basis={},delete Ae.pendingRevision,Ae.lastJob={jobId:jt.jobId,threadId:jt.threadId},{peer:Ae,evidence:{status:"submitted",...jt}}}async function pt(){try{if(!D.current.token||me!==Yn()){let Ae=await fe("host",{url:Yn()});if(L)return;D.current.token=String(Ae.token),me=Yn()}let Ce=await fe("poll",{version:ne,presenceVersion:z});if(L)return;ve(Ce),Ce.peers&&(a(Ce.peers),He=Ce.peers.length>0,ne=Number(Ce.version));for(let Ae of Ce.requests){let De=We.get(Ae.id);if(!De){try{De=await be(Ae)}catch(Ge){De={error:Ge instanceof Error?Ge.message:String(Ge)}}We.set(Ae.id,De),We.size>100&&We.delete(We.keys().next().value)}await fe("response",{id:Ae.id,result:De})}}catch(Ce){!L&&Ce instanceof Error&&Ce.message.includes("Host capability")&&(D.current.token=void 0,ne=-1,z=-1,L||s([]))}finally{L||(re=setTimeout(()=>{pt()},document.hidden||!He?2e3:600))}}return pt(),()=>{L=!0,Te.abort(),clearTimeout(re),Oe.dispose(),a([]),s([]),N.current=async()=>{throw new Error("Canvas is disconnected")}}},[e,t,n]),Y(()=>{if(y(void 0),S([]),v.current=null,!I||!r.isAnnotating||!te.current){H(null);return}let L=new Su;te.current.append(L.container),H(null),L.container.removeAttribute("aria-hidden"),L.container.style.cssText="position:absolute;inset:0;pointer-events:none;";let re=!1;I.url&&I.url!==Yn()&&y("This draft belongs to another page. Return to it to preview.");let ne=!1,z=!1,Te=()=>{if(!re){if(ne){z=!0;return}ne=!0,L.render(I,Q.current.human).then(()=>{re||(y(void 0),S(L.changed),v.current={id:I.identity.id,revision:I.revision,values:{...L.sources}},H(L.surface.frame),k(I.identity.id,I.revision))}).catch(We=>{re||(v.current=null,H(null),y(We.message))}).finally(()=>{ne=!1,z&&(z=!1,Te())})}},me=!I.url||I.url===Yn();me&&Te();let He=me?my(Zi(I.state),Te):()=>{},Oe=()=>L.surface.frame.contentWindow?.scrollTo(scrollX,scrollY);return window.addEventListener("scroll",Oe,{passive:!0}),()=>{re=!0,He(),window.removeEventListener("scroll",Oe),L.dispose()}},[I,r.isAnnotating,k]);let O=async L=>{try{return await L(),h(void 0),!0}catch(re){return h(re instanceof Error?re.message:String(re)),!1}},T=e&&i.length?{peers:[{identity:{id:"host",name:"You",kind:"human",relationship:"host"},permission:"direct",color:r.activeColor,stagedCount:J},...i.map(L=>({...L,stagedCount:P.get(L.identity.id)??0,unseenActivity:R(L.identity.id,L.revision)}))],viewedPeerId:p,selectedPeerId:c.selectedId,onPeek:c.peek,onPeekEnd:c.leave,onPreview:L=>{c.select(L),h(void 0)},onPermissionChange:(L,re)=>O(()=>N.current("permission",{peerId:L,permission:re}))}:null,G=I?.pendingRevision!==void 0?()=>O(()=>{let L=v.current;if(!L||L.id!==p||L.revision!==I.revision)throw new Error("Wait for this draft\u2019s preview before sending.");return N.current("approve",{peerId:p,revision:I.pendingRevision,sources:L.values})}):void 0,F=!!(I&&r.isAnnotating),ue=e&&(m??(F?g:void 0));return Y(()=>{if(!F)return;let L=re=>{re.composedPath().some(ne=>ne instanceof Element&&ne.hasAttribute("data-devtools"))||(re.metaKey||re.ctrlKey)&&re.key==="Enter"||(re.key.length===1||["Backspace","Delete","Enter"].includes(re.key))&&(re.preventDefault(),re.stopPropagation())};return window.addEventListener("keydown",L,!0),()=>window.removeEventListener("keydown",L,!0)},[F]),{toolbar:T,activePreview:F,isPeeking:u,viewed:I,approve:G,overlay:A(at,{children:[F&&f("div",{ref:te,"data-devtools":"peer-preview","data-peer-revision":I?.revision,"data-pending-revision":I?.pendingRevision,"data-popmelt-peer-surface":!0,style:{position:"fixed",inset:0,zIndex:1e4,background:"#111",pointerEvents:"auto"}}),d.map(({presence:L,engaged:re})=>{if(u)return null;let ne=i.find(Te=>Te.identity.id===L.peerId);if(!ne||L.clientId!==D.current.clientId||L.url!==Yn()||F&&ne.identity.id!==p)return null;let z=null;try{z=F?B?.contentDocument?.querySelector(L.selector)??null:Ya(L.selector)}catch{}return f(oc,{element:z,engaged:re,label:`${ne.identity.name} is looking at this element`},`${ne.identity.id}:${L.operationId}`)}),!u&&F&&I&&B?.contentDocument&&f(zh,{peer:I,targetDocument:B.contentDocument,onApprove:G?()=>{G()}:void 0}),F&&I&&p===c.selectedId&&f("div",{"data-devtools":"peer-plane-border","data-plane-owner":I.identity.id,"aria-hidden":"true",style:{position:"fixed",inset:0,border:`2px solid ${I.color}`,boxSizing:"border-box",pointerEvents:"none",zIndex:10002}}),F&&I&&p===c.selectedId&&f(Dh,{name:I.identity.name,color:I.color,changed:w.length>0}),ue&&f("div",{"data-devtools":"peer-error",role:"status",style:{position:"fixed",bottom:100,right:24,maxWidth:360,padding:12,background:"#222",color:"#ddd",borderRadius:12,fontFamily:Jl,fontSize:12,lineHeight:1.4,zIndex:10002},children:ue})]})}}var yy=Yc(()=>import("./ParticipantRuntime-PTBGXKSH.mjs")),vy=Yc(()=>import("./PreviewRuntime-2SCFCGWC.mjs"));function by({children:e,projectId:t,adapters:n,multiplayer:r=!1}){let[o,i]=$(!1);if(Y(()=>{i(!0)},[]),!o)return null;let a=window.__POPMELT_PARTICIPANTS__;if(!r)return qd()?null:a?f("p",{role:"status","data-devtools":"participant-disabled",children:"Multiplayer is disabled. Enable the multiplayer option in your Popmelt integration to use this participant page."}):e;if(a)try{eh(a,t)}catch(l){return f("p",{role:"alert","data-devtools":"participant-error",children:l.message})}return qd()?a?f(Kc,{fallback:null,children:f(vy,{config:a,adapters:n})}):null:a?f(Kc,{fallback:null,children:f(yy,{config:a,children:Um(e,{bridgeUrl:a.url,projectId:a.projectId})},a.projectId)}):e}function xy(e,t,n,r){let o=q(e);o.current=e;let[i,a]=$([]),l=q(null),[s,d]=$(null),[c,p]=$(null),u=i.filter(y=>y.scope===e),m=y=>a(w=>w.filter(S=>S.id!==y)),h=(y,w)=>{let S=Symbol(y);p(null);let v=t(y).then(()=>!0,()=>(o.current===e&&(w(),p({scope:e,message:"Could not dismiss thread. Please try again."})),m(S),!1));a(k=>[...k.filter(R=>R.scope===e),{id:S,threadId:y,rollback:w,saved:v,scope:e,undoHead:r}])},g=async()=>{let y=u.at(-1);if(!(!y||l.current===e)){l.current=e,d(e),p(null);try{if(!await y.saved||o.current!==e||(await n(y.threadId),o.current!==e))return;y.rollback(),m(y.id)}catch{o.current===e&&p({scope:e,message:"Could not restore thread. Try Undo again."})}finally{l.current===e&&(l.current=null,d(null))}}};return{dismiss:h,undo:g,tryUndo:()=>{let y=u.at(-1);return!y||y.undoHead!==r?!1:(g(),!0)},busy:s===e,count:u.length,error:c?.scope===e?c.message:null}}function wy({enabled:e,active:t,configuration:n=!0,adapters:r}){let[o,i]=$(!1),[a,l]=$(null),s=xe(()=>th(),[]),{recognition:d,selector:c,root:p,observe:u,store:m,imageHasher:h,onError:g}=typeof n=="object"?n:{},y=r.some(k=>k.surfaceKind==="image"||k.id==="see:image"),w=e&&n!==!1&&!y,S=t||o,v=S?d:void 0;return Y(()=>{e?t&&i(!0):i(!1)},[e,t]),Y(()=>{if(!w)return;let k=nh({recognition:v?{cacheKey:v.cacheKey,configurationKey:v.configurationKey,detect:R=>v.detect(R),reconcile:(...R)=>v.reconcile(...R)}:void 0,hydrateOnly:!S,selector:c,root:p,observe:u,store:m??s,imageHasher:h,onError:g});return l(k),()=>{l(null),k.destroy()}},[w,v,S,c,p,u,m,s,h,g]),xe(()=>w&&a?[a,...r]:r,[w,a,r])}function Sy({enabled:e,configuration:t=!0,adapters:n}){let[r,o]=$(null),i=xe(()=>rh(),[]),{segmentation:a,tracking:l,selector:s,root:d,observe:c,store:p,onError:u}=typeof t=="object"?t:{},m=n.some(g=>g.surfaceKind==="video"||g.id==="see:video"),h=e&&t!==!1&&!m;return Y(()=>{if(!h)return;let g=oh({tracking:l,segmentation:a,selector:s,root:d,observe:c,store:p??i,onError:u});return o(g),()=>{o(null),g.destroy()}},[h,l,a,s,d,c,p,i,u]),xe(()=>h&&r?[r,...n]:n,[h,r,n])}function Iu(e,t){return JSON.stringify([e,t.adapter,t.key])}async function Eu(e,t,n,r){for(let o of t){if(!o.target)continue;let i=Iu(n,o.target);if(!r.has(i))try{r.set(i,await e.captureFeedback(o.target))}catch{r.set(i,null)}}}function ky(e,t,n){let r=new Map;for(let o of e.annotations){let i=t.find(l=>l.id===o.id),a=(i?.groupId?t.filter(l=>l.groupId===i.groupId):t.filter(l=>l.id===o.id)).flatMap(l=>n.get(l.id)??[]);a.length&&r.set(o.id,a)}return r}function Iy(e,t,n,r){for(let o of e.annotations){if(!o.target)continue;let i=n.get(Iu(o.pathname||r,o.target));if(!i){o.subjectFeedback={warning:"Live object unavailable; the following object context is the draft-time snapshot, not a refreshed detection. No object crop is attached."};continue}if(o.elements=[i.elementInfo],o.subjectFeedback=i.warning?{warning:i.warning}:void 0,i.crop){let a=t.get(o.id)??[];o.subjectFeedback={...o.subjectFeedback,cropImageIndex:a.length},t.set(o.id,[...a,i.crop])}}}function Ey(e){let t=e?.requestItems?.flatMap(r=>r.kind==="annotation"&&r.text.trim()?[r.text.trim()]:[]);if(t?.length)return t.join("; ");let n=e?.requestItems?.flatMap(r=>r.kind==="changes"?[`${r.elementLabel} [${r.changes.join(", ")}]`]:[]);return n?.length?n.join("; "):e?.requestText?.trim()||void 0}function Ty(e,t){if(!e?.frames?.length)return[];let n=new Map;for(let r of e.steps){let o=r.visuals?.afterFrameId;o&&!n.has(o)&&n.set(o,r.action?.label?`After ${r.action.label}`:"Resulting state")}return e.frames.flatMap((r,o)=>{let i=t[r.imageIndex];return i?[{id:r.id,imageIndex:r.imageIndex,label:o===0?"Initial state":n.get(r.id)??"State",url:i}]:[]})}function Tu(e){let t=e.instruction?.trim();return t?e.attachments?.some(n=>n.name?.trim()===t)?null:t:null}function Cy(e,t){let n=e?.tagName?.toLowerCase(),r=e?.id?`#${e.id}`:"",o=e?.className?`.${e.className.trim().split(/\s+/).slice(0,2).join(".")}`:"",i=n?`${n}${r}${o}`:t;return e?.reactComponent?`<${e.reactComponent}> ${i}`:i}function Ay(e){let t=e.elements?.[0]?.reactComponent||e.elements?.[0]?.tagName||e.linkedSelector,n=e.type&&e.type!=="annotation"?`${e.type} annotation`:"Annotation";return t?`${n} on ${t}`:n}function My(e){let t=e.annotations.map(o=>{let i=o.interactionEpisode?.steps.length??0;return{kind:"annotation",annotationId:o.id,pathname:o.pathname,text:Tu(o)??Ay(o),...i>0?{interactionEpisodeStepCount:i}:{}}}),n=new Map,r=o=>{let i=`${o.pathname??""}:${o.durableSelector??o.selector}`,a=n.get(i);if(a){a.changes.push(o.text),o.annotationNumber!==void 0&&(a.annotationNumber===void 0||o.annotationNumber<a.annotationNumber)&&(a.annotationNumber=o.annotationNumber);return}let l={kind:"changes",elementKey:i,elementLabel:Cy(o.element,o.selector),...o.annotationNumber!==void 0?{annotationNumber:o.annotationNumber}:{},pathname:o.pathname,changes:[o.text]};n.set(i,l),t.push(l)};for(let o of e.styleModifications??[])for(let i of o.changes)r({...o,text:`${i.property}: ${i.original||"unset"} \u2192 ${i.modified||"unset"}${i.token?` (${i.token})`:""}`});for(let o of e.textModifications??[])r({...o,text:`Text: ${o.original||"empty"} \u2192 ${o.modified||"empty"}`});for(let o of e.domModifications??[])r({...o,text:o.operation==="copy"?"Copied element":"Moved element"});return e.spacingTokenChanges?.length&&t.push({kind:"changes",elementKey:"spacing-tokens",elementLabel:"Spacing tokens",changes:e.spacingTokenChanges.map(o=>`${o.tokenName}: ${o.originalPx}px \u2192 ${o.newPx}px`)}),t}function Ry(e){let t=e.annotations.flatMap(r=>{let o=Tu(r);return o?[{instruction:o,pathname:r.pathname}]:[]});if(t.length===0)return;if(new Set(t.map(r=>r.pathname).filter(Boolean)).size<=1)return t.map(r=>r.instruction).join(`
|
|
8
|
-
|
|
9
|
-
`);let n=new Map;for(let r of t){let o=r.pathname||"(unknown)",i=n.get(o)??[];i.push(r.instruction),n.set(o,i)}return[...n.entries()].map(([r,o])=>`\`${r}\`
|
|
10
|
-
${o.map(i=>`- ${i}`).join(`
|
|
11
|
-
`)}`).join(`
|
|
12
|
-
`)}function Ly(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(0,t-3))}...`:n}function $y(e,t,n){let r=[],o=(i,a)=>{let l=i.filter(d=>!d.includes("data-pm=")),s=qc(l,a);s.status!=="matched"||r.some(d=>d.element===s.element)||r.push({element:s.element,elementInfo:Yt(s.element),subject:!1})};for(let i of(e.targets??[]).slice(0,20))if(i.type==="dom"){if(i.pathname!==t)continue;o([i.structuralSelector,i.runtimeSelector,...i.legacySelectors??[]].filter(a=>!!a),i.targetFingerprint)}else{let a=n?.resolve({adapter:i.adapter,key:i.key});a&&r.push({element:a.element,elementInfo:a.elementInfo,subject:!0,sourceElement:a.subject.sourceElement})}if(!e.targets?.length)for(let i of(e.elementIdentifiers??[]).slice(0,20))i.startsWith(`${t}:`)&&o([i.slice(t.length+1)]);return r}function Py(e){let t=e.sourceElement??e.element;if(!t.isConnected)return!1;if(!e.subject||e.sourceElement){let r=getComputedStyle(t);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||r.opacity==="0"||t.checkVisibility&&!t.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}))return!1}let n=e.element.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function jy({entry:e,color:t,subjectRegistry:n,hasExistingOverlay:r}){let o=Ul(),[i,a]=$(null);return Y(()=>{let l=$y(e,o,n),s=()=>{let p=l.filter(Py);a(u=>u?.entry===e&&u.pathname===o&&u.targets.length===p.length&&u.targets.every((m,h)=>m===p[h])?u:{entry:e,pathname:o,targets:p})};s();let d=kc(s),c=su(s);return()=>{d(),c.disconnect()}},[e,o,n]),i?.entry!==e||i.pathname!==o?null:f("div",{"data-devtools":"history-target-preview",style:{pointerEvents:"none"},children:i.targets.filter(l=>!r?.(l.element)).map((l,s)=>f(Mr,{element:l.element,elementInfo:l.elementInfo,subjectRegistry:n,isSelected:!1,hideFill:!l.subject,color:t},s))})}async function zy(e,t,n){let r=i=>{e.length&&t({type:"SET_ANNOTATION_STATUS",payload:{ids:e,status:i}})};r("sending");let o=!1;try{return o=await n(),o}catch(i){return console.error("[Popmelt] Failed to prepare submission:",i),!1}finally{o||r("pending")}}var Xa="devtools-active-text";function Dy(e,t,n=[]){let r=new Set(e.filter(o=>(o.status??"pending")==="pending").map(o=>`annotation:${o.groupId||o.id}`));t?.isNew&&!t.domEdit&&(t.text.trim()||t.interactionEpisode?.steps.length)&&r.add(`annotation:${t.groupId||t.id}`);for(let o of n)r.add(`edit:${o}`);return r.size}async function Oy(e,t,n){if(e.current)return n;e.current=!0;try{return await t()}finally{e.current=!1}}function Es(e){e.removeItem(Xa)}function Ny(e){return e.key!=="Enter"||!e.metaKey&&!e.ctrlKey?!1:(e.preventDefault(),e.stopPropagation(),!0)}function Hy(e){return e?e.originalText!==void 0?e.text!==e.originalText:e.text.trim().length>0||!!e.hasInteractionEpisode:!1}function _y(){if(typeof window>"u")return null;try{let e=window.localStorage.getItem(Xa);return e?JSON.parse(e):null}catch{return null}}function Fy({bridgeUrl:e,annotations:t}){let[n,r]=$(_y);Y(()=>{if(!n||n.domEdit)return;let l=t.find(s=>s.id===n.id&&(s.status??(s.captured?"in_flight":"pending"))!=="pending");!l||l.text!==n.text||n.images?.length||JSON.stringify(l.attachments??[])!==JSON.stringify(n.attachments??[])||JSON.stringify(l.interactionEpisode??null)!==JSON.stringify(n.interactionEpisode??null)||r(s=>s===n?null:s)},[n,t]),Y(()=>{n&&!n.domEdit?window.localStorage.setItem(Xa,JSON.stringify(n)):window.localStorage.removeItem(Xa)},[n]),Y(()=>{let l=n?.attachments?.map(s=>s.id)??[];!e||l.length===0||Vd(e,l).catch(()=>{})},[n?.attachments,e]);let o=U(l=>{!e||!l?.length||Promise.all(l.map(s=>ql(e,s.id).catch(()=>{})))},[e]),i=U(async l=>{if(!n||n.domEdit)return;let s=im(l.clipboardData.getData("text/plain"));if(s){if(l.preventDefault(),!e)return;if(s.blob.size>2097152){console.warn("[Popmelt] Pasted attachment exceeds the 2 MB draft limit.");return}try{let p=n.groupId?t.find(m=>m.groupId===n.groupId&&m.type!=="text")?.id??n.id:n.id,u=await am(e,p,s);r(m=>m?.id===n.id?{...m,attachments:[...m.attachments??[],u]}:m)}catch(p){console.error("[Popmelt] Failed to stage pasted attachment:",p)}return}let d=l.clipboardData.items,c=[];for(let p=0;p<d.length;p+=1){let u=d[p];if(!u.type.startsWith("image/"))continue;let m=u.getAsFile();m&&c.push(m)}c.length!==0&&(l.preventDefault(),r(p=>p?{...p,images:[...p.images??[],...c]}:null))},[n,t,e]),a=U(l=>{r(s=>s&&{...s,attachments:s.attachments?.filter(d=>d.id!==l)}),e&&ql(e,l).catch(()=>{})},[e]);return{activeText:n,setActiveText:r,handleTextPaste:i,removeActiveTextAttachment:a,releaseActiveTextAttachments:o}}function Wy({annotations:e,isCreatingAnnotation:t,hoveredTextId:n,badgeHoveredAnnotationId:r,highlightedAnnotationIds:o,cycleFocusedAnnotationIds:i,hoveredElement:a}){let l=xe(()=>{let p=e.filter(g=>(g.status??"pending")==="pending");if(p.length===0&&!t)return null;let u=new Set(p.map(g=>g.id)),m=new Set(p.flatMap(g=>g.groupId?[g.groupId]:[])),h=new Set(p.flatMap(g=>g.threadId?[g.threadId]:[]));for(let g of e)(g.groupId&&m.has(g.groupId)||g.threadId&&h.has(g.threadId))&&u.add(g.id);return u},[e,t]),s=xe(()=>{let p=new Set;if(n&&p.add(n),r&&p.add(r),o?.forEach(u=>p.add(u)),a){for(let u of e)if(u.linkedSelector)try{a.matches(u.linkedSelector)&&p.add(u.id)}catch{}}return es(e,p)},[e,n,r,o,a]),d=xe(()=>o?es(e,o):null,[e,o]),c=xe(()=>i?es(e,i):null,[e,i]);return{cycleSpotlightAnnotationIds:c,emphasizedAnnotationIds:d??c??l,hoverRestoredAnnotationIds:s,inactiveEmphasisOpacity:d||c?.2:.5,statusSpotlightAnnotationIds:d}}function By({activeText:e,activeTextSendHintId:t,annotationNumberById:n,badgeHoveredAnnotationId:r,canvasRef:o,focusedThreadAnnotationId:i,hoveredElement:a,hoveredElementInfo:l,hoveredTextId:s,showHoverElementIdentifier:d,layoutReady:c,layoutRevision:p,pageAnnotations:u,parentPinnedAnnotationIds:m,pendingLinkedText:h,scroll:g,supersededAnnotations:y,textSafeBounds:w}){let S=q(new Map);return xe(()=>{let v=new Set,k=new Map,R=new Map,P=new Map,_=()=>({hiddenCollidingAnnotationIds:v,nestedCollidingAnnotationCountById:k,nestedCollidingAnnotationIdsById:R,visibleCollisionRepresentativeByAnnotationId:P});if(!c)return _();let V=o.current?.getContext("2d");if(!V)return _();let W=(T,G,F,ue,L)=>{V.font=`${ue}px ${gn}`;let re=(F||"Type here...").replace(/\n/g," "),ne=L!==void 0?`${L}. ${re}`:re,z={x:G.x-g.x,y:G.y-g.y},Te=m.has(T)?is:0,me=Math.max(60,Vl(z.x)-Te),He=Oc(V,ne,me),Oe=V.measureText(He).width,We=Nc(z,ue,w,Te+Oe+16);return{left:We.x-8,top:We.y-4,right:We.x+Te+Oe+8,bottom:We.y+ue*Un+4}},J=new Set,B=u.flatMap(T=>{if(T.type!=="text"||!T.text||!T.points[0]||!T.linkedSelector||y.has(T))return[];let G=T.elements?.[0]?.selector,F=S.current.get(T.id),ue=F?.selector===T.linkedSelector&&F.fallbackSelector===G&&F.element.isConnected,L=ue?F.element:ln(T.linkedSelector,T.elements);if(!L)return[];let re=ue?F.depth:lm(L);return S.current.set(T.id,{selector:T.linkedSelector,fallbackSelector:G,element:L,depth:re}),J.add(T.id),[{id:T.id,annotation:T,element:L,bounds:W(T.id,T.points[0],T.text,T.fontSize||12,n.get(T.id)),depth:re}]});for(let T of S.current.keys())J.has(T)||S.current.delete(T);if(B.length===0)return _();let H=B.map((T,G)=>G),te=T=>{let G=T;for(;H[G]!==G;)G=H[G];for(;H[T]!==T;){let F=H[T];H[T]=G,T=F}return G},Q=(T,G)=>{let F=te(T),ue=te(G);F!==ue&&(H[ue]=F)};for(let T=0;T<B.length;T+=1)for(let G=T+1;G<B.length;G+=1){let F=B[T],ue=B[G];ts(F.element,ue.element)&&ns(F.bounds,ue.bounds)&&Q(T,G)}let D=new Map;B.forEach((T,G)=>{let F=te(G),ue=D.get(F)??[];ue.push(T),D.set(F,ue)});for(let T of D.values())for(let G of T){let F=new Set,ue=T.flatMap(L=>L.id===G.id||L.element===G.element||!G.element.contains(L.element)||F.has(L.element)?[]:(F.add(L.element),[L.id]));ue.length>0&&(k.set(G.id,ue.length),R.set(G.id,ue))}let N=e?.linkedSelector?{id:e.id,element:ln(e.linkedSelector,e.elements),bounds:W(e.id,e.point,e.text,e.fontSize,n.get(e.id))}:h?.linkedSelector?{id:t,element:ln(h.linkedSelector,h.elements),bounds:W(t,h.point,"",12)}:null,I=null;if(a&&d){let T=a.getBoundingClientRect(),G=22,F=T.height>=window.innerHeight,ue=F?T.top+8:T.top>=G+li?T.top-G-li:T.bottom+li,L=F?T.left+8:T.left,re=l?sm(l):a.tagName.toLowerCase();V.font=`12px ${gn}`;let ne=Math.min(400,V.measureText(re).width+16);I={left:L,top:ue,right:L+ne,bottom:ue+G}}let O=(T,G)=>{T.forEach(F=>{F.id!==G&&v.add(F.id),G&&P.set(F.id,G)})};for(let T of D.values()){if(N?.element&&T.some(L=>ts(N.element,L.element)&&ns(N.bounds,L.bounds))){let L=new Set,re=T.flatMap(ne=>ne.element===N.element||!N.element.contains(ne.element)||L.has(ne.element)?[]:(L.add(ne.element),[ne.id]));re.length>0&&(k.set(N.id,re.length),R.set(N.id,re)),O(T,T.find(ne=>ne.id===N.id)?.id);continue}let G=[s,r].find(L=>L&&T.some(re=>re.id===L)),F=T.find(L=>L.id===G);if(F){O(T,F.id);continue}if(a){let L=T.find(re=>re.element===a);if(L){O(T,L.id);continue}if(I&&T.some(re=>ts(a,re.element)&&ns(I,re.bounds))){O(T);continue}}let ue=[i].find(L=>L&&T.some(re=>re.id===L));if(ue){O(T,ue);continue}if(T.length>1){let L=T.reduce((re,ne)=>ne.depth<re.depth||ne.depth===re.depth&&(ne.bounds.top<re.bounds.top||ne.bounds.top===re.bounds.top&&ne.annotation.timestamp<re.annotation.timestamp)?ne:re);O(T,L.id)}}return _()},[e,t,n,r,o,i,a,l,s,d,c,u,m,h,g.x,g.y,y,w,p])}function Ka(e){if(e.length<2)return null;let t=e[0],n=e[e.length-1];return t&&n?[t,n]:null}var Jy=(e,t,n,r)=>{let o=Ka(t);if(!o)return;let[i,a]=o,l=(i.x+a.x)/2,s=(i.y+a.y)/2,d=Math.abs(a.x-i.x)/2,c=Math.abs(a.y-i.y)/2;e.beginPath(),e.strokeStyle=n,e.lineWidth=r,e.ellipse(l,s,d,c,0,0,Math.PI*2),e.stroke()},qy=(e,t,n,r)=>{let o=Ka(t);if(!o)return;let[i,a]=o;e.beginPath(),e.strokeStyle=n,e.lineWidth=r,e.lineCap="round",e.lineJoin="round",e.moveTo(i.x,i.y);for(let l=1;l<t.length-1;l++){let s=t[l],d=t[l+1];!s||!d||e.quadraticCurveTo(s.x,s.y,(s.x+d.x)/2,(s.y+d.y)/2)}e.lineTo(a.x,a.y),e.stroke()},Uy=(e,t,n,r)=>{let o=Ka(t);if(!o)return;let[i,a]=o;e.beginPath(),e.strokeStyle=n,e.lineWidth=r,e.lineCap="round",e.moveTo(i.x,i.y),e.lineTo(a.x,a.y),e.stroke()},Yy=(e,t,n,r)=>{let o=Ka(t);if(!o)return;let[i,a]=o;e.beginPath(),e.strokeStyle=n,e.lineWidth=r,e.lineCap="round",e.lineJoin="round",e.strokeRect(Math.min(i.x,a.x),Math.min(i.y,a.y),Math.abs(a.x-i.x),Math.abs(a.y-i.y))},Cu=11,Ts=4,Xy=`600 ${Cu}px system-ui, -apple-system, sans-serif`;function Au(e,t,n){return e.map(r=>({x:r.x-t,y:r.y-n}))}function Ky(e,t,n,r,o,i){let a=String(r);e.font=Xy;let l=e.measureText(a).width+Ts*2,s=Cu+Ts*2,d=t-l/2,c=n+i/2+2;e.fillStyle=o,e.fillRect(d,c,l,s),e.fillStyle="#ffffff",e.textBaseline="middle",e.fillText(a,d+Ts,c+s/2)}function Vy(e,t){if(e.points.length<2&&e.type!=="text")return null;switch(e.type){case"rectangle":case"freehand":{let n,r;if(e.type==="freehand")n=Math.min(...e.points.map(o=>o.x)),r=Math.max(...e.points.map(o=>o.y));else{let o=e.points[0],i=e.points[e.points.length-1];n=Math.min(o.x,i.x),r=Math.max(o.y,i.y)}return{x:n,y:r}}case"circle":{let n=e.points[0],r=e.points[e.points.length-1],o=Math.min(n.x,r.x),i=(Math.min(n.y,r.y)+Math.max(n.y,r.y))/2;return{x:o,y:i}}case"line":{let n=e.points[0],r=e.points[e.points.length-1],o=n.y>r.y?n:r;return{x:o.x,y:o.y}}default:return null}}function Qy(){let e=q(null),t=U(()=>{let a=e.current;if(!a)return;let l=a.getContext("2d");l&&l.clearRect(0,0,a.width,a.height)},[]),n=U((a,l,s,d=1,c=!1)=>{let p=e.current;if(!p)return;let u=p.getContext("2d");if(!u)return;let m=a.status??(a.captured?"in_flight":"pending"),h=m==="pending"?a.color:"#8c8c8c";switch(u.save(),u.globalAlpha=d,a.type){case"freehand":qy(u,a.points,h,a.strokeWidth);break;case"line":Uy(u,a.points,h,a.strokeWidth);break;case"rectangle":Yy(u,a.points,h,a.strokeWidth);break;case"circle":Jy(u,a.points,h,a.strokeWidth);break;case"text":if(a.text&&a.points[0]){let g=m==="pending"?"#ffffff":"#dddddd";om(u,a.points[0],a.text,h,a.fontSize,l,a.points[0].x,s,g,a.linkedAnchor,c)}break}u.restore()},[]),r=U((a,l)=>{let s=e.current;if(!s||a.points.length<2)return;let d=s.getContext("2d");if(d){if(d.fillStyle="#ffffff",d.strokeStyle=a.color,d.lineWidth=1.5,a.type==="line"){let c=a.points[0],p=a.points[a.points.length-1];[c,p].forEach(u=>{d.beginPath(),d.arc(u.x,u.y,l/2,0,Math.PI*2),d.fill(),d.stroke()});return}if(a.type==="circle"){let c=a.points[0],p=a.points[a.points.length-1],u=Math.min(c.x,p.x),m=Math.max(c.x,p.x),h=Math.min(c.y,p.y),g=Math.max(c.y,p.y),y=(u+m)/2,w=(h+g)/2;[{x:y,y:h},{x:y,y:g},{x:u,y:w},{x:m,y:w}].forEach(S=>{d.beginPath(),d.rect(S.x-l/2,S.y-l/2,l,l),d.fill(),d.stroke()});return}if(a.type==="rectangle"||a.type==="freehand"){let c,p,u,m;if(a.type==="freehand")c=Math.min(...a.points.map(h=>h.x)),p=Math.max(...a.points.map(h=>h.x)),u=Math.min(...a.points.map(h=>h.y)),m=Math.max(...a.points.map(h=>h.y));else{let h=a.points[0],g=a.points[a.points.length-1];c=Math.min(h.x,g.x),p=Math.max(h.x,g.x),u=Math.min(h.y,g.y),m=Math.max(h.y,g.y)}[{x:c,y:u},{x:p,y:u},{x:c,y:m},{x:p,y:m}].forEach(h=>{d.beginPath(),d.rect(h.x-l/2,h.y-l/2,l,l),d.fill(),d.stroke()})}}},[]),o=U((a,l,s,d=0,c=0,p,u,m,h,g,y=.5,w)=>{if(t(),a.forEach(S=>{let v={...S,points:Au(S.points,d,c)},k=p?.get(S.id),R=g?.has(S.id)??!1,P=!!u?.size,_=u?.has(S.id)??!1,V=P?_?1:.2:h&&!h.has(S.id)&&!R?y:1;n(v,k,m,V,w?.has(S.id))}),l&&l.length>0&&s){let S=e.current?.getContext("2d");for(let v of l){let k=a.find(R=>R.id===v);if(k){let R=g?.has(k.id)??!1,P=!!u?.size,_=u?.has(k.id)??!1,V=P?_?1:.2:h&&!h.has(k.id)&&!R?y:1,W={...k,points:Au(k.points,d,c)};if(S?.save(),S&&(S.globalAlpha=V),r(W,s),S&&k.type!=="text"&&p&&!(k.groupId&&a.some(J=>J.groupId===k.groupId&&J.type==="text"))){let J=p.get(k.id);if(J!==void 0){let B=Vy(W);if(B){let H=(k.status??(k.captured?"in_flight":"pending"))==="pending"?k.color:"#999999";Ky(S,B.x,B.y,J,H,s)}}}S?.restore()}}}},[t,n,r]),i=U(()=>{let a=e.current;if(!a)return;let l=window.devicePixelRatio||1,s=window.visualViewport?.width??window.innerWidth,d=window.visualViewport?.height??window.innerHeight;a.width=s*l,a.height=d*l;let c=a.getContext("2d");c&&c.scale(l,l)},[]);return{canvasRef:e,clearCanvas:t,drawAnnotation:n,redrawAll:o,resizeCanvas:i}}function Mu(e){if(!e.isConnected)return!1;let t=e.getBoundingClientRect();if(t.width<=0||t.height<=0||e.getClientRects().length===0)return!1;let n=e;for(;n;){let r=window.getComputedStyle(n);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||Number.parseFloat(r.opacity||"1")<=0)return!1;n=Uc(n)}return!0}function Gy(e){if(!e)return null;try{return us(e)}catch{return null}}function Ru(e,t){if(e?.isConnected){let r=e;for(;r&&r!==document.body&&r!==document.documentElement;){if(Mu(r))return{element:r,parentPinned:r!==e};r=Uc(r)}}let n=Gy(t);return n&&Mu(n)?{element:n,parentPinned:!0}:null}function Cs(e,t,n){return Ru(e,n)?.element===t}function Lu(e,t){let n=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(t):t.replace(/["\\]/g,"\\$&");return`[${e}="${n}"]`}function Zy(e){let t=e.elements?.[0],n=t?.sourceElement?.dataAttributes,r=n?.["data-popmelt-media-id"]??n?.["data-popmelt-see-id"]??t?.dataAttributes?.["data-popmelt-media-id"]??t?.dataAttributes?.["data-popmelt-see-id"];if(r){let o=us(Lu("data-popmelt-media-id",r));if(o)return o;let i=us(Lu("data-popmelt-see-id",r));if(i)return i}return Pa(e.linkedSelector,t)}var ev='#devtools-toolbar, #devtools-canvas, #devtools-scrim, [data-popmelt-panel], [data-devtools="panel"], [data-devtools="panel-wrapper"], [data-devtools="annotation-badge-layer"], [data-popmelt-subject-projection]';function tv(e,t){return e.size===t.size&&[...e].every(n=>t.has(n))}function nv({annotations:e,currentPathname:t,dispatch:n,stateRef:r,styleModifications:o,subjectRegistry:i,toolbarRef:a,onTargetResolutionChange:l}){let[s,d]=$(()=>new Set),c=xe(()=>e.filter(u=>u.linkedSelector&&(!u.pathname||u.pathname===t)).map(u=>[u.id,u.linkedSelector,u.text,u.fontSize,u.timestamp].join(":")).join("|"),[e,t]),p=xe(()=>o.filter(u=>!u.pathname||u.pathname===t).map(u=>u.selector).sort().join("|"),[t,o]);return Y(()=>{if(!c){d(H=>H.size===0?H:new Set);return}let u=null,m=document.createElement("canvas").getContext("2d"),h=null,g=new Map,y=new Map,w=()=>{if(h)return h;let H=r.current.annotations.filter(Q=>Q.linkedSelector&&(!Q.pathname||Q.pathname===t)),te=new Map;return h=H.flatMap(Q=>{let D=Zy(Q);te.set(Q.id,D);let N=Ru(D,Q.elements?.[0]?.context);return N?[{annotation:Q,spatialAnchor:N}]:[]}),(te.size!==y.size||[...te].some(([Q,D])=>y.get(Q)!==D))&&(y=te,l?.()),h},S=()=>{h=null,g.clear()},v=()=>{let H=r.current.styleModifications.filter(F=>!F.pathname||F.pathname===t),te=[],Q=w(),D=new Map(r.current.annotations.map(F=>[F.id,F])),N=new Set(Q.filter(({spatialAnchor:F})=>F.parentPinned).map(({annotation:F})=>F.id));d(F=>tv(F,N)?F:N);let I=new Map,O=new Map,T=new Map;for(let{annotation:F,spatialAnchor:ue}of Q){let L=T.get(ue.element)??[];L.push(F),T.set(ue.element,L)}let G=new Map;for(let F of T.values()){F.sort((ne,z)=>ne.timestamp-z.timestamp);let ue=0,L,re=0;for(let ne of F)ne.timestamp!==L&&(L=ne.timestamp,re=ue),G.set(ne.id,re),ue+=1}for(let{annotation:F,spatialAnchor:ue}of Q){let L=ue.element,re=I.get(L);re||(re=L.getBoundingClientRect(),I.set(L,re));let ne=O.get(L);ne===void 0&&(ne=H.some(be=>{if(be.captured)return!1;try{return L.matches(be.selector)}catch{return!1}}),O.set(L,ne));let z=G.get(F.id)??0,Te=(ne?1:0)+z,me=g.get(F.id);if(me===void 0&&F.text&&m){let be=F.fontSize||12;m.font=`${be}px ${gn}`,me=Math.max(...F.text.split(`
|
|
13
|
-
`).map(pt=>m.measureText(pt).width))+(ue.parentPinned?is:0),g.set(F.id,me)}let He=re.top>=22*(1+Te)+li?"top-left":"bottom-left",Oe=Ic(re,He,Te,a?.current,me),We=D.get(F.id),ve=We?.points[0],fe=He!==We?.linkedAnchor;ve&&(fe||Math.abs(Oe.x-ve.x)>1||Math.abs(Oe.y-ve.y)>1)&&te.push({id:F.id,point:Oe,linkedAnchor:fe?He:void 0})}te.length>0&&n({type:"UPDATE_LINKED_POSITIONS",payload:{updates:te}})},k=()=>{u===null&&(u=requestAnimationFrame(()=>{u=null,v()}))};v();let R=()=>{S(),k()},P=kc(v);window.addEventListener("resize",R,!0),window.addEventListener("load",R),document.addEventListener("transitionend",R,!0),document.addEventListener("animationend",R,!0),document.fonts.ready.then(R);let _=i?.subscribeFrame(v),V=new Set,W=()=>{for(let H of Wm())!(H instanceof ShadowRoot)||V.has(H)||(V.add(H),J.observe(H,B))},J=new MutationObserver(H=>{W(),H.some(te=>{let Q=te.target,D=Q instanceof Element?Q:Q.parentElement;return!D||!$a(D,ev)})&&R()}),B={attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class","open","hidden","aria-hidden","data-state"]};return J.observe(document.body,B),W(),()=>{P(),window.removeEventListener("resize",R,!0),window.removeEventListener("load",R),document.removeEventListener("transitionend",R,!0),document.removeEventListener("animationend",R,!0),J.disconnect(),_?.(),u&&cancelAnimationFrame(u)}},[t,n,c,p,r,i,a,l]),s}function rv(){let e=q({shift:!1,cmd:!1});return Y(()=>{let t=o=>{o.key==="Shift"&&(e.current.shift=!0),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!0)},n=o=>{o.key==="Shift"&&(e.current.shift=!1),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!1)},r=()=>{e.current={shift:!1,cmd:!1}};return window.addEventListener("keydown",t,!0),window.addEventListener("keyup",n,!0),window.addEventListener("blur",r),()=>{window.removeEventListener("keydown",t,!0),window.removeEventListener("keyup",n,!0),window.removeEventListener("blur",r)}},[]),e}function ov(e){let t=new Map;for(let n of e)n.groupId&&n.threadId&&t.set(n.groupId,n.threadId);return t}function iv(e,t){return e.threadId??(e.groupId?t.get(e.groupId):void 0)}function $u(e,t,n=new Set){let r=ov(e);return e.filter(o=>{let i=iv(o,r);return Sm(o,t)&&o.status!=="dismissed"&&(!i||!n.has(i))})}function Pu(e,t,n,r=new Set,o=new Map){let i=new Set;for(let a of $u(t,n,r))a.linkedSelector&&i.add(a.linkedSelector);for(let[a,l]of o)if(!r.has(l.threadId))for(let s of l.selectors??[a])i.add(s);return e.filter(a=>a.pathname&&a.pathname!==n?!1:!a.captured||i.has(a.selector)||!!a.durableSelector&&i.has(a.durableSelector))}function av({state:e,activeText:t,currentPathname:n,dismissedThreadIds:r,modifiedElementThreadStates:o}){let i=xe(()=>$u(e.annotations,n,r),[e.annotations,n,r]),a=xe(()=>Pu(e.styleModifications,e.annotations,n,r,o),[e.annotations,e.styleModifications,n,r,o]),l=xe(()=>Pu(e.textModifications,e.annotations,n,r,o),[e.annotations,e.textModifications,n,r,o]),s=xe(()=>{let p=new Set,u=m=>!m.captured&&(!m.pathname||m.pathname===n);for(let m of e.styleModifications)u(m)&&p.add(`element:${m.selector}`);for(let m of e.textModifications)u(m)&&p.add(`element:${m.selector}`);for(let m of e.domModifications)u(m)&&p.add(`element:${m.selector}`);for(let m of e.spacingTokenChanges)m.captured||p.add(`spacing:${m.tokenPath}`);for(let m of e.spacingTokenMods)m.captured||p.add(`spacing:${m.tokenPath}`);return p},[n,e.domModifications,e.spacingTokenChanges,e.spacingTokenMods,e.styleModifications,e.textModifications]),d=xe(()=>Dy(e.annotations,t,s),[e.annotations,t,s]),c=xe(()=>e.annotations.filter(p=>p.type==="text"&&p.text&&(p.status??"pending")==="pending").sort((p,u)=>u.timestamp-p.timestamp),[e.annotations]);return{pageAnnotations:i,pageStyleModifications:a,pageTextModifications:l,pendingBundleCount:d,pendingTextAnnotations:c}}function lv({annotations:e,annotationIds:t,badgeHoveredAnnotationId:n,hoveredTextId:r}){let o=xe(()=>{let d=new Map;for(let c of e){if(!t.has(c.id))continue;let p=Hm(c.elements);p&&d.set(c.id,p)}return d},[e,t]),i=[n,r].find(d=>d&&o.has(d))??null,[a,l]=$(null);Y(()=>{if(l(null),!i)return;let d=window.setTimeout(()=>{l(i)},500);return()=>window.clearTimeout(d)},[i]);let s=U(async d=>{let c=await _m(d.linkedSelector,d.elements);if(!c)return;let p=c.getBoundingClientRect();(p.bottom<0||p.top>window.innerHeight)&&c.scrollIntoView({behavior:"smooth",block:"center"})},[]);return{locationLabels:o,tooltipAnnotationId:a,revealAnnotation:s}}function sv({activeText:e,activeTextAnchorId:t,hoveredElement:n,hoveredTextId:r,pendingTextAnnotations:o}){let[i,a]=$(null);return Y(()=>{if(e&&!e.domEdit&&e.text.trim()){a(t);return}a(l=>l&&o.some(s=>s.id===l)?l:o[0]?.id??null)},[e,t,o]),Y(()=>{if(!r)return;let l=o.find(s=>s.id===r);l&&a(l.id)},[r,o]),Y(()=>{if(!n)return;let l=o.find(s=>{if(!s.linkedSelector)return!1;try{return n.matches(s.linkedSelector)}catch{return!1}});l&&a(l.id)},[n,o]),{sendHintAnchorId:i,setSendHintAnchorId:a}}function dv(e,t,n,r,o){Y(()=>{let i=a=>{if(e){if(e.domEdit||e.linkedSelector)return;a.preventDefault(),a.stopPropagation();let s=a.deltaY>0?-2:2;t(d=>d?{...d,fontSize:Math.max(12,Math.min(72,d.fontSize+s))}:null);return}if(!n)return;a.preventDefault();let l=r.find(s=>s.id===n);if(l&&l.type==="text"&&!l.linkedSelector){let s=l.fontSize||12,d=a.deltaY>0?-2:2;o({type:"UPDATE_TEXT_SIZE",payload:{id:n,fontSize:s+d}})}};return window.addEventListener("wheel",i,{passive:!1}),()=>{window.removeEventListener("wheel",i)}},[n,e,r,o,t])}var cv=86,uv=36,pv=2;function fv({nestedAnnotationCount:e,interactionEpisodeStepCount:t,reserveSendHint:n,imageCount:r=0}){let o=+(r>0)+ +(t>0)+ +(e>0)+Number(n);return o===0?0:uc(r)+(r>0?4:0)+(e>0?uv:0)+pc(t)+(n?cv:0)+Math.max(0,o-1)*pv}function hv({rawLeft:e,width:t,top:n,scroll:r,collisionId:o,nestedAnnotationCount:i,nestedAnnotationIds:a,nestedBadgeColor:l,interactionEpisodeStepCount:s,imageCount:d=0,color:c="#f50",showSendHint:p,bundleCount:u,onHoverNestedAnnotations:m,onHoverSendHint:h,onClearInteractionEpisode:g,onSend:y}){return i===0&&s===0&&d===0&&!p?null:f(mm,{"data-popmelt-active-annotation-surface":"true",left:e+t+r.x+2-Lc,top:n+r.y-Lc,scrollX:r.x,scrollY:r.y,onContextMenu:w=>{w.preventDefault(),w.stopPropagation()},style:{pointerEvents:"auto",zIndex:10002},children:A("div",{style:{display:"flex",alignItems:"center",gap:2},children:[f(Rc,{stepCount:s,onClear:g}),i>0&&o&&f(gm,{count:i,color:l,onHoverChange:w=>m(o,w?a:null)}),A("div",{style:{display:"flex",alignItems:"center",isolation:"isolate",marginLeft:d>0?4:0},children:[f(ym,{imageCount:d,color:c}),p&&f(vm,{layered:d>0,bundleCount:Math.max(1,u),onHoverChange:h,onSend:y})]})]})})}function mv({value:e,fontSize:t,prefix:n,inputRef:r,inputStyle:o,selectionBackground:i,selectionColor:a,annotationBorderRadius:l,activeColor:s,boundaryRects:d,wrapsDomText:c,showEditor:p,rawLeft:u,top:m,baselineOffset:h,onChange:g,onKeyDown:y,onPaste:w,onBlur:S}){let v=d!==void 0;return A(at,{children:[f("style",{children:`
|
|
14
|
-
#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }
|
|
15
|
-
#devtools-text-input::selection {
|
|
16
|
-
background: ${i};
|
|
17
|
-
color: ${a};
|
|
18
|
-
}
|
|
19
|
-
@keyframes popmeltAnnotationFieldEnter {
|
|
20
|
-
from { border-radius: 8px; }
|
|
21
|
-
to { border-radius: ${l}; }
|
|
22
|
-
}
|
|
23
|
-
@media (prefers-reduced-motion: reduce) {
|
|
24
|
-
#devtools-text-input { animation: none !important; }
|
|
25
|
-
}
|
|
26
|
-
`}),d?.map((k,R)=>f("div",{"data-devtools":"text-edit-active-boundary",style:{position:"fixed",left:k.left,top:k.top,width:k.width,height:k.height,pointerEvents:"none",zIndex:10002,border:`1px solid ${s}`,backgroundColor:Ca(s,.08),boxSizing:"border-box"}},`${k.left}:${k.top}:${R}`)),p&&f("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":v?void 0:"true",ref:r,value:e,onChange:g,onKeyDown:y,onPaste:w,onBlur:S,placeholder:"Type here...",wrap:v?c?"soft":"off":void 0,spellCheck:!1,style:o}),p&&!v&&n&&f("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"fixed",left:u+8,top:m+4+h,zIndex:10002,pointerEvents:"none",color:"#ffffff",fontFamily:gn,fontSize:t,lineHeight:`${t*Un}px`,whiteSpace:"pre"},children:n})]})}function gv({anchor:e,width:t,height:n,value:r,fontSize:o,prefix:i,inputRef:a,inputStyle:l,onChange:s,onKeyDown:d,onPaste:c,onBlur:p,onContextMenu:u}){return A("div",{"data-popmelt-active-annotation-surface":"true",onContextMenu:u,style:{position:"relative",width:t,height:n,flex:`0 0 ${t}px`},children:[f("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":"true",ref:a,value:r,onChange:s,onKeyDown:d,onPaste:c,onBlur:p,onClick:m=>m.stopPropagation(),placeholder:"Type here...",spellCheck:!1,style:{...l,position:"relative",left:0,top:0,zIndex:0,paddingTop:4,paddingBottom:4,borderRadius:Ql(e),animation:void 0}}),i&&f("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"absolute",left:8,top:4,zIndex:1,pointerEvents:"none",color:"#ffffff",fontFamily:gn,fontSize:o,fontWeight:600,lineHeight:`${o*Un}px`,whiteSpace:"pre"},children:i})]})}function yv(e,t,n){let r={x:n.left+n.width*t.x,y:n.top+n.height*t.y},o=e.left+e.width,i=e.top+e.height,a=r.x>=e.left&&r.x<=o&&r.y>=e.top&&r.y<=i,l={x:Math.max(e.left,Math.min(o,r.x)),y:Math.max(e.top,Math.min(i,r.y))};return{annotation:l,subject:r,visible:!a&&Math.hypot(r.x-l.x,r.y-l.y)>=2}}function vv({element:e,annotationRect:t,subjectAnchor:n,color:r,subjectRegistry:o}){let i=q(null);return Y(()=>{let a=i.current;if(!a)return;let l=a.querySelector("line"),s=a.querySelector("circle");if(!l||!s)return;let d=()=>{let u=yv(t,n,e.getBoundingClientRect());a.style.display=u.visible?"":"none",l.setAttribute("x1",String(u.annotation.x)),l.setAttribute("y1",String(u.annotation.y)),l.setAttribute("x2",String(u.subject.x)),l.setAttribute("y2",String(u.subject.y)),s.setAttribute("cx",String(u.subject.x)),s.setAttribute("cy",String(u.subject.y))};d();let c=o?.subscribeFrame(d),p=o?null:new MutationObserver(d);return p?.observe(e,{attributes:!0,attributeFilter:["style"]}),window.addEventListener("resize",d),()=>{c?.(),p?.disconnect(),window.removeEventListener("resize",d)}},[t,e,n,o]),f("svg",{"data-popmelt-subject-draft-connector":"","aria-hidden":!0,style:{position:"fixed",inset:0,width:"100dvw",height:"100dvh",zIndex:10001,pointerEvents:"none",overflow:"visible"},children:A("g",{ref:i,children:[f("line",{stroke:r,strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-popmelt-subject-draft-point":"",r:"3",fill:r,stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]})})}var ju=160;function bv({color:e,cursorRef:t,tool:n,onHandoff:r,onDone:o}){let i=q(null),a=q(r);a.current=r,Dt(()=>{let s=i.current;if(!s)return;let d=(u,m)=>{s.style.left=`${u-4}px`,s.style.top=`${m-4}px`},c=t.current;c&&d(c.x,c.y);let p=u=>d(u.clientX,u.clientY);return window.addEventListener("pointermove",p,{capture:!0}),()=>window.removeEventListener("pointermove",p,{capture:!0})},[t]),Y(()=>{let s=window.setTimeout(()=>a.current(),ju*.75);return()=>window.clearTimeout(s)},[]);let l=n==="inspector";return A("div",{ref:i,"data-devtools":"cursor-switch-pulse",onAnimationEnd:o,style:{position:"fixed",left:-100,top:-100,zIndex:2147483647,width:24,height:24,pointerEvents:"none",transformOrigin:"0 0",animation:`popmeltCursorSwitchPulse ${ju}ms ease-in-out both`,filter:`drop-shadow(0 .5px .35px rgba(0,0,0,.22)) drop-shadow(0 .75px .65px ${Ca(e,.42)}) drop-shadow(0 1.25px 1.1px ${Ca(e,.24)})`},children:[f("svg",{width:"24",height:"24",viewBox:"-3 -3 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{overflow:"visible"},children:l?f("path",{transform:"scale(1.125)",d:"M1 8V2C1 1.44772 1.44772 1 2 1H8C11.866 1 15 4.13401 15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8Z",fill:e,stroke:"white",strokeWidth:"1.111"}):f("path",{d:"M5.19194 14.2778L0.732307 2.01384C0.442115 1.21582 1.21582 0.442116 2.01384 0.732307L14.2778 5.19194C15.7506 5.72748 15.5191 7.87826 13.9661 8.08812L10.298 8.58381C9.40594 8.70436 8.70436 9.40594 8.58381 10.298L8.08812 13.9661C7.87826 15.5191 5.72748 15.7506 5.19194 14.2778Z",fill:e,stroke:"white",strokeWidth:"1.25"})}),f("style",{children:`
|
|
27
|
-
@keyframes popmeltCursorSwitchPulse {
|
|
28
|
-
0%, 100% { transform: scale(1); }
|
|
29
|
-
50% { transform: scale(1.5); }
|
|
30
|
-
0%, 75% { opacity: 1; }
|
|
31
|
-
100% { opacity: 0; }
|
|
32
|
-
}
|
|
33
|
-
`})]})}var Va=28,zu=12,xv=8,Du=["transition","transform","translate","rotate","scale"];function Po(e){let[t]=e.getBoxQuads?.({box:"border"})??[];if(t)return{topLeft:{x:t.p1.x,y:t.p1.y},topRight:{x:t.p2.x,y:t.p2.y},bottomRight:{x:t.p3.x,y:t.p3.y},bottomLeft:{x:t.p4.x,y:t.p4.y}};let n=e.getBoundingClientRect();return{topLeft:{x:n.left,y:n.top},topRight:{x:n.right,y:n.top},bottomRight:{x:n.right,y:n.bottom},bottomLeft:{x:n.left,y:n.bottom}}}var Qa={a:1,b:0,c:0,d:1,e:0,f:0};function no(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function As(e,t){return{...Qa,e,f:t}}function Ou(e){let t=e*Math.PI/180,n=Math.cos(t),r=Math.sin(t);return{a:n,b:r,c:-r,d:n,e:0,f:0}}function Nu(e,t){return{a:e,b:0,c:0,d:t,e:0,f:0}}function Ga(e,t){if(!e)return 0;let n=Number.parseFloat(e);return Number.isFinite(n)?e.endsWith("%")?n/100*t:n:0}function Za(e){if(!e)return 1;let t=Number.parseFloat(e);return Number.isFinite(t)?e.endsWith("%")?t/100:t:1}function Hu(e){if(!e||e==="none")return Qa;let t=e.match(/^matrix\(([^)]+)\)$/);if(t){let r=t[1].split(",").map(Number);if(r.length===6&&r.every(Number.isFinite)){let[o,i,a,l,s,d]=r;return{a:o,b:i,c:a,d:l,e:s,f:d}}}let n=e.match(/^matrix3d\(([^)]+)\)$/);if(n){let r=n[1].split(",").map(Number);if(r.length===16&&r.every(Number.isFinite))return{a:r[0],b:r[1],c:r[4],d:r[5],e:r[12],f:r[13]}}return Qa}function Ms(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function wv(e){let t=getComputedStyle(e),n=t.rotate.trim().split(/\s+/).at(-1)??"0",r=Ou(Number.parseFloat(n)||0),[o="1",i=o]=t.scale.trim().split(/\s+/),a=Nu(Za(o),Za(i)),l=Hu(t.transform);return{...no(r,no(a,l)),e:0,f:0}}function Sv(e){let t=Qa,n=e.parentElement;for(;n;)ir(n)&&(t=no(wv(n),t)),n=n.parentElement;return t}function kv(e,t,n){let r=(o,i)=>({x:e.x+(t.x*o+n.x*i)/2,y:e.y+(t.y*o+n.y*i)/2});return{topLeft:r(-1,-1),topRight:r(1,-1),bottomRight:r(1,1),bottomLeft:r(-1,1)}}function Iv(e,t){let{width:n,height:r}=Fu(e,t);if(n<=0||r<=0)return t;let o=Sv(e),i=Ms(o,{x:n,y:0}),a=Ms(o,{x:0,y:r}),l=ta(t);return kv(l,i,a)}function mi(e,t){let[n]=e.getBoxQuads?.({box:"border"})??[];if(n)return Po(e);let r=getComputedStyle(e),{width:o,height:i}=Fu(e,t);if(o<=0||i<=0)return Po(e);let[a="0",l="0"]=r.translate.trim().split(/\s+/),s=As(Ga(a,o),Ga(l,i)),d=r.rotate.trim().split(/\s+/).at(-1)??"0",c=Ou(Number.parseFloat(d)||0),[p="1",u=p]=r.scale.trim().split(/\s+/),m=Nu(Za(p),Za(u)),h=Hu(r.transform),[g="50%",y="50%"]=r.transformOrigin.trim().split(/\s+/),w={x:Ga(g,o),y:Ga(y,i)},S=no(As(w.x,w.y),no(c,no(m,no(h,As(-w.x,-w.y))))),v=no(s,S),k={x:(t.topRight.x-t.topLeft.x)/o,y:(t.topRight.y-t.topLeft.y)/o},R={x:(t.bottomLeft.x-t.topLeft.x)/i,y:(t.bottomLeft.y-t.topLeft.y)/i},P=_=>{let V=Ms(v,_);return{x:t.topLeft.x+k.x*V.x+R.x*V.y,y:t.topLeft.y+k.y*V.x+R.y*V.y}};return{topLeft:P({x:0,y:0}),topRight:P({x:o,y:0}),bottomRight:P({x:o,y:i}),bottomLeft:P({x:0,y:i})}}function ea(e){let t=Du.map(n=>({property:n,value:e.style.getPropertyValue(n),priority:e.style.getPropertyPriority(n)}));try{e.style.setProperty("transition","none","important");for(let o of Du)o!=="transition"&&e.style.setProperty(o,"none","important");let[n]=e.getBoxQuads?.({box:"border"})??[],r=Po(e);return n?r:Iv(e,r)}finally{for(let{property:r,value:o,priority:i}of t.filter(({property:a})=>a!=="transition"))o?e.style.setProperty(r,o,i):e.style.removeProperty(r);let n=t.find(({property:r})=>r==="transition");n&&(n.value?e.style.setProperty(n.property,n.value,n.priority):e.style.removeProperty(n.property))}}function Ev(e,t,n=1){return["topLeft","topRight","bottomRight","bottomLeft"].some(r=>Math.hypot(e[r].x-t[r].x,e[r].y-t[r].y)>n)}function el(e,t,n){let[r="0",o=r]=e.trim().split(/\s+/),i=(a,l)=>{let s=Number.parseFloat(a);return Number.isFinite(s)?a.endsWith("%")?s/100*l:s:0};return{x:i(r,t),y:i(o,n)}}function _u(e,t){let n=getComputedStyle(e),r=(Math.hypot(t.topRight.x-t.topLeft.x,t.topRight.y-t.topLeft.y)+Math.hypot(t.bottomRight.x-t.bottomLeft.x,t.bottomRight.y-t.bottomLeft.y))/2,o=(Math.hypot(t.bottomLeft.x-t.topLeft.x,t.bottomLeft.y-t.topLeft.y)+Math.hypot(t.bottomRight.x-t.topRight.x,t.bottomRight.y-t.topRight.y))/2;return{topLeft:el(n.borderTopLeftRadius,r,o),topRight:el(n.borderTopRightRadius,r,o),bottomRight:el(n.borderBottomRightRadius,r,o),bottomLeft:el(n.borderBottomLeftRadius,r,o)}}function Rs(e){return{width:(Math.hypot(e.topRight.x-e.topLeft.x,e.topRight.y-e.topLeft.y)+Math.hypot(e.bottomRight.x-e.bottomLeft.x,e.bottomRight.y-e.bottomLeft.y))/2,height:(Math.hypot(e.bottomLeft.x-e.topLeft.x,e.bottomLeft.y-e.topLeft.y)+Math.hypot(e.bottomRight.x-e.topRight.x,e.bottomRight.y-e.topRight.y))/2}}function Fu(e,t){let n=Rs(t);if(e instanceof HTMLElement)return{width:e.offsetWidth||n.width,height:e.offsetHeight||n.height};let r=getComputedStyle(e),o=Number.parseFloat(r.width),i=Number.parseFloat(r.height);return{width:Number.isFinite(o)&&o>0?o:n.width,height:Number.isFinite(i)&&i>0?i:n.height}}function Wu(e,t,n){let r=Rs(t),o=Rs(n),i=r.width>0?o.width/r.width:1,a=r.height>0?o.height/r.height:1;return Object.fromEntries(Object.entries(e).map(([l,s])=>[l,{x:s.x*i,y:s.y*a}]))}function Tv(e){let t=e.trim().toLowerCase();if(!t||t==="transparent")return 0;if(t.match(/^#(?:[\da-f]{3}|[\da-f]{4}|[\da-f]{6}|[\da-f]{8})$/))return t.length===5?Number.parseInt(t.at(-1).repeat(2),16)/255:t.length===9?Number.parseInt(t.slice(-2),16)/255:1;let n=t.match(/\/\s*([\d.]+%?)\s*\)$/);if(n){let o=Number.parseFloat(n[1]);return n[1].endsWith("%")?o/100:o}let r=t.match(/^rgba\([^,]+,[^,]+,[^,]+,\s*([\d.]+%?)\s*\)$/);if(r){let o=Number.parseFloat(r[1]);return r[1].endsWith("%")?o/100:o}return 1}function Bu(e){let t=getComputedStyle(e);return t.backgroundImage&&t.backgroundImage!=="none"?!1:Tv(t.backgroundColor)>=.999}function gi(e,t,n){let r=t.x-e.x,o=t.y-e.y,i=Math.max(1,Math.hypot(r,o));return{x:e.x+r/i*n,y:e.y+o/i*n}}function Ju(e,t){let n=(o,i)=>Math.hypot(i.x-o.x,i.y-o.y),r=[[n(e.topLeft,e.topRight),t.topLeft.x+t.topRight.x],[n(e.topRight,e.bottomRight),t.topRight.y+t.bottomRight.y],[n(e.bottomRight,e.bottomLeft),t.bottomRight.x+t.bottomLeft.x],[n(e.bottomLeft,e.topLeft),t.bottomLeft.y+t.topLeft.y]];return Math.min(1,...r.map(([o,i])=>i>0?o/i:1))}function qu(e){return{topLeft:[e.topLeft.y,e.topLeft.x],topRight:[e.topRight.x,e.topRight.y],bottomRight:[e.bottomRight.y,e.bottomRight.x],bottomLeft:[e.bottomLeft.x,e.bottomLeft.y]}}function Uu(e,t){let n=["topLeft","topRight","bottomRight","bottomLeft"],r=qu(t),o=Ju(e,t),i=1-Math.SQRT1_2;return Object.fromEntries(n.map((a,l)=>{let s=e[a],d=e[n[(l+n.length-1)%n.length]],c=e[n[(l+1)%n.length]],[p,u]=r[a],m=gi(s,d,p*o*i),h=gi(s,c,u*o*i);return[a,{x:m.x+h.x-s.x,y:m.y+h.y-s.y}]}))}function Ls(e,t){let n=.5522847498,r=["topLeft","topRight","bottomRight","bottomLeft"],o=qu(t),i=Ju(e,t),a=r.map((d,c)=>{let p=e[d],u=r[(c+r.length-1)%r.length],m=r[(c+1)%r.length],h=e[u],g=e[m],[y,w]=o[d],S=y*i,v=w*i,k=gi(p,h,S),R=gi(p,g,v);return{entry:k,exit:R,entryControl:gi(k,p,S*n),exitControl:gi(R,p,v*n)}}),l=a[0],s=[`M ${l.exit.x} ${l.exit.y}`];for(let d=1;d<=a.length;d+=1){let c=a[d%a.length];s.push(`L ${c.entry.x} ${c.entry.y}`),s.push(`C ${c.entryControl.x} ${c.entryControl.y} ${c.exitControl.x} ${c.exitControl.y} ${c.exit.x} ${c.exit.y}`)}return s.push("Z"),s.join(" ")}function ta(e){return{x:(e.topLeft.x+e.topRight.x+e.bottomRight.x+e.bottomLeft.x)/4,y:(e.topLeft.y+e.topRight.y+e.bottomRight.y+e.bottomLeft.y)/4}}function yi(e,t=Va,n="top"){let[r,o]=n==="top"?[e.topLeft,e.topRight]:n==="right"?[e.topRight,e.bottomRight]:n==="bottom"?[e.bottomRight,e.bottomLeft]:[e.bottomLeft,e.topLeft],i={x:(r.x+o.x)/2,y:(r.y+o.y)/2},a=o.x-r.x,l=o.y-r.y,s=Math.max(1,Math.hypot(a,l));return{edge:i,handle:{x:i.x+l/s*t,y:i.y-a/s*t}}}function Yu(e,t){let n=yi(e);return n.handle.y>=t/2?{...n,side:"top"}:{...yi(e,Va,"bottom"),side:"bottom"}}function tl(e,t,n){let r=n.x-t.x,o=n.y-t.y,i=r*r+o*o;if(i===0)return Math.hypot(e.x-t.x,e.y-t.y);let a=Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*o)/i));return Math.hypot(e.x-(t.x+a*r),e.y-(t.y+a*o))}var Cv=["top","right","bottom","left"];function Av(e,t,n){let r=t/2;return e.x>=r&&e.x<=n.width-r&&e.y>=r&&e.y<=n.height-r}function $s(e,t,n,r={}){let o=Cv.map(c=>({...yi(e,Va,c),side:c,distance:tl(t,c==="top"?e.topLeft:c==="right"?e.topRight:c==="bottom"?e.bottomRight:e.bottomLeft,c==="top"?e.topRight:c==="right"?e.bottomRight:c==="bottom"?e.bottomLeft:e.topLeft)})),i=r.viewport?o.filter(({handle:c})=>Av(c,n,r.viewport)):o,a=i.length>0?i:o,l=a.reduce((c,p)=>p.distance<c.distance?p:c),s=r.currentSide?a.find(({side:c})=>c===r.currentSide):void 0,d=s&&s.distance<=l.distance+(r.hysteresis??8)?s:l;return{edge:d.edge,handle:d.handle,side:d.side}}function Mv(e,t,n){let r={x:t,y:n},o=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],i=!1,a=!1,l=.001;for(let s=0;s<o.length;s+=1){let d=o[s],c=o[(s+1)%o.length],p=(c.x-d.x)*(r.y-d.y)-(c.y-d.y)*(r.x-d.x);if(p>l&&(i=!0),p<-l&&(a=!0),i&&a)return!1}return!0}function Rv(e,t,n,r){let o={x:t,y:n},i=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],a=r/2;if(i.some(s=>Math.hypot(t-s.x,n-s.y)<=a)||[[e.topLeft,e.topRight],[e.topRight,e.bottomRight],[e.bottomRight,e.bottomLeft],[e.bottomLeft,e.topLeft]].some(([s,d])=>tl(o,s,d)<=zu/2))return!0;let l=$s(e,o,r);return tl(o,l.edge,l.handle)<=r/2}function Lv(e,t,n,r){let o={x:t,y:n},i=$s(e,o,r);return tl(o,i.edge,i.handle)<=r*1.5}function Xu(e){let t=Math.max(1,Math.hypot(e.x,e.y));return{x:e.x/t,y:e.y/t}}function $v(e,t){let n=ta(e);return Xu({x:e[t].x-n.x,y:e[t].y-n.y})}function Pv(e,t){let n=ta(e),{handle:r}=yi(e,Va,t),o=Xu({x:r.x-n.x,y:r.y-n.y});return{x:-o.y,y:o.x}}function jv(e,t){if(!t||e.x===0&&e.y===0)return e;let n=Math.PI/4,r=Math.atan2(e.y,e.x),o=Math.round(r/n)*n,i=Math.hypot(e.x,e.y);return{x:Math.cos(o)*i,y:Math.sin(o)*i}}function zv(e,t,n=xv){return Math.hypot(t.x-e.x,t.y-e.y)<=n}function Ku(e){if(!e||e==="none")return{x:0,y:0};let[t="0",n="0"]=e.trim().split(/\s+/);return{x:Number.parseFloat(t)||0,y:Number.parseFloat(n)||0}}var Vu=Math.SQRT1_2;function Qu(e,t){return Ro(e,t).filter(n=>typeof n=="number")}function nl(e,t,n){return Qu(e,t).reduce((r,o)=>Math.abs(Number.parseFloat(di(e,o,t))-n)<Math.abs(Number.parseFloat(di(e,r,t))-n)?o:r)}function Lr(e,t){let n=Qu("transform",e),r=o=>e==="translate"?Number.parseFloat(di("transform",o,e)):o;return n.reduce((o,i)=>Math.abs(r(i)-t)<Math.abs(r(o)-t)?i:o)}function Dv(e,t){if(t==="translate")return Lr(t,Ku(e).x);if(t==="scale"){let r=Number.parseFloat(e);return Lr(t,Number.isFinite(r)?r*100:100)}let n=Number.parseFloat(e);return Lr(t,Number.isFinite(n)?n:0)}function Ov(e,t){let n=window.getComputedStyle(e).getPropertyValue(t).trim();return Dv(n,t)}function Ps(e,t){return t?e:e==="left"||e==="right"?"x":"y"}function js(e,t){return t?e:"all"}function zs(e){let t=e==="top-left"||e==="bottom-left"?1:-1,n=e==="top-left"||e==="top-right"?1:-1;return{x:t*Vu,y:n*Vu}}function Nv(e,t,n){return e*n.x+t*n.y}function Gu(e,t){let n=Math.max(1,t);return(e%n+n)%n}function Hv(e,t,n){return{cursor:{x:Gu(e.cursor.x+t.x,n.width),y:Gu(e.cursor.y+t.y,n.height)},deltaX:e.deltaX+t.x,deltaY:e.deltaY+t.y}}function _v(e,t,n,r,o){if(e<o*2||t<o*2)return!1;let i=["top-left","top-right","bottom-right","bottom-left"].map(a=>{let l=zs(a),s=r+n[a],d=a.endsWith("left")?0:e,c=a.startsWith("top")?0:t;return{x:d+l.x*s,y:c+l.y*s}});return i.every((a,l)=>i.slice(l+1).every(s=>Math.hypot(a.x-s.x,a.y-s.y)>=o))}function Fv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}var Ds=["top-left","top-right","bottom-right","bottom-left"],Zu=14;function ep({element:e,radius:t,accentColor:n,hoveredCorner:r,draggingCorner:o,cursorViewport:i,onHandlePointerDown:a}){let[l,s]=$(null),d=t["top-left"],c=t["top-right"],p=t["bottom-right"],u=t["bottom-left"];if(Y(()=>{if(!e){s(null);return}let k=()=>{s(e.getBoundingClientRect())};return k(),window.addEventListener("scroll",k,{passive:!0}),window.addEventListener("resize",k,{passive:!0}),()=>{window.removeEventListener("scroll",k),window.removeEventListener("resize",k)}},[e]),Dt(()=>{e&&s(e.getBoundingClientRect())},[e,d,c,p,u]),!l)return null;let m=l.width,h=l.height;if(!_v(m,h,t,Zu,20))return null;let g=Fv(n,.2),y={"top-left":{x:0,y:0},"top-right":{x:m,y:0},"bottom-right":{x:m,y:h},"bottom-left":{x:0,y:h}},w=Object.fromEntries(Ds.map(k=>{let R=zs(k),P=Zu+t[k],_=y[k];return[k,{x:_.x+R.x*P,y:_.y+R.y*P}]})),S=o??r,v={position:"fixed",top:l.top,left:l.left,width:m,height:h,pointerEvents:"none",zIndex:a?9999:9996,overflow:"visible"};return A("div",{"data-devtools":"border-radius-handles","data-popmelt-steer-overlay":!0,style:v,children:[A("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${m} ${h}`,children:[f("rect",{x:"0.5",y:"0.5",width:Math.max(0,m-1),height:Math.max(0,h-1),fill:"none",stroke:g,strokeWidth:"1"}),Ds.map(k=>{let R=w[k];return f("circle",{cx:R.x,cy:R.y,r:k===S?4:3,fill:n,stroke:"#ffffff",strokeWidth:2},k)}),a&&Ds.map(k=>{let R=w[k],P=y[k],_=k==="top-left"||k==="bottom-right"?"nwse-resize":"nesw-resize";return A("g",{children:[f("line",{"data-radius-handle-access":k,x1:P.x,y1:P.y,x2:R.x,y2:R.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:_},onPointerDown:V=>a(k,V)}),f("circle",{cx:R.x,cy:R.y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:_},onPointerDown:V=>a(k,V)})]},`hit-${k}`)})]}),i&&S&&(()=>{let k=Math.round(t[S]);return f("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:k})})()]})}function tp({centerX:e,centerY:t,orientation:n,accentColor:r,...o}){let i=n==="horizontal"?10:6,a=n==="horizontal"?6:10;return f("rect",{...o,"data-direct-manipulation-handle":"",x:e-i/2,y:t-a/2,width:i,height:a,fill:r,stroke:"#ffffff",strokeWidth:2})}function Os(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function np({element:e,gap:t,accentColor:n,hoveredAxis:r,draggingAxis:o,cursorViewport:i,isAutoGap:a=!1,refreshKey:l=0,onHandlePointerDown:s}){let[d,c]=$(null),[p,u]=$([]),[m,h]=$(!1);if(Y(()=>{let _=J=>{(J.key==="Meta"||J.key==="Control")&&h(!0)},V=J=>{(J.key==="Meta"||J.key==="Control")&&h(!1)},W=()=>h(!1);return window.addEventListener("keydown",_,!0),window.addEventListener("keyup",V,!0),window.addEventListener("blur",W),()=>{window.removeEventListener("keydown",_,!0),window.removeEventListener("keyup",V,!0),window.removeEventListener("blur",W)}},[]),Y(()=>{if(!e){c(null),u([]);return}let _=()=>{c(e.getBoundingClientRect()),u(Ra(e))};return _(),window.addEventListener("scroll",_,{passive:!0}),window.addEventListener("resize",_,{passive:!0}),()=>{window.removeEventListener("scroll",_),window.removeEventListener("resize",_)}},[e]),Dt(()=>{e&&(c(e.getBoundingClientRect()),u(Ra(e)))},[e,t.row,t.column,l]),!d||p.length===0)return null;let g=d.width,y=d.height,w="pm-gap-stripe-pattern",S=Os(n,.25),v=Os(n,.1),k=Os(n,.2),R={position:"fixed",top:d.top,left:d.left,width:g,height:y,pointerEvents:"none",zIndex:s?9999:9996,overflow:"visible"},P=o??r;return A("div",{"data-devtools":"gap-handles","data-popmelt-steer-overlay":!0,style:R,children:[A("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${g} ${y}`,children:[f("defs",{children:f("pattern",{id:w,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:S,strokeWidth:"1.5"})})}),f("rect",{x:"0.5",y:"0.5",width:Math.max(0,g-1),height:Math.max(0,y-1),fill:"none",stroke:k,strokeWidth:"1"}),p.map((_,V)=>{let W=_.x-d.left,J=_.y-d.top,B=_.w,H=_.h,te=m?_.axis===P:!0;return(_.axis==="row"?t.row:t.column)===0?null:A("g",{opacity:te?1:.6,children:[f("rect",{x:W,y:J,width:B,height:H,fill:v}),f("rect",{x:W,y:J,width:B,height:H,fill:`url(#${w})`})]},V)}),p.map((_,V)=>{let W=_.x-d.left+_.w/2,J=_.y-d.top+_.h/2;return a?f("circle",{"data-gap-handle":_.axis,cx:W,cy:J,r:3,fill:n,stroke:"#ffffff",strokeWidth:2},`gap-handle-${V}`):f(tp,{"data-gap-handle":_.axis,centerX:W,centerY:J,orientation:_.axis==="column"?"vertical":"horizontal",accentColor:n},`gap-handle-${V}`)}),s&&p.map((_,V)=>{let W=_.x-d.left+_.w/2,J=_.y-d.top+_.h/2,B=Math.max(_.w,20),H=Math.max(_.h,20);return f("rect",{x:W-B/2,y:J-H/2,width:B,height:H,fill:"transparent",style:{pointerEvents:"all",cursor:_.axis==="row"?"ns-resize":"ew-resize"},onPointerDown:te=>s(_.axis,te)},`gap-hit-${V}`)})]}),i&&P&&(()=>{let _=a?"auto":String(Math.round(P==="row"?t.row:t.column));return f("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:_})})()]})}var Wv=new Set(["CANVAS","EMBED","IFRAME","IMG","INPUT","OBJECT","VIDEO"]),Bv=["top","bottom"],Jv=["left","right"];function qv({isHtmlElement:e,tagName:t,display:n,writingMode:r}){return!e||n!=="inline"||Wv.has(t)?[]:r.startsWith("horizontal")?Bv:Jv}function Uv(e,t=window.getComputedStyle(e)){return qv({isHtmlElement:e instanceof HTMLElement,tagName:e.tagName,display:t.display,writingMode:t.writingMode})}function vi(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}var Yv={top:"bottom",bottom:"top",left:"right",right:"left"},na="#808080";function rp({element:e,padding:t,mode:n="padding",accentColor:r,hoveredSide:o,draggingSide:i,activeSides:a,cursorViewport:l,refreshKey:s,onHandlePointerDown:d}){let[c,p]=$(null),[u,m]=$(!1);if(Y(()=>{let me=We=>{(We.key==="Alt"||We.key==="Control")&&m(!0)},He=We=>{(We.key==="Alt"||We.key==="Control")&&m(!1)},Oe=()=>m(!1);return window.addEventListener("keydown",me,!0),window.addEventListener("keyup",He,!0),window.addEventListener("blur",Oe),()=>{window.removeEventListener("keydown",me,!0),window.removeEventListener("keyup",He,!0),window.removeEventListener("blur",Oe)}},[]),Y(()=>{if(!e){p(null);return}let me=()=>{p(e.getBoundingClientRect())};return me(),window.addEventListener("scroll",me,{passive:!0}),window.addEventListener("resize",me,{passive:!0}),()=>{window.removeEventListener("scroll",me),window.removeEventListener("resize",me)}},[e]),Dt(()=>{e&&p(e.getBoundingClientRect())},[e,t.top,t.right,t.bottom,t.left,s]),!c)return null;let h=c.width,g=c.height,{top:y,right:w,bottom:S,left:v}=t,k=Math.max(0,y),R=Math.max(0,w),P=Math.max(0,S),_=Math.max(0,v),V=n==="margin",W=V?h+_+R:h,J=V?g+k+P:g,B=V?_:0,H=V?k:0,te=V?"pm-dot-pattern":"pm-stripe-pattern",Q=vi(r,.25),D=vi(r,.1),N=vi(r,.2),I=vi(na,.55),O=vi(na,.18),T=vi(na,.9),G=new Set(V?[]:Uv(e)),F=G.size>0,ue="pm-neutral-stripe-pattern",L={position:"fixed",top:c.top-(V?k:0),left:c.left-(V?_:0),width:W,height:J,pointerEvents:"none",zIndex:d?9999:9996,overflow:"visible"},re=["top","right","bottom","left"],ne={top:`0,0 ${W},0 ${W-R},${k} ${_},${k}`,right:`${W},0 ${W},${J} ${W-R},${J-P} ${W-R},${k}`,bottom:`0,${J} ${_},${J-P} ${W-R},${J-P} ${W},${J}`,left:`0,0 ${_},${k} ${_},${J-P} 0,${J}`},z={top:{x:W/2,y:k/2,orientation:"horizontal"},bottom:{x:W/2,y:J-P/2,orientation:"horizontal"},left:{x:_/2,y:J/2,orientation:"vertical"},right:{x:W-R/2,y:J/2,orientation:"vertical"}},Te=new Set(a);return i?Te.add(i):o&&(Te.add(o),u||Te.add(Yv[o])),A("div",{"data-devtools":"padding-handles","data-popmelt-steer-overlay":!0,style:L,children:[A("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${W} ${J}`,children:[A("defs",{children:[V?f("pattern",{id:te,patternUnits:"userSpaceOnUse",width:"4",height:"4",children:f("circle",{cx:"1",cy:"1",r:"0.65",fill:Q})}):f("pattern",{id:te,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:Q,strokeWidth:"1.5"})}),F&&f("pattern",{id:ue,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:I,strokeWidth:"1.5"})})]}),f("rect",{x:B+.5,y:H+.5,width:Math.max(0,h-1),height:Math.max(0,g-1),fill:"none",stroke:N,strokeWidth:"1"}),re.map(me=>{if(t[me]<=0)return null;let He=Te.has(me),Oe=G.has(me);return A("g",{"data-padding-flow":Oe?"paint-only":"layout",opacity:He?1:.6,children:[f("polygon",{points:ne[me],fill:Oe?O:D}),f("polygon",{points:ne[me],fill:`url(#${Oe?ue:te})`})]},me)}),G.has("top")&&k>0&&f("line",{x1:_,y1:k,x2:W-R,y2:k,stroke:T,strokeWidth:"1"}),G.has("bottom")&&P>0&&f("line",{x1:_,y1:J-P,x2:W-R,y2:J-P,stroke:T,strokeWidth:"1"}),G.has("left")&&_>0&&f("line",{x1:_,y1:k,x2:_,y2:J-P,stroke:T,strokeWidth:"1"}),G.has("right")&&R>0&&f("line",{x1:W-R,y1:k,x2:W-R,y2:J-P,stroke:T,strokeWidth:"1"}),re.map(me=>{let He=z[me];return f(tp,{centerX:He.x,centerY:He.y,orientation:He.orientation,accentColor:G.has(me)?na:r,"data-padding-flow":G.has(me)?"paint-only":"layout"},`handle-${me}`)}),d&&re.map(me=>{let He=z[me],Oe=20;return f("rect",{x:He.x-Oe/2,y:He.y-Oe/2,width:Oe,height:Oe,fill:"transparent",style:{pointerEvents:"all",cursor:"grab"},onPointerDown:We=>d(me,We)},`hit-${me}`)})]}),l&&(o||i)&&(()=>{let me=i??o,He=Math.round(t[me]),Oe=G.has(me);return A("div",{style:{position:"fixed",left:l.x+8,top:l.y-28,background:Oe?na:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[He,Oe?" \xB7 paint only":""]})})()]})}var Ns=["flex-start","center","flex-end"],Hs=["flex-start","center","flex-end"];function Xv(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function Kv(e){return e==="normal"||e==="stretch"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function op(e){let t=Array.from(e.children);if(t.length===0)return null;let n=1/0,r=1/0,o=-1/0,i=-1/0;for(let a of t){let l=a.getBoundingClientRect();l.width===0&&l.height===0||(l.top<n&&(n=l.top),l.left<r&&(r=l.left),l.bottom>o&&(o=l.bottom),l.right>i&&(i=l.right))}return n===1/0?null:new DOMRect(r,n,i-r,o-n)}function Vv({element:e,modifier:t,accentColor:n,refreshKey:r=0}){let[o,i]=$(null);if(Y(()=>{if(!e){i(null);return}let g=()=>i(op(e));return g(),window.addEventListener("scroll",g,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),()=>{window.removeEventListener("scroll",g),window.removeEventListener("resize",g)}},[e]),Dt(()=>{e&&i(op(e))},[e,r]),!o)return null;let a=o,l=window.getComputedStyle(e),s=l.display;if(s!=="flex"&&s!=="inline-flex")return null;let d=l.flexDirection,c=d==="column"||d==="column-reverse"?"vertical":"horizontal",p=c==="horizontal"?"vertical":"horizontal",u=[];if(t==="shift"){let g=Xv(l.justifyContent);if(g){let y=Ns.indexOf(g);c==="horizontal"?(y>0&&u.push("left"),y<Ns.length-1&&u.push("right")):(y>0&&u.push("up"),y<Ns.length-1&&u.push("down"))}}else{let g=Kv(l.alignItems);if(g){let y=Hs.indexOf(g);p==="horizontal"?(y>0&&u.push("left"),y<Hs.length-1&&u.push("right")):(y>0&&u.push("up"),y<Hs.length-1&&u.push("down"))}}if(u.length===0)return null;let m=14,h=7;return f(at,{children:u.map(g=>{let y,w;switch(g){case"right":y=a.right+m,w=a.top+a.height/2;break;case"left":y=a.left-m,w=a.top+a.height/2;break;case"down":y=a.left+a.width/2,w=a.bottom+m;break;case"up":y=a.left+a.width/2,w=a.top-m;break}let S=g==="right"?0:g==="left"?180:g==="down"?90:-90,v={position:"fixed",left:y-h,top:w-h,width:h*2,height:h*2,pointerEvents:"none",zIndex:9997};return f("div",{"data-devtools":"swipe-hint",style:v,children:f("svg",{width:h*2,height:h*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:A("g",{transform:`rotate(${S})`,children:[f("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),f("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),f("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),f("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},g)})})}function Qv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function Gv({element:e,fontSize:t,lineHeight:n,accentColor:r,hoveredProperty:o,draggingProperty:i,cursorViewport:a}){let[l,s]=$(null);if(Y(()=>{if(!e){s(null);return}let w=()=>{s(as(e))};return w(),window.addEventListener("scroll",w,{passive:!0}),window.addEventListener("resize",w,{passive:!0}),()=>{window.removeEventListener("scroll",w),window.removeEventListener("resize",w)}},[e]),Dt(()=>{e&&s(as(e))},[e,t,n]),!l)return null;let d=l.width,c=l.height,p=Qv(r,.2),u=i??o,m=8,h=2,g={position:"fixed",top:l.top,left:l.left,width:d,height:c,pointerEvents:"none",zIndex:9996,overflow:"visible"},y=w=>w==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return A("div",{"data-devtools":"text-handles",style:g,children:[A("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${c}`,children:[f("rect",{x:"0.5",y:"0.5",width:Math.max(0,d-1),height:Math.max(0,c-1),fill:"none",stroke:p,strokeWidth:"1"}),(u==="font-size"||!u)&&f("rect",{x:d-h/2,y:c/2-m/2,width:h,height:m,fill:r,stroke:"#ffffff",strokeWidth:u==="font-size"?4:2,paintOrder:"stroke"}),(u==="line-height"||!u)&&f("rect",{x:d/2-m/2,y:c-h/2,width:m,height:h,fill:r,stroke:"#ffffff",strokeWidth:u==="line-height"?4:2,paintOrder:"stroke"})]}),a&&u&&(()=>{let w=u==="font-size"?"Aa":"Lh",S=y(u);return A("div",{style:{position:"fixed",left:a.x+8,top:a.y-28,background:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[w," ",S]})})()]})}function Zv({active:e,accentColor:t,domDropPreview:n,cursorViewport:r,gapElement:o,gapDragging:i,gapHoveredAxis:a,gapIsAuto:l,gapRefreshKey:s,swipeHint:d,radiusElement:c,radiusDragging:p,radiusHoveredCorner:u,textElement:m,textDragging:h,textHoveredProperty:g,paddingElement:y,paddingDragging:w,paddingHoveredSide:S}){if(!e)return null;let v=m&&!h?$c(m):null;return A(at,{children:[n&&f("div",{"data-devtools":"dom-drop-preview",style:{position:"fixed",zIndex:9997,pointerEvents:"none",backgroundColor:t,boxShadow:`0 0 0 1px ${t}`,opacity:n.mode==="copy"?.72:1,...n.rect.height>=n.rect.width?{left:n.rect.left-2,top:n.placement==="before"?n.rect.top-2:n.rect.bottom,width:n.rect.width+4,height:2}:{left:n.placement==="before"?n.rect.left-2:n.rect.right,top:n.rect.top-2,width:2,height:n.rect.height+4}}}),o&&f(np,{element:o,gap:i?{row:i.row,column:i.column}:Aa(o),accentColor:t,hoveredAxis:a,draggingAxis:i?.axis??null,cursorViewport:r,isAutoGap:l,refreshKey:s}),d&&f(Vv,{element:d.target,modifier:d.modifier,accentColor:t,refreshKey:s}),!d&&c&&f(ep,{element:c,radius:p?.radius??si(c),accentColor:t,hoveredCorner:u,draggingCorner:p?.corner??null,cursorViewport:r}),!d&&m&&f(Gv,{element:m,fontSize:h?.fontSize??v.fontSize,lineHeight:h?.lineHeight??v.lineHeight,accentColor:t,hoveredProperty:g,draggingProperty:h?.property??null,cursorViewport:r}),!d&&y&&f(rp,{element:y,padding:w?.padding??Ki(y),accentColor:t,hoveredSide:S,draggingSide:w?.side??null,cursorViewport:r,refreshKey:h?h.fontSize+h.lineHeight*1e3:0})]})}var eb=4,tb=8,nb=7.2,rb=45,ob=96,ib=89;function ip(e,t){let n=e===0?"Ready":`${e} action${e===1?"":"s"}`,r=tb*2+n.length*nb,o=t?e===0?22:rb:e===0?ob:ib;return{label:n,accessibleShortcut:e===0?"Command Escape to exit":"Command Enter to complete",width:Math.ceil(r+eb+o)}}var ab=4,lb=8;function sb({cursor:e,stepCount:t,accentColor:n,toolbarElement:r,threadElement:o}){let[i]=Gl(),a=Zl[i],[l,s]=$(!1);Y(()=>{s(!1);let R=window.setTimeout(()=>s(!0),1e3);return()=>window.clearTimeout(R)},[t]);let d={width:window.innerWidth,height:window.innerHeight},c=ip(t,!1),p=Ec(e,d,22,c.width),u=r?Tc(p,r.getBoundingClientRect(),22,void 0,c.width):1,m=o?Cc(e,p,o.getBoundingClientRect(),22,void 0,void 0,c.width):1,h=Math.min(u,m)<1||l,g=ip(t,h),y=Ec(e,d,22,g.width),w=r?Tc(y,r.getBoundingClientRect(),22,void 0,g.width):1,S=o?Cc(e,y,o.getBoundingClientRect(),22,void 0,void 0,g.width):1,v=pm(w,S,!1),k={position:"fixed",left:y.left,top:y.top,width:g.width,height:22,display:"flex",alignItems:"center",gap:ab,boxSizing:"border-box",padding:0,color:"#000000",fontSize:12,fontWeight:400,lineHeight:1,pointerEvents:"none",whiteSpace:"nowrap",transition:"width 180ms cubic-bezier(0.2, 0, 0, 1)",opacity:v,transform:`scale(${v})`,transformOrigin:`${e.x-y.left}px ${e.y-y.top}px`,visibility:v===0?"hidden":"visible",zIndex:2147483647,colorScheme:i};return A("div",{role:"status","aria-label":`${g.label}. ${g.accessibleShortcut}`,"data-devtools":"interaction-episode-hud","data-popmelt-interaction-episode-hud":!0,style:k,children:[f("span",{style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",padding:`4px ${lb}px`,borderRadius:"2px 8px 8px 8px",background:n,color:"#dddddd",fontFamily:fm,lineHeight:1.2},children:g.label}),f("span",{"aria-hidden":"true",style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",gap:h?0:6,padding:h?"4px 5px":t===0?"4px 6px 4px 8px":"4px 8px 4px 10px",borderRadius:8,background:a.surface,border:`1px solid ${a.border}`,color:a.primary,fontFamily:Jl,lineHeight:1.2,letterSpacing:"0.24px",overflow:"hidden",transition:"width 180ms cubic-bezier(0.2, 0, 0, 1), padding 180ms cubic-bezier(0.2, 0, 0, 1)"},children:h?t===0?f(Na,{size:12,strokeWidth:2}):A("span",{"data-popmelt-interaction-episode-complete-shortcut":!0,style:{display:"inline-flex",alignItems:"center",gap:2},children:[f(eu,{size:12,strokeWidth:2}),f("span",{children:"+"}),f(fs,{size:12,strokeWidth:2})]}):A(at,{children:[A("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[f(eu,{size:12,strokeWidth:2}),f("span",{children:"+"}),t===0?f("span",{children:"esc"}):f(fs,{size:12,strokeWidth:2})]}),f("span",{style:{color:a.secondary},children:"to"}),t===0?f(Na,{size:12,strokeWidth:2,color:"red"}):f(Zr,{size:12,strokeWidth:2,color:"#02bd02"})]})})]})}function db(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function cb({styleModifications:e,textModifications:t=[],accentColor:n}){let[r,o]=$([]);if(Y(()=>{let a=null,l=()=>{let c=[],p=[...e,...t],u=new Set;for(let m of p){if(u.has(m.selector))continue;let h=Vt(m.selector);if(!h)continue;u.add(m.selector);let g=h.getBoundingClientRect();if(g.width===0&&g.height===0)continue;let y=si(h);c.push({selector:m.selector,top:g.top,left:g.left,width:g.width,height:g.height,borderRadius:`${y["top-left"]}px ${y["top-right"]}px ${y["bottom-right"]}px ${y["bottom-left"]}px`})}o(c)},s=()=>{a&&cancelAnimationFrame(a),a=requestAnimationFrame(l)};l(),window.addEventListener("scroll",s,{passive:!0}),window.addEventListener("resize",s,{passive:!0});let d=new MutationObserver(s);return d.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s),d.disconnect(),a&&cancelAnimationFrame(a)}},[e,t]),r.length===0)return null;let i=db(n,.2);return f(at,{children:r.map(a=>{let l={position:"fixed",top:a.top,left:a.left,width:a.width,height:a.height,pointerEvents:"none",zIndex:9995,border:`1px solid ${i}`,borderRadius:a.borderRadius,boxSizing:"border-box"};return f("div",{"data-devtools":"mod-border",style:l},a.selector)})})}var ap=["topLeft","topRight","bottomRight","bottomLeft"],ub=[["topLeft","topRight"],["topRight","bottomRight"],["bottomRight","bottomLeft"],["bottomLeft","topLeft"]],pb=8,_s="#000000",fb="#ffffff";function hb(e){let t=e.match(/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*([\d.]+%?))?\s*\)$/i);if(!t)return null;let n=t[4],r=n?n.endsWith("%")?Number.parseFloat(n)/100:Number.parseFloat(n):1,o={red:Number.parseFloat(t[1]),green:Number.parseFloat(t[2]),blue:Number.parseFloat(t[3]),alpha:r};return Object.values(o).every(Number.isFinite)?o:null}function lp(e){let t=e.parentElement;for(;t;){let n=hb(getComputedStyle(t).backgroundColor);if(n&&n.alpha>=.95)return(n.red*.299+n.green*.587+n.blue*.114)/255>=.55?_s:fb;t=t.parentElement}return _s}function mb(e){return ap.map(t=>`${e[t].x},${e[t].y}`).join(" ")}function gb(e,t,n,r){let o=Math.atan2(n.y-t.y,n.x-t.x),i=Math.atan2(r.y-e.y,r.x-e.x),a=Math.atan2(Math.sin(i-o),Math.cos(i-o));if(Math.abs(a)<.001)return null;let l=Math.hypot(r.x-e.x,r.y-e.y),s={x:e.x+Math.cos(o)*l,y:e.y+Math.sin(o)*l},d=pb/2,c={x:Math.cos(o),y:Math.sin(o)},p=a>0?1:0;return{path:`M ${s.x} ${s.y} A ${l} ${l} 0 0 ${p} ${r.x} ${r.y}`,startTick:{start:{x:s.x-c.x*d,y:s.y-c.y*d},end:{x:s.x+c.x*d,y:s.y+c.y*d}}}}function rl({element:e,activeFacet:t,accentColor:n,showHandles:r=!0,showRotateHandle:o=!0,scrimOpacity:i=.05,cursorViewport:a,draggingKind:l,draggingCorner:s,ghostQuad:d,refreshKey:c,onHandlePointerDown:p}){let[u,m]=$(null),[h,g]=$(null),[y,w]=$(null),[S,v]=$(null),[k,R]=$(!1),[P,_]=$(_s),V=q("top"),W=q(null),J=`transform-occlusion-${Xm().replace(/:/g,"")}`;if(Y(()=>{let z=()=>{let me=ir(e)?ea(e):Po(e);W.current=me,g(me),v(_u(e,me)),R(Bu(e)),_(lp(e));let He=ir(e)?mi(e,me):Po(e);w(He),m(He)};z(),window.addEventListener("scroll",z,{passive:!0}),window.addEventListener("resize",z,{passive:!0});let Te=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>z());return Te?.observe(e),()=>{window.removeEventListener("scroll",z),window.removeEventListener("resize",z),Te?.disconnect()}},[e]),Dt(()=>{let z=l&&W.current?W.current:ir(e)?ea(e):Po(e);W.current=z,g(z),v(_u(e,z)),R(Bu(e)),_(lp(e));let Te=ir(e)?mi(e,z):Po(e);w(Te),m(Te)},[l,e,c]),!u)return null;let B=a?$s(u,a,20,{currentSide:V.current,hysteresis:8,viewport:{width:window.innerWidth,height:window.innerHeight}}):Yu(u,20);l!=="rotate"&&(V.current=B.side);let H=l==="rotate"?{...yi(u,void 0,V.current),side:V.current}:B,te={position:"fixed",inset:0,pointerEvents:"none",zIndex:p?9999:9996},Q=l?.95:.72,D=!!(h&&Ev(h,u)),N=h&&y&&S?Wu(S,h,y):S,I=N?Uu(u,N):u,O=d&&h&&S?Wu(S,h,d):S,T=d&&O?Uu(d,O):d,G=ta(u),F=d?ta(d):null,ue=d?yi(d,void 0,H.side):null,L=ue&&F?gb(G,F,ue.handle,H.handle):null,re=k&&y&&N?Ls(y,N):null,ne=re?`url(#${J})`:void 0;return f("div",{"data-devtools":r?"transform-handles":"element-boundary","data-popmelt-steer-overlay":!0,"data-transform-facet":t,style:te,children:A("svg",{width:"100%",height:"100%",style:{position:"absolute",inset:0,pointerEvents:"none"},children:[re&&f("defs",{children:A("mask",{id:J,maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100%",height:"100%",children:[f("rect",{width:"100%",height:"100%",fill:"#ffffff"}),f("path",{"data-transform-occlusion-mask":"",d:re,fill:"#000000"})]})}),D&&h&&S&&f("path",{"data-transform-layout-plate":"",d:Ls(h,S),fill:P,fillOpacity:"0.07",stroke:"none",mask:ne}),f("path",{"data-transform-effective-outline":"","data-transform-effective-scrim":"",d:N?Ls(u,N):`M ${mb(u)} Z`,fill:n,fillOpacity:i,stroke:n,strokeWidth:"1",strokeOpacity:Q}),l==="translate"&&F&&A("g",{"data-transform-origin-trace":"translate",children:[f("line",{x1:F.x,y1:F.y,x2:G.x,y2:G.y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-transform-origin-point":"",cx:F.x,cy:F.y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),l==="scale"&&s&&T&&A("g",{"data-transform-origin-trace":"scale",children:[f("line",{x1:T[s].x,y1:T[s].y,x2:I[s].x,y2:I[s].y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-transform-origin-point":"",cx:T[s].x,cy:T[s].y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),l==="rotate"&&L&&A("g",{"data-transform-origin-trace":"rotate",children:[f("path",{"data-transform-rotation-arc":"",d:L.path,fill:"none",stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("line",{"data-transform-rotation-arc-start":"",x1:L.startTick.start.x,y1:L.startTick.start.y,x2:L.startTick.end.x,y2:L.startTick.end.y,stroke:"#808080",strokeWidth:"1",strokeLinecap:"round",opacity:"0.85"})]}),p&&ub.map(([z,Te])=>f("line",{"data-transform-handle":"translate",x1:u[z].x,y1:u[z].y,x2:u[Te].x,y2:u[Te].y,stroke:"transparent",strokeWidth:zu,style:{pointerEvents:"stroke",cursor:"move"},onPointerDown:me=>p("translate",null,me)},`${z}-${Te}`)),r&&A("g",{"data-transform-affordances":"",children:[ap.map(z=>A("g",{children:[f("rect",{x:I[z].x-6/2,y:I[z].y-6/2,width:6,height:6,fill:n,stroke:"#ffffff",strokeWidth:2}),p&&f("circle",{"data-transform-handle":"scale","data-transform-corner":z,cx:I[z].x,cy:I[z].y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:z==="topLeft"||z==="bottomRight"?"nwse-resize":"nesw-resize"},onPointerDown:Te=>p("scale",z,Te)})]},z)),o&&A(at,{children:[f("line",{x1:H.edge.x,y1:H.edge.y,x2:H.handle.x,y2:H.handle.y,stroke:n,strokeWidth:"1",opacity:Q}),f("circle",{cx:H.handle.x,cy:H.handle.y,r:6/2,fill:n,stroke:"#ffffff",strokeWidth:2}),p&&f("line",{"data-transform-handle":"rotate",x1:H.edge.x,y1:H.edge.y,x2:H.handle.x,y2:H.handle.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:"grab"},onPointerDown:z=>{V.current=H.side,p("rotate",null,z,H.side)}})]})]})]})})}var yb=["top","right","bottom","left"];function vb(e){return e==="all"?yb:e==="x"?["left","right"]:e==="y"?["top","bottom"]:e==="top"||e==="right"||e==="bottom"||e==="left"?[e]:[]}function bb(e){return e==="top-left"||e==="top-right"||e==="bottom-right"||e==="bottom-left"?e:null}function sp(e,t,n,r){return e&&n==="value"&&t==="transform"&&(r==="translate"||r==="scale"||r==="rotate")}function xb({active:e,accentColor:t,family:n,stage:r,subproperty:o,hoveredElement:i,previewElement:a,transformPreviewElement:l,previewRevision:s,cursorViewport:d,drag:c,onGapPointerDown:p,onRadiusPointerDown:u,onSpacingPointerDown:m,onTransformPointerDown:h}){let g=e&&r==="value",y=i instanceof HTMLElement&&a===i,w=i instanceof HTMLElement&&(rs(i,"row")||rs(i,"column")),S=c?.family==="transform"?c.element:i,v=sp(e,n,r,o)?o:null,k=v!==null&&ir(S)&&(a===S||l===S||c?.family==="transform");return A(at,{children:[g&&(n==="padding"||n==="margin")&&y&&f(rp,{element:i,padding:n==="margin"?yc(i):Ki(i),mode:n,accentColor:t,hoveredSide:c?.family===n?c.side??null:null,draggingSide:c?.family===n?c.side??null:null,activeSides:vb(o),refreshKey:s,cursorViewport:c?.cursor,onHandlePointerDown:(R,P)=>m(n,R,P)}),g&&(n==="stack"||n==="grid")&&o==="gap"&&y&&f(np,{element:i,gap:Aa(i),accentColor:t,hoveredAxis:c?.gapAxis??null,draggingAxis:c?.gapAxis??null,refreshKey:s,cursorViewport:c?.cursor,isAutoGap:w,onHandlePointerDown:w?void 0:p}),g&&n==="radius"&&y&&f(ep,{element:i,radius:si(i),accentColor:t,hoveredCorner:bb(o),draggingCorner:c?.corner??null,cursorViewport:c?.cursor,onHandlePointerDown:u}),k&&f(rl,{element:S,activeFacet:v,accentColor:t,draggingKind:c?.family==="transform"?c.transformKind??null:null,draggingCorner:c?.family==="transform"?c.transformCorner??null:null,ghostQuad:c?.family==="transform"?c.ghostQuad??null:null,cursorViewport:c?.cursor??d,refreshKey:s,onHandlePointerDown:h})]})}var ro=8,dp=2,wb=66,Sb=3;function kb(){let e=Math.random()*Math.PI*2,t=5+Math.random()*8;return{x:Math.cos(e)*t,y:Math.sin(e)*t}}function Ib({onSave:e}){let[t,n]=$(!1),[r]=Gl(),o=Zl[r];return A("button",{type:"button","data-popmelt-subject-label-save":!0,"data-hovered":t?"true":"false","aria-label":"Save object label",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onPointerDown:i=>{i.preventDefault(),i.stopPropagation()},onClick:i=>{i.preventDefault(),i.stopPropagation(),e()},style:{appearance:"none",boxSizing:"border-box",height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:4,margin:0,padding:"0 8px",border:`1px solid ${o.border}`,borderRadius:8,backgroundColor:o.surface,color:o.primary,fontFamily:gn,fontSize:12,fontWeight:600,letterSpacing:"0.24px",lineHeight:1,whiteSpace:"nowrap",cursor:"pointer",pointerEvents:"auto",userSelect:"none",touchAction:"manipulation"},children:[A("span",{className:"popmelt-subject-save-default",children:[f(fs,{size:12,strokeWidth:2,"aria-hidden":!0}),f("span",{style:{color:o.secondary},children:"to"}),f(Zr,{size:12,strokeWidth:2,"aria-hidden":!0})]}),A("span",{className:"popmelt-subject-save-hovered",children:[f("span",{children:"Save"}),f(Zr,{size:12,strokeWidth:2,"aria-hidden":!0})]})]})}function Eb(e,t){let n=t.x-e.start.x,r=t.y-e.start.y;if(e.kind==="translate")return{...e.bounds,left:e.bounds.left+n,top:e.bounds.top+r};let o=e.bounds.left+e.bounds.width,i=e.bounds.top+e.bounds.height;switch(e.corner){case"topLeft":{let a=Math.min(o-ro,e.bounds.left+n),l=Math.min(i-ro,e.bounds.top+r);return{left:a,top:l,width:o-a,height:i-l}}case"topRight":{let a=Math.max(e.bounds.left+ro,o+n),l=Math.min(i-ro,e.bounds.top+r);return{left:e.bounds.left,top:l,width:a-e.bounds.left,height:i-l}}case"bottomLeft":{let a=Math.min(o-ro,e.bounds.left+n),l=Math.max(e.bounds.top+ro,i+r);return{left:a,top:e.bounds.top,width:o-a,height:l-e.bounds.top}}default:{let a=Math.max(e.bounds.left+ro,o+n),l=Math.max(e.bounds.top+ro,i+r);return{left:e.bounds.left,top:e.bounds.top,width:a-e.bounds.left,height:l-e.bounds.top}}}}function Tb({accentColor:e,created:t,registry:n,target:r,onCommit:o,onClose:i,onCancelCreated:a}){let l=n.resolve(r),s=q(l?.subject.label??"object"),[d,c]=$(s.current),p=l?.subject.trackingAnchors?.map(I=>({...I}))??[],u=q(p),[m,h]=$(p),[g,y]=$(0),[w,S]=$(0),v=q(null),k=q(null),R=q(null),P=q(!1),_=n.resolve(r),V=xe(()=>{let I=typeof document>"u"?null:document.createElement("canvas").getContext("2d");I&&(I.font=`${Ac}px ${gn}`);let O=T=>(I?.measureText(T).width??T.length*7.2)+Math.max(0,T.length-1)*km;return{label:Math.max(8,O(d||" ")),full:O(`<${d||" "}>`)+Mc*2}},[d]);if(Dt(()=>{R.current?.focus(),R.current?.select()},[]),Dt(()=>{if(g)for(let I of k.current?.querySelectorAll("[data-popmelt-tracking-anchor]")??[]){let O=kb();I.animate?.([{transform:"translate(-50%, -50%)"},{transform:`translate(calc(-50% + ${O.x}px), calc(-50% + ${O.y}px))`},{transform:`translate(calc(-50% - ${O.x*.55}px), calc(-50% - ${O.y*.55}px))`},{transform:"translate(-50%, -50%)"}],{duration:220,easing:"ease-out"})}},[g]),Y(()=>n.subscribeFrame(()=>S(I=>I+1)),[n]),Y(()=>{let I=T=>{let G=v.current;G&&(n.updateBounds(r,Eb(G,{x:T.clientX,y:T.clientY})),S(F=>F+1))},O=()=>{v.current=null,S(T=>T+1)};return window.addEventListener("pointermove",I,!0),window.addEventListener("pointerup",O,!0),window.addEventListener("pointercancel",O,!0),()=>{window.removeEventListener("pointermove",I,!0),window.removeEventListener("pointerup",O,!0),window.removeEventListener("pointercancel",O,!0)}},[n,r]),!_)return null;let W=()=>{if(P.current)return;let I=d.trim();if(!I){t&&a();return}let O=u.current,T=O.length===1?[]:O,G=_.adapter.updateSubjectTrackingAnchors?n.updateTrackingAnchors(r,T):null,F=n.rename(r,I)??G;F&&o(F),i()},J=()=>{P.current=!0,t?a():i()},{bounds:B}=_.subject,H=!!_.adapter.updateSubjectTrackingAnchors,te=Math.min(400,V.full),Q=te+dp+wb,D=cc({left:B.left,right:B.left+B.width,top:B.top,bottom:B.top+B.height,height:B.height},22,2,window.innerHeight,Q,window.innerWidth),N=D.horizontalAlignment==="right"?D.left-Q:D.left;return A(at,{children:[f(rl,{element:_.element,activeFacet:"translate",accentColor:e,showRotateHandle:!1,refreshKey:w,draggingKind:v.current?.kind??null,draggingCorner:v.current?.corner??null,onHandlePointerDown:(I,O,T)=>{I!=="rotate"&&(T.preventDefault(),T.stopPropagation(),v.current={kind:I,corner:O,start:{x:T.clientX,y:T.clientY},bounds:{..._.subject.bounds}},S(G=>G+1))}}),H&&f("div",{ref:k,"data-popmelt-tracking-anchor-surface":!0,"aria-label":"Add tracking anchor",onPointerDown:I=>{if(I.button!==0)return;I.preventDefault(),I.stopPropagation();let O=u.current;if(O.length>=Sb){y(G=>G+1);return}let T=[...O,{x:Math.max(0,Math.min(1,(I.clientX-B.left)/B.width)),y:Math.max(0,Math.min(1,(I.clientY-B.top)/B.height))}];u.current=T,h(T)},style:{position:"fixed",left:B.left,top:B.top,width:B.width,height:B.height,pointerEvents:"auto",cursor:"crosshair",zIndex:9998},children:m.map((I,O)=>f("span",{"data-popmelt-tracking-anchor":!0,"data-popmelt-tracking-anchor-reject":g?"true":void 0,style:{position:"absolute",left:`${I.x*100}%`,top:`${I.y*100}%`,width:10,height:10,boxSizing:"border-box",border:"2px solid #ffffff",borderRadius:"50%",background:e,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.35)",pointerEvents:"none",transform:"translate(-50%, -50%)"}},O))}),f("style",{children:`
|
|
34
|
-
[data-popmelt-subject-label-editor]::selection {
|
|
35
|
-
background: #000000;
|
|
36
|
-
color: #ffffff;
|
|
37
|
-
}
|
|
38
|
-
.popmelt-subject-save-default {
|
|
39
|
-
display: inline-flex;
|
|
40
|
-
align-items: center;
|
|
41
|
-
gap: 4px;
|
|
42
|
-
}
|
|
43
|
-
.popmelt-subject-save-hovered {
|
|
44
|
-
display: none;
|
|
45
|
-
align-items: center;
|
|
46
|
-
gap: 4px;
|
|
47
|
-
}
|
|
48
|
-
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-default {
|
|
49
|
-
display: none;
|
|
50
|
-
}
|
|
51
|
-
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-hovered {
|
|
52
|
-
display: inline-flex;
|
|
53
|
-
}
|
|
54
|
-
@media (max-width: 767px) {
|
|
55
|
-
.popmelt-subject-save-default { display: none; }
|
|
56
|
-
.popmelt-subject-save-hovered { display: inline-flex; }
|
|
57
|
-
}
|
|
58
|
-
`}),A("div",{style:{position:"fixed",left:N,top:D.top,display:"flex",alignItems:"center",gap:dp,pointerEvents:"auto",zIndex:1e4},children:[A("div",{"data-popmelt-subject-label-editor":!0,style:{...hm(e),width:te,gap:0,borderRadius:Ql(D.anchor)},children:[f("span",{"aria-hidden":!0,children:"<"}),f("input",{ref:R,"data-popmelt-subject-label-input":!0,value:d,"aria-label":"Object label",spellCheck:!1,onChange:I=>c(I.target.value),onBlur:W,onKeyDown:I=>{I.key==="Escape"?(I.preventDefault(),J()):I.key==="Enter"&&!I.metaKey&&!I.ctrlKey&&(I.preventDefault(),W())},style:{appearance:"none",boxSizing:"content-box",width:Math.min(V.label,400-Mc*2-16),minWidth:0,height:`${Ac*1.2}px`,margin:0,padding:0,border:0,outline:0,background:"transparent",color:"inherit",font:"inherit",letterSpacing:"inherit",lineHeight:"inherit"}}),f("span",{"aria-hidden":!0,children:">"})]}),f(Ib,{onSave:W})]})]})}var cp=2;function Cb(e,t){if((e.annotation.status??"pending")!=="pending")return null;let n={x:t.x-e.startPoint.x,y:t.y-e.startPoint.y};return e.hasMoved?{session:{...e,startPoint:t},move:{delta:n,saveUndo:!1}}:Math.abs(n.x)>cp||Math.abs(n.y)>cp?{session:{...e,hasMoved:!0,startPoint:t},move:{delta:n,saveUndo:!0}}:null}function Ab({session:e,clickPoint:t,groupLabelWidth:n=0}){let{annotation:r}=e;return e.hasMoved||r.type!=="text"||(r.status??"pending")!=="pending"?null:{activeText:{id:r.id,point:r.points[0],text:r.text||"",fontSize:r.fontSize||12,isNew:!1,clickPoint:{x:t.x-n,y:t.y},groupId:r.groupId,linkedSelector:r.linkedSelector,linkedAnchor:r.linkedAnchor,elements:r.elements,attachments:r.attachments,interactionEpisode:r.interactionEpisode},color:r.color}}function up(e,t,n,r,o){let i={...e},a=i.right-i.left||1,l=i.bottom-i.top||1,s=a/l,d={...e};switch(t){case"topLeft":d.left=n.x,d.top=n.y;break;case"topRight":d.right=n.x,d.top=n.y;break;case"bottomLeft":d.left=n.x,d.bottom=n.y;break;case"bottomRight":d.right=n.x,d.bottom=n.y;break}if(r)switch(t){case"topLeft":d.right=i.right+(i.left-d.left),d.bottom=i.bottom+(i.top-d.top);break;case"topRight":d.left=i.left-(d.right-i.right),d.bottom=i.bottom+(i.top-d.top);break;case"bottomLeft":d.right=i.right+(i.left-d.left),d.top=i.top-(d.bottom-i.bottom);break;case"bottomRight":d.left=i.left-(d.right-i.right),d.top=i.top-(d.bottom-i.bottom);break}if(o){let c=d.right-d.left,p=d.bottom-d.top;if(Math.abs(c/p)>s){let u=Math.abs(p)*s*Math.sign(c);t==="topLeft"||t==="bottomLeft"?d.left=d.right-u:d.right=d.left+u}else{let u=Math.abs(c)/s*Math.sign(p);t==="topLeft"||t==="topRight"?d.top=d.bottom-u:d.bottom=d.top+u}}return d}function Mb({annotation:e,session:t,point:n,centerOrigin:r,lockAspect:o}){let{handle:i,originalPoints:a}=t;if(e.type==="line"){let p=a[0],u=a[a.length-1];return i==="start"?[n,u]:[p,n]}if(e.type==="freehand"){let p={left:Math.min(...a.map(w=>w.x)),right:Math.max(...a.map(w=>w.x)),top:Math.min(...a.map(w=>w.y)),bottom:Math.max(...a.map(w=>w.y))},u=p.right-p.left||1,m=p.bottom-p.top||1,h=up(p,i,n,r,o),g=h.right-h.left||1,y=h.bottom-h.top||1;return a.map(w=>({x:h.left+(w.x-p.left)/u*g,y:h.top+(w.y-p.top)/m*y}))}let l=a[0],s=a[a.length-1],d={left:Math.min(l.x,s.x),right:Math.max(l.x,s.x),top:Math.min(l.y,s.y),bottom:Math.max(l.y,s.y)};if(e.type==="circle"){let p=(d.left+d.right)/2,u=(d.top+d.bottom)/2,m=d.right-d.left,h=d.bottom-d.top,g={...d};switch(i){case"top":{if(g.top=n.y,r&&(g.bottom=u+(u-n.y)),o){let y=(g.bottom-g.top)*(m/h)/2;g.left=p-y,g.right=p+y}break}case"bottom":{if(g.bottom=n.y,r&&(g.top=u-(n.y-u)),o){let y=(g.bottom-g.top)*(m/h)/2;g.left=p-y,g.right=p+y}break}case"left":{if(g.left=n.x,r&&(g.right=p+(p-n.x)),o){let y=(g.right-g.left)*(h/m)/2;g.top=u-y,g.bottom=u+y}break}case"right":{if(g.right=n.x,r&&(g.left=p-(n.x-p)),o){let y=(g.right-g.left)*(h/m)/2;g.top=u-y,g.bottom=u+y}break}}return[{x:g.left,y:g.top},{x:g.right,y:g.bottom}]}let c=up(d,i,n,r,o);return[{x:c.left,y:c.top},{x:c.right,y:c.bottom}]}function Rb(){let[e,t]=$(null),[n,r]=$(null);return{dragState:e,resizeState:n,setDragState:t,setResizeState:r}}function In(e){return e?!!e.closest("#devtools-toolbar, #devtools-scrim, #devtools-text-input, [data-devtools], [data-popmelt-panel], [data-popmelt-shadow-host]"):!1}function Lb(e,t){let n=document,r=n.caretPositionFromPoint?.(e,t);if(r?.offsetNode?.nodeType===Node.TEXT_NODE)return r.offsetNode;let o=n.caretRangeFromPoint?.(e,t);return o?.startContainer?.nodeType===Node.TEXT_NODE?o.startContainer:null}function $b(e,t){if(!e)return t();let n=e.style.pointerEvents;e.style.pointerEvents="none";try{return t()}finally{e.style.pointerEvents=n}}function Pb(e,t,n){let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(i){return i.textContent?.trim()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),o=r.nextNode();for(;o;){let i=o,a=document.createRange();a.selectNodeContents(i);let l=Array.from(a.getClientRects());if(a.detach?.(),l.some(s=>t>=s.left&&t<=s.right&&n>=s.top&&n<=s.bottom))return i;o=r.nextNode()}return null}function jb(e,t,n){return $b(n,()=>{let r=Lb(e,t);if(!r){let S=document.elementFromPoint(e,t);S&&!In(S)&&(r=Pb(S,e,t))}if(!r||!(r.parentElement instanceof HTMLElement))return null;let o=r.parentElement;if(In(o))return null;for(;o.parentElement&&o!==document.body;){let S=window.getComputedStyle(o).display,v=S==="inline-block"&&o.childNodes.length===1&&o.firstChild?.nodeType===Node.ELEMENT_NODE;if(S!=="inline"&&S!=="contents"&&!v)break;let k=o.parentElement;if(In(k))break;if(Array.from(k.childNodes).some(_=>_.nodeType===Node.TEXT_NODE&&!!_.nodeValue?.trim())){o=k;continue}let R=window.getComputedStyle(k).display,P=R==="inline-block"&&k.childNodes.length===1&&k.firstChild?.nodeType===Node.ELEMENT_NODE;if(R==="inline"||R==="contents"||P){o=k;continue}break}let i=o.tagName.toLowerCase();if(i==="script"||i==="style"||i==="textarea"||i==="input")return null;let a=Db(o),l=a.map(S=>S.originalText).join("");if(!l.trim())return null;let s=pp(o,r);if(!s)return null;let d=window.getComputedStyle(o),c=hp(a,o,d),{textRect:p,boundaryRect:u,boundaryRects:m,flowRect:h,firstLineIndent:g}=c;if(p.width<=0||p.height<=0)return null;let y=parseFloat(d.fontSize)||12,w=d.whiteSpace!=="nowrap"&&d.whiteSpace!=="pre"&&(Hb(r)||d.display!=="inline");return{textNode:r,targetElement:o,textNodePath:s,segments:a,originalText:l,rect:p,boundaryRect:u,boundaryRects:m,flowRect:h,firstLineIndent:g,styles:d,fontSize:y,wrapsText:w}})}function pp(e,t){let n=[],r=t;for(;r&&r!==e;){let o=r.parentNode;if(!o)return null;n.unshift(Array.prototype.indexOf.call(o.childNodes,r)),r=o}return r===e?n:null}function zb(e,t){let n=document.createRange();n.selectNodeContents(e);let r=n.getBoundingClientRect();if(n.detach?.(),r.width>0&&r.height>0)return{left:r.left,top:r.top,width:r.width,height:r.height};let o=t.getBoundingClientRect();return{left:o.left,top:o.top,width:o.width,height:o.height}}function Db(e){let t=[],n=r=>{if(r.nodeType===Node.TEXT_NODE){let i=r,a=pp(e,i);a&&t.push({textNode:i,textNodePath:a,originalText:i.nodeValue??""});return}if(r.nodeType!==Node.ELEMENT_NODE&&r!==e)return;let o=r.tagName?.toLowerCase();o==="script"||o==="style"||r.childNodes.forEach(n)};return e.childNodes.forEach(n),t}function fp(e){return{left:e.left,top:e.top,width:e.width,height:e.height}}function Ob(e){let t=[];for(let n of e){if(!n.textNode.isConnected||!n.originalText.trim())continue;let r=document.createRange();r.selectNodeContents(n.textNode),t.push(...Array.from(r.getClientRects()).filter(o=>o.width>0&&o.height>0).map(fp)),r.detach?.()}return Lm(t)}function Nb(e){let t=e.getBoundingClientRect(),n=window.getComputedStyle(e),r=(parseFloat(n.borderLeftWidth)||0)+(parseFloat(n.paddingLeft)||0),o=(parseFloat(n.borderRightWidth)||0)+(parseFloat(n.paddingRight)||0),i=(parseFloat(n.borderTopWidth)||0)+(parseFloat(n.paddingTop)||0),a=(parseFloat(n.borderBottomWidth)||0)+(parseFloat(n.paddingBottom)||0);return{left:t.left+r,top:t.top+i,width:Math.max(0,t.width-r-o),height:Math.max(0,t.height-i-a)}}function hp(e,t,n){let r=fp(t.getBoundingClientRect()),o=Ob(e),i=e[0]?.textNode?zb(e[0].textNode,t):r,a=o.length>0?o:[i];return Mm({display:n.display,fragmentRects:a,elementRect:r,parentContentRect:t.parentElement?Nb(t.parentElement):void 0})}function Hb(e){let t=document.createRange();t.selectNodeContents(e);let n=Array.from(t.getClientRects()).filter(r=>r.width>0&&r.height>0).length;return t.detach?.(),n>1}function mp(e,t,n){if(t===n||e.length===0)return[];let r=0;for(;r<t.length&&r<n.length&&t[r]===n[r];)r+=1;let o=0;for(;o<t.length-r&&o<n.length-r&&t[t.length-1-o]===n[n.length-1-o];)o+=1;let i=r,a=t.length-o,l=n.slice(r,n.length-o),s=0,d=!1;return e.flatMap((c,p)=>{let u=s,m=u+c.originalText.length;s=m;let h=i===a,g=h&&(i>=u&&i<m||p===e.length-1&&i===m),y=!h&&m>i&&u<a;if(!g&&!y)return[];let w=Math.max(0,Math.min(c.originalText.length,i-u)),S=Math.max(0,Math.min(c.originalText.length,a-u)),v=c.originalText.slice(0,w);return d||(v+=l,d=!0),v+=c.originalText.slice(S),v===c.originalText?[]:[{segment:c,modifiedText:v}]})}function ol(e,t){return Math.abs(e.left-t.left)<.5&&Math.abs(e.top-t.top)<.5&&Math.abs(e.width-t.width)<.5&&Math.abs(e.height-t.height)<.5}function _b(e,t){return!e||!t?e===t:ol(e,t)}function Fb(e,t){return e.length===t.length&&e.every((n,r)=>ol(n,t[r]))}function Fs(e,t,n=!0){let r=new Map(mp(e.segments,e.originalText,t).map(({segment:o,modifiedText:i})=>[o,i]));return{type:"MODIFY_TEXT_CONTENTS",...n?{}:{saveUndo:!1},payload:e.segments.map(o=>({selector:e.selector,durableSelector:e.durableSelector,element:e.element,textNodePath:o.textNodePath,original:o.originalText,modified:r.get(o)??o.originalText}))}}function Wb(e,t,n){return e||(t>0?`[${t} image${t>1?"s":""}]`:n[0]?.name??"")}function Bb(e){if(e.domEdit){let i=e.domEdit;return e.text===i.originalText?{action:null,sendHintAnchorId:null,attachedImages:null}:{action:Fs(i,e.text),sendHintAnchorId:null,attachedImages:null}}let t=e.images??[],n=t.length,r=e.attachments??[];if(!(e.text.trim()||n>0||r.length>0||e.interactionEpisode?.steps.length))return{action:e.isNew?null:{type:"DELETE_ANNOTATION",payload:{id:e.id}},sendHintAnchorId:null,attachedImages:null};let o=Wb(e.text,n,r)||`[Interaction episode: ${e.interactionEpisode?.steps.length??0} steps]`;return{action:e.isNew?{type:"ADD_TEXT",payload:{point:e.point,text:o,fontSize:e.fontSize,id:e.id,groupId:e.groupId,linkedSelector:e.linkedSelector,target:e.target,linkedAnchor:e.linkedAnchor,elements:e.elements,...n>0?{imageCount:n}:{},...r.length>0?{attachments:r}:{},...e.interactionEpisode?{interactionEpisode:e.interactionEpisode}:{}}}:{type:"UPDATE_TEXT",payload:{id:e.id,text:o,...n>0?{imageCount:n}:{},attachments:r,interactionEpisode:e.interactionEpisode}},sendHintAnchorId:e.id,attachedImages:n>0?{annotationId:e.id,images:t}:null}}var bi=0,Jb=2,qb=60;function gp({anchorLeftX:e,anchorRightX:t,editorWidth:n,trailingWidth:r,viewportWidth:o}){let i=Math.max(bi,o-bi),a=Math.max(bi,Math.min(t,i)),l=r>0?r+Jb:0,s=n+l,d=Math.max(0,e-8),c=a-s,p=Math.max(0,bi-d)+Math.max(0,d+s-i),u=Math.max(0,bi-c)<p?"right":"left",m=Math.max(qb,u==="right"?a-bi-l:i-d-l),h=Math.min(n,m);return{horizontalAlignment:u,editorLeft:u==="right"?a-l-h:d,maxEditorWidth:m}}function Ub({prefix:e,fontSize:t,railGap:n,context:r}){if(!e)return 0;let o=t*.6,i=r?.measureText(e).width??e.length*o,a=n??(r?.measureText(" ").width??o)/2;return i+a}function Yb({text:e,fontSize:t,point:n,clickPoint:r,context:o}){let i=e.split(`
|
|
59
|
-
`),a=t*Un,l=Math.max(0,Math.min(i.length-1,Math.floor((r.y-n.y)/a))),s=i[l]??"",d=r.x-n.x,c=s.length;for(let u=0;u<=s.length;u+=1){let m=o.measureText(s.slice(0,u)).width;if(m<=d)continue;let h=u>0?o.measureText(s.slice(0,u-1)).width:0;c=Math.max(0,d-h<m-d?u-1:u);break}let p=c;for(let u=0;u<l;u+=1)p+=(i[u]?.length??0)+1;return p}function Ws({text:e,fontSize:t,effectiveMaxWidth:n,annotationPrefixWidth:r,isModifiedRail:o,fitToContent:i=o,context:a}){let l=a.measureText("Type here...").width,s=i&&e.length>0?a.measureText(" ").width:l,d=cm(e).split(`
|
|
60
|
-
`),c=Math.max(s,...d.map(u=>a.measureText(u||" ").width)),p=Math.max(s,n-r-(o?16:0));if(c>p){let u=um(a,d,p);return{width:Math.min(p,Math.max(s,...u.map(m=>a.measureText(m).width))),height:Math.max(1,u.length)*t*Un,isWrapped:!0}}return{width:c,height:Math.max(1,d.length)*t*Un,isWrapped:!1}}function Xb(e,t){return e&&t!=="model"}function Kb(e,t,n,r=6){return e.moved?e:{...e,moved:Math.hypot(t-e.startX,n-e.startY)>r}}function Vb(e){return!!(e&&!e.moved)}function yp(){return{isDragging:!1,hasMoved:!1,mode:"move",startX:0,startY:0,element:null,originalParent:null,originalIndex:-1,selector:null,durableSelector:null,elementInfo:null}}function il(e){if(!e||e===document.body||e===document.documentElement||In(e))return!1;let t=e.tagName.toLowerCase();return["script","style","link","meta","head","html","body","input","textarea","select","option","button"].includes(t)?!1:!!e.parentElement}function Xn(e){let t=e.getAttribute("data-pm");return t||(t=Math.random().toString(36).substring(2,8),e.setAttribute("data-pm",t)),`[data-pm="${t}"]`}function Bs(e){return e.parentElement?Array.from(e.parentElement.children).indexOf(e):-1}function vp(e){e.removeAttribute("data-pm"),e.querySelectorAll("[data-pm]").forEach(t=>t.removeAttribute("data-pm"))}function bp(e,t,n,r,o=Lo){let i=n.parentElement;if(!i)return null;let a=o(e,t);for(;a&&a!==document.body;){if(a===n||n.contains(a)){a=a.parentElement;continue}if(a.parentElement===i&&il(a))break;a=a.parentElement}if(!a||a===document.body||a.parentElement!==i||a===r)return null;let l=a.getBoundingClientRect(),s=l.height>=l.width?t<l.top+l.height/2?"before":"after":e<l.left+l.width/2?"before":"after",d=Bs(a),c=s==="before"?d:d+1;return{parent:i,reference:a,placement:s,index:c}}function Js(e,t,n){let r=Array.from(e.children).filter(i=>i!==t),o=Math.max(0,Math.min(n,r.length));e.insertBefore(t,r[o]??null)}function Qb({drag:e,clientX:t,clientY:n,pathname:r,createId:o,rootElement:i,elementAtPoint:a}){let l=e.element;if(!l||!e.selector||!e.durableSelector||!e.elementInfo)return null;let s=bp(t,n,l,i,a);if(!s)return null;let d=e.originalParent===s.parent&&s.index>e.originalIndex?s.index-1:s.index;if(e.mode==="move"&&e.originalParent===s.parent&&(d===e.originalIndex||d===e.originalIndex+1))return null;let c=pn(s.parent),p=Xn(s.parent),u=pn(s.reference),m=Xn(s.reference),h=e.selector,g=e.durableSelector,y=e.elementInfo;if(e.mode==="copy"){let S=l.cloneNode(!0);if(!(S instanceof Element))return null;vp(S),Js(s.parent,S,d),h=Xn(S),g=pn(S),y={...Yt(S),selector:h}}else Js(s.parent,l,d);let w=e.originalParent;return{id:o(),operation:e.mode,selector:h,durableSelector:g,element:y,sourceSelector:e.mode==="copy"?e.selector:void 0,sourceDurableSelector:e.mode==="copy"?e.durableSelector:void 0,sourceElement:e.mode==="copy"?e.elementInfo:void 0,originalParentSelector:w?Xn(w):void 0,originalParentDurableSelector:w?pn(w):void 0,originalIndex:e.originalIndex,targetParentSelector:p,targetParentDurableSelector:c,targetIndex:d,referenceSelector:m,referenceDurableSelector:u,placement:s.placement,pathname:r}}function Gb(e){return e==="hand"}var xp={"active-edit":100,"direct-manipulation":90,"in-flight":80,"bundle-preview":70,"nested-preview":65,"annotation-hover":60,"badge-hover":60,"thread-focus":50,selected:45,"pending-change":40,"inspector-hover":30};function Zb(e){let t=new Map;for(let n of e){let r=t.get(n.target);(!r||xp[n.owner]>xp[r])&&t.set(n.target,n.owner)}return t}function ex({activeText:e,pendingLinkedText:t,activeTextSendHintId:n,activeTool:r,isAnnotating:o,annotations:i,pageAnnotations:a,pageStyleModifications:l,pageTextModifications:s,supersededAnnotations:d,nestedBadgeHover:c,isSendBundleHovered:p,badgeHoveredAnnotationId:u,hoveredTextId:m,badgeHoveredSelector:h,focusedThreadAnnotationId:g,inFlightSelectorColors:y,focusedSelectorColors:w,hoveredElement:S}){let v=O=>O?i.find(T=>T.id===O)?.linkedSelector??null:null,k=c?c.ownerId===n?e?.linkedSelector??null:v(c.ownerId):null,R=(O,T)=>{if(!T)return!1;try{return O.matches(T)}catch{return!1}},P=O=>{let T=null;for(let G of a)!G.linkedSelector||d.has(G)||ln(G.linkedSelector,G.elements)!==O||(!T||G.timestamp>T.timestamp)&&(T=G);return T},_=[e?.linkedSelector,t?.linkedSelector,v(g),v(c||p?null:u),v(c||p?null:m),h].filter(Boolean),V=c||p?null:u||m,W=O=>_.some(T=>R(O,T)),J=[],B=(O,T)=>{O&&J.push({target:O,owner:T})},H=(O,T,G)=>{O&&B(ln(O,G),T)};if(o){if(r==="hand")for(let O of l)O.captured||H(O.selector,"pending-change");for(let O of s)O.captured||H(O.selector,"pending-change");for(let O of y?.keys()??[])H(O,"in-flight");for(let O of w?.keys()??[])H(O,"selected");if(H(e?.domEdit?e.linkedSelector:null,"active-edit",e?.elements),!c&&!p&&H(e?.linkedSelector||t?.linkedSelector,"direct-manipulation",e?.elements||t?.elements),!p&&g){let O=i.find(T=>T.id===g);O?.linkedSelector&&k!==O.linkedSelector&&H(O.linkedSelector,"thread-focus",O.elements)}if(V){let O=i.find(T=>T.id===V);H(O?.linkedSelector,"annotation-hover",O?.elements)}if(c&&!p)for(let O of c.annotationIds){let T=i.find(G=>G.id===O);H(T?.linkedSelector,"nested-preview",T?.elements)}if(p){for(let O of a)(O.status??"pending")==="pending"&&H(O.linkedSelector,"bundle-preview",O.elements);e&&!e.domEdit&&e.text?.trim()&&H(e.linkedSelector,"bundle-preview",e.elements);for(let O of[...l,...s])O.captured||H(O.selector,"bundle-preview",[O.element])}H(h,"badge-hover"),(r==="inspector"||r==="sticker")&&S&&!V&&!h&&B(S,"inspector-hover")}let te=Zb(J),Q=(O,T)=>te.get(O)===T,D=(O,T)=>{if(!O)return null;let G=new Map,F=new Set;for(let[ue,L]of O){let re=ln(ue);re&&Q(re,T)&&!F.has(re)&&(F.add(re),G.set(ue,L))}return G.size>0?G:null},N=new Set,I=(O,T)=>!Q(O,T)||N.has(O)?!1:(N.add(O),!0);return{hasExistingOverlay:O=>te.has(O),nestedBadgeOwnerSelector:k,hoveredLinkedAnnotationId:V,hasSelectedHighlightForElement:W,getExistingAnnotationForElement:P,ownedInFlightSelectorColors:D(y,"in-flight"),ownedFocusedSelectorColors:D(w,"selected"),claimElementOverlay:I}}function tx(e){let[t,n]=$();return Dt(()=>{if(!e)return;let r,o=()=>{if(!e.isConnected)return;let i=e.getBoundingClientRect();n(a=>a?.element===e&&a.rect.x===i.x&&a.rect.y===i.y&&a.rect.width===i.width&&a.rect.height===i.height?a:{element:e,rect:i}),r=requestAnimationFrame(o)};return o(),()=>cancelAnimationFrame(r)},[e]),t?.element===e?t.rect:void 0}var nx=180,wp=16,rx=50,Sp=180;async function ox(e){let t=new Uint8Array(await e.arrayBuffer()),n=2166136261;for(let r of t)n^=r,n=Math.imul(n,16777619);return`${e.size.toString(36)}-${(n>>>0).toString(36)}`}function kp(e,t){return!e.frames||t===0?e:{...e,frames:e.frames.map(n=>({...n,imageIndex:n.imageIndex+t}))}}function qs(e){let t=e?.replace(/\s+/g," ").trim();if(t)return t.slice(0,Sp)}function ix(e){try{return pn(e)}catch{return}}function Ip(e){if(e instanceof HTMLVideoElement){let t=Number.isFinite(e.duration)?e.duration:void 0;return{kind:"video",currentTime:e.currentTime,...t===void 0?{}:{duration:t},paused:e.paused}}}function xi(e){if(!e||In(e))return;let t=e instanceof HTMLElement?e:null,n=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e:null,r=e.getBoundingClientRect(),o=e.getAttribute("role")??void 0,i=qs(e.getAttribute("class")),a=qs(e.getAttribute("aria-label")),l=qs(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?void 0:e.textContent),s=Ip(e);return{selector:ix(e),tagName:e.tagName.toLowerCase(),...i?{className:i}:{},...o?{role:o}:{},...a?{ariaLabel:a}:{},...l?{text:l}:{},...n&&!(n instanceof HTMLInputElement&&n.type==="password")?{value:n.value.slice(0,Sp)}:{},...e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")?{checked:e.checked}:{},...t&&"disabled"in t&&typeof t.disabled=="boolean"?{disabled:t.disabled}:{},...e.hasAttribute("aria-expanded")?{expanded:e.getAttribute("aria-expanded")==="true"}:{},...e.hasAttribute("aria-pressed")?{pressed:e.getAttribute("aria-pressed")==="true"}:{},...e.hasAttribute("aria-selected")?{selected:e.getAttribute("aria-selected")==="true"}:{},rect:{x:Math.round(r.x),y:Math.round(r.y),width:Math.round(r.width),height:Math.round(r.height)},...s?{media:s}:{}}}function Us(e){let{subject:t,target:n,adapter:r}=e,{left:o,top:i,width:a,height:l}=t.bounds,s=Ip(t.sourceElement??null);return{tagName:r.id,rect:{x:Math.round(o),y:Math.round(i),width:Math.round(a),height:Math.round(l)},subject:{adapter:n.adapter,key:n.key,label:t.label,...t.context?{context:t.context}:{},...t.data?{data:{...t.data}}:{}},...s?{media:s}:{}}}function ax(e){return e.type==="click"?"click":e.type==="input"?"input":e.type==="change"?"change":e.type==="submit"?"submit":e.type==="keydown"?"keydown":e.type==="play"?"play":e.type==="pause"?"pause":e.type==="seeked"?"seek":null}function lx(e,t,n){if(e==="scroll")return"Scrolled the page";let r=n??xi(t),o=r?.subject?.label??r?.ariaLabel??r?.text??r?.tagName??"element";return e==="click"?`Clicked ${o}`:e==="drag"?`Dragged ${o}`:e==="input"?`Entered text in ${o}`:e==="change"?`Changed ${o}`:e==="submit"?`Submitted ${o}`:e==="play"?`Played ${o}`:e==="pause"?`Paused ${o}`:e==="seek"?`Sought in ${o}`:`Pressed a key on ${o}`}function sx(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function dx(e){return e.metaKey||e.ctrlKey||e.altKey?!1:["Enter"," ","Escape","Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)}function cx(e){return e instanceof Element?e:e.parentElement}function ux(e){let t=e.now??(()=>Date.now()),n=t(),r=[],o=null,i=0,a=!1,l=e.captureFrame?.().catch(()=>null)??Promise.resolve(null),s=[],d=null,c=()=>{if(window.clearTimeout(i),i=0,!o)return;let h=t(),g=o.captureResult?.()??xi(o.targetElement),y=o.kind==="input"||o.kind==="change"||o.kind==="submit"||o.kind==="scroll"||o.kind==="play"||o.kind==="pause"||o.kind==="seek",w={id:o.id,action:{kind:o.kind,label:o.label,...o.key?{key:o.key}:{},...o.target?{target:o.target}:{}},startedAt:o.startedAt,completedAt:h,outcome:y||o.changes.length>0||sx(o.target,g)?"changed":"no-observable-change",changes:o.changes,...g?{result:g}:{}};if(o=null,r.length<rx&&(r.push(w),e.onStep?.(w),e.captureFrame)){let S=l,v=e.captureFrame().catch(()=>null);l=v,s.push(Promise.all([S,v]).then(([k,R])=>({step:w,before:k,after:R})))}},p=()=>{window.clearTimeout(i),i=window.setTimeout(c,nx)},u=(h,g,y)=>{let{element:w,state:S}=g,v=o?.kind==="input"&&h==="input"&&o.targetElement===w,k=o?.kind==="click"&&(h==="input"||h==="change"||h==="play"||h==="pause"||h==="seek")&&o.targetElement===w;if(v||k){p();return}c(),o={id:`episode-step-${n}-${r.length+1}`,kind:h,label:lx(h,w,S),...y?{key:y}:{},targetElement:w,target:S,captureResult:g.captureResult,startedAt:t(),changes:[]},e.onActionCountChange?.(r.length+1),p()},m=new MutationObserver(h=>{if(!(!o||a)){for(let g of h){if(o.changes.length>=wp)break;let y=(w,S)=>{if(!o||o.changes.length>=wp)return;let v=cx(S),k=xi(v);!k||o.changes.some(R=>R.kind===w&&R.element.selector===k.selector&&R.element.tagName===k.tagName&&R.element.text===k.text)||o.changes.push({kind:w,element:k})};g.addedNodes.forEach(w=>y("added",w)),g.removedNodes.forEach(w=>y("removed",w)),(g.type==="attributes"||g.type==="characterData")&&y("updated",g.target)}p()}});return m.observe(document.documentElement,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["aria-expanded","aria-pressed","aria-selected","checked","class","disabled","hidden","open","poster","src","value"]}),{recordEvent(h){if(a)return;if(h.type==="pointerdown"||h.type==="pointerup"){let v=h;if(h.type==="pointerdown"&&v.button===0){let k=e.resolveEventTarget?.(h),R=k?.element??(h.target instanceof Element&&!In(h.target)?h.target:null),P=k?.state??xi(R);if(!P)return;d={x:v.clientX,y:v.clientY,targetElement:R,target:P,captureResult:k?.captureResult};return}if(h.type==="pointerup"){let k=d;d=null,k?.targetElement&&Math.hypot(v.clientX-k.x,v.clientY-k.y)>4&&u("drag",{element:k.targetElement,state:k.target,captureResult:k.captureResult});return}}let g=ax(h);if(!g||h instanceof KeyboardEvent&&!dx(h))return;let y=e.resolveEventTarget?.(h),w=y?.element??(h.target instanceof Element&&!In(h.target)?h.target:null);if(!w)return;let S=y?.state??xi(w);S&&u(g,{element:w,state:S,captureResult:y?.captureResult},h instanceof KeyboardEvent?h.key:void 0)},recordScroll(){if(!a){if(o?.kind==="scroll"){p();return}u("scroll",{element:null,state:{tagName:"document",text:"page"}})}},hasActions(){return o!==null||r.length>0},async finish(){a||c(),a=!0,m.disconnect(),window.clearTimeout(i);let h={version:1,startedAt:n,completedAt:t(),subject:e.subjectState??xi(e.subjectElement),steps:[...r]};if(r.length===0||s.length===0)return{episode:h,frames:[]};let g=await Promise.all(s),y=[],w=new Map,S=[],v=async k=>{if(!k)return;let R=await ox(k),P=w.get(R);if(P)return P;let _=`episode-frame-${n}-${y.length+1}`;return w.set(R,_),S.push({id:_,imageIndex:y.length,fingerprint:R}),y.push(k),_};for(let k of g){let R=await v(k.before),P=await v(k.after);(R||P)&&(k.step.visuals={...R?{beforeFrameId:R}:{},...P?{afterFrameId:P}:{}})}return S.length>0&&(h.frames=S),{episode:h,frames:y}},cancel(){a=!0,o=null,d=null,m.disconnect(),window.clearTimeout(i)}}}function Ep(e){return!!(e&&!e.domEdit&&(e.linkedSelector||e.target))}function Tp(e){return!!(e&&e.type==="text"&&(e.status??"pending")==="pending"&&(e.linkedSelector||e.target))}function px(e,t){return!!(t&&e?.id===t.id)}function fx(e,t,n){let r=[...n?[n]:[],...[...t].reverse()],o=new Set,i=[];for(let a of r){if(o.has(a))continue;o.add(a);let l=e.find(s=>s.id===a);l&&(i.push(l),l.groupId&&i.push(...e.filter(s=>s.id!==l.id&&s.groupId===l.groupId)))}return i}function hx(e){let t=e.activationDraft??e.activeDraft;if(Ep(t))return{kind:"draft",value:t};let n=fx(e.annotations,e.selectedAnnotationIds,e.lastSelectedId).find(Tp);return n?{kind:"annotation",value:n}:Tp(e.annotationAtCursor)?{kind:"annotation",value:e.annotationAtCursor}:null}var Ys={kind:"root"},mx=2;function gx(e){return e==="color"?"slate":La(e)[0]}function yx(e){let t=os(e),n=gx(e),r=e==="color";return{id:`family:${e}`,label:t,searchPath:t,destination:{family:e,subproperty:n,stage:r?"family":"value"},nextScope:r?{kind:"colors",family:e}:{kind:"values",family:e,subproperty:n}}}function Cp(e,t){let n=os(e),r=$m(e,t),o=e==="border"&&t==="all"?`${n} Width`:r===n?n:`${n} ${r}`,i=(e==="text"||e==="border")&&t==="color";return{id:`subproperty:${e}:${t}`,label:o,searchPath:o,destination:{family:e,subproperty:t,stage:i?"family":"value"},nextScope:i?{kind:"colors",family:e}:{kind:"values",family:e,subproperty:t}}}function vx(e,t){let n=t[0].toUpperCase()+t.slice(1);return{id:`color:${e}:${t}`,label:n,searchPath:n,destination:{family:e,subproperty:t,stage:"variant"},nextScope:{kind:"values",family:e,subproperty:t}}}function bx(e,t,n){return{id:`value:${e}:${t}:${n}`,label:String(n),searchPath:String(n),destination:{family:e,subproperty:t,step:n,stage:"value"}}}function xx(e){return e.kind==="root"?ci.flatMap(t=>{let n=yx(t);return t==="color"?[n]:[n,...La(t).filter(r=>!Wc(r)).map(r=>Cp(t,r))]}):e.kind==="family"?La(e.family).filter(t=>!Wc(t)).map(t=>Cp(e.family,t)):e.kind==="colors"?Hc.map(t=>vx(e.family,t)):Ro(e.family,e.subproperty).map(t=>bx(e.family,e.subproperty,t))}function ra(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g," ")}function Ap(e){return ra(e).replace(/\s+/g,"")}function wx(e){return ra(e).split(/\s+/).filter(Boolean).map(t=>t[0]).join("")}function Sx(e,t){let n=ra(e);if(!n)return 0;let r=ra(t.searchPath),o=ra(t.label),i=Ap(e),a=Ap(t.searchPath),l=wx(t.searchPath);if(o===n)return 1e3;if(r===n)return 980;if(o.startsWith(n))return 940;if(r.startsWith(n))return 920;if(r.split(" ").some(c=>c.startsWith(n)))return 880;if(l.startsWith(i))return 850;if(a.startsWith(i))return 820;let s=0;for(let c of i){if(s=a.indexOf(c,s),s===-1)return-1;s+=1}let d=t.id.startsWith("family:")?20:0;return 500-Math.max(0,a.length-i.length)+d}function oa(e,t){if(!t.trim())return null;let n=o=>xx(o).map((i,a)=>({candidate:i,index:a,score:Sx(t,i)})).filter(i=>i.score>=0).sort((i,a)=>a.score-i.score||i.index-a.index)[0]?.candidate??null,r=n(e);if(r||e.kind==="root")return r;if(e.kind==="values"||e.kind==="colors"){let o=n({kind:"family",family:e.family});if(o)return o}return n(Ys)}function Xs(e,t){return t.trim().length<mx?null:oa(e,t)}function kx(e){return e.id.startsWith("family:")?{kind:"icon",label:e.label,family:e.destination.family,subproperty:"all"}:e.id.startsWith("subproperty:")?{kind:"icon",label:e.label,family:e.destination.family,subproperty:e.destination.subproperty??"all"}:{kind:"label",label:e.label}}function Ix(e,t){return e?t?t.label.toLowerCase().startsWith(e.toLowerCase())?{typed:t.label.slice(0,e.length),completion:t.label.slice(e.length),fallback:""}:{typed:e,completion:"",fallback:t.label}:{typed:e,completion:"",fallback:""}:{typed:"",completion:"",fallback:"Steer a property"}}function jo(e,t){ir(e)&&(t.forEach(n=>e.style.removeProperty(n)),e.style.removeProperty("transition"))}function Kn(e,t,n){return{property:e,original:`${t}px`,modified:`${n}px`}}function Ex(e,t,n){jo(e,["font-size","line-height"]);let r=[];if(t.fontSize!==n.fontSize&&(it(e,"font-size",`${n.fontSize}px`),r.push(Kn("font-size",t.fontSize,n.fontSize))),t.lineHeight!==n.lineHeight){let o=t.fontSize>0?Math.round(t.lineHeight/t.fontSize*1e3)/1e3:1.2,i=n.fontSize>0?Math.round(n.lineHeight/n.fontSize*1e3)/1e3:1.2;it(e,"line-height",`${i}`),r.push({property:"line-height",original:`${o}`,modified:`${i}`})}return r}var Ks=["space-between","space-around","stretch","normal"];function Tx(e,t,n,r){if(!t.hasMoved){if(r)return[];jo(e,[]);let i=t.justifyContent||"normal",a=Ks.indexOf(i),l=Ks[(a+1)%Ks.length],s=[];return l==="normal"?(it(e,"justify-content","normal"),s.push({property:"justify-content",original:t.justifyContent,modified:"normal"})):l==="stretch"?(it(e,"justify-content",l),it(e,"row-gap","8px"),it(e,"column-gap","8px"),s.push({property:"justify-content",original:t.justifyContent||"normal",modified:l}),t.row!==8&&s.push(Kn("row-gap",t.row,8)),t.column!==8&&s.push(Kn("column-gap",t.column,8))):(jo(e,["row-gap","column-gap"]),it(e,"justify-content",l),s.push({property:"justify-content",original:t.justifyContent||"normal",modified:l}),t.row>0&&s.push(Kn("row-gap",t.row,0)),t.column>0&&s.push(Kn("column-gap",t.column,0))),s}if(!n)return[];jo(e,["row-gap","column-gap"]);let o=[];return t.isAuto?(jo(e,["justify-content"]),it(e,"justify-content","normal"),it(e,"row-gap",`${n.row}px`),it(e,"column-gap",`${n.column}px`),o.push({property:"justify-content",original:t.justifyContent,modified:"normal"}),o.push(Kn("row-gap",0,n.row)),o.push(Kn("column-gap",0,n.column)),o):(t.row!==n.row&&(it(e,"row-gap",`${n.row}px`),o.push(Kn("row-gap",t.row,n.row))),t.column!==n.column&&(it(e,"column-gap",`${n.column}px`),o.push(Kn("column-gap",t.column,n.column))),o)}var Vs={"top-left":"border-top-left-radius","top-right":"border-top-right-radius","bottom-right":"border-bottom-right-radius","bottom-left":"border-bottom-left-radius"};function Cx(e,t,n){let r=Object.values(Vs);jo(e,r);let o=[];return Object.keys(Vs).forEach(i=>{if(t[i]===n[i])return;let a=Vs[i];it(e,a,`${n[i]}px`),o.push(Kn(a,t[i],n[i]))}),o}function Ax(e,t,n){jo(e,["padding"]);let r=[];return Object.keys(t).forEach(o=>{if(t[o]===n[o])return;let i=`padding-${o}`;it(e,i,`${n[o]}px`),r.push(Kn(i,t[o],n[o]))}),r}function Mp(){return{isDragging:!1,side:null,startX:0,startY:0,original:{top:0,right:0,bottom:0,left:0},element:null,elementInfo:null,selector:null,durableSelector:null}}function Rp(){return{isDragging:!1,hasMoved:!1,axis:null,startX:0,startY:0,originalRow:0,originalColumn:0,element:null,elementInfo:null,selector:null,durableSelector:null,isAuto:!1,originalJustifyContent:"",visualGap:0}}function Lp(){return{isDragging:!1,corner:null,startY:0,original:{"top-left":0,"top-right":0,"bottom-right":0,"bottom-left":0},maxRadius:0,element:null,elementInfo:null,selector:null,durableSelector:null}}function $p(){return{isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null}}function al(e,t){return!e.selector||!e.elementInfo||t.length===0?null:{selector:e.selector,durableSelector:e.durableSelector??void 0,element:e.elementInfo,changes:t}}function Mx(e,t){return!e.element||!t?null:al(e,Ex(e.element,{fontSize:e.originalFontSize,lineHeight:e.originalLineHeight},t))}function Rx(e,t,n){return e.element?al(e,Tx(e.element,{hasMoved:e.hasMoved,isAuto:e.isAuto,row:e.originalRow,column:e.originalColumn,justifyContent:e.originalJustifyContent},t,n)):null}function Lx(e,t){return!e.element||!t?null:al(e,Cx(e.element,e.original,t.radius))}function $x(e,t){return!e.element||!t?null:al(e,Ax(e.element,e.original,t.padding))}var Px="popmelt-steering-context",Pp=1;function jx(e){return ai(Px,e)}function wi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Qs(e){return typeof e=="string"&&ci.includes(e)}function zx(e){return e==="family"||e==="variant"||e==="value"}function jp(e,t){return typeof t=="string"&&zc(e,t)===t}function Dx(e,t,n){return Ro(e,t).includes(n)}function ll(e){if(!wi(e)||!Qs(e.family))return null;let t=e.family;if(!jp(t,e.subproperty))return null;let n=e.subproperty;return!zx(e.stage)||!Dx(t,n,e.step)?null:{family:t,subproperty:n,stage:e.stage,step:e.step}}function zp(e){if(!wi(e)||typeof e.kind!="string")return null;if(e.kind==="root")return{kind:"root"};if(e.kind==="family"&&Qs(e.family))return{kind:"family",family:e.family};if(e.kind==="colors"&&(e.family==="border"||e.family==="color"||e.family==="text"))return{kind:"colors",family:e.family};if(e.kind==="values"&&Qs(e.family)){let t=e.family;return jp(t,e.subproperty)?{kind:"values",family:t,subproperty:e.subproperty}:null}return null}function Ox(e){if(!wi(e)||typeof e.query!="string"||!Array.isArray(e.segments)||!e.segments.every(i=>typeof i=="string"))return null;let t=zp(e.scope),n=ll(e.origin);if(!t||!n||!Array.isArray(e.history))return null;let r=[];for(let i of e.history){if(!wi(i))return null;let a=zp(i.scope),l=ll(i.snapshot);if(!a||!l)return null;r.push({scope:a,snapshot:l})}let o;if(e.segmentOrigin!==void 0){let i=ll(e.segmentOrigin);if(!i)return null;o=i}return{query:e.query,segments:e.segments,scope:t,origin:n,...o?{segmentOrigin:o}:{},history:r}}function Nx(e){let t=ll(e);if(!t||!wi(e))return null;if(e.query===null)return{...t,query:null};let n=Ox(e.query);return n?{...t,query:n}:null}function Hx(e,t){try{let n=e.getItem(t);if(!n)return null;let r=JSON.parse(n);return!wi(r)||r.version!==Pp?null:Nx(r.context)}catch{return null}}function _x(e,t,n){try{e.setItem(t,JSON.stringify({version:Pp,context:n}))}catch{}}function Fx(e,t,n,r){return e===t?{preservedAway:r,shouldReset:!1}:n&&(e==="sticker"&&t==="inspector"||e==="inspector"&&t==="sticker")?{preservedAway:t==="inspector",shouldReset:!1}:{preservedAway:!1,shouldReset:r||e==="sticker"||t==="sticker"}}var Dp=100;function Op(e,t){return e!=="sticker"||!t}var Wx=new Set(["display","border-top-style","border-right-style","border-bottom-style","border-left-style"]);function Bx(e,t){return e?.element===t.element&&e.family===t.family&&e.step===t.step&&e.subproperty===t.subproperty&&e.valueOverride===t.valueOverride}function Np(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom}function Jx(e,t,n,r,o,i,a){return i&&a&&Rv(i,r,o,a)||t===e?!0:t&&t!==e&&e.contains(t)?Np(n,r,o):t&&t.contains(e)&&i&&a&&Lv(i,r,o,a)?!0:Np(n,r,o)||!!(i&&Mv(i,r,o))}function Gs(e,t){t.value?e.style.setProperty(t.property,t.value,t.priority):e.style.removeProperty(t.property)}function Hp(e,t){return{property:t,value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}}function qx(e){let t=new Set(e);for(let n of e){if(n==="padding"||n.startsWith("padding-")){t.add("padding");for(let r of["top","right","bottom","left"])t.add(`padding-${r}`)}if(n==="margin"||n.startsWith("margin-")){t.add("margin");for(let r of["top","right","bottom","left"])t.add(`margin-${r}`)}if(n==="border-radius"||/border-.+-radius/.test(n)){t.add("border-radius");for(let r of["top-left","top-right","bottom-right","bottom-left"])t.add(`border-${r}-radius`)}if(n==="border-width"||/border-.+-width/.test(n)){t.add("border-width");for(let r of["top","right","bottom","left"])t.add(`border-${r}-width`)}if(n==="border-color"||/border-.+-color/.test(n)){t.add("border-color");for(let r of["top","right","bottom","left"])t.add(`border-${r}-color`)}(n==="gap"||n==="row-gap"||n==="column-gap")&&(t.add("gap"),t.add("row-gap"),t.add("column-gap"))}return t}function ia(e){if(e){Om(e.element);for(let t of e.declarations)Gs(e.element,t)}}function Ux(e,t,n){e&&(ia(e),Bc(t),Jc(n))}function Yx(e){if(e)for(let t of e.activeDeclarations)Gs(e.element,t)}function Xx(e,t,n,r,o=null,i){o&&o.element!==e&&(ia(o),o=null);let a=window.getComputedStyle(e),l=vc(t,r),s=i?a.getPropertyValue(l).trim()===i:bc(t,n,r,S=>a.getPropertyValue(S)),d=xc(t),c=wc(t,r,n),p=t==="border"&&!Mo(t,r)&&typeof n=="number"&&n>0?Sc(r):null,u=[l,...d?["display"]:[],...c.map(S=>S.property),...p?[p]:[]],m=[...new Set(u)],h=new Set([...m,"transition"]),g=new Map(o?.declarations.map(S=>[S.property,S])??[]);for(let S of g.values())h.has(S.property)||Gs(e,S);let y=[...h].map(S=>g.get(S)??Hp(e,S)),w=m.filter(S=>!Wx.has(S));Nm(e,qx(m)),w.length>0&&it(e,"transition",w.map(S=>`${S} ${Dp}ms ease-out`).join(", ")),d&&it(e,"display",d);for(let S of c)it(e,S.property,S.value);if(it(e,l,i??di(t,n,r)),p){let S=window.getComputedStyle(e).getPropertyValue(p).trim();(!S||S==="none")&&it(e,p,"solid")}return{preview:{element:e,declarations:y,activeDeclarations:[...h].map(S=>Hp(e,S))},stepUnavailable:s}}var _p="[data-popmelt-subject-label-action]";function Kx(e){let t=Number(e.dataset.popmeltSubjectSurfaceLeft),n=Number(e.dataset.popmeltSubjectSurfaceTop),r=Number(e.dataset.popmeltSubjectSurfaceWidth),o=Number(e.dataset.popmeltSubjectSurfaceHeight);return[t,n,r,o].every(Number.isFinite)?{left:t,top:n,right:t+Math.max(0,r),bottom:n+Math.max(0,o)}:null}function Fp(e,t,n){let r=Kx(e);return r?t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom:!0}function Vx(e,t){let{popmeltSubjectAdapter:n,popmeltSubjectKey:r}=t.dataset;return!n||!r?null:Array.from(e.querySelectorAll("[data-popmelt-subject-adapter][data-popmelt-subject-key]")).find(o=>!o.hasAttribute("data-popmelt-subject-label-action")&&o.dataset.popmeltSubjectAdapter===n&&o.dataset.popmeltSubjectKey===r)??null}function Qx(e,t,n,r){let o=e.getBoundingClientRect(),i=t.getBoundingClientRect();return n>=Math.min(o.left,i.left)&&n<=Math.max(o.right,i.right)&&r>=Math.min(o.top,i.top)&&r<=Math.max(o.bottom,i.bottom)}function Wp(e,t,n){for(let r of e.querySelectorAll(_p)){let o=r.getBoundingClientRect();if(t>=o.left&&t<=o.right&&n>=o.top&&n<=o.bottom){let i=Vx(e,r);if(i&&!Fp(i,t,n))continue;return r}}return null}function Gx(e,t,n,r){if(!(t instanceof HTMLElement))return!1;let{popmeltSubjectAdapter:o,popmeltSubjectKey:i}=t.dataset;if(!o||!i)return!1;let a=Array.from(e.querySelectorAll(`${_p}[data-popmelt-subject-adapter][data-popmelt-subject-key]`)).find(l=>l.dataset.popmeltSubjectAdapter===o&&l.dataset.popmeltSubjectKey===i);return!a||!Fp(t,n,r)?!1:Qx(t,a,n,r)}function Bp(e){return e instanceof HTMLElement&&(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable===!0||e.getAttribute("contenteditable")==="true")}function Zx(){if(typeof document>"u")return null;let e=document.activeElement;for(;e?.shadowRoot?.activeElement;)e=e.shadowRoot.activeElement;return e}function Jp(e){let t=e.composedPath?.()[0]??e.target;return Bp(t)||Bp(Zx())}function qp(e,t,n){if(n)return[n];let r=new Set(t),o=new Map;for(let a of e)a.groupId&&a.threadId&&o.set(a.groupId,a.threadId);let i=new Set;for(let a of e){if(!r.has(a.id))continue;let l=a.threadId||(a.groupId?o.get(a.groupId):void 0);l&&i.add(l)}return[...i]}function ew({state:e,stateRef:t,activeTextRef:n,selectedIdsRef:r,dispatch:o,clearSelection:i,selectAnnotation:a,handHoveredElement:l,onArchiveThread:s,openThreadId:d,currentPathname:c,hasOpenThread:p}){let u=q([]),m=q(0),h=q(null);Y(()=>{let g=y=>{if(y.key==="Escape"){if(y.defaultPrevented||y.repeat||n.current||p||Jp(y))return;if(r.current.length>0){y.preventDefault(),i();return}let S=t.current;if(S.annotations.some(v=>(v.status??"pending")==="pending")||S.styleModifications.some(v=>!v.captured)||S.textModifications.some(v=>!v.captured)||S.domModifications.some(v=>!v.captured)||S.spacingTokenChanges.some(v=>!v.captured)||S.spacingTokenMods.some(v=>!v.captured)){y.preventDefault(),o({type:"DISCARD_DRAFT"});return}}if((y.metaKey||y.ctrlKey)&&y.key.toLowerCase()==="c"&&e.activeTool==="hand"&&l&&!n.current){if(il(l)){y.preventDefault();let S=Xn(l);h.current={source:l,sourceSelector:S,sourceDurableSelector:pn(l),sourceElement:{...Yt(l),selector:S}}}return}if((y.metaKey||y.ctrlKey)&&y.key.toLowerCase()==="v"&&e.activeTool==="hand"&&h.current&&!n.current){let S=h.current,v=l&&il(l)?l:S.source,k=v.parentElement;if(k){y.preventDefault();let R=pn(k),P=Xn(k),_=pn(v),V=Xn(v),W=Bs(v)+1,J=S.source.cloneNode(!0);if(J instanceof Element){vp(J),Js(k,J,W);let B=Xn(J),H=pn(J),te={...Yt(J),selector:B};o({type:"MODIFY_DOM_STRUCTURE",payload:{id:Dc(),operation:"copy",selector:B,durableSelector:H,element:te,sourceSelector:S.sourceSelector,sourceDurableSelector:S.sourceDurableSelector,sourceElement:S.sourceElement,targetParentSelector:P,targetParentDurableSelector:R,targetIndex:W,referenceSelector:V,referenceDurableSelector:_,placement:"after",pathname:c}})}}return}if((y.metaKey||y.ctrlKey)&&y.key==="v"&&u.current.length>0&&!n.current){y.preventDefault(),m.current+=1;let S=m.current*20,v=u.current[0]?.groupId?Math.random().toString(36).substring(2,9):void 0,k=u.current.map(P=>({...P,id:Math.random().toString(36).substring(2,9),groupId:P.groupId?v:void 0,timestamp:Date.now(),points:P.points.map(_=>({x:_.x+S,y:_.y+S}))}));o({type:"PASTE_ANNOTATIONS",payload:{annotations:k}});let R=k.find(P=>P.type!=="text")??k[0];R&&a(R.id);return}let w=r.current;if(!n.current&&!Jp(y)&&(y.key==="Delete"||y.key==="Backspace")&&!y.metaKey&&!y.ctrlKey&&!y.altKey){if(w.length===0&&!d)return;let S=qp(t.current.annotations,w,d);if(!s||S.length===0)return;y.preventDefault();for(let v of S)s(v);i()}};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[n,i,c,o,l,p,s,d,a,r,e.activeTool,t])}function tw(e){return!("button"in e)||e.button===0}function sl(e){let t=Xn(e);return{element:e,elementInfo:{...Yt(e),selector:t},selector:t,durableSelector:pn(e)}}function dl(e){return{x:e.x-window.scrollX,y:e.y-window.scrollY}}function cl(e){it(e,"transition","none")}function nw(e,t,n){let r=sl(e),o=dl(n),i=Ki(e);return cl(e),{session:{...r,isDragging:!0,side:t,startX:o.x,startY:o.y,original:i},dragging:{side:t,padding:{...i}}}}function rw(e,t,n,r){let o=sl(e),i=dl(n),a=Aa(e),l=window.getComputedStyle(e).justifyContent,s=0;if(r){let c=Ra(e).find(p=>p.axis===t);s=c?t==="column"?c.w:c.h:0}let d=r?{row:s,column:s}:a;return cl(e),{session:{...o,isDragging:!0,hasMoved:!1,axis:t,startX:i.x,startY:i.y,originalRow:d.row,originalColumn:d.column,isAuto:r,originalJustifyContent:l,visualGap:s},dragging:{axis:t,...d}}}function ow(e,t,n){let r=sl(e),o=si(e);return cl(e),{session:{...r,isDragging:!0,corner:t,startY:dl(n).y,original:o,maxRadius:Math.floor(e.getBoundingClientRect().height/2)},dragging:{corner:t,radius:{...o}}}}function iw(e,t,n){let r=sl(e),o=dl(n),i=$c(e);return cl(e),{session:{...r,isDragging:!0,property:t,startX:o.x,startY:o.y,originalFontSize:i.fontSize,originalLineHeight:i.lineHeight,originalRatio:i.fontSize>0?i.lineHeight/i.fontSize:1.2},dragging:{property:t,...i}}}function aw({activeText:e,applySticker:t,canvasRef:n,clearSelection:r,commentTextEditCandidateRef:o,commitActiveText:i,createInlineTextEdit:a,dispatch:l,domDragRef:s,editPendingLinkedComment:d,findAnnotationAtPoint:c,findHandleAtPoint:p,findTextAtPoint:u,gapDragRef:m,gapHoveredAxis:h,gapHoveredElement:g,gapIsAuto:y,getPoint:w,handleAnnotationActivation:S,handDragRef:v,handHoveredElement:k,handHoveredSide:R,hoveredElement:P,hoveredElementInfo:_,isElementInFlight:V,onCanvasInteraction:W,openThreadAndFocusReply:J,pageAnnotations:B,modifiedElementThreadStates:H,pageStyleModifications:te,parentPinnedAnnotationIds:Q,pointerTargetOverrideRef:D,radiusDragRef:N,radiusHoveredCorner:I,radiusHoveredElement:O,selectAnnotation:T,setDragState:G,setGapDragging:F,setHandDragging:ue,setPendingLinkedText:L,setRadiusDragging:re,setResizeState:ne,setStickerRejectPulse:z,setTextDragging:Te,state:me,stickerStage:He,textDragRef:Oe,textHoveredElement:We,textHoveredProperty:ve,toolbarRef:fe}){return U(be=>{if(!me.isAnnotating||!tw(be))return;W?.();let pt=D?.current??null;D&&(D.current=null);let Ce=pt?.element??P,Ae=pt?.elementInfo??_,De=w(be),Ge="shiftKey"in be&&be.shiftKey,qe="clientX"in be?{x:be.clientX,y:be.clientY}:"touches"in be&&be.touches[0]?{x:be.touches[0].clientX,y:be.touches[0].clientY}:null;if(me.activeTool==="sticker"){if("button"in be&&be.button!==0||He!=="value")return;if(!qe){z(nt=>nt+1);return}let we=pt?.element??Lo(qe.x,qe.y);if(!(we instanceof HTMLElement)&&!(we instanceof SVGElement)){z(nt=>nt+1);return}be.preventDefault(),be.stopPropagation(),t(we);return}if(me.activeTool==="inspector"&&qe&&(!("button"in be)||be.button===0)){let we=a(qe.x,qe.y,De);o.current=we?{edit:we,clientX:qe.x,clientY:qe.y,expiresAt:Date.now()+1e3}:null}else o.current=null;let _e=u(De);if(_e?.points[0]){e&&i(),Ge||r();let we=_e.threadId||(_e.groupId?me.annotations.find(nt=>nt.groupId===_e.groupId&&nt.threadId)?.threadId:void 0);if(Q.has(_e.id)){o.current=null,S(_e.id,we);return}we&&(_e.status??"pending")!=="pending"&&J(we),G({annotation:_e,startPoint:De,hasMoved:!1});return}if(me.activeTool==="inspector"){if("button"in be&&be.button===2)return;if(Ce&&!V(Ce)){let we=B.filter(Je=>Je.type==="text"&&Je.linkedSelector).filter(Je=>Pa(Je.linkedSelector,Je.elements?.[0])===Ce).sort((Je,ot)=>ot.timestamp-Je.timestamp)[0];if(we?.points[0]){if((we.status??"pending")==="pending")d(we.id);else{let Je=we.threadId||(we.groupId?me.annotations.find(ot=>ot.groupId===we.groupId&&ot.threadId)?.threadId:void 0);Je&&J(Je)}return}let nt=Qi(Ce),jt=new Set;for(let[Je,ot]of H??[]){let st=qc(ot.selectors??[Je],ot.targetFingerprint);st.status==="matched"&&st.element===Ce&&jt.add(ot.threadId)}if(jt.size===1){J([...jt][0]);return}let At=Ae??Yt(Ce),lt=nt?cs(nt):pn(Ce),Le=Ce.getBoundingClientRect(),Xt=lt;if(!nt){let Je=Ce.getAttribute("data-pm");Je||(Je=Math.random().toString(36).substring(2,8),Ce.setAttribute("data-pm",Je)),Xt=`[data-pm="${Je}"]`}let Be=te.some(Je=>{if(Je.captured)return!1;try{return Ce.matches(Je.selector)}catch{return!1}}),Mt=me.annotations.filter(Je=>{if(!Je.linkedSelector)return!1;try{return Ce.matches(Je.linkedSelector)}catch{return!1}}).length,K=(Be?1:0)+Mt,he=Le.top>=22*(1+K)+li?"top-left":"bottom-left",ye=n.current?.getContext("2d")??document.createElement("canvas").getContext("2d"),M;ye&&(ye.font=`12px ${gn}`,M=ye.measureText("Type here...").width);let Ze=Ic(Le,he,K,fe?.current,M,0);L({point:Ze,subjectAnchor:nt?{x:.5,y:.5}:void 0,linkedSelector:Xt,target:nt,linkedAnchor:he,elements:[{...At,selector:lt}]})}return}if(me.activeTool==="hand"&&k&&il(k)&&!g&&!O&&!We&&!R){let we=k,nt=Xn(we),jt=pn(we),At=Yt(we),lt="altKey"in be&&be.altKey;s.current={isDragging:!0,hasMoved:!1,mode:lt?"copy":"move",startX:De.x-window.scrollX,startY:De.y-window.scrollY,element:we,originalParent:we.parentElement,originalIndex:Bs(we),selector:nt,durableSelector:jt,elementInfo:{...At,selector:nt}},be.preventDefault();return}if(me.activeTool==="hand"&&g&&h){let we=rw(g,h,De,y);m.current=we.session,F(we.dragging);return}if(me.activeTool==="hand"&&We&&ve){let we=iw(We,ve,De);Oe.current=we.session,Te(we.dragging);return}if(me.activeTool==="hand"&&O&&I){let we=ow(O,I,De);N.current=we.session,re(we.dragging);return}if(me.activeTool==="hand"&&k&&R){let we=nw(k,R,De);v.current=we.session,ue(we.dragging);return}let dt=p(De);if(dt){let we=me.annotations.find(nt=>nt.id===dt.annotationId);if(we&&we.type!=="text"&&(we.status??"pending")==="pending"){ne({annotationId:dt.annotationId,handle:dt.handle,startPoint:De,originalPoints:[...we.points],hasMoved:!1});return}}let tt=c(De);if(tt?.points[0]){e&&i(),tt.type!=="text"?(T(tt.id,Ge),tt.color&&(tt.status??"pending")==="pending"&&l({type:"SET_COLOR",payload:tt.color})):Ge||r();let we=tt.threadId||(tt.groupId?me.annotations.find(nt=>nt.groupId===tt.groupId&&nt.threadId)?.threadId:void 0);we&&(tt.status??"pending")!=="pending"&&J(we),G({annotation:tt,startPoint:De,hasMoved:!1});return}Ge||r()},[e,t,n,r,o,i,a,l,s,d,c,p,u,m,h,g,y,w,S,v,k,R,P,_,V,W,J,B,H,te,Q,D,N,I,O,T,G,F,ue,L,re,ne,z,Te,me.activeTool,me.annotations,me.isAnnotating,He,Oe,We,ve,fe])}function Si(e,t,n,r){let o=n.x-t.x,i=n.y-t.y,a=o*o+i*i;if(a===0)return Math.hypot(e.x-t.x,e.y-t.y)<=r;let l=Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*i)/a)),s=t.x+l*o,d=t.y+l*i;return Math.hypot(e.x-s,e.y-d)<=r}function lw({point:e,annotations:t,isHidden:n=()=>!1,textContainsPoint:r=()=>!1}){for(let o=t.length-1;o>=0;o-=1){let i=t[o];if(!i||n(i))continue;if(i.type==="text"){if(r(i,e))return i;continue}if(i.points.length<2)continue;let a=i.points[0],l=i.points[i.points.length-1],s=(i.strokeWidth||3)+4;if(i.type==="line"){if(Si(e,a,l,s))return i;continue}if(i.type==="freehand"){for(let m=0;m<i.points.length-1;m+=1)if(Si(e,i.points[m],i.points[m+1],s))return i;continue}let d=Math.min(a.x,l.x),c=Math.max(a.x,l.x),p=Math.min(a.y,l.y),u=Math.max(a.y,l.y);if(i.type==="rectangle"){if(Si(e,{x:d,y:p},{x:c,y:p},s)||Si(e,{x:d,y:u},{x:c,y:u},s)||Si(e,{x:d,y:p},{x:d,y:u},s)||Si(e,{x:c,y:p},{x:c,y:u},s))return i;continue}if(i.type==="circle"){let m=(c-d)/2,h=(u-p)/2;if(m===0||h===0)continue;let g=Math.hypot((e.x-(d+c)/2)/m,(e.y-(p+u)/2)/h);if(Math.abs(g-1)*Math.max(m,h)<=s)return i}}return null}function sw(e,t,n,r){if(t.length===0)return null;let o=r/2+4;for(let i of t){let a=n.find(h=>h.id===i);if(!a||a.points.length<2)continue;let l=a.points[0],s=a.points[a.points.length-1];if(a.type==="line"){if(Math.hypot(e.x-l.x,e.y-l.y)<=o)return{handle:"start",annotationId:i};if(Math.hypot(e.x-s.x,e.y-s.y)<=o)return{handle:"end",annotationId:i};continue}let d,c,p,u;a.type==="freehand"?(d=Math.min(...a.points.map(h=>h.x)),c=Math.max(...a.points.map(h=>h.x)),p=Math.min(...a.points.map(h=>h.y)),u=Math.max(...a.points.map(h=>h.y))):(d=Math.min(l.x,s.x),c=Math.max(l.x,s.x),p=Math.min(l.y,s.y),u=Math.max(l.y,s.y));let m=a.type==="circle"?[{handle:"top",x:(d+c)/2,y:p},{handle:"bottom",x:(d+c)/2,y:u},{handle:"left",x:d,y:(p+u)/2},{handle:"right",x:c,y:(p+u)/2}]:a.type==="rectangle"||a.type==="freehand"?[{handle:"topLeft",x:d,y:p},{handle:"topRight",x:c,y:p},{handle:"bottomLeft",x:d,y:u},{handle:"bottomRight",x:c,y:u}]:[];for(let h of m)if(Math.hypot(e.x-h.x,e.y-h.y)<=o)return{handle:h.handle,annotationId:i}}return null}function dw(e,t,n){if(!e)return{x:0,y:0};let r=t.touches?.[0],o=r?.clientX??t.clientX,i=r?.clientY??t.clientY;if(o===void 0||i===void 0)return{x:0,y:0};let a=e.getBoundingClientRect();return{x:o-a.left+n.x,y:i-a.top+n.y}}function cw({annotation:e,point:t,context:n,groupNumber:r,scroll:o,textSafeBounds:i,parentPinned:a}){let l=e.points[0];if(!l||!e.text||!n)return!1;let s=4,d=e.fontSize||12;n.font=`${d}px ${gn}`;let c=e.text.replace(/\n/g," "),p=r!==void 0?`${r}. ${c}`:c,u=l.x-o.x,m=a?is:0,h=Math.max(60,Vl(u)-m),g=Oc(n,p,h),y=n.measureText(g).width,w=d*Un,S=Nc({x:l.x-o.x,y:l.y-o.y},d,i,m+y+16),v={x:S.x+o.x,y:S.y+o.y};return t.x>=v.x-8-s&&t.x<=v.x+m+y+8+s&&t.y>=v.y-4-s&&t.y<=v.y+w+4+s}function uw({annotationGroupMap:e,annotations:t,canvasRef:n,handleSize:r,hiddenCollidingAnnotationIds:o,pageAnnotations:i,parentPinnedAnnotationIds:a,scroll:l,selectedAnnotationIds:s,supersededAnnotations:d,textSafeBounds:c}){let p=U(g=>dw(n.current,g,{x:window.scrollX,y:window.scrollY}),[n]),u=U(g=>lw({point:g,annotations:i,isHidden:y=>d.has(y)||o.has(y.id),textContainsPoint:(y,w)=>cw({annotation:y,point:w,context:n.current?.getContext("2d")??null,groupNumber:e.get(y.id),scroll:l,textSafeBounds:c,parentPinned:a.has(y.id)})}),[e,n,o,i,a,l,d,c]),m=U(g=>{let y=u(g);return y?.type==="text"?y:null},[u]),h=U(g=>sw(g,s,t,r),[t,r,s]);return{findAnnotationAtPoint:u,findHandleAtPoint:h,findTextAtPoint:m,getPoint:p}}function pw({annotations:e,dragState:t,resizeState:n,dispatch:r,setDragState:o,setResizeState:i}){return U(({point:a,centerOrigin:l,lockAspect:s})=>{if(n){let d=e.find(p=>p.id===n.annotationId);if(!d)return!0;let c=Mb({annotation:d,session:n,point:a,centerOrigin:l,lockAspect:s});return r({type:"RESIZE_ANNOTATION",payload:{id:n.annotationId,points:c,saveUndo:!n.hasMoved}}),n.hasMoved||i({...n,hasMoved:!0}),!0}if(t&&(t.annotation.status??"pending")==="pending"){let d=Cb(t,a);return d&&(o(d.session),r({type:"MOVE_ANNOTATION",payload:{id:t.annotation.id,delta:d.move.delta,...d.move.saveUndo?{saveUndo:!0}:{}}})),!0}return!1},[e,r,t,n,o,i])}function fw({element:e,stickyElement:t,point:n,hitRadius:r=16}){let o=[];e&&o.push(e),t&&t!==e&&o.push(t);let i=null,a=r,l=null;for(let s of o){let d=s.getBoundingClientRect(),c=si(s),p=[["top-left",d.left,d.top+c["top-left"]],["top-right",d.right,d.top+c["top-right"]],["bottom-right",d.right,d.bottom-c["bottom-right"]],["bottom-left",d.left,d.bottom-c["bottom-left"]]];for(let[u,m,h]of p){let g=Math.hypot(n.x-m,n.y-h);g<a&&(a=g,i=u,l=s)}}return i&&l?{element:l,corner:i}:null}function hw({element:e,point:t,maxCandidates:n=3}){let r=[];e&&Fc(e)&&r.push(e);let o=e?.parentElement??null;for(;o&&o!==document.body&&r.length<n;)Fc(o)&&r.push(o),o=o.parentElement;for(let i of r){let a=Ra(i).find(l=>t.x>=l.x&&t.x<=l.x+l.w&&t.y>=l.y&&t.y<=l.y+l.h);if(a)return{element:i,axis:a.axis,isAuto:rs(i,a.axis)}}return null}function mw({element:e,stickyElement:t,point:n,hitRadius:r=12}){let o=[];e&&o.push(e),t&&t!==e&&o.push(t);let i=null,a=1/0,l=null;for(let s of o){if(!Rm(s))continue;let d=as(s);if(!d)continue;let c=n.x>=d.left&&n.x<=d.right&&n.y>=d.top&&n.y<=d.bottom,p=[["font-size",d.right,d.top+d.height/2],["line-height",d.left+d.width/2,d.bottom]];for(let[u,m,h]of p){let g=Math.hypot(n.x-m,n.y-h);(c||g<r)&&g<a&&(a=g,i=u,l=s)}}return i&&l?{element:l,property:i}:null}function gw(e,t,n){let r=t.top+Math.max(n.top,4),o=t.bottom-Math.max(n.bottom,4),i=t.left+Math.max(n.left,4),a=t.right-Math.max(n.right,4);if(e.x<t.left||e.x>t.right||e.y<t.top||e.y>t.bottom)return null;let l=e.y<r,s=e.y>o,d=e.x<i,c=e.x>a;return l&&d?n.top>=n.left?"top":"left":l&&c?n.top>=n.right?"top":"right":s&&d?n.bottom>=n.left?"bottom":"left":s&&c?n.bottom>=n.right?"bottom":"right":l?"top":s?"bottom":d?"left":c?"right":null}var Zs=[0,1,2,4,8,12,16,20,24,28,32],yw=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];function ul(e){for(let t=0;t<Zs.length-1;t++){let n=Zs[t],r=Zs[t+1];if(e<=(n+r)/2)return n;if(e<r)return r}return Math.round(e/8)*8}function vw(e){return yw.reduce((t,n)=>Math.abs(e-n)<Math.abs(e-t)?n:t)}function bw(e,t,n){let r=e.axis;if(!r)return null;let o=!e.hasMoved;if(o){let l=Math.abs(t.x-e.startX),s=Math.abs(t.y-e.startY);if(l<=2&&s<=2)return null}let i=e.originalRow,a=e.originalColumn;if(r==="column"){let l=t.x-e.startX;a+=l,n.isolate||(i+=l)}else{let l=t.y-e.startY;i+=l,n.isolate||(a+=l)}return i=Math.max(0,i),a=Math.max(0,a),n.snap&&(i=ul(i),a=ul(a)),{axis:r,gap:{row:Math.round(i),column:Math.round(a)},started:o,convertedAuto:o&&e.isAuto}}function xw(e,t,n){let r=e.corner;if(!r)return null;let o=e.original[r]+t.y-e.startY;o=Math.max(0,Math.min(e.maxRadius,o)),n.snap&&(o=ul(o)),o=Math.round(o);let i=n.isolate?{...e.original,[r]:o}:{"top-left":o,"top-right":o,"bottom-right":o,"bottom-left":o};return{corner:r,radius:i}}function ww(e,t,n){let r=e.property;if(!r)return null;let o=e.originalFontSize,i=e.originalLineHeight;if(r==="font-size")o=Math.max(1,e.originalFontSize+t.x-e.startX),n&&(o=vw(o));else if(i=Math.max(o,e.originalLineHeight+t.y-e.startY),n){let a=o>0?i/o:1.2;i=o*Math.max(1,Math.round(a*2)/2)}return{property:r,text:{fontSize:Math.round(o),lineHeight:Math.round(i*10)/10}}}function Sw(e,t,n){let r=e.side;if(!r)return null;let o={...e.original};if(r==="top"){let i=e.startY-t.y;o.top+=i,n.isolate||(o.bottom+=i)}else if(r==="bottom"){let i=t.y-e.startY;o.bottom+=i,n.isolate||(o.top+=i)}else if(r==="left"){let i=e.startX-t.x;o.left+=i,n.isolate||(o.right+=i)}else{let i=t.x-e.startX;o.right+=i,n.isolate||(o.left+=i)}return Object.keys(o).forEach(i=>{let a=Math.max(0,o[i]);n.snap&&(a=ul(a)),o[i]=Math.round(a)}),{side:r,padding:o}}function kw({canvasRef:e,domDragRef:t,gapDragRef:n,gapHoveredAxis:r,gapHoveredElement:o,handCursorRef:i,handDragRef:a,handHoveredElement:l,handHoveredSide:s,modifiersRef:d,radiusDragRef:c,radiusHoveredCorner:p,radiusHoveredElement:u,setDomDropPreview:m,setGapDragging:h,setGapHoveredAxis:g,setGapHoveredElement:y,setGapIsAuto:w,setHandCursorPos:S,setHandDragging:v,setHandHoveredElement:k,setHandHoveredSide:R,setRadiusDragging:P,setRadiusHoveredCorner:_,setRadiusHoveredElement:V,setTextDragging:W,setTextHoveredElement:J,setTextHoveredProperty:B,textDragRef:H,textHoveredElement:te,textHoveredProperty:Q}){return U(({x:D,y:N})=>{i.current={x:D,y:N},S({x:D,y:N});let I=d.current.cmd,O=d.current.shift;if(t.current.isDragging){let L=t.current,re=L.element;if(!re)return;if(!L.hasMoved){let z=Math.abs(D-L.startX),Te=Math.abs(N-L.startY);if(z<=3&&Te<=3)return;L.hasMoved=!0}let ne=bp(D,N,re,e.current);if(!ne){m(null);return}m({rect:ne.reference.getBoundingClientRect(),placement:ne.placement,mode:L.mode});return}if(n.current.isDragging){let L=n.current,re=L.element;if(!re)return;let ne=bw(L,{x:D,y:N},{isolate:I,snap:O});if(!ne)return;ne.started&&(L.hasMoved=!0),ne.convertedAuto&&(it(re,"justify-content","normal"),it(re,"row-gap",`${L.visualGap}px`),it(re,"column-gap",`${L.visualGap}px`),w(!1)),it(re,"row-gap",`${ne.gap.row}px`),it(re,"column-gap",`${ne.gap.column}px`),h({axis:ne.axis,...ne.gap});return}if(c.current.isDragging){let L=c.current,re=L.element;if(!re)return;let ne=xw(L,{y:N},{isolate:I,snap:O});if(!ne)return;it(re,"border-top-left-radius",`${ne.radius["top-left"]}px`),it(re,"border-top-right-radius",`${ne.radius["top-right"]}px`),it(re,"border-bottom-right-radius",`${ne.radius["bottom-right"]}px`),it(re,"border-bottom-left-radius",`${ne.radius["bottom-left"]}px`),P(ne);return}if(H.current.isDragging){let L=H.current,re=L.element;if(!re)return;let ne=ww(L,{x:D,y:N},O);if(!ne)return;it(re,"font-size",`${ne.text.fontSize}px`);let z=ne.text.fontSize>0?Math.round(ne.text.lineHeight/ne.text.fontSize*1e3)/1e3:1.2;it(re,"line-height",`${z}`),W({property:ne.property,...ne.text});return}if(a.current.isDragging){let L=a.current,re=L.element;if(!re)return;let ne=Sw(L,{x:D,y:N},{isolate:I,snap:O});if(!ne)return;it(re,"padding",`${ne.padding.top}px ${ne.padding.right}px ${ne.padding.bottom}px ${ne.padding.left}px`),v(ne);return}let T=Lo(D,N);for(;T&&T.tagName==="A";)T=T.parentElement;let G=fw({element:T,stickyElement:u,point:{x:D,y:N}});if(G){V(G.element),_(G.corner),l&&k(null),s&&R(null),o&&y(null),r&&g(null),w(!1),te&&J(null),Q&&B(null);return}u&&V(null),p&&_(null);let F=hw({element:T,point:{x:D,y:N}});if(F){y(F.element),g(F.axis),w(F.isAuto),l&&k(null),s&&R(null),te&&J(null),Q&&B(null);return}o&&y(null),r&&g(null),w(!1);let ue=mw({element:T,stickyElement:te,point:{x:D,y:N}});if(ue?(J(ue.element),B(ue.property)):(te&&J(null),Q&&B(null)),T!==l&&k(T),T){let L=Ki(T);R(gw({x:D,y:N},T.getBoundingClientRect(),L))}else R(null)},[e,t,n,r,o,i,a,l,s,d,c,p,u,m,h,g,y,w,S,v,k,R,P,_,V,W,J,B,H,te,Q])}function Iw({activeTool:e,isAnnotating:t,lastCanvasCursorRef:n,getPoint:r,isManipulating:o,findTextAtPoint:i,clearPageElementHover:a,handleShakePointerMove:l,handleTargetPointerMove:s,handleHandPointerMove:d,handleAnnotationPointerMove:c}){return U(p=>{let u=r(p),m={x:u.x-window.scrollX,y:u.y-window.scrollY},h="metaKey"in p&&(!("pointerType"in p)||p.pointerType==="mouse");n.current=m;let g=o();if(!l({isManipulating:g,isTouchEvent:"touches"in p||"pointerType"in p&&p.pointerType!=="mouse",viewportPoint:m})){if(!g&&i(u)){a();return}if(!s({viewportPoint:m,passThrough:h&&(p.metaKey||p.ctrlKey),stopPropagation:()=>p.stopPropagation()})){if(e==="hand"&&t){d(m);return}c({point:u,centerOrigin:h&&(p.metaKey||p.ctrlKey),lockAspect:h&&p.shiftKey})}}},[e,a,i,r,c,d,l,s,t,o,n])}function Ew({rawElement:e,point:t,dragHandoff:n,previewTarget:r,handleHitSize:o}){let i=!!(n?.element.isConnected&&(e===n.element||zv(n.releasePoint,t))),a=!!(n&&!i),l=!!(!a&&r?.element.isConnected&&Jx(r.element,e,r.bounds,t.x,t.y,r.renderedQuad,o));return{candidate:i?n.element:l?r.element:e,clearDragHandoff:a,clearPreviewTarget:!!(r&&!l)}}function Tw(e,t,n){return t?e!=="sticker"&&n(t)?null:t:null}function Up({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}){return t&&!n&&(e==="inspector"||e==="sticker")}function Cw(e,t){return e?.subjectLabel!==t.subjectLabel||e?.textContent!==t.textContent||e?.context!==t.context}function Aw(e,t){return!!(e&&t&&(e.adapter!==t.adapter||e.key!==t.key))}function Mw(e,t,n,r=16){if(!(e instanceof HTMLImageElement||e instanceof HTMLVideoElement)||t)return!1;let o=e.getBoundingClientRect();return n.x<o.left||n.x>o.right||n.y<o.top||n.y>o.bottom?!1:Math.min(n.x-o.left,o.right-n.x,n.y-o.top,o.bottom-n.y)<=r}function Rw({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n,hoveredElement:r,hoveredElementInfo:o,subjectRegistry:i,stickerFamily:a,stickerStage:l,stickerSubproperty:s,steerDragRef:d,transformDragHandoffRef:c,transformPreviewSuppressionRef:p,transformPreviewTargetRef:u,clearStickerPreview:m,isElementInFlight:h,setHoveredElement:g,setHoveredElementInfo:y,setStickerCursor:w,setStickerStep:S}){return U(({viewportPoint:v,passThrough:k,stopPropagation:R})=>{if(!Up({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}))return!!n;if(e==="sticker"&&(R(),w(v)),d.current)return!0;if(Bm(v.x,v.y))return e==="sticker"&&m(),r&&g(null),o&&y(null),w(null),!0;let P=k?Jm(v.x,v.y):Lo(v.x,v.y),_=e==="inspector"?i?.hitTest(v):null,V=Mw(P,!!_,v),W=Aw(Qi(r),_?.target);if(!V&&!W&&e==="inspector"&&Gx(document,r,v.x,v.y))return!0;let J=_?.element??P,B=e==="sticker"&&l==="value"&&a==="transform"?u.current:null,H=k?{candidate:J,clearDragHandoff:!!c.current,clearPreviewTarget:!!B}:Ew({rawElement:J,point:v,dragHandoff:c.current,previewTarget:B,handleHitSize:20});H.clearDragHandoff&&(c.current=null),H.clearPreviewTarget&&(u.current=null);let te=H.candidate,Q=Tw(e,te,h);if(Q===r)return _?.element===Q&&Cw(o,_.elementInfo)&&y(_.elementInfo),!0;if(e==="sticker"&&m(),e==="sticker"&&ir(Q)&&a==="transform"&&(s==="translate"||s==="scale"||s==="rotate")){let D=Ov(Q,s);p.current={element:Q,subproperty:s,step:D},S(D)}else a==="transform"&&(p.current=null);return g(Q),y(_?.element===Q?_.elementInfo:Q?Yt(Q):null),!0},[e,m,r,o,t,h,g,y,w,S,d,a,l,s,i,n,c,p,u])}function Lw({onSuspend:e,onRestore:t,suspendedRef:n}){let r,o=()=>{n.current||(n.current=!0,e()),clearTimeout(r),r=setTimeout(()=>{n.current=!1,t()},96)};return window.addEventListener("scroll",o,{capture:!0,passive:!0}),()=>{window.removeEventListener("scroll",o,!0),clearTimeout(r),n.current=!1}}function $w(e){let t=kw(e),n=pw(e),r=Rw(e),o=q(r),i=q(e.clearPageElementHover),a=q(!1),l=Up({activeTool:e.activeTool,isAnnotating:e.isAnnotating,suspendTargetDiscovery:e.suspendTargetDiscovery});Dt(()=>{o.current=r,i.current=e.clearPageElementHover},[r,e.clearPageElementHover]),Y(()=>{if(l)return Lw({onSuspend:()=>i.current(),onRestore:()=>{let c=e.lastCanvasCursorRef.current;c&&o.current({viewportPoint:c,passThrough:!1,stopPropagation:()=>{}})},suspendedRef:a})},[e.lastCanvasCursorRef,l]);let s=U(c=>a.current?!0:o.current(c),[]);Y(()=>{let c=p=>{p.repeat||p.key!=="Meta"&&p.key!=="Control"||!e.lastCanvasCursorRef.current||s({viewportPoint:e.lastCanvasCursorRef.current,passThrough:!0,stopPropagation:()=>{}})};return window.addEventListener("keydown",c,!0),()=>window.removeEventListener("keydown",c,!0)},[s,e.lastCanvasCursorRef]),Y(()=>{let c=p=>{let u=e.canvasRef.current;if(u&&p.composedPath().includes(u))return;let m={x:p.clientX,y:p.clientY};e.lastCanvasCursorRef.current=m,s({viewportPoint:m,passThrough:p.metaKey||p.ctrlKey,stopPropagation:()=>{}})};return window.addEventListener("mousemove",c,!0),()=>window.removeEventListener("mousemove",c,!0)},[s,e.canvasRef,e.lastCanvasCursorRef]),Y(()=>{if(e.subjectRegistry)return e.subjectRegistry.subscribeFrame(()=>{let c=e.lastCanvasCursorRef.current;c&&s({viewportPoint:c,passThrough:!1,stopPropagation:()=>{}})})},[s,e.lastCanvasCursorRef,e.subjectRegistry]);let d=U(()=>!!e.dragState||!!e.resizeState||e.domDragRef.current.isDragging||e.handDragRef.current.isDragging||e.gapDragRef.current.isDragging||e.radiusDragRef.current.isDragging||e.textDragRef.current.isDragging,[e.domDragRef,e.dragState,e.gapDragRef,e.handDragRef,e.radiusDragRef,e.resizeState,e.textDragRef]);return Iw({...e,isManipulating:d,handleAnnotationPointerMove:n,handleHandPointerMove:t,handleTargetPointerMove:s})}function Pw({annotationGroupMap:e,canvasRef:t,currentPathname:n,cursorPosRef:r,dispatch:o,domDragRef:i,dragState:a,gapDragRef:l,gapDragging:s,getPoint:d,handDragRef:c,handDragging:p,lastPositionedTextId:u,radiusDragRef:m,radiusDragging:h,resizeState:g,setActiveText:y,setDomDropPreview:w,setDragState:S,setGapDragging:v,setHandDragging:k,setRadiusDragging:R,setResizeState:P,setSendHintAnchorId:_,setTextDragging:V,textDragRef:W,textDragging:J}){return U(B=>{if(i.current.isDragging){let N=i.current,I=d(B),O=Qb({drag:N,clientX:I.x-window.scrollX,clientY:I.y-window.scrollY,pathname:n,createId:Dc,rootElement:t.current});O&&o({type:"MODIFY_DOM_STRUCTURE",payload:O}),i.current=yp(),w(null);return}if(W.current.isDragging){let N=Mx(W.current,J);N&&o({type:"MODIFY_STYLES_BATCH",payload:N}),W.current=$p(),V(null);return}if(l.current.isDragging){let N="button"in B&&B.button===2,I=Rx(l.current,s,N);I&&o({type:"MODIFY_STYLES_BATCH",payload:I}),l.current=Rp(),v(null);return}if(m.current.isDragging){let N=Lx(m.current,h);N&&o({type:"MODIFY_STYLES_BATCH",payload:N}),m.current=Lp(),R(null);return}if(c.current.isDragging){let N=$x(c.current,p);N&&o({type:"MODIFY_STYLES_BATCH",payload:N}),c.current=Mp(),k(null);return}if(g){P(null);return}if(!a)return;let H=e.get(a.annotation.id),te=t.current?.getContext("2d"),Q=0;H!==void 0&&te&&(te.font=`${a.annotation.fontSize||12}px ${gn}`,Q=te.measureText(`${H}. `).width);let D=Ab({session:a,clickPoint:d(B),groupLabelWidth:Q});D&&(u.current=null,r.current=null,_(a.annotation.id),D.color&&o({type:"SET_COLOR",payload:D.color}),y(D.activeText)),S(null)},[e,t,n,r,o,i,a,l,s,d,c,p,u,m,h,g,y,w,S,v,k,R,P,_,V,W,J])}var jw=class{constructor(){this.anchor=null,this.axis=null,this.direction=0,this.reversals=0,this.sequenceStartedAt=0,this.lastTriggerAt=Number.NEGATIVE_INFINITY}push(e){if(e.time-this.lastTriggerAt<700)return this.anchor=e,!1;if(!this.anchor||this.sequenceStartedAt&&e.time-this.sequenceStartedAt>520)return this.reset(e),!1;let t=e.x-this.anchor.x,n=e.y-this.anchor.y,r=Math.hypot(t,n);if(!this.axis)return r<16||(this.axis={x:t/r,y:n/r},this.direction=1,this.sequenceStartedAt=e.time,this.anchor=e),!1;let o=t*this.axis.x+n*this.axis.y,i=t*-this.axis.y+n*this.axis.x;if(Math.abs(o)<16)return!1;if(Math.abs(i)>Math.abs(o)*.7)return this.reset(e),!1;let a=Math.sign(o);return a===this.direction?(this.anchor=e,!1):(this.direction=a,this.reversals+=1,this.anchor=e,this.reversals<3?!1:(this.lastTriggerAt=e.time,this.reset(e,!0),!0))}reset(e=null,t=!1){this.anchor=e,this.axis=null,this.direction=0,this.reversals=0,this.sequenceStartedAt=0,t||(this.lastTriggerAt=Number.NEGATIVE_INFINITY)}};function zw({activeTool:e,isAnnotating:t,clearStickerPreview:n,dispatch:r,setStickerCursor:o,startCursorSwitchPulse:i}){let a=q(new jw),l=q(null);return{handleShakePointerMove:U(({isManipulating:s,isTouchEvent:d,viewportPoint:c})=>{if(d||s||!t||e!=="inspector"&&e!=="sticker"||!a.current.push({...c,time:performance.now()}))return!1;let p=e==="sticker"?"inspector":"sticker";return l.current={from:e,to:p},i(p),p==="sticker"?o(c):n(),r({type:"SET_TOOL",payload:p}),!0},[e,n,r,t,o,i]),pendingShakeToolTransitionRef:l}}function Yp(e){return Math.random().toString(36).substring(2,e+2)}function Dw(e,t,n,r={}){let{textNode:o,targetElement:i,textNodePath:a,segments:l,originalText:s,rect:d,boundaryRect:c,boundaryRects:p,flowRect:u,firstLineIndent:m,styles:h,fontSize:g,wrapsText:y}=e,w=i.getAttribute("data-pm");w||(w=r.createPmId?.()??Yp(6),i.setAttribute("data-pm",w));let S=`[data-pm="${w}"]`;return{id:r.createEditId?.()??Yp(7),point:{x:d.left+n.x,y:d.top+n.y},text:s,fontSize:g,isNew:!0,clickPoint:t,domEdit:{selector:S,durableSelector:pn(i),element:{...Yt(i),selector:S},textNodePath:a,originalText:s,textNode:o,targetElement:i,segments:l,rect:d,boundaryRect:c,boundaryRects:p,flowRect:u,firstLineIndent:m,fontFamily:h.fontFamily,fontWeight:h.fontWeight,fontStyle:h.fontStyle,lineHeight:h.lineHeight==="normal"?`${Math.round(g*1.2*10)/10}px`:h.lineHeight,letterSpacing:h.letterSpacing,color:h.color,textTransform:h.textTransform,textAlign:h.textAlign,wordSpacing:h.wordSpacing,textDecoration:h.textDecoration,textShadow:h.textShadow,whiteSpace:h.whiteSpace,wordBreak:h.wordBreak,overflowWrap:h.overflowWrap,wrapsText:y}}}function Ow(e){let t=jb(e.clientX,e.clientY,e.canvas);return t?Dw(t,e.clickPoint,e.scroll):null}function Nw({activeText:e,activeTextRef:t,canvasRef:n,clearPageElementHover:r,clearSelection:o,clearSignal:i,commentTextEditCandidateRef:a,cursorPosRef:l,dispatch:s,findTextAtPoint:d,lastPositionedTextId:c,onAttachImages:p,onCloseThread:u,onSend:m,pendingLinkedText:h,releaseActiveTextAttachments:g,setActiveText:y,setDragState:w,setHoveredTextId:S,setPendingLinkedText:v,setSendHintAnchorId:k,state:R,stateRef:P}){Y(()=>{h&&(y({id:Math.random().toString(36).substring(2,9),point:h.point,subjectAnchor:h.subjectAnchor,text:"",fontSize:12,isNew:!0,linkedSelector:h.linkedSelector,target:h.target,linkedAnchor:h.linkedAnchor,elements:h.elements}),v(null))},[h,y,v]),Y(()=>{let Q=D=>{if(e)return;let N=d({x:D.clientX+window.scrollX,y:D.clientY+window.scrollY});S(N?.id??null)};return window.addEventListener("mousemove",Q),()=>window.removeEventListener("mousemove",Q)},[e,d,S]);let _=U(()=>{if(!e)return;if(e.domEdit){y(null);return}let Q=Bb(e);Q.sendHintAnchorId&&k(Q.sendHintAnchorId),Q.action&&s(Q.action),Q.attachedImages&&p&&p(Q.attachedImages.annotationId,Q.attachedImages.images),y(null)},[e,s,p,y,k]),V=U(Q=>{let D=P.current.annotations.find(I=>I.id===Q);if(!D||D.type!=="text"||!D.points[0]||(D.status??"pending")!=="pending")return;let N=t.current;N&&N.id!==D.id&&_(),o(),r(),c.current=null,l.current=D.text?.length??0,k(D.id),D.color&&s({type:"SET_COLOR",payload:D.color}),y({id:D.id,point:D.points[0],text:D.text||"",fontSize:D.fontSize||12,isNew:!1,groupId:D.groupId,linkedSelector:D.linkedSelector,target:D.target,linkedAnchor:D.linkedAnchor,elements:D.elements,attachments:D.attachments,interactionEpisode:D.interactionEpisode})},[t,r,o,_,l,s,c,y,k,P]),W=q(!1),J=U(()=>{if(!m)return;let Q=t.current;if(Hy(Q?{text:Q.text,originalText:Q.domEdit?.originalText,hasInteractionEpisode:!!Q.interactionEpisode?.steps.length}:null)){W.current=!0,_();return}m()},[t,_,m]);Y(()=>{e||!W.current||(W.current=!1,m?.())},[e,m,R.annotations,R.textModifications]);let B=q(i);Y(()=>{if(i===B.current)return;B.current=i;let Q=t.current;Q?.domEdit&&Q.domEdit.segments.forEach(N=>{N.textNode.nodeValue=N.originalText});let D=Q?.isNew?Q.attachments??[]:[];g(D),W.current=!1,y(null),v(null),k(null),w(null),l.current=null,c.current=null,Es(localStorage)},[t,i,l,c,g,y,w,v,k]);let H=U((Q,D,N)=>Ow({clientX:Q,clientY:D,clickPoint:N,canvas:n.current,scroll:{x:window.scrollX,y:window.scrollY}}),[n]),te=U(Q=>{u?.(),v(null),w(null),k(null),o(),r(),c.current=null,y(Q)},[r,o,c,u,y,w,v,k]);return Y(()=>{let Q=I=>{if(I.button!==0)return;let O=P.current,T=a.current;if(!O.isAnnotating||O.activeTool!=="inspector"||!T)return;let G=Date.now()>T.expiresAt,F=Math.hypot(I.clientX-T.clientX,I.clientY-T.clientY)>12,ue=T.edit.domEdit;if(G||F||!ue?.textNode.isConnected||!ue.targetElement.isConnected){a.current=null;return}I.preventDefault(),I.stopPropagation(),a.current=null,te(T.edit)},D=I=>{I.detail===2&&Q(I)},N=I=>{Q(I)};return window.addEventListener("mousedown",D,!0),window.addEventListener("dblclick",N,!0),()=>{window.removeEventListener("mousedown",D,!0),window.removeEventListener("dblclick",N,!0)}},[a,te,P]),{commitActiveText:_,createInlineTextEdit:H,editPendingLinkedComment:V,handleSendPendingBundle:J}}function Hw(e,t){let n=e?.domEdit?.textNode;Y(()=>{if(!n)return;let r=null,o=()=>{t(i=>{if(!i?.domEdit)return i;let{textNode:a,targetElement:l,segments:s,rect:d,boundaryRect:c,boundaryRects:p,flowRect:u,firstLineIndent:m}=i.domEdit;if(!a.isConnected||!l.isConnected)return i;let h=hp(s,l,window.getComputedStyle(l)),{textRect:g,boundaryRect:y,boundaryRects:w,flowRect:S,firstLineIndent:v}=h;return ol(d,g)&&ol(c,y)&&Fb(p,w)&&_b(u,S)&&Math.abs(m-v)<.5?i:{...i,point:{x:g.left+window.scrollX,y:g.top+window.scrollY},domEdit:{...i.domEdit,rect:g,boundaryRect:y,boundaryRects:w,flowRect:S,firstLineIndent:v}}}),r=window.requestAnimationFrame(o)};return r=window.requestAnimationFrame(o),()=>{r!==null&&window.cancelAnimationFrame(r)}},[n,t])}function _w({activeText:e,activeTextRef:t,canvasRef:n,visible:r}){let o=q(null),[i,a]=$(null),l=q(null),s=q(null),d=e?.id??null;return Dt(()=>{let c=o.current,p=e?.domEdit;if(!c||!e||!p){a(null);return}let u=p.flowRect??p.rect,m=Math.max(1,window.innerWidth-u.left),h=Math.min(m,Math.max(1,u.width));c.style.width=`${p.wrapsText?h:1}px`,c.style.height="1px";let g=p.wrapsText?h:Math.min(m,Math.max(h,Math.ceil(c.scrollWidth)));c.style.width=`${g}px`;let y=Math.max(u.height,Math.ceil(c.scrollHeight));c.style.height=`${y}px`,a(w=>w?.id===e.id&&Math.abs(w.width-g)<.5&&Math.abs(w.height-y)<.5?w:{id:e.id,width:g,height:y})},[e]),Y(()=>{if(!d){l.current=null,s.current=null;return}if(!r||!o.current){l.current=null;return}let c=requestAnimationFrame(()=>{let p=o.current;if(!p||(p.focus(),l.current===d))return;l.current=d;let u=t.current;if(u){if(u.domEdit){p.setSelectionRange(0,p.value.length);return}if(s.current!==null){let m=Math.min(s.current,p.value.length);p.setSelectionRange(m,m);return}if(!u.isNew&&u.clickPoint){let m=n.current?.getContext("2d");if(!m)return;m.font=`${u.fontSize}px ${gn}`;let h=Yb({text:u.text,fontSize:u.fontSize,point:u.point,clickPoint:u.clickPoint,context:m});p.setSelectionRange(h,h)}}});return()=>cancelAnimationFrame(c)},[d,t,n,r]),{cursorPosRef:s,domEditInputSize:i,inputRef:o,lastPositionedTextId:l}}var ed=["flex-start","center","flex-end"],td=["flex-start","center","flex-end"],Fw=300,Xp=20;function Ww({enabled:e,dispatch:t,handCursorRef:n,setGapRefreshKey:r}){let[o,i]=$(null),a=U(()=>i(null),[]);return Y(()=>{let l=null,s=!1,d=null,c=null,p=null,u=null,m=0,h=(W,J)=>{let B=Lo(W,J);for(;B&&B!==document.documentElement;){let H=window.getComputedStyle(B).display;if(H==="flex"||H==="inline-flex")return B;B=B.parentElement}return null},g=W=>{let J=window.getComputedStyle(W).flexDirection;return J==="column"||J==="column-reverse"?"vertical":"horizontal"},y=W=>{let J=W.getAttribute("data-pm");return J||(J=Math.random().toString(36).substring(2,8),W.setAttribute("data-pm",J)),{selector:`[data-pm="${J}"]`,durableSelector:pn(W)}},w=()=>{s=!0,l&&clearTimeout(l),l=setTimeout(()=>{s=!1,l=null},Fw)},S=(W,J,B)=>{let H=g(W);if(J===H){let te=window.getComputedStyle(W).justifyContent,Q=te==="normal"||te==="flex-start"||te==="start"?"flex-start":te==="flex-end"||te==="end"?"flex-end":te==="center"?"center":null;if(!Q)return;let D=ed.indexOf(Q)+B;if(D<0||D>=ed.length)return;let N=ed[D],{selector:I,durableSelector:O}=y(W);it(W,"justify-content",N),t({type:"MODIFY_STYLES_BATCH",payload:{selector:I,durableSelector:O,element:Yt(W),changes:[{property:"justify-content",original:te,modified:N}]}})}else{let te=window.getComputedStyle(W).flexDirection,Q=H==="horizontal"?"column":"row",{selector:D,durableSelector:N}=y(W);it(W,"flex-direction",Q),t({type:"MODIFY_STYLES_BATCH",payload:{selector:D,durableSelector:N,element:Yt(W),changes:[{property:"flex-direction",original:te,modified:Q}]}})}r(te=>te+1)},v=(W,J,B)=>{let H=g(W)==="horizontal"?"vertical":"horizontal";if(J!==H)return;let te=window.getComputedStyle(W).alignItems,Q=te==="normal"||te==="stretch"||te==="flex-start"||te==="start"?"flex-start":te==="flex-end"||te==="end"?"flex-end":te==="center"?"center":null;if(!Q)return;let D=td.indexOf(Q)+B;if(D<0||D>=td.length)return;let N=td[D],{selector:I,durableSelector:O}=y(W);it(W,"align-items",N),t({type:"MODIFY_STYLES_BATCH",payload:{selector:I,durableSelector:O,element:Yt(W),changes:[{property:"align-items",original:te,modified:N}]}}),r(T=>T+1)},k=(W,J,B)=>{let H=h(J,B);i(H?{modifier:W,target:H}:null)},R=()=>{p=null,u=null,m=0,d=null,c=null,i(null)},P=W=>{if(!e)return;let J=n.current;W.key==="Shift"&&!W.altKey?k("shift",J.x,J.y):W.key==="Alt"&&!W.shiftKey&&k("alt",J.x,J.y)},_=W=>{if(!e)return;let J=W.shiftKey&&!W.altKey,B=W.altKey&&!W.shiftKey;if(!J&&!B||W.buttons!==0){R();return}if(d===null&&(d=W.clientX,c=W.clientY,k(J?"shift":"alt",W.clientX,W.clientY)),s)return;p===null&&(p=W.clientX,u=W.clientY,m=0);let H=W.clientX-p,te=W.clientY-u,Q=Math.abs(H)>=Math.abs(te)?H:te;if(Math.abs(Q)>3){let O=Q>0?1:-1;if(m!==0&&O!==m){p=W.clientX,u=W.clientY,m=0;return}m=O}if(Math.abs(H)<Xp&&Math.abs(te)<Xp)return;let D=h(d,c);if(!D)return;let N=Math.abs(H)>=Math.abs(te)?"horizontal":"vertical",I=(N==="horizontal"?H:te)>0?1:-1;p=null,u=null,m=0,J?S(D,N,I):v(D,N,I),w()},V=W=>{(W.key==="Shift"||W.key==="Alt")&&R()};return window.addEventListener("keydown",P),window.addEventListener("mousemove",_),window.addEventListener("mousedown",R),window.addEventListener("keyup",V),()=>{window.removeEventListener("keydown",P),window.removeEventListener("mousemove",_),window.removeEventListener("mousedown",R),window.removeEventListener("keyup",V),l&&clearTimeout(l)}},[t,e,n,r]),{swipeHint:o,clearSwipeHint:a}}function Bw(e,t,n){let{destination:r,mode:o,scope:i}=t;if(o==="preview"&&i.kind!=="values"){let u=r.family,m=r.subproperty??ls(u,e.subproperty);return{next:{family:u,subproperty:m,step:Vi(u,e.step,m),stage:i.kind==="colors"?"variant":"family"},pulseContextLabel:!1}}let a=r.family,l=r.step!==void 0,s=ds(a),d=!l&&Mo(a,r.subproperty??"all")?n.readColor(s):null,c=r.subproperty??ls(a,e.subproperty);a==="color"&&r.stage==="family"&&(c=d?.name??or.name),(a==="border"||a==="text")&&r.subproperty==="color"&&(c=d?.name??or.name);let p=l?null:d?d.name===c?d.step:ss:n.readStep(a,c);return{next:{family:a,subproperty:c,step:r.step??p??Vi(a,e.step,c),stage:r.stage},pulseContextLabel:r.stage!=="family"}}function nd(e){if(e.kind==="colors")return"variant";if(e.kind==="values")return"value"}function Jw(e){return e.stage==="variant"&&Mo(e.family,e.subproperty)&&(e.family==="border"||e.family==="color"||e.family==="text")?{kind:"colors",family:e.family}:e.stage==="value"?{kind:"values",family:e.family,subproperty:e.subproperty}:Ys}function qw(e,t,n,r=!1){if(!e)return n!==" "?{handled:!1,session:e}:r?{handled:!0,session:e}:{handled:!0,session:{query:"",segments:[],scope:Jw(t),origin:t,history:[]}};if(n==="Escape")return{handled:!0,session:null};if(n==="Backspace"){if(e.query){let a=e.query.slice(0,-1),l=Xs(e.scope,a);return{handled:!0,session:{...e,query:a},restore:l?void 0:e.segmentOrigin,destination:l?{mode:"preview",scope:e.scope,value:l.destination}:void 0}}let i=e.history.at(-1);return i?{handled:!0,restore:i.snapshot,session:{...e,query:"",segmentOrigin:void 0,segments:e.segments.slice(0,-1),scope:i.scope,history:e.history.slice(0,-1)}}:{handled:!0,session:null,restore:e.origin}}if(n===" "){if(!e.query.trim())return{handled:!0,session:e};let i=oa(e.scope,e.query);return i?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:nd(i.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:i.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:e,command:"reject"}}if(n==="Enter"){if(e.scope.kind==="values"){let a=e.query.trim()?oa(e.scope,e.query):null;return e.query.trim()&&!a?{handled:!0,session:e,command:"reject"}:a?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:a.destination},stage:nd(a.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:a.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:e,destination:a?{mode:"navigate",scope:e.scope,value:a.destination}:void 0,command:"apply"}}let i=oa(e.scope,e.query);return i?i.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:nd(i.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:i.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:null,destination:{mode:"navigate",scope:e.scope,value:i.destination}}:{handled:!0,session:e,command:"reject"}}let o=n.toLowerCase();if(!r&&(o==="w"||o==="a"||o==="s"||o==="d")&&e.query.at(-1)===o)return{handled:!1,session:null,replayAsSteering:!0,restore:e.segmentOrigin??e.origin};if(n.length===1){let i=`${e.query}${n.toLowerCase()}`,a=Xs(e.scope,i);return{handled:!0,session:{...e,query:i,segmentOrigin:e.query?e.segmentOrigin:t},destination:a?{mode:"preview",scope:e.scope,value:a.destination}:void 0}}return{handled:!1,session:e}}function Uw(e,t,n){let r=t.toLowerCase(),o=()=>({handled:!0,next:e});if(r==="a"||r==="d"||t==="ArrowLeft"||t==="ArrowRight"){let i=r==="a"||t==="ArrowLeft"?-1:1;if(e.stage==="family"){let a=Em(e.family,i),l=a==="color"?or.name:ls(a,e.subproperty);return{handled:!0,next:{family:a,subproperty:l,step:a==="color"?or.step:Vi(a,e.step,l),stage:e.stage}}}return e.stage==="variant"&&Mo(e.family,e.subproperty)?{handled:!0,next:{...e,subproperty:Tm(e.subproperty,i),step:ss}}:{handled:!0,next:{...e,step:Cm(e.family,e.step,i,e.subproperty)}}}if(r==="q"||r==="e"){if(e.family==="color")return o();let i=r==="q"?-1:1,a=Am(e.family,e.subproperty,i);if((e.family==="text"||e.family==="border")&&a==="color"){if(e.stage==="family")return{handled:!0,next:{...e,subproperty:"color",step:ss}};let l=n.readColor(ds(e.family));return{handled:!0,next:{...e,subproperty:l?.name??or.name,step:l?.step??or.step,stage:_c(e.stage,e.family,a)}}}return{handled:!0,next:{...e,subproperty:a,step:n.readStep(e.family,a)??Vi(e.family,e.step,a),stage:_c(e.stage,e.family,a)}}}if(r==="w"||t==="Enter"){if(e.stage==="family"){if(e.family==="color"){let i=n.readColor("background-color");return{handled:!0,next:{...e,subproperty:i?.name??or.name,step:i?.step??or.step,stage:"variant"}}}if((e.family==="text"||e.family==="border")&&e.subproperty==="color"){let i=n.readColor(ds(e.family));return{handled:!0,next:{...e,subproperty:i?.name??or.name,step:i?.step??or.step,stage:"variant"}}}return{handled:!0,next:{...e,step:n.readStep(e.family,e.subproperty)??e.step,stage:"value"}}}return e.stage==="variant"?{handled:!0,next:{...e,step:Vi(e.family,e.step,e.subproperty),stage:"value"}}:{handled:!0,next:e,command:"apply"}}return r==="s"?e.stage==="value"?{handled:!0,next:{...e,stage:Mo(e.family,e.subproperty)?"variant":"family"}}:e.stage==="variant"?{handled:!0,next:{...e,subproperty:e.family==="text"?"color":e.subproperty,stage:"family"}}:o():t==="Escape"&&e.stage!=="family"?{handled:!0,stopPropagation:!0,next:{...e,subproperty:e.stage==="variant"&&e.family==="text"?"color":e.subproperty,stage:e.stage==="value"&&Mo(e.family,e.subproperty)?"variant":"family"}}:{handled:!1,next:e}}function Yw({active:e,family:t,step:n,subproperty:r,stage:o,query:i,setFamily:a,setStep:l,setSubproperty:s,setStage:d,setQuery:c,setCursor:p,setContextLabelPulse:u,setDepthSnapPulse:m,setRejectPulse:h,lastCursorRef:g,toolbarRef:y,previewRef:w,applyStickerRef:S,readColor:v,readStep:k}){Y(()=>{if(!e)return;g.current&&p(g.current);let R=P=>{let _=P.composedPath?.()[0]??P.target;if(_?.tagName==="INPUT"||_?.tagName==="TEXTAREA"||_?.isContentEditable||_&&y?.current?.contains(_)||P.metaKey||P.ctrlKey||P.altKey)return;let V={family:t,step:n,subproperty:r,stage:o},W=te=>{a(te.family),l(te.step),s(te.subproperty),d(te.stage)},J=te=>{let Q=Bw(V,te,{readColor:v,readStep:k});return W(Q.next),Q.pulseContextLabel&&u(D=>D+1),Q.next},B=qw(i,V,P.key,P.repeat);if(B.replayAsSteering&&(c(null),m(te=>te+1)),B.handled){P.preventDefault(),P.stopPropagation(),B.restore&&W(B.restore);let te=B.destination?J({mode:B.destination.mode,scope:B.destination.scope,destination:B.destination.value}):void 0;if(B.stage&&d(B.stage),B.command==="reject"&&h(Q=>Q+1),B.command==="apply"){let Q=w.current?.element,D=te?{family:te.family,step:te.step,subproperty:te.subproperty}:void 0;Q&&S.current(Q,D)?c(null):(c(B.session),Q||h(N=>N+1));return}c(B.session);return}let H=Uw(B.replayAsSteering&&B.restore?B.restore:V,P.key,{readColor:v,readStep:k});if(H.handled&&(P.preventDefault(),H.stopPropagation&&P.stopPropagation(),a(H.next.family),l(H.next.step),s(H.next.subproperty),d(H.next.stage),H.command==="apply")){let te=w.current?.element;te?S.current(te):h(Q=>Q+1)}};return window.addEventListener("keydown",R,!0),()=>window.removeEventListener("keydown",R,!0)},[e,S,t,g,w,i,v,k,u,p,m,a,c,h,d,l,s,o,n,r,y])}function Xw(e,t,n,r){let{deltaX:o,deltaY:i}=t;if(e.transformKind==="translate"&&e.startTranslate){let p=jv({x:o,y:i},r),u=Lr("translate",e.startTranslate.x+p.x),m=Lr("translate",e.startTranslate.y+p.y),h=Math.abs(p.x)>=Math.abs(p.y)?u:m;return{subproperty:"translate",step:h,drag:{...e,subproperty:"translate",step:h,translateSteps:{x:u,y:m},translateValue:`${Number(u)*4}px ${Number(m)*4}px`,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}let a=e.vector?Nv(o,i,e.vector):e.axis==="x"?o:i,l=e.startPixels+a*(e.direction??1),s=e.transformKind==="rotate"?l:Math.max(0,l),d=e.side?Ps(e.side,n):e.corner?js(e.corner,n):e.subproperty,c=e.transformKind?Lr(e.transformKind,s):nl(e.family,d,s);return{subproperty:d,step:c,drag:{...e,subproperty:d,step:c,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}function Kw(){let[e,t]=$(null),n=q(e);n.current=e;let r=q(null),o=U(d=>{let c=d.requestPointerLock;if(typeof c=="function"){r.current=d;try{let p=c.call(d);p&&p.catch(()=>{r.current===d&&(r.current=null)})}catch{r.current=null}}},[]),i=U((d,c)=>{n.current=d,t(d),o(c)},[o]),a=U(d=>{n.current=d,t(d)},[]),l=U(()=>{n.current=null,t(null)},[]),s=U(()=>{let d=r.current;r.current=null,d&&document.pointerLockElement===d&&document.exitPointerLock()},[]);return{drag:e,dragRef:n,pointerLockElementRef:r,startDrag:i,replaceDrag:a,clearDrag:l,releasePointerLock:s}}function Vw(e,t){let n=q(t);n.current=t;let{dragRef:r,pointerLockElementRef:o,replaceDrag:i,clearDrag:a,releasePointerLock:l}=e;Y(()=>{let s=(g,y)=>{let w=r.current;if(!w)return;let S=o.current,v=S!==null&&document.pointerLockElement===S?Hv(w,{x:g.movementX,y:g.movementY},{width:window.innerWidth,height:window.innerHeight}):{cursor:{x:g.clientX,y:g.clientY},deltaX:g.clientX-w.startX,deltaY:g.clientY-w.startY},k=Xw(w,v,y,g.shiftKey);n.current.onSelectionChange(k.subproperty,k.step),i(k.drag),n.current.onCursorChange(v.cursor)},d=()=>{n.current.onCancel(),a(),l()},c=(g,y)=>{let w=r.current;if(!w)return;let S=w.side?Ps(w.side,g):w.corner?js(w.corner,g):w.subproperty;w.hasMoved&&n.current.onCommit(w,S,y),a(),l()},p=g=>{r.current&&(g.preventDefault(),s(g,g.altKey||g.ctrlKey))},u=g=>{r.current&&(g.preventDefault(),c(g.altKey||g.ctrlKey,{x:g.clientX,y:g.clientY}))},m=g=>{g.key!=="Escape"||!r.current||(g.preventDefault(),g.stopPropagation(),d())},h=()=>{let g=o.current;g&&document.pointerLockElement!==g&&r.current&&d()};return window.addEventListener("pointermove",p,{passive:!1}),window.addEventListener("pointerup",u),window.addEventListener("pointercancel",d),window.addEventListener("keydown",m,!0),document.addEventListener("pointerlockchange",h),()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",u),window.removeEventListener("pointercancel",d),window.removeEventListener("keydown",m,!0),document.removeEventListener("pointerlockchange",h),l()}},[a,r,o,l,i])}function Qw({applyStickerRef:e,clearStickerPreview:t,dispatch:n,hoveredElement:r,lastCanvasCursorRef:o,setHoveredElement:i,setHoveredElementInfo:a,setStickerApplyPulse:l,setStickerCursor:s,setStickerRejectPulse:d,setStickerStep:c,setStickerSubproperty:p,stickerFamily:u,stickerStep:m,stickerSubproperty:h,transformDragHandoffRef:g,transformPreviewSuppressionRef:y,transformPreviewTargetRef:w}){let S=Kw(),{drag:v,dragRef:k,startDrag:R}=S,P=U((D,N)=>{if(In(D))return d(L=>L+1),!1;t();let I=N?.family??u,O=N?.step??m,T=N?.subproperty??h;if(!Ua(D,I,T))return d(L=>L+1),!1;let G=I==="transform"&&T==="translate"&&N?.axisSteps?xu(D,N.axisSteps.x,N.axisSteps.y):bu(D,I,O,T);if(G.alreadyApplied)return d(L=>L+1),!1;let F=Xn(D),ue=pn(D);return ay(D,G),n({type:"MODIFY_STYLES_BATCH",payload:{selector:F,durableSelector:ue,element:{...Yt(D),selector:ue},changes:G.changes}}),l(L=>L+1),!0},[t,n,l,d,u,m,h]);e.current=P;let _=U((D,N,I)=>{if(!(r instanceof HTMLElement))return;I.preventDefault(),I.stopPropagation(),I.currentTarget.setPointerCapture(I.pointerId),t();let O=D==="margin"?yc(r):Ki(r),T=N==="left"||N==="right"?"x":"y",G=Ps(N,I.altKey||I.ctrlKey),F=D==="margin",ue=N==="top"||N==="left"?F?-1:1:F?1:-1,L=nl(D,G,O[N]);p(G),c(L),R({element:r,family:D,subproperty:G,startX:I.clientX,startY:I.clientY,startPixels:O[N],deltaX:0,deltaY:0,direction:ue,axis:T,step:L,hasMoved:!1,side:N,cursor:{x:I.clientX,y:I.clientY}},I.currentTarget)},[t,r,c,p,R]),V=U((D,N)=>{if(!(r instanceof HTMLElement)||u!=="stack"&&u!=="grid")return;N.preventDefault(),N.stopPropagation(),N.currentTarget.setPointerCapture(N.pointerId),t();let I=Aa(r),O=D==="row"?I.row:I.column,T=nl(u,"gap",O);p("gap"),c(T),R({element:r,family:u,subproperty:"gap",startX:N.clientX,startY:N.clientY,startPixels:O,deltaX:0,deltaY:0,direction:1,axis:D==="row"?"y":"x",step:T,hasMoved:!1,gapAxis:D,cursor:{x:N.clientX,y:N.clientY}},N.currentTarget)},[t,r,c,p,R,u]),W=U((D,N)=>{if(!(r instanceof HTMLElement))return;N.preventDefault(),N.stopPropagation(),N.currentTarget.setPointerCapture(N.pointerId),t();let I=js(D,N.altKey||N.ctrlKey),O=si(r)[D],T=nl("radius",I,O);p(I),c(T),R({element:r,family:"radius",subproperty:I,startX:N.clientX,startY:N.clientY,startPixels:O,deltaX:0,deltaY:0,vector:zs(D),step:T,hasMoved:!1,corner:D,cursor:{x:N.clientX,y:N.clientY}},N.currentTarget)},[t,r,c,p,R]),J=U((D,N,I,O)=>{if(!ir(r))return;I.preventDefault(),I.stopPropagation(),I.currentTarget.setPointerCapture(I.pointerId);let T=window.getComputedStyle(r).getPropertyValue(D).trim(),G=D==="translate"?Ku(T):void 0,F=D==="scale"?(Number.parseFloat(T)||1)*100:D==="translate"?G.x:Number.parseFloat(T)||0,ue=Lr(D,F),L=ea(r),re=mi(r,L),ne=D==="scale"&&N?$v(re,N):D==="rotate"?Pv(re,O??Yu(re,20).side):void 0,z=G?{x:Lr("translate",G.x),y:Lr("translate",G.y)}:void 0;y.current=null,g.current=null,t(),p(D),c(ue),R({element:r,family:"transform",subproperty:D,startX:I.clientX,startY:I.clientY,startPixels:F,deltaX:0,deltaY:0,direction:1,vector:ne,step:ue,hasMoved:!1,transformKind:D,transformCorner:N??void 0,startTranslate:G,translateSteps:z,translateValue:G?`${G.x}px ${G.y}px`:void 0,ghostQuad:re,cursor:{x:I.clientX,y:I.clientY}},I.currentTarget)},[t,r,c,p,R,g,y]),B=U((D,N)=>{p(D),c(N)},[c,p]),H=U(D=>{o.current=D,s(D)},[o,s]),te=U((D,N,I)=>{e.current(D.element,{family:D.family,step:D.step,subproperty:N,axisSteps:D.translateSteps}),D.family==="transform"&&(y.current={element:D.element,subproperty:D.subproperty,step:D.step},g.current={element:D.element,releasePoint:I},w.current=null,i(D.element),a(Yt(D.element)))},[e,i,a,g,y,w]),Q=U(()=>{t(),y.current=null,g.current=null},[t,g,y]);return Vw(S,{onSelectionChange:B,onCursorChange:H,onCommit:te,onCancel:Q}),{applySticker:P,beginSteerGapDrag:V,beginSteerRadiusDrag:W,beginSteerSpacingDrag:_,beginSteerTransformDrag:J,steerDrag:v,steerDragRef:k}}function Gw(e,t){Y(()=>{let n=r=>{if(r.pointerType==="touch")return;let o={x:r.clientX,y:r.clientY};e.current=o,t?.(o)};return window.addEventListener("pointermove",n,{capture:!0,passive:!0}),()=>window.removeEventListener("pointermove",n,{capture:!0})},[e,t])}function Zw(e){return e instanceof Element&&e.closest("[data-popmelt-steer-overlay]")!==null}function Kp(e){return e instanceof Element&&e.closest("[data-popmelt-subject-label-action]")!==null}var Vp=8,rd=-.5,oo="__active_text_send_hint__",e0=4;function t0({historyPreview:e,bridgeUrl:t,steeringContextStorageKey:n,state:r,dispatch:o,onScreenshot:i,inFlightAnnotationIds:a,inFlightOrientationLabels:l,waitingApprovalJobIds:s,activeAnnotationIds:d,queuePositionMap:c,inFlightStyleSelectors:p,inFlightStyleSelectorJobIds:u,inFlightSelectorColors:m,modifiedElementThreadStates:h,dismissedThreadIds:g,onAttachImages:y,onRemoveImages:w,onCaptureInteractionFrame:S,onSend:v,onViewThread:k,onCloseThread:R,onArchiveThread:P,highlightedAnnotationIds:_,cycleFocusedAnnotationIds:V,onCanvasInteraction:W,focusedThreadAnnotationId:J,openThreadId:B,hasOpenThread:H=!1,externalCanvasRef:te,toolbarRef:Q,threadPanelElement:D,clearSignal:N=0,subjectRegistry:I,subjectRegistryReady:O=!0,onFocusTargetChange:T,onFocusActivity:G}){let{canvasRef:F,redrawAll:ue,resizeCanvas:L}=Qy(),[re,ne]=$(null),[z,Te]=$(0),[me,He]=$(0),Oe=U(()=>He(b=>b+1),[]),We=Ul(),ve=U(b=>{F.current=b,te&&(te.current=b),ne(C=>C===b?C:b)},[te,F]);Dt(()=>{if(!I||!O)return;let b=!1;for(let C of r.annotations)C.target&&(b=!0,!I.resolve(C.target)&&C.elements?.[0]&&I.restore(C.target,C.elements[0]));b&&Te(C=>C+1)},[r.annotations,I,O]);let fe=q(null),be=q(0),[pt,Ce]=$(null),Ae=U(()=>{let b=fe.current;fe.current=null,Ce(null),b&&(b.session.cancel(),b.captureTarget.hasPointerCapture(b.pointerId)&&b.captureTarget.releasePointerCapture(b.pointerId))},[]),De=q(!1),[Ge,qe]=$(!1),_e=q(null),dt=q(null),[tt,we]=$(!1),nt=q(Promise.resolve()),[jt,At]=$(0),[lt,Le]=$(null),Xt=U(()=>{if(!S)return Promise.resolve(null);let b=nt.current.then(async()=>(await new Promise(C=>window.requestAnimationFrame(()=>C())),S()));return nt.current=b.catch(()=>null),b},[S]),Be=q(r.activeTool),Mt=q(null),K=q(null),he=U(()=>{_e.current?.cancel(),_e.current=null,dt.current=null,De.current=!1,Mt.current=null,K.current=null,qe(!1),we(!1),At(0),Le(null)},[]),ye=U(()=>{Ae(),De.current=!0,Be.current=r.activeTool,qe(!0)},[Ae,r.activeTool]);Y(()=>{De.current&&r.activeTool!==Be.current&&he()},[he,r.activeTool]),Y(()=>{(!r.isAnnotating||r.activeTool!=="inspector")&&Ae()},[Ae,r.activeTool,r.isAnnotating]),Y(()=>()=>{let b=fe.current;fe.current=null,b?.session.cancel()},[]);let{activeText:M,setActiveText:Ze,handleTextPaste:Je,removeActiveTextAttachment:ot,releaseActiveTextAttachments:st}=Fy({bridgeUrl:t,annotations:r.annotations}),[St,Pe]=$(null),[je,rt]=$(null),[Ye,Ue]=$(null),[ct,_t]=$(0),Jt=q(null),fn=q(null),En=q(null),[Xe,Nn]=$(null),[tn,yn]=$(null),cr=q(void 0);cr.current===void 0&&(cr.current=n&&typeof window<"u"?Hx(window.localStorage,n):null);let Zt=cr.current,[gt,ft]=$(()=>Zt?.family??"padding"),[yt,vn]=$(()=>Zt?.step??4),[vt,Tn]=$(()=>Zt?.subproperty??"all"),[nn,Hn]=$(()=>Zt?.stage??"family"),[$r,Rt]=$(null);Gw(fn,tt?Le:r.isAnnotating&&r.activeTool==="sticker"?Rt:void 0);let[Ft,_n]=$(null),No=U(b=>{_n({id:performance.now(),nativeReady:!1,tool:b})},[]),[Pr,co]=$(0),[ur,Wt]=$(0),[Ei,Ke]=$(0),[Ho,jr]=$(0),[Vn,Fn]=$(!1),[zr,Qn]=$(0),[Ot,Dr]=$(()=>Zt?.query??null);Y(()=>{!n||typeof window>"u"||_x(window.localStorage,n,{family:gt,step:yt,subproperty:vt,stage:nn,query:Ot})},[n,gt,Ot,nn,yt,vt]);let pr=q(r.activeTool),Lt=q(!1),rn=q(()=>!1),kt=q(null),bn=q(null),fr=q(r.styleModifications),Qt=q(null),xn=q(null),Gn=q(null),Cn=q(null),wn=U(()=>{Cn.current!==null&&(cancelAnimationFrame(Cn.current),Cn.current=null)},[]),hr=U(()=>{wn();let b=performance.now()+Dp,C=()=>{Yx(kt.current);let ie=Qt.current;ie&&kt.current?.element===ie.element&&(ie.renderedQuad=mi(ie.element,ie.layoutQuad)),Qn(se=>se+1),performance.now()<b?Cn.current=requestAnimationFrame(C):Cn.current=null};Cn.current=requestAnimationFrame(C)},[wn]),ht=U(()=>{wn();let b=kt.current;b&&(ia(b),kt.current=null,bn.current=null,Qn(C=>C+1))},[wn]),{handleShakePointerMove:mr,pendingShakeToolTransitionRef:Or}=zw({activeTool:r.activeTool,isAnnotating:r.isAnnotating,clearStickerPreview:ht,dispatch:o,setStickerCursor:Rt,startCursorSwitchPulse:No});Dt(()=>{let b=fr.current,C=r.styleModifications;fr.current=C,!(b===C||!kt.current)&&(wn(),Ux(kt.current,b,C),kt.current=null,bn.current=null,Qt.current=null,Qn(ie=>ie+1))},[r.styleModifications,wn]),Dt(()=>{Op(r.activeTool,r.isAnnotating)&&(ht(),xn.current=null,Gn.current=null)},[ht,r.activeTool,r.isAnnotating]);let Zn=U(()=>{Hn("family"),Rt(null),Dr(null)},[]);Dt(()=>{let b=pr.current,C=r.activeTool,ie=Or.current,se=ie?.from===b&&ie.to===C;Or.current=null,pr.current=C;let Se=Fx(b,C,se,Lt.current);Lt.current=Se.preservedAway,Se.shouldReset&&Zn()},[Or,Zn,r.activeTool]),Dt(()=>{r.isAnnotating||(Lt.current=!1,Zn())},[Zn,r.isAnnotating]);let Ti=U((b,C)=>{if(ht(),!Xe)return null;let ie=window.getComputedStyle(Xe),se=Oh(b,C).map(Se=>ie.getPropertyValue(Se));return Nh(b,se,C)},[ht,Xe]),Ci=U(b=>(ht(),Xe?Hh(window.getComputedStyle(Xe).getPropertyValue(b)):null),[ht,Xe]);Yw({active:r.activeTool==="sticker"&&r.isAnnotating,family:gt,step:yt,subproperty:vt,stage:nn,query:Ot,setFamily:ft,setStep:vn,setSubproperty:Tn,setStage:Hn,setQuery:Dr,setCursor:Rt,setContextLabelPulse:Wt,setDepthSnapPulse:Ke,setRejectPulse:jr,lastCursorRef:fn,toolbarRef:Q,previewRef:kt,applyStickerRef:rn,readColor:Ci,readStep:Ti});let[j,oe]=$(null),[ee,ke]=$(null),[ge,Me]=$(null),[Fe,Ve]=$(!1),ze=q(Mp()),qt=q(yp()),[er,Nr]=$(null),[An,gr]=$(null),[wl,Wn]=$(null),[_o,Ai]=$(null),fa=q({x:0,y:0}),[Sl,Mi]=$({x:0,y:0}),Hr=q(Rp()),[_r,Fo]=$(null),[hn,Wo]=$(null),[Bn,Fr]=$(null),[Bo,Ri]=$(!1),[Jo,ha]=$(0),{swipeHint:kl,clearSwipeHint:ma}=Ww({enabled:r.activeTool==="hand"&&r.isAnnotating,dispatch:o,handCursorRef:fa,setGapRefreshKey:ha}),uo=q(Lp()),[qo,Li]=$(null),[zt,$i]=$(null),[po,Pi]=$(null),Uo=q($p()),[ji,Yo]=$(null),[Xo,yr]=$(null),[Wr,Mn]=$(null),zi=rv(),Di=q(m);Di.current=m;let Br=U(b=>{let C=Di.current;if(!C||C.size===0)return!1;for(let ie of C.keys())try{if(b.matches(ie))return!0}catch{}return!1},[]),{applySticker:Il,beginSteerGapDrag:El,beginSteerRadiusDrag:Tl,beginSteerSpacingDrag:Ko,beginSteerTransformDrag:Cl,steerDrag:Rn,steerDragRef:fo}=Qw({applyStickerRef:rn,clearStickerPreview:ht,dispatch:o,hoveredElement:Xe,lastCanvasCursorRef:fn,setHoveredElement:Nn,setHoveredElementInfo:yn,setStickerApplyPulse:co,setStickerCursor:Rt,setStickerRejectPulse:jr,setStickerStep:vn,setStickerSubproperty:Tn,stickerFamily:gt,stickerStep:yt,stickerSubproperty:vt,transformDragHandoffRef:Gn,transformPreviewSuppressionRef:xn,transformPreviewTargetRef:Qt});Y(()=>{Fn(!1);let b=Rn?.family==="transform"?Rn.element:Xe;if(Op(r.activeTool,r.isAnnotating)||nn!=="value"||!Ua(b,gt,vt)||In(b)){Qt.current=null,ht();return}let C={element:b,family:gt,step:yt,subproperty:vt,valueOverride:Rn?.transformKind==="translate"?Rn.translateValue:void 0},ie=xn.current,se=gt==="transform"&&ie?.element===b&&ie.subproperty===vt&&ie.step===yt;if(ie&&!se&&(xn.current=null),se){if(ht(),Qt.current?.element!==b){let{top:Qe,right:wt,bottom:Ct,left:Cr}=b.getBoundingClientRect(),Ar=ea(b);Qt.current={element:b,bounds:{top:Qe,right:wt,bottom:Ct,left:Cr},layoutQuad:Ar,renderedQuad:mi(b,Ar)},Qn(Wl=>Wl+1)}return}if(kt.current&&Bx(bn.current,C))return;if(gt==="transform"){if(Qt.current?.element!==b){ia(kt.current),kt.current=null,bn.current=null;let{top:Qe,right:wt,bottom:Ct,left:Cr}=b.getBoundingClientRect(),Ar=ea(b);Qt.current={element:b,bounds:{top:Qe,right:wt,bottom:Ct,left:Cr},layoutQuad:Ar,renderedQuad:mi(b,Ar)}}}else Qt.current=null;let Se=Xx(b,gt,yt,vt,kt.current,C.valueOverride);kt.current=Se.preview,bn.current=C,Fn(Se.stepUnavailable),Qn(Qe=>Qe+1),hr()},[ht,Xe,r.activeTool,r.isAnnotating,Rn?.element,Rn?.family,Rn?.transformKind,Rn?.translateValue,gt,nn,yt,vt,hr]),Y(()=>()=>{wn(),ia(kt.current),kt.current=null,bn.current=null,Qt.current=null,xn.current=null,Gn.current=null},[wn]);let It=U(()=>{xn.current=null,Gn.current=null,Nn(null),yn(null),Nr(null),gr(null),Wn(null),Fo(null),Wo(null),Ri(!1),Li(null),$i(null),Yo(null),yr(null),ma()},[ma]),ho=M&&!M.domEdit?M?.id:null,Al=Ye?`${Ye.target.adapter}:${Ye.target.key}`:null,vr=ho??Al;Y(()=>{vr&&It()},[vr,It]);let Vo=U(b=>{oe(b),b&&It()},[It]),ga=U(b=>{ke(b),b&&It()},[It]),Jr=U((b,C)=>{Me(C?.length?{ownerId:b,annotationIds:C}:null),C?.length&&It()},[It]),Oi=U(b=>{Ve(b),b&&It()},[It]),Ml=U((b,C)=>{ht();let ie=Vt(b);Ua(ie,C.family,C.subproperty)&&(o({type:"SELECT_ANNOTATION",payload:{id:null}}),o({type:"SET_TOOL",payload:"sticker"}),ft(C.family),Tn(C.subproperty),vn(C.step),Hn("value"),Nn(ie),yn(Yt(ie)),fn.current&&Rt(fn.current))},[ht,o]),Rl=U((b,C)=>{ht(),It(),ke(null),o({type:"CLEAR_STICKER",payload:{selector:b,sticker:C}})},[It,ht,o]),mo=U(b=>{if(!k)return;k(b);let C=0,ie=()=>{let se=document.querySelector("[data-popmelt-shadow-host]")?.shadowRoot?.querySelector("[data-popmelt-reply]");if(se){se.focus(),se.setSelectionRange(se.value.length,se.value.length);return}C+=1,C<6&&requestAnimationFrame(ie)};requestAnimationFrame(ie)},[k]),Nt=q(r);Nt.current=r;let Et=nv({annotations:r.annotations,currentPathname:We,dispatch:o,stateRef:Nt,styleModifications:r.styleModifications,subjectRegistry:I,toolbarRef:Q,onTargetResolutionChange:Oe}),bt=q(M);bt.current=M;let tr=q(M);Y(()=>{let b=C=>{if(tr.current=null,C.button!==2)return;let ie=bt.current;tr.current=Ep(ie)?ie:null};return window.addEventListener("pointerdown",b,!0),()=>window.removeEventListener("pointerdown",b,!0)},[]),Hw(M,Ze);let{cursorPosRef:go,domEditInputSize:yo,inputRef:qr,lastPositionedTextId:Ni}=_w({activeText:M,activeTextRef:bt,canvasRef:F,visible:r.isAnnotating}),br=U(()=>{window.requestAnimationFrame(()=>{qr.current?.focus();let b=qr.current?.value.length??0;qr.current?.setSelectionRange(b,b)})},[qr]),xr=U((b,C=tr.current)=>{let ie=bt.current,se=I?.hitTest(b)??null,Se=se?.element??Lo(b.x,b.y),Qe=se?.target,wt=[...Nt.current.annotations].reverse().find(jn=>jn.type!=="text"||(jn.status??"pending")!=="pending"?!1:Qe&&jn.target?jn.target.adapter===Qe.adapter&&jn.target.key===Qe.key:!jn.linkedSelector||!Se?!1:!!ln(jn.linkedSelector,jn.elements)?.contains(Se)),Ct=hx({activationDraft:C,activeDraft:ie,annotations:Nt.current.annotations,selectedAnnotationIds:Nt.current.selectedAnnotationIds,lastSelectedId:Nt.current.lastSelectedId,annotationAtCursor:wt});if(tr.current=null,!Ct||Nt.current.activeTool!=="inspector")return!1;let Cr=Ct.value;_e.current?.cancel();let Ar=Cr.target&&I?I.resolve(Cr.target):null,Wl=Ar?.subject.sourceElement??(Cr.linkedSelector?Vt(Cr.linkedSelector):null),Gf=jn=>{if(!(jn instanceof MouseEvent)||!I)return;let Ta=I.hitTest({x:jn.clientX,y:jn.clientY});if(!Ta)return;let Zf=Ta.target;return{element:Ta.subject.sourceElement??null,state:Us(Ta),captureResult:()=>{let Jd=I.resolve(Zf);return Jd?Us(Jd):void 0}}};return dt.current={id:Cr.id,draft:Ct.kind==="draft"},_e.current=ux({subjectElement:Wl,...Ar?{subjectState:Us(Ar)}:{},resolveEventTarget:Gf,onActionCountChange:At,captureFrame:S?Xt:void 0}),It(),Pe(null),oe(null),ke(null),At(0),Le(b),we(!0),ye(),!0},[It,Xt,ye,S,I]),Hi=U(async()=>{let b=_e.current,C=dt.current;if(!b||!C||!b.hasActions())return;let{episode:ie,frames:se}=await b.finish();if(_e.current=null,C.draft)Ze(Se=>{if(Se?.id!==C.id)return Se;let Qe=Se.images?.length??0;return{...Se,images:[...Se.images??[],...se],interactionEpisode:kp(ie,Qe)}});else{let Se=Nt.current.annotations.find(Qe=>Qe.id===C.id);if(Se){let Qe=Se.imageCount??0,wt=kp(ie,Qe);se.length>0&&y?.(Se.id,se),o({type:"UPDATE_TEXT",payload:{id:Se.id,text:Se.text??"",imageCount:Qe+se.length,interactionEpisode:wt}})}}he(),C.draft&&br()},[o,he,br,y,Ze]),Qo=U(b=>{let C=bt.current;if(C?.id===b&&(Ze(se=>{if(se?.id!==b)return se;let Se=new Set(se.interactionEpisode?.frames?.map(wt=>wt.imageIndex)??[]),Qe={...se};return delete Qe.interactionEpisode,Se.size>0&&se.images&&(Qe.images=se.images.filter((wt,Ct)=>!Se.has(Ct))),Qe}),C.isNew))return;let ie=Nt.current.annotations.find(se=>se.id===b)?.interactionEpisode?.frames?.map(se=>se.imageIndex)??[];ie.length>0&&w?.(b,ie),o({type:"CLEAR_INTERACTION_EPISODE",payload:{id:b}})},[o,w,Ze]),ya=U(()=>{let b=dt.current?.draft;he(),b&&br()},[he,br]);Y(()=>{let b=C=>{if(!De.current)return;let ie=C.metaKey||C.ctrlKey;if(C.key==="Escape"&&ie){C.preventDefault(),C.stopPropagation(),C.stopImmediatePropagation(),_e.current?ya():he();return}C.key==="Enter"&&ie&&_e.current&&(C.preventDefault(),C.stopPropagation(),C.stopImmediatePropagation(),Hi())};return window.addEventListener("keydown",b,!0),()=>window.removeEventListener("keydown",b,!0)},[ya,he,Hi]),Y(()=>{if(!tt)return;let b=ie=>_e.current?.recordEvent(ie),C=()=>_e.current?.recordScroll();return window.addEventListener("click",b,!0),window.addEventListener("pointerdown",b,!0),window.addEventListener("pointerup",b,!0),window.addEventListener("input",b,!0),window.addEventListener("change",b,!0),window.addEventListener("submit",b,!0),window.addEventListener("keydown",b,!0),window.addEventListener("play",b,!0),window.addEventListener("pause",b,!0),window.addEventListener("seeked",b,!0),window.addEventListener("scroll",C,{capture:!0,passive:!0}),()=>{window.removeEventListener("click",b,!0),window.removeEventListener("pointerdown",b,!0),window.removeEventListener("pointerup",b,!0),window.removeEventListener("input",b,!0),window.removeEventListener("change",b,!0),window.removeEventListener("submit",b,!0),window.removeEventListener("keydown",b,!0),window.removeEventListener("play",b,!0),window.removeEventListener("pause",b,!0),window.removeEventListener("seeked",b,!0),window.removeEventListener("scroll",C,!0)}},[tt]);let va=q([]),ba=q(i);ba.current=i;let{dragState:_i,resizeState:Go,setDragState:vo,setResizeState:wr}=Rb(),sn=r.selectedAnnotationIds;va.current=sn;let Sr=U((b,C=!1)=>{o({type:"SELECT_ANNOTATION",payload:{id:b,addToSelection:C}})},[o]),bo=U(()=>{o({type:"SELECT_ANNOTATION",payload:{id:null}})},[o]),xo=U(b=>{let C=Nt.current.annotations.find(ie=>ie.id===b);!C||!dc(C,Nt.current.annotations)||(o({type:"DELETE_ANNOTATION",payload:{id:b}}),bt.current?.id===b&&(st(bt.current.attachments),Ze(null)),It(),oe(null),ke(null),Me(null),Ve(!1),bo())},[It,bo,o,st,Ze]),Ll=U(b=>{let C=_h(Nt.current.textModifications,b,We);C&&(o(C),It(),ke(null),Me(null),Ve(!1))},[We,o,It]),wo=q({x:window.scrollX,y:window.scrollY}),x=q(null),[E,X]=$(wo.current);Y(()=>(L(),window.addEventListener("resize",L),window.visualViewport?.addEventListener("resize",L),()=>{window.removeEventListener("resize",L),window.visualViewport?.removeEventListener("resize",L)}),[L]),dv(M,Ze,St,r.annotations,o),ew({state:r,stateRef:Nt,activeTextRef:bt,selectedIdsRef:va,dispatch:o,clearSelection:bo,selectAnnotation:Sr,handHoveredElement:er,onArchiveThread:P,openThreadId:B,currentPathname:We,hasOpenThread:H});let{pageAnnotations:Z,pageStyleModifications:le,pageTextModifications:ae,pendingBundleCount:de,pendingTextAnnotations:ce}=av({state:r,activeText:M,currentPathname:We,dismissedThreadIds:g,modifiedElementThreadStates:h}),{sendHintAnchorId:pe,setSendHintAnchorId:$e}=sv({activeText:M,activeTextAnchorId:oo,hoveredElement:Xe,hoveredTextId:St,pendingTextAnnotations:ce}),{locationLabels:Ee,tooltipAnnotationId:Re,revealAnnotation:xt}=lv({annotations:Z,annotationIds:Et,badgeHoveredAnnotationId:j,hoveredTextId:St}),Ht=U((b,C)=>{let ie=Nt.current.annotations.find(se=>se.id===b);ie&&(Sr(b),C&&mo(C),Et.has(b)&&xt(ie))},[mo,Et,xt,Sr]),{cycleSpotlightAnnotationIds:Ur,emphasizedAnnotationIds:Ln,hoverRestoredAnnotationIds:kr,inactiveEmphasisOpacity:Ir,statusSpotlightAnnotationIds:Yr}=Wy({annotations:Z,isCreatingAnnotation:!!(M?.isNew&&!M.domEdit),hoveredTextId:St,badgeHoveredAnnotationId:j,highlightedAnnotationIds:_,cycleFocusedAnnotationIds:V,hoveredElement:Xe}),Jn=Fh(Q?.current),mn=Jn.avoidTop,Ie=Jn.avoidBottom,Ut=Jn.avoidLeft,dn=Jn.avoidRight,cn=xe(()=>({avoidTop:mn,avoidBottom:Ie,avoidLeft:Ut,avoidRight:dn}),[mn,Ie,Ut,dn]),{supersededAnnotations:$n,stagedArtifactOrder:Bt,annotationGroupMap:Gt,pageModificationNumberBySelector:Pn}=Wh({state:r,pageAnnotations:Z,pageStyleModifications:le,pageTextModifications:ae}),un=Qi(Xe),Xr=!!(Ye&&un?.adapter===Ye.target.adapter&&un.key===Ye.target.key),Er=!!(Xe&&tn&&!Xr&&!St&&!j&&!M?.linkedSelector&&!je?.linkedSelector),{hiddenCollidingAnnotationIds:So,nestedCollidingAnnotationCountById:qn,nestedCollidingAnnotationIdsById:Zo,visibleCollisionRepresentativeByAnnotationId:Ne}=By({activeText:M,activeTextSendHintId:oo,annotationNumberById:Gt,badgeHoveredAnnotationId:j,canvasRef:F,focusedThreadAnnotationId:J,hoveredElement:Xe,hoveredElementInfo:tn,hoveredTextId:St,layoutReady:re!==null,showHoverElementIdentifier:Er,layoutRevision:z+me,pageAnnotations:Z,parentPinnedAnnotationIds:Et,pendingLinkedText:je,scroll:E,supersededAnnotations:$n,textSafeBounds:cn}),{activeTextAnnotation:$t,activeTextCollisionId:Tt,activeTextModifiedRail:Pt,activeTextNestedAnnotationCount:Kr,activeTextNestedAnnotationIds:ei,activeTextNestedBadgeColor:Vr,elementRailColorBySelector:Fi,elementRailComments:Qr,hiddenAnnotationBadgeIds:xa,modifiedElementSendHintSelector:mt,stagedElementComments:on,visibleCanvasAnnotations:Tr,visibleSendHintAnchorId:an}=Bh({activeText:M,activeColor:r.activeColor,annotations:r.annotations,annotationNumberById:Gt,focusedThreadAnnotationId:J,hiddenCollidingAnnotationIds:So,modifiedElementThreadStates:h,nestedCollidingAnnotationCountById:qn,nestedCollidingAnnotationIdsById:Zo,pageAnnotations:Z,pageStyleModifications:le,pageTextModifications:ae,sendHintAnchorId:pe,supersededAnnotations:$n,visibleCollisionRepresentativeByAnnotationId:Ne,activeTextSendHintId:oo,targetResolutionRevision:z+me}),ti=xe(()=>{if(sn.length===0)return null;let b=new Map;for(let C of sn){let ie=r.annotations.find(Se=>Se.id===C);if(!ie)continue;let se=ie.groupId?r.annotations.filter(Se=>Se.groupId===ie.groupId):[ie];for(let Se of se)if(Se.linkedSelector&&!m?.has(Se.linkedSelector)){let Qe=Se.color||r.activeColor;b.set(Se.linkedSelector,Qe)}}return b.size>0?b:null},[sn,r.annotations,r.activeColor,m]),nr=U((b=wo.current)=>{ue(Tr,sn,Vp,b.x,b.y,Gt,Yr,cn,Ln,kr,Ir,Et)},[Tr,sn,ue,Gt,Yr,cn,Ln,kr,Ir,Et]);Y(()=>{nr(wo.current)},[nr]),Y(()=>{let b=()=>{let C={x:window.scrollX,y:window.scrollY};wo.current=C,nr(C),x.current===null&&(x.current=window.requestAnimationFrame(()=>{x.current=null;let ie=wo.current;X(se=>se.x===ie.x&&se.y===ie.y?se:ie)}))};return window.addEventListener("scroll",b,{passive:!0,capture:!0}),()=>{window.removeEventListener("scroll",b,!0),x.current!==null&&(window.cancelAnimationFrame(x.current),x.current=null)}},[nr]);let{findAnnotationAtPoint:$l,findHandleAtPoint:ko,findTextAtPoint:Wi,getPoint:Bi}=uw({annotationGroupMap:Gt,annotations:r.annotations,canvasRef:F,handleSize:Vp,hiddenCollidingAnnotationIds:So,pageAnnotations:Z,parentPinnedAnnotationIds:Et,scroll:E,selectedAnnotationIds:sn,supersededAnnotations:$n,textSafeBounds:cn}),{commitActiveText:Ji,createInlineTextEdit:zf,editPendingLinkedComment:Td,handleSendPendingBundle:qi}=Nw({activeText:M,activeTextRef:bt,canvasRef:F,clearPageElementHover:It,clearSelection:bo,clearSignal:N,commentTextEditCandidateRef:En,cursorPosRef:go,dispatch:o,findTextAtPoint:Wi,lastPositionedTextId:Ni,onAttachImages:y,onCloseThread:R,onSend:v,pendingLinkedText:je,releaseActiveTextAttachments:st,setActiveText:Ze,setDragState:vo,setHoveredTextId:Pe,setPendingLinkedText:rt,setSendHintAnchorId:$e,state:r,stateRef:Nt}),Cd=U(()=>{let b=tr.current;px(bt.current,b)||Ji()},[Ji]),ni=aw({activeText:M,applySticker:Il,canvasRef:F,clearSelection:bo,commentTextEditCandidateRef:En,commitActiveText:Ji,createInlineTextEdit:zf,dispatch:o,domDragRef:qt,editPendingLinkedComment:Td,findAnnotationAtPoint:$l,findHandleAtPoint:ko,findTextAtPoint:Wi,gapDragRef:Hr,gapHoveredAxis:hn,gapHoveredElement:_r,gapIsAuto:Bo,getPoint:Bi,handleAnnotationActivation:Ht,handDragRef:ze,handHoveredElement:er,handHoveredSide:An,hoveredElement:Xe,hoveredElementInfo:tn,isElementInFlight:Br,onCanvasInteraction:W,openThreadAndFocusReply:mo,pageAnnotations:Z,modifiedElementThreadStates:h,pageStyleModifications:le,parentPinnedAnnotationIds:Et,pointerTargetOverrideRef:K,radiusDragRef:uo,radiusHoveredCorner:zt,radiusHoveredElement:qo,selectAnnotation:Sr,setDragState:vo,setGapDragging:Fr,setHandDragging:Ai,setPendingLinkedText:rt,setRadiusDragging:Pi,setResizeState:wr,setStickerRejectPulse:jr,setTextDragging:Mn,state:r,stickerStage:nn,textDragRef:Uo,textHoveredElement:ji,textHoveredProperty:Xo,toolbarRef:Q});Y(()=>{if(!Ge)return;let b=Se=>{if(Se.button===0){if(Se.target instanceof Element&&In(Se.target)){Mt.current=null;return}G?.(),Mt.current={startX:Se.clientX,startY:Se.clientY,moved:!1}}},C=Se=>{(!(Se.target instanceof Element)||!In(Se.target))&&G?.();let Qe=Mt.current;Qe&&(Mt.current=Kb(Qe,Se.clientX,Se.clientY))},ie=()=>{Mt.current=null},se=Se=>{let Qe=Mt.current;if(Mt.current=null,!Vb(Qe)||Se.button!==0||Se.target instanceof Element&&In(Se.target)||_e.current||r.activeTool!=="inspector"&&r.activeTool!=="sticker")return;let wt=r.activeTool==="inspector"?I?.hitTest({x:Se.clientX,y:Se.clientY}):null;wt&&I?.promote(wt.target);let Ct=wt?.element??Lo(Se.clientX,Se.clientY);!Ct||In(Ct)||Ct===document.body||Ct===document.documentElement||r.activeTool==="inspector"&&Br(Ct)||r.activeTool==="sticker"&&!(Ct instanceof HTMLElement)&&!(Ct instanceof SVGElement)||(K.current={element:Ct,elementInfo:wt?.elementInfo??Yt(Ct)},Se.preventDefault(),Se.stopPropagation(),Se.stopImmediatePropagation(),ni(Se))};return window.addEventListener("pointerdown",b,!0),window.addEventListener("pointermove",C,!0),window.addEventListener("pointercancel",ie,!0),window.addEventListener("click",se,!0),()=>{window.removeEventListener("pointerdown",b,!0),window.removeEventListener("pointermove",C,!0),window.removeEventListener("pointercancel",ie,!0),window.removeEventListener("click",se,!0)}},[ni,Ge,Br,r.activeTool,I,G]),Y(()=>{!r.isAnnotating&&De.current&&he()},[he,r.isAnnotating]);let Pl=$w({activeTool:r.activeTool,annotations:r.annotations,canvasRef:F,clearPageElementHover:It,clearStickerPreview:ht,dispatch:o,domDragRef:qt,dragState:_i,findTextAtPoint:Wi,gapDragRef:Hr,gapHoveredAxis:hn,gapHoveredElement:_r,getPoint:Bi,handCursorRef:fa,handDragRef:ze,handHoveredElement:er,handHoveredSide:An,handleShakePointerMove:mr,hoveredElement:Xe,hoveredElementInfo:tn,isAnnotating:r.isAnnotating,isElementInFlight:Br,lastCanvasCursorRef:fn,modifiersRef:zi,radiusDragRef:uo,radiusHoveredCorner:zt,radiusHoveredElement:qo,resizeState:Go,setDomDropPreview:Wn,setDragState:vo,setGapDragging:Fr,setGapHoveredAxis:Wo,setGapHoveredElement:Fo,setGapIsAuto:Ri,setHandCursorPos:Mi,setHandDragging:Ai,setHandHoveredElement:Nr,setHandHoveredSide:gr,setHoveredElement:Nn,setHoveredElementInfo:yn,setRadiusDragging:Pi,setRadiusHoveredCorner:$i,setRadiusHoveredElement:Li,setResizeState:wr,setStickerCursor:Rt,setStickerStep:vn,setTextDragging:Mn,setTextHoveredElement:Yo,setTextHoveredProperty:yr,steerDragRef:fo,stickerFamily:gt,stickerStage:nn,stickerSubproperty:vt,subjectRegistry:I,suspendTargetDiscovery:!!vr||tt,textDragRef:Uo,textHoveredElement:ji,textHoveredProperty:Xo,transformDragHandoffRef:Gn,transformPreviewSuppressionRef:xn,transformPreviewTargetRef:Qt}),wa=Pw({annotationGroupMap:Gt,canvasRef:F,currentPathname:We,cursorPosRef:go,dispatch:o,domDragRef:qt,dragState:_i,gapDragRef:Hr,gapDragging:Bn,getPoint:Bi,handDragRef:ze,handDragging:_o,lastPositionedTextId:Ni,radiusDragRef:uo,radiusDragging:po,resizeState:Go,setActiveText:Ze,setDomDropPreview:Wn,setDragState:vo,setGapDragging:Fr,setHandDragging:Ai,setRadiusDragging:Pi,setResizeState:wr,setSendHintAnchorId:$e,setTextDragging:Mn,textDragRef:Uo,textDragging:Wr}),Df=U(b=>{if(r.isAnnotating&&r.activeTool==="inspector"&&b.button===0&&b.pointerType==="mouse"&&I&&!Ye){let C=I.beginCreate({x:b.clientX,y:b.clientY});if(C){fe.current={...C,start:{x:b.clientX,y:b.clientY},moved:!1,pointerId:b.pointerId,captureTarget:b.currentTarget},b.currentTarget.setPointerCapture(b.pointerId),b.preventDefault();return}}ni(b)},[ni,r.activeTool,r.isAnnotating,Ye,I]),Of=U(b=>{let C=fe.current;if(!C||C.pointerId!==b.pointerId){Pl(b);return}let ie=Math.hypot(b.clientX-C.start.x,b.clientY-C.start.y);if(!C.moved&&ie>=e0&&(C.moved=!0),!C.moved){Pl(b);return}C.session.update({x:b.clientX,y:b.clientY}),Ce({adapter:C.adapter.id,key:C.session.key}),_t(se=>se+1),b.preventDefault()},[Pl]),Ad=U(b=>{let C=fe.current;if(C&&C.pointerId!==b.pointerId)return;if(fe.current=null,Ce(null),!C){wa(b);return}if(C.captureTarget.hasPointerCapture(C.pointerId)&&C.captureTarget.releasePointerCapture(C.pointerId),!C.moved){C.session.cancel();let se=I?.hitTest({x:b.clientX,y:b.clientY});se&&I?.promote(se.target),ni(b),wa(b);return}C.session.update({x:b.clientX,y:b.clientY});let ie=C.session.commit();ie&&(be.current=window.performance.now()+500,Ue({target:{adapter:C.adapter.id,key:ie.key},created:!0})),b.preventDefault()},[ni,wa,I]),jl=U(b=>{if(!r.isAnnotating||r.activeTool!=="inspector"||!I)return!1;let C=I.resolve(b);if(!C?.adapter.renameSubject)return!1;let ie=bt.current;return ie?.isNew&&ie.target?.adapter===C.target.adapter&&ie.target.key===C.target.key&&(st(ie.attachments),Ze(null),rt(null)),Ue({target:C.target,created:!1}),!0},[bt,st,Ze,r.activeTool,r.isAnnotating,I]),Nf=U(b=>{if(window.performance.now()<=be.current){be.current=0,b.preventDefault(),b.stopPropagation();return}if(be.current=0,!I)return;let C=I.hitTest({x:b.clientX,y:b.clientY});!C||!jl(C.target)||(b.preventDefault(),b.stopPropagation())},[jl,I]),Md=U(b=>{let C=b.target.value;go.current=b.target.selectionStart;let ie=bt.current;ie?.domEdit&&o(Fs(ie.domEdit,C,ie.text===ie.domEdit.originalText)),Ze(se=>{if(se?.domEdit){let Se=mp(se.domEdit.segments,se.domEdit.originalText,C);se.domEdit.segments.forEach(Qe=>{Qe.textNode.nodeValue=Qe.originalText}),Se.forEach(({segment:Qe,modifiedText:wt})=>{Qe.textNode.nodeValue=wt})}return se&&{...se,text:C}})},[bt,go,o,Ze]),Rd=U(b=>{b.key==="Escape"?(bt.current?.domEdit&&(o(Fs(bt.current.domEdit,bt.current.domEdit.originalText,!1)),bt.current.domEdit.segments.forEach(C=>{C.textNode.nodeValue=C.originalText})),st(bt.current?.attachments),Ze(null)):Ny(b)?qi():b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),Ji())},[Ji,o,qi,st,Ze]),Hf=U(b=>{if(!r.isAnnotating)return;let C=tr.current;tr.current=null;let ie=Wi(Bi(b));if(ie&&dc(ie,Nt.current.annotations)){b.preventDefault(),b.stopPropagation(),xo(ie.id);return}if(ie?.status==="resolved"){let Qe=qp(Nt.current.annotations,[ie.id]);if(Qe.length>0){b.preventDefault(),b.stopPropagation(),Qe.forEach(wt=>P?.(wt));return}}b.preventDefault();let se=!!bt.current,Se=xr({x:b.clientX,y:b.clientY},C);!se&&!Se&&ye()},[ye,Wi,Bi,xo,P,xr,r.isAnnotating]),Sa=xe(()=>{if(!Xe)return r.activeColor;let b=null;for(let se of Z)!se.linkedSelector||$n.has(se)||ln(se.linkedSelector,se.elements)!==Xe||(!b||se.timestamp>b.timestamp)&&(b=se);let C=b?.color??r.activeColor,ie=tn?.selector??b?.linkedSelector;return ie?Kl([ie],h??new Map,C,Vt):C},[Xe,tn?.selector,h,Z,r.activeColor,$n]),_f=()=>{if(!r.isAnnotating)return"default";if(Go){let{handle:b}=Go;return b==="start"||b==="end"?"move":b==="top"||b==="bottom"?"ns-resize":b==="left"||b==="right"?"ew-resize":b==="topLeft"||b==="bottomRight"?"nwse-resize":"nesw-resize"}if(Gb(r.activeTool)){let b=Bn?.axis??hn;if(b==="row")return"ns-resize";if(b==="column")return"ew-resize";if(po||zt)return"ns-resize";let C=Wr?.property??Xo;if(C==="font-size")return"ew-resize";if(C==="line-height")return"ns-resize";let ie=_o?.side??An;return ie==="top"||ie==="bottom"?"ns-resize":ie==="left"||ie==="right"?"ew-resize":"default"}return r.activeTool==="inspector"?dm(Sa):r.activeTool==="sticker"?ic(Sa):"crosshair"},Ld=Xb(r.isAnnotating,r.activeTool),Ff={position:"fixed",top:0,left:0,width:"100dvw",height:"100dvh",zIndex:9998,pointerEvents:Ge||!Ld?"none":"auto",visibility:Ld?"visible":"hidden",cursor:Ft&&!Ft.nativeReady?"none":_f(),touchAction:r.activeTool==="inspector"?"pan-x pan-y":"none"},$d=xe(()=>{if(!M||M.domEdit)return;if(M.linkedSelector){let C=on.find(ie=>ie.selector===M.linkedSelector)?.annotationNumber??Pn.get(Pt?.selector??M.linkedSelector);if(C!==void 0)return C}let b=Gt.get(M.id);if(b!==void 0)return b;if(M.groupId){let C=r.annotations.find(se=>se.groupId===M.groupId),ie=C?Gt.get(C.id):void 0;if(ie!==void 0)return ie}return Bt.count+1},[M,Pt,Gt,Pn,on,Bt.count,r.annotations]),Ui=$d!==void 0?`${$d}.`:"",Io=xe(()=>{if(!M||!Ui||M.domEdit)return 0;let b=F.current?.getContext("2d");return b&&(b.font=`${M.fontSize}px ${gn}`),Ub({prefix:Ui,fontSize:M.fontSize,railGap:Pt?2:void 0,context:b})},[M,Ui,Pt,F]),ka=M?.images?.length??r.annotations.find(b=>b.id===M?.id)?.imageCount??0,zl=M&&!M.domEdit&&!Pt?fv({nestedAnnotationCount:Kr,imageCount:ka,interactionEpisodeStepCount:M.interactionEpisode?.steps.length??0,reserveSendHint:!!v&&pe===oo&&!!M.text.trim()}):0,Wf=r.isAnnotating&&M?.linkedSelector&&!M.target&&!M.domEdit&&!Pt?ln(M.linkedSelector,M.elements):null,Yi=tx(Wf),Dl=M?Yi?Yi.left+8:M.point.x-E.x:0,Ol=M?Yi?.right??M.point.x-E.x:0,Eo=U(()=>{let b=F.current;if(!b||!M)return{width:100,height:12*Un,isWrapped:!1};if(M.domEdit)return{width:yo?.id===M.id?yo.width:Math.max(1,M.domEdit.rect.width),height:yo?.id===M.id?yo.height:Math.max(1,M.domEdit.rect.height),isWrapped:M.domEdit.wrapsText};let C=b.getContext("2d");if(!C)return{width:100,height:M.fontSize*Un,isWrapped:!1};C.font=`${M.fontSize}px ${gn}`;let ie=M.point.x-E.x;if(!Pt){let se=!!(M.linkedSelector||M.target),Se=Ws({text:M.text,fontSize:M.fontSize,effectiveMaxWidth:384,annotationPrefixWidth:Io,isModifiedRail:!1,fitToContent:se,context:C}).width+Io+16,Qe=gp({anchorLeftX:Dl,anchorRightX:Ol,editorWidth:Se,trailingWidth:zl,viewportWidth:window.innerWidth});return Ws({text:M.text,fontSize:M.fontSize,effectiveMaxWidth:Math.max(1,Qe.maxEditorWidth-16),annotationPrefixWidth:Io,isModifiedRail:!1,fitToContent:se,context:C})}return Ws({text:M.text,fontSize:M.fontSize,effectiveMaxWidth:Vl(ie),annotationPrefixWidth:Io,isModifiedRail:!!Pt,context:C})},[M,F,E.x,Io,Pt,zl,Dl,Ol,yo])(),ri=!!M?.domEdit,Bf=M?Math.max(1,M.text.split(`
|
|
61
|
-
`).length)*M.fontSize*Un+8:0,To=ri?Eo.height:Eo.height+8,Pd=Yi?cc(Yi,To,li,window.innerHeight):void 0,jd=Ql(Pd?.anchor??M?.linkedAnchor),Jf=Eo.isWrapped?To-Bf:0,zd=M?ri?(M.domEdit.flowRect??M.domEdit.rect).top:Pd?.top??M.point.y-4-E.y-Jf:0,qf=M?ri?(M.domEdit.flowRect??M.domEdit.rect).left:M.point.x-8-E.x:0,Gr=ri?Eo.width:Eo.width+Io+16,Co=M&&!ri&&!Pt?gp({anchorLeftX:Dl,anchorRightX:Ol,editorWidth:Gr,trailingWidth:zl,viewportWidth:window.innerWidth}).editorLeft:qf,oi=M?ri?zd:Jh(zd,To,cn,Co,Gr):0,ii=M?.domEdit?{image:M.domEdit.boundaryRects.map(()=>"linear-gradient(#000 0 0)").join(", "),position:M.domEdit.boundaryRects.map(b=>`${b.left-Co}px ${b.top-oi}px`).join(", "),size:M.domEdit.boundaryRects.map(b=>`${b.width}px ${b.height}px`).join(", ")}:void 0,Dd=M?M.domEdit?{position:"fixed",left:Co,top:oi,zIndex:10002,width:Gr,height:To,minHeight:0,padding:0,margin:0,boxSizing:"border-box",appearance:"none",fontSize:M.fontSize,fontFamily:M.domEdit.fontFamily,fontWeight:M.domEdit.fontWeight,fontStyle:M.domEdit.fontStyle,color:"transparent",caretColor:r.activeColor,WebkitTextFillColor:"transparent",backgroundColor:"transparent",border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:M.domEdit.lineHeight,textIndent:M.domEdit.firstLineIndent,letterSpacing:M.domEdit.letterSpacing,textTransform:M.domEdit.textTransform,textAlign:M.domEdit.textAlign,wordSpacing:M.domEdit.wordSpacing,textDecoration:M.domEdit.textDecoration,textShadow:M.domEdit.textShadow,resize:"none",overflow:"hidden",whiteSpace:M.domEdit.wrapsText?M.domEdit.whiteSpace:"pre",wordBreak:M.domEdit.wordBreak,overflowWrap:M.domEdit.overflowWrap,maskImage:ii?.image,maskPosition:ii?.position,maskSize:ii?.size,maskRepeat:"no-repeat",WebkitMaskImage:ii?.image,WebkitMaskPosition:ii?.position,WebkitMaskSize:ii?.size,WebkitMaskRepeat:"no-repeat"}:{position:"fixed",left:Co,top:oi,zIndex:10002,width:Gr,height:To,padding:`${4+rd}px 8px ${4-rd}px`,paddingLeft:8+Io,boxSizing:"border-box",fontSize:M.fontSize,fontFamily:gn,color:"#ffffff",backgroundColor:r.activeColor,border:"none",borderRadius:M.linkedSelector?jd:0,animation:M.linkedSelector&&M.isNew?"popmeltAnnotationFieldEnter 150ms ease-out both":void 0,outline:"none",boxShadow:"none",lineHeight:Un,resize:"none",overflow:"hidden",whiteSpace:Eo.isWrapped?"pre-wrap":"pre",wordBreak:Eo.isWrapped?"break-word":void 0}:{},Od=M?.target&&M.linkedSelector?ln(M.linkedSelector,M.elements):null,Uf=b=>!M||!Pt?null:A(at,{children:[f(gv,{anchor:b,width:Gr,height:To,value:M.text,fontSize:M.fontSize,prefix:Ui,inputRef:qr,inputStyle:Dd,onChange:Md,onKeyDown:Rd,onPaste:Je,onBlur:Cd,onContextMenu:C=>{C.preventDefault(),C.stopPropagation(),xo(M.id)}}),f(Rc,{stepCount:M.interactionEpisode?.steps.length??0,onClear:()=>Qo(M.id)})]}),{nestedBadgeOwnerSelector:Yf,hasExistingOverlay:Xf,hoveredLinkedAnnotationId:Nd,hasSelectedHighlightForElement:Kf,ownedInFlightSelectorColors:Hd,ownedFocusedSelectorColors:_d,claimElementOverlay:rr}=ex({activeText:M,pendingLinkedText:je,activeTextSendHintId:oo,activeTool:r.activeTool,isAnnotating:r.isAnnotating,annotations:r.annotations,pageAnnotations:Z,pageStyleModifications:le,pageTextModifications:ae,supersededAnnotations:$n,nestedBadgeHover:ge,isSendBundleHovered:Fe,badgeHoveredAnnotationId:j,hoveredTextId:St,badgeHoveredSelector:ee,focusedThreadAnnotationId:J,inFlightSelectorColors:m,focusedSelectorColors:ti,hoveredElement:Xe}),Nl=Sa,Vf=M?.domEdit?Ca(r.activeColor,.28):"#000000",Qf=M?.domEdit?"transparent":"#ffffff",Ia=M?.linkedSelector&&!M.domEdit?M:je,Ea=Ia?.linkedSelector?ln(Ia.linkedSelector,Ia.elements):null,Hl=Ea??Xe,Fd=Ea?"selected":"hover",Wd=Ea?Ia?.target??Qi(Ea):un,_l=Wd?.adapter,Fl=Wd?.key;Y(()=>(T?.(r.isAnnotating&&Hl?{element:Hl,selection:Fd,subject:_l&&Fl?{adapter:_l,key:Fl}:void 0}:null),()=>T?.(null)),[T,r.isAnnotating,Hl,Fd,_l,Fl]);let Bd=b=>{Jt.current=null,I?.remove(b),Nn(null),yn(null),Ue(C=>C?.target.adapter===b.adapter&&C.target.key===b.key?null:C)};if(tt){let b=dt.current,C=b?.draft?r.activeColor:r.annotations.find(ie=>ie.id===b?.id)?.color??r.activeColor;return lt?f(sb,{cursor:lt,stepCount:jt,accentColor:C,toolbarElement:Q?.current,threadElement:D}):null}return A(at,{children:[f("canvas",{ref:ve,id:"devtools-canvas",style:Ff,onPointerDown:b=>{G?.(),Df(b)},onPointerMove:b=>{G?.(),!(!fe.current&&un&&Wp(b.currentTarget.ownerDocument,b.clientX,b.clientY))&&Of(b)},onPointerUp:Ad,onPointerCancel:b=>{if(fe.current){Ae();return}wa(b)},onLostPointerCapture:b=>{fe.current?.pointerId===b.pointerId&&Ae()},onDoubleClick:Nf,onPointerLeave:b=>{if(fe.current||Zw(b.relatedTarget)||Kp(b.relatedTarget))return;Ad(b),ht(),xn.current=null,Gn.current=null;let C=()=>{Nn(null),yn(null)};if(Qi(Xe)){let{clientX:ie,clientY:se}=b;window.setTimeout(()=>{Kp(document.elementFromPoint(ie,se))||Jt.current!==null||C()},100);return}C()},onContextMenu:b=>{if(un&&Wp(b.currentTarget.ownerDocument,b.clientX,b.clientY)){b.preventDefault(),b.stopPropagation(),Bd(un);return}Hf(b)}}),pt&&I&&(()=>{let b=I.resolve(pt);return b?f(rl,{element:b.element,activeFacet:"translate",accentColor:r.activeColor,showHandles:!1,showRotateHandle:!1,refreshKey:ct}):null})(),Ye&&I&&f(Tb,{accentColor:r.activeColor,created:Ye.created,registry:I,target:Ye.target,onCommit:b=>{Nn(b.element),yn(b.elementInfo),_t(C=>C+1)},onClose:()=>Ue(null),onCancelCreated:()=>{I.remove(Ye.target),Ue(null)}},`${Ye.target.adapter}:${Ye.target.key}`),Ft&&f(bv,{color:Sa,cursorRef:fn,tool:Ft.tool,onHandoff:()=>_n(b=>b?.id===Ft.id?{...b,nativeReady:!0}:b),onDone:()=>_n(null)},Ft.id),r.isAnnotating&&M&&A(at,{children:[Od&&M.subjectAnchor&&f(vv,{element:Od,annotationRect:{left:Co,top:oi,width:Gr,height:To},subjectAnchor:M.subjectAnchor,color:r.activeColor,subjectRegistry:I}),f(mv,{value:M.text,fontSize:M.fontSize,prefix:Ui,inputRef:qr,inputStyle:Dd,selectionBackground:Vf,selectionColor:Qf,annotationBorderRadius:jd,activeColor:r.activeColor,boundaryRects:M.domEdit?.boundaryRects,wrapsDomText:M.domEdit?.wrapsText,showEditor:!Pt,rawLeft:Co,top:oi,baselineOffset:rd,onChange:Md,onKeyDown:Rd,onPaste:Je,onBlur:Cd}),!Pt&&!M.domEdit&&f(hv,{rawLeft:Co,width:Gr,top:oi,scroll:E,collisionId:Tt,nestedAnnotationCount:Kr,nestedAnnotationIds:ei,nestedBadgeColor:Vr,imageCount:ka,color:r.activeColor,interactionEpisodeStepCount:M.interactionEpisode?.steps.length??0,showSendHint:pe===oo&&!!M.text.trim(),bundleCount:de,onHoverNestedAnnotations:Jr,onHoverSendHint:Oi,onClearInteractionEpisode:()=>Qo(M.id),onSend:v?qi:void 0}),f(qh,{point:M.point,scroll:E,attachments:M.attachments??[],showAttachments:!M.domEdit,onRemoveAttachment:ot})]}),r.isAnnotating&&r.activeTool!=="hand"&&(le.length>0||ae.length>0||Qr.length>0||(h?.size??0)>0||Er)&&f(Uh,{styleModifications:le,textModifications:ae,stagedComments:Qr,accentColor:r.activeColor,annotationNumberBySelector:Pn,inFlightSelectors:p,inFlightAnnotationIds:a,activeAnnotationIds:d,inFlightSelectorJobIds:u,waitingApprovalJobIds:s,inFlightSelectorColors:m,toolbarRef:Q,onHoverSelector:ga,sendHintSelector:mt,pendingBundleCount:de,onHoverSendBundle:Oi,onSend:v?qi:void 0,onSelectSticker:Ml,onDeleteSticker:Rl,threadStates:h,onViewThread:k,hoveredElement:Xe,hoveredElementInfo:tn,showHoverIdentifier:Er,onEditComment:Td,onDeleteComment:xo,onDiscardTextChanges:Ll,onArchiveThread:P,onClearInteractionEpisode:Qo,onEditSubject:jl,onDeleteSubject:Bd,onHoverSubjectLabel:b=>{Jt.current=b},refreshKey:zr,activeCommentEntry:Pt?{element:Pt.element,width:Gr,imageCount:ka,trailingWidth:uc(ka)+pc(M?.interactionEpisode?.steps.length??0),render:Uf}:void 0}),r.activeTool==="hand"&&r.isAnnotating&&(le.length>0||ae.length>0)&&f(cb,{styleModifications:le.filter(b=>{let C=Vt(b.selector);return!!C&&rr(C,"pending-change")}),textModifications:ae.filter(b=>{let C=Vt(b.selector);return!!C&&rr(C,"pending-change")}),accentColor:r.activeColor}),r.isAnnotating&&!M?.domEdit&&(()=>{let b=new Set;return ae.flatMap(C=>{if(C.captured||b.has(C.selector))return[];let ie=Vt(C.selector);return ie?rr(ie,"pending-change")?(b.add(C.selector),[f(Mr,{element:ie,isSelected:!1,color:r.activeColor,hideTooltip:!0},`pending-text-change-${C.selector}`)]):[]:[]})})(),r.isAnnotating&&f(Yh,{annotations:Z,supersededAnnotations:$n,inFlightIds:a,orientationLabels:l,activeIds:d,queuePositions:c,scrollX:E.x,scrollY:E.y,annotationGroupMap:Gt,onViewThread:k,onSelectAnnotation:Sr,onDeleteDraftAnnotation:xo,onClearInteractionEpisode:Qo,onHoverAnnotation:Vo,canvasRef:F,toolbarRef:Q,activeBundleAnnotationIds:Ln,inactiveBundleOpacity:Ir,animateBundleOpacity:!Yr&&!Ur,hoverRestoredAnnotationIds:kr,nestedAnnotationCountById:qn,nestedAnnotationIdsById:Zo,onHoverNestedAnnotations:Jr,onHoverSendBundle:Oi,onSend:v?qi:void 0,sendHintAnchorId:an===oo?null:an,pendingBundleCount:de,parentPinnedAnnotationIds:Et,parentPinnedLocationLabels:Ee,parentPinnedTooltipAnnotationId:Re,onActivateAnnotation:Ht,hiddenAnnotationIds:xa}),r.isAnnotating&&Hd&&f(fc,{inFlightSelectorColors:Hd,subjectRegistry:I}),r.isAnnotating&&_d&&f(fc,{inFlightSelectorColors:_d,animated:!1,subjectRegistry:I}),f(Zv,{active:r.activeTool==="hand"&&r.isAnnotating,accentColor:r.activeColor,domDropPreview:wl,cursorViewport:Sl,gapElement:Bn?Hr.current.element:_r,gapDragging:Bn,gapHoveredAxis:hn,gapIsAuto:Bo,gapRefreshKey:Jo,swipeHint:kl,radiusElement:po?uo.current.element:qo,radiusDragging:po,radiusHoveredCorner:zt,textElement:Wr?Uo.current.element:ji,textDragging:Wr,textHoveredProperty:Xo,paddingElement:_o?ze.current.element:er,paddingDragging:_o,paddingHoveredSide:An}),r.isAnnotating&&e&&!M&&!je&&!Ye&&f(jy,{hasExistingOverlay:Xf,entry:e,color:r.activeColor,subjectRegistry:I}),(r.activeTool==="inspector"||r.activeTool==="sticker")&&r.isAnnotating&&f(at,{children:Xe&&(()=>{let b=r.activeTool==="sticker"&&nn==="value"&&(gt==="padding"||gt==="margin")&&kt.current?.element===Xe,C=sp(r.activeTool==="sticker",gt,nn,vt);if(Kf(Xe)||!rr(Xe,"inspector-hover"))return null;let ie=M?.linkedSelector?ln(M.linkedSelector,M.elements):null,se=je?.linkedSelector?ln(je.linkedSelector,je.elements):null,Se=(ie?Cs(ie,Xe,M?.elements?.[0]?.context):!1)||(se?Cs(se,Xe,je?.elements?.[0]?.context):!1)||Z.some(wt=>{if(!wt.linkedSelector||$n.has(wt))return!1;let Ct=ln(wt.linkedSelector,wt.elements);return Cs(Ct,Xe,wt.elements?.[0]?.context)}),Qe=!!St||!!j;return A(at,{children:[!b&&f(Mr,{element:Xe,isSelected:!1,elementInfo:tn,color:Nl,hideFill:!un,refreshKey:r.activeTool==="sticker"?zr:void 0,hideTooltip:Xr||Er||Se||Qe}),!C&&!un&&f(rl,{element:Xe,activeFacet:"translate",accentColor:Nl,showHandles:!1,refreshKey:r.activeTool==="sticker"?zr:void 0})]})})()}),f(xb,{active:r.activeTool==="sticker"&&r.isAnnotating,accentColor:Nl,family:gt,stage:nn,subproperty:vt,hoveredElement:Xe,previewElement:kt.current?.element??null,transformPreviewElement:Qt.current?.element??null,previewRevision:zr,cursorViewport:$r,drag:Rn,onGapPointerDown:El,onRadiusPointerDown:Tl,onSpacingPointerDown:Ko,onTransformPointerDown:Cl}),r.activeTool==="sticker"&&r.isAnnotating&&$r&&f(Xh,{cursor:$r,family:gt,step:yt,subproperty:vt,stage:nn,accentColor:r.activeColor,applyPulse:Pr,contextLabelPulse:ur,depthSnapPulse:Ei,rejectPulse:Ho,stepUnavailable:Vn,query:Ot?{tokens:Ot.segments.flatMap((b,C)=>{let ie=Ot.history[C]?.scope??Ys,se=oa(ie,b);return se?[kx(se)]:[]}),...Ix(Ot.query,Xs(Ot.scope,Ot.query))}:null,toolbarElement:Q?.current,threadElement:D,annotationRailHovered:ee!==null||j!==null||ge!==null||Fe}),!ge&&!Fe&&(M?.linkedSelector||je?.linkedSelector)&&(()=>{let b=M?.linkedSelector||je?.linkedSelector;if(!b)return null;let C=Vt(b);return!C||!rr(C,"direct-manipulation")?null:f(Mr,{element:C,isSelected:!0,color:$t?.color??r.activeColor,hideTooltip:!0})})(),J&&(()=>{if(Fe)return null;let b=r.annotations.find(se=>se.id===J);if(!b?.linkedSelector||Yf===b.linkedSelector)return null;let C=Vt(b.linkedSelector);if(!C||!rr(C,"thread-focus"))return null;let ie=!!(a&&a.has(b.id));return f(Mr,{element:C,isSelected:!ie,color:b.color,hideTooltip:!0})})(),Nd&&(()=>{let b=r.annotations.find(ie=>ie.id===Nd);if(!b?.linkedSelector)return null;let C=Vt(b.linkedSelector);return!C||!rr(C,"annotation-hover")?null:f(Mr,{element:C,isSelected:!1,color:b.color,hideTooltip:!0})})(),ge&&!Fe&&(()=>{let b=new Set;return ge.annotationIds.flatMap(C=>{let ie=r.annotations.find(Se=>Se.id===C);if(!ie?.linkedSelector||b.has(ie.linkedSelector))return[];let se=ln(ie.linkedSelector,ie.elements);return se?rr(se,"nested-preview")?(b.add(ie.linkedSelector),[f(Mr,{element:se,isSelected:!1,color:ie.color,hideTooltip:!0},`nested-annotation-${C}`)]):[]:[]})})(),Fe&&(()=>{let b=[],C=new Set,ie=(se,Se,Qe,wt)=>{if(!Se||C.has(Se))return;let Ct=ln(Se,Qe);Ct&&rr(Ct,"bundle-preview")&&(C.add(Se),b.push({id:se,element:Ct,color:wt}))};for(let se of Z)(se.status??"pending")==="pending"&&ie(se.id,se.linkedSelector,se.elements,se.color);M&&!M.domEdit&&M.text.trim()&&ie(oo,M.linkedSelector,M.elements,r.activeColor);for(let se of le)se.captured||ie(`style-${se.selector}`,se.selector,[se.element],r.activeColor);for(let se of ae)se.captured||ie(`text-${se.selector}`,se.selector,[se.element],r.activeColor);return b.map(se=>f(Mr,{element:se.element,isSelected:!1,color:se.color,hideTooltip:!0},`send-bundle-${se.id}`))})(),ee&&(()=>{let b=Vt(ee);if(!b||!rr(b,"badge-hover"))return null;let C=Kl([ee],h??new Map,Fi.get(ee)??r.activeColor,Vt);return f(at,{children:f(Mr,{element:b,isSelected:!1,color:C,fillOpacity:.1,hideTooltip:!0,subjectRegistry:I})})})()]})}var n0={capacity:{label:"At capacity",message:"The model provider is temporarily unavailable. Try again shortly."},rate_limited:{label:"Rate limited",message:"The model provider is receiving too many requests. Try again shortly."},timeout:{label:"Timed out",message:"The model took too long to respond. Try again."},connection:{label:"Connection lost",message:"The model provider disconnected before the run completed. Try again."},authentication:{label:"Sign-in required",message:"The model provider needs to be authenticated before this run can continue."},send_rejected:{label:"Not sent",message:"This reply did not reach the thread. Try again when the connection is ready."},failed:{label:"Failed",message:"The model could not complete this run. Try again, or inspect the job diagnostics if the problem continues."}};function r0(e){let t=typeof e=="string"?e:(()=>{try{return JSON.stringify(e)}catch{return String(e??"")}})();return/\b(?:http\s*)?503\b|server at capacity|\bat capacity\b|resource[_\s-]?exhausted|temporarily unavailable/i.test(t)?"capacity":/\b(?:http\s*)?429\b|rate[_\s-]?limit|too many requests/i.test(t)?"rate_limited":/timed?\s*out|timeout/i.test(t)?"timeout":/auth(?:entication|orization)? required|oauth|not authenticated|sign[ -]?in required|unauthorized|\b401\b/i.test(t)?"authentication":/transport channel closed|connection (?:closed|lost|reset)|socket hang up|network error|disconnected/i.test(t)?"connection":"failed"}function Qp(e,t){let n=t??r0(e);return{kind:n,...n0[n]}}function o0(e,t){if(!t||t.size===0)return e;let n=!1,r=e.map(o=>{if(!o.threadId)return o;let i=t.get(o.threadId);return!i||i===o.color?o:(n=!0,{...o,color:i})});return n?r:e}function od(e,t,n){return t&&n?.get(t)||e}var aa="popmelt-status-notices",Gp=50,Zp=2,i0=new Set(["Model","Reviewed","Has a question","Needs decision","Needs review","Applied changes","Replied","Done"]);function ef(e){return e.status!=="done"||e.doneLabel&&i0.has(e.doneLabel)?e:{...e,doneLabel:"Replied"}}function tf(){if(typeof window>"u")return[];try{let e=JSON.parse(localStorage.getItem(aa)||"[]");return(Array.isArray(e)?e:e?.version===Zp&&Array.isArray(e.entries)?e.entries:[]).filter(t=>{if(!t||typeof t!="object")return!1;let n=t;return typeof n.jobId=="string"&&typeof n.color=="string"&&(n.status==="done"||n.status==="error")}).map(ef).slice(-Gp)}catch{return[]}}function a0(e){if(!(typeof window>"u"))try{let t=e.filter(zo).map(ef).slice(-Gp);if(t.length===0){localStorage.removeItem(aa);return}let n=JSON.stringify({version:Zp,entries:t});localStorage.getItem(aa)!==n&&localStorage.setItem(aa,n)}catch{}}function zo(e){return e.status==="done"||e.status==="error"}function id(e,t){return!!(t&&e.status==="done"&&e.doneLabel==="Has a question"&&e.threadId&&t.has(e.threadId))}function l0(e,t,n,r,o){return!e&&(t||n)&&(r>0||o===!1)}function s0(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}var d0=['[data-devtools="thread-panel"]:not([aria-hidden="true"])','[data-devtools="imprint-panel"]','[data-popmelt-active-annotation-surface="true"]'].join(", "),nf=500,c0=80,rf=120;function pl(e){return e==="project_model"}var ad=2,la=24,u0=0,ld={display:"flex",alignItems:"center",gap:3,padding:`${ad}px 0`,backgroundColor:"transparent",border:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,height:la,boxSizing:"border-box",whiteSpace:"nowrap",animation:"popmeltJobStatusEnter 180ms ease-out both",transition:"transform 200ms ease, opacity 200ms ease",willChange:"transform, opacity"};function p0(e,t=!1){if(e.find(c=>c.type==="job_started")?.data.kind==="project_model")return"Projecting model";let n=e.filter(c=>c.type==="orientation"),r=n[n.length-1]?.data.orientation?.snapshot?.focus?.trim();if(r)return t||r.length<=40?r:`${r.slice(0,37).trimEnd()}\u2026`;let o=e.filter(c=>c.type==="tool_use");if(o.length===0)return"Starting\u2026";let i=o[o.length-1],a=String(i.data.tool||""),l=i.data.file?String(i.data.file):null,s=l?l.split("/").pop()??l:null,d=i.data.content?String(i.data.content):null;switch(a){case"Read":return s?`Reading ${s}`:"Reading file";case"Edit":return s?`Editing ${s}`:"Editing file";case"Write":return s?`Writing ${s}`:"Writing file";case"Bash":{if(!d)return"Running command";let c=d.split(`
|
|
62
|
-
`)[0].trim();return t||c.length<=40?c:c.slice(0,37)+"\u2026"}case"Glob":return"Searching files";case"Grep":return"Searching code";default:return a?`Using ${a}`:"Working\u2026"}}function f0(e,t=!1){if(!t)return"Failed";let n=Qp(e);return`${n.label} \u2014 ${n.message}`}function h0(e,t=3){let n=e.trim().replace(/\s+/g," ");if(!n)return 0;let r=n.split(" "),o=Math.max(...r.map(s=>s.length)),i=s=>{let d=1,c=0;for(let p of r){let u=c===0?p.length:c+1+p.length;u<=s?c=u:(d+=1,c=p.length)}return d},a=o,l=n.length;for(;a<l;){let s=Math.floor((a+l)/2);i(s)<=Math.max(1,t)?l=s:a=s+1}return a}function sd(e,t){if(e.find(i=>i.type==="job_started"&&i.data.jobId===t)?.data.kind==="project_model")return"Model";let n=[...e].reverse().find(i=>i.type==="done"&&i.data.jobId===t)?.data.result,r=e.some(i=>i.type==="question"&&i.data.jobId===t);if(n?.attention==="response_requested")return"Has a question";if(n?.attention==="decision_required")return"Needs decision";if(n?.attention==="review_required")return"Needs review";if(n?.outcomes?.some(i=>i.kind==="changes_applied"))return"Applied changes";if(r)return"Has a question";if(n?.attention==="response_available")return"Replied";let o=new Set(["Edit","Write"]);return e.some(i=>i.type==="tool_use"&&i.data.jobId===t&&o.has(String(i.data.tool||"")))?"Applied changes":"Replied"}function of(e,t,n=[]){let r=new Map;for(let l of t){if(l.type!=="done"&&l.type!=="error")continue;let s=typeof l.data.jobId=="string"?l.data.jobId:null;s&&r.set(s,l)}if(r.size===0&&n.length===0)return e;let o=new Set(n),i=!1,a=e.map(l=>{let s=r.get(l.jobId);if(!s)return l.status==="queued"&&o.has(l.jobId)?(i=!0,{...l,status:"working"}):l;let d=s.type==="error",c=d?"error":"done",p=d?void 0:sd(t,l.jobId),u=d?String(s.data.message||""):void 0,m=d?!!s.data.cancelled:void 0,h=typeof s.data.threadId=="string"?s.data.threadId:void 0;return l.status===c&&l.doneLabel===p&&l.errorMessage===u&&l.cancelled===m&&l.threadId===(l.threadId||h)?l:(i=!0,{...l,status:c,doneLabel:p,errorMessage:u,cancelled:m,threadId:l.threadId||h})});return i?a:e}function m0(e,t){return t?[...e].reverse():e}function g0({color:e}){let[t,n]=$(0);return Y(()=>{let r=setInterval(()=>{n(o=>(o+1)%2)},250);return()=>clearInterval(r)},[]),f("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?A(at,{children:[f("circle",{cx:"7",cy:"7",r:"2"}),f("circle",{cx:"17",cy:"7",r:"2"}),f("circle",{cx:"7",cy:"17",r:"2"}),f("circle",{cx:"17",cy:"17",r:"2"})]}):A(at,{children:[f("circle",{cx:"12",cy:"6",r:"2"}),f("circle",{cx:"6",cy:"12",r:"2"}),f("circle",{cx:"18",cy:"12",r:"2"}),f("circle",{cx:"12",cy:"18",r:"2"})]})})}function y0({color:e}){return f("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function v0({onCancel:e}){let t=q(null);return Y(()=>{let n=t.current;if(!n)return;let r=a=>{a.stopPropagation(),e()},o=()=>{n.style.opacity="0.5"},i=()=>{n.style.opacity="0.7"};return n.addEventListener("click",r),n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",i),()=>{n.removeEventListener("click",r),n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",i)}},[e]),f("button",{ref:t,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:.7,fontSize:14,padding:"0 2px",lineHeight:1},title:"Cancel",children:"\xD7"})}function b0({onDismiss:e,onHoverChange:t}){let n=q(null),[r,o]=$(!1);return Y(()=>{let i=n.current;if(!i)return;let a=d=>{d.stopPropagation(),e()},l=()=>{o(!0),t?.(!0)},s=()=>{o(!1),t?.(!1)};return i.addEventListener("click",a),i.addEventListener("mouseenter",l),i.addEventListener("mouseleave",s),()=>{i.removeEventListener("click",a),i.removeEventListener("mouseenter",l),i.removeEventListener("mouseleave",s)}},[e,t]),f("button",{ref:n,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:r?1:.3,display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16,padding:0,lineHeight:1,transition:"opacity 120ms ease-out"},title:"Hide","aria-label":"Hide",children:f(sg,{size:12,strokeWidth:2.25})})}function x0({bridge:e,inFlightJobs:t,threadColors:n,isVisible:r,isHidden:o=!1,onHover:i,isInteractionSuppressed:a=!1,clearSignal:l,onClickJob:s,onCancel:d,onHoverJob:c,isConnected:p,dismissedThreadIds:u,acknowledgedThread:m,recoveredAcknowledgedThreadIds:h,recoveredAcknowledgedJobIds:g,recoveredSettledQuestionThreadIds:y,pendingQuestionThreadIds:w,snapPosition:S="bottom-right",currentPathname:v}){let k=q(new Set),[R,P]=$(()=>{let K=tf();return k.current=new Set(K.map(he=>he.jobId)),K}),[_,V]=$(!1),[W,J]=$(null),[B,H]=$(null),[te,Q]=$(!1),[D,N]=$(!1),[I,O]=$("waiting"),T=a||te,G=o||T,F=q(G),ue=q(!1),L=q(null),re=q(null),ne=q(null),z=q(new Set),Te=q(new Set);Y(()=>{T&&(V(!1),J(null),i(!1),c?.(null))},[T,i,c]),Y(()=>{o&&(V(!1),J(null),i(!1),c?.(null))},[o,i,c]),Y(()=>{a0(R)},[R]),Y(()=>{P(K=>o0(K,n))},[n]),Y(()=>{let K=he=>{if(he.key!==aa)return;let ye=tf();P(M=>[...M.filter(Ze=>!zo(Ze)),...ye])};return window.addEventListener("storage",K),()=>window.removeEventListener("storage",K)},[]);let[me,He]=$(()=>typeof window<"u"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});Y(()=>{let K=()=>He({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",K),()=>window.removeEventListener("resize",K)},[]);let Oe=Zh(S,me.w,me.h);Y(()=>{l>0&&P([])},[l]),Y(()=>{!u||u.size===0||P(K=>{let he=K.filter(ye=>!ye.threadId||!u.has(ye.threadId)||!zo(ye));return he.length===K.length?K:he})},[u]),Y(()=>{m&&(Te.current.add(m.threadId),P(K=>{let he=K.filter(ye=>ye.threadId===m.threadId&&zo(ye));return he.forEach(ye=>z.current.add(ye.jobId)),he.length===0?K:K.filter(ye=>!z.current.has(ye.jobId))}))},[m]),Y(()=>{!h||h.size===0||(h.forEach(K=>Te.current.add(K)),P(K=>{let he=K.filter(ye=>ye.threadId&&h.has(ye.threadId)&&zo(ye));return he.forEach(ye=>z.current.add(ye.jobId)),he.length===0?K:K.filter(ye=>!z.current.has(ye.jobId))}))},[h]),Y(()=>{!g||g.size===0||(g.forEach(K=>z.current.add(K)),P(K=>{let he=K.filter(ye=>!g.has(ye.jobId));return he.length===K.length?K:he}))},[g]),Y(()=>{!y||y.size===0||P(K=>{let he=K.filter(ye=>!id(ye,y));return he.length===K.length?K:he})},[y]),Y(()=>{!w||w.size===0||P(K=>{let he=!1,ye=K.map(M=>M.status!=="done"||!M.threadId||!w.has(M.threadId)||M.doneLabel==="Has a question"?M:(he=!0,{...M,doneLabel:"Has a question"}));return he?ye:K})},[w]),Y(()=>{P(K=>{let he=new Set(K.map(Pe=>Pe.jobId)),ye=!1,M=K.map(Pe=>{let je=t[Pe.jobId];return je&&(!Pe.threadId||Pe.color==="#888"||!Pe.kind||!Pe.routePathnames&&je.routePathnames||Pe.global==null&&je.global!=null)?(ye=!0,{...Pe,annotationIds:Pe.annotationIds??je.annotationIds,threadId:Pe.threadId||je.threadId,color:od(Pe.color==="#888"?je.color:Pe.color,Pe.threadId||je.threadId,n),kind:Pe.kind??je.kind,routePathnames:Pe.routePathnames??je.routePathnames,global:Pe.global??je.global}):Pe});for(let[Pe,je]of Object.entries(t)){if(pl(je.kind))continue;let rt=e.events.some(Ue=>Ue.data.jobId===Pe&&Ue.type!=="job_started"),Ye=!!(je.threadId&&Te.current.has(je.threadId)&&!rt);!he.has(Pe)&&!z.current.has(Pe)&&!Ye&&(M.push({jobId:Pe,annotationIds:je.annotationIds,color:od(je.color,je.threadId,n),status:"queued",kind:je.kind,threadId:je.threadId,routePathnames:je.routePathnames,global:je.global}),ye=!0)}let Ze=new Set(Object.keys(t)),Je=new Set(e.activeJobIds),ot=M.filter(Pe=>pl(Pe.kind)?!1:Pe.status!=="queued"?!0:Ze.has(Pe.jobId)||Je.has(Pe.jobId));ot.length!==M.length&&(ye=!0);let st=new Set(ot.map(Pe=>Pe.jobId));for(let Pe of e.activeJobIds)if(!st.has(Pe)&&!z.current.has(Pe)){let je=e.events.find(Jt=>Jt.type==="job_started"&&Jt.data.jobId===Pe),rt=je?.data.kind;if(pl(rt))continue;let Ye=je?.data?.threadId,Ue=e.events.some(Jt=>Jt.data.jobId===Pe&&Jt.type!=="job_started");if(Ye&&Te.current.has(Ye)&&!Ue)continue;let ct=typeof je?.data.color=="string"?je.data.color:rt==="synthesize"||rt==="project_model"?"#000000":"#888",_t=od(ct,Ye,n);ot.push({jobId:Pe,annotationIds:Array.isArray(je?.data.annotationIds)?je.data.annotationIds.filter(Jt=>typeof Jt=="string"):void 0,color:_t,status:"working",kind:rt,threadId:Ye,routePathnames:void 0,global:je?.data.global===!0||rt==="synthesize"||rt==="project_model"}),ye=!0}let St=of(ot.filter(Pe=>!z.current.has(Pe.jobId)),e.events,e.activeJobIds).filter(Pe=>!id(Pe,y));return ye||St!==ot?St:K})},[t,e.activeJobIds,e.events,y,n]),Y(()=>{if(e.activeJobIds.length===0)return;let K=new Set(e.activeJobIds);P(he=>he.map(ye=>K.has(ye.jobId)&&ye.status!=="done"&&ye.status!=="error"?{...ye,status:"working"}:ye))},[e.activeJobIds]),Y(()=>{P(K=>{let he=of(K.filter(M=>!z.current.has(M.jobId)),e.events).filter(M=>!id(M,y));if(!u||u.size===0)return he;let ye=he.filter(M=>!M.threadId||!u.has(M.threadId)||!zo(M));return ye.length===he.length?he:ye})},[e.events,u,y]);let We=U(K=>K.global||!v||!K.routePathnames||K.routePathnames.length===0?!0:K.routePathnames.includes(v),[v]),ve=xe(()=>R.filter(K=>!pl(K.kind)&&We(K)),[R,We]),fe=ve.some(zo),be=l0(o,r,fe,ve.length,p),pt=ve.map(K=>`${K.jobId}:${K.status}:${K.color}:${K.threadId??""}`).join("|");Dt(()=>{let K=F.current;if(F.current=G,L.current&&(clearTimeout(L.current),L.current=null),re.current&&(clearTimeout(re.current),re.current=null),ne.current&&(clearTimeout(ne.current),ne.current=null),!ue.current){if(G||!be){N(!1),O("waiting");return}return ve.forEach(he=>k.current.add(he.jobId)),N(!0),O("waiting"),L.current=setTimeout(()=>{O("fading"),L.current=null,re.current=setTimeout(()=>{ue.current=!0,O("complete"),re.current=null,ne.current=setTimeout(()=>{N(!1),ne.current=null},nf)},rf)},c0),()=>{L.current&&(clearTimeout(L.current),L.current=null),re.current&&(clearTimeout(re.current),re.current=null),ne.current&&(clearTimeout(ne.current),ne.current=null)}}if(G||!be){N(!1);return}if(K)return N(!0),ne.current=setTimeout(()=>{N(!1),ne.current=null},nf),()=>{ne.current&&(clearTimeout(ne.current),ne.current=null)}},[pt,G,be,ve]);let Ce=q(null);Dt(()=>{if(!be){Q(!1);return}let K=Ce.current;if(!K)return;let he=null,ye=new Set,M=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>st()),Ze=()=>{let rt=[document],Ye=K.getRootNode();return Ye!==document&&"querySelectorAll"in Ye&&rt.unshift(Ye),rt},Je=()=>{let rt=new Set;for(let Ye of Ze())Ye.querySelectorAll(d0).forEach(Ue=>rt.add(Ue));return Array.from(rt)},ot=()=>{he=null;let rt=K.getBoundingClientRect(),Ye=Je();for(let ct of Ye)M&&!ye.has(ct)&&(ye.add(ct),M.observe(ct));let Ue=Ye.some(ct=>{let _t=window.getComputedStyle(ct);return _t.display==="none"||_t.visibility==="hidden"||_t.opacity==="0"?!1:s0(rt,ct.getBoundingClientRect())});Q(ct=>ct===Ue?ct:Ue)};function st(){he===null&&(he=window.requestAnimationFrame(ot))}M?.observe(K);let St=K.getRootNode(),Pe=typeof MutationObserver>"u"?null:new MutationObserver(st);Pe&&St instanceof Node&&Pe.observe(St,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-hidden","style"]});let je=typeof MutationObserver>"u"||!document.body?null:new MutationObserver(st);return je?.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-popmelt-active-annotation-surface"]}),window.addEventListener("resize",st),window.addEventListener("scroll",st,!0),window.addEventListener("pointermove",st,{passive:!0}),ot(),()=>{he!==null&&window.cancelAnimationFrame(he),M?.disconnect(),Pe?.disconnect(),je?.disconnect(),window.removeEventListener("resize",st),window.removeEventListener("scroll",st,!0),window.removeEventListener("pointermove",st)}},[be,S,ve.length]),Y(()=>{if(!be)return;let K=Ce.current;if(!K)return;let he=()=>{V(!0),i(!0)},ye=()=>{V(!1),J(null),i(!1),c?.(null)};return K.addEventListener("mouseenter",he),K.addEventListener("mouseleave",ye),()=>{K.removeEventListener("mouseenter",he),K.removeEventListener("mouseleave",ye)}},[be,i,c]);let Ae=q(new Map),De=U((K,he)=>{he?Ae.current.set(K,he):Ae.current.delete(K)},[]);if(Y(()=>{if(!be)return;let K=[];for(let he of ve){let ye=Ae.current.get(he.jobId);if(!ye)continue;if(s){let st=he.jobId,St=he.threadId,Pe=he.annotationIds,je=()=>s(st,St,Pe);ye.addEventListener("click",je),K.push(()=>ye.removeEventListener("click",je))}let M=he.jobId,Ze=he.annotationIds,Je=()=>{J(M),c?.(M,Ze)},ot=()=>{J(st=>st===M?null:st),c?.(null)};ye.addEventListener("mouseenter",Je),ye.addEventListener("mouseleave",ot),K.push(()=>{ye.removeEventListener("mouseenter",Je),ye.removeEventListener("mouseleave",ot)})}return()=>K.forEach(he=>he())},[be,ve,s,c]),!be)return null;let Ge={working:3,queued:2,error:1,done:0},qe=[],_e=new Map;for(let K of ve){if(!K.threadId){qe.push(K);continue}let he=_e.get(K.threadId);(!he||Ge[K.status]>Ge[he.status]||Ge[K.status]===Ge[he.status])&&_e.set(K.threadId,K)}for(let K of _e.values())qe.push(K);let dt=qe.filter(K=>K.status==="queued"),tt=new Map;dt.forEach((K,he)=>{tt.set(K.jobId,`(${he+1}/${dt.length})`)});let we=!_&&!D&&qe.length>1,nt=em(S),jt=tm(S),At=m0(qe,nt),lt=lu(e.events),Le=new Map(qe.map((K,he)=>[K.jobId,he])),Xt=!ue.current&&I==="waiting",Be=!ue.current&&I==="fading",Mt=T||Xt;return A("div",{ref:Ce,style:{...Oe,zIndex:10001,opacity:Mt?0:1,visibility:Mt?"hidden":"visible",pointerEvents:Mt?"none":"auto",transition:Be?`opacity ${rf}ms ease-out`:"none"},"aria-hidden":Mt||void 0,"data-devtools":!0,children:[f("style",{children:`
|
|
63
|
-
@keyframes popmeltJobStatusEnter {
|
|
64
|
-
from { opacity: 0; transform: translateX(12px); }
|
|
65
|
-
to { opacity: 1; transform: translateX(0); }
|
|
66
|
-
}
|
|
67
|
-
@media (prefers-reduced-motion: reduce) {
|
|
68
|
-
@keyframes popmeltJobStatusEnter {
|
|
69
|
-
from { opacity: 1; transform: none; }
|
|
70
|
-
to { opacity: 1; transform: none; }
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
`}),At.map((K,he)=>{let ye=he===At.length-1,M=Le.get(K.jobId)??he,Ze=qe.length-1-M,Je=W===K.jobId,ot=Math.max(160,Math.min(360,me.w-32)),st=K.status==="working"&<.has(K.jobId),St=ct=>st?"Approval needed":K.status==="working"?p0(e.events.filter(_t=>_t.data.jobId===K.jobId),ct):K.status==="queued"?`Queued ${tt.get(K.jobId)??""}`:K.status==="done"?K.doneLabel||"Done":K.cancelled?"Cancelled":f0(K.errorMessage||"",ct),Pe=St(!1),je=St(!0),rt=Je?je:Pe,Ye=h0(rt,3),Ue=Je&&(je!==Pe||Ye>24);return f("div",{style:{position:"relative",zIndex:M+1,marginBottom:we?ye?0:-18:ye?0:u0,transform:we?`scale(${Math.max(.94,1-Ze*.02)})`:"scale(1)",opacity:1,transformOrigin:`${nt?"top":"bottom"} ${jt?"right":"left"}`,transition:D?"none":"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:f("div",{ref:ct=>De(K.jobId,ct),style:{...ld,animation:!ue.current||k.current.has(K.jobId)?"none":ld.animation,position:"relative",overflow:"visible",cursor:s?"pointer":void 0,height:Ue?"auto":la,minHeight:la,alignItems:Ue?"flex-start":"center"},"aria-label":rt,children:A("div",{style:{display:"flex",alignItems:Ue?"flex-start":"center",gap:3,height:Ue?"auto":la-ad*2,minHeight:la-ad*2,maxWidth:Ue?ot:void 0,boxSizing:"border-box",padding:Ue?"3px 5px 3px 8px":"0 5px 0 8px",margin:0,backgroundColor:K.color,color:"#ffffff",borderRadius:gc},children:[A("span",{style:{display:"flex",alignItems:Ue?"flex-start":"center",gap:3,minWidth:0,opacity:B===K.jobId?.3:1,transition:"opacity 120ms ease-out"},children:[K.status==="working"&&(st?f(Zc,{size:12,"aria-label":"Approval needed"}):f(g0,{color:"#ffffff"})),K.status==="queued"&&f(Gc,{size:12,strokeWidth:2.25,color:"#ffffff",style:{opacity:.6}}),K.status==="done"&&(K.doneLabel==="Has a question"?f(ig,{size:12,strokeWidth:2.25,style:{marginRight:3}}):K.doneLabel==="Replied"?f(ag,{size:12,strokeWidth:2.25}):f(y0,{color:"#ffffff"})),K.status==="error"&&f(lg,{size:12,strokeWidth:2.25}),f("span",{style:{opacity:K.status==="queued"?.6:1,display:Ue?"-webkit-box":"block",WebkitBoxOrient:Ue?"vertical":void 0,WebkitLineClamp:Ue?3:void 0,whiteSpace:Ue?"normal":"nowrap",textWrap:Ue?"balance":void 0,lineHeight:"14px",width:Ue?`min(${Ye+.5}ch, ${ot-48}px)`:void 0,maxWidth:Ue?ot-48:160,overflow:"hidden",textOverflow:"ellipsis",transition:"opacity 120ms ease-out"},children:rt})]}),K.status==="working"&&d&&f(v0,{onCancel:()=>d(K.jobId)}),(K.status==="done"||K.status==="error")&&f(b0,{onHoverChange:ct=>H(ct?K.jobId:null),onDismiss:()=>{H(null),P(ct=>ct.filter(_t=>K.threadId?_t.threadId!==K.threadId:_t.jobId!==K.jobId))}})]})})},K.jobId)}),p===!1&&R.length>0&&f("div",{style:ld,children:A("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:0,backgroundColor:"#f59e0b",color:"#ffffff",borderRadius:gc},children:[f("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),f("span",{children:"Reconnecting\u2026"})]})})]})}function w0({children:e}){let[t,n]=$(null);return Dt(()=>{let r=document.createElement("div");return r.setAttribute("data-popmelt-top-layer-host",""),Object.assign(r.style,{position:"fixed",inset:"0",width:"100dvw",height:"100dvh",overflow:"visible",pointerEvents:"none",zIndex:String(2147483647)}),document.documentElement.appendChild(r),n(r),()=>r.remove()},[]),t?tu(e,t):null}var S0=`
|
|
74
|
-
${Vh}
|
|
75
|
-
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
76
|
-
:host {
|
|
77
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
78
|
-
font-size: 12px;
|
|
79
|
-
color: #1f2937;
|
|
80
|
-
line-height: 1.5;
|
|
81
|
-
-webkit-font-smoothing: antialiased;
|
|
82
|
-
}
|
|
83
|
-
/* Direct reset for all Popmelt chrome elements.
|
|
84
|
-
Beats broad selectors from mirrored host stylesheets (e.g. div, span, *).
|
|
85
|
-
Inline styles on individual elements still win (higher specificity).
|
|
86
|
-
color: inherit (not a fixed value) so children properly inherit inline
|
|
87
|
-
colors set by parents \u2014 e.g. thread header sets color:#fff, child spans
|
|
88
|
-
should get white, not this reset gray. */
|
|
89
|
-
:host *:not([data-popmelt-panel]):not([data-popmelt-panel] *):not([data-popmelt-font="sans"]):not([data-popmelt-font="sans"] *) {
|
|
90
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
91
|
-
font-size: 12px;
|
|
92
|
-
color: inherit;
|
|
93
|
-
line-height: 1.5;
|
|
94
|
-
-webkit-font-smoothing: antialiased;
|
|
95
|
-
}
|
|
96
|
-
/* Thread typography has its own role-based type system. Let descendants
|
|
97
|
-
inherit the nearest thread style so conversational UI can use Geist while
|
|
98
|
-
explicitly monospaced headers, code, and tool payloads remain monospaced. */
|
|
99
|
-
:host [data-devtools="thread-panel"]:not([data-popmelt-panel]) * {
|
|
100
|
-
font-family: inherit;
|
|
101
|
-
font-size: inherit;
|
|
102
|
-
line-height: inherit;
|
|
103
|
-
}
|
|
104
|
-
/* Break font inheritance for component previews \u2014 let mirrored host
|
|
105
|
-
page styles (Tailwind, globals) apply instead of Popmelt's monospace. */
|
|
106
|
-
[data-popmelt-panel] {
|
|
107
|
-
font: 16px / 1.5 system-ui, -apple-system, sans-serif;
|
|
108
|
-
color: initial;
|
|
109
|
-
-webkit-font-smoothing: auto;
|
|
110
|
-
}
|
|
111
|
-
`;function k0({children:e}){return Y(()=>{Kh(document)},[]),A(at,{children:[f("style",{children:S0}),e]})}function I0(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function E0(e){let t=new Map,n=e.firstChild;function r(a){if(t.has(a)||a.hasAttribute("data-pm-mirror"))return;let l=a.cloneNode(!0);l.setAttribute("data-pm-mirror",""),e.insertBefore(l,n),t.set(a,l)}function o(a){let l=t.get(a);l&&(l.remove(),t.delete(a))}for(let a of document.querySelectorAll('link[rel="stylesheet"], style'))a.getRootNode()===document&&r(a);try{document.adoptedStyleSheets.length>0&&(e.adoptedStyleSheets=[...document.adoptedStyleSheets,...e.adoptedStyleSheets])}catch{}let i=new MutationObserver(a=>{for(let l of a)if(l.type==="childList"){for(let s of l.addedNodes)s instanceof Element&&I0(s)&&r(s);for(let s of l.removedNodes)s instanceof Element&&o(s)}});return i.observe(document.head,{childList:!0}),document.body&&i.observe(document.body,{childList:!0}),()=>{i.disconnect();for(let a of t.values())a.remove();t.clear()}}function T0({children:e,zIndex:t=1e4}){let n=q(null),[r,o]=$(null),[i,a]=$(null);return Dt(()=>{let l=n.current;if(!l||l.shadowRoot)return;let s=l.attachShadow({mode:"open"}),d=document.createElement("div");d.setAttribute("data-popmelt-root",""),d.setAttribute("data-popmelt-canvas-block",""),s.appendChild(d),o(s),a(d)},[]),Y(()=>{if(r)return E0(r)},[r]),A(at,{children:[f("div",{ref:n,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"auto",zIndex:t}}),i&&tu(e,i)]})}function io({src:e,alt:t="",...n}){let r=typeof e=="string"&&Ud(e),[o,i]=$(null);return Y(()=>{if(!r||typeof e!="string")return;let a=new AbortController,l;return Kt(e,{signal:a.signal,cache:"no-store"}).then(async s=>{if(!s.ok)return;let d=await s.blob();a.signal.aborted||(l=URL.createObjectURL(d),i({src:e,objectUrl:l}))}).catch(()=>{}),()=>{a.abort(),l&&URL.revokeObjectURL(l)}},[e,r]),f("img",{...n,alt:t,src:r?o?.src===e?o.objectUrl:void 0:e})}function C0(e,t){let n=new Set;for(let r of e){if(r.type!=="done"&&r.type!=="error")continue;let o=String(r.data.jobId??"");o&&n.add(o)}return t&&n.add(t),n}function af(e,t,n){let r=new Set(t);return e.filter(o=>!r.has(o)&&!n.has(o))}function A0(e,t,n,r,o){if(!e)return null;let i=a=>!o.has(a)&&(t[a]?.threadId===e||r[a]===e);return n.find(i)??Object.keys(t).find(i)??null}function M0(e,t){return new Set(e.filter(n=>n.lastMessageRole==="human"&&!t.has(n.id)).map(n=>n.id))}function R0(e){return new Set(e.flatMap(t=>t.acknowledgedJobIds??[]))}function L0(e){return new Set(e.filter(t=>!t.pendingQuestion).map(t=>t.id))}function $0(e,t){return t?e.some(n=>n.jobId===t&&(n.role==="assistant"||!!n.error||!!n.cancelled)&&!n.queued):!0}function dd(e,t){let n=`${t||"/"}:`;return e.startsWith(n)?e.slice(n.length)||null:e.startsWith("/")?null:e}function P0(e,t,n){let r=new Map,o=new Map;for(let i of e)if((i.targetBindings?.length??0)===0)for(let a of i.elementIdentifiers??[]){let l=dd(a,t);l&&o.set(l,(o.get(l)??0)+1)}for(let i of e){if(!i.lifecycle?.jobId)continue;let a={...i.lifecycle,jobId:i.lifecycle.jobId,color:i.color,title:i.title,annotationNumber:i.annotationNumber};if((i.targetBindings?.length??0)>0){for(let l of i.targetBindings??[]){if(l.anchor.type==="opaque"){let d=n?.(l.anchor);if(!d?.length)continue;r.set(l.id,{...a,targetBindingId:l.id,selectors:d,continuationEligible:l.continuationEligible??!1});continue}if(l.anchor.pathname!==t)continue;let s=[l.anchor.runtimeSelector,l.anchor.structuralSelector,...l.anchor.legacySelectors??[]].filter(d=>!!d);r.set(l.id,{...a,targetBindingId:l.id,selectors:s,continuationEligible:l.continuationEligible??!1,...l.anchor.targetFingerprint?{targetFingerprint:l.anchor.targetFingerprint}:{}})}continue}for(let l of i.elementIdentifiers??[]){let s=dd(l,t);s&&![...r.values()].some(d=>d.selectors?.includes(s))&&r.set(`legacy:${i.lifecycle.threadId}:${s}`,{...a,selectors:[s],continuationEligible:(i.elementIdentifiers?.length??0)===1&&o.get(s)===1})}}return r}function j0(e,t){return e.targetBindings?.length?e.targetBindings.flatMap(({anchor:n})=>{if(n.type==="opaque"){let o={adapter:n.adapter,key:n.key};return[{selector:cs(o),subject:o}]}let r=n.structuralSelector??n.runtimeSelector;return n.pathname===t&&r?[{selector:r}]:[]}).slice(0,8):(e.elementIdentifiers??[]).flatMap(n=>{let r=dd(n,t);return r?[{selector:r}]:[]}).slice(0,8)}function z0({messages:e,renderMessage:t,onChange:n}){return e.length?A("section",{"aria-label":"Queued messages",style:{display:"flex",flexDirection:"column",gap:12,borderTop:"1px solid var(--popmelt-thread-hairline)",paddingTop:8},children:[A("div",{style:{fontSize:12,color:"var(--popmelt-thread-muted)"},children:["Queued \xB7 ",e.length]}),e.map(r=>f(D0,{message:r,renderMessage:t,onChange:n},r.lifecycle?.submissionIds[0]??`${r.jobId}-${r.timestamp}`))]}):null}function D0({message:e,renderMessage:t,onChange:n}){let[r,o]=$(!1),[i,a]=$(e.replyToQuestion??""),[l,s]=$(!1),[d,c]=$(""),p=!!(n&&e.lifecycle?.submissionIds[0])&&!l,u=async h=>{if(!(!p||!n||h==="")){s(!0),c("");try{await n(e,h),o(!1)}catch(g){c(g instanceof Error?g.message:"Could not update queued message.")}finally{s(!1)}}},m={display:"inline-flex",alignItems:"center",justifyContent:"center",background:"none",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",padding:6};return A("div",{"data-queued-reply":!0,style:{alignSelf:"flex-end",display:"flex",flexDirection:"column",gap:4,width:"100%",maxWidth:280,flexShrink:0},children:[r&&n?f("textarea",{autoFocus:!0,"aria-label":"Edit queued message",value:i,disabled:l,onChange:h=>a(h.target.value),onKeyDown:h=>{h.key==="Escape"&&(h.stopPropagation(),l||o(!1)),h.key==="Enter"&&(h.metaKey||h.ctrlKey)&&!h.nativeEvent.isComposing&&(h.preventDefault(),h.stopPropagation(),u(i.trim()))},style:{width:"100%",boxSizing:"border-box",minHeight:90,resize:"vertical",font:"inherit",lineHeight:1.5,color:"inherit",background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-hairline)",borderRadius:12,padding:12}}):t(e),n&&f("div",{style:{display:"flex",justifyContent:"flex-end",gap:2},children:r?A(at,{children:[f("button",{type:"button",title:"Save queued message","aria-label":"Save queued message",disabled:!p||!i.trim(),style:m,onClick:()=>{u(i.trim())},children:f(Zr,{size:14})}),f("button",{type:"button",title:"Cancel editing","aria-label":"Cancel editing",disabled:l,style:m,onClick:()=>o(!1),children:f(Na,{size:14})})]}):A(at,{children:[f("button",{type:"button",title:"Edit queued message","aria-label":"Edit queued message",disabled:!p,style:m,onClick:()=>{a(e.replyToQuestion??""),c(""),o(!0)},children:f(Qc,{size:14})}),f("button",{type:"button",title:"Delete queued message","aria-label":"Delete queued message",disabled:!p,style:m,onClick:()=>{u(null)},children:f(dg,{size:14})})]})}),d&&f("div",{role:"alert",style:{fontSize:12,color:"#dc2626"},children:d})]})}var lf={background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},cd={background:"transparent",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:"inherit",fontSize:11,fontWeight:650,padding:"6px 9px",textAlign:"left"};function O0({approval:e,accentColor:t,connected:n,decide:r}){let[o,i]=$(!1),[a,l]=$(!1),[s,d]=$(""),c=e.status==="pending",p=async u=>{if(!(a||!n)){l(!0),d("");try{await r(u)}catch(m){d(m instanceof Error?m.message:"Could not send decision.")}finally{l(!1)}}};return c?A("div",{"data-popmelt-approval":e.status,style:lf,children:[A("button",{type:"button","aria-expanded":o,onClick:()=>i(!o),style:{background:"none",border:0,padding:0,display:"flex",alignItems:"center",gap:8,color:"var(--popmelt-thread-primary)",font:"inherit",fontSize:14,fontWeight:650,cursor:"pointer",textAlign:"left"},children:[f(Zc,{size:16,color:t,"aria-hidden":"true"}),f("span",{style:{flex:1},children:c?"Permission needed":{pending:"Permission needed",allowed:"Allowed once",denied:"Denied",expired:"Request expired"}[e.status]}),f(ui,{size:14,"aria-hidden":"true",style:{transform:o?"rotate(180deg)":"none"}})]}),c&&A("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35},children:[e.summary,e.phase==="parked"&&f("div",{role:"status",children:"Parked \xB7 other tasks can continue. Approve to run next."})]}),f("div",{title:e.cwd,style:{fontSize:11,color:"var(--popmelt-thread-muted-strong)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.cwd}),o&&A("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",paddingLeft:12,color:"var(--popmelt-thread-secondary)",fontSize:12},children:[A("div",{children:["One-time permission for this"," ",e.kind==="command"?"command":"file change","."]}),f("pre",{style:{fontSize:11,whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:200,overflow:"auto",marginBottom:0},children:e.details})]}),c&&A("div",{style:{display:"flex",gap:6},children:[f("button",{type:"button","data-approval-decision":"allow",disabled:a||!n,style:cd,onClick:()=>{p("allow")},children:"Allow once"}),f("button",{type:"button","data-approval-decision":"deny",disabled:a||!n,style:cd,onClick:()=>{p("deny")},children:"Deny"})]}),c&&!n&&f("div",{role:"status",style:{fontSize:12},children:"Reconnecting\u2026"}),s&&f("div",{role:"alert",style:{fontSize:12},children:s})]}):f(sf,{approval:e})}function sf({approval:e}){let t=e.kind==="command"?Vc:eg;return A("div",{"data-popmelt-approval":e.status,title:e.details,style:{display:"flex",alignItems:"center",gap:6,color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:[f(t,{size:14,"aria-hidden":"true"}),A("span",{children:[e.status==="allowed"?e.phase==="queued"?"Allowed once \xB7 queued next":"Allowed once":e.status==="denied"?"Denied":e.expiryReason==="no_response"?"No response received":"Request expired"," ","\xB7 ",e.summary]})]})}function N0({bridgeUrl:e,threadId:t,visible:n,active:r,onPendingChange:o}){let[i,a]=$([]),[l,s]=$(!1),d=i.some(c=>c.threadId===t&&c.status==="pending");return Y(()=>(o(d),()=>o(!1)),[o,d]),Y(()=>{if(a([]),s(!1),!n)return;let c=new AbortController,p,u=async()=>{try{let m=await Kt(`${e}/approvals?threadId=${encodeURIComponent(t)}`,{signal:c.signal});if(!m.ok)throw new Error("Approval fetch failed");let h=await m.json();c.signal.aborted||(a(Array.isArray(h.approvals)?h.approvals:[]),s(!0))}catch{c.signal.aborted||s(!1)}!c.signal.aborted&&r&&(p=setTimeout(()=>{u()},1500))};return u(),()=>{c.abort(),clearTimeout(p)}},[e,t,n,r]),{approvals:i,connected:l,decide:async(c,p)=>{let u=await Kt(`${e}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:c.id,threadId:t,jobId:c.jobId,decision:p})}),m=await u.json();if(!u.ok)throw new Error(m.error||"Could not send decision.");a(Array.isArray(m.approvals)?m.approvals:[])}}}var ud="ui-monospace, SFMono-Regular, Menlo, monospace",H0=0;function _0({size:e=11}){let t=++H0,n=`pm-vs-m${t}`,r=`pm-vs-f0-${t}`,o=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return A("svg",{width:e,height:e,viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"inline",verticalAlign:"middle",marginLeft:3,flexShrink:0},children:[f("mask",{id:n,style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M70.9119 99.3171C72.4869 99.9307 74.2828 99.8914 75.8725 99.1264L96.4608 89.2197C98.6242 88.1787 100 85.9892 100 83.5872V16.4133C100 14.0113 98.6243 11.8218 96.4609 10.7808L75.8725 0.873756C73.7862 -0.130129 71.3446 0.11576 69.5135 1.44695C69.252 1.63711 69.0028 1.84943 68.769 2.08341L29.3551 38.0415L12.1872 25.0096C10.589 23.7965 8.35363 23.8959 6.86933 25.2461L1.36303 30.2549C-0.452552 31.9064 -0.454633 34.7627 1.35853 36.417L16.2471 50.0001L1.35853 63.5832C-0.454633 65.2374 -0.452552 68.0938 1.36303 69.7453L6.86933 74.7541C8.35363 76.1043 10.589 76.2037 12.1872 74.9905L29.3551 61.9587L68.769 97.9167C69.3925 98.5406 70.1246 99.0104 70.9119 99.3171ZM75.0152 27.2989L45.1091 50.0001L75.0152 72.7012V27.2989Z",fill:"white"})}),A("g",{mask:`url(#${n})`,children:[f("path",{d:"M96.4614 10.7962L75.8569 0.875542C73.4719 -0.272773 70.6217 0.211611 68.75 2.08333L1.29858 63.5832C-0.515693 65.2373 -0.513607 68.0937 1.30308 69.7452L6.81272 74.754C8.29793 76.1042 10.5347 76.2036 12.1338 74.9905L93.3609 13.3699C96.086 11.3026 100 13.2462 100 16.6667V16.4275C100 14.0265 98.6246 11.8378 96.4614 10.7962Z",fill:"#0065A9"}),f("g",{filter:`url(#${r})`,children:f("path",{d:"M96.4614 89.2038L75.8569 99.1245C73.4719 100.273 70.6217 99.7884 68.75 97.9167L1.29858 36.4169C-0.515693 34.7627 -0.513607 31.9063 1.30308 30.2548L6.81272 25.246C8.29793 23.8958 10.5347 23.7964 12.1338 25.0095L93.3609 86.6301C96.086 88.6974 100 86.7538 100 83.3334V83.5726C100 85.9735 98.6246 88.1622 96.4614 89.2038Z",fill:"#007ACC"})}),f("g",{filter:`url(#${o})`,children:f("path",{d:"M75.8578 99.1263C73.4721 100.274 70.6219 99.7885 68.75 97.9166C71.0564 100.223 75 98.5895 75 95.3278V4.67213C75 1.41039 71.0564 -0.223106 68.75 2.08329C70.6219 0.211402 73.4721 -0.273666 75.8578 0.873633L96.4587 10.7807C98.6234 11.8217 100 14.0112 100 16.4132V83.5871C100 85.9891 98.6234 88.1786 96.4586 89.2196L75.8578 99.1263Z",fill:"#1F9CF0"})}),f("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M70.8511 99.3171C72.4261 99.9306 74.2221 99.8913 75.8117 99.1264L96.4 89.2197C98.5634 88.1787 99.9392 85.9892 99.9392 83.5871V16.4133C99.9392 14.0112 98.5635 11.8217 96.4001 10.7807L75.8117 0.873695C73.7255 -0.13019 71.2838 0.115699 69.4527 1.44688C69.1912 1.63705 68.942 1.84937 68.7082 2.08335L29.2943 38.0414L12.1264 25.0096C10.5283 23.7964 8.29285 23.8959 6.80855 25.246L1.30225 30.2548C-0.513334 31.9064 -0.515415 34.7627 1.29775 36.4169L16.1863 50L1.29775 63.5832C-0.515415 65.2374 -0.513334 68.0937 1.30225 69.7452L6.80855 74.754C8.29285 76.1042 10.5283 76.2036 12.1264 74.9905L29.2943 61.9586L68.7082 97.9167C69.3317 98.5405 70.0638 99.0104 70.8511 99.3171ZM74.9544 27.2989L45.0483 50L74.9544 72.7012V27.2989Z",fill:`url(#${i})`})})]}),A("defs",{children:[A("filter",{id:r,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"4.16667"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),f("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),A("filter",{id:o,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"4.16667"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),f("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),A("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[f("stop",{stopColor:"white"}),f("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var F0=/^#[0-9a-fA-F]{3,8}$/,W0=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,B0=new Set(["black","white","red","blue","green","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]);function J0(e){let t=e.trim();return F0.test(t)||W0.test(t)||B0.has(t.toLowerCase())}function pd(e,t){return f("span",{style:{display:"inline-block",width:10,height:10,backgroundColor:e,border:"1px solid rgba(0,0,0,0.15)",borderRadius:2,verticalAlign:"middle",marginRight:3}},t)}function sa(e){let t=[],n=/(`[^`]+`)|(\*\*\*(.+?)\*\*\*)|(\*\*(.+?)\*\*)|(\*(.+?)\*)|(_([^_]+?)_)|(\[([^\]]+)\]\(([^)]+)\))|(#[0-9a-fA-F]{3,8})(?![0-9a-fA-F])|((?:rgba?|hsla?|oklch)\([^)]+\))/g,r=0,o;for(;(o=n.exec(e))!==null;){if(o.index>r&&t.push(e.slice(r,o.index)),o[1]){let i=o[1].slice(1,-1);J0(i)&&t.push(pd(i,`sw-${o.index}`)),t.push(f("code",{style:{fontFamily:ud,fontSize:"0.9em",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2},children:i},o.index))}else if(o[3]!==void 0)t.push(f("strong",{children:f("em",{children:o[3]})},o.index));else if(o[5]!==void 0)t.push(f("strong",{children:o[5]},o.index));else if(o[7]!==void 0)t.push(f("em",{children:o[7]},o.index));else if(o[9]!==void 0)t.push(f("em",{children:o[9]},o.index));else if(o[11]!==void 0&&o[12]!==void 0){let i=o[12],a=!/^https?:\/\/|^mailto:/i.test(i),l=a?`vscode://file/${i}`:i;a?t.push(A("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline",whiteSpace:"nowrap",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2,fontFamily:ud,fontSize:"0.9em"},children:[o[11],f(_0,{})]},o.index)):t.push(f("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline"},children:o[11]},o.index))}else o[13]!==void 0?(t.push(pd(o[13],`sw-${o.index}`)),t.push(o[13])):o[14]!==void 0&&(t.push(pd(o[14],`sw-${o.index}`)),t.push(o[14]));r=o.index+o[0].length}return r<e.length&&t.push(e.slice(r)),t}function sr(e){let t=e.split(`
|
|
112
|
-
`),n=[],r=0;for(;r<t.length;){let o=t[r];if(o.trimStart().startsWith("```")){let l=[];for(r++;r<t.length&&!t[r].trimStart().startsWith("```");)l.push(t[r]),r++;r++,n.push(f("pre",{style:{fontFamily:ud,fontSize:"0.9em",lineHeight:1.4,backgroundColor:"rgba(0,0,0,0.04)",padding:"6px 8px",margin:"4px 0",overflowX:"auto",whiteSpace:"pre"},children:l.join(`
|
|
113
|
-
`)},n.length));continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(o)){n.push(f("hr",{style:{border:"none",borderTop:"1px solid rgba(0,0,0,0.1)",margin:"6px 0"}},n.length)),r++;continue}let i=o.match(/^(#{1,4})\s+(.+)/);if(i){let l=i[1].length,s={1:16,2:14,3:13,4:12};n.push(f("div",{style:{fontWeight:700,fontSize:s[l]??12,margin:"8px 0 2px"},children:sa(i[2])},n.length)),r++;continue}if(o.trimStart().startsWith("|")&&o.trimEnd().endsWith("|")){let l=[];for(;r<t.length&&t[r].trimStart().startsWith("|")&&t[r].trimEnd().endsWith("|");)l.push(t[r]),r++;let s=g=>/^\|[\s\-:|]+\|$/.test(g),d=l.filter(g=>!s(g)),c=g=>g.split("|").slice(1,-1).map(y=>y.trim()),p=g=>/^\*\*.+\*\*$/.test(g)||/^__.+__$/.test(g),u=d.map(c),m=u.length>1&&u.slice(1).every(g=>g[0]&&p(g[0])),h=u.length>0&&u[0].every(g=>p(g));n.push(f("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:f("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:f("tbody",{children:d.map((g,y)=>f("tr",{children:c(g).map((w,S)=>f(y===0?"th":"td",{style:{border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:y===0?600:400,minWidth:60,whiteSpace:"nowrap",...S===0&&m||y===0&&h?{position:"sticky",...S===0&&m?{left:0}:{},...y===0&&h?{top:0}:{},background:"#fff",zIndex:S===0&&m&&y===0&&h?2:1}:{}},children:sa(w)},S))},y))})})},n.length));continue}if(o.match(/^(\s*)([-*])\s+(.+)/)){let l=[];for(;r<t.length;){let s=t[r].match(/^\s*[-*]\s+(.+)/);if(s)l.push(s[1]),r++;else if(l.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))l[l.length-1]+=" "+t[r].trim(),r++;else break}n.push(f("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:l.map((s,d)=>f("li",{children:sa(s)},d))},n.length));continue}let a=o.match(/^(\s*)(\d+)\.\s+(.+)/);if(a){let l=a[1].length,s=parseInt(a[2],10)||1,d=[],c=null;for(;r<t.length;){let p=t[r],u=p.match(/^(\s*)(\d+)\.\s+(.+)/);if(u&&u[1].length===l)c=[u[3]],d.push(c),r++;else if(c&&p.trim()==="")r++;else if(d.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))c.push(t[r].trim()),r++;else if(c&&/^(Eval|Checks|Sources|Rationale|Prompt|Assertions?|Reason|Why|Expected|Notes?):/i.test(p.trim()))c.push(p.trim()),r++;else if(c&&c.length>1&&p.trim()&&!p.match(/^(#{1,4})\s+/)&&!p.trimStart().startsWith("|")&&!p.match(/^\s*[-*]\s+/)&&!p.match(/^\s*\d+\.\s+/)&&!/^(\*\*)?[A-Z][A-Za-z /&-]{2,40}(\*\*)?$/.test(p.trim()))c.push(p.trim()),r++;else break}n.push(f("ol",{start:s,style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:d.map((p,u)=>f("li",{children:f("div",{style:{display:"flex",flexDirection:"column",gap:6},children:p.map((m,h)=>f("div",{children:sa(m)},h))})},u))},n.length));continue}if(o.trim()===""){r++;continue}n.push(f("div",{style:{fontSize:"inherit",lineHeight:"inherit"},children:sa(o)},n.length)),r++}return f("div",{style:{display:"flex",flexDirection:"column",fontSize:"inherit",gap:8,lineHeight:"inherit"},children:n})}var df="<orientation>",q0="</orientation>",U0="<\\/orientation>",cf=[q0,U0];function Y0(e,t){let n=t;for(;n<e.length&&/\s/.test(e[n]);)n++;if(n>=e.length)return{status:"incomplete",start:n};if(e[n]!=="{")return{status:"invalid",start:n};let r=0,o=!1,i=!1;for(let a=n;a<e.length;a++){let l=e[a];if(o){i?i=!1:l==="\\"?i=!0:l==='"'&&(o=!1);continue}if(l==='"')o=!0;else if(l==="{")r++;else if(l==="}"){if(r--,r===0)return{status:"complete",start:n,end:a+1};if(r<0)return{status:"invalid",start:n}}}return{status:"incomplete",start:n}}function fd(e,t){if(!t)return;let n=e[e.length-1];n?.kind==="text"?n.text+=t:e.push({kind:"text",text:t})}function uf(e,t){let n=null;for(let r of cf){let o=e.indexOf(r,t);o>=0&&(!n||o<n.index)&&(n={index:o,tag:r})}return n}function X0(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(df,n),o=uf(e,n);if(o&&(r<0||o.index<r)){fd(t,e.slice(n,o.index)),n=o.index+o.tag.length;continue}if(r<0){fd(t,e.slice(n));break}fd(t,e.slice(n,r));let i=r+df.length,a=Y0(e,i);if(a.status!=="complete"){let d=uf(e,i);if(d){n=d.index+d.tag.length;continue}n=i;continue}t.push({kind:"orientation",json:e.slice(a.start,a.end)}),n=a.end;let l=n;for(;l<e.length&&/\s/.test(e[l]);)l++;let s=cf.find(d=>e.startsWith(d,l));s&&(n=l+s.length)}return t}function K0(e){return X0(e).map(t=>t.kind==="text"?t.text:`
|
|
114
|
-
|
|
115
|
-
`).join("").replace(/\n{3,}/g,`
|
|
116
|
-
|
|
117
|
-
`).trim()}function V0(e){return e.replace(/<resolution>[\s\S]*?(?:<\/resolution>|$)/g,"")}function Q0(e){return e.replace(/\b([A-Za-z]{2,}[.!?])(?=[A-Z][a-z])/g,`$1
|
|
118
|
-
|
|
119
|
-
`)}function hd(e){return Q0(V0(K0(e)).replace(/<question>[\s\S]*?<\/question>/g,"").replace(/<plan>[\s\S]*?<\/plan>/g,"").replace(/<review>[\s\S]*?<\/review>/g,"").replace(/<novel>[\s\S]*?<\/novel>/g,"").replace(/<eval_proposals>[\s\S]*?<\/eval_proposals>/g,"").replace(/<eval_run_result>[\s\S]*?<\/eval_run_result>/g,"").replace(/<evals>[\s\S]*?<\/evals>/g,"").replace(/<memory-review>[\s\S]*?<\/memory-review>/g,"").replace(/<memory-review-card>[\s\S]*?<\/memory-review-card>/g,"").replace(/<memory-[\s\S]*$/g,"").replace(/<imprint>[\s\S]*?<\/imprint>/g,"").replace(/<imprint>[\s\S]*$/g,"").trim())}function pf(e){return e.replace(/\s+/g," ").trim()}function G0(e,t){let n=pf(hd(t)),r=pf(e.filter(o=>o.kind==="text"&&typeof o.text=="string").map(o=>hd(o.text)).join(" "));return n===r}function Z0(e){return e.kind==="tool_group"?!0:e.kind!=="text"||!("text"in e)?!1:typeof e.text=="string"&&e.text.trim().length===0}function ff(e){let t=new Set,n=null;for(let r=0;r<e.length;r++){let o=e[r];if(o.kind==="orientation"){n=r;continue}Z0(o)||n!==null&&(t.add(n),n=null)}return n!==null&&t.add(n),e.filter((r,o)=>r.kind!=="orientation"||t.has(o))}var eS="popmelt-thread-composer-draft",fl={text:"",selectionStart:0,selectionEnd:0,selectionDirection:"none"};function hf(){if(!(typeof window>"u"))return window.localStorage}function mf(e){return`${eS}:${e}`}function tS(e,t=hf()){if(!t)return fl;try{let n=t.getItem(mf(e));if(!n)return fl;if(!n.startsWith("{"))return{text:n,selectionStart:n.length,selectionEnd:n.length,selectionDirection:"none"};let r=JSON.parse(n);if(typeof r.text!="string")return fl;let o=Math.max(0,Math.min(r.text.length,Number(r.selectionStart)||0)),i=Math.max(o,Math.min(r.text.length,Number(r.selectionEnd)||0)),a=r.selectionDirection==="forward"||r.selectionDirection==="backward"?r.selectionDirection:"none";return{text:r.text,selectionStart:o,selectionEnd:i,selectionDirection:a}}catch{return fl}}function md(e,t,n=hf(),r={selectionStart:t.length,selectionEnd:t.length,selectionDirection:"none"}){if(n)try{let o=mf(e);t.length>0?n.setItem(o,JSON.stringify({text:t,selectionStart:r.selectionStart,selectionEnd:r.selectionEnd,selectionDirection:r.selectionDirection})):n.removeItem(o)}catch{}}function nS(e,t){return t??(e>=0?e+1:void 0)}function rS(e,t){return e?.trim()?e.trim():Ey(t.find(n=>n.role==="human"))}function oS(e){return e==="Bash"?"terminal":e==="Edit"||e==="Write"?"pencil":"tool"}function iS(e){let t=new Map;for(let n of e){let r=oS(n.tool),o=t.get(r)??{kind:r,count:0,groups:[]};o.count+=n.items.length,o.groups.push(n),t.set(r,o)}return[...t.values()]}function aS(e,t,n){return e&&t!==n}var en=Jl,lS=350,sS=200,dS=120,ao=14,gf=360,cS=0,uS=!1,pS=8,fS="devtools-thread-panel-position",hS=gf+2*cS;function lo(){let e=window.visualViewport;return{width:e?.width??window.innerWidth,height:e?.height??window.innerHeight}}function da(e=lo().width){let t=Ao(e);return Math.max(t,e-mc(e)-t)}function gd(e="right"){let{width:t}=lo(),n=Ao(t);return{top:n,left:e==="left"?n:da(t)}}function yf(e,t,n){let{width:r,height:o}=lo(),i=Ao(r),a=n?.getBoundingClientRect(),l=0,s=o-i-l;return a&&t+hS>a.left&&(s=a.top-pS-l),Math.max(200,s-Math.max(0,e))}var mS={width:gf,backgroundColor:"var(--popmelt-thread-surface)",backgroundClip:"padding-box",borderWidth:1,borderStyle:"solid",borderColor:"var(--popmelt-thread-border)",boxSizing:"border-box",display:"flex",flexDirection:"column",overflow:"visible",padding:4,borderRadius:"16px 16px 20px 20px",backdropFilter:"blur(59.5px)",fontFamily:en,fontSize:14,color:"var(--popmelt-thread-primary)",pointerEvents:"auto"},gS={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 12px",margin:0,fontWeight:600,fontSize:12,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",lineHeight:1.2,overflow:"hidden",position:"absolute",top:4,left:4,right:4,borderRadius:10,zIndex:2},yS={flex:1,overflowY:"auto",padding:"32px 12px 112px",display:"flex",flexDirection:"column",gap:32,scrollbarGutter:"stable",scrollbarWidth:"thin"},vS=`
|
|
120
|
-
[data-devtools="thread-panel-messages"] {
|
|
121
|
-
scrollbar-color: transparent transparent;
|
|
122
|
-
}
|
|
123
|
-
[data-devtools="thread-panel-messages"][data-scroll-active="true"] {
|
|
124
|
-
scrollbar-color: var(--popmelt-thread-scrollbar-idle) transparent;
|
|
125
|
-
}
|
|
126
|
-
[data-devtools="thread-panel-messages"]:hover {
|
|
127
|
-
scrollbar-color: var(--popmelt-thread-scrollbar-hover) transparent;
|
|
128
|
-
}
|
|
129
|
-
[data-devtools="thread-panel-messages"]::-webkit-scrollbar {
|
|
130
|
-
width: 8px;
|
|
131
|
-
}
|
|
132
|
-
[data-devtools="thread-panel-messages"]::-webkit-scrollbar-track {
|
|
133
|
-
background: transparent;
|
|
134
|
-
}
|
|
135
|
-
[data-devtools="thread-panel-messages"]::-webkit-scrollbar-thumb {
|
|
136
|
-
background: transparent;
|
|
137
|
-
background-clip: padding-box;
|
|
138
|
-
border: 2px solid transparent;
|
|
139
|
-
border-radius: 999px;
|
|
140
|
-
transition: background-color 300ms ease;
|
|
141
|
-
}
|
|
142
|
-
[data-devtools="thread-panel-messages"][data-scroll-active="true"]::-webkit-scrollbar-thumb {
|
|
143
|
-
background-color: var(--popmelt-thread-scrollbar-idle);
|
|
144
|
-
}
|
|
145
|
-
[data-devtools="thread-panel-messages"]:hover::-webkit-scrollbar-thumb {
|
|
146
|
-
background-color: var(--popmelt-thread-scrollbar-hover);
|
|
147
|
-
}
|
|
148
|
-
[data-devtools="thread-panel-messages"]::-webkit-scrollbar-thumb:hover {
|
|
149
|
-
background-color: var(--popmelt-thread-scrollbar-hover);
|
|
150
|
-
}
|
|
151
|
-
`,bS={background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,display:"flex",flexDirection:"column",overflow:"hidden"},ki={color:"var(--popmelt-thread-primary)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},vf=16,xS={...ki,background:"var(--popmelt-thread-control)",borderRadius:vf,boxSizing:"border-box",color:"var(--popmelt-thread-muted-strong)",maxWidth:"100%",padding:12,width:"fit-content"};function ca(e){return hd(e)}function wS({patterns:e}){let[t,n]=$(!1);return A("div",{style:{marginTop:2},children:[A("button",{type:"button","aria-expanded":t,onClick:()=>n(r=>!r),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-secondary)",cursor:"pointer",display:"inline-flex",fontFamily:en,fontSize:12,gap:2,lineHeight:1,padding:0,textAlign:"left"},children:[A("span",{children:["Model details \xB7 ",e.length]}),f(ui,{"aria-hidden":"true",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5,style:{transform:t?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),t&&f("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8},children:e.map((r,o)=>A("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:12,padding:16},children:[A("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[A("div",{style:{alignItems:"center",display:"flex",gap:8},children:[f(Da,{"aria-hidden":"true",color:"#e51a1a",size:16,strokeWidth:1.5,style:{flexShrink:0}}),f("strong",{style:{color:"var(--popmelt-thread-primary)",fontSize:14,fontWeight:500,letterSpacing:"0.14px",lineHeight:1.3},children:r.element})]}),f("div",{style:{padding:"0 7px"},children:f("div",{style:{alignItems:"center",borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,padding:"6px 16px 8px"},children:r.decision})})]}),f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,letterSpacing:"0.12px",lineHeight:1.3},children:r.reason})]},`${r.category}:${r.element}:${o}`))})]})}function SS({memoryReview:e}){let[t,n]=$(!1),r=(e.acceptedTruth?.decisions.length??0)+e.packets.length;return A("div",{children:[A("button",{type:"button","aria-expanded":t,onClick:()=>n(o=>!o),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:en,fontSize:12,gap:4,padding:0,textAlign:"left"},children:[A("span",{children:["Decision history \xB7 ",r]}),f(ps,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:t?"rotate(90deg)":"none",transition:"transform 120ms ease"}})]}),t&&A("div",{style:{borderLeft:"2px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",display:"flex",flexDirection:"column",fontSize:12,gap:10,lineHeight:1.45,marginTop:8,padding:"2px 0 2px 12px"},children:[e.acceptedTruth?.decisions.map(o=>A("div",{children:[f("div",{children:o.claim}),A("div",{style:{color:o.effectiveState==="conflicted"?"#b45309":"var(--popmelt-thread-muted)",fontSize:11,marginTop:2},children:[o.kind," \xB7 ",o.effectiveState," \xB7"," ",o.implementation," \xB7 ",o.verification,o.freshness.length?` \xB7 review: ${o.freshness.join(", ")}`:""]})]},o.id)),e.acceptedTruth?.conflicts.map(o=>A("div",{style:{color:"#92400e"},children:["Conflict: ",o.unresolvedQuestion]},o.id)),e.packets.map(o=>A("div",{children:[f("div",{children:o.claim}),A("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11,marginTop:2},children:[o.presentation==="surface_before_action"?"Confirm before applying":"Advisory",o.evidenceCount>0?` \xB7 ${o.evidenceCount} evidence reference${o.evidenceCount===1?"":"s"}`:""]})]},o.packetId)),(e.truncated||e.acceptedTruth?.truncated)&&f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11},children:"More relevant history is available."})]})]})}function ua(e){let t=new Date(e),n=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(t),r=n.find(u=>u.type==="hour")?.value??"",o=String(Number.parseInt(r,10)||0),i=n.find(u=>u.type==="minute")?.value??"00",a=(n.find(u=>u.type==="dayPeriod")?.value??"").toUpperCase(),l=`${o}:${i}${a}`,s=`${o}:${i}${a?` ${a}`:""}`,d=new Date;if(t.getFullYear()===d.getFullYear()&&t.getMonth()===d.getMonth()&&t.getDate()===d.getDate())return l;let c=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),p=Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());return Math.floor((p-c)/864e5)>=7?`${new Intl.DateTimeFormat(void 0,{month:"numeric",day:"numeric",year:"2-digit"}).format(t)}, ${s}`:`${new Intl.DateTimeFormat(void 0,{weekday:"long"}).format(t)}, ${l}`}var kS=250;function IS({color:e}){let[t,n]=$(0);return Y(()=>{let r=setInterval(()=>n(o=>(o+1)%2),kS);return()=>clearInterval(r)},[]),A("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[f("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0,opacity:.6},children:t===1?A(at,{children:[f("circle",{cx:"7",cy:"7",r:"2"}),f("circle",{cx:"17",cy:"7",r:"2"}),f("circle",{cx:"7",cy:"17",r:"2"}),f("circle",{cx:"17",cy:"17",r:"2"})]}):A(at,{children:[f("circle",{cx:"12",cy:"6",r:"2"}),f("circle",{cx:"6",cy:"12",r:"2"}),f("circle",{cx:"18",cy:"12",r:"2"}),f("circle",{cx:"12",cy:"18",r:"2"})]})}),f("span",{style:{fontSize:14,color:"var(--popmelt-thread-muted-strong)"},children:"Thinking"})]})}var bf=32,yd=80,ES=vf/2,TS={width:bf,height:bf,objectFit:"cover",cursor:"pointer",border:"1px solid var(--popmelt-thread-hairline)"},Do={...TS,borderRadius:ES,height:yd,width:yd};function CS(e){let t=/^`(\/[^`]*)`$/gm,n=[...e.matchAll(t)];if(n.length===0)return null;let r=[];for(let o=0;o<n.length;o++){let i=n[o],a=i[1],l=i.index+i[0].length,s=o+1<n.length?n[o+1].index:e.length,d=e.slice(l,s).trim();r.push({route:a,text:d})}return r}function AS(e,t){let n=[];if(e.replyImageUrls)for(let r of e.replyImageUrls){let o=r.startsWith("blob:")||r.startsWith("http")?r:`${t}${r}`;n.push({url:o,label:"pasted image"})}return n}function Oo(e,t){return/^(?:blob:|data:|https?:\/\/)/.test(t)?t:`${e}${t}`}function MS(e,t){let n=[];if(e.imageUrls)for(let[,r]of Object.entries(e.imageUrls))for(let o of r)n.push({url:Oo(t,o),label:"pasted image"});return n}function RS({src:e,onClose:t}){return Y(()=>{let n=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),f("div",{onClick:t,style:{position:"fixed",inset:0,zIndex:1e5,backgroundColor:"rgba(0,0,0,0.8)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"zoom-out"},children:f(io,{src:e,alt:"Attached image preview",onClick:n=>n.stopPropagation(),style:{maxWidth:"90vw",maxHeight:"90vh",objectFit:"contain",cursor:"default",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"}})})}function LS(e){let t=String(e.data.tool||""),n=e.data.file?String(e.data.file):null,r=n?n.split("/").pop()??n:null,o=e.data.content?String(e.data.content):null;switch(t){case"Read":return r?`Reading ${r}`:"Reading file";case"Edit":return r?`Editing ${r}`:"Editing file";case"Write":return r?`Writing ${r}`:"Writing file";case"Bash":return o?$S(o):"Running command";case"Glob":return"Searching files";case"Grep":return"Searching code";case"WebFetch":return"Fetching page";case"WebSearch":return"Searching web";default:return o??(t?`Using ${t}`:null)}}function $S(e){let t=e.split(`
|
|
152
|
-
`)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var PS={focus_set:"Focused",focus_shifted:"Focus shifted",evidence_updated:"Evidence updated",hypothesis_changed:"Working approach changed",assumption_abandoned:"Assumption dropped",uncertainty_identified:"Uncertainty identified",next_observation_selected:"Checking next"};function xf({orientation:e}){let t=e.snapshot.update??e.snapshot.seeking??e.snapshot.nextObservation;return A("div",{style:{borderLeft:"2px solid var(--popmelt-thread-hairline)",color:"var(--popmelt-thread-secondary)",display:"flex",flexDirection:"column",fontSize:12,gap:2,lineHeight:1.35,paddingLeft:10},children:[A("span",{children:[f("span",{style:{color:"var(--popmelt-thread-primary)",fontWeight:550},children:PS[e.transition]})," \xB7 ",e.snapshot.focus]}),t&&t!==e.snapshot.focus&&f("span",{style:{opacity:.72},children:t})]})}function jS(e){let t=[];for(let n of e){if(n.type==="approval"){let r=n.data.approval,o=t.find(i=>i.kind==="approval"&&i.approval.id===r.id);o?.kind==="approval"?o.approval=r:t.push({kind:"approval",approval:r});continue}if(n.type==="tool_use"){let r=LS(n),o=String(n.data.tool||""),i=n.data.file?String(n.data.file):null,a=n.data.content?String(n.data.content):null,l=i??a??void 0;if(r){let s=t[t.length-1];s&&s.kind==="tool_group"&&s.tool===o?s.items.push({label:r,detail:l,...i?{filePath:i}:{}}):t.push({kind:"tool_group",tool:o,items:[{label:r,detail:l,...i?{filePath:i}:{}}]})}if(a&&i){let s=i.includes(".")?`.${i.split(".").pop().toLowerCase()}`:"",d=i.includes(".claude/plans/");t.push({kind:"file_content",file:i,content:a,ext:s,isPlan:d})}}else if(n.type==="delta"){let r=String(n.data.text||"");if(!r)continue;let o=t[t.length-1];o&&o.kind==="text"?o.text+=r:t.push({kind:"text",text:r})}else if(n.type==="thinking"){let r=String(n.data.text||"");if(!r)continue;let o=t[t.length-1];o&&o.kind==="thinking"?o.text+=r:t.push({kind:"thinking",text:r})}else if(n.type==="status"){let r=String(n.data.text||"").trim();if(!r)continue;let o=t.findIndex(i=>i.kind==="status");o>=0&&t.splice(o,1),t.push({kind:"status",text:r})}else if(n.type==="orientation"){let r=n.data.orientation;r?.snapshot?.focus&&t.push({kind:"orientation",orientation:r})}}return t}function zS({file:e,content:t,ext:n,isPlan:r,onAccept:o}){let[i,a]=$(r),l=e.split("/").pop()??e;return A("div",{style:{margin:"4px 0 4px 12px",border:"1px solid var(--popmelt-thread-hairline)",backgroundColor:"var(--popmelt-thread-raised)",fontSize:11},children:[A("div",{onClick:()=>a(s=>!s),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",cursor:"pointer",userSelect:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",color:"var(--popmelt-thread-primary)"},children:[f("span",{style:{fontSize:9,color:"var(--popmelt-thread-muted)"},children:i?"\u25BC":"\u25B6"}),f("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l}),r&&f("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&A(at,{children:[f("div",{style:{maxHeight:300,overflowY:"auto",padding:"6px 10px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",lineHeight:1.5,wordBreak:"break-word"},children:n===".md"?sr(t):f("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),r&&o&&f("div",{style:{padding:"4px 8px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",display:"flex",justifyContent:"flex-end"},children:f("button",{onClick:s=>{s.stopPropagation(),o()},style:{background:"#111",color:"#fff",border:"none",padding:"4px 12px",fontSize:11,cursor:"pointer",fontFamily:"inherit"},children:"Accept"})})]})]})}function DS(e){return/\b(?:bash|command|terminal)\b/i.test(e)?"Bash":/\b(?:edit|edited|editing)\b/i.test(e)?"Edit":/\b(?:write|wrote|writing)\b/i.test(e)?"Write":/\b(?:read|reading)\b/i.test(e)?"Read":/\b(?:grep|search(?:ed|ing)?)\b/i.test(e)?"Grep":"Tool"}function wf(e){let t=new Map;for(let n of e){let r=t.get(n.tool);r?r.items.push(...n.items):t.set(n.tool,{...n,items:[...n.items]})}return[...t.values()]}function hl(e){let t=e.filePath??e.detail;return t&&(t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))?t:void 0}function OS(e,t){return(e==="Read"||e==="Edit"||e==="Write")&&t.some(n=>hl(n))?t.filter(n=>hl(n)).filter((n,r,o)=>o.findIndex(i=>hl(i)===hl(n))===r):t}function Sf(e){return iS(e.map(t=>({...t,items:OS(t.tool,t.items)})))}function ml(e,t){if(!t||typeof window>"u")return;let n=e.closest('[data-devtools="thread-panel"]');if(!n)return;let r=n.getBoundingClientRect(),o=e.getBoundingClientRect(),i=n.querySelector("[data-popmelt-thread-header]"),a=t.querySelector("[data-popmelt-tool-receipt-scroll]");if(t.style.left=`${r.left+8-o.left}px`,t.style.width=`${Math.max(0,r.width-16)}px`,i){let l=i.getBoundingClientRect(),s=Math.max(0,Math.floor(o.top-l.bottom-16));t.style.setProperty("--popmelt-tool-receipt-max-height",`${s}px`)}else t.style.removeProperty("--popmelt-tool-receipt-max-height");t.dataset.ready="true",requestAnimationFrame(()=>{a&&pa(a)})}function pa(e){let t=e.closest("[data-popmelt-tool-receipt-tooltip]");if(!t)return;let n=e.scrollTop>1,r=e.scrollTop+e.clientHeight<e.scrollHeight-1;t.toggleAttribute("data-overflow-top",n),t.toggleAttribute("data-overflow-bottom",r)}function kf({receipt:e,animateCount:t=!1}){let n=e.kind==="terminal"?Vc:e.kind==="pencil"?Qc:Gm,r=e.kind==="terminal"?"Terminal used":e.kind==="pencil"?"Files changed":e.groups.length===1?`${e.groups[0].tool} used`:"Tools used",o=e.groups.map(d=>`${d.tool} (${d.items.length})`).join(", "),i=q(null),a=q(null),l=q(null),s=q(0);return Y(()=>{let d=s.current;if(d===e.count)return;s.current=e.count;let c=i.current,p=a.current;if(!c)return;let u=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;c.getAnimations().forEach(m=>m.cancel()),p?.getAnimations().forEach(m=>m.cancel()),!(u||!aS(t,d,e.count))&&(c.animate([{color:"var(--popmelt-thread-muted)"},{color:"var(--popmelt-thread-primary)",offset:.18},{color:"var(--popmelt-thread-primary)",offset:.52},{color:"var(--popmelt-thread-muted)"}],{duration:720,easing:"ease-out"}),p&&p.animate([{opacity:0,transform:"translate(-50%, 4px) scale(0.72)"},{opacity:1,transform:"translate(-50%, 0) scale(1.08)",offset:.14},{opacity:1,transform:"translate(-50%, 0) scale(1)",offset:.24},{opacity:1,transform:"translate(-50%, 0) scale(1)",offset:.72},{opacity:0,transform:"translate(-50%, -7px) scale(0.94)"}],{duration:1050,easing:"ease-out",fill:"both"}))},[t,e.count]),Y(()=>{let d=l.current;if(!d)return;let c=requestAnimationFrame(()=>{let p=d.querySelector("[data-popmelt-tool-receipt-scroll]");p&&pa(p)});return()=>cancelAnimationFrame(c)},[e]),A("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:d=>ml(d.currentTarget,l.current),onFocusCapture:d=>ml(d.currentTarget,l.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[A("button",{ref:i,type:"button","aria-label":`Inspect tool activity: ${o}`,style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted)",cursor:"pointer",display:"inline-flex",flexShrink:0,height:18,justifyContent:"center",padding:0,position:"relative",transition:"color 100ms ease",width:18},children:[f(n,{"aria-hidden":"true",color:"currentColor","data-popmelt-tool-receipt-icon":!0,size:14,strokeWidth:1.5}),e.count>1&&A("span",{ref:a,"data-popmelt-tool-count":!0,style:{alignItems:"center",background:"var(--popmelt-thread-action)",borderRadius:9,color:"var(--popmelt-thread-on-action)",display:"flex",fontFamily:en,fontSize:12,fontWeight:500,height:18,justifyContent:"center",letterSpacing:"-0.1px",minWidth:18,padding:"0 5px",pointerEvents:"none",position:"absolute",bottom:"calc(100% + 3px)",left:"50%",opacity:0,transform:"translate(-50%, -7px) scale(0.94)"},children:[e.count,"x"]})]}),A("span",{ref:l,role:"tooltip","data-popmelt-tool-receipt-tooltip":!0,style:{background:"var(--popmelt-thread-raised)",borderRadius:16,bottom:"100%",boxSizing:"border-box",color:"var(--popmelt-thread-primary)",left:0,overflow:"hidden",pointerEvents:"auto",position:"absolute",width:0,zIndex:20},children:[A("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:d=>pa(d.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[A("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[f(n,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),f("span",{children:r})]}),e.groups.map(d=>A("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[A("span",{style:{fontSize:11,fontWeight:500,lineHeight:1.3,opacity:.65},children:[d.tool," \xB7 ",d.items.length]}),d.items.map((c,p)=>f("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:c.label},`${c.label}-${p}`))]},d.tool))]}),f("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),f("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function If(e){let t=new Map;for(let n of e)t.has(n.id)||t.set(n.id,n);return[...t.values()]}function NS(e){let t=If(e.flatMap(n=>n.type!=="imprint_used"?[]:n.data.usage?.explanations??[]));return t.length>0?{updated:!1,explanations:t}:void 0}function HS(e,t){let n=new Map(t.flatMap(s=>s.imprintContext?[[s.jobId,s.imprintContext]]:[])),r=[],o,i,a=!1;for(let s of e){let d=s.imprintSummary;if(d){a=!0,o=d.title,i=d.detail;for(let u of d.changes)r.push({id:u.explanationId,statement:u.statement,state:u.state})}let c=n.get(s.jobId),p=new Set([...s.imprintUsedExplanationIds??[],...s.imprintAppliedExplanationIds??[],...s.imprintRecognition?[s.imprintRecognition.explanationId]:[]]);for(let u of p){let m=c?.explanations.find(h=>h.id===u);m?r.push(m):s.imprintRecognition?.explanationId===u&&r.push({id:u,kind:"pattern",statement:s.imprintRecognition.statement,state:"grounded",scope:{kind:"project",values:[]}})}}let l=If(r);if(!(!a&&l.length===0))return{updated:a,title:o,detail:i,explanations:l}}function _S(e){return e==="testing"||e==="emerging"?"Emerging":e.charAt(0).toUpperCase()+e.slice(1)}function Ef(e){return e?e.charAt(0).toUpperCase()+e.slice(1):void 0}function Tf({receipt:e,accentColor:t}){let n=e.updated?"Imprint updated":"Imprint used",r=q(null);return Y(()=>{let o=r.current;if(!o)return;let i=requestAnimationFrame(()=>{let a=o.querySelector("[data-popmelt-tool-receipt-scroll]");a&&pa(a)});return()=>cancelAnimationFrame(i)},[e]),A("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:o=>ml(o.currentTarget,r.current),onFocusCapture:o=>ml(o.currentTarget,r.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[f("button",{type:"button","aria-label":`Inspect ${n.toLowerCase()}`,style:{alignItems:"center",background:"transparent",border:0,color:e.updated?t:"var(--popmelt-thread-muted)",cursor:"pointer",display:"inline-flex",flexShrink:0,height:18,justifyContent:"center",padding:0,transition:"color 100ms ease",width:18},children:f(Rr,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5})}),A("span",{ref:r,role:"tooltip","data-popmelt-tool-receipt-tooltip":!0,style:{background:"var(--popmelt-thread-raised)",borderRadius:16,bottom:"100%",boxSizing:"border-box",color:"var(--popmelt-thread-primary)",left:0,overflow:"hidden",pointerEvents:"auto",position:"absolute",width:0,zIndex:20},children:[A("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:o=>pa(o.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[A("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[f(Rr,{"aria-hidden":"true",color:e.updated?t:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),f("span",{children:n})]}),e.title&&f("span",{style:{fontSize:14,fontWeight:500,lineHeight:1.3},children:e.title}),e.detail&&f("span",{style:{fontSize:12,fontWeight:400,lineHeight:1.45,opacity:.72},children:e.detail}),e.explanations.map(o=>A("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[A("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:4,lineHeight:1.3,opacity:.65},children:[f("span",{children:_S(o.state)}),Ef(o.kind)&&f("span",{style:{opacity:.72},children:Ef(o.kind)})]}),f("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:o.statement}),o.scope?.values.length?f("span",{style:{fontSize:11,fontWeight:400,lineHeight:1.3,opacity:.5},children:o.scope.values.join(" \xB7 ")}):null]},o.id))]}),f("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),f("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function FS({summary:e,accentColor:t,busy:n,onAction:r}){let o=!!e.resolvedAction,[i,a]=$(!!(e.grounding&&!o)),l={...cd,cursor:n?"default":"pointer",fontFamily:en};return A("div",{style:lf,children:[A("button",{type:"button","aria-expanded":i,onClick:()=>a(s=>!s),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:en,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[f(Rr,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),A("span",{style:{flex:1},children:["Imprint ",e.kind,": ",e.title]}),f(ui,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:i?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),i&&A(at,{children:[A("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35,padding:"4px 12px"},children:[e.detail,e.additionalObservationCount?A("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11,marginTop:4},children:["Updated with ",e.additionalObservationCount," additional"," ",e.additionalObservationCount===1?"observation":"observations","."]}):null]}),e.changes.map(s=>A("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[f("div",{children:s.statement}),A("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:[s.action," \xB7 ",s.state]})]},`${s.explanationId}:${s.action}`)),e.grounding&&!o&&f("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:13,lineHeight:1.35,marginTop:2},children:e.grounding.question}),o?A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[f(Zr,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),e.resolvedAction==="no"?"Correction requested":`Feedback applied: ${e.resolvedAction==="yes"?"Yes":"This time"}`]}):e.grounding?A("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[f("button",{disabled:n,onClick:()=>r("yes"),style:l,children:"Yes"}),f("button",{disabled:n,onClick:()=>r("this_time"),style:l,children:"This time"}),f("button",{disabled:n,onClick:()=>r("no"),style:l,children:"No"})]}):null]})]})}function WS({receipt:e,accentColor:t}){let[n,r]=$(!0);return A("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},children:[A("button",{type:"button","aria-expanded":n,onClick:()=>r(o=>!o),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:en,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[f(Rr,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),A("span",{style:{flex:1},children:["Existing Imprint reapplied: ",e.title]}),f(ui,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:n?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),n&&A(at,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35,padding:"4px 12px"},children:e.detail}),A("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[f("div",{children:e.statement}),f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:"recognized \xB7 grounded"})]}),A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[f(Zr,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),"Shared understanding unchanged"]})]})]})}function BS({card:e,accentColor:t,busy:n,resolved:r,superseded:o,onAction:i}){let[a,l]=$(!1),[s,d]=$(e.claim),[c,p]=$(!1),[u,m]=$(!1),[h,g]=$(!1),[y,w]=$(null),S=q(null);Y(()=>{l(!1),d(e.claim),p(!1),m(!1),g(!1),w(null)},[e.claim,e.proposalId]),Y(()=>{if(!a)return;let V=S.current;V&&(V.focus(),V.select(),V.style.height="auto",V.style.height=`${V.scrollHeight}px`)},[a]);let v=U(()=>{let V=s.trim();d(V||e.claim),l(!1),p(!1)},[e.claim,s]),k=U(()=>{d(e.claim),l(!1),p(!1)},[e.claim]),R=s.trim()!==e.claim.trim(),P=r||o,_=e.title;return r?A("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[A("button",{type:"button","aria-expanded":h,onClick:()=>g(V=>!V),style:{alignItems:"center",alignSelf:"flex-start",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:en,fontSize:14,fontWeight:400,gap:6,letterSpacing:"0.14px",lineHeight:1.35,padding:0,textAlign:"left"},children:[f(Rr,{"aria-hidden":"true",color:t,size:14,strokeWidth:1.5}),A("span",{style:{alignItems:"center",display:"inline-flex",gap:2},children:[f("span",{children:_}),f(ui,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:h?"rotate(180deg)":"rotate(0deg)",transition:"transform 120ms ease"}})]})]}),h&&A(at,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,marginLeft:7,padding:"6px 16px 8px"},children:s}),f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,marginLeft:7,padding:"6px 16px 8px"},children:e.rationale}),e.scope?A("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35},children:["Scope: ",e.scope]}):null]})]}):A("div",{style:{border:"1px solid var(--popmelt-thread-border)",background:"var(--popmelt-thread-soft)",borderRadius:24,padding:16,display:"flex",flexDirection:"column",gap:12},children:[A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:14,fontWeight:600,gap:8,letterSpacing:"0.14px",lineHeight:1.3},children:[f(Rr,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),f("span",{children:_})]}),a&&!P?f("textarea",{ref:S,value:s,disabled:n,onChange:V=>{d(V.target.value),V.currentTarget.style.height="auto",V.currentTarget.style.height=`${V.currentTarget.scrollHeight}px`},onBlur:v,onKeyDown:V=>{V.key==="Enter"&&!V.shiftKey?(V.preventDefault(),v()):V.key==="Escape"&&(V.preventDefault(),V.stopPropagation(),k())},rows:1,style:{resize:"none",overflow:"hidden",outline:"none",boxSizing:"border-box",border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:"var(--popmelt-thread-soft-hairline)",color:"var(--popmelt-thread-muted-strong)",cursor:"text",fontFamily:en,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",width:"calc(100% - 14px)"}}):f("button",{type:"button",disabled:P||n,onClick:()=>l(!0),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),onFocus:()=>p(!0),onBlur:()=>p(!1),style:{border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:c&&!P?"var(--popmelt-thread-soft-hairline)":"transparent",color:"var(--popmelt-thread-muted-strong)",cursor:P?"default":"text",fontFamily:en,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",textAlign:"left",width:"calc(100% - 14px)"},children:s}),A("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:14},children:[A("button",{type:"button","aria-expanded":u,onClick:()=>m(V=>!V),style:{alignItems:"center",border:0,background:"transparent",color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"inline-flex",gap:2,fontFamily:en,fontSize:14,fontWeight:400,letterSpacing:"0.14px",lineHeight:1.3,margin:0,opacity:u?1:.35,padding:0},children:[f("span",{children:"Why?"}),u?f(ui,{"aria-hidden":"true",size:10,strokeWidth:2.5}):f(ps,{"aria-hidden":"true",size:10,strokeWidth:2.5})]}),u?A(at,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"8px 7px 0",padding:"6px 16px 8px"},children:e.rationale}),e.scope?A("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,marginTop:8},children:["Scope: ",e.scope]}):null]}):null]}),o?f("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,fontWeight:700},children:"Refined in a later review card"}):A("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",gap:6,alignItems:"stretch"},children:[A("button",{type:"button",disabled:n,onClick:()=>i("reject"),onMouseEnter:()=>{n||w("reject")},onMouseLeave:()=>w(null),style:{...bd,alignItems:"center",background:"var(--popmelt-thread-control)",border:0,borderRadius:16,color:"var(--popmelt-thread-primary)",display:"flex",justifyContent:"space-between",padding:"8px 12px",width:"100%",fontSize:12,transition:"background-color 120ms ease"},children:[f("span",{children:"Reject"}),f(Oa,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),A("button",{type:"button",disabled:n||!s.trim(),onClick:()=>i(R?"edit_and_accept":"accept",R?s.trim():void 0),onMouseEnter:()=>{!n&&s.trim()&&w("accept")},onMouseLeave:()=>w(null),style:{...vd,alignItems:"center",background:y==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:y==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderRadius:24,color:"var(--popmelt-thread-on-action)",display:"flex",justifyContent:"space-between",padding:"8px 12px",width:"100%",fontSize:12,opacity:n||!s.trim()?.45:1,transition:"background-color 120ms ease, border-color 120ms ease"},children:[f("span",{children:R?"Adopt edited":"Adopt"}),f(Zr,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]})]})}function JS({stepCount:e}){return A("div",{"data-thread-interaction-episode-receipt":!0,style:{...ki,alignItems:"center",alignSelf:"flex-end",color:"var(--popmelt-thread-muted-strong)",display:"inline-flex",gap:6,paddingBlock:4},children:[f(Zm,{"aria-hidden":!0,color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),A("span",{children:[e," recorded ",e===1?"action":"actions"," sent"]})]})}function qS({frames:e,onLightbox:t}){return e.length===0?null:f("div",{"data-thread-interaction-episode-visuals":!0,style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:e.map(n=>A("button",{type:"button","aria-label":`View ${n.label.toLowerCase()}`,title:n.label,onClick:()=>t(n.url),style:{background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",font:"inherit",padding:0,textAlign:"right"},children:[f(io,{src:n.url,alt:"",style:{...Do,display:"block"}}),f("span",{style:{display:"block",fontSize:10,marginTop:2,maxWidth:yd,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:n.label})]},n.id))})}var Cf=qm(function({msg:e,index:t,bridgeUrl:n,accentColor:r,onLightbox:o,hideSender:i=!1,hideTimestamp:a=!1,hideModelSenderUntilHover:l=!1,compactSpacing:s=!1,workedFor:d="a moment",activityTimestamp:c,memoryReviewBusy:p=!1,memoryReviewResolved:u=!1,memoryReviewSuperseded:m=!1,foldedActivityMessages:h=[],underMessageActivity:g,onMemoryReviewAction:y,onImprintAction:w}){let S=e.role==="human",v=za(Bl),k=e.authorPeer?e.authorPeer.id===v?.participantId?"You":e.authorPeer.name==="You"?"Host":e.authorPeer.name:v&&!v.canManageThreads&&!e.jobId.startsWith("_pending_reply_")?"Host":"You",[R,P]=$(!1),_={...xS,...s?{borderBottomRightRadius:4}:{}},V=S?e.replyToQuestion?AS(e,n):e.requestItems?.length?[]:MS(e,n):[];if(e.cancelled||e.error){let ve=e.error?Qp(e.error,e.errorKind):null;return f("div",{"data-msg":!0,style:{padding:0},children:A("div",{style:{backgroundColor:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,padding:16},children:[f("span",{style:{color:ve?"#f59e0b":"var(--popmelt-thread-muted-strong)"},children:ve?.label??"Cancelled"}),ve?` \u2014 ${ve.message}`:""]})},`${e.jobId}-${t}`)}let W=e.requestText||e.feedbackSummary||"(annotation)",J=e.requestText?Ly(e.requestText):W,B=!!(S&&!e.replyToQuestion&&e.requestText&&e.requestText.trim()!==J.trim()),H=S?e.replyToQuestion||(R?W:J):ca(e.responseText||""),te=(ve,fe=_)=>A("div",{style:fe,children:[ve.includes(`
|
|
153
|
-
`)?sr(ve):ve,B&&f("button",{type:"button","aria-expanded":R,onClick:()=>P(be=>!be),style:{background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"block",fontFamily:"inherit",fontSize:12,fontWeight:600,marginTop:8,opacity:.72,padding:0,textAlign:"left"},children:R?"Show less":"Read more"})]}),Q=S?void 0:e.question,D=S?[]:(e.resolutions??[]).filter(ve=>ve.status!=="resolved"),N=D.length>0,I=!S&&e.segments&&e.segments.length>0,O=I?ff(e.segments):[],T=!!(!S&&I&&H&&!G0(e.segments,e.responseText??"")),G=[...h,e],F=S?[]:G.flatMap(ve=>(ve.segments??[]).filter(fe=>fe.kind==="tool_group")),ue=S?[]:G.flatMap(ve=>ve.segments?.length?[]:(ve.toolsUsed??[]).map(fe=>({kind:"tool_group",tool:DS(fe),items:[{label:fe}]}))),L=wf([...F,...ue]),re=Sf(L),ne=!!(G.some(ve=>ve.memoryReceipt?.status==="committed")||g?.decisionRecorded),z=g?.imprintReceipt,Te=!!g?.modelUpdated,me=re.length>0||ne||Te||!!z,He=S&&!!(e.memoryReview?.packets.length||e.memoryReview?.acceptedTruth?.decisions.length),Oe=!S&&!!(e.memoryReceipt&&e.memoryReceipt.status!=="committed"),We=!S&&(!i||!a);return!H&&!Q&&!N&&!I&&!He&&!e.memoryReviewCard&&!e.imprintSummary&&!Oe&&!me?null:A("div",{"data-msg":!0,style:{alignSelf:S?"flex-end":"stretch",display:"flex",flexDirection:"column",gap:16,marginTop:s?-24:0,padding:0,position:"relative",maxWidth:S?280:void 0,width:S?"fit-content":"auto"},children:[We&&f("div",{"data-under-message-rail":l?"hover":"latest",style:{alignItems:"center",alignSelf:"stretch",display:"flex",gap:4,marginTop:l?0:16,order:2,...l?{left:0,paddingTop:7,position:"absolute",right:0,top:"100%",zIndex:1}:{},width:"100%"},children:S?A(at,{children:[!a&&f("span",{"data-message-timestamp":!0,style:{fontSize:12,fontWeight:400,color:"var(--popmelt-thread-muted)"},children:ua(e.timestamp)}),!i&&f("span",{style:{color:r,fontSize:12,fontWeight:500,marginLeft:"auto",opacity:.55},children:k})]}):A(at,{children:[f("div",{"data-worked-for-trigger":!0,style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted)",cursor:"default",display:"flex",fontFamily:en,fontSize:14,padding:0,textAlign:"left"},children:A("span",{style:{display:"grid"},children:[A("span",{"data-worked-for-label":!0,style:{gridArea:"1 / 1",textAlign:"left"},children:["Worked for ",d]}),!a&&f("span",{"data-worked-for-time":!0,style:{gridArea:"1 / 1",justifySelf:"start",opacity:0,textAlign:"left"},children:ua(c??e.timestamp)})]})}),f("div",{style:{alignItems:"center",display:"flex",marginLeft:"auto",minHeight:14},children:A("div",{"data-message-activity":!0,style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",gap:6},children:[L.length>0&&f("div",{style:{alignItems:"center",display:"flex",gap:6},children:re.map(ve=>f(kf,{receipt:ve},ve.kind))}),ne&&f(Rr,{"aria-label":"Decision recorded",color:r,size:14,strokeWidth:1.5}),Te&&f(Da,{"aria-label":"Model updated",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5}),z&&f(Tf,{receipt:z,accentColor:r})]})})]})}),S&&!a&&f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,position:"absolute",right:0,top:"calc(100% + 8px)"},children:ua(e.timestamp)}),V.length>0&&f("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:V.map((ve,fe)=>f(io,{src:ve.url,alt:ve.label||"Attached image",title:ve.label,style:Do,onClick:()=>o(ve.url)},fe))}),S&&!e.replyToQuestion&&(()=>{if(e.requestItems?.length){let be=new Set(e.requestItems.flatMap(Ae=>Ae.pathname?[Ae.pathname]:[])).size>1,pt=new Set,Ce=e.screenshotUrl?Oo(n,e.screenshotUrl):null;return A("div",{"data-thread-request-cluster":!0,style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:4,width:"100%"},children:[Ce&&!e.screenshotUrls?f(io,{src:Ce,alt:"Thread screenshot",title:"screenshot",style:{...Do,flexShrink:0},onClick:()=>o(Ce)}):null,e.requestItems.map((Ae,De)=>{let Ge=Ae.pathname,qe=Ge&&!pt.has(Ge)?e.screenshotUrls?.[Ge]:void 0;Ge&&pt.add(Ge);let _e=qe?Oo(n,qe):null,dt=Ae.kind==="annotation"&&Ae.annotationId?e.imageUrls?.[Ae.annotationId]??[]:[],tt=Ae.kind==="annotation"?e.annotationSnapshot?.annotations.find(lt=>lt.id===Ae.annotationId)?.interactionEpisode:void 0,we=Ty(tt,dt).map(lt=>({...lt,url:Oo(n,lt.url)})),nt=new Set(we.map(lt=>lt.imageIndex)),jt=dt.flatMap((lt,Le)=>nt.has(Le)?[]:[Oo(n,lt)]),At=Ae.kind==="annotation"?Ae.interactionEpisodeStepCount??tt?.steps.length??0:0;return A(Xc,{children:[_e?f(io,{src:_e,alt:`Screenshot for ${Ge}`,title:Ge,style:{...Do,flexShrink:0},onClick:()=>o(_e)}):null,jt.length>0?f("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:jt.map((lt,Le)=>f(io,{src:lt,alt:"Attached image",title:"pasted image",style:Do,onClick:()=>o(lt)},Le))}):null,f(qS,{frames:we,onLightbox:o}),At>0?f(JS,{stepCount:At}):null,A("div",{style:{..._,minWidth:0},children:[be&&Ge?f("code",{style:{backgroundColor:"var(--popmelt-thread-soft-hairline)",display:"inline-block",fontSize:10,marginBottom:4,padding:"1px 4px"},children:Ge}):null,Ae.kind==="annotation"?Ae.text.includes(`
|
|
154
|
-
`)?sr(Ae.text):Ae.text:A(at,{children:[A("div",{style:{fontWeight:600},children:[Ae.elementLabel," ",A("span",{style:{opacity:.64},children:["(",Ae.changes.length," ",Ae.changes.length===1?"change":"changes",")"]})]}),f("div",{style:{marginTop:6},children:Ae.changes.map((lt,Le)=>f("div",{style:{marginTop:Le===0?0:3},children:lt},Le))})]})]})]},`${Ae.kind}-${De}`)})]})}let ve=H?CS(H):null;if(ve&&e.screenshotUrls)return f("div",{style:{display:"flex",flexDirection:"column",gap:4},children:ve.map((be,pt)=>{let Ce=e.screenshotUrls?.[be.route],Ae=Ce?Oo(n,Ce):null;return A("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[Ae?f(io,{src:Ae,alt:`Screenshot for ${be.route}`,title:be.route,style:{...Do,flexShrink:0},onClick:()=>o(Ae)}):null,A("div",{style:{..._,minWidth:0},children:[f("code",{style:{fontSize:10,backgroundColor:"var(--popmelt-thread-soft-hairline)",padding:"1px 4px"},children:be.route}),be.text&&f("div",{style:{marginTop:2},children:sr(be.text)})]})]},pt)})});let fe=e.screenshotUrl?Oo(n,e.screenshotUrl):null;return fe&&H?A("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[f(io,{src:fe,alt:"Thread screenshot",title:"screenshot",style:{...Do,flexShrink:0},onClick:()=>o(fe)}),te(H,{..._,minWidth:0})]}):H?te(H):null})(),S&&e.replyToQuestion&&H&&f("div",{style:_,children:H.includes(`
|
|
155
|
-
`)?sr(H):H}),He&&f(SS,{memoryReview:e.memoryReview}),!S&&I&&O.map((ve,fe)=>{if(ve.kind==="approval")return f(sf,{approval:ve.approval},ve.approval.id);if(ve.kind==="tool_group")return null;if(ve.kind==="orientation")return f(xf,{orientation:ve.orientation},fe);if(T)return null;let be=ca(ve.text);return be?f("div",{style:ki,children:sr(be)},fe):null}),!S&&!I&&H&&f("div",{style:ki,children:sr(H)}),!S&&T&&H&&f("div",{style:ki,children:sr(H)}),!S&&e.memoryReviewCard&&y&&f(BS,{card:e.memoryReviewCard,accentColor:r,busy:p,resolved:u,superseded:m,onAction:(ve,fe)=>y(e.memoryReviewCard,ve,fe)}),!S&&e.imprintSummary&&w&&f(FS,{summary:e.imprintSummary,accentColor:r,busy:p,onAction:ve=>w(e.imprintSummary,ve)}),!S&&e.imprintRecognition&&f(WS,{receipt:e.imprintRecognition,accentColor:r}),Oe&&e.memoryReceipt&&A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[e.memoryReceipt.status==="committed"?f(Rr,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}):f(Oa,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:e.memoryReceipt.status==="committed"?"Decision recorded":"Decision not recorded"})]}),Q&&f("div",{style:ki,children:sr(Q)}),N&&f("div",{style:{backgroundColor:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,marginTop:-4,padding:16},children:D.map((ve,fe)=>A("div",{children:[f("span",{style:{color:ve.status==="resolved"?"#10b981":"#f59e0b"},children:ve.status==="resolved"?"Done":"Needs review"}),ve.summary?` \u2014 ${ve.summary}`:""]},fe))}),!S&&e.modelDetails?.length?f(wS,{patterns:e.modelDetails}):null]},`${e.jobId}-${t}`)});function Af(e,t){return!t||e.role!=="human"||t.role!=="human"||e.authorPeer?.id!==t.authorPeer?.id||!e.replyToQuestion||!t.replyToQuestion?!1:e.jobId===t.jobId||e.timestamp-t.timestamp<6e4}function Mf(e,t){if(!t||e.timestamp<=t.timestamp)return"a moment";let n=wg((e.segments??[]).flatMap(s=>s.kind==="approval"?[s.approval]:[]),t.timestamp,e.timestamp),r=Math.max(1,Math.round((e.timestamp-t.timestamp-n)/1e3));if(r<60)return`${r}s`;let o=Math.floor(r/60),i=r%60;if(o<60)return`${o}m${i?` ${i}s`:""}`;let a=Math.floor(o/60),l=o%60;return[`${a}h`,l?`${l}m`:"",i?`${i}s`:""].filter(Boolean).join(" ")}function US(e,t){if(e.role!=="assistant"||e.cancelled||e.error)return!1;let n=ca(e.responseText??"").trim(),r=(e.segments??[]).some(i=>i.kind==="approval"?!0:i.kind==="tool_group"?!1:i.kind==="orientation"?!0:ca(i.text).trim().length>0),o=!!(n||e.question||e.resolutions?.length||e.memoryReviewCard||e.imprintSummary||r);return!!(e.memoryReceipt?.status==="committed"||e.toolsUsed?.length||e.segments?.some(i=>i.kind==="tool_group")||t)&&!o}function Rf(e,t){return t.status==="applied"?t.applicationMode==="automatic"&&t.presentationJobId?e.jobId===t.presentationJobId:e.jobId===`apply-${t.id}`:t.status==="dismissed"?e.jobId===`dismiss-${t.id}`:t.presentationJobId?e.jobId===t.presentationJobId:t.runId&&e.jobId===t.runId?!0:!t.runId&&e.role==="assistant"&&!!e.responseText?.includes("Model suggestion ready")}function dr(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function gl(e){if(e===void 0)return"undefined";try{return JSON.stringify(e)}catch{return String(e)}}function yl(e,t){return gl(e)===gl(t)}function Ii(e){if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`${e.length} item${e.length===1?"":"s"}`;if(dr(e)){let t=Object.keys(e);return typeof e.value=="string"||typeof e.value=="number"?String(e.value):`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`}return String(e)}function YS(e,t){let n=e;for(let r of t){if(!n||typeof n!="object")return;n=n[String(r)]}return n}function Lf(e,t,n,r){if(!dr(e)){yl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:Ii(e),path:n,value:e,currentValue:t});return}if("value"in e){yl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:Ii(e),path:n,value:e,currentValue:t});return}for(let o of Object.keys(e))Lf(e[o],dr(t)?t[o]:void 0,[...n,o],r)}function XS(e,t){if(t.changes?.length)return t.changes.map(s=>{let d=s.path[0],c=d==="rules"||d==="components"||d==="tokens"?d:"model";return{id:s.id,group:c,label:s.label??s.path.map(String).join("."),detail:s.rationale,path:s.path,value:s.value,decisionIds:s.decisionIds,currentValue:YS(e,s.path)}});let n=t.proposedModel;if(!n)return[];let r=[],o=Array.isArray(e?.rules)?e.rules:[],i=Array.isArray(n.rules)?n.rules:[];for(let s=0;s<i.length;s++){let d=i[s];if(!dr(d))continue;let c=typeof d.id=="string"?d.id:`rule-${s}`,p=o.find(u=>dr(u)&&(typeof u.id=="string"&&u.id===c||gl(u)===gl(d)));yl(p,d)||r.push({id:`rule:${c}`,group:"rules",label:typeof d.scope=="string"?d.scope:"rule",detail:typeof d.text=="string"?d.text:Ii(d),path:["rules"],value:d,currentValue:p,ruleValue:d})}let a=dr(n.components)?n.components:{},l=dr(e?.components)?e.components:{};for(let s of Object.keys(a)){let d=a[s],c=l[s];yl(d,c)||r.push({id:`component:${s}`,group:"components",label:s,detail:Ii(d),path:["components",s],value:d,currentValue:c})}return dr(n.tokens)&&Lf(n.tokens,e?.tokens,["tokens"],r),r}function KS(e,t,n){let r=t.filter(a=>n.has(a.id)),o=r.filter(a=>a.group==="rules"&&a.ruleValue),i=r.filter(a=>!a.ruleValue).map(a=>({path:a.path,value:a.value,decisionIds:a.decisionIds}));if(o.length>0){let a=Array.isArray(e?.rules)?[...e.rules]:[];for(let l of o){let s=l.ruleValue,d=dr(s)&&typeof s.id=="string"?s.id:null,c=d?a.findIndex(p=>dr(p)&&p.id===d):-1;c>=0?a[c]=s:a.push(s)}i.push({path:["rules"],value:a,decisionIds:[...new Set(o.flatMap(l=>l.decisionIds??[]))]})}return i}function VS(e){return(e.selectedChanges??[]).flatMap((t,n)=>{if(!t.label&&!t.detail)return[];let r=t.group==="rules"||t.group==="components"||t.group==="tokens"||t.group==="model"?t.group:"model";return[{id:`selected:${e.id}:${n}`,group:r,label:t.label??r,detail:t.detail??Ii(t.value),path:t.path??[],value:t.value,currentValue:t.currentValue}]})}function QS({proposal:e,timestamp:t,bridgeUrl:n,accentColor:r,busy:o,onApplySelected:i,onDismiss:a,onReviewUnderlying:l,hideModelSenderUntilHover:s=!1}){let d=e.authorityStatus==="accepted",c=e.status==="pending"&&d,[p,u]=$(null),[m,h]=$(()=>new Set),[g,y]=$(null),w=xe(()=>{let B=VS(e);return!c&&B.length>0?B:XS(p,e)},[p,c,e]),S=xe(()=>KS(p,w,m),[w,p,m]),v=xe(()=>w.filter(B=>m.has(B.id)),[w,m]),k=xe(()=>{let B={rules:[],components:[],tokens:[],model:[]};for(let H of w)B[H.group].push(H);return B},[w]),R=w.map(B=>B.id).join("|");Y(()=>{let B=!1;return Kt(`${n}/model`).then(H=>H.ok?H.json():null).then(H=>{B||u(H?.model&&typeof H.model=="object"?H.model:null)}).catch(()=>{B||u(null)}),()=>{B=!0}},[n,e.id]),Y(()=>{h(c&&R?new Set(R.split("|")):new Set)},[R,c,e.id]);let P=U(B=>{h(H=>{let te=new Set(H);return te.has(B)?te.delete(B):te.add(B),te})},[]),_=U(()=>{h(new Set(w.map(B=>B.id)))},[w]),V=U(()=>{h(new Set)},[]),W=`${w.length} ${w.length===1?"change":"changes"}`,J=w.length===1?`1 ${w[0]?.group==="rules"?"rule":w[0]?.group==="components"?"component":w[0]?.group==="tokens"?"token":"change"}`:W;return e.status==="applied"?A("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[A("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[f(Rr,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:"Decision recorded"})]}),A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[f(Da,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:"Model updated"})]})]}),A("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:s?0:16,...s?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[A("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[f(Pc,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),f("span",{children:jc(e.model,e.provider)})]}),f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:ua(t)})]})]}):A("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[A("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,padding:16,display:"flex",flexDirection:"column",gap:12},children:[e.status==="dismissed"?A("div",{style:{alignItems:"center",display:"flex",gap:6,opacity:.45},children:[f(Oa,{"aria-hidden":"true",size:16,strokeWidth:2.5}),f("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion dismissed"})]}):A("div",{style:{alignItems:"center",display:"flex",gap:8},children:[f(Da,{"aria-hidden":"true",color:r,size:16,strokeWidth:2}),f("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion"})]}),e.status==="pending"&&d&&w.length>0&&A("div",{style:{alignItems:"center",display:"flex",fontSize:14,lineHeight:1.35,marginTop:4},children:[f("span",{style:{fontWeight:600},children:J}),A("div",{style:{display:"flex",gap:12,marginLeft:"auto"},children:[f("button",{type:"button",disabled:o,onClick:_,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:en,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Select all"}),f("button",{type:"button",disabled:o,onClick:V,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:en,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Clear"})]})]}),e.status==="pending"&&f(at,{children:w.length>0?f("div",{style:{display:"flex",flexDirection:"column",gap:8,marginTop:4},children:["rules","components","tokens","model"].flatMap(B=>k[B]).map(B=>{let H=m.has(B.id);return A("label",{style:{alignItems:"start",color:c&&!H?"var(--popmelt-thread-secondary)":"var(--popmelt-thread-primary)",columnGap:8,cursor:c?"pointer":"default",display:"grid",fontSize:14,gridTemplateColumns:c?"14px minmax(0, 1fr)":"minmax(0, 1fr)",lineHeight:1.35,padding:"0 0 8px 12px"},children:[c&&f("input",{type:"checkbox",checked:H,disabled:o,onChange:()=>P(B.id),style:{WebkitAppearance:"none",appearance:"none",margin:"1px 0 0",width:14,height:14,backgroundColor:H?r:"transparent",border:`1px solid ${H?r:"rgba(0,0,0,0.34)"}`,boxSizing:"border-box",cursor:o?"default":"pointer"}}),A("span",{style:{minWidth:0},children:[f("span",{style:{fontWeight:700},children:B.label}),A("span",{children:[" \u2014 ",B.detail]}),B.currentValue!==void 0&&A("span",{style:{display:"block",marginTop:2,opacity:.5},children:["was ",Ii(B.currentValue)]})]})]},B.id)})}):f("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,lineHeight:1.4},children:"No concrete model diff could be derived from this proposal."})}),!d&&e.status==="pending"&&f("div",{style:{color:"#92400e",background:"rgba(180,83,9,0.06)",border:"1px solid rgba(180,83,9,0.2)",padding:8,fontSize:12,lineHeight:1.4},children:f("strong",{children:"A competing product decision is pending"})}),e.status==="pending"&&d&&A("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[A("button",{type:"button",disabled:o,onClick:a,onMouseEnter:()=>{o||y("reject")},onMouseLeave:()=>y(null),style:{...bd,alignItems:"center",background:"var(--popmelt-thread-control)",border:0,color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,justifyContent:"space-between",padding:"8px 12px",transition:"background-color 120ms ease"},children:[f("span",{children:"Reject"}),f(Oa,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),A("button",{type:"button",disabled:o||S.length===0,onClick:()=>i(e,S,v),onMouseEnter:()=>{!o&&S.length>0&&y("confirm")},onMouseLeave:()=>y(null),style:{...vd,alignItems:"center",display:"flex",fontSize:12,background:g==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:g==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",justifyContent:"space-between",padding:"8px 12px",opacity:o||S.length===0?.45:1,cursor:o||S.length===0?"not-allowed":"pointer",transition:"background-color 120ms ease, border-color 120ms ease"},children:[f("span",{children:"Confirm"}),f(Zr,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]}),e.status==="pending"&&!d&&A("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[f("button",{type:"button",disabled:o,onClick:a,style:bd,children:"Dismiss"}),f("button",{type:"button",disabled:o||!e.underlyingProposalId,onClick:l,style:{...vd,opacity:e.underlyingProposalId?1:.45},children:"Review decision"})]})]}),A("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:s?0:16,...s?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[A("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[f(Pc,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),f("span",{children:jc(e.model,e.provider)})]}),f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:ua(t)})]})]})}var vd={border:"1px solid var(--popmelt-thread-action)",borderRadius:24,background:"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",cursor:"pointer",fontFamily:en,fontSize:12,fontWeight:700,padding:"6px 8px"},bd={border:"1px solid var(--popmelt-thread-border)",borderRadius:16,background:"transparent",color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:en,fontSize:12,fontWeight:700,padding:"6px 8px"};function GS({onAttentionChange:e,threadId:t,bridgeUrl:n,accentColor:r,initialMessages:o=[],completedJobId:i,refreshKey:a,isStreaming:l,isQueued:s,queuePosition:d,activeJobId:c,streamingEvents:p,onClose:u,onReply:m,onCancel:h,canManage:g=!0,readOnlyReason:y,lastError:w,onMouseEnter:S,temporarilyHidden:v=!1,backdropCursor:k,toolbarRef:R,surfaceRef:P,currentModel:_,currentProvider:V,availableProviders:W=[],models:J=[],modelIndex:B=0,agentSettings:H,onProviderChange:te,onModelChange:Q,onAgentSettingsChange:D,onModelMenuOpen:N,annotationNumber:I,annotationText:O,onPreviousThread:T,onNextThread:G,preferredSide:F="right",modal:ue=!0}){let[L,,re]=Gl(),ne=Zl[L],z={"--popmelt-thread-surface":ne.surface,"--popmelt-thread-raised":ne.raisedSurface,"--popmelt-thread-soft":ne.softSurface,"--popmelt-thread-control":ne.control,"--popmelt-thread-primary":ne.threadPrimary,"--popmelt-thread-secondary":ne.secondary,"--popmelt-thread-muted":ne.muted,"--popmelt-thread-muted-strong":ne.mutedStrong,"--popmelt-thread-border":ne.border,"--popmelt-thread-hairline":ne.hairline,"--popmelt-thread-soft-hairline":ne.softHairline,"--popmelt-thread-action":ne.actionSurface,"--popmelt-thread-on-action":ne.actionForeground,"--popmelt-thread-action-hover":ne.actionHover,"--popmelt-thread-scrollbar-idle":ne.scrollbarIdle,"--popmelt-thread-scrollbar-hover":ne.scrollbarHover},[Te,me]=$(()=>o),[He,Oe]=$([]);Y(()=>(e?.(!v&&He.length?{threadId:t,targets:He}:null),()=>e?.(null)),[e,v,t,He]);let We=xe(()=>rS(O,Te),[O,Te]),[ve,fe]=$([]),[be,pt]=$(!1),[Ce,Ae]=$(!1),De=N0({bridgeUrl:n,threadId:t,visible:!v,active:!!l,onPendingChange:Ae}),[Ge,qe]=$(o.length===0),_e=q(null);_e.current||(_e.current=tS(t));let[dt,tt]=$(()=>_e.current.text),[we,nt]=$([]),[jt,At]=$(!1),[lt,Le]=$(!1),Xt=q(null),Be=q(null),Mt=q(null),K=q(null),he=q(!1),ye=q(!1),M=q(!1),Ze=q(!1),Je=q({selectionStart:_e.current.selectionStart,selectionEnd:_e.current.selectionEnd,selectionDirection:_e.current.selectionDirection}),[ot,st]=$(!0),[St,Pe]=$(null),je=U(j=>Pe(j),[]),rt=q(null),Ye=q(!0),Ue=q(null),ct=q(null),_t=q(0),Jt=q(null),fn=U((j,oe)=>{let ee=j&&oe.trim();rt.current&&(rt.current.style.opacity=ee?"0.65":"1")},[]),En=q(null),Xe=q(null),Nn=U(j=>{Xe.current=j,P?.(j)},[P]),tn=q(null),yn=q(l),cr=q(c),Zt=q(null);Y(()=>{md(t,dt,void 0,Je.current)},[dt,t]),Dt(()=>{let j=En.current,oe=_e.current;!j||!oe||oe.text.length===0||j.setSelectionRange(oe.selectionStart,oe.selectionEnd,oe.selectionDirection)},[]);let gt=U(()=>{Xt.current&&(clearTimeout(Xt.current),Xt.current=null)},[]),ft=U(()=>{Be.current&&(clearTimeout(Be.current),Be.current=null)},[]),yt=U(()=>{Mt.current&&(clearTimeout(Mt.current),Mt.current=null),K.current!==null&&(cancelAnimationFrame(K.current),K.current=null)},[]),vn=U(()=>{N?.(),yt(),Le(!0),K.current=requestAnimationFrame(()=>{K.current=null,At(!0)})},[yt,N]),vt=U(()=>{yt(),At(!1),Mt.current=setTimeout(()=>{Mt.current=null,Le(!1)},dS)},[yt]),Tn=U(()=>{gt(),ft(),he.current=!1,ye.current=!1,M.current=!1,vt()},[ft,gt,vt]),nn=U(()=>{ft(),gt(),Xt.current=setTimeout(()=>{Xt.current=null,he.current&&vn()},lS)},[ft,gt,vn]),Hn=U(()=>{gt(),ft(),!M.current&&(Be.current=setTimeout(()=>{Be.current=null,!he.current&&!ye.current&&!M.current&&vt()},sS))},[ft,gt,vt]),$r=U(j=>{M.current=j,j?ft():!he.current&&!ye.current&&Hn()},[ft,Hn]);Y(()=>()=>{gt(),ft(),yt()},[ft,yt,gt]);let Rt=q(gd(F)),Ft=q({x:0,y:0}),_n=q(!1),No=q({x:0,y:0,offsetX:0,offsetY:0}),Pr=q(F==="right"),[,co]=$(0),ur=`${fS}:${F}`;Y(()=>{try{let j=localStorage.getItem(ur);if(j){let oe=JSON.parse(j);if(typeof oe.top=="number"&&typeof oe.left=="number"){let{width:ee,height:ke}=lo(),ge=Ao(ee),Me=da(ee),Fe={top:Math.max(ge,Math.min(oe.top,ke-ge-200)),left:Math.max(ge,Math.min(oe.left,Me))};Pr.current=Fe.left>=Me-2,Rt.current=Fe,co(Ve=>Ve+1)}}}catch{}},[ur]),Y(()=>{let j=()=>{if(Pr.current)Rt.current=gd(F);else{let oe=Rt.current,{width:ee,height:ke}=lo(),ge=Ao(ee),Me=da(ee);Rt.current={top:Math.max(ge,Math.min(oe.top,ke-ge-200)),left:Math.max(ge,Math.min(oe.left,Me))}}co(oe=>oe+1)};return window.addEventListener("resize",j,{passive:!0}),window.visualViewport?.addEventListener("resize",j,{passive:!0}),()=>{window.removeEventListener("resize",j),window.visualViewport?.removeEventListener("resize",j)}},[F]),Y(()=>{let j=tn.current;if(!j)return;let oe=Me=>{hc(lo().width)||Me.button!==0||Me.target.closest("button")||(Me.preventDefault(),Me.stopPropagation(),_n.current=!0,No.current={x:Me.clientX,y:Me.clientY,offsetX:Ft.current.x,offsetY:Ft.current.y})},ee=Me=>{if(!_n.current)return;let Fe=No.current,Ve=Fe.offsetX+(Me.clientX-Fe.x),ze=Fe.offsetY+(Me.clientY-Fe.y),{width:qt}=lo(),er=Ao(qt),Nr=Math.max(er,Math.min(da(qt),Rt.current.left+Ve)),An=Math.max(er,Rt.current.top+ze);Ft.current={x:Nr-Rt.current.left,y:An-Rt.current.top};let gr=Xe.current;gr&&(gr.style.top=`${An}px`,gr.style.left=`${Nr}px`,gr.style.height=`${yf(An,Nr,R?.current)}px`)},ke=()=>{if(!_n.current)return;let Me=Rt.current.top+Ft.current.y,Fe=Rt.current.left+Ft.current.x;Rt.current={top:Me,left:Fe},Ft.current={x:0,y:0};let Ve=da();Pr.current=Fe>=Ve-2;try{localStorage.setItem(ur,JSON.stringify({top:Me,left:Fe}))}catch{}_n.current=!1},ge=()=>{Rt.current=gd(F),Ft.current={x:0,y:0},Pr.current=F==="right";try{localStorage.removeItem(ur)}catch{}co(Me=>Me+1)};return j.addEventListener("mousedown",oe),window.addEventListener("mousemove",ee),window.addEventListener("mouseup",ke),j.addEventListener("dblclick",ge),()=>{j.removeEventListener("mousedown",oe),window.removeEventListener("mousemove",ee),window.removeEventListener("mouseup",ke),j.removeEventListener("dblclick",ge)}},[ur,F,R]);let Wt=U(async j=>{try{let oe=await Kt(`${n}/thread/${t}`);if(!oe.ok)throw new Error(`Thread fetch failed: ${oe.status}`);let ee=await oe.json(),ke=ee.messages??[],ge=j0(ee,location.pathname);Oe(ze=>JSON.stringify(ze)===JSON.stringify(ge)?ze:ge);let Me=j?.settleJobId,Fe=$0(ke,Me);(Fe||j?.applyUnsettled)&&me(ze=>ke.length===0&&ze.length>0?ze:ke);let Ve=Array.isArray(ee.modelProposals)?ee.modelProposals:ee.modelProposal?[ee.modelProposal]:[];return(Fe||j?.applyUnsettled)&&fe(Ve),qe(!1),{messages:ke,settled:Fe}}catch{return qe(!1),null}},[n,t]),Ei=U(async(j,oe)=>{if(!be){pt(!0);try{let ee=await Kt(`${n}/projection/proposals/${encodeURIComponent(j.id)}/${oe}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:V,model:_,...H})});if(ee.ok){let ke=await ee.json();ke.proposal&&fe(ge=>ge.map(Me=>Me.id===ke.proposal.id?ke.proposal:Me)),await Wt()}}finally{pt(!1)}}},[H,n,_,V,Wt,be]);Y(()=>{a&&Wt({applyUnsettled:!0})},[a,Wt]);let Ke=U(async(j,oe,ee)=>{if(!be){pt(!0);try{(await Kt(`${n}/memory/conversation-action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,proposalId:j.proposalId,action:oe,claim:ee,provider:V,model:_,...H})})).ok&&await Wt()}finally{pt(!1)}}},[H,n,_,V,Wt,be,t]),Ho=U(async(j,oe)=>{if(!be){pt(!0);try{(await Kt(`${n}/imprint/action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,transactionId:j.transactionId,action:oe})})).ok&&await Wt()}finally{pt(!1)}}},[n,Wt,be,t]),jr=U(async(j,oe,ee)=>{if(!(be||oe.length===0)){pt(!0);try{let ke=await Kt(`${n}/projection/proposals/${encodeURIComponent(j.id)}/apply-selected`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({changes:oe,changeSummaries:ee.map(ge=>({group:ge.group,label:ge.label,detail:ge.detail,path:ge.path,value:ge.value,currentValue:ge.currentValue})),provider:V,model:_,...H})});if(ke.ok){let ge=await ke.json();ge.proposal&&fe(Me=>Me.map(Fe=>Fe.id===ge.proposal.id?ge.proposal:Fe)),await Wt()}}finally{pt(!1)}}},[H,n,_,V,Wt,be]);Y(()=>{let j=!1;_t.current=0,qe(o.length===0),ct.current&&(clearTimeout(ct.current),ct.current=null);let oe=async()=>{let ee=await Wt({applyUnsettled:!0});j||ee===null||ee.messages.length!==0||_t.current>=5||(_t.current+=1,ct.current=setTimeout(oe,200*_t.current))};return oe(),()=>{j=!0,ct.current&&(clearTimeout(ct.current),ct.current=null)}},[Wt,o.length]);let Vn=U(j=>{if(!j||Zt.current===j)return;Zt.current=j,Jt.current&&clearTimeout(Jt.current);let oe=0,ee=async()=>{(await Wt({settleJobId:j,applyUnsettled:oe>=5}))?.settled||oe>=5||(oe+=1,Jt.current=setTimeout(ee,80*oe))};ee()},[Wt]);Y(()=>{Vn(i)},[i,Vn]),Y(()=>{yn.current&&!l&&Vn(cr.current),yn.current=l,c&&(cr.current=c)},[c,l,Vn]),Y(()=>()=>{Jt.current&&clearTimeout(Jt.current)},[]);let Fn=xe(()=>p?jS(p):[],[p]),zr=xe(()=>ff(Fn),[Fn]),Qn=xe(()=>wf(Fn.filter(j=>j.kind==="tool_group")),[Fn]),Ot=xe(()=>Sf(Qn),[Qn]),Dr=xe(()=>p?NS(p):void 0,[p]),pr=xe(()=>Te.filter(j=>j.role==="human"&&j.replyToQuestion&&j.queued&&j.jobId!==c),[c,Te]),Lt=xe(()=>Te.filter(j=>!(j.role==="human"&&j.replyToQuestion&&j.queued&&j.jobId!==c)),[c,Te]),rn=xe(()=>{let j=new Set,oe=new Map,ee=new Map,ke=new Map,ge=[];if(Lt.forEach((Me,Fe)=>{let Ve=ve.some(ze=>ze.status==="applied"&&Rf(Me,ze));if(US(Me,Ve)){ge.push(Fe);return}Me.role!=="assistant"||ge.length===0||(oe.set(Fe,ge.map(ze=>Lt[ze])),ge.forEach(ze=>j.add(ze)),ge=[])}),ge.length>0){let Me=ge[0]-1;if(Lt[Me]?.role==="assistant"&&!j.has(Me)){let Fe=oe.get(Me)??[];oe.set(Me,[...Fe,...ge.map(ze=>Lt[ze])]),ge.forEach(ze=>j.add(ze));let Ve=ge[ge.length-1];ee.set(Me,Mf(Lt[Ve],Lt[Ve-1])),ke.set(Me,Lt[Ve].timestamp)}else if(ge.length>1){let Fe=ge[ge.length-1],Ve=ge.slice(0,-1);oe.set(Fe,Ve.map(ze=>Lt[ze])),Ve.forEach(ze=>j.add(ze))}}return{hiddenIndices:j,messagesByTargetIndex:oe,timestampByTargetIndex:ke,workedForByTargetIndex:ee}},[ve,Lt]),kt=xe(()=>{let j=new Map;for(let oe of Te)oe.memoryReviewCard&&j.set(oe.memoryReviewCard.proposalId,`${oe.jobId}:${oe.timestamp}`);return j},[Te]),bn=xe(()=>{let j=[];return Lt.forEach((oe,ee)=>{if(rn.hiddenIndices.has(ee))return;let ke=Af(oe,Lt[ee-1]);oe.role==="assistant"&&!ke&&j.push(`message:${oe.jobId}:${ee}`)}),l?"streaming":j[j.length-1]??null},[rn,l,Lt]);Y(()=>{let j=rt.current;if(!j)return;let oe=()=>{j.dataset.scrollActive="true",Ue.current&&clearTimeout(Ue.current),Ue.current=setTimeout(()=>{delete j.dataset.scrollActive,Ue.current=null},850)},ee=()=>{oe();let ke=j.scrollHeight-j.scrollTop-j.clientHeight;st(ke<40),Ye.current=ke<2};return oe(),j.addEventListener("scroll",ee,{passive:!0}),()=>{j.removeEventListener("scroll",ee),Ue.current&&clearTimeout(Ue.current)}},[]),Y(()=>{Ye.current&&rt.current&&(rt.current.scrollTop=rt.current.scrollHeight)},[Te,Fn.length,l,Ce]),Y(()=>{if(!lt)return;let j=oe=>{oe.composedPath().some(ee=>ee instanceof HTMLElement&&ee.dataset.modelPicker!==void 0)||Tn()};return document.addEventListener("pointerdown",j,!0),()=>document.removeEventListener("pointerdown",j,!0)},[Tn,lt]),Y(()=>{let j=oe=>{if(oe.key==="Escape"){if(oe.stopPropagation(),lt){Tn();return}u()}};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[Tn,lt,u]);let fr=U((j,oe,ee)=>{let ke=j.trim();if(!ke||!m)return!1;let ge=`_pending_reply_${Date.now()}`,Me=!!l,Fe=oe?oe.map(Ve=>URL.createObjectURL(Ve)):void 0;return me(Ve=>[...Ve,{role:"human",timestamp:Date.now(),jobId:ge,replyToQuestion:ke,...Me?{queued:!0}:{},...Fe?{replyImageUrls:Fe}:{}}]),Promise.resolve().then(()=>m(t,ke,oe,ee)).then(async Ve=>{Ve?.jobId&&(me(ze=>ze.map(qt=>qt.jobId===ge?{...qt,jobId:Ve.jobId}:qt)),await Wt({applyUnsettled:!0}))}).catch(()=>{me(Ve=>Ve.map(ze=>ze.jobId===ge?{...ze,queued:!1,errorKind:"send_rejected",error:"Reply was not sent. Check your connection and Edit permission before retrying."}:ze)),tt(Ve=>Ve||ke),oe&&nt(Ve=>Ve.length?Ve:oe)}),!0},[l,t,m,Wt]),Qt=U(()=>{let j=we.length>0?we:void 0;fr(dt,j)&&(tt(""),nt([]))},[dt,we,fr]),xn=U(j=>{let oe=j.clipboardData.items,ee=[];for(let ke=0;ke<oe.length;ke++){let ge=oe[ke];if(ge.type.startsWith("image/")){let Me=ge.getAsFile();Me&&ee.push(Me)}}ee.length>0&&(j.preventDefault(),nt(ke=>[...ke,...ee]))},[]),Gn=U(j=>{j.key==="Enter"&&(j.metaKey||j.ctrlKey)&&(j.preventDefault(),Qt())},[Qt]);Dt(()=>{let j=En.current;j&&(j.style.height="auto",j.style.height=`${Math.max(34,Math.min(j.scrollHeight,120))}px`)},[dt]);let Cn=Rt.current.top+Ft.current.y,wn=Rt.current.left+Ft.current.x,hr=lo(),ht=hc(hr.width),mr=Ao(hr.width),Or=mc(hr.width),Zn=yf(Cn,wn,R?.current),Ti=Te.some(j=>j.memoryReviewCard&&!Te.some(oe=>oe.memoryReceipt?.proposalId===j.memoryReviewCard.proposalId)),Ci=l?"Add steering context":Ti?"Ask for rule changes":"Ask for changes";return A(at,{children:[ue&&f("div",{"data-devtools":"thread-panel-backdrop",onPointerDown:j=>{j.target===j.currentTarget&&u()},style:{position:"fixed",inset:0,zIndex:9998,opacity:v?0:1,pointerEvents:v?"none":"auto",cursor:k,transition:v?`opacity ${Xl}ms ease`:"none"}}),A("div",{ref:Nn,style:{...mS,...z,width:Or,height:ht?"auto":Zn,position:"fixed",top:ht?`max(${mr}px, env(safe-area-inset-top))`:Cn,bottom:ht?`max(${mr}px, env(safe-area-inset-bottom))`:void 0,left:ht?`max(${mr}px, env(safe-area-inset-left))`:wn,right:ht?`max(${mr}px, env(safe-area-inset-right))`:void 0,zIndex:10004,opacity:v?0:1,pointerEvents:v?"none":"auto",transition:v?`opacity ${Xl}ms ease`:"none"},"data-devtools":"thread-panel","data-popmelt-thread-id":t,"data-popmelt-font":"sans","data-popmelt-theme":L,"data-popmelt-theme-preference":re,"aria-hidden":v||void 0,onMouseEnter:S,children:[uS,A("div",{style:{background:"var(--popmelt-thread-surface)",borderRadius:"12px 12px 16px 16px",display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[A("div",{ref:tn,"data-popmelt-thread-header":!0,style:{...gS,backgroundColor:r,color:"#ffffff",cursor:"grab",overflow:ht?"visible":"hidden",paddingRight:ht?32:6,userSelect:"none",WebkitUserSelect:"none"},children:[A("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0,flex:1},children:[f("span",{style:{flexShrink:0},children:I?`${I}.`:"Conversation"}),We&&f("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:We})]}),T&&G&&A("span",{style:{display:"flex",flexShrink:0,gap:0,marginLeft:8},children:[f("button",{type:"button","aria-label":"Previous thread","data-popmelt-thread-nav":!0,onClick:T,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:ao,justifyContent:"center",margin:0,padding:0,position:"relative",width:ao},children:f(tg,{"aria-hidden":"true",height:ao,strokeWidth:2,width:ao})}),f("button",{type:"button","aria-label":"Next thread","data-popmelt-thread-nav":!0,onClick:G,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:ao,justifyContent:"center",margin:0,padding:0,position:"relative",width:ao},children:f(ps,{"aria-hidden":"true",height:ao,strokeWidth:2,width:ao})})]}),ht&&f("button",{type:"button","aria-label":"Close thread",onClick:u,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",flexShrink:0,height:40,justifyContent:"center",margin:0,padding:0,position:"absolute",right:-4,top:"50%",transform:"translateY(-50%)",width:40},children:f(Na,{"aria-hidden":"true",size:14,strokeWidth:2})})]}),f("style",{dangerouslySetInnerHTML:{__html:vS+`
|
|
156
|
-
[data-devtools="thread-panel"] ::selection { background: color-mix(in srgb, ${r} 15%, transparent); }
|
|
157
|
-
[data-popmelt-thread-nav] { opacity: 0.5; transition: opacity 120ms ease; }
|
|
158
|
-
[data-popmelt-thread-nav]:hover, [data-popmelt-thread-nav]:focus-visible { opacity: 1; }
|
|
159
|
-
[data-popmelt-thread-nav]::before { content: ''; position: absolute; inset: -4px; }
|
|
160
|
-
[data-popmelt-thread-content] { isolation: isolate; }
|
|
161
|
-
[data-popmelt-thread-content]::after {
|
|
162
|
-
background: color-mix(in srgb, var(--popmelt-thread-surface) 50%, transparent);
|
|
163
|
-
content: '';
|
|
164
|
-
inset: 0;
|
|
165
|
-
opacity: 0;
|
|
166
|
-
pointer-events: none;
|
|
167
|
-
position: absolute;
|
|
168
|
-
transition: opacity 100ms ease;
|
|
169
|
-
transition-delay: 0ms;
|
|
170
|
-
z-index: 10;
|
|
171
|
-
}
|
|
172
|
-
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:hover)::after,
|
|
173
|
-
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:focus-within)::after {
|
|
174
|
-
opacity: 1;
|
|
175
|
-
transition-delay: 180ms;
|
|
176
|
-
}
|
|
177
|
-
[data-popmelt-thread-content] [data-popmelt-tool-receipt-tooltip] { z-index: 20; }
|
|
178
|
-
[data-popmelt-reply]::placeholder { color: var(--popmelt-thread-muted); opacity: 1; }
|
|
179
|
-
[data-message-timestamp] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
180
|
-
[data-message-activity] { opacity: 1; transition: opacity 120ms ease; }
|
|
181
|
-
[data-worked-for-label], [data-worked-for-time] { transition: opacity 120ms ease; }
|
|
182
|
-
[data-worked-for-time] { pointer-events: none; }
|
|
183
|
-
[data-under-message-rail="hover"] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
184
|
-
[data-model-sender] { display: none !important; }
|
|
185
|
-
[data-msg]:hover [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
186
|
-
[data-msg]:hover [data-message-timestamp] { opacity: 1; }
|
|
187
|
-
[data-worked-for-trigger]:hover [data-worked-for-label] { opacity: 0; }
|
|
188
|
-
[data-worked-for-trigger]:hover [data-worked-for-time] { opacity: 1 !important; }
|
|
189
|
-
[data-popmelt-tool-receipt-tooltip] {
|
|
190
|
-
opacity: 0;
|
|
191
|
-
transform: translateY(3px) scale(0.98);
|
|
192
|
-
transform-origin: bottom center;
|
|
193
|
-
transition: opacity 100ms ease, transform 100ms ease, visibility 0s linear 100ms;
|
|
194
|
-
visibility: hidden;
|
|
195
|
-
}
|
|
196
|
-
[data-popmelt-tool-receipt-scroll] {
|
|
197
|
-
overflow-x: hidden !important;
|
|
198
|
-
}
|
|
199
|
-
[data-popmelt-tool-receipt-scroll],
|
|
200
|
-
[data-popmelt-tool-receipt-scroll] * {
|
|
201
|
-
box-sizing: border-box;
|
|
202
|
-
max-width: 100%;
|
|
203
|
-
min-width: 0;
|
|
204
|
-
overflow-wrap: anywhere;
|
|
205
|
-
white-space: normal;
|
|
206
|
-
word-break: break-word;
|
|
207
|
-
}
|
|
208
|
-
[data-popmelt-tool-receipt-trigger]:hover > button {
|
|
209
|
-
color: var(--popmelt-thread-primary) !important;
|
|
210
|
-
}
|
|
211
|
-
[data-popmelt-tool-receipt-scrim] {
|
|
212
|
-
left: 0;
|
|
213
|
-
opacity: 0;
|
|
214
|
-
pointer-events: none;
|
|
215
|
-
position: absolute;
|
|
216
|
-
right: 0;
|
|
217
|
-
transition: opacity 100ms ease;
|
|
218
|
-
z-index: 1;
|
|
219
|
-
}
|
|
220
|
-
[data-popmelt-tool-receipt-scrim="top"] {
|
|
221
|
-
background: linear-gradient(to bottom, var(--popmelt-thread-raised) 10%, transparent);
|
|
222
|
-
height: 24px;
|
|
223
|
-
top: 0;
|
|
224
|
-
}
|
|
225
|
-
[data-popmelt-tool-receipt-scrim="bottom"] {
|
|
226
|
-
background: linear-gradient(to top, var(--popmelt-thread-raised) 10%, transparent);
|
|
227
|
-
bottom: 0;
|
|
228
|
-
height: 24px;
|
|
229
|
-
}
|
|
230
|
-
[data-popmelt-tool-receipt-tooltip][data-overflow-top] [data-popmelt-tool-receipt-scrim="top"],
|
|
231
|
-
[data-popmelt-tool-receipt-tooltip][data-overflow-bottom] [data-popmelt-tool-receipt-scrim="bottom"] {
|
|
232
|
-
opacity: 1;
|
|
233
|
-
}
|
|
234
|
-
[data-popmelt-tool-receipt-trigger]:hover [data-popmelt-tool-receipt-tooltip][data-ready="true"],
|
|
235
|
-
[data-popmelt-tool-receipt-trigger]:focus-within [data-popmelt-tool-receipt-tooltip][data-ready="true"] {
|
|
236
|
-
opacity: 1;
|
|
237
|
-
transform: translateY(0) scale(1);
|
|
238
|
-
transition-delay: 180ms;
|
|
239
|
-
visibility: visible;
|
|
240
|
-
}
|
|
241
|
-
@media (prefers-reduced-motion: reduce) {
|
|
242
|
-
[data-popmelt-tool-receipt-tooltip] { transition: none; }
|
|
243
|
-
[data-popmelt-thread-content]::after { transition: none; }
|
|
244
|
-
}
|
|
245
|
-
@media (hover: none), (pointer: coarse) {
|
|
246
|
-
[data-message-timestamp], [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
247
|
-
[data-popmelt-thread-header] { cursor: default !important; }
|
|
248
|
-
[data-popmelt-reply-action] { width: 40px !important; height: 40px !important; margin: -10px; }
|
|
249
|
-
}
|
|
250
|
-
`}}),A("div",{"data-popmelt-thread-content":!0,style:{display:"flex",flex:1,flexDirection:"column",minHeight:0,position:"relative"},children:[A("div",{ref:rt,style:{...yS,transition:"opacity 150ms ease"},"data-devtools":"thread-panel-messages",children:[Ge&&f("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"Loading..."}),!Ge&&Lt.length===0&&pr.length===0&&!l&&f("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"No messages yet."}),Lt.map((j,oe)=>{if(rn.hiddenIndices.has(oe))return null;let ee=rn.messagesByTargetIndex.get(oe)??[],ke=[...ee,j],ge=Af(j,Lt[oe-1]),Me=Ge?[]:ve.filter(ze=>ke.some(qt=>Rf(qt,ze))),Fe=Me.filter(ze=>ze.status==="applied"),Ve={decisionRecorded:Fe.some(ze=>ze.decisionIds.length>0),modelUpdated:Fe.length>0,imprintReceipt:HS(ke,Lt)};return A(Xc,{children:[f(Cf,{msg:j,index:oe,bridgeUrl:n,accentColor:r,onLightbox:je,hideSender:ge,hideTimestamp:ge,hideModelSenderUntilHover:bn!==`message:${j.jobId}:${oe}`,compactSpacing:ge,workedFor:rn.workedForByTargetIndex.get(oe)??Mf(j,Lt[oe-1]),activityTimestamp:rn.timestampByTargetIndex.get(oe),memoryReviewBusy:be,memoryReviewResolved:!!(j.memoryReviewCard&&Te.some(ze=>ze.memoryReceipt?.proposalId===j.memoryReviewCard.proposalId&&ze.memoryReceipt.status==="committed")),memoryReviewSuperseded:!!(j.memoryReviewCard&&kt.get(j.memoryReviewCard.proposalId)!==`${j.jobId}:${j.timestamp}`),foldedActivityMessages:ee,underMessageActivity:Ve,onMemoryReviewAction:g?Ke:void 0,onImprintAction:g?Ho:void 0}),Me.filter(ze=>ze.status!=="applied").map(ze=>f("fieldset",{disabled:!g,style:{border:0,padding:0,margin:0,minWidth:0},children:f(QS,{proposal:ze,timestamp:j.timestamp,bridgeUrl:n,accentColor:r,busy:be,onApplySelected:jr,onDismiss:()=>Ei(ze,"dismiss"),onReviewUnderlying:()=>{ze.underlyingProposalId&&fr("> Kicked off decision review",void 0,{memoryReviewProposalId:ze.underlyingProposalId})},hideModelSenderUntilHover:bn!==`proposal:${ze.id}`})},ze.id))]},`${j.jobId}-${oe}`)}),l&&A("div",{style:{padding:0,display:"flex",flexDirection:"column",gap:8},children:[(!s||De.approvals.some(j=>j.jobId===c&&j.phase))&&f(at,{children:zr.map((j,oe)=>{if(j.kind==="approval"){let ke=De.approvals.find(Me=>Me.id===j.approval.id),ge=j.approval.status==="pending"&&ke?.status!=="pending"?ke??j.approval:j.approval;return f(O0,{approval:ge,accentColor:r,connected:g&&De.connected,decide:Me=>De.decide(ge,Me)},ge.id)}if(j.kind==="tool_group")return null;if(j.kind==="file_content")return f(zS,{file:j.file,content:j.content,ext:j.ext,isPlan:j.isPlan,onAccept:j.isPlan&&m?()=>m(t,"Looks good, please proceed with implementation."):void 0},oe);if(j.kind==="thinking")return f("div",{style:{fontSize:12,color:"var(--popmelt-thread-muted)",fontStyle:"italic",lineHeight:1.4,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:80,overflowY:"auto"},children:j.text},oe);if(j.kind==="status")return f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic",lineHeight:1.4,wordBreak:"break-word"},children:j.text},oe);if(j.kind==="orientation")return f(xf,{orientation:j.orientation},oe);let ee=ca(j.text);return ee?f("div",{style:{fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},children:sr(ee)},oe):null})}),A("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:24},children:[f("div",{style:{alignItems:"center",display:"flex",gap:6},children:s?A(at,{children:[f(Gc,{size:12,strokeWidth:2.25,color:r,style:{verticalAlign:"middle",flexShrink:0,opacity:.5}}),f("span",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic"},children:De.approvals.some(j=>j.jobId===c&&j.phase==="parked")?"Parked \xB7 waiting for permission":De.approvals.some(j=>j.jobId===c&&j.phase==="queued")?"Queued next":`Queued${d?` ${d}`:""}`})]}):A(at,{children:[Ce?f("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Waiting for permission"}):f(IS,{color:"var(--popmelt-thread-muted-strong)"}),Ot.map(j=>f(kf,{receipt:j,animateCount:!0},j.kind)),Dr&&f(Tf,{receipt:Dr,accentColor:r})]})}),h&&f("button",{onClick:h,style:{background:"none",border:"1px solid var(--popmelt-thread-hairline)",borderRadius:16,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",fontFamily:"inherit",fontSize:12,padding:"4px 10px"},children:"Cancel"})]})]}),f(z0,{messages:pr,renderMessage:j=>f(Cf,{msg:j,index:Te.indexOf(j),bridgeUrl:n,accentColor:r,onLightbox:je,hideSender:!0,hideTimestamp:!0}),onChange:g?async(j,oe)=>{let ee=await Kt(`${n}/reply/queued`,{method:oe===null?"DELETE":"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,jobId:j.jobId,submissionId:j.lifecycle?.submissionIds[0],expectedReply:j.replyToQuestion,reply:oe})});if(!ee.ok){let ke=await ee.json().catch(()=>({}));throw new Error(ke.error??"Could not update queued message.")}await Wt({applyUnsettled:!0})}:void 0})]}),!l&&w&&A("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:12,color:"#dc2626",lineHeight:1.4},children:[f("span",{style:{fontWeight:600},children:"Error: "}),w]}),!m&&y&&A("div",{role:"status",style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",fontSize:12,gap:4,justifyContent:"center",letterSpacing:"0.12px",lineHeight:1.35,padding:"16px 12px",whiteSpace:"nowrap"},children:[f(ng,{"aria-hidden":"true",size:12,strokeWidth:1.5}),f("span",{children:y})]}),m&&A("div",{style:{bottom:0,left:0,position:"absolute",right:0,zIndex:1},children:[lt&&f(Qh,{visible:jt,provider:V,availableProviders:W,models:J,modelIndex:B,agentSettings:H,onProviderChange:te,onModelChange:Q,onAgentSettingsChange:D,onMouseEnter:()=>{ye.current=!0,ft()},onMouseLeave:()=>{ye.current=!1,Hn()},onScrubChange:$r}),!ot&&Te.length>0&&f("button",{type:"button","data-scroll-to-bottom":!0,"aria-label":"Scroll to latest message",title:"Scroll to latest message",onClick:()=>{rt.current&&rt.current.scrollTo({top:rt.current.scrollHeight,behavior:"smooth"})},style:{alignItems:"center",background:"var(--popmelt-thread-surface)",border:"1px solid var(--popmelt-thread-border)",borderRadius:999,bottom:"calc(100% + 8px)",color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"flex",height:30,justifyContent:"center",left:"50%",padding:0,position:"absolute",transform:"translateX(-50%)",width:30,zIndex:2},children:f(rg,{"aria-hidden":"true",size:16,strokeWidth:1.75})}),we.length>0&&f("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:we.map((j,oe)=>A("span",{onClick:()=>nt(ee=>ee.filter((ke,ge)=>ge!==oe)),onMouseEnter:ee=>{let ke=ee.currentTarget.querySelector("[data-chip-x]");ke&&(ke.style.color="#fff")},onMouseLeave:ee=>{let ke=ee.currentTarget.querySelector("[data-chip-x]");ke&&(ke.style.color="rgba(255,255,255,0.4)")},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#fff",backgroundColor:r,backdropFilter:"blur(4px)",borderRadius:8,padding:"2px 6px 2px 6px",cursor:"pointer"},children:["image ",oe+1,f("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},oe))}),A("div",{style:bS,children:[f("textarea",{ref:En,"data-popmelt-reply":!0,autoFocus:!ht,rows:1,value:dt,onChange:j=>{Je.current={selectionStart:j.target.selectionStart,selectionEnd:j.target.selectionEnd,selectionDirection:j.target.selectionDirection},md(t,j.target.value,void 0,Je.current),tt(j.target.value),fn(Ze.current,j.target.value)},onSelect:j=>{Je.current={selectionStart:j.currentTarget.selectionStart,selectionEnd:j.currentTarget.selectionEnd,selectionDirection:j.currentTarget.selectionDirection},md(t,j.currentTarget.value,void 0,Je.current)},onFocus:()=>{Ze.current=!0,fn(!0,dt)},onBlur:()=>{Ze.current=!1,fn(!1,dt)},onKeyDown:Gn,onPaste:xn,placeholder:Ci,style:{width:"100%",minWidth:0,height:34,minHeight:34,padding:"12px 12px 0",fontSize:14,fontFamily:en,backgroundColor:"transparent",color:"var(--popmelt-thread-primary)",border:"none",outline:"none",lineHeight:1.3,boxSizing:"border-box",overflowX:"hidden",overflowY:"auto",resize:"none",whiteSpace:"pre-wrap",wordBreak:"break-word"}}),A("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",padding:"10px 12px"},children:[f(Gh,{provider:V,open:jt,onClick:()=>{gt(),ft(),jt?Tn():vn()},onMouseEnter:()=>{he.current=!0,jt?ft():nn()},onMouseLeave:()=>{he.current=!1,Hn()}}),f("button",{type:"button","data-popmelt-reply-action":!0,onClick:Qt,disabled:!dt.trim(),"aria-label":"Send reply",style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,background:"none",border:"none",cursor:dt.trim()?"pointer":"default",color:"var(--popmelt-thread-primary)",opacity:dt.trim()?1:.12,flexShrink:0},children:f("span",{style:{alignItems:"center",display:"flex",height:16,justifyContent:"center",width:16},children:f(og,{"aria-hidden":"true",fill:"currentColor",size:dt.trim()?16:14,strokeWidth:1.5,style:{transform:"rotate(-45deg)",transition:"width 120ms ease, height 120ms ease"}})})})]})]})]})]})]})]}),St&&f(RS,{src:St,onClose:()=>Pe(null)})]})}function so(e,t){let n=new Set(e.annotationIds);if(n.size===0&&e.threadId)for(let r of t)r.threadId===e.threadId&&n.add(r.id);return[...n]}function ZS(e,t){switch(t.type){case"restore_thread":return e.openThreadId||e.imprintStashedThreadId||e.toolbarSuspendedThreadId?e:{openThreadId:t.toolbarExpanded&&!t.imprintActive?t.threadId:null,imprintStashedThreadId:t.imprintActive?t.threadId:null,toolbarSuspendedThreadId:!t.toolbarExpanded&&!t.imprintActive?t.threadId:null};case"enter_imprint":return t.preserveOpenThread||!e.openThreadId?e:{openThreadId:null,imprintStashedThreadId:e.openThreadId,toolbarSuspendedThreadId:null};case"leave_imprint":return e.openThreadId?e.imprintStashedThreadId?{...e,imprintStashedThreadId:null}:e:e.imprintStashedThreadId?{openThreadId:e.imprintStashedThreadId,imprintStashedThreadId:null,toolbarSuspendedThreadId:null}:e;case"open_thread":return{openThreadId:t.threadId,imprintStashedThreadId:null,toolbarSuspendedThreadId:null};case"collapse_toolbar":return e.openThreadId?{...e,openThreadId:null,toolbarSuspendedThreadId:e.openThreadId}:e;case"expand_toolbar":return e.toolbarSuspendedThreadId?{...e,openThreadId:e.toolbarSuspendedThreadId,toolbarSuspendedThreadId:null}:e;case"close_thread":return{openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null}}}function e1(e){let t=e.chromeHoverSurface==="toolbar"&&e.chromeHoverPhase==="visible",n=e.toolbarSources.has("tool-menu")||e.toolbarSources.has("popmelt-guide")||e.toolbarSources.has("peer-details"),r=e.activeTool==="model";return{threadTemporarilyHidden:!e.toolbarExpanded||t||!!e.peerPlanePeeking,projectPanelTemporarilyHidden:!!e.peerPlanePeeking||n||e.chromeHoverSurface==="job-stack",statusInteractionSuppressed:!!e.peerPlanePeeking||n||t||r}}function t1(e,t,n=[]){let r=new Set,o=[];for(let i of e){let a=i.threadId;!a||t.has(a)||r.has(a)||(r.add(a),o.push(a))}for(let i of n){let a=i.threadId;t.has(a)||r.has(a)||(r.add(a),o.push(a))}return o}function n1(e,t,n){if(e.length<2)return;let r=e.indexOf(t);if(!(r<0))return e[(r+n+e.length)%e.length]}function $f(e,t){return t?e.ownerParticipantId?e.ownerParticipantId===t.participantId:t.isHost===!0:!0}var r1=[],xd="devtools-provider",vl="devtools-model",wd="devtools-model-id",Pf="devtools-agent-settings",Sd="devtools-open-thread-id",bl="popmelt-dismissed-thread-ids",kd="#000000",o1=20,i1=[],a1=[];function Id(e){let t=e.dispose?.();t&&Promise.resolve(t).catch(()=>{})}function l1(e){let t=q(new Map),[n,r]=$([]);return Y(()=>{let o=t.current,i=new Map,a=[];for(let s of e){if(i.has(s.id))continue;let d=o.get(s.id);if(d?.configurationKey===s.configurationKey){i.set(s.id,d),a.push(s);continue}d&&Id(d.runtime),i.set(s.id,{configurationKey:s.configurationKey,runtime:s.activate()}),a.push(s)}for(let[s,d]of o)i.has(s)||Id(d.runtime);t.current=i;let l=a.map(s=>i.get(s.id)?.runtime).filter(s=>!!s);r(s=>s.length===l.length&&s.every((d,c)=>d===l[c])?s:l)},[e]),Y(()=>()=>{for(let o of t.current.values())Id(o.runtime);t.current.clear()},[]),n}function s1(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t-1)}...`:n}function d1(e){let t=e.annotations.map(a=>a.instruction?.trim()?a.instruction.trim():a.imageCount?`${a.imageCount} image${a.imageCount===1?"":"s"}`:`${a.type} annotation`),n=e.styleModifications.flatMap(a=>a.changes.map(l=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: ${l.property} ${l.original||"unset"} -> ${l.modified||"unset"}${l.token?` [${l.token}]`:""}`)),r=(e.textModifications??[]).map(a=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: text ${a.original||"empty"} -> ${a.modified||"empty"}`),o=(e.spacingTokenChanges??[]).map(a=>`${a.tokenName}: ${a.originalPx}px -> ${a.newPx}px`),i=[...n,...r,...o,...t].map(a=>s1(a)).filter(Boolean);return i.length===0?"Annotation":i.length<=3?i.join("; "):`${i.slice(0,3).join("; ")}; +${i.length-3} more`}function xl(e){if(typeof window>"u"||!e)return new Set;try{let t=JSON.parse(localStorage.getItem(ai(bl,e))||"[]");return new Set(Array.isArray(t)?t.filter(n=>typeof n=="string"):[])}catch{return new Set}}function jf(e,t){if(!(typeof window>"u"||!t))try{let n=xl(t);for(let r of e)n.add(r);localStorage.setItem(ai(bl,t),JSON.stringify(Array.from(n).slice(-200)))}catch{}}function c1(e){let t=e.getBoundingClientRect();return t.bottom<0||t.top>window.innerHeight||t.right<0||t.left>window.innerWidth}function u1(e){for(let t of e){let n=Vt(t);if(n){c1(n)&&n.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"});return}}}async function Ed(e,t){t?await t(e):(window.history.pushState(window.history.state,"",e),window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}))),await new Promise(n=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{setTimeout(n,600)}))})}function p1(e,t,n,r,o){if(t==="copilot"||t==="omp"||e==="copilot"||e==="omp")return 0;let i=ac(e,r),a=ac(t,o);if(a.length===0)return 0;let l=i.findIndex(d=>d.index===n),s=l>=0?l:a.length-1;return a[Math.min(s,a.length-1)].index}function f1({children:e,enabled:t=process.env.NODE_ENV==="development",multiplayer:n=!1,...r}){let o=za(Bl),[i,a]=$([]),l=U(p=>(a(u=>u.includes(p)?u:[...u,p]),()=>a(u=>u.filter(m=>m!==p))),[]),s=xe(()=>({isEnabled:t,registerSubjectAdapter:l}),[t,l]),d=xe(()=>[...r.subjectAdapters??[],...i],[r.subjectAdapters,i]),c=f(h1,{...r,multiplayer:n,enabled:!0,registeredSubjectAdapters:i});return A(ih.Provider,{value:s,children:[e,t&&(o?n?c:null:f(by,{multiplayer:n,projectId:r.projectId,adapters:d,children:c}))]})}function h1({enabled:e=!0,multiplayer:t=!1,registeredSubjectAdapters:n,bridgeUrl:r=typeof window<"u"?window.__POPMELT_BRIDGE_URL__??"http://localhost:1111":"http://localhost:1111",projectId:o,navigate:i,subjectAdapters:a=i1,extensions:l=a1,imageAnnotation:s=!0,videoAnnotation:d=!0,getCommentMeta:c}){let p=typeof window<"u"?o??window.__POPMELT_PROJECT_ID__??null:null,[u,m]=$(p),[h,g]=$(!!p),y=u,w=q(null),S=q(!1),[v,k]=ah(w,S),R=za(Yd),P=za(Bl),_=!P||P.canReadThreads,V=!P||P.canReply,W=!P||P.canManageThreads,J=l1(l),B=xe(()=>{for(let x=J.length-1;x>=0;x-=1){let E=J[x]?.imageRecognition;if(E)return E}},[J]),H=xe(()=>J.flatMap(x=>x.subjectAdapters??[]),[J]),te=xe(()=>{for(let x=J.length-1;x>=0;x-=1){let E=J[x]?.videoTracking;if(E)return E}},[J]),Q=xe(()=>{for(let x=J.length-1;x>=0;x-=1){let E=J[x]?.videoSegmentation;if(E)return E}},[J]),D=xe(()=>!B||s===!1?s:{...typeof s=="object"?s:{},recognition:B},[B,s]),N=xe(()=>[...H,...a,...n],[H,n,a]),I=wy({enabled:e,active:v.isAnnotating||v.annotations.some(x=>x.target?.adapter==="see:image"),configuration:D,adapters:N}),O=xe(()=>!te&&!Q||d===!1?d:{...typeof d=="object"?d:{},...te?{tracking:te}:{},...Q?{segmentation:Q}:{}},[Q,te,d]),T=Sy({enabled:e,configuration:O,adapters:I}),G=(!e||D===!1||N.some(x=>x.surfaceKind==="image"||x.id==="see:image")||I.some(x=>x.surfaceKind==="image"||x.id==="see:image"))&&(!e||O===!1||I.some(x=>x.surfaceKind==="video"||x.id==="see:video")||T.some(x=>x.surfaceKind==="video"||x.id==="see:video")),F=xe(()=>new Pm(T),[T]),[ue,L]=$(!1),re=q(F);re.current=F,Y(()=>{let x=!1;return L(!1),G?(F.whenReady().then(()=>{x||L(!0)}),()=>{x=!0}):()=>{}},[G,F]),Y(()=>()=>F.destroy(),[F]);let ne=P?.bindSubjects;Y(()=>ne?.(F),[ne,F]);let z=xg(r,e&&!!y,y),Te=z.dismissQuestion,me=z.clearEvents;Y(()=>{p&&(typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=p,Xd()),m(p),g(!0))},[p]);let He=q(null),Oe=q(null),[We,ve]=$(null),fe=gg()??r,{onCanvasFocusChange:be,onCanvasActivity:pt,inspectingElement:Ce,inspectingElements:Ae}=Zg(e&&z.isConnected&&v.isAnnotating,fe,{getCommentMeta:c,registry:F,state:v,screenshotOptions:{nativeCapture:x=>Kd(fe,x),captureSurfaces:()=>F.captureSurfaces()}}),De=U(x=>Kd(fe,x),[fe]),Ge=U(async()=>{let x=Math.min(1,1200/Math.max(1,window.innerWidth));return Ag(()=>De({url:window.location.href,clip:{x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight},scale:x}),async()=>{let[E]=await $o(document.body,He.current,[],{dpr:x,viewportOnly:!0,captureSurfaces:()=>F.captureSurfaces()});return E??null})},[De,F]),qe=q(new Map),_e=q(new Set),dt=q(!1);Y(()=>{if(!fe)return;let x=new Set(v.annotations.flatMap(le=>le.attachments?.map(ae=>ae.id)??[])),E=_e.current,X=[...x].filter(le=>!E.has(le)),Z=[...E].filter(le=>!x.has(le));_e.current=x,X.length>0&&Vd(fe,X).catch(()=>{}),Z.length>0&&Promise.all(Z.map(le=>ql(fe,le).catch(()=>{})))},[fe,v.annotations]);let tt=q(new Map),we=q(new Map),[,nt]=$(0),[jt,At]=$(null),lt=q(!1),Le=Ul(),Xt=U((x,E,X,Z,le)=>{let ae=[],de=Ee=>{let Re=URL.createObjectURL(Ee);return ae.push(Re),Re},ce,pe;Z instanceof Map?(pe=Object.fromEntries(Array.from(Z,([Ee,Re])=>[Ee,de(Re)])),ce=Object.values(pe)[0]):ce=de(Z);let $e=le&&le.size>0?Object.fromEntries(Array.from(le,([Ee,Re])=>[Ee,Re.map(de)])):void 0;for(we.current.get(x)?.objectUrls.forEach(Ee=>URL.revokeObjectURL(Ee)),we.current.delete(x),we.current.set(x,{objectUrls:ae,message:{role:"human",timestamp:Date.now(),jobId:E,feedbackSummary:d1(X),requestText:Ry(X),requestItems:My(X),...X.meta?{meta:X.meta}:{},...ce?{screenshotUrl:ce}:{},...pe?{screenshotUrls:pe}:{},...$e?{imageUrls:$e}:{}}});we.current.size>o1;){let Ee=we.current.keys().next().value;if(!Ee)break;we.current.get(Ee)?.objectUrls.forEach(Re=>URL.revokeObjectURL(Re)),we.current.delete(Ee)}nt(Ee=>Ee+1)},[]);Y(()=>()=>{for(let x of we.current.values())x.objectUrls.forEach(E=>URL.revokeObjectURL(E));we.current.clear()},[]);let[Be,Mt]=$(()=>typeof window>"u"?"codex":localStorage.getItem(xd)||"codex"),[K,he]=$(()=>{if(typeof window>"u")return 0;let x=localStorage.getItem(vl);return x&&parseInt(x,10)||0}),[ye,M]=$(()=>{if(typeof window>"u")return{};try{return JSON.parse(localStorage.getItem(Pf)||"{}")}catch{return{}}}),[Ze,Je]=$([]),[ot,st]=$({}),[St,Pe]=$(0),[je,rt]=$({}),[Ye,Ue]=$(null),[ct,_t]=$(null),[Jt,fn]=$(null),[En,Xe]=$("idle"),[Nn,tn]=$(null),yn=q(null),cr=U(x=>{let E=Object.entries(x.providers).filter(([,ae])=>ae.available).map(([ae])=>ae);E.length>0&&Je(E);let X={},Z={};for(let[ae,de]of Object.entries(x.providers))de.models?.length&&(X[ae]=de.models),de.mcp&&(Z[ae]=de.mcp);let le=yn.current;if(le){let ae=X[le.provider]?.findIndex(de=>de.id===le.id);ae!==void 0&&ae>=0&&he(ae)}st(X),rt(Z)},[]),Zt=U(async x=>{if(!z.isConnected)return;let E=await lh(fe,x);E&&cr(E)},[cr,z.isConnected,fe]);Y(()=>{Zt(Be)},[Be,z.capabilitiesVersion,St,Zt]),Y(()=>{if(!z.isConnected){Ue(null),_t(null),fn(null);return}let x=!1;return Xi(fe).then(E=>{x||(Ue(E?.version??null),_t(E?.projectRoot??null),fn(E?.execution??null))}),()=>{x=!0}},[z.isConnected,z.capabilitiesVersion,St,fe]),Y(()=>{if(En==="idle"||En==="restarting")return;let x=window.setTimeout(()=>{Xe("idle"),tn(null)},En==="ok"?4e3:8e3);return()=>window.clearTimeout(x)},[En]),Y(()=>{if(Ze.length>0&&!Ze.includes(Be)){let x=Ze[0];Mt(x),localStorage.setItem(xd,x)}},[Ze,Be]);let gt=Be==="codex"?[...Qd]:Be==="copilot"?[...Gd]:Be==="omp"?[...Zd]:[...ec],ft=ot[Be]&&ot[Be].length>0?ot[Be]:gt,yt=ft[K]??ft[0];yn.current={provider:Be,id:yt.id};let vn=`${Be}:${yt.id||"default"}`,vt=xe(()=>ye[vn]??{},[ye,vn]);Y(()=>{if(!e||y||h)return;let x=!1;return fetch("/popmelt/status").then(E=>E.ok?E.json():null).then(E=>{if(x)return;let X=typeof window<"u"&&E?.devOrigin===window.location.origin,Z=E?.projectId&&(X||E.projectIdVerified===!0)?E.projectId:null;Z&&typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=Z,Xd()),m(Z),g(!0)}).catch(()=>{x||g(!0)}),()=>{x=!0}},[e,y,h]),Y(()=>{let x=localStorage.getItem(`${wd}:${Be}`),E=x!==null?ft.findIndex(Z=>Z.id===x):Be==="omp"?ft.findIndex(Z=>Z.isDefault):-1,X=E>=0?E:K<ft.length?-1:0;X<0||X===K||(he(X),localStorage.setItem(vl,String(X)))},[K,ft,Be]);let Tn=U(x=>{let E=Be,X=x==="codex"?[...Qd]:x==="copilot"?[...Gd]:x==="omp"?[...Zd]:[...ec],Z=ot[x]&&ot[x].length>0?ot[x]:X;Mt(x),localStorage.setItem(xd,x);let le=p1(E,x,K,ft,Z);he(le),localStorage.setItem(vl,String(le));let ae=Z[le];ae&&localStorage.setItem(`${wd}:${x}`,ae.id)},[K,ft,Be,ot]),nn=U(x=>{he(x),localStorage.setItem(vl,String(x));let E=ft[x];E&&localStorage.setItem(`${wd}:${Be}`,E.id)},[ft,Be]),Hn=U(x=>{M(E=>{let X={...E,[vn]:x};return localStorage.setItem(Pf,JSON.stringify(X)),X})},[vn]),[$r,Rt]=$(()=>sh()),[Ft,_n]=$(null),No=xe(()=>Ft?new Set(Ft.annotationIds):null,[Ft]),Pr=U(()=>_n(null),[]),co=U(x=>{Rt(x),dh(x)},[]),ur=U(x=>Ed(x,i),[i]),[Wt,Ei]=$(()=>({openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null})),{openThreadId:Ke,imprintStashedThreadId:Ho,toolbarSuspendedThreadId:jr}=Wt,Vn=q(0),Fn=q({toolbarExpanded:v.isAnnotating,imprintActive:v.activeTool==="model"});Fn.current={toolbarExpanded:v.isAnnotating,imprintActive:v.activeTool==="model"};let[zr,Qn]=$(0),Ot=U(x=>{(x.type==="open_thread"||x.type==="close_thread")&&(Vn.current+=1),Ei(E=>ZS(E,x))},[]),[Dr,pr]=$(null),Lt=q(null),[rn,kt]=$(new Set),[bn,fr]=$(null),[Qt,xn]=$(null),[Gn,Cn]=$(new Set),[wn,hr]=$(new Set),[ht,mr]=$(new Set),[Or,Zn]=$({}),Ti=xe(()=>new Set(Object.keys(Or)),[Or]),[Ci,j]=$(null);Y(()=>{fr(null),y&&(kt(xl(y)),fr(y),localStorage.removeItem(bl))},[y]),Y(()=>{if(!y||!z.isConnected)return;let x=!1;pr(null);let E=Vn.current,X=ai(Sd,y),Z=localStorage.getItem(X);if(localStorage.removeItem(Sd),!Z){pr(y);return}return Kt(`${fe}/thread/${encodeURIComponent(Z)}`).then(le=>{x||E!==Vn.current||(le.ok?Ot({type:"restore_thread",threadId:Z,...Fn.current}):localStorage.removeItem(X))}).catch(()=>{}).finally(()=>{x||pr(y)}),()=>{x=!0}},[Ot,z.isConnected,y,fe]),Y(()=>{if(!y||Dr!==y)return;let x=ai(Sd,y),E=Ke??Ho??jr;E?localStorage.setItem(x,E):localStorage.removeItem(x)},[y,Ho,Ke,Dr,jr]);let oe=P?`popmelt-in-flight-jobs:${y}:participant:${P.participantId}`:"popmelt-in-flight-jobs",[ee,ke]=$(()=>{try{let x=localStorage.getItem(oe);return x?JSON.parse(x):{}}catch{return{}}}),[ge,Me]=$(new Map);Y(()=>{try{Object.keys(ee).length>0?localStorage.setItem(oe,JSON.stringify(ee)):localStorage.removeItem(oe)}catch{}},[ee,oe]),Y(()=>{let x=E=>{if(E.key===oe)try{let X=E.newValue?JSON.parse(E.newValue):{};ke(X)}catch{}};return window.addEventListener("storage",x),()=>window.removeEventListener("storage",x)},[oe]);let Fe=q(new Map),Ve=q(new Map),ze=q(new Map),qt=U((x,E,X)=>{let Z=Ve.current.get(x)??[],le=ze.current.get(x);Me(ae=>ch(ae,x,E,X,Z,le))},[]);Y(()=>{for(let[x,E]of Object.entries(ee)){let X=so(E,v.annotations);X.length>0&&Fe.current.set(x,X);let Z=new Set(E.styleSelectors);for(let le of X){let ae=v.annotations.find(de=>de.id===le);if(ae&&(ae.linkedSelector&&Z.add(ae.linkedSelector),ae.groupId))for(let de of v.annotations)de.groupId===ae.groupId&&de.linkedSelector&&Z.add(de.linkedSelector)}Z.size>0&&Ve.current.set(x,Array.from(Z)),E.threadId&&ze.current.set(x,E.threadId)}},[ee,v.annotations]);let er=q("");Y(()=>{if(v.annotations.length===0)return;let x=Object.keys(ee).sort().join(",");if(x===er.current)return;er.current=x;let E=new Set;for(let Z of Object.values(ee))for(let le of so(Z,v.annotations))E.add(le);let X=v.annotations.flatMap(Z=>{if(E.has(Z.id)||Z.threadId)return[];let le=Z.status??"pending";return le==="in_flight"?[Z.id]:le==="pending"&&Z.captured?[Z.id]:[]});X.length>0&&k({type:"SET_ANNOTATION_STATUS",payload:{ids:X,status:"dismissed"}})},[v.annotations,ee,k]);let Nr=xe(()=>{let x=new Set;for(let E of Object.values(ee))for(let X of so(E,v.annotations))x.add(X);return x},[ee,v.annotations]),An=xe(()=>lu(z.events),[z.events]),gr=xe(()=>{let x=new Map,E={focus_set:"Investigating",focus_shifted:"Refocusing",evidence_updated:"Checking",hypothesis_changed:"Reframing",assumption_abandoned:"Reconsidering",uncertainty_identified:"Clarifying",next_observation_selected:"Checking"};for(let X of z.events){if(X.type!=="orientation")continue;let Z=String(X.data.jobId??""),le=X.data.orientation,ae=le?.transition?E[le.transition]:void 0;if(!Z||!ae)continue;let de=ee[Z],ce=de?so(de,v.annotations):Fe.current.get(Z)??[];for(let pe of ce)x.set(pe,ae)}for(let X of An)if(ee[X])for(let Z of so(ee[X],v.annotations))x.set(Z,"Approval needed");return x},[z.events,ee,v.annotations,An]),wl=xe(()=>{let x=new Set(z.activeJobIds),E=new Set;for(let[X,Z]of Object.entries(ee))if(x.has(X))for(let le of so(Z,v.annotations))E.add(le);return E},[ee,z.activeJobIds,v.annotations]),Wn=xe(()=>C0(z.events,z.lastCompletedJobId),[z.events,z.lastCompletedJobId]),_o=xe(()=>{let x=new Set(af(Object.keys(ee),z.activeJobIds,Wn)),E=Object.entries(ee).filter(([le])=>x.has(le)),X=E.length,Z=new Map;return E.forEach(([,le],ae)=>{let de=`(${ae+1}/${X})`;for(let ce of so(le,v.annotations))Z.set(ce,de)}),Z},[ee,z.activeJobIds,Wn,v.annotations]),Ai=xe(()=>{let x=new Set(z.activeJobIds),E=new Set(z.activeJobIds.flatMap(Z=>{let le=z.activeJobThreads[Z]??ee[Z]?.threadId;return le?[le]:[]})),X=uh(ge,E);for(let[Z,le]of Object.entries(ee))if(x.has(Z)&&!(!le.global&&le.routePathnames?.length&&!le.routePathnames.includes(Le)))for(let ae of le.styleSelectors)X.add(ae);return X},[ee,z.activeJobIds,z.activeJobThreads,ge,Le]),fa=xe(()=>{let x=new Map;for(let[E,X]of Object.entries(ee))if(X.threadId&&!(!X.global&&X.routePathnames?.length&&!X.routePathnames.includes(Le)))for(let Z of X.styleSelectors)x.set(Z,E);return x},[ee,Le]),Sl=xe(()=>{let x=new Set(z.activeJobIds),E=new Map;for(let[X,Z]of Object.entries(ee))if(x.has(X)&&!(!Z.global&&Z.routePathnames?.length&&!Z.routePathnames.includes(Le))){for(let le of Z.styleSelectors)E.set(le,Z.color);for(let le of so(Z,v.annotations)){let ae=v.annotations.find(de=>de.id===le);if(ae&&(ae.linkedSelector&&E.set(ae.linkedSelector,Z.color),ae.groupId))for(let de of v.annotations)de.groupId===ae.groupId&&de.linkedSelector&&E.set(de.linkedSelector,Z.color)}}return E},[ee,z.activeJobIds,v.annotations,Le]),Mi=q(v.annotations);Mi.current=v.annotations;let Hr=q(v.styleModifications);Hr.current=v.styleModifications;let _r=q(ee);_r.current=ee,Y(()=>{let x=null,E=0,X=()=>{let ae=window.location.pathname;Jc(Hr.current.filter(de=>!de.pathname||de.pathname===ae))},Z=()=>{if(Object.keys(_r.current).length>0)return;let ae=Mi.current,de=Hr.current,ce=[],pe=[];for(let $e of ae){if(!$e.linkedSelector||!$e.linkedSelector.startsWith("[data-pm=")||$e.pathname||$e.captured||$e.status&&$e.status!=="pending")continue;let Ee=Vt($e.linkedSelector);!Ee&&$e.elements?.[0]?.selector&&(Ee=Vt($e.elements[0].selector)),Ee||ce.push($e.linkedSelector)}for(let $e of de)$e.pathname&&$e.pathname!==window.location.pathname||Dm($e)||pe.push($e.selector);(ce.length>0||pe.length>0)&&k({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:ce,styleSelectors:pe}})},le=su(ae=>{ae.some(de=>de.addedNodes.length>0)&&(window.cancelAnimationFrame(E),E=window.requestAnimationFrame(X)),ae.some(de=>de.removedNodes.length>0)&&(x&&clearTimeout(x),x=setTimeout(Z,3e3))});return()=>{le.disconnect(),window.cancelAnimationFrame(E),x&&clearTimeout(x)}},[k]);let Fo=q(typeof window<"u"?window.location.pathname:"/");Y(()=>{let x=Z=>{if(lt.current)return;let le=window.location.pathname;if(Z===le)return;let ae=Mi.current.filter(ce=>ce.pathname===Z&&(ce.status??"pending")==="pending");if(console.log(`[Popmelt] Navigation from ${Z} \u2192 ${le}, ${ae.length} pending annotations on departing page`),ae.length===0)return;let de=He.current;if(!de){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if($o(document.body,de,ae,{dpr:1,captureSurfaces:()=>re.current.captureSurfaces()}).then(ce=>Ja(ce)).then(ce=>{ce?(tt.current.set(Z,ce),console.log(`[Popmelt] Cached screenshot for ${Z} (${(ce.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${Z}`)}).catch(ce=>{console.warn("[Popmelt] Capture-on-leave failed:",ce)}),tt.current.size>20){let ce=[...tt.current.entries()];tt.current=new Map(ce.slice(-10))}},E=Z=>{let le=Z.detail?.prevPath;le&&(x(le),Fo.current=window.location.pathname)},X=()=>{let Z=Fo.current;x(Z),Fo.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",E),window.addEventListener("popstate",X),()=>{window.removeEventListener("popmelt:locationchange",E),window.removeEventListener("popstate",X)}},[]),Y(()=>{z.lastCompletedJobId&&z.lastCompletedJobId in ee&&ke(x=>{let{[z.lastCompletedJobId]:E,...X}=x;return X})},[z.lastCompletedJobId,ee]);let hn=q(new Set),Wo=q(!1);Y(()=>{if(!z.isConnected){Wo.current=!1;return}if(Wo.current)return;Wo.current=!0;let x={..._r.current};Xi(fe).then(async E=>{if(!E)return;let X=E.activeJobs??[],Z=E.recentJobs??[],le=[...X,...E.queuedJobs??[]],ae=new Set(le.map(ce=>ce.id)),de=new Set;for(let ce of Object.values(x))if(ce.annotationIds)for(let pe of ce.annotationIds)de.add(pe);for(let ce of v.annotations){let pe=ce.status??"pending";(pe==="sending"||pe==="in_flight"||ce.captured&&ce.threadId&&(ce.replyCount??0)===0)&&de.add(ce.id)}ke(ce=>{let pe={...ce},$e=Date.now();for(let Re of Object.keys(pe)){if(Re.startsWith("_pending_")){let xt=parseInt(Re.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(xt)&&$e-xt>3e4&&delete pe[Re];continue}Re in x&&!ae.has(Re)&&(E.queuedJobs!==void 0||Z.some(xt=>xt.id===Re))&&delete pe[Re]}for(let Re of le)if(!pe[Re.id]&&(Re.annotationIds?.length||Re.threadId)){let xt=Re.kind,Ht=Array.from(new Set((Re.annotationIds??[]).map(Ur=>v.annotations.find(Ln=>Ln.id===Ur)?.pathname||Le).filter(Boolean)));pe[Re.id]={annotationIds:Re.annotationIds??[],styleSelectors:[],color:xt==="project_model"&&Re.standalone===!0?kd:Re.color??"#888",threadId:Re.threadId,kind:xt,routePathnames:Ht.length>0?Ht:void 0,global:xt==="synthesize"||xt==="project_model"&&Re.standalone===!0}}let Ee=new Set;for(let Re of Z)if(Re.annotationIds)for(let xt of Re.annotationIds)Ee.add(xt);for(let Re of Object.keys(pe)){if(!Re.startsWith("_pending_"))continue;let xt=pe[Re];xt&&xt.annotationIds.some(Ht=>Ee.has(Ht))&&delete pe[Re]}return pe});for(let ce of Z)if(ce.annotationIds?.length&&ce.annotationIds.some(pe=>de.has(pe))&&!hn.current.has(ce.id)){if(ce.status==="error"){hn.current.add(ce.id),k({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:ce.annotationIds,threadId:ce.threadId}});continue}if(ce.status==="done")try{let pe=await tc(fe,ce.id),$e=pe?.events.find(Re=>Re.type==="done"),Ee=pe?.events.find(Re=>Re.type==="question");hn.current.add(ce.id),Ee&&typeof Ee.question=="string"?k({type:"SET_ANNOTATION_QUESTION",payload:{ids:ce.annotationIds,question:Ee.question,threadId:Ee.threadId??ce.threadId??""}}):$e&&Array.isArray($e.resolutions)&&$e.resolutions.length>0?k({type:"APPLY_RESOLUTIONS",payload:{resolutions:$e.resolutions,threadId:$e.threadId??void 0,jobId:ce.id}}):k({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:ce.annotationIds,threadId:$e?.threadId??ce.threadId,jobId:ce.id}})}catch{hn.current.add(ce.id);let pe=z.pendingQuestions.find($e=>$e.jobId===ce.id);k(pe?{type:"SET_ANNOTATION_QUESTION",payload:{ids:ce.annotationIds,question:pe.question,threadId:pe.threadId}}:{type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:ce.annotationIds,threadId:ce.threadId,jobId:ce.id}})}}})},[z.isConnected,z.pendingQuestions,fe,k,v.annotations,Le]),Y(()=>{let x=z.events.filter(E=>E.type==="done");for(let E of x){let X=E.data.jobId;if(hn.current.has(X))continue;if(sd(z.events,X)==="Has a question"){qt(X,"waiting_input","Question");let le=z.pendingQuestions.find($e=>$e.jobId===X),ae=[...z.events].reverse().find($e=>$e.type==="question"&&$e.data.jobId===X),de=Array.isArray(E.data.annotationIds)?E.data.annotationIds:Array.isArray(ae?.data.annotationIds)?ae.data.annotationIds:ee[X]?.annotationIds??Fe.current.get(X)??[],ce=le?.question??(typeof ae?.data.question=="string"?ae.data.question:void 0),pe=le?.threadId??(typeof ae?.data.threadId=="string"?ae.data.threadId:void 0)??(typeof E.data.threadId=="string"?E.data.threadId:void 0);ce&&pe&&de.length>0&&(hn.current.add(X),k({type:"SET_ANNOTATION_QUESTION",payload:{ids:de,question:ce,threadId:pe}}));continue}hn.current.add(X),qt(X,"resolved",sd(z.events,X));let Z=Ve.current.get(X)??ee[X]?.styleSelectors??[];if(Z.length>0&&k({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:Z}}),Array.isArray(E.data.resolutions)&&E.data.resolutions.length>0)k({type:"APPLY_RESOLUTIONS",payload:{resolutions:E.data.resolutions,threadId:E.data.threadId,jobId:X}});else{let le=Array.isArray(E.data.annotationIds)?E.data.annotationIds:ee[X]?.annotationIds??Fe.current.get(X)??[];le.length>0&&k({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:le,threadId:E.data.threadId,jobId:X}})}}},[z.events,z.pendingQuestions,k,ee,qt]),Y(()=>{let x=z.events.filter(E=>E.type==="error");for(let E of x){let X=E.data.jobId;if(hn.current.has(X))continue;hn.current.add(X),qt(X,"failed","Failed");let Z=Array.isArray(E.data.annotationIds)?E.data.annotationIds:ee[X]?.annotationIds??Fe.current.get(X)??[];Z.length!==0&&k({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:Z,threadId:E.data.threadId}})}},[z.events,k,ee,qt]);let Bn=q("__uninitialized__"),Fr=P?.participantId,Bo=P?.isHost;Y(()=>{if(!z.isConnected){Bn.current="__uninitialized__";return}if(!ue||bn!==y)return;let x=new Set(v.annotations.flatMap(de=>de.threadId?[de.threadId]:[])),E=new Set([...Object.values(z.activeJobThreads),...Object.entries(ee).filter(([de])=>z.activeJobIds.includes(de)).flatMap(([,de])=>de.threadId?[de.threadId]:[])]),X=v.annotations.filter(de=>{if(!de.threadId||(de.replyCount??0)>0||E.has(de.threadId))return!1;let ce=de.status??"pending";return ce!=="sending"&&ce!=="waiting_input"&&ce!=="needs_review"}),Z=[`plane:${Fr??"standalone"}:${Bo===!0}`,...X.map(de=>`${de.id}:${de.threadId}`),...Array.from(x).map(de=>`represented:${de}`),...Array.from(E).map(de=>`active:${de}`)].sort().join("|");if(Z===Bn.current)return;Bn.current=Z;let le=!1,ae=!1;return Kt(`${fe}/threads/recent?limit=200`).then(de=>de.ok?de.json():[]).then(async de=>{if(le)return;let ce=Fr?{participantId:Fr,isHost:Bo}:null,pe=de.filter(Ie=>$f(Ie,ce)),$e=new Set(de.filter(Ie=>!$f(Ie,ce)).map(Ie=>Ie.id)),Ee=P0(pe,Le,Ie=>{let Ut=F.resolve(Ie);return Ut?[Ut.selector]:null}),Re=new Set([...z.activeJobIds,...Object.keys(ee)]);Cn(M0(pe,E)),hr(R0(pe)),mr(L0(pe));let xt=Object.fromEntries(pe.flatMap(Ie=>Ie.pendingQuestion?[[Ie.id,Ie.pendingQuestion]]:[]));Zn(xt);let Ht=new Set(Object.keys(xt)),Ur=new Set(pe.filter(Ie=>!Ie.pendingQuestion&&(Ie.hasReply??(Ie.messageCount>1&&!Ie.hasError))).map(Ie=>Ie.id)),Ln=new Set(pe.filter(Ie=>Ie.hasError&&!Ie.hasReply).map(Ie=>Ie.id));for(let Ie of v.annotations){let Ut=pe.find(dn=>dn.id===Ie.threadId)?.color;Ut&&Ut!==Ie.color&&k({type:"UPDATE_ANNOTATION_COLOR",payload:{id:Ie.id,color:Ut}})}for(let Ie of v.annotations){if(!Ie.threadId)continue;let Ut=xt[Ie.threadId];Ut&&(Ie.status==="waiting_input"&&Ie.question===Ut||k({type:"SET_ANNOTATION_QUESTION",payload:{ids:[Ie.id],question:Ut,threadId:Ie.threadId}}))}for(let Ie of v.annotations)!Ie.threadId||!Ln.has(Ie.threadId)||Ie.status!=="failed"&&k({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:[Ie.id],threadId:Ie.threadId}});for(let Ie of X)!Ie.threadId||Ht.has(Ie.threadId)||!Ur.has(Ie.threadId)||k({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:[Ie.id],threadId:Ie.threadId,jobId:`thread-recovery:${Ie.threadId}`}});let kr=Date.now()-7200*1e3,Ir=xl(y),Yr=pe.filter(Ie=>(Ie.hasReply??(Ie.messageCount>1&&!Ie.hasError))&&Ie.updatedAt>=kr&&!x.has(Ie.id)&&!Ir.has(Ie.id)),Jn=await Promise.all(Yr.map(async Ie=>{let Ut=await Kt(`${fe}/decision/${encodeURIComponent(Ie.id)}`);if(!Ut.ok)return[];let dn=(await Ut.json()).decision;if(!dn?.annotations?.length)return[];let cn="/";try{cn=new URL(dn.url).pathname}catch{}if(cn!==Le)return[];let $n=dn.color??ph("oklch(0.628 0.258 29)",v.annotations,Le);return dn.annotations.flatMap(Bt=>{if(!Bt.instruction)return[];let Gt=Bt.target?F.resolve(Bt.target)??(Bt.elements?.[0]?F.restore(Bt.target,Bt.elements[0]):null):null,Pn=Gt?.selector??Bt.linkedSelector;if(!Pn)return[];let un=Gt?.element??Vt(Pn)??(Bt.elements?.[0]?.selector?Vt(Bt.elements[0].selector):null);if(!un)return[];let Xr=un.getBoundingClientRect(),Er=dn.resolutions?.find(So=>So.annotationId===Bt.id);return[{id:Bt.id,type:"text",points:[{x:Xr.left+window.scrollX,y:Xr.top+window.scrollY}],color:$n,strokeWidth:2,text:Bt.instruction,fontSize:12,timestamp:dn.createdAt,captured:!0,status:Er?.status??"resolved",resolutionSummary:Er?.summary,replyCount:1,replyJobIds:[`thread-recovery:${Ie.id}`],threadId:Ie.id,pathname:Bt.pathname??cn,elements:Bt.elements,linkedSelector:Pn,...Bt.target?{target:Bt.target}:{},linkedAnchor:Xr.top>=26?"top-left":"bottom-left"}]})}));if(le)return;let mn=Jn.flat();mn.length>0&&k({type:"MERGE_ANNOTATIONS",payload:{annotations:mn}}),Me(Ie=>fh(Ee,new Map([...Ie].filter(([,Ut])=>!$e.has(Ut.threadId))),Re)),k({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:[...Ee.values()].filter(Ie=>Ie.status==="resolved").flatMap(Ie=>Ie.selectors??[])}}),ae=!0}).catch(()=>{le||(Bn.current="__uninitialized__")}),()=>{le=!0,!ae&&Bn.current===Z&&(Bn.current="__uninitialized__")}},[z.activeJobIds,z.activeJobThreads,z.isConnected,Le,k,y,bn,ee,fe,v.annotations,F,ue,Fr,Bo]);let Ri=q(new Set);Y(()=>{let x=z.events.filter(E=>E.type==="error"&&E.data.cancelled);for(let E of x){let X=E.data.jobId;if(!X||Ri.current.has(X))continue;Ri.current.add(X);let Z=ee[X];Z&&Z.annotationIds.length>0&&k({type:"SET_ANNOTATION_STATUS",payload:{ids:Z.annotationIds,status:"dismissed"}})}},[z.events,ee,k]);let Jo=q(0);Y(()=>{let x=z.incrementalResolutions;if(x.length<=Jo.current)return;let E=x.slice(Jo.current);Jo.current=x.length,k({type:"APPLY_RESOLUTIONS",payload:{resolutions:E}})},[z.incrementalResolutions,k]),Y(()=>{z.incrementalResolutions.length===0&&(Jo.current=0)},[z.incrementalResolutions.length]);let ha=U(async()=>{let x=He.current;if(!x)return!1;let E=await $o(document.body,x,v.annotations,{nativeCapture:De,captureSurfaces:()=>F.captureSurfaces()});if(E.length===0)return!1;let X=await Kg(E,v.annotations,v.styleModifications,v.textModifications,v.domModifications);return X&&k({type:"MARK_CAPTURED"}),X},[v.annotations,v.styleModifications,v.textModifications,v.domModifications,k,De,F]),kl=U((x,E)=>{let X=qe.current.get(x)||[];qe.current.set(x,[...X,...E])},[]),ma=U((x,E)=>{let X=new Set(E),Z=(qe.current.get(x)??[]).filter((le,ae)=>!X.has(ae));Z.length>0?qe.current.set(x,Z):qe.current.delete(x)},[]),uo=U(async()=>{if(P&&!P.canSend)return!1;let x=P?.captureVersion(),E=He.current;if(!E)return!1;Be==="omp"&&Zt("omp");let X=v.annotations.filter(pe=>(pe.status??"pending")==="pending"),Z=v.styleModifications.filter(pe=>!pe.captured&&(!pe.pathname||pe.pathname===Le)),le=v.textModifications.filter(pe=>!pe.captured&&(!pe.pathname||pe.pathname===Le)),ae=v.domModifications.filter(pe=>!pe.captured&&(!pe.pathname||pe.pathname===Le)),de=v.spacingTokenChanges.filter(pe=>!pe.captured);if(X.length===0&&Z.length===0&&le.length===0&&ae.length===0&&de.length===0)return!1;let ce=X.map(pe=>pe.id);return zy(ce,k,async()=>{let pe=new Map;for(let Ne of X){let $t=Ne.pathname||Le;pe.has($t)||pe.set($t,[]),pe.get($t).push(Ne)}let $e=new Map,Ee=new Map;await Eu(re.current,pe.get(Le)??[],Le,Ee);let Re=[...pe.keys()].filter(Ne=>Ne!==Le);if(Re.length>0){let Ne=Le,$t={x:window.scrollX,y:window.scrollY};lt.current=!0;for(let Tt of Re)try{let Pt=tt.current.get(Tt),Kr=pe.get(Tt)||[];if(Pt&&!Kr.some(Fi=>Fi.target)){$e.set(Tt,Pt),console.log(`[Popmelt] Reusing cached departing-page screenshot for ${Tt}`);continue}if(console.log(`[Popmelt] Navigating to ${Tt} for screenshot capture`),await Ed(Tt,i),window.location.pathname!==Tt){console.warn(`[Popmelt] Navigation to ${Tt} did not take effect (at ${window.location.pathname})`);continue}await Eu(re.current,Kr,Tt,Ee);let ei=await $o(document.body,E,Kr,{dpr:1,nativeCapture:De,captureSurfaces:()=>F.captureSurfaces()}),Vr=await Ja(ei);Vr&&($e.set(Tt,Vr),console.log(`[Popmelt] Captured ${Tt} (${(Vr.size/1024).toFixed(0)}KB)`))}catch(Pt){console.warn(`[Popmelt] Failed to capture ${Tt}:`,Pt)}await Ed(Ne,i),window.scrollTo($t.x,$t.y),lt.current=!1}let xt=X.filter(Ne=>(Ne.pathname||Le)===Le),Ht=await $o(document.body,E,xt.length>0?v.annotations:[],{dpr:1,nativeCapture:De,captureSurfaces:()=>F.captureSurfaces()});if(Ht.length>0){let Ne=await Ja(Ht);Ne&&$e.set(Le,Ne)}if($e.size===0)return!1;let Ur=lc({annotations:v.annotations,styleModifications:v.styleModifications,textModifications:v.textModifications}),Ln=Ne=>{let $t=Ur.modificationNumberByKey.get(Ch(Ne));return $t===void 0?Ne:{...Ne,annotationNumber:$t}},kr=Z.map(Ln),Ir=le.map(Ln),Yr;if(c)try{Yr=vs(await c({kind:"annotation",timestamp:Date.now(),url:window.location.href,pathname:Le,annotations:X}))}catch(Ne){return console.error("[Popmelt] Unable to capture comment metadata:",Ne),!1}let Jn=Ba(X,kr,void 0,de.length>0?de:void 0,Ir,ae,Yr),mn=ky(Jn,X,qe.current);Iy(Jn,mn,Ee,Le);let Ie=JSON.stringify(Jn),Ut=pe.size>1;console.log(`[Popmelt] Submit: ${pe.size} page(s), ${$e.size} screenshot(s), pages: [${[...pe.keys()].join(", ")}], cached: [${[...tt.current.keys()].join(", ")}]`);let dn=Ut?$e:$e.get(Le)??$e,cn=[...Z.map(Ne=>Ne.selector),...le.map(Ne=>Ne.selector),...ae.map(Ne=>Ne.selector)],$n=Array.from(new Set([...X.map(Ne=>Ne.pathname||Le),...Z.map(Ne=>Ne.pathname||Le),...le.map(Ne=>Ne.pathname||Le),...ae.map(Ne=>Ne.pathname||Le)])),Bt=Ah(X,v.activeColor),Gt=[...cn,...X.flatMap(Ne=>Ne.linkedSelector?[Ne.linkedSelector]:[])],Pn=Mh(Gt,v.annotations.filter(Ne=>(Ne.pathname||Le)===Le),Vt),un=Kl(Gt,ge,Pn?.color??Bt,Vt),Xr=Pn?.threadId??Rh(Gt,ge),Er=Pn?.targetBindingId??Lh(Gt,ge),So=uu(un),qn=`_pending_${Date.now()}`,Zo={annotationIds:ce,styleSelectors:cn,color:un,threadId:void 0,routePathnames:$n};try{let Ne=JSON.parse(localStorage.getItem(oe)||"{}");Ne[qn]=Zo,localStorage.setItem(oe,JSON.stringify(Ne))}catch{}ke(Ne=>({...Ne,[qn]:Zo}));try{let Ne=P?await P.send({screenshots:dn,feedbackJson:Ie,color:So,provider:Be,model:yt.id,pastedImages:mn.size>0?mn:void 0,sourceId:hs(),agentSettings:vt},x):await sc(dn,Ie,fe,So,Be,yt.id,mn.size>0?mn:void 0,hs(),vt,Xr,Pn?.selectorAliases,Er);if("pendingApproval"in Ne){try{let mt=JSON.parse(localStorage.getItem(oe)||"{}");delete mt[qn],localStorage.setItem(oe,JSON.stringify(mt))}catch{}return ke(mt=>{let{[qn]:on,...Tr}=mt;return Tr}),!1}let{jobId:$t,threadId:Tt,color:Pt,continuedThread:Kr,continuationEligible:ei,targetBindings:Vr=[]}=Ne,Fi=mt=>Vr.find(on=>mt.target?on.anchor.type==="opaque"&&on.anchor.adapter===mt.target.adapter&&on.anchor.key===mt.target.key:!mt.linkedSelector||on.anchor.type!=="dom"?!1:[on.anchor.runtimeSelector,on.anchor.structuralSelector,...on.anchor.legacySelectors??[]].includes(mt.linkedSelector))?.id;Tt&&Xt(Tt,$t,Jn,dn,mn.size>0?mn:void 0);for(let mt of mn.keys())qe.current.delete(mt);for(let mt of pe.keys())tt.current.delete(mt);let Qr=Pt??un,xa={...Zo,color:Qr,threadId:Tt};try{let mt=JSON.parse(localStorage.getItem(oe)||"{}");delete mt[qn],mt[$t]=xa,localStorage.setItem(oe,JSON.stringify(mt))}catch{}if(ke(mt=>{let{[qn]:on,...Tr}=mt;return{...Tr,[$t]:xa}}),Tt&&cn.length>0&&Me(mt=>{let on=new Map(mt),Tr=new Set;for(let an of Vr){if(an.anchor.type!=="dom")continue;let ti=[an.anchor.runtimeSelector,an.anchor.structuralSelector,...an.anchor.legacySelectors??[]].filter(ko=>!!ko),nr=cn.find(ko=>ti.includes(ko));if(!nr)continue;Tr.add(nr);let $l=[...kr,...Ir].find(ko=>ko.selector===nr);on.set(an.id,{jobId:$t,threadId:Tt,status:"in_flight",color:Qr,continuationEligible:an.continuationEligible??ei,targetBindingId:an.id,selectors:ti,targetFingerprint:an.anchor.targetFingerprint,annotationNumber:$l?.annotationNumber})}for(let an of cn){if(Tr.has(an))continue;let ti=[...kr,...Ir].find(nr=>nr.selector===an);on.set(`job:${$t}:${an}`,{jobId:$t,threadId:Tt,status:"in_flight",color:Qr,continuationEligible:ei,selectors:[an],annotationNumber:ti?.annotationNumber})}return on}),k({type:"MARK_CAPTURED",payload:{annotationIds:ce}}),Tt&&ce.length>0){for(let mt of ce)k({type:"UPDATE_ANNOTATION_COLOR",payload:{id:mt,color:Qr}});for(let mt of X)k({type:"SET_ANNOTATION_THREAD",payload:{ids:[mt.id],threadId:Tt,targetBindingId:Fi(mt)}})}return Kr||k({type:"SET_COLOR",payload:$h({color:Qr,threadId:Tt??`job:${$t}`,annotationIds:ce,annotations:v.annotations,pathname:Le})}),!0}catch(Ne){try{let $t=JSON.parse(localStorage.getItem(oe)||"{}");delete $t[qn],localStorage.setItem(oe,JSON.stringify($t))}catch{}return ke($t=>{let{[qn]:Tt,...Pt}=$t;return Pt}),console.error("[Pare] Failed to send to bridge:",Ne),!1}})},[v.annotations,v.styleModifications,v.textModifications,v.domModifications,v.spacingTokenChanges,v.activeColor,k,fe,Be,yt.id,vt,Le,i,Xt,De,ge,Zt,F,c,P,oe]),qo=U(()=>Oy(dt,uo,!1),[uo]),Li=gy(e&&t&&z.isConnected&&!P,fe,y,v,{provider:Be,model:yt.id,agentSettings:vt}),zt=P?.view?{...Li,...P.view,toolbar:R}:Li;S.current=zt.activePreview;let{onFocus:$i,onActivity:po,onThread:Pi}=ey(P?.reportAttention,P?.viewedParticipantId??P?.participantId??"",v.activeColor,!!(P?.canReadThreads&&v.isAnnotating&&!zt.isPeeking)),Uo=U(x=>{be(x),$i(x)},[be,$i]),ji=U(()=>{pt(),po()},[pt,po]),Yo=U(async(x,E,X,Z)=>{if(P&&!P.canReply)throw new Error("Edit permission is required to send thread messages.");Be==="omp"&&Zt("omp"),xn(Ee=>({threadId:x,sequence:(Ee?.sequence??0)+1})),Zn(Ee=>{if(!(x in Ee))return Ee;let Re={...Ee};return delete Re[x],Re});let le=Object.values(_r.current).find(Ee=>Ee.threadId===x)?.color??v.annotations.find(Ee=>Ee.threadId===x)?.color??v.activeColor,ae=v.annotations.filter(Ee=>Ee.threadId===x&&(Ee.status==="waiting_input"||Ee.status==="resolved"||Ee.status==="needs_review")),de=ae.map(Ee=>Ee.id),ce;if(c)try{ce=vs(await c({kind:"reply",timestamp:Date.now(),url:window.location.href,pathname:Le,threadId:x,reply:E,annotations:ae}))}catch(Ee){console.error("[Popmelt] Unable to capture reply metadata:",Ee);return}let pe=`_pending_reply_${Date.now()}`,$e={annotationIds:de,styleSelectors:[],color:le,threadId:x};try{let Ee=JSON.parse(localStorage.getItem(oe)||"{}");Ee[pe]=$e,localStorage.setItem(oe,JSON.stringify(Ee))}catch{}ke(Ee=>({...Ee,[pe]:$e}));try{let Ee=uu(le),{jobId:Re}=await hh(x,E,fe,Ee,Be,yt.id,X,hs(),vt,{...Z,...ce?{meta:ce}:{}}),xt={...$e};try{let Ht=JSON.parse(localStorage.getItem(oe)||"{}");delete Ht[pe],Ht[Re]=xt,localStorage.setItem(oe,JSON.stringify(Ht))}catch{}return ke(Ht=>{let{[pe]:Ur,...Ln}=Ht;return{...Ln,[Re]:xt}}),Me(Ht=>mh(Ht,x,Re)),ae.length>0&&k({type:"SET_ANNOTATION_STATUS",payload:{ids:de,status:"in_flight"}}),Te(x),{jobId:Re}}catch(Ee){try{let Re=JSON.parse(localStorage.getItem(oe)||"{}");delete Re[pe],localStorage.setItem(oe,JSON.stringify(Re))}catch{}throw ke(Re=>{let{[pe]:xt,...Ht}=Re;return Ht}),console.error("[Pare] Failed to send reply:",Ee),Ee}},[v.activeColor,v.annotations,fe,Te,k,Be,yt.id,vt,Zt,c,Le,P,oe]);Y(()=>{for(let x of z.pendingQuestions){qt(x.jobId,"waiting_input","Question");let E=x.annotationIds&&x.annotationIds.length>0?x.annotationIds:ee[x.jobId]?.annotationIds??Fe.current.get(x.jobId);if((!E||E.length===0)&&x.threadId&&(E=v.annotations.filter(X=>X.threadId===x.threadId).map(X=>X.id)),E&&E.length>0){let X=new Set(E),Z=v.annotations.filter(le=>X.has(le.id));if(Z.length===0||Z.every(le=>le.status==="waiting_input"&&le.question===x.question&&le.threadId===x.threadId))continue;k({type:"SET_ANNOTATION_QUESTION",payload:{ids:E,question:x.question,threadId:x.threadId}})}}},[z.pendingQuestions,k,ee,v.annotations,qt]);let Xo=xe(()=>{if(z.activeJobId&&z.activeJobId in ee)return ee[z.activeJobId].color;let x=Object.values(ee);return x.length>0?x[x.length-1].color:void 0},[z.activeJobId,ee]),yr=U((x,E=!1)=>{Qn(X=>X+1),!E&&v.activeTool==="model"&&k({type:"SET_TOOL",payload:"inspector"}),Ot({type:"open_thread",threadId:x})},[Ot,k,v.activeTool]),Wr=U(x=>{_&&yr(x)},[yr,_]),Mn=U(()=>{Ot({type:"close_thread"})},[Ot]),[zi,Di]=$(0),Br=xy(`${y}:${zi}`,async x=>{if(!(await yh(x,fe)).archived)throw new Error("Thread not found")},x=>gh(x,fe),v.undoStack.at(-1));w.current=Br.tryUndo;let Il=U(x=>{if(Object.values(ee).some(ae=>ae.threadId===x))return;Ke===x&&Mn();let E=new Set(v.annotations.filter(ae=>ae.threadId===x).flatMap(ae=>ae.groupId?[ae.groupId]:[])),X=v.annotations.filter(ae=>ae.threadId===x||ae.groupId&&E.has(ae.groupId)).map(ae=>ae.id),Z=v.annotations.filter(ae=>X.includes(ae.id)),le=Array.from(ge.entries()).filter(([,ae])=>ae.threadId===x);X.length>0&&k({type:"SET_ANNOTATION_STATUS",payload:{ids:X,status:"dismissed"}}),Me(ae=>new Map(Array.from(ae.entries()).filter(([,de])=>de.threadId!==x))),kt(ae=>new Set(ae).add(x)),jf([x],y),Br.dismiss(x,()=>{for(let ae of Z)k({type:"SET_ANNOTATION_STATUS",payload:{ids:[ae.id],status:ae.status??"resolved"}});if(Me(ae=>{let de=new Map(ae);for(let[ce,pe]of le)de.has(ce)||de.set(ce,pe);return de}),kt(ae=>{let de=new Set(ae);return de.delete(x),de}),y)try{let ae=xl(y);ae.delete(x),localStorage.setItem(ai(bl,y),JSON.stringify([...ae]))}catch{}})},[Mn,k,y,v.annotations,Br,ee,ge,Ke]),El=U((x,E,X)=>{let Z=ee[x],le=Ve.current.get(x),ae=Z?.annotationIds??X??[];if(Z||ae.length>0){let ce=new Set(Z?.styleSelectors??[]);for(let pe of ae){let $e=v.annotations.find(Ee=>Ee.id===pe);if($e&&($e.linkedSelector&&ce.add($e.linkedSelector),$e.groupId))for(let Ee of v.annotations)Ee.groupId===$e.groupId&&Ee.linkedSelector&&ce.add(Ee.linkedSelector)}ce.size>0&&(le=Array.from(ce))}le?.length&&u1(le);let de=Z?.threadId||E||ze.current.get(x);if(de){let ce=Z?.kind==="project_model"&&(Z.annotationIds?.length??0)===0;Lt.current=ce?kd:Z?.color??null,yr(de,Z?.kind==="synthesize")}},[ee,yr,v.annotations]),Tl=U((x,E)=>{if(!x){j(null);return}let X=E??Fe.current.get(x);X&&X.length>0?j(new Set(X)):j(null)},[]),Ko=U(async x=>{try{let E=x?`${fe}/cancel?jobId=${x}`:`${fe}/cancel`;await Kt(E,{method:"POST"})}catch{}},[fe]),Cl=U(async()=>{Xe("restarting"),tn("Restarting bridge");let x=await vh(fe,Yl,2e4);if(x.ok){await yg(x.bridgeUrl??r,y),Ue(x.status.version??Yl),Xe("ok"),tn(x.status.version?`Bridge restarted on ${x.status.version}`:"Bridge restarted"),Pe(E=>E+1);return}Ue(x.status?.version??Ye),Xe("error"),tn(x.error)},[Ye,r,y,fe]),Rn=xe(()=>{if(!Ke)return null;for(let x of Object.values(ee))if(x.threadId===Ke&&x.kind){if(x.kind==="project_model"&&x.annotationIds.length>0)continue;return x.kind}return null},[Ke,ee]),fo=Rn==="project_model",It=Rn==="synthesize",{surface:ho,phase:Al,show:vr,leave:Vo,dismiss:ga}=bh({openDelayMs:0,exitDurationMs:Xl}),Jr=q(new Set),[Oi,Ml]=$(()=>new Set),Rl=U((x,E)=>{E?Jr.current.add(x):Jr.current.delete(x),Ml(new Set(Jr.current)),Jr.current.size>0?vr("toolbar"):Vo("toolbar")},[Vo,vr]),mo=e1({toolbarExpanded:v.isAnnotating,toolbarSources:Oi,chromeHoverSurface:ho,chromeHoverPhase:Al,activeTool:v.activeTool,peerPlanePeeking:zt.isPeeking}),Nt=mo.threadTemporarilyHidden;Y(()=>{Ke&&ho&&ga(ho)},[ho,ga,Ke]),Y(()=>{Ot(v.activeTool==="model"?{type:"enter_imprint",preserveOpenThread:It}:{type:"leave_imprint"})},[Ot,v.activeTool,Ke,It]),Y(()=>{Ot({type:v.isAnnotating?"expand_toolbar":"collapse_toolbar"})},[Ot,v.isAnnotating]);let Et=xe(()=>A0(Ke,ee,z.activeJobIds,z.activeJobThreads,Wn),[Ke,ee,z.activeJobIds,z.activeJobThreads,Wn]),bt=Ke?v.annotations.find(x=>x.threadId===Ke):void 0,tr=Ke?Array.from(ge.values()).find(x=>x.threadId===Ke&&x.color)?.color:void 0,go=Ke?we.current.get(Ke):void 0,yo=xe(()=>{if(!Ke)return null;let x=[...z.events].reverse().find(E=>(E.type==="done"||E.type==="error")&&E.data.threadId===Ke);return typeof x?.data.jobId=="string"?x.data.jobId:null},[z.events,Ke]),qr=xe(()=>Et?z.events.filter(x=>x.data.jobId===Et):r1,[Et,z.events]),Ni=xe(()=>fo?kd:tr??bt?.color??Lt.current??v.activeColor,[fo,bt?.color,tr,v.activeColor]),br=!!(y&&bn===y),xr=xe(()=>t1(v.annotations,rn,br?ge.values():[]),[rn,br,ge,v.annotations]),Hi=xe(()=>xh(ge,rn,xr,br),[rn,br,ge,xr]),Qo=xe(()=>{let x=new Map;for(let E of v.annotations)E.threadId&&E.color&&x.set(E.threadId,E.color);for(let E of ge.values())E.threadId&&E.color&&x.set(E.threadId,E.color);return x},[ge,v.annotations]),ya=[...Hi.values()].find(x=>x.threadId===Ke)?.annotationNumber,va=nS(bt?v.annotations.indexOf(bt):-1,ya),ba=U(x=>{if(!Ke)return;let E=n1(xr,Ke,x);E&&yr(E)},[xr,Ke,yr]),_i=Ke!==null&&xr.length>1&&xr.includes(Ke),[Go,vo]=$(!1),wr=q(!1),sn=q(null),Sr=U(x=>{x?(sn.current&&(clearTimeout(sn.current),sn.current=null),vo(!0)):sn.current=setTimeout(()=>{vo(!1),sn.current=null},150)},[]),bo=U(x=>{Sr(x),x?vr("job-stack"):Jr.current.size>0?vr("toolbar"):Vo("job-stack")},[Sr,Vo,vr]);Y(()=>{if(P)return;let x=z.workspaceGeneration;if(!y||x===void 0||!Number.isInteger(x)||x<0)return;let E=nc(localStorage,y);if(E!==null&&x<E)return;let X=wh(E,x);if(localStorage.setItem(rc(y),String(x)),!X)return;if(wr.current){wr.current=!1;return}Bc(v.styleModifications),jm(v.textModifications),zm(v.domModifications),document.querySelectorAll("[data-pm]").forEach(le=>le.removeAttribute("data-pm")),k({type:"CLEAR"}),k({type:"CLEAR_ALL_STYLES"});let Z=Sh(y);for(let le of[Z.annotations,Z.styleMods,Z.textMods,Z.domMods,Z.spacingChanges])localStorage.removeItem(le);Es(localStorage),qe.current.clear(),tt.current.clear(),ke({}),Me(new Map),xn(null),Cn(new Set),hr(new Set),mr(new Set),Zn({}),kt(new Set),Di(le=>le+1),me(),Mn()},[z.workspaceGeneration,me,Mn,k,y,P,v.domModifications,v.styleModifications,v.textModifications]);let xo=U(()=>{Es(localStorage),qe.current.clear(),tt.current.clear();let x=Array.from(new Set(v.annotations.flatMap(E=>E.threadId?[E.threadId]:[])));jf(x,y),kt(E=>{let X=new Set(E);for(let Z of x)X.add(Z);return X}),wr.current=!0,kh(fe).then(({workspaceGeneration:E})=>{if(y){let X=nc(localStorage,y);(X===null||E>X)&&localStorage.setItem(rc(y),String(E))}wr.current=!1}).catch(E=>{wr.current=!1,console.warn("[Popmelt] Failed to clear bridge workspace:",E)}),Di(E=>E+1),me(),Mn(),Ko()},[me,Mn,y,Ko,fe,v.annotations]);Y(()=>()=>{sn.current&&clearTimeout(sn.current)},[]);let[Ll,wo]=$(!1);return Y(()=>{wo(!0)},[]),!e||!Ll?null:f(Yd.Provider,{value:t?zt.toolbar??R:null,children:A(w0,{children:[f(Ih.Provider,{value:_?Wr:void 0,children:zt.overlay}),v.isAnnotating&&z.isConnected&&!zt.isPeeking&&!zt.activePreview&&f(oc,{element:Ce,elements:Ae,registry:F}),f("div",{"data-devtools":"host-canvas",style:{display:zt.isPeeking?"none":"contents"},children:f(t0,{historyPreview:jt,onFocusTargetChange:Uo,onFocusActivity:ji,bridgeUrl:fe,steeringContextStorageKey:y?jx(y):void 0,state:zt.activePreview?{...v,isAnnotating:!1,annotations:[],styleModifications:[],textModifications:[],domModifications:[]}:v,dispatch:k,onScreenshot:ha,inFlightAnnotationIds:Nr,inFlightOrientationLabels:gr,waitingApprovalJobIds:An,activeAnnotationIds:wl,queuePositionMap:_o,inFlightStyleSelectors:Ai,inFlightStyleSelectorJobIds:fa,inFlightSelectorColors:Sl,modifiedElementThreadStates:Hi,dismissedThreadIds:rn,onAttachImages:kl,onRemoveImages:ma,onCaptureInteractionFrame:Ge,onSend:z.isConnected&&(!P||P.canSend)?qo:void 0,onReply:z.isConnected&&(!P||P.canReply)?Yo:void 0,onViewThread:z.isConnected&&_?Wr:void 0,onCloseThread:Mn,onArchiveThread:Il,highlightedAnnotationIds:Ci,cycleFocusedAnnotationIds:No,onCanvasInteraction:Pr,focusedThreadAnnotationId:bt?.id,openThreadId:Ke,hasOpenThread:Ke!==null,externalCanvasRef:He,toolbarRef:Oe,threadPanelElement:Nt?null:We,clearSignal:zi,subjectRegistry:F,subjectRegistryReady:ue},`annotation-canvas:${y??"pending"}`)}),v.isAnnotating&&!zt.isPeeking&&f("div",{id:"devtools-scrim",style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.06)",zIndex:9998,pointerEvents:"none"}}),f(T0,{zIndex:Ke!==null&&!Nt?10004:10003,children:A(k0,{children:[f(Eh,{onPreviewHistoryThread:At,threadOpenRequest:zr,projectId:y,state:v,hasExternalSendableItems:!!(zt.activePreview&&zt.approve),readOnlyPreview:zt.activePreview,dispatch:x=>{(!zt.activePreview||x.type==="SET_ANNOTATING")&&k(x)},onScreenshot:ha,onSendToClaude:zt.activePreview?zt.approve:z.isConnected&&(!P||P.canSend)?qo:void 0,hasActiveJobs:Object.keys(ee).length>0||z.activeJobIds.length>0,activeJobColor:Xo,onCrosshairHover:Sr,onClear:xo,provider:Be,onProviderChange:z.isConnected&&Ze.length>1?Tn:void 0,availableProviders:Ze,modelIndex:K,modelCount:ft.length,modelLabel:yt.label,models:ft,agentSettings:vt,onModelChange:z.isConnected?nn:void 0,onModelMenuOpen:()=>{Zt(Be)},onAgentSettingsChange:z.isConnected?Hn:void 0,onViewThread:z.isConnected&&_?Wr:void 0,onNavigate:ur,annotationCycleFocus:Ft,onAnnotationCycleFocusChange:_n,isThreadPanelOpen:Ke!==null&&!Nt&&!It,hasOpenThreadPanel:Ke!==null&&!It,projectPanelTemporarilyHidden:mo.projectPanelTemporarilyHidden,onToolbarHoverChange:Rl,activeChromeHoverSurface:ho,mcpStatus:je,bridgeUrl:fe,isBridgeConnected:z.isConnected,packageVersion:Yl,bridgeVersion:Ye,projectRoot:ct,projectRootAccess:Jt?.projectRoot,codexSandboxMode:Jt?.codex.sandboxMode,bridgeRestartState:En,bridgeRestartMessage:Nn,onBridgeRestart:Cl,toolbarRef:Oe,snapPosition:$r,onSnapPositionChange:co},`annotation-toolbar:${y??"pending"}`),_&&v.isAnnotating&&Ke&&f(GS,{onAttentionChange:Pi,threadId:Ke,bridgeUrl:fe,accentColor:Ni,initialMessages:go?[go.message]:void 0,completedJobId:yo,refreshKey:z.events.findLast(x=>x.type==="thread_changed"&&x.data.threadId===Ke)?.data.jobId,isStreaming:Et!==null,isQueued:Et!==null&&!z.activeJobIds.includes(Et)&&!Wn.has(Et),queuePosition:Et&&!z.activeJobIds.includes(Et)&&!Wn.has(Et)?(()=>{let x=af(Object.keys(ee),z.activeJobIds,Wn),E=x.indexOf(Et);return E>=0?`(${E+1}/${x.length})`:void 0})():void 0,activeJobId:Et,streamingEvents:qr,onClose:Mn,onReply:V?Yo:void 0,canManage:W,readOnlyReason:V?void 0:"Edit permissions required to comment in threads",onCancel:W&&Et?()=>Ko(Et):void 0,lastError:z.lastErrorByJob?.[Et??""]??(z.lastCompletedJobId&&ze.current.get(z.lastCompletedJobId)===Ke?z.lastErrorByJob?.[z.lastCompletedJobId]:void 0),temporarilyHidden:Nt,backdropCursor:v.isAnnotating&&v.activeTool==="sticker"?ic(Ni):void 0,toolbarRef:Oe,surfaceRef:ve,currentModel:yt.id,currentProvider:Be,availableProviders:Ze,models:ft,modelIndex:K,agentSettings:vt,onProviderChange:z.isConnected?Tn:void 0,onModelChange:z.isConnected?nn:void 0,onAgentSettingsChange:z.isConnected?Hn:void 0,onModelMenuOpen:()=>{Zt(Be)},annotationNumber:va,annotationText:bt?.text,onPreviousThread:_i?()=>ba(-1):void 0,onNextThread:_i?()=>ba(1):void 0,preferredSide:fo?"left":"right",modal:!fo},`${Ke}:${fo?"workflow":"default"}`),_&&f(x0,{bridge:z,bridgeUrl:fe,inFlightJobs:ee,threadColors:Qo,isVisible:Go||z.lastResponseText!==null||z.activeJobIds.length>0,isHidden:!v.isAnnotating||zt.isPeeking||zt.activePreview,onHover:bo,isInteractionSuppressed:mo.statusInteractionSuppressed,clearSignal:zi,onReply:V?Yo:void 0,onClickJob:El,onCancel:W?Ko:void 0,onHoverJob:Tl,isConnected:z.isConnected,dismissedThreadIds:rn,acknowledgedThread:Qt,recoveredAcknowledgedThreadIds:Gn,recoveredAcknowledgedJobIds:wn,recoveredSettledQuestionThreadIds:ht,pendingQuestionThreadIds:Ti,snapPosition:$r,currentPathname:Le})]})})]})})}export{mg as a,f1 as b};
|