@tscircuit/runframe 0.0.1482 → 0.0.1483

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.
@@ -5297,7 +5297,7 @@ svg { font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif; }
5297
5297
  50% { opacity: 0.2; }
5298
5298
  100% { opacity: 0.6; }
5299
5299
  }
5300
- `,n.appendChild(u)}})}};o();const s=new MutationObserver(o);return s.observe(n,{childList:!0,subtree:!1,characterData:!1}),()=>{s.disconnect()}},[t,e,A,i])},FAe=["#8B0000","#2F4F4F","#191970","#006400","#FF4500","#800080","#2E8B57","#B8860B","#C71585","#008B8B"],b1t=t=>{const{svgDivRef:A,circuitJson:e,circuitJsonKey:i,showGroups:n}=t;j.useEffect(()=>{if(A.current&&A.current.querySelectorAll(".schematic-group-overlay").forEach(r=>r.remove()),!A.current||!n||!e||e.length===0)return;const o=setTimeout(()=>{if(!A.current)return;const s=A.current.querySelector("svg");if(!s)return;s.querySelectorAll(".schematic-group-overlay").forEach(a=>a.remove());try{const a=Mp(e).source_group?.list().filter(u=>!u.is_subcircuit)||[],g=Mp(e).schematic_component?.list()||[],I=new Map;a.forEach(u=>{const d=u;if(d.parent_source_group_id){const f=I.get(d.parent_source_group_id)||[];f.push(u.source_group_id),I.set(d.parent_source_group_id,f)}});const c=u=>{const d=[],f=I.get(u)||[];for(const w of f)d.push(w),d.push(...c(w));return d},B=u=>{const d=a.find(f=>f.source_group_id===u);return d?.parent_source_group_id?1+B(d.parent_source_group_id):0},l=a.length>0&&a.some(u=>u.name&&u.name.trim()!=="");let C=[];if(l){const u=new Map;for(const d of g){const f=Mp(e).source_component.get(d.source_component_id);f?.source_group_id&&(u.has(f.source_group_id)||u.set(f.source_group_id,[]),u.get(f.source_group_id).push(d))}a.forEach((d,f)=>{let w=u.get(d.source_group_id)||[];const S=c(d.source_group_id);for(const D of S){const x=u.get(D)||[];w=[...w,...x]}if(w.length>0){const D=B(d.source_group_id),x=c(d.source_group_id).length>0;if(d.name?.startsWith("unnamed_board"))return;C.push({id:d.source_group_id,name:d.name||`Group ${f+1}`,components:w,color:FAe[f%FAe.length],depthLevel:D,hasChildren:x,sourceGroupId:d.source_group_id})}})}const Q=s.viewBox.baseVal,E=s.getBoundingClientRect(),h=Math.min(E.width/Q.width,E.height/Q.height)||1;C.sort((u,d)=>u.depthLevel-d.depthLevel),C.forEach(u=>{if(u.components.length===0)return;const d=x1t(u.components,s);if(!d)return;const f=Math.max(8,Math.min(25,15/Math.max(h,.3))),w=u.hasChildren?f*.6:0,S=f+w,D=Math.max(1,2/Math.max(h,.5)),x=u.depthLevel===0?D:D*.7,F=Math.max(4,8/Math.max(h,.5)),k=u.hasChildren?1.3:1,v=F*k,_=v*.5,L=document.createElementNS("http://www.w3.org/2000/svg","rect");L.setAttribute("class","schematic-group-overlay"),L.setAttribute("x",(d.minX-S).toString()),L.setAttribute("y",(d.minY-S).toString()),L.setAttribute("width",(d.maxX-d.minX+S*2).toString()),L.setAttribute("height",(d.maxY-d.minY+S*2).toString()),L.setAttribute("fill","none"),L.setAttribute("stroke",u.color),L.setAttribute("stroke-width",x.toString()),L.setAttribute("stroke-dasharray",`${v},${_}`),L.setAttribute("opacity","0.8"),L.setAttribute("rx","0"),L.setAttribute("ry","0");const K=Math.max(6,Math.min(20,14/Math.max(h,.2))),J=u.depthLevel===0||u.depthLevel===1?0:u.depthLevel*.2,W=K*(1-J),Z=Math.max(1,W*.2),AA=u.name,nA=document.createElementNS("http://www.w3.org/2000/svg","text");nA.setAttribute("font-size",W.toString()),nA.setAttribute("font-family","Arial, sans-serif"),nA.textContent=AA,s.appendChild(nA);const cA=nA.getBBox();s.removeChild(nA);const tA=cA.width+Z*2,oA=W+Z*2,rA=d.minX-S,CA=d.minY-S-oA,dA=document.createElementNS("http://www.w3.org/2000/svg","rect");dA.setAttribute("class","schematic-group-overlay"),dA.setAttribute("x",rA.toString()),dA.setAttribute("y",(CA-oA).toString()),dA.setAttribute("width",tA.toString()),dA.setAttribute("height",oA.toString()),dA.setAttribute("fill","transparent"),dA.setAttribute("rx","0"),dA.setAttribute("ry","0");const bA=document.createElementNS("http://www.w3.org/2000/svg","text");bA.setAttribute("class","schematic-group-overlay"),bA.setAttribute("x",(rA+Z).toString()),bA.setAttribute("y",(CA+oA-Z).toString()),bA.setAttribute("fill",u.color),bA.setAttribute("font-size",W.toString()),bA.setAttribute("font-family","Arial, sans-serif"),bA.setAttribute("font-weight",u.depthLevel===0?"600":"500"),bA.setAttribute("stroke",u.color),bA.setAttribute("stroke-width",Math.max(.2,W*.02).toString()),bA.textContent=AA,s.appendChild(L),s.appendChild(dA),s.appendChild(bA)})}catch(a){console.error("Error creating group overlays:",a)}},10);return()=>clearTimeout(o)},[A,i,n])};function x1t(t,A){let e=1/0,i=1/0,n=-1/0,o=-1/0;for(const r of t){let a=A.querySelector(`g[data-schematic-component-id="${r.schematic_component_id}"]`);if(a||(a=A.querySelector(`[data-schematic-component-id="${r.schematic_component_id}"]`)),a){const g=a.getBBox();e=Math.min(e,g.x),i=Math.min(i,g.y),n=Math.max(n,g.x+g.width),o=Math.max(o,g.y+g.height)}}return e===1/0?null:{minX:e,minY:i,maxX:n,maxY:o}}var k1t=ra("schematic-viewer"),G1t=()=>{ra.enable("schematic-viewer*")},F1t=k1t,RAe=t=>{const[A,e]=j.useState(0),[i,n]=j.useState(0);return j.useEffect(()=>{if(!t.current)return;const o=()=>{const r=t.current?.getBoundingClientRect();e(r?.width||0),n(r?.height||0)};o();const s=new ResizeObserver(o);return s.observe(t.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:A,containerHeight:i}},R1t=F1t.extend("useComponentDragging"),N1t=({onEditEvent:t,editEvents:A=[],circuitJson:e,cancelDrag:i,svgToScreenProjection:n,realToSvgProjection:o,enabled:s=!1,snapToGrid:r=!1})=>{const[a,g]=j.useState(null),I=Ji(o,n),c=j.useRef(null),B=j.useRef(null),l=j.useRef(new Map);j.useEffect(()=>{A.forEach(D=>{"edit_event_type"in D&&D.edit_event_type==="edit_schematic_component_location"&&!D.in_progress&&l.current.set(D.schematic_component_id,{...D.new_center})})},[A]);const C=j.useCallback((D,x,F)=>{if(!s)return!1;const k=F.closest('[data-circuit-json-type="schematic_component"]');if(!k)return!1;const v=k.getAttribute("data-schematic-component-id");if(!v)return!1;i&&i();const _=Mp(e).schematic_component.get(v);if(!_)return!1;c.current={x:D,y:x};let L;const K=l.current.get(v);if(K)L={...K};else{const W=GAe({editEvents:A,schematic_component_id:v});L={x:_.center.x+W.x,y:_.center.y+W.y},l.current.set(v,{...L})}const J={edit_event_id:Math.random().toString(36).substr(2,9),edit_event_type:"edit_schematic_component_location",schematic_component_id:v,original_center:L,new_center:{...L},in_progress:!0,created_at:Date.now(),_element:k};return B.current=J,g(J),!0},[i,s,e,A]),Q=j.useCallback(D=>{C(D.clientX,D.clientY,D.target)},[C]),E=j.useCallback(D=>{if(D.touches.length!==1)return;const x=D.touches[0];C(x.clientX,x.clientY,D.target)&&D.preventDefault()},[C]),h=j.useCallback((D,x)=>{if(!B.current||!c.current)return;const F={x:D-c.current.x,y:x-c.current.y},k={x:F.x/I.a,y:F.y/I.d};let v={x:B.current.original_center.x+k.x,y:B.current.original_center.y+k.y};if(r){const L=K=>Math.round(K*10)/10;v={x:L(v.x),y:L(v.y)}}const _={...B.current,new_center:v};B.current=_,g(_)},[I,r]),u=j.useCallback(D=>h(D.clientX,D.clientY),[h]),d=j.useCallback(D=>{if(D.touches.length!==1||!B.current)return;D.preventDefault();const x=D.touches[0];h(x.clientX,x.clientY)},[h]),f=j.useCallback(()=>{if(!B.current)return;const D={...B.current,in_progress:!1};l.current.set(D.schematic_component_id,{...D.new_center}),R1t("endDrag calling onEditEvent with new edit event",{newEditEvent:D}),t&&t(D),B.current=null,c.current=null,g(null)},[t]),w=j.useCallback(()=>f(),[f]),S=j.useCallback(()=>f(),[f]);return j.useEffect(()=>(window.addEventListener("mousemove",u),window.addEventListener("mouseup",w),window.addEventListener("touchmove",d,{passive:!1}),window.addEventListener("touchend",S),()=>{window.removeEventListener("mousemove",u),window.removeEventListener("mouseup",w),window.removeEventListener("touchmove",d),window.removeEventListener("touchend",S)}),[u,w,d,S]),{handleMouseDown:Q,handleTouchStart:E,isDragging:!!B.current,activeEditEvent:a}},Zx={schematicEditIcon:50,schematicGridIcon:49,spiceSimulationIcon:50,viewMenuIcon:48,viewMenu:55,viewMenuBackdrop:54,clickToInteractOverlay:100,schematicComponentHoverOutline:47},_1t=({onClick:t,active:A})=>{const e=i=>{i.preventDefault(),t()};return O.jsx("div",{onClick:e,onTouchEnd:e,title:A?"Disable edit mode":"Enable edit mode",style:{position:"absolute",top:"16px",right:"64px",backgroundColor:A?"#4CAF50":"#fff",color:A?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:Zx.schematicEditIcon},children:O.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[O.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),O.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})})},M1t=({onClick:t,active:A})=>{const e=i=>{i.preventDefault(),t()};return O.jsx("div",{onClick:e,onTouchEnd:e,title:A?"Hide grid":"Show grid",style:{position:"absolute",top:"56px",right:"64px",backgroundColor:A?"#4CAF50":"#fff",color:A?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:Zx.schematicGridIcon},children:O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:O.jsx("path",{d:"M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h7v7h-7z"})})})},v1t=({onClick:t,active:A})=>{const e=i=>{i.preventDefault(),t()};return O.jsx("div",{onClick:e,onTouchEnd:e,title:A?"Hide view menu":"Show view menu",style:{position:"absolute",top:"16px",right:"16px",backgroundColor:A?"#4CAF50":"#fff",color:A?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:Zx.viewMenuIcon},children:O.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[O.jsx("circle",{cx:"12",cy:"12",r:"1"}),O.jsx("circle",{cx:"12",cy:"5",r:"1"}),O.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})},U1t={version:"2.0.50"},L1t=({circuitJson:t,circuitJsonKey:A,isVisible:e,onClose:i,showGroups:n,onToggleGroups:o})=>{const s=j.useMemo(()=>{if(!t||t.length===0)return!1;try{if((Mp(t).source_group?.list()||[]).length>0)return!0;const a=Mp(t).schematic_component?.list()||[];if(a.length>1){const g=new Set;for(const I of a){const c=Mp(t).source_component.get(I.source_component_id);c?.ftype&&g.add(c.ftype)}return g.size>1}return!1}catch(r){return console.error("Error checking for groups:",r),!1}},[A]);return e?O.jsxs(O.Fragment,{children:[O.jsx("div",{onClick:i,onTouchEnd:r=>{r.preventDefault(),i()},style:{position:"absolute",inset:0,backgroundColor:"transparent",zIndex:Zx.viewMenuBackdrop}}),O.jsxs("div",{style:{position:"absolute",top:"56px",right:"16px",backgroundColor:"#ffffff",color:"#000000",border:"1px solid #ccc",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",minWidth:"200px",zIndex:Zx.viewMenu},children:[O.jsxs("div",{onClick:()=>{s&&o(!n)},onTouchEnd:r=>{r.preventDefault(),s&&o(!n)},style:{padding:"8px 12px",cursor:s?"pointer":"not-allowed",opacity:s?1:.5,fontSize:"13px",color:"#000000",fontFamily:"sans-serif",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:r=>{s&&(r.currentTarget.style.backgroundColor="#f0f0f0")},onMouseLeave:r=>{s&&(r.currentTarget.style.backgroundColor="transparent")},children:[O.jsx("div",{style:{width:"16px",height:"16px",border:"2px solid #000",borderRadius:"2px",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px",fontWeight:"bold"},children:n&&"✓"}),"View Schematic Groups"]}),!s&&O.jsx("div",{style:{padding:"8px 12px",fontSize:"11px",color:"#666",fontStyle:"italic"},children:"No groups found in this schematic"}),O.jsxs("div",{style:{padding:"4px 8px",fontSize:"12px",color:"#999",borderTop:"1px solid #eee",textAlign:"center"},children:["v",String(U1t?.version)]})]})]}):null},H1t=()=>O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:O.jsx("path",{d:"M3 12h2.5l2.5-9 4 18 4-9h5.5"})}),Y1t=({onClick:t})=>O.jsx("div",{onClick:t,title:"Run SPICE simulation",style:{position:"absolute",top:"16px",right:"112px",backgroundColor:"#fff",color:"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:Zx.spiceSimulationIcon},children:O.jsx(H1t,{})});CW.register(B1t,Q1t,Ovt,Pvt,A1t,a1t,Xvt);var uW=["#8884d8","#82ca9d","#ffc658","#ff7300","#387908"],NAe=t=>{if(t===0)return"0s";const A=Math.abs(t);let e="s",i=1;return A<1e-12?(e="fs",i=1e15):A<1e-9?(e="ps",i=1e12):A<1e-6?(e="ns",i=1e9):A<.001?(e="us",i=1e6):A<1&&(e="ms",i=1e3),`${parseFloat((t*i).toPrecision(3))}${e}`},J1t=({plotData:t,nodes:A,isLoading:e,error:i,hasRun:n})=>{const o=j.useMemo(()=>{const a=A.some(I=>I.toLowerCase().startsWith("v(")),g=A.some(I=>I.toLowerCase().startsWith("i("));return a&&g?"Value":a?"Voltage (V)":g?"Current (A)":"Value"},[A]);if(e)return O.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"Running simulation..."});if(!n)return O.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:'Click "Run" to start the simulation.'});if(i)return O.jsxs("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"red"},children:["Error: ",i]});if(t.length===0)return O.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"No data to plot. Check simulation output or SPICE netlist."});const s={datasets:A.map((a,g)=>({label:a,data:t.map(I=>({x:Number(I.name),y:I[a]})),borderColor:uW[g%uW.length],backgroundColor:uW[g%uW.length],fill:!1,tension:.1}))},r={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"top",labels:{font:{family:"sans-serif"}}},title:{display:!1},tooltip:{callbacks:{title:a=>{if(a.length>0){const g=a[0];return NAe(g.parsed.x)}return""}}}},scales:{x:{type:"linear",title:{display:!0,text:"Time",font:{family:"sans-serif"}},ticks:{callback:a=>NAe(a),font:{family:"sans-serif"}}},y:{title:{display:!0,text:o,font:{family:"sans-serif"}},ticks:{font:{family:"sans-serif"}}}}};return O.jsx("div",{style:{position:"relative",height:"300px",width:"100%"},children:O.jsx(w1t,{options:r,data:s})})},T1t=({spiceString:t,onClose:A,plotData:e,nodes:i,isLoading:n,error:o,simOptions:s,onSimOptionsChange:r,hasRun:a})=>{const[g,I]=j.useState(String(s.startTime)),[c,B]=j.useState(String(s.duration));j.useEffect(()=>{I(String(s.startTime)),B(String(s.duration))},[s.startTime,s.duration]);const l=()=>{r({...s,startTime:Number(g),duration:Number(c)})},C=i.filter(Q=>{const E=Q.toLowerCase().startsWith("v("),h=Q.toLowerCase().startsWith("i(");return!!(s.showVoltage&&E||s.showCurrent&&h)});return O.jsx("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1002,fontFamily:"sans-serif"},children:O.jsxs("div",{style:{backgroundColor:"white",padding:"24px",borderRadius:"12px",width:"90%",maxWidth:"900px",boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)"},children:[O.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"24px",borderBottom:"1px solid #eee",paddingBottom:"16px"},children:[O.jsx("h2",{style:{margin:0,fontSize:"22px",fontWeight:600,color:"#333"},children:"SPICE Simulation"}),O.jsx("button",{onClick:A,style:{background:"none",border:"none",fontSize:"28px",cursor:"pointer",color:"#888",padding:0,lineHeight:1},children:"×"})]}),O.jsx("div",{children:O.jsx(J1t,{plotData:e,nodes:C,isLoading:n,error:o,hasRun:a})}),O.jsxs("div",{style:{marginTop:"16px",padding:"12px",backgroundColor:"#f7f7f7",borderRadius:"6px",display:"flex",flexWrap:"wrap",gap:"24px",alignItems:"center",fontSize:"14px"},children:[O.jsxs("div",{style:{display:"flex",gap:"16px"},children:[O.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[O.jsx("input",{type:"checkbox",checked:s.showVoltage,onChange:Q=>r({...s,showVoltage:Q.target.checked})}),"Voltage"]}),O.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[O.jsx("input",{type:"checkbox",checked:s.showCurrent,onChange:Q=>r({...s,showCurrent:Q.target.checked})}),"Current"]})]}),O.jsxs("div",{style:{display:"flex",gap:"16px",alignItems:"center"},children:[O.jsx("label",{htmlFor:"startTime",children:"Start Time (ms):"}),O.jsx("input",{id:"startTime",type:"number",value:g,onChange:Q=>I(Q.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),O.jsx("label",{htmlFor:"duration",children:"Duration (ms):"}),O.jsx("input",{id:"duration",type:"number",value:c,onChange:Q=>B(Q.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),O.jsx("button",{onClick:l,style:{padding:"4px 12px",borderRadius:"4px",border:"1px solid #ccc",backgroundColor:"#f0f0f0",cursor:"pointer"},children:a?"Rerun":"Run"})]})]}),O.jsxs("div",{style:{marginTop:"24px"},children:[O.jsx("h3",{style:{marginTop:0,marginBottom:"12px",fontSize:"18px",fontWeight:600,color:"#333"},children:"SPICE Netlist"}),O.jsx("pre",{style:{backgroundColor:"#fafafa",padding:"16px",borderRadius:"6px",maxHeight:"150px",overflowY:"auto",border:"1px solid #eee",color:"#333",fontSize:"13px",fontFamily:"monospace"},children:t})]})]})})},K1t="dmFyIGU9bnVsbCxzPWFzeW5jKCk9Pihhd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vZWVjaXJjdWl0LWVuZ2luZUAxLjUuMi8rZXNtIikpLlNpbXVsYXRpb24sYz1hc3luYygpPT57aWYoZSYmZS5pc0luaXRpYWxpemVkKCkpcmV0dXJuO2xldCBpPWF3YWl0IHMoKTtlPW5ldyBpLGF3YWl0IGUuc3RhcnQoKX07c2VsZi5vbm1lc3NhZ2U9YXN5bmMgaT0+e3RyeXtpZihhd2FpdCBjKCksIWUpdGhyb3cgbmV3IEVycm9yKCJTaW11bGF0aW9uIG5vdCBpbml0aWFsaXplZCIpO2xldCB0PWkuZGF0YS5zcGljZVN0cmluZyxhPXQubWF0Y2goL3dyZGF0YVxzKyhcUyspXHMrKC4qKS9pKTtpZihhKXtsZXQgbz1gLnByb2JlICR7YVsyXS50cmltKCkuc3BsaXQoL1xzKy8pLmpvaW4oIiAiKX1gO3Q9dC5yZXBsYWNlKC93cmRhdGEuKi9pLG8pfWVsc2UgaWYoIXQubWF0Y2goL1wucHJvYmUvaSkpdGhyb3cgdC5tYXRjaCgvcGxvdFxzKyguKikvaSk/bmV3IEVycm9yKCJUaGUgJ3Bsb3QnIGNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCBmb3IgZGF0YSBleHRyYWN0aW9uLiBQbGVhc2UgdXNlICd3cmRhdGEgPGZpbGVuYW1lPiA8dmFyMT4gLi4uJyBvciAnLnByb2JlIDx2YXIxPiAuLi4nIGluc3RlYWQuIik6bmV3IEVycm9yKCJObyAnLnByb2JlJyBvciAnd3JkYXRhJyBjb21tYW5kIGZvdW5kIGluIFNQSUNFIGZpbGUuIFVzZSAnd3JkYXRhIDxmaWxlbmFtZT4gPHZhcjE+IC4uLicgdG8gc3BlY2lmeSBvdXRwdXQuIik7ZS5zZXROZXRMaXN0KHQpO2xldCBuPWF3YWl0IGUucnVuU2ltKCk7c2VsZi5wb3N0TWVzc2FnZSh7dHlwZToicmVzdWx0IixyZXN1bHQ6bn0pfWNhdGNoKHQpe3NlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6ImVycm9yIixlcnJvcjp0Lm1lc3NhZ2V9KX19Owo=",dW=null,q1t=()=>{if(typeof window>"u")return null;if(dW)return dW;try{const t=new Blob([atob(K1t)],{type:"application/javascript"});return dW=URL.createObjectURL(t),dW}catch(t){return console.error("Failed to create blob URL for worker",t),null}},P1t=t=>{const A={};if(t.dataType==="real")t.data.forEach(r=>{A[r.name]=r.values});else if(t.dataType==="complex")t.data.forEach(r=>{A[r.name]=r.values.map(a=>a.real)});else throw new Error("Unsupported data type in simulation result");const e=Object.keys(A).find(r=>r.toLowerCase()==="time"||r.toLowerCase()==="frequency");if(!e)throw new Error("No time or frequency data in simulation result");const i=A[e],n=Object.keys(A).filter(r=>r!==e),o=n;return{plotData:i.map((r,a)=>{const g={name:r.toExponential(2)};return n.forEach(I=>{g[I]=A[I][a]}),g}),nodes:o}},O1t=t=>{const[A,e]=j.useState([]),[i,n]=j.useState([]),[o,s]=j.useState(!0),[r,a]=j.useState(null);return j.useEffect(()=>{if(!t){s(!1),e([]),n([]),a(null);return}s(!0),a(null),e([]),n([]);const g=q1t();if(!g){a("Could not create SPICE simulation worker."),s(!1);return}const I=new Worker(g,{type:"module"});return I.onmessage=c=>{if(c.data.type==="result")try{const{plotData:B,nodes:l}=P1t(c.data.result);e(B),n(l)}catch(B){a(B.message||"Failed to parse simulation result"),console.error(B)}else c.data.type==="error"&&a(c.data.error);s(!1)},I.onerror=c=>{a(c.message),s(!1)},I.postMessage({spiceString:t}),()=>{I.terminate()}},[t]),{plotData:A,nodes:i,isLoading:o,error:r}},GEA=t=>{if(t===0)return"0";const A=Math.abs(t),e=i=>i.toPrecision(4);return A>=1?e(t):A>=.001?`${e(t*1e3)}m`:A>=1e-6?`${e(t*1e6)}u`:A>=1e-9?`${e(t*1e9)}n`:A>=1e-12?`${e(t*1e12)}p`:A>=1e-15?`${e(t*1e15)}f`:t.toExponential(3)},W1t=(t,A)=>{const i=fMA(t).toSpiceString(),o=i.split(`
5300
+ `,n.appendChild(u)}})}};o();const s=new MutationObserver(o);return s.observe(n,{childList:!0,subtree:!1,characterData:!1}),()=>{s.disconnect()}},[t,e,A,i])},FAe=["#8B0000","#2F4F4F","#191970","#006400","#FF4500","#800080","#2E8B57","#B8860B","#C71585","#008B8B"],b1t=t=>{const{svgDivRef:A,circuitJson:e,circuitJsonKey:i,showGroups:n}=t;j.useEffect(()=>{if(A.current&&A.current.querySelectorAll(".schematic-group-overlay").forEach(r=>r.remove()),!A.current||!n||!e||e.length===0)return;const o=setTimeout(()=>{if(!A.current)return;const s=A.current.querySelector("svg");if(!s)return;s.querySelectorAll(".schematic-group-overlay").forEach(a=>a.remove());try{const a=Mp(e).source_group?.list().filter(u=>!u.is_subcircuit)||[],g=Mp(e).schematic_component?.list()||[],I=new Map;a.forEach(u=>{const d=u;if(d.parent_source_group_id){const f=I.get(d.parent_source_group_id)||[];f.push(u.source_group_id),I.set(d.parent_source_group_id,f)}});const c=u=>{const d=[],f=I.get(u)||[];for(const w of f)d.push(w),d.push(...c(w));return d},B=u=>{const d=a.find(f=>f.source_group_id===u);return d?.parent_source_group_id?1+B(d.parent_source_group_id):0},l=a.length>0&&a.some(u=>u.name&&u.name.trim()!=="");let C=[];if(l){const u=new Map;for(const d of g){const f=Mp(e).source_component.get(d.source_component_id);f?.source_group_id&&(u.has(f.source_group_id)||u.set(f.source_group_id,[]),u.get(f.source_group_id).push(d))}a.forEach((d,f)=>{let w=u.get(d.source_group_id)||[];const S=c(d.source_group_id);for(const D of S){const x=u.get(D)||[];w=[...w,...x]}if(w.length>0){const D=B(d.source_group_id),x=c(d.source_group_id).length>0;if(d.name?.startsWith("unnamed_board"))return;C.push({id:d.source_group_id,name:d.name||`Group ${f+1}`,components:w,color:FAe[f%FAe.length],depthLevel:D,hasChildren:x,sourceGroupId:d.source_group_id})}})}const Q=s.viewBox.baseVal,E=s.getBoundingClientRect(),h=Math.min(E.width/Q.width,E.height/Q.height)||1;C.sort((u,d)=>u.depthLevel-d.depthLevel),C.forEach(u=>{if(u.components.length===0)return;const d=x1t(u.components,s);if(!d)return;const f=Math.max(8,Math.min(25,15/Math.max(h,.3))),w=u.hasChildren?f*.6:0,S=f+w,D=Math.max(1,2/Math.max(h,.5)),x=u.depthLevel===0?D:D*.7,F=Math.max(4,8/Math.max(h,.5)),k=u.hasChildren?1.3:1,v=F*k,_=v*.5,L=document.createElementNS("http://www.w3.org/2000/svg","rect");L.setAttribute("class","schematic-group-overlay"),L.setAttribute("x",(d.minX-S).toString()),L.setAttribute("y",(d.minY-S).toString()),L.setAttribute("width",(d.maxX-d.minX+S*2).toString()),L.setAttribute("height",(d.maxY-d.minY+S*2).toString()),L.setAttribute("fill","none"),L.setAttribute("stroke",u.color),L.setAttribute("stroke-width",x.toString()),L.setAttribute("stroke-dasharray",`${v},${_}`),L.setAttribute("opacity","0.8"),L.setAttribute("rx","0"),L.setAttribute("ry","0");const K=Math.max(6,Math.min(20,14/Math.max(h,.2))),J=u.depthLevel===0||u.depthLevel===1?0:u.depthLevel*.2,W=K*(1-J),Z=Math.max(1,W*.2),AA=u.name,nA=document.createElementNS("http://www.w3.org/2000/svg","text");nA.setAttribute("font-size",W.toString()),nA.setAttribute("font-family","Arial, sans-serif"),nA.textContent=AA,s.appendChild(nA);const cA=nA.getBBox();s.removeChild(nA);const tA=cA.width+Z*2,oA=W+Z*2,rA=d.minX-S,CA=d.minY-S-oA,dA=document.createElementNS("http://www.w3.org/2000/svg","rect");dA.setAttribute("class","schematic-group-overlay"),dA.setAttribute("x",rA.toString()),dA.setAttribute("y",(CA-oA).toString()),dA.setAttribute("width",tA.toString()),dA.setAttribute("height",oA.toString()),dA.setAttribute("fill","transparent"),dA.setAttribute("rx","0"),dA.setAttribute("ry","0");const bA=document.createElementNS("http://www.w3.org/2000/svg","text");bA.setAttribute("class","schematic-group-overlay"),bA.setAttribute("x",(rA+Z).toString()),bA.setAttribute("y",(CA+oA-Z).toString()),bA.setAttribute("fill",u.color),bA.setAttribute("font-size",W.toString()),bA.setAttribute("font-family","Arial, sans-serif"),bA.setAttribute("font-weight",u.depthLevel===0?"600":"500"),bA.setAttribute("stroke",u.color),bA.setAttribute("stroke-width",Math.max(.2,W*.02).toString()),bA.textContent=AA,s.appendChild(L),s.appendChild(dA),s.appendChild(bA)})}catch(a){console.error("Error creating group overlays:",a)}},10);return()=>clearTimeout(o)},[A,i,n])};function x1t(t,A){let e=1/0,i=1/0,n=-1/0,o=-1/0;for(const r of t){let a=A.querySelector(`g[data-schematic-component-id="${r.schematic_component_id}"]`);if(a||(a=A.querySelector(`[data-schematic-component-id="${r.schematic_component_id}"]`)),a){const g=a.getBBox();e=Math.min(e,g.x),i=Math.min(i,g.y),n=Math.max(n,g.x+g.width),o=Math.max(o,g.y+g.height)}}return e===1/0?null:{minX:e,minY:i,maxX:n,maxY:o}}var k1t=ra("schematic-viewer"),G1t=()=>{ra.enable("schematic-viewer*")},F1t=k1t,RAe=t=>{const[A,e]=j.useState(0),[i,n]=j.useState(0);return j.useEffect(()=>{if(!t.current)return;const o=()=>{const r=t.current?.getBoundingClientRect();e(r?.width||0),n(r?.height||0)};o();const s=new ResizeObserver(o);return s.observe(t.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:A,containerHeight:i}},R1t=F1t.extend("useComponentDragging"),N1t=({onEditEvent:t,editEvents:A=[],circuitJson:e,cancelDrag:i,svgToScreenProjection:n,realToSvgProjection:o,enabled:s=!1,snapToGrid:r=!1})=>{const[a,g]=j.useState(null),I=Ji(o,n),c=j.useRef(null),B=j.useRef(null),l=j.useRef(new Map);j.useEffect(()=>{A.forEach(D=>{"edit_event_type"in D&&D.edit_event_type==="edit_schematic_component_location"&&!D.in_progress&&l.current.set(D.schematic_component_id,{...D.new_center})})},[A]);const C=j.useCallback((D,x,F)=>{if(!s)return!1;const k=F.closest('[data-circuit-json-type="schematic_component"]');if(!k)return!1;const v=k.getAttribute("data-schematic-component-id");if(!v)return!1;i&&i();const _=Mp(e).schematic_component.get(v);if(!_)return!1;c.current={x:D,y:x};let L;const K=l.current.get(v);if(K)L={...K};else{const W=GAe({editEvents:A,schematic_component_id:v});L={x:_.center.x+W.x,y:_.center.y+W.y},l.current.set(v,{...L})}const J={edit_event_id:Math.random().toString(36).substr(2,9),edit_event_type:"edit_schematic_component_location",schematic_component_id:v,original_center:L,new_center:{...L},in_progress:!0,created_at:Date.now(),_element:k};return B.current=J,g(J),!0},[i,s,e,A]),Q=j.useCallback(D=>{C(D.clientX,D.clientY,D.target)},[C]),E=j.useCallback(D=>{if(D.touches.length!==1)return;const x=D.touches[0];C(x.clientX,x.clientY,D.target)&&D.preventDefault()},[C]),h=j.useCallback((D,x)=>{if(!B.current||!c.current)return;const F={x:D-c.current.x,y:x-c.current.y},k={x:F.x/I.a,y:F.y/I.d};let v={x:B.current.original_center.x+k.x,y:B.current.original_center.y+k.y};if(r){const L=K=>Math.round(K*10)/10;v={x:L(v.x),y:L(v.y)}}const _={...B.current,new_center:v};B.current=_,g(_)},[I,r]),u=j.useCallback(D=>h(D.clientX,D.clientY),[h]),d=j.useCallback(D=>{if(D.touches.length!==1||!B.current)return;D.preventDefault();const x=D.touches[0];h(x.clientX,x.clientY)},[h]),f=j.useCallback(()=>{if(!B.current)return;const D={...B.current,in_progress:!1};l.current.set(D.schematic_component_id,{...D.new_center}),R1t("endDrag calling onEditEvent with new edit event",{newEditEvent:D}),t&&t(D),B.current=null,c.current=null,g(null)},[t]),w=j.useCallback(()=>f(),[f]),S=j.useCallback(()=>f(),[f]);return j.useEffect(()=>(window.addEventListener("mousemove",u),window.addEventListener("mouseup",w),window.addEventListener("touchmove",d,{passive:!1}),window.addEventListener("touchend",S),()=>{window.removeEventListener("mousemove",u),window.removeEventListener("mouseup",w),window.removeEventListener("touchmove",d),window.removeEventListener("touchend",S)}),[u,w,d,S]),{handleMouseDown:Q,handleTouchStart:E,isDragging:!!B.current,activeEditEvent:a}},Zx={schematicEditIcon:50,schematicGridIcon:49,spiceSimulationIcon:50,viewMenuIcon:48,viewMenu:55,viewMenuBackdrop:54,clickToInteractOverlay:100,schematicComponentHoverOutline:47},_1t=({onClick:t,active:A})=>{const e=i=>{i.preventDefault(),t()};return O.jsx("div",{onClick:e,onTouchEnd:e,title:A?"Disable edit mode":"Enable edit mode",style:{position:"absolute",top:"16px",right:"64px",backgroundColor:A?"#4CAF50":"#fff",color:A?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:Zx.schematicEditIcon},children:O.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[O.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),O.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})})},M1t=({onClick:t,active:A})=>{const e=i=>{i.preventDefault(),t()};return O.jsx("div",{onClick:e,onTouchEnd:e,title:A?"Hide grid":"Show grid",style:{position:"absolute",top:"56px",right:"64px",backgroundColor:A?"#4CAF50":"#fff",color:A?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:Zx.schematicGridIcon},children:O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:O.jsx("path",{d:"M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h7v7h-7z"})})})},v1t=({onClick:t,active:A})=>{const e=i=>{i.preventDefault(),t()};return O.jsx("div",{onClick:e,onTouchEnd:e,title:A?"Hide view menu":"Show view menu",style:{position:"absolute",top:"16px",right:"16px",backgroundColor:A?"#4CAF50":"#fff",color:A?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:Zx.viewMenuIcon},children:O.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[O.jsx("circle",{cx:"12",cy:"12",r:"1"}),O.jsx("circle",{cx:"12",cy:"5",r:"1"}),O.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})},U1t={version:"2.0.51"},L1t=({circuitJson:t,circuitJsonKey:A,isVisible:e,onClose:i,showGroups:n,onToggleGroups:o})=>{const s=j.useMemo(()=>{if(!t||t.length===0)return!1;try{if((Mp(t).source_group?.list()||[]).length>0)return!0;const a=Mp(t).schematic_component?.list()||[];if(a.length>1){const g=new Set;for(const I of a){const c=Mp(t).source_component.get(I.source_component_id);c?.ftype&&g.add(c.ftype)}return g.size>1}return!1}catch(r){return console.error("Error checking for groups:",r),!1}},[A]);return e?O.jsxs(O.Fragment,{children:[O.jsx("div",{onClick:i,onTouchEnd:r=>{r.preventDefault(),i()},style:{position:"absolute",inset:0,backgroundColor:"transparent",zIndex:Zx.viewMenuBackdrop}}),O.jsxs("div",{style:{position:"absolute",top:"56px",right:"16px",backgroundColor:"#ffffff",color:"#000000",border:"1px solid #ccc",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",minWidth:"200px",zIndex:Zx.viewMenu},children:[O.jsxs("div",{onClick:()=>{s&&o(!n)},onTouchEnd:r=>{r.preventDefault(),s&&o(!n)},style:{padding:"8px 12px",cursor:s?"pointer":"not-allowed",opacity:s?1:.5,fontSize:"13px",color:"#000000",fontFamily:"sans-serif",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:r=>{s&&(r.currentTarget.style.backgroundColor="#f0f0f0")},onMouseLeave:r=>{s&&(r.currentTarget.style.backgroundColor="transparent")},children:[O.jsx("div",{style:{width:"16px",height:"16px",border:"2px solid #000",borderRadius:"2px",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px",fontWeight:"bold"},children:n&&"✓"}),"View Schematic Groups"]}),!s&&O.jsx("div",{style:{padding:"8px 12px",fontSize:"11px",color:"#666",fontStyle:"italic"},children:"No groups found in this schematic"}),O.jsxs("div",{style:{padding:"4px 8px",fontSize:"12px",color:"#999",borderTop:"1px solid #eee",textAlign:"center"},children:["v",String(U1t?.version)]})]})]}):null},H1t=()=>O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:O.jsx("path",{d:"M3 12h2.5l2.5-9 4 18 4-9h5.5"})}),Y1t=({onClick:t})=>O.jsx("div",{onClick:t,title:"Run SPICE simulation",style:{position:"absolute",top:"16px",right:"112px",backgroundColor:"#fff",color:"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:Zx.spiceSimulationIcon},children:O.jsx(H1t,{})});CW.register(B1t,Q1t,Ovt,Pvt,A1t,a1t,Xvt);var uW=["#8884d8","#82ca9d","#ffc658","#ff7300","#387908"],NAe=t=>{if(t===0)return"0s";const A=Math.abs(t);let e="s",i=1;return A<1e-12?(e="fs",i=1e15):A<1e-9?(e="ps",i=1e12):A<1e-6?(e="ns",i=1e9):A<.001?(e="us",i=1e6):A<1&&(e="ms",i=1e3),`${parseFloat((t*i).toPrecision(3))}${e}`},J1t=({plotData:t,nodes:A,isLoading:e,error:i,hasRun:n})=>{const o=j.useMemo(()=>{const a=A.some(I=>I.toLowerCase().startsWith("v(")),g=A.some(I=>I.toLowerCase().startsWith("i("));return a&&g?"Value":a?"Voltage (V)":g?"Current (A)":"Value"},[A]);if(e)return O.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"Running simulation..."});if(!n)return O.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:'Click "Run" to start the simulation.'});if(i)return O.jsxs("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"red"},children:["Error: ",i]});if(t.length===0)return O.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"No data to plot. Check simulation output or SPICE netlist."});const s={datasets:A.map((a,g)=>({label:a,data:t.map(I=>({x:Number(I.name),y:I[a]})),borderColor:uW[g%uW.length],backgroundColor:uW[g%uW.length],fill:!1,tension:.1}))},r={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"top",labels:{font:{family:"sans-serif"}}},title:{display:!1},tooltip:{callbacks:{title:a=>{if(a.length>0){const g=a[0];return NAe(g.parsed.x)}return""}}}},scales:{x:{type:"linear",title:{display:!0,text:"Time",font:{family:"sans-serif"}},ticks:{callback:a=>NAe(a),font:{family:"sans-serif"}}},y:{title:{display:!0,text:o,font:{family:"sans-serif"}},ticks:{font:{family:"sans-serif"}}}}};return O.jsx("div",{style:{position:"relative",height:"300px",width:"100%"},children:O.jsx(w1t,{options:r,data:s})})},T1t=({spiceString:t,onClose:A,plotData:e,nodes:i,isLoading:n,error:o,simOptions:s,onSimOptionsChange:r,hasRun:a})=>{const[g,I]=j.useState(String(s.startTime)),[c,B]=j.useState(String(s.duration));j.useEffect(()=>{I(String(s.startTime)),B(String(s.duration))},[s.startTime,s.duration]);const l=()=>{r({...s,startTime:Number(g),duration:Number(c)})},C=i.filter(Q=>{const E=Q.toLowerCase().startsWith("v("),h=Q.toLowerCase().startsWith("i(");return!!(s.showVoltage&&E||s.showCurrent&&h)});return O.jsx("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1002,fontFamily:"sans-serif"},children:O.jsxs("div",{style:{backgroundColor:"white",padding:"24px",borderRadius:"12px",width:"90%",maxWidth:"900px",boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)"},children:[O.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"24px",borderBottom:"1px solid #eee",paddingBottom:"16px"},children:[O.jsx("h2",{style:{margin:0,fontSize:"22px",fontWeight:600,color:"#333"},children:"SPICE Simulation"}),O.jsx("button",{onClick:A,style:{background:"none",border:"none",fontSize:"28px",cursor:"pointer",color:"#888",padding:0,lineHeight:1},children:"×"})]}),O.jsx("div",{children:O.jsx(J1t,{plotData:e,nodes:C,isLoading:n,error:o,hasRun:a})}),O.jsxs("div",{style:{marginTop:"16px",padding:"12px",backgroundColor:"#f7f7f7",borderRadius:"6px",display:"flex",flexWrap:"wrap",gap:"24px",alignItems:"center",fontSize:"14px"},children:[O.jsxs("div",{style:{display:"flex",gap:"16px"},children:[O.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[O.jsx("input",{type:"checkbox",checked:s.showVoltage,onChange:Q=>r({...s,showVoltage:Q.target.checked})}),"Voltage"]}),O.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[O.jsx("input",{type:"checkbox",checked:s.showCurrent,onChange:Q=>r({...s,showCurrent:Q.target.checked})}),"Current"]})]}),O.jsxs("div",{style:{display:"flex",gap:"16px",alignItems:"center"},children:[O.jsx("label",{htmlFor:"startTime",children:"Start Time (ms):"}),O.jsx("input",{id:"startTime",type:"number",value:g,onChange:Q=>I(Q.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),O.jsx("label",{htmlFor:"duration",children:"Duration (ms):"}),O.jsx("input",{id:"duration",type:"number",value:c,onChange:Q=>B(Q.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),O.jsx("button",{onClick:l,style:{padding:"4px 12px",borderRadius:"4px",border:"1px solid #ccc",backgroundColor:"#f0f0f0",cursor:"pointer"},children:a?"Rerun":"Run"})]})]}),O.jsxs("div",{style:{marginTop:"24px"},children:[O.jsx("h3",{style:{marginTop:0,marginBottom:"12px",fontSize:"18px",fontWeight:600,color:"#333"},children:"SPICE Netlist"}),O.jsx("pre",{style:{backgroundColor:"#fafafa",padding:"16px",borderRadius:"6px",maxHeight:"150px",overflowY:"auto",border:"1px solid #eee",color:"#333",fontSize:"13px",fontFamily:"monospace"},children:t})]})]})})},K1t="dmFyIGU9bnVsbCxzPWFzeW5jKCk9Pihhd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vZWVjaXJjdWl0LWVuZ2luZUAxLjUuMi8rZXNtIikpLlNpbXVsYXRpb24sYz1hc3luYygpPT57aWYoZSYmZS5pc0luaXRpYWxpemVkKCkpcmV0dXJuO2xldCBpPWF3YWl0IHMoKTtlPW5ldyBpLGF3YWl0IGUuc3RhcnQoKX07c2VsZi5vbm1lc3NhZ2U9YXN5bmMgaT0+e3RyeXtpZihhd2FpdCBjKCksIWUpdGhyb3cgbmV3IEVycm9yKCJTaW11bGF0aW9uIG5vdCBpbml0aWFsaXplZCIpO2xldCB0PWkuZGF0YS5zcGljZVN0cmluZyxhPXQubWF0Y2goL3dyZGF0YVxzKyhcUyspXHMrKC4qKS9pKTtpZihhKXtsZXQgbz1gLnByb2JlICR7YVsyXS50cmltKCkuc3BsaXQoL1xzKy8pLmpvaW4oIiAiKX1gO3Q9dC5yZXBsYWNlKC93cmRhdGEuKi9pLG8pfWVsc2UgaWYoIXQubWF0Y2goL1wucHJvYmUvaSkpdGhyb3cgdC5tYXRjaCgvcGxvdFxzKyguKikvaSk/bmV3IEVycm9yKCJUaGUgJ3Bsb3QnIGNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCBmb3IgZGF0YSBleHRyYWN0aW9uLiBQbGVhc2UgdXNlICd3cmRhdGEgPGZpbGVuYW1lPiA8dmFyMT4gLi4uJyBvciAnLnByb2JlIDx2YXIxPiAuLi4nIGluc3RlYWQuIik6bmV3IEVycm9yKCJObyAnLnByb2JlJyBvciAnd3JkYXRhJyBjb21tYW5kIGZvdW5kIGluIFNQSUNFIGZpbGUuIFVzZSAnd3JkYXRhIDxmaWxlbmFtZT4gPHZhcjE+IC4uLicgdG8gc3BlY2lmeSBvdXRwdXQuIik7ZS5zZXROZXRMaXN0KHQpO2xldCBuPWF3YWl0IGUucnVuU2ltKCk7c2VsZi5wb3N0TWVzc2FnZSh7dHlwZToicmVzdWx0IixyZXN1bHQ6bn0pfWNhdGNoKHQpe3NlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6ImVycm9yIixlcnJvcjp0Lm1lc3NhZ2V9KX19Owo=",dW=null,q1t=()=>{if(typeof window>"u")return null;if(dW)return dW;try{const t=new Blob([atob(K1t)],{type:"application/javascript"});return dW=URL.createObjectURL(t),dW}catch(t){return console.error("Failed to create blob URL for worker",t),null}},P1t=t=>{const A={};if(t.dataType==="real")t.data.forEach(r=>{A[r.name]=r.values});else if(t.dataType==="complex")t.data.forEach(r=>{A[r.name]=r.values.map(a=>a.real)});else throw new Error("Unsupported data type in simulation result");const e=Object.keys(A).find(r=>r.toLowerCase()==="time"||r.toLowerCase()==="frequency");if(!e)throw new Error("No time or frequency data in simulation result");const i=A[e],n=Object.keys(A).filter(r=>r!==e),o=n;return{plotData:i.map((r,a)=>{const g={name:r.toExponential(2)};return n.forEach(I=>{g[I]=A[I][a]}),g}),nodes:o}},O1t=t=>{const[A,e]=j.useState([]),[i,n]=j.useState([]),[o,s]=j.useState(!0),[r,a]=j.useState(null);return j.useEffect(()=>{if(!t){s(!1),e([]),n([]),a(null);return}s(!0),a(null),e([]),n([]);const g=q1t();if(!g){a("Could not create SPICE simulation worker."),s(!1);return}const I=new Worker(g,{type:"module"});return I.onmessage=c=>{if(c.data.type==="result")try{const{plotData:B,nodes:l}=P1t(c.data.result);e(B),n(l)}catch(B){a(B.message||"Failed to parse simulation result"),console.error(B)}else c.data.type==="error"&&a(c.data.error);s(!1)},I.onerror=c=>{a(c.message),s(!1)},I.postMessage({spiceString:t}),()=>{I.terminate()}},[t]),{plotData:A,nodes:i,isLoading:o,error:r}},GEA=t=>{if(t===0)return"0";const A=Math.abs(t),e=i=>i.toPrecision(4);return A>=1?e(t):A>=.001?`${e(t*1e3)}m`:A>=1e-6?`${e(t*1e6)}u`:A>=1e-9?`${e(t*1e9)}n`:A>=1e-12?`${e(t*1e12)}p`:A>=1e-15?`${e(t*1e15)}f`:t.toExponential(3)},W1t=(t,A)=>{const i=fMA(t).toSpiceString(),o=i.split(`
5301
5301
  `).filter(k=>k.trim()!=="").filter(k=>!k.startsWith("*")&&!k.startsWith(".")&&k.trim()!==""),s=new Set,r=new Set,a=new Set;for(const k of o){const v=k.trim().split(/\s+/);if(v.length<3)continue;const _=v[0],L=_[0].toUpperCase();let K=[];if(["R","C","L","V","I","D"].includes(L))K=v.slice(1,3),L==="V"&&a.add(_);else if(L==="Q"&&v.length>=4)K=v.slice(1,4);else if(L==="M"&&v.length>=5)K=v.slice(1,5);else if(L==="X")K=v.slice(1,-1);else continue;K.forEach(J=>s.add(J)),L==="C"&&K.forEach(J=>r.add(J))}s.delete("0"),r.delete("0");const g=Array.from(r).map(k=>`.ic V(${k})=0`),I=[],c=Array.from(s).map(k=>`V(${k})`);I.push(...c);const B=Array.from(a).map(k=>`I(${k})`);I.push(...B);const l=I.length>0?`.probe ${I.join(" ")}`:"",C=A?.startTime??0,Q=A?.duration??20,E=C*.001,h=Q*.001,u=E+h,d=h/50,f=`.tran ${GEA(d)} ${GEA(u)} ${GEA(E)} UIC`,w=".end",S=i.split(`
5302
5302
  `);let D=-1;for(let k=S.length-1;k>=0;k--)if(S[k].trim().toLowerCase().startsWith(w)){D=k;break}const x=[...g,l,f].filter(Boolean);let F;if(D!==-1){const k=S.slice(0,D),v=S.slice(D);F=[...k,...x,...v]}else F=[...S,...x,w];return F.join(`
5303
5303
  `)},Z1t=(t,A)=>{if(typeof window>"u")return A;try{const e=localStorage.getItem(t);return e!==null?JSON.parse(e):A}catch{return A}},V1t=(t,A)=>{if(!(typeof window>"u"))try{localStorage.setItem(t,JSON.stringify(A))}catch{}},FEA=j.createContext(null),j1t=5,z1t=(t,A)=>!t&&!A?!0:!t||!A?!1:t.minX===A.minX&&t.maxX===A.maxX&&t.minY===A.minY&&t.maxY===A.maxY,X1t=({children:t})=>{if(j.useContext(FEA))return O.jsx(O.Fragment,{children:t});const e=j.useRef({pointer:null,boundingBoxes:new Map,hoveringIds:new Set,subscribers:new Set,mouseDownPosition:null}),i=j.useCallback(()=>{for(const c of e.current.subscribers)c()},[]),n=j.useCallback(()=>{const c=e.current.pointer,B=new Set;if(c)for(const[C,Q]of e.current.boundingBoxes){const E=Q.bounds;E&&c.x>=E.minX&&c.x<=E.maxX&&c.y>=E.minY&&c.y<=E.maxY&&B.add(C)}const l=e.current.hoveringIds;B.size===l.size&&[...B].every(C=>l.has(C))||(e.current.hoveringIds=B,i())},[i]),o=j.useCallback((c,B)=>{e.current.boundingBoxes.set(c,B),n()},[n]),s=j.useCallback((c,B)=>{const l=e.current.boundingBoxes.get(c);l&&z1t(l.bounds,B.bounds)&&l.onClick===B.onClick||(e.current.boundingBoxes.set(c,B),n())},[n]),r=j.useCallback(c=>{e.current.boundingBoxes.delete(c)&&n()},[n]),a=j.useCallback(c=>(e.current.subscribers.add(c),()=>{e.current.subscribers.delete(c)}),[]),g=j.useCallback(c=>e.current.hoveringIds.has(c),[]);j.useEffect(()=>{const c=Q=>{const{clientX:E,clientY:h}=Q,u=e.current.pointer;u&&u.x===E&&u.y===h||(e.current.pointer={x:E,y:h},n())},B=()=>{e.current.pointer!==null&&(e.current.pointer=null,e.current.mouseDownPosition=null,n())},l=Q=>{e.current.mouseDownPosition={x:Q.clientX,y:Q.clientY}},C=Q=>{const{clientX:E,clientY:h}=Q,u=e.current.mouseDownPosition;if(u&&Math.sqrt(Math.pow(E-u.x,2)+Math.pow(h-u.y,2))>j1t){e.current.mouseDownPosition=null;return}e.current.mouseDownPosition=null;for(const d of e.current.boundingBoxes.values()){const f=d.bounds;f&&E>=f.minX&&E<=f.maxX&&h>=f.minY&&h<=f.maxY&&d.onClick?.(Q)}};return window.addEventListener("pointermove",c,{passive:!0}),window.addEventListener("pointerdown",c,{passive:!0}),window.addEventListener("pointerup",c,{passive:!0}),window.addEventListener("pointerleave",B),window.addEventListener("pointercancel",B),window.addEventListener("blur",B),window.addEventListener("mousedown",l,{passive:!0}),window.addEventListener("click",C,{passive:!0}),()=>{window.removeEventListener("pointermove",c),window.removeEventListener("pointerdown",c),window.removeEventListener("pointerup",c),window.removeEventListener("pointerleave",B),window.removeEventListener("pointercancel",B),window.removeEventListener("blur",B),window.removeEventListener("mousedown",l),window.removeEventListener("click",C)}},[n]);const I=j.useMemo(()=>({registerBoundingBox:o,updateBoundingBox:s,unregisterBoundingBox:r,subscribe:a,isHovering:g}),[o,s,r,a,g]);return O.jsx(FEA.Provider,{value:I,children:t})},$1t=t=>{const A=j.useContext(FEA);if(!A)throw new Error("useMouseEventsOverBoundingBox must be used within a MouseTracker");const e=j.useId(),i=j.useRef(t);i.current=t;const n=j.useMemo(()=>s=>{i.current.onClick?.(s)},[]);return j.useEffect(()=>(A.registerBoundingBox(e,{bounds:i.current.bounds,onClick:i.current.onClick?n:void 0}),()=>{A.unregisterBoundingBox(e)}),[A,n,e]),j.useEffect(()=>{A.updateBoundingBox(e,{bounds:i.current.bounds,onClick:i.current.onClick?n:void 0})},[A,n,e,t.bounds?.minX,t.bounds?.maxX,t.bounds?.minY,t.bounds?.maxY,t.onClick]),{hovering:j.useSyncExternalStore(A.subscribe,()=>A.isHovering(e),()=>!1)}},A2t=(t,A)=>!t&&!A?!0:!t||!A?!1:Math.abs(t.bounds.minX-A.bounds.minX)<.5&&Math.abs(t.bounds.maxX-A.bounds.maxX)<.5&&Math.abs(t.bounds.minY-A.bounds.minY)<.5&&Math.abs(t.bounds.maxY-A.bounds.maxY)<.5&&Math.abs(t.rect.left-A.rect.left)<.5&&Math.abs(t.rect.top-A.rect.top)<.5&&Math.abs(t.rect.width-A.rect.width)<.5&&Math.abs(t.rect.height-A.rect.height)<.5,e2t=({componentId:t,svgDivRef:A,containerRef:e,onComponentClick:i,onHoverChange:n,showOutline:o,circuitJsonKey:s})=>{const[r,a]=j.useState(null),g=j.useRef(null),I=j.useCallback(()=>{g.current=null;const E=A.current,h=e.current;if(!E||!h){a(S=>S&&null);return}const u=E.querySelector(`[data-schematic-component-id="${t}"]`);if(!u){a(S=>S&&null);return}const d=u.getBoundingClientRect(),f=h.getBoundingClientRect(),w={bounds:{minX:d.left,maxX:d.right,minY:d.top,maxY:d.bottom},rect:{left:d.left-f.left,top:d.top-f.top,width:d.width,height:d.height}};a(S=>A2t(S,w)?S:w)},[t,e,A]),c=j.useCallback(()=>{g.current===null&&(g.current=window.requestAnimationFrame(I))},[I]);j.useEffect(()=>{c()},[c,s]),j.useEffect(()=>{c();const E=A.current,h=e.current;if(!E||!h)return;const u=typeof ResizeObserver<"u"?new ResizeObserver(()=>{c()}):null;u?.observe(h),u?.observe(E);const d=typeof MutationObserver<"u"?new MutationObserver(()=>{c()}):null;return d?.observe(E,{attributes:!0,attributeFilter:["style","transform"],subtree:!0,childList:!0}),window.addEventListener("scroll",c,!0),window.addEventListener("resize",c),()=>{u?.disconnect(),d?.disconnect(),window.removeEventListener("scroll",c,!0),window.removeEventListener("resize",c),g.current!==null&&(cancelAnimationFrame(g.current),g.current=null)}},[c,A,e]);const B=j.useCallback(E=>{i&&i(t,E)},[t,i]),l=r?.bounds??null,{hovering:C}=$1t({bounds:l,onClick:i?B:void 0});if(j.useEffect(()=>{n&&n(t,C)},[C,t,n]),!r||!C||!o)return null;const Q=r.rect;return O.jsx("div",{style:{position:"absolute",left:Q.left,top:Q.top,width:Q.width,height:Q.height,border:"1.5px solid rgba(51, 153, 255, 0.9)",pointerEvents:"none",zIndex:Zx.schematicComponentHoverOutline}})},t2t=({circuitJson:t,containerStyle:A,editEvents:e=[],onEditEvent:i,defaultEditMode:n=!1,debugGrid:o=!1,editingEnabled:s=!1,debug:r=!1,clickToInteractEnabled:a=!1,colorOverrides:g,spiceSimulationEnabled:I=!1,disableGroups:c=!1,onSchematicComponentClicked:B})=>{r&&G1t();const[l,C]=j.useState(!1),[Q,E]=j.useState({showVoltage:!0,showCurrent:!1,startTime:0,duration:20}),h=lA=>`${lA?.length||0}_${lA?.editCount||0}`,u=j.useMemo(()=>h(t),[t]),d=j.useMemo(()=>{if(!I)return null;try{return W1t(t,Q)}catch(lA){return console.error("Failed to generate SPICE string",lA),null}},[u,I,Q.startTime,Q.duration]),[f,w]=j.useState(!1);j.useEffect(()=>{w(!1)},[u]);const{plotData:S,nodes:D,isLoading:x,error:F}=O1t(f?d:null),[k,v]=j.useState(n),[_,L]=j.useState(!0),[K,J]=j.useState(!a),[W,Z]=j.useState(!1),[AA,nA]=j.useState(()=>c?!1:Z1t("schematic_viewer_show_groups",!1)),[cA,tA]=j.useState(!1),oA=j.useRef(new Set),rA=j.useCallback((lA,QA)=>{QA?oA.current.add(lA):oA.current.delete(lA),tA(oA.current.size>0)},[]),CA=j.useRef(null),dA=j.useRef(null),bA=j.useMemo(()=>{try{return Mp(t).schematic_component?.list()?.map(lA=>lA.schematic_component_id)??[]}catch(lA){return console.error("Failed to derive schematic component ids",lA),[]}},[u,t]),kA=lA=>{const QA=lA.touches[0];dA.current={x:QA.clientX,y:QA.clientY}},JA=lA=>{const QA=lA.changedTouches[0],YA=dA.current;if(!YA)return;const oe=Math.abs(QA.clientX-YA.x),he=Math.abs(QA.clientY-YA.y);oe<10&&he<10&&(lA.preventDefault(),J(!0)),dA.current=null},[gA,yA]=j.useState([]),EA=j.useRef(t);j.useEffect(()=>{const lA=h(t),QA=h(EA.current);lA!==QA&&(yA([]),EA.current=t)},[t]);const{ref:TA,cancelDrag:te,transform:ce}=VL({onSetTransform(lA){CA.current&&(CA.current.style.transform=eh(lA))},enabled:K&&!l}),{containerWidth:mA,containerHeight:qA}=RAe(TA),LA=j.useMemo(()=>!mA||!qA?"":q8(t,{width:mA,height:qA||720,grid:o?{cellSize:1,labelCells:!0}:void 0,colorOverrides:g}),[u,mA,qA]),HA=j.useMemo(()=>LA.match(/<svg[^>]*style="[^"]*background-color:\s*([^;\"]+)/i)?.[1]??"transparent",[LA]),WA=j.useMemo(()=>{if(!LA)return Bg();const lA=LA.match(/data-real-to-screen-transform="([^"]+)"/)?.[1];try{return ET(lA)}catch(QA){return console.error(QA),Bg()}},[LA]),RA=lA=>{yA(QA=>[...QA,lA]),i&&i(lA)},SA=j.useMemo(()=>[...e,...gA],[e,gA]),{handleMouseDown:vA,handleTouchStart:GA,isDragging:KA,activeEditEvent:PA}=N1t({onEditEvent:RA,cancelDrag:te,realToSvgProjection:WA,svgToScreenProjection:ce,circuitJson:t,editEvents:SA,enabled:k&&K&&!l,snapToGrid:_});D1t({svgDivRef:CA,editEvents:SA,realToSvgProjection:WA,svgToScreenProjection:ce,activeEditEvent:PA}),S1t({svgDivRef:CA,circuitJson:t,activeEditEvent:PA,editEvents:SA}),b1t({svgDivRef:CA,circuitJson:t,circuitJsonKey:u,showGroups:AA&&!c});const ie=j.useRef(GA);j.useEffect(()=>{ie.current=GA},[GA]);const DA=j.useMemo(()=>O.jsx("div",{ref:CA,style:{pointerEvents:a?K?"auto":"none":"auto",transformOrigin:"0 0"},className:B?"schematic-component-clickable":void 0,onTouchStart:lA=>{k&&K&&!l&&ie.current(lA)},dangerouslySetInnerHTML:{__html:LA}}),[LA,K,a,k,l]);return O.jsxs(X1t,{children:[B&&O.jsx("style",{children:".schematic-component-clickable [data-schematic-component-id]:hover { cursor: pointer !important; }"}),O.jsxs("div",{ref:TA,style:{position:"relative",backgroundColor:HA,overflow:"hidden",cursor:l?"auto":KA?"grabbing":a&&!K||cA&&B?"pointer":"grab",minHeight:"300px",...A},onWheelCapture:lA=>{l&&lA.stopPropagation()},onMouseDown:lA=>{if(a&&!K){lA.preventDefault(),lA.stopPropagation();return}vA(lA)},onMouseDownCapture:lA=>{if(a&&!K){lA.preventDefault(),lA.stopPropagation();return}},onTouchStart:lA=>{l||kA(lA)},onTouchEnd:lA=>{l||JA(lA)},children:[!K&&a&&O.jsx("div",{onClick:lA=>{lA.preventDefault(),lA.stopPropagation(),J(!0)},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:Zx.clickToInteractOverlay,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"all",touchAction:"pan-x pan-y pinch-zoom"},children:O.jsx("div",{style:{backgroundColor:"rgba(0, 0, 0, 0.8)",color:"white",padding:"12px 24px",borderRadius:"8px",fontSize:"16px",fontFamily:"sans-serif",pointerEvents:"none"},children:typeof window<"u"&&("ontouchstart"in window||navigator.maxTouchPoints>0)?"Touch to Interact":"Click to Interact"})}),O.jsx(v1t,{active:W,onClick:()=>Z(!W)}),s&&O.jsx(_1t,{active:k,onClick:()=>v(!k)}),s&&k&&O.jsx(M1t,{active:_,onClick:()=>L(!_)}),O.jsx(L1t,{circuitJson:t,circuitJsonKey:u,isVisible:W,onClose:()=>Z(!1),showGroups:AA,onToggleGroups:lA=>{c||(nA(lA),V1t("schematic_viewer_show_groups",lA))}}),I&&O.jsx(Y1t,{onClick:()=>C(!0)}),l&&O.jsx(T1t,{spiceString:d,onClose:()=>C(!1),plotData:S,nodes:D,isLoading:x,error:F,simOptions:Q,onSimOptionsChange:lA=>{w(!0),E(lA)},hasRun:f}),B&&bA.map(lA=>O.jsx(e2t,{componentId:lA,svgDivRef:CA,containerRef:TA,showOutline:!0,circuitJsonKey:u,onHoverChange:rA,onComponentClick:(QA,YA)=>{B?.({schematicComponentId:QA,event:YA})}},lA)),DA]})]})},i2t=({circuitJson:t,containerStyle:A,colorOverrides:e,width:i,height:n,className:o})=>{const[s,r]=j.useState(null),[a,g]=j.useState(!0),[I,c]=j.useState(null),[B,l]=j.useState(null),C=j.useRef(null),Q=j.useRef(null),{containerWidth:E,containerHeight:h}=RAe(C),[u,d]=j.useState(!1),{ref:f}=VL({onSetTransform(L){Q.current&&(Q.current.style.transform=eh(L))}}),w=i||E||1e3,S=n||h||600;j.useEffect(()=>{g(!0),c(null),r(t),g(!1)},[t]);const D=j.useMemo(()=>s&&s.find(K=>K.type==="simulation_experiment")?.simulation_experiment_id||null,[s]),x=j.useMemo(()=>s?s.filter(L=>L.type==="simulation_transient_voltage_graph").map(L=>L.simulation_transient_voltage_graph_id):[],[s]),F=j.useMemo(()=>{if(!s||!w||!S||!D)return"";try{return w7A({circuitJson:s,simulation_experiment_id:D,simulation_transient_voltage_graph_ids:x,width:w,height:S,schematicOptions:{colorOverrides:e}})}catch(L){return console.error("Failed to generate fallback schematic SVG:",L),""}},[s,w,S,e,D,x]);j.useEffect(()=>{if(!F){l(null);return}try{const L=new Blob([F],{type:"image/svg+xml"}),K=URL.createObjectURL(L);return l(K),()=>{URL.revokeObjectURL(K)}}catch(L){console.error("Failed to create SVG object URL:",L),l(null)}},[F]);const k=j.useMemo(()=>F?F.match(/<svg[^>]*style="[^"]*background-color:\s*([^;\"]+)/i)?.[1]??"transparent":"transparent",[F]),v=L=>{d(!0)},_=L=>{d(!0)};return j.useEffect(()=>{const L=()=>{d(!1)},K=()=>{d(!1)};return window.addEventListener("mouseup",L),window.addEventListener("touchend",K),()=>{window.removeEventListener("mouseup",L),window.removeEventListener("touchend",K)}},[]),a?O.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#f5f5f5",minHeight:"300px",fontFamily:"sans-serif",fontSize:"16px",color:"#666",...A},className:o,children:"Loading circuit..."}):I?O.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#fef2f2",minHeight:"300px",fontFamily:"sans-serif",fontSize:"16px",color:"#dc2626",...A},className:o,children:O.jsxs("div",{style:{textAlign:"center",padding:"20px"},children:[O.jsx("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Circuit Conversion Error"}),O.jsx("div",{style:{fontSize:"14px"},children:I})]})}):F?O.jsx("div",{ref:L=>{C.current=L,f.current=L},style:{position:"relative",backgroundColor:k,overflow:"hidden",minHeight:"300px",cursor:u?"grabbing":"grab",...A},className:o,onMouseDown:v,onTouchStart:_,children:B?O.jsx("img",{ref:Q,src:B,alt:"Circuit Simulation",style:{transformOrigin:"0 0",width:"100%",height:"100%",display:"block",objectFit:"contain"}}):O.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",minHeight:"300px",color:"#666",fontFamily:"sans-serif"},children:"Failed to render SVG"})}):O.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",backgroundColor:"#f8fafc",minHeight:"300px",fontFamily:"sans-serif",gap:"12px",...A},className:o,children:[O.jsx("div",{style:{fontSize:"16px",color:"#475569",fontWeight:500},children:"No Simulation Found"}),O.jsxs("div",{style:{fontSize:"14px",color:"#64748b"},children:["Use"," ",O.jsx("code",{style:{backgroundColor:"#e2e8f0",padding:"2px 6px",borderRadius:"4px",fontFamily:"monospace",fontSize:"13px"},children:"<analogsimulation />"})," ","to create simulations"]})]})},_Ae=t=>{const[A,e]=j.useState(0),[i,n]=j.useState(0);return j.useEffect(()=>{if(!t.current)return;const o=()=>{const r=t.current?.getBoundingClientRect();e(r?.width||0),n(r?.height||0)};o();const s=new ResizeObserver(o);return s.observe(t.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:A,containerHeight:i}};ra("assembly-viewer");var MAe=()=>{ra.enable("assembly-viewer*")},n2t=({circuitJson:t,containerStyle:A,debugGrid:e=!1,debug:i=!1})=>{i&&MAe();const n=j.useRef(null),{ref:o}=VL({onSetTransform(I){n.current&&(n.current.style.transform=eh(I))}}),{containerWidth:s,containerHeight:r}=_Ae(o),a=j.useMemo(()=>!s||!r?"":A7A(t,{width:s,height:r||720}),[t,s,r]);j.useMemo(()=>{if(!a)return Bg();const I=a.match(/data-real-to-screen-transform="([^"]+)"/)?.[1];try{return ET(I)}catch(c){return console.error(c),Bg()}},[a]);const g=j.useMemo(()=>O.jsx("div",{ref:n,style:{pointerEvents:"auto",transformOrigin:"0 0"},dangerouslySetInnerHTML:{__html:a}}),[a]);return O.jsx("div",{ref:o,style:{position:"relative",backgroundColor:"#FFFFFF",overflow:"hidden",minHeight:"300px",...A},children:g})},o2t=({circuitJson:t,containerStyle:A,debugGrid:e=!1,debug:i=!1})=>{i&&MAe();const n=j.useRef(null),{ref:o}=VL({onSetTransform(I){n.current&&(n.current.style.transform=eh(I))}}),{containerWidth:s,containerHeight:r}=_Ae(o),a=j.useMemo(()=>!s||!r?"":OQA(t,{width:s,height:r||720}),[t,s,r]);j.useMemo(()=>{if(!a)return Bg();const I=a.match(/data-real-to-screen-transform="([^"]+)"/)?.[1];try{return ET(I)}catch(c){return console.error(c),Bg()}},[a]);const g=j.useMemo(()=>O.jsx("div",{ref:n,style:{pointerEvents:"auto",transformOrigin:"0 0"},dangerouslySetInnerHTML:{__html:a}}),[a]);return O.jsx("div",{ref:o,style:{position:"relative",backgroundColor:"#FFFFFF",overflow:"hidden",minHeight:"300px",...A},children:g})};const vAe=["Initialize a tscircuit project using [tsci init](https://github.com/tscircuit/cli) before adding components.","Define reusable modules with cached routes using [<subcircuit />](https://docs.tscircuit.com/elements/subcircuit)","Run `tsci dev` on the command line to preview your boards before export",'Use units like mm or mils consistently across your designs (e.g. pcbX="10mm")',"Quickly set footprints with the [footprint prop](https://docs.tscircuit.com/footprints/footprinter-strings)","Check out the guide on [ordering prototypes](https://docs.tscircuit.com/building-electronics/ordering-prototypes)","Use [net labels](https://docs.tscircuit.com/elements/net) and [group elements](https://docs.tscircuit.com/elements/group) to organize complex schematics.","You can manually drag components on the PCB and Schematic using [manual edits](https://docs.tscircuit.com/guides/manual-edits)","Every tscircuit module can export to [Circuit JSON](https://github.com/tscircuit/circuit-json), Gerbers, Pick'n'Place CSV files, Bill of Materials CSV and more","You can import components from [JLCPCB](https://docs.tscircuit.com/guides/importing-modules-and-chips/importing-from-jlcpcb) or [KiCad](https://docs.tscircuit.com/guides/importing-modules-and-chips/importing-from-kicad)","Any module you push to the [registry](https://tscircuit.com/trending) will have [simple image urls](https://docs.tscircuit.com/web-apis/image-generation-api) you can use display images on a website","The default [Parts Engine](https://docs.tscircuit.com/guides/platform-configuration) will automatically find parts from common vendors for your BOM",'[Pin selectors](https://docs.tscircuit.com/guides/using-sel-references) are similar to CSS selectors, ".R1 > .pin1" means "connect to the first pin of the component R1"',"You can use the [sel](https://docs.tscircuit.com/guides/using-sel-references) object to select pins in a type-safe way","Publish modules via the [registry](https://tscircuit.com/trending) for working with a team or sharing your work","[Explore tutorials](https://docs.tscircuit.com/category/tutorials) for real-world circuit design examples.","Upload your Circuit JSON to [circuitjson.com](https://circuitjson.com) for a quick preview.","You can display Circuit JSON in 3D, PCB or Schematic mode with the [<CircuitJsonPreview />](https://docs.tscircuit.com/guides/running-tscircuit/displaying-circuit-json-on-a-webpage#react-display-all-available-previews-with-circuitjsonpreview-) React component","Use a [<group />](https://docs.tscircuit.com/elements/group) element to move multiple components at once in a schematic or PCB layout.","Check out the [GitHub Discussions page](https://github.com/tscircuit/tscircuit/discussions) to upvote features","You can customize the autorouter using the [autorouter prop](https://docs.tscircuit.com/elements/board#setting-the-autorouter)","Use the [<constraint />](https://docs.tscircuit.com/footprints/constraint) element to enforce geometric relationships in PCB designs.","When working on component placement and circuit design, autorouting can slow down your iteration cycle. Use [routingDisabled](https://docs.tscircuit.com/elements/board#disabling-routing-with-routingdisabled) on the <board /> element to disable autorouting temporarily.","Join the [Discord server](https://tscircuit.com/join) to discuss issues and get help directly from the community."],s2t=(()=>{let t=vAe[Math.floor(Math.random()*vAe.length)];return t=t.replace(/</g,"&lt;"),t=t.replace(/>/g,"&gt;"),t=t.replace(new RegExp('(?<!href=")(?<!\\()(?<!\\]\\()(https?:\\/\\/[^\\s\\)\\]]+)',"g"),(A,e)=>`<a class="rf-text-blue-500 rf-underline" href="${A}" target="_blank">${A}</a>`),t=t.replace(/\[([^\]]+)\]\((https?:\/\/[^\)]+)\)/g,'<a class="rf-text-blue-500 rf-underline" href="$2" target="_blank">$1</a>'),t})(),bS=({onRunClicked:t})=>O.jsxs("div",{className:"rf-flex rf-flex-col rf-items-center rf-justify-center rf-h-full rf-bg-gray-50 rf-text-gray-500 rf-p-4",children:[O.jsx(CSt,{className:"rf-size-14 rf-mb-4"}),O.jsxs("p",{className:"rf-text-md rf-break-words rf-max-w-xl rf-text-center",children:["Tip: ",O.jsx("span",{dangerouslySetInnerHTML:{__html:s2t}})]}),t&&O.jsxs(wa,{className:"rf-mt-4 rf-bg-blue-600 rf-hover:bg-blue-500",onClick:t,children:["Run Code",O.jsx(MzA,{className:"rf-w-3 rf-h-3 rf-ml-2"})]})]}),pW=({text:t,onClick:A})=>O.jsx("span",{className:"rf-cursor-pointer rf-underline rf-text-blue-600 rf-mx-2",onClick:A,children:t}),fW=t=>O.jsxs("div",{className:"rf-leading-5",children:[O.jsx("div",{className:"rf-py-2 rf-font-bold",children:t.column.name}),O.jsx("div",{children:t.field?.()??O.jsx("input",{type:"text",className:"rf-border rf-rounded rf-p-1 rf-w-full",onChange:A=>{t.onTextChange?.(A.target.value)}})})]}),r2t=({open:t,children:A,title:e,onClose:i})=>t?O.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-justify-center rf-items-center rf-z-50",onClick:i,children:O.jsxs("div",{className:"rf-bg-white rf-p-5 rf-rounded-lg rf-relative rf-w-11/12 rf-max-w-2xl",onClick:n=>{n.preventDefault(),n.stopPropagation()},children:[O.jsx("h2",{className:"rf-mt-0 rf-text-md rf-pb-4",children:e}),O.jsx("button",{type:"button",className:"rf-absolute rf-top-2 rf-right-4 rf-text-2xl rf-font-bold",onClick:i,children:"×"}),A]})}):null,a2t=({elements:t})=>{const[A,e]=j.useState({open:!1}),[i,n]=j.useReducer((I,c)=>({...I,...c}),{}),o=[...new Set(t.map(I=>I.type))],s=t.map(I=>{const c=I[`${I.type}_id`],B=Object.fromEntries(Object.entries(I).filter(([C])=>!(C===`${I.type}_id`||!C.endsWith("_id")))),l=Object.fromEntries(Object.entries(I).filter(([C])=>!C.endsWith("_id")));return{primary_id:c,other_ids:B,...l,_og_elm:I}}),r=s.map(I=>{let c="";const B=l=>{const C=Object.keys(l.other_ids).find(h=>h.startsWith("source_"));if(!C)return`.${l.name}`;const Q=C.slice(0,-3),E=s.find(h=>h.type===Q&&h.primary_id===l.other_ids[C]);return E?"name"in E?`${B(E)} > .${l.name}`:`#${E.primary_id} > .${l.name}`:`??? > .${l.name}`};return"name"in I&&(c=B(I)),{...I,selector_path:c}}),a=[{key:"primary_id",name:"primary_id",renderCell:I=>O.jsxs("div",{className:"rf-flex rf-items-center",children:[O.jsx(pW,{text:I.primary_id,onClick:()=>n({focused_id:I.primary_id,id_search:void 0,selector_search:void 0})}),O.jsx("span",{className:"rf-flex-grow"}),O.jsx(pW,{text:"(JSON)",onClick:()=>e({open:!0,element:I._og_elm,title:I.primary_id})})]}),renderHeaderCell:I=>O.jsx(fW,{column:I,onTextChange:c=>n({id_search:c}),field:i.focused_id?()=>O.jsxs("div",{children:["Focus:"," ",O.jsx("span",{className:"rf-underline",children:i.focused_id}),O.jsx(pW,{text:"(unfocus)",onClick:()=>n({focused_id:void 0})})]}):void 0})},{key:"type",name:"type",renderHeaderCell:I=>O.jsx(fW,{column:I,field:()=>O.jsxs("select",{onChange:c=>n({component_type_filter:c.target.value}),className:"rf-border rf-rounded rf-p-1 rf-w-full",children:[O.jsx("option",{value:"any",children:"any"},"any"),O.jsx("option",{value:"source",children:"source"},"source"),O.jsx("option",{value:"source/pcb",children:"source/pcb"},"source/pcb"),O.jsx("option",{value:"source/schematic",children:"source/schematic"},"source/schematic"),o.map(c=>O.jsx("option",{value:c,children:c},c))]})})},{key:"name",name:"name",renderHeaderCell:I=>O.jsx(fW,{column:I,onTextChange:c=>n({name_search:c})})},{key:"selector_path",name:"selector_path",renderHeaderCell:I=>O.jsx(fW,{column:I,onTextChange:c=>n({selector_search:c})})},{key:"other_ids",name:"other_ids",renderCell:I=>O.jsx("div",{className:"rf-space-x-2",children:Object.entries(I.other_ids).map(([c,B])=>O.jsx(pW,{text:B,onClick:()=>n({focused_id:B})},B))})}],g=r.filter(I=>i.name_search?I.name?.toLowerCase()?.includes(i.name_search.toLowerCase()):!0).filter(I=>!i.component_type_filter||i.component_type_filter==="any"?!0:i.component_type_filter==="source"?I.type.startsWith("source_"):i.component_type_filter==="source/pcb"?I.type.startsWith("source_")||I.type.startsWith("pcb_"):i.component_type_filter==="source/schematic"?I.type.startsWith("source_")||I.type.startsWith("schematic_"):I.type?.includes(i.component_type_filter)).filter(I=>i.selector_search?i.selector_search.split(" ").filter(B=>B.length>0).every(B=>I.selector_path?.includes(B)):!0).filter(I=>i.id_search?I.primary_id?.includes(i.id_search):!0).filter(I=>!!(!i.focused_id||I.primary_id===i.focused_id||Object.values(I.other_ids).includes(i.focused_id)));return O.jsxs("div",{className:"rf-font-mono rf-text-xs rf-bg-white",children:[O.jsx("div",{className:"rf-overflow-x-auto",children:O.jsxs("table",{className:"rf-table-auto rf-w-full rf-text-left",children:[O.jsx("thead",{children:O.jsx("tr",{children:a.map(I=>O.jsx("th",{className:"rf-px-4 rf-py-2 rf-border-b",children:I.renderHeaderCell?I.renderHeaderCell(I):I.name},I.key))})}),O.jsx("tbody",{children:g.map((I,c)=>O.jsx("tr",{className:"rf-hover:bg-gray-100",children:a.map(B=>O.jsx("td",{className:"rf-px-4 rf-py-2 rf-border-b",children:B.renderCell?B.renderCell(I):I[B.key]},B.key))},c))})]})}),O.jsx(r2t,{open:A.open,onClose:()=>e({open:!1}),title:A.open?A.title:"",children:O.jsx("div",{className:"rf-bg-gray-800 rf-p-3 rf-text-white rf-rounded",children:O.jsx("pre",{className:"rf-whitespace-pre-wrap",children:A.open?JSON.stringify(A.element,null,2):""})})})]})},g2t=(t,A)=>t==="jlcpcb"?O.jsx("a",{className:"rf-underline rf-text-blue-500",target:"_blank",rel:"noreferrer",href:`https://jlcpcb.com/partdetail/${A}`,children:A}):A,I2t=({circuitJson:t})=>{const A=t.filter(i=>i.type==="source_component"),e=new Set;for(const i of A)if(i.supplier_part_numbers)for(const n of Object.keys(i.supplier_part_numbers))e.add(n);return O.jsx("div",{className:"rf-overflow-x-auto",children:O.jsxs("table",{className:"rf-w-full rf-text-left rf-text-sm",children:[O.jsx("thead",{children:O.jsxs("tr",{className:"rf-border-b",children:[O.jsx("th",{className:"rf-p-2",children:"Name"}),Array.from(e).map(i=>O.jsx("th",{className:"rf-p-2 rf-capitalize",children:i},i))]})}),O.jsx("tbody",{children:A.map(i=>O.jsxs("tr",{className:"rf-border-b",children:[O.jsx("td",{className:"rf-p-2",children:i.name}),Array.from(e).map(n=>O.jsx("td",{className:"rf-p-2",children:g2t(n,i.supplier_part_numbers?.[n]?.[0]||"")},n))]},i.source_component_id))})]})})},REA=j.forwardRef(({className:t,type:A,...e},i)=>O.jsx("input",{type:A,className:rn("rf-flex rf-h-9 rf-w-full rf-rounded-md rf-border rf-border-zinc-200 rf-bg-white rf-px-3 rf-py-1 rf-text-sm rf-shadow-sm rf-transition-colors file:rf-border-0 file:rf-bg-transparent file:rf-text-sm file:rf-font-medium placeholder:rf-text-zinc-500 focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 dark:rf-border-zinc-800 dark:rf-bg-zinc-950 dark:rf-placeholder-zinc-400 dark:focus-visible:rf-ring-zinc-300",t),ref:i,...e}));REA.displayName="Input";const EH=t=>typeof t=="number"&&!isNaN(t),fF=t=>typeof t=="string",a0=t=>typeof t=="function",yW=t=>fF(t)||a0(t)?t:null,NEA=t=>j.isValidElement(t)||fF(t)||a0(t)||EH(t);function c2t(t,A,e){e===void 0&&(e=300);const{scrollHeight:i,style:n}=t;requestAnimationFrame(()=>{n.minHeight="initial",n.height=i+"px",n.transition=`all ${e}ms`,requestAnimationFrame(()=>{n.height="0",n.padding="0",n.margin="0",setTimeout(A,e)})})}function mW(t){let{enter:A,exit:e,appendPosition:i=!1,collapse:n=!0,collapseDuration:o=300}=t;return function(s){let{children:r,position:a,preventExitTransition:g,done:I,nodeRef:c,isIn:B,playToast:l}=s;const C=i?`${A}--${a}`:A,Q=i?`${e}--${a}`:e,E=j.useRef(0);return j.useLayoutEffect(()=>{const h=c.current,u=C.split(" "),d=f=>{f.target===c.current&&(l(),h.removeEventListener("animationend",d),h.removeEventListener("animationcancel",d),E.current===0&&f.type!=="animationcancel"&&h.classList.remove(...u))};h.classList.add(...u),h.addEventListener("animationend",d),h.addEventListener("animationcancel",d)},[]),j.useEffect(()=>{const h=c.current,u=()=>{h.removeEventListener("animationend",u),n?c2t(h,I,o):I()};B||(g?u():(E.current=1,h.className+=` ${Q}`,h.addEventListener("animationend",u)))},[B]),$i.createElement($i.Fragment,null,r)}}function UAe(t,A){return t!=null?{content:t.content,containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,status:A}:{}}const Sd=new Map;let hH=[];const _EA=new Set,B2t=t=>_EA.forEach(A=>A(t)),LAe=()=>Sd.size>0;function HAe(t,A){var e;if(A)return!((e=Sd.get(A))==null||!e.isToastActive(t));let i=!1;return Sd.forEach(n=>{n.isToastActive(t)&&(i=!0)}),i}function YAe(t,A){NEA(t)&&(LAe()||hH.push({content:t,options:A}),Sd.forEach(e=>{e.buildToast(t,A)}))}function JAe(t,A){Sd.forEach(e=>{A!=null&&A!=null&&A.containerId?A?.containerId===e.id&&e.toggle(t,A?.id):e.toggle(t,A?.id)})}function l2t(t){const{subscribe:A,getSnapshot:e,setProps:i}=j.useRef((function(o){const s=o.containerId||1;return{subscribe(r){const a=(function(I,c,B){let l=1,C=0,Q=[],E=[],h=[],u=c;const d=new Map,f=new Set,w=()=>{h=Array.from(d.values()),f.forEach(x=>x())},S=x=>{E=x==null?[]:E.filter(F=>F!==x),w()},D=x=>{const{toastId:F,onOpen:k,updateId:v,children:_}=x.props,L=v==null;x.staleId&&d.delete(x.staleId),d.set(F,x),E=[...E,x.props.toastId].filter(K=>K!==x.staleId),w(),B(UAe(x,L?"added":"updated")),L&&a0(k)&&k(j.isValidElement(_)&&_.props)};return{id:I,props:u,observe:x=>(f.add(x),()=>f.delete(x)),toggle:(x,F)=>{d.forEach(k=>{F!=null&&F!==k.props.toastId||a0(k.toggle)&&k.toggle(x)})},removeToast:S,toasts:d,clearQueue:()=>{C-=Q.length,Q=[]},buildToast:(x,F)=>{if((oA=>{let{containerId:rA,toastId:CA,updateId:dA}=oA;const bA=rA?rA!==I:I!==1,kA=d.has(CA)&&dA==null;return bA||kA})(F))return;const{toastId:k,updateId:v,data:_,staleId:L,delay:K}=F,J=()=>{S(k)},W=v==null;W&&C++;const Z={...u,style:u.toastStyle,key:l++,...Object.fromEntries(Object.entries(F).filter(oA=>{let[rA,CA]=oA;return CA!=null})),toastId:k,updateId:v,data:_,closeToast:J,isIn:!1,className:yW(F.className||u.toastClassName),bodyClassName:yW(F.bodyClassName||u.bodyClassName),progressClassName:yW(F.progressClassName||u.progressClassName),autoClose:!F.isLoading&&(AA=F.autoClose,nA=u.autoClose,AA===!1||EH(AA)&&AA>0?AA:nA),deleteToast(){const oA=d.get(k),{onClose:rA,children:CA}=oA.props;a0(rA)&&rA(j.isValidElement(CA)&&CA.props),B(UAe(oA,"removed")),d.delete(k),C--,C<0&&(C=0),Q.length>0?D(Q.shift()):w()}};var AA,nA;Z.closeButton=u.closeButton,F.closeButton===!1||NEA(F.closeButton)?Z.closeButton=F.closeButton:F.closeButton===!0&&(Z.closeButton=!NEA(u.closeButton)||u.closeButton);let cA=x;j.isValidElement(x)&&!fF(x.type)?cA=j.cloneElement(x,{closeToast:J,toastProps:Z,data:_}):a0(x)&&(cA=x({closeToast:J,toastProps:Z,data:_}));const tA={content:cA,props:Z,staleId:L};u.limit&&u.limit>0&&C>u.limit&&W?Q.push(tA):EH(K)?setTimeout(()=>{D(tA)},K):D(tA)},setProps(x){u=x},setToggle:(x,F)=>{d.get(x).toggle=F},isToastActive:x=>E.some(F=>F===x),getSnapshot:()=>h}})(s,o,B2t);Sd.set(s,a);const g=a.observe(r);return hH.forEach(I=>YAe(I.content,I.options)),hH=[],()=>{g(),Sd.delete(s)}},setProps(r){var a;(a=Sd.get(s))==null||a.setProps(r)},getSnapshot(){var r;return(r=Sd.get(s))==null?void 0:r.getSnapshot()}}})(t)).current;i(t);const n=j.useSyncExternalStore(A,e,e);return{getToastToRender:function(o){if(!n)return[];const s=new Map;return t.newestOnTop&&n.reverse(),n.forEach(r=>{const{position:a}=r.props;s.has(a)||s.set(a,[]),s.get(a).push(r)}),Array.from(s,r=>o(r[0],r[1]))},isToastActive:HAe,count:n?.length}}function C2t(t){const[A,e]=j.useState(!1),[i,n]=j.useState(!1),o=j.useRef(null),s=j.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:r,pauseOnHover:a,closeToast:g,onClick:I,closeOnClick:c}=t;var B,l;function C(){e(!0)}function Q(){e(!1)}function E(d){const f=o.current;s.canDrag&&f&&(s.didMove=!0,A&&Q(),s.delta=t.draggableDirection==="x"?d.clientX-s.start:d.clientY-s.start,s.start!==d.clientX&&(s.canCloseOnClick=!1),f.style.transform=`translate3d(${t.draggableDirection==="x"?`${s.delta}px, var(--y)`:`0, calc(${s.delta}px + var(--y))`},0)`,f.style.opacity=""+(1-Math.abs(s.delta/s.removalDistance)))}function h(){document.removeEventListener("pointermove",E),document.removeEventListener("pointerup",h);const d=o.current;if(s.canDrag&&s.didMove&&d){if(s.canDrag=!1,Math.abs(s.delta)>s.removalDistance)return n(!0),t.closeToast(),void t.collapseAll();d.style.transition="transform 0.2s, opacity 0.2s",d.style.removeProperty("transform"),d.style.removeProperty("opacity")}}(l=Sd.get((B={id:t.toastId,containerId:t.containerId,fn:e}).containerId||1))==null||l.setToggle(B.id,B.fn),j.useEffect(()=>{if(t.pauseOnFocusLoss)return document.hasFocus()||Q(),window.addEventListener("focus",C),window.addEventListener("blur",Q),()=>{window.removeEventListener("focus",C),window.removeEventListener("blur",Q)}},[t.pauseOnFocusLoss]);const u={onPointerDown:function(d){if(t.draggable===!0||t.draggable===d.pointerType){s.didMove=!1,document.addEventListener("pointermove",E),document.addEventListener("pointerup",h);const f=o.current;s.canCloseOnClick=!0,s.canDrag=!0,f.style.transition="none",t.draggableDirection==="x"?(s.start=d.clientX,s.removalDistance=f.offsetWidth*(t.draggablePercent/100)):(s.start=d.clientY,s.removalDistance=f.offsetHeight*(t.draggablePercent===80?1.5*t.draggablePercent:t.draggablePercent)/100)}},onPointerUp:function(d){const{top:f,bottom:w,left:S,right:D}=o.current.getBoundingClientRect();d.nativeEvent.type!=="touchend"&&t.pauseOnHover&&d.clientX>=S&&d.clientX<=D&&d.clientY>=f&&d.clientY<=w?Q():C()}};return r&&a&&(u.onMouseEnter=Q,t.stacked||(u.onMouseLeave=C)),c&&(u.onClick=d=>{I&&I(d),s.canCloseOnClick&&g()}),{playToast:C,pauseToast:Q,isRunning:A,preventExitTransition:i,toastRef:o,eventHandlers:u}}function Q2t(t){let{delay:A,isRunning:e,closeToast:i,type:n="default",hide:o,className:s,style:r,controlledProgress:a,progress:g,rtl:I,isIn:c,theme:B}=t;const l=o||a&&g===0,C={...r,animationDuration:`${A}ms`,animationPlayState:e?"running":"paused"};a&&(C.transform=`scaleX(${g})`);const Q=am("Toastify__progress-bar",a?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${B}`,`Toastify__progress-bar--${n}`,{"Toastify__progress-bar--rtl":I}),E=a0(s)?s({rtl:I,type:n,defaultClassName:Q}):am(Q,s),h={[a&&g>=1?"onTransitionEnd":"onAnimationEnd"]:a&&g<1?null:()=>{c&&i()}};return $i.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":l},$i.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${B} Toastify__progress-bar--${n}`}),$i.createElement("div",{role:"progressbar","aria-hidden":l?"true":"false","aria-label":"notification timer",className:E,style:C,...h}))}let E2t=1;const TAe=()=>""+E2t++;function h2t(t){return t&&(fF(t.toastId)||EH(t.toastId))?t.toastId:TAe()}function uH(t,A){return YAe(t,A),A.toastId}function wW(t,A){return{...A,type:A&&A.type||t,toastId:h2t(A)}}function DW(t){return(A,e)=>uH(A,wW(t,e))}function Kg(t,A){return uH(t,wW("default",A))}Kg.loading=(t,A)=>uH(t,wW("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...A})),Kg.promise=function(t,A,e){let i,{pending:n,error:o,success:s}=A;n&&(i=fF(n)?Kg.loading(n,e):Kg.loading(n.render,{...e,...n}));const r={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},a=(I,c,B)=>{if(c==null)return void Kg.dismiss(i);const l={type:I,...r,...e,data:B},C=fF(c)?{render:c}:c;return i?Kg.update(i,{...l,...C}):Kg(C.render,{...l,...C}),B},g=a0(t)?t():t;return g.then(I=>a("success",s,I)).catch(I=>a("error",o,I)),g},Kg.success=DW("success"),Kg.info=DW("info"),Kg.error=DW("error"),Kg.warning=DW("warning"),Kg.warn=Kg.warning,Kg.dark=(t,A)=>uH(t,wW("default",{theme:"dark",...A})),Kg.dismiss=function(t){(function(A){var e;if(LAe()){if(A==null||fF(e=A)||EH(e))Sd.forEach(i=>{i.removeToast(A)});else if(A&&("containerId"in A||"id"in A)){const i=Sd.get(A.containerId);i?i.removeToast(A.id):Sd.forEach(n=>{n.removeToast(A.id)})}}else hH=hH.filter(i=>A!=null&&i.options.toastId!==A)})(t)},Kg.clearWaitingQueue=function(t){t===void 0&&(t={}),Sd.forEach(A=>{!A.props.limit||t.containerId&&A.id!==t.containerId||A.clearQueue()})},Kg.isActive=HAe,Kg.update=function(t,A){A===void 0&&(A={});const e=((i,n)=>{var o;let{containerId:s}=n;return(o=Sd.get(s||1))==null?void 0:o.toasts.get(i)})(t,A);if(e){const{props:i,content:n}=e,o={delay:100,...i,...A,toastId:A.toastId||t,updateId:TAe()};o.toastId!==t&&(o.staleId=t);const s=o.render||n;delete o.render,uH(s,o)}},Kg.done=t=>{Kg.update(t,{progress:1})},Kg.onChange=function(t){return _EA.add(t),()=>{_EA.delete(t)}},Kg.play=t=>JAe(!0,t),Kg.pause=t=>JAe(!1,t);const u2t=typeof window<"u"?j.useLayoutEffect:j.useEffect,SW=t=>{let{theme:A,type:e,isLoading:i,...n}=t;return $i.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:A==="colored"?"currentColor":`var(--toastify-icon-color-${e})`,...n})},MEA={info:function(t){return $i.createElement(SW,{...t},$i.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(t){return $i.createElement(SW,{...t},$i.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(t){return $i.createElement(SW,{...t},$i.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(t){return $i.createElement(SW,{...t},$i.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return $i.createElement("div",{className:"Toastify__spinner"})}},d2t=t=>{const{isRunning:A,preventExitTransition:e,toastRef:i,eventHandlers:n,playToast:o}=C2t(t),{closeButton:s,children:r,autoClose:a,onClick:g,type:I,hideProgressBar:c,closeToast:B,transition:l,position:C,className:Q,style:E,bodyClassName:h,bodyStyle:u,progressClassName:d,progressStyle:f,updateId:w,role:S,progress:D,rtl:x,toastId:F,deleteToast:k,isIn:v,isLoading:_,closeOnClick:L,theme:K}=t,J=am("Toastify__toast",`Toastify__toast-theme--${K}`,`Toastify__toast--${I}`,{"Toastify__toast--rtl":x},{"Toastify__toast--close-on-click":L}),W=a0(Q)?Q({rtl:x,position:C,type:I,defaultClassName:J}):am(J,Q),Z=(function(tA){let{theme:oA,type:rA,isLoading:CA,icon:dA}=tA,bA=null;const kA={theme:oA,type:rA};return dA===!1||(a0(dA)?bA=dA({...kA,isLoading:CA}):j.isValidElement(dA)?bA=j.cloneElement(dA,kA):CA?bA=MEA.spinner():(JA=>JA in MEA)(rA)&&(bA=MEA[rA](kA))),bA})(t),AA=!!D||!a,nA={closeToast:B,type:I,theme:K};let cA=null;return s===!1||(cA=a0(s)?s(nA):j.isValidElement(s)?j.cloneElement(s,nA):(function(tA){let{closeToast:oA,theme:rA,ariaLabel:CA="close"}=tA;return $i.createElement("button",{className:`Toastify__close-button Toastify__close-button--${rA}`,type:"button",onClick:dA=>{dA.stopPropagation(),oA(dA)},"aria-label":CA},$i.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},$i.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))})(nA)),$i.createElement(l,{isIn:v,done:k,position:C,preventExitTransition:e,nodeRef:i,playToast:o},$i.createElement("div",{id:F,onClick:g,"data-in":v,className:W,...n,style:E,ref:i},$i.createElement("div",{...v&&{role:S},className:a0(h)?h({type:I}):am("Toastify__toast-body",h),style:u},Z!=null&&$i.createElement("div",{className:am("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!_})},Z),$i.createElement("div",null,r)),cA,$i.createElement(Q2t,{...w&&!AA?{key:`pb-${w}`}:{},rtl:x,theme:K,delay:a,isRunning:A,isIn:v,closeToast:B,hide:c,type:I,style:f,className:d,controlledProgress:AA,progress:D||0})))},bW=function(t,A){return A===void 0&&(A=!1),{enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:A}},p2t=mW(bW("bounce",!0));mW(bW("slide",!0)),mW(bW("zoom")),mW(bW("flip"));const f2t={position:"top-right",transition:p2t,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};function y2t(t){let A={...f2t,...t};const e=t.stacked,[i,n]=j.useState(!0),o=j.useRef(null),{getToastToRender:s,isToastActive:r,count:a}=l2t(A),{className:g,style:I,rtl:c,containerId:B}=A;function l(Q){const E=am("Toastify__toast-container",`Toastify__toast-container--${Q}`,{"Toastify__toast-container--rtl":c});return a0(g)?g({position:Q,rtl:c,defaultClassName:E}):am(E,yW(g))}function C(){e&&(n(!0),Kg.play())}return u2t(()=>{if(e){var Q;const E=o.current.querySelectorAll('[data-in="true"]'),h=12,u=(Q=A.position)==null?void 0:Q.includes("top");let d=0,f=0;Array.from(E).reverse().forEach((w,S)=>{const D=w;D.classList.add("Toastify__toast--stacked"),S>0&&(D.dataset.collapsed=`${i}`),D.dataset.pos||(D.dataset.pos=u?"top":"bot");const x=d*(i?.2:1)+(i?0:h*S);D.style.setProperty("--y",`${u?x:-1*x}px`),D.style.setProperty("--g",`${h}`),D.style.setProperty("--s",""+(1-(i?f:0))),d+=D.offsetHeight,f+=.025})}},[i,a,e]),$i.createElement("div",{ref:o,className:"Toastify",id:B,onMouseEnter:()=>{e&&(n(!1),Kg.pause())},onMouseLeave:C},s((Q,E)=>{const h=E.length?{...I}:{...I,pointerEvents:"none"};return $i.createElement("div",{className:l(Q),style:h,key:`container-${Q}`},E.map(u=>{let{content:d,props:f}=u;return $i.createElement(d2t,{...f,stacked:e,collapseAll:C,isIn:r(f.toastId,f.containerId),style:f.style,key:`toast-${f.key}`},d)}))}))}function m2t(){var t=':root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}}.Toastify__toast{--y:0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}',A=document.createElement("style");A.innerText=t,document.head.appendChild(A)}const w2t=ohe(Aye);var vEA,KAe;function D2t(){if(KAe)return vEA;KAe=1;var t=Object.defineProperty,A=Object.getOwnPropertyDescriptor,e=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,n=(E,h)=>{for(var u in h)t(E,u,{get:h[u],enumerable:!0})},o=(E,h,u,d)=>{if(h&&typeof h=="object"||typeof h=="function")for(let f of e(h))!i.call(E,f)&&f!==u&&t(E,f,{get:()=>h[f],enumerable:!(d=A(h,f))||d.enumerable});return E},s=E=>o(t({},"__esModule",{value:!0}),E),r={};n(r,{SuperGrid:()=>Q,toMMSI:()=>C,toMeterSI:()=>l}),vEA=s(r);var a=qf(),g=w2t,I=CmA(),c=(E,h,u)=>{const d=[];if(h<E)for(let f=E;f>=h;f-=Math.abs(u))d.push(f);else for(let f=E;f<=h;f+=Math.abs(u))d.push(f);return d};function B(E,h){return{x:Math.round(h.x/E)*E,y:Math.round(h.y/E)*E}}function l(E,h=1){return E<0?"-"+l(-E):E<1e-6?"0m":E>1e3?Math.floor(E/1e3)+"km":E>1&&h>1?Math.round(E)+"m":E>1&&h<=1?E.toFixed(Math.ceil(-Math.log10(h)))+"m":E<1&&h>=1/1e3?Math.round(E*1e3)+"mm":E<1&&h<1/1e3?(E*1e3).toFixed(Math.ceil(-Math.log10(h*1e3)))+"mm":""}function C(E,h=1){return l(E/1e3,h/1e3)}var Q=E=>{var h;const u=(0,a.useRef)(null),[d,f]=(0,a.useState)({x:0,y:0}),{majorColor:w="rgba(0,0,0,0.2)",minorColor:S="rgba(0,0,0,0.1)",textColor:D=(h=E.majorColor)!=null?h:"rgba(0,0,0,0.5)",width:x,height:F,screenSpaceCellSize:k=200,stringifyCoord:v=(J,W,Z)=>`${l(J,Z)}, ${l(W,Z)}`}=E,_=Math.ceil(x/k)+2,L=Math.ceil(F/k)+2;(0,a.useEffect)(()=>{if(!u.current)return;const J=u.current.getContext("2d");if(!J)return;const W=k/10**Math.floor(Math.log10(E.transform.a)),Z=E.transform.d<0?-1:1,nA=k/10**Math.log10(E.transform.a)/W;function cA(yA,EA,TA){const te=yA;let ce,mA,qA;for(ce=EA.x;ce<=TA.x;ce+=te)mA=(0,g.applyToPoint)(E.transform,{x:ce,y:EA.y}),qA=(0,g.applyToPoint)(E.transform,{x:ce,y:TA.y}),J.beginPath(),J.moveTo(mA.x,mA.y),J.lineTo(qA.x,qA.y),J.stroke();const LA=c(EA.y,TA.y,te*Z);for(const HA of LA)mA=(0,g.applyToPoint)(E.transform,{x:EA.x,y:HA}),qA=(0,g.applyToPoint)(E.transform,{x:TA.x,y:HA}),J.beginPath(),J.moveTo(mA.x,mA.y),J.lineTo(qA.x,qA.y),J.stroke()}function tA(yA,EA,TA){const te=yA;let ce;for(ce=EA.x;ce<=TA.x;ce+=te)for(const mA of c(EA.y,TA.y,te*Z)){const qA=(0,g.applyToPoint)(E.transform,{x:ce,y:mA});J.fillStyle=D,J.font="12px sans-serif",J.fillText(v(ce,mA,yA),qA.x+2,qA.y-2)}}J.clearRect(0,0,x,F);const oA=(0,g.applyToPoint)((0,g.inverse)(E.transform),{x:0,y:0}),rA={x:Math.floor((oA.x-W)/W)*W,y:Math.floor((oA.y-W)/W+(Z==-1?2:0))*W},CA={x:rA.x+W*_,y:rA.y+W*L*Z},bA=W*5,kA={x:Math.floor((oA.x-bA)/bA)*bA,y:Math.floor((oA.y-bA)/bA+(Z==-1?2:0))*bA},JA={x:kA.x+bA*_,y:kA.y+bA*L*Z};J.globalAlpha=1,J.strokeStyle=w,cA(W,rA,CA),tA(bA,kA,JA),J.globalAlpha=1-nA,cA(bA/10,kA,JA),J.globalAlpha=1-nA,J.strokeStyle=S,cA(W/10,rA,CA),J.globalAlpha=Math.max(((1-nA)*10-5)/5,0),tA(bA/10,kA,JA),J.globalAlpha=1;const gA=(0,g.applyToPoint)(E.transform,d);J.font="12px sans-serif",J.fillStyle=D,J.fillText(v(d.x,d.y,W),gA.x+2,gA.y-2),J.strokeStyle=w,J.strokeRect(gA.x-5,gA.y-5,10,10)},[u,E.transform,d,x,F]);const K=J=>{if(!u.current)return;const W=k/10/10**Math.floor(Math.log10(E.transform.a)),Z=u.current.getBoundingClientRect(),AA=(0,g.applyToPoint)((0,g.inverse)(E.transform),{x:J.clientX-Z.left,y:J.clientY-Z.top}),nA=B(W,AA);f(nA)};return(0,I.jsx)("canvas",{onMouseUp:J=>{J.button===1&&K(J)},onDoubleClick:K,ref:u,width:E.width,height:E.height})};return vEA}var xW=D2t(),UEA={exports:{}},LEA,qAe;function PAe(){return qAe||(qAe=1,LEA={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),LEA}var HEA={exports:{}},YEA,OAe;function S2t(){return OAe||(OAe=1,YEA=function(A){return!A||typeof A=="string"?!1:A instanceof Array||Array.isArray(A)||A.length>=0&&(A.splice instanceof Function||Object.getOwnPropertyDescriptor(A,A.length-1)&&A.constructor.name!=="String")}),YEA}var WAe;function b2t(){if(WAe)return HEA.exports;WAe=1;var t=S2t(),A=Array.prototype.concat,e=Array.prototype.slice,i=HEA.exports=function(o){for(var s=[],r=0,a=o.length;r<a;r++){var g=o[r];t(g)?s=A.call(s,e.call(g)):s.push(g)}return s};return i.wrap=function(n){return function(){return n(i(arguments))}},HEA.exports}var ZAe;function x2t(){if(ZAe)return UEA.exports;ZAe=1;var t=PAe(),A=b2t(),e=Object.hasOwnProperty,i=Object.create(null);for(var n in t)e.call(t,n)&&(i[t[n]]=n);var o=UEA.exports={to:{},get:{}};o.get=function(a){var g=a.substring(0,3).toLowerCase(),I,c;switch(g){case"hsl":I=o.get.hsl(a),c="hsl";break;case"hwb":I=o.get.hwb(a),c="hwb";break;default:I=o.get.rgb(a),c="rgb";break}return I?{model:c,value:I}:null},o.get.rgb=function(a){if(!a)return null;var g=/^#([a-f0-9]{3,4})$/i,I=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,c=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,B=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,l=/^(\w+)$/,C=[0,0,0,1],Q,E,h;if(Q=a.match(I)){for(h=Q[2],Q=Q[1],E=0;E<3;E++){var u=E*2;C[E]=parseInt(Q.slice(u,u+2),16)}h&&(C[3]=parseInt(h,16)/255)}else if(Q=a.match(g)){for(Q=Q[1],h=Q[3],E=0;E<3;E++)C[E]=parseInt(Q[E]+Q[E],16);h&&(C[3]=parseInt(h+h,16)/255)}else if(Q=a.match(c)){for(E=0;E<3;E++)C[E]=parseInt(Q[E+1],0);Q[4]&&(Q[5]?C[3]=parseFloat(Q[4])*.01:C[3]=parseFloat(Q[4]))}else if(Q=a.match(B)){for(E=0;E<3;E++)C[E]=Math.round(parseFloat(Q[E+1])*2.55);Q[4]&&(Q[5]?C[3]=parseFloat(Q[4])*.01:C[3]=parseFloat(Q[4]))}else return(Q=a.match(l))?Q[1]==="transparent"?[0,0,0,0]:e.call(t,Q[1])?(C=t[Q[1]],C[3]=1,C):null:null;for(E=0;E<3;E++)C[E]=s(C[E],0,255);return C[3]=s(C[3],0,1),C},o.get.hsl=function(a){if(!a)return null;var g=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,I=a.match(g);if(I){var c=parseFloat(I[4]),B=(parseFloat(I[1])%360+360)%360,l=s(parseFloat(I[2]),0,100),C=s(parseFloat(I[3]),0,100),Q=s(isNaN(c)?1:c,0,1);return[B,l,C,Q]}return null},o.get.hwb=function(a){if(!a)return null;var g=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,I=a.match(g);if(I){var c=parseFloat(I[4]),B=(parseFloat(I[1])%360+360)%360,l=s(parseFloat(I[2]),0,100),C=s(parseFloat(I[3]),0,100),Q=s(isNaN(c)?1:c,0,1);return[B,l,C,Q]}return null},o.to.hex=function(){var a=A(arguments);return"#"+r(a[0])+r(a[1])+r(a[2])+(a[3]<1?r(Math.round(a[3]*255)):"")},o.to.rgb=function(){var a=A(arguments);return a.length<4||a[3]===1?"rgb("+Math.round(a[0])+", "+Math.round(a[1])+", "+Math.round(a[2])+")":"rgba("+Math.round(a[0])+", "+Math.round(a[1])+", "+Math.round(a[2])+", "+a[3]+")"},o.to.rgb.percent=function(){var a=A(arguments),g=Math.round(a[0]/255*100),I=Math.round(a[1]/255*100),c=Math.round(a[2]/255*100);return a.length<4||a[3]===1?"rgb("+g+"%, "+I+"%, "+c+"%)":"rgba("+g+"%, "+I+"%, "+c+"%, "+a[3]+")"},o.to.hsl=function(){var a=A(arguments);return a.length<4||a[3]===1?"hsl("+a[0]+", "+a[1]+"%, "+a[2]+"%)":"hsla("+a[0]+", "+a[1]+"%, "+a[2]+"%, "+a[3]+")"},o.to.hwb=function(){var a=A(arguments),g="";return a.length>=4&&a[3]!==1&&(g=", "+a[3]),"hwb("+a[0]+", "+a[1]+"%, "+a[2]+"%"+g+")"},o.to.keyword=function(a){return i[a.slice(0,3)]};function s(a,g,I){return Math.min(Math.max(g,a),I)}function r(a){var g=Math.round(a).toString(16).toUpperCase();return g.length<2?"0"+g:g}return UEA.exports}var JEA,VAe;function jAe(){if(VAe)return JEA;VAe=1;const t=PAe(),A={};for(const n of Object.keys(t))A[t[n]]=n;const e={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};JEA=e;for(const n of Object.keys(e)){if(!("channels"in e[n]))throw new Error("missing channels property: "+n);if(!("labels"in e[n]))throw new Error("missing channel labels property: "+n);if(e[n].labels.length!==e[n].channels)throw new Error("channel and label counts mismatch: "+n);const{channels:o,labels:s}=e[n];delete e[n].channels,delete e[n].labels,Object.defineProperty(e[n],"channels",{value:o}),Object.defineProperty(e[n],"labels",{value:s})}e.rgb.hsl=function(n){const o=n[0]/255,s=n[1]/255,r=n[2]/255,a=Math.min(o,s,r),g=Math.max(o,s,r),I=g-a;let c,B;g===a?c=0:o===g?c=(s-r)/I:s===g?c=2+(r-o)/I:r===g&&(c=4+(o-s)/I),c=Math.min(c*60,360),c<0&&(c+=360);const l=(a+g)/2;return g===a?B=0:l<=.5?B=I/(g+a):B=I/(2-g-a),[c,B*100,l*100]},e.rgb.hsv=function(n){let o,s,r,a,g;const I=n[0]/255,c=n[1]/255,B=n[2]/255,l=Math.max(I,c,B),C=l-Math.min(I,c,B),Q=function(E){return(l-E)/6/C+1/2};return C===0?(a=0,g=0):(g=C/l,o=Q(I),s=Q(c),r=Q(B),I===l?a=r-s:c===l?a=1/3+o-r:B===l&&(a=2/3+s-o),a<0?a+=1:a>1&&(a-=1)),[a*360,g*100,l*100]},e.rgb.hwb=function(n){const o=n[0],s=n[1];let r=n[2];const a=e.rgb.hsl(n)[0],g=1/255*Math.min(o,Math.min(s,r));return r=1-1/255*Math.max(o,Math.max(s,r)),[a,g*100,r*100]},e.rgb.cmyk=function(n){const o=n[0]/255,s=n[1]/255,r=n[2]/255,a=Math.min(1-o,1-s,1-r),g=(1-o-a)/(1-a)||0,I=(1-s-a)/(1-a)||0,c=(1-r-a)/(1-a)||0;return[g*100,I*100,c*100,a*100]};function i(n,o){return(n[0]-o[0])**2+(n[1]-o[1])**2+(n[2]-o[2])**2}return e.rgb.keyword=function(n){const o=A[n];if(o)return o;let s=1/0,r;for(const a of Object.keys(t)){const g=t[a],I=i(n,g);I<s&&(s=I,r=a)}return r},e.keyword.rgb=function(n){return t[n]},e.rgb.xyz=function(n){let o=n[0]/255,s=n[1]/255,r=n[2]/255;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;const a=o*.4124+s*.3576+r*.1805,g=o*.2126+s*.7152+r*.0722,I=o*.0193+s*.1192+r*.9505;return[a*100,g*100,I*100]},e.rgb.lab=function(n){const o=e.rgb.xyz(n);let s=o[0],r=o[1],a=o[2];s/=95.047,r/=100,a/=108.883,s=s>.008856?s**(1/3):7.787*s+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;const g=116*r-16,I=500*(s-r),c=200*(r-a);return[g,I,c]},e.hsl.rgb=function(n){const o=n[0]/360,s=n[1]/100,r=n[2]/100;let a,g,I;if(s===0)return I=r*255,[I,I,I];r<.5?a=r*(1+s):a=r+s-r*s;const c=2*r-a,B=[0,0,0];for(let l=0;l<3;l++)g=o+1/3*-(l-1),g<0&&g++,g>1&&g--,6*g<1?I=c+(a-c)*6*g:2*g<1?I=a:3*g<2?I=c+(a-c)*(2/3-g)*6:I=c,B[l]=I*255;return B},e.hsl.hsv=function(n){const o=n[0];let s=n[1]/100,r=n[2]/100,a=s;const g=Math.max(r,.01);r*=2,s*=r<=1?r:2-r,a*=g<=1?g:2-g;const I=(r+s)/2,c=r===0?2*a/(g+a):2*s/(r+s);return[o,c*100,I*100]},e.hsv.rgb=function(n){const o=n[0]/60,s=n[1]/100;let r=n[2]/100;const a=Math.floor(o)%6,g=o-Math.floor(o),I=255*r*(1-s),c=255*r*(1-s*g),B=255*r*(1-s*(1-g));switch(r*=255,a){case 0:return[r,B,I];case 1:return[c,r,I];case 2:return[I,r,B];case 3:return[I,c,r];case 4:return[B,I,r];case 5:return[r,I,c]}},e.hsv.hsl=function(n){const o=n[0],s=n[1]/100,r=n[2]/100,a=Math.max(r,.01);let g,I;I=(2-s)*r;const c=(2-s)*a;return g=s*a,g/=c<=1?c:2-c,g=g||0,I/=2,[o,g*100,I*100]},e.hwb.rgb=function(n){const o=n[0]/360;let s=n[1]/100,r=n[2]/100;const a=s+r;let g;a>1&&(s/=a,r/=a);const I=Math.floor(6*o),c=1-r;g=6*o-I,(I&1)!==0&&(g=1-g);const B=s+g*(c-s);let l,C,Q;switch(I){default:case 6:case 0:l=c,C=B,Q=s;break;case 1:l=B,C=c,Q=s;break;case 2:l=s,C=c,Q=B;break;case 3:l=s,C=B,Q=c;break;case 4:l=B,C=s,Q=c;break;case 5:l=c,C=s,Q=B;break}return[l*255,C*255,Q*255]},e.cmyk.rgb=function(n){const o=n[0]/100,s=n[1]/100,r=n[2]/100,a=n[3]/100,g=1-Math.min(1,o*(1-a)+a),I=1-Math.min(1,s*(1-a)+a),c=1-Math.min(1,r*(1-a)+a);return[g*255,I*255,c*255]},e.xyz.rgb=function(n){const o=n[0]/100,s=n[1]/100,r=n[2]/100;let a,g,I;return a=o*3.2406+s*-1.5372+r*-.4986,g=o*-.9689+s*1.8758+r*.0415,I=o*.0557+s*-.204+r*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,g=g>.0031308?1.055*g**(1/2.4)-.055:g*12.92,I=I>.0031308?1.055*I**(1/2.4)-.055:I*12.92,a=Math.min(Math.max(0,a),1),g=Math.min(Math.max(0,g),1),I=Math.min(Math.max(0,I),1),[a*255,g*255,I*255]},e.xyz.lab=function(n){let o=n[0],s=n[1],r=n[2];o/=95.047,s/=100,r/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,s=s>.008856?s**(1/3):7.787*s+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;const a=116*s-16,g=500*(o-s),I=200*(s-r);return[a,g,I]},e.lab.xyz=function(n){const o=n[0],s=n[1],r=n[2];let a,g,I;g=(o+16)/116,a=s/500+g,I=g-r/200;const c=g**3,B=a**3,l=I**3;return g=c>.008856?c:(g-16/116)/7.787,a=B>.008856?B:(a-16/116)/7.787,I=l>.008856?l:(I-16/116)/7.787,a*=95.047,g*=100,I*=108.883,[a,g,I]},e.lab.lch=function(n){const o=n[0],s=n[1],r=n[2];let a;a=Math.atan2(r,s)*360/2/Math.PI,a<0&&(a+=360);const I=Math.sqrt(s*s+r*r);return[o,I,a]},e.lch.lab=function(n){const o=n[0],s=n[1],a=n[2]/360*2*Math.PI,g=s*Math.cos(a),I=s*Math.sin(a);return[o,g,I]},e.rgb.ansi16=function(n,o=null){const[s,r,a]=n;let g=o===null?e.rgb.hsv(n)[2]:o;if(g=Math.round(g/50),g===0)return 30;let I=30+(Math.round(a/255)<<2|Math.round(r/255)<<1|Math.round(s/255));return g===2&&(I+=60),I},e.hsv.ansi16=function(n){return e.rgb.ansi16(e.hsv.rgb(n),n[2])},e.rgb.ansi256=function(n){const o=n[0],s=n[1],r=n[2];return o===s&&s===r?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(s/255*5)+Math.round(r/255*5)},e.ansi16.rgb=function(n){let o=n%10;if(o===0||o===7)return n>50&&(o+=3.5),o=o/10.5*255,[o,o,o];const s=(~~(n>50)+1)*.5,r=(o&1)*s*255,a=(o>>1&1)*s*255,g=(o>>2&1)*s*255;return[r,a,g]},e.ansi256.rgb=function(n){if(n>=232){const g=(n-232)*10+8;return[g,g,g]}n-=16;let o;const s=Math.floor(n/36)/5*255,r=Math.floor((o=n%36)/6)/5*255,a=o%6/5*255;return[s,r,a]},e.rgb.hex=function(n){const s=(((Math.round(n[0])&255)<<16)+((Math.round(n[1])&255)<<8)+(Math.round(n[2])&255)).toString(16).toUpperCase();return"000000".substring(s.length)+s},e.hex.rgb=function(n){const o=n.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let s=o[0];o[0].length===3&&(s=s.split("").map(c=>c+c).join(""));const r=parseInt(s,16),a=r>>16&255,g=r>>8&255,I=r&255;return[a,g,I]},e.rgb.hcg=function(n){const o=n[0]/255,s=n[1]/255,r=n[2]/255,a=Math.max(Math.max(o,s),r),g=Math.min(Math.min(o,s),r),I=a-g;let c,B;return I<1?c=g/(1-I):c=0,I<=0?B=0:a===o?B=(s-r)/I%6:a===s?B=2+(r-o)/I:B=4+(o-s)/I,B/=6,B%=1,[B*360,I*100,c*100]},e.hsl.hcg=function(n){const o=n[1]/100,s=n[2]/100,r=s<.5?2*o*s:2*o*(1-s);let a=0;return r<1&&(a=(s-.5*r)/(1-r)),[n[0],r*100,a*100]},e.hsv.hcg=function(n){const o=n[1]/100,s=n[2]/100,r=o*s;let a=0;return r<1&&(a=(s-r)/(1-r)),[n[0],r*100,a*100]},e.hcg.rgb=function(n){const o=n[0]/360,s=n[1]/100,r=n[2]/100;if(s===0)return[r*255,r*255,r*255];const a=[0,0,0],g=o%1*6,I=g%1,c=1-I;let B=0;switch(Math.floor(g)){case 0:a[0]=1,a[1]=I,a[2]=0;break;case 1:a[0]=c,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=I;break;case 3:a[0]=0,a[1]=c,a[2]=1;break;case 4:a[0]=I,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=c}return B=(1-s)*r,[(s*a[0]+B)*255,(s*a[1]+B)*255,(s*a[2]+B)*255]},e.hcg.hsv=function(n){const o=n[1]/100,s=n[2]/100,r=o+s*(1-o);let a=0;return r>0&&(a=o/r),[n[0],a*100,r*100]},e.hcg.hsl=function(n){const o=n[1]/100,r=n[2]/100*(1-o)+.5*o;let a=0;return r>0&&r<.5?a=o/(2*r):r>=.5&&r<1&&(a=o/(2*(1-r))),[n[0],a*100,r*100]},e.hcg.hwb=function(n){const o=n[1]/100,s=n[2]/100,r=o+s*(1-o);return[n[0],(r-o)*100,(1-r)*100]},e.hwb.hcg=function(n){const o=n[1]/100,r=1-n[2]/100,a=r-o;let g=0;return a<1&&(g=(r-a)/(1-a)),[n[0],a*100,g*100]},e.apple.rgb=function(n){return[n[0]/65535*255,n[1]/65535*255,n[2]/65535*255]},e.rgb.apple=function(n){return[n[0]/255*65535,n[1]/255*65535,n[2]/255*65535]},e.gray.rgb=function(n){return[n[0]/100*255,n[0]/100*255,n[0]/100*255]},e.gray.hsl=function(n){return[0,0,n[0]]},e.gray.hsv=e.gray.hsl,e.gray.hwb=function(n){return[0,100,n[0]]},e.gray.cmyk=function(n){return[0,0,0,n[0]]},e.gray.lab=function(n){return[n[0],0,0]},e.gray.hex=function(n){const o=Math.round(n[0]/100*255)&255,r=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(r.length)+r},e.rgb.gray=function(n){return[(n[0]+n[1]+n[2])/3/255*100]},JEA}var TEA,zAe;function k2t(){if(zAe)return TEA;zAe=1;const t=jAe();function A(){const o={},s=Object.keys(t);for(let r=s.length,a=0;a<r;a++)o[s[a]]={distance:-1,parent:null};return o}function e(o){const s=A(),r=[o];for(s[o].distance=0;r.length;){const a=r.pop(),g=Object.keys(t[a]);for(let I=g.length,c=0;c<I;c++){const B=g[c],l=s[B];l.distance===-1&&(l.distance=s[a].distance+1,l.parent=a,r.unshift(B))}}return s}function i(o,s){return function(r){return s(o(r))}}function n(o,s){const r=[s[o].parent,o];let a=t[s[o].parent][o],g=s[o].parent;for(;s[g].parent;)r.unshift(s[g].parent),a=i(t[s[g].parent][g],a),g=s[g].parent;return a.conversion=r,a}return TEA=function(o){const s=e(o),r={},a=Object.keys(s);for(let g=a.length,I=0;I<g;I++){const c=a[I];s[c].parent!==null&&(r[c]=n(c,s))}return r},TEA}var KEA,XAe;function G2t(){if(XAe)return KEA;XAe=1;const t=jAe(),A=k2t(),e={},i=Object.keys(t);function n(s){const r=function(...a){const g=a[0];return g==null?g:(g.length>1&&(a=g),s(a))};return"conversion"in s&&(r.conversion=s.conversion),r}function o(s){const r=function(...a){const g=a[0];if(g==null)return g;g.length>1&&(a=g);const I=s(a);if(typeof I=="object")for(let c=I.length,B=0;B<c;B++)I[B]=Math.round(I[B]);return I};return"conversion"in s&&(r.conversion=s.conversion),r}return i.forEach(s=>{e[s]={},Object.defineProperty(e[s],"channels",{value:t[s].channels}),Object.defineProperty(e[s],"labels",{value:t[s].labels});const r=A(s);Object.keys(r).forEach(g=>{const I=r[g];e[s][g]=o(I),e[s][g].raw=n(I)})}),KEA=e,KEA}var qEA,$Ae;function F2t(){if($Ae)return qEA;$Ae=1;const t=x2t(),A=G2t(),e=["keyword","gray","hex"],i={};for(const B of Object.keys(A))i[[...A[B].labels].sort().join("")]=B;const n={};function o(B,l){if(!(this instanceof o))return new o(B,l);if(l&&l in e&&(l=null),l&&!(l in A))throw new Error("Unknown model: "+l);let C,Q;if(B==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(B instanceof o)this.model=B.model,this.color=[...B.color],this.valpha=B.valpha;else if(typeof B=="string"){const E=t.get(B);if(E===null)throw new Error("Unable to parse color from string: "+B);this.model=E.model,Q=A[this.model].channels,this.color=E.value.slice(0,Q),this.valpha=typeof E.value[Q]=="number"?E.value[Q]:1}else if(B.length>0){this.model=l||"rgb",Q=A[this.model].channels;const E=Array.prototype.slice.call(B,0,Q);this.color=c(E,Q),this.valpha=typeof B[Q]=="number"?B[Q]:1}else if(typeof B=="number")this.model="rgb",this.color=[B>>16&255,B>>8&255,B&255],this.valpha=1;else{this.valpha=1;const E=Object.keys(B);"alpha"in B&&(E.splice(E.indexOf("alpha"),1),this.valpha=typeof B.alpha=="number"?B.alpha:0);const h=E.sort().join("");if(!(h in i))throw new Error("Unable to parse color from object: "+JSON.stringify(B));this.model=i[h];const{labels:u}=A[this.model],d=[];for(C=0;C<u.length;C++)d.push(B[u[C]]);this.color=c(d)}if(n[this.model])for(Q=A[this.model].channels,C=0;C<Q;C++){const E=n[this.model][C];E&&(this.color[C]=E(this.color[C]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}o.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(B){let l=this.model in t.to?this:this.rgb();l=l.round(typeof B=="number"?B:1);const C=l.valpha===1?l.color:[...l.color,this.valpha];return t.to[l.model](C)},percentString(B){const l=this.rgb().round(typeof B=="number"?B:1),C=l.valpha===1?l.color:[...l.color,this.valpha];return t.to.rgb.percent(C)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const B={},{channels:l}=A[this.model],{labels:C}=A[this.model];for(let Q=0;Q<l;Q++)B[C[Q]]=this.color[Q];return this.valpha!==1&&(B.alpha=this.valpha),B},unitArray(){const B=this.rgb().color;return B[0]/=255,B[1]/=255,B[2]/=255,this.valpha!==1&&B.push(this.valpha),B},unitObject(){const B=this.rgb().object();return B.r/=255,B.g/=255,B.b/=255,this.valpha!==1&&(B.alpha=this.valpha),B},round(B){return B=Math.max(B||0,0),new o([...this.color.map(r(B)),this.valpha],this.model)},alpha(B){return B!==void 0?new o([...this.color,Math.max(0,Math.min(1,B))],this.model):this.valpha},red:a("rgb",0,g(255)),green:a("rgb",1,g(255)),blue:a("rgb",2,g(255)),hue:a(["hsl","hsv","hsl","hwb","hcg"],0,B=>(B%360+360)%360),saturationl:a("hsl",1,g(100)),lightness:a("hsl",2,g(100)),saturationv:a("hsv",1,g(100)),value:a("hsv",2,g(100)),chroma:a("hcg",1,g(100)),gray:a("hcg",2,g(100)),white:a("hwb",1,g(100)),wblack:a("hwb",2,g(100)),cyan:a("cmyk",0,g(100)),magenta:a("cmyk",1,g(100)),yellow:a("cmyk",2,g(100)),black:a("cmyk",3,g(100)),x:a("xyz",0,g(95.047)),y:a("xyz",1,g(100)),z:a("xyz",2,g(108.833)),l:a("lab",0,g(100)),a:a("lab",1),b:a("lab",2),keyword(B){return B!==void 0?new o(B):A[this.model].keyword(this.color)},hex(B){return B!==void 0?new o(B):t.to.hex(this.rgb().round().color)},hexa(B){if(B!==void 0)return new o(B);const l=this.rgb().round().color;let C=Math.round(this.valpha*255).toString(16).toUpperCase();return C.length===1&&(C="0"+C),t.to.hex(l)+C},rgbNumber(){const B=this.rgb().color;return(B[0]&255)<<16|(B[1]&255)<<8|B[2]&255},luminosity(){const B=this.rgb().color,l=[];for(const[C,Q]of B.entries()){const E=Q/255;l[C]=E<=.04045?E/12.92:((E+.055)/1.055)**2.4}return .2126*l[0]+.7152*l[1]+.0722*l[2]},contrast(B){const l=this.luminosity(),C=B.luminosity();return l>C?(l+.05)/(C+.05):(C+.05)/(l+.05)},level(B){const l=this.contrast(B);return l>=7?"AAA":l>=4.5?"AA":""},isDark(){const B=this.rgb().color;return(B[0]*2126+B[1]*7152+B[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const B=this.rgb();for(let l=0;l<3;l++)B.color[l]=255-B.color[l];return B},lighten(B){const l=this.hsl();return l.color[2]+=l.color[2]*B,l},darken(B){const l=this.hsl();return l.color[2]-=l.color[2]*B,l},saturate(B){const l=this.hsl();return l.color[1]+=l.color[1]*B,l},desaturate(B){const l=this.hsl();return l.color[1]-=l.color[1]*B,l},whiten(B){const l=this.hwb();return l.color[1]+=l.color[1]*B,l},blacken(B){const l=this.hwb();return l.color[2]+=l.color[2]*B,l},grayscale(){const B=this.rgb().color,l=B[0]*.3+B[1]*.59+B[2]*.11;return o.rgb(l,l,l)},fade(B){return this.alpha(this.valpha-this.valpha*B)},opaquer(B){return this.alpha(this.valpha+this.valpha*B)},rotate(B){const l=this.hsl();let C=l.color[0];return C=(C+B)%360,C=C<0?360+C:C,l.color[0]=C,l},mix(B,l){if(!B||!B.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof B);const C=B.rgb(),Q=this.rgb(),E=l===void 0?.5:l,h=2*E-1,u=C.alpha()-Q.alpha(),d=((h*u===-1?h:(h+u)/(1+h*u))+1)/2,f=1-d;return o.rgb(d*C.red()+f*Q.red(),d*C.green()+f*Q.green(),d*C.blue()+f*Q.blue(),C.alpha()*E+Q.alpha()*(1-E))}};for(const B of Object.keys(A)){if(e.includes(B))continue;const{channels:l}=A[B];o.prototype[B]=function(...C){return this.model===B?new o(this):C.length>0?new o(C,B):new o([...I(A[this.model][B].raw(this.color)),this.valpha],B)},o[B]=function(...C){let Q=C[0];return typeof Q=="number"&&(Q=c(C,l)),new o(Q,B)}}function s(B,l){return Number(B.toFixed(l))}function r(B){return function(l){return s(l,B)}}function a(B,l,C){B=Array.isArray(B)?B:[B];for(const Q of B)(n[Q]||(n[Q]=[]))[l]=C;return B=B[0],function(Q){let E;return Q!==void 0?(C&&(Q=C(Q)),E=this[B](),E.color[l]=Q,E):(E=this[B]().color[l],C&&(E=C(E)),E)}}function g(B){return function(l){return Math.max(0,Math.min(B,l))}}function I(B){return Array.isArray(B)?B:[B]}function c(B,l){for(let C=0;C<l;C++)typeof B[C]!="number"&&(B[C]=0);return B}return qEA=o,qEA}var R2t=F2t();const Aee=Fp(R2t);function N2t(t){if(t.sheet)return t.sheet;for(var A=0;A<document.styleSheets.length;A++)if(document.styleSheets[A].ownerNode===t)return document.styleSheets[A]}function _2t(t){var A=document.createElement("style");return A.setAttribute("data-emotion",t.key),t.nonce!==void 0&&A.setAttribute("nonce",t.nonce),A.appendChild(document.createTextNode("")),A.setAttribute("data-s",""),A}var M2t=(function(){function t(e){var i=this;this._insertTag=function(n){var o;i.tags.length===0?i.insertionPoint?o=i.insertionPoint.nextSibling:i.prepend?o=i.container.firstChild:o=i.before:o=i.tags[i.tags.length-1].nextSibling,i.container.insertBefore(n,o),i.tags.push(n)},this.isSpeedy=e.speedy===void 0?!0:e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var A=t.prototype;return A.hydrate=function(i){i.forEach(this._insertTag)},A.insert=function(i){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(_2t(this));var n=this.tags[this.tags.length-1];if(this.isSpeedy){var o=N2t(n);try{o.insertRule(i,o.cssRules.length)}catch{}}else n.appendChild(document.createTextNode(i));this.ctr++},A.flush=function(){this.tags.forEach(function(i){var n;return(n=i.parentNode)==null?void 0:n.removeChild(i)}),this.tags=[],this.ctr=0},t})(),Fu="-ms-",kW="-moz-",Ha="-webkit-",eee="comm",PEA="rule",OEA="decl",v2t="@import",tee="@keyframes",U2t="@layer",L2t=Math.abs,GW=String.fromCharCode,H2t=Object.assign;function Y2t(t,A){return Eh(t,0)^45?(((A<<2^Eh(t,0))<<2^Eh(t,1))<<2^Eh(t,2))<<2^Eh(t,3):0}function iee(t){return t.trim()}function J2t(t,A){return(t=A.exec(t))?t[0]:t}function Ya(t,A,e){return t.replace(A,e)}function WEA(t,A){return t.indexOf(A)}function Eh(t,A){return t.charCodeAt(A)|0}function dH(t,A,e){return t.slice(A,e)}function zw(t){return t.length}function ZEA(t){return t.length}function FW(t,A){return A.push(t),t}function T2t(t,A){return t.map(A).join("")}var RW=1,LM=1,nee=0,Af=0,DC=0,HM="";function NW(t,A,e,i,n,o,s){return{value:t,root:A,parent:e,type:i,props:n,children:o,line:RW,column:LM,length:s,return:""}}function pH(t,A){return H2t(NW("",null,null,"",null,null,0),t,{length:-t.length},A)}function K2t(){return DC}function q2t(){return DC=Af>0?Eh(HM,--Af):0,LM--,DC===10&&(LM=1,RW--),DC}function g0(){return DC=Af<nee?Eh(HM,Af++):0,LM++,DC===10&&(LM=1,RW++),DC}function Xw(){return Eh(HM,Af)}function _W(){return Af}function fH(t,A){return dH(HM,t,A)}function yH(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function oee(t){return RW=LM=1,nee=zw(HM=t),Af=0,[]}function see(t){return HM="",t}function MW(t){return iee(fH(Af-1,VEA(t===91?t+2:t===40?t+1:t)))}function P2t(t){for(;(DC=Xw())&&DC<33;)g0();return yH(t)>2||yH(DC)>3?"":" "}function O2t(t,A){for(;--A&&g0()&&!(DC<48||DC>102||DC>57&&DC<65||DC>70&&DC<97););return fH(t,_W()+(A<6&&Xw()==32&&g0()==32))}function VEA(t){for(;g0();)switch(DC){case t:return Af;case 34:case 39:t!==34&&t!==39&&VEA(DC);break;case 40:t===41&&VEA(t);break;case 92:g0();break}return Af}function W2t(t,A){for(;g0()&&t+DC!==57;)if(t+DC===84&&Xw()===47)break;return"/*"+fH(A,Af-1)+"*"+GW(t===47?t:g0())}function Z2t(t){for(;!yH(Xw());)g0();return fH(t,Af)}function V2t(t){return see(vW("",null,null,null,[""],t=oee(t),0,[0],t))}function vW(t,A,e,i,n,o,s,r,a){for(var g=0,I=0,c=s,B=0,l=0,C=0,Q=1,E=1,h=1,u=0,d="",f=n,w=o,S=i,D=d;E;)switch(C=u,u=g0()){case 40:if(C!=108&&Eh(D,c-1)==58){WEA(D+=Ya(MW(u),"&","&\f"),"&\f")!=-1&&(h=-1);break}case 34:case 39:case 91:D+=MW(u);break;case 9:case 10:case 13:case 32:D+=P2t(C);break;case 92:D+=O2t(_W()-1,7);continue;case 47:switch(Xw()){case 42:case 47:FW(j2t(W2t(g0(),_W()),A,e),a);break;default:D+="/"}break;case 123*Q:r[g++]=zw(D)*h;case 125*Q:case 59:case 0:switch(u){case 0:case 125:E=0;case 59+I:h==-1&&(D=Ya(D,/\f/g,"")),l>0&&zw(D)-c&&FW(l>32?aee(D+";",i,e,c-1):aee(Ya(D," ","")+";",i,e,c-2),a);break;case 59:D+=";";default:if(FW(S=ree(D,A,e,g,I,n,r,d,f=[],w=[],c),o),u===123)if(I===0)vW(D,A,S,S,f,o,c,r,w);else switch(B===99&&Eh(D,3)===110?100:B){case 100:case 108:case 109:case 115:vW(t,S,S,i&&FW(ree(t,S,S,0,0,n,r,d,n,f=[],c),w),n,w,c,r,i?f:w);break;default:vW(D,S,S,S,[""],w,0,r,w)}}g=I=l=0,Q=h=1,d=D="",c=s;break;case 58:c=1+zw(D),l=C;default:if(Q<1){if(u==123)--Q;else if(u==125&&Q++==0&&q2t()==125)continue}switch(D+=GW(u),u*Q){case 38:h=I>0?1:(D+="\f",-1);break;case 44:r[g++]=(zw(D)-1)*h,h=1;break;case 64:Xw()===45&&(D+=MW(g0())),B=Xw(),I=c=zw(d=D+=Z2t(_W())),u++;break;case 45:C===45&&zw(D)==2&&(Q=0)}}return o}function ree(t,A,e,i,n,o,s,r,a,g,I){for(var c=n-1,B=n===0?o:[""],l=ZEA(B),C=0,Q=0,E=0;C<i;++C)for(var h=0,u=dH(t,c+1,c=L2t(Q=s[C])),d=t;h<l;++h)(d=iee(Q>0?B[h]+" "+u:Ya(u,/&\f/g,B[h])))&&(a[E++]=d);return NW(t,A,e,n===0?PEA:r,a,g,I)}function j2t(t,A,e){return NW(t,A,e,eee,GW(K2t()),dH(t,2,-2),0)}function aee(t,A,e,i){return NW(t,A,e,OEA,dH(t,0,i),dH(t,i+1,-1),i)}function YM(t,A){for(var e="",i=ZEA(t),n=0;n<i;n++)e+=A(t[n],n,t,A)||"";return e}function z2t(t,A,e,i){switch(t.type){case U2t:if(t.children.length)break;case v2t:case OEA:return t.return=t.return||t.value;case eee:return"";case tee:return t.return=t.value+"{"+YM(t.children,i)+"}";case PEA:t.value=t.props.join(",")}return zw(e=YM(t.children,i))?t.return=t.value+"{"+e+"}":""}function X2t(t){var A=ZEA(t);return function(e,i,n,o){for(var s="",r=0;r<A;r++)s+=t[r](e,i,n,o)||"";return s}}function $2t(t){return function(A){A.root||(A=A.return)&&t(A)}}function AUt(t){var A=Object.create(null);return function(e){return A[e]===void 0&&(A[e]=t(e)),A[e]}}var eUt=function(A,e,i){for(var n=0,o=0;n=o,o=Xw(),n===38&&o===12&&(e[i]=1),!yH(o);)g0();return fH(A,Af)},tUt=function(A,e){var i=-1,n=44;do switch(yH(n)){case 0:n===38&&Xw()===12&&(e[i]=1),A[i]+=eUt(Af-1,e,i);break;case 2:A[i]+=MW(n);break;case 4:if(n===44){A[++i]=Xw()===58?"&\f":"",e[i]=A[i].length;break}default:A[i]+=GW(n)}while(n=g0());return A},iUt=function(A,e){return see(tUt(oee(A),e))},gee=new WeakMap,nUt=function(A){if(!(A.type!=="rule"||!A.parent||A.length<1)){for(var e=A.value,i=A.parent,n=A.column===i.column&&A.line===i.line;i.type!=="rule";)if(i=i.parent,!i)return;if(!(A.props.length===1&&e.charCodeAt(0)!==58&&!gee.get(i))&&!n){gee.set(A,!0);for(var o=[],s=iUt(e,o),r=i.props,a=0,g=0;a<s.length;a++)for(var I=0;I<r.length;I++,g++)A.props[g]=o[a]?s[a].replace(/&\f/g,r[I]):r[I]+" "+s[a]}}},oUt=function(A){if(A.type==="decl"){var e=A.value;e.charCodeAt(0)===108&&e.charCodeAt(2)===98&&(A.return="",A.value="")}};function Iee(t,A){switch(Y2t(t,A)){case 5103:return Ha+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Ha+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return Ha+t+kW+t+Fu+t+t;case 6828:case 4268:return Ha+t+Fu+t+t;case 6165:return Ha+t+Fu+"flex-"+t+t;case 5187:return Ha+t+Ya(t,/(\w+).+(:[^]+)/,Ha+"box-$1$2"+Fu+"flex-$1$2")+t;case 5443:return Ha+t+Fu+"flex-item-"+Ya(t,/flex-|-self/,"")+t;case 4675:return Ha+t+Fu+"flex-line-pack"+Ya(t,/align-content|flex-|-self/,"")+t;case 5548:return Ha+t+Fu+Ya(t,"shrink","negative")+t;case 5292:return Ha+t+Fu+Ya(t,"basis","preferred-size")+t;case 6060:return Ha+"box-"+Ya(t,"-grow","")+Ha+t+Fu+Ya(t,"grow","positive")+t;case 4554:return Ha+Ya(t,/([^-])(transform)/g,"$1"+Ha+"$2")+t;case 6187:return Ya(Ya(Ya(t,/(zoom-|grab)/,Ha+"$1"),/(image-set)/,Ha+"$1"),t,"")+t;case 5495:case 3959:return Ya(t,/(image-set\([^]*)/,Ha+"$1$`$1");case 4968:return Ya(Ya(t,/(.+:)(flex-)?(.*)/,Ha+"box-pack:$3"+Fu+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Ha+t+t;case 4095:case 3583:case 4068:case 2532:return Ya(t,/(.+)-inline(.+)/,Ha+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(zw(t)-1-A>6)switch(Eh(t,A+1)){case 109:if(Eh(t,A+4)!==45)break;case 102:return Ya(t,/(.+:)(.+)-([^]+)/,"$1"+Ha+"$2-$3$1"+kW+(Eh(t,A+3)==108?"$3":"$2-$3"))+t;case 115:return~WEA(t,"stretch")?Iee(Ya(t,"stretch","fill-available"),A)+t:t}break;case 4949:if(Eh(t,A+1)!==115)break;case 6444:switch(Eh(t,zw(t)-3-(~WEA(t,"!important")&&10))){case 107:return Ya(t,":",":"+Ha)+t;case 101:return Ya(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ha+(Eh(t,14)===45?"inline-":"")+"box$3$1"+Ha+"$2$3$1"+Fu+"$2box$3")+t}break;case 5936:switch(Eh(t,A+11)){case 114:return Ha+t+Fu+Ya(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return Ha+t+Fu+Ya(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return Ha+t+Fu+Ya(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return Ha+t+Fu+t+t}return t}var sUt=function(A,e,i,n){if(A.length>-1&&!A.return)switch(A.type){case OEA:A.return=Iee(A.value,A.length);break;case tee:return YM([pH(A,{value:Ya(A.value,"@","@"+Ha)})],n);case PEA:if(A.length)return T2t(A.props,function(o){switch(J2t(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return YM([pH(A,{props:[Ya(o,/:(read-\w+)/,":"+kW+"$1")]})],n);case"::placeholder":return YM([pH(A,{props:[Ya(o,/:(plac\w+)/,":"+Ha+"input-$1")]}),pH(A,{props:[Ya(o,/:(plac\w+)/,":"+kW+"$1")]}),pH(A,{props:[Ya(o,/:(plac\w+)/,Fu+"input-$1")]})],n)}return""})}},rUt=[sUt],aUt=function(A){var e=A.key;if(e==="css"){var i=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(i,function(Q){var E=Q.getAttribute("data-emotion");E.indexOf(" ")!==-1&&(document.head.appendChild(Q),Q.setAttribute("data-s",""))})}var n=A.stylisPlugins||rUt,o={},s,r=[];s=A.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+e+' "]'),function(Q){for(var E=Q.getAttribute("data-emotion").split(" "),h=1;h<E.length;h++)o[E[h]]=!0;r.push(Q)});var a,g=[nUt,oUt];{var I,c=[z2t,$2t(function(Q){I.insert(Q)})],B=X2t(g.concat(n,c)),l=function(E){return YM(V2t(E),B)};a=function(E,h,u,d){I=u,l(E?E+"{"+h.styles+"}":h.styles),d&&(C.inserted[h.name]=!0)}}var C={key:e,sheet:new M2t({key:e,container:s,nonce:A.nonce,speedy:A.speedy,prepend:A.prepend,insertionPoint:A.insertionPoint}),nonce:A.nonce,inserted:o,registered:{},insert:a};return C.sheet.hydrate(r),C};function gUt(t){for(var A=0,e,i=0,n=t.length;n>=4;++i,n-=4)e=t.charCodeAt(i)&255|(t.charCodeAt(++i)&255)<<8|(t.charCodeAt(++i)&255)<<16|(t.charCodeAt(++i)&255)<<24,e=(e&65535)*1540483477+((e>>>16)*59797<<16),e^=e>>>24,A=(e&65535)*1540483477+((e>>>16)*59797<<16)^(A&65535)*1540483477+((A>>>16)*59797<<16);switch(n){case 3:A^=(t.charCodeAt(i+2)&255)<<16;case 2:A^=(t.charCodeAt(i+1)&255)<<8;case 1:A^=t.charCodeAt(i)&255,A=(A&65535)*1540483477+((A>>>16)*59797<<16)}return A^=A>>>13,A=(A&65535)*1540483477+((A>>>16)*59797<<16),((A^A>>>15)>>>0).toString(36)}var IUt={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},cUt=/[A-Z]|^ms/g,BUt=/_EMO_([^_]+?)_([^]*?)_EMO_/g,cee=function(A){return A.charCodeAt(1)===45},Bee=function(A){return A!=null&&typeof A!="boolean"},jEA=AUt(function(t){return cee(t)?t:t.replace(cUt,"-$&").toLowerCase()}),lee=function(A,e){switch(A){case"animation":case"animationName":if(typeof e=="string")return e.replace(BUt,function(i,n,o){return Vx={name:n,styles:o,next:Vx},n})}return IUt[A]!==1&&!cee(A)&&typeof e=="number"&&e!==0?e+"px":e};function UW(t,A,e){if(e==null)return"";var i=e;if(i.__emotion_styles!==void 0)return i;switch(typeof e){case"boolean":return"";case"object":{var n=e;if(n.anim===1)return Vx={name:n.name,styles:n.styles,next:Vx},n.name;var o=e;if(o.styles!==void 0){var s=o.next;if(s!==void 0)for(;s!==void 0;)Vx={name:s.name,styles:s.styles,next:Vx},s=s.next;var r=o.styles+";";return r}return lUt(t,A,e)}}var a=e;if(A==null)return a;var g=A[a];return g!==void 0?g:a}function lUt(t,A,e){var i="";if(Array.isArray(e))for(var n=0;n<e.length;n++)i+=UW(t,A,e[n])+";";else for(var o in e){var s=e[o];if(typeof s!="object"){var r=s;A!=null&&A[r]!==void 0?i+=o+"{"+A[r]+"}":Bee(r)&&(i+=jEA(o)+":"+lee(o,r)+";")}else if(Array.isArray(s)&&typeof s[0]=="string"&&(A==null||A[s[0]]===void 0))for(var a=0;a<s.length;a++)Bee(s[a])&&(i+=jEA(o)+":"+lee(o,s[a])+";");else{var g=UW(t,A,s);switch(o){case"animation":case"animationName":{i+=jEA(o)+":"+g+";";break}default:i+=o+"{"+g+"}"}}}return i}var Cee=/label:\s*([^\s;{]+)\s*(;|$)/g,Vx;function zEA(t,A,e){if(t.length===1&&typeof t[0]=="object"&&t[0]!==null&&t[0].styles!==void 0)return t[0];var i=!0,n="";Vx=void 0;var o=t[0];if(o==null||o.raw===void 0)i=!1,n+=UW(e,A,o);else{var s=o;n+=s[0]}for(var r=1;r<t.length;r++)if(n+=UW(e,A,t[r]),i){var a=o;n+=a[r]}Cee.lastIndex=0;for(var g="",I;(I=Cee.exec(n))!==null;)g+="-"+I[1];var c=gUt(n)+g;return{name:c,styles:n,next:Vx}}function Qee(t,A,e){var i="";return e.split(" ").forEach(function(n){t[n]!==void 0?A.push(t[n]+";"):n&&(i+=n+" ")}),i}var CUt=function(A,e,i){var n=A.key+"-"+e.name;A.registered[n]===void 0&&(A.registered[n]=e.styles)},QUt=function(A,e,i){CUt(A,e);var n=A.key+"-"+e.name;if(A.inserted[e.name]===void 0){var o=e;do A.insert(e===o?"."+n:"",o,A.sheet,!0),o=o.next;while(o!==void 0)}};function Eee(t,A){if(t.inserted[A.name]===void 0)return t.insert("",A,t.sheet,!0)}function hee(t,A,e){var i=[],n=Qee(t,i,e);return i.length<2?e:n+A(i)}var EUt=function(A){var e=aUt(A);e.sheet.speedy=function(r){this.isSpeedy=r},e.compat=!0;var i=function(){for(var a=arguments.length,g=new Array(a),I=0;I<a;I++)g[I]=arguments[I];var c=zEA(g,e.registered,void 0);return QUt(e,c),e.key+"-"+c.name},n=function(){for(var a=arguments.length,g=new Array(a),I=0;I<a;I++)g[I]=arguments[I];var c=zEA(g,e.registered),B="animation-"+c.name;return Eee(e,{name:c.name,styles:"@keyframes "+B+"{"+c.styles+"}"}),B},o=function(){for(var a=arguments.length,g=new Array(a),I=0;I<a;I++)g[I]=arguments[I];var c=zEA(g,e.registered);Eee(e,c)},s=function(){for(var a=arguments.length,g=new Array(a),I=0;I<a;I++)g[I]=arguments[I];return hee(e.registered,i,hUt(g))};return{css:i,cx:s,injectGlobal:o,keyframes:n,hydrate:function(a){a.forEach(function(g){e.inserted[g]=!0})},flush:function(){e.registered={},e.inserted={},e.sheet.flush()},sheet:e.sheet,cache:e,getRegisteredStyles:Qee.bind(null,e.registered),merge:hee.bind(null,e.registered,i)}},hUt=function t(A){for(var e="",i=0;i<A.length;i++){var n=A[i];if(n!=null){var o=void 0;switch(typeof n){case"boolean":break;case"object":{if(Array.isArray(n))o=t(n);else{o="";for(var s in n)n[s]&&s&&(o&&(o+=" "),o+=s)}break}default:o=n}o&&(e&&(e+=" "),e+=o)}}return e},uUt=EUt({key:"css"}),JM=uUt.css,dUt=Object.create,uee=Object.defineProperty,pUt=Object.getOwnPropertyDescriptor,dee=Object.getOwnPropertyNames,fUt=Object.getPrototypeOf,yUt=Object.prototype.hasOwnProperty,Da=(t,A)=>function(){return A||(0,t[dee(t)[0]])((A={exports:{}}).exports,A),A.exports},mUt=(t,A,e,i)=>{if(A&&typeof A=="object"||typeof A=="function")for(let n of dee(A))!yUt.call(t,n)&&n!==e&&uee(t,n,{get:()=>A[n],enumerable:!(i=pUt(A,n))||i.enumerable});return t},pee=(t,A,e)=>(e=t!=null?dUt(fUt(t)):{},mUt(uee(e,"default",{value:t,enumerable:!0}),t)),wUt=Da({"node_modules/svgson/dist/svgson.umd.js"(t,A){(function(e,i){typeof t=="object"&&typeof A<"u"?A.exports=i():typeof define=="function"&&define.amd?define(i):(e=typeof globalThis<"u"?globalThis:e||self,e.svgson=i())})(t,function(){var e=function(tA){return tA!=null&&(i(tA)||n(tA)||!!tA._isBuffer)};function i(tA){return!!tA.constructor&&typeof tA.constructor.isBuffer=="function"&&tA.constructor.isBuffer(tA)}function n(tA){return typeof tA.readFloatLE=="function"&&typeof tA.slice=="function"&&i(tA.slice(0,0))}var o=Object.prototype.toString,s=function(oA){if(typeof oA>"u")return"undefined";if(oA===null)return"null";if(oA===!0||oA===!1||oA instanceof Boolean)return"boolean";if(typeof oA=="string"||oA instanceof String)return"string";if(typeof oA=="number"||oA instanceof Number)return"number";if(typeof oA=="function"||oA instanceof Function)return"function";if(typeof Array.isArray<"u"&&Array.isArray(oA))return"array";if(oA instanceof RegExp)return"regexp";if(oA instanceof Date)return"date";var rA=o.call(oA);return rA==="[object RegExp]"?"regexp":rA==="[object Date]"?"date":rA==="[object Arguments]"?"arguments":rA==="[object Error]"?"error":e(oA)?"buffer":rA==="[object Set]"?"set":rA==="[object WeakSet]"?"weakset":rA==="[object Map]"?"map":rA==="[object WeakMap]"?"weakmap":rA==="[object Symbol]"?"symbol":rA==="[object Int8Array]"?"int8array":rA==="[object Uint8Array]"?"uint8array":rA==="[object Uint8ClampedArray]"?"uint8clampedarray":rA==="[object Int16Array]"?"int16array":rA==="[object Uint16Array]"?"uint16array":rA==="[object Int32Array]"?"int32array":rA==="[object Uint32Array]"?"uint32array":rA==="[object Float32Array]"?"float32array":rA==="[object Float64Array]"?"float64array":"object"};function r(tA,oA){return oA={exports:{}},tA(oA,oA.exports),oA.exports}var a=r(function(tA){(function(){function oA(rA,CA){if(typeof CA!="function")return rA;var dA={};for(var bA in rA)Object.prototype.hasOwnProperty.call(rA,bA)&&(dA[CA(bA,rA[bA])||bA]=rA[bA]);return dA}tA.exports?tA.exports=oA:window.rename=oA})()}),g=function tA(oA,rA){var CA=s(oA);if(CA!=="object"&&CA!=="array")throw new Error("expected an object");var dA=[];CA==="object"&&(oA=a(oA,rA),dA={});for(var bA in oA)if(oA.hasOwnProperty(bA)){var kA=oA[bA];s(kA)==="object"||s(kA)==="array"?dA[bA]=tA(kA,rA):dA[bA]=kA}return dA},I=r(function(tA){var oA=Object.prototype.hasOwnProperty,rA="~";function CA(){}Object.create&&(CA.prototype=Object.create(null),new CA().__proto__||(rA=!1));function dA(kA,JA,gA){this.fn=kA,this.context=JA,this.once=gA||!1}function bA(){this._events=new CA,this._eventsCount=0}bA.prototype.eventNames=function(){var JA=[],gA,yA;if(this._eventsCount===0)return JA;for(yA in gA=this._events)oA.call(gA,yA)&&JA.push(rA?yA.slice(1):yA);return Object.getOwnPropertySymbols?JA.concat(Object.getOwnPropertySymbols(gA)):JA},bA.prototype.listeners=function(JA,gA){var yA=rA?rA+JA:JA,EA=this._events[yA];if(gA)return!!EA;if(!EA)return[];if(EA.fn)return[EA.fn];for(var TA=0,te=EA.length,ce=new Array(te);TA<te;TA++)ce[TA]=EA[TA].fn;return ce},bA.prototype.emit=function(JA,gA,yA,EA,TA,te){var ce=rA?rA+JA:JA;if(!this._events[ce])return!1;var mA=this._events[ce],qA=arguments.length,LA,HA;if(mA.fn){switch(mA.once&&this.removeListener(JA,mA.fn,void 0,!0),qA){case 1:return mA.fn.call(mA.context),!0;case 2:return mA.fn.call(mA.context,gA),!0;case 3:return mA.fn.call(mA.context,gA,yA),!0;case 4:return mA.fn.call(mA.context,gA,yA,EA),!0;case 5:return mA.fn.call(mA.context,gA,yA,EA,TA),!0;case 6:return mA.fn.call(mA.context,gA,yA,EA,TA,te),!0}for(HA=1,LA=new Array(qA-1);HA<qA;HA++)LA[HA-1]=arguments[HA];mA.fn.apply(mA.context,LA)}else{var WA=mA.length,RA;for(HA=0;HA<WA;HA++)switch(mA[HA].once&&this.removeListener(JA,mA[HA].fn,void 0,!0),qA){case 1:mA[HA].fn.call(mA[HA].context);break;case 2:mA[HA].fn.call(mA[HA].context,gA);break;case 3:mA[HA].fn.call(mA[HA].context,gA,yA);break;case 4:mA[HA].fn.call(mA[HA].context,gA,yA,EA);break;default:if(!LA)for(RA=1,LA=new Array(qA-1);RA<qA;RA++)LA[RA-1]=arguments[RA];mA[HA].fn.apply(mA[HA].context,LA)}}return!0},bA.prototype.on=function(JA,gA,yA){var EA=new dA(gA,yA||this),TA=rA?rA+JA:JA;return this._events[TA]?this._events[TA].fn?this._events[TA]=[this._events[TA],EA]:this._events[TA].push(EA):(this._events[TA]=EA,this._eventsCount++),this},bA.prototype.once=function(JA,gA,yA){var EA=new dA(gA,yA||this,!0),TA=rA?rA+JA:JA;return this._events[TA]?this._events[TA].fn?this._events[TA]=[this._events[TA],EA]:this._events[TA].push(EA):(this._events[TA]=EA,this._eventsCount++),this},bA.prototype.removeListener=function(JA,gA,yA,EA){var TA=rA?rA+JA:JA;if(!this._events[TA])return this;if(!gA)return--this._eventsCount===0?this._events=new CA:delete this._events[TA],this;var te=this._events[TA];if(te.fn)te.fn===gA&&(!EA||te.once)&&(!yA||te.context===yA)&&(--this._eventsCount===0?this._events=new CA:delete this._events[TA]);else{for(var ce=0,mA=[],qA=te.length;ce<qA;ce++)(te[ce].fn!==gA||EA&&!te[ce].once||yA&&te[ce].context!==yA)&&mA.push(te[ce]);mA.length?this._events[TA]=mA.length===1?mA[0]:mA:--this._eventsCount===0?this._events=new CA:delete this._events[TA]}return this},bA.prototype.removeAllListeners=function(JA){var gA;return JA?(gA=rA?rA+JA:JA,this._events[gA]&&(--this._eventsCount===0?this._events=new CA:delete this._events[gA])):(this._events=new CA,this._eventsCount=0),this},bA.prototype.off=bA.prototype.removeListener,bA.prototype.addListener=bA.prototype.on,bA.prototype.setMaxListeners=function(){return this},bA.prefixed=rA,bA.EventEmitter=bA,tA.exports=bA});function c(tA,oA,rA){return oA in tA?Object.defineProperty(tA,oA,{value:rA,enumerable:!0,configurable:!0,writable:!0}):tA[oA]=rA,tA}var B=function(){},l={data:"state-data",cdata:"state-cdata",tagBegin:"state-tag-begin",tagName:"state-tag-name",tagEnd:"state-tag-end",attributeNameStart:"state-attribute-name-start",attributeName:"state-attribute-name",attributeNameEnd:"state-attribute-name-end",attributeValueBegin:"state-attribute-value-begin",attributeValue:"state-attribute-value"},C={lt:"action-lt",gt:"action-gt",space:"action-space",equal:"action-equal",quote:"action-quote",slash:"action-slash",char:"action-char",error:"action-error"},Q={text:"text",openTag:"open-tag",closeTag:"close-tag",attributeName:"attribute-name",attributeValue:"attribute-value"},E={" ":C.space," ":C.space,"\n":C.space,"\r":C.space,"<":C.lt,">":C.gt,'"':C.quote,"'":C.quote,"=":C.equal,"/":C.slash},h=function(oA){return E[oA]||C.char},u=function(oA){var rA,CA,dA,bA,kA,JA,gA,yA,EA,TA;oA=Object.assign({debug:!1},oA);var te=new I,ce=l.data,mA="",qA="",LA="",HA="",WA="",RA="",SA=function(KA,PA){if(!(qA[0]==="?"||qA[0]==="!")){var ie={type:KA,value:PA};oA.debug&&console.log("emit:",ie),te.emit("data",ie)}};te.stateMachine=(TA={},c(TA,l.data,(rA={},c(rA,C.lt,function(){mA.trim()&&SA(Q.text,mA),qA="",WA=!1,ce=l.tagBegin}),c(rA,C.char,function(GA){mA+=GA}),rA)),c(TA,l.cdata,c({},C.char,function(GA){mA+=GA,mA.substr(-3)==="]]>"&&(SA(Q.text,mA.slice(0,-3)),mA="",ce=l.data)})),c(TA,l.tagBegin,(CA={},c(CA,C.space,B),c(CA,C.char,function(GA){qA=GA,ce=l.tagName}),c(CA,C.slash,function(){qA="",WA=!0}),CA)),c(TA,l.tagName,(dA={},c(dA,C.space,function(){WA?ce=l.tagEnd:(ce=l.attributeNameStart,SA(Q.openTag,qA))}),c(dA,C.gt,function(){SA(WA?Q.closeTag:Q.openTag,qA),mA="",ce=l.data}),c(dA,C.slash,function(){ce=l.tagEnd,SA(Q.openTag,qA)}),c(dA,C.char,function(GA){qA+=GA,qA==="![CDATA["&&(ce=l.cdata,mA="",qA="")}),dA)),c(TA,l.tagEnd,(bA={},c(bA,C.gt,function(){SA(Q.closeTag,qA),mA="",ce=l.data}),c(bA,C.char,B),bA)),c(TA,l.attributeNameStart,(kA={},c(kA,C.char,function(GA){LA=GA,ce=l.attributeName}),c(kA,C.gt,function(){mA="",ce=l.data}),c(kA,C.space,B),c(kA,C.slash,function(){WA=!0,ce=l.tagEnd}),kA)),c(TA,l.attributeName,(JA={},c(JA,C.space,function(){ce=l.attributeNameEnd}),c(JA,C.equal,function(){SA(Q.attributeName,LA),ce=l.attributeValueBegin}),c(JA,C.gt,function(){HA="",SA(Q.attributeName,LA),SA(Q.attributeValue,HA),mA="",ce=l.data}),c(JA,C.slash,function(){WA=!0,HA="",SA(Q.attributeName,LA),SA(Q.attributeValue,HA),ce=l.tagEnd}),c(JA,C.char,function(GA){LA+=GA}),JA)),c(TA,l.attributeNameEnd,(gA={},c(gA,C.space,B),c(gA,C.equal,function(){SA(Q.attributeName,LA),ce=l.attributeValueBegin}),c(gA,C.gt,function(){HA="",SA(Q.attributeName,LA),SA(Q.attributeValue,HA),mA="",ce=l.data}),c(gA,C.char,function(GA){HA="",SA(Q.attributeName,LA),SA(Q.attributeValue,HA),LA=GA,ce=l.attributeName}),gA)),c(TA,l.attributeValueBegin,(yA={},c(yA,C.space,B),c(yA,C.quote,function(GA){RA=GA,HA="",ce=l.attributeValue}),c(yA,C.gt,function(){HA="",SA(Q.attributeValue,HA),mA="",ce=l.data}),c(yA,C.char,function(GA){RA="",HA=GA,ce=l.attributeValue}),yA)),c(TA,l.attributeValue,(EA={},c(EA,C.space,function(GA){RA?HA+=GA:(SA(Q.attributeValue,HA),ce=l.attributeNameStart)}),c(EA,C.quote,function(GA){RA===GA?(SA(Q.attributeValue,HA),ce=l.attributeNameStart):HA+=GA}),c(EA,C.gt,function(GA){RA?HA+=GA:(SA(Q.attributeValue,HA),mA="",ce=l.data)}),c(EA,C.slash,function(GA){RA?HA+=GA:(SA(Q.attributeValue,HA),WA=!0,ce=l.tagEnd)}),c(EA,C.char,function(GA){HA+=GA}),EA)),TA);var vA=function(KA){oA.debug&&console.log(ce,KA);var PA=te.stateMachine[ce],ie=PA[h(KA)]||PA[C.error]||PA[C.char];ie(KA)};return te.write=function(GA){for(var KA=GA.length,PA=0;PA<KA;PA++)vA(GA[PA])},te},d={State:l,Action:C,Type:Q,create:u},f=d.Type,w={element:"element",text:"text"},S=function(oA){return Object.assign({name:"",type:w.element,value:"",parent:null,attributes:{},children:[]},oA)},D=function(oA){oA=Object.assign({stream:!1,parentNodes:!0,doneEvent:"done",tagPrefix:"tag:",emitTopLevelOnly:!1,debug:!1},oA);var rA=void 0,CA=void 0,dA=void 0,bA=void 0,kA=new I,JA=function(yA){switch(yA.type){case f.openTag:if(dA===null)dA=CA,dA.name=yA.value;else{var EA=S({name:yA.value,parent:dA});dA.children.push(EA),dA=EA}break;case f.closeTag:var TA=dA.parent;if(oA.parentNodes||(dA.parent=null),dA.name!==yA.value)break;oA.stream&&TA===CA&&(CA.children=[],dA.parent=null),(!oA.emitTopLevelOnly||TA===CA)&&(kA.emit(oA.tagPrefix+dA.name,dA),kA.emit("tag",dA.name,dA)),dA===CA&&(rA.removeAllListeners("data"),kA.emit(oA.doneEvent,dA),CA=null),dA=TA;break;case f.text:dA&&dA.children.push(S({type:w.text,value:yA.value,parent:oA.parentNodes?dA:null}));break;case f.attributeName:bA=yA.value,dA.attributes[bA]="";break;case f.attributeValue:dA.attributes[bA]=yA.value;break}};return kA.reset=function(){rA=d.create({debug:oA.debug}),rA.on("data",JA),CA=S(),dA=null,bA="",kA.parse=rA.write},kA.reset(),kA},x=function(oA,rA){rA=Object.assign({},rA,{stream:!1,tagPrefix:":"});var CA=D(rA),dA=void 0;return CA.on("done",function(bA){dA=bA}),CA.parse(oA),dA},F={parseSync:x},k=F.parseSync,v=function(oA){var rA=k("<root>".concat(oA,"</root>"),{parentNodes:!1}),CA=rA.children&&rA.children.length>0&&rA.children.every(function(dA){return dA.name==="svg"});if(CA)return rA.children.length===1?rA.children[0]:rA.children;throw Error("nothing to parse")},_=function(oA){return g(oA,function(rA){return K(rA)?rA:L(rA)})},L=function(oA){return oA.replace(/[-|:]([a-z])/gi,function(rA,CA){return CA.toUpperCase()})},K=function(oA){return/^(data|aria)(-\w+)/.test(oA)},J=function(oA){if(oA){var rA=String(oA);return/[&<>]/.test(rA)?"<![CDATA[".concat(rA.replace(/]]>/,"]]]]><![CDATA[>"),"]]>"):rA}return""},W=function(oA){return String(oA).replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},Z=function(oA){var rA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},CA=rA.transformNode,dA=CA===void 0?function(gA){return gA}:CA,bA=rA.camelcase,kA=bA===void 0?!1:bA,JA=function(yA){var EA;return EA=dA(yA),kA&&(EA=_(EA)),EA};return JA(v(oA))};function AA(){for(var tA=arguments.length,oA=new Array(tA),rA=0;rA<tA;rA++)oA[rA]=arguments[rA];return new Promise(function(CA,dA){try{var bA=Z.apply(void 0,oA);CA(bA)}catch(kA){dA(kA)}})}var nA=function tA(oA){var rA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},CA=rA.transformAttr,dA=CA===void 0?function(ce,mA,qA){return"".concat(ce,'="').concat(qA(mA),'"')}:CA,bA=rA.transformNode,kA=bA===void 0?function(ce){return ce}:bA,JA=rA.selfClose,gA=JA===void 0?!0:JA;if(Array.isArray(oA))return oA.map(function(ce){return tA(ce,{transformAttr:dA,selfClose:gA,transformNode:kA})}).join("");var yA=kA(oA);if(yA.type==="text")return J(yA.value);var EA="";for(var TA in yA.attributes){var te=dA(TA,yA.attributes[TA],W,yA.name);EA+=te?" ".concat(te):""}return yA.children&&yA.children.length>0||!gA?"<".concat(yA.name).concat(EA,">").concat(tA(yA.children,{transformAttr:dA,transformNode:kA,selfClose:gA}),"</").concat(yA.name,">"):"<".concat(yA.name).concat(EA,"/>")},cA=Object.assign({},{parse:AA,parseSync:Z,stringify:nA});return cA})}}),XEA=Da({"node_modules/js-beautify/js/src/core/output.js"(t,A){function e(o){this.__parent=o,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}e.prototype.clone_empty=function(){var o=new e(this.__parent);return o.set_indent(this.__indent_count,this.__alignment_count),o},e.prototype.item=function(o){return o<0?this.__items[this.__items.length+o]:this.__items[o]},e.prototype.has_match=function(o){for(var s=this.__items.length-1;s>=0;s--)if(this.__items[s].match(o))return!0;return!1},e.prototype.set_indent=function(o,s){this.is_empty()&&(this.__indent_count=o||0,this.__alignment_count=s||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},e.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},e.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},e.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var o=this.__parent.current_line;return o.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),o.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),o.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,o.__items[0]===" "&&(o.__items.splice(0,1),o.__character_count-=1),!0}return!1},e.prototype.is_empty=function(){return this.__items.length===0},e.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},e.prototype.push=function(o){this.__items.push(o);var s=o.lastIndexOf(`
@@ -5602,7 +5602,7 @@ test("${g} should solve problem correctly", () => {
5602
5602
  // Add more specific assertions based on expected output
5603
5603
  // expect(solver.netLabelPlacementSolver!.netLabelPlacements).toMatchInlineSnapshot()
5604
5604
  })
5605
- `,c=new Blob([I],{type:"text/plain"}),B=URL.createObjectURL(c),l=document.createElement("a");l.href=B,l.download=`${g}.test.ts`,l.click(),URL.revokeObjectURL(B)}catch(a){alert(`Error generating test.ts for ${t.constructor.name}: ${a instanceof Error?a.message:String(a)}`)}i(!1)};return O.jsxs("div",{className:`relative ${A}`,ref:n,children:[O.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>i(!e),title:`Download options for ${t.constructor.name}`,children:t.constructor.name}),e&&O.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:o,children:"Download JSON"}),O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:s,children:"Download page.tsx"}),O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:r,children:"Download test.ts"})]})]})},ate=t=>t.activeSubSolver?[t,...ate(t.activeSubSolver)]:[t],zYt=({solver:t})=>{const A=ate(t);return O.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((e,i)=>O.jsxs("div",{className:"flex items-center",children:[i>0&&O.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),O.jsx(jYt,{solver:e})]},e.constructor.name))})},XYt=({solver:t,triggerRender:A,animationSpeed:e=25,onSolverStarted:i,onSolverCompleted:n})=>{const[o,s]=j.useReducer(Q=>!Q,!1),r=j.useRef(void 0),a=()=>{!t.solved&&!t.failed&&(t.step(),A())},g=()=>{!t.solved&&!t.failed&&(i&&i(t),t.solve(),A(),n&&n(t))},I=()=>{o?(r.current&&(clearInterval(r.current),r.current=void 0),s()):(s(),r.current=setInterval(()=>{if(t.solved||t.failed){r.current&&(clearInterval(r.current),r.current=void 0),s(),A(),n&&t.solved&&n(t);return}t.step(),A()},e))},c=()=>{const Q=t;if(Q.getCurrentPhase&&!t.solved&&!t.failed){const E=Q.getCurrentPhase();for(;Q.getCurrentPhase()===E&&!t.solved&&!t.failed;)t.step();A()}},B=()=>{if(t.solved||t.failed||o)return;const Q=window.prompt("Step until which iteration?",`${t.iterations}`);if(Q===null)return;const E=Number(Q);if(!Number.isFinite(E)){window.alert("Please enter a valid number for the iteration");return}for(;t.iterations<E&&!t.solved&&!t.failed;)t.step();A(),t.solved&&n&&n(t)};j.useEffect(()=>()=>{r.current&&clearInterval(r.current)},[]),j.useEffect(()=>{(t.solved||t.failed)&&o&&(r.current&&(clearInterval(r.current),r.current=void 0),s())},[t.solved,t.failed,o]);const l=t.getCurrentPhase!==void 0,C=l?t.getCurrentPhase():null;return O.jsxs("div",{className:"space-y-2 p-2 border-b",children:[O.jsx("div",{className:"flex items-center",children:O.jsx(zYt,{solver:t})}),O.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[O.jsx("button",{onClick:a,disabled:t.solved||t.failed||o,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),O.jsx("button",{onClick:g,disabled:t.solved||t.failed||o,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),O.jsx("button",{onClick:I,disabled:t.solved||t.failed,className:`px-3 py-1 rounded text-white text-sm ${o?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:o?"Stop":"Animate"}),O.jsx("button",{onClick:B,disabled:t.solved||t.failed||o,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),l&&O.jsx("button",{onClick:c,disabled:t.solved||t.failed||o,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Next Stage"}),O.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",t.iterations]}),t.timeToSolve!==void 0&&O.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(t.timeToSolve/1e3).toFixed(3),"s"]}),C&&O.jsxs("div",{className:"text-sm text-gray-600",children:["Phase: ",O.jsx("span",{className:"font-medium",children:C})]}),t.solved&&O.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),t.failed&&O.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),t.error&&O.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",t.error]})]})},$Yt=(t,A,e)=>{const i=t.currentPipelineStepIndex;return A<i?"Completed":A===i&&t.activeSubSolver?t.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},AJt=(t,A)=>{const i=t.pipelineDef[A].solverName,n=$Yt(t,A),o=t[i],s=t.firstIterationOfPhase?.[i]??null,r=t.iterations;let a=0;if(n==="Completed"){const B=t.pipelineDef[A+1],l=B?t.firstIterationOfPhase?.[B.solverName]:void 0;l!==void 0&&s!==null?a=l-s:s!==null&&(a=r-s)}else n==="In Progress"&&s!==null&&(a=r-s);const g=t.timeSpentOnPhase?.[i]??0;let I=0;n==="Completed"?I=1:n==="In Progress"&&o&&(I=o.progress??0);const c=o?.stats??null;return{index:A,name:i,status:n,firstIteration:s,iterations:a,progress:I,timeSpent:g,stats:c&&Object.keys(c).length>0?c:null,solverInstance:o??null}},eJt=({status:t})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return O.jsx("span",{className:`font-medium ${A[t]}`,children:t})},tJt=({progress:t})=>{if(t===0)return null;const A=Math.round(t*100);return O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:O.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),O.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},iJt=t=>Object.entries(t).map(([A,e])=>`${A}: ${e}`).join(", "),nJt=({stats:t})=>{if(!t||Object.keys(t).length===0)return O.jsx("span",{children:"-"});const A=Object.entries(t),e=iJt(t);return O.jsxs("details",{className:"cursor-pointer",children:[O.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:e}),O.jsx("div",{className:"mt-1 text-xs",children:A.map(([i,n])=>O.jsxs("div",{children:[i,": ",String(n)]},i))})]})},QhA=t=>{if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(QhA);const A={};for(const[e,i]of Object.entries(t))e.startsWith("_")||(A[e]=QhA(i));return A},oJt=(t,A)=>{try{if(typeof t.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const e=QhA(t.getConstructorParams()),i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),n=URL.createObjectURL(i),o=document.createElement("a");o.href=n,o.download=`${A}_input.json`,o.click(),URL.revokeObjectURL(n)}catch(e){alert(`Error downloading input for ${A}: ${e instanceof Error?e.message:String(e)}`)}},sJt=({solver:t,onStepUntilPhase:A,onDownloadInput:e})=>{const i=t.pipelineDef.map((r,a)=>AJt(t,a)),n=r=>{A?.(r)},o=r=>{r.solverInstance&&(e?e(r.solverInstance,r.name):oJt(r.solverInstance,r.name))},s=r=>`${(r/1e3).toFixed(2)}s`;return O.jsxs("div",{className:"border-t border-gray-200",children:[O.jsx("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200",children:O.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Steps"})}),O.jsx("div",{className:"overflow-x-auto",children:O.jsxs("table",{className:"w-full text-sm",children:[O.jsx("thead",{children:O.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Step"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),O.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",O.jsx("sub",{children:"0"})]}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),O.jsx("tbody",{children:i.map(r=>O.jsxs("tr",{className:`border-b border-gray-100 ${r.status==="In Progress"?"bg-yellow-50":""}`,children:[O.jsx("td",{className:"px-4 py-2",children:O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("span",{className:"text-gray-400 w-6",children:String(r.index+1).padStart(2,"0")}),O.jsx("button",{onClick:()=>n(r.name),disabled:r.status==="Completed"||t.solved||t.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${r.name} completes`,children:O.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:O.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),O.jsx("span",{className:"font-medium text-gray-900",children:r.name})]})}),O.jsx("td",{className:"px-4 py-2",children:O.jsx(eJt,{status:r.status})}),O.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:r.firstIteration!==null?r.firstIteration:""}),O.jsx("td",{className:"px-4 py-2 text-gray-600",children:r.iterations}),O.jsx("td",{className:"px-4 py-2",children:O.jsx(tJt,{progress:r.progress})}),O.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(r.timeSpent)}),O.jsx("td",{className:"px-4 py-2 text-gray-500",children:O.jsx(nJt,{stats:r.stats})}),O.jsx("td",{className:"px-4 py-2",children:r.solverInstance?O.jsxs("button",{onClick:()=>o(r),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${r.name}`,children:[O.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:O.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),O.jsx("span",{children:"Input"})]}):null})]},r.name))})]})})]})},rJt=class extends $i.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.error("InteractiveGraphics render error:",t)}render(){return this.state.hasError?this.props.fallback:this.props.children}};function aJt({graphics:t}){const A=t.points??[],e=t.lines??[],i=t.rects??[],n=t.circles??[],o=t.texts??[];let s=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,g=Number.NEGATIVE_INFINITY;const I=(E,h)=>{typeof E=="number"&&(E<s&&(s=E),E>a&&(a=E)),typeof h=="number"&&(h<r&&(r=h),h>g&&(g=h))};for(const E of A)I(E.x,E.y);for(const E of e){const h=E.points??[];for(const u of h)I(u.x,u.y)}for(const E of i){const h=E.x??0,u=E.y??0,d=E.width??0,f=E.height??0;I(h,u),I(h+d,u+f)}for(const E of n){const h=E.x??0,u=E.y??0,d=E.radius??1;I(h-d,u-d),I(h+d,u+d)}for(const E of o)I(E.x,E.y);(!isFinite(s)||!isFinite(r)||!isFinite(a)||!isFinite(g))&&(s=-20,r=-20,a=20,g=20);const c=10,B=s-c,l=r-c,C=Math.max(1,a-s+2*c),Q=Math.max(1,g-r+2*c);return O.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${B} ${l} ${C} ${Q}`,role:"img","aria-label":"Graphics fallback",children:[i.map((E,h)=>O.jsx("rect",{x:E.x??0,y:E.y??0,width:E.width??0,height:E.height??0,fill:"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1},`rect-${h}`)),e.map((E,h)=>O.jsx("polyline",{fill:"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1,points:(E.points??[]).map(u=>`${u.x??0},${u.y??0}`).join(" ")},`line-${h}`)),n.map((E,h)=>O.jsx("circle",{cx:E.x??0,cy:E.y??0,r:E.radius??1.5,fill:E.fillColor??"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1},`circle-${h}`)),A.map((E,h)=>O.jsx("circle",{cx:E.x??0,cy:E.y??0,r:E.radius??1.5,fill:E.color??"black"},`point-${h}`)),o.map((E,h)=>O.jsx("text",{x:E.x??0,y:E.y??0,fontSize:E.fontSize??10,fill:E.color??"black",children:E.text??""},`text-${h}`))]})}var gJt=({solver:t,animationSpeed:A=25,onSolverStarted:e,onSolverCompleted:i})=>{const[n,o]=j.useReducer(I=>I+1,0),s=j.useMemo(()=>{try{return t.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(I){return console.error("Visualization error:",I),{points:[],lines:[],rects:[],circles:[]}}},[t,n]),r=j.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);j.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const I=document.createElement("script");I.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(I)}},[]);const a=t.pipelineDef!==void 0,g=I=>{const c=t;if(!t.solved&&!t.failed){for(;!t.solved&&!t.failed&&c.currentPipelineStepIndex<=c.pipelineDef.findIndex(B=>B.solverName===I);)t.step();o()}};return O.jsxs("div",{children:[O.jsx(XYt,{solver:t,triggerRender:o,animationSpeed:A,onSolverStarted:e,onSolverCompleted:i}),r?O.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):O.jsx(rJt,{fallback:O.jsx(aJt,{graphics:s}),children:O.jsx(VYt,{graphics:s})}),a&&O.jsx(sJt,{solver:t,onStepUntilPhase:g})]})};const IJt=()=>{j.useEffect(()=>{const t="tailwind-cdn-script";if(document.getElementById(t)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const e=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),e)return;const i=document.createElement("script");i.id=t,i.src="https://cdn.tailwindcss.com",document.head.appendChild(i)},[])},cJt=t=>t.toLowerCase().includes("pack")?lSt:t.toLowerCase().includes("rout")?uSt:XDt,BJt=({solverEvents:t=[]})=>{const[A,e]=j.useState(null);IJt();const i=j.useMemo(()=>{const r=new Map;for(const a of t){const g=`${a.componentName}-${a.solverName}`;r.set(g,a)}return r},[t]),n=j.useMemo(()=>Array.from(i.keys()),[i]),o=A?i.get(A):null,s=j.useMemo(()=>{if(!o)return{instance:null,error:null,classFound:!1};const r=ceA[o.solverName];if(!r)return{instance:null,error:`Solver class "${o.solverName}" not found in SOLVERS registry. Available: ${Object.keys(ceA).join(", ")}`,classFound:!1};try{const a=o.solverParams,g=a?.input!==void 0?a.input:a;return{instance:new r(g),error:null,classFound:!0}}catch(a){const g=a instanceof Error?a.message:String(a);return console.error("Failed to reconstruct solver:",a),{instance:null,error:`Failed to instantiate solver: ${g}`,classFound:!0}}},[o]);return t.length===0?O.jsx("div",{className:"rf-p-4",children:O.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:O.jsxs("div",{className:"rf-p-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),O.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):O.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[O.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[O.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[n.length," ",n.length===1?"Solver":"Solvers"]}),n.map(r=>{const a=i.get(r),g=A===r;return O.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${g?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>e(r),children:(()=>{const I=cJt(a.solverName);return O.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[O.jsx(I,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),O.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[O.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:a.componentName}),O.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:a.solverName})]})]})})()},r)})]}),O.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:o?s.instance?O.jsx(py,{fallback:O.jsx("div",{className:"rf-p-4",children:O.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),O.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",o.solverName]})]})}),children:O.jsx(gJt,{solver:s.instance})}):O.jsxs("div",{className:"rf-p-4",children:[O.jsxs("div",{className:"rf-mb-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:o.solverName}),O.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",o.componentName]})]}),s.error&&O.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${s.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:O.jsx("p",{className:`rf-text-sm ${s.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:s.error})}),O.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[O.jsx("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50",children:O.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"})}),O.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:O.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(o.solverParams,null,2)})})]})]}):O.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:O.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},gte=({errorMessage:t,errorStack:A,circuitJsonErrors:e})=>{j.useEffect(()=>{if(t){const i=new Error(t);A&&(i.stack=A);try{C3.captureException(i)}catch{}}},[t,A]),j.useEffect(()=>{if(e&&e.length>0)for(const i of e){const n=new Error(i.message||"Circuit JSON Error");i.stack&&(n.stack=i.stack);try{C3.captureException(n,{error_type:i.type})}catch{}}},[e])},Ite="0.0.1481",lJt={version:Ite},$W=TvA()(KvA(t=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:A=>{t({lastRunEvalVersion:A})}}),{name:"runframe-runner-store"})),CJt=t=>{const[A,e]=j.useState([]),[i,n]=j.useState(null),[o,s]=j.useState(""),[r,a]=TM("eval-version-selection",null),g=$W(l=>l.setLastRunEvalVersion),I=$W(l=>l.lastRunEvalVersion);return j.useEffect(()=>{t&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(l=>l.json()).then(l=>{if(Array.isArray(l?.versions)){let C=[...l.versions];l.tags?.latest&&(n(l.tags.latest),C=C.filter(Q=>Q!==l.tags.latest)),e(C)}}).catch(()=>{})},[t]),j.useEffect(()=>{t&&(r?(window.TSCIRCUIT_LATEST_EVAL_VERSION=r,g(r)):i&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=i,g(i)))},[t,r,i]),{versions:j.useMemo(()=>A.filter(l=>l.includes(o)).slice(0,50),[A,o]),latestVersion:i,lastRunEvalVersion:I,search:o,setSearch:s,selectVersion:l=>{a(l),s("")}}},QJt=({snippetNames:t,onSelect:A,onCancel:e,isOpen:i})=>{const[n,o]=j.useState(""),[s,r]=j.useState("");if(!i)return null;const a=t.filter(c=>c.toLowerCase().includes(s.toLowerCase())),g=s&&!t.includes(s),I=c=>{c.key==="Enter"&&(a.length===1?o(a[0]):g&&o(s))};return O.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:O.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[O.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),O.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:s,onChange:c=>r(c.target.value),onKeyDown:I}),O.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[a.map(c=>O.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${n===c?"bg-blue-50":""}`,onClick:()=>o(c),children:c},c)),g&&O.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${n===s?"bg-blue-50":""}`,onClick:()=>o(s),children:['Create new "',s,'"']})]}),O.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[O.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:e,children:"Cancel"}),O.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>n&&A(n),disabled:!n,children:n===s?`Create "${n}"`:`Save to ${n}`})]})]})})},EJt=t=>{const A=j.useRef(null),e=Hc(i=>i.recentEvents);j.useEffect(()=>{if(e.length===0)return;const i=e[0];i.event_id!==A.current&&(t(i),A.current=i.event_id)},[e,t])};function hJt(t){const A=uJt(t),e=j.forwardRef((i,n)=>{const{children:o,...s}=i,r=j.Children.toArray(o),a=r.find(pJt);if(a){const g=a.props.children,I=r.map(c=>c===a?j.Children.count(g)>1?j.Children.only(null):j.isValidElement(g)?g.props.children:null:c);return O.jsx(A,{...s,ref:n,children:j.isValidElement(g)?j.cloneElement(g,void 0,I):null})}return O.jsx(A,{...s,ref:n,children:o})});return e.displayName=`${t}.Slot`,e}function uJt(t){const A=j.forwardRef((e,i)=>{const{children:n,...o}=e;if(j.isValidElement(n)){const s=yJt(n),r=fJt(o,n.props);return n.type!==j.Fragment&&(r.ref=i?Jp(i,s):s),j.cloneElement(n,r)}return j.Children.count(n)>1?j.Children.only(null):null});return A.displayName=`${t}.SlotClone`,A}var dJt=Symbol("radix.slottable");function pJt(t){return j.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===dJt}function fJt(t,A){const e={...A};for(const i in A){const n=t[i],o=A[i];/^on[A-Z]/.test(i)?n&&o?e[i]=(...r)=>{const a=o(...r);return n(...r),a}:n&&(e[i]=n):i==="style"?e[i]={...n,...o}:i==="className"&&(e[i]=[n,o].filter(Boolean).join(" "))}return{...t,...e}}function yJt(t){let A=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,e=A&&"isReactWarning"in A&&A.isReactWarning;return e?t.ref:(A=Object.getOwnPropertyDescriptor(t,"ref")?.get,e=A&&"isReactWarning"in A&&A.isReactWarning,e?t.props.ref:t.props.ref||t.ref)}var AZ="Dialog",[cte,Bte]=rm(AZ),[mJt,Nm]=cte(AZ),lte=t=>{const{__scopeDialog:A,children:e,open:i,defaultOpen:n,onOpenChange:o,modal:s=!0}=t,r=j.useRef(null),a=j.useRef(null),[g,I]=qb({prop:i,defaultProp:n??!1,onChange:o,caller:AZ});return O.jsx(mJt,{scope:A,triggerRef:r,contentRef:a,contentId:oh(),titleId:oh(),descriptionId:oh(),open:g,onOpenChange:I,onOpenToggle:j.useCallback(()=>I(c=>!c),[I]),modal:s,children:e})};lte.displayName=AZ;var Cte="DialogTrigger",Qte=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(Cte,e),o=Bc(A,n.triggerRef);return O.jsx(Ua.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":uhA(n.open),...i,ref:o,onClick:_n(t.onClick,n.onOpenToggle)})});Qte.displayName=Cte;var EhA="DialogPortal",[wJt,Ete]=cte(EhA,{forceMount:void 0}),hte=t=>{const{__scopeDialog:A,forceMount:e,children:i,container:n}=t,o=Nm(EhA,A);return O.jsx(wJt,{scope:A,forceMount:e,children:j.Children.map(i,s=>O.jsx(Vf,{present:e||o.open,children:O.jsx(D8,{asChild:!0,container:n,children:s})}))})};hte.displayName=EhA;var eZ="DialogOverlay",ute=j.forwardRef((t,A)=>{const e=Ete(eZ,t.__scopeDialog),{forceMount:i=e.forceMount,...n}=t,o=Nm(eZ,t.__scopeDialog);return o.modal?O.jsx(Vf,{present:i||o.open,children:O.jsx(SJt,{...n,ref:A})}):null});ute.displayName=eZ;var DJt=hJt("DialogOverlay.RemoveScroll"),SJt=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(eZ,e);return O.jsx(N8,{as:DJt,allowPinchZoom:!0,shards:[n.contentRef],children:O.jsx(Ua.div,{"data-state":uhA(n.open),...i,ref:A,style:{pointerEvents:"auto",...i.style}})})}),xF="DialogContent",dte=j.forwardRef((t,A)=>{const e=Ete(xF,t.__scopeDialog),{forceMount:i=e.forceMount,...n}=t,o=Nm(xF,t.__scopeDialog);return O.jsx(Vf,{present:i||o.open,children:o.modal?O.jsx(bJt,{...n,ref:A}):O.jsx(xJt,{...n,ref:A})})});dte.displayName=xF;var bJt=j.forwardRef((t,A)=>{const e=Nm(xF,t.__scopeDialog),i=j.useRef(null),n=Bc(A,e.contentRef,i);return j.useEffect(()=>{const o=i.current;if(o)return EQA(o)},[]),O.jsx(pte,{...t,ref:n,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:_n(t.onCloseAutoFocus,o=>{o.preventDefault(),e.triggerRef.current?.focus()}),onPointerDownOutside:_n(t.onPointerDownOutside,o=>{const s=o.detail.originalEvent,r=s.button===0&&s.ctrlKey===!0;(s.button===2||r)&&o.preventDefault()}),onFocusOutside:_n(t.onFocusOutside,o=>o.preventDefault())})}),xJt=j.forwardRef((t,A)=>{const e=Nm(xF,t.__scopeDialog),i=j.useRef(!1),n=j.useRef(!1);return O.jsx(pte,{...t,ref:A,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{t.onCloseAutoFocus?.(o),o.defaultPrevented||(i.current||e.triggerRef.current?.focus(),o.preventDefault()),i.current=!1,n.current=!1},onInteractOutside:o=>{t.onInteractOutside?.(o),o.defaultPrevented||(i.current=!0,o.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const s=o.target;e.triggerRef.current?.contains(s)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&n.current&&o.preventDefault()}})}),pte=j.forwardRef((t,A)=>{const{__scopeDialog:e,trapFocus:i,onOpenAutoFocus:n,onCloseAutoFocus:o,...s}=t,r=Nm(xF,e),a=j.useRef(null),g=Bc(A,a);return zCA(),O.jsxs(O.Fragment,{children:[O.jsx(B8,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:n,onUnmountAutoFocus:o,children:O.jsx(FL,{role:"dialog",id:r.contentId,"aria-describedby":r.descriptionId,"aria-labelledby":r.titleId,"data-state":uhA(r.open),...s,ref:g,onDismiss:()=>r.onOpenChange(!1)})}),O.jsxs(O.Fragment,{children:[O.jsx(GJt,{titleId:r.titleId}),O.jsx(RJt,{contentRef:a,descriptionId:r.descriptionId})]})]})}),hhA="DialogTitle",fte=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(hhA,e);return O.jsx(Ua.h2,{id:n.titleId,...i,ref:A})});fte.displayName=hhA;var yte="DialogDescription",mte=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(yte,e);return O.jsx(Ua.p,{id:n.descriptionId,...i,ref:A})});mte.displayName=yte;var wte="DialogClose",Dte=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(wte,e);return O.jsx(Ua.button,{type:"button",...i,ref:A,onClick:_n(t.onClick,()=>n.onOpenChange(!1))})});Dte.displayName=wte;function uhA(t){return t?"open":"closed"}var Ste="DialogTitleWarning",[kJt,bte]=o3e(Ste,{contentName:xF,titleName:hhA,docsSlug:"dialog"}),GJt=({titleId:t})=>{const A=bte(Ste),e=`\`${A.contentName}\` requires a \`${A.titleName}\` for the component to be accessible for screen reader users.
5605
+ `,c=new Blob([I],{type:"text/plain"}),B=URL.createObjectURL(c),l=document.createElement("a");l.href=B,l.download=`${g}.test.ts`,l.click(),URL.revokeObjectURL(B)}catch(a){alert(`Error generating test.ts for ${t.constructor.name}: ${a instanceof Error?a.message:String(a)}`)}i(!1)};return O.jsxs("div",{className:`relative ${A}`,ref:n,children:[O.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>i(!e),title:`Download options for ${t.constructor.name}`,children:t.constructor.name}),e&&O.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:o,children:"Download JSON"}),O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:s,children:"Download page.tsx"}),O.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:r,children:"Download test.ts"})]})]})},ate=t=>t.activeSubSolver?[t,...ate(t.activeSubSolver)]:[t],zYt=({solver:t})=>{const A=ate(t);return O.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((e,i)=>O.jsxs("div",{className:"flex items-center",children:[i>0&&O.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),O.jsx(jYt,{solver:e})]},e.constructor.name))})},XYt=({solver:t,triggerRender:A,animationSpeed:e=25,onSolverStarted:i,onSolverCompleted:n})=>{const[o,s]=j.useReducer(Q=>!Q,!1),r=j.useRef(void 0),a=()=>{!t.solved&&!t.failed&&(t.step(),A())},g=()=>{!t.solved&&!t.failed&&(i&&i(t),t.solve(),A(),n&&n(t))},I=()=>{o?(r.current&&(clearInterval(r.current),r.current=void 0),s()):(s(),r.current=setInterval(()=>{if(t.solved||t.failed){r.current&&(clearInterval(r.current),r.current=void 0),s(),A(),n&&t.solved&&n(t);return}t.step(),A()},e))},c=()=>{const Q=t;if(Q.getCurrentPhase&&!t.solved&&!t.failed){const E=Q.getCurrentPhase();for(;Q.getCurrentPhase()===E&&!t.solved&&!t.failed;)t.step();A()}},B=()=>{if(t.solved||t.failed||o)return;const Q=window.prompt("Step until which iteration?",`${t.iterations}`);if(Q===null)return;const E=Number(Q);if(!Number.isFinite(E)){window.alert("Please enter a valid number for the iteration");return}for(;t.iterations<E&&!t.solved&&!t.failed;)t.step();A(),t.solved&&n&&n(t)};j.useEffect(()=>()=>{r.current&&clearInterval(r.current)},[]),j.useEffect(()=>{(t.solved||t.failed)&&o&&(r.current&&(clearInterval(r.current),r.current=void 0),s())},[t.solved,t.failed,o]);const l=t.getCurrentPhase!==void 0,C=l?t.getCurrentPhase():null;return O.jsxs("div",{className:"space-y-2 p-2 border-b",children:[O.jsx("div",{className:"flex items-center",children:O.jsx(zYt,{solver:t})}),O.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[O.jsx("button",{onClick:a,disabled:t.solved||t.failed||o,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),O.jsx("button",{onClick:g,disabled:t.solved||t.failed||o,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),O.jsx("button",{onClick:I,disabled:t.solved||t.failed,className:`px-3 py-1 rounded text-white text-sm ${o?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:o?"Stop":"Animate"}),O.jsx("button",{onClick:B,disabled:t.solved||t.failed||o,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),l&&O.jsx("button",{onClick:c,disabled:t.solved||t.failed||o,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Next Stage"}),O.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",t.iterations]}),t.timeToSolve!==void 0&&O.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(t.timeToSolve/1e3).toFixed(3),"s"]}),C&&O.jsxs("div",{className:"text-sm text-gray-600",children:["Phase: ",O.jsx("span",{className:"font-medium",children:C})]}),t.solved&&O.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),t.failed&&O.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),t.error&&O.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",t.error]})]})},$Yt=(t,A,e)=>{const i=t.currentPipelineStepIndex;return A<i?"Completed":A===i&&t.activeSubSolver?t.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},AJt=(t,A)=>{const i=t.pipelineDef[A].solverName,n=$Yt(t,A),o=t[i],s=t.firstIterationOfPhase?.[i]??null,r=t.iterations;let a=0;if(n==="Completed"){const B=t.pipelineDef[A+1],l=B?t.firstIterationOfPhase?.[B.solverName]:void 0;l!==void 0&&s!==null?a=l-s:s!==null&&(a=r-s)}else n==="In Progress"&&s!==null&&(a=r-s);const g=t.timeSpentOnPhase?.[i]??0;let I=0;n==="Completed"?I=1:n==="In Progress"&&o&&(I=o.progress??0);const c=o?.stats??null;return{index:A,name:i,status:n,firstIteration:s,iterations:a,progress:I,timeSpent:g,stats:c&&Object.keys(c).length>0?c:null,solverInstance:o??null}},eJt=({status:t})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return O.jsx("span",{className:`font-medium ${A[t]}`,children:t})},tJt=({progress:t})=>{if(t===0)return null;const A=Math.round(t*100);return O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:O.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),O.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},iJt=t=>Object.entries(t).map(([A,e])=>`${A}: ${e}`).join(", "),nJt=({stats:t})=>{if(!t||Object.keys(t).length===0)return O.jsx("span",{children:"-"});const A=Object.entries(t),e=iJt(t);return O.jsxs("details",{className:"cursor-pointer",children:[O.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:e}),O.jsx("div",{className:"mt-1 text-xs",children:A.map(([i,n])=>O.jsxs("div",{children:[i,": ",String(n)]},i))})]})},QhA=t=>{if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(QhA);const A={};for(const[e,i]of Object.entries(t))e.startsWith("_")||(A[e]=QhA(i));return A},oJt=(t,A)=>{try{if(typeof t.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const e=QhA(t.getConstructorParams()),i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),n=URL.createObjectURL(i),o=document.createElement("a");o.href=n,o.download=`${A}_input.json`,o.click(),URL.revokeObjectURL(n)}catch(e){alert(`Error downloading input for ${A}: ${e instanceof Error?e.message:String(e)}`)}},sJt=({solver:t,onStepUntilPhase:A,onDownloadInput:e})=>{const i=t.pipelineDef.map((r,a)=>AJt(t,a)),n=r=>{A?.(r)},o=r=>{r.solverInstance&&(e?e(r.solverInstance,r.name):oJt(r.solverInstance,r.name))},s=r=>`${(r/1e3).toFixed(2)}s`;return O.jsxs("div",{className:"border-t border-gray-200",children:[O.jsx("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200",children:O.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Steps"})}),O.jsx("div",{className:"overflow-x-auto",children:O.jsxs("table",{className:"w-full text-sm",children:[O.jsx("thead",{children:O.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Step"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),O.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",O.jsx("sub",{children:"0"})]}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),O.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),O.jsx("tbody",{children:i.map(r=>O.jsxs("tr",{className:`border-b border-gray-100 ${r.status==="In Progress"?"bg-yellow-50":""}`,children:[O.jsx("td",{className:"px-4 py-2",children:O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("span",{className:"text-gray-400 w-6",children:String(r.index+1).padStart(2,"0")}),O.jsx("button",{onClick:()=>n(r.name),disabled:r.status==="Completed"||t.solved||t.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${r.name} completes`,children:O.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:O.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),O.jsx("span",{className:"font-medium text-gray-900",children:r.name})]})}),O.jsx("td",{className:"px-4 py-2",children:O.jsx(eJt,{status:r.status})}),O.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:r.firstIteration!==null?r.firstIteration:""}),O.jsx("td",{className:"px-4 py-2 text-gray-600",children:r.iterations}),O.jsx("td",{className:"px-4 py-2",children:O.jsx(tJt,{progress:r.progress})}),O.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(r.timeSpent)}),O.jsx("td",{className:"px-4 py-2 text-gray-500",children:O.jsx(nJt,{stats:r.stats})}),O.jsx("td",{className:"px-4 py-2",children:r.solverInstance?O.jsxs("button",{onClick:()=>o(r),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${r.name}`,children:[O.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:O.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),O.jsx("span",{children:"Input"})]}):null})]},r.name))})]})})]})},rJt=class extends $i.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.error("InteractiveGraphics render error:",t)}render(){return this.state.hasError?this.props.fallback:this.props.children}};function aJt({graphics:t}){const A=t.points??[],e=t.lines??[],i=t.rects??[],n=t.circles??[],o=t.texts??[];let s=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,g=Number.NEGATIVE_INFINITY;const I=(E,h)=>{typeof E=="number"&&(E<s&&(s=E),E>a&&(a=E)),typeof h=="number"&&(h<r&&(r=h),h>g&&(g=h))};for(const E of A)I(E.x,E.y);for(const E of e){const h=E.points??[];for(const u of h)I(u.x,u.y)}for(const E of i){const h=E.x??0,u=E.y??0,d=E.width??0,f=E.height??0;I(h,u),I(h+d,u+f)}for(const E of n){const h=E.x??0,u=E.y??0,d=E.radius??1;I(h-d,u-d),I(h+d,u+d)}for(const E of o)I(E.x,E.y);(!isFinite(s)||!isFinite(r)||!isFinite(a)||!isFinite(g))&&(s=-20,r=-20,a=20,g=20);const c=10,B=s-c,l=r-c,C=Math.max(1,a-s+2*c),Q=Math.max(1,g-r+2*c);return O.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${B} ${l} ${C} ${Q}`,role:"img","aria-label":"Graphics fallback",children:[i.map((E,h)=>O.jsx("rect",{x:E.x??0,y:E.y??0,width:E.width??0,height:E.height??0,fill:"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1},`rect-${h}`)),e.map((E,h)=>O.jsx("polyline",{fill:"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1,points:(E.points??[]).map(u=>`${u.x??0},${u.y??0}`).join(" ")},`line-${h}`)),n.map((E,h)=>O.jsx("circle",{cx:E.x??0,cy:E.y??0,r:E.radius??1.5,fill:E.fillColor??"none",stroke:E.strokeColor??"black",strokeWidth:E.strokeWidth??1},`circle-${h}`)),A.map((E,h)=>O.jsx("circle",{cx:E.x??0,cy:E.y??0,r:E.radius??1.5,fill:E.color??"black"},`point-${h}`)),o.map((E,h)=>O.jsx("text",{x:E.x??0,y:E.y??0,fontSize:E.fontSize??10,fill:E.color??"black",children:E.text??""},`text-${h}`))]})}var gJt=({solver:t,animationSpeed:A=25,onSolverStarted:e,onSolverCompleted:i})=>{const[n,o]=j.useReducer(I=>I+1,0),s=j.useMemo(()=>{try{return t.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(I){return console.error("Visualization error:",I),{points:[],lines:[],rects:[],circles:[]}}},[t,n]),r=j.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);j.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const I=document.createElement("script");I.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(I)}},[]);const a=t.pipelineDef!==void 0,g=I=>{const c=t;if(!t.solved&&!t.failed){for(;!t.solved&&!t.failed&&c.currentPipelineStepIndex<=c.pipelineDef.findIndex(B=>B.solverName===I);)t.step();o()}};return O.jsxs("div",{children:[O.jsx(XYt,{solver:t,triggerRender:o,animationSpeed:A,onSolverStarted:e,onSolverCompleted:i}),r?O.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):O.jsx(rJt,{fallback:O.jsx(aJt,{graphics:s}),children:O.jsx(VYt,{graphics:s})}),a&&O.jsx(sJt,{solver:t,onStepUntilPhase:g})]})};const IJt=()=>{j.useEffect(()=>{const t="tailwind-cdn-script";if(document.getElementById(t)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const e=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),e)return;const i=document.createElement("script");i.id=t,i.src="https://cdn.tailwindcss.com",document.head.appendChild(i)},[])},cJt=t=>t.toLowerCase().includes("pack")?lSt:t.toLowerCase().includes("rout")?uSt:XDt,BJt=({solverEvents:t=[]})=>{const[A,e]=j.useState(null);IJt();const i=j.useMemo(()=>{const r=new Map;for(const a of t){const g=`${a.componentName}-${a.solverName}`;r.set(g,a)}return r},[t]),n=j.useMemo(()=>Array.from(i.keys()),[i]),o=A?i.get(A):null,s=j.useMemo(()=>{if(!o)return{instance:null,error:null,classFound:!1};const r=ceA[o.solverName];if(!r)return{instance:null,error:`Solver class "${o.solverName}" not found in SOLVERS registry. Available: ${Object.keys(ceA).join(", ")}`,classFound:!1};try{const a=o.solverParams,g=a?.input!==void 0?a.input:a;return{instance:new r(g),error:null,classFound:!0}}catch(a){const g=a instanceof Error?a.message:String(a);return console.error("Failed to reconstruct solver:",a),{instance:null,error:`Failed to instantiate solver: ${g}`,classFound:!0}}},[o]);return t.length===0?O.jsx("div",{className:"rf-p-4",children:O.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:O.jsxs("div",{className:"rf-p-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),O.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):O.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[O.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[O.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[n.length," ",n.length===1?"Solver":"Solvers"]}),n.map(r=>{const a=i.get(r),g=A===r;return O.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${g?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>e(r),children:(()=>{const I=cJt(a.solverName);return O.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[O.jsx(I,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),O.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[O.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:a.componentName}),O.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:a.solverName})]})]})})()},r)})]}),O.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:o?s.instance?O.jsx(py,{fallback:O.jsx("div",{className:"rf-p-4",children:O.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),O.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",o.solverName]})]})}),children:O.jsx(gJt,{solver:s.instance})}):O.jsxs("div",{className:"rf-p-4",children:[O.jsxs("div",{className:"rf-mb-4",children:[O.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:o.solverName}),O.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",o.componentName]})]}),s.error&&O.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${s.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:O.jsx("p",{className:`rf-text-sm ${s.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:s.error})}),O.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[O.jsx("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50",children:O.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"})}),O.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:O.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(o.solverParams,null,2)})})]})]}):O.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:O.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},gte=({errorMessage:t,errorStack:A,circuitJsonErrors:e})=>{j.useEffect(()=>{if(t){const i=new Error(t);A&&(i.stack=A);try{C3.captureException(i)}catch{}}},[t,A]),j.useEffect(()=>{if(e&&e.length>0)for(const i of e){const n=new Error(i.message||"Circuit JSON Error");i.stack&&(n.stack=i.stack);try{C3.captureException(n,{error_type:i.type})}catch{}}},[e])},Ite="0.0.1482",lJt={version:Ite},$W=TvA()(KvA(t=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:A=>{t({lastRunEvalVersion:A})}}),{name:"runframe-runner-store"})),CJt=t=>{const[A,e]=j.useState([]),[i,n]=j.useState(null),[o,s]=j.useState(""),[r,a]=TM("eval-version-selection",null),g=$W(l=>l.setLastRunEvalVersion),I=$W(l=>l.lastRunEvalVersion);return j.useEffect(()=>{t&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(l=>l.json()).then(l=>{if(Array.isArray(l?.versions)){let C=[...l.versions];l.tags?.latest&&(n(l.tags.latest),C=C.filter(Q=>Q!==l.tags.latest)),e(C)}}).catch(()=>{})},[t]),j.useEffect(()=>{t&&(r?(window.TSCIRCUIT_LATEST_EVAL_VERSION=r,g(r)):i&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=i,g(i)))},[t,r,i]),{versions:j.useMemo(()=>A.filter(l=>l.includes(o)).slice(0,50),[A,o]),latestVersion:i,lastRunEvalVersion:I,search:o,setSearch:s,selectVersion:l=>{a(l),s("")}}},QJt=({snippetNames:t,onSelect:A,onCancel:e,isOpen:i})=>{const[n,o]=j.useState(""),[s,r]=j.useState("");if(!i)return null;const a=t.filter(c=>c.toLowerCase().includes(s.toLowerCase())),g=s&&!t.includes(s),I=c=>{c.key==="Enter"&&(a.length===1?o(a[0]):g&&o(s))};return O.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:O.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[O.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),O.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:s,onChange:c=>r(c.target.value),onKeyDown:I}),O.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[a.map(c=>O.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${n===c?"bg-blue-50":""}`,onClick:()=>o(c),children:c},c)),g&&O.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${n===s?"bg-blue-50":""}`,onClick:()=>o(s),children:['Create new "',s,'"']})]}),O.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[O.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:e,children:"Cancel"}),O.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>n&&A(n),disabled:!n,children:n===s?`Create "${n}"`:`Save to ${n}`})]})]})})},EJt=t=>{const A=j.useRef(null),e=Hc(i=>i.recentEvents);j.useEffect(()=>{if(e.length===0)return;const i=e[0];i.event_id!==A.current&&(t(i),A.current=i.event_id)},[e,t])};function hJt(t){const A=uJt(t),e=j.forwardRef((i,n)=>{const{children:o,...s}=i,r=j.Children.toArray(o),a=r.find(pJt);if(a){const g=a.props.children,I=r.map(c=>c===a?j.Children.count(g)>1?j.Children.only(null):j.isValidElement(g)?g.props.children:null:c);return O.jsx(A,{...s,ref:n,children:j.isValidElement(g)?j.cloneElement(g,void 0,I):null})}return O.jsx(A,{...s,ref:n,children:o})});return e.displayName=`${t}.Slot`,e}function uJt(t){const A=j.forwardRef((e,i)=>{const{children:n,...o}=e;if(j.isValidElement(n)){const s=yJt(n),r=fJt(o,n.props);return n.type!==j.Fragment&&(r.ref=i?Jp(i,s):s),j.cloneElement(n,r)}return j.Children.count(n)>1?j.Children.only(null):null});return A.displayName=`${t}.SlotClone`,A}var dJt=Symbol("radix.slottable");function pJt(t){return j.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===dJt}function fJt(t,A){const e={...A};for(const i in A){const n=t[i],o=A[i];/^on[A-Z]/.test(i)?n&&o?e[i]=(...r)=>{const a=o(...r);return n(...r),a}:n&&(e[i]=n):i==="style"?e[i]={...n,...o}:i==="className"&&(e[i]=[n,o].filter(Boolean).join(" "))}return{...t,...e}}function yJt(t){let A=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,e=A&&"isReactWarning"in A&&A.isReactWarning;return e?t.ref:(A=Object.getOwnPropertyDescriptor(t,"ref")?.get,e=A&&"isReactWarning"in A&&A.isReactWarning,e?t.props.ref:t.props.ref||t.ref)}var AZ="Dialog",[cte,Bte]=rm(AZ),[mJt,Nm]=cte(AZ),lte=t=>{const{__scopeDialog:A,children:e,open:i,defaultOpen:n,onOpenChange:o,modal:s=!0}=t,r=j.useRef(null),a=j.useRef(null),[g,I]=qb({prop:i,defaultProp:n??!1,onChange:o,caller:AZ});return O.jsx(mJt,{scope:A,triggerRef:r,contentRef:a,contentId:oh(),titleId:oh(),descriptionId:oh(),open:g,onOpenChange:I,onOpenToggle:j.useCallback(()=>I(c=>!c),[I]),modal:s,children:e})};lte.displayName=AZ;var Cte="DialogTrigger",Qte=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(Cte,e),o=Bc(A,n.triggerRef);return O.jsx(Ua.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":uhA(n.open),...i,ref:o,onClick:_n(t.onClick,n.onOpenToggle)})});Qte.displayName=Cte;var EhA="DialogPortal",[wJt,Ete]=cte(EhA,{forceMount:void 0}),hte=t=>{const{__scopeDialog:A,forceMount:e,children:i,container:n}=t,o=Nm(EhA,A);return O.jsx(wJt,{scope:A,forceMount:e,children:j.Children.map(i,s=>O.jsx(Vf,{present:e||o.open,children:O.jsx(D8,{asChild:!0,container:n,children:s})}))})};hte.displayName=EhA;var eZ="DialogOverlay",ute=j.forwardRef((t,A)=>{const e=Ete(eZ,t.__scopeDialog),{forceMount:i=e.forceMount,...n}=t,o=Nm(eZ,t.__scopeDialog);return o.modal?O.jsx(Vf,{present:i||o.open,children:O.jsx(SJt,{...n,ref:A})}):null});ute.displayName=eZ;var DJt=hJt("DialogOverlay.RemoveScroll"),SJt=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(eZ,e);return O.jsx(N8,{as:DJt,allowPinchZoom:!0,shards:[n.contentRef],children:O.jsx(Ua.div,{"data-state":uhA(n.open),...i,ref:A,style:{pointerEvents:"auto",...i.style}})})}),xF="DialogContent",dte=j.forwardRef((t,A)=>{const e=Ete(xF,t.__scopeDialog),{forceMount:i=e.forceMount,...n}=t,o=Nm(xF,t.__scopeDialog);return O.jsx(Vf,{present:i||o.open,children:o.modal?O.jsx(bJt,{...n,ref:A}):O.jsx(xJt,{...n,ref:A})})});dte.displayName=xF;var bJt=j.forwardRef((t,A)=>{const e=Nm(xF,t.__scopeDialog),i=j.useRef(null),n=Bc(A,e.contentRef,i);return j.useEffect(()=>{const o=i.current;if(o)return EQA(o)},[]),O.jsx(pte,{...t,ref:n,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:_n(t.onCloseAutoFocus,o=>{o.preventDefault(),e.triggerRef.current?.focus()}),onPointerDownOutside:_n(t.onPointerDownOutside,o=>{const s=o.detail.originalEvent,r=s.button===0&&s.ctrlKey===!0;(s.button===2||r)&&o.preventDefault()}),onFocusOutside:_n(t.onFocusOutside,o=>o.preventDefault())})}),xJt=j.forwardRef((t,A)=>{const e=Nm(xF,t.__scopeDialog),i=j.useRef(!1),n=j.useRef(!1);return O.jsx(pte,{...t,ref:A,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{t.onCloseAutoFocus?.(o),o.defaultPrevented||(i.current||e.triggerRef.current?.focus(),o.preventDefault()),i.current=!1,n.current=!1},onInteractOutside:o=>{t.onInteractOutside?.(o),o.defaultPrevented||(i.current=!0,o.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const s=o.target;e.triggerRef.current?.contains(s)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&n.current&&o.preventDefault()}})}),pte=j.forwardRef((t,A)=>{const{__scopeDialog:e,trapFocus:i,onOpenAutoFocus:n,onCloseAutoFocus:o,...s}=t,r=Nm(xF,e),a=j.useRef(null),g=Bc(A,a);return zCA(),O.jsxs(O.Fragment,{children:[O.jsx(B8,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:n,onUnmountAutoFocus:o,children:O.jsx(FL,{role:"dialog",id:r.contentId,"aria-describedby":r.descriptionId,"aria-labelledby":r.titleId,"data-state":uhA(r.open),...s,ref:g,onDismiss:()=>r.onOpenChange(!1)})}),O.jsxs(O.Fragment,{children:[O.jsx(GJt,{titleId:r.titleId}),O.jsx(RJt,{contentRef:a,descriptionId:r.descriptionId})]})]})}),hhA="DialogTitle",fte=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(hhA,e);return O.jsx(Ua.h2,{id:n.titleId,...i,ref:A})});fte.displayName=hhA;var yte="DialogDescription",mte=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(yte,e);return O.jsx(Ua.p,{id:n.descriptionId,...i,ref:A})});mte.displayName=yte;var wte="DialogClose",Dte=j.forwardRef((t,A)=>{const{__scopeDialog:e,...i}=t,n=Nm(wte,e);return O.jsx(Ua.button,{type:"button",...i,ref:A,onClick:_n(t.onClick,()=>n.onOpenChange(!1))})});Dte.displayName=wte;function uhA(t){return t?"open":"closed"}var Ste="DialogTitleWarning",[kJt,bte]=o3e(Ste,{contentName:xF,titleName:hhA,docsSlug:"dialog"}),GJt=({titleId:t})=>{const A=bte(Ste),e=`\`${A.contentName}\` requires a \`${A.titleName}\` for the component to be accessible for screen reader users.
5606
5606
 
5607
5607
  If you want to hide the \`${A.titleName}\`, you can wrap it with our VisuallyHidden component.
5608
5608