From 0c542513970d98ec58e5d554551ea3748c74bf82 Mon Sep 17 00:00:00 2001 From: Kojib Date: Thu, 1 Jan 2026 13:13:38 -0500 Subject: [PATCH] V40.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Release Notes — **40.0.0** (Stability Baseline) **40.0.0** is the locked foundation release. The system is now *stable enough to build forward without backtracking*—networking, routing, and verification flows are sealed into a dependable base so we can ship the next wave: **Memory Lattice**, **large-file streaming**, and higher-order keystream intelligence. --- ### ✅ Highlights * **Stability locked** * Core app behavior is now consistent across environments (dev + production), with fewer edge-case failures and far less operational noise. * This is the version we build from. * **Deterministic delivery & routing** * Deep links resolve correctly. * Verifier assets serve reliably. * The app behaves like a true sovereign client—load, verify, navigate, continue. * **Proof-first architecture now “ready for scale”** * Verification flows and artifact handling are now in a state where we can extend capability (streaming, lattice indexing, offline recall) without rewriting the foundation. --- ### 🔧 What’s Been Sealed in 40.0.0 #### Platform reliability (the unglamorous part that makes everything possible) * Browser + host behavior is now **predictable**, not “works on one deploy and breaks on another.” * The app can now act as a real *transport layer* for signed artifacts and memory objects. #### API access hardened (quietly, but permanently) * The app now prefers **safe, production-consistent request paths** and avoids failure modes that created runaway errors and retries. * Failover behavior is more disciplined and less noisy. #### Build and version integrity * App build version injection is now consistent (`VITE_APP_VERSION` from `BASE_APP_VERSION`), making releases traceable and auditable. --- ### 🚀 What This Unlocks Next (Now Possible Because 40.0.0 Is Stable) This release is the “foundation pour.” The next releases are the structure. #### **1) Memory Lattice (next major wave)** A real navigable, queryable memory structure—not just a list, not just a tree: * **Lattice-indexed memory** (multi-parent, multi-lineage truth) * **Cross-linking between sigils / posts / derivatives** * **Instant recall views**: show how a sigil’s state evolves across pulses * **Coherence-first navigation**: browse memory as a living structure, not folders #### **2) Large File Streaming (sovereign media + datasets)** Now that routing + transport is stable, we can ship: * **Chunked streaming uploads** (large artifacts without breaking the app) * **Derivative glyph sharding** (split a file into signed parts) * **Master-glyph reconstruction** (reassemble deterministically into a playable stream) * **Offline-resumable transfers** (pick up exactly where you left off) #### **3) Advanced Sync + Resilience** With a stable base, we can push real “unstoppable” behavior: * **Background-safe sync loops** (without error storms) * **Multi-endpoint recovery** (fallback without chaos) * **Deterministic reconciliation** for registry merges and lineage updates #### **4) Verifier Expansion** The verifier becomes more than a checker—it becomes a portal: * **Proof bundles as first-class objects** * **Stronger provenance surfacing** (who authored, when, what it binds to) * **Faster artifact inspection paths** for large payloads and streamed content --- ### 📁 Key Areas Touched (High Signal) * `src/components/SigilExplorer/apiClient.ts` — stable access rules + disciplined failover * `src/components/SigilExplorer/sigilExplorerSync.ts` — sync stability improvements * `vite.config.ts` — build/version injection + local routing stability * host rewrites (`vercel.json` or equivalent) — sealed deep link + verifier + `/api/*` routing --- ### 🧭 Roadmap Snapshot (Near-Term) * **40.x**: Memory Lattice foundations (indexing, cross-links, lattice UI primitives) * **41.x**: Streaming alpha (chunk protocol + master glyph + reconstruction) * **42.x**: Full sovereign media + offline resumable streams + lattice-native playback --- ### Closing **40.0.0** isn’t flashy—it’s powerful. It’s the release where the platform stops fighting you and starts *carrying weight*. From here, the system can grow into the things it was always meant to be: **a living Memory Lattice** and a **sovereign large-file streaming + verification layer** built on proofs, not platforms. --- api/proof/sigil.js | 20 + ...k-CYb1m8Lr.js => EternalKlock-ExyiY2oa.js} | 2 +- dist/assets/EternalKlock-Q9Ma8fJn.js | 1 - dist/assets/EternalKlock-jpRkboUw.js | 1 + ...uZMS.js => HomePriceChartCard-BJEoJCPF.js} | 2 +- ...alms-n3n97jUS.js => KaiRealms--ZhEUi7A.js} | 4 +- ...hApp-B-w8VCRx.js => KaiVohApp-5AHr3VoS.js} | 2 +- ...al-DqaAc8Dk.js => KaiVohModal-CiiZjN6f.js} | 4 +- ...{PShort-Bi2Yj-fV.js => PShort-BMtWHQuc.js} | 2 +- ...GtbCn7A.js => SealMomentModal-0M7C7KOU.js} | 2 +- ...AUceu4.js => SigilAuthContext-OFGaeRDv.js} | 2 +- ...55823.js => SigilAuthProvider-CXn4HNTZ.js} | 2 +- ...-NDnyJCuL.js => SigilExplorer-BOoXjADk.js} | 2 +- ...-6HGc5He6.js => SigilFeedPage-Db4AHFP3.js} | 2 +- dist/assets/SigilModal-BLR62m8K.js | 1 - dist/assets/SigilModal-DFItN10K.js | 1 + ...dal-rnEJVojR.js => SigilModal-I6o5tJYB.js} | 2 +- ...Page-CwpYV9Sy.js => SigilPage-D5-nfszP.js} | 6 +- dist/assets/SigilStreamRoot-Bp7fJbYV.js | 1 - ...zG88CIn.js => SigilStreamRoot-DZfIDSg7.js} | 2 +- dist/assets/SigilStreamRoot-R8RMoXIK.js | 1 + ...-DPCnuxaa.js => VerifierFrame-C3wusEJg.js} | 2 +- ...age-BtXhWnc2.js => VerifyPage-XbHelENw.js} | 2 +- .../__vite-browser-external-Ck76dNRt.js | 1 - .../__vite-browser-external-DzQxHXPJ.js | 1 + ...undler-B8Zn1qrE.js => bundler-XNjIfYHv.js} | 2 +- dist/assets/html2canvas-BSrQknYp.js | 1 - ...as-CX7x4v_I.js => html2canvas-D20mtSgr.js} | 2 +- dist/assets/html2canvas-D96SWxPk.js | 1 + .../{index-BfXtjgZ1.js => index-DtFxxvye.js} | 76 +- dist/assets/jszip.min-CiFWeOtI.js | 1 + dist/assets/jszip.min-DB1t_WYs.js | 1 - ...pes-DLoCx3ki.js => prop-types-YkQRgLAR.js} | 2 +- ...ilUrl-Cp46LCpq.js => sigilUrl-BHXkf6-q.js} | 2 +- ...ils-CeCRP2Iw.js => sigilUtils-DuDBhLBZ.js} | 2 +- ...vgMeta-CvJppMrX.js => svgMeta-C-TxRrIg.js} | 2 +- ...vgMeta-GiJGs5Tc.js => svgMeta-DhWJWm31.js} | 2 +- ...{ticker-DSh75-xJ.js => ticker-DQftO_Mf.js} | 2 +- ...s-H10Mu0X8.js => useFastPress-BncuGI3m.js} | 2 +- ...n-BHaVRo0Z.js => useValuation-C7vd80-4.js} | 2 +- ...AS-CfTQ1nee.js => webauthnKAS-Dx6bJ651.js} | 2 +- dist/assets/{x-CArBFE1m.js => x-Dbqk5kTV.js} | 2 +- dist/index.html | 2 +- dist/sw.js | 2 +- public/sw.js | 2 +- src/components/SigilExplorer.tsx | 31 +- .../SigilExplorer/PulseHoneycombModal.css | 521 ++++++ .../SigilExplorer/PulseHoneycombModal.tsx | 1231 ++++++++++++++ .../SigilExplorer/SigilHoneycomb.css | 664 ++++++++ .../SigilExplorer/SigilHoneycombExplorer.tsx | 1410 +++++++++++++++++ src/components/SigilExplorer/apiClient.ts | 31 +- src/version.ts | 2 +- tsconfig.tsbuildinfo | 2 +- vite.config.ts | 7 +- 54 files changed, 3985 insertions(+), 92 deletions(-) rename dist/assets/{EternalKlock-CYb1m8Lr.js => EternalKlock-ExyiY2oa.js} (99%) delete mode 100644 dist/assets/EternalKlock-Q9Ma8fJn.js create mode 100644 dist/assets/EternalKlock-jpRkboUw.js rename dist/assets/{HomePriceChartCard-BGCcuZMS.js => HomePriceChartCard-BJEoJCPF.js} (99%) rename dist/assets/{KaiRealms-n3n97jUS.js => KaiRealms--ZhEUi7A.js} (99%) rename dist/assets/{KaiVohApp-B-w8VCRx.js => KaiVohApp-5AHr3VoS.js} (99%) rename dist/assets/{KaiVohModal-DqaAc8Dk.js => KaiVohModal-CiiZjN6f.js} (93%) rename dist/assets/{PShort-Bi2Yj-fV.js => PShort-BMtWHQuc.js} (94%) rename dist/assets/{SealMomentModal-DGtbCn7A.js => SealMomentModal-0M7C7KOU.js} (99%) rename dist/assets/{SigilAuthContext-DxAUceu4.js => SigilAuthContext-OFGaeRDv.js} (73%) rename dist/assets/{SigilAuthProvider-DC455823.js => SigilAuthProvider-CXn4HNTZ.js} (91%) rename dist/assets/{SigilExplorer-NDnyJCuL.js => SigilExplorer-BOoXjADk.js} (99%) rename dist/assets/{SigilFeedPage-6HGc5He6.js => SigilFeedPage-Db4AHFP3.js} (92%) delete mode 100644 dist/assets/SigilModal-BLR62m8K.js create mode 100644 dist/assets/SigilModal-DFItN10K.js rename dist/assets/{SigilModal-rnEJVojR.js => SigilModal-I6o5tJYB.js} (99%) rename dist/assets/{SigilPage-CwpYV9Sy.js => SigilPage-D5-nfszP.js} (99%) delete mode 100644 dist/assets/SigilStreamRoot-Bp7fJbYV.js rename dist/assets/{SigilStreamRoot-MzG88CIn.js => SigilStreamRoot-DZfIDSg7.js} (99%) create mode 100644 dist/assets/SigilStreamRoot-R8RMoXIK.js rename dist/assets/{VerifierFrame-DPCnuxaa.js => VerifierFrame-C3wusEJg.js} (99%) rename dist/assets/{VerifyPage-BtXhWnc2.js => VerifyPage-XbHelENw.js} (99%) delete mode 100644 dist/assets/__vite-browser-external-Ck76dNRt.js create mode 100644 dist/assets/__vite-browser-external-DzQxHXPJ.js rename dist/assets/{bundler-B8Zn1qrE.js => bundler-XNjIfYHv.js} (99%) delete mode 100644 dist/assets/html2canvas-BSrQknYp.js rename dist/assets/{html2canvas-CX7x4v_I.js => html2canvas-D20mtSgr.js} (99%) create mode 100644 dist/assets/html2canvas-D96SWxPk.js rename dist/assets/{index-BfXtjgZ1.js => index-DtFxxvye.js} (56%) create mode 100644 dist/assets/jszip.min-CiFWeOtI.js delete mode 100644 dist/assets/jszip.min-DB1t_WYs.js rename dist/assets/{prop-types-DLoCx3ki.js => prop-types-YkQRgLAR.js} (92%) rename dist/assets/{sigilUrl-Cp46LCpq.js => sigilUrl-BHXkf6-q.js} (88%) rename dist/assets/{sigilUtils-CeCRP2Iw.js => sigilUtils-DuDBhLBZ.js} (89%) rename dist/assets/{svgMeta-CvJppMrX.js => svgMeta-C-TxRrIg.js} (98%) rename dist/assets/{svgMeta-GiJGs5Tc.js => svgMeta-DhWJWm31.js} (79%) rename dist/assets/{ticker-DSh75-xJ.js => ticker-DQftO_Mf.js} (99%) rename dist/assets/{useFastPress-H10Mu0X8.js => useFastPress-BncuGI3m.js} (80%) rename dist/assets/{useValuation-BHaVRo0Z.js => useValuation-C7vd80-4.js} (98%) rename dist/assets/{webauthnKAS-CfTQ1nee.js => webauthnKAS-Dx6bJ651.js} (98%) rename dist/assets/{x-CArBFE1m.js => x-Dbqk5kTV.js} (55%) create mode 100644 src/components/SigilExplorer/PulseHoneycombModal.css create mode 100644 src/components/SigilExplorer/PulseHoneycombModal.tsx create mode 100644 src/components/SigilExplorer/SigilHoneycomb.css create mode 100644 src/components/SigilExplorer/SigilHoneycombExplorer.tsx diff --git a/api/proof/sigil.js b/api/proof/sigil.js index 5e6701ec1..ce3a4d2de 100644 --- a/api/proof/sigil.js +++ b/api/proof/sigil.js @@ -102,6 +102,26 @@ async function readJsonBody(req) { } export default async function handler(req, res) { + const origin = req.headers?.origin; + const allowedOrigins = new Set([ + "https://m.phi.network", + "https://memory.kaiklok.com", + ]); + + if (origin && allowedOrigins.has(origin)) { + res.setHeader("Access-Control-Allow-Origin", origin); + } + res.setHeader("Access-Control-Allow-Methods", "POST, OPTIONS"); + res.setHeader("Access-Control-Allow-Headers", "Content-Type"); + res.setHeader("Vary", "Origin"); + + if (req.method === "OPTIONS") { + res.statusCode = 204; + res.end(); + return; + } + + try { const body = await readJsonBody(req); const result = await generateSigilProof(body); diff --git a/dist/assets/EternalKlock-CYb1m8Lr.js b/dist/assets/EternalKlock-ExyiY2oa.js similarity index 99% rename from dist/assets/EternalKlock-CYb1m8Lr.js rename to dist/assets/EternalKlock-ExyiY2oa.js index e5ff34986..3406cb4a7 100644 --- a/dist/assets/EternalKlock-CYb1m8Lr.js +++ b/dist/assets/EternalKlock-ExyiY2oa.js @@ -1,4 +1,4 @@ -import{F as e,G as t,I as n,K as r,Kr as i,L as a,N as o,Nr as s,P as c,Q as l,R as u,Rr as d,U as f,V as p,Vt as m,W as h,Y as g,Yr as _,Z as v,ai as y,di as b,li as x,pi as S,q as C,qr as w,si as T,ui as E}from"./index-BfXtjgZ1.js";import{t as D}from"./SigilModal-rnEJVojR.js";const O=17491.270421,k=[`Ignition Ark`,`Integration Ark`,`Harmonization Ark`,`Reflektion Ark`,`Purifikation Ark`,`Dream Ark`],A={"Ignition Ark":`#ff1559`,"Integration Ark":`#ff6d00`,"Harmonization Ark":`#ffd900`,"Reflektion Ark":`#00ff66`,"Purifikation Ark":`#05e6ff`,"Dream Ark":`#c300ff`},j={"Ignition Ark":`Ignite`,"Integration Ark":`Integrate`,"Harmonization Ark":`Harmony`,"Reflektion Ark":`Reflekt`,"Purifikation Ark":`Purify`,"Dream Ark":`Dream`},M=O/36,N=M/44,ee=3+Math.sqrt(5);Math.round(ee*1e3),1/ee;var P=S(T(),1),F=S(m(),1),I=120,L=I/2,R=22,z=4.5,B=2,te=L-.5,V=L-B,ne=36,re=-3,ie=3,H=V-2,ae=(R+z+te)/2-4,oe=e=>e*Math.PI/180,U=e=>e.toLowerCase().replace(/\s+/g,`-`);function se(e,t,n){let r=parseInt(e.slice(1),16),i=parseInt(t.slice(1),16),a=r>>16,o=r>>8&255,s=r&255,c=i>>16,l=i>>8&255,u=i&255;return`rgb(${Math.round(a+(c-a)*n)},${Math.round(o+(l-o)*n)},${Math.round(s+(u-s)*n)})`}var W=(e,t,n)=>Math.max(t,Math.min(n,e)),G=e=>{if(!e)return;let t=e.match(/(\d{2})$/);if(!t)return;let n=parseInt(t[1],10);if(Number.isFinite(n))return W(n,0,43)},ce=({hue:e,pulse:t,kaiPulseEternal:n,harmonicDayPercent:r,microCyclePercent:i,dayLabel:a,monthLabel:o,monthDay:s,glowPulse:c=!0,pulseIntervalSec:l=ee,rimFlash:u=!1,rotationOverride:d,solarSpiralStepString:f,solarSpiralStep:p,eternalBeatIndex:m,eternalStepIndex:h})=>{(0,P.useEffect)(()=>{typeof document<`u`&&document.documentElement.style.setProperty(`--cycle`,`${l}s`)},[l]);let g=`${l}s`,_=(n%O+O)%O,v=Number.isFinite(t)?t:_,y=v/O,b=Number.isFinite(r)?r:y*100,x=(v-Math.floor(v/M)*M)%N/N,S=Number.isFinite(i)?i:x*100,C=(v%O+O)%O,w=C/O,T=Math.floor(w*36)%36,E=(T+.5)/36*360,D=typeof d==`number`?d:E,B=360/k.length,ce=Math.floor(D/B)%k.length,le=(ce+1)%k.length,ue=(D-ce*B+360)%360,de=Math.min(1,ue/B),fe=A[k[ce]],pe=A[k[le]],me=se(fe,pe,de),he=2*Math.PI*V,ge=he*(1-b/100),_e=-(S/100)*l,ve=v,ye=[`Aethon`,`Virelai`,`Solari`,`Amarin`,`Kaelus`,`Umbriel`,`Noctura`,`Liora`].indexOf(o)+1,be=ye>0?ye:1,xe=L-14,Se=L,Ce=L+14,we=L+28,Te=Math.floor(_/M)%36,Ee=Number.isFinite(m)?W(m,0,35):Te,De=_-Ee*M,Oe=De/M,ke=Math.floor(De/N)%44,Ae=Number.isFinite(h)?W(h,0,43):ke,je=Ae.toString().padStart(2,`0`),Me=(Ee+.5)/36*360,Ne=`hsl(${T/36*360}, 100%, 50%)`,Pe=`#ebfdff`,Fe=1.6,Ie=te-(R+z)+.5,Le=L-(R+z),Re=Ie*Oe,ze=Le-Re,Be=.82,Ve=L-(R+z)-Ie*Be,He=L,Ue=Ve+6,We=(0,P.useId)().replace(/[^a-zA-Z0-9_-]/g,``)||`klock`,Ge=je,Ke=Ee.toString().padStart(2,`0`),qe=Math.floor(_),Je=De-Ae*N,Ye=Math.max(0,Math.min(1,Je/N))*100,Xe=`#00faff`,Ze=`#ff6d00`,Qe=((C-T*M)%M+M)%M,$e=Math.floor(Qe/N)%44,et=Number.isFinite(p?.stepIndex)?W(p.stepIndex,0,43):void 0,tt=G(f),nt=(et??tt??$e).toString().padStart(2,`0`),rt=L-(R+z)-Ie*Be,it=L;return(0,F.jsx)(`div`,{className:`kai-klock-shell`,style:{"--hue":e,"--arc":fe,"--cycle":g,width:`100%`,aspectRatio:`1 / 1`,overflow:`hidden`},children:(0,F.jsxs)(`svg`,{className:`kai-svg`,viewBox:`0 0 ${I} ${I}`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid meet`,role:`img`,children:[(0,F.jsx)(`circle`,{cx:L,cy:L,r:te,className:`rim-ring ${u?`rim-flash`:``}`}),(0,F.jsx)(`circle`,{cx:L,cy:L,r:V,className:`day-progress`,strokeDasharray:he,strokeDashoffset:ge}),Array.from({length:36}).map((e,t)=>{let n=oe(t*(360/ne)-90),r=(t+re+ne)%ne/ne;return(0,F.jsx)(`text`,{x:L+H*Math.cos(n),y:L+H*Math.sin(n)+ie/2,className:`beat-number`,textAnchor:`middle`,fontSize:ie,style:{fill:`hsl(${r*360},100%,50%)`},children:t},t)}),(0,F.jsx)(`circle`,{cx:L,cy:L,r:R+z,className:`inner-halo`}),(0,F.jsx)(`g`,{className:`orb-spin`,style:{animationDelay:`${_e}s`},children:(0,F.jsx)(`circle`,{cx:L,cy:L-(R+z),r:3.6,className:`micro-orb orb-glow`})}),(0,F.jsxs)(`g`,{style:{transform:`rotate(${D}deg)`,transformOrigin:`${L}px ${L}px`,transition:`transform 1s ease-out`},children:[(0,F.jsx)(`rect`,{x:L-1,y:L-(R+z)-(te-(R+z)),width:2,height:te-(R+z),rx:1,className:`needle`,style:{fill:me}}),(0,F.jsxs)(`g`,{className:`solar-hand-label-wrap`,style:{transform:`rotate(${-D}deg)`,transformOrigin:`${it}px ${rt}px`},children:[(0,F.jsx)(`text`,{x:it,y:rt-3.6,textAnchor:`middle`,dominantBaseline:`central`,fontSize:3,fontWeight:900,style:{fill:Ze,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.8,filter:`drop-shadow(0 0 2px ${Ze})`},children:`☀`}),(0,F.jsx)(`text`,{x:it-2.2,y:rt,textAnchor:`middle`,dominantBaseline:`central`,className:`solar-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:Ze,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Ze}) drop-shadow(0 0 5px ${Ze})`},children:nt[0]}),(0,F.jsx)(`text`,{x:it+2.2,y:rt,textAnchor:`middle`,dominantBaseline:`central`,className:`solar-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:Ze,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Ze}) drop-shadow(0 0 5px ${Ze})`},children:nt[1]})]})]}),(0,F.jsxs)(`g`,{className:`eternal-hand-group`,style:{transform:`rotate(${Me}deg)`,transformOrigin:`${L}px ${L}px`,transition:`transform 0.6s cubic-bezier(.22,.61,.36,1)`},children:[(0,F.jsx)(`rect`,{x:L-Fe/2,y:L-(R+z)-Ie,width:Fe,height:Ie,rx:Fe/1.5,className:`eternal-hand`,style:{fill:`transparent`,stroke:`#bff7ff`,strokeWidth:.7,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 6px #d9fbff)`,mixBlendMode:`screen`}}),(0,F.jsx)(`defs`,{children:(0,F.jsxs)(`linearGradient`,{id:`eternalFill-${We}`,x1:`0`,y1:`1`,x2:`0`,y2:`0`,children:[(0,F.jsx)(`stop`,{offset:`0%`,stopColor:Pe,stopOpacity:.15}),(0,F.jsx)(`stop`,{offset:`100%`,stopColor:Pe,stopOpacity:.95})]})}),(0,F.jsx)(`rect`,{x:L-Fe/2,y:ze,width:Fe,height:Math.max(0,Re),rx:Fe/2,className:`eternal-hand-fill`,style:{fill:`url(#eternalFill-${We})`,filter:`drop-shadow(0 0 3px #eaffff) drop-shadow(0 0 6px #eaffff)`,mixBlendMode:`screen`}}),(0,F.jsx)(`circle`,{cx:L,cy:L-(R+z)-Ie-.8,r:1.35,className:`eternal-hand-tip`,style:{fill:`#ffffff`,filter:`drop-shadow(0 0 4px #eaffff) drop-shadow(0 0 8px #eaffff)`,mixBlendMode:`screen`}}),(0,F.jsxs)(`g`,{className:`eternal-hand-label-wrap`,style:{transform:`rotate(${-Me}deg)`,transformOrigin:`${He}px ${Ve}px`},children:[(0,F.jsx)(`text`,{x:He-2.2,y:Ve,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:`#e8feff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.45)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 5px #c8fbff)`},children:je[0]}),(0,F.jsx)(`text`,{x:He+2.2,y:Ve,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:`#e8feff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.45)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 5px #c8fbff)`},children:je[1]})]}),(0,F.jsx)(`g`,{transform:`rotate(${-Me} ${He} ${Ue})`,children:(0,F.jsx)(`text`,{x:He,y:Ue,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-percent`,fontSize:3.2,fontWeight:800,style:{fill:`#dafeff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.4)`,strokeWidth:.7,letterSpacing:`0.25px`,filter:`drop-shadow(0 0 2px #eaffff)`}})})]}),(0,F.jsx)(`text`,{x:L,y:L-15,className:`center-sub`,textAnchor:`middle`,fontSize:6,fontWeight:800,style:{fill:Xe,paintOrder:`stroke`,stroke:`#000`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Xe}) drop-shadow(0 0 6px ${Xe})`},children:qe}),(0,F.jsxs)(`text`,{x:L,y:L-3,className:`center-pulse ${c?`pulse-flash`:``}`,textAnchor:`middle`,children:[Ke,`:`,Ge]},`et-${ve}`),(0,F.jsx)(`text`,{x:L,y:L+8,className:`center-day day-${U(a)}`,textAnchor:`middle`,children:a}),(0,F.jsx)(`text`,{x:L,y:L+18,className:`center-month month-${U(o)}`,textAnchor:`middle`,children:o}),(0,F.jsx)(`text`,{x:L,y:we+8,className:`eternal-pulse`,textAnchor:`middle`,children:n}),(0,F.jsx)(`text`,{x:xe,y:we,className:`step-percent`,textAnchor:`middle`,fontSize:5.5,fill:Ne,fontWeight:800,style:{filter:`drop-shadow(0 0 2px ${Ne}) drop-shadow(0 0 5px #00faff)`,letterSpacing:`0.25px`},children:`${Ye.toFixed(1)}%`}),(0,F.jsx)(`text`,{x:Se,y:we,className:`day-of-month day-${U(a)}`,textAnchor:`middle`,children:s}),(0,F.jsx)(`text`,{x:Ce,y:we,className:`day-of-month month-${U(o)}`,textAnchor:`middle`,children:be}),k.map((e,t)=>{let n=oe(t*(360/k.length)-90),r=L+ae*Math.cos(n),i=L+ae*Math.sin(n)+(t===3?7:3);return(0,F.jsxs)(P.Fragment,{children:[(0,F.jsx)(`text`,{x:r,y:i,className:`arc-label arc-${U(e.split(` `)[0])} ${t===ce?`active`:``}`,textAnchor:`middle`,children:j[e]}),e===`Ignition Ark`&&f&&(0,F.jsx)(`text`,{x:r,y:i+8,textAnchor:`middle`,dominantBaseline:`hanging`,fontSize:10,fill:`#00faff`,fontWeight:900,style:{filter:`drop-shadow(0 0 2px #00faff) drop-shadow(0 0 4px #00faff) drop-shadow(0 0 8px #00faff)`,paintOrder:`stroke`,stroke:`#000`,strokeWidth:1,vectorEffect:`non-scaling-stroke`,letterSpacing:`0.5px`},children:f})]},e)})]})})};function le(e){let{beat:t}=i(w(e)),{pulse:n,chakraDay:r}=_(e);return{pulse:n,beat:t,chakraDay:r}}var ue=()=>performance.timeOrigin+performance.now(),de=e=>{let t=e-s;return s+Math.ceil(t/d)*d},fe=()=>{let[e,t]=(0,P.useState)(0),[n,r]=(0,P.useState)(0),[i,a]=(0,P.useState)(`Root`),[o,s]=(0,P.useState)(!1),[c]=(0,P.useState)(()=>`btn-${Math.random().toString(36).slice(2)}`),u=o?`sigil-open`:`sigil-closed`,f=(0,P.useRef)(null),p=(0,P.useRef)(null),m=(0,P.useRef)(0),h=(0,P.useCallback)(()=>{let{pulse:e,beat:n,chakraDay:i}=le(new Date);t(e),r(n),a(i)},[]),g=()=>{p.current!==null&&(clearTimeout(p.current),p.current=null)},_=(0,P.useCallback)(()=>{g();let e=ue();m.current=de(e);let t=()=>{let e=ue(),n=Math.floor((e-m.current)/d),r=Math.max(0,n)+1;for(let e=0;e(h(),_(),()=>g()),[h,_]),(0,P.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&_()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[_]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{className:`sigil-button`,title:`View & save this sigil`,onClick:()=>s(!0),"data-chakra":i,"aria-label":`Open Kairos Sigil`,children:(0,F.jsxs)(`span`,{className:`sigil-thumb`,"aria-hidden":`true`,inert:!0,children:[(0,F.jsx)(l,{ref:f,pulse:e,beat:n,chakraDay:i,size:40,hashMode:`deterministic`,origin:c,onReady:n=>{n&&typeof n.pulse==`number`&&n.pulse!==e&&t(n.pulse)}},u),(0,F.jsx)(`span`,{className:`sigil-shield`,"aria-hidden":`true`})]})}),o&&(0,F.jsx)(D,{initialPulse:e,onClose:()=>s(!1)})]})},pe=(0,P.createContext)({});function me(e){let t=(0,P.useRef)(null);return t.current===null&&(t.current=e()),t.current}var he=typeof window<`u`,ge=he?P.useLayoutEffect:P.useEffect,_e=(0,P.createContext)(null);function ve(e,t){e.indexOf(t)===-1&&e.push(t)}function ye(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var be=(e,t,n)=>n>t?t:n/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Ce(e){return typeof e==`object`&&!!e}var we=e=>/^0[^.\s]+$/u.test(e);function Te(e){let t;return()=>(t===void 0&&(t=e()),t)}var Ee=e=>e,De=(e,t)=>n=>t(e(n)),Oe=(...e)=>e.reduce(De),ke=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},Ae=class{constructor(){this.subscriptions=[]}add(e){return ve(this.subscriptions,e),()=>ye(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;ie*1e3,Me=e=>e/1e3;function Ne(e,t){return t?e*(1e3/t):0}var Pe=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Fe=1e-7,Ie=12;function Le(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=Pe(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>Fe&&++sLe(t,0,1,e,n);return e=>e===0||e===1?e:Pe(i(e),t,r)}var ze=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Be=e=>t=>1-e(1-t),Ve=Re(.33,1.53,.69,.99),He=Be(Ve),Ue=ze(He),We=e=>(e*=2)<1?.5*He(e):.5*(2-2**(-10*(e-1))),Ge=e=>1-Math.sin(Math.acos(e)),Ke=Be(Ge),qe=ze(Ge),Je=Re(.42,0,1,1),Ye=Re(0,0,.58,1),Xe=Re(.42,0,.58,1),Ze=e=>Array.isArray(e)&&typeof e[0]!=`number`,Qe=e=>Array.isArray(e)&&typeof e[0]==`number`,$e={linear:Ee,easeIn:Je,easeInOut:Xe,easeOut:Ye,circIn:Ge,circInOut:qe,circOut:Ke,backIn:He,backInOut:Ue,backOut:Ve,anticipate:We},et=e=>typeof e==`string`,tt=e=>{if(Qe(e)){e.length;let[t,n,r,i]=e;return Re(t,n,r,i)}else if(et(e))return $e[e],`${e}`,$e[e];return e},nt=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],rt={value:null,addProjectionMetrics:null};function it(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.has(e)||s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0,[n,r]=[r,n],n.forEach(l),t&&rt.value&&rt.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var at=40;function ot(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=nt.reduce((e,n)=>(e[n]=it(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=xe.useManualTiming?i.timestamp:performance.now();n=!1,xe.useManualTiming||(i.delta=r?1e3/60:Math.max(Math.min(a-i.timestamp,at),1)),i.timestamp=a,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:nt.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t(ut===void 0&&ft.set(ct.isProcessing||xe.useManualTiming?ct.timestamp:performance.now()),ut),set:e=>{ut=e,queueMicrotask(dt)}},pt={layout:0,mainThread:0,waapi:0},mt=e=>t=>typeof t==`string`&&t.startsWith(e),ht=mt(`--`),gt=mt(`var(--`),_t=e=>gt(e)?vt.test(e.split(`/*`)[0].trim()):!1,vt=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,yt={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},bt={...yt,transform:e=>be(0,1,e)},xt={...yt,default:1},St=e=>Math.round(e*1e5)/1e5,Ct=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function wt(e){return e==null}var Tt=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Et=(e,t)=>n=>!!(typeof n==`string`&&Tt.test(n)&&n.startsWith(e)||t&&!wt(n)&&Object.prototype.hasOwnProperty.call(n,t)),Dt=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Ct);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},Ot=e=>be(0,255,e),kt={...yt,transform:e=>Math.round(Ot(e))},At={test:Et(`rgb`,`red`),parse:Dt(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+kt.transform(e)+`, `+kt.transform(t)+`, `+kt.transform(n)+`, `+St(bt.transform(r))+`)`};function jt(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Mt={test:Et(`#`),parse:jt,transform:At.transform},Nt=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Pt=Nt(`deg`),Ft=Nt(`%`),q=Nt(`px`),It=Nt(`vh`),Lt=Nt(`vw`),Rt=(()=>({...Ft,parse:e=>Ft.parse(e)/100,transform:e=>Ft.transform(e*100)}))(),zt={test:Et(`hsl`,`hue`),parse:Dt(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+Ft.transform(St(t))+`, `+Ft.transform(St(n))+`, `+St(bt.transform(r))+`)`},J={test:e=>At.test(e)||Mt.test(e)||zt.test(e),parse:e=>At.test(e)?At.parse(e):zt.test(e)?zt.parse(e):Mt.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?At.transform(e):zt.transform(e),getAnimatableNone:e=>{let t=J.parse(e);return t.alpha=0,J.transform(t)}},Bt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Vt(e){return isNaN(e)&&typeof e==`string`&&(e.match(Ct)?.length||0)+(e.match(Bt)?.length||0)>0}var Ht=`number`,Ut=`color`,Wt=`var`,Gt=`var(`,Kt="${}",qt=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Jt(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(qt,e=>(J.test(e)?(r.color.push(a),i.push(Ut),n.push(J.parse(e))):e.startsWith(Gt)?(r.var.push(a),i.push(Wt),n.push(e)):(r.number.push(a),i.push(Ht),n.push(parseFloat(e))),++a,Kt)).split(Kt),indexes:r,types:i}}function Yt(e){return Jt(e).values}function Xt(e){let{split:t,types:n}=Jt(e),r=t.length;return e=>{let i=``;for(let a=0;atypeof e==`number`?0:J.test(e)?J.getAnimatableNone(e):e;function Qt(e){let t=Yt(e);return Xt(e)(t.map(Zt))}var $t={test:Vt,parse:Yt,createTransformer:Xt,getAnimatableNone:Qt};function en(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function tn({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=en(s,r,e+1/3),a=en(s,r,e),o=en(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function nn(e,t){return n=>n>0?t:e}var Y=(e,t,n)=>e+(t-e)*n,rn=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},an=[Mt,At,zt],on=e=>an.find(t=>t.test(e));function sn(e){let t=on(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===zt&&(n=tn(n)),n}var cn=(e,t)=>{let n=sn(e),r=sn(t);if(!n||!r)return nn(e,t);let i={...n};return e=>(i.red=rn(n.red,r.red,e),i.green=rn(n.green,r.green,e),i.blue=rn(n.blue,r.blue,e),i.alpha=Y(n.alpha,r.alpha,e),At.transform(i))},ln=new Set([`none`,`hidden`]);function un(e,t){return ln.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function dn(e,t){return n=>Y(e,t,n)}function fn(e){return typeof e==`number`?dn:typeof e==`string`?_t(e)?nn:J.test(e)?cn:gn:Array.isArray(e)?pn:typeof e==`object`?J.test(e)?cn:mn:nn}function pn(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>fn(e)(e,t[n]));return e=>{for(let t=0;t{for(let t in r)n[t]=r[t](e);return n}}function hn(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i{let n=$t.createTransformer(t),r=Jt(e),i=Jt(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?ln.has(e)&&!i.values.length||ln.has(t)&&!r.values.length?un(e,t):Oe(pn(hn(r,i),i.values),n):(`${e}${t}`,nn(e,t))};function _n(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?Y(e,t,n):fn(e)(e,t)}var vn=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>K.update(t,e),stop:()=>st(t),now:()=>ct.isProcessing?ct.timestamp:ft.now()}},yn=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t=2e4?1/0:t}function Sn(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(xn(r),bn);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:Me(i)}}var Cn=5;function wn(e,t,n){let r=Math.max(t-Cn,0);return Ne(n-e(r),t-r)}var X={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Tn=.001;function En({duration:e=X.duration,bounce:t=X.bounce,velocity:n=X.velocity,mass:r=X.mass}){let i,a;X.maxDuration;let o=1-t;o=be(X.minDamping,X.maxDamping,o),e=be(X.minDuration,X.maxDuration,Me(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=kn(t,o),c=Math.exp(-i);return Tn-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=kn(t**2,o);return(-i(t)+Tn>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Tn+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=On(i,a,s);if(e=je(e),isNaN(c))return{stiffness:X.stiffness,damping:X.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Dn=12;function On(e,t,n){let r=n;for(let n=1;ne[t]!==void 0)}function Nn(e){let t={velocity:X.velocity,stiffness:X.stiffness,damping:X.damping,mass:X.mass,isResolvedFromDuration:!1,...e};if(!Mn(e,jn)&&Mn(e,An))if(e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*be(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:X.mass,stiffness:i,damping:a}}else{let n=En(e);t={...t,...n,mass:X.mass},t.isResolvedFromDuration=!0}return t}function Pn(e=X.visualDuration,t=X.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Nn({...n,velocity:-Me(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=Me(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?X.restSpeed.granular:X.restSpeed.default,i||=v?X.restDelta.granular:X.restDelta.default;let y;if(h<1){let e=kn(_,h);y=t=>o-Math.exp(-h*_*t)*((m+h*_*g)/e*Math.sin(e*t)+g*Math.cos(e*t))}else if(h===1)y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e}}let b={calculatedDuration:p&&d||null,next:e=>{let t=y(e);if(p)s.done=e>=d;else{let n=e===0?m:0;h<1&&(n=e===0?je(m):wn(y,e,t));let a=Math.abs(n)<=r,c=Math.abs(o-t)<=i;s.done=a&&c}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(xn(b),bn),t=yn(t=>b.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return b}Pn.applyToOptions=e=>{let t=Sn(e,100,Pn);return e.ease=t.ease,e.duration=je(t.duration),e.type=`keyframes`,e};function Fn({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&ec,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=Pn({keyframes:[f.value,m(f.value)],velocity:wn(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function In(e,t,n){let r=[],i=n||xe.mix||_n,a=e.length-1;for(let n=0;nt[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=In(t,r,i),c=s.length,l=n=>{if(o&&n1)for(;rl(be(e[0],e[a-1],t)):l}function Rn(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=ke(0,t,r);e.push(Y(n,1,i))}}function zn(e){let t=[0];return Rn(t,e.length-1),t}function Bn(e,t){return e.map(e=>e*t)}function Vn(e,t){return e.map(()=>t||Xe).splice(0,e.length-1)}function Hn({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=Ze(r)?r.map(tt):tt(r),a={done:!1,value:t[0]},o=Ln(Bn(n&&n.length===t.length?n:zn(t),e),t,{ease:Array.isArray(i)?i:Vn(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var Un=e=>e!==null;function Wn(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(Un),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var Gn={decay:Fn,inertia:Fn,tween:Hn,keyframes:Hn,spring:Pn};function Kn(e){typeof e.type==`string`&&(e.type=Gn[e.type])}var qn=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},Jn=e=>e/100,Yn=class extends qn{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==ft.now()&&this.tick(ft.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},pt.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;Kn(e);let{type:t=Hn,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||Hn;s!==Hn&&typeof o[0]!=`number`&&(this.mixKeyframes=Oe(Jn,_n(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=xn(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=be(0,1,n)*o}let b=_?{done:!1,value:l[0]}:y.next(v);i&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&p!==Fn&&(b.value=Wn(l,this.options,h,this.speed)),m&&m(b.value),S&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return Me(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Me(e)}get time(){return Me(this.currentTime)}set time(e){e=je(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(e){this.updateTime(ft.now());let t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=Me(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=vn,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(ft.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null,pt.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function Xn(e){for(let t=1;te*180/Math.PI,Qn=e=>er(Zn(Math.atan2(e[1],e[0]))),$n={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Qn,rotateZ:Qn,skewX:e=>Zn(Math.atan(e[1])),skewY:e=>Zn(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},er=e=>(e%=360,e<0&&(e+=360),e),tr=Qn,nr=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),rr=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),ir={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:nr,scaleY:rr,scale:e=>(nr(e)+rr(e))/2,rotateX:e=>er(Zn(Math.atan2(e[6],e[5]))),rotateY:e=>er(Zn(Math.atan2(-e[2],e[0]))),rotateZ:tr,rotate:tr,skewX:e=>Zn(Math.atan(e[4])),skewY:e=>Zn(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ar(e){return e.includes(`scale`)?1:0}function or(e,t){if(!e||e===`none`)return ar(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=ir,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=$n,i=t}if(!i)return ar(t);let a=r[t],o=i[1].split(`,`).map(cr);return typeof a==`function`?a(o):o[a]}var sr=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return or(n,t)};function cr(e){return parseFloat(e.trim())}var lr=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],ur=(()=>new Set(lr))(),dr=e=>e===yt||e===q,fr=new Set([`x`,`y`,`z`]),pr=lr.filter(e=>!fr.has(e));function mr(e){let t=[];return pr.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith(`scale`)?1:0))}),t}var hr={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>or(t,`x`),y:(e,{transform:t})=>or(t,`y`)};hr.translateX=hr.x,hr.translateY=hr.y;var gr=new Set,_r=!1,vr=!1,yr=!1;function br(){if(vr){let e=Array.from(gr).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=mr(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}vr=!1,_r=!1,gr.forEach(e=>e.complete(yr)),gr.clear()}function xr(){gr.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(vr=!0)})}function Sr(){yr=!0,xr(),br(),yr=!1}var Cr=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(gr.add(this),_r||(_r=!0,K.read(xr),K.resolveKeyframes(br))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}Xn(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),gr.delete(this)}cancel(){this.state===`scheduled`&&(gr.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},wr=e=>e.startsWith(`--`);function Tr(e,t,n){wr(t)?e.style.setProperty(t,n):e.style[t]=n}var Er=Te(()=>window.ScrollTimeline!==void 0),Dr={};function Or(e,t){let n=Te(e);return()=>Dr[t]??n()}var kr=Or(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Ar=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,jr={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Ar([0,.65,.55,1]),circOut:Ar([.55,0,1,.45]),backIn:Ar([.31,.01,.66,-.59]),backOut:Ar([.33,1.53,.69,.99])};function Mr(e,t){if(e)return typeof e==`function`?kr()?yn(e,t):`ease-out`:Qe(e)?Ar(e):Array.isArray(e)?e.map(e=>Mr(e,t)||jr.easeOut):jr[e]}function Nr(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=Mr(s,i);Array.isArray(d)&&(u.easing=d),rt.value&&pt.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return rt.value&&p.finished.finally(()=>{pt.waapi--}),p}function Pr(e){return typeof e==`function`&&`applyToOptions`in e}function Fr({type:e,...t}){return Pr(e)&&kr()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var Ir=class extends qn{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=Fr(e);this.animation=Nr(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=Wn(r,this.options,o,this.speed);this.updateMotionValue?this.updateMotionValue(e):Tr(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return Me(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Me(e)}get time(){return Me(Number(this.animation.currentTime)||0)}set time(e){this.finishedTime=null,this.animation.currentTime=je(e)}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return Number(this.animation.startTime)}set startTime(e){this.animation.startTime=e}attachTimeline({timeline:e,observe:t}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Er()?(this.animation.timeline=e,Ee):t(this)}},Lr={anticipate:We,backInOut:Ue,circInOut:qe};function Rr(e){return e in Lr}function zr(e){typeof e.ease==`string`&&Rr(e.ease)&&(e.ease=Lr[e.ease])}var Br=10,Vr=class extends Ir{constructor(e){zr(e),Kn(e),super(e),e.startTime&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new Yn({...a,autoplay:!1}),s=je(this.finishedTime??this.time);t.setWithVelocity(o.sample(s-Br).value,o.sample(s).value,Br),o.stop()}},Hr=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&($t.test(e)||e===`0`)&&!e.startsWith(`url(`));function Ur(e){let t=e[0];if(e.length===1)return!0;for(let n=0;nObject.hasOwnProperty.call(Element.prototype,`animate`));function Jr(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:s,transformTemplate:c}=t.owner.getProps();return qr()&&n&&Kr.has(n)&&(n!==`transform`||!c)&&!s&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var Yr=40,Xr=class extends qn{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=ft.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||Cr)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=ft.now(),Wr(e,i,a,o)||((xe.instantAnimations||!s)&&l?.(Wn(e,n,t)),e[0]=e[e.length-1],Gr(n),n.repeat=0);let u={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>Yr?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},d=!c&&Jr(u)?new Vr({...u,element:u.motionValue.owner.current}):new Yn(u);d.finished.then(()=>this.notifyFinished()).catch(Ee),this.pendingTimeline&&=(this.stopTimeline=d.attachTimeline(this.pendingTimeline),void 0),this._animation=d}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Sr()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}},Zr=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Qr(e){let t=Zr.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function $r(e,t,n=1){`${e}`;let[r,i]=Qr(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return Se(e)?parseFloat(e):e}return _t(i)?$r(i,t,n+1):i}function ei(e,t){return e?.[t]??e?.default??e}var ti=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...lr]),ni={test:e=>e===`auto`,parse:e=>e},ri=e=>t=>t.test(e),ii=[yt,q,Ft,Pt,Lt,It,ni],ai=e=>ii.find(ri(e));function oi(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||we(e)}var si=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function ci(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Ct)||[];if(!r)return e;let i=n.replace(r,``),a=si.has(t)?1:0;return r!==n&&(a*=100),t+`(`+a+i+`)`}var li=/\b([a-z-]*)\(.*?\)/gu,ui={...$t,getAnimatableNone:e=>{let t=e.match(li);return t?t.map(ci).join(` `):e}},di={...yt,transform:Math.round},fi={borderWidth:q,borderTopWidth:q,borderRightWidth:q,borderBottomWidth:q,borderLeftWidth:q,borderRadius:q,radius:q,borderTopLeftRadius:q,borderTopRightRadius:q,borderBottomRightRadius:q,borderBottomLeftRadius:q,width:q,maxWidth:q,height:q,maxHeight:q,top:q,right:q,bottom:q,left:q,padding:q,paddingTop:q,paddingRight:q,paddingBottom:q,paddingLeft:q,margin:q,marginTop:q,marginRight:q,marginBottom:q,marginLeft:q,backgroundPositionX:q,backgroundPositionY:q,rotate:Pt,rotateX:Pt,rotateY:Pt,rotateZ:Pt,scale:xt,scaleX:xt,scaleY:xt,scaleZ:xt,skew:Pt,skewX:Pt,skewY:Pt,distance:q,translateX:q,translateY:q,translateZ:q,x:q,y:q,z:q,perspective:q,transformPerspective:q,opacity:bt,originX:Rt,originY:Rt,originZ:q,zIndex:di,fillOpacity:bt,strokeOpacity:bt,numOctaves:di},pi={...fi,color:J,backgroundColor:J,outlineColor:J,fill:J,stroke:J,borderColor:J,borderTopColor:J,borderRightColor:J,borderBottomColor:J,borderLeftColor:J,filter:ui,WebkitFilter:ui},mi=e=>pi[e];function hi(e,t){let n=mi(e);return n!==ui&&(n=$t),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var gi=new Set([`auto`,`none`,`0`]);function _i(e,t,n){let r=0,i;for(;r{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function yi(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}var bi=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function xi(e){return Ce(e)&&`offsetHeight`in e}var Si=30,Ci=e=>!isNaN(parseFloat(e)),wi={current:void 0},Ti=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=ft.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=ft.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Ci(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new Ae);let n=this.events[e].add(t);return e===`change`?()=>{n(),K.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return wi.current&&wi.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=ft.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Si)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Si);return Ne(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function Ei(e,t){return new Ti(e,t)}var{schedule:Di,cancel:Oi}=ot(queueMicrotask,!1),ki={x:!1,y:!1};function Ai(){return ki.x||ki.y}function ji(e){return e===`x`||e===`y`?ki[e]?null:(ki[e]=!0,()=>{ki[e]=!1}):ki.x||ki.y?null:(ki.x=ki.y=!0,()=>{ki.x=ki.y=!1})}function Mi(e,t){let n=yi(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function Ni(e){return!(e.pointerType===`touch`||Ai())}function Pi(e,t,n={}){let[r,i,a]=Mi(e,n),o=e=>{if(!Ni(e))return;let{target:n}=e,r=t(n,e);if(typeof r!=`function`||!n)return;let a=e=>{Ni(e)&&(r(e),n.removeEventListener(`pointerleave`,a))};n.addEventListener(`pointerleave`,a,i)};return r.forEach(e=>{e.addEventListener(`pointerenter`,o,i)}),a}var Fi=(e,t)=>t?e===t?!0:Fi(e,t.parentElement):!1,Ii=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Li=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function Ri(e){return Li.has(e.tagName)||e.tabIndex!==-1}var zi=new WeakSet;function Bi(e){return t=>{t.key===`Enter`&&e(t)}}function Vi(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var Hi=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Bi(()=>{if(zi.has(n))return;Vi(n,`down`);let e=Bi(()=>{Vi(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>Vi(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function Ui(e){return Ii(e)&&!Ai()}function Wi(e,t,n={}){let[r,i,a]=Mi(e,n),o=e=>{let r=e.currentTarget;if(!Ui(e))return;zi.add(r);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),zi.has(r)&&zi.delete(r),Ui(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||Fi(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),xi(e)&&(e.addEventListener(`focus`,e=>Hi(e,i)),!Ri(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function Gi(e){return Ce(e)&&`ownerSVGElement`in e}function Ki(e){return Gi(e)&&e.tagName===`svg`}var qi=e=>!!(e&&e.getVelocity),Ji=[...ii,J,$t],Yi=e=>Ji.find(ri(e)),Xi=(0,P.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function Zi(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Qi(...e){return t=>{let n=!1,r=e.map(e=>{let r=Zi(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{width:e,height:c,top:l,left:u,right:d}=o.current;if(t||!a.current||!e||!c)return;let f=n===`left`?`left: ${u}`:`right: ${d}`;a.current.dataset.motionPopId=i;let p=document.createElement(`style`);s&&(p.nonce=s);let m=r??document.head;return m.appendChild(p),p.sheet&&p.sheet.insertRule(` +import{F as e,G as t,I as n,K as r,Kr as i,L as a,N as o,Nr as s,P as c,Q as l,R as u,Rr as d,U as f,V as p,Vt as m,W as h,Y as g,Yr as _,Z as v,ai as y,di as b,li as x,pi as S,q as C,qr as w,si as T,ui as E}from"./index-DtFxxvye.js";import{t as D}from"./SigilModal-I6o5tJYB.js";const O=17491.270421,k=[`Ignition Ark`,`Integration Ark`,`Harmonization Ark`,`Reflektion Ark`,`Purifikation Ark`,`Dream Ark`],A={"Ignition Ark":`#ff1559`,"Integration Ark":`#ff6d00`,"Harmonization Ark":`#ffd900`,"Reflektion Ark":`#00ff66`,"Purifikation Ark":`#05e6ff`,"Dream Ark":`#c300ff`},j={"Ignition Ark":`Ignite`,"Integration Ark":`Integrate`,"Harmonization Ark":`Harmony`,"Reflektion Ark":`Reflekt`,"Purifikation Ark":`Purify`,"Dream Ark":`Dream`},M=O/36,N=M/44,ee=3+Math.sqrt(5);Math.round(ee*1e3),1/ee;var P=S(T(),1),F=S(m(),1),I=120,L=I/2,R=22,z=4.5,B=2,te=L-.5,V=L-B,ne=36,re=-3,ie=3,H=V-2,ae=(R+z+te)/2-4,oe=e=>e*Math.PI/180,U=e=>e.toLowerCase().replace(/\s+/g,`-`);function se(e,t,n){let r=parseInt(e.slice(1),16),i=parseInt(t.slice(1),16),a=r>>16,o=r>>8&255,s=r&255,c=i>>16,l=i>>8&255,u=i&255;return`rgb(${Math.round(a+(c-a)*n)},${Math.round(o+(l-o)*n)},${Math.round(s+(u-s)*n)})`}var W=(e,t,n)=>Math.max(t,Math.min(n,e)),G=e=>{if(!e)return;let t=e.match(/(\d{2})$/);if(!t)return;let n=parseInt(t[1],10);if(Number.isFinite(n))return W(n,0,43)},ce=({hue:e,pulse:t,kaiPulseEternal:n,harmonicDayPercent:r,microCyclePercent:i,dayLabel:a,monthLabel:o,monthDay:s,glowPulse:c=!0,pulseIntervalSec:l=ee,rimFlash:u=!1,rotationOverride:d,solarSpiralStepString:f,solarSpiralStep:p,eternalBeatIndex:m,eternalStepIndex:h})=>{(0,P.useEffect)(()=>{typeof document<`u`&&document.documentElement.style.setProperty(`--cycle`,`${l}s`)},[l]);let g=`${l}s`,_=(n%O+O)%O,v=Number.isFinite(t)?t:_,y=v/O,b=Number.isFinite(r)?r:y*100,x=(v-Math.floor(v/M)*M)%N/N,S=Number.isFinite(i)?i:x*100,C=(v%O+O)%O,w=C/O,T=Math.floor(w*36)%36,E=(T+.5)/36*360,D=typeof d==`number`?d:E,B=360/k.length,ce=Math.floor(D/B)%k.length,le=(ce+1)%k.length,ue=(D-ce*B+360)%360,de=Math.min(1,ue/B),fe=A[k[ce]],pe=A[k[le]],me=se(fe,pe,de),he=2*Math.PI*V,ge=he*(1-b/100),_e=-(S/100)*l,ve=v,ye=[`Aethon`,`Virelai`,`Solari`,`Amarin`,`Kaelus`,`Umbriel`,`Noctura`,`Liora`].indexOf(o)+1,be=ye>0?ye:1,xe=L-14,Se=L,Ce=L+14,we=L+28,Te=Math.floor(_/M)%36,Ee=Number.isFinite(m)?W(m,0,35):Te,De=_-Ee*M,Oe=De/M,ke=Math.floor(De/N)%44,Ae=Number.isFinite(h)?W(h,0,43):ke,je=Ae.toString().padStart(2,`0`),Me=(Ee+.5)/36*360,Ne=`hsl(${T/36*360}, 100%, 50%)`,Pe=`#ebfdff`,Fe=1.6,Ie=te-(R+z)+.5,Le=L-(R+z),Re=Ie*Oe,ze=Le-Re,Be=.82,Ve=L-(R+z)-Ie*Be,He=L,Ue=Ve+6,We=(0,P.useId)().replace(/[^a-zA-Z0-9_-]/g,``)||`klock`,Ge=je,Ke=Ee.toString().padStart(2,`0`),qe=Math.floor(_),Je=De-Ae*N,Ye=Math.max(0,Math.min(1,Je/N))*100,Xe=`#00faff`,Ze=`#ff6d00`,Qe=((C-T*M)%M+M)%M,$e=Math.floor(Qe/N)%44,et=Number.isFinite(p?.stepIndex)?W(p.stepIndex,0,43):void 0,tt=G(f),nt=(et??tt??$e).toString().padStart(2,`0`),rt=L-(R+z)-Ie*Be,it=L;return(0,F.jsx)(`div`,{className:`kai-klock-shell`,style:{"--hue":e,"--arc":fe,"--cycle":g,width:`100%`,aspectRatio:`1 / 1`,overflow:`hidden`},children:(0,F.jsxs)(`svg`,{className:`kai-svg`,viewBox:`0 0 ${I} ${I}`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid meet`,role:`img`,children:[(0,F.jsx)(`circle`,{cx:L,cy:L,r:te,className:`rim-ring ${u?`rim-flash`:``}`}),(0,F.jsx)(`circle`,{cx:L,cy:L,r:V,className:`day-progress`,strokeDasharray:he,strokeDashoffset:ge}),Array.from({length:36}).map((e,t)=>{let n=oe(t*(360/ne)-90),r=(t+re+ne)%ne/ne;return(0,F.jsx)(`text`,{x:L+H*Math.cos(n),y:L+H*Math.sin(n)+ie/2,className:`beat-number`,textAnchor:`middle`,fontSize:ie,style:{fill:`hsl(${r*360},100%,50%)`},children:t},t)}),(0,F.jsx)(`circle`,{cx:L,cy:L,r:R+z,className:`inner-halo`}),(0,F.jsx)(`g`,{className:`orb-spin`,style:{animationDelay:`${_e}s`},children:(0,F.jsx)(`circle`,{cx:L,cy:L-(R+z),r:3.6,className:`micro-orb orb-glow`})}),(0,F.jsxs)(`g`,{style:{transform:`rotate(${D}deg)`,transformOrigin:`${L}px ${L}px`,transition:`transform 1s ease-out`},children:[(0,F.jsx)(`rect`,{x:L-1,y:L-(R+z)-(te-(R+z)),width:2,height:te-(R+z),rx:1,className:`needle`,style:{fill:me}}),(0,F.jsxs)(`g`,{className:`solar-hand-label-wrap`,style:{transform:`rotate(${-D}deg)`,transformOrigin:`${it}px ${rt}px`},children:[(0,F.jsx)(`text`,{x:it,y:rt-3.6,textAnchor:`middle`,dominantBaseline:`central`,fontSize:3,fontWeight:900,style:{fill:Ze,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.8,filter:`drop-shadow(0 0 2px ${Ze})`},children:`☀`}),(0,F.jsx)(`text`,{x:it-2.2,y:rt,textAnchor:`middle`,dominantBaseline:`central`,className:`solar-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:Ze,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Ze}) drop-shadow(0 0 5px ${Ze})`},children:nt[0]}),(0,F.jsx)(`text`,{x:it+2.2,y:rt,textAnchor:`middle`,dominantBaseline:`central`,className:`solar-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:Ze,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Ze}) drop-shadow(0 0 5px ${Ze})`},children:nt[1]})]})]}),(0,F.jsxs)(`g`,{className:`eternal-hand-group`,style:{transform:`rotate(${Me}deg)`,transformOrigin:`${L}px ${L}px`,transition:`transform 0.6s cubic-bezier(.22,.61,.36,1)`},children:[(0,F.jsx)(`rect`,{x:L-Fe/2,y:L-(R+z)-Ie,width:Fe,height:Ie,rx:Fe/1.5,className:`eternal-hand`,style:{fill:`transparent`,stroke:`#bff7ff`,strokeWidth:.7,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 6px #d9fbff)`,mixBlendMode:`screen`}}),(0,F.jsx)(`defs`,{children:(0,F.jsxs)(`linearGradient`,{id:`eternalFill-${We}`,x1:`0`,y1:`1`,x2:`0`,y2:`0`,children:[(0,F.jsx)(`stop`,{offset:`0%`,stopColor:Pe,stopOpacity:.15}),(0,F.jsx)(`stop`,{offset:`100%`,stopColor:Pe,stopOpacity:.95})]})}),(0,F.jsx)(`rect`,{x:L-Fe/2,y:ze,width:Fe,height:Math.max(0,Re),rx:Fe/2,className:`eternal-hand-fill`,style:{fill:`url(#eternalFill-${We})`,filter:`drop-shadow(0 0 3px #eaffff) drop-shadow(0 0 6px #eaffff)`,mixBlendMode:`screen`}}),(0,F.jsx)(`circle`,{cx:L,cy:L-(R+z)-Ie-.8,r:1.35,className:`eternal-hand-tip`,style:{fill:`#ffffff`,filter:`drop-shadow(0 0 4px #eaffff) drop-shadow(0 0 8px #eaffff)`,mixBlendMode:`screen`}}),(0,F.jsxs)(`g`,{className:`eternal-hand-label-wrap`,style:{transform:`rotate(${-Me}deg)`,transformOrigin:`${He}px ${Ve}px`},children:[(0,F.jsx)(`text`,{x:He-2.2,y:Ve,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:`#e8feff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.45)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 5px #c8fbff)`},children:je[0]}),(0,F.jsx)(`text`,{x:He+2.2,y:Ve,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:`#e8feff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.45)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 5px #c8fbff)`},children:je[1]})]}),(0,F.jsx)(`g`,{transform:`rotate(${-Me} ${He} ${Ue})`,children:(0,F.jsx)(`text`,{x:He,y:Ue,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-percent`,fontSize:3.2,fontWeight:800,style:{fill:`#dafeff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.4)`,strokeWidth:.7,letterSpacing:`0.25px`,filter:`drop-shadow(0 0 2px #eaffff)`}})})]}),(0,F.jsx)(`text`,{x:L,y:L-15,className:`center-sub`,textAnchor:`middle`,fontSize:6,fontWeight:800,style:{fill:Xe,paintOrder:`stroke`,stroke:`#000`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Xe}) drop-shadow(0 0 6px ${Xe})`},children:qe}),(0,F.jsxs)(`text`,{x:L,y:L-3,className:`center-pulse ${c?`pulse-flash`:``}`,textAnchor:`middle`,children:[Ke,`:`,Ge]},`et-${ve}`),(0,F.jsx)(`text`,{x:L,y:L+8,className:`center-day day-${U(a)}`,textAnchor:`middle`,children:a}),(0,F.jsx)(`text`,{x:L,y:L+18,className:`center-month month-${U(o)}`,textAnchor:`middle`,children:o}),(0,F.jsx)(`text`,{x:L,y:we+8,className:`eternal-pulse`,textAnchor:`middle`,children:n}),(0,F.jsx)(`text`,{x:xe,y:we,className:`step-percent`,textAnchor:`middle`,fontSize:5.5,fill:Ne,fontWeight:800,style:{filter:`drop-shadow(0 0 2px ${Ne}) drop-shadow(0 0 5px #00faff)`,letterSpacing:`0.25px`},children:`${Ye.toFixed(1)}%`}),(0,F.jsx)(`text`,{x:Se,y:we,className:`day-of-month day-${U(a)}`,textAnchor:`middle`,children:s}),(0,F.jsx)(`text`,{x:Ce,y:we,className:`day-of-month month-${U(o)}`,textAnchor:`middle`,children:be}),k.map((e,t)=>{let n=oe(t*(360/k.length)-90),r=L+ae*Math.cos(n),i=L+ae*Math.sin(n)+(t===3?7:3);return(0,F.jsxs)(P.Fragment,{children:[(0,F.jsx)(`text`,{x:r,y:i,className:`arc-label arc-${U(e.split(` `)[0])} ${t===ce?`active`:``}`,textAnchor:`middle`,children:j[e]}),e===`Ignition Ark`&&f&&(0,F.jsx)(`text`,{x:r,y:i+8,textAnchor:`middle`,dominantBaseline:`hanging`,fontSize:10,fill:`#00faff`,fontWeight:900,style:{filter:`drop-shadow(0 0 2px #00faff) drop-shadow(0 0 4px #00faff) drop-shadow(0 0 8px #00faff)`,paintOrder:`stroke`,stroke:`#000`,strokeWidth:1,vectorEffect:`non-scaling-stroke`,letterSpacing:`0.5px`},children:f})]},e)})]})})};function le(e){let{beat:t}=i(w(e)),{pulse:n,chakraDay:r}=_(e);return{pulse:n,beat:t,chakraDay:r}}var ue=()=>performance.timeOrigin+performance.now(),de=e=>{let t=e-s;return s+Math.ceil(t/d)*d},fe=()=>{let[e,t]=(0,P.useState)(0),[n,r]=(0,P.useState)(0),[i,a]=(0,P.useState)(`Root`),[o,s]=(0,P.useState)(!1),[c]=(0,P.useState)(()=>`btn-${Math.random().toString(36).slice(2)}`),u=o?`sigil-open`:`sigil-closed`,f=(0,P.useRef)(null),p=(0,P.useRef)(null),m=(0,P.useRef)(0),h=(0,P.useCallback)(()=>{let{pulse:e,beat:n,chakraDay:i}=le(new Date);t(e),r(n),a(i)},[]),g=()=>{p.current!==null&&(clearTimeout(p.current),p.current=null)},_=(0,P.useCallback)(()=>{g();let e=ue();m.current=de(e);let t=()=>{let e=ue(),n=Math.floor((e-m.current)/d),r=Math.max(0,n)+1;for(let e=0;e(h(),_(),()=>g()),[h,_]),(0,P.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&_()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[_]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{className:`sigil-button`,title:`View & save this sigil`,onClick:()=>s(!0),"data-chakra":i,"aria-label":`Open Kairos Sigil`,children:(0,F.jsxs)(`span`,{className:`sigil-thumb`,"aria-hidden":`true`,inert:!0,children:[(0,F.jsx)(l,{ref:f,pulse:e,beat:n,chakraDay:i,size:40,hashMode:`deterministic`,origin:c,onReady:n=>{n&&typeof n.pulse==`number`&&n.pulse!==e&&t(n.pulse)}},u),(0,F.jsx)(`span`,{className:`sigil-shield`,"aria-hidden":`true`})]})}),o&&(0,F.jsx)(D,{initialPulse:e,onClose:()=>s(!1)})]})},pe=(0,P.createContext)({});function me(e){let t=(0,P.useRef)(null);return t.current===null&&(t.current=e()),t.current}var he=typeof window<`u`,ge=he?P.useLayoutEffect:P.useEffect,_e=(0,P.createContext)(null);function ve(e,t){e.indexOf(t)===-1&&e.push(t)}function ye(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var be=(e,t,n)=>n>t?t:n/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Ce(e){return typeof e==`object`&&!!e}var we=e=>/^0[^.\s]+$/u.test(e);function Te(e){let t;return()=>(t===void 0&&(t=e()),t)}var Ee=e=>e,De=(e,t)=>n=>t(e(n)),Oe=(...e)=>e.reduce(De),ke=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},Ae=class{constructor(){this.subscriptions=[]}add(e){return ve(this.subscriptions,e),()=>ye(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;ie*1e3,Me=e=>e/1e3;function Ne(e,t){return t?e*(1e3/t):0}var Pe=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Fe=1e-7,Ie=12;function Le(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=Pe(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>Fe&&++sLe(t,0,1,e,n);return e=>e===0||e===1?e:Pe(i(e),t,r)}var ze=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Be=e=>t=>1-e(1-t),Ve=Re(.33,1.53,.69,.99),He=Be(Ve),Ue=ze(He),We=e=>(e*=2)<1?.5*He(e):.5*(2-2**(-10*(e-1))),Ge=e=>1-Math.sin(Math.acos(e)),Ke=Be(Ge),qe=ze(Ge),Je=Re(.42,0,1,1),Ye=Re(0,0,.58,1),Xe=Re(.42,0,.58,1),Ze=e=>Array.isArray(e)&&typeof e[0]!=`number`,Qe=e=>Array.isArray(e)&&typeof e[0]==`number`,$e={linear:Ee,easeIn:Je,easeInOut:Xe,easeOut:Ye,circIn:Ge,circInOut:qe,circOut:Ke,backIn:He,backInOut:Ue,backOut:Ve,anticipate:We},et=e=>typeof e==`string`,tt=e=>{if(Qe(e)){e.length;let[t,n,r,i]=e;return Re(t,n,r,i)}else if(et(e))return $e[e],`${e}`,$e[e];return e},nt=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],rt={value:null,addProjectionMetrics:null};function it(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.has(e)||s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0,[n,r]=[r,n],n.forEach(l),t&&rt.value&&rt.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var at=40;function ot(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=nt.reduce((e,n)=>(e[n]=it(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=xe.useManualTiming?i.timestamp:performance.now();n=!1,xe.useManualTiming||(i.delta=r?1e3/60:Math.max(Math.min(a-i.timestamp,at),1)),i.timestamp=a,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:nt.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t(ut===void 0&&ft.set(ct.isProcessing||xe.useManualTiming?ct.timestamp:performance.now()),ut),set:e=>{ut=e,queueMicrotask(dt)}},pt={layout:0,mainThread:0,waapi:0},mt=e=>t=>typeof t==`string`&&t.startsWith(e),ht=mt(`--`),gt=mt(`var(--`),_t=e=>gt(e)?vt.test(e.split(`/*`)[0].trim()):!1,vt=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,yt={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},bt={...yt,transform:e=>be(0,1,e)},xt={...yt,default:1},St=e=>Math.round(e*1e5)/1e5,Ct=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function wt(e){return e==null}var Tt=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Et=(e,t)=>n=>!!(typeof n==`string`&&Tt.test(n)&&n.startsWith(e)||t&&!wt(n)&&Object.prototype.hasOwnProperty.call(n,t)),Dt=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Ct);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},Ot=e=>be(0,255,e),kt={...yt,transform:e=>Math.round(Ot(e))},At={test:Et(`rgb`,`red`),parse:Dt(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+kt.transform(e)+`, `+kt.transform(t)+`, `+kt.transform(n)+`, `+St(bt.transform(r))+`)`};function jt(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Mt={test:Et(`#`),parse:jt,transform:At.transform},Nt=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Pt=Nt(`deg`),Ft=Nt(`%`),q=Nt(`px`),It=Nt(`vh`),Lt=Nt(`vw`),Rt=(()=>({...Ft,parse:e=>Ft.parse(e)/100,transform:e=>Ft.transform(e*100)}))(),zt={test:Et(`hsl`,`hue`),parse:Dt(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+Ft.transform(St(t))+`, `+Ft.transform(St(n))+`, `+St(bt.transform(r))+`)`},J={test:e=>At.test(e)||Mt.test(e)||zt.test(e),parse:e=>At.test(e)?At.parse(e):zt.test(e)?zt.parse(e):Mt.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?At.transform(e):zt.transform(e),getAnimatableNone:e=>{let t=J.parse(e);return t.alpha=0,J.transform(t)}},Bt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Vt(e){return isNaN(e)&&typeof e==`string`&&(e.match(Ct)?.length||0)+(e.match(Bt)?.length||0)>0}var Ht=`number`,Ut=`color`,Wt=`var`,Gt=`var(`,Kt="${}",qt=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Jt(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(qt,e=>(J.test(e)?(r.color.push(a),i.push(Ut),n.push(J.parse(e))):e.startsWith(Gt)?(r.var.push(a),i.push(Wt),n.push(e)):(r.number.push(a),i.push(Ht),n.push(parseFloat(e))),++a,Kt)).split(Kt),indexes:r,types:i}}function Yt(e){return Jt(e).values}function Xt(e){let{split:t,types:n}=Jt(e),r=t.length;return e=>{let i=``;for(let a=0;atypeof e==`number`?0:J.test(e)?J.getAnimatableNone(e):e;function Qt(e){let t=Yt(e);return Xt(e)(t.map(Zt))}var $t={test:Vt,parse:Yt,createTransformer:Xt,getAnimatableNone:Qt};function en(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function tn({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=en(s,r,e+1/3),a=en(s,r,e),o=en(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function nn(e,t){return n=>n>0?t:e}var Y=(e,t,n)=>e+(t-e)*n,rn=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},an=[Mt,At,zt],on=e=>an.find(t=>t.test(e));function sn(e){let t=on(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===zt&&(n=tn(n)),n}var cn=(e,t)=>{let n=sn(e),r=sn(t);if(!n||!r)return nn(e,t);let i={...n};return e=>(i.red=rn(n.red,r.red,e),i.green=rn(n.green,r.green,e),i.blue=rn(n.blue,r.blue,e),i.alpha=Y(n.alpha,r.alpha,e),At.transform(i))},ln=new Set([`none`,`hidden`]);function un(e,t){return ln.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function dn(e,t){return n=>Y(e,t,n)}function fn(e){return typeof e==`number`?dn:typeof e==`string`?_t(e)?nn:J.test(e)?cn:gn:Array.isArray(e)?pn:typeof e==`object`?J.test(e)?cn:mn:nn}function pn(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>fn(e)(e,t[n]));return e=>{for(let t=0;t{for(let t in r)n[t]=r[t](e);return n}}function hn(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i{let n=$t.createTransformer(t),r=Jt(e),i=Jt(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?ln.has(e)&&!i.values.length||ln.has(t)&&!r.values.length?un(e,t):Oe(pn(hn(r,i),i.values),n):(`${e}${t}`,nn(e,t))};function _n(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?Y(e,t,n):fn(e)(e,t)}var vn=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>K.update(t,e),stop:()=>st(t),now:()=>ct.isProcessing?ct.timestamp:ft.now()}},yn=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t=2e4?1/0:t}function Sn(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(xn(r),bn);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:Me(i)}}var Cn=5;function wn(e,t,n){let r=Math.max(t-Cn,0);return Ne(n-e(r),t-r)}var X={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Tn=.001;function En({duration:e=X.duration,bounce:t=X.bounce,velocity:n=X.velocity,mass:r=X.mass}){let i,a;X.maxDuration;let o=1-t;o=be(X.minDamping,X.maxDamping,o),e=be(X.minDuration,X.maxDuration,Me(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=kn(t,o),c=Math.exp(-i);return Tn-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=kn(t**2,o);return(-i(t)+Tn>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Tn+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=On(i,a,s);if(e=je(e),isNaN(c))return{stiffness:X.stiffness,damping:X.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Dn=12;function On(e,t,n){let r=n;for(let n=1;ne[t]!==void 0)}function Nn(e){let t={velocity:X.velocity,stiffness:X.stiffness,damping:X.damping,mass:X.mass,isResolvedFromDuration:!1,...e};if(!Mn(e,jn)&&Mn(e,An))if(e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*be(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:X.mass,stiffness:i,damping:a}}else{let n=En(e);t={...t,...n,mass:X.mass},t.isResolvedFromDuration=!0}return t}function Pn(e=X.visualDuration,t=X.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Nn({...n,velocity:-Me(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=Me(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?X.restSpeed.granular:X.restSpeed.default,i||=v?X.restDelta.granular:X.restDelta.default;let y;if(h<1){let e=kn(_,h);y=t=>o-Math.exp(-h*_*t)*((m+h*_*g)/e*Math.sin(e*t)+g*Math.cos(e*t))}else if(h===1)y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e}}let b={calculatedDuration:p&&d||null,next:e=>{let t=y(e);if(p)s.done=e>=d;else{let n=e===0?m:0;h<1&&(n=e===0?je(m):wn(y,e,t));let a=Math.abs(n)<=r,c=Math.abs(o-t)<=i;s.done=a&&c}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(xn(b),bn),t=yn(t=>b.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return b}Pn.applyToOptions=e=>{let t=Sn(e,100,Pn);return e.ease=t.ease,e.duration=je(t.duration),e.type=`keyframes`,e};function Fn({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&ec,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=Pn({keyframes:[f.value,m(f.value)],velocity:wn(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function In(e,t,n){let r=[],i=n||xe.mix||_n,a=e.length-1;for(let n=0;nt[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=In(t,r,i),c=s.length,l=n=>{if(o&&n1)for(;rl(be(e[0],e[a-1],t)):l}function Rn(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=ke(0,t,r);e.push(Y(n,1,i))}}function zn(e){let t=[0];return Rn(t,e.length-1),t}function Bn(e,t){return e.map(e=>e*t)}function Vn(e,t){return e.map(()=>t||Xe).splice(0,e.length-1)}function Hn({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=Ze(r)?r.map(tt):tt(r),a={done:!1,value:t[0]},o=Ln(Bn(n&&n.length===t.length?n:zn(t),e),t,{ease:Array.isArray(i)?i:Vn(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var Un=e=>e!==null;function Wn(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(Un),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var Gn={decay:Fn,inertia:Fn,tween:Hn,keyframes:Hn,spring:Pn};function Kn(e){typeof e.type==`string`&&(e.type=Gn[e.type])}var qn=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},Jn=e=>e/100,Yn=class extends qn{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==ft.now()&&this.tick(ft.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},pt.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;Kn(e);let{type:t=Hn,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||Hn;s!==Hn&&typeof o[0]!=`number`&&(this.mixKeyframes=Oe(Jn,_n(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=xn(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=be(0,1,n)*o}let b=_?{done:!1,value:l[0]}:y.next(v);i&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&p!==Fn&&(b.value=Wn(l,this.options,h,this.speed)),m&&m(b.value),S&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return Me(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Me(e)}get time(){return Me(this.currentTime)}set time(e){e=je(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(e){this.updateTime(ft.now());let t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=Me(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=vn,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(ft.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null,pt.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function Xn(e){for(let t=1;te*180/Math.PI,Qn=e=>er(Zn(Math.atan2(e[1],e[0]))),$n={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Qn,rotateZ:Qn,skewX:e=>Zn(Math.atan(e[1])),skewY:e=>Zn(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},er=e=>(e%=360,e<0&&(e+=360),e),tr=Qn,nr=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),rr=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),ir={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:nr,scaleY:rr,scale:e=>(nr(e)+rr(e))/2,rotateX:e=>er(Zn(Math.atan2(e[6],e[5]))),rotateY:e=>er(Zn(Math.atan2(-e[2],e[0]))),rotateZ:tr,rotate:tr,skewX:e=>Zn(Math.atan(e[4])),skewY:e=>Zn(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ar(e){return e.includes(`scale`)?1:0}function or(e,t){if(!e||e===`none`)return ar(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=ir,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=$n,i=t}if(!i)return ar(t);let a=r[t],o=i[1].split(`,`).map(cr);return typeof a==`function`?a(o):o[a]}var sr=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return or(n,t)};function cr(e){return parseFloat(e.trim())}var lr=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],ur=(()=>new Set(lr))(),dr=e=>e===yt||e===q,fr=new Set([`x`,`y`,`z`]),pr=lr.filter(e=>!fr.has(e));function mr(e){let t=[];return pr.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith(`scale`)?1:0))}),t}var hr={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>or(t,`x`),y:(e,{transform:t})=>or(t,`y`)};hr.translateX=hr.x,hr.translateY=hr.y;var gr=new Set,_r=!1,vr=!1,yr=!1;function br(){if(vr){let e=Array.from(gr).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=mr(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}vr=!1,_r=!1,gr.forEach(e=>e.complete(yr)),gr.clear()}function xr(){gr.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(vr=!0)})}function Sr(){yr=!0,xr(),br(),yr=!1}var Cr=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(gr.add(this),_r||(_r=!0,K.read(xr),K.resolveKeyframes(br))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}Xn(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),gr.delete(this)}cancel(){this.state===`scheduled`&&(gr.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},wr=e=>e.startsWith(`--`);function Tr(e,t,n){wr(t)?e.style.setProperty(t,n):e.style[t]=n}var Er=Te(()=>window.ScrollTimeline!==void 0),Dr={};function Or(e,t){let n=Te(e);return()=>Dr[t]??n()}var kr=Or(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Ar=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,jr={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Ar([0,.65,.55,1]),circOut:Ar([.55,0,1,.45]),backIn:Ar([.31,.01,.66,-.59]),backOut:Ar([.33,1.53,.69,.99])};function Mr(e,t){if(e)return typeof e==`function`?kr()?yn(e,t):`ease-out`:Qe(e)?Ar(e):Array.isArray(e)?e.map(e=>Mr(e,t)||jr.easeOut):jr[e]}function Nr(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=Mr(s,i);Array.isArray(d)&&(u.easing=d),rt.value&&pt.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return rt.value&&p.finished.finally(()=>{pt.waapi--}),p}function Pr(e){return typeof e==`function`&&`applyToOptions`in e}function Fr({type:e,...t}){return Pr(e)&&kr()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var Ir=class extends qn{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=Fr(e);this.animation=Nr(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=Wn(r,this.options,o,this.speed);this.updateMotionValue?this.updateMotionValue(e):Tr(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return Me(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Me(e)}get time(){return Me(Number(this.animation.currentTime)||0)}set time(e){this.finishedTime=null,this.animation.currentTime=je(e)}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return Number(this.animation.startTime)}set startTime(e){this.animation.startTime=e}attachTimeline({timeline:e,observe:t}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Er()?(this.animation.timeline=e,Ee):t(this)}},Lr={anticipate:We,backInOut:Ue,circInOut:qe};function Rr(e){return e in Lr}function zr(e){typeof e.ease==`string`&&Rr(e.ease)&&(e.ease=Lr[e.ease])}var Br=10,Vr=class extends Ir{constructor(e){zr(e),Kn(e),super(e),e.startTime&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new Yn({...a,autoplay:!1}),s=je(this.finishedTime??this.time);t.setWithVelocity(o.sample(s-Br).value,o.sample(s).value,Br),o.stop()}},Hr=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&($t.test(e)||e===`0`)&&!e.startsWith(`url(`));function Ur(e){let t=e[0];if(e.length===1)return!0;for(let n=0;nObject.hasOwnProperty.call(Element.prototype,`animate`));function Jr(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:s,transformTemplate:c}=t.owner.getProps();return qr()&&n&&Kr.has(n)&&(n!==`transform`||!c)&&!s&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var Yr=40,Xr=class extends qn{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=ft.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||Cr)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=ft.now(),Wr(e,i,a,o)||((xe.instantAnimations||!s)&&l?.(Wn(e,n,t)),e[0]=e[e.length-1],Gr(n),n.repeat=0);let u={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>Yr?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},d=!c&&Jr(u)?new Vr({...u,element:u.motionValue.owner.current}):new Yn(u);d.finished.then(()=>this.notifyFinished()).catch(Ee),this.pendingTimeline&&=(this.stopTimeline=d.attachTimeline(this.pendingTimeline),void 0),this._animation=d}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Sr()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}},Zr=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Qr(e){let t=Zr.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function $r(e,t,n=1){`${e}`;let[r,i]=Qr(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return Se(e)?parseFloat(e):e}return _t(i)?$r(i,t,n+1):i}function ei(e,t){return e?.[t]??e?.default??e}var ti=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...lr]),ni={test:e=>e===`auto`,parse:e=>e},ri=e=>t=>t.test(e),ii=[yt,q,Ft,Pt,Lt,It,ni],ai=e=>ii.find(ri(e));function oi(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||we(e)}var si=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function ci(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Ct)||[];if(!r)return e;let i=n.replace(r,``),a=si.has(t)?1:0;return r!==n&&(a*=100),t+`(`+a+i+`)`}var li=/\b([a-z-]*)\(.*?\)/gu,ui={...$t,getAnimatableNone:e=>{let t=e.match(li);return t?t.map(ci).join(` `):e}},di={...yt,transform:Math.round},fi={borderWidth:q,borderTopWidth:q,borderRightWidth:q,borderBottomWidth:q,borderLeftWidth:q,borderRadius:q,radius:q,borderTopLeftRadius:q,borderTopRightRadius:q,borderBottomRightRadius:q,borderBottomLeftRadius:q,width:q,maxWidth:q,height:q,maxHeight:q,top:q,right:q,bottom:q,left:q,padding:q,paddingTop:q,paddingRight:q,paddingBottom:q,paddingLeft:q,margin:q,marginTop:q,marginRight:q,marginBottom:q,marginLeft:q,backgroundPositionX:q,backgroundPositionY:q,rotate:Pt,rotateX:Pt,rotateY:Pt,rotateZ:Pt,scale:xt,scaleX:xt,scaleY:xt,scaleZ:xt,skew:Pt,skewX:Pt,skewY:Pt,distance:q,translateX:q,translateY:q,translateZ:q,x:q,y:q,z:q,perspective:q,transformPerspective:q,opacity:bt,originX:Rt,originY:Rt,originZ:q,zIndex:di,fillOpacity:bt,strokeOpacity:bt,numOctaves:di},pi={...fi,color:J,backgroundColor:J,outlineColor:J,fill:J,stroke:J,borderColor:J,borderTopColor:J,borderRightColor:J,borderBottomColor:J,borderLeftColor:J,filter:ui,WebkitFilter:ui},mi=e=>pi[e];function hi(e,t){let n=mi(e);return n!==ui&&(n=$t),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var gi=new Set([`auto`,`none`,`0`]);function _i(e,t,n){let r=0,i;for(;r{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function yi(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}var bi=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function xi(e){return Ce(e)&&`offsetHeight`in e}var Si=30,Ci=e=>!isNaN(parseFloat(e)),wi={current:void 0},Ti=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=ft.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=ft.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Ci(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new Ae);let n=this.events[e].add(t);return e===`change`?()=>{n(),K.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return wi.current&&wi.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=ft.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Si)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Si);return Ne(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function Ei(e,t){return new Ti(e,t)}var{schedule:Di,cancel:Oi}=ot(queueMicrotask,!1),ki={x:!1,y:!1};function Ai(){return ki.x||ki.y}function ji(e){return e===`x`||e===`y`?ki[e]?null:(ki[e]=!0,()=>{ki[e]=!1}):ki.x||ki.y?null:(ki.x=ki.y=!0,()=>{ki.x=ki.y=!1})}function Mi(e,t){let n=yi(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function Ni(e){return!(e.pointerType===`touch`||Ai())}function Pi(e,t,n={}){let[r,i,a]=Mi(e,n),o=e=>{if(!Ni(e))return;let{target:n}=e,r=t(n,e);if(typeof r!=`function`||!n)return;let a=e=>{Ni(e)&&(r(e),n.removeEventListener(`pointerleave`,a))};n.addEventListener(`pointerleave`,a,i)};return r.forEach(e=>{e.addEventListener(`pointerenter`,o,i)}),a}var Fi=(e,t)=>t?e===t?!0:Fi(e,t.parentElement):!1,Ii=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Li=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function Ri(e){return Li.has(e.tagName)||e.tabIndex!==-1}var zi=new WeakSet;function Bi(e){return t=>{t.key===`Enter`&&e(t)}}function Vi(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var Hi=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Bi(()=>{if(zi.has(n))return;Vi(n,`down`);let e=Bi(()=>{Vi(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>Vi(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function Ui(e){return Ii(e)&&!Ai()}function Wi(e,t,n={}){let[r,i,a]=Mi(e,n),o=e=>{let r=e.currentTarget;if(!Ui(e))return;zi.add(r);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),zi.has(r)&&zi.delete(r),Ui(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||Fi(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),xi(e)&&(e.addEventListener(`focus`,e=>Hi(e,i)),!Ri(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function Gi(e){return Ce(e)&&`ownerSVGElement`in e}function Ki(e){return Gi(e)&&e.tagName===`svg`}var qi=e=>!!(e&&e.getVelocity),Ji=[...ii,J,$t],Yi=e=>Ji.find(ri(e)),Xi=(0,P.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function Zi(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Qi(...e){return t=>{let n=!1,r=e.map(e=>{let r=Zi(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{width:e,height:c,top:l,left:u,right:d}=o.current;if(t||!a.current||!e||!c)return;let f=n===`left`?`left: ${u}`:`right: ${d}`;a.current.dataset.motionPopId=i;let p=document.createElement(`style`);s&&(p.nonce=s);let m=r??document.head;return m.appendChild(p),p.sheet&&p.sheet.insertRule(` [data-motion-pop-id="${i}"] { position: absolute !important; width: ${e}px !important; diff --git a/dist/assets/EternalKlock-Q9Ma8fJn.js b/dist/assets/EternalKlock-Q9Ma8fJn.js deleted file mode 100644 index e7d754487..000000000 --- a/dist/assets/EternalKlock-Q9Ma8fJn.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./EternalKlock-CYb1m8Lr.js";import"./SigilModal-rnEJVojR.js";import"./SealMomentModal-DGtbCn7A.js";import"./webauthnKAS-CfTQ1nee.js";export{t as EternalKlock,e as default}; \ No newline at end of file diff --git a/dist/assets/EternalKlock-jpRkboUw.js b/dist/assets/EternalKlock-jpRkboUw.js new file mode 100644 index 000000000..51a8b8ec1 --- /dev/null +++ b/dist/assets/EternalKlock-jpRkboUw.js @@ -0,0 +1 @@ +import{n as e,t}from"./EternalKlock-ExyiY2oa.js";import"./SigilModal-I6o5tJYB.js";import"./SealMomentModal-0M7C7KOU.js";import"./webauthnKAS-Dx6bJ651.js";export{t as EternalKlock,e as default}; \ No newline at end of file diff --git a/dist/assets/HomePriceChartCard-BGCcuZMS.js b/dist/assets/HomePriceChartCard-BJEoJCPF.js similarity index 99% rename from dist/assets/HomePriceChartCard-BGCcuZMS.js rename to dist/assets/HomePriceChartCard-BJEoJCPF.js index 18a013193..9fb5c340b 100644 --- a/dist/assets/HomePriceChartCard-BGCcuZMS.js +++ b/dist/assets/HomePriceChartCard-BJEoJCPF.js @@ -1,4 +1,4 @@ -import{Bt as e,Vt as t,pi as n,si as r,zt as i}from"./index-BfXtjgZ1.js";import{t as a}from"./prop-types-DLoCx3ki.js";var o=n(r(),1),s=`clover`,c=function(e){return e===3?`v3`:e},l=`https://js.stripe.com`,u=`${l}/${s}/stripe.js`,d=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,f=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/,p=`loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used`,ee=function(e){return d.test(e)||f.test(e)},m=function(){for(var e=document.querySelectorAll(`script[src^="${l}"]`),t=0;t element.`);return r.appendChild(n),n},g=function(e,t){!e||!e._registerWrapper||e._registerWrapper({name:`stripe-js`,version:`8.6.0`,startTime:t})},_=null,v=null,y=null,b=function(e){return function(t){e(Error(`Failed to load Stripe.js`,{cause:t}))}},te=function(e,t){return function(){window.Stripe?e(window.Stripe):t(Error(`Stripe.js not available`))}},x=function(e){return _===null?(_=new Promise(function(t,n){if(typeof window>`u`||typeof document>`u`){t(null);return}if(window.Stripe&&e&&console.warn(p),window.Stripe){t(window.Stripe);return}try{var r=m();if(r&&e)console.warn(p);else if(!r)r=h(e);else if(r&&y!==null&&v!==null){var i;r.removeEventListener(`load`,y),r.removeEventListener(`error`,v),(i=r.parentNode)==null||i.removeChild(r),r=h(e)}y=te(t,n),v=b(n),r.addEventListener(`load`,y),r.addEventListener(`error`,v)}catch(e){n(e);return}}),_.catch(function(e){return _=null,Promise.reject(e)})):_},S=function(e,t,n){if(e===null)return null;var r=t[0].match(/^pk_test/),i=c(e.version),a=s;r&&i!==a&&console.warn(`Stripe.js@${i} was loaded on the page, but @stripe/stripe-js@8.6.0 expected Stripe.js@${a}. This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning`);var o=e.apply(void 0,t);return g(o,n),o},C,w=!1,T=function(){return C||(C=x(null).catch(function(e){return C=null,Promise.reject(e)}),C)};Promise.resolve().then(function(){return T()}).catch(function(e){w||console.warn(e)});var E=function(){var e=[...arguments];w=!0;var t=Date.now();return T().then(function(n){return S(n,e,t)})},D=n(a(),1);function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function k(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function ne(e,t){if(e==null)return{};var n=M(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function N(e,t){return re(e)||P(e,t)||F(e,t)||I()}function re(e){if(Array.isArray(e))return e}function P(e,t){var n=e&&(typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`]);if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function F(e,t){if(e){if(typeof e==`string`)return ie(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ie(e,t)}}function ie(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n element.`);return r.appendChild(n),n},g=function(e,t){!e||!e._registerWrapper||e._registerWrapper({name:`stripe-js`,version:`8.6.0`,startTime:t})},_=null,v=null,y=null,b=function(e){return function(t){e(Error(`Failed to load Stripe.js`,{cause:t}))}},te=function(e,t){return function(){window.Stripe?e(window.Stripe):t(Error(`Stripe.js not available`))}},x=function(e){return _===null?(_=new Promise(function(t,n){if(typeof window>`u`||typeof document>`u`){t(null);return}if(window.Stripe&&e&&console.warn(p),window.Stripe){t(window.Stripe);return}try{var r=m();if(r&&e)console.warn(p);else if(!r)r=h(e);else if(r&&y!==null&&v!==null){var i;r.removeEventListener(`load`,y),r.removeEventListener(`error`,v),(i=r.parentNode)==null||i.removeChild(r),r=h(e)}y=te(t,n),v=b(n),r.addEventListener(`load`,y),r.addEventListener(`error`,v)}catch(e){n(e);return}}),_.catch(function(e){return _=null,Promise.reject(e)})):_},S=function(e,t,n){if(e===null)return null;var r=t[0].match(/^pk_test/),i=c(e.version),a=s;r&&i!==a&&console.warn(`Stripe.js@${i} was loaded on the page, but @stripe/stripe-js@8.6.0 expected Stripe.js@${a}. This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning`);var o=e.apply(void 0,t);return g(o,n),o},C,w=!1,T=function(){return C||(C=x(null).catch(function(e){return C=null,Promise.reject(e)}),C)};Promise.resolve().then(function(){return T()}).catch(function(e){w||console.warn(e)});var E=function(){var e=[...arguments];w=!0;var t=Date.now();return T().then(function(n){return S(n,e,t)})},D=n(a(),1);function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function k(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function ne(e,t){if(e==null)return{};var n=M(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function N(e,t){return re(e)||P(e,t)||F(e,t)||I()}function re(e){if(Array.isArray(e))return e}function P(e,t){var n=e&&(typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`]);if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function F(e,t){if(e){if(typeof e==`string`)return ie(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ie(e,t)}}function ie(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&arguments[1]!==void 0?arguments[1]:se;if(e===null||B(e))return e;throw Error(t)},le=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:se;if(z(e))return{tag:`async`,stripePromise:Promise.resolve(e).then(function(e){return ce(e,t)})};var n=ce(e,t);return n===null?{tag:`empty`}:{tag:`sync`,stripe:n}},U=function(e){!e||!e._registerWrapper||!e.registerAppInfo||(e._registerWrapper({name:`react-stripe-js`,version:`5.4.1`}),e.registerAppInfo({name:`react-stripe-js`,version:`5.4.1`,url:`https://stripe.com/docs/stripe-js/react`}))},W=o.createContext(null);W.displayName=`ElementsContext`;var G=function(e,t){if(!e)throw Error(`Could not find Elements context; You need to wrap the part of your app that ${t} in an provider.`);return e},K=function(e){var t=e.stripe,n=e.options,r=e.children,i=o.useMemo(function(){return le(t)},[t]),a=N(o.useState(function(){return{stripe:i.tag===`sync`?i.stripe:null,elements:i.tag===`sync`?i.stripe.elements(n):null}}),2),s=a[0],c=a[1];o.useEffect(function(){var e=!0,t=function(e){c(function(t){return t.stripe?t:{stripe:e,elements:e.elements(n)}})};return i.tag===`async`&&!s.stripe?i.stripePromise.then(function(n){n&&e&&t(n)}):i.tag===`sync`&&!s.stripe&&t(i.stripe),function(){e=!1}},[i,s,n]);var l=ae(t);o.useEffect(function(){l!==null&&l!==t&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[l,t]);var u=ae(n);return o.useEffect(function(){if(s.elements){var e=oe(n,u,[`clientSecret`,`fonts`]);e&&s.elements.update(e)}},[n,u,s.elements]),o.useEffect(function(){U(s.stripe)},[s.stripe]),o.createElement(W.Provider,{value:s},r)};K.propTypes={stripe:D.default.any,options:D.default.object};var ue=function(e){return G(o.useContext(W),e)},q=function(){return ue(`calls useElements()`).elements},de=function(e){var t=e.children;return t(ue(`mounts `))};de.propTypes={children:D.default.func.isRequired};var fe=o.createContext(null);fe.displayName=`CheckoutContext`,D.default.any,D.default.shape({clientSecret:D.default.oneOfType([D.default.string,D.default.instanceOf(Promise)]).isRequired,elementsOptions:D.default.object}).isRequired;var pe=function(e){var t=o.useContext(fe),n=o.useContext(W);if(t){if(n)throw Error(`You cannot wrap the part of your app that ${e} in both and providers.`);return t}else return G(n,e)},J=[`mode`],me=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},Y=function(e,t){var n=`${me(e)}Element`,r=t?function(e){pe(`mounts <${n}>`);var t=e.id,r=e.className;return o.createElement(`div`,{id:t,className:r})}:function(t){var r=t.id,i=t.className,a=t.options,s=a===void 0?{}:a,c=t.onBlur,l=t.onFocus,u=t.onReady,d=t.onChange,f=t.onEscape,p=t.onClick,ee=t.onLoadError,m=t.onLoaderStart,h=t.onNetworksChange,g=t.onConfirm,_=t.onCancel,v=t.onShippingAddressChange,y=t.onShippingRateChange,b=t.onSavedPaymentMethodRemove,te=t.onSavedPaymentMethodUpdate,x=pe(`mounts <${n}>`),S=`elements`in x?x.elements:null,C=`checkoutState`in x?x.checkoutState:null,w=C?.type===`success`||C?.type===`loading`?C.sdk:null,T=N(o.useState(null),2),E=T[0],D=T[1],O=o.useRef(null),k=o.useRef(null);L(E,`blur`,c),L(E,`focus`,l),L(E,`escape`,f),L(E,`click`,p),L(E,`loaderror`,ee),L(E,`loaderstart`,m),L(E,`networkschange`,h),L(E,`confirm`,g),L(E,`cancel`,_),L(E,`shippingaddresschange`,v),L(E,`shippingratechange`,y),L(E,`savedpaymentmethodremove`,b),L(E,`savedpaymentmethodupdate`,te),L(E,`change`,d);var A;u&&(A=e===`expressCheckout`?u:function(){u(E)}),L(E,`ready`,A),o.useLayoutEffect(function(){if(O.current===null&&k.current!==null&&(S||w)){var t=null;if(w)switch(e){case`paymentForm`:t=w.createPaymentFormElement();break;case`payment`:t=w.createPaymentElement(s);break;case`address`:if(`mode`in s){var r=s.mode,i=ne(s,J);if(r===`shipping`)t=w.createShippingAddressElement(i);else if(r===`billing`)t=w.createBillingAddressElement(i);else throw Error(`Invalid options.mode. mode must be 'billing' or 'shipping'.`)}else throw Error(`You must supply options.mode. mode must be 'billing' or 'shipping'.`);break;case`expressCheckout`:t=w.createExpressCheckoutElement(s);break;case`currencySelector`:t=w.createCurrencySelectorElement();break;case`taxId`:t=w.createTaxIdElement(s);break;default:throw Error(`Invalid Element type ${n}. You must use either the , , , or .`)}else S&&(t=S.create(e,s));O.current=t,D(t),t&&t.mount(k.current)}},[S,w,s]);var j=ae(s);return o.useEffect(function(){if(O.current){var e=oe(s,j,[`paymentRequest`]);e&&`update`in O.current&&O.current.update(e)}},[s,j]),o.useLayoutEffect(function(){return function(){if(O.current&&typeof O.current.destroy==`function`)try{O.current.destroy(),O.current=null}catch{}}},[]),o.createElement(`div`,{id:r,className:i,ref:k})};return r.propTypes={id:D.default.string,className:D.default.string,onChange:D.default.func,onBlur:D.default.func,onFocus:D.default.func,onReady:D.default.func,onEscape:D.default.func,onClick:D.default.func,onLoadError:D.default.func,onLoaderStart:D.default.func,onNetworksChange:D.default.func,onConfirm:D.default.func,onCancel:D.default.func,onShippingAddressChange:D.default.func,onShippingRateChange:D.default.func,onSavedPaymentMethodRemove:D.default.func,onSavedPaymentMethodUpdate:D.default.func,options:D.default.object},r.displayName=n,r.__elementType=e,r},X=typeof window>`u`,Z=o.createContext(null);Z.displayName=`EmbeddedCheckoutProviderContext`;var he=function(){return pe(`calls useStripe()`).stripe};Y(`auBankAccount`,X),Y(`card`,X),Y(`cardNumber`,X),Y(`cardExpiry`,X),Y(`cardCvc`,X),Y(`iban`,X);var ge=Y(`payment`,X);Y(`expressCheckout`,X),Y(`paymentRequestButton`,X),Y(`linkAuthentication`,X),Y(`address`,X),Y(`shippingAddress`,X),Y(`paymentMethodMessaging`,X),Y(`taxId`,X);var Q=n(t(),1),_e=1715323541888,ve=(3+Math.sqrt(5))*1e3,ye=()=>(Date.now()-_e)/ve,$=(e,t,n)=>Math.max(t,Math.min(n,e)),be=e=>Math.round(e*100)/100,xe=e=>e.toLocaleString(`en-US`,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2}),Se=(e,t)=>{let n=(1+Math.sqrt(5))/2,r=Math.sin(2*Math.PI*e/44)*.85,i=Math.sin(2*Math.PI*n*e)*.42,a=Math.sin(2*Math.PI*(n-1)*e)*.28,o=Math.sin(e*.1618)*.35;return be(t+r+i+a+o)},Ce=e=>$(.35+.65*Math.abs(Math.sin(2*Math.PI*e/11)),0,1),we=Object.freeze([]),Te=Object.freeze([]),Ee=` .kai-price-wrap { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji"; color: #e7fbf7; } .kai-price-chart { display:block; width:100%; height:auto; } diff --git a/dist/assets/KaiRealms-n3n97jUS.js b/dist/assets/KaiRealms--ZhEUi7A.js similarity index 99% rename from dist/assets/KaiRealms-n3n97jUS.js rename to dist/assets/KaiRealms--ZhEUi7A.js index 2eaf78023..92870d7c9 100644 --- a/dist/assets/KaiRealms-n3n97jUS.js +++ b/dist/assets/KaiRealms--ZhEUi7A.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/bundler-B8Zn1qrE.js","assets/index-BfXtjgZ1.js","assets/index-BgUnq8XG.css"])))=>i.map(i=>d[i]); -import{t as e}from"./x-CArBFE1m.js";import{E as t,Et as n,Vt as r,pi as i,ri as a,si as o,wt as s}from"./index-BfXtjgZ1.js";var c=i(o(),1);function l(e){return typeof e==`string`?e.toLowerCase():``}function u(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e){return typeof e==`string`&&e.length>0}function f(e){return typeof e==`number`&&Number.isFinite(e)}function p(e){if(typeof e!=`object`||!e)throw Error(`Malformed sigil metadata.`);let t=e;for(let e of[`pulse`,`beat`,`stepIndex`,`chakraDay`])if(!u(t,e))throw Error(`Missing Kai field: ${e}`);if(!u(t,`kaiSignature`))throw Error(`Invalid Kai Signature — tampered or unsigned sigil.`);if(!f(t.pulse))throw Error(`Invalid field: pulse`);if(!f(t.beat))throw Error(`Invalid field: beat`);if(!f(t.stepIndex))throw Error(`Invalid field: stepIndex`);if(!d(t.chakraDay))throw Error(`Invalid field: chakraDay`);if(!d(t.kaiSignature))throw Error(`Invalid field: kaiSignature`)}function m(e){try{let t=new DOMParser().parseFromString(e,`image/svg+xml`),n=Array.from(t.getElementsByTagName(`metadata`)),r=[`valuation`,`ledger`,`dht`,`source`];for(let e of n){let t=e.getAttribute(`id`)??``;if(r.some(e=>t.includes(e)))continue;let n=(e.textContent??``).trim();if(!n)continue;let i=n.replace(/^$/,``);try{let e=JSON.parse(i);if(typeof e==`object`&&e&&u(e,`pulse`)&&u(e,`beat`)&&u(e,`stepIndex`)&&u(e,`chakraDay`)&&u(e,`kaiSignature`))return e}catch{}}return null}catch{return null}}async function h(e){let r=await e.text(),{meta:i,contextOk:a,typeOk:o}=await t(e),c=i&&u(i,`kaiSignature`)&&u(i,`pulse`)?i:m(r);if(!c||!a||!o)throw Error(`Invalid glyph or missing metadata.`);p(c);let d=c,f=await s(d);if(!f||l(f)!==l(d.kaiSignature))throw Error(`Invalid Kai Signature — tampered or unsigned sigil.`);let h=await n(d.kaiSignature);if(typeof d.userPhiKey==`string`){if(l(d.userPhiKey)!==l(h))throw Error(`Φ-Key mismatch — identity invalid.`)}else d.userPhiKey=h;return{svgText:r,meta:d,phiKey:h}}var g=i(r(),1),_=`.svg,image/svg+xml`,v=({onEnter:e})=>{let t=(0,c.useRef)(null),[n,r]=(0,c.useState)(!1),[i,a]=(0,c.useState)(!1),[o,s]=(0,c.useState)(``),[l,u]=(0,c.useState)(null),d=(0,c.useId)(),f=(0,c.useId)(),p=(0,c.useId)(),m=()=>{t.current&&(t.current.value=``)},v=(0,c.useCallback)(async t=>{u(null),s(t.name),a(!0);try{if(!(t.type===`image/svg+xml`||t.name.toLowerCase().endsWith(`.svg`)))throw Error(`Please upload a valid Kai Sigil (.svg).`);e(await h(t))}catch(e){u(e instanceof Error?e.message:`Invalid glyph or missing metadata.`)}finally{a(!1),m()}},[e]),y=(0,c.useCallback)(async e=>{let t=e.target.files?.[0];t&&await v(t)},[v]),b=(0,c.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),r(!1);let t=e.dataTransfer.files?.[0];t&&await v(t)},[v]),x=e=>{e.preventDefault(),e.dataTransfer.dropEffect=`copy`,n||r(!0)},S=e=>{e.currentTarget.contains(e.relatedTarget)||r(!1)},C=()=>t.current?.click(),w=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())};return(0,g.jsxs)(`section`,{className:`portal-card glass-omni`,"aria-labelledby":d,"aria-describedby":f,children:[(0,g.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`phi-grid`,"aria-hidden":!0}),(0,g.jsx)(`h1`,{id:d,className:`sr-only`,children:`Drop your Kai Sigil`}),(0,g.jsxs)(`div`,{className:`portal-body`,children:[(0,g.jsxs)(`div`,{className:`dropzone ${n?`dropzone--active`:``} ${i?`dropzone--busy`:``}`,role:`button`,tabIndex:0,onKeyDown:w,onClick:C,onDrop:b,onDragOver:x,onDragLeave:S,"aria-busy":i,"aria-describedby":`${f}${l?` ${p}`:``}`,children:[(0,g.jsxs)(`div`,{className:`dropzone-ornament`,"aria-hidden":!0,children:[(0,g.jsx)(`div`,{className:`ornament-ring ornament-ring--outer`}),(0,g.jsx)(`div`,{className:`ornament-ring ornament-ring--inner`}),(0,g.jsx)(`div`,{className:`ornament-core`})]}),(0,g.jsx)(`div`,{className:`dropzone-icon`,"aria-hidden":!0,children:(0,g.jsxs)(`svg`,{width:`44`,height:`44`,viewBox:`0 0 44 44`,children:[(0,g.jsx)(`defs`,{children:(0,g.jsxs)(`linearGradient`,{id:`dzG`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#00ffd0`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#8a2be2`})]})}),(0,g.jsx)(`circle`,{cx:`22`,cy:`22`,r:`20`,fill:`none`,stroke:`url(#dzG)`,strokeWidth:`1.5`}),(0,g.jsx)(`path`,{d:`M22 12 L22 30 M14 20 L22 12 L30 20`,stroke:`url(#dzG)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}),(0,g.jsxs)(`div`,{className:`dropzone-text`,children:[(0,g.jsx)(`div`,{className:`dz-title`,children:`Inhale your Kai Sigil`}),(0,g.jsxs)(`div`,{id:f,className:`dz-hint`,children:[`Breath-minted `,(0,g.jsx)(`strong`,{children:`Φkey`}),` only. Drag & drop.`]}),o&&!i&&!l?(0,g.jsxs)(`div`,{className:`dz-file`,children:[`Selected: `,o]}):null,i?(0,g.jsxs)(`div`,{className:`dz-progress`,children:[(0,g.jsx)(`div`,{className:`dz-spinner`}),(0,g.jsx)(`span`,{children:`Verifying…`})]}):null]}),(0,g.jsx)(`input`,{ref:t,type:`file`,accept:_,onChange:y,tabIndex:-1,"aria-hidden":!0,className:`dz-input`})]}),l?(0,g.jsx)(`div`,{id:p,className:`portal-error`,role:`alert`,"aria-live":`polite`,children:l}):null,(0,g.jsx)(`p`,{className:`portal-note`,children:`Your sigil is verified by breath. No drift. Only truth.`})]}),(0,g.jsx)(`span`,{className:`sr-only`,children:`Kai Realms sigil gate ready.`})]})},y=5236,b=11,x=44;function S(e){let t=e-1715323541888,n=Math.floor(t/y);return{pulseIndex:n,stepIndex:Math.floor(n/b)%x,beatIndex:Math.floor(n/(b*x))%36}}function C(e){let t=(0,c.useRef)(null);(0,c.useEffect)(()=>{let n=setInterval(()=>{let{pulseIndex:n,stepIndex:r,beatIndex:i}=S(Date.now());n!==t.current&&(e.onPulse?.(n),n%b===0&&e.onStep?.(r),n%(b*x)===0&&e.onBeat?.(i),t.current=n)},y);return()=>clearInterval(n)},[e])}var w={Root:`#FF0033`,Sacral:`#FF8000`,Solar:`#FFD700`,Heart:`#00FF99`,Throat:`#33CCFF`,ThirdEye:`#9933FF`,Crown:`#AA00FF`};function T(e,t,n,r,i){e.save(),e.translate(n,r);let{chakraDay:a,pulse:o}=t.meta,s=w[a]??`#00FFFF`;e.beginPath(),e.arc(0,0,i+4,0,Math.PI*2),e.fillStyle=s,e.shadowColor=s,e.shadowBlur=15,e.fill(),e.beginPath(),e.arc(0,0,i,0,Math.PI*2),e.fillStyle=`#000012`,e.fill();let c=i+o%11*1.5;e.beginPath(),e.arc(0,0,c,0,Math.PI*2),e.strokeStyle=`${s}AA`,e.lineWidth=1.5,e.stroke(),e.restore()}var E=`kai:game:focus`,D=typeof window<`u`;function O(){if(!D||typeof BroadcastChannel>`u`)return null;try{return new BroadcastChannel(`kai-realms-game-focus`)}catch{return null}}function k(e){let t={id:e,ts:Date.now()};if(D)try{window.dispatchEvent(new CustomEvent(E,{detail:t}))}catch{}let n=O();if(n)try{n.postMessage({type:E,detail:t})}catch{}finally{try{n.close()}catch{}}}function A(e){let t=t=>{let n=t;n?.detail&&e(n.detail)};D&&window.addEventListener(E,t);let n=O(),r=t=>{let n=t?.data;n?.type===E&&n.detail&&e(n.detail)};if(n)try{n.addEventListener(`message`,r)}catch{}return()=>{if(D&&window.removeEventListener(E,t),n)try{n.removeEventListener(`message`,r)}catch{}finally{try{n.close()}catch{}}}}function j(e){let[t,n]=(0,c.useState)(!1),r=(0,c.useRef)(0);return(0,c.useEffect)(()=>A(t=>{n(t.id!==e),r.current=t.ts}),[e]),{paused:t,takeFocus:(0,c.useCallback)(()=>{k(e),n(!1)},[e])}}var M=5236,N=.085,P=1,F=60,I=6.1,L=5.6,ee=.1,te=1.6,R=10,ne=50,re=150,ie=10,ae=Math.floor(M*1.25),oe=.145,se=2.618,ce=M,z=M,le=1e3,ue=.12,B=44,de=.618,fe=.35,pe=3,me=`600 12px ui-sans-serif,system-ui,-apple-system`,V={up:{x:0,y:-1},down:{x:0,y:1},left:{x:-1,y:0},right:{x:1,y:0},none:{x:0,y:0}},H={up:`down`,down:`up`,left:`right`,right:`left`,none:`none`};function he(e,t,n){return e+(t-e)*n}function U(e,t){return(e-t+M)%M/M}function ge(e){let t=Math.sin(Math.PI*e);return .78+.44*(t*t)}function _e(e){let t=e.toLowerCase();return t===`arrowup`||t===`w`?`up`:t===`arrowdown`||t===`s`?`down`:t===`arrowleft`||t===`a`?`left`:t===`arrowright`||t===`d`?`right`:`none`}function W(e,t,n){let r=Math.round(n),i=Math.round(t);return r<0||r>=e.length||i<0||i>=e[0].length?!1:e[r][i]!==1}function G(e){return{x:Math.round(e.x),y:Math.round(e.y)}}function K(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}function ve(){let e=Array.from({length:23},()=>Array(27).fill(1));((t,n,r,i)=>{for(let a=n;a0&&a<22&&n>0&&n<26&&(e[a][n]=0)})(1,1,25,21);for(let t=2;t<25;t++)e[5][t]=1,e[17][t]=1;for(let t=2;t<21;t++)e[t][4]=1,e[t][22]=1;for(let t=6;t<21;t++)e[11][t]=0;for(let t=4;t<19;t++)e[t][13]=0;for(let t=1;t<22;t++)for(let n=1;n<26;n++)e[t][n]===0&&(e[t][n]=2);for(let t of[{x:6,y:6},{x:20,y:6},{x:6,y:16},{x:20,y:16}])e[t.y][t.x]=3;for(let t of[{x:2,y:2},{x:24,y:2},{x:2,y:20},{x:24,y:20}])e[t.y]?.[t.x]!==1&&(e[t.y][t.x]=4);return e}function ye(e){return{pos:{x:e.x,y:e.y},dir:`left`,next:`left`,speed:I}}function q(e,t,n){return{pos:{x:e.x,y:e.y},dir:`left`,speed:L,scatterTarget:n,mode:`chase`,frightUntil:0,color:t}}function be(e){let t=0;for(let n=0;n=.1||i>=.1)return!1;let a=0;return[`up`,`down`,`left`,`right`].forEach(t=>{W(e,n.x+V[t].x,n.y+V[t].y)&&a++}),a>=3}function we(e,t){if(t.next===`none`||t.next===t.dir)return;if(t.next===H[t.dir]){t.dir=t.next;return}let n=G(t.pos),r=Math.abs(t.pos.x-n.x),i=Math.abs(t.pos.y-n.y);r>=.12||i>=.12||W(e,n.x+V[t.next].x,n.y+V[t.next].y)&&(t.pos.x=n.x,t.pos.y=n.y,t.dir=t.next)}function Te(e,t,n,r,i){if(n===`none`)return;let a=V[n],o=t.x+a.x*r*i,s=t.y+a.y*r*i,c=e[0].length;if(o<-1){t.x=c+1;return}if(o>c+1){t.x=-1;return}if(W(e,Math.round(o),Math.round(s)))t.x=o,t.y=s;else{let e=G(t);t.x=e.x,t.y=e.y}}function Ee(e,t,n,r){let i=[`up`,`left`,`down`,`right`],a=n,o=1/0;for(let s of i){if(s===H[n])continue;let i=Math.round(t.x)+V[s].x,c=Math.round(t.y)+V[s].y;if(!W(e,i,c))continue;let l=K({x:i,y:c},r);l{let r=(0,c.useRef)(null),i=(0,c.useRef)(null),{paused:a,takeFocus:o}=j(`KaiMaze`),[s,l]=(0,c.useState)({w:0,h:0});(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect;l({w:e.width,h:e.height})}});return t.observe(e),()=>t.disconnect()},[]);let[u,d]=(0,c.useState)(e);(0,c.useEffect)(()=>d(e),[e]);let[f,p]=(0,c.useState)(()=>xe(1,performance.now())),m=(0,c.useRef)(performance.now()),[h,_]=(0,c.useState)(()=>{if(typeof window>`u`)return!1;let e=window.matchMedia?.(`(pointer: coarse)`)?.matches??!1,t=window.matchMedia?.(`(max-width: 900px)`)?.matches??!1;return e||t});(0,c.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(pointer: coarse)`),t=window.matchMedia(`(max-width: 900px)`),n=()=>_(e.matches||t.matches);return e.addEventListener?.(`change`,n),t.addEventListener?.(`change`,n),()=>{e.removeEventListener?.(`change`,n),t.removeEventListener?.(`change`,n)}},[]);let v=(0,c.useMemo)(()=>e=>Math.floor(le*(1+ue*(e-1))),[]),y=(0,c.useMemo)(()=>h&&!f.over,[h,f.over]),b=(0,c.useMemo)(()=>(h?`Tap/Swipe or D-pad`:`←↑→↓ / WASD`)+` · B/Space to Channel on ⟐ · Esc to exit`,[h]);(0,c.useEffect)(()=>{if(P>0&&u>=P){let e=u-P;d(e),t(e),o()}},[]);let x=()=>{p(e=>e.channelingUntil?{...e,channelingUntil:0}:e)};(0,c.useEffect)(()=>{let e=e=>{let t=e.key.toLowerCase(),r=_e(t);r!==`none`&&(x(),e.preventDefault(),o(),p(e=>({...e,player:{...e.player,next:r}}))),(t===`b`||t===` `)&&f.onAltar&&f.channelingUntil===0&&(o(),p(e=>({...e,channelingUntil:performance.now()+z}))),t===`escape`&&n&&n(),t===`r`&&f.over&&(o(),p(xe(1,performance.now())),m.current=performance.now())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,f.over,f.onAltar,f.channelingUntil]);let S=e=>{x(),o(),p(t=>({...t,player:{...t.player,next:e}}))},C=()=>{f.onAltar&&f.channelingUntil===0&&(o(),p(e=>({...e,channelingUntil:performance.now()+z})))};(0,c.useEffect)(()=>{let e=0,n=performance.now(),r=(e,n)=>{if(n.channelingUntil===0||!n.onAltar||e0){let e=Math.floor(a*r),i=Math.max(0,n.bankable-e),o=u+a;return d(o),t(o),{...n,scorePhi:n.scorePhi+a,bankable:i,points:i,kaiCharge:Math.max(0,Math.floor(n.kaiCharge*.5)),channelingUntil:0}}return{...n,channelingUntil:0}},i=()=>{e=requestAnimationFrame(i);let o=performance.now(),s=Math.min(1/F,(o-n)/1e3);n=o,!a&&p(e=>{if(e.over)return e;let n=structuredClone(e);if(o>=n.cycle.nextSwitchAt){let e=n.cycle.phase===`chase`?`scatter`:`chase`;n.cycle={phase:e,nextSwitchAt:o+Se(n.level,e)};for(let t of n.ghosts)t.mode!==`fright`&&(t.mode=e)}let i=U(o,m.current),a=ge(i),c=Math.min(1+n.streak*ee,te),l=Math.min(1+n.streak*oe,se),f=n.channelingUntil>0?0:n.player.speed*a*c;we(n.grid,n.player),Te(n.grid,n.player.pos,n.player.dir,f,s);let p=G(n.player.pos);n.onAltar=n.grid[p.y]?.[p.x]===4;let h=n.grid[p.y]?.[p.x]??1;if((h===2||h===3)&&n.channelingUntil===0){let e=Math.abs(i-.5)<=N,t=h===2?R:ne;if(e&&(t+=ie,n.kaiCharge=Math.min(B,n.kaiCharge+1)),t=Math.floor(t*l),n.points+=t,n.bankable=n.points,n.streak+=1,n.streak>n.bestStreak&&(n.bestStreak=n.streak),n.comboUntil=o+ae,n.grid[p.y][p.x]=0,n.pellets=Math.max(0,n.pellets-1),h===3){m.current=o;let e=Math.max(ce*Math.max(.55,1-(n.level-1)*.08),M*.5);for(let t of n.ghosts)t.mode=`fright`,t.frightUntil=o+e}}n.comboUntil>0&&o>n.comboUntil&&(n.streak=Math.max(0,Math.floor(n.streak*.5)),n.comboUntil=0);for(let e of n.ghosts){e.mode===`fright`&&o>=e.frightUntil&&(e.mode=n.cycle.phase);let t=G(n.player.pos);if(Ce(n.grid,e.pos))if(e.mode===`scatter`)e.dir=Ee(n.grid,e.pos,e.dir,e.scatterTarget);else if(e.mode===`fright`){let r=G(e.pos),i=[`up`,`down`,`left`,`right`],a=e.dir,o=-1/0;for(let s of i){if(s===H[e.dir])continue;let i=r.x+V[s].x,c=r.y+V[s].y;if(!W(n.grid,i,c))continue;let l=K({x:i,y:c},t);l>o&&(o=l,a=s)}e.dir=a}else{let r={x:t.x+V[n.player.dir].x*2,y:t.y+V[n.player.dir].y*2};e.dir=Ee(n.grid,e.pos,e.dir,r)}let r=e.mode===`fright`?he(.6,.8,Math.sin(i*Math.PI)):a,c=e.speed*r;if(c*=1.06**(n.level-1),Te(n.grid,e.pos,e.dir,c,s),K(n.player.pos,e.pos)<.4)if(e.mode===`fright`&&n.channelingUntil===0){let t=Math.floor(re*l);n.points+=t,n.bankable=n.points,n.streak+=1,n.streak>n.bestStreak&&(n.bestStreak=n.streak),n.comboUntil=o+ae,e.pos={...e.scatterTarget},e.dir=`left`,e.mode=`scatter`,e.frightUntil=0}else if(--n.lives,n.streak=0,n.comboUntil=0,n.points=Math.max(0,Math.floor(n.points*(1-fe))),n.bankable=n.points,n.channelingUntil=0,n.lives<=0)n.alive=!1,n.over=!0;else{let e={x:Math.floor(n.grid[0].length/2),y:n.grid.length-4};n.player.pos={...e},n.player.dir=`left`,n.player.next=`left`;for(let e of n.ghosts)e.mode=`scatter`;m.current=o}}if(n.pellets<=0&&!n.over){let e=v(n.level),r=Math.floor(n.bankable*.2/e);if(r>0){let i=r*e,a=Math.max(0,n.bankable-i),o=u+r;d(o),t(o),n.scorePhi+=r,n.bankable=a,n.points=a}let i=xe(n.level+1,o);i.scorePhi=n.scorePhi,i.lives=Math.max(1,n.lives),i.bestStreak=Math.max(n.bestStreak,n.streak),i.player.speed=n.player.speed*1.06;for(let e of i.ghosts)e.speed*=1.06;return m.current=o,i}return n=r(o,n),n})};return e=requestAnimationFrame(i),()=>cancelAnimationFrame(e)},[t,u,a,v]),(0,c.useEffect)(()=>{let e=0,t=()=>{e=requestAnimationFrame(t);let n=i.current,o=r.current;if(!n||!o)return;let c=n.getContext(`2d`);if(!c)return;let l=Math.max(0,s.w),d=Math.max(0,s.h);if(l===0||d===0)return;let p=Math.min(2,window.devicePixelRatio||1);(n.width!==Math.floor(l*p)||n.height!==Math.floor(d*p))&&(n.width=Math.floor(l*p),n.height=Math.floor(d*p),n.style.width=`${l}px`,n.style.height=`${d}px`),c.setTransform(p,0,0,p,0,0);let h=f.grid.length,g=f.grid[0].length,_=Math.floor(Math.min(l/g,d/h)),v=_*g,y=_*h,b=Math.floor((l-v)/2),x=Math.floor((d-y)/2),S=c.createLinearGradient(0,0,0,d);S.addColorStop(0,`#07071a`),S.addColorStop(1,`#0c1231`),c.fillStyle=S,c.fillRect(0,0,l,d),Me(c,l,d);for(let e=0;e0&&f.onAltar){let e=1-Math.max(0,f.channelingUntil-w)/z,t=l/2;c.strokeStyle=`rgba(0,255,208,0.9)`,c.lineWidth=4,c.globalAlpha=.9,c.beginPath(),c.arc(t,34,16,-Math.PI/2,-Math.PI/2+e*Math.PI*2),c.stroke(),c.globalAlpha=1,c.font=`700 12px ui-sans-serif,system-ui,-apple-system`,c.fillText(`Channeling…`,t+16+8,38)}if(a&&!f.over){c.fillStyle=`rgba(0,0,0,0.35)`,c.fillRect(0,0,l,d),c.fillStyle=`#fff`,c.font=`700 16px ui-sans-serif,system-ui,-apple-system`;let e=`Paused — another Realm is active`;c.fillText(e,(l-c.measureText(e).width)/2,d/2)}if(f.over){c.fillStyle=`rgba(0,0,0,0.55)`,c.fillRect(0,0,l,d),c.fillStyle=`#fff`,c.font=`700 20px ui-sans-serif,system-ui,-apple-system`;let e=`Game Over — Press R to restart`;c.fillText(e,(l-c.measureText(e).width)/2,d/2)}};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[f,u,s,a]);let w=f.onAltar&&f.channelingUntil===0;return(0,g.jsxs)(`div`,{className:`km-wrap`,role:`group`,"aria-label":`Kai-Maze`,onPointerDown:()=>o(),onTouchStart:()=>o(),onMouseDown:()=>o(),children:[(0,g.jsxs)(`div`,{className:`km-header`,children:[(0,g.jsx)(`div`,{className:`km-title`,children:`🌀 Kai-Maze`}),(0,g.jsx)(`div`,{className:`km-sub`,children:`Score on pulse, risk your points, then ⟐ channel to mint Φ.`})]}),(0,g.jsxs)(`div`,{className:`km-stage`,ref:r,children:[(0,g.jsx)(`canvas`,{ref:i,className:`km-canvas`}),y&&(0,g.jsxs)(`div`,{className:`km-dpad`,style:{position:`absolute`,left:12,bottom:12,width:132,height:132,display:`grid`,gridTemplateColumns:`repeat(3, 1fr)`,gridTemplateRows:`repeat(3, 1fr)`,gap:6,touchAction:`none`,userSelect:`none`,zIndex:4},"aria-label":`Directional pad`,children:[(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move up`,onPointerDown:e=>{e.preventDefault(),S(`up`)},children:`▲`}),(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move left`,onPointerDown:e=>{e.preventDefault(),S(`left`)},children:`◀`}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:{...J,opacity:.9},"aria-label":`Hold to Channel (if on altar)`,onPointerDown:e=>{e.preventDefault(),C()},title:`Channel one breath to convert points → Φ`,children:`⟐`}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move right`,onPointerDown:e=>{e.preventDefault(),S(`right`)},children:`▶`}),(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move down`,onPointerDown:e=>{e.preventDefault(),S(`down`)},children:`▼`}),(0,g.jsx)(`div`,{})]}),w&&(0,g.jsx)(`button`,{className:`km-chan-btn`,onClick:()=>{o(),p(e=>e.channelingUntil?e:{...e,channelingUntil:performance.now()+z})},"aria-label":`Channel points into Phi`,title:`Channel one breath to convert points → Φ`,children:`⟐ CHANNEL`}),f.channelingUntil>0&&(0,g.jsx)(`button`,{className:`km-chan-cancel`,onClick:()=>{o(),p(e=>({...e,channelingUntil:0}))},"aria-label":`Cancel channeling`,title:`Cancel`,children:`Cancel`})]}),(0,g.jsxs)(`div`,{className:`km-footer`,children:[(0,g.jsx)(`button`,{className:`km-btn`,onClick:n,title:`Back`,children:`Back`}),(0,g.jsx)(`div`,{className:`km-hint`,children:b})]})]})};function Oe(e,t,n,r,i){e.save(),e.fillStyle=i,e.beginPath(),e.arc(t,n,r,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(255,255,255,0.35)`,e.lineWidth=1.25,e.stroke(),e.restore()}function ke(e,t,n,r,i){e.save(),e.fillStyle=i,e.beginPath(),e.arc(t,n,r,Math.PI,0),e.lineTo(t+r,n+r*.85),e.lineTo(t-r,n+r*.85),e.closePath(),e.fill(),e.fillStyle=`#fff`,e.beginPath(),e.arc(t-r*.35,n-r*.15,r*.16,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+r*.35,n-r*.15,r*.16,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.arc(t-r*.3,n-r*.15,r*.08,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+r*.3,n-r*.15,r*.08,0,Math.PI*2),e.fill(),e.restore()}function Ae(e,t,n){let r=Math.min(460,Math.max(220,t*.5)),i=t/2,a=r/2;e.save(),e.globalAlpha=.35,e.strokeStyle=`rgba(0,255,208,.6)`,e.lineWidth=2,e.beginPath(),e.moveTo(i-a,20),e.lineTo(i+a,20),e.stroke();let o=je(r*N*2);e.globalAlpha=.2,e.fillStyle=`#ffd36e`,e.fillRect(i-o,17,o*2,6),e.globalAlpha=.9,e.fillStyle=`#00ffd0`;let s=i-a+n*r;e.beginPath(),e.arc(s,20,4,0,Math.PI*2),e.fill(),e.restore()}function je(e){return e/2}function Me(e,t,n){e.save(),e.globalAlpha=.08,e.strokeStyle=`rgba(255,255,255,0.15)`,e.lineWidth=1;let r=t/2,i=n/2,a=(1+Math.sqrt(5))/2,o=4;for(let s=0;s<8;s++){let s=Math.min(t,n)/o;e.beginPath(),e.arc(r,i,s,-Math.PI/2,Math.PI),e.stroke(),o*=a}e.restore()}var J={background:`linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04))`,border:`1px solid rgba(255,255,255,0.25)`,borderRadius:10,color:`rgba(255,255,255,0.9)`,fontSize:18,lineHeight:1,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,minWidth:36,minHeight:36,touchAction:`none`};(()=>{let e=Array.from({length:31},()=>Array.from({length:28},()=>2));for(let t=0;t<28;t++)e[0][t]=1,e[30][t]=1;for(let t=0;t<31;t++)e[t][0]=1,e[t][27]=1;for(let t=4;t<24;t+=6)for(let n=4;n<27;n+=6)e[n][t]=1,e[n][t+1]=1,e[n+1][t]=1,e[n+1][t+1]=1;for(let t=2;t<26;t++)e[15][t]=0;e[1][1]=3,e[1][26]=3,e[29][1]=3,e[29][26]=3;for(let t=2;t<29;t++)e[t][14]=0;for(let t=2;t<26;t++)e[11][t]=0;return e})();var Ne=5236,Y=3,Pe=Y*2,Fe=2,Ie=.15,Le=220,Re=60,ze=20;function Be(e){return(Math.imul(e^2654435769,2654435761)>>>0)%1e5/1e5}function Ve(e,t){let n=Math.abs(e-t)%360;return n>180&&(n=360-n),n}var He=({currentPhi:e,onPhiChange:t})=>{let[n,r]=(0,c.useState)(`forge`),[i,a]=(0,c.useState)(null),[o,s]=(0,c.useState)(performance.now()),[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(!1),[p,m]=(0,c.useState)(null),[h,_]=(0,c.useState)(0);C({onPulse:e=>{a(e),s(performance.now()),m(e=>e&&{...e,delta:e.delta})}}),(0,c.useEffect)(()=>{if(n!==`forge`)return;let e=0,t=!0,r=()=>{if(!t)return;let n=performance.now();u(Math.max(0,n-o)%Ne/Ne*360%360),e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>{t=!1,cancelAnimationFrame(e)}},[o,n]);let v=(0,c.useMemo)(()=>{let e=i??0,t=Math.floor(Be(e)*360),n=Re+(e%2==0?ze:0)-Math.min(20,Math.floor(h*6));return{centerDeg:t,halfWidthDeg:Math.max(10,n/2)}},[i,h]),y=(0,c.useMemo)(()=>n===`forge`&&!d&&e>=Y&&i!==null,[n,d,e,i]),b=(0,c.useCallback)(e=>{let t=Pe,n=1+h*Ie,r=e?Fe:1;return Math.floor(t*n*r)},[h]),x=(0,c.useCallback)(()=>{if(!y)return;let n=e-Y;t(n),f(!0),m(null);let r=Ve(l,v.centerDeg),i=Math.max(4,v.halfWidthDeg*.25),a=r<=v.halfWidthDeg,o=a&&r<=i;window.setTimeout(()=>{if(a){let e=b(o);t(n+e),_(e=>e+1),m({kind:o?`crit`:`hit`,delta:e})}else _(0),m({kind:`miss`,delta:-Y});f(!1)},650)},[y,e,t,l,v.centerDeg,v.halfWidthDeg,b]);return(0,c.useEffect)(()=>{if(n!==`forge`)return;let e=e=>{let t=e.key.toLowerCase();(t===` `||t===`enter`)&&(e.preventDefault(),x())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,x]),(0,g.jsx)(`div`,{className:`pf-wrap`,role:`group`,"aria-label":`Pulse Forge`,children:n===`forge`?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`pf-header`,children:[(0,g.jsx)(`div`,{className:`pf-title`,children:`⚒️ Pulse Forge`}),(0,g.jsx)(`div`,{className:`pf-sub`,children:`Time your lock to the target arc. Breathe, focus, forge.`}),(0,g.jsx)(`div`,{style:{marginLeft:`auto`,display:`flex`,gap:8},children:(0,g.jsx)(`button`,{type:`button`,className:`pf-lock-btn`,onClick:()=>r(`maze`),title:`Switch to Kai-Maze`,children:`Play Kai-Maze`})})]}),(0,g.jsxs)(`div`,{className:`pf-board`,children:[(0,g.jsxs)(`div`,{className:`pf-dial`,style:{width:Le,height:Le},children:[(0,g.jsx)(`div`,{className:`pf-arc`,style:{"--arc-center":`${v.centerDeg}deg`,"--arc-half":`${v.halfWidthDeg}deg`},"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`pf-marker ${d?`pf-marker--lock`:``}`,style:{transform:`rotate(${l}deg)`},"aria-hidden":!0,children:(0,g.jsx)(`div`,{className:`pf-marker-head`})}),(0,g.jsx)(`div`,{className:`pf-rim`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`pf-ticks`,"aria-hidden":!0,children:Array.from({length:12}).map((e,t)=>(0,g.jsx)(`span`,{style:{transform:`rotate(${t*30}deg)`}},t))})]}),(0,g.jsxs)(`div`,{className:`pf-hud`,children:[(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Your Φ`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Φ`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:e})]}),(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Streak`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Streak`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:h})]}),(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Pulse`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Pulse`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:i??`—`})]})]})]}),(0,g.jsxs)(`div`,{className:`pf-cta`,children:[(0,g.jsx)(`button`,{className:`pf-lock-btn`,onClick:x,disabled:!y,"aria-disabled":!y,title:y?`Press Space/Enter to Lock`:`Insufficient Φ or syncing…`,children:d?`Locking…`:`Lock (−${Y} Φ)`}),(0,g.jsxs)(`div`,{className:`pf-hint`,children:[`Press `,(0,g.jsx)(`kbd`,{children:`Space`}),` or `,(0,g.jsx)(`kbd`,{children:`Enter`}),` at the right moment. Even pulses widen the target.`]})]}),p&&(0,g.jsxs)(`div`,{className:`pf-result pf-result--${p.kind}`,role:`status`,"aria-live":`polite`,children:[p.kind===`hit`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`✅`}),(0,g.jsxs)(`span`,{className:`pf-result__text`,children:[`Resonant lock! +`,p.delta,` Φ`]})]}),p.kind===`crit`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`💥`}),(0,g.jsxs)(`span`,{className:`pf-result__text`,children:[`Perfect lock! +`,p.delta,` Φ`]})]}),p.kind===`miss`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`❌`}),(0,g.jsx)(`span`,{className:`pf-result__text`,children:`Miss — breathe again.`})]})]})]}):(0,g.jsx)(De,{currentPhi:e,onPhiChange:t,onExit:()=>r(`forge`)})})};function Ue(){return`kai-${Math.random().toString(36).slice(2,8)}`}function We(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.x==`number`&&typeof t.pulseIndex==`number`&&typeof t.chakraDay==`string`&&typeof t.glyph==`object`&&t.glyph!==null}var Ge=null;async function Ke(){return Ge||(Ge=(await a(()=>import(`./bundler-B8Zn1qrE.js`),__vite__mapDeps([0,1,2]))).default,Ge)}function qe(e){let[t]=(0,c.useState)(()=>e??Ue()),[n,r]=(0,c.useState)([]),[i,a]=(0,c.useState)([]),o=(0,c.useRef)(null),s=(0,c.useRef)({}),l=(0,c.useCallback)((e,t)=>{if(!We(t))return;let n={...t,id:e,glyph:t.glyph};a(t=>{let r=t.findIndex(t=>t.id===e);if(r>=0){let e=[...t];return e[r]=n,e}return[...t,n]})},[]),u=(0,c.useCallback)((e,t)=>{We(e)&&l(t,e)},[l]);return(0,c.useEffect)(()=>{let e=!1;return(async()=>{let n=await Ke();if(e)return;let i=new n(t);o.current=i,i.on(`open`,()=>{r(e=>e)}),i.on(`connection`,e=>{s.current[e.peer]=e,r(t=>Array.from(new Set([...t,e.peer]))),e.on(`data`,t=>{u(t,e.peer)}),e.on(`close`,()=>{delete s.current[e.peer],r(t=>t.filter(t=>t!==e.peer)),a(t=>t.filter(t=>t.id!==e.peer))})})})().catch(e=>{console.error(`[KaiRealms] Peer init failed:`,e)}),()=>{e=!0;try{o.current?.destroy()}catch(e){console.warn(`[KaiRealms] Peer destroy failed:`,e)}o.current=null,s.current={},r([]),a([])}},[t,u]),{sessionId:t,peers:n,sendState:(0,c.useCallback)(e=>{let t=Object.values(s.current);for(let n of t)n.open&&n.send(e)},[]),remoteStates:i}}var Je=800,Ye=500,Xe=Je/Ye,X=28,Z=10,Ze=360,Qe=10,Q=5236,$e=.08,et=22,tt=90,nt=80,rt=2,it=4,at=10,ot=3,st=1,ct=3,lt=1,ut=1,$=(e,t,n)=>en?n:e,dt=({glyphData:e,onExit:t})=>{let n=(0,c.useRef)(null),r=(0,c.useRef)(null),i=(0,c.useRef)(null),[a,o]=(0,c.useState)({w:Je,h:Ye}),s=(0,c.useRef)(a);(0,c.useEffect)(()=>{s.current=a},[a]);let[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(0),[p,m]=(0,c.useState)(!1),[h,_]=(0,c.useState)(ot),[v,y]=(0,c.useState)(0),[b,x]=(0,c.useState)(0),[S,w]=(0,c.useState)(!1),T=(0,c.useRef)(performance.now()),{sendState:E,remoteStates:D}=qe(),O=(0,c.useRef)([]);(0,c.useEffect)(()=>{O.current=D??[]},[D]);let k=(0,c.useRef)(Je/2),A=(0,c.useRef)([]),j=(0,c.useRef)({}),M=(0,c.useRef)(null),N=(0,c.useRef)(null),P=(0,c.useRef)(null),F=(0,c.useRef)(0),I=(0,c.useRef)(0),L=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=n.current;if(!e)return;let t=new ResizeObserver(e=>{let t=e[0].contentRect,n=Math.max(320,Math.min(960,t.width));o({w:n,h:Math.round(n/Xe)})});return t.observe(e),()=>t.disconnect()},[]),(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n=Math.min(2,window.devicePixelRatio||1);e.style.width=`${a.w}px`,e.style.height=`${a.h}px`,e.width=Math.floor(a.w*n),e.height=Math.floor(a.h*n),t.setTransform(n,0,0,n,0,0),i.current=t,k.current=$(k.current,X,a.w-X)},[a]),(0,c.useEffect)(()=>{let e=e=>{j.current[e.key]=!0,e.key.toLowerCase()===`p`&&m(e=>!e),e.key.toLowerCase()===`r`&&S&&re()},t=e=>{j.current[e.key]=!1};return window.addEventListener(`keydown`,e),window.addEventListener(`keyup`,t),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`keyup`,t)}},[S]),(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=t=>{let n=e.getBoundingClientRect();return $((t-n.left)/n.width*s.current.w,X,s.current.w-X)},n=!1,i=e=>{n=!0,k.current=t(e.clientX)},a=e=>{n&&(k.current=t(e.clientX))},o=()=>{n=!1};return e.addEventListener(`pointerdown`,i),e.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o),()=>{e.removeEventListener(`pointerdown`,i),e.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o)}},[]);let ee=e=>Math.max(0,e-T.current)%Q/Q,te=e=>{let t=Math.sin(Math.PI*e);return .65+.7*(t*t)},R=e=>{let{w:t}=s.current,n=performance.now(),r=Math.random()*(t-2*Z)+Z,i=-Z*2,a=(Math.random()-.5)*40,o=(e===`gold`?nt:tt)+v*(at*.2),c={id:`${e}-${n}-${Math.floor(Math.random()*1e6)}`,x:r,y:i,vx:a,baseVy:o,kind:e,bornAt:n},l=A.current.slice(-(et-1));l.push(c),A.current=l};C({onPulse:e=>{f(e),T.current=performance.now(),I.current+=1;for(let e=0;e{let n=P.current,r=k.current,i=d;if(!n||Math.abs(n.x-r)>=1||n.pulseIndex!==i||t-F.current>1e3/Qe){P.current={x:r,pulseIndex:i},F.current=t;try{E({id:`you`,x:r,pulseIndex:i,chakraDay:e.meta.chakraDay,glyph:e})}catch{}}};(0,c.useEffect)(()=>{let t=r.current,n=i.current;if(!t||!n)return;let a=!0,o=t=>{if(!a)return;M.current=requestAnimationFrame(o);let r=N.current??t,i=Math.min(.05,(t-r)/1e3);N.current=t;let{w:c,h:l}=s.current,d=l-X-10;if(!p&&!S){let e=j.current,n=!!(e.ArrowLeft||e.a||e.A),r=!!(e.ArrowRight||e.d||e.D);n&&(k.current=$(k.current-Ze*i,X,c-X)),r&&(k.current=$(k.current+Ze*i,X,c-X));let a=k.current,o=performance.now(),s=ee(o),f=te(s),p=[],m=0,h=0,g=0;for(let e=0;ec-Z&&(t.x=c-Z,t.vx=-Math.abs(t.vx)*.9);let r=t.x-a,u=t.y-d;if(Math.hypot(r,u)l+Z){g+=1;continue}p.push(t)}if(m>0||h>0){let e=m+h;u(t=>t+e),y(e=>{let t=e+1;return x(e=>t>e?t:e),t})}g>0&&(u(e=>Math.max(0,e-st*g)),y(0),_(e=>{let t=Math.max(0,e-g);return t===0&&w(!0),t})),A.current=p,ne(t)}ft(n,e,k.current,d,p||S,A.current,O.current,s.current,T.current,L.current)};return M.current=requestAnimationFrame(o),()=>{a=!1,M.current!==null&&cancelAnimationFrame(M.current),M.current=null,N.current=null}},[e,p,S,a.w,a.h]);let re=()=>{A.current=[],_(ot),y(0),x(e=>e),w(!1)},ie=(0,c.useMemo)(()=>({pulse:d,chakraDay:e?.meta?.chakraDay??`—`}),[d,e?.meta?.chakraDay]);return(0,g.jsxs)(`div`,{className:`realm-wrap`,ref:n,children:[(0,g.jsxs)(`div`,{className:`realm-hud`,children:[(0,g.jsxs)(`div`,{className:`hud-chip hud-chip--score`,title:`Banked Φ`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Φ`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:l})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Streak`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Streak`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:v})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Lives`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Lives`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:h})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Current Pulse`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Pulse`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:ie.pulse})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Chakra Day`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Day`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:ie.chakraDay})]}),(0,g.jsx)(`button`,{className:`hud-button`,onClick:()=>m(e=>!e),"aria-pressed":p,title:`Pause (P)`,children:p?`Resume`:`Pause`})]}),(0,g.jsxs)(`div`,{className:`realm-canvas-wrap`,children:[(0,g.jsx)(`canvas`,{ref:r,className:`realm-canvas`,"aria-label":`Kai Realms Canvas`}),(p||S)&&(0,g.jsx)(`div`,{className:`realm-pause-overlay`,"aria-hidden":!0,children:(0,g.jsxs)(`div`,{className:`pause-card`,children:[(0,g.jsx)(`div`,{className:`pause-title`,children:S?`Game Over`:`Paused`}),(0,g.jsx)(`div`,{className:`pause-sub`,children:S?(0,g.jsxs)(g.Fragment,{children:[`Best Streak: `,(0,g.jsx)(`strong`,{children:b}),` — Press `,(0,g.jsx)(`kbd`,{children:`R`}),` to Restart`]}):(0,g.jsxs)(g.Fragment,{children:[`Press `,(0,g.jsx)(`kbd`,{children:`P`}),` or click Resume`]})}),S&&(0,g.jsx)(`button`,{className:`hud-button`,onClick:re,style:{marginTop:12},children:`Restart`})]})})]}),(0,g.jsx)(He,{currentPhi:l,onPhiChange:e=>u(e)}),(0,g.jsx)(`button`,{className:`exit-button`,onClick:t,children:`Exit Realm`})]})};function ft(e,t,n,r,i,a,o,s,c,l){let{w:u,h:d}=s,f=e.createLinearGradient(0,0,0,d);f.addColorStop(0,`#020211`),f.addColorStop(1,`#0b0f2a`),e.fillStyle=f,e.fillRect(0,0,u,d),e.save(),e.globalAlpha=.12;for(let t=0;t<40;t++){let n=t*197%u+t%3,r=t*127%d+t*11%7;e.fillStyle=`white`,e.fillRect(n,r,2,2)}e.restore(),pt(e,u,Math.max(36,Math.round(d*.06)),c);for(let t=0;t{let[n,r]=(0,c.useState)(null),i=(0,c.useRef)(null),a=(0,c.useRef)(null),o=(0,c.useCallback)(e=>r(e),[]),s=(0,c.useCallback)(()=>{r(null),t?.()},[t]);(0,c.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t?.()};return document.addEventListener(`keydown`,e),a.current?.focus(),()=>document.removeEventListener(`keydown`,e)},[t]),(0,c.useEffect)(()=>{let e=i.current;if(!e)return;let t=e=>e.stopPropagation();return e.addEventListener(`wheel`,t,{passive:!0}),()=>e.removeEventListener(`wheel`,t)},[]);let l=()=>t?.(),u=e=>e.stopPropagation();return(0,g.jsxs)(`div`,{className:`realms-backdrop realms-veil`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`kai-realms-title`,onMouseDown:l,children:[(0,g.jsx)(`div`,{className:`realms-stars`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`realms-halo realms-halo--1`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`realms-halo realms-halo--2`,"aria-hidden":!0}),(0,g.jsxs)(`div`,{ref:i,className:`realms-container glass-omni`,onMouseDown:u,role:`document`,children:[(0,g.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`phi-grid`,"aria-hidden":!0}),(0,g.jsxs)(`header`,{className:`realms-header`,children:[(0,g.jsx)(`button`,{ref:a,type:`button`,className:`realms-close auric-btn`,"aria-label":`Close Kai Realms`,onClick:e=>{e.stopPropagation(),t?.()},onMouseDown:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t?.())},children:(0,g.jsx)(e,{size:20,"aria-hidden":!0})}),(0,g.jsx)(`div`,{className:`header-seals`,"aria-hidden":!0,children:(0,g.jsxs)(`div`,{className:`seal-emblem`,children:[(0,g.jsx)(`div`,{className:`seal-ring`}),(0,g.jsx)(`div`,{className:`seal-ring seal-ring--inner`}),(0,g.jsx)(`div`,{className:`seal-core`})]})}),(0,g.jsx)(`h2`,{id:`kai-realms-title`,className:`sr-only`,children:`Kai Realms — Sigil Gate`})]}),(0,g.jsx)(`main`,{className:`realms-body`,children:n?(0,g.jsx)(`div`,{className:`realm-stage`,children:(0,g.jsx)(dt,{glyphData:n,onExit:s})}):(0,g.jsx)(`div`,{className:`portal-stage`,children:(0,g.jsx)(v,{onEnter:o})})}),(0,g.jsx)(`footer`,{className:`realms-footer`,"aria-hidden":!0,children:(0,g.jsx)(`div`,{className:`footer-center`,style:{margin:`0 auto`},children:(0,g.jsx)(gt,{})})})]})]})};function gt(){return(0,g.jsxs)(`svg`,{className:`seal-coin`,width:`56`,height:`56`,viewBox:`0 0 56 56`,"aria-hidden":!0,children:[(0,g.jsxs)(`defs`,{children:[(0,g.jsxs)(`radialGradient`,{id:`coinGlowRealms`,cx:`50%`,cy:`50%`,r:`50%`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#ffffff`,stopOpacity:`0.9`}),(0,g.jsx)(`stop`,{offset:`40%`,stopColor:`#ffd86b`,stopOpacity:`0.75`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#ffd86b`,stopOpacity:`0.15`})]}),(0,g.jsxs)(`linearGradient`,{id:`coinEdgeRealms`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#00ffd0`,stopOpacity:`0.8`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#8a2be2`,stopOpacity:`0.8`})]})]}),(0,g.jsx)(`circle`,{cx:`28`,cy:`28`,r:`26`,fill:`url(#coinGlowRealms)`,stroke:`url(#coinEdgeRealms)`,strokeWidth:`1.5`}),(0,g.jsxs)(`g`,{className:`seal-coin__rotor`,children:[(0,g.jsx)(`circle`,{cx:`28`,cy:`28`,r:`18`,fill:`none`,stroke:`url(#coinEdgeRealms)`,strokeWidth:`1.25`}),(0,g.jsxs)(`g`,{stroke:`rgba(255,255,255,0.35)`,strokeWidth:`0.6`,children:[(0,g.jsx)(`line`,{x1:`28`,y1:`10`,x2:`28`,y2:`46`}),(0,g.jsx)(`line`,{x1:`10`,y1:`28`,x2:`46`,y2:`28`}),(0,g.jsx)(`line`,{x1:`15`,y1:`15`,x2:`41`,y2:`41`}),(0,g.jsx)(`line`,{x1:`41`,y1:`15`,x2:`15`,y2:`41`})]})]}),(0,g.jsx)(`circle`,{className:`seal-coin__core`,cx:`28`,cy:`28`,r:`6.5`})]})}export{ht as default}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/bundler-XNjIfYHv.js","assets/index-DtFxxvye.js","assets/index-BgUnq8XG.css"])))=>i.map(i=>d[i]); +import{t as e}from"./x-Dbqk5kTV.js";import{E as t,Et as n,Vt as r,pi as i,ri as a,si as o,wt as s}from"./index-DtFxxvye.js";var c=i(o(),1);function l(e){return typeof e==`string`?e.toLowerCase():``}function u(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e){return typeof e==`string`&&e.length>0}function f(e){return typeof e==`number`&&Number.isFinite(e)}function p(e){if(typeof e!=`object`||!e)throw Error(`Malformed sigil metadata.`);let t=e;for(let e of[`pulse`,`beat`,`stepIndex`,`chakraDay`])if(!u(t,e))throw Error(`Missing Kai field: ${e}`);if(!u(t,`kaiSignature`))throw Error(`Invalid Kai Signature — tampered or unsigned sigil.`);if(!f(t.pulse))throw Error(`Invalid field: pulse`);if(!f(t.beat))throw Error(`Invalid field: beat`);if(!f(t.stepIndex))throw Error(`Invalid field: stepIndex`);if(!d(t.chakraDay))throw Error(`Invalid field: chakraDay`);if(!d(t.kaiSignature))throw Error(`Invalid field: kaiSignature`)}function m(e){try{let t=new DOMParser().parseFromString(e,`image/svg+xml`),n=Array.from(t.getElementsByTagName(`metadata`)),r=[`valuation`,`ledger`,`dht`,`source`];for(let e of n){let t=e.getAttribute(`id`)??``;if(r.some(e=>t.includes(e)))continue;let n=(e.textContent??``).trim();if(!n)continue;let i=n.replace(/^$/,``);try{let e=JSON.parse(i);if(typeof e==`object`&&e&&u(e,`pulse`)&&u(e,`beat`)&&u(e,`stepIndex`)&&u(e,`chakraDay`)&&u(e,`kaiSignature`))return e}catch{}}return null}catch{return null}}async function h(e){let r=await e.text(),{meta:i,contextOk:a,typeOk:o}=await t(e),c=i&&u(i,`kaiSignature`)&&u(i,`pulse`)?i:m(r);if(!c||!a||!o)throw Error(`Invalid glyph or missing metadata.`);p(c);let d=c,f=await s(d);if(!f||l(f)!==l(d.kaiSignature))throw Error(`Invalid Kai Signature — tampered or unsigned sigil.`);let h=await n(d.kaiSignature);if(typeof d.userPhiKey==`string`){if(l(d.userPhiKey)!==l(h))throw Error(`Φ-Key mismatch — identity invalid.`)}else d.userPhiKey=h;return{svgText:r,meta:d,phiKey:h}}var g=i(r(),1),_=`.svg,image/svg+xml`,v=({onEnter:e})=>{let t=(0,c.useRef)(null),[n,r]=(0,c.useState)(!1),[i,a]=(0,c.useState)(!1),[o,s]=(0,c.useState)(``),[l,u]=(0,c.useState)(null),d=(0,c.useId)(),f=(0,c.useId)(),p=(0,c.useId)(),m=()=>{t.current&&(t.current.value=``)},v=(0,c.useCallback)(async t=>{u(null),s(t.name),a(!0);try{if(!(t.type===`image/svg+xml`||t.name.toLowerCase().endsWith(`.svg`)))throw Error(`Please upload a valid Kai Sigil (.svg).`);e(await h(t))}catch(e){u(e instanceof Error?e.message:`Invalid glyph or missing metadata.`)}finally{a(!1),m()}},[e]),y=(0,c.useCallback)(async e=>{let t=e.target.files?.[0];t&&await v(t)},[v]),b=(0,c.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),r(!1);let t=e.dataTransfer.files?.[0];t&&await v(t)},[v]),x=e=>{e.preventDefault(),e.dataTransfer.dropEffect=`copy`,n||r(!0)},S=e=>{e.currentTarget.contains(e.relatedTarget)||r(!1)},C=()=>t.current?.click(),w=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())};return(0,g.jsxs)(`section`,{className:`portal-card glass-omni`,"aria-labelledby":d,"aria-describedby":f,children:[(0,g.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`phi-grid`,"aria-hidden":!0}),(0,g.jsx)(`h1`,{id:d,className:`sr-only`,children:`Drop your Kai Sigil`}),(0,g.jsxs)(`div`,{className:`portal-body`,children:[(0,g.jsxs)(`div`,{className:`dropzone ${n?`dropzone--active`:``} ${i?`dropzone--busy`:``}`,role:`button`,tabIndex:0,onKeyDown:w,onClick:C,onDrop:b,onDragOver:x,onDragLeave:S,"aria-busy":i,"aria-describedby":`${f}${l?` ${p}`:``}`,children:[(0,g.jsxs)(`div`,{className:`dropzone-ornament`,"aria-hidden":!0,children:[(0,g.jsx)(`div`,{className:`ornament-ring ornament-ring--outer`}),(0,g.jsx)(`div`,{className:`ornament-ring ornament-ring--inner`}),(0,g.jsx)(`div`,{className:`ornament-core`})]}),(0,g.jsx)(`div`,{className:`dropzone-icon`,"aria-hidden":!0,children:(0,g.jsxs)(`svg`,{width:`44`,height:`44`,viewBox:`0 0 44 44`,children:[(0,g.jsx)(`defs`,{children:(0,g.jsxs)(`linearGradient`,{id:`dzG`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#00ffd0`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#8a2be2`})]})}),(0,g.jsx)(`circle`,{cx:`22`,cy:`22`,r:`20`,fill:`none`,stroke:`url(#dzG)`,strokeWidth:`1.5`}),(0,g.jsx)(`path`,{d:`M22 12 L22 30 M14 20 L22 12 L30 20`,stroke:`url(#dzG)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}),(0,g.jsxs)(`div`,{className:`dropzone-text`,children:[(0,g.jsx)(`div`,{className:`dz-title`,children:`Inhale your Kai Sigil`}),(0,g.jsxs)(`div`,{id:f,className:`dz-hint`,children:[`Breath-minted `,(0,g.jsx)(`strong`,{children:`Φkey`}),` only. Drag & drop.`]}),o&&!i&&!l?(0,g.jsxs)(`div`,{className:`dz-file`,children:[`Selected: `,o]}):null,i?(0,g.jsxs)(`div`,{className:`dz-progress`,children:[(0,g.jsx)(`div`,{className:`dz-spinner`}),(0,g.jsx)(`span`,{children:`Verifying…`})]}):null]}),(0,g.jsx)(`input`,{ref:t,type:`file`,accept:_,onChange:y,tabIndex:-1,"aria-hidden":!0,className:`dz-input`})]}),l?(0,g.jsx)(`div`,{id:p,className:`portal-error`,role:`alert`,"aria-live":`polite`,children:l}):null,(0,g.jsx)(`p`,{className:`portal-note`,children:`Your sigil is verified by breath. No drift. Only truth.`})]}),(0,g.jsx)(`span`,{className:`sr-only`,children:`Kai Realms sigil gate ready.`})]})},y=5236,b=11,x=44;function S(e){let t=e-1715323541888,n=Math.floor(t/y);return{pulseIndex:n,stepIndex:Math.floor(n/b)%x,beatIndex:Math.floor(n/(b*x))%36}}function C(e){let t=(0,c.useRef)(null);(0,c.useEffect)(()=>{let n=setInterval(()=>{let{pulseIndex:n,stepIndex:r,beatIndex:i}=S(Date.now());n!==t.current&&(e.onPulse?.(n),n%b===0&&e.onStep?.(r),n%(b*x)===0&&e.onBeat?.(i),t.current=n)},y);return()=>clearInterval(n)},[e])}var w={Root:`#FF0033`,Sacral:`#FF8000`,Solar:`#FFD700`,Heart:`#00FF99`,Throat:`#33CCFF`,ThirdEye:`#9933FF`,Crown:`#AA00FF`};function T(e,t,n,r,i){e.save(),e.translate(n,r);let{chakraDay:a,pulse:o}=t.meta,s=w[a]??`#00FFFF`;e.beginPath(),e.arc(0,0,i+4,0,Math.PI*2),e.fillStyle=s,e.shadowColor=s,e.shadowBlur=15,e.fill(),e.beginPath(),e.arc(0,0,i,0,Math.PI*2),e.fillStyle=`#000012`,e.fill();let c=i+o%11*1.5;e.beginPath(),e.arc(0,0,c,0,Math.PI*2),e.strokeStyle=`${s}AA`,e.lineWidth=1.5,e.stroke(),e.restore()}var E=`kai:game:focus`,D=typeof window<`u`;function O(){if(!D||typeof BroadcastChannel>`u`)return null;try{return new BroadcastChannel(`kai-realms-game-focus`)}catch{return null}}function k(e){let t={id:e,ts:Date.now()};if(D)try{window.dispatchEvent(new CustomEvent(E,{detail:t}))}catch{}let n=O();if(n)try{n.postMessage({type:E,detail:t})}catch{}finally{try{n.close()}catch{}}}function A(e){let t=t=>{let n=t;n?.detail&&e(n.detail)};D&&window.addEventListener(E,t);let n=O(),r=t=>{let n=t?.data;n?.type===E&&n.detail&&e(n.detail)};if(n)try{n.addEventListener(`message`,r)}catch{}return()=>{if(D&&window.removeEventListener(E,t),n)try{n.removeEventListener(`message`,r)}catch{}finally{try{n.close()}catch{}}}}function j(e){let[t,n]=(0,c.useState)(!1),r=(0,c.useRef)(0);return(0,c.useEffect)(()=>A(t=>{n(t.id!==e),r.current=t.ts}),[e]),{paused:t,takeFocus:(0,c.useCallback)(()=>{k(e),n(!1)},[e])}}var M=5236,N=.085,P=1,F=60,I=6.1,L=5.6,ee=.1,te=1.6,R=10,ne=50,re=150,ie=10,ae=Math.floor(M*1.25),oe=.145,se=2.618,ce=M,z=M,le=1e3,ue=.12,B=44,de=.618,fe=.35,pe=3,me=`600 12px ui-sans-serif,system-ui,-apple-system`,V={up:{x:0,y:-1},down:{x:0,y:1},left:{x:-1,y:0},right:{x:1,y:0},none:{x:0,y:0}},H={up:`down`,down:`up`,left:`right`,right:`left`,none:`none`};function he(e,t,n){return e+(t-e)*n}function U(e,t){return(e-t+M)%M/M}function ge(e){let t=Math.sin(Math.PI*e);return .78+.44*(t*t)}function _e(e){let t=e.toLowerCase();return t===`arrowup`||t===`w`?`up`:t===`arrowdown`||t===`s`?`down`:t===`arrowleft`||t===`a`?`left`:t===`arrowright`||t===`d`?`right`:`none`}function W(e,t,n){let r=Math.round(n),i=Math.round(t);return r<0||r>=e.length||i<0||i>=e[0].length?!1:e[r][i]!==1}function G(e){return{x:Math.round(e.x),y:Math.round(e.y)}}function K(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}function ve(){let e=Array.from({length:23},()=>Array(27).fill(1));((t,n,r,i)=>{for(let a=n;a0&&a<22&&n>0&&n<26&&(e[a][n]=0)})(1,1,25,21);for(let t=2;t<25;t++)e[5][t]=1,e[17][t]=1;for(let t=2;t<21;t++)e[t][4]=1,e[t][22]=1;for(let t=6;t<21;t++)e[11][t]=0;for(let t=4;t<19;t++)e[t][13]=0;for(let t=1;t<22;t++)for(let n=1;n<26;n++)e[t][n]===0&&(e[t][n]=2);for(let t of[{x:6,y:6},{x:20,y:6},{x:6,y:16},{x:20,y:16}])e[t.y][t.x]=3;for(let t of[{x:2,y:2},{x:24,y:2},{x:2,y:20},{x:24,y:20}])e[t.y]?.[t.x]!==1&&(e[t.y][t.x]=4);return e}function ye(e){return{pos:{x:e.x,y:e.y},dir:`left`,next:`left`,speed:I}}function q(e,t,n){return{pos:{x:e.x,y:e.y},dir:`left`,speed:L,scatterTarget:n,mode:`chase`,frightUntil:0,color:t}}function be(e){let t=0;for(let n=0;n=.1||i>=.1)return!1;let a=0;return[`up`,`down`,`left`,`right`].forEach(t=>{W(e,n.x+V[t].x,n.y+V[t].y)&&a++}),a>=3}function we(e,t){if(t.next===`none`||t.next===t.dir)return;if(t.next===H[t.dir]){t.dir=t.next;return}let n=G(t.pos),r=Math.abs(t.pos.x-n.x),i=Math.abs(t.pos.y-n.y);r>=.12||i>=.12||W(e,n.x+V[t.next].x,n.y+V[t.next].y)&&(t.pos.x=n.x,t.pos.y=n.y,t.dir=t.next)}function Te(e,t,n,r,i){if(n===`none`)return;let a=V[n],o=t.x+a.x*r*i,s=t.y+a.y*r*i,c=e[0].length;if(o<-1){t.x=c+1;return}if(o>c+1){t.x=-1;return}if(W(e,Math.round(o),Math.round(s)))t.x=o,t.y=s;else{let e=G(t);t.x=e.x,t.y=e.y}}function Ee(e,t,n,r){let i=[`up`,`left`,`down`,`right`],a=n,o=1/0;for(let s of i){if(s===H[n])continue;let i=Math.round(t.x)+V[s].x,c=Math.round(t.y)+V[s].y;if(!W(e,i,c))continue;let l=K({x:i,y:c},r);l{let r=(0,c.useRef)(null),i=(0,c.useRef)(null),{paused:a,takeFocus:o}=j(`KaiMaze`),[s,l]=(0,c.useState)({w:0,h:0});(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect;l({w:e.width,h:e.height})}});return t.observe(e),()=>t.disconnect()},[]);let[u,d]=(0,c.useState)(e);(0,c.useEffect)(()=>d(e),[e]);let[f,p]=(0,c.useState)(()=>xe(1,performance.now())),m=(0,c.useRef)(performance.now()),[h,_]=(0,c.useState)(()=>{if(typeof window>`u`)return!1;let e=window.matchMedia?.(`(pointer: coarse)`)?.matches??!1,t=window.matchMedia?.(`(max-width: 900px)`)?.matches??!1;return e||t});(0,c.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(pointer: coarse)`),t=window.matchMedia(`(max-width: 900px)`),n=()=>_(e.matches||t.matches);return e.addEventListener?.(`change`,n),t.addEventListener?.(`change`,n),()=>{e.removeEventListener?.(`change`,n),t.removeEventListener?.(`change`,n)}},[]);let v=(0,c.useMemo)(()=>e=>Math.floor(le*(1+ue*(e-1))),[]),y=(0,c.useMemo)(()=>h&&!f.over,[h,f.over]),b=(0,c.useMemo)(()=>(h?`Tap/Swipe or D-pad`:`←↑→↓ / WASD`)+` · B/Space to Channel on ⟐ · Esc to exit`,[h]);(0,c.useEffect)(()=>{if(P>0&&u>=P){let e=u-P;d(e),t(e),o()}},[]);let x=()=>{p(e=>e.channelingUntil?{...e,channelingUntil:0}:e)};(0,c.useEffect)(()=>{let e=e=>{let t=e.key.toLowerCase(),r=_e(t);r!==`none`&&(x(),e.preventDefault(),o(),p(e=>({...e,player:{...e.player,next:r}}))),(t===`b`||t===` `)&&f.onAltar&&f.channelingUntil===0&&(o(),p(e=>({...e,channelingUntil:performance.now()+z}))),t===`escape`&&n&&n(),t===`r`&&f.over&&(o(),p(xe(1,performance.now())),m.current=performance.now())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,f.over,f.onAltar,f.channelingUntil]);let S=e=>{x(),o(),p(t=>({...t,player:{...t.player,next:e}}))},C=()=>{f.onAltar&&f.channelingUntil===0&&(o(),p(e=>({...e,channelingUntil:performance.now()+z})))};(0,c.useEffect)(()=>{let e=0,n=performance.now(),r=(e,n)=>{if(n.channelingUntil===0||!n.onAltar||e0){let e=Math.floor(a*r),i=Math.max(0,n.bankable-e),o=u+a;return d(o),t(o),{...n,scorePhi:n.scorePhi+a,bankable:i,points:i,kaiCharge:Math.max(0,Math.floor(n.kaiCharge*.5)),channelingUntil:0}}return{...n,channelingUntil:0}},i=()=>{e=requestAnimationFrame(i);let o=performance.now(),s=Math.min(1/F,(o-n)/1e3);n=o,!a&&p(e=>{if(e.over)return e;let n=structuredClone(e);if(o>=n.cycle.nextSwitchAt){let e=n.cycle.phase===`chase`?`scatter`:`chase`;n.cycle={phase:e,nextSwitchAt:o+Se(n.level,e)};for(let t of n.ghosts)t.mode!==`fright`&&(t.mode=e)}let i=U(o,m.current),a=ge(i),c=Math.min(1+n.streak*ee,te),l=Math.min(1+n.streak*oe,se),f=n.channelingUntil>0?0:n.player.speed*a*c;we(n.grid,n.player),Te(n.grid,n.player.pos,n.player.dir,f,s);let p=G(n.player.pos);n.onAltar=n.grid[p.y]?.[p.x]===4;let h=n.grid[p.y]?.[p.x]??1;if((h===2||h===3)&&n.channelingUntil===0){let e=Math.abs(i-.5)<=N,t=h===2?R:ne;if(e&&(t+=ie,n.kaiCharge=Math.min(B,n.kaiCharge+1)),t=Math.floor(t*l),n.points+=t,n.bankable=n.points,n.streak+=1,n.streak>n.bestStreak&&(n.bestStreak=n.streak),n.comboUntil=o+ae,n.grid[p.y][p.x]=0,n.pellets=Math.max(0,n.pellets-1),h===3){m.current=o;let e=Math.max(ce*Math.max(.55,1-(n.level-1)*.08),M*.5);for(let t of n.ghosts)t.mode=`fright`,t.frightUntil=o+e}}n.comboUntil>0&&o>n.comboUntil&&(n.streak=Math.max(0,Math.floor(n.streak*.5)),n.comboUntil=0);for(let e of n.ghosts){e.mode===`fright`&&o>=e.frightUntil&&(e.mode=n.cycle.phase);let t=G(n.player.pos);if(Ce(n.grid,e.pos))if(e.mode===`scatter`)e.dir=Ee(n.grid,e.pos,e.dir,e.scatterTarget);else if(e.mode===`fright`){let r=G(e.pos),i=[`up`,`down`,`left`,`right`],a=e.dir,o=-1/0;for(let s of i){if(s===H[e.dir])continue;let i=r.x+V[s].x,c=r.y+V[s].y;if(!W(n.grid,i,c))continue;let l=K({x:i,y:c},t);l>o&&(o=l,a=s)}e.dir=a}else{let r={x:t.x+V[n.player.dir].x*2,y:t.y+V[n.player.dir].y*2};e.dir=Ee(n.grid,e.pos,e.dir,r)}let r=e.mode===`fright`?he(.6,.8,Math.sin(i*Math.PI)):a,c=e.speed*r;if(c*=1.06**(n.level-1),Te(n.grid,e.pos,e.dir,c,s),K(n.player.pos,e.pos)<.4)if(e.mode===`fright`&&n.channelingUntil===0){let t=Math.floor(re*l);n.points+=t,n.bankable=n.points,n.streak+=1,n.streak>n.bestStreak&&(n.bestStreak=n.streak),n.comboUntil=o+ae,e.pos={...e.scatterTarget},e.dir=`left`,e.mode=`scatter`,e.frightUntil=0}else if(--n.lives,n.streak=0,n.comboUntil=0,n.points=Math.max(0,Math.floor(n.points*(1-fe))),n.bankable=n.points,n.channelingUntil=0,n.lives<=0)n.alive=!1,n.over=!0;else{let e={x:Math.floor(n.grid[0].length/2),y:n.grid.length-4};n.player.pos={...e},n.player.dir=`left`,n.player.next=`left`;for(let e of n.ghosts)e.mode=`scatter`;m.current=o}}if(n.pellets<=0&&!n.over){let e=v(n.level),r=Math.floor(n.bankable*.2/e);if(r>0){let i=r*e,a=Math.max(0,n.bankable-i),o=u+r;d(o),t(o),n.scorePhi+=r,n.bankable=a,n.points=a}let i=xe(n.level+1,o);i.scorePhi=n.scorePhi,i.lives=Math.max(1,n.lives),i.bestStreak=Math.max(n.bestStreak,n.streak),i.player.speed=n.player.speed*1.06;for(let e of i.ghosts)e.speed*=1.06;return m.current=o,i}return n=r(o,n),n})};return e=requestAnimationFrame(i),()=>cancelAnimationFrame(e)},[t,u,a,v]),(0,c.useEffect)(()=>{let e=0,t=()=>{e=requestAnimationFrame(t);let n=i.current,o=r.current;if(!n||!o)return;let c=n.getContext(`2d`);if(!c)return;let l=Math.max(0,s.w),d=Math.max(0,s.h);if(l===0||d===0)return;let p=Math.min(2,window.devicePixelRatio||1);(n.width!==Math.floor(l*p)||n.height!==Math.floor(d*p))&&(n.width=Math.floor(l*p),n.height=Math.floor(d*p),n.style.width=`${l}px`,n.style.height=`${d}px`),c.setTransform(p,0,0,p,0,0);let h=f.grid.length,g=f.grid[0].length,_=Math.floor(Math.min(l/g,d/h)),v=_*g,y=_*h,b=Math.floor((l-v)/2),x=Math.floor((d-y)/2),S=c.createLinearGradient(0,0,0,d);S.addColorStop(0,`#07071a`),S.addColorStop(1,`#0c1231`),c.fillStyle=S,c.fillRect(0,0,l,d),Me(c,l,d);for(let e=0;e0&&f.onAltar){let e=1-Math.max(0,f.channelingUntil-w)/z,t=l/2;c.strokeStyle=`rgba(0,255,208,0.9)`,c.lineWidth=4,c.globalAlpha=.9,c.beginPath(),c.arc(t,34,16,-Math.PI/2,-Math.PI/2+e*Math.PI*2),c.stroke(),c.globalAlpha=1,c.font=`700 12px ui-sans-serif,system-ui,-apple-system`,c.fillText(`Channeling…`,t+16+8,38)}if(a&&!f.over){c.fillStyle=`rgba(0,0,0,0.35)`,c.fillRect(0,0,l,d),c.fillStyle=`#fff`,c.font=`700 16px ui-sans-serif,system-ui,-apple-system`;let e=`Paused — another Realm is active`;c.fillText(e,(l-c.measureText(e).width)/2,d/2)}if(f.over){c.fillStyle=`rgba(0,0,0,0.55)`,c.fillRect(0,0,l,d),c.fillStyle=`#fff`,c.font=`700 20px ui-sans-serif,system-ui,-apple-system`;let e=`Game Over — Press R to restart`;c.fillText(e,(l-c.measureText(e).width)/2,d/2)}};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[f,u,s,a]);let w=f.onAltar&&f.channelingUntil===0;return(0,g.jsxs)(`div`,{className:`km-wrap`,role:`group`,"aria-label":`Kai-Maze`,onPointerDown:()=>o(),onTouchStart:()=>o(),onMouseDown:()=>o(),children:[(0,g.jsxs)(`div`,{className:`km-header`,children:[(0,g.jsx)(`div`,{className:`km-title`,children:`🌀 Kai-Maze`}),(0,g.jsx)(`div`,{className:`km-sub`,children:`Score on pulse, risk your points, then ⟐ channel to mint Φ.`})]}),(0,g.jsxs)(`div`,{className:`km-stage`,ref:r,children:[(0,g.jsx)(`canvas`,{ref:i,className:`km-canvas`}),y&&(0,g.jsxs)(`div`,{className:`km-dpad`,style:{position:`absolute`,left:12,bottom:12,width:132,height:132,display:`grid`,gridTemplateColumns:`repeat(3, 1fr)`,gridTemplateRows:`repeat(3, 1fr)`,gap:6,touchAction:`none`,userSelect:`none`,zIndex:4},"aria-label":`Directional pad`,children:[(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move up`,onPointerDown:e=>{e.preventDefault(),S(`up`)},children:`▲`}),(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move left`,onPointerDown:e=>{e.preventDefault(),S(`left`)},children:`◀`}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:{...J,opacity:.9},"aria-label":`Hold to Channel (if on altar)`,onPointerDown:e=>{e.preventDefault(),C()},title:`Channel one breath to convert points → Φ`,children:`⟐`}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move right`,onPointerDown:e=>{e.preventDefault(),S(`right`)},children:`▶`}),(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move down`,onPointerDown:e=>{e.preventDefault(),S(`down`)},children:`▼`}),(0,g.jsx)(`div`,{})]}),w&&(0,g.jsx)(`button`,{className:`km-chan-btn`,onClick:()=>{o(),p(e=>e.channelingUntil?e:{...e,channelingUntil:performance.now()+z})},"aria-label":`Channel points into Phi`,title:`Channel one breath to convert points → Φ`,children:`⟐ CHANNEL`}),f.channelingUntil>0&&(0,g.jsx)(`button`,{className:`km-chan-cancel`,onClick:()=>{o(),p(e=>({...e,channelingUntil:0}))},"aria-label":`Cancel channeling`,title:`Cancel`,children:`Cancel`})]}),(0,g.jsxs)(`div`,{className:`km-footer`,children:[(0,g.jsx)(`button`,{className:`km-btn`,onClick:n,title:`Back`,children:`Back`}),(0,g.jsx)(`div`,{className:`km-hint`,children:b})]})]})};function Oe(e,t,n,r,i){e.save(),e.fillStyle=i,e.beginPath(),e.arc(t,n,r,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(255,255,255,0.35)`,e.lineWidth=1.25,e.stroke(),e.restore()}function ke(e,t,n,r,i){e.save(),e.fillStyle=i,e.beginPath(),e.arc(t,n,r,Math.PI,0),e.lineTo(t+r,n+r*.85),e.lineTo(t-r,n+r*.85),e.closePath(),e.fill(),e.fillStyle=`#fff`,e.beginPath(),e.arc(t-r*.35,n-r*.15,r*.16,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+r*.35,n-r*.15,r*.16,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.arc(t-r*.3,n-r*.15,r*.08,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+r*.3,n-r*.15,r*.08,0,Math.PI*2),e.fill(),e.restore()}function Ae(e,t,n){let r=Math.min(460,Math.max(220,t*.5)),i=t/2,a=r/2;e.save(),e.globalAlpha=.35,e.strokeStyle=`rgba(0,255,208,.6)`,e.lineWidth=2,e.beginPath(),e.moveTo(i-a,20),e.lineTo(i+a,20),e.stroke();let o=je(r*N*2);e.globalAlpha=.2,e.fillStyle=`#ffd36e`,e.fillRect(i-o,17,o*2,6),e.globalAlpha=.9,e.fillStyle=`#00ffd0`;let s=i-a+n*r;e.beginPath(),e.arc(s,20,4,0,Math.PI*2),e.fill(),e.restore()}function je(e){return e/2}function Me(e,t,n){e.save(),e.globalAlpha=.08,e.strokeStyle=`rgba(255,255,255,0.15)`,e.lineWidth=1;let r=t/2,i=n/2,a=(1+Math.sqrt(5))/2,o=4;for(let s=0;s<8;s++){let s=Math.min(t,n)/o;e.beginPath(),e.arc(r,i,s,-Math.PI/2,Math.PI),e.stroke(),o*=a}e.restore()}var J={background:`linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04))`,border:`1px solid rgba(255,255,255,0.25)`,borderRadius:10,color:`rgba(255,255,255,0.9)`,fontSize:18,lineHeight:1,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,minWidth:36,minHeight:36,touchAction:`none`};(()=>{let e=Array.from({length:31},()=>Array.from({length:28},()=>2));for(let t=0;t<28;t++)e[0][t]=1,e[30][t]=1;for(let t=0;t<31;t++)e[t][0]=1,e[t][27]=1;for(let t=4;t<24;t+=6)for(let n=4;n<27;n+=6)e[n][t]=1,e[n][t+1]=1,e[n+1][t]=1,e[n+1][t+1]=1;for(let t=2;t<26;t++)e[15][t]=0;e[1][1]=3,e[1][26]=3,e[29][1]=3,e[29][26]=3;for(let t=2;t<29;t++)e[t][14]=0;for(let t=2;t<26;t++)e[11][t]=0;return e})();var Ne=5236,Y=3,Pe=Y*2,Fe=2,Ie=.15,Le=220,Re=60,ze=20;function Be(e){return(Math.imul(e^2654435769,2654435761)>>>0)%1e5/1e5}function Ve(e,t){let n=Math.abs(e-t)%360;return n>180&&(n=360-n),n}var He=({currentPhi:e,onPhiChange:t})=>{let[n,r]=(0,c.useState)(`forge`),[i,a]=(0,c.useState)(null),[o,s]=(0,c.useState)(performance.now()),[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(!1),[p,m]=(0,c.useState)(null),[h,_]=(0,c.useState)(0);C({onPulse:e=>{a(e),s(performance.now()),m(e=>e&&{...e,delta:e.delta})}}),(0,c.useEffect)(()=>{if(n!==`forge`)return;let e=0,t=!0,r=()=>{if(!t)return;let n=performance.now();u(Math.max(0,n-o)%Ne/Ne*360%360),e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>{t=!1,cancelAnimationFrame(e)}},[o,n]);let v=(0,c.useMemo)(()=>{let e=i??0,t=Math.floor(Be(e)*360),n=Re+(e%2==0?ze:0)-Math.min(20,Math.floor(h*6));return{centerDeg:t,halfWidthDeg:Math.max(10,n/2)}},[i,h]),y=(0,c.useMemo)(()=>n===`forge`&&!d&&e>=Y&&i!==null,[n,d,e,i]),b=(0,c.useCallback)(e=>{let t=Pe,n=1+h*Ie,r=e?Fe:1;return Math.floor(t*n*r)},[h]),x=(0,c.useCallback)(()=>{if(!y)return;let n=e-Y;t(n),f(!0),m(null);let r=Ve(l,v.centerDeg),i=Math.max(4,v.halfWidthDeg*.25),a=r<=v.halfWidthDeg,o=a&&r<=i;window.setTimeout(()=>{if(a){let e=b(o);t(n+e),_(e=>e+1),m({kind:o?`crit`:`hit`,delta:e})}else _(0),m({kind:`miss`,delta:-Y});f(!1)},650)},[y,e,t,l,v.centerDeg,v.halfWidthDeg,b]);return(0,c.useEffect)(()=>{if(n!==`forge`)return;let e=e=>{let t=e.key.toLowerCase();(t===` `||t===`enter`)&&(e.preventDefault(),x())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,x]),(0,g.jsx)(`div`,{className:`pf-wrap`,role:`group`,"aria-label":`Pulse Forge`,children:n===`forge`?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`pf-header`,children:[(0,g.jsx)(`div`,{className:`pf-title`,children:`⚒️ Pulse Forge`}),(0,g.jsx)(`div`,{className:`pf-sub`,children:`Time your lock to the target arc. Breathe, focus, forge.`}),(0,g.jsx)(`div`,{style:{marginLeft:`auto`,display:`flex`,gap:8},children:(0,g.jsx)(`button`,{type:`button`,className:`pf-lock-btn`,onClick:()=>r(`maze`),title:`Switch to Kai-Maze`,children:`Play Kai-Maze`})})]}),(0,g.jsxs)(`div`,{className:`pf-board`,children:[(0,g.jsxs)(`div`,{className:`pf-dial`,style:{width:Le,height:Le},children:[(0,g.jsx)(`div`,{className:`pf-arc`,style:{"--arc-center":`${v.centerDeg}deg`,"--arc-half":`${v.halfWidthDeg}deg`},"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`pf-marker ${d?`pf-marker--lock`:``}`,style:{transform:`rotate(${l}deg)`},"aria-hidden":!0,children:(0,g.jsx)(`div`,{className:`pf-marker-head`})}),(0,g.jsx)(`div`,{className:`pf-rim`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`pf-ticks`,"aria-hidden":!0,children:Array.from({length:12}).map((e,t)=>(0,g.jsx)(`span`,{style:{transform:`rotate(${t*30}deg)`}},t))})]}),(0,g.jsxs)(`div`,{className:`pf-hud`,children:[(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Your Φ`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Φ`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:e})]}),(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Streak`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Streak`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:h})]}),(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Pulse`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Pulse`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:i??`—`})]})]})]}),(0,g.jsxs)(`div`,{className:`pf-cta`,children:[(0,g.jsx)(`button`,{className:`pf-lock-btn`,onClick:x,disabled:!y,"aria-disabled":!y,title:y?`Press Space/Enter to Lock`:`Insufficient Φ or syncing…`,children:d?`Locking…`:`Lock (−${Y} Φ)`}),(0,g.jsxs)(`div`,{className:`pf-hint`,children:[`Press `,(0,g.jsx)(`kbd`,{children:`Space`}),` or `,(0,g.jsx)(`kbd`,{children:`Enter`}),` at the right moment. Even pulses widen the target.`]})]}),p&&(0,g.jsxs)(`div`,{className:`pf-result pf-result--${p.kind}`,role:`status`,"aria-live":`polite`,children:[p.kind===`hit`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`✅`}),(0,g.jsxs)(`span`,{className:`pf-result__text`,children:[`Resonant lock! +`,p.delta,` Φ`]})]}),p.kind===`crit`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`💥`}),(0,g.jsxs)(`span`,{className:`pf-result__text`,children:[`Perfect lock! +`,p.delta,` Φ`]})]}),p.kind===`miss`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`❌`}),(0,g.jsx)(`span`,{className:`pf-result__text`,children:`Miss — breathe again.`})]})]})]}):(0,g.jsx)(De,{currentPhi:e,onPhiChange:t,onExit:()=>r(`forge`)})})};function Ue(){return`kai-${Math.random().toString(36).slice(2,8)}`}function We(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.x==`number`&&typeof t.pulseIndex==`number`&&typeof t.chakraDay==`string`&&typeof t.glyph==`object`&&t.glyph!==null}var Ge=null;async function Ke(){return Ge||(Ge=(await a(()=>import(`./bundler-XNjIfYHv.js`),__vite__mapDeps([0,1,2]))).default,Ge)}function qe(e){let[t]=(0,c.useState)(()=>e??Ue()),[n,r]=(0,c.useState)([]),[i,a]=(0,c.useState)([]),o=(0,c.useRef)(null),s=(0,c.useRef)({}),l=(0,c.useCallback)((e,t)=>{if(!We(t))return;let n={...t,id:e,glyph:t.glyph};a(t=>{let r=t.findIndex(t=>t.id===e);if(r>=0){let e=[...t];return e[r]=n,e}return[...t,n]})},[]),u=(0,c.useCallback)((e,t)=>{We(e)&&l(t,e)},[l]);return(0,c.useEffect)(()=>{let e=!1;return(async()=>{let n=await Ke();if(e)return;let i=new n(t);o.current=i,i.on(`open`,()=>{r(e=>e)}),i.on(`connection`,e=>{s.current[e.peer]=e,r(t=>Array.from(new Set([...t,e.peer]))),e.on(`data`,t=>{u(t,e.peer)}),e.on(`close`,()=>{delete s.current[e.peer],r(t=>t.filter(t=>t!==e.peer)),a(t=>t.filter(t=>t.id!==e.peer))})})})().catch(e=>{console.error(`[KaiRealms] Peer init failed:`,e)}),()=>{e=!0;try{o.current?.destroy()}catch(e){console.warn(`[KaiRealms] Peer destroy failed:`,e)}o.current=null,s.current={},r([]),a([])}},[t,u]),{sessionId:t,peers:n,sendState:(0,c.useCallback)(e=>{let t=Object.values(s.current);for(let n of t)n.open&&n.send(e)},[]),remoteStates:i}}var Je=800,Ye=500,Xe=Je/Ye,X=28,Z=10,Ze=360,Qe=10,Q=5236,$e=.08,et=22,tt=90,nt=80,rt=2,it=4,at=10,ot=3,st=1,ct=3,lt=1,ut=1,$=(e,t,n)=>en?n:e,dt=({glyphData:e,onExit:t})=>{let n=(0,c.useRef)(null),r=(0,c.useRef)(null),i=(0,c.useRef)(null),[a,o]=(0,c.useState)({w:Je,h:Ye}),s=(0,c.useRef)(a);(0,c.useEffect)(()=>{s.current=a},[a]);let[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(0),[p,m]=(0,c.useState)(!1),[h,_]=(0,c.useState)(ot),[v,y]=(0,c.useState)(0),[b,x]=(0,c.useState)(0),[S,w]=(0,c.useState)(!1),T=(0,c.useRef)(performance.now()),{sendState:E,remoteStates:D}=qe(),O=(0,c.useRef)([]);(0,c.useEffect)(()=>{O.current=D??[]},[D]);let k=(0,c.useRef)(Je/2),A=(0,c.useRef)([]),j=(0,c.useRef)({}),M=(0,c.useRef)(null),N=(0,c.useRef)(null),P=(0,c.useRef)(null),F=(0,c.useRef)(0),I=(0,c.useRef)(0),L=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=n.current;if(!e)return;let t=new ResizeObserver(e=>{let t=e[0].contentRect,n=Math.max(320,Math.min(960,t.width));o({w:n,h:Math.round(n/Xe)})});return t.observe(e),()=>t.disconnect()},[]),(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n=Math.min(2,window.devicePixelRatio||1);e.style.width=`${a.w}px`,e.style.height=`${a.h}px`,e.width=Math.floor(a.w*n),e.height=Math.floor(a.h*n),t.setTransform(n,0,0,n,0,0),i.current=t,k.current=$(k.current,X,a.w-X)},[a]),(0,c.useEffect)(()=>{let e=e=>{j.current[e.key]=!0,e.key.toLowerCase()===`p`&&m(e=>!e),e.key.toLowerCase()===`r`&&S&&re()},t=e=>{j.current[e.key]=!1};return window.addEventListener(`keydown`,e),window.addEventListener(`keyup`,t),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`keyup`,t)}},[S]),(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=t=>{let n=e.getBoundingClientRect();return $((t-n.left)/n.width*s.current.w,X,s.current.w-X)},n=!1,i=e=>{n=!0,k.current=t(e.clientX)},a=e=>{n&&(k.current=t(e.clientX))},o=()=>{n=!1};return e.addEventListener(`pointerdown`,i),e.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o),()=>{e.removeEventListener(`pointerdown`,i),e.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o)}},[]);let ee=e=>Math.max(0,e-T.current)%Q/Q,te=e=>{let t=Math.sin(Math.PI*e);return .65+.7*(t*t)},R=e=>{let{w:t}=s.current,n=performance.now(),r=Math.random()*(t-2*Z)+Z,i=-Z*2,a=(Math.random()-.5)*40,o=(e===`gold`?nt:tt)+v*(at*.2),c={id:`${e}-${n}-${Math.floor(Math.random()*1e6)}`,x:r,y:i,vx:a,baseVy:o,kind:e,bornAt:n},l=A.current.slice(-(et-1));l.push(c),A.current=l};C({onPulse:e=>{f(e),T.current=performance.now(),I.current+=1;for(let e=0;e{let n=P.current,r=k.current,i=d;if(!n||Math.abs(n.x-r)>=1||n.pulseIndex!==i||t-F.current>1e3/Qe){P.current={x:r,pulseIndex:i},F.current=t;try{E({id:`you`,x:r,pulseIndex:i,chakraDay:e.meta.chakraDay,glyph:e})}catch{}}};(0,c.useEffect)(()=>{let t=r.current,n=i.current;if(!t||!n)return;let a=!0,o=t=>{if(!a)return;M.current=requestAnimationFrame(o);let r=N.current??t,i=Math.min(.05,(t-r)/1e3);N.current=t;let{w:c,h:l}=s.current,d=l-X-10;if(!p&&!S){let e=j.current,n=!!(e.ArrowLeft||e.a||e.A),r=!!(e.ArrowRight||e.d||e.D);n&&(k.current=$(k.current-Ze*i,X,c-X)),r&&(k.current=$(k.current+Ze*i,X,c-X));let a=k.current,o=performance.now(),s=ee(o),f=te(s),p=[],m=0,h=0,g=0;for(let e=0;ec-Z&&(t.x=c-Z,t.vx=-Math.abs(t.vx)*.9);let r=t.x-a,u=t.y-d;if(Math.hypot(r,u)l+Z){g+=1;continue}p.push(t)}if(m>0||h>0){let e=m+h;u(t=>t+e),y(e=>{let t=e+1;return x(e=>t>e?t:e),t})}g>0&&(u(e=>Math.max(0,e-st*g)),y(0),_(e=>{let t=Math.max(0,e-g);return t===0&&w(!0),t})),A.current=p,ne(t)}ft(n,e,k.current,d,p||S,A.current,O.current,s.current,T.current,L.current)};return M.current=requestAnimationFrame(o),()=>{a=!1,M.current!==null&&cancelAnimationFrame(M.current),M.current=null,N.current=null}},[e,p,S,a.w,a.h]);let re=()=>{A.current=[],_(ot),y(0),x(e=>e),w(!1)},ie=(0,c.useMemo)(()=>({pulse:d,chakraDay:e?.meta?.chakraDay??`—`}),[d,e?.meta?.chakraDay]);return(0,g.jsxs)(`div`,{className:`realm-wrap`,ref:n,children:[(0,g.jsxs)(`div`,{className:`realm-hud`,children:[(0,g.jsxs)(`div`,{className:`hud-chip hud-chip--score`,title:`Banked Φ`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Φ`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:l})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Streak`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Streak`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:v})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Lives`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Lives`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:h})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Current Pulse`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Pulse`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:ie.pulse})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Chakra Day`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Day`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:ie.chakraDay})]}),(0,g.jsx)(`button`,{className:`hud-button`,onClick:()=>m(e=>!e),"aria-pressed":p,title:`Pause (P)`,children:p?`Resume`:`Pause`})]}),(0,g.jsxs)(`div`,{className:`realm-canvas-wrap`,children:[(0,g.jsx)(`canvas`,{ref:r,className:`realm-canvas`,"aria-label":`Kai Realms Canvas`}),(p||S)&&(0,g.jsx)(`div`,{className:`realm-pause-overlay`,"aria-hidden":!0,children:(0,g.jsxs)(`div`,{className:`pause-card`,children:[(0,g.jsx)(`div`,{className:`pause-title`,children:S?`Game Over`:`Paused`}),(0,g.jsx)(`div`,{className:`pause-sub`,children:S?(0,g.jsxs)(g.Fragment,{children:[`Best Streak: `,(0,g.jsx)(`strong`,{children:b}),` — Press `,(0,g.jsx)(`kbd`,{children:`R`}),` to Restart`]}):(0,g.jsxs)(g.Fragment,{children:[`Press `,(0,g.jsx)(`kbd`,{children:`P`}),` or click Resume`]})}),S&&(0,g.jsx)(`button`,{className:`hud-button`,onClick:re,style:{marginTop:12},children:`Restart`})]})})]}),(0,g.jsx)(He,{currentPhi:l,onPhiChange:e=>u(e)}),(0,g.jsx)(`button`,{className:`exit-button`,onClick:t,children:`Exit Realm`})]})};function ft(e,t,n,r,i,a,o,s,c,l){let{w:u,h:d}=s,f=e.createLinearGradient(0,0,0,d);f.addColorStop(0,`#020211`),f.addColorStop(1,`#0b0f2a`),e.fillStyle=f,e.fillRect(0,0,u,d),e.save(),e.globalAlpha=.12;for(let t=0;t<40;t++){let n=t*197%u+t%3,r=t*127%d+t*11%7;e.fillStyle=`white`,e.fillRect(n,r,2,2)}e.restore(),pt(e,u,Math.max(36,Math.round(d*.06)),c);for(let t=0;t{let[n,r]=(0,c.useState)(null),i=(0,c.useRef)(null),a=(0,c.useRef)(null),o=(0,c.useCallback)(e=>r(e),[]),s=(0,c.useCallback)(()=>{r(null),t?.()},[t]);(0,c.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t?.()};return document.addEventListener(`keydown`,e),a.current?.focus(),()=>document.removeEventListener(`keydown`,e)},[t]),(0,c.useEffect)(()=>{let e=i.current;if(!e)return;let t=e=>e.stopPropagation();return e.addEventListener(`wheel`,t,{passive:!0}),()=>e.removeEventListener(`wheel`,t)},[]);let l=()=>t?.(),u=e=>e.stopPropagation();return(0,g.jsxs)(`div`,{className:`realms-backdrop realms-veil`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`kai-realms-title`,onMouseDown:l,children:[(0,g.jsx)(`div`,{className:`realms-stars`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`realms-halo realms-halo--1`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`realms-halo realms-halo--2`,"aria-hidden":!0}),(0,g.jsxs)(`div`,{ref:i,className:`realms-container glass-omni`,onMouseDown:u,role:`document`,children:[(0,g.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`phi-grid`,"aria-hidden":!0}),(0,g.jsxs)(`header`,{className:`realms-header`,children:[(0,g.jsx)(`button`,{ref:a,type:`button`,className:`realms-close auric-btn`,"aria-label":`Close Kai Realms`,onClick:e=>{e.stopPropagation(),t?.()},onMouseDown:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t?.())},children:(0,g.jsx)(e,{size:20,"aria-hidden":!0})}),(0,g.jsx)(`div`,{className:`header-seals`,"aria-hidden":!0,children:(0,g.jsxs)(`div`,{className:`seal-emblem`,children:[(0,g.jsx)(`div`,{className:`seal-ring`}),(0,g.jsx)(`div`,{className:`seal-ring seal-ring--inner`}),(0,g.jsx)(`div`,{className:`seal-core`})]})}),(0,g.jsx)(`h2`,{id:`kai-realms-title`,className:`sr-only`,children:`Kai Realms — Sigil Gate`})]}),(0,g.jsx)(`main`,{className:`realms-body`,children:n?(0,g.jsx)(`div`,{className:`realm-stage`,children:(0,g.jsx)(dt,{glyphData:n,onExit:s})}):(0,g.jsx)(`div`,{className:`portal-stage`,children:(0,g.jsx)(v,{onEnter:o})})}),(0,g.jsx)(`footer`,{className:`realms-footer`,"aria-hidden":!0,children:(0,g.jsx)(`div`,{className:`footer-center`,style:{margin:`0 auto`},children:(0,g.jsx)(gt,{})})})]})]})};function gt(){return(0,g.jsxs)(`svg`,{className:`seal-coin`,width:`56`,height:`56`,viewBox:`0 0 56 56`,"aria-hidden":!0,children:[(0,g.jsxs)(`defs`,{children:[(0,g.jsxs)(`radialGradient`,{id:`coinGlowRealms`,cx:`50%`,cy:`50%`,r:`50%`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#ffffff`,stopOpacity:`0.9`}),(0,g.jsx)(`stop`,{offset:`40%`,stopColor:`#ffd86b`,stopOpacity:`0.75`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#ffd86b`,stopOpacity:`0.15`})]}),(0,g.jsxs)(`linearGradient`,{id:`coinEdgeRealms`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#00ffd0`,stopOpacity:`0.8`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#8a2be2`,stopOpacity:`0.8`})]})]}),(0,g.jsx)(`circle`,{cx:`28`,cy:`28`,r:`26`,fill:`url(#coinGlowRealms)`,stroke:`url(#coinEdgeRealms)`,strokeWidth:`1.5`}),(0,g.jsxs)(`g`,{className:`seal-coin__rotor`,children:[(0,g.jsx)(`circle`,{cx:`28`,cy:`28`,r:`18`,fill:`none`,stroke:`url(#coinEdgeRealms)`,strokeWidth:`1.25`}),(0,g.jsxs)(`g`,{stroke:`rgba(255,255,255,0.35)`,strokeWidth:`0.6`,children:[(0,g.jsx)(`line`,{x1:`28`,y1:`10`,x2:`28`,y2:`46`}),(0,g.jsx)(`line`,{x1:`10`,y1:`28`,x2:`46`,y2:`28`}),(0,g.jsx)(`line`,{x1:`15`,y1:`15`,x2:`41`,y2:`41`}),(0,g.jsx)(`line`,{x1:`41`,y1:`15`,x2:`15`,y2:`41`})]})]}),(0,g.jsx)(`circle`,{className:`seal-coin__core`,cx:`28`,cy:`28`,r:`6.5`})]})}export{ht as default}; \ No newline at end of file diff --git a/dist/assets/KaiVohApp-B-w8VCRx.js b/dist/assets/KaiVohApp-5AHr3VoS.js similarity index 99% rename from dist/assets/KaiVohApp-B-w8VCRx.js rename to dist/assets/KaiVohApp-5AHr3VoS.js index d292ba494..8ea53c412 100644 --- a/dist/assets/KaiVohApp-B-w8VCRx.js +++ b/dist/assets/KaiVohApp-5AHr3VoS.js @@ -1,4 +1,4 @@ -import{$ as e,Et as t,Hr as n,Jr as r,Lt as i,On as a,Pr as o,Qn as s,Rr as c,Rt as l,Ur as u,Vt as d,Wr as f,Xn as p,Zn as m,a as h,ar as g,at as _,c as v,ci as y,cr as b,ct as x,d as S,dr as C,dt as w,et as T,f as E,fr as D,ft as O,ir as k,it as A,l as j,lr as ee,lt as te,m as M,nt as N,o as P,or as ne,ot as F,p as re,pi as I,pr as L,rt as R,s as ie,si as z,sr as ae,st as oe,tr as se,tt as B,ur as ce,ut as V,w as le,zn as ue,zr as de}from"./index-BfXtjgZ1.js";import{n as H,t as fe}from"./webauthnKAS-CfTQ1nee.js";import"./prop-types-DLoCx3ki.js";import{n as pe}from"./SigilAuthContext-DxAUceu4.js";import{d as U,t as me}from"./ticker-DSh75-xJ.js";import{i as W,n as he,r as ge,t as _e}from"./sessionStorage-2Nr46eZD.js";import{i as ve,r as ye}from"./postSeal-DGeRGc3h.js";import{t as be}from"./VerifierFrame-DPCnuxaa.js";var G=I(z(),1);const xe=(0,G.createContext)(void 0);var K=I(d(),1);function Se({children:e}){let[t,n]=(0,G.useState)(()=>ge());(0,G.useEffect)(()=>{t?W(t):he()},[t]),(0,G.useEffect)(()=>{let e=e=>{e.key!==null&&e.key===`kai.voh.session.v1`&&n(ge())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let r=(0,G.useMemo)(()=>({session:t,setSession:e=>n(e),clearSession:()=>n(null)}),[t]);return(0,K.jsx)(xe.Provider,{value:r,children:e})}function q(){let e=(0,G.useContext)(xe);if(!e)throw Error(`useSession must be used within a SessionProvider`);return e}var Ce=[`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`,`video/mp4;codecs=h264,aac`,`video/mp4`],J=typeof window<`u`&&`MediaRecorder`in window;async function we(e){let t=await crypto.subtle.digest(`SHA-256`,e),n=new Uint8Array(t),r=``;for(let e=0;eTe(),[]);(0,G.useEffect)(()=>{if(t)return(async()=>{s(null),l(!0);try{await j()}catch(e){s(e instanceof Error?e.message:`Failed to access camera.`)}finally{l(!1)}})(),()=>{ee()}},[t,u,f]),(0,G.useEffect)(()=>{t&&te().catch(()=>_(!1))},[t,u]);async function j(){ee();let e={audio:{echoCancellation:!0,noiseSuppression:!0},video:{facingMode:u,width:{ideal:1080},height:{ideal:1920},frameRate:{ideal:30,max:60}}},t=await navigator.mediaDevices.getUserMedia(e);w.current=t,T.current&&(T.current.srcObject=t,T.current.muted=!0,await T.current.play().catch(()=>{})),await M(m&&g)}function ee(){if(I(!0),T.current&&(T.current.pause(),T.current.srcObject=null),w.current)for(let e of w.current.getTracks())e.stop();w.current=null,h(!1),y(!1),x(0),C(0),k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)}async function te(){let e=w.current;if(!e){_(!1);return}let[t]=e.getVideoTracks();if(!t){_(!1);return}let n=t.getCapabilities?.()??{};_(!!(typeof n.torch==`boolean`&&n.torch)&&u===`environment`)}async function M(e){let t=w.current;if(!t)return;let[n]=t.getVideoTracks();if(!(!n||!n.applyConstraints))try{g&&u===`environment`&&await n.applyConstraints({advanced:[{torch:e}]})}catch{}}function N(){d(e=>e===`user`?`environment`:`user`)}function P(){p(e=>!e)}async function ne(){if(!g)return;let e=!m;h(e),await M(e)}function F(){if(!v)return;let e=performance.now()-O.current;if(C(e),x(Math.min(1,e/i)),e>=i){I(!1);return}k.current=requestAnimationFrame(F)}function re(){if(!J){s(`MediaRecorder is not supported on this browser.`);return}if(v)return;s(null);let e=w.current;if(!e){s(`No camera stream.`);return}for(let t of e.getAudioTracks())t.enabled=!f;let t=A??``,n;try{n=t?new MediaRecorder(e,{mimeType:t,videoBitsPerSecond:35e5}):new MediaRecorder(e)}catch{n=new MediaRecorder(e)}E.current=n,D.current=[],n.ondataavailable=e=>{e.data&&e.data.size>0&&D.current.push(e.data)},n.onstop=()=>{L()},n.start(250),y(!0),O.current=performance.now(),k.current=requestAnimationFrame(F)}function I(e){if(!v)return;let t=E.current;if(t){try{t.state!==`inactive`&&t.stop()}catch{}y(!1),k.current!==null&&(cancelAnimationFrame(k.current),k.current=null),e&&(D.current=[],x(0),C(0))}}async function L(){let e=D.current;if(D.current=[],!e.length)return;let t=Math.max(0,S),n=E.current?.mimeType||A||`video/webm`,i=new Blob(e,{type:n}),a=Date.now(),{width:o,height:s,thumbnailDataUrl:c}=await R(i),l=await we(await i.arrayBuffer()),u=`story_${a}.${n.includes(`mp4`)?`mp4`:`webm`}`;r({blob:i,file:new File([i],u,{type:n,lastModified:a}),mimeType:n,durationMs:t,width:o,height:s,thumbnailDataUrl:c,sha256:l,createdAt:a})}async function R(e){let t=URL.createObjectURL(e);try{let e=document.createElement(`video`);e.src=t,e.muted=!0,await e.play().catch(()=>void 0),await new Promise(t=>{let n=()=>{e.pause(),e.currentTime=0},r=()=>{n(),t()};e.onloadeddata=r,setTimeout(r,250)});let n=e.videoWidth||1080,r=e.videoHeight||1920,i=document.createElement(`canvas`);i.width=n,i.height=r;let a=i.getContext(`2d`);return a&&a.drawImage(e,0,0,n,r),{width:n,height:r,thumbnailDataUrl:i.toDataURL(`image/png`,.9)}}finally{URL.revokeObjectURL(t)}}function ie(){v||re()}function z(){v&&I(!1)}function ae(){v?I(!1):re()}return t?(0,K.jsxs)(`div`,{className:`story-rec-overlay`,role:`dialog`,"aria-modal":`true`,"aria-label":`Story recorder`,children:[(0,K.jsx)(`div`,{className:`story-rec-video-wrap`,children:(0,K.jsx)(`video`,{ref:T,className:`story-rec-video ${u===`user`?`mirror`:``}`,playsInline:!0})}),(0,K.jsxs)(`div`,{className:`story-rec-topbar`,children:[(0,K.jsx)(`button`,{type:`button`,className:`story-btn top left`,"aria-label":`Close`,onClick:()=>{ee(),n()},children:`✕`}),(0,K.jsx)(`div`,{className:`story-top-center`,children:(0,K.jsxs)(`div`,{className:`story-timer mono`,children:[De(S),` / `,De(i)]})}),(0,K.jsxs)(`div`,{className:`story-top-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`story-btn ${f?`active`:``}`,"aria-pressed":f,"aria-label":f?`Unmute microphone`:`Mute microphone`,onClick:P,title:f?`Unmute mic`:`Mute mic`,children:f?`🔇`:`🎙️`}),(0,K.jsx)(`button`,{type:`button`,className:`story-btn ${u===`environment`&&g?``:`disabled`}`,disabled:!(u===`environment`&&g),onClick:()=>void ne(),"aria-label":`Toggle torch`,title:g?m?`Torch on`:`Torch off`:`Torch not supported`,children:m?`🔦`:`💡`}),(0,K.jsx)(`button`,{type:`button`,className:`story-btn`,"aria-label":`Flip camera`,onClick:N,title:`Flip camera`,children:`🔁`})]})]}),(0,K.jsxs)(`div`,{className:`story-rec-bottombar`,children:[(0,K.jsx)(`div`,{className:`record-wrap`,children:(0,K.jsxs)(`button`,{type:`button`,className:`record-btn ${v?`recording`:``}`,"aria-pressed":v,"aria-label":v?`Stop recording`:`Start recording`,onClick:ae,onPointerDown:ie,onPointerUp:z,onPointerLeave:z,children:[(0,K.jsx)(`span`,{className:`progress-ring`,style:{background:`conic-gradient(currentColor ${b*360}deg, transparent 0)`}}),(0,K.jsx)(`span`,{className:`dot`})]})}),o&&(0,K.jsx)(`div`,{className:`story-rec-error`,children:o}),c&&(0,K.jsx)(`div`,{className:`story-rec-hint`,children:`Initializing camera…`})]})]}):null}function De(e){let t=Math.floor(e/1e3);return`${Math.floor(t/60).toString().padStart(2,`0`)}:${(t%60).toString().padStart(2,`0`)}`}var Y={phiKey:[`userPhiKey`,`phiKey`,`phikey`,`ΦKey`,`walletPhiKey`],kaiSig:[`kaiSignature`,`kaiSig`,`ksig`,`ΣSig`,`sig`,`signature`],sigilId:[`sigilId`,`sigilID`,`glyphId`,`glyphID`,`sigil_id`,`glyph_id`],url:[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`url`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`link`,`href`]};function Oe(e){if(typeof e!=`string`||!e.trim())return!1;try{let t=new URL(e,globalThis.location?.origin??`https://example.org`);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}}function X(e,t){if(typeof e!=`object`||!e)return;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim())return t.trim()}let r=n.meta;if(typeof r==`object`&&r){let e=r;for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim()}}}function ke(e){return e.replace(/^$/,``).trim()}function Ae(e){let t=e.trim();if(!t)return;try{let e=JSON.parse(t);if(typeof e==`object`&&e)return e}catch{}let n=t.match(/\{[\s\S]*\}/);if(n)try{let e=JSON.parse(n[0]);if(typeof e==`object`&&e)return e}catch{}}function je(e,t){let n=RegExp(`${t}"?\\s*[:=]\\s*"?([^"\\n\\r<>{}]+)"?`,`i`),r=e.match(n);if(r)return(r[1]??``).trim()||void 0}function Me(e){let t={};for(let n of Y.phiKey){let r=je(e,n);if(r){t.userPhiKey=r;break}}for(let n of Y.kaiSig){let r=je(e,n);if(r){t.kaiSignature=r;break}}for(let n of Y.sigilId){let r=je(e,n);if(r){t.sigilId=r;break}}for(let n of Y.url){let r=je(e,n);if(r&&Oe(r))return t.actionUrl=r,t}let n=e.match(/https?:\/\/[^\s"'<>)#]+/i);return n&&Oe(n[0])&&(t.actionUrl=n[0]),t}function Ne(e,t){return{userPhiKey:e.userPhiKey??t.userPhiKey,kaiSignature:e.kaiSignature??t.kaiSignature,sigilId:e.sigilId??t.sigilId,actionUrl:e.actionUrl??t.actionUrl,meta:e.meta??t.meta}}function Pe(e){let t=(e??``).trim();if(!t)return{};try{let e=new DOMParser().parseFromString(t,`image/svg+xml`),n=e.getElementsByTagName(`parsererror`);if(n&&n.length>0)return Me(t);let r=e.documentElement,i={};if(r&&r.attributes)for(let e of Array.from(r.attributes))i[e.name]=e.value;let a={userPhiKey:X(i,Y.phiKey),kaiSignature:X(i,Y.kaiSig),sigilId:X(i,Y.sigilId),actionUrl:(()=>{let e=X(i,Y.url);return e&&Oe(e)?e:void 0})(),meta:void 0},o=Array.from(e.getElementsByTagName(`metadata`));for(let e of o){let t=ke((e.textContent??``).trim());if(!t)continue;let n=Ae(t);if(n){let e={userPhiKey:X(n,Y.phiKey),kaiSignature:X(n,Y.kaiSig),sigilId:X(n,Y.sigilId),actionUrl:(()=>{let e=X(n,Y.url);return e&&Oe(e)?e:void 0})(),meta:n};if(a=Ne(a,e),a.userPhiKey&&a.kaiSignature)return a}else a=Ne(a,Me(t))}for(let t of Array.from(e.getElementsByTagName(`desc`))){let e=ke((t.textContent??``).trim());if(!e)continue;let n=Ae(e);if(n){let e={userPhiKey:X(n,Y.phiKey),kaiSignature:X(n,Y.kaiSig),sigilId:X(n,Y.sigilId),actionUrl:(()=>{let e=X(n,Y.url);return e&&Oe(e)?e:void 0})(),meta:n};a=Ne(a,e)}else a=Ne(a,Me(e));if(a.userPhiKey&&a.kaiSignature)return a}for(let t of Array.from(e.getElementsByTagName(`a`))){let e=t.getAttribute(`href`)||t.getAttribute(`xlink:href`);if(e&&Oe(e)){a.actionUrl=a.actionUrl??e;break}}return(!a.userPhiKey||!a.kaiSignature)&&(a=Ne(a,Me(t))),a}catch{return Me(t)}}var Fe=new TextEncoder;function Ie(){if(typeof crypto>`u`||!crypto.subtle)throw Error(`WebCrypto subtle unavailable`);return crypto.subtle}function Le(e){if(e.buffer instanceof ArrayBuffer)return e;let t=new Uint8Array(e.byteLength);return t.set(e),t}function Re(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`).trim();if(!/^[A-Za-z0-9+/]*={0,2}$/.test(t))throw Error(`Invalid base64/base64url`);let n=(4-t.length%4)%4,r=t+`=`.repeat(n),i=new Int16Array(128).fill(-1);for(let e=0;e<64;e++)i[`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charCodeAt(e)]=e;let a=Math.floor(r.length*3/4)-(r.endsWith(`==`)?2:r.endsWith(`=`)?1:0),o=new Uint8Array(a),s=0;for(let e=0;e>>16&255),s>>8&255),s>>18&63]+t[r>>>12&63]+t[r>>>6&63]+t[r&63])}let a=r-i;if(a===1){let r=e[i]<<16;n.push(t[r>>>18&63]+t[r>>>12&63]+`==`)}else if(a===2){let r=e[i]<<16|e[i+1]<<8;n.push(t[r>>>18&63]+t[r>>>12&63]+t[r>>>6&63]+`=`)}return n.join(``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function Be(e){let t=e.trim().toLowerCase();if(!/^[0-9a-f]+$/.test(t)||t.length%2!=0)throw Error(`Invalid hex`);let n=new Uint8Array(t.length/2);for(let e=0;e=32&&t.length%2==0&&/^[0-9a-fA-F]+$/.test(t)}function He(e){let t=e.trim();return t.length>=16&&/^[A-Za-z0-9\-_]+$/.test(t)}function Ue(e){let t=e.trim();if(!t)throw Error(`Empty kaiSignature`);if(Ve(t))return Be(t);if(He(t))try{return Re(t)}catch{}return Le(Fe.encode(t))}async function We(e){let t=Ie(),n=await t.importKey(`raw`,e.ikm,{name:`HKDF`},!1,[`deriveBits`]),r=await t.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:e.salt,info:e.info},n,e.bits);return new Uint8Array(r)}async function Ge(e){let t=Le(Ue(e.baseKaiSignature)),n=Le(Re(e.salt_b64url)),r=(e.context??`KaiVoh.deriveKaiSignature.v1`).trim();return await We({ikm:t,salt:n,info:Le(Fe.encode(r)),bits:256})}async function Ke(e){return ze(await Ge(e))}function qe(){return(0,K.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`ico`,"aria-hidden":`true`,focusable:`false`,children:[(0,K.jsx)(`rect`,{x:`3`,y:`6`,width:`14`,height:`12`,rx:`3`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`circle`,{cx:`10`,cy:`12`,r:`3`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`path`,{d:`M17 9l4-2v10l-4-2z`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`circle`,{cx:`18.5`,cy:`5.5`,r:`2.5`,fill:`currentColor`})]})}function Je(){return(0,K.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`ico`,"aria-hidden":`true`,focusable:`false`,children:[(0,K.jsx)(`path`,{d:`M3 6h18M9 6V4h6v2M7 6l1 14h8l1-14`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`path`,{d:`M10 10v6M14 10v6`,stroke:`currentColor`,strokeWidth:`2`})]})}var Ye=6e3,Xe=1024,Ze=1024*Xe,Qe=e=>e>=Ze?`${(e/Ze).toFixed(2)} MB`:e>=Xe?`${(e/Xe).toFixed(2)} KB`:`${e} B`,$e=(e,t=8,n=6)=>e.length<=t+n?e:`${e.slice(0,t)}…${e.slice(-n)}`,et=e=>{if(typeof e!=`string`||!e)return!1;try{let t=new URL(e,globalThis.location?.origin??`https://example.org`);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}};function tt(e){try{let t=new URL(e,globalThis.location?.origin??`https://example.org`),n=new URLSearchParams(t.hash.replace(/^#/,``)).has(`t`),r=new URLSearchParams(t.search).has(`p`),i=t.pathname,a=/^\/(?:stream|feed)\/p\/[^/]+$/.test(i),o=/^\/p~[^/?#]+$/.test(i);return n||r||a||o}catch{return!1}}function nt(e){let t=new Uint8Array(e),n=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,r=[],i=t.length,a=0;for(;a+2>>18&63]+n[e>>>12&63]+n[e>>>6&63]+n[e&63])}let o=i-a;if(o===1){let e=t[a]<<16;r.push(n[e>>>18&63]+n[e>>>12&63]+`==`)}else if(o===2){let e=t[a]<<16|t[a+1]<<8;r.push(n[e>>>18&63]+n[e>>>12&63]+n[e>>>6&63]+`=`)}return r.join(``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function Z(e,t){if(typeof e!=`object`||!e)return;let n=e,r=n[t];if(typeof r==`string`)return r;let i=n.meta;if(typeof i==`object`&&i){let e=i[t];if(typeof e==`string`)return e}}function rt(e,t){if(typeof e!=`object`||!e)return;let n=e,r=n[t];if(typeof r==`number`&&Number.isFinite(r))return r;let i=n.meta;if(typeof i==`object`&&i){let e=i[t];if(typeof e==`number`&&Number.isFinite(e))return e}}function it(e,t){if(!e)return;let n=[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`url`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`link`,`href`];if(t)for(let e of n){let n=t[e];if(et(n))return n}try{let t=new DOMParser().parseFromString(e,`image/svg+xml`);for(let e of Array.from(t.getElementsByTagName(`metadata`))){let t=(e.textContent??``).trim();if(!t)continue;let r=t.replace(/^$/,``);try{let e=JSON.parse(r);if(typeof e==`object`&&e)for(let t of n){let n=e[t];if(et(n))return n}}catch{let e=r.match(/https?:\/\/[^\s"'<>)#]+/i);if(e&&et(e[0]))return e[0]}}for(let e of Array.from(t.getElementsByTagName(`a`))){let t=e.getAttribute(`href`)||e.getAttribute(`xlink:href`);if(et(t))return t}}catch{}}async function at(e,t,n={}){let r=n.cacheName??`sigil-attachments-v1`,i=(n.pathPrefix??`/att/`).replace(/\/+$/,``)+`/`;try{if(!(`caches`in globalThis)||typeof caches.open!=`function`)return;let n=await caches.open(r),a=`${i}${e}`;return await n.put(new Request(a,{method:`GET`}),new Response(t,{headers:{"Content-Type":t.type||`application/octet-stream`}})),a}catch{return}}function ot(e){let t=Math.floor(e/1e3);return`${Math.floor(t/60).toString().padStart(2,`0`)}:${(t%60).toString().padStart(2,`0`)}`}function st(e){let t=e.indexOf(` +import{$ as e,Et as t,Hr as n,Jr as r,Lt as i,On as a,Pr as o,Qn as s,Rr as c,Rt as l,Ur as u,Vt as d,Wr as f,Xn as p,Zn as m,a as h,ar as g,at as _,c as v,ci as y,cr as b,ct as x,d as S,dr as C,dt as w,et as T,f as E,fr as D,ft as O,ir as k,it as A,l as j,lr as ee,lt as te,m as M,nt as N,o as P,or as ne,ot as F,p as re,pi as I,pr as L,rt as R,s as ie,si as z,sr as ae,st as oe,tr as se,tt as B,ur as ce,ut as V,w as le,zn as ue,zr as de}from"./index-DtFxxvye.js";import{n as H,t as fe}from"./webauthnKAS-Dx6bJ651.js";import"./prop-types-YkQRgLAR.js";import{n as pe}from"./SigilAuthContext-OFGaeRDv.js";import{d as U,t as me}from"./ticker-DQftO_Mf.js";import{i as W,n as he,r as ge,t as _e}from"./sessionStorage-2Nr46eZD.js";import{i as ve,r as ye}from"./postSeal-DGeRGc3h.js";import{t as be}from"./VerifierFrame-C3wusEJg.js";var G=I(z(),1);const xe=(0,G.createContext)(void 0);var K=I(d(),1);function Se({children:e}){let[t,n]=(0,G.useState)(()=>ge());(0,G.useEffect)(()=>{t?W(t):he()},[t]),(0,G.useEffect)(()=>{let e=e=>{e.key!==null&&e.key===`kai.voh.session.v1`&&n(ge())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let r=(0,G.useMemo)(()=>({session:t,setSession:e=>n(e),clearSession:()=>n(null)}),[t]);return(0,K.jsx)(xe.Provider,{value:r,children:e})}function q(){let e=(0,G.useContext)(xe);if(!e)throw Error(`useSession must be used within a SessionProvider`);return e}var Ce=[`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`,`video/mp4;codecs=h264,aac`,`video/mp4`],J=typeof window<`u`&&`MediaRecorder`in window;async function we(e){let t=await crypto.subtle.digest(`SHA-256`,e),n=new Uint8Array(t),r=``;for(let e=0;eTe(),[]);(0,G.useEffect)(()=>{if(t)return(async()=>{s(null),l(!0);try{await j()}catch(e){s(e instanceof Error?e.message:`Failed to access camera.`)}finally{l(!1)}})(),()=>{ee()}},[t,u,f]),(0,G.useEffect)(()=>{t&&te().catch(()=>_(!1))},[t,u]);async function j(){ee();let e={audio:{echoCancellation:!0,noiseSuppression:!0},video:{facingMode:u,width:{ideal:1080},height:{ideal:1920},frameRate:{ideal:30,max:60}}},t=await navigator.mediaDevices.getUserMedia(e);w.current=t,T.current&&(T.current.srcObject=t,T.current.muted=!0,await T.current.play().catch(()=>{})),await M(m&&g)}function ee(){if(I(!0),T.current&&(T.current.pause(),T.current.srcObject=null),w.current)for(let e of w.current.getTracks())e.stop();w.current=null,h(!1),y(!1),x(0),C(0),k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)}async function te(){let e=w.current;if(!e){_(!1);return}let[t]=e.getVideoTracks();if(!t){_(!1);return}let n=t.getCapabilities?.()??{};_(!!(typeof n.torch==`boolean`&&n.torch)&&u===`environment`)}async function M(e){let t=w.current;if(!t)return;let[n]=t.getVideoTracks();if(!(!n||!n.applyConstraints))try{g&&u===`environment`&&await n.applyConstraints({advanced:[{torch:e}]})}catch{}}function N(){d(e=>e===`user`?`environment`:`user`)}function P(){p(e=>!e)}async function ne(){if(!g)return;let e=!m;h(e),await M(e)}function F(){if(!v)return;let e=performance.now()-O.current;if(C(e),x(Math.min(1,e/i)),e>=i){I(!1);return}k.current=requestAnimationFrame(F)}function re(){if(!J){s(`MediaRecorder is not supported on this browser.`);return}if(v)return;s(null);let e=w.current;if(!e){s(`No camera stream.`);return}for(let t of e.getAudioTracks())t.enabled=!f;let t=A??``,n;try{n=t?new MediaRecorder(e,{mimeType:t,videoBitsPerSecond:35e5}):new MediaRecorder(e)}catch{n=new MediaRecorder(e)}E.current=n,D.current=[],n.ondataavailable=e=>{e.data&&e.data.size>0&&D.current.push(e.data)},n.onstop=()=>{L()},n.start(250),y(!0),O.current=performance.now(),k.current=requestAnimationFrame(F)}function I(e){if(!v)return;let t=E.current;if(t){try{t.state!==`inactive`&&t.stop()}catch{}y(!1),k.current!==null&&(cancelAnimationFrame(k.current),k.current=null),e&&(D.current=[],x(0),C(0))}}async function L(){let e=D.current;if(D.current=[],!e.length)return;let t=Math.max(0,S),n=E.current?.mimeType||A||`video/webm`,i=new Blob(e,{type:n}),a=Date.now(),{width:o,height:s,thumbnailDataUrl:c}=await R(i),l=await we(await i.arrayBuffer()),u=`story_${a}.${n.includes(`mp4`)?`mp4`:`webm`}`;r({blob:i,file:new File([i],u,{type:n,lastModified:a}),mimeType:n,durationMs:t,width:o,height:s,thumbnailDataUrl:c,sha256:l,createdAt:a})}async function R(e){let t=URL.createObjectURL(e);try{let e=document.createElement(`video`);e.src=t,e.muted=!0,await e.play().catch(()=>void 0),await new Promise(t=>{let n=()=>{e.pause(),e.currentTime=0},r=()=>{n(),t()};e.onloadeddata=r,setTimeout(r,250)});let n=e.videoWidth||1080,r=e.videoHeight||1920,i=document.createElement(`canvas`);i.width=n,i.height=r;let a=i.getContext(`2d`);return a&&a.drawImage(e,0,0,n,r),{width:n,height:r,thumbnailDataUrl:i.toDataURL(`image/png`,.9)}}finally{URL.revokeObjectURL(t)}}function ie(){v||re()}function z(){v&&I(!1)}function ae(){v?I(!1):re()}return t?(0,K.jsxs)(`div`,{className:`story-rec-overlay`,role:`dialog`,"aria-modal":`true`,"aria-label":`Story recorder`,children:[(0,K.jsx)(`div`,{className:`story-rec-video-wrap`,children:(0,K.jsx)(`video`,{ref:T,className:`story-rec-video ${u===`user`?`mirror`:``}`,playsInline:!0})}),(0,K.jsxs)(`div`,{className:`story-rec-topbar`,children:[(0,K.jsx)(`button`,{type:`button`,className:`story-btn top left`,"aria-label":`Close`,onClick:()=>{ee(),n()},children:`✕`}),(0,K.jsx)(`div`,{className:`story-top-center`,children:(0,K.jsxs)(`div`,{className:`story-timer mono`,children:[De(S),` / `,De(i)]})}),(0,K.jsxs)(`div`,{className:`story-top-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`story-btn ${f?`active`:``}`,"aria-pressed":f,"aria-label":f?`Unmute microphone`:`Mute microphone`,onClick:P,title:f?`Unmute mic`:`Mute mic`,children:f?`🔇`:`🎙️`}),(0,K.jsx)(`button`,{type:`button`,className:`story-btn ${u===`environment`&&g?``:`disabled`}`,disabled:!(u===`environment`&&g),onClick:()=>void ne(),"aria-label":`Toggle torch`,title:g?m?`Torch on`:`Torch off`:`Torch not supported`,children:m?`🔦`:`💡`}),(0,K.jsx)(`button`,{type:`button`,className:`story-btn`,"aria-label":`Flip camera`,onClick:N,title:`Flip camera`,children:`🔁`})]})]}),(0,K.jsxs)(`div`,{className:`story-rec-bottombar`,children:[(0,K.jsx)(`div`,{className:`record-wrap`,children:(0,K.jsxs)(`button`,{type:`button`,className:`record-btn ${v?`recording`:``}`,"aria-pressed":v,"aria-label":v?`Stop recording`:`Start recording`,onClick:ae,onPointerDown:ie,onPointerUp:z,onPointerLeave:z,children:[(0,K.jsx)(`span`,{className:`progress-ring`,style:{background:`conic-gradient(currentColor ${b*360}deg, transparent 0)`}}),(0,K.jsx)(`span`,{className:`dot`})]})}),o&&(0,K.jsx)(`div`,{className:`story-rec-error`,children:o}),c&&(0,K.jsx)(`div`,{className:`story-rec-hint`,children:`Initializing camera…`})]})]}):null}function De(e){let t=Math.floor(e/1e3);return`${Math.floor(t/60).toString().padStart(2,`0`)}:${(t%60).toString().padStart(2,`0`)}`}var Y={phiKey:[`userPhiKey`,`phiKey`,`phikey`,`ΦKey`,`walletPhiKey`],kaiSig:[`kaiSignature`,`kaiSig`,`ksig`,`ΣSig`,`sig`,`signature`],sigilId:[`sigilId`,`sigilID`,`glyphId`,`glyphID`,`sigil_id`,`glyph_id`],url:[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`url`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`link`,`href`]};function Oe(e){if(typeof e!=`string`||!e.trim())return!1;try{let t=new URL(e,globalThis.location?.origin??`https://example.org`);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}}function X(e,t){if(typeof e!=`object`||!e)return;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim())return t.trim()}let r=n.meta;if(typeof r==`object`&&r){let e=r;for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim()}}}function ke(e){return e.replace(/^$/,``).trim()}function Ae(e){let t=e.trim();if(!t)return;try{let e=JSON.parse(t);if(typeof e==`object`&&e)return e}catch{}let n=t.match(/\{[\s\S]*\}/);if(n)try{let e=JSON.parse(n[0]);if(typeof e==`object`&&e)return e}catch{}}function je(e,t){let n=RegExp(`${t}"?\\s*[:=]\\s*"?([^"\\n\\r<>{}]+)"?`,`i`),r=e.match(n);if(r)return(r[1]??``).trim()||void 0}function Me(e){let t={};for(let n of Y.phiKey){let r=je(e,n);if(r){t.userPhiKey=r;break}}for(let n of Y.kaiSig){let r=je(e,n);if(r){t.kaiSignature=r;break}}for(let n of Y.sigilId){let r=je(e,n);if(r){t.sigilId=r;break}}for(let n of Y.url){let r=je(e,n);if(r&&Oe(r))return t.actionUrl=r,t}let n=e.match(/https?:\/\/[^\s"'<>)#]+/i);return n&&Oe(n[0])&&(t.actionUrl=n[0]),t}function Ne(e,t){return{userPhiKey:e.userPhiKey??t.userPhiKey,kaiSignature:e.kaiSignature??t.kaiSignature,sigilId:e.sigilId??t.sigilId,actionUrl:e.actionUrl??t.actionUrl,meta:e.meta??t.meta}}function Pe(e){let t=(e??``).trim();if(!t)return{};try{let e=new DOMParser().parseFromString(t,`image/svg+xml`),n=e.getElementsByTagName(`parsererror`);if(n&&n.length>0)return Me(t);let r=e.documentElement,i={};if(r&&r.attributes)for(let e of Array.from(r.attributes))i[e.name]=e.value;let a={userPhiKey:X(i,Y.phiKey),kaiSignature:X(i,Y.kaiSig),sigilId:X(i,Y.sigilId),actionUrl:(()=>{let e=X(i,Y.url);return e&&Oe(e)?e:void 0})(),meta:void 0},o=Array.from(e.getElementsByTagName(`metadata`));for(let e of o){let t=ke((e.textContent??``).trim());if(!t)continue;let n=Ae(t);if(n){let e={userPhiKey:X(n,Y.phiKey),kaiSignature:X(n,Y.kaiSig),sigilId:X(n,Y.sigilId),actionUrl:(()=>{let e=X(n,Y.url);return e&&Oe(e)?e:void 0})(),meta:n};if(a=Ne(a,e),a.userPhiKey&&a.kaiSignature)return a}else a=Ne(a,Me(t))}for(let t of Array.from(e.getElementsByTagName(`desc`))){let e=ke((t.textContent??``).trim());if(!e)continue;let n=Ae(e);if(n){let e={userPhiKey:X(n,Y.phiKey),kaiSignature:X(n,Y.kaiSig),sigilId:X(n,Y.sigilId),actionUrl:(()=>{let e=X(n,Y.url);return e&&Oe(e)?e:void 0})(),meta:n};a=Ne(a,e)}else a=Ne(a,Me(e));if(a.userPhiKey&&a.kaiSignature)return a}for(let t of Array.from(e.getElementsByTagName(`a`))){let e=t.getAttribute(`href`)||t.getAttribute(`xlink:href`);if(e&&Oe(e)){a.actionUrl=a.actionUrl??e;break}}return(!a.userPhiKey||!a.kaiSignature)&&(a=Ne(a,Me(t))),a}catch{return Me(t)}}var Fe=new TextEncoder;function Ie(){if(typeof crypto>`u`||!crypto.subtle)throw Error(`WebCrypto subtle unavailable`);return crypto.subtle}function Le(e){if(e.buffer instanceof ArrayBuffer)return e;let t=new Uint8Array(e.byteLength);return t.set(e),t}function Re(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`).trim();if(!/^[A-Za-z0-9+/]*={0,2}$/.test(t))throw Error(`Invalid base64/base64url`);let n=(4-t.length%4)%4,r=t+`=`.repeat(n),i=new Int16Array(128).fill(-1);for(let e=0;e<64;e++)i[`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charCodeAt(e)]=e;let a=Math.floor(r.length*3/4)-(r.endsWith(`==`)?2:r.endsWith(`=`)?1:0),o=new Uint8Array(a),s=0;for(let e=0;e>>16&255),s>>8&255),s>>18&63]+t[r>>>12&63]+t[r>>>6&63]+t[r&63])}let a=r-i;if(a===1){let r=e[i]<<16;n.push(t[r>>>18&63]+t[r>>>12&63]+`==`)}else if(a===2){let r=e[i]<<16|e[i+1]<<8;n.push(t[r>>>18&63]+t[r>>>12&63]+t[r>>>6&63]+`=`)}return n.join(``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function Be(e){let t=e.trim().toLowerCase();if(!/^[0-9a-f]+$/.test(t)||t.length%2!=0)throw Error(`Invalid hex`);let n=new Uint8Array(t.length/2);for(let e=0;e=32&&t.length%2==0&&/^[0-9a-fA-F]+$/.test(t)}function He(e){let t=e.trim();return t.length>=16&&/^[A-Za-z0-9\-_]+$/.test(t)}function Ue(e){let t=e.trim();if(!t)throw Error(`Empty kaiSignature`);if(Ve(t))return Be(t);if(He(t))try{return Re(t)}catch{}return Le(Fe.encode(t))}async function We(e){let t=Ie(),n=await t.importKey(`raw`,e.ikm,{name:`HKDF`},!1,[`deriveBits`]),r=await t.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:e.salt,info:e.info},n,e.bits);return new Uint8Array(r)}async function Ge(e){let t=Le(Ue(e.baseKaiSignature)),n=Le(Re(e.salt_b64url)),r=(e.context??`KaiVoh.deriveKaiSignature.v1`).trim();return await We({ikm:t,salt:n,info:Le(Fe.encode(r)),bits:256})}async function Ke(e){return ze(await Ge(e))}function qe(){return(0,K.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`ico`,"aria-hidden":`true`,focusable:`false`,children:[(0,K.jsx)(`rect`,{x:`3`,y:`6`,width:`14`,height:`12`,rx:`3`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`circle`,{cx:`10`,cy:`12`,r:`3`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`path`,{d:`M17 9l4-2v10l-4-2z`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`circle`,{cx:`18.5`,cy:`5.5`,r:`2.5`,fill:`currentColor`})]})}function Je(){return(0,K.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`ico`,"aria-hidden":`true`,focusable:`false`,children:[(0,K.jsx)(`path`,{d:`M3 6h18M9 6V4h6v2M7 6l1 14h8l1-14`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`path`,{d:`M10 10v6M14 10v6`,stroke:`currentColor`,strokeWidth:`2`})]})}var Ye=6e3,Xe=1024,Ze=1024*Xe,Qe=e=>e>=Ze?`${(e/Ze).toFixed(2)} MB`:e>=Xe?`${(e/Xe).toFixed(2)} KB`:`${e} B`,$e=(e,t=8,n=6)=>e.length<=t+n?e:`${e.slice(0,t)}…${e.slice(-n)}`,et=e=>{if(typeof e!=`string`||!e)return!1;try{let t=new URL(e,globalThis.location?.origin??`https://example.org`);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}};function tt(e){try{let t=new URL(e,globalThis.location?.origin??`https://example.org`),n=new URLSearchParams(t.hash.replace(/^#/,``)).has(`t`),r=new URLSearchParams(t.search).has(`p`),i=t.pathname,a=/^\/(?:stream|feed)\/p\/[^/]+$/.test(i),o=/^\/p~[^/?#]+$/.test(i);return n||r||a||o}catch{return!1}}function nt(e){let t=new Uint8Array(e),n=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,r=[],i=t.length,a=0;for(;a+2>>18&63]+n[e>>>12&63]+n[e>>>6&63]+n[e&63])}let o=i-a;if(o===1){let e=t[a]<<16;r.push(n[e>>>18&63]+n[e>>>12&63]+`==`)}else if(o===2){let e=t[a]<<16|t[a+1]<<8;r.push(n[e>>>18&63]+n[e>>>12&63]+n[e>>>6&63]+`=`)}return r.join(``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function Z(e,t){if(typeof e!=`object`||!e)return;let n=e,r=n[t];if(typeof r==`string`)return r;let i=n.meta;if(typeof i==`object`&&i){let e=i[t];if(typeof e==`string`)return e}}function rt(e,t){if(typeof e!=`object`||!e)return;let n=e,r=n[t];if(typeof r==`number`&&Number.isFinite(r))return r;let i=n.meta;if(typeof i==`object`&&i){let e=i[t];if(typeof e==`number`&&Number.isFinite(e))return e}}function it(e,t){if(!e)return;let n=[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`url`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`link`,`href`];if(t)for(let e of n){let n=t[e];if(et(n))return n}try{let t=new DOMParser().parseFromString(e,`image/svg+xml`);for(let e of Array.from(t.getElementsByTagName(`metadata`))){let t=(e.textContent??``).trim();if(!t)continue;let r=t.replace(/^$/,``);try{let e=JSON.parse(r);if(typeof e==`object`&&e)for(let t of n){let n=e[t];if(et(n))return n}}catch{let e=r.match(/https?:\/\/[^\s"'<>)#]+/i);if(e&&et(e[0]))return e[0]}}for(let e of Array.from(t.getElementsByTagName(`a`))){let t=e.getAttribute(`href`)||e.getAttribute(`xlink:href`);if(et(t))return t}}catch{}}async function at(e,t,n={}){let r=n.cacheName??`sigil-attachments-v1`,i=(n.pathPrefix??`/att/`).replace(/\/+$/,``)+`/`;try{if(!(`caches`in globalThis)||typeof caches.open!=`function`)return;let n=await caches.open(r),a=`${i}${e}`;return await n.put(new Request(a,{method:`GET`}),new Response(t,{headers:{"Content-Type":t.type||`application/octet-stream`}})),a}catch{return}}function ot(e){let t=Math.floor(e/1e3);return`${Math.floor(t/60).toString().padStart(2,`0`)}:${(t%60).toString().padStart(2,`0`)}`}function st(e){let t=e.indexOf(` `);return t>=0?e.slice(0,t):e}function ct(e,t){return e.length<=t?e:`${e.slice(0,Math.max(0,t-1))}…`}var lt=`kai-voh:draft:v1`,ut=[`text`,`code`,`md`,`html`],dt=[`code`,`sanitized`],ft=[`derived`,`glyph`],pt=e=>typeof e==`object`&&!!e,mt=e=>{let t=BigInt(2**53-1),n=BigInt(-(2**53-1));return e>t?2**53-1:e{let t=typeof e==`number`?e:typeof e==`string`?Number.parseInt(e,10):typeof e==`bigint`?Number(e):NaN;if(!Number.isFinite(t))return null;let n=Math.floor(t);return n<0?null:n};function gt({pulseRef:e}){let t=me(),n=(0,G.useMemo)(()=>pt(t)?ht(t.pulse):null,[t]);return(0,G.useEffect)(()=>{typeof n==`number`&&(e.current=n)},[n,e]),null}var _t=(e,t=``)=>typeof e==`string`?e:t,vt=(e,t=!1)=>typeof e==`boolean`?e:t,yt=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):[],bt=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!pt(n))continue;let e=_t(n.phiKey),r=_t(n.kaiSignature),i=_t(n.label);if(!e||!r||!i)continue;let a=typeof n.sigilId==`string`&&n.sigilId.trim()?n.sigilId:void 0;t.push({phiKey:e,kaiSignature:r,label:i,sigilId:a})}return t},Q=()=>typeof performance<`u`&&typeof performance.now==`function`?performance.now():0,xt=async()=>{await new Promise(e=>requestAnimationFrame(()=>e()))},St=async(e,t,n)=>{let r=null,i=new Promise((e,i)=>{r=window.setTimeout(()=>i(Error(`${n} timed out`)),t)});try{return await Promise.race([e,i])}finally{r!==null&&window.clearTimeout(r)}},$=()=>{let e=typeof crypto<`u`?crypto:void 0;if(e&&`randomUUID`in e&&typeof e.randomUUID==`function`)return e.randomUUID();if(e&&`getRandomValues`in e&&typeof e.getRandomValues==`function`){let t=new Uint8Array(16);e.getRandomValues(t);let n=``;for(let e=0;e`u`)throw Error(`encode worker unavailable (no window)`);if(typeof Worker>`u`)throw Error(`encode worker unavailable (Worker not supported)`);let e=new URL(`data:video/mp2t;base64,Ly8vIDxyZWZlcmVuY2UgbGliPSJ3ZWJ3b3JrZXIiIC8+CgppbXBvcnQgewogIGVuY29kZVRva2VuV2l0aEJ1ZGdldHMsCiAgdHlwZSBGZWVkUG9zdFBheWxvYWQsCn0gZnJvbSAiLi4vLi4vdXRpbHMvZmVlZFBheWxvYWQiOwoKdHlwZSBFbmNvZGVXb3JrZXJSZXF1ZXN0ID0gewogIGlkOiBzdHJpbmc7CiAgcGF5bG9hZDogRmVlZFBvc3RQYXlsb2FkOwp9OwoKdHlwZSBFbmNvZGVXb3JrZXJSZXNwb25zZSA9CiAgfCB7IGlkOiBzdHJpbmc7IG9rOiB0cnVlOyB0b2tlbjogc3RyaW5nOyB3aXRoaW5IYXJkOiBib29sZWFuOyBtczogbnVtYmVyIH0KICB8IHsgaWQ6IHN0cmluZzsgb2s6IGZhbHNlOyBlcnJvcjogc3RyaW5nOyBtczogbnVtYmVyIH07Cgpjb25zdCBub3cgPSAoKTogbnVtYmVyID0+CiAgc2VsZi5wZXJmb3JtYW5jZSAmJiB0eXBlb2Ygc2VsZi5wZXJmb3JtYW5jZS5ub3cgPT09ICJmdW5jdGlvbiIKICAgID8gc2VsZi5wZXJmb3JtYW5jZS5ub3coKQogICAgOiBEYXRlLm5vdygpOwoKc2VsZi5vbm1lc3NhZ2UgPSAoZXY6IE1lc3NhZ2VFdmVudDxFbmNvZGVXb3JrZXJSZXF1ZXN0PikgPT4gewogIGNvbnN0IHQwID0gbm93KCk7CiAgY29uc3QgZGF0YSA9IGV2LmRhdGE7CgogIHRyeSB7CiAgICBjb25zdCBvdXQgPSBlbmNvZGVUb2tlbldpdGhCdWRnZXRzKGRhdGEucGF5bG9hZCk7CiAgICBjb25zdCBtc2c6IEVuY29kZVdvcmtlclJlc3BvbnNlID0gewogICAgICBpZDogZGF0YS5pZCwKICAgICAgb2s6IHRydWUsCiAgICAgIHRva2VuOiBvdXQudG9rZW4sCiAgICAgIHdpdGhpbkhhcmQ6IG91dC53aXRoaW5IYXJkLAogICAgICBtczogbm93KCkgLSB0MCwKICAgIH07CiAgICBzZWxmLnBvc3RNZXNzYWdlKG1zZyk7CiAgfSBjYXRjaCAoZSkgewogICAgY29uc3QgbXNnOiBFbmNvZGVXb3JrZXJSZXNwb25zZSA9IHsKICAgICAgaWQ6IGRhdGEuaWQsCiAgICAgIG9rOiBmYWxzZSwKICAgICAgZXJyb3I6IGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKSwKICAgICAgbXM6IG5vdygpIC0gdDAsCiAgICB9OwogICAgc2VsZi5wb3N0TWVzc2FnZShtc2cpOwogIH0KfTsK`,``+import.meta.url);return Ct=new Worker(e,{type:`module`,name:`kaiVohEncodeWorker`}),Ct.onmessage=e=>{let t=e.data,n=wt.get(t.id);n&&(wt.delete(t.id),n(t))},Ct.onerror=()=>{for(let[e,t]of wt)t({id:e,ok:!1,error:`encode worker crashed`,ms:0});wt.clear();try{Ct?.terminate()}catch{}Ct=null},Ct}async function Et(e){let t=Tt(),n=$();return new Promise(r=>{wt.set(n,r);let i={id:n,payload:e};t.postMessage(i)})}async function Dt(e){let t=Q(),n=()=>{try{let n=se(e);return{id:$(),ok:!0,token:n.token,withinHard:n.withinHard,ms:Q()-t}}catch(e){return{id:$(),ok:!1,error:e instanceof Error?e.message:String(e),ms:Q()-t}}};try{let t=await Et(e);if(!t.ok){let e=n();return e.ok?e:t}return t}catch{return n()}}function Ot({initialCaption:e=``,initialAuthor:t=``,onExhale:r}){let{auth:i}=pe(),o=i.meta,s=(0,G.useRef)(NaN),[c,l]=(0,G.useState)(e),[u,d]=(0,G.useState)(t),[f,p]=(0,G.useState)(`text`),[h,_]=(0,G.useState)(`tsx`),[v,y]=(0,G.useState)(`code`),[x,S]=(0,G.useState)(``),[w,T]=(0,G.useState)(``),[E,O]=(0,G.useState)(``),[A,j]=(0,G.useState)([]),[te,M]=(0,G.useState)([]),[N,P]=(0,G.useState)({version:1,totalBytes:0,inlinedBytes:0,items:[]}),F=(0,G.useRef)(N),[re,I]=(0,G.useState)(!1),[R,ie]=(0,G.useState)(null),[z,oe]=(0,G.useState)(!1),[se,B]=(0,G.useState)(``),[V,le]=(0,G.useState)(null),[de,H]=(0,G.useState)(null),[fe,U]=(0,G.useState)(null),[me,W]=(0,G.useState)(!1),[he,ge]=(0,G.useState)(``),[_e,be]=(0,G.useState)(0),[xe,Se]=(0,G.useState)(`path`),[q,Ce]=(0,G.useState)(!1),[J,we]=(0,G.useState)(`derived`),[Te,De]=(0,G.useState)(``),[Y,Oe]=(0,G.useState)(()=>ye(18)),[X,ke]=(0,G.useState)([]),[Ae,je]=(0,G.useState)(!1),Me=(0,G.useRef)(!1),Ne=(0,G.useRef)(null),Fe=(0,G.useRef)(null),Ie=!!o;(0,G.useEffect)(()=>{Me.current||l(e)},[e]),(0,G.useEffect)(()=>{Me.current||d(t)},[t]),(0,G.useEffect)(()=>{if(Me.current||(Me.current=!0,typeof window>`u`))return;let n=window.sessionStorage.getItem(lt);if(n)try{let r=JSON.parse(n);if(!pt(r)||r.v!==1)return;let i=ut.includes(r.bodyKind)?r.bodyKind:`text`,a=dt.includes(r.htmlMode)?r.htmlMode:`code`,o=ft.includes(r.sealMode)?r.sealMode:`derived`,s=yt(r.extraUrls).map(e=>e.trim()).filter(e=>et(e)).map(e=>D({url:e}));l(_t(r.caption,e)),d(_t(r.author,t)),p(i),_(_t(r.codeLang,`tsx`)),y(a),O(_t(r.extraUrlField,``)),j(s),Ce(vt(r.privateOn,!1)),we(o),De(_t(r.sealTeaser,``)),Oe(_t(r.sealSalt,ye(18))),ke(bt(r.allowedGlyphs)),je(vt(r.sealAdvanced,!1))}catch{}},[t,e]),(0,G.useEffect)(()=>{if(Me.current)return Ne.current&&window.clearTimeout(Ne.current),Ne.current=window.setTimeout(()=>{let e={v:1,caption:c,author:u,bodyKind:f,codeLang:h,htmlMode:v,extraUrlField:E,extraUrls:A.map(e=>e.url),privateOn:q,sealMode:J,sealTeaser:Te,sealSalt:Y,allowedGlyphs:X,sealAdvanced:Ae};try{window.sessionStorage.setItem(lt,JSON.stringify(e))}catch{}},250),()=>{Ne.current&&window.clearTimeout(Ne.current)}},[c,u,f,h,v,E,A,q,J,Te,Y,X,Ae]),(0,G.useEffect)(()=>{F.current=N},[N]),(0,G.useEffect)(()=>()=>{R&&URL.revokeObjectURL(R.url)},[]);let Le=(0,G.useMemo)(()=>Z(o,`sigilActionUrl`)||Z(o,`sigilUrl`)||Z(o,`actionUrl`)||Z(o,`url`)||Z(o,`claimedUrl`)||Z(o,`loginUrl`)||Z(o,`sourceUrl`)||Z(o,`originUrl`)||Z(o,`link`)||Z(o,`href`)||it(i.svgText,o??{})||(globalThis.location?.origin??`https://kaiklok.com`),[o,i.svgText]);(0,G.useEffect)(()=>{o&&(S(Z(o,`userPhiKey`)??``),T(Z(o,`kaiSignature`)??``))},[o]),(0,G.useEffect)(()=>{q&&(Y.trim()||Oe(ye(18)))},[q,Y]);let Re=()=>{let e=E.trim();if(!et(e)){U(`Invalid URL. Enter a full http(s) link.`);return}j(t=>[...t,D({url:e})]),O(``),U(null)},ze=e=>{j(t=>t.filter((t,n)=>n!==e))};function Be(e){let t=e,n=typeof t.webkitRelativePath==`string`?t.webkitRelativePath:``;return n.trim()?n:e.name}async function Ve(e){let t=await e.arrayBuffer(),n=await crypto.subtle.digest(`SHA-256`,t),r=new Uint8Array(n),i=``;for(let e=0;e{let t=F.current.items.slice(),n=[];for(let r of e){let e=Be(r);if(q&&r.size>Ye){n.push(e);continue}if(r.size<=Ye){let n=await r.arrayBuffer();t.push(ee({name:e,type:r.type||`application/octet-stream`,size:r.size,data_b64url:nt(n)}))}else{let n=await Ve(r),i=await at(n,r,{cacheName:`sigil-attachments-v1`,pathPrefix:`/att/`});t.push(ae({sha256:n,name:e,type:r.type||`application/octet-stream`,size:r.size,url:i}))}}return n.length>0&&U(`Private (Sealed) mode cannot include cache-backed large files. Skipped: ${n.slice(0,3).join(`, `)}${n.length>3?` (+${n.length-3} more)`:``}. Attach as a URL instead (Drive/S3/IPFS/etc), or keep files ≤ ${Qe(Ye)}.`),k(t)},Ue=async e=>{if(!e.target.files)return;let t=Array.from(e.target.files);M(e=>[...e,...t]),P(await He(t))},We=async e=>{if(e.preventDefault(),e.stopPropagation(),!e.dataTransfer?.files?.length)return;let t=Array.from(e.dataTransfer.files);M(e=>[...e,...t]),P(await He(t))},Ge=e=>{e.preventDefault(),e.stopPropagation()},Xe=()=>{M([]);let e={version:1,totalBytes:0,inlinedBytes:0,items:[]};P(e),F.current=e};function Ze(e){let[,t]=e.split(`,`,2);return t?Math.ceil(t.length*3/4):0}async function ht(e){if(q){U(`Private (Sealed) mode cannot include recorded stories (cache-backed video refs). Upload as a URL instead.`),I(!1);return}let t=await at(e.sha256,e.file,{cacheName:`sigil-attachments-v1`,pathPrefix:`/att/`}),n=ae({sha256:e.sha256,name:e.file.name,type:e.mimeType||e.file.type||`video/webm`,size:e.file.size,url:t}),r=(e.thumbnailDataUrl.split(`,`,2)[1]??``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``),i=ee({name:e.file.name.replace(/\.(webm|mp4)$/i,``)+`_thumb.png`,type:`image/png`,size:Ze(e.thumbnailDataUrl),data_b64url:r});P(k([...F.current.items,n,i])),R&&URL.revokeObjectURL(R.url),ie({url:URL.createObjectURL(e.file),durationMs:e.durationMs}),I(!1)}let $=c.trim(),Ct=(0,G.useMemo)(()=>$?f===`text`?C($):f===`md`?ce($):f===`html`?b($,v):ne($,h.trim()||void 0):void 0,[$,f,h,v]),wt=(0,G.useMemo)(()=>{if(!$)return;let e=st($).trim();if(e){if(f===`code`){let t=h.trim();return ct(`${t?`code:${t}`:`code`} — ${e}`,220)}return ct(f===`md`?`md — ${e}`:f===`html`?`html — ${e}`:e,220)}},[$,f,h]),Tt=(0,G.useMemo)(()=>F.current.items.some(e=>e.kind===`file-ref`),[N]),Et=(0,G.useMemo)(()=>{if(!q)return wt;let e=Te.trim();return e?ct(e,220):`Sealed Memory`},[q,wt,Te]),Ot=q&&J===`derived`&&Ie&&!!w.trim(),kt=q&&J===`glyph`&&X.length>0,At=(0,G.useMemo)(()=>q?Ie?J===`derived`?w.trim()?Y.trim()?(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`Mode: `,(0,K.jsx)(`strong`,{children:`Derived Glyph Access`}),` • Any derivative glyph exported from this issuer glyph can unlock • Salt length`,` `,(0,K.jsx)(`strong`,{children:Y.trim().length})]}):(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`Derivation salt missing — rotate to generate.`}):(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`Derived access requires ΣSig (kaiSignature) present in your verified glyph.`}):X.length===0?(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`Mode: Specific Glyph Access requires at least one allowed glyph SVG uploaded.`}):(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`Mode: `,(0,K.jsx)(`strong`,{children:`Specific Glyph Access`}),` • Allowed glyphs `,(0,K.jsx)(`strong`,{children:X.length})]}):(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`Private (Sealed) requires a verified glyph session.`}):null,[q,Ie,J,w,Y,X.length]),jt=async e=>{if(e.length===0)return;let t=[],n=[];for(let r of e)try{let e=Pe(await r.text()),i=(e.userPhiKey??``).trim(),a=(e.kaiSignature??``).trim();if(!i||!a){n.push(r.name);continue}t.push({label:r.name,phiKey:i,kaiSignature:a,sigilId:(e.sigilId??``).trim()?(e.sigilId??``).trim():void 0})}catch{n.push(r.name)}t.length>0&&(ke(e=>{let n=e.slice(),r=new Set(e.map(e=>`${e.phiKey}:${e.kaiSignature}`));for(let e of t){let t=`${e.phiKey}:${e.kaiSignature}`;r.has(t)||(r.add(t),n.push(e))}return n}),U(null)),n.length>0&&U(`Some glyph SVGs were missing ΦKey/ΣSig metadata and were not added: ${n.slice(0,3).join(`, `)}${n.length>3?` (+${n.length-3} more)`:``}.`)},Mt=e=>{ke(t=>t.filter((t,n)=>n!==e))},Nt=async()=>{if(z)return;H(null),U(null),W(!1),ge(``),be(0),Se(`path`),le(null);let e=(Le||``).trim(),t=tt(e);if(t||U(`Proof of Breath™ URL not detected; using fallback. Link generation will still work.`),q){if([...F.current.items,...A].some(e=>e.kind===`file-ref`)){H(`Private (Sealed) mode cannot include cache-backed file refs. Keep files ≤ ${Qe(Ye)} (inline) or attach public URLs.`);return}if(J===`derived`&&!Ot){H(`Private (Sealed) → Derived mode requires a verified glyph with ΣSig (kaiSignature) present.`);return}if(J===`glyph`&&!kt){H(`Private (Sealed) → Specific Glyph mode requires at least one allowed glyph SVG uploaded.`);return}}let i=s.current;if(!Number.isFinite(i)||i<0){H(`Failed to compute Kai pulse (aligned ticker not ready).`);return}let c=mt(n(i)),l=Q();try{oe(!0),B(`paint`),await xt(),await xt(),B(`assemble`);let n=[...F.current.items,...A],s=n.length>0?k(n):void 0,d=t?e:void 0,f=d?ue(d)??d:void 0,p=Z(o,`sigilId`)||Z(o,`sigilID`)||Z(o,`glyphId`)||void 0,h=g({url:e,pulse:i,caption:Et,body:Ct,author:u.trim()?u.trim():void 0,source:`manual`,sigilId:p,phiKey:Ie&&x?x:void 0,kaiSignature:Ie&&w?w:void 0,ts:c,attachments:s,parentUrl:d,originUrl:f});B(`prepare`);let _=Q(),v=await St(L(h,{cacheName:`sigil-attachments-v1`,pathPrefix:`/att/`}),2e4,`preparePayloadForLink`),y=Q()-_,b=v;if(q){let e={body:v.body??null,attachments:v.attachments??null},t;if(J===`derived`){let n=Y.trim()?Y.trim():ye(18);n!==Y&&Oe(n),t=await ve({inner:e,teaser:Et??void 0,derived:{issuerKaiSignature:w,issuerPhiKey:x||void 0,salt_b64url:n}})}else{let n=X.map(e=>({phiKey:e.phiKey,kaiSignature:e.kaiSignature,sigilId:e.sigilId}));t=await ve({inner:e,teaser:Et??void 0,allowGlyphs:n})}b={...v,body:void 0,attachments:void 0,seal:t}}B(`encode(worker)`);let S=Q(),C=await St(Dt(b),3e4,`encodeTokenWithBudgets(worker)`),T=Q()-S;if(!C.ok){le({stage:`encode(worker)`,totalMs:Q()-l,prepareMs:y,encodeMs:C.ms,items:n.length,inlinedBytes:s?.inlinedBytes,totalBytes:s?.totalBytes,note:C.error}),H(`Token encode failed: ${C.error}. If you have a strict CSP, allow module workers from 'self' (worker-src 'self'). This build uses a real worker file (no blob workers).`);return}let{token:E,withinHard:D}=C;be(E.length);let O=globalThis.location?.origin??`https://kaiklok.com`,j=D?`${O}/stream/p/${encodeURIComponent(E)}`:`${O}/stream#t=${E}`;Se(D?`path`:`hash`),E.length>3500?U(`Token exceeds hard path limit (${E.length.toLocaleString()} > ${m.toLocaleString()}). Using hash URL to avoid request-line limits.`):E.length>1800&&U(`Token is large (${E.length.toLocaleString()} chars). Prefer trimming inlined files or relying on external URLs.`),B(`register`),a(j),B(`clipboard`);try{await navigator.clipboard.writeText(j),W(!0)}catch{W(!1)}ge(j),le({stage:`done`,totalMs:Q()-l,prepareMs:y,encodeMs:T,tokenLen:E.length,items:n.length,inlinedBytes:s?.inlinedBytes,totalBytes:s?.totalBytes}),r&&r({shareUrl:j,token:E,payload:b})}catch(e){let t=e instanceof Error?e.message:typeof e==`string`?e:`Failed to generate link.`;H(t),le({stage:se||`unknown`,totalMs:Q()-l,note:t})}finally{B(``),oe(!1)}},Pt=()=>{l(e||``),d(t||``),p(`text`),_(`tsx`),y(`code`),O(``),j([]),Xe(),H(null),U(null),W(!1),ge(``),be(0),Se(`path`),B(``),le(null),De(``),je(!1),R&&(URL.revokeObjectURL(R.url),ie(null));try{window.sessionStorage.removeItem(lt)}catch{}},Ft=e=>t=>e(t.target.value),It=(0,G.useMemo)(()=>{if(!Ie)return null;let e=rt(o,`pulse`);return(0,K.jsxs)(`div`,{className:`id-banner`,role:`status`,"aria-live":`polite`,children:[(0,K.jsx)(`span`,{className:`id-dot`}),(0,K.jsxs)(`span`,{className:`id-text`,children:[`Verified by Sigil — ΦKey `,(0,K.jsx)(`strong`,{children:$e(x)}),` • `,`Last verified pulse `,(0,K.jsx)(`strong`,{children:e??`—`})]}),(0,K.jsxs)(`span`,{className:`id-sub mono`,children:[`ΣSig `,$e(w)]})]})},[Ie,x,w,o]),Lt=(0,G.useMemo)(()=>Le?(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Proof Of Breath™ URL`}),(0,K.jsxs)(`div`,{className:`composer-input-row`,children:[(0,K.jsx)(`input`,{className:`composer-input locked`,type:`url`,value:Le,readOnly:!0}),(0,K.jsx)(`button`,{type:`button`,className:`composer-aux`,onClick:async()=>{try{await navigator.clipboard.writeText(Le),W(!0),window.setTimeout(()=>W(!1),1200)}catch{}},title:`Remember Proof Of Breath™ URL`,children:me?`Remembered ✓`:`Remember`})]}),!tt(Le)&&(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`No canonical stream token detected in the URL. Fallback will still produce a valid post.`})]}):null,[Le,me]),Rt=(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Privacy Seal`}),(0,K.jsxs)(`div`,{className:`story-actions`,style:{alignItems:`center`,gap:10},children:[(0,K.jsx)(`button`,{type:`button`,className:`pill ${q?`prim`:`subtle`}`,onClick:()=>{Ce(e=>!e),H(null),U(null)},title:`Toggle Private (Sealed)`,children:q?`Private: ON`:`Private: OFF`}),q&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`button`,{type:`button`,className:`pill ${J===`derived`?`prim`:`subtle`}`,onClick:()=>we(`derived`),title:`Derived glyph access`,children:`Derived`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${J===`glyph`?`prim`:`subtle`}`,onClick:()=>we(`glyph`),title:`Specific glyph allowlist`,children:`Specific Glyph`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${Ae?`prim`:`subtle`}`,onClick:()=>je(e=>!e),title:`Show advanced sealing details`,children:`Advanced`})]})]}),q&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`Private (Sealed) encrypts `,(0,K.jsx)(`span`,{className:`mono`,children:`body + attachments`}),` inside the token. The outer post remains verifiable (ΦKey/ΣSig) but does not contain plaintext content.`]}),(0,K.jsxs)(`div`,{className:`composer`,style:{padding:0,marginTop:10},children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Public teaser (optional)`}),(0,K.jsx)(`input`,{className:`composer-input`,type:`text`,value:Te,onChange:Ft(De),placeholder:`What should be visible without unlocking?`,maxLength:240}),(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`If empty, the public caption becomes `,(0,K.jsx)(`span`,{className:`mono`,children:`Sealed Memory`}),`.`]})]}),J===`derived`&&(0,K.jsxs)(`div`,{className:`composer`,style:{padding:0,marginTop:10},children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Derivation salt (for verifier export)`}),(0,K.jsxs)(`div`,{className:`composer-input-row`,children:[(0,K.jsx)(`input`,{className:`composer-input mono`,type:`text`,readOnly:!0,value:Y}),(0,K.jsx)(`button`,{type:`button`,className:`composer-aux`,onClick:()=>Oe(ye(18)),title:`Rotate derivation salt`,children:`Rotate`}),(0,K.jsx)(`button`,{type:`button`,className:`composer-aux`,onClick:async()=>{try{await navigator.clipboard.writeText(Y),W(!0),window.setTimeout(()=>W(!1),900)}catch{}},title:`Copy salt`,children:`Copy`})]}),Ae&&(0,K.jsx)(`div`,{className:`composer-hint mono`,style:{marginTop:8},children:Ie&&w.trim()?(0,K.jsxs)(K.Fragment,{children:[`Derived ΣSig (b64url, post-scoped): `,(0,K.jsx)(`button`,{type:`button`,className:`pill subtle`,onClick:async()=>{try{let e=await Ke({baseKaiSignature:w,salt_b64url:Y});await navigator.clipboard.writeText(e),W(!0),window.setTimeout(()=>W(!1),900)}catch{}},title:`Copy derived signature`,children:`Copy derived ΣSig`}),(0,K.jsx)(`span`,{className:`dim`,style:{marginLeft:8},children:`(secret-equivalent; only for issuer export workflows)`})]}):`Derived preview unavailable (missing verified ΣSig).`})]}),J===`glyph`&&(0,K.jsxs)(`div`,{className:`composer`,style:{padding:0,marginTop:10},children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Allowed glyphs (upload SVG)`}),(0,K.jsxs)(`div`,{className:`story-actions`,style:{alignItems:`center`},children:[(0,K.jsxs)(`label`,{className:`pill`,children:[(0,K.jsx)(`input`,{type:`file`,accept:`.svg,image/svg+xml`,multiple:!0,className:`visually-hidden`,onChange:async e=>{let t=e.target.files?Array.from(e.target.files):[];e.currentTarget.value=``,t.length!==0&&await jt(t)}}),`Add allowed glyphs…`]}),X.length>0&&(0,K.jsx)(`button`,{type:`button`,className:`pill subtle`,onClick:()=>ke([]),title:`Clear allowlist`,children:`Clear`})]}),X.length>0&&(0,K.jsx)(`ul`,{className:`url-list`,style:{marginTop:10},children:X.map((e,t)=>(0,K.jsxs)(`li`,{className:`url-item`,style:{alignItems:`center`},children:[(0,K.jsx)(`span`,{className:`badge`,children:`glyph`}),(0,K.jsx)(`span`,{className:`mono`,children:ct(e.label,36)}),(0,K.jsxs)(`span`,{className:`dim`,style:{marginLeft:10},children:[`ΦKey `,$e(e.phiKey,10,8)]}),(0,K.jsx)(`button`,{type:`button`,className:`pill danger`,onClick:()=>Mt(t),title:`Remove glyph`,children:`✕`})]},`${e.phiKey}:${e.kaiSignature}:${t}`))}),(0,K.jsxs)(`div`,{className:`composer-hint`,style:{marginTop:8},children:[`This is `,(0,K.jsx)(`strong`,{children:`not`}),` pulse-locked — if a user possesses an allowed glyph (its ΣSig), they can unlock sealed posts across pulses.`]})]}),(0,K.jsxs)(`div`,{className:`composer-hint warn`,style:{marginTop:10},children:[`Private (Sealed) hard-guard: no cache-backed `,(0,K.jsx)(`span`,{className:`mono`,children:`file-ref`}),` attachments. Use URLs or keep files ≤`,` `,(0,K.jsx)(`strong`,{children:Qe(Ye)}),`.`]}),At]})]}),zt=(0,K.jsxs)(`div`,{className:`attachments`,children:[(0,K.jsx)(`h3`,{className:`attachments-title`,children:`Seals`}),(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Seal a memory`}),(0,K.jsxs)(`div`,{className:`story-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`pill prim icon-only${q?` disabled`:``}`,"aria-label":`Open Memory Recorder`,title:q?`Private mode: story capture is disabled (cache-backed)`:`Record story`,onClick:()=>{if(q){U(`Private (Sealed) mode disables story recording (cache-backed file refs). Add as URL instead.`);return}I(!0)},disabled:q,children:(0,K.jsx)(qe,{})}),R&&(0,K.jsxs)(`div`,{className:`story-preview`,children:[(0,K.jsx)(`video`,{src:R.url,playsInline:!0,controls:!0,className:`story-preview-video`}),(0,K.jsx)(`div`,{className:`story-preview-meta mono`,children:ot(R.durationMs)}),(0,K.jsx)(`button`,{type:`button`,className:`pill danger icon-only`,onClick:()=>{URL.revokeObjectURL(R.url),ie(null)},"aria-label":`Remove recorded preview`,title:`Remove preview`,children:(0,K.jsx)(Je,{})})]})]})]}),(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Seal any URL`}),(0,K.jsxs)(`div`,{className:`composer-input-row`,children:[(0,K.jsx)(`input`,{className:`composer-input`,type:`url`,placeholder:`https://example.com/docs/your-file.pdf`,value:E,onChange:Ft(O),autoCapitalize:`none`,autoCorrect:`off`,spellCheck:!1}),(0,K.jsx)(`button`,{type:`button`,className:`composer-aux`,onClick:Re,title:`Add URL`,children:`Seal`})]}),A.length>0&&(0,K.jsx)(`ul`,{className:`url-list`,children:A.map((e,t)=>(0,K.jsxs)(`li`,{className:`url-item`,children:[(0,K.jsx)(`span`,{className:`mono`,children:$e(e.url,28,16)}),(0,K.jsx)(`button`,{type:`button`,className:`pill danger`,onClick:()=>ze(t),title:`Remove URL`,children:`✕`})]},`${e.url}-${t}`))})]}),(0,K.jsx)(`div`,{ref:Fe,className:`dropzone`,onDragOver:Ge,onDrop:We,"aria-label":`Drop files or folders here`,children:(0,K.jsxs)(`div`,{className:`dropzone-inner`,children:[(0,K.jsx)(`div`,{className:`dz-title`,children:`Seal files or folders`}),(0,K.jsxs)(`div`,{className:`dz-sub`,children:[`Tiny files get inlined; large files become cache-backed refs.`,q?(0,K.jsxs)(K.Fragment,{children:[` `,(0,K.jsx)(`strong`,{children:`(Private mode skips large files.)`})]}):null]}),(0,K.jsxs)(`div`,{className:`dz-actions`,children:[(0,K.jsxs)(`label`,{className:`pill`,children:[(0,K.jsx)(`input`,{type:`file`,multiple:!0,onChange:Ue,className:`visually-hidden`}),`Inhale files…`]}),(0,K.jsxs)(`label`,{className:`pill`,children:[(0,K.jsx)(`input`,{type:`file`,multiple:!0,webkitdirectory:``,onChange:Ue,className:`visually-hidden`}),`Inhale folder…`]}),te.length>0&&(0,K.jsx)(`button`,{type:`button`,className:`pill subtle`,onClick:Xe,children:`Reset`})]})]})}),N.items.length>0&&(0,K.jsxs)(`div`,{className:`file-summary`,children:[(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`Items: `,(0,K.jsx)(`strong`,{children:N.items.length}),` • Files total: `,(0,K.jsx)(`strong`,{children:Qe(N.totalBytes??0)}),` • Inlined:`,` `,(0,K.jsx)(`strong`,{children:Qe(N.inlinedBytes??0)}),` (≤ `,Qe(Ye),` each)`]}),(0,K.jsx)(`ul`,{className:`file-list`,children:N.items.map((e,t)=>{if(e.kind===`url`)return(0,K.jsx)(`li`,{className:`file-item`,children:(0,K.jsxs)(`div`,{className:`file-row`,children:[(0,K.jsx)(`span`,{className:`badge`,children:`url`}),(0,K.jsx)(`span`,{className:`mono`,children:$e(e.url,34,18)})]})},`url-${t}`);let n=e.name??`file-${t}`,r=e.kind===`file-inline`,i=`type`in e&&typeof e.type==`string`?e.type:`application/octet-stream`,a=`size`in e&&typeof e.size==`number`?e.size:0;return(0,K.jsx)(`li`,{className:`file-item`,children:(0,K.jsxs)(`div`,{className:`file-row`,children:[(0,K.jsx)(`span`,{className:`badge`,children:r?`inline`:`file`}),(0,K.jsx)(`span`,{className:`mono`,children:n}),(0,K.jsxs)(`span`,{className:`dim`,children:[i,` • `,Qe(a)]})]})},`${n}-${t}`)})}),N.items.some(e=>e.kind===`file-ref`)&&(0,K.jsxs)(`div`,{className:`composer-hint ${q?`warn`:``}`,children:[`Large files are cached and referenced by SHA-256.`,q?` Private (Sealed) will refuse these — attach public URLs instead.`:` You can also host publicly and attach the public URL above.`]})]})]}),Bt=f===`code`?10:3,Vt=f===`code`?`Paste your code…`:f===`md`?`Write markdown…`:f===`html`?`Write HTML… (default renders as escaped code unless sanitized by the stream UI)`:`What Resonants About This Moment…`,Ht=z||q&&J===`derived`&&!Ot||q&&J===`glyph`&&!kt||q&&Tt;return(0,K.jsxs)(`div`,{className:`social-connector-container`,children:[(0,K.jsx)(gt,{pulseRef:s}),(0,K.jsx)(`h2`,{className:`social-connector-title`,children:`KaiVoh`}),(0,K.jsxs)(`p`,{className:`social-connector-sub`,children:[`Exhale a sealed `,(0,K.jsx)(`strong`,{children:`Memory Stream`}),`.`]}),It,Lt,Rt,(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Body Format`}),(0,K.jsxs)(`div`,{className:`story-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`pill ${f===`text`?`prim`:`subtle`}`,onClick:()=>p(`text`),title:`Text`,children:`Text`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${f===`code`?`prim`:`subtle`}`,onClick:()=>p(`code`),title:`Code`,children:`Code`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${f===`md`?`prim`:`subtle`}`,onClick:()=>p(`md`),title:`Markdown`,children:`MD`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${f===`html`?`prim`:`subtle`}`,onClick:()=>p(`html`),title:`HTML`,children:`HTML`}),f===`code`&&(0,K.jsx)(`input`,{className:`composer-input`,style:{maxWidth:160},value:h,onChange:Ft(_),placeholder:`lang (tsx)`,"aria-label":`Code language`,autoCapitalize:`none`,autoCorrect:`off`,spellCheck:!1}),f===`html`&&(0,K.jsxs)(`button`,{type:`button`,className:`pill ${v===`code`?`prim`:`subtle`}`,onClick:()=>y(e=>e===`code`?`sanitized`:`code`),title:`HTML mode (stream decides how to render)`,children:[`mode:`,v]})]}),(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`v2 posts include `,(0,K.jsx)(`span`,{className:`mono`,children:`body.kind`}),` so the stream can render code as code (escaped) instead of treating everything as plain text.`,q?(0,K.jsx)(K.Fragment,{children:` In Private mode, the body is sealed and not visible until unlocked.`}):null]})]}),(0,K.jsxs)(`div`,{className:`composer two`,children:[(0,K.jsxs)(`div`,{className:`field`,children:[(0,K.jsxs)(`label`,{htmlFor:`caption`,className:`composer-label`,children:[`Memory `,(0,K.jsx)(`span`,{className:`muted`,children:`(Body)`})]}),(0,K.jsx)(`textarea`,{id:`caption`,className:`composer-textarea${f===`code`?` mono`:``}`,rows:Bt,placeholder:Vt,value:c,onChange:Ft(l),spellCheck:f!==`code`})]}),(0,K.jsxs)(`div`,{className:`field`,children:[(0,K.jsxs)(`label`,{htmlFor:`author`,className:`composer-label`,children:[`Author Handle `,(0,K.jsx)(`span`,{className:`muted`,children:`(optional, e.g., @KaiRexKlok)`})]}),(0,K.jsx)(`input`,{id:`author`,className:`composer-input`,type:`text`,placeholder:`@handle`,value:u,onChange:Ft(d),autoCorrect:`off`,autoCapitalize:`none`})]})]}),zt,de&&(0,K.jsx)(`div`,{className:`composer-error`,children:de}),fe&&!de&&(0,K.jsx)(`div`,{className:`composer-warn`,children:fe}),(z||V)&&(0,K.jsxs)(`div`,{className:`composer-hint mono`,"aria-live":`polite`,children:[z&&se?`stage: ${se}`:null,V?(0,K.jsxs)(K.Fragment,{children:[z&&se?` • `:null,`total ${Math.round(V.totalMs)}ms`,typeof V.prepareMs==`number`?` • prepare ${Math.round(V.prepareMs)}ms`:``,typeof V.encodeMs==`number`?` • encode ${Math.round(V.encodeMs)}ms`:``,typeof V.tokenLen==`number`?` • token ${V.tokenLen.toLocaleString()}`:``,typeof V.items==`number`?` • items ${V.items}`:``,typeof V.inlinedBytes==`number`?` • inlined ${Qe(V.inlinedBytes)}`:``,typeof V.totalBytes==`number`?` • bytes ${Qe(V.totalBytes)}`:``,V.note?` • note: ${V.note}`:``]}):null]}),(0,K.jsxs)(`div`,{className:`composer-actions`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:Nt,className:`composer-submit`,disabled:Ht,title:Ht?`Fix sealing requirements / attachments to proceed`:`Exhale Stream`,children:z?`Exhaling…${se?` (${se})`:``}`:q?`Exhale Sealed Stream`:`Exhale Stream`}),(0,K.jsx)(`button`,{type:`button`,className:`composer-reset`,onClick:Pt,children:`Reset`})]}),he&&(0,K.jsxs)(`div`,{className:`composer-result`,children:[(0,K.jsx)(`label`,{htmlFor:`gen-url`,className:`composer-label`,children:`Your shareable link`}),(0,K.jsx)(`input`,{id:`gen-url`,className:`composer-input`,type:`text`,readOnly:!0,value:he,onFocus:e=>e.currentTarget.select()}),(0,K.jsxs)(`div`,{className:`composer-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`composer-copy`,onClick:async()=>{try{await navigator.clipboard.writeText(he),W(!0)}catch{W(!1)}},children:me?`Remembered ✓`:`Remember`}),(0,K.jsx)(`a`,{className:`composer-open`,href:he,target:`_blank`,rel:`noopener noreferrer`,children:`Open in new tab →`})]}),(0,K.jsxs)(`p`,{className:`composer-hint`,children:[`Token length: `,(0,K.jsx)(`strong`,{children:_e.toLocaleString()}),` chars • URL mode:`,` `,(0,K.jsx)(`strong`,{children:xe===`path`?`path`:`hash`}),` • soft `,1800 .toLocaleString(),` • hard`,` `,3500 .toLocaleString(),q?(0,K.jsxs)(K.Fragment,{children:[` `,`• `,(0,K.jsx)(`strong`,{children:`sealed`})]}):null]})]}),(0,K.jsx)(Ee,{isOpen:re,onClose:()=>I(!1),onCaptured:ht,maxDurationMs:15e3,preferredFacingMode:`user`})]})}var kt=50*1024*1024,At=10;function jt(e){if(e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=1024,r=Math.floor(Math.log(e)/Math.log(n)),i=e/n**+r;return`${i.toFixed(i>=10?0:1)} ${t[r]}`}function Mt(e){let{type:t,name:n}=e,r=n.toLowerCase();return t.startsWith(`image/`)?`image`:t.startsWith(`video/`)?`video`:t.startsWith(`audio/`)?`audio`:t===`application/pdf`||t.startsWith(`text/`)||t.includes(`word`)||t.includes(`officedocument`)||t.includes(`spreadsheet`)||t.includes(`presentation`)?`document`:r.endsWith(`.zip`)||r.endsWith(`.rar`)||r.endsWith(`.7z`)||r.endsWith(`.tar`)||r.endsWith(`.gz`)?`archive`:`other`}var Nt={image:`Image`,video:`Video`,audio:`Audio`,document:`Document`,archive:`Archive`,other:`File`};function Pt(e){return[e.name,e.size,e.lastModified,Date.now(),Math.random().toString(36).slice(2,8)].join(`-`)}function Ft(e){return e.length===0?null:(e.find(e=>e.kind===`image`||e.kind===`video`)??e[0])?.id??null}function It(e){return`${e.name}:${e.size}:${e.lastModified}`}function Lt({onReady:e}){let t=(0,G.useRef)(null),n=(0,G.useRef)(null),r=(0,G.useRef)(null),[i,a]=(0,G.useState)([]),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(null),[u,d]=(0,G.useState)(`file`),[f,p]=(0,G.useState)(``),[m,h]=(0,G.useState)(``),[g,_]=(0,G.useState)(`general`),[v,y]=(0,G.useState)(``),[b,x]=(0,G.useState)(``),[S,C]=(0,G.useState)(``),[w,T]=(0,G.useState)(``),[E,D]=(0,G.useState)(``),[O,k]=(0,G.useState)(``),[A,j]=(0,G.useState)(!1),[ee,te]=(0,G.useState)(!1),[M,N]=(0,G.useState)(null),[P,ne]=(0,G.useState)(!1),[F,re]=(0,G.useState)(!1),I=1e3,L=i.length>0,R=g===`legal-contract`,ie=(0,G.useMemo)(()=>i.reduce((e,t)=>e+t.file.size,0),[i]),z=(0,G.useMemo)(()=>L?jt(ie):`0 B`,[L,ie]),ae=(0,G.useMemo)(()=>R?v.trim().length>0&&b.trim().length>0:!0,[R,v,b]),oe=(0,G.useMemo)(()=>L?ae?3:2:1,[L,ae]),se=(0,G.useMemo)(()=>oe===1?R?`Attach your agreement, annexes, and evidence`:`Attach the media or files you want to seal`:oe===2?R?`Describe the agreement and parties`:`Add context: caption, link, and tags`:R?`Review and seal as a legal record`:`Review and seal to the KaiVoh stream`,[oe,R]),B=(0,G.useCallback)(()=>{n.current&&=(URL.revokeObjectURL(n.current),null),r.current=null},[]);(0,G.useEffect)(()=>()=>{B()},[B]);let ce=(0,G.useCallback)((e,t)=>{let i=t!==null&&e.some(e=>e.id===t)?t:Ft(e);if(s(i),!i){c&&(B(),l(null)),u!==`file`&&d(`file`);return}let a=e.find(e=>e.id===i)??null;if(!a){c&&(B(),l(null)),u!==`file`&&d(`file`);return}if(a.kind===`image`||a.kind===`video`){let e=a.kind;u!==e&&d(e);let t=It(a.file);if(!(i===o&&r.current===t&&typeof c==`string`&&c.length>0)){B();let e=URL.createObjectURL(a.file);n.current=e,r.current=t,l(e)}return}u!==`file`&&d(`file`),c&&(B(),l(null))},[B,o,u,c,s,d,l]),V=(0,G.useCallback)(()=>{a([]),s(null),B(),l(null),d(`file`),p(``),h(``),_(`general`),y(``),x(``),C(``),T(``),D(``),k(``),j(!1),te(!1),N(null),re(!1),t.current&&(t.current.value=``)},[B]),le=(0,G.useCallback)(e=>{let t=Array.isArray(e)?e:Array.from(e);if(t.length===0)return;let n=!1,r=!1,s=[...i];for(let e of t){if(s.length>=At){r=!0;break}if(e.size>kt){n=!0;continue}if(s.some(t=>t.file.name===e.name&&t.file.size===e.size&&t.file.lastModified===e.lastModified))continue;let t=Mt(e),i={id:Pt(e),file:e,kind:t};s=[...s,i]}s.length===i.length&&!n?r||N(`No new files were added (duplicates or all invalid).`):N(null),n?N(`Some files were too large. Max individual file size is ${jt(kt)}.`):r&&N(`You can attach up to ${At} files per sealed post. Remove one to add another.`),a(s),ce(s,o)},[i,o,ce]),ue=e=>{let t=e.target.files;!t||t.length===0||le(t)},de=e=>{e.preventDefault(),e.stopPropagation(),ne(!1);let t=e.dataTransfer.files;!t||t.length===0||le(t)},H=e=>{e.preventDefault(),e.stopPropagation()},fe=e=>{e.preventDefault(),e.stopPropagation(),ne(!0)},pe=e=>{e.preventDefault(),e.stopPropagation(),e.currentTarget===e.target&&ne(!1)},U=()=>{t.current?.click()},me=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),U())},W=e=>{let t=i.filter(t=>t.id!==e);a(t),ce(t,o===e?null:o)},he=e=>{s(e),ce(i,e)},ge=()=>{if(!L){N(`Attach at least one file to seal.`);return}if(R&&!ae){N(`Fill in the agreement title and counterparty to seal legally.`);return}let t=m.trim();if(t.length>0)try{new URL(t)}catch{N(`The link URL looks invalid. Please check it.`);return}let n=(o?i.find(e=>e.id===o):null)??i[0]??null;if(!n){N(`Something went wrong selecting the primary attachment.`);return}let r=f.trim(),a=R?{agreementTitle:v.trim()||void 0,counterpartyName:b.trim()||void 0,counterpartyEmail:S.trim()||void 0,jurisdiction:w.trim()||void 0,effectiveDateIso:E||void 0,referenceCode:O.trim()||void 0,isConfidential:A,includesPersonalData:ee}:void 0;re(!0),e({mediaType:n.kind===`image`||n.kind===`video`?n.kind:`file`,file:n.file,caption:r.length>0?r:void 0,attachments:i,mainAttachmentId:n.id,postKind:g,legalMeta:a,linkUrl:t.length>0?t:void 0})},_e=(0,G.useMemo)(()=>{if(!L)return null;let e=i.length;return`${e===1?`1 attached file`:`${e} attached files total`} • ${z}`},[i,L,z]);return(0,K.jsxs)(`div`,{className:`kv-post-composer flex flex-col items-center gap-4 p-6 w-full`,children:[(0,K.jsxs)(`div`,{className:`kv-post-header w-full max-w-xl flex flex-col gap-2`,children:[(0,K.jsxs)(`div`,{className:`kv-post-step-row flex items-center justify-between`,children:[(0,K.jsxs)(`div`,{className:`kv-post-step-badge`,children:[(0,K.jsx)(`span`,{className:`kv-post-step-number`,children:oe}),(0,K.jsx)(`span`,{className:`kv-post-step-label`,children:se})]}),L&&(0,K.jsx)(`button`,{type:`button`,className:`kv-post-reset-btn`,onClick:V,children:`Reset`})]}),(0,K.jsx)(`p`,{className:`kv-post-subtitle`,children:`Attach images, videos, PDFs, DOCX, ZIPs—anything you want sealed to your Kai-Signature. For contracts, add parties and jurisdiction so this becomes a usable, timestamped record.`}),(0,K.jsxs)(`div`,{className:`kv-post-kind-row flex flex-wrap items-center gap-3 mt-1`,children:[(0,K.jsx)(`label`,{className:`kv-post-kind-label`,htmlFor:`kv-post-kind`,children:`Intent`}),(0,K.jsxs)(`select`,{id:`kv-post-kind`,className:`kv-post-kind-select`,value:g,onChange:e=>_(e.target.value),children:[(0,K.jsx)(`option`,{value:`general`,children:`General post / media`}),(0,K.jsx)(`option`,{value:`legal-contract`,children:`Legal contract / agreement`}),(0,K.jsx)(`option`,{value:`evidence`,children:`Evidence / proof bundle`}),(0,K.jsx)(`option`,{value:`announcement`,children:`Public announcement / notice`}),(0,K.jsx)(`option`,{value:`private-note`,children:`Private note / internal record`})]})]})]}),M&&(0,K.jsx)(`div`,{className:`kv-post-error w-full max-w-xl`,role:`alert`,children:M}),(0,K.jsx)(`div`,{className:`w-full max-w-xl`,children:(0,K.jsx)(`div`,{className:[`kv-post-dropzone`,P?`kv-post-dropzone--dragging`:``,L?`kv-post-dropzone--has-media`:``].join(` `).trim(),tabIndex:0,role:`button`,"aria-label":`Choose or drop files to attach`,onClick:U,onKeyDown:me,onDragOver:H,onDragEnter:fe,onDragLeave:pe,onDrop:de,children:(0,K.jsxs)(`div`,{className:`kv-post-dropzone-inner`,children:[(0,K.jsx)(`div`,{className:`kv-post-dropzone-icon`,children:L?`🔄`:P?`🌀`:`📁`}),(0,K.jsxs)(`div`,{className:`kv-post-dropzone-text`,children:[(0,K.jsx)(`div`,{className:`kv-post-dropzone-title`,children:L?`Add or replace attached files`:`Tap or drop files to start`}),(0,K.jsx)(`div`,{className:`kv-post-dropzone-hint`,children:`Images, videos, PDFs, DOCX, ZIPs, audio, and more • Drag & drop or tap to choose`}),(0,K.jsxs)(`div`,{className:`kv-post-dropzone-meta`,children:[`Max `,At,` files • `,jt(kt),` per file`]})]})]})})}),L&&(0,K.jsxs)(`div`,{className:`kv-post-body w-full max-w-xl mt-2`,children:[c&&(0,K.jsxs)(`div`,{className:`kv-post-preview`,children:[u===`image`&&(0,K.jsx)(`img`,{src:c,alt:`Primary attachment preview`,className:`kv-post-preview-media`}),u===`video`&&(0,K.jsx)(`video`,{src:c,controls:!0,className:`kv-post-preview-media`})]}),(0,K.jsxs)(`div`,{className:`kv-post-attachments`,children:[(0,K.jsxs)(`div`,{className:`kv-post-attachments-header flex justify-between items-center`,children:[(0,K.jsx)(`div`,{className:`kv-post-attachments-title`,children:`Attachments`}),_e&&(0,K.jsx)(`div`,{className:`kv-post-attachments-summary`,children:_e})]}),(0,K.jsx)(`ul`,{className:`kv-post-attachments-list`,children:i.map(e=>{let t=e.id===o;return(0,K.jsxs)(`li`,{className:[`kv-post-attachment-item`,t?`kv-post-attachment-item--primary`:``].join(` `).trim(),children:[(0,K.jsxs)(`div`,{className:`kv-post-attachment-main`,children:[(0,K.jsx)(`div`,{className:`kv-post-attachment-name`,children:e.file.name}),(0,K.jsxs)(`div`,{className:`kv-post-attachment-meta`,children:[(0,K.jsxs)(`span`,{children:[Nt[e.kind],` • `,jt(e.file.size)]}),t&&(0,K.jsx)(`span`,{className:`kv-post-attachment-pill`,children:`Primary`})]})]}),(0,K.jsxs)(`div`,{className:`kv-post-attachment-actions`,children:[!t&&(0,K.jsx)(`button`,{type:`button`,className:`kv-post-attachment-btn`,onClick:()=>he(e.id),children:`Set as primary`}),(0,K.jsx)(`button`,{type:`button`,className:`kv-post-attachment-btn kv-post-attachment-btn--danger`,onClick:()=>W(e.id),children:`Remove`})]})]},e.id)})})]}),(0,K.jsxs)(`div`,{className:`kv-post-caption-block mt-4`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-post-caption`,className:`kv-post-caption-label`,children:`Caption / description (optional)`}),(0,K.jsx)(`textarea`,{id:`kv-post-caption`,placeholder:R?`Summarize what this agreement covers, key obligations, or why you are sealing it now…`:`Describe the moment, the pulse, or what this bundle of files represents…`,className:`kv-post-caption-textarea`,rows:3,maxLength:I,value:f,onChange:e=>p(e.target.value)}),(0,K.jsx)(`div`,{className:`kv-post-caption-footer`,children:(0,K.jsxs)(`span`,{className:`kv-post-caption-count`,children:[f.length,`/`,I]})})]}),(0,K.jsxs)(`div`,{className:`kv-post-link-block mt-4`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-post-link`,className:`kv-post-link-label`,children:`Canonical URL (optional)`}),(0,K.jsx)(`input`,{id:`kv-post-link`,type:`url`,inputMode:`url`,placeholder:`https://… (DMS link, IPFS URL, external system reference)`,className:`kv-post-link-input`,value:m,onChange:e=>h(e.target.value)}),(0,K.jsx)(`p`,{className:`kv-post-link-hint`,children:`This can point to the master copy of the contract, folder, or evidence bundle. It will be sealed alongside the files.`})]}),g===`legal-contract`&&(0,K.jsxs)(`div`,{className:`kv-post-legal-block mt-6`,children:[(0,K.jsx)(`div`,{className:`kv-post-legal-header`,children:`Legal details for this agreement`}),(0,K.jsxs)(`div`,{className:`kv-post-legal-grid`,children:[(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsxs)(`label`,{htmlFor:`kv-legal-title`,className:`kv-post-legal-label`,children:[`Agreement title `,(0,K.jsx)(`span`,{className:`kv-post-legal-required`,children:`*`})]}),(0,K.jsx)(`input`,{id:`kv-legal-title`,type:`text`,className:`kv-post-legal-input`,placeholder:`e.g. Master Services Agreement, NDA, Licensing Deal…`,value:v,onChange:e=>y(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsxs)(`label`,{htmlFor:`kv-legal-counterparty`,className:`kv-post-legal-label`,children:[`Counterparty name `,(0,K.jsx)(`span`,{className:`kv-post-legal-required`,children:`*`})]}),(0,K.jsx)(`input`,{id:`kv-legal-counterparty`,type:`text`,className:`kv-post-legal-input`,placeholder:`Person or organization`,value:b,onChange:e=>x(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-legal-email`,className:`kv-post-legal-label`,children:`Counterparty contact (optional)`}),(0,K.jsx)(`input`,{id:`kv-legal-email`,type:`email`,className:`kv-post-legal-input`,placeholder:`Email or contact handle`,value:S,onChange:e=>C(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-legal-jurisdiction`,className:`kv-post-legal-label`,children:`Jurisdiction (optional)`}),(0,K.jsx)(`input`,{id:`kv-legal-jurisdiction`,type:`text`,className:`kv-post-legal-input`,placeholder:`e.g. Ontario, Canada • Delaware, USA • EU-wide…`,value:w,onChange:e=>T(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-legal-effective`,className:`kv-post-legal-label`,children:`Effective date (optional)`}),(0,K.jsx)(`input`,{id:`kv-legal-effective`,type:`date`,className:`kv-post-legal-input`,value:E,onChange:e=>D(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-legal-ref`,className:`kv-post-legal-label`,children:`Reference code (optional)`}),(0,K.jsx)(`input`,{id:`kv-legal-ref`,type:`text`,className:`kv-post-legal-input`,placeholder:`Internal ID, contract number, matter code…`,value:O,onChange:e=>k(e.target.value)})]})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-flags mt-3`,children:[(0,K.jsxs)(`label`,{className:`kv-post-legal-flag`,children:[(0,K.jsx)(`input`,{type:`checkbox`,checked:A,onChange:e=>j(e.target.checked)}),(0,K.jsx)(`span`,{children:`This agreement is confidential`})]}),(0,K.jsxs)(`label`,{className:`kv-post-legal-flag`,children:[(0,K.jsx)(`input`,{type:`checkbox`,checked:ee,onChange:e=>te(e.target.checked)}),(0,K.jsx)(`span`,{children:`This bundle includes personal data (names, addresses, IDs, etc.)`})]})]}),(0,K.jsx)(`p`,{className:`kv-post-legal-hint mt-2`,children:`These details are sealed as metadata with the files and time pulse, creating a clear, timestamped record of what was agreed and with whom. This does not replace legal advice—use it as a hardened, auditable trail around your contracts.`})]})]}),(0,K.jsx)(`div`,{className:`kv-post-actions w-full max-w-xl mt-4 flex justify-end`,children:(0,K.jsx)(`button`,{type:`button`,className:`kv-post-submit-btn`,onClick:ge,disabled:!L||F,children:F?`Sealing…`:`Seal with Breath`})}),(0,K.jsx)(`input`,{id:`kv-post-file-input`,type:`file`,multiple:!0,accept:`*/*`,ref:t,onChange:ue,className:`kv-post-file-input`})]})}var Rt=y(((e,t)=>{var n=`Input must be an string, Buffer or Uint8Array`;function r(e){let t;if(e instanceof Uint8Array)t=e;else if(typeof e==`string`)t=new TextEncoder().encode(e);else throw Error(n);return t}function i(e){return Array.prototype.map.call(e,function(e){return(e<16?`0`:``)+e.toString(16)}).join(``)}function a(e){return(4294967296+e).toString(16).substring(1)}function o(e,t,n){let r=` `+e+` = `;for(let i=0;i{var n=Rt();function r(e,t,n){let r=e[t]+e[n],i=e[t+1]+e[n+1];r>=4294967296&&i++,e[t]=r,e[t+1]=i}function i(e,t,n,r){let i=e[t]+n;n<0&&(i+=4294967296);let a=e[t+1]+r;i>=4294967296&&a++,e[t]=i,e[t+1]=a}function a(e,t){return e[t]^e[t+1]<<8^e[t+2]<<16^e[t+3]<<24}function o(e,t,n,a,o,s){let c=u[o],d=u[o+1],f=u[s],p=u[s+1];r(l,e,t),i(l,e,c,d);let m=l[a]^l[e],h=l[a+1]^l[e+1];l[a]=h,l[a+1]=m,r(l,n,a),m=l[t]^l[n],h=l[t+1]^l[n+1],l[t]=m>>>24^h<<8,l[t+1]=h>>>24^m<<8,r(l,e,t),i(l,e,f,p),m=l[a]^l[e],h=l[a+1]^l[e+1],l[a]=m>>>16^h<<16,l[a+1]=h>>>16^m<<16,r(l,n,a),m=l[t]^l[n],h=l[t+1]^l[n+1],l[t]=h>>>31^m<<1,l[t+1]=m>>>31^h<<1}var s=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),c=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map(function(e){return e*2})),l=new Uint32Array(32),u=new Uint32Array(32);function d(e,t){let n=0;for(n=0;n<16;n++)l[n]=e.h[n],l[n+16]=s[n];for(l[24]^=e.t,l[25]^=e.t/4294967296,t&&(l[28]=~l[28],l[29]=~l[29]),n=0;n<32;n++)u[n]=a(e.b,4*n);for(n=0;n<12;n++)o(0,8,16,24,c[n*16+0],c[n*16+1]),o(2,10,18,26,c[n*16+2],c[n*16+3]),o(4,12,20,28,c[n*16+4],c[n*16+5]),o(6,14,22,30,c[n*16+6],c[n*16+7]),o(0,10,20,30,c[n*16+8],c[n*16+9]),o(2,12,22,24,c[n*16+10],c[n*16+11]),o(4,14,16,26,c[n*16+12],c[n*16+13]),o(6,8,18,28,c[n*16+14],c[n*16+15]);for(n=0;n<16;n++)e.h[n]=e.h[n]^l[n]^l[n+16]}var f=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function p(e,t,n,r){if(e===0||e>64)throw Error(`Illegal output length, expected 0 < length <= 64`);if(t&&t.length>64)throw Error(`Illegal key, expected Uint8Array with 0 < length <= 64`);if(n&&n.length!==16)throw Error(`Illegal salt, expected Uint8Array with length is 16`);if(r&&r.length!==16)throw Error(`Illegal personal, expected Uint8Array with length is 16`);let i={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:e};f.fill(0),f[0]=e,t&&(f[1]=t.length),f[2]=1,f[3]=1,n&&f.set(n,32),r&&f.set(r,48);for(let e=0;e<16;e++)i.h[e]=s[e]^a(f,e*4);return t&&(m(i,t),i.c=128),i}function m(e,t){for(let n=0;n>2]>>8*(n&3);return t}function g(e,t,r,i,a){r||=64,e=n.normalizeInput(e),i&&=n.normalizeInput(i),a&&=n.normalizeInput(a);let o=p(r,t,i,a);return m(o,e),h(o)}function _(e,t,r,i,a){let o=g(e,t,r,i,a);return n.toHex(o)}t.exports={blake2b:g,blake2bHex:_,blake2bInit:p,blake2bUpdate:m,blake2bFinal:h}})),Bt=y(((e,t)=>{var n=Rt();function r(e,t){return e[t]^e[t+1]<<8^e[t+2]<<16^e[t+3]<<24}function i(e,t,n,r,i,o){c[e]=c[e]+c[t]+i,c[r]=a(c[r]^c[e],16),c[n]=c[n]+c[r],c[t]=a(c[t]^c[n],12),c[e]=c[e]+c[t]+o,c[r]=a(c[r]^c[e],8),c[n]=c[n]+c[r],c[t]=a(c[t]^c[n],7)}function a(e,t){return e>>>t^e<<32-t}var o=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),s=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),c=new Uint32Array(16),l=new Uint32Array(16);function u(e,t){let n=0;for(n=0;n<8;n++)c[n]=e.h[n],c[n+8]=o[n];for(c[12]^=e.t,c[13]^=e.t/4294967296,t&&(c[14]=~c[14]),n=0;n<16;n++)l[n]=r(e.b,4*n);for(n=0;n<10;n++)i(0,4,8,12,l[s[n*16+0]],l[s[n*16+1]]),i(1,5,9,13,l[s[n*16+2]],l[s[n*16+3]]),i(2,6,10,14,l[s[n*16+4]],l[s[n*16+5]]),i(3,7,11,15,l[s[n*16+6]],l[s[n*16+7]]),i(0,5,10,15,l[s[n*16+8]],l[s[n*16+9]]),i(1,6,11,12,l[s[n*16+10]],l[s[n*16+11]]),i(2,7,8,13,l[s[n*16+12]],l[s[n*16+13]]),i(3,4,9,14,l[s[n*16+14]],l[s[n*16+15]]);for(n=0;n<8;n++)e.h[n]^=c[n]^c[n+8]}function d(e,t){if(!(e>0&&e<=32))throw Error(`Incorrect output length, should be in [1, 32]`);let n=t?t.length:0;if(t&&!(n>0&&n<=32))throw Error(`Incorrect key length, should be in [1, 32]`);let r={h:new Uint32Array(o),b:new Uint8Array(64),c:0,t:0,outlen:e};return r.h[0]^=16842752^n<<8^e,n>0&&(f(r,t),r.c=64),r}function f(e,t){for(let n=0;n>2]>>8*(n&3)&255;return t}function m(e,t,r){r||=32,e=n.normalizeInput(e);let i=d(r,t);return f(i,e),p(i)}function h(e,t,r){let i=m(e,t,r);return n.toHex(i)}t.exports={blake2s:m,blake2sHex:h,blake2sInit:d,blake2sUpdate:f,blake2sFinal:p}})),Vt=I(y(((e,t)=>{var n=zt(),r=Bt();t.exports={blake2b:n.blake2b,blake2bHex:n.blake2bHex,blake2bInit:n.blake2bInit,blake2bUpdate:n.blake2bUpdate,blake2bFinal:n.blake2bFinal,blake2s:r.blake2s,blake2sHex:r.blake2sHex,blake2sInit:r.blake2sInit,blake2sUpdate:r.blake2sUpdate,blake2sFinal:r.blake2sFinal}}))(),1),Ht=5236,Ut=50;function Wt(e){return e===`root`||e===`sacral`||e===`solar`||e===`heart`||e===`throat`||e===`thirdEye`||e===`crown`||e===`krown`}function Gt({post:e,identityKaiSignature:t,userPhiKey:n,onSealComplete:r}){let[i,a]=(0,G.useState)(`idle`),[s,c]=(0,G.useState)(0),[l,d]=(0,G.useState)(null),f=(0,G.useRef)(null),p=(0,G.useRef)(!1),m=(0,G.useRef)(0),h=(0,G.useRef)(!0),g=(0,G.useMemo)(()=>Ht*2,[]);(0,G.useEffect)(()=>(h.current=!0,()=>{h.current=!1,f.current!=null&&window.clearInterval(f.current)}),[]);let _=()=>{f.current!=null&&(window.clearInterval(f.current),f.current=null)},v=()=>{if(!p.current){if(!t.trim()){d(`Missing identityKaiSignature (session signature). Please re-login.`),a(`idle`),c(0);return}_(),d(null),a(`inhale`),c(0),p.current=!1,m.current=0,f.current=window.setInterval(()=>{m.current+=Ut;let e=m.current;if(e{if(!p.current){p.current=!0;try{let i=t.trim();if(!i)throw Error(`Missing identityKaiSignature (session signature).`);let s=await u(void 0,new o({ignoreOverride:!0})),c=Number(s.pulse??0),l=Wt(s.chakraDay)?s.chakraDay:null,d=e.file?.name??`unknown`,f=Vt.default.blake2bHex(`${d}-${c}`,void 0,16);if(r({pulse:c,kaiSignature:i,chakraDay:l,post:e,userPhiKey:n??null,kksNonce:f}),!h.current)return;a(`sealed`)}catch(e){p.current=!1;let t=e instanceof Error?e.message:`Failed to seal with live Kai pulse. Please try again.`;if(!h.current)return;d(t),a(`idle`),c(0)}}},b=(()=>{if(l)return`Error`;switch(i){case`idle`:return`Ready to Breathe`;case`inhale`:return`Inhale`;case`exhale`:return`Exhale`;case`sealed`:return`Sealed in Kairos`;default:return`Breath`}})(),x=Math.round(Math.min(s,.5)*200),S=Math.round(Math.max(s-.5,0)*200),C=(()=>{if(l)return l;switch(i){case`idle`:return`Tap begin, inhale as the orb expands, exhale as it returns to stillness. We’ll seal at the end of your exhale.`;case`inhale`:return`Inhale slowly… ${x}%`;case`exhale`:return`Exhale and let go… ${50+S}% — sealing this breath into KaiOS.`;case`sealed`:return`Sealed on a live Kai pulse. Advancing to embed…`;default:return``}})(),w=(()=>{if(l)return`⚠️`;switch(i){case`idle`:return`🌬`;case`inhale`:return`🫁`;case`exhale`:return`🌀`;case`sealed`:return`✨`;default:return`🌬`}})(),T=e.file?.name&&e.file.name.length>40?`${e.file.name.slice(0,22)}…${e.file.name.slice(-12)}`:e.file?.name??`Unnamed glyph`;return(0,K.jsxs)(`div`,{className:`kv-breath-root`,"data-phase":i,"aria-live":`polite`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-meta`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-meta-left`,children:[(0,K.jsx)(`span`,{className:`kv-breath-pill`,children:`Breath Seal • φ 5.236s`}),(0,K.jsx)(`span`,{className:`kv-breath-file`,title:e.file?.name,children:T})]}),(0,K.jsx)(`div`,{className:`kv-breath-meta-right`,children:(0,K.jsx)(`span`,{className:`kv-breath-tag`,children:`Live Kai Pulse`})})]}),(0,K.jsxs)(`div`,{className:`kv-breath-orb-row`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-orb`,"aria-label":`Breath phase: ${b}`,children:[(0,K.jsx)(`div`,{className:`kv-breath-orb-inner`,children:(0,K.jsx)(`span`,{className:`kv-breath-orb-emoji`,children:w})}),(0,K.jsx)(`div`,{className:`kv-breath-orb-ring`,style:{"--kv-breath-progress":s}})]}),(0,K.jsxs)(`div`,{className:`kv-breath-status`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-status-row`,children:[(0,K.jsx)(`span`,{className:`kv-breath-status-label`,children:b}),(0,K.jsxs)(`span`,{className:`kv-breath-status-percent`,children:[Math.round(s*100),`%`]})]}),(0,K.jsx)(`p`,{className:`kv-breath-status-text`,children:C}),(0,K.jsxs)(`div`,{className:`kv-breath-bars`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-bar`,children:[(0,K.jsx)(`span`,{className:`kv-breath-bar-label`,children:`Inhale`}),(0,K.jsx)(`div`,{className:`kv-breath-bar-track`,"aria-hidden":`true`,children:(0,K.jsx)(`div`,{className:`kv-breath-bar-fill kv-breath-bar-fill--inhale`,style:{width:`${x}%`}})})]}),(0,K.jsxs)(`div`,{className:`kv-breath-bar`,children:[(0,K.jsx)(`span`,{className:`kv-breath-bar-label`,children:`Exhale`}),(0,K.jsx)(`div`,{className:`kv-breath-bar-track`,"aria-hidden":`true`,children:(0,K.jsx)(`div`,{className:`kv-breath-bar-fill kv-breath-bar-fill--exhale`,style:{width:`${S}%`}})})]})]})]})]}),(0,K.jsxs)(`div`,{className:`kv-breath-actions`,children:[i===`idle`&&!p.current&&!l&&(0,K.jsx)(`button`,{type:`button`,onClick:v,className:`kv-breath-btn kv-breath-btn-primary`,children:`Begin Breath`}),l&&i===`idle`&&(0,K.jsx)(`button`,{type:`button`,onClick:v,className:`kv-breath-btn kv-breath-btn-warning`,children:`Retry Breath Seal`}),i!==`idle`&&i!==`sealed`&&!l&&(0,K.jsx)(`button`,{type:`button`,className:`kv-breath-btn kv-breath-btn-ghost`,disabled:!0,children:`Sealing on this exhale…`}),i===`sealed`&&(0,K.jsx)(`div`,{className:`kv-breath-sealed-note`,children:`Sealed. The stream will remember this breath forever.`})]})]})}function Kt(e){let t=e.trim();return(t.startsWith(`0x`)||t.startsWith(`0X`))&&(t=t.slice(2)),/^[0-9a-fA-F]+$/.test(t)&&(t=t.toLowerCase()),t}var qt=`http://www.w3.org/2000/svg`;async function Jt(e){let t=typeof e==`string`?e:JSON.stringify(e),n=new TextEncoder().encode(t),r=await crypto.subtle.digest(`SHA-256`,n),i=new Uint8Array(r),a=``;for(let e=0;e0?s=o.item(0):(s=t.createElementNS(qt,`metadata`),a.appendChild(s)),s.textContent=JSON.stringify(i,null,2);let c=new XMLSerializer().serializeToString(t);return{type:`image`,content:new Blob([c],{type:`image/svg+xml`}),filename:`sigil-${r}.svg`,metadata:i}}return n.mediaType===`image`?{type:`image`,content:n.file,filename:n.file.name,metadata:i}:{type:`video`,content:n.file,filename:n.file.name,metadata:i}}function Qt(e){let{baseCaption:t,phiKey:n,kaiSignature:r,pulse:i,chakraDay:a,verifierUrl:o}=e,s=[];return t&&t.trim().length>0&&s.push(t.trim(),``),s.push(`—`),s.push(`Kai-Sigil Proof of Origin`),n&&s.push(`Φ-Key: ${n}`),r&&s.push(`Kai Signature: ${r}`),typeof i==`number`&&s.push(`Pulse: ${i}`),a&&s.push(`Chakra Day: ${a}`),o&&(s.push(``),s.push(`Verify this post: ${o}`)),s.join(` diff --git a/dist/assets/KaiVohModal-DqaAc8Dk.js b/dist/assets/KaiVohModal-CiiZjN6f.js similarity index 93% rename from dist/assets/KaiVohModal-DqaAc8Dk.js rename to dist/assets/KaiVohModal-CiiZjN6f.js index 1d23b2198..91f1130d7 100644 --- a/dist/assets/KaiVohModal-DqaAc8Dk.js +++ b/dist/assets/KaiVohModal-CiiZjN6f.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KaiVohApp-B-w8VCRx.js","assets/index-BfXtjgZ1.js","assets/index-BgUnq8XG.css","assets/prop-types-DLoCx3ki.js","assets/VerifierFrame-DPCnuxaa.js","assets/VerifierFrame-FeNZTUNm.css","assets/SigilAuthContext-DxAUceu4.js","assets/ticker-DSh75-xJ.js","assets/ticker-B0glx6FE.css","assets/sessionStorage-2Nr46eZD.js","assets/postSeal-DGeRGc3h.js","assets/webauthnKAS-CfTQ1nee.js","assets/KaiVohApp-Brroi08x.css","assets/KaiRealms-n3n97jUS.js","assets/x-CArBFE1m.js","assets/KaiRealms-BZJvSAmB.css"])))=>i.map(i=>d[i]); -import{t as e}from"./x-CArBFE1m.js";import{Vt as t,ai as n,pi as r,ri as i,si as a}from"./index-BfXtjgZ1.js";import{t as o}from"./SigilAuthContext-DxAUceu4.js";import{n as s}from"./sessionStorage-2Nr46eZD.js";import{t as c}from"./SigilAuthProvider-DC455823.js";var l=r(n(),1),u=r(a(),1),d=r(t(),1),f=class extends u.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[KaiVoh] render error:`,e,t)}render(){return this.state.error?(0,d.jsxs)(`div`,{style:{padding:`1rem`,textAlign:`center`},children:[(0,d.jsx)(`h2`,{style:{fontSize:18,fontWeight:600},children:`KaiVoh failed to load`}),(0,d.jsx)(`p`,{style:{opacity:.8,marginTop:8},children:this.state.error.message}),(0,d.jsxs)(`details`,{style:{opacity:.65,marginTop:12,textAlign:`left`},children:[(0,d.jsx)(`summary`,{children:`Details`}),(0,d.jsx)(`pre`,{style:{whiteSpace:`pre-wrap`},children:String(this.state.error.stack??``)})]})]}):this.props.children}};function p(){let e=(0,u.useContext)(o);if(!e)throw Error(`useSigilAuth must be used inside `);return e}var m=(0,u.lazy)(()=>i(()=>import(`./KaiVohApp-B-w8VCRx.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))),h=(0,u.lazy)(()=>i(()=>import(`./KaiRealms-n3n97jUS.js`),__vite__mapDeps([13,1,2,14,15]))),g=(1+Math.sqrt(5))/2,_=5.236,v=610,y=377;function b({className:e}){let t=(0,u.useId)();return(0,d.jsxs)(`svg`,{className:e,width:v,height:y,viewBox:`0 0 ${v} ${y}`,"aria-hidden":`true`,focusable:`false`,children:[(0,d.jsx)(`defs`,{children:(0,d.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,d.jsx)(`stop`,{offset:`0%`,stopColor:`currentColor`,stopOpacity:`0.0`}),(0,d.jsx)(`stop`,{offset:`40%`,stopColor:`currentColor`,stopOpacity:`0.5`}),(0,d.jsx)(`stop`,{offset:`100%`,stopColor:`currentColor`,stopOpacity:`0.0`})]})}),(0,d.jsxs)(`g`,{fill:`none`,stroke:`url(#${t})`,strokeWidth:`2`,children:[(0,d.jsx)(`path`,{d:`M377 0 A377 377 0 0 1 0 377`}),(0,d.jsx)(`path`,{d:`M233 0 A233 233 0 0 1 0 233`}),(0,d.jsx)(`path`,{d:`M144 0 A144 144 0 0 1 0 144`}),(0,d.jsx)(`path`,{d:`M89 0 A89 89 0 0 1 0 89`}),(0,d.jsx)(`path`,{d:`M55 0 A55 55 0 0 1 0 55`}),(0,d.jsx)(`path`,{d:`M34 0 A34 34 0 0 1 0 34`}),(0,d.jsx)(`path`,{d:`M21 0 A21 21 0 0 1 0 21`})]})]})}function x({className:e}){return(0,d.jsxs)(`div`,{className:`seal-emblem ${e??``}`,"aria-hidden":`true`,children:[(0,d.jsx)(`div`,{className:`seal-ring seal-ring--outer`}),(0,d.jsx)(`div`,{className:`seal-ring seal-ring--inner`}),(0,d.jsx)(`div`,{className:`seal-core`})]})}function S({className:e}){let{auth:t}=p(),n=t.meta;if(!n)return null;let r=[`Pulse: ${n.pulse}`,`Beat: ${n.beat}`,`Step: ${n.stepIndex}`,`Day: ${n.chakraDay}`];return n.sigilId&&r.push(`Sigil: ${n.sigilId}`),n.userPhiKey&&r.push(`PhiKey: ${n.userPhiKey}`),(0,d.jsxs)(`div`,{className:`sigil-auth-pill ${e??``}`,role:`status`,"aria-live":`polite`,title:r.join(` • `),style:{maxWidth:`100%`,overflowX:`auto`,whiteSpace:`nowrap`},children:[(0,d.jsx)(`span`,{className:`sigil-auth-pill__dot`,"aria-hidden":`true`}),(0,d.jsxs)(`span`,{className:`sigil-auth-pill__text mono`,children:[`Sealed • `,n.pulse,` • `,n.chakraDay,n.sigilId?` • ${n.sigilId}`:``]})]})}function C(e){return e?Array.from(e.querySelectorAll([`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`))).filter(e=>!e.hasAttribute(`disabled`)&&!e.getAttribute(`aria-hidden`)):[]}function w(e){return e?e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?!e.disabled:!!(e instanceof HTMLElement&&e.isContentEditable):!1}function T(e){if(!e||e instanceof HTMLTextAreaElement)return!1;if(e instanceof HTMLSelectElement)return!0;if(e instanceof HTMLInputElement){let t=e.type.toLowerCase();return![`button`,`submit`,`reset`,`checkbox`,`radio`,`file`,`range`,`color`].includes(t)}return!1}function E({open:t,onClose:n}){let r=(0,u.useCallback)(()=>{s(),n()},[n]),i=(0,u.useRef)(null),a=(0,u.useRef)(null),o=(0,u.useRef)(null),p=(0,u.useRef)(0),v=(0,u.useRef)(0),[y,E]=(0,u.useState)(`voh`),[D,O]=(0,u.useState)(!1),k=(0,u.useCallback)(e=>{e===`realms`&&!D&&O(!0),E(e)},[D]),A=(0,u.useMemo)(()=>({breath:`${_}s`,phi:`${g}`}),[]);(0,u.useEffect)(()=>{if(!t)return;let e={bodyOverflow:document.body.style.overflow,bodyPosition:document.body.style.position,bodyTop:document.body.style.top,bodyLeft:document.body.style.left,bodyRight:document.body.style.right,bodyWidth:document.body.style.width,bodyHeight:document.body.style.height,htmlOverflow:document.documentElement.style.overflow,htmlHeight:document.documentElement.style.height,docOverscroll:document.documentElement.style.getPropertyValue(`overscroll-behavior`),bodyOverscroll:document.body.style.getPropertyValue(`overscroll-behavior`),touchAction:document.documentElement.style.touchAction,breath:document.documentElement.style.getPropertyValue(`--kai-breath`),phi:document.documentElement.style.getPropertyValue(`--kai-phi`),kaiVh:document.documentElement.style.getPropertyValue(`--kai-vh`)};v.current=window.scrollY||window.pageYOffset||0,document.body.style.position=`fixed`,document.body.style.top=`-${v.current}px`,document.body.style.left=`0`,document.body.style.right=`0`,document.body.style.width=`100%`,document.body.style.height=`100%`,document.body.style.overflow=`hidden`,document.documentElement.style.overflow=`hidden`,document.documentElement.style.height=`100%`,document.documentElement.style.setProperty(`overscroll-behavior`,`none`),document.body.style.setProperty(`overscroll-behavior`,`none`),document.documentElement.style.touchAction=`manipulation`,document.documentElement.style.setProperty(`--kai-breath`,A.breath),document.documentElement.style.setProperty(`--kai-phi`,A.phi);let n=()=>{document.documentElement.style.setProperty(`--kai-vh`,`${window.innerHeight}px`)};n(),window.addEventListener(`resize`,n,{passive:!0});let s=o.current;s&&(s.style.overscrollBehavior=`contain`,s.style.webkitOverflowScrolling=`touch`),a.current?.focus();let c=e=>{p.current=e.touches[0]?.clientY??0},l=e=>{if(e.touches.length!==1)return;let t=o.current;if(!t){e.preventDefault();return}let n=e.target;if(!(n&&t.contains(n))){e.preventDefault();return}let r=(e.touches[0]?.clientY??p.current)-p.current,i=t.scrollTop<=0,a=t.scrollTop+t.clientHeight>=t.scrollHeight-1;(i&&r>0||a&&r<0)&&e.preventDefault()},u=e=>{let t=o.current;if(!t){e.preventDefault();return}let n=e.target;if(!(n&&t.contains(n))){e.preventDefault();return}let r=e.deltaY,i=t.scrollTop<=0,a=t.scrollTop+t.clientHeight>=t.scrollHeight-1;(i&&r<0||a&&r>0)&&e.preventDefault()},d=e=>{if(e.key===`Escape`){if(w(document.activeElement))return;e.preventDefault(),e.stopPropagation(),r();return}if(e.key===`Enter`){let t=e.target;T(t)&&i.current?.contains(t)&&e.preventDefault()}if(e.key!==`Tab`)return;let t=i.current,n=C(t);if(n.length===0)return;let a=document.activeElement,o=n[0],s=n[n.length-1];if(!a||!t?.contains(a)){e.preventDefault(),o.focus();return}e.shiftKey?a===o&&(e.preventDefault(),s.focus()):a===s&&(e.preventDefault(),o.focus())},f=new AbortController,m={passive:!0,signal:f.signal,capture:!0},h={passive:!1,signal:f.signal,capture:!0},g={passive:!1,signal:f.signal,capture:!0},_={signal:f.signal,capture:!0};document.addEventListener(`touchstart`,c,m),document.addEventListener(`touchmove`,l,h),document.addEventListener(`wheel`,u,g),document.addEventListener(`keydown`,d,_);let y=e=>{e.preventDefault()};return document.addEventListener(`gesturestart`,y,{passive:!1,signal:f.signal}),document.addEventListener(`gesturechange`,y,{passive:!1,signal:f.signal}),document.addEventListener(`gestureend`,y,{passive:!1,signal:f.signal}),document.addEventListener(`submit`,e=>{let t=e.target;t&&i.current?.contains(t)&&(e.preventDefault(),e.stopPropagation())},{capture:!0,signal:f.signal}),()=>{f.abort(),window.removeEventListener(`resize`,n),document.body.style.overflow=e.bodyOverflow,document.body.style.position=e.bodyPosition,document.body.style.top=e.bodyTop,document.body.style.left=e.bodyLeft,document.body.style.right=e.bodyRight,document.body.style.width=e.bodyWidth,document.body.style.height=e.bodyHeight,document.documentElement.style.overflow=e.htmlOverflow,document.documentElement.style.height=e.htmlHeight,e.docOverscroll?document.documentElement.style.setProperty(`overscroll-behavior`,e.docOverscroll):document.documentElement.style.removeProperty(`overscroll-behavior`),e.bodyOverscroll?document.body.style.setProperty(`overscroll-behavior`,e.bodyOverscroll):document.body.style.removeProperty(`overscroll-behavior`),document.documentElement.style.touchAction=e.touchAction,e.breath?document.documentElement.style.setProperty(`--kai-breath`,e.breath):document.documentElement.style.removeProperty(`--kai-breath`),e.phi?document.documentElement.style.setProperty(`--kai-phi`,e.phi):document.documentElement.style.removeProperty(`--kai-phi`),e.kaiVh?document.documentElement.style.setProperty(`--kai-vh`,e.kaiVh):document.documentElement.style.removeProperty(`--kai-vh`);let t=v.current||0;window.scrollTo(0,t)}},[t,r,A.breath,A.phi]);let j=(0,u.useCallback)(e=>{e.stopPropagation(),r()},[r]),M=(0,u.useCallback)(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),r())},[r]);return t?(0,l.createPortal)((0,d.jsxs)(`div`,{ref:i,className:`kai-voh-modal-backdrop atlantean-veil`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`kaivoh-title`,"data-view":y,children:[(0,d.jsx)(`div`,{className:`atlantean-stars`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`atlantean-halo atlantean-halo--1`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`atlantean-halo atlantean-halo--2`,"aria-hidden":`true`}),(0,d.jsxs)(`div`,{className:`kai-voh-container kai-pulse-border glass-omni`,role:`document`,children:[(0,d.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`phi-grid`,"aria-hidden":`true`}),(0,d.jsx)(b,{className:`phi-spiral phi-spiral--tl`}),(0,d.jsx)(b,{className:`phi-spiral phi-spiral--br`}),(0,d.jsxs)(c,{children:[y!==`realms`&&(0,d.jsx)(`button`,{ref:a,type:`button`,className:`kai-voh-close auric-btn`,"aria-label":`Close portal`,onPointerDown:j,onKeyDown:M,children:(0,d.jsx)(e,{size:22,"aria-hidden":`true`})}),y!==`realms`&&(0,d.jsx)(`div`,{className:`voh-top-orb`,"aria-hidden":`true`,children:(0,d.jsx)(x,{})}),(0,d.jsxs)(`div`,{className:`kai-voh-tabbar`,role:`tablist`,"aria-label":`Kai portal views`,children:[(0,d.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`voh`,className:`kai-voh-tab auric-tab ${y===`voh`?`active`:``}`,onClick:()=>k(`voh`),children:[(0,d.jsx)(`span`,{className:`tab-glyph`,"aria-hidden":`true`,children:`🜂`}),` `,`Voh`]}),(0,d.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`realms`,className:`kai-voh-tab auric-tab ${y===`realms`?`active`:``}`,onClick:()=>k(`realms`),children:[(0,d.jsx)(`span`,{className:`tab-glyph`,"aria-hidden":`true`,children:`⚚`}),` `,`Realms`]}),(0,d.jsx)(`div`,{className:`breath-meter`,"aria-hidden":`true`,children:(0,d.jsx)(`div`,{className:`breath-meter__dot`})}),(0,d.jsx)(S,{className:`sigil-auth-pill--tabbar`})]}),(0,d.jsxs)(`div`,{className:`kai-voh-body`,ref:o,children:[(0,d.jsx)(`h2`,{id:`kaivoh-title`,className:`sr-only`,children:`Kai Portal`}),(0,d.jsxs)(f,{children:[(0,d.jsx)(`section`,{className:`portal-pane portal-pane--voh`,style:{display:y===`voh`?`block`:`none`},"aria-hidden":y!==`voh`,children:(0,d.jsx)(u.Suspense,{fallback:(0,d.jsxs)(`div`,{className:`kai-voh-center`,children:[(0,d.jsx)(`div`,{className:`kai-voh-spinner`}),(0,d.jsx)(`div`,{children:`Summoning Voh…`})]}),children:(0,d.jsx)(m,{})})}),(0,d.jsx)(`section`,{className:`portal-pane portal-pane--realms`,style:{display:y===`realms`?`block`:`none`},"aria-hidden":y!==`realms`,children:D?(0,d.jsx)(u.Suspense,{fallback:(0,d.jsxs)(`div`,{className:`kai-voh-center`,children:[(0,d.jsx)(`div`,{className:`kai-voh-spinner`}),(0,d.jsx)(`div`,{children:`Opening Kai Realms…`})]}),children:(0,d.jsx)(h,{onClose:()=>k(`voh`)})}):null})]})]})]})]})]}),document.body):null}export{E as default}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KaiVohApp-5AHr3VoS.js","assets/index-DtFxxvye.js","assets/index-BgUnq8XG.css","assets/prop-types-YkQRgLAR.js","assets/VerifierFrame-C3wusEJg.js","assets/VerifierFrame-FeNZTUNm.css","assets/SigilAuthContext-OFGaeRDv.js","assets/ticker-DQftO_Mf.js","assets/ticker-B0glx6FE.css","assets/sessionStorage-2Nr46eZD.js","assets/postSeal-DGeRGc3h.js","assets/webauthnKAS-Dx6bJ651.js","assets/KaiVohApp-Brroi08x.css","assets/KaiRealms--ZhEUi7A.js","assets/x-Dbqk5kTV.js","assets/KaiRealms-BZJvSAmB.css"])))=>i.map(i=>d[i]); +import{t as e}from"./x-Dbqk5kTV.js";import{Vt as t,ai as n,pi as r,ri as i,si as a}from"./index-DtFxxvye.js";import{t as o}from"./SigilAuthContext-OFGaeRDv.js";import{n as s}from"./sessionStorage-2Nr46eZD.js";import{t as c}from"./SigilAuthProvider-CXn4HNTZ.js";var l=r(n(),1),u=r(a(),1),d=r(t(),1),f=class extends u.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[KaiVoh] render error:`,e,t)}render(){return this.state.error?(0,d.jsxs)(`div`,{style:{padding:`1rem`,textAlign:`center`},children:[(0,d.jsx)(`h2`,{style:{fontSize:18,fontWeight:600},children:`KaiVoh failed to load`}),(0,d.jsx)(`p`,{style:{opacity:.8,marginTop:8},children:this.state.error.message}),(0,d.jsxs)(`details`,{style:{opacity:.65,marginTop:12,textAlign:`left`},children:[(0,d.jsx)(`summary`,{children:`Details`}),(0,d.jsx)(`pre`,{style:{whiteSpace:`pre-wrap`},children:String(this.state.error.stack??``)})]})]}):this.props.children}};function p(){let e=(0,u.useContext)(o);if(!e)throw Error(`useSigilAuth must be used inside `);return e}var m=(0,u.lazy)(()=>i(()=>import(`./KaiVohApp-5AHr3VoS.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))),h=(0,u.lazy)(()=>i(()=>import(`./KaiRealms--ZhEUi7A.js`),__vite__mapDeps([13,1,2,14,15]))),g=(1+Math.sqrt(5))/2,_=5.236,v=610,y=377;function b({className:e}){let t=(0,u.useId)();return(0,d.jsxs)(`svg`,{className:e,width:v,height:y,viewBox:`0 0 ${v} ${y}`,"aria-hidden":`true`,focusable:`false`,children:[(0,d.jsx)(`defs`,{children:(0,d.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,d.jsx)(`stop`,{offset:`0%`,stopColor:`currentColor`,stopOpacity:`0.0`}),(0,d.jsx)(`stop`,{offset:`40%`,stopColor:`currentColor`,stopOpacity:`0.5`}),(0,d.jsx)(`stop`,{offset:`100%`,stopColor:`currentColor`,stopOpacity:`0.0`})]})}),(0,d.jsxs)(`g`,{fill:`none`,stroke:`url(#${t})`,strokeWidth:`2`,children:[(0,d.jsx)(`path`,{d:`M377 0 A377 377 0 0 1 0 377`}),(0,d.jsx)(`path`,{d:`M233 0 A233 233 0 0 1 0 233`}),(0,d.jsx)(`path`,{d:`M144 0 A144 144 0 0 1 0 144`}),(0,d.jsx)(`path`,{d:`M89 0 A89 89 0 0 1 0 89`}),(0,d.jsx)(`path`,{d:`M55 0 A55 55 0 0 1 0 55`}),(0,d.jsx)(`path`,{d:`M34 0 A34 34 0 0 1 0 34`}),(0,d.jsx)(`path`,{d:`M21 0 A21 21 0 0 1 0 21`})]})]})}function x({className:e}){return(0,d.jsxs)(`div`,{className:`seal-emblem ${e??``}`,"aria-hidden":`true`,children:[(0,d.jsx)(`div`,{className:`seal-ring seal-ring--outer`}),(0,d.jsx)(`div`,{className:`seal-ring seal-ring--inner`}),(0,d.jsx)(`div`,{className:`seal-core`})]})}function S({className:e}){let{auth:t}=p(),n=t.meta;if(!n)return null;let r=[`Pulse: ${n.pulse}`,`Beat: ${n.beat}`,`Step: ${n.stepIndex}`,`Day: ${n.chakraDay}`];return n.sigilId&&r.push(`Sigil: ${n.sigilId}`),n.userPhiKey&&r.push(`PhiKey: ${n.userPhiKey}`),(0,d.jsxs)(`div`,{className:`sigil-auth-pill ${e??``}`,role:`status`,"aria-live":`polite`,title:r.join(` • `),style:{maxWidth:`100%`,overflowX:`auto`,whiteSpace:`nowrap`},children:[(0,d.jsx)(`span`,{className:`sigil-auth-pill__dot`,"aria-hidden":`true`}),(0,d.jsxs)(`span`,{className:`sigil-auth-pill__text mono`,children:[`Sealed • `,n.pulse,` • `,n.chakraDay,n.sigilId?` • ${n.sigilId}`:``]})]})}function C(e){return e?Array.from(e.querySelectorAll([`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`))).filter(e=>!e.hasAttribute(`disabled`)&&!e.getAttribute(`aria-hidden`)):[]}function w(e){return e?e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?!e.disabled:!!(e instanceof HTMLElement&&e.isContentEditable):!1}function T(e){if(!e||e instanceof HTMLTextAreaElement)return!1;if(e instanceof HTMLSelectElement)return!0;if(e instanceof HTMLInputElement){let t=e.type.toLowerCase();return![`button`,`submit`,`reset`,`checkbox`,`radio`,`file`,`range`,`color`].includes(t)}return!1}function E({open:t,onClose:n}){let r=(0,u.useCallback)(()=>{s(),n()},[n]),i=(0,u.useRef)(null),a=(0,u.useRef)(null),o=(0,u.useRef)(null),p=(0,u.useRef)(0),v=(0,u.useRef)(0),[y,E]=(0,u.useState)(`voh`),[D,O]=(0,u.useState)(!1),k=(0,u.useCallback)(e=>{e===`realms`&&!D&&O(!0),E(e)},[D]),A=(0,u.useMemo)(()=>({breath:`${_}s`,phi:`${g}`}),[]);(0,u.useEffect)(()=>{if(!t)return;let e={bodyOverflow:document.body.style.overflow,bodyPosition:document.body.style.position,bodyTop:document.body.style.top,bodyLeft:document.body.style.left,bodyRight:document.body.style.right,bodyWidth:document.body.style.width,bodyHeight:document.body.style.height,htmlOverflow:document.documentElement.style.overflow,htmlHeight:document.documentElement.style.height,docOverscroll:document.documentElement.style.getPropertyValue(`overscroll-behavior`),bodyOverscroll:document.body.style.getPropertyValue(`overscroll-behavior`),touchAction:document.documentElement.style.touchAction,breath:document.documentElement.style.getPropertyValue(`--kai-breath`),phi:document.documentElement.style.getPropertyValue(`--kai-phi`),kaiVh:document.documentElement.style.getPropertyValue(`--kai-vh`)};v.current=window.scrollY||window.pageYOffset||0,document.body.style.position=`fixed`,document.body.style.top=`-${v.current}px`,document.body.style.left=`0`,document.body.style.right=`0`,document.body.style.width=`100%`,document.body.style.height=`100%`,document.body.style.overflow=`hidden`,document.documentElement.style.overflow=`hidden`,document.documentElement.style.height=`100%`,document.documentElement.style.setProperty(`overscroll-behavior`,`none`),document.body.style.setProperty(`overscroll-behavior`,`none`),document.documentElement.style.touchAction=`manipulation`,document.documentElement.style.setProperty(`--kai-breath`,A.breath),document.documentElement.style.setProperty(`--kai-phi`,A.phi);let n=()=>{document.documentElement.style.setProperty(`--kai-vh`,`${window.innerHeight}px`)};n(),window.addEventListener(`resize`,n,{passive:!0});let s=o.current;s&&(s.style.overscrollBehavior=`contain`,s.style.webkitOverflowScrolling=`touch`),a.current?.focus();let c=e=>{p.current=e.touches[0]?.clientY??0},l=e=>{if(e.touches.length!==1)return;let t=o.current;if(!t){e.preventDefault();return}let n=e.target;if(!(n&&t.contains(n))){e.preventDefault();return}let r=(e.touches[0]?.clientY??p.current)-p.current,i=t.scrollTop<=0,a=t.scrollTop+t.clientHeight>=t.scrollHeight-1;(i&&r>0||a&&r<0)&&e.preventDefault()},u=e=>{let t=o.current;if(!t){e.preventDefault();return}let n=e.target;if(!(n&&t.contains(n))){e.preventDefault();return}let r=e.deltaY,i=t.scrollTop<=0,a=t.scrollTop+t.clientHeight>=t.scrollHeight-1;(i&&r<0||a&&r>0)&&e.preventDefault()},d=e=>{if(e.key===`Escape`){if(w(document.activeElement))return;e.preventDefault(),e.stopPropagation(),r();return}if(e.key===`Enter`){let t=e.target;T(t)&&i.current?.contains(t)&&e.preventDefault()}if(e.key!==`Tab`)return;let t=i.current,n=C(t);if(n.length===0)return;let a=document.activeElement,o=n[0],s=n[n.length-1];if(!a||!t?.contains(a)){e.preventDefault(),o.focus();return}e.shiftKey?a===o&&(e.preventDefault(),s.focus()):a===s&&(e.preventDefault(),o.focus())},f=new AbortController,m={passive:!0,signal:f.signal,capture:!0},h={passive:!1,signal:f.signal,capture:!0},g={passive:!1,signal:f.signal,capture:!0},_={signal:f.signal,capture:!0};document.addEventListener(`touchstart`,c,m),document.addEventListener(`touchmove`,l,h),document.addEventListener(`wheel`,u,g),document.addEventListener(`keydown`,d,_);let y=e=>{e.preventDefault()};return document.addEventListener(`gesturestart`,y,{passive:!1,signal:f.signal}),document.addEventListener(`gesturechange`,y,{passive:!1,signal:f.signal}),document.addEventListener(`gestureend`,y,{passive:!1,signal:f.signal}),document.addEventListener(`submit`,e=>{let t=e.target;t&&i.current?.contains(t)&&(e.preventDefault(),e.stopPropagation())},{capture:!0,signal:f.signal}),()=>{f.abort(),window.removeEventListener(`resize`,n),document.body.style.overflow=e.bodyOverflow,document.body.style.position=e.bodyPosition,document.body.style.top=e.bodyTop,document.body.style.left=e.bodyLeft,document.body.style.right=e.bodyRight,document.body.style.width=e.bodyWidth,document.body.style.height=e.bodyHeight,document.documentElement.style.overflow=e.htmlOverflow,document.documentElement.style.height=e.htmlHeight,e.docOverscroll?document.documentElement.style.setProperty(`overscroll-behavior`,e.docOverscroll):document.documentElement.style.removeProperty(`overscroll-behavior`),e.bodyOverscroll?document.body.style.setProperty(`overscroll-behavior`,e.bodyOverscroll):document.body.style.removeProperty(`overscroll-behavior`),document.documentElement.style.touchAction=e.touchAction,e.breath?document.documentElement.style.setProperty(`--kai-breath`,e.breath):document.documentElement.style.removeProperty(`--kai-breath`),e.phi?document.documentElement.style.setProperty(`--kai-phi`,e.phi):document.documentElement.style.removeProperty(`--kai-phi`),e.kaiVh?document.documentElement.style.setProperty(`--kai-vh`,e.kaiVh):document.documentElement.style.removeProperty(`--kai-vh`);let t=v.current||0;window.scrollTo(0,t)}},[t,r,A.breath,A.phi]);let j=(0,u.useCallback)(e=>{e.stopPropagation(),r()},[r]),M=(0,u.useCallback)(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),r())},[r]);return t?(0,l.createPortal)((0,d.jsxs)(`div`,{ref:i,className:`kai-voh-modal-backdrop atlantean-veil`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`kaivoh-title`,"data-view":y,children:[(0,d.jsx)(`div`,{className:`atlantean-stars`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`atlantean-halo atlantean-halo--1`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`atlantean-halo atlantean-halo--2`,"aria-hidden":`true`}),(0,d.jsxs)(`div`,{className:`kai-voh-container kai-pulse-border glass-omni`,role:`document`,children:[(0,d.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`phi-grid`,"aria-hidden":`true`}),(0,d.jsx)(b,{className:`phi-spiral phi-spiral--tl`}),(0,d.jsx)(b,{className:`phi-spiral phi-spiral--br`}),(0,d.jsxs)(c,{children:[y!==`realms`&&(0,d.jsx)(`button`,{ref:a,type:`button`,className:`kai-voh-close auric-btn`,"aria-label":`Close portal`,onPointerDown:j,onKeyDown:M,children:(0,d.jsx)(e,{size:22,"aria-hidden":`true`})}),y!==`realms`&&(0,d.jsx)(`div`,{className:`voh-top-orb`,"aria-hidden":`true`,children:(0,d.jsx)(x,{})}),(0,d.jsxs)(`div`,{className:`kai-voh-tabbar`,role:`tablist`,"aria-label":`Kai portal views`,children:[(0,d.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`voh`,className:`kai-voh-tab auric-tab ${y===`voh`?`active`:``}`,onClick:()=>k(`voh`),children:[(0,d.jsx)(`span`,{className:`tab-glyph`,"aria-hidden":`true`,children:`🜂`}),` `,`Voh`]}),(0,d.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`realms`,className:`kai-voh-tab auric-tab ${y===`realms`?`active`:``}`,onClick:()=>k(`realms`),children:[(0,d.jsx)(`span`,{className:`tab-glyph`,"aria-hidden":`true`,children:`⚚`}),` `,`Realms`]}),(0,d.jsx)(`div`,{className:`breath-meter`,"aria-hidden":`true`,children:(0,d.jsx)(`div`,{className:`breath-meter__dot`})}),(0,d.jsx)(S,{className:`sigil-auth-pill--tabbar`})]}),(0,d.jsxs)(`div`,{className:`kai-voh-body`,ref:o,children:[(0,d.jsx)(`h2`,{id:`kaivoh-title`,className:`sr-only`,children:`Kai Portal`}),(0,d.jsxs)(f,{children:[(0,d.jsx)(`section`,{className:`portal-pane portal-pane--voh`,style:{display:y===`voh`?`block`:`none`},"aria-hidden":y!==`voh`,children:(0,d.jsx)(u.Suspense,{fallback:(0,d.jsxs)(`div`,{className:`kai-voh-center`,children:[(0,d.jsx)(`div`,{className:`kai-voh-spinner`}),(0,d.jsx)(`div`,{children:`Summoning Voh…`})]}),children:(0,d.jsx)(m,{})})}),(0,d.jsx)(`section`,{className:`portal-pane portal-pane--realms`,style:{display:y===`realms`?`block`:`none`},"aria-hidden":y!==`realms`,children:D?(0,d.jsx)(u.Suspense,{fallback:(0,d.jsxs)(`div`,{className:`kai-voh-center`,children:[(0,d.jsx)(`div`,{className:`kai-voh-spinner`}),(0,d.jsx)(`div`,{children:`Opening Kai Realms…`})]}),children:(0,d.jsx)(h,{onClose:()=>k(`voh`)})}):null})]})]})]})]})]}),document.body):null}export{E as default}; \ No newline at end of file diff --git a/dist/assets/PShort-Bi2Yj-fV.js b/dist/assets/PShort-BMtWHQuc.js similarity index 94% rename from dist/assets/PShort-Bi2Yj-fV.js rename to dist/assets/PShort-BMtWHQuc.js index 2018f7c68..d6d095b2b 100644 --- a/dist/assets/PShort-Bi2Yj-fV.js +++ b/dist/assets/PShort-BMtWHQuc.js @@ -1 +1 @@ -import{Vt as e,ei as t,ni as n,pi as r,si as i,ti as a}from"./index-BfXtjgZ1.js";var o=r(i(),1),s=r(e(),1);function c(e){let t=e.trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function l(e){let t=c(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``),c(t)}function u(){let e=a(),r=t(),i=n();return(0,o.useEffect)(()=>{let t=typeof i.token==`string`?i.token:``,n=typeof i[`*`]==`string`?i[`*`]:``,a=t&&n?`${t}/${n}`:t||n,o=new URLSearchParams(r.search),s=new URLSearchParams(r.hash.startsWith(`#`)?r.hash.slice(1):r.hash),c=o.get(`t`)||o.get(`p`)||o.get(`token`)||s.get(`t`)||s.get(`p`)||s.get(`token`)||``,u=a||c;u&&e(`/p~${l(u)}`,{replace:!0})},[e,r.search,r.hash,i]),(0,s.jsxs)(`div`,{className:`notfound`,role:`region`,"aria-label":`Redirecting`,children:[(0,s.jsx)(`div`,{className:`notfound__title`,children:`Redirecting…`}),(0,s.jsx)(`div`,{className:`notfound__hint`,children:`Normalizing payload token.`})]})}export{u as default}; \ No newline at end of file +import{Vt as e,ei as t,ni as n,pi as r,si as i,ti as a}from"./index-DtFxxvye.js";var o=r(i(),1),s=r(e(),1);function c(e){let t=e.trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function l(e){let t=c(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``),c(t)}function u(){let e=a(),r=t(),i=n();return(0,o.useEffect)(()=>{let t=typeof i.token==`string`?i.token:``,n=typeof i[`*`]==`string`?i[`*`]:``,a=t&&n?`${t}/${n}`:t||n,o=new URLSearchParams(r.search),s=new URLSearchParams(r.hash.startsWith(`#`)?r.hash.slice(1):r.hash),c=o.get(`t`)||o.get(`p`)||o.get(`token`)||s.get(`t`)||s.get(`p`)||s.get(`token`)||``,u=a||c;u&&e(`/p~${l(u)}`,{replace:!0})},[e,r.search,r.hash,i]),(0,s.jsxs)(`div`,{className:`notfound`,role:`region`,"aria-label":`Redirecting`,children:[(0,s.jsx)(`div`,{className:`notfound__title`,children:`Redirecting…`}),(0,s.jsx)(`div`,{className:`notfound__hint`,children:`Normalizing payload token.`})]})}export{u as default}; \ No newline at end of file diff --git a/dist/assets/SealMomentModal-DGtbCn7A.js b/dist/assets/SealMomentModal-0M7C7KOU.js similarity index 99% rename from dist/assets/SealMomentModal-DGtbCn7A.js rename to dist/assets/SealMomentModal-0M7C7KOU.js index b96507a8a..3ef476f82 100644 --- a/dist/assets/SealMomentModal-DGtbCn7A.js +++ b/dist/assets/SealMomentModal-0M7C7KOU.js @@ -1 +1 @@ -import{Vt as e,ai as t,pi as n,si as r}from"./index-BfXtjgZ1.js";var i=n(r(),1),a=n(t(),1),o=n(e(),1),s=`sigil:urls`;function c(e){if(!(typeof window>`u`))try{let t=window.localStorage.getItem(s),n=t?JSON.parse(t):[];n.includes(e)||(n.push(e),window.localStorage.setItem(s,JSON.stringify(n))),window.dispatchEvent(new CustomEvent(`sigil:url-registered`,{detail:{url:e}}))}catch{}}var l=({open:e,url:t,hash:n,onClose:r,onDownloadZip:s})=>{let l=(0,i.useRef)(null),h=(0,i.useRef)(null),g=(0,i.useRef)(null),[_,v]=(0,i.useState)(``),y=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!(!e||!t)&&y.current!==t){if(y.current=t,typeof window<`u`&&typeof window.__SIGIL__?.registerSigilUrl==`function`)try{window.__SIGIL__.registerSigilUrl(t)}catch{c(t)}else c(t);if(typeof window<`u`&&typeof window.__SIGIL__?.registerSend==`function`)try{window.__SIGIL__.registerSend({type:`sigil:mint`,url:t,hash:n})}catch{}}},[e,t,n]);let b=(0,i.useMemo)(()=>{if(typeof navigator>`u`)return!1;let e=navigator;return typeof e.share==`function`?t&&typeof e.canShare==`function`?e.canShare({url:t}):!0:!1},[t]),x=(0,i.useCallback)(e=>{let t=l.current;if(!t)return;let n=t.querySelectorAll([`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`));if(n.length===0)return;let r=n[0],i=n[n.length-1];!e.shiftKey&&document.activeElement===i?(e.preventDefault(),r.focus()):e.shiftKey&&document.activeElement===r&&(e.preventDefault(),i.focus())},[]);(0,i.useEffect)(()=>{if(!e)return;g.current=document.activeElement??null;let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.setTimeout(()=>h.current?.focus({preventScroll:!0}),0),r=e=>{e.key===`Tab`&&x(e)};return document.addEventListener(`keydown`,r,!0),()=>{document.body.style.overflow=t,document.removeEventListener(`keydown`,r,!0),window.clearTimeout(n),g.current?.focus?.()}},[e,x]);let S=e=>{v(e),window.setTimeout(()=>v(``),900)},C=async(e,t)=>{try{if(typeof navigator>`u`)throw Error(`no navigator`);if(!navigator.clipboard?.writeText)throw Error(`no clipboard`);await navigator.clipboard.writeText(e),S(`${t} copied to clipboard`)}catch{S(`Could not copy ${t}`)}},w=async()=>{try{b&&typeof navigator<`u`?(await navigator.share?.({title:`Kairos Sigil-Glyph`,text:`Sealed Kairos Moment`,url:t}),S(`Share sheet opened`)):await C(t,`Link`)}catch(e){S(`Share canceled: ${e instanceof Error?e.message:String(e)}`)}},[T,E]=(0,i.useState)(!1),D=async()=>{if(!T){E(!0);try{let e=await s?.();typeof e==`string`&&e.length>0?S(e):S(`Export ready`)}catch(e){S(`Export failed: ${e instanceof Error?e.message:String(e)}`)}finally{E(!1)}}},O=(0,i.useMemo)(()=>n?n.slice(0,16):`—`,[n]),k=e=>{e.preventDefault(),e.stopPropagation(),r?.()},A=e=>{e.target===e.currentTarget&&e.preventDefault()};return e?(0,a.createPortal)((0,o.jsxs)(`div`,{className:`seal-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`seal-title`,"aria-describedby":`seal-desc`,"data-state":`open`,onClick:e=>e.stopPropagation(),onPointerDown:A,children:[(0,o.jsx)(`div`,{className:`seal-veil`,"aria-hidden":`true`}),(0,o.jsxs)(`div`,{ref:l,className:`seal-card`,role:`document`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--tl`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--tr`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--bl`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--br`,"aria-hidden":`true`}),(0,o.jsx)(`button`,{ref:h,className:`seal-close`,"aria-label":`Close`,onClick:k,type:`button`,children:(0,o.jsx)(u,{})}),(0,o.jsxs)(`header`,{className:`seal-header`,children:[(0,o.jsx)(`h3`,{id:`seal-title`,className:`seal-title`,children:`Moment Sealed`}),(0,o.jsx)(`p`,{id:`seal-desc`,className:`seal-subtitle`,children:`Your Kairos imprint is preserved. Proceed to the URL below to Inhale Claimed Ownership.`})]}),(0,o.jsxs)(`label`,{className:`field`,children:[(0,o.jsx)(`span`,{className:`field-label`,children:`Hash`}),(0,o.jsxs)(`div`,{className:`row`,children:[(0,o.jsx)(`code`,{className:`hash`,title:n||`—`,children:n?O:`—`}),(0,o.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(n,`Hash`),disabled:!n,"aria-label":`Copy hash`,title:`Copy hash`,type:`button`,children:(0,o.jsx)(p,{})})]}),n&&(0,o.jsxs)(`p`,{className:`micro`,children:[`Full: `,(0,o.jsx)(`span`,{className:`mono`,children:n})]})]}),(0,o.jsxs)(`label`,{className:`field`,children:[(0,o.jsx)(`span`,{className:`field-label`,children:`URL`}),(0,o.jsxs)(`div`,{className:`row`,children:[(0,o.jsx)(`input`,{className:`url-input`,value:t,readOnly:!0,"aria-readonly":`true`,spellCheck:!1}),(0,o.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(t,`Link`),disabled:!t,"aria-label":`Copy link`,title:`Copy link`,type:`button`,children:(0,o.jsx)(p,{})}),t&&(0,o.jsx)(`a`,{className:`open-link`,href:t,target:`_blank`,rel:`noopener`,"aria-label":`Open link in new tab`,title:`Open link`,children:(0,o.jsx)(m,{})})]})]}),(0,o.jsxs)(`div`,{className:`cta-row`,children:[(0,o.jsxs)(`button`,{className:`primary cta`,onClick:D,type:`button`,disabled:T,children:[(0,o.jsx)(f,{}),(0,o.jsx)(`span`,{children:T?`Sealing...`:`Inhale ΦKey Proof`})]}),(0,o.jsxs)(`button`,{className:`secondary cta`,onClick:w,type:`button`,children:[(0,o.jsx)(d,{}),(0,o.jsx)(`span`,{children:b?`Share`:`Remember Link`})]})]}),(0,o.jsx)(`p`,{className:`fine`,children:`This moment is now sealed in time. Use the link above within the next 11 breaths to claim ownership & gain permanent access to this Kairos moment.`}),(0,o.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:_})]})]}),document.body):null},u=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`seal-close-ico`,children:[(0,o.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.25`,opacity:`.35`}),(0,o.jsx)(`path`,{d:`M7 7l10 10M17 7L7 17`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})]}),d=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`path`,{d:`M15 8a3 3 0 100-6 3 3 0 000 6zM6 14a3 3 0 100-6 3 3 0 000 6zm9 12a3 3 0 100-6 3 3 0 000 6z`,fill:`currentColor`}),(0,o.jsx)(`path`,{d:`M8.6 9.7l6.8-3.4M8.6 12.3l6.8 3.4`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`})]}),f=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`}),(0,o.jsx)(`path`,{d:`M8 12.5l2.5 2.5L16 9`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),p=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`rect`,{x:`9`,y:`9`,width:`10`,height:`10`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,o.jsx)(`rect`,{x:`5`,y:`5`,width:`10`,height:`10`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`,opacity:`.5`})]}),m=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`path`,{d:`M10 14a5 5 0 007.07 0l1.41-1.41a5 5 0 00-7.07-7.07L10 6`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,o.jsx)(`path`,{d:`M14 10a5 5 0 00-7.07 0L5.5 11.43a5 5 0 007.07 7.07L14 18`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`})]}),h=l;export{h as t}; \ No newline at end of file +import{Vt as e,ai as t,pi as n,si as r}from"./index-DtFxxvye.js";var i=n(r(),1),a=n(t(),1),o=n(e(),1),s=`sigil:urls`;function c(e){if(!(typeof window>`u`))try{let t=window.localStorage.getItem(s),n=t?JSON.parse(t):[];n.includes(e)||(n.push(e),window.localStorage.setItem(s,JSON.stringify(n))),window.dispatchEvent(new CustomEvent(`sigil:url-registered`,{detail:{url:e}}))}catch{}}var l=({open:e,url:t,hash:n,onClose:r,onDownloadZip:s})=>{let l=(0,i.useRef)(null),h=(0,i.useRef)(null),g=(0,i.useRef)(null),[_,v]=(0,i.useState)(``),y=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!(!e||!t)&&y.current!==t){if(y.current=t,typeof window<`u`&&typeof window.__SIGIL__?.registerSigilUrl==`function`)try{window.__SIGIL__.registerSigilUrl(t)}catch{c(t)}else c(t);if(typeof window<`u`&&typeof window.__SIGIL__?.registerSend==`function`)try{window.__SIGIL__.registerSend({type:`sigil:mint`,url:t,hash:n})}catch{}}},[e,t,n]);let b=(0,i.useMemo)(()=>{if(typeof navigator>`u`)return!1;let e=navigator;return typeof e.share==`function`?t&&typeof e.canShare==`function`?e.canShare({url:t}):!0:!1},[t]),x=(0,i.useCallback)(e=>{let t=l.current;if(!t)return;let n=t.querySelectorAll([`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`));if(n.length===0)return;let r=n[0],i=n[n.length-1];!e.shiftKey&&document.activeElement===i?(e.preventDefault(),r.focus()):e.shiftKey&&document.activeElement===r&&(e.preventDefault(),i.focus())},[]);(0,i.useEffect)(()=>{if(!e)return;g.current=document.activeElement??null;let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.setTimeout(()=>h.current?.focus({preventScroll:!0}),0),r=e=>{e.key===`Tab`&&x(e)};return document.addEventListener(`keydown`,r,!0),()=>{document.body.style.overflow=t,document.removeEventListener(`keydown`,r,!0),window.clearTimeout(n),g.current?.focus?.()}},[e,x]);let S=e=>{v(e),window.setTimeout(()=>v(``),900)},C=async(e,t)=>{try{if(typeof navigator>`u`)throw Error(`no navigator`);if(!navigator.clipboard?.writeText)throw Error(`no clipboard`);await navigator.clipboard.writeText(e),S(`${t} copied to clipboard`)}catch{S(`Could not copy ${t}`)}},w=async()=>{try{b&&typeof navigator<`u`?(await navigator.share?.({title:`Kairos Sigil-Glyph`,text:`Sealed Kairos Moment`,url:t}),S(`Share sheet opened`)):await C(t,`Link`)}catch(e){S(`Share canceled: ${e instanceof Error?e.message:String(e)}`)}},[T,E]=(0,i.useState)(!1),D=async()=>{if(!T){E(!0);try{let e=await s?.();typeof e==`string`&&e.length>0?S(e):S(`Export ready`)}catch(e){S(`Export failed: ${e instanceof Error?e.message:String(e)}`)}finally{E(!1)}}},O=(0,i.useMemo)(()=>n?n.slice(0,16):`—`,[n]),k=e=>{e.preventDefault(),e.stopPropagation(),r?.()},A=e=>{e.target===e.currentTarget&&e.preventDefault()};return e?(0,a.createPortal)((0,o.jsxs)(`div`,{className:`seal-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`seal-title`,"aria-describedby":`seal-desc`,"data-state":`open`,onClick:e=>e.stopPropagation(),onPointerDown:A,children:[(0,o.jsx)(`div`,{className:`seal-veil`,"aria-hidden":`true`}),(0,o.jsxs)(`div`,{ref:l,className:`seal-card`,role:`document`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--tl`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--tr`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--bl`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--br`,"aria-hidden":`true`}),(0,o.jsx)(`button`,{ref:h,className:`seal-close`,"aria-label":`Close`,onClick:k,type:`button`,children:(0,o.jsx)(u,{})}),(0,o.jsxs)(`header`,{className:`seal-header`,children:[(0,o.jsx)(`h3`,{id:`seal-title`,className:`seal-title`,children:`Moment Sealed`}),(0,o.jsx)(`p`,{id:`seal-desc`,className:`seal-subtitle`,children:`Your Kairos imprint is preserved. Proceed to the URL below to Inhale Claimed Ownership.`})]}),(0,o.jsxs)(`label`,{className:`field`,children:[(0,o.jsx)(`span`,{className:`field-label`,children:`Hash`}),(0,o.jsxs)(`div`,{className:`row`,children:[(0,o.jsx)(`code`,{className:`hash`,title:n||`—`,children:n?O:`—`}),(0,o.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(n,`Hash`),disabled:!n,"aria-label":`Copy hash`,title:`Copy hash`,type:`button`,children:(0,o.jsx)(p,{})})]}),n&&(0,o.jsxs)(`p`,{className:`micro`,children:[`Full: `,(0,o.jsx)(`span`,{className:`mono`,children:n})]})]}),(0,o.jsxs)(`label`,{className:`field`,children:[(0,o.jsx)(`span`,{className:`field-label`,children:`URL`}),(0,o.jsxs)(`div`,{className:`row`,children:[(0,o.jsx)(`input`,{className:`url-input`,value:t,readOnly:!0,"aria-readonly":`true`,spellCheck:!1}),(0,o.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(t,`Link`),disabled:!t,"aria-label":`Copy link`,title:`Copy link`,type:`button`,children:(0,o.jsx)(p,{})}),t&&(0,o.jsx)(`a`,{className:`open-link`,href:t,target:`_blank`,rel:`noopener`,"aria-label":`Open link in new tab`,title:`Open link`,children:(0,o.jsx)(m,{})})]})]}),(0,o.jsxs)(`div`,{className:`cta-row`,children:[(0,o.jsxs)(`button`,{className:`primary cta`,onClick:D,type:`button`,disabled:T,children:[(0,o.jsx)(f,{}),(0,o.jsx)(`span`,{children:T?`Sealing...`:`Inhale ΦKey Proof`})]}),(0,o.jsxs)(`button`,{className:`secondary cta`,onClick:w,type:`button`,children:[(0,o.jsx)(d,{}),(0,o.jsx)(`span`,{children:b?`Share`:`Remember Link`})]})]}),(0,o.jsx)(`p`,{className:`fine`,children:`This moment is now sealed in time. Use the link above within the next 11 breaths to claim ownership & gain permanent access to this Kairos moment.`}),(0,o.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:_})]})]}),document.body):null},u=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`seal-close-ico`,children:[(0,o.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.25`,opacity:`.35`}),(0,o.jsx)(`path`,{d:`M7 7l10 10M17 7L7 17`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})]}),d=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`path`,{d:`M15 8a3 3 0 100-6 3 3 0 000 6zM6 14a3 3 0 100-6 3 3 0 000 6zm9 12a3 3 0 100-6 3 3 0 000 6z`,fill:`currentColor`}),(0,o.jsx)(`path`,{d:`M8.6 9.7l6.8-3.4M8.6 12.3l6.8 3.4`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`})]}),f=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`}),(0,o.jsx)(`path`,{d:`M8 12.5l2.5 2.5L16 9`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),p=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`rect`,{x:`9`,y:`9`,width:`10`,height:`10`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,o.jsx)(`rect`,{x:`5`,y:`5`,width:`10`,height:`10`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`,opacity:`.5`})]}),m=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`path`,{d:`M10 14a5 5 0 007.07 0l1.41-1.41a5 5 0 00-7.07-7.07L10 6`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,o.jsx)(`path`,{d:`M14 10a5 5 0 00-7.07 0L5.5 11.43a5 5 0 007.07 7.07L14 18`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`})]}),h=l;export{h as t}; \ No newline at end of file diff --git a/dist/assets/SigilAuthContext-DxAUceu4.js b/dist/assets/SigilAuthContext-OFGaeRDv.js similarity index 73% rename from dist/assets/SigilAuthContext-DxAUceu4.js rename to dist/assets/SigilAuthContext-OFGaeRDv.js index f65c4f035..880777b03 100644 --- a/dist/assets/SigilAuthContext-DxAUceu4.js +++ b/dist/assets/SigilAuthContext-OFGaeRDv.js @@ -1 +1 @@ -import{pi as e,si as t}from"./index-BfXtjgZ1.js";var n=e(t(),1);const r=(0,n.createContext)(null);function i(){let e=(0,n.useContext)(r);if(!e)throw Error(`useSigilAuth must be used within .`);return e}export{i as n,r as t}; \ No newline at end of file +import{pi as e,si as t}from"./index-DtFxxvye.js";var n=e(t(),1);const r=(0,n.createContext)(null);function i(){let e=(0,n.useContext)(r);if(!e)throw Error(`useSigilAuth must be used within .`);return e}export{i as n,r as t}; \ No newline at end of file diff --git a/dist/assets/SigilAuthProvider-DC455823.js b/dist/assets/SigilAuthProvider-CXn4HNTZ.js similarity index 91% rename from dist/assets/SigilAuthProvider-DC455823.js rename to dist/assets/SigilAuthProvider-CXn4HNTZ.js index 7498b2a73..ed062f198 100644 --- a/dist/assets/SigilAuthProvider-DC455823.js +++ b/dist/assets/SigilAuthProvider-CXn4HNTZ.js @@ -1 +1 @@ -import{Vt as e,pi as t,si as n}from"./index-BfXtjgZ1.js";import{t as r}from"./SigilAuthContext-DxAUceu4.js";var i=t(n(),1),a=t(e(),1),o=`kai.sigilAuth.v1`,s={svgText:null,meta:null};function c(e){if(typeof e!=`object`||!e)return!1;let t=e;if(!(typeof t.pulse==`number`&&Number.isFinite(t.pulse)&&typeof t.beat==`number`&&Number.isFinite(t.beat)&&typeof t.stepIndex==`number`&&Number.isFinite(t.stepIndex)&&typeof t.chakraDay==`string`&&typeof t.kaiSignature==`string`))return!1;let n=e=>e===void 0||typeof e==`string`;return n(t.userPhiKey)&&n(t.sigilId)&&n(t.sigilActionUrl)}function l(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.svgText===null||typeof t.svgText==`string`,r=t.meta===null||typeof t.meta==`object`&&t.meta!==null&&c(t.meta);return n&&r}function u(){if(typeof window>`u`)return s;try{let e=window.localStorage.getItem(o);if(!e)return s;let t=JSON.parse(e);return l(t)?t:s}catch{return s}}function d(e){try{window.localStorage.setItem(o,JSON.stringify(e))}catch{}}function f(){try{window.localStorage.removeItem(o)}catch{}}function p({children:e}){let[t,n]=(0,i.useState)(()=>u()),c=(0,i.useCallback)((e,t)=>{let r={svgText:e,meta:t};n(r),typeof window<`u`&&d(r)},[]),l=(0,i.useCallback)(()=>{n(s),typeof window<`u`&&f()},[]);(0,i.useEffect)(()=>{let e=e=>{e.key===o&&n(u())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let p=(0,i.useMemo)(()=>({auth:t,setAuth:c,clearAuth:l}),[t,c,l]);return(0,a.jsx)(r.Provider,{value:p,children:e})}export{p as t}; \ No newline at end of file +import{Vt as e,pi as t,si as n}from"./index-DtFxxvye.js";import{t as r}from"./SigilAuthContext-OFGaeRDv.js";var i=t(n(),1),a=t(e(),1),o=`kai.sigilAuth.v1`,s={svgText:null,meta:null};function c(e){if(typeof e!=`object`||!e)return!1;let t=e;if(!(typeof t.pulse==`number`&&Number.isFinite(t.pulse)&&typeof t.beat==`number`&&Number.isFinite(t.beat)&&typeof t.stepIndex==`number`&&Number.isFinite(t.stepIndex)&&typeof t.chakraDay==`string`&&typeof t.kaiSignature==`string`))return!1;let n=e=>e===void 0||typeof e==`string`;return n(t.userPhiKey)&&n(t.sigilId)&&n(t.sigilActionUrl)}function l(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.svgText===null||typeof t.svgText==`string`,r=t.meta===null||typeof t.meta==`object`&&t.meta!==null&&c(t.meta);return n&&r}function u(){if(typeof window>`u`)return s;try{let e=window.localStorage.getItem(o);if(!e)return s;let t=JSON.parse(e);return l(t)?t:s}catch{return s}}function d(e){try{window.localStorage.setItem(o,JSON.stringify(e))}catch{}}function f(){try{window.localStorage.removeItem(o)}catch{}}function p({children:e}){let[t,n]=(0,i.useState)(()=>u()),c=(0,i.useCallback)((e,t)=>{let r={svgText:e,meta:t};n(r),typeof window<`u`&&d(r)},[]),l=(0,i.useCallback)(()=>{n(s),typeof window<`u`&&f()},[]);(0,i.useEffect)(()=>{let e=e=>{e.key===o&&n(u())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let p=(0,i.useMemo)(()=>({auth:t,setAuth:c,clearAuth:l}),[t,c,l]);return(0,a.jsx)(r.Provider,{value:p,children:e})}export{p as t}; \ No newline at end of file diff --git a/dist/assets/SigilExplorer-NDnyJCuL.js b/dist/assets/SigilExplorer-BOoXjADk.js similarity index 99% rename from dist/assets/SigilExplorer-NDnyJCuL.js rename to dist/assets/SigilExplorer-BOoXjADk.js index 5523eece4..3251aba47 100644 --- a/dist/assets/SigilExplorer-NDnyJCuL.js +++ b/dist/assets/SigilExplorer-BOoXjADk.js @@ -1,4 +1,4 @@ -import{$t as e,Bt as t,C as n,Cn as r,Dn as i,En as a,Gt as o,H as s,Ht as c,Jt as l,Kn as u,Kt as d,On as f,Qt as p,S as m,Sn as h,Tn as g,Ut as _,Vt as v,Wn as y,Wt as b,Xt as ee,Yn as x,Yt as S,Zr as C,Zt as w,_n as T,an as E,b as D,bn as te,cn as O,dn as k,en as ne,fn as re,gn as ie,gr as ae,hn as A,in as j,ln as M,mn as N,nn as oe,on as se,pi as ce,pn as le,qt as ue,rn as P,si as F,sn as I,tn as de,un as L,vn as R,wn as fe,x as pe,xn as me,yn as he,zt as ge}from"./index-BfXtjgZ1.js";var z=ce(F(),1);const _e={root:`#ff3b3b`,sacral:`#ff8a3d`,solar:`#ffd54a`,heart:`#3dff9a`,throat:`#46d3ff`,thirdEye:`#6b6cff`,crown:`#c18bff`};function ve(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`root`)?`root`:t.includes(`sacral`)?`sacral`:t.includes(`solar`)||t.includes(`plexus`)||t.includes(`sun`)?`solar`:t.includes(`heart`)?`heart`:t.includes(`throat`)?`throat`:t.includes(`third`)||t.includes(`eye`)||t.includes(`indigo`)?`thirdEye`:t.includes(`crown`)||t.includes(`krown`)||t.includes(`violet`)?`crown`:t===`1`?`root`:t===`2`?`sacral`:t===`3`?`solar`:t===`4`?`heart`:t===`5`?`throat`:t===`6`?`thirdEye`:t===`7`?`crown`:null:null}function ye(e){let t=ve(e),n=t?_e[t]:`var(--sx-accent)`;return{"--sx-chakra":n}}function B(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function V(e){if(typeof e==`number`)return!Number.isFinite(e)||Math.abs(e)<1e-12?void 0:Math.abs(e);if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Math.abs(t)>=1e-12)return Math.abs(t)}}function H(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`receive`)||t.includes(`received`)||t.includes(`inhale`)?`receive`:t.includes(`send`)||t.includes(`sent`)||t.includes(`exhale`)?`send`:null:null}function U(e){if(typeof e==`number`)return!Number.isFinite(e)||e<=0?void 0:e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&t>0)return t}}function W(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&t>0)return t}}function G(e){let t=e,n=B(t.feed)?t.feed:null,r=e=>e?H(e.phiDirection)||H(e.transferDirection)||H(e.transferMode)||H(e.transferKind):null,i=e=>{if(e)return e.phiDelta??e.phiSigned??e.phiChange},a=e=>e?V(e.transferAmountPhi)??V(e.transferPhi)??V(e.amountPhi)??V(e.phiAmount)??V(e.childAllocationPhi)??V(e.branchBasePhi):void 0,o=e=>e?U(e.amountUsd)??U(e.usdAmount)??U(e.usdValue)??U(e.valueUsd)??U(e.usd):void 0,s=e=>e?U(e.usdPerPhi)??U(e.fxUsdPerPhi)??U(e.usd_per_phi):void 0,c=e=>e?W(e.atPulse)??W(e.sentPulse)??W(e.senderKaiPulse)??W(e.transferPulse):void 0,l=r(t)??r(n),u=i(t)??i(n),d=typeof u==`number`?u:void 0;d===void 0&&typeof u==`string`&&(d=Number(u));let f=l??(typeof d==`number`&&Number.isFinite(d)?d>=0?`receive`:`send`:null);if(!f)return;let p=a(t)??a(n)??(B(t.preview)?V(t.preview.amountPhi):void 0)??(B(n?.preview)?V(n.preview.amountPhi):void 0)??(typeof d==`number`&&Number.isFinite(d)?Math.abs(d):void 0);if(p===void 0)return;let m=o(t)??o(n)??(B(t.preview)?U(t.preview.amountUsd):void 0)??(B(n?.preview)?U(n.preview.amountUsd):void 0),h=s(t)??s(n)??(B(t.preview)?U(t.preview.usdPerPhi):void 0)??(B(n?.preview)?U(n.preview.usdPerPhi):void 0),g=c(t)??c(n)??(B(t.preview)?W(t.preview.atPulse):void 0)??(B(n?.preview)?W(n.preview.atPulse):void 0);return{direction:f,amount:p,amountUsd:m??(h===void 0?void 0:p*h),sentPulse:g,source:`payload`}}function K(e){for(let t of[`transferUrl`,`transferURL`,`transferLink`,`transfer_link`,`sealUrl`,`sealURL`,`sigilTransferUrl`]){let n=e[t];if(typeof n!=`string`||!n.trim())continue;let r=le(n.trim());if(!r)continue;let i=G(r);if(i)return i}}function be(e,t){if(!e)return;let n=t.get(e.toLowerCase());if(!n)return;let r=V(n.amountPhi);if(r!==void 0)return{direction:n.direction,amount:r,amountUsd:U(n.amountUsd),sentPulse:W(n.sentPulse),source:`registry`}}function xe(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Se(e,t){if(!xe(e))return;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():void 0}function Ce(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`receive`)||t.includes(`received`)||t.includes(`inhale`)?`receive`:t.includes(`send`)||t.includes(`sent`)||t.includes(`exhale`)?`send`:null:null}function we(e){let t=e,n=xe(t.feed)?t.feed:null,r=e=>e?Ce(e.transferDirection)||Ce(e.transferMode)||Ce(e.transferKind)||Ce(e.phiDirection):null,i=!!(r(t)??r(n)),a=!!(typeof t.transferNonce==`string`||typeof t.nonce==`string`||typeof t.transferToken==`string`||typeof t.token==`string`||n&&(typeof n.transferNonce==`string`||typeof n.nonce==`string`||typeof n.transferToken==`string`||typeof n.token==`string`)),o=!!(typeof t.parentUrl==`string`||typeof t.parentHash==`string`||typeof t.parentCanonical==`string`||n&&(typeof n.parentUrl==`string`||typeof n.parentHash==`string`||typeof n.parentCanonical==`string`));return i||a||o}function Te(e){return e.kind!==`post`||!T(e.primaryUrl)||G(e.payload)?!1:!we(e.payload)}function Ee(e){let t=new Map,n=new Map;for(let[r,i]of e){let e=M(r),a=k(e),o=L(e,i),s=ie(e,i);t.set(e,o);let c=n.get(o);if(!c){n.set(o,{payload:i,urls:new Set([e]),kind:a,momentKey:s});continue}P(i,c.payload)>0&&(c.payload=i),c.urls.add(e);let l=c.momentKey,u=s;l.startsWith(`u:`)&&!u.startsWith(`u:`)&&(c.momentKey=u),l.startsWith(`h:`)&&(u.startsWith(`k:`)||u.startsWith(`sig:`)||u.startsWith(`tok:`))&&(c.momentKey=u)}let r=new Map;for(let[e,t]of n){let n=R(Array.from(t.urls),t.kind);r.set(e,{id:e,payload:t.payload,urls:t.urls,primaryUrl:n,kind:t.kind,momentKey:t.momentKey})}let i=new Map;for(let e of r.values()){let t=e.momentKey;i.has(t)||i.set(t,[]),i.get(t).push(e.id)}let a=new Map,o=new Map,s=new Map,c=new Map;for(let e of r.values()){let t=T(e.primaryUrl);t&&!c.has(t)&&c.set(t,e.id)}for(let[e,t]of i){let n=t.map(e=>r.get(e)).filter(Boolean),i=n.filter(e=>e.kind===`post`),c;c=i.length>0?i.slice().sort((e,t)=>he(t.primaryUrl,`post`)-he(e.primaryUrl,`post`))[0]:n.slice().sort((e,t)=>he(t.primaryUrl,t.kind)-he(e.primaryUrl,e.kind))[0];let l=c?.id??t[0];a.set(e,l);for(let e of t)o.set(e,l);for(let e of t){let t=r.get(e);if(t)for(let e of t.urls)s.set(e,l)}}let l=new Map,u=new Map;for(let e of r.values()){if(!Te(e))continue;let t=T(e.primaryUrl);t&&(u.has(t)||u.set(t,e.id))}for(let e of r.values()){let n=o.get(e.id)??e.id;if(e.id!==n)continue;let r=Se(e.payload,`originUrl`),i=r?M(r):N(e.primaryUrl)??e.primaryUrl,a=T(i),d=t.get(i)??(a?c.get(a):void 0),f=(a?u.get(a):void 0)??d??s.get(i);l.set(n,f??n)}let d=new Map;for(let e of r.values()){let n=o.get(e.id)??e.id,r=l.get(n)??n,i,a=Se(e.payload,`parentUrl`);if(a){let n=M(a),r=T(n),o=t.get(n)??(r?c.get(r):void 0)??s.get(n);o&&o!==e.id&&(i=o)}!i&&e.id!==n&&(i=n),d.set(e.id,{id:e.id,payload:e.payload,urls:e.urls,primaryUrl:e.primaryUrl,kind:e.kind,momentKey:e.momentKey,parentId:i,originId:r,momentParentId:n})}return d}function De(e,t){let n=[];for(let[r,i]of t)i.parentId===e&&n.push(r);return n.sort((e,n)=>P(t.get(n).payload,t.get(e).payload)),n}function Oe(e,t,n=new Set){let r=t.get(e);if(!r)return null;if(n.has(e))return{id:r.id,url:r.primaryUrl,urls:Array.from(r.urls),payload:r.payload,children:[]};n.add(e);let i=De(e,t).map(e=>Oe(e,t,n)).filter(Boolean);return{id:r.id,url:r.primaryUrl,urls:Array.from(r.urls),payload:r.payload,children:i}}function ke(e){let t=0,n=e.payload,r=e=>{t+=1,P(e.payload,n)>0&&(n=e.payload),e.children.forEach(r)};return r(e),{nodeCount:t,latest:n}}function Ae(e){let t=Ee(e),n=new Map;for(let[e,r]of t){let t=r.originId;n.has(t)||n.set(t,[]),n.get(t).push(e)}let r=[];for(let e of n.keys()){let n=Oe(e,t);if(!n)continue;let i=ke(n);r.push({root:n,nodeCount:i.nodeCount,latest:i.latest})}return r.sort((e,t)=>{let n=P(t.latest,e.latest);return n===0?t.nodeCount===e.nodeCount?P(t.root.payload,e.root.payload):t.nodeCount-e.nodeCount:n}),r.map(e=>e.root)}function q(e){let t=e.payload;if(xe(t)&&typeof t.canonicalHash==`string`)return t.canonicalHash;let n=T(e.url);if(n)return n;for(let t of e.urls){let e=T(t);if(e)return e;let n=le(t);if(!n)continue;let r=n;if(xe(r)&&typeof r.canonicalHash==`string`)return r.canonicalHash}}var J=ce(v(),1),Y=typeof window<`u`,je=`sigil:explorer:open`,Me=`sigil:explorer:bc:v1`,Ne=520,Pe=900,Fe=80,Ie=80,Le=25e4,Re=18,ze=3236,Be=2e3;function Ve(){let e;for(let[,t]of l){let n=t.pulse;typeof n!=`number`||!Number.isFinite(n)||(e==null||n>e)&&(e=n)}return e}function He(e){let t=e?.pulse??e?.latestPulse??e?.latest_pulse;if(!(typeof t!=`number`||!Number.isFinite(t)))return t}var Ue=`/phi.svg`,X=`phi`;function Z({className:e}){return(0,J.jsx)(`img`,{className:[`phi-mark`,e].filter(Boolean).join(` `),src:Ue,alt:X,decoding:`async`,loading:`lazy`,draggable:!1})}function Q(e,t){return(0,J.jsxs)(`span`,{className:[`phi-amount`,t?.className].filter(Boolean).join(` `),children:[t?.sign?(0,J.jsx)(`span`,{className:`phi-amount__sign`,children:t.sign}):null,(0,J.jsx)(`span`,{className:`phi-amount__value`,children:j(e)}),(0,J.jsx)(Z,{className:[`phi-amount__mark`,t?.markClassName].filter(Boolean).join(` `)})]})}function $(){return Date.now()}function We(){return Y?new Promise(e=>{if(typeof window.requestAnimationFrame==`function`){window.requestAnimationFrame(()=>e());return}window.setTimeout(e,0)}):Promise.resolve()}function Ge(e){let t=(Y?window:null)?.CSS?.escape;return typeof t==`function`?t(e):e.replace(/["\\]/g,`\\$&`)}function Ke(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function qe(e,t){return Ke(e)&&typeof e[t]==`string`}function Je(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Number.isFinite(t))return t}}function Ye(e){if(typeof e==`boolean`)return e}function Xe(e){if(e===`low`||e===`med`||e===`high`)return e}function Ze(e){let t=e,n=Je(e.stepsPerBeat),r=Array.isArray(t.transfers)?t.transfers:void 0,i=Array.isArray(t.segments)?t.segments:void 0,a=Ke(t.ip)?t.ip:void 0;return{pulse:e.pulse,kaiPulse:e.pulse,beat:e.beat,stepIndex:e.stepIndex,stepsPerBeat:Je(t.stepsPerBeat)??n,kaiSignature:e.kaiSignature,userPhiKey:e.userPhiKey,chakraDay:e.chakraDay,chakraGate:typeof t.chakraGate==`string`?t.chakraGate:void 0,seriesSize:Je(t.seriesSize),quality:Xe(t.quality),creatorVerified:Ye(t.creatorVerified),creatorRep:Je(t.creatorRep),frequencyHz:Je(t.frequencyHz),transfers:r,cumulativeTransfers:Je(t.cumulativeTransfers),segments:i,segmentsMerkleRoot:typeof t.segmentsMerkleRoot==`string`?t.segmentsMerkleRoot:void 0,transfersWindowRoot:typeof t.transfersWindowRoot==`string`?t.transfersWindowRoot:void 0,ip:a}}function Qe(e,t){if(t==null||!Number.isFinite(t))return null;try{let{unsigned:n}=ae(Ze(e),t);return Number.isFinite(n.valuePhi)?n.valuePhi:null}catch{return null}}function $e(e,n){if(n==null||!Number.isFinite(n))return null;try{let r=t({meta:Ze(e),nowPulse:n,usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},ge);return Number.isFinite(r.usdPerPhi)?r.usdPerPhi:null}catch{return null}}function et(e){if(!Y||typeof Worker>`u`||e.length=1e-12)return Math.abs(t)}}function H(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`receive`)||t.includes(`received`)||t.includes(`inhale`)?`receive`:t.includes(`send`)||t.includes(`sent`)||t.includes(`exhale`)?`send`:null:null}function U(e){if(typeof e==`number`)return!Number.isFinite(e)||e<=0?void 0:e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&t>0)return t}}function W(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&t>0)return t}}function G(e){let t=e,n=B(t.feed)?t.feed:null,r=e=>e?H(e.phiDirection)||H(e.transferDirection)||H(e.transferMode)||H(e.transferKind):null,i=e=>{if(e)return e.phiDelta??e.phiSigned??e.phiChange},a=e=>e?V(e.transferAmountPhi)??V(e.transferPhi)??V(e.amountPhi)??V(e.phiAmount)??V(e.childAllocationPhi)??V(e.branchBasePhi):void 0,o=e=>e?U(e.amountUsd)??U(e.usdAmount)??U(e.usdValue)??U(e.valueUsd)??U(e.usd):void 0,s=e=>e?U(e.usdPerPhi)??U(e.fxUsdPerPhi)??U(e.usd_per_phi):void 0,c=e=>e?W(e.atPulse)??W(e.sentPulse)??W(e.senderKaiPulse)??W(e.transferPulse):void 0,l=r(t)??r(n),u=i(t)??i(n),d=typeof u==`number`?u:void 0;d===void 0&&typeof u==`string`&&(d=Number(u));let f=l??(typeof d==`number`&&Number.isFinite(d)?d>=0?`receive`:`send`:null);if(!f)return;let p=a(t)??a(n)??(B(t.preview)?V(t.preview.amountPhi):void 0)??(B(n?.preview)?V(n.preview.amountPhi):void 0)??(typeof d==`number`&&Number.isFinite(d)?Math.abs(d):void 0);if(p===void 0)return;let m=o(t)??o(n)??(B(t.preview)?U(t.preview.amountUsd):void 0)??(B(n?.preview)?U(n.preview.amountUsd):void 0),h=s(t)??s(n)??(B(t.preview)?U(t.preview.usdPerPhi):void 0)??(B(n?.preview)?U(n.preview.usdPerPhi):void 0),g=c(t)??c(n)??(B(t.preview)?W(t.preview.atPulse):void 0)??(B(n?.preview)?W(n.preview.atPulse):void 0);return{direction:f,amount:p,amountUsd:m??(h===void 0?void 0:p*h),sentPulse:g,source:`payload`}}function K(e){for(let t of[`transferUrl`,`transferURL`,`transferLink`,`transfer_link`,`sealUrl`,`sealURL`,`sigilTransferUrl`]){let n=e[t];if(typeof n!=`string`||!n.trim())continue;let r=le(n.trim());if(!r)continue;let i=G(r);if(i)return i}}function be(e,t){if(!e)return;let n=t.get(e.toLowerCase());if(!n)return;let r=V(n.amountPhi);if(r!==void 0)return{direction:n.direction,amount:r,amountUsd:U(n.amountUsd),sentPulse:W(n.sentPulse),source:`registry`}}function xe(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Se(e,t){if(!xe(e))return;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():void 0}function Ce(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`receive`)||t.includes(`received`)||t.includes(`inhale`)?`receive`:t.includes(`send`)||t.includes(`sent`)||t.includes(`exhale`)?`send`:null:null}function we(e){let t=e,n=xe(t.feed)?t.feed:null,r=e=>e?Ce(e.transferDirection)||Ce(e.transferMode)||Ce(e.transferKind)||Ce(e.phiDirection):null,i=!!(r(t)??r(n)),a=!!(typeof t.transferNonce==`string`||typeof t.nonce==`string`||typeof t.transferToken==`string`||typeof t.token==`string`||n&&(typeof n.transferNonce==`string`||typeof n.nonce==`string`||typeof n.transferToken==`string`||typeof n.token==`string`)),o=!!(typeof t.parentUrl==`string`||typeof t.parentHash==`string`||typeof t.parentCanonical==`string`||n&&(typeof n.parentUrl==`string`||typeof n.parentHash==`string`||typeof n.parentCanonical==`string`));return i||a||o}function Te(e){return e.kind!==`post`||!T(e.primaryUrl)||G(e.payload)?!1:!we(e.payload)}function Ee(e){let t=new Map,n=new Map;for(let[r,i]of e){let e=M(r),a=k(e),o=L(e,i),s=ie(e,i);t.set(e,o);let c=n.get(o);if(!c){n.set(o,{payload:i,urls:new Set([e]),kind:a,momentKey:s});continue}P(i,c.payload)>0&&(c.payload=i),c.urls.add(e);let l=c.momentKey,u=s;l.startsWith(`u:`)&&!u.startsWith(`u:`)&&(c.momentKey=u),l.startsWith(`h:`)&&(u.startsWith(`k:`)||u.startsWith(`sig:`)||u.startsWith(`tok:`))&&(c.momentKey=u)}let r=new Map;for(let[e,t]of n){let n=R(Array.from(t.urls),t.kind);r.set(e,{id:e,payload:t.payload,urls:t.urls,primaryUrl:n,kind:t.kind,momentKey:t.momentKey})}let i=new Map;for(let e of r.values()){let t=e.momentKey;i.has(t)||i.set(t,[]),i.get(t).push(e.id)}let a=new Map,o=new Map,s=new Map,c=new Map;for(let e of r.values()){let t=T(e.primaryUrl);t&&!c.has(t)&&c.set(t,e.id)}for(let[e,t]of i){let n=t.map(e=>r.get(e)).filter(Boolean),i=n.filter(e=>e.kind===`post`),c;c=i.length>0?i.slice().sort((e,t)=>he(t.primaryUrl,`post`)-he(e.primaryUrl,`post`))[0]:n.slice().sort((e,t)=>he(t.primaryUrl,t.kind)-he(e.primaryUrl,e.kind))[0];let l=c?.id??t[0];a.set(e,l);for(let e of t)o.set(e,l);for(let e of t){let t=r.get(e);if(t)for(let e of t.urls)s.set(e,l)}}let l=new Map,u=new Map;for(let e of r.values()){if(!Te(e))continue;let t=T(e.primaryUrl);t&&(u.has(t)||u.set(t,e.id))}for(let e of r.values()){let n=o.get(e.id)??e.id;if(e.id!==n)continue;let r=Se(e.payload,`originUrl`),i=r?M(r):N(e.primaryUrl)??e.primaryUrl,a=T(i),d=t.get(i)??(a?c.get(a):void 0),f=(a?u.get(a):void 0)??d??s.get(i);l.set(n,f??n)}let d=new Map;for(let e of r.values()){let n=o.get(e.id)??e.id,r=l.get(n)??n,i,a=Se(e.payload,`parentUrl`);if(a){let n=M(a),r=T(n),o=t.get(n)??(r?c.get(r):void 0)??s.get(n);o&&o!==e.id&&(i=o)}!i&&e.id!==n&&(i=n),d.set(e.id,{id:e.id,payload:e.payload,urls:e.urls,primaryUrl:e.primaryUrl,kind:e.kind,momentKey:e.momentKey,parentId:i,originId:r,momentParentId:n})}return d}function De(e,t){let n=[];for(let[r,i]of t)i.parentId===e&&n.push(r);return n.sort((e,n)=>P(t.get(n).payload,t.get(e).payload)),n}function Oe(e,t,n=new Set){let r=t.get(e);if(!r)return null;if(n.has(e))return{id:r.id,url:r.primaryUrl,urls:Array.from(r.urls),payload:r.payload,children:[]};n.add(e);let i=De(e,t).map(e=>Oe(e,t,n)).filter(Boolean);return{id:r.id,url:r.primaryUrl,urls:Array.from(r.urls),payload:r.payload,children:i}}function ke(e){let t=0,n=e.payload,r=e=>{t+=1,P(e.payload,n)>0&&(n=e.payload),e.children.forEach(r)};return r(e),{nodeCount:t,latest:n}}function Ae(e){let t=Ee(e),n=new Map;for(let[e,r]of t){let t=r.originId;n.has(t)||n.set(t,[]),n.get(t).push(e)}let r=[];for(let e of n.keys()){let n=Oe(e,t);if(!n)continue;let i=ke(n);r.push({root:n,nodeCount:i.nodeCount,latest:i.latest})}return r.sort((e,t)=>{let n=P(t.latest,e.latest);return n===0?t.nodeCount===e.nodeCount?P(t.root.payload,e.root.payload):t.nodeCount-e.nodeCount:n}),r.map(e=>e.root)}function q(e){let t=e.payload;if(xe(t)&&typeof t.canonicalHash==`string`)return t.canonicalHash;let n=T(e.url);if(n)return n;for(let t of e.urls){let e=T(t);if(e)return e;let n=le(t);if(!n)continue;let r=n;if(xe(r)&&typeof r.canonicalHash==`string`)return r.canonicalHash}}var J=ce(v(),1),Y=typeof window<`u`,je=`sigil:explorer:open`,Me=`sigil:explorer:bc:v1`,Ne=520,Pe=900,Fe=80,Ie=80,Le=25e4,Re=18,ze=3236,Be=2e3;function Ve(){let e;for(let[,t]of l){let n=t.pulse;typeof n!=`number`||!Number.isFinite(n)||(e==null||n>e)&&(e=n)}return e}function He(e){let t=e?.pulse??e?.latestPulse??e?.latest_pulse;if(!(typeof t!=`number`||!Number.isFinite(t)))return t}var Ue=`/phi.svg`,X=`phi`;function Z({className:e}){return(0,J.jsx)(`img`,{className:[`phi-mark`,e].filter(Boolean).join(` `),src:Ue,alt:X,decoding:`async`,loading:`lazy`,draggable:!1})}function Q(e,t){return(0,J.jsxs)(`span`,{className:[`phi-amount`,t?.className].filter(Boolean).join(` `),children:[t?.sign?(0,J.jsx)(`span`,{className:`phi-amount__sign`,children:t.sign}):null,(0,J.jsx)(`span`,{className:`phi-amount__value`,children:j(e)}),(0,J.jsx)(Z,{className:[`phi-amount__mark`,t?.markClassName].filter(Boolean).join(` `)})]})}function $(){return Date.now()}function We(){return Y?new Promise(e=>{if(typeof window.requestAnimationFrame==`function`){window.requestAnimationFrame(()=>e());return}window.setTimeout(e,0)}):Promise.resolve()}function Ge(e){let t=(Y?window:null)?.CSS?.escape;return typeof t==`function`?t(e):e.replace(/["\\]/g,`\\$&`)}function Ke(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function qe(e,t){return Ke(e)&&typeof e[t]==`string`}function Je(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Number.isFinite(t))return t}}function Ye(e){if(typeof e==`boolean`)return e}function Xe(e){if(e===`low`||e===`med`||e===`high`)return e}function Ze(e){let t=e,n=Je(e.stepsPerBeat),r=Array.isArray(t.transfers)?t.transfers:void 0,i=Array.isArray(t.segments)?t.segments:void 0,a=Ke(t.ip)?t.ip:void 0;return{pulse:e.pulse,kaiPulse:e.pulse,beat:e.beat,stepIndex:e.stepIndex,stepsPerBeat:Je(t.stepsPerBeat)??n,kaiSignature:e.kaiSignature,userPhiKey:e.userPhiKey,chakraDay:e.chakraDay,chakraGate:typeof t.chakraGate==`string`?t.chakraGate:void 0,seriesSize:Je(t.seriesSize),quality:Xe(t.quality),creatorVerified:Ye(t.creatorVerified),creatorRep:Je(t.creatorRep),frequencyHz:Je(t.frequencyHz),transfers:r,cumulativeTransfers:Je(t.cumulativeTransfers),segments:i,segmentsMerkleRoot:typeof t.segmentsMerkleRoot==`string`?t.segmentsMerkleRoot:void 0,transfersWindowRoot:typeof t.transfersWindowRoot==`string`?t.transfersWindowRoot:void 0,ip:a}}function Qe(e,t){if(t==null||!Number.isFinite(t))return null;try{let{unsigned:n}=ae(Ze(e),t);return Number.isFinite(n.valuePhi)?n.valuePhi:null}catch{return null}}function $e(e,n){if(n==null||!Number.isFinite(n))return null;try{let r=t({meta:Ze(e),nowPulse:n,usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},ge);return Number.isFinite(r.usdPerPhi)?r.usdPerPhi:null}catch{return null}}function et(e){if(!Y||typeof Worker>`u`||e.length { try { const parsed = JSON.parse(event.data); diff --git a/dist/assets/SigilFeedPage-6HGc5He6.js b/dist/assets/SigilFeedPage-Db4AHFP3.js similarity index 92% rename from dist/assets/SigilFeedPage-6HGc5He6.js rename to dist/assets/SigilFeedPage-Db4AHFP3.js index 60b0d87ec..54c211d12 100644 --- a/dist/assets/SigilFeedPage-6HGc5He6.js +++ b/dist/assets/SigilFeedPage-Db4AHFP3.js @@ -1 +1 @@ -import{Vt as e,pi as t,si as n}from"./index-BfXtjgZ1.js";import"./EternalKlock-CYb1m8Lr.js";import"./SigilModal-rnEJVojR.js";import"./SealMomentModal-DGtbCn7A.js";import"./webauthnKAS-CfTQ1nee.js";import"./SigilAuthContext-DxAUceu4.js";import"./ticker-DSh75-xJ.js";import"./SigilAuthProvider-DC455823.js";import{t as r}from"./SigilStreamRoot-MzG88CIn.js";import"./useFastPress-H10Mu0X8.js";n();var i=null,a=0;function o(){if(typeof window>`u`)return null;let e=window;return e.AudioContext??e.webkitAudioContext??null}function s(){let e=o();return e?i||(i=new e,i):null}function c(){let e=s();e&&e.state!==`running`&&e.resume().catch(()=>{})}function l(){typeof navigator<`u`&&`vibrate`in navigator&&navigator.vibrate([8,13,21,34,55,89,55,34,21,13,8])}function u(e,t,n){let r=e.sampleRate,i=Math.max(1,Math.floor(r*t)),a=e.createBuffer(2,i,r);for(let e=0;e<2;e++){let t=a.getChannelData(e);for(let e=0;e{l(),v()},0))}function b(e){if(!e||!(e instanceof Element))return!1;let t=e.closest(`button.sf-btn, a.sf-btn`);return t?(t.textContent??``).trim().toLowerCase()===`remember`:!1}function x(){let e=()=>{c(),document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,e,!0),document.removeEventListener(`touchstart`,e,!0)};document.addEventListener(`pointerdown`,e,{capture:!0,passive:!0}),document.addEventListener(`keydown`,e,{capture:!0}),document.addEventListener(`touchstart`,e,{capture:!0,passive:!0})}function S(){typeof document>`u`||(x(),document.addEventListener(`click`,e=>{b(e.target)&&y()}))}typeof window<`u`&&(window.__kopy_feedback_installed__||(window.__kopy_feedback_installed__=!0,S()));var C=t(e(),1);function w(){return(0,C.jsx)(r,{})}export{w as default}; \ No newline at end of file +import{Vt as e,pi as t,si as n}from"./index-DtFxxvye.js";import"./EternalKlock-ExyiY2oa.js";import"./SigilModal-I6o5tJYB.js";import"./SealMomentModal-0M7C7KOU.js";import"./webauthnKAS-Dx6bJ651.js";import"./SigilAuthContext-OFGaeRDv.js";import"./ticker-DQftO_Mf.js";import"./SigilAuthProvider-CXn4HNTZ.js";import{t as r}from"./SigilStreamRoot-DZfIDSg7.js";import"./useFastPress-BncuGI3m.js";n();var i=null,a=0;function o(){if(typeof window>`u`)return null;let e=window;return e.AudioContext??e.webkitAudioContext??null}function s(){let e=o();return e?i||(i=new e,i):null}function c(){let e=s();e&&e.state!==`running`&&e.resume().catch(()=>{})}function l(){typeof navigator<`u`&&`vibrate`in navigator&&navigator.vibrate([8,13,21,34,55,89,55,34,21,13,8])}function u(e,t,n){let r=e.sampleRate,i=Math.max(1,Math.floor(r*t)),a=e.createBuffer(2,i,r);for(let e=0;e<2;e++){let t=a.getChannelData(e);for(let e=0;e{l(),v()},0))}function b(e){if(!e||!(e instanceof Element))return!1;let t=e.closest(`button.sf-btn, a.sf-btn`);return t?(t.textContent??``).trim().toLowerCase()===`remember`:!1}function x(){let e=()=>{c(),document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,e,!0),document.removeEventListener(`touchstart`,e,!0)};document.addEventListener(`pointerdown`,e,{capture:!0,passive:!0}),document.addEventListener(`keydown`,e,{capture:!0}),document.addEventListener(`touchstart`,e,{capture:!0,passive:!0})}function S(){typeof document>`u`||(x(),document.addEventListener(`click`,e=>{b(e.target)&&y()}))}typeof window<`u`&&(window.__kopy_feedback_installed__||(window.__kopy_feedback_installed__=!0,S()));var C=t(e(),1);function w(){return(0,C.jsx)(r,{})}export{w as default}; \ No newline at end of file diff --git a/dist/assets/SigilModal-BLR62m8K.js b/dist/assets/SigilModal-BLR62m8K.js deleted file mode 100644 index 2b93980c6..000000000 --- a/dist/assets/SigilModal-BLR62m8K.js +++ /dev/null @@ -1 +0,0 @@ -import{t as e}from"./SigilModal-rnEJVojR.js";import"./SealMomentModal-DGtbCn7A.js";import"./webauthnKAS-CfTQ1nee.js";export{e as default}; \ No newline at end of file diff --git a/dist/assets/SigilModal-DFItN10K.js b/dist/assets/SigilModal-DFItN10K.js new file mode 100644 index 000000000..d487a3028 --- /dev/null +++ b/dist/assets/SigilModal-DFItN10K.js @@ -0,0 +1 @@ +import{t as e}from"./SigilModal-I6o5tJYB.js";import"./SealMomentModal-0M7C7KOU.js";import"./webauthnKAS-Dx6bJ651.js";export{e as default}; \ No newline at end of file diff --git a/dist/assets/SigilModal-rnEJVojR.js b/dist/assets/SigilModal-I6o5tJYB.js similarity index 99% rename from dist/assets/SigilModal-rnEJVojR.js rename to dist/assets/SigilModal-I6o5tJYB.js index f664779f2..ccf7f7050 100644 --- a/dist/assets/SigilModal-rnEJVojR.js +++ b/dist/assets/SigilModal-I6o5tJYB.js @@ -1,4 +1,4 @@ -import{Br as e,D as t,Gr as n,Hr as r,Ir as i,Jr as a,Kr as o,Ln as s,Lr as c,Mr as l,Q as u,Qr as d,R as f,Rr as p,U as ee,Vn as te,Vt as m,W as h,Xr as ne,a as g,ai as _,d as re,et as ie,f as ae,kr as v,l as oe,m as se,nt as ce,o as le,p as ue,pi as y,pt as b,qr as x,s as de,si as S,tt as fe,w as pe,zr as C}from"./index-BfXtjgZ1.js";import{t as w}from"./SealMomentModal-DGtbCn7A.js";import{n as me,t as he}from"./webauthnKAS-CfTQ1nee.js";var T=y(S(),1),E=y(m(),1),D=e=>Math.max(0,Math.min(100,e));function O(e,t){let n=(e??``).toLowerCase().trim();return/(reflekt|reflect|reflektion|reflection)/i.test(n)?`#22c55e`:/(purify|purification|purifikation)/i.test(n)?`#3b82f6`:/dream/i.test(n)?`#7c3aed`:/(ignite|ignition)/i.test(n)?`#ff3b30`:/(integrate|integration)/i.test(n)?`#ff8a00`:/(solar\s*plexus)/i.test(n)?`#ffd600`:t}var ge=({dateISO:e,onDateChange:t,secondsLeft:n,eternalPercent:r,eternalColor:i=`#8beaff`,eternalArkLabel:a=`Eternal Ark`})=>{let o=(0,T.useMemo)(()=>D(r),[r]),s=(0,T.useMemo)(()=>O(a,i),[a,i]),c={"--eternal-bar":s,"--pulse":`var(--kai-pulse, var(--pulse-dur, 5236ms))`},l=(0,T.useMemo)(()=>({"--fill":(o/100).toFixed(6)}),[o]),u=(0,T.useRef)(null),d=(0,T.useRef)(void 0),f=(0,T.useRef)(null),p=(0,T.useRef)(null);return(0,T.useEffect)(()=>()=>{f.current!==null&&window.clearTimeout(f.current),p.current!==null&&window.cancelAnimationFrame(p.current),u.current&&u.current.classList.remove(`is-boom`),f.current=null,p.current=null},[]),(0,T.useEffect)(()=>{let e=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(typeof n!=`number`||e){d.current=n;return}let t=u.current,r=d.current;t&&typeof r==`number`&&n-r>1.2&&(t.classList.remove(`is-boom`),p.current!==null&&window.cancelAnimationFrame(p.current),p.current=window.requestAnimationFrame(()=>{t.classList.add(`is-boom`)}),f.current!==null&&window.clearTimeout(f.current),f.current=window.setTimeout(()=>{t.classList.remove(`is-boom`),f.current=null},420)),d.current=n},[n]),(0,E.jsxs)(`div`,{className:`sigil-scope`,style:c,children:[(0,E.jsx)(`h3`,{className:`sigil-title`,children:`Kairos Sigil-Glyph Inhaler`}),(0,E.jsx)(`div`,{className:`sigil-ribbon`,"aria-hidden":`true`}),(0,E.jsx)(`div`,{className:`input-row sigil-row`,children:(0,E.jsxs)(`label`,{className:`sigil-label`,children:[(0,E.jsx)(`span`,{className:`sigil-label__text`,children:`Select moment:`}),`\xA0`,(0,E.jsx)(`input`,{className:`sigil-input`,type:`datetime-local`,value:e,onChange:t})]})}),(0,E.jsx)(`div`,{className:`sigil-bars`,role:`group`,"aria-label":`Day progress`,children:(0,E.jsxs)(`div`,{className:`sigil-bar`,children:[(0,E.jsxs)(`div`,{className:`sigil-bar__head`,children:[(0,E.jsxs)(`span`,{className:`sigil-bar__label`,children:[`Unfoldment`,a?` — ${a}`:``]}),(0,E.jsxs)(`span`,{className:`sigil-bar__pct`,"aria-hidden":`true`,children:[o.toFixed(2),`%`]})]}),(0,E.jsx)(`div`,{className:`sigil-bar__track`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":+o.toFixed(2),role:`progressbar`,"aria-label":`Eternal day ${a||``}`,children:(0,E.jsx)(`div`,{ref:u,className:`sigil-bar__fill sigil-bar__fill--eternal`,style:l})})]})}),(0,E.jsx)(`style`,{children:` +import{Br as e,D as t,Gr as n,Hr as r,Ir as i,Jr as a,Kr as o,Ln as s,Lr as c,Mr as l,Q as u,Qr as d,R as f,Rr as p,U as ee,Vn as te,Vt as m,W as h,Xr as ne,a as g,ai as _,d as re,et as ie,f as ae,kr as v,l as oe,m as se,nt as ce,o as le,p as ue,pi as y,pt as b,qr as x,s as de,si as S,tt as fe,w as pe,zr as C}from"./index-DtFxxvye.js";import{t as w}from"./SealMomentModal-0M7C7KOU.js";import{n as me,t as he}from"./webauthnKAS-Dx6bJ651.js";var T=y(S(),1),E=y(m(),1),D=e=>Math.max(0,Math.min(100,e));function O(e,t){let n=(e??``).toLowerCase().trim();return/(reflekt|reflect|reflektion|reflection)/i.test(n)?`#22c55e`:/(purify|purification|purifikation)/i.test(n)?`#3b82f6`:/dream/i.test(n)?`#7c3aed`:/(ignite|ignition)/i.test(n)?`#ff3b30`:/(integrate|integration)/i.test(n)?`#ff8a00`:/(solar\s*plexus)/i.test(n)?`#ffd600`:t}var ge=({dateISO:e,onDateChange:t,secondsLeft:n,eternalPercent:r,eternalColor:i=`#8beaff`,eternalArkLabel:a=`Eternal Ark`})=>{let o=(0,T.useMemo)(()=>D(r),[r]),s=(0,T.useMemo)(()=>O(a,i),[a,i]),c={"--eternal-bar":s,"--pulse":`var(--kai-pulse, var(--pulse-dur, 5236ms))`},l=(0,T.useMemo)(()=>({"--fill":(o/100).toFixed(6)}),[o]),u=(0,T.useRef)(null),d=(0,T.useRef)(void 0),f=(0,T.useRef)(null),p=(0,T.useRef)(null);return(0,T.useEffect)(()=>()=>{f.current!==null&&window.clearTimeout(f.current),p.current!==null&&window.cancelAnimationFrame(p.current),u.current&&u.current.classList.remove(`is-boom`),f.current=null,p.current=null},[]),(0,T.useEffect)(()=>{let e=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(typeof n!=`number`||e){d.current=n;return}let t=u.current,r=d.current;t&&typeof r==`number`&&n-r>1.2&&(t.classList.remove(`is-boom`),p.current!==null&&window.cancelAnimationFrame(p.current),p.current=window.requestAnimationFrame(()=>{t.classList.add(`is-boom`)}),f.current!==null&&window.clearTimeout(f.current),f.current=window.setTimeout(()=>{t.classList.remove(`is-boom`),f.current=null},420)),d.current=n},[n]),(0,E.jsxs)(`div`,{className:`sigil-scope`,style:c,children:[(0,E.jsx)(`h3`,{className:`sigil-title`,children:`Kairos Sigil-Glyph Inhaler`}),(0,E.jsx)(`div`,{className:`sigil-ribbon`,"aria-hidden":`true`}),(0,E.jsx)(`div`,{className:`input-row sigil-row`,children:(0,E.jsxs)(`label`,{className:`sigil-label`,children:[(0,E.jsx)(`span`,{className:`sigil-label__text`,children:`Select moment:`}),`\xA0`,(0,E.jsx)(`input`,{className:`sigil-input`,type:`datetime-local`,value:e,onChange:t})]})}),(0,E.jsx)(`div`,{className:`sigil-bars`,role:`group`,"aria-label":`Day progress`,children:(0,E.jsxs)(`div`,{className:`sigil-bar`,children:[(0,E.jsxs)(`div`,{className:`sigil-bar__head`,children:[(0,E.jsxs)(`span`,{className:`sigil-bar__label`,children:[`Unfoldment`,a?` — ${a}`:``]}),(0,E.jsxs)(`span`,{className:`sigil-bar__pct`,"aria-hidden":`true`,children:[o.toFixed(2),`%`]})]}),(0,E.jsx)(`div`,{className:`sigil-bar__track`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":+o.toFixed(2),role:`progressbar`,"aria-label":`Eternal day ${a||``}`,children:(0,E.jsx)(`div`,{ref:u,className:`sigil-bar__fill sigil-bar__fill--eternal`,style:l})})]})}),(0,E.jsx)(`style`,{children:` .sigil-ribbon { height: 1px; margin: .35rem 0 .85rem 0; diff --git a/dist/assets/SigilPage-CwpYV9Sy.js b/dist/assets/SigilPage-D5-nfszP.js similarity index 99% rename from dist/assets/SigilPage-CwpYV9Sy.js rename to dist/assets/SigilPage-D5-nfszP.js index ec47cff23..83678ab8b 100644 --- a/dist/assets/SigilPage-CwpYV9Sy.js +++ b/dist/assets/SigilPage-D5-nfszP.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/html2canvas-BSrQknYp.js","assets/html2canvas-CX7x4v_I.js","assets/index-BfXtjgZ1.js","assets/index-BgUnq8XG.css","assets/svgMeta-GiJGs5Tc.js","assets/svgMeta-CvJppMrX.js"])))=>i.map(i=>d[i]); -import{$r as e,A as t,B as n,Bn as r,Bt as i,F as a,G as o,H as s,J as c,M as l,N as u,Nn as d,Nr as f,Pn as p,Q as m,U as h,Vn as g,Vt as _,X as v,_t as y,ai as b,ci as x,ei as S,fi as C,gt as w,ht as T,ii as E,mt as D,ni as O,oi as k,pi as A,pt as j,ri as M,si as N,ti as P,ui as F,z as I,zr as ee,zt as te}from"./index-BfXtjgZ1.js";import{t as L}from"./html2canvas-CX7x4v_I.js";import{t as R}from"./SealMomentModal-DGtbCn7A.js";import{t as z}from"./useFastPress-H10Mu0X8.js";import{a as ne,d as B,f as V,i as re,n as ie,p as ae,r as oe,s as se,t as H,u as ce}from"./svgMeta-CvJppMrX.js";import{n as U,t as le}from"./useValuation-BHaVRo0Z.js";var W=A(L(),1),ue=A(b(),1),G=A(N(),1),K=A(_(),1);function q(e){(0,G.useEffect)(()=>{let e=`sigilheader-authbadgefx-v3`;if(document.getElementById(e))return;let t=document.createElement(`style`);t.id=e,t.textContent=` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/html2canvas-D96SWxPk.js","assets/html2canvas-D20mtSgr.js","assets/index-DtFxxvye.js","assets/index-BgUnq8XG.css","assets/svgMeta-DhWJWm31.js","assets/svgMeta-C-TxRrIg.js"])))=>i.map(i=>d[i]); +import{$r as e,A as t,B as n,Bn as r,Bt as i,F as a,G as o,H as s,J as c,M as l,N as u,Nn as d,Nr as f,Pn as p,Q as m,U as h,Vn as g,Vt as _,X as v,_t as y,ai as b,ci as x,ei as S,fi as C,gt as w,ht as T,ii as E,mt as D,ni as O,oi as k,pi as A,pt as j,ri as M,si as N,ti as P,ui as F,z as I,zr as ee,zt as te}from"./index-DtFxxvye.js";import{t as L}from"./html2canvas-D20mtSgr.js";import{t as R}from"./SealMomentModal-0M7C7KOU.js";import{t as z}from"./useFastPress-BncuGI3m.js";import{a as ne,d as B,f as V,i as re,n as ie,p as ae,r as oe,s as se,t as H,u as ce}from"./svgMeta-C-TxRrIg.js";import{n as U,t as le}from"./useValuation-C7vd80-4.js";var W=A(L(),1),ue=A(b(),1),G=A(N(),1),K=A(_(),1);function q(e){(0,G.useEffect)(()=>{let e=`sigilheader-authbadgefx-v3`;if(document.getElementById(e))return;let t=document.createElement(`style`);t.id=e,t.textContent=` /* Shared tokens; Chakra accent flows from page */ .sp-header .auth-badge, .sp-header .link-badge { @@ -4724,4 +4724,4 @@ Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.expo The chosen QR Code version cannot contain this amount of data. Minimum version required to store current data is: `+c+`. `);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),Fw=x((e=>{function t(e){if(typeof e==`number`&&(e=e.toString()),typeof e!=`string`)throw Error(`Color should be defined as hex string`);let t=e.slice().replace(`#`,``).split(``);if(t.length<3||t.length===5||t.length>8)throw Error(`Invalid hex color: `+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),t.length===6&&t.push(`F`,`F`);let n=parseInt(t.join(``),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:`#`+t.slice(0,6).join(``)}}e.getOptions=function(e){e||={},e.color||={};let n=e.margin===void 0||e.margin===null||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:t(e.color.dark||`#000000ff`),light:t(e.color.light||`#ffffffff`)},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},e.getImageWidth=function(t,n){let r=e.getScale(t,n);return Math.floor((t+n.margin*2)*r)},e.qrToImageData=function(t,n,r){let i=n.modules.size,a=n.modules.data,o=e.getScale(i,r),s=Math.floor((i+r.margin*2)*o),c=r.margin*o,l=[r.color.light,r.color.dark];for(let e=0;e=c&&n>=c&&e{var t=Fw();function n(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||={},t.height=n,t.width=n,t.style.height=n+`px`,t.style.width=n+`px`}function r(){try{return document.createElement(`canvas`)}catch{throw Error(`You need to specify a canvas element`)}}e.render=function(e,i,a){let o=a,s=i;o===void 0&&(!i||!i.getContext)&&(o=i,i=void 0),i||(s=r()),o=t.getOptions(o);let c=t.getImageWidth(e.modules.size,o),l=s.getContext(`2d`),u=l.createImageData(c,c);return t.qrToImageData(u.data,e,o),n(l,s,c),l.putImageData(u,0,0),s},e.renderToDataURL=function(t,n,r){let i=r;i===void 0&&(!n||!n.getContext)&&(i=n,n=void 0),i||={};let a=e.render(t,n,i),o=i.type||`image/png`,s=i.rendererOpts||{};return a.toDataURL(o,s.quality)}})),Lw=x((e=>{var t=Fw();function n(e,t){let n=e.a/255,r=t+`="`+e.hex+`"`;return n<1?r+` `+t+`-opacity="`+n.toFixed(2).slice(1)+`"`:r}function r(e,t,n){let r=e+t;return n!==void 0&&(r+=` `+n),r}function i(e,t,n){let i=``,a=0,o=!1,s=0;for(let c=0;c0&&l>0&&e[c-1]||(i+=o?r(`M`,l+n,.5+u+n):r(`m`,a,0),a=0,o=!1),l+1`:``,d=``,f=`viewBox="0 0 `+l+` `+l+`"`,p=``+u+d+` -`;return typeof a==`function`&&a(null,p),p}})),Rw=A(x((e=>{var t=dw(),n=Pw(),r=Iw(),i=Lw();function a(e,r,i,a,o){let s=[].slice.call(arguments,1),c=s.length,l=typeof s[c-1]==`function`;if(!l&&!t())throw Error(`Callback required as last argument`);if(l){if(c<2)throw Error(`Too few arguments provided`);c===2?(o=i,i=r,r=a=void 0):c===3&&(r.getContext&&o===void 0?(o=a,a=void 0):(o=a,a=i,i=r,r=void 0))}else{if(c<1)throw Error(`Too few arguments provided`);return c===1?(i=r,r=a=void 0):c===2&&!r.getContext&&(a=i,i=r,r=void 0),new Promise(function(t,o){try{t(e(n.create(i,a),r,a))}catch(e){o(e)}})}try{let t=n.create(i,a);o(null,e(t,r,a))}catch(e){o(e)}}e.create=n.create,e.toCanvas=a.bind(null,r.render),e.toDataURL=a.bind(null,r.renderToDataURL),e.toString=a.bind(null,function(e,t,n){return i.render(e,n)})}))(),1);const zw=1024,Bw=2048,Vw=1200;function Hw(e,t){let n=e.querySelector(`defs`);n||(n=e.ownerDocument.createElementNS(H.SVG_NS,`defs`),e.insertBefore(n,e.firstChild));let r=`ep-neon-glow`;if(!e.querySelector(`#${r}`)){let t=e.ownerDocument.createElementNS(H.SVG_NS,`filter`);t.setAttribute(`id`,r),t.setAttribute(`x`,`-50%`),t.setAttribute(`y`,`-50%`),t.setAttribute(`width`,`200%`),t.setAttribute(`height`,`200%`);let i=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);i.setAttribute(`stdDeviation`,`3`),i.setAttribute(`result`,`b1`);let a=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);a.setAttribute(`in`,`SourceGraphic`),a.setAttribute(`stdDeviation`,`1.2`),a.setAttribute(`result`,`b2`);let o=e.ownerDocument.createElementNS(H.SVG_NS,`feMerge`),s=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);s.setAttribute(`in`,`b1`);let c=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);c.setAttribute(`in`,`b2`);let l=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);l.setAttribute(`in`,`SourceGraphic`),o.appendChild(s),o.appendChild(c),o.appendChild(l),t.appendChild(i),t.appendChild(a),t.appendChild(o),n.appendChild(t)}let i=`ep-gloss-gradient`;if(!e.querySelector(`#${i}`)){let t=e.ownerDocument.createElementNS(H.SVG_NS,`linearGradient`);t.setAttribute(`id`,i),t.setAttribute(`x1`,`0`),t.setAttribute(`y1`,`0`),t.setAttribute(`x2`,`0`),t.setAttribute(`y2`,`1`);let r=e.ownerDocument.createElementNS(H.SVG_NS,`stop`);r.setAttribute(`offset`,`0%`),r.setAttribute(`stop-color`,`rgba(255,255,255,0.15)`);let a=e.ownerDocument.createElementNS(H.SVG_NS,`stop`);a.setAttribute(`offset`,`100%`),a.setAttribute(`stop-color`,`rgba(255,255,255,0.05)`),t.appendChild(r),t.appendChild(a),n.appendChild(t)}let a=`ep-bar-outer-glow`;if(!e.querySelector(`#${a}`)){let r=e.ownerDocument.createElementNS(H.SVG_NS,`filter`);r.setAttribute(`id`,a),r.setAttribute(`x`,`-50%`),r.setAttribute(`y`,`-50%`),r.setAttribute(`width`,`200%`),r.setAttribute(`height`,`200%`);let i=e.ownerDocument.createElementNS(H.SVG_NS,`feFlood`);i.setAttribute(`flood-color`,t),i.setAttribute(`flood-opacity`,`0.5`),i.setAttribute(`result`,`c`);let o=e.ownerDocument.createElementNS(H.SVG_NS,`feComposite`);o.setAttribute(`in`,`c`),o.setAttribute(`in2`,`SourceAlpha`),o.setAttribute(`operator`,`in`),o.setAttribute(`result`,`glow`);let s=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);s.setAttribute(`in`,`glow`),s.setAttribute(`stdDeviation`,`4`),s.setAttribute(`result`,`blurGlow`);let c=e.ownerDocument.createElementNS(H.SVG_NS,`feMerge`),l=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);l.setAttribute(`in`,`blurGlow`);let u=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);u.setAttribute(`in`,`SourceGraphic`),c.appendChild(l),c.appendChild(u),r.appendChild(i),r.appendChild(o),r.appendChild(s),r.appendChild(c),n.appendChild(r)}return{neonId:`ep-neon-glow`,glossId:`ep-gloss-gradient`,barGlowId:`ep-bar-outer-glow`}}async function Uw(e,t){let{accent:n,qrUrl:r}=t,i=(e.getAttribute(`viewBox`)||`0 0 ${e.getAttribute(`width`)||1024} ${e.getAttribute(`height`)||1024}`).trim().split(/\s+/).map(Number),a=i[0]||0,o=i[1]||0,s=i[2]||1024,c=i[3]||1024,l=e.ownerDocument.createElementNS(H.SVG_NS,`g`);l.setAttribute(`data-export-qr`,`1`);let u=Math.min(s,c),d=Math.max(u*.035,18),f=Math.max(u*.1,96),p=await Rw.toDataURL(r,{margin:0,color:{dark:n,light:`#00000000`},scale:8}),m=e.ownerDocument.createElementNS(H.SVG_NS,`image`);m.setAttributeNS(H.XLINK_NS,`xlink:href`,p),m.setAttribute(`href`,p),m.setAttribute(`x`,String(a+d)),m.setAttribute(`y`,String(o+c-f-d)),m.setAttribute(`width`,String(f)),m.setAttribute(`height`,String(f)),m.setAttribute(`preserveAspectRatio`,`xMidYMid meet`),l.appendChild(m),e.appendChild(l)}async function Ww(e,t=zw,n){let r=e.cloneNode(!0);if(re(r,t),ne(r),oe(r,n?.title||`Kairos Sigil-Glyph — Sealed Kairos Moment`,n?.desc||`Deterministic sigil-glyph with sovereign metadata.`),n?.metaOverride){let e=ie(r);e.textContent=JSON.stringify(n.metaOverride)}if(r.querySelectorAll(`[data-export-qr="1"],[data-export-pulsebar="1"]`).forEach(e=>e.parentNode?.removeChild(e)),n?.addQR&&await Uw(r,n.addQR),n?.addPulseBar){let{accent:e,pulseNumber:i}=n.addPulseBar,{barGlowId:a,neonId:o,glossId:s}=Hw(r,e),c=(r.getAttribute(`viewBox`)||`0 0 ${t} ${t}`).split(/\s+/).map(Number),[l,u,d,f]=[c[0]||0,c[1]||0,c[2]||t,c[3]||t],p=r.ownerDocument.createElementNS(H.SVG_NS,`g`);p.setAttribute(`data-export-pulsebar`,`1`);let m=Math.min(d,f),h=Math.max(m*.035,18),g=Math.max(m*.34,320),_=Math.max(m*.085,96),v=Math.max(_*.22,18),y=l+d-g-h,b=u+f-_-h,x=r.ownerDocument.createElementNS(H.SVG_NS,`rect`);x.setAttribute(`x`,String(y)),x.setAttribute(`y`,String(b)),x.setAttribute(`rx`,String(v)),x.setAttribute(`ry`,String(v)),x.setAttribute(`width`,String(g)),x.setAttribute(`height`,String(_)),x.setAttribute(`fill`,`url(#${s})`),x.setAttribute(`stroke`,`rgba(255,255,255,0.16)`),x.setAttribute(`stroke-width`,String(Math.max(1.5,m*.0018))),x.setAttribute(`filter`,`url(#${a})`),p.appendChild(x);let S=r.ownerDocument.createElementNS(H.SVG_NS,`text`);S.setAttribute(`x`,String(y+g/2)),S.setAttribute(`y`,String(b+_/2+Math.max(6,_*.06))),S.setAttribute(`text-anchor`,`middle`),S.setAttribute(`dominant-baseline`,`middle`),S.setAttribute(`fill`,e),S.setAttribute(`filter`,`url(#${o})`),S.setAttribute(`font-weight`,`900`),S.setAttribute(`font-family`,`Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial`),S.setAttribute(`font-size`,String(Math.floor(_*.46))),S.textContent=i.toLocaleString(),p.appendChild(S),r.appendChild(p)}let i=new XMLSerializer().serializeToString(r),a=i.startsWith(`\n${i}`;return new Blob([a],{type:`image/svg+xml;charset=utf-8`})}async function Gw(e,t=zw){let n=URL.createObjectURL(e);try{let e=new Image;await new Promise((t,r)=>{e.onload=()=>t(),e.onerror=r,e.src=n});let r=document.createElement(`canvas`);r.width=t,r.height=t;let i=r.getContext(`2d`);if(!i)throw Error(`Canvas unsupported`);return i.drawImage(e,0,0,t,t),await new Promise((e,t)=>r.toBlob(n=>n?e(n):t(Error(`PNG encode failed`)),`image/png`))}finally{URL.revokeObjectURL(n)}}const Kw=`sigil-debits-v1`,qw=(e,t)=>t?`sigil:debits:${e}:t:${t}`:`sigil:debits:${e}`,Jw=(e,t)=>e===qw(t)||e.startsWith(`${qw(t)}:t:`),Yw=(e,t)=>{let n=`sigil:debits:${t}`;if(e===n)return null;let r=`${n}:t:`;return e.startsWith(r)?e.slice(r.length):void 0};function Xw(e){let t=new TextEncoder().encode(e),n=``;for(let e=0;e0&&typeof t.recipientPhiKey==`string`&&t.recipientPhiKey.length>0&&typeof t.amount==`number`&&Number.isFinite(t.amount)&&t.amount>0&&typeof t.timestamp==`number`&&Number.isFinite(t.timestamp)}function eT(e){if(!e)return null;try{let t=JSON.parse(Zw(e));if(typeof t!=`object`||!t)return null;let n={},r=t;if(typeof r.originalAmount==`number`&&Number.isFinite(r.originalAmount)&&(n.originalAmount=r.originalAmount),Array.isArray(r.debits)){let e=[];for(let t of r.debits)$w(t)&&e.push(t);e.length&&(n.debits=e)}return n}catch{return null}}function tT(e,t){try{let n=new URL(window.location.href),r=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount),i=Array.isArray(e.debits)&&e.debits.length>0;!r&&!i?n.searchParams.delete(`d`):n.searchParams.set(`d`,Qw(e));let a=`${n.pathname}${n.search}${n.hash}`;t?.navigate?window.location.replace(a):window.history.replaceState(null,``,a)}catch{}}function nT(e,t){let n=(e||``).toLowerCase();if(!n)return null;try{let e=t?localStorage.getItem(qw(n,t)):null;if(e)return eT(e);let r=localStorage.getItem(qw(n));return r?eT(r):null}catch{return null}}function rT(e,t,n){let r=(e||``).toLowerCase();if(r)try{localStorage.setItem(qw(r,n),Qw(t))}catch{}}function iT(e){let t=new Set,n=[];for(let r of e)!r||typeof r.nonce!=`string`||t.has(r.nonce)||(t.add(r.nonce),n.push(r));return n.sort((e,t)=>(e.timestamp||0)-(t.timestamp||0))}function aT(e,t){let n={},r=typeof e?.originalAmount==`number`?e.originalAmount:void 0,i=typeof t?.originalAmount==`number`?t.originalAmount:void 0;n.originalAmount=typeof r==`number`?r:typeof i==`number`?i:void 0;let a=Array.isArray(e?.debits)?e.debits:[],o=Array.isArray(t?.debits)?t.debits:[],s=iT([...a,...o]);return s.length&&(n.debits=s),n}function oT(e,t){let n=typeof e?.originalAmount==`number`&&Number.isFinite(e.originalAmount)?Number(e.originalAmount):NaN,r=typeof t?.originalAmount==`number`&&Number.isFinite(t.originalAmount)?Number(t.originalAmount):NaN,i=Number.isNaN(n)&&Number.isNaN(r)||Math.abs(n-r)<1e-12,a=new Set((Array.isArray(e?.debits)?e.debits:[]).map(e=>e?.nonce)),o=new Set((Array.isArray(t?.debits)?t.debits:[]).map(e=>e?.nonce));if(!i||a.size!==o.size)return!1;for(let e of a)if(!o.has(e))return!1;return!0}function sT(e,t,n,r){tT(e,{navigate:!!r?.navigate});let i=(t||``).toLowerCase();if(i&&(rT(i,e,n??null),r?.broadcast!==!1))try{let t=new BroadcastChannel(Kw),r={type:`debits`,canonical:i,qs:Qw(e),stamp:Date.now(),token:n??null};t.postMessage(r),t.close()}catch{}}function cT(e,t,n){let r=eT(t.get(`d`)),i=aT(n?nT(e,n):nT(e,null),r);return{merged:i,urlIsStale:!oT(i,r)}}function lT(e){try{let t=new URL(e,window.location.origin).pathname.match(/\/s\/([0-9a-fA-F]+)/);return t?t[1].toLowerCase():null}catch{return null}}function uT(e){if(typeof e==`string`)switch(e.trim().toLowerCase().replace(/\s+/g,` `)){case`root`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solarplexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`thirdeye`:return`Third Eye`;case`crown`:return`Crown`;default:return}}function dT(e){return e===`breaths`||e===`steps`?e:void 0}var fT=e=>!!e&&typeof e==`object`,pT=e=>{if(!fT(e))return!1;let t=`u`in e&&`b`in e,n=`d`in e;return t||n},mT=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,hT=e=>typeof e==`string`&&e.trim()?e:void 0;function gT(e){if(!e)return{};try{let t=String(e).trim(),n=!1;/^c:/i.test(t)&&(t=t.slice(2),n=!0);let r=JSON.parse(Zw(t));if(n||pT(r)){let e=r,t={},n=mT(e.u),i=mT(e.b),a=mT(e.d),o=mT(e.s),s=uT(e.c);return n!==void 0&&(t.pulse=n),i!==void 0&&(t.beat=i),a!==void 0&&(t.stepsPerBeat=a),o!==void 0&&(t.stepIndex=o),s!==void 0&&(t.chakraDay=s),t}if(fT(r)){let e=r,t={},n=mT(e.pulse),i=mT(e.beat),a=mT(e.stepsPerBeat),o=mT(e.stepIndex),s=uT(e.chakraDay),c=hT(e.canonicalHash),l=hT(e.kaiSignature),u=hT(e.userPhiKey),d=hT(e.transferNonce),f=mT(e.expiresAtPulse),p=dT(e.claimExtendUnit),m=mT(e.claimExtendAmount);return n!==void 0&&(t.pulse=n),i!==void 0&&(t.beat=i),a!==void 0&&(t.stepsPerBeat=a),o!==void 0&&(t.stepIndex=o),s!==void 0&&(t.chakraDay=s),c!==void 0&&(t.canonicalHash=c.toLowerCase()),l!==void 0&&(t.kaiSignature=l),u!==void 0&&(t.userPhiKey=u),d!==void 0&&(t.transferNonce=d),f!==void 0&&(t.expiresAtPulse=f),p!==void 0&&(t.claimExtendUnit=p),m!==void 0&&(t.claimExtendAmount=m),Array.isArray(e.lineage)&&(t.lineage=e.lineage),t}return{}}catch{return{}}}function _T(e,t){let n={...e};typeof t.expiresAtPulse==`number`&&(n.expiresAtPulse=t.expiresAtPulse),t.claimExtendUnit!=null&&(n.claimExtendUnit=t.claimExtendUnit),typeof t.claimExtendAmount==`number`&&(n.claimExtendAmount=t.claimExtendAmount),typeof t.pulse==`number`&&(n.pulse=t.pulse),typeof t.beat==`number`&&(n.beat=t.beat),typeof t.stepsPerBeat==`number`&&(n.stepsPerBeat=t.stepsPerBeat),t.chakraDay!==void 0&&(n.chakraDay=t.chakraDay),t.canonicalHash&&(n.canonicalHash=String(t.canonicalHash).toLowerCase()),t.kaiSignature&&(n.kaiSignature=t.kaiSignature),t.userPhiKey&&(n.userPhiKey=t.userPhiKey),t.transferNonce&&(n.transferNonce=t.transferNonce),Array.isArray(t.lineage)&&(n.lineage=t.lineage);let r=typeof n.stepsPerBeat==`number`&&Number.isFinite(n.stepsPerBeat)?n.stepsPerBeat:a,i=mT(t?.stepIndex),o=mT(n.stepIndex);return i===void 0?o===void 0?typeof n.pulse==`number`&&Number.isFinite(n.pulse)&&(n.stepIndex=v(n.pulse,r)):n.stepIndex=o:n.stepIndex=i,n}function vT(e,t){try{let n=new URL(e,window.location.origin),r=_T(gT(n.searchParams.get(`p`)),t);return r.canonicalHash&&=String(r.canonicalHash).toLowerCase(),n.searchParams.set(`p`,Xw(JSON.stringify(r))),n.toString()}catch{return e}}function yT(e,t,n){let r=[e?.canonicalHash,t,n?.matchedHash];for(let e of r)if(typeof e==`string`&&e.trim())return e.toLowerCase();return null}function bT(e,t){return typeof e==`string`&&e.trim()?e:typeof t?.transferNonce==`string`&&t.transferNonce.trim()?t.transferNonce:null}async function xT(e){let{stageEl:t,payload:n,localHash:r,routeHash:i,qr:a,onToast:o}=e;if(!t)return o(`No stage found`);try{await new Promise(e=>requestAnimationFrame(()=>e()));let e=(await M(async()=>{let{default:e}=await import(`./html2canvas-BSrQknYp.js`).then(C(1));return{default:e}},__vite__mapDeps([0,1,2,3]))).default,c=await e(t,{backgroundColor:null}),l=document.createElement(`canvas`);l.width=Bw,l.height=Bw;let u=l.getContext(`2d`);if(!u)throw Error(`No canvas context`);u.clearRect(0,0,l.width,l.height);let d=Math.floor(Bw*.06),f=Bw-d*2,p=Bw-d*2,m=c.width,h=c.height,g=Math.min(f/m,p/h),_=Math.floor(m*g),v=Math.floor(h*g),y=Math.floor((Bw-_)/2),b=Math.floor((Bw-v)/2);u.drawImage(c,y,b,_,v);let x=n?.chakraDay??`Throat`,S=sC[x]?.accent||`#00FFD0`,w=wC(x,typeof n?.stepPct==`number`?n.stepPct:n?n.pulse%11/11:0,r||void 0),T=Math.max(Bw*.33,720),E=Math.max(Bw*.08,160),D=Math.max(E*.24,30),O=Bw-T-d,k=Bw-E-d;u.save(),u.shadowColor=S,u.shadowBlur=Math.max(18,Math.floor(Bw*.012));let A=u.createLinearGradient(0,k,0,k+E);A.addColorStop(0,`rgba(255,255,255,0.16)`),A.addColorStop(1,`rgba(255,255,255,0.05)`),s(u,O,k,T,E,D),u.fillStyle=A,u.fill(),u.shadowBlur=0,u.lineWidth=Math.max(2,Math.floor(Bw*.0016)),u.strokeStyle=`rgba(255,255,255,0.18)`,u.stroke();let j=(n?.pulse??0).toLocaleString();u.textBaseline=`alphabetic`,u.fillStyle=w,u.font=`900 ${Math.floor(E*.48)}px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial`,u.shadowColor=w,u.shadowBlur=Math.max(16,Math.floor(Bw*.008));let N=u.measureText(j).width,P=Math.floor(O+T/2-N/2),F=Math.floor(k+E/2+E*.18);u.fillText(j,P,F),u.restore();let I=Math.floor(Bw*.32),ee=Math.floor((Bw-I)/2),te=Math.floor((Bw-I)/2),L=ST({provided:a.url,payload:n,localHash:r,routeHash:i}),R=(0,LC.renderToStaticMarkup)((0,K.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1000 1000`,children:(0,K.jsx)(uw,{uid:a.uid,url:L,size:800,phaseHue:a.hue,phaseColor:a.accent,animate:!1,pulseMs:5236})})),z=new Blob([R],{type:`image/svg+xml;charset=utf-8`}),ne=URL.createObjectURL(z);await new Promise((e,t)=>{let n=new Image;n.onload=()=>{try{u.drawImage(n,ee,te,I,I)}finally{URL.revokeObjectURL(ne),e()}},n.onerror=e=>{URL.revokeObjectURL(ne),t(e)},n.src=ne});let B=await new Promise((e,t)=>{l.toBlob(n=>{if(!n){t(Error(`No PNG blob created`));return}e(n)},`image/png`)}),V=URL.createObjectURL(B),re=document.createElement(`a`);re.href=V,re.download=`sigil_poster_${(r||i||`mint`).slice(0,16)}.png`,document.body.appendChild(re),re.click(),re.remove(),requestAnimationFrame(()=>URL.revokeObjectURL(V)),o(`Public key PNG saved`)}catch(e){console.error(e),o(`Poster export failed`)}function s(e,t,n,r,i,a){e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath()}}function ST(e){let{provided:t,payload:n,localHash:r,routeHash:i}=e,a=t&&CT(t)?t:(typeof window<`u`?window.location.href:``)||``;if(!n)return a;try{let e=(n.canonicalHash||r||i||``).toLowerCase();if(!e)return a;let t=new URL(a,typeof window<`u`?window.location.origin:`https://local.test`);t.pathname=`/s/${e}`;let o=n.transferNonce||t.searchParams.get(`t`);o&&t.searchParams.set(`t`,o);let s=`${t.pathname}${t.search}${t.hash}`;return vT(s,n)||s}catch{return a}}function CT(e){try{let t=new URL(e,typeof window<`u`?window.location.origin:`https://local.test`);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function wT(e){let t=JSON.stringify(e);return btoa(unescape(encodeURIComponent(t))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function TT(e,t,n){let r=new URL(e,typeof window<`u`?window.location.origin:`http://localhost`);return r.searchParams.set(`p`,wT(t)),n&&r.searchParams.set(`t`,n),r.toString()}function ET(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[`+e.map(ET).join(`,`)+`]`;let t=e;return`{`+Object.keys(t).sort().map(e=>JSON.stringify(e)+`:`+ET(t[e])).join(`,`)+`}`}function DT(e){switch(String(e??``).trim().toLowerCase()){case`root`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solar_plexus`:case`solar-plexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`third_eye`:case`third-eye`:return`Third Eye`;case`crown`:return`Crown`;default:return`Root`}}function OT(e,t){let n={pulse:e.pulse,beat:e.beat,chakraDay:DT(e.chakraDay),stepsPerBeat:e.stepsPerBeat??void 0,stepIndex:t,userPhiKey:e.userPhiKey??void 0,kaiSignature:e.kaiSignature??void 0,canonicalHash:e.canonicalHash??void 0,transferNonce:e.transferNonce??void 0,expiresAtPulse:e.expiresAtPulse??void 0,claimExtendUnit:e.claimExtendUnit??void 0,claimExtendAmount:e.claimExtendAmount??void 0,attachment:e.attachment??void 0,provenance:e.provenance??void 0};return Object.keys(n).forEach(e=>{n[e]===void 0&&delete n[e]}),n}function kT(e){return{pulse:e.pulse,beat:e.beat,stepIndex:e.stepIndex,chakraDay:DT(e.chakraDay),stepsPerBeat:e.stepsPerBeat??void 0,userPhiKey:e.userPhiKey??void 0,kaiSignature:e.kaiSignature??void 0}}function AT(e,t){e.setAttribute(`data-share-url`,t),e.querySelectorAll(`a`).forEach(e=>{e.setAttribute(`href`,t);try{e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,t)}catch{}});let n=/\bu=([^·\n\r]+?)(?=\s*·|$)/;e.querySelectorAll(`text`).forEach(e=>{let r=e.textContent||``;n.test(r)&&(e.textContent=r.replace(n,`u=${t}`))})}async function jT(e){let{expired:t,exporting:n,setExporting:r,svgEl:i,payload:a,isFutureSealed:o,linkStatus:s,setToast:c,expiryUnit:l,expiryAmount:u,localHash:d,routeHash:f,transferToken:p,getKaiPulseEternalInt:m,stepIndexFromPulse:h,STEPS_PER_BEAT:_}=e;if(t)return _C(c,`Seal window closed`);if(!n){if(!i)return _C(c,`No SVG found`);if(!a)return _C(c,`No payload`);if(o)return _C(c,`Opens after the moment—claim unlocks then`);if(s!==`active`)return _C(c,`Archived link — cannot claim from here`);try{r(!0);let e=`sigil_${(d||f||`mint`).slice(0,16)}`,t=a.stepsPerBeat??_,n=h(a.pulse,t),o=m(new Date),s=h(o,t),v=OT(a,n),b={...eC(a.userPhiKey||``,a.kaiSignature??void 0,v,`claim`,a.attachment?.name??void 0,o),stepIndex:n,atStepIndex:s},x={...a,exportedAtPulse:o,stepIndex:n,stepsPerBeat:t,provenance:[...a.provenance??[],b],claimExtendUnit:a.claimExtendUnit??l,claimExtendAmount:a.claimExtendAmount??u,canonicalHash:(d||a.canonicalHash||f||null)?.toString()??null},S=await w(y(x.pulse,x.beat,n,String(x.chakraDay??``),T(OT(x,n)))),C=await D(S),E={...x,kaiSignature:S,userPhiKey:x.userPhiKey||C},O=(d||f||``).toLowerCase(),k=kT({pulse:E.pulse,beat:E.beat,stepIndex:n,chakraDay:E.chakraDay??null,stepsPerBeat:t,userPhiKey:E.userPhiKey??null,kaiSignature:E.kaiSignature??null}),A=TT(g(O,k),k,E.transferNonce??p??void 0),{putMetadata:j}=await M(async()=>{let{putMetadata:e}=await import(`./svgMeta-GiJGs5Tc.js`);return{putMetadata:e}},__vite__mapDeps([4,5,2,3])),N={...E,stepsPerBeat:t,shareUrl:A,fullUrl:A};j(i,N);try{i.setAttribute(`data-step-index`,String(n));let e=i.querySelector(`metadata#sigil-display`);e||(e=document.createElementNS(`http://www.w3.org/2000/svg`,`metadata`),e.setAttribute(`id`,`sigil-display`),e.setAttribute(`data-noncanonical`,`1`),i.appendChild(e)),e.textContent=JSON.stringify({stepIndex:n,stepsPerBeat:t})}catch{console.debug(`Display metadata write failed`)}MC(i,E.pulse,E.beat,n),kC(i),AT(i,A);let P=null,F=null;try{let e=new URL(A);P=e.searchParams.get(`p`),F=e.searchParams.get(`t`)}catch{console.debug(`URL parse failed`)}let I=await Ww(i,zw,{metaOverride:N,addQR:!1,addPulseBar:!1,title:`Kairos Sigil-Glyph — Sealed KairosMoment`,desc:`Deterministic sigil-glyph with sovereign metadata. Exported as archived key.`}),ee=await Gw(I,zw),te=await w(new Uint8Array(await I.arrayBuffer())),L=await w(new Uint8Array(await ee.arrayBuffer())),R=new(await(vC()));R.file(`${e}.svg`,I),R.file(`${e}.png`,ee);let z={hashAlg:`sha256`,canon:`sorted keys + UTF-8 + no whitespace`,hash:d||f||``,canonicalHash:E.canonicalHash??null,pulse:E.pulse,beat:E.beat,stepIndex:n,atStepIndex:s,chakraDay:E.chakraDay??null,userPhiKey:E.userPhiKey??null,kaiSignature:E.kaiSignature??null,transferNonce:E.transferNonce??null,expiresAtPulse:E.expiresAtPulse??null,exportedAtPulse:E.exportedAtPulse??null,claimedAtPulse:o,overlays:{qr:!1,eternalPulseBar:!1},assets:{[`${e}.svg`]:te,[`${e}.png`]:L},claimExtendUnit:E.claimExtendUnit??null,claimExtendAmount:E.claimExtendAmount??null,fullUrl:A,p:P,urlQuery:{p:P,t:F}},ne=await w(ET(z)),B={...z,manifestHash:ne};R.file(`${e}.manifest.json`,JSON.stringify(B,null,2));let V=await R.generateAsync({type:`blob`}),re=URL.createObjectURL(V),ie=document.createElement(`a`);ie.href=re,ie.download=`${e}.zip`,document.body.appendChild(ie),ie.click(),ie.remove(),requestAnimationFrame(()=>URL.revokeObjectURL(re)),_C(c,`Access key generated`)}catch(e){console.error(e),_C(c,`Claim failed`)}finally{r(!1)}}}function MT(e){let{stageId:t,payload:n,localHash:r,setOgImgUrl:i,setMeta:a,seoTitle:o,seoDesc:s}=e,c=!1,l=null,u=async()=>{let e=document.getElementById(t);if(!e||!n){i(null),a(`property`,`og:image`,``),a(`property`,`og:image:alt`,``),a(`property`,`og:image:width`,``),a(`property`,`og:image:height`,``),a(`name`,`twitter:image`,``);return}try{let t=n.chakraDay??`Throat`,l=sC[t]?.accent||`#00FFD0`,u=n.pulse||0,f=n.stepsPerBeat??44,p=Math.floor(n.pulse%(f*11)/11),m=wC(t,typeof n.stepPct==`number`?n.stepPct:n.pulse%11/11,r||void 0),h=`Pulse ${u.toLocaleString()} • Beat ${n.beat}/36 • Step ${p+1}/${f} • ${t}`,g=await(0,W.default)(e),_=document.createElement(`canvas`);_.width=Vw,_.height=630;let v=_.getContext(`2d`);if(!v)throw Error(`Canvas unsupported`);let y=v.createLinearGradient(0,0,Vw,630);y.addColorStop(0,`rgba(0,0,0,0.92)`),y.addColorStop(1,`rgba(0,0,0,0.70)`),v.fillStyle=y,v.fillRect(0,0,Vw,630),v.save(),v.globalCompositeOperation=`lighter`;let b=v.createRadialGradient(Vw*.8,630*.2,20,Vw*.8,630*.2,600);b.addColorStop(0,`${l}CC`),b.addColorStop(1,`rgba(0,0,0,0)`),v.fillStyle=b,v.beginPath(),v.arc(Vw*.8,630*.2,600,0,Math.PI*2),v.fill(),v.restore();let x=Math.floor(Vw*.52),S=Math.min(x/g.width,558/g.height),C=Math.floor(g.width*S),w=Math.floor(g.height*S),T=36+Math.floor((x-C)/2),E=36+Math.floor((558-w)/2);v.drawImage(g,T,E,C,w);let D=36+x+32,O=Vw-D-36;v.fillStyle=`#EAFBFF`,v.font=`700 38px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,v.fillText(`Kairos Sigil-Glyph — Sealed Kairos Moment`,D,94),v.fillStyle=`rgba(255,255,255,0.82)`,v.font=`400 24px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,d(v,`“${o}” — ${s}`,D,136,O,30);let k=`${u.toLocaleString()}`;v.textBaseline=`alphabetic`,v.font=`900 120px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,v.shadowColor=m,v.shadowBlur=20,v.fillStyle=m;let A=v.measureText(k).width,j=D+Math.floor((O-A)/2);v.fillText(k,j,554),v.shadowBlur=0;let M=_.toDataURL(`image/png`);if(c)return;i(M),a(`property`,`og:image`,M),a(`property`,`og:image:alt`,h),a(`property`,`og:image:type`,`image/png`),a(`property`,`og:image:width`,`1200`),a(`property`,`og:image:height`,`630`),a(`name`,`twitter:image`,M)}catch{if(c)return;i(null)}};return l=yC(()=>{c||u()}),()=>{c=!0,l!=null&&bC(l)};function d(e,t,n,r,i,a){let o=t.split(` `),s=``;for(let t=0;ti&&t>0?(e.fillText(s,n,r),s=o[t]+` `,r+=a):s=c}e.fillText(s.trim(),n,r)}}function NT(e){switch(String(e??``).trim().toLowerCase()){case`root`:case`earth`:case`earth gate`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solar_plexus`:case`solar-plexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`third_eye`:case`third-eye`:return`Third Eye`;case`crown`:return`Crown`;default:return`Root`}}function PT(){return crypto.getRandomValues(new Uint32Array(4)).join(``)}function FT(e){let{meta:t,stepIndex:n,stepsPerBeat:r}=e;return{pulse:t.pulse,beat:t.beat,stepIndex:n,chakraDay:NT(t.chakraDay),stepsPerBeat:r,userPhiKey:t.userPhiKey??void 0,kaiSignature:t.kaiSignature??void 0}}function IT(e,t,n){let r=e.stepIndex;return typeof r==`number`&&Number.isFinite(r)&&r>=0&&rJSON.stringify({canonicalHash:e.canonicalHash,token:e.token,expiresAtPulse:e.expiresAtPulse,issuedAt:e.issuedAt,version:e.version},zT),VT=e=>btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``);const HT=e=>VT(new TextEncoder().encode(BT(e)));async function UT(e){try{let t=await fetch(`/api/sign-claim`,{method:`POST`,headers:{"content-type":`text/plain;charset=UTF-8`},body:BT(e)});if(!t.ok)return null;let n=await t.json();return!n||!n.s||!n.kid?null:{r:n.r??HT(e),s:n.s,kid:n.kid}}catch{return null}}function WT(e,t,n,r){e.searchParams.set(`r`,t),e.searchParams.set(`s`,n),e.searchParams.set(`kid`,r)}function GT(e,t,n,r){se(e,{registryClaim:HT(t),registrySig:n,registryKid:r})}function KT(e,t,n){return{canonicalHash:t.toLowerCase(),token:n,expiresAtPulse:e.expiresAtPulse??null,issuedAt:Math.floor(Date.now()/1e3),version:1}}function qT(){if(typeof window>`u`||typeof document>`u`){let e=()=>{},t=()=>{};return{openModal:t,closeModal:t,disable:e,teardown:e,destroy:e}}let e=document,t=e.body,n=[`.sp-breathproof__backdrop`,`.stargate-overlay`,`.valuechart-backdrop`,`.sp-modal`,`.ownership-overlay`],r={".sp-breathproof__backdrop":`.sp-breathproof`,".valuechart-backdrop":`.valuechart`,".ownership-overlay":`.ownership-panel`,".stargate-overlay":`.stargate-content, .stargate-frame, .stargate__content`,".sp-modal":`.sp-modal__content, .sp-modal__card, .sp-card`},i={capture:!0,passive:!1},a={capture:!0},o=0,s=0,c=0,l=``,u=``,d=``,f=``,p=``,m=()=>{o===0&&(s=window.scrollY||e.documentElement.scrollTop||0,c=window.scrollX||e.documentElement.scrollLeft||0,l=t.style.top,u=t.style.left,d=t.style.width,f=t.style.position,p=t.style.overflow,t.style.position=`fixed`,t.style.top=`-${s}px`,t.style.left=`-${c}px`,t.style.width=`100%`,t.style.overflow=`hidden`,t.classList.add(`modal-open`,`bp-open`)),o++},h=()=>{o=Math.max(0,o-1),!(o>0)&&(t.style.position=f,t.style.top=l,t.style.left=u,t.style.width=d,t.style.overflow=p,requestAnimationFrame(()=>{window.scrollTo(c,s)}),t.classList.remove(`modal-open`),t.classList.remove(`bp-open`))},g=e=>{if(!e)return!1;let t=window.getComputedStyle(e);return!(t.display===`none`||t.visibility===`hidden`||e.hasAttribute(`hidden`))},_=()=>{let t=[];return n.forEach(n=>{e.querySelectorAll(n).forEach(e=>{g(e)&&t.push(e)})}),t},v=t=>{if(!t)return null;let r=t;for(;r&&r!==e.documentElement;){for(let e of n)if(r.matches(e))return r;r=r.parentElement}return null},y=(e,t)=>{if(!e||!t)return!1;let i=n.find(t=>e.matches(t))||``,a=i?r[i]:``;return a&&e.querySelector(a)?!t.closest(a):t===e},b=()=>{_().length>0?m():h()},x=e=>{e&&(e.classList.add(`is-open`),e.removeAttribute(`hidden`),b())},S=e=>{e&&(e.classList.remove(`is-open`),e.setAttribute(`hidden`,``),b())},C=e=>{let t=e.target;if(!t)return;let n=t.closest(`.sp-breathproof__close, .stargate-exit, .sp-modal__close, .sealmoment__close, [data-modal-close], [data-dismiss="modal"], button[aria-label="Close"], button[aria-label="close"]`);if(n){let t=v(n);t&&(S(t),e.preventDefault(),e.stopPropagation());return}let r=v(t);if(r&&y(r,t)&&r.getAttribute(`data-backdrop-dismiss`)!==`false`){S(r),e.preventDefault(),e.stopPropagation();return}},w=e=>{if(_().length===0)return;let t=e.target;if(!t)return;let n=t.closest(`[data-scroll], .sp-breathproof, .valuechart, .ownership-panel, .sp-modal__content, .sp-card, .stargate-content`);if(!n){e.preventDefault(),e.stopPropagation();return}if(!(n.scrollHeight>n.clientHeight)){e.preventDefault(),e.stopPropagation();return}},T=e=>{if(e.key!==`Escape`)return;let t=_();if(t.length===0)return;let n=t[t.length-1];n.getAttribute(`data-escape-dismiss`)!==`false`&&(S(n),e.preventDefault(),e.stopPropagation())};e.addEventListener(`click`,C,i),e.addEventListener(`pointerup`,C,i),e.addEventListener(`touchend`,C,i),e.addEventListener(`touchmove`,w,i),e.addEventListener(`keydown`,T,i),b();let E=()=>{e.removeEventListener(`click`,C,a),e.removeEventListener(`pointerup`,C,a),e.removeEventListener(`touchend`,C,a),e.removeEventListener(`touchmove`,w,a),e.removeEventListener(`keydown`,T,a);try{o=1,h()}catch{}};return{openModal:x,closeModal:S,disable:E,teardown:E,destroy:E}}var JT=A(L(),1),YT=1e-9,XT=`sigil-sendlock-v1`,ZT=(e,t)=>`sigil:sendlock:${e}:t:${t}`,QT=15e3,$T=()=>Date.now(),eE={"--phi-url":`url(/assets/phi.svg)`},tE=e=>{try{return new URL(e,window.location.origin).toString()}catch{return e}},nE=(e,t)=>{let n=crypto.getRandomValues(new Uint32Array(4)).join(``);if(!e||!t)return{ok:!1,id:n};let r=ZT(e.toLowerCase(),t);try{let i=localStorage.getItem(r),a=i?JSON.parse(i):null,o=!a||!Number.isFinite(a.at)||$T()-a.at>QT;if(!a||o){localStorage.setItem(r,JSON.stringify({id:n,at:$T()}));try{let r=new BroadcastChannel(XT),i={type:`lock`,canonical:e.toLowerCase(),token:t,id:n,at:$T()};r.postMessage(i),r.close()}catch{}return{ok:!0,id:n}}}catch{}return{ok:!1,id:n}},rE=(e,t,n)=>{if(!e||!t)return;let r=ZT(e.toLowerCase(),t);try{let i=localStorage.getItem(r),a=i?JSON.parse(i):null;if(!a||a.id===n){localStorage.removeItem(r);try{let r=new BroadcastChannel(XT),i={type:`unlock`,canonical:e.toLowerCase(),token:t,id:n,at:$T()};r.postMessage(i),r.close()}catch{}}}catch{}},iE=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.amount==`number`&&Number.isFinite(t.amount)&&t.amount>0&&typeof t.nonce==`string`&&t.nonce.length>0&&typeof t.timestamp==`number`&&Number.isFinite(t.timestamp)&&(typeof t.recipientPhiKey==`string`||t.recipientPhiKey===void 0)},aE=e=>{if(!Array.isArray(e))return 0;let t=0;for(let n of e)iE(n)&&(t+=n.amount);return t},oE=e=>[...e].sort((e,t)=>{let n=(e.timestamp||0)-(t.timestamp||0);return n===0?e.nonce.localeCompare(t.nonce):n}),sE=e=>{let t=new Set,n=[];for(let r of e)iE(r)&&(t.has(r.nonce)||(t.add(r.nonce),n.push(r)));return n},cE=e=>{let t=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount)?e.originalAmount:NaN,n=oE(Array.isArray(e.debits)?sE(e.debits):[]);if(!Number.isFinite(t))return{originalAmount:e.originalAmount,debits:n.length?n:void 0};let r=[],i=0;for(let e of n)iE(e)&&i+e.amount<=t+YT&&(r.push(e),i+=e.amount);return{originalAmount:t,debits:r.length?r:void 0}},lE=e=>e===`breaths`||e===`steps`,uE=`sigil-lineage-v1`,dE=(e,t)=>t?`sigil:desc:${e}:t:${t}`:`sigil:desc:${e}`,fE=`sigil-xfer-v1`,pE=e=>`sigil:rotated:${e}`,mE=(e,t)=>{Array.from(new Set(e.map(e=>e.toLowerCase()).filter(Boolean))).forEach(e=>{try{localStorage.setItem(pE(e),`${t}@${Date.now()}`)}catch{}try{let n=new BroadcastChannel(fE);n.postMessage({type:`rotated`,canonical:e,token:t}),n.close()}catch{}try{window.dispatchEvent(new CustomEvent(`sigil:transfer-rotated`,{detail:{canonical:e,token:t}}))}catch{}})};function hE(e,t){let n=(e||``).toLowerCase();if(!n||!t)return[];try{let e=localStorage.getItem(dE(n,t));if(!e)return[];let r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function gE(e,t,n){let r=(e||``).toLowerCase();if(!(!r||!t))try{localStorage.setItem(dE(r,t),JSON.stringify(n||[]))}catch{}}function _E(e,t,n){try{let r=new BroadcastChannel(uE),i={type:`descendants`,canonical:e.toLowerCase(),token:t,list:n,stamp:Date.now()};r.postMessage(i),r.close()}catch{}}function vE(){let{hash:e}=O(),t=S(),n=P(),r=(e??``).toLowerCase(),o=(0,G.useMemo)(()=>new URLSearchParams(t.search),[t.search]),u=o.get(`t`),[f,p]=(0,G.useState)(`checking`),[h,_]=(0,G.useState)(`checking`),[b,x]=(0,G.useState)(!1),[C,E]=(0,G.useState)(`Awaiting Proof Of Breath™`),[k,A]=(0,G.useState)(``),[j,M]=(0,G.useState)(320),N=(0,G.useRef)(null),{payload:F,setPayload:ee,loading:L,setLoading:ne}=mC(t.search),V=F,{pulse:re,msToNextPulse:ie}=U(),[oe,H]=(0,G.useState)(null),[W,fe]=(0,G.useState)(null),[pe,me]=(0,G.useState)(!1),[he,ge]=(0,G.useState)(!1),[_e,ve]=(0,G.useState)(``),[ye,be]=(0,G.useState)(``),[xe,Se]=(0,G.useState)(`breaths`),[Ce,we]=(0,G.useState)(44),[J,Te]=(0,G.useState)(``),[Ee,De]=(0,G.useState)(!1),Oe=(0,G.useRef)(``),ke=(0,G.useMemo)(()=>r?`sigil:legacy-upgraded:${r}`:``,[r]),[Me,Ne]=(0,G.useState)(!1),[Pe,Fe]=(0,G.useState)(!1);(0,G.useEffect)(()=>{if(ke)try{Fe(localStorage.getItem(ke)===`1`)}catch{}},[ke]);let Ie=(0,G.useCallback)(()=>{if(ke){try{localStorage.setItem(ke,`1`)}catch{}Fe(!0),_C(A,`Upgraded — legacy link locked`)}},[ke]),[Le,Re]=(0,G.useState)(!1),[ze,Be]=(0,G.useState)(``),[Ve,He]=(0,G.useState)(``),[Ue,We]=(0,G.useState)(`checking`),[Ge,Ke]=(0,G.useState)(null);(0,G.useEffect)(()=>{let e=Array.from(new Set([V?.canonicalHash,r,J].filter(Boolean).map(e=>e.toLowerCase())));if(e.length===0)return;let t=()=>{let t=null;try{for(let n of e){let e=localStorage.getItem(pE(n)),r=e?String(e).split(`@`)[0]:null;if(r){t=r;break}}}catch{}Ke(t)};t();let n=null;try{n=new BroadcastChannel(fE),n.onmessage=t=>{let n=t.data;if(n?.type===`rotated`){let t=(n.canonical||``).toLowerCase();e.includes(t)&&Ke(n.token||null)}}}catch{}let i=n=>{if(n.key){for(let r of e)if(n.key===pE(r)){t();break}}};return window.addEventListener(`storage`,i,{passive:!0}),()=>{if(window.removeEventListener(`storage`,i),n&&typeof n.close==`function`)try{n.close()}catch{}}},[V?.canonicalHash,r,J]);let qe=(0,G.useCallback)(async(e,t,n,r,i)=>{try{let a=KT(e,t,n),o=await UT(a);if(!o)return r;let s=new URL(r,window.location.origin);return WT(s,o.r,o.s,o.kid),i&>(i,a,o.s,o.kid),s.toString()}catch{return r}},[]);(0,G.useEffect)(()=>{let e=null;try{e=new BroadcastChannel(XT),e.onmessage=()=>{}}catch{}return()=>{if(e&&typeof e.close==`function`)try{e.close()}catch{}}},[]),(0,G.useEffect)(()=>{let e=qT();return()=>{e.destroy?.(),e.teardown?.(),e.disable?.()}},[]);let[Je,Ye]=(0,G.useState)(0),[Xe,Ze]=(0,G.useState)(!1),[Qe,$e]=(0,G.useState)(null),et=(0,G.useMemo)(()=>{let e=[V?.canonicalHash,J,oe?.canonicalHash,Qe?.matchedHash].filter(Boolean).map(e=>e.toLowerCase());return Array.from(new Set(e))},[V?.canonicalHash,J,oe?.canonicalHash,Qe]);(0,G.useLayoutEffect)(()=>{NC()},[]),(0,G.useEffect)(()=>{let e=sC[V?.chakraDay??`Throat`]??{hue:180,accent:`#00FFD0`},t=document.querySelector(`.sigilpage`);t&&(t.style.setProperty(`--crystal-hue`,String(e.hue)),t.style.setProperty(`--crystal-accent`,e.accent))},[V?.chakraDay]);let[tt,nt]=(0,G.useState)(null),{valSeal:it,livePrice:at,priceFlash:ot}=le({payload:V,urlSearchParams:o,currentPulse:re,routeHash:r}),st=o.get(`h`)??``;(0,G.useEffect)(()=>{if(!st){nt(e=>e===null?e:null);return}try{let e=d(EC(st.trim()));nt(t=>Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every((t,n)=>t===e[n])?t:e)}catch{nt(e=>e===null?e:null)}},[st]);let ct=(0,G.useCallback)((e,t)=>{let n=e.stepsPerBeat??a,r=t.stepsPerBeat??a,i=v(e.pulse,n),o=v(t.pulse,r);return e.pulse===t.pulse&&e.beat===t.beat&&i===o&&e.chakraDay===t.chakraDay},[]),lt=(0,G.useMemo)(()=>typeof window<`u`?new URL(window.location.href).toString():`${`/s/${encodeURIComponent(e??``)}`}${t.search||``}${t.hash||``}`,[e,t.search,t.hash]),ut=(0,G.useMemo)(()=>e?e.slice(0,16):`—`,[e]),dt=(0,G.useCallback)(async(e,t=`Copied`)=>{try{return await navigator.clipboard.writeText(e),_C(A,t),!0}catch{return _C(A,`Copy failed`),!1}},[]),ft=(0,G.useCallback)(async()=>{try{let e=navigator;typeof e?.share==`function`?(await e.share({title:`Kairos Sigil-glyph`,text:`Sealed Kairos Moment`,url:lt}),_C(A,`Share sheet opened`)):await dt(lt,`Link copied`)}catch{}},[lt,dt]);(0,G.useEffect)(()=>{let e=Date.now(),t=(r||``).toLowerCase();if(Je>e||!t||et.length===0)return;let n=et.includes(t),i=h,a=f;!n&&J&&t!==J&&!Qe||!n&&(Qe||Ue===`archived`)?i=`authentic`:(i=n?`authentic`:`forged`,f!==`verified`&&(a=n?`ok`:`mismatch`)),i!==h&&_(i),a!==f&&p(a)},[et,r,Ue,Je,Qe,J,h,f]);let[pt,mt]=(0,G.useState)(null),ht=(0,G.useDeferredValue)(V),gt=(0,G.useMemo)(()=>{let t=ht?.stepsPerBeat??a,n=ht?v(ht.pulse,t):0,r=ht?.chakraDay??`Throat`,i=(ht?.userPhiKey??``).slice(0,12),o=(ht?.pulse??0).toLocaleString();return{title:`☤Kai Sigil-Glyph — ${e?e.slice(0,16):`—`}`,desc:ht?`Sealed Sigil-Glyph • Pulse ${o} • Beat ${ht.beat}/36 • Step ${n}/${t} • ${r}${i?` • Owner ${i}…`:``}.`:`Sealed Sigil-Glyph`}},[ht,e]);(0,G.useEffect)(()=>{let e=lt;document.title=gt.title;let t=aC(`canonical`);t.href=e,rC(`name`,`theme-color`,sC[V?.chakraDay??`Throat`]?.accent||`#00FFD0`),rC(`property`,`og:title`,gt.title),rC(`property`,`og:description`,gt.desc),rC(`property`,`og:type`,`website`),rC(`property`,`og:url`,e),rC(`name`,`twitter:card`,`summary_large_image`),rC(`name`,`twitter:title`,gt.title),rC(`name`,`twitter:description`,gt.desc),rC(`property`,`og:site_name`,`Kairos Harmonik Kingdom`);let n=V?.stepsPerBeat??a,r=V?v(V.pulse,n):0,i=V,o=V??{},s={"@context":`https://schema.org`,"@type":`VisualArtwork`,name:gt.title,description:gt.desc,url:e,image:pt||void 0,genre:`Sigil-Glyph`,identifier:[{"@type":`PropertyValue`,name:`pulse`,value:V?.pulse??null},{"@type":`PropertyValue`,name:`beat`,value:V?.beat??null},{"@type":`PropertyValue`,name:`stepIndex`,value:r},{"@type":`PropertyValue`,name:`stepsPerBeat`,value:n},{"@type":`PropertyValue`,name:`chakraDay`,value:V?.chakraDay??null},{"@type":`PropertyValue`,name:`userPhiKey`,value:V?.userPhiKey??null},{"@type":`PropertyValue`,name:`kaiSignature`,value:V?.kaiSignature??null},{"@type":`PropertyValue`,name:`canonicalHash`,value:(V?.canonicalHash??J)||null},{"@type":`PropertyValue`,name:`expiresAtPulse`,value:V?.expiresAtPulse??null},{"@type":`PropertyValue`,name:`transferNonce`,value:new URLSearchParams(location.search).get(`t`)??V?.transferNonce??null},{"@type":`PropertyValue`,name:`claimExtendUnit`,value:lE(o.claimExtendUnit)?o.claimExtendUnit:null},{"@type":`PropertyValue`,name:`claimExtendAmount`,value:o.claimExtendAmount??null},{"@type":`PropertyValue`,name:`historyLiteCount`,value:tt?.length??0}].filter(e=>e.value!=null)};i?.lineage?.length&&s.identifier.push({"@type":`PropertyValue`,name:`lineageDepth`,value:i.lineage.length}),oC(`sigil-jsonld`,s)},[lt,gt.title,gt.desc,V,pt,J,tt?.length]),(0,G.useEffect)(()=>MT({stageId:`sigil-stage`,payload:V?{...V}:null,localHash:J,setOgImgUrl:mt,setMeta:rC,seoTitle:gt.title,seoDesc:gt.desc}),[V,J,j,gt.title,gt.desc]),(0,G.useLayoutEffect)(()=>(document.documentElement.classList.add(`sigil-scroll`),()=>document.documentElement.classList.remove(`sigil-scroll`)),[]),(0,G.useEffect)(()=>{let e=0,t=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>{let e=window.innerWidth,t=window.innerHeight,n=e<640?Math.max(220,Math.min(360,t*.48)):Math.max(160,Math.min(320,t*.35)),r=Math.max(160,Math.min(640,Math.min(e,t-n))),i=N.current?.clientWidth??e,a=Math.max(160,Math.min(640,i-24));M(Math.round(Math.min(r,a)))})},n=N.current??document.body,r=new ResizeObserver(()=>t());return r.observe(n),window.addEventListener(`resize`,t,{passive:!0}),t(),()=>{r.disconnect(),window.removeEventListener(`resize`,t),cancelAnimationFrame(e)}},[]),(0,G.useEffect)(()=>{L?(p(e=>e===`verified`?`verified`:`checking`),_(e=>e===`authentic`?`authentic`:`checking`),x(!1),E(`Awaiting Verifikation`)):V||(p(e=>e===`verified`?`verified`:r?`notfound`:`checking`),_(e=>e===`authentic`?`authentic`:r?`forged`:`checking`))},[L,V,r]);let vt=e=>Array.isArray(e)?[...e].map(e=>({nonce:e.nonce,amount:Number.isFinite(e.amount)?Number(e.amount):0,recipient:e.recipientPhiKey??``,ts:e.timestamp??``})).sort((e,t)=>e.nonce.localeCompare(t.nonce)).map(e=>`${e.nonce}:${e.amount}:${e.recipient}:${e.ts}`).join(`|`):``;(0,G.useEffect)(()=>{let e=eT(o.get(`d`));if(!e)return;let t=yT(V??null,J,Qe),n=bT(u,V??null),r=cE(e);t&&rT(t,r,n);let i=typeof r.originalAmount==`number`?r.originalAmount:void 0,a=Array.isArray(r.debits)?r.debits:void 0;ee(e=>{if(!e)return e;let t=e,n=(t.originalAmount??void 0)===i,r=vt(t.debits)===vt(a);if(n&&r)return e;let o={...e};return i!==void 0&&(o.originalAmount=i),a&&(o.debits=a,o.totalDebited=aE(a)),o})},[o,V,J,Qe,u,ee]);let[yt,bt]=(0,G.useState)(!1),xt=(0,G.useRef)(!1);(0,G.useEffect)(()=>{let e=yT(V??null,J,Qe);if(!e)return;let t=bT(u,V??null),{merged:n,urlIsStale:r}=cT(e,o,t),i=cE(n);r&&bt(!0),sT(i,e,t,{broadcast:!1,navigate:r});let a=typeof i.originalAmount==`number`?i.originalAmount:void 0,s=Array.isArray(i.debits)?i.debits:void 0;ee(e=>{if(!e)return e;let t=e,n=(t.originalAmount??void 0)===a,r=vt(t.debits)===vt(s);if(n&&r)return e;let i={...e};return a!==void 0&&(i.originalAmount=a),s&&(i.debits=s,i.totalDebited=aE(s)),i})},[V?.canonicalHash,J,Qe,o,u,ee]),(0,G.useEffect)(()=>{if(xt.current||!V?.canonicalHash)return;let e=V.canonicalHash.toLowerCase();if(r&&e&&e!==r&&Ue===`active`&&!Qe){xt.current=!0;let t=new URL(window.location.href);t.pathname=`/s/${e}`,n(`${t.pathname}${t.search}${t.hash}`,{replace:!0})}},[V?.canonicalHash,r,Ue,Qe,n]),(0,G.useEffect)(()=>{if(!xt.current&&V&&!V.canonicalHash&&J&&r&&J!==r&&Ue===`active`&&!Qe){xt.current=!0;let e=new URL(window.location.href);e.pathname=`/s/${J}`,n(`${e.pathname}${e.search}${e.hash}`,{replace:!0})}},[V?.canonicalHash,J,r,Ue,Qe,n]),(0,G.useEffect)(()=>{let e=et;if(!e.length)return;let t=bT(u,V??null),n=(e,t)=>{let n={};typeof e?.originalAmount==`number`&&(n.originalAmount=e.originalAmount),n.originalAmount===void 0&&typeof t?.originalAmount==`number`&&(n.originalAmount=t.originalAmount);let r=Array.isArray(e?.debits)?e.debits:[],i=Array.isArray(t?.debits)?t.debits:[],a=sE([...r,...i]);return cE({originalAmount:n.originalAmount,debits:a})},r=(e,t)=>{let n=cE(e??{}),r=cE(t??{}),i=typeof n.originalAmount==`number`?n.originalAmount:NaN,a=typeof r.originalAmount==`number`?r.originalAmount:NaN,o=Number.isNaN(i)&&Number.isNaN(a)||Math.abs(i-a)e.nonce)),c=new Set((Array.isArray(r.debits)?r.debits:[]).map(e=>e.nonce));if(!o||s.size!==c.size)return!1;for(let e of s)if(!c.has(e))return!1;return!0},i=(i,a,o)=>{let s=i.toLowerCase();if(!e.includes(s))return;let c=t??null;if(c!==(o??null))return;let l=eT(a);if(!l)return;let u=eT(new URLSearchParams(window.location.search).get(`d`)),d=n(u,l);r(u,d)||(sT(d,s,c,{broadcast:!1}),ee(e=>{if(!e)return e;let t={...e};return typeof d.originalAmount==`number`&&(t.originalAmount=d.originalAmount),Array.isArray(d.debits)&&(t.debits=d.debits,t.totalDebited=aE(d.debits)),t}))},a=null;try{a=new BroadcastChannel(Kw),a.onmessage=e=>{let t=e.data;t?.type===`debits`&&t.canonical&&t.qs&&i(t.canonical,t.qs,t.token)}}catch{}let o=t=>{if(!(!t.key||typeof t.newValue!=`string`))for(let n of e){if(!Jw(t.key,n))continue;let e=Yw(t.key,n);i(n,t.newValue,e);break}};return window.addEventListener(`storage`,o,{passive:!0}),()=>{if(window.removeEventListener(`storage`,o),a&&typeof a.close==`function`)try{a.close()}catch{}}},[et,u,V,ee]);let St=(0,G.useMemo)(()=>V?typeof V.expiresAtPulse==`number`?V.expiresAtPulse:V.pulse+11:null,[V]),Ct=(0,G.useMemo)(()=>re==null||St==null?null:Math.max(0,St-re),[re,St]),wt=(0,G.useMemo)(()=>Ct===0,[Ct]),Tt=(0,G.useMemo)(()=>re==null||!V?null:Math.max(0,V.pulse-re),[V,re]),Et=(0,G.useMemo)(()=>re==null||!V?!1:V.pulse>re,[V,re]),Dt=V?.chakraDay??`Throat`,Ot=V?.stepsPerBeat??a,kt=v(V?.pulse??0,Ot),At=c(V?.pulse??0),jt=(0,G.useMemo)(()=>{if(!V?.canonicalHash||typeof V.stepIndex!=`number`)return null;let e=V.stepsPerBeat??a;return g(V.canonicalHash.toLowerCase(),{pulse:V.pulse,beat:V.beat,stepIndex:V.stepIndex,chakraDay:V.chakraDay??`Root`,stepsPerBeat:e,kaiSignature:V.kaiSignature??void 0,userPhiKey:V.userPhiKey??void 0})},[V,a]),Mt=(0,G.useMemo)(()=>`hsl(${((sC[Dt]?.hue??180)+(J&&/^[0-9a-f]+$/i.test(J)?parseInt(J.slice(-2),16)%12:0)*2.5)%360} 100% ${50+15*Math.sin(At*2*Math.PI)}%)`,[Dt,At,J]),Nt=sC[Dt]?.hue??180,Pt=(0,G.useMemo)(()=>`qr-${(J||r||`seed`).slice(0,12)}-${Dt}-${kt}`,[J,r,Dt,kt]),[Ft,It]=(0,G.useState)(!1),[Lt,Rt]=(0,G.useState)(null);(0,G.useEffect)(()=>{let e=!1;return(async()=>{try{if(!V){Rt(null);return}let t=V.stepsPerBeat??a,n=v(V.pulse,t),r=T(V),i=y(V.pulse,V.beat,n,String(V.chakraDay??``),r),o=await w(i),s=await D(o),c=typeof V.kaiSignature==`string`?V.kaiSignature.toLowerCase()===o.toLowerCase():!0,l=typeof V.userPhiKey==`string`?V.userPhiKey.toLowerCase()===s.toLowerCase():!0,u={pulse:V.pulse,beat:V.beat,stepsPerBeat:t,stepIndex:n,chakraDay:String(V.chakraDay??``),intention:r??null,sigmaString:i,sigmaHash:o,derivedPhiKey:s,payloadKaiSignature:V.kaiSignature??null,payloadUserPhiKey:V.userPhiKey??null,matches:{sigma:c,phi:l}};e||Rt(u)}catch{e||Rt(null)}})(),()=>{e=!0}},[V]);let zt=z(async()=>{if(he)return;ge(!0);let e=document.getElementById(`sigil-stage`);try{await xT({stageEl:e,payload:V,localHash:J,routeHash:r,qr:{uid:Pt,url:lt,hue:Nt,accent:Mt},onToast:e=>_C(A,e)})}finally{ge(!1)}}),[Bt,Vt]=(0,G.useState)(!1),[Ht,Ut]=(0,G.useState)(``),Wt=(0,G.useCallback)(async()=>{let e=N.current;e&&(Ut((await(0,JT.default)(e,{backgroundColor:null})).toDataURL(`image/png`)),Vt(!0))},[]),Gt=(0,G.useCallback)(()=>{Vt(!1),Ut(``)},[]),Kt=z(()=>{Wt()}),qt=z(()=>{Gt()}),Jt=z(()=>It(e=>!e)),Yt=z(()=>Ze(!0)),Xt=(0,G.useCallback)(async e=>{let t=await e.arrayBuffer(),n=e.type||`application/octet-stream`,r=`data:${n};base64,${gC(t)}`;fe({name:e.name,mime:n,size:e.size,dataUri:r}),_C(A,`Remembered ${e.name}`)},[]),Zt=(0,G.useCallback)((e,t)=>{let n=e.stepsPerBeat??a,i=v(e.pulse,n),o=(e.canonicalHash||J||``).toLowerCase(),s=e.claimExtendUnit,c=lE(s)?s:null,l=e.claimExtendAmount,u=typeof l==`number`?l:null,d=LT({pulse:e.pulse,beat:e.beat,chakraDay:e.chakraDay??`Root`,stepsPerBeat:n,stepIndex:i,userPhiKey:e.userPhiKey??null,kaiSignature:e.kaiSignature??null,canonicalHash:o,transferNonce:e.transferNonce??null,expiresAtPulse:e.expiresAtPulse??null,claimExtendUnit:c,claimExtendAmount:u},t,{localHash:J,routeHash:r,stepsPerBeat:a,stepIndexFromPulse:v})?.url||`/s/${o}`;try{let e=new URL(d,window.location.origin);e.pathname=`/s/${o}`;let t=new URLSearchParams(window.location.search).get(`d`);t&&e.searchParams.set(`d`,t),d=e.toString()}catch{}let f=new URL(d,window.location.origin);f.pathname=`/s/${o}`,new URL(window.location.href).searchParams.forEach((e,t)=>{t!==`d`&&f.searchParams.set(t,f.searchParams.get(t)??e)});let p=lT(d)||o;return Be(d),He(p),Re(!0),d},[J,r]),Qt=(0,G.useCallback)((e,t,i=!0)=>{let o=e.stepsPerBeat??a,c=v(e.pulse,o),l=e.claimExtendUnit,u=lE(l)?l:`breaths`,d=e.claimExtendAmount,f=typeof d==`number`?d:11;return RT({pulse:e.pulse,beat:e.beat,chakraDay:e.chakraDay??`Root`,stepsPerBeat:o,stepIndex:c,userPhiKey:e.userPhiKey??null,kaiSignature:e.kaiSignature??null,canonicalHash:t,transferNonce:e.transferNonce??null,expiresAtPulse:e.expiresAtPulse??null,claimExtendUnit:u,claimExtendAmount:f},t,{localHash:J,routeHash:r,stepsPerBeat:a,stepIndexFromPulse:v,getKaiPulseEternalInt:s,breathsToPulses:B,shareTransferLink:LT,publishRotation:mE,navigate:e=>{if(i)try{n(e)}catch{try{window.location.href=e}catch{}}}})??null},[J,r,n]),$t=(0,G.useCallback)(async e=>{if(x(!1),E(`Verifying…`),!(/image\/svg\+xml/i.test(e.type)||/\.svg$/i.test(e.name))){E(`Unsupported file. Upload an SVG sigil (.svg) only.`);return}let t=null;try{let{ok:n,errors:r,payload:i,meta:a}=ce(await e.text());if(!n||!i){E(r[0]||`Invalid SVG.`);return}t=i,H(a||{})}catch{E(`Invalid or unreadable SVG uploaded.`);return}if(!V||!t){E(`Load or link a sigil first, then verify stewardship.`);return}if(!ct(V,t)){E(`File does not match this sealed kairos moment.`),x(!1);return}if(t.canonicalHash){let e=t.canonicalHash.toLowerCase(),n=(J||``).toLowerCase(),i=(r||``).toLowerCase(),a=n&&e===n,o=i&&e===i;if(!a&&!o){E(`SVG canonicalHash doesn’t match this link’s hash.`),x(!1);return}if(o&&!a){$e({reason:`svg.canonicalHash matched route (legacy)`,matchedHash:e}),_(`authentic`),p(`ok`),We(`archived`),x(!0),E(`Stewardship verified (legacy SVG). Issuing modern link…`),n&&(Qt({...V},n,!0),E(`Legacy verified. Modern transfer link ready.`));return}}if(new Set([u??void 0,V.transferNonce??void 0,t.transferNonce??void 0,Ge??void 0].filter(e=>!!e)).size>1){E(`This is not the active transfer link for that Φkey.`),x(!1);return}x(!0),E(`Stewardship verified`)},[V,ct,J,r,u,Ge,Qt]),en=z(async()=>{if(pe)return;let e=N.current?.querySelector(`svg`),t=V??{},n=lE(t.claimExtendUnit)?t.claimExtendUnit:void 0,i=typeof t.claimExtendAmount==`number`?t.claimExtendAmount:null;await jT({expired:!!wt,exporting:pe,setExporting:me,svgEl:e,payload:V?{pulse:V.pulse,beat:V.beat,chakraDay:V.chakraDay??null,stepsPerBeat:V.stepsPerBeat??void 0,stepIndex:V.stepIndex??null,exportedAtPulse:V.exportedAtPulse??null,canonicalHash:V.canonicalHash??null,userPhiKey:V.userPhiKey??null,kaiSignature:V.kaiSignature??null,transferNonce:V.transferNonce??null,expiresAtPulse:V.expiresAtPulse??null,claimExtendUnit:n,claimExtendAmount:i,attachment:V.attachment??null,provenance:V.provenance??null}:null,isFutureSealed:Et,linkStatus:Ue,setToast:e=>_C(A,e),expiryUnit:xe,expiryAmount:Ce,localHash:J,routeHash:r,transferToken:u??null,getKaiPulseEternalInt:s,stepIndexFromPulse:v,STEPS_PER_BEAT:a})}),tn=(0,G.useCallback)(e=>{let t=typeof e==`string`?e:e?.hash;if(!t)return;let n=t.toLowerCase();Te(e=>e===n?e:n)},[]),nn=L&&!V,rn=f===`notfound`||f===`error`,an=V?.pulse??0,on=((ie??0)/1e3).toFixed(3),sn=Ue===`archived`,cn=b&&!sn,ln=(0,G.useMemo)(()=>h===`authentic`&&sn&&!u&&!!r&&!!J&&r!==J,[h,sn,u,r,J]);(0,G.useEffect)(()=>{if(!V||h!==`authentic`||f===`mismatch`||f===`error`||f===`notfound`)return;let e=!1;return(async()=>{try{let t=V.stepsPerBeat??a,n=v(V.pulse,t),r=T(V),i=await w(y(V.pulse,V.beat,n,String(V.chakraDay??``),r)),o=typeof V.kaiSignature==`string`?V.kaiSignature.toLowerCase()===i.toLowerCase():!0,s=await D(i),c=typeof V.userPhiKey==`string`?V.userPhiKey.toLowerCase()===s.toLowerCase():!0;!e&&o&&c&&f!==`verified`&&p(`verified`)}catch{}})(),()=>{e=!0}},[V,h,f,Ue]),(0,G.useEffect)(()=>{let e=(r||``).toLowerCase(),t=u||null,n=V?.transferNonce||null,i=!!t&&!!n&&t===n&&(St==null||re==null||re{let e=!0;return(async()=>{if(!V){dn(``),pn(``);return}let t=(V.canonicalHash||J||``).toLowerCase(),n=s(new Date),r=await PC(V,t,n,I(n),v(n,V.stepsPerBeat??a));e&&(dn(r.ownerPhiKey),pn(r.kaiSig))})(),()=>{e=!1}},[V,J]);let mn=(0,G.useCallback)(async e=>{if(e?.preventDefault?.(),e?.stopPropagation?.(),!V||!J||Et||sn)return;let t=(V.canonicalHash||J||``).toLowerCase(),n=s(new Date),r=await PC(V,t,n,I(n),v(n,V.stepsPerBeat??a));ve(r.ownerPhiKey),be(r.kaiSig),setTimeout(()=>{try{_n()}catch{}},0)},[V,J,Et,sn]),hn=(0,G.useCallback)(e=>{let t=`/${e}`;try{window.location.assign(t)}catch{window.location.href=t}},[]),gn=(0,G.useCallback)(async()=>{try{let e=await(await fetch(`/verifier.inline.html`,{cache:`no-store`})).text(),t=new Blob([e],{type:`text/html`}),n=document.createElement(`a`);n.href=URL.createObjectURL(t),n.download=`verifier.html`,document.body.appendChild(n),n.click(),setTimeout(()=>{URL.revokeObjectURL(n.href),n.remove()},0),_C(A,`Downloading verifier…`)}catch{_C(A,`Download failed`)}},[]);({...Jt});let _n=(0,G.useCallback)(()=>{if(!V)return _C(A,`Nothing to mint`);let e=N.current?.querySelector(`svg`);if(!e)return _C(A,`No Φkey in frame`);if(!J)return _C(A,`Glyph hash not ready yet`);if(Ue!==`active`)return _C(A,`Archived link — cannot exhale from here`);if(Et)return _C(A,`Opens after the moment—claim unlocks then`);let t=$S(oe??{},V.pulse),n=(_e||V.userPhiKey||``).trim();if(!n)return _C(A,`Owner ΦKey required`);let i=Math.max(0,Math.floor(Ce||0)),o=xe===`breaths`?B(i):ae(i),c=s(new Date),l=c+o,u=J.toLowerCase(),d=crypto.getRandomValues(new Uint32Array(4)).join(``),f=V.stepsPerBeat??a,p=v(V.pulse,f),m=v(c,f),h={...eC(n,ye||V.kaiSignature,V,t.length?`transfer`:`mint`,(W??V.attachment)?.name,c),stepIndex:p,atStepIndex:m},g={...V,userPhiKey:n,kaiSignature:ye||V.kaiSignature,stepsPerBeat:V.stepsPerBeat??a,attachment:W??V.attachment??void 0,expiresAtPulse:l,canonicalHash:u,transferNonce:d,claimExtendUnit:xe,claimExtendAmount:i,provenance:[...t,h]};(async()=>{let t=await w(y(g.pulse,g.beat,p,String(g.chakraDay??``),T(g))),n=await D(t);g.kaiSignature=t,g.userPhiKey=g.userPhiKey||n;let i=Array.from(new Set([V.canonicalHash,r,J].filter(Boolean).map(e=>e.toLowerCase())));i.length&&mE(i,d),We(`archived`),Ye(Date.now()+250),se(e,g),kC(e),ee(g),H(g),_C(A,`Sealed & archived`);let a=Zt(g,d)||`/s/${u}`;a=await qe(g,u,d,a,e),Be(tE(a)),g.canonicalHash&&mE([g.canonicalHash.toLowerCase()],d),setTimeout(()=>Ye(0),0)})()},[V,oe,_e,ye,W,Ce,xe,J,r,Ue,Et,Zt]),vn=V,yn=(0,G.useMemo)(()=>aE(vn?.debits??[]),[vn?.debits]),bn=(0,G.useMemo)(()=>{let e=(typeof vn?.originalAmount==`number`?vn.originalAmount:it?.valuePhi??0)-yn;return e>0?e:0},[vn?.originalAmount,it?.valuePhi,yn]),xn=(vn?.debits?.length??0)>0||typeof vn?.originalAmount==`number`,Sn=(0,G.useMemo)(()=>xn?bn:at??it?.valuePhi??0,[xn,bn,at,it?.valuePhi]),Cn=te,{usdPerPhi:wn,phiPerUsd:Tn}=(0,G.useMemo)(()=>{try{let e=re??s(new Date),t=i({meta:V||{},nowPulse:e,usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},Cn);return{usdPerPhi:t.usdPerPhi??0,phiPerUsd:t.phiPerUsd??0}}catch{return{usdPerPhi:0,phiPerUsd:0}}},[V,re,Cn]),En=(Sn??0)*(wn||0),Dn=(0,G.useCallback)(async()=>{if(!V)return``;let e=V.stepsPerBeat??a,t=v(V.pulse,e);return await D(V.kaiSignature??await w(y(V.pulse,V.beat,t,String(V.chakraDay??``),T(V))))},[V]),[On,kn]=(0,G.useState)([]),An=(0,G.useCallback)(()=>{kn(hE(yT(V??null,J,Qe),bT(u,V??null)))},[V,J,Qe,u]);(0,G.useEffect)(()=>{An();let e=null;try{e=new BroadcastChannel(uE),e.onmessage=e=>{let t=e.data;if(!t||t.type!==`descendants`)return;let n=yT(V??null,J,Qe),r=bT(u,V??null);!n||!r||t.canonical!==n.toLowerCase()||t.token!==r||Array.isArray(t.list)&&kn(t.list)}}catch{}let t=e=>{if(!e.key||!e.newValue)return;let t=yT(V??null,J,Qe),n=bT(u,V??null);if(!(!t||!n)&&e.key===dE(t,n))try{let t=JSON.parse(e.newValue||`[]`);Array.isArray(t)&&kn(t)}catch{}};return window.addEventListener(`storage`,t,{passive:!0}),()=>{if(e&&typeof e.close==`function`)try{e.close()}catch{}window.removeEventListener(`storage`,t)}},[V,J,Qe,u,An]);let jn=(0,G.useCallback)(async(e,t)=>{if(!V)return null;let n=s(new Date),r=crypto.getRandomValues(new Uint32Array(4)).join(``),i=V.stepsPerBeat??a,o=v(V.pulse,i),c=(J||V.canonicalHash||``).toLowerCase(),l=t??bT(u,V??null),d=Array.isArray(V.lineage)?[...V.lineage]:[],f=(d[d.length-1]?.depth??0)+1,p={token:r,parentToken:l??null,amount:Number(e.toFixed(6)),timestamp:n,depth:f,senderPhiKey:V.userPhiKey??null},m={...V,userPhiKey:void 0,originalAmount:Number(e.toFixed(6)),mintedAtPulse:n,transferNonce:r,expiresAtPulse:n+(xe===`breaths`?B(Ce):ae(Ce)),claimExtendUnit:xe,claimExtendAmount:Ce,canonicalHash:c,lineage:[...d,p]},h=await w(y(m.pulse,m.beat,o,String(m.chakraDay??``),T(m))),g=await D(h);m.kaiSignature=h,m.userPhiKey=g;let _=Zt(m,r)||`/s/${c}`;try{let t=new URL(_,window.location.origin);t.pathname=`/s/${c}`,t.searchParams.set(`d`,Qw({originalAmount:m.originalAmount}));let i=vT(t.toString(),m);i=await qe(m,c,r,i);let a=lT(i)||c;rT(a,eT(new URL(i).searchParams.get(`d`))??{},r);let o=yT(V??null,J,Qe),s=l??null;if(o&&s){let t=[...hE(o,s),{token:r,parentToken:s,amount:Number(e.toFixed(6)),timestamp:n,depth:1,recipientPhiKey:m.userPhiKey}];gE(o,s,t),_E(o,s,t),kn(t)}return Be(tE(i)),He(a),Re(!0),i}catch{let e=vT(_||`/s/${c}`,m);return Be(e),He(c),Re(!0),e||null}},[V,xe,Ce,J,Zt,Qe,u]);(0,G.useEffect)(()=>{let e=e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName.toLowerCase();return t===`input`||t===`textarea`||e.isContentEditable},t=t=>{if(t.defaultPrevented||e(t.target))return;let n=t.key.toLowerCase();t.metaKey||t.ctrlKey||t.altKey||(n===`s`?ft():n===`l`?dt(lt,`Link copied`):n===`h`?J&&dt(J,`Hash copied`):n===`z`?en.onClick?.(new MouseEvent(`click`)):n===`p`?zt.onClick?.(new MouseEvent(`click`)):n===`g`&&Wt())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[ft,dt,lt,J,en,zt,Wt]);let Mn=(0,G.useCallback)(e=>{let t=e?.silent??!0;if(!yT(V??null,J,Qe))return null;let r=bT(u,V??null);if(r)return r;r=crypto.getRandomValues(new Uint32Array(4)).join(``);try{let e=new URL(window.location.href);e.searchParams.set(`t`,r),t?window.history.replaceState(null,``,`${e.pathname}${e.search}${e.hash}`):n(`${e.pathname}${e.search}${e.hash}`,{replace:!0})}catch{}return ee(e=>e&&{...e,transferNonce:r}),We(`active`),r},[V,J,Qe,u,ee,n,We]),[Nn,Pn]=(0,G.useState)(0),Fn=(0,G.useCallback)(async()=>{if(!cn)return _C(A,`Verify Stewardship first`);if(!V)return _C(A,`No payload`);if(Ee)return;let e=Number(Nn)||0;if(e<=0)return _C(A,`Enter an amount > 0`);let t=yT(V??null,J,Qe),n=bT(u,V??null);if(n||=Mn({silent:!0})||null,!t||!n)return _C(A,`Link not initialized`);if(Ge&&Ge!==n)return _C(A,`Archived link — cannot exhale from here`);De(!0);let{ok:r,id:i}=nE(t,n);if(Oe.current=i,!r)return De(!1),_C(A,`Another exhale is in progress`);try{let{merged:r}=cT(t,new URLSearchParams(window.location.search),n),i=cE({originalAmount:typeof r.originalAmount==`number`?r.originalAmount:typeof V?.originalAmount==`number`?V.originalAmount:it?.valuePhi??0,debits:Array.isArray(r.debits)?r.debits:[]});if(e>Math.max(0,(i.originalAmount??0)-aE(i.debits||[]))+YT)return _C(A,`Amount exceeds available`);let a=await Dn();if(!a)return _C(A,`Could not derive Φkey`);let o={amount:Number(e.toFixed(6)),nonce:crypto.getRandomValues(new Uint32Array(4)).join(``),recipientPhiKey:a,timestamp:s(new Date)};sT(cE({originalAmount:i.originalAmount,debits:[...i.debits??[],o]}),t,n,{broadcast:!0});let{merged:c}=cT(t,new URLSearchParams(window.location.search),n),l=cE(c);if(!(l.debits??[]).some(e=>e.nonce===o.nonce)){_C(A,`Exhale conflicted — try again`);return}ee(e=>{if(!e)return e;let t={...e};return t.originalAmount=typeof l.originalAmount==`number`?l.originalAmount:typeof t.originalAmount==`number`?t.originalAmount:it?.valuePhi??0,t.debits=Array.isArray(l.debits)?l.debits:[],t.totalDebited=aE(t.debits),t}),Pn(0),_C(A,`Sent ${TC(o.amount)} Φ`),jn(o.amount,n)}finally{rE(t,n,Oe.current),De(!1)}},[cn,V,V?.originalAmount,it?.valuePhi,Nn,Ge,J,Qe,u,ee,Dn,jn,Pn,Ee,Mn]),In=Ft||Xe||Le||Me&&ln;(0,G.useEffect)(()=>{let e=`bp-open`;return In?document.body.classList.add(e):document.body.classList.remove(e),()=>document.body.classList.remove(e)},[In]);let[Ln,Rn]=(0,G.useState)(!1),zn=(0,G.useCallback)(()=>{Rn(!0),window.setTimeout(()=>Rn(!1),2e3)},[]),Bn=z(()=>{dt(J||``,`Hash copied`)}),Vn=z(async()=>{await dt(lt,`Link copied`)&&zn()}),Hn=z(()=>{ft()}),Un=(0,K.jsxs)(de,{frameRef:N,children:[!nn&&!rn&&V&&(0,K.jsx)(`div`,{id:`sigil-stage`,style:{position:`relative`,width:j,height:j,margin:`0 auto`},children:(0,K.jsx)(m,{pulse:an,beat:V.beat,stepIndex:typeof V.stepIndex==`number`?V.stepIndex:void 0,chakraDay:Dt,size:j,hashMode:`deterministic`,origin:``,kaiSignature:V.kaiSignature??void 0,userPhiKey:V.userPhiKey??void 0,canonicalShareUrl:jt??void 0,canonicalPayloadHash:V.canonicalHash?V.canonicalHash.toLowerCase():void 0,onReady:tn})}),nn&&(0,K.jsx)(`div`,{className:`sp-skeleton`,"aria-hidden":`true`}),rn&&(0,K.jsx)(`div`,{className:`sp-error`,children:f===`notfound`?`Waiting for SVG upload or ?p= payload.`:`Unable to load sigil.`})]}),Wn=V?.lineage??[],Gn=(0,G.useCallback)((e,t)=>{let n=e=>typeof e==`object`&&!!e,r=e=>{if(typeof t==`string`)return t;if(!n(e))return``;let r=typeof e.reason==`string`?e.reason:``,i=n(e.detail)?e.detail:null,a=i&&typeof i.reason==`string`?i.reason:``;return r||a||``},i=e=>{if(!n(e))return null;let t=e.target;return t instanceof HTMLElement?t:null},a=r(e),o=i(e),s=a===`closeClick`||a===`close-button`||a===`explicit`||a===`close`,c=!!o?.closest?.(`[data-modal-close],[data-close],.sealmoment__close,.sp-modal__close,button[aria-label="Close"],button[aria-label="close"],button[title="Close"]`);if(s||c||e==null&&t==null){Re(!1),Be(``),He(``);return}},[]),{series:Kn,pushSample:qn}=JS({maxPoints:1512*8,maxBeats:1512});return(0,G.useEffect)(()=>{let e=(3+Math.sqrt(5))*1e3,t=null,n=null,r=()=>{let i=Sn;Number.isFinite(i)&&qn({t:Date.now(),v:i}),n=window.setTimeout(()=>{t=requestAnimationFrame(r)},e)};return r(),()=>{n&&clearTimeout(n),t&&cancelAnimationFrame(t)}},[Sn,qn]),(0,K.jsxs)(`main`,{className:`sigilpage`,role:`main`,"aria-label":`☤Kai Sigil Page`,"data-owner-verified":cn,"data-archived":sn,"data-old-link":yt?`true`:`false`,"data-ready":!L&&!!V,"data-version":`v48`,children:[(0,K.jsx)(`div`,{className:`sp-veil`,"aria-hidden":`true`}),(0,K.jsx)(`div`,{className:`sp-veil-stars`,"aria-hidden":`true`}),(0,K.jsx)(`div`,{className:`sp-viewport`,"aria-hidden":!1,children:(0,K.jsxs)(`section`,{className:`sp-shell`,"data-center":!0,children:[(0,K.jsx)(q,{glyphAuth:h,linkStatus:Ue,isArchived:sn,localHash:J,copyHashPress:Bn}),(h===`authentic`||f===`verified`)&&(0,K.jsx)(K.Fragment,{children:(0,K.jsxs)(`button`,{type:`button`,className:`authority-seal ${f===`verified`?`is-verified`:`is-failed`}`,"aria-pressed":Ft,"aria-label":`Show breath proof`,title:`Tap to show breath proof`,...Jt,children:[(0,K.jsx)(`span`,{className:`authority-seal__emblem`,"aria-hidden":`true`,children:f===`verified`?`✓`:`✕`}),(0,K.jsxs)(`div`,{className:`authority-seal__content`,children:[(0,K.jsxs)(`div`,{className:`authority-seal__headline`,children:[(0,K.jsx)(`span`,{className:`authority-seal__state`,children:f===`verified`?`VERIFIED`:`Out•Of•Sync`}),(0,K.jsx)(`span`,{className:`dot`,children:`•`}),(0,K.jsx)(`span`,{children:`PROOF•OF•BREATH™`})]}),(0,K.jsx)(`div`,{className:`authority-seal__chip`,children:f===`verified`?`SEAL VALID`:`SEAL FAILED`})]})]})}),it&&(0,K.jsxs)(`button`,{type:`button`,className:`sp-price-chip sp-price-dock ${ot===`up`?`flash-up`:ot===`down`?`flash-down`:``}`,"aria-live":`polite`,"aria-label":`Open historical value chart`,title:`Kai ${it.computedAtPulse} • premium ×${it.premium.toFixed(6)} • ${l(wn)}/Φ • ${Number.isFinite(Tn)?`${Tn.toFixed(6)} Φ/$`:`—`} • stamp ${it.stamp.slice(0,12)}…`,...Yt,children:[(0,K.jsx)(`span`,{className:`phi`,"aria-hidden":`true`,style:{"--phi-url":`url(/assets/phi.svg)`}}),(0,K.jsx)(`span`,{className:`price`,"aria-label":xn?`Available amount`:`Live valuation`,children:TC(Sn)}),(0,K.jsxs)(`span`,{className:`usd-inline`,"aria-hidden":`true`,children:[`≈ `,l(En)]}),(0,K.jsx)(`span`,{className:`chip-spacer`,"aria-hidden":`true`}),(0,K.jsxs)(`span`,{className:`live-badge`,"aria-label":xn?`Available amount`:`Live valuation`,children:[xn?`AVAILABLE`:`LIVE`,(0,K.jsx)(`span`,{className:`twinkles`,"aria-hidden":`true`})]})]}),(0,K.jsx)(US,{open:Xe,onClose:()=>Ze(!1),series:Kn,latestValue:Sn??0,label:xn?`Available Φ`:`Live Φ`}),(0,K.jsx)(IS,{glyphAuth:h,linkStatus:Ue,routeHash:r,localHash:J,upgradedOnce:Pe,oldLinkDetected:yt,transferToken:u,onUpgradeClick:()=>Ne(!0)}),(0,K.jsx)(Ae,{absUrl:lt,payload:V,chakraDay:Dt,steps:Ot,stepIndex:kt,stepPctDisplay:At,isArchived:sn,isFutureSealed:Et,pulsesLeft:Ct,opensInPulses:Tt,nextPulseSeconds:on,hash:e,shortHash:ut,remembered:Ln,copyLinkPress:Vn,sharePress:Hn,verified:YS(f),showSkeleton:nn,showError:rn,stage:Un}),Ft&&Lt&&(0,ue.createPortal)((0,K.jsx)(`div`,{className:`sp-breathproof__backdrop`,role:`presentation`,onClick:()=>It(!1),onMouseDown:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),onTouchMove:e=>{e.target===e.currentTarget&&e.preventDefault()},style:{position:`fixed`,inset:0,zIndex:2147483647,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:16,background:`rgba(0,0,0,.55)`,overflow:`auto`,overscrollBehavior:`contain`,WebkitOverflowScrolling:`touch`,pointerEvents:`auto`},children:(0,K.jsxs)(`aside`,{className:`sp-breathproof sp-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`bp-title`,onClick:e=>e.stopPropagation(),tabIndex:-1,style:{maxHeight:`calc(100dvh - 32px)`,overflowY:`auto`,overflowX:`hidden`,WebkitOverflowScrolling:`touch`,outline:`none`,boxSizing:`border-box`,width:`100%`,maxWidth:`min(960px, calc(100vw - 32px))`,margin:`0 auto`,padding:16,borderRadius:16,background:`linear-gradient(180deg, rgba(10,14,15,.92), rgba(6,10,12,.82))`,boxShadow:`0 1px 0 rgba(255,255,255,.06) inset, 0 24px 80px rgba(0,0,0,.55)`,pointerEvents:`auto`},children:[(0,K.jsx)(`button`,{type:`button`,className:`sp-breathproof__close`,"aria-label":`Close`,onClick:()=>It(!1),style:{position:`sticky`,top:-8,marginLeft:`auto`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:36,height:36,borderRadius:999,border:`1px solid var(--sp-border, #ffffff22)`,background:`var(--sp-glass, rgba(12,18,20,.55))`,backdropFilter:`blur(6px)`,cursor:`pointer`},children:`×`}),(0,K.jsx)(`h3`,{id:`bp-title`,style:{marginTop:-40,marginBottom:10,wordBreak:`break-word`},children:`Proof•of•Breath™`}),`One breath. One pulse. One truth. Sealed by breath. Stamped in Kairos. Identity, memory, and value — harmonikally verified at the exakt Kairos moment.`,(0,K.jsx)(`div`,{className:`auth-badge`,title:`Comparison to payload`,style:{position:`relative`,boxSizing:`border-box`,width:`100%`,maxWidth:`100%`,minWidth:0,padding:10,borderRadius:16,background:`linear-gradient(180deg, rgba(10,14,15,.85), rgba(8,12,14,.65)) padding-box, conic-gradient(from 180deg at 50% 50%, #FFD76E, #00FFC6, #8AB4FF, #FFD76E) border-box`,border:`1px solid transparent`,backgroundClip:`padding-box, border-box`,boxShadow:`0 1px 0 rgba(255,255,255,.08) inset, 0 0 1px 1px rgba(0,255,198,.18), 0 12px 40px rgba(0,0,0,.45), 0 0 32px rgba(0,255,198,.15)`,color:`#E7FFF7`,textTransform:`uppercase`,letterSpacing:`0.12em`,fontWeight:800,fontSize:`clamp(10px, 3.2vw, 12.5px)`,lineHeight:1.25,backdropFilter:`blur(10px) saturate(140%)`,WebkitBackdropFilter:`blur(10px) saturate(140%)`,overflow:`hidden`},children:(0,K.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(210px, 1fr))`,gap:10,width:`100%`,maxWidth:`100%`,minWidth:0},children:[(0,K.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr auto`,alignItems:`center`,gap:8,padding:`10px 12px`,borderRadius:999,background:`linear-gradient(180deg, rgba(7,30,26,.85), rgba(6,18,20,.75))`,border:`1px solid rgba(255,255,255,.16)`,boxShadow:`inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.35)`,minWidth:0},children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,style:{width:28,height:28,borderRadius:`50%`,display:`grid`,placeItems:`center`,background:`radial-gradient(closest-side, rgba(255,255,255,.9), rgba(255,255,255,.35) 60%, rgba(255,255,255,0) 61%), conic-gradient(#00FFC6, #FFD76E, #8AB4FF, #00FFC6)`,boxShadow:`0 0 0 2px rgba(255,255,255,.25), 0 4px 18px rgba(0,255,198,.35), inset 0 0 10px rgba(255,255,255,.35)`,color:`#061012`,fontSize:16,fontWeight:900},children:`Σ`}),(0,K.jsx)(`span`,{style:{opacity:.9,whiteSpace:`nowrap`},children:`KAI MATCH:`}),(0,K.jsx)(`strong`,{style:{justifySelf:`end`,padding:`2px 10px`,borderRadius:999,fontSize:`clamp(10px, 3vw, 12px)`,letterSpacing:`0.08em`,background:Lt.matches.sigma?`linear-gradient(180deg, #00FFC6, #00C2AA)`:`linear-gradient(180deg, #FF5F7A, #C2143F)`,color:`#061012`,boxShadow:Lt.matches.sigma?`0 0 0 1px rgba(0,255,198,.45) inset, 0 0 22px rgba(0,255,198,.35)`:`0 0 0 1px rgba(255,95,122,.45) inset, 0 0 22px rgba(255,95,122,.35)`,border:`1px solid rgba(255,255,255,.15)`,whiteSpace:`nowrap`},children:Lt.matches.sigma?`YES`:`NO`})]}),(0,K.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr auto`,alignItems:`center`,gap:8,padding:`10px 12px`,borderRadius:999,background:`linear-gradient(180deg, rgba(7,30,26,.85), rgba(6,18,20,.75))`,border:`1px solid rgba(255,255,255,.16)`,boxShadow:`inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.35)`,minWidth:0},children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,style:{width:28,height:28,borderRadius:`50%`,display:`grid`,placeItems:`center`,background:`radial-gradient(closest-side, rgba(255,255,255,.9), rgba(255,255,255,.35) 60%, rgba(255,255,255,0) 61%), conic-gradient(#00FFC6, #FFD76E, #8AB4FF, #00FFC6)`,boxShadow:`0 0 0 2px rgba(255,255,255,.25), 0 4px 18px rgba(0,255,198,.35), inset 0 0 10px rgba(255,255,255,.35)`,color:`#061012`,fontSize:16,fontWeight:900},children:`Φ`}),(0,K.jsx)(`span`,{style:{opacity:.9,whiteSpace:`nowrap`},children:`PHI MATCH:`}),(0,K.jsx)(`strong`,{style:{justifySelf:`end`,padding:`2px 10px`,borderRadius:999,fontSize:`clamp(10px, 3vw, 12px)`,letterSpacing:`0.08em`,background:Lt.matches.phi?`linear-gradient(180deg, #00FFC6, #00C2AA)`:`linear-gradient(180deg, #FF5F7A, #C2143F)`,color:`#061012`,boxShadow:Lt.matches.phi?`0 0 0 1px rgba(0,255,198,.45) inset, 0 0 22px rgba(0,255,198,.35)`:`0 0 0 1px rgba(255,95,122,.45) inset, 0 0 22px rgba(255,95,122,.35)`,border:`1px solid rgba(255,255,255,.15)`,whiteSpace:`nowrap`},children:Lt.matches.phi?`YES`:`NO`})]})]})}),(0,K.jsx)(`div`,{style:{marginTop:12,wordBreak:`break-word`},children:`The world’s first self-verifying harmonik Kurrensy. Bound by breath. Ankored in Kairos. Forged by pulse.`}),(0,K.jsxs)(`div`,{className:`verifier-cta`,role:`group`,"aria-label":`Offline verifier actions`,style:eE,children:[(0,K.jsxs)(`button`,{type:`button`,className:`verifier-btn`,onClick:()=>hn(`verifier.html`),"aria-label":`Open Offline Verifier`,children:[(0,K.jsx)(`span`,{className:`icon`,"aria-hidden":`true`}),(0,K.jsxs)(`span`,{className:`label`,children:[`Open `,(0,K.jsx)(`em`,{children:`Offline Verifier`}),(0,K.jsx)(`small`,{children:`No network • Σ → sha256 → Φ in-browser`})]})]}),(0,K.jsxs)(`button`,{type:`button`,className:`verifier-btn verifier-btn--ghost`,onClick:gn,"aria-label":`Download verifier.html`,children:[(0,K.jsx)(`span`,{className:`icon dl`,"aria-hidden":`true`}),(0,K.jsxs)(`span`,{className:`label`,children:[`Download `,(0,K.jsx)(`em`,{children:`verifier.html`}),(0,K.jsx)(`small`,{children:`Single file • Keep forever • Offline`})]})]})]}),(0,K.jsxs)(`dl`,{className:`kv`,children:[(0,K.jsx)(`dt`,{children:`Pulse`}),(0,K.jsx)(`dd`,{children:Lt.pulse}),(0,K.jsx)(`dt`,{children:`Beat`}),(0,K.jsx)(`dd`,{children:Lt.beat}),(0,K.jsx)(`dt`,{children:`Step`}),(0,K.jsxs)(`dd`,{children:[Lt.stepIndex,`/`,Lt.stepsPerBeat]}),(0,K.jsx)(`dt`,{children:`Spiral`}),(0,K.jsx)(`dd`,{children:Lt.chakraDay}),(0,K.jsx)(`dt`,{children:`Intention`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{children:Lt.intention??`—`})}),(0,K.jsx)(`dt`,{children:`Σ string`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.sigmaString})}),(0,K.jsx)(`dt`,{children:`sha256(Σ)`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.sigmaHash})}),(0,K.jsx)(`dt`,{children:`Φ (derived)`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.derivedPhiKey})}),Lt.payloadKaiSignature&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`dt`,{children:`SVG kaiSignature`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.payloadKaiSignature})})]}),Lt.payloadUserPhiKey&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`dt`,{children:`SVG userPhiKey`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.payloadUserPhiKey})})]})]}),(0,K.jsxs)(`div`,{className:`sp-breathproof__actions`,style:{display:`flex`,flexWrap:`wrap`,gap:8},children:[(0,K.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.sigmaString,`Σ string copied`),children:`Remember Σ string`}),(0,K.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.sigmaHash,`sha256(Σ) copied`),children:`Remember sha256(Σ)`}),(0,K.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.derivedPhiKey,`Derived Φ copied`),children:`Remember Φ`}),(0,K.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(JSON.stringify({pulse:Lt.pulse,beat:Lt.beat,stepsPerBeat:Lt.stepsPerBeat,stepIndex:Lt.stepIndex,chakraDay:Lt.chakraDay,intention:Lt.intention,sigmaString:Lt.sigmaString,sigmaHash:Lt.sigmaHash,derivedPhiKey:Lt.derivedPhiKey,payloadKaiSignature:Lt.payloadKaiSignature,payloadUserPhiKey:Lt.payloadUserPhiKey,matches:Lt.matches},null,2),`Breath proof JSON copied`),children:`Remember JSON`})]})]})}),document.body),(vn?.debits?.length??0)>0&&(0,K.jsxs)(`div`,{className:`sp-card sp-debits`,role:`region`,"aria-label":`Debit summary and ledger`,children:[(0,K.jsxs)(`div`,{className:`sp-debits__summary`,children:[(0,K.jsxs)(`div`,{className:`auth-badge auth-badge--debited`,children:[`Exhaled Φ: `,(0,K.jsx)(`strong`,{children:TC(yn)})]}),(0,K.jsxs)(`div`,{className:`auth-badge auth-badge--available`,children:[`Available Φ: `,(0,K.jsx)(`strong`,{children:TC(bn)})]})]}),(0,K.jsx)(`h3`,{children:`Resonanse Stream`}),(0,K.jsx)(`ul`,{className:`sp-debits__list`,children:(vn?.debits??[]).map(e=>(0,K.jsxs)(`li`,{className:`sp-debits__item`,children:[(0,K.jsxs)(`span`,{className:`sp-debits__who`,children:[`Exhale `,TC(e.amount),` Φ to`,` `,(0,K.jsxs)(`abbr`,{title:e.recipientPhiKey,children:[(e.recipientPhiKey||``).slice(0,12),`…`]})]}),(0,K.jsxs)(`span`,{className:`sp-debits__amt`,children:[TC(e.amount),` Φ`]}),(0,K.jsxs)(`span`,{className:`sp-debits__meta`,children:[`Pulse `,e.timestamp]})]},e.nonce))})]}),(Wn.length>0||On.length>0)&&(0,K.jsxs)(`div`,{className:`sp-card sp-lineage`,role:`region`,"aria-label":`Lineage`,children:[Wn.length>0&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`h3`,{className:`sp-lineage__title`,children:`Ansestry Path`}),(0,K.jsx)(`ol`,{className:`sp-lineage__path`,"aria-label":`Ancestor lineage path`,children:Wn.map((e,t)=>(0,K.jsxs)(`li`,{className:`sp-lineage__node`,children:[(0,K.jsx)(`span`,{className:`sp-lineage__badge`,title:`Depth ${e.depth}`,children:e.depth}),(0,K.jsxs)(`code`,{className:`sp-lineage__token`,title:`Token ${e.token}`,children:[e.token.slice(0,10),`…`]}),(0,K.jsxs)(`span`,{className:`sp-lineage__meta`,children:[TC(e.amount),` Φ • Pulse `,e.timestamp,e.senderPhiKey?(0,K.jsxs)(K.Fragment,{children:[` • from `,(0,K.jsxs)(`abbr`,{title:e.senderPhiKey,children:[e.senderPhiKey.slice(0,10),`…`]})]}):null]})]},`${e.token}-${t}`))})]}),On.length>0&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`h3`,{className:`sp-lineage__title`,children:`Exhaled From This Breath`}),(0,K.jsx)(`ul`,{className:`sp-lineage__desc`,"aria-label":`Direct descendants minted here`,children:On.slice().sort((e,t)=>(e.timestamp||0)-(t.timestamp||0)).map(e=>(0,K.jsx)(`li`,{className:`sp-lineage__desc-item`,children:(0,K.jsxs)(`div`,{className:`row`,children:[(0,K.jsxs)(`span`,{className:`who`,children:[`Derivative `,(0,K.jsxs)(`code`,{title:e.token,children:[e.token.slice(0,10),`…`]}),` → `,TC(e.amount),` Φ`,e.recipientPhiKey?(0,K.jsxs)(K.Fragment,{children:[` to `,(0,K.jsxs)(`abbr`,{title:e.recipientPhiKey,children:[e.recipientPhiKey.slice(0,10),`…`]})]}):null]}),(0,K.jsxs)(`span`,{className:`meta`,children:[`Pulse `,e.timestamp]})]})},e.token))})]})]}),(0,K.jsx)(je,{hasPayload:!!V,showError:rn,expired:!!wt,exporting:pe,posterExporting:he,isFutureSealed:Et,isArchived:sn,claimPress:en,stargatePress:Kt,posterPress:zt,sendAmount:Nn,setSendAmount:Pn,onSend:Fn,sendBusy:Ee,ownerVerified:cn}),V?.provenance&&V.provenance.length>0&&(0,K.jsx)(rt,{entries:V.provenance,steps:Ot}),(0,K.jsx)(`p`,{className:`sp-fine`,children:`Determinate sigil-glyph; the hash mirrors the law-true payload. All Origin and Stewardship are embedded in the Φkey metadata. Sovereign. End-to-end.`}),(0,K.jsx)(DS,{isArchived:sn,ownerVerified:cn,ownershipMsg:C,onVerifyOwnershipFile:$t}),(0,K.jsxs)(`div`,{className:`owner-gated`,children:[cn&&(0,K.jsxs)(`div`,{className:`sp-card`,style:{padding:16,margin:`8px 0 16px`},children:[(0,K.jsx)(`h3`,{style:{marginTop:0},children:`Exhale Φ`}),(0,K.jsxs)(`div`,{className:`auth-badge auth-badge--checking`,style:{marginBottom:12},children:[`Available Φ:\xA0`,(0,K.jsx)(`strong`,{children:TC(bn)})]}),(0,K.jsxs)(`div`,{className:`owner-grid`,style:{display:`grid`,gridTemplateColumns:`minmax(120px,180px) minmax(120px,160px) minmax(120px,160px)`,gap:12,alignItems:`center`},children:[(0,K.jsx)(`input`,{id:`send-amount`,name:`send-amount`,type:`number`,inputMode:`decimal`,enterKeyHint:`done`,step:`0.000001`,min:0,placeholder:`Amount`,value:Nn,onChange:e=>{let t=e.currentTarget.value.replace(/,/g,`.`),n=parseFloat(t);Pn(Number.isFinite(n)&&n>=0?n:0)},onWheel:e=>e.currentTarget.blur(),className:`btn-ghost`,style:{padding:10},"aria-label":`Amount of Φ to send`,autoComplete:`off`,spellCheck:!1}),(0,K.jsx)(`input`,{id:`claim-window`,name:`claim-window`,type:`number`,inputMode:`numeric`,enterKeyHint:`done`,min:1,step:1,placeholder:`Claim window`,value:Ce,onChange:e=>we(Math.max(1,Math.floor(Number(e.currentTarget.value)||0))),onWheel:e=>e.currentTarget.blur(),className:`btn-ghost`,style:{padding:10},"aria-label":`Inhale Step amount`,title:`How long the resipient has to inhale`,autoComplete:`off`,spellCheck:!1}),(0,K.jsxs)(`select`,{value:xe,onChange:e=>Se(e.currentTarget.value),className:`btn-ghost`,style:{padding:10},"aria-label":`Inhale time unit`,title:`Breaths or steps`,children:[(0,K.jsx)(`option`,{value:`breaths`,children:`breaths`}),(0,K.jsx)(`option`,{value:`steps`,children:`steps`})]})]}),(0,K.jsxs)(`div`,{className:`owner-actions`,style:{marginTop:12,display:`flex`,gap:12,alignItems:`center`},children:[(0,K.jsx)(`button`,{type:`button`,className:`btn-primary`,onClick:Fn,disabled:!Number.isFinite(Nn)||Nn<=0||Nn>bn||Ee,"aria-label":`Exhale Φ now`,title:Ee?`Exhale in progress…`:`Exhale Φ now`,children:`💨`}),(0,K.jsxs)(`div`,{style:{opacity:.85},children:[`Logs to the resonanse stream, updates the Sigil-Glyph, & exhales a derivative Φkey with a inhale time of `,(0,K.jsx)(`strong`,{children:Ce}),` `,xe,`.`]})]})]}),(0,K.jsx)(`section`,{className:`sigil-tools`}),(0,K.jsx)(_t,{isArchived:sn,ownerVerified:cn,onAttachFile:Xt,attachment:W,payloadAttachment:V?.attachment,derivedOwnerPhiKey:un,derivedKaiSig:fn,expiryUnit:xe,setExpiryUnit:Se,expiryAmount:Ce,setExpiryAmount:we,onSealPress:{onPointerUp:e=>{e.pointerType&&e.pointerType!==`mouse`&&mn(e)},onClick:e=>mn(e)},payload:V,localHash:J,isFutureSealed:Et})]}),(0,K.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:k})]})}),(0,K.jsx)(SS,{open:Bt&&!!Ht,src:Ht,onClose:Gt,closePress:qt}),(0,K.jsx)(R,{open:Le,url:ze,hash:Ve,onClose:Gn,onDownloadZip:()=>{en.onClick?.(new MouseEvent(`click`))}}),(0,K.jsx)(PS,{open:Me&&ln&&!Pe,onClose:()=>Ne(!1),legacyHash:r,modernHash:J,currentPayload:V,onVerified:e=>{H(e)},onGenerateLink:async e=>{let t=Qt(e,(J||e.canonicalHash||``).toLowerCase(),!0);return t&&(Ie(),Ne(!1)),t}})]})}export{vE as default}; \ No newline at end of file +`;return typeof a==`function`&&a(null,p),p}})),Rw=A(x((e=>{var t=dw(),n=Pw(),r=Iw(),i=Lw();function a(e,r,i,a,o){let s=[].slice.call(arguments,1),c=s.length,l=typeof s[c-1]==`function`;if(!l&&!t())throw Error(`Callback required as last argument`);if(l){if(c<2)throw Error(`Too few arguments provided`);c===2?(o=i,i=r,r=a=void 0):c===3&&(r.getContext&&o===void 0?(o=a,a=void 0):(o=a,a=i,i=r,r=void 0))}else{if(c<1)throw Error(`Too few arguments provided`);return c===1?(i=r,r=a=void 0):c===2&&!r.getContext&&(a=i,i=r,r=void 0),new Promise(function(t,o){try{t(e(n.create(i,a),r,a))}catch(e){o(e)}})}try{let t=n.create(i,a);o(null,e(t,r,a))}catch(e){o(e)}}e.create=n.create,e.toCanvas=a.bind(null,r.render),e.toDataURL=a.bind(null,r.renderToDataURL),e.toString=a.bind(null,function(e,t,n){return i.render(e,n)})}))(),1);const zw=1024,Bw=2048,Vw=1200;function Hw(e,t){let n=e.querySelector(`defs`);n||(n=e.ownerDocument.createElementNS(H.SVG_NS,`defs`),e.insertBefore(n,e.firstChild));let r=`ep-neon-glow`;if(!e.querySelector(`#${r}`)){let t=e.ownerDocument.createElementNS(H.SVG_NS,`filter`);t.setAttribute(`id`,r),t.setAttribute(`x`,`-50%`),t.setAttribute(`y`,`-50%`),t.setAttribute(`width`,`200%`),t.setAttribute(`height`,`200%`);let i=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);i.setAttribute(`stdDeviation`,`3`),i.setAttribute(`result`,`b1`);let a=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);a.setAttribute(`in`,`SourceGraphic`),a.setAttribute(`stdDeviation`,`1.2`),a.setAttribute(`result`,`b2`);let o=e.ownerDocument.createElementNS(H.SVG_NS,`feMerge`),s=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);s.setAttribute(`in`,`b1`);let c=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);c.setAttribute(`in`,`b2`);let l=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);l.setAttribute(`in`,`SourceGraphic`),o.appendChild(s),o.appendChild(c),o.appendChild(l),t.appendChild(i),t.appendChild(a),t.appendChild(o),n.appendChild(t)}let i=`ep-gloss-gradient`;if(!e.querySelector(`#${i}`)){let t=e.ownerDocument.createElementNS(H.SVG_NS,`linearGradient`);t.setAttribute(`id`,i),t.setAttribute(`x1`,`0`),t.setAttribute(`y1`,`0`),t.setAttribute(`x2`,`0`),t.setAttribute(`y2`,`1`);let r=e.ownerDocument.createElementNS(H.SVG_NS,`stop`);r.setAttribute(`offset`,`0%`),r.setAttribute(`stop-color`,`rgba(255,255,255,0.15)`);let a=e.ownerDocument.createElementNS(H.SVG_NS,`stop`);a.setAttribute(`offset`,`100%`),a.setAttribute(`stop-color`,`rgba(255,255,255,0.05)`),t.appendChild(r),t.appendChild(a),n.appendChild(t)}let a=`ep-bar-outer-glow`;if(!e.querySelector(`#${a}`)){let r=e.ownerDocument.createElementNS(H.SVG_NS,`filter`);r.setAttribute(`id`,a),r.setAttribute(`x`,`-50%`),r.setAttribute(`y`,`-50%`),r.setAttribute(`width`,`200%`),r.setAttribute(`height`,`200%`);let i=e.ownerDocument.createElementNS(H.SVG_NS,`feFlood`);i.setAttribute(`flood-color`,t),i.setAttribute(`flood-opacity`,`0.5`),i.setAttribute(`result`,`c`);let o=e.ownerDocument.createElementNS(H.SVG_NS,`feComposite`);o.setAttribute(`in`,`c`),o.setAttribute(`in2`,`SourceAlpha`),o.setAttribute(`operator`,`in`),o.setAttribute(`result`,`glow`);let s=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);s.setAttribute(`in`,`glow`),s.setAttribute(`stdDeviation`,`4`),s.setAttribute(`result`,`blurGlow`);let c=e.ownerDocument.createElementNS(H.SVG_NS,`feMerge`),l=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);l.setAttribute(`in`,`blurGlow`);let u=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);u.setAttribute(`in`,`SourceGraphic`),c.appendChild(l),c.appendChild(u),r.appendChild(i),r.appendChild(o),r.appendChild(s),r.appendChild(c),n.appendChild(r)}return{neonId:`ep-neon-glow`,glossId:`ep-gloss-gradient`,barGlowId:`ep-bar-outer-glow`}}async function Uw(e,t){let{accent:n,qrUrl:r}=t,i=(e.getAttribute(`viewBox`)||`0 0 ${e.getAttribute(`width`)||1024} ${e.getAttribute(`height`)||1024}`).trim().split(/\s+/).map(Number),a=i[0]||0,o=i[1]||0,s=i[2]||1024,c=i[3]||1024,l=e.ownerDocument.createElementNS(H.SVG_NS,`g`);l.setAttribute(`data-export-qr`,`1`);let u=Math.min(s,c),d=Math.max(u*.035,18),f=Math.max(u*.1,96),p=await Rw.toDataURL(r,{margin:0,color:{dark:n,light:`#00000000`},scale:8}),m=e.ownerDocument.createElementNS(H.SVG_NS,`image`);m.setAttributeNS(H.XLINK_NS,`xlink:href`,p),m.setAttribute(`href`,p),m.setAttribute(`x`,String(a+d)),m.setAttribute(`y`,String(o+c-f-d)),m.setAttribute(`width`,String(f)),m.setAttribute(`height`,String(f)),m.setAttribute(`preserveAspectRatio`,`xMidYMid meet`),l.appendChild(m),e.appendChild(l)}async function Ww(e,t=zw,n){let r=e.cloneNode(!0);if(re(r,t),ne(r),oe(r,n?.title||`Kairos Sigil-Glyph — Sealed Kairos Moment`,n?.desc||`Deterministic sigil-glyph with sovereign metadata.`),n?.metaOverride){let e=ie(r);e.textContent=JSON.stringify(n.metaOverride)}if(r.querySelectorAll(`[data-export-qr="1"],[data-export-pulsebar="1"]`).forEach(e=>e.parentNode?.removeChild(e)),n?.addQR&&await Uw(r,n.addQR),n?.addPulseBar){let{accent:e,pulseNumber:i}=n.addPulseBar,{barGlowId:a,neonId:o,glossId:s}=Hw(r,e),c=(r.getAttribute(`viewBox`)||`0 0 ${t} ${t}`).split(/\s+/).map(Number),[l,u,d,f]=[c[0]||0,c[1]||0,c[2]||t,c[3]||t],p=r.ownerDocument.createElementNS(H.SVG_NS,`g`);p.setAttribute(`data-export-pulsebar`,`1`);let m=Math.min(d,f),h=Math.max(m*.035,18),g=Math.max(m*.34,320),_=Math.max(m*.085,96),v=Math.max(_*.22,18),y=l+d-g-h,b=u+f-_-h,x=r.ownerDocument.createElementNS(H.SVG_NS,`rect`);x.setAttribute(`x`,String(y)),x.setAttribute(`y`,String(b)),x.setAttribute(`rx`,String(v)),x.setAttribute(`ry`,String(v)),x.setAttribute(`width`,String(g)),x.setAttribute(`height`,String(_)),x.setAttribute(`fill`,`url(#${s})`),x.setAttribute(`stroke`,`rgba(255,255,255,0.16)`),x.setAttribute(`stroke-width`,String(Math.max(1.5,m*.0018))),x.setAttribute(`filter`,`url(#${a})`),p.appendChild(x);let S=r.ownerDocument.createElementNS(H.SVG_NS,`text`);S.setAttribute(`x`,String(y+g/2)),S.setAttribute(`y`,String(b+_/2+Math.max(6,_*.06))),S.setAttribute(`text-anchor`,`middle`),S.setAttribute(`dominant-baseline`,`middle`),S.setAttribute(`fill`,e),S.setAttribute(`filter`,`url(#${o})`),S.setAttribute(`font-weight`,`900`),S.setAttribute(`font-family`,`Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial`),S.setAttribute(`font-size`,String(Math.floor(_*.46))),S.textContent=i.toLocaleString(),p.appendChild(S),r.appendChild(p)}let i=new XMLSerializer().serializeToString(r),a=i.startsWith(`\n${i}`;return new Blob([a],{type:`image/svg+xml;charset=utf-8`})}async function Gw(e,t=zw){let n=URL.createObjectURL(e);try{let e=new Image;await new Promise((t,r)=>{e.onload=()=>t(),e.onerror=r,e.src=n});let r=document.createElement(`canvas`);r.width=t,r.height=t;let i=r.getContext(`2d`);if(!i)throw Error(`Canvas unsupported`);return i.drawImage(e,0,0,t,t),await new Promise((e,t)=>r.toBlob(n=>n?e(n):t(Error(`PNG encode failed`)),`image/png`))}finally{URL.revokeObjectURL(n)}}const Kw=`sigil-debits-v1`,qw=(e,t)=>t?`sigil:debits:${e}:t:${t}`:`sigil:debits:${e}`,Jw=(e,t)=>e===qw(t)||e.startsWith(`${qw(t)}:t:`),Yw=(e,t)=>{let n=`sigil:debits:${t}`;if(e===n)return null;let r=`${n}:t:`;return e.startsWith(r)?e.slice(r.length):void 0};function Xw(e){let t=new TextEncoder().encode(e),n=``;for(let e=0;e0&&typeof t.recipientPhiKey==`string`&&t.recipientPhiKey.length>0&&typeof t.amount==`number`&&Number.isFinite(t.amount)&&t.amount>0&&typeof t.timestamp==`number`&&Number.isFinite(t.timestamp)}function eT(e){if(!e)return null;try{let t=JSON.parse(Zw(e));if(typeof t!=`object`||!t)return null;let n={},r=t;if(typeof r.originalAmount==`number`&&Number.isFinite(r.originalAmount)&&(n.originalAmount=r.originalAmount),Array.isArray(r.debits)){let e=[];for(let t of r.debits)$w(t)&&e.push(t);e.length&&(n.debits=e)}return n}catch{return null}}function tT(e,t){try{let n=new URL(window.location.href),r=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount),i=Array.isArray(e.debits)&&e.debits.length>0;!r&&!i?n.searchParams.delete(`d`):n.searchParams.set(`d`,Qw(e));let a=`${n.pathname}${n.search}${n.hash}`;t?.navigate?window.location.replace(a):window.history.replaceState(null,``,a)}catch{}}function nT(e,t){let n=(e||``).toLowerCase();if(!n)return null;try{let e=t?localStorage.getItem(qw(n,t)):null;if(e)return eT(e);let r=localStorage.getItem(qw(n));return r?eT(r):null}catch{return null}}function rT(e,t,n){let r=(e||``).toLowerCase();if(r)try{localStorage.setItem(qw(r,n),Qw(t))}catch{}}function iT(e){let t=new Set,n=[];for(let r of e)!r||typeof r.nonce!=`string`||t.has(r.nonce)||(t.add(r.nonce),n.push(r));return n.sort((e,t)=>(e.timestamp||0)-(t.timestamp||0))}function aT(e,t){let n={},r=typeof e?.originalAmount==`number`?e.originalAmount:void 0,i=typeof t?.originalAmount==`number`?t.originalAmount:void 0;n.originalAmount=typeof r==`number`?r:typeof i==`number`?i:void 0;let a=Array.isArray(e?.debits)?e.debits:[],o=Array.isArray(t?.debits)?t.debits:[],s=iT([...a,...o]);return s.length&&(n.debits=s),n}function oT(e,t){let n=typeof e?.originalAmount==`number`&&Number.isFinite(e.originalAmount)?Number(e.originalAmount):NaN,r=typeof t?.originalAmount==`number`&&Number.isFinite(t.originalAmount)?Number(t.originalAmount):NaN,i=Number.isNaN(n)&&Number.isNaN(r)||Math.abs(n-r)<1e-12,a=new Set((Array.isArray(e?.debits)?e.debits:[]).map(e=>e?.nonce)),o=new Set((Array.isArray(t?.debits)?t.debits:[]).map(e=>e?.nonce));if(!i||a.size!==o.size)return!1;for(let e of a)if(!o.has(e))return!1;return!0}function sT(e,t,n,r){tT(e,{navigate:!!r?.navigate});let i=(t||``).toLowerCase();if(i&&(rT(i,e,n??null),r?.broadcast!==!1))try{let t=new BroadcastChannel(Kw),r={type:`debits`,canonical:i,qs:Qw(e),stamp:Date.now(),token:n??null};t.postMessage(r),t.close()}catch{}}function cT(e,t,n){let r=eT(t.get(`d`)),i=aT(n?nT(e,n):nT(e,null),r);return{merged:i,urlIsStale:!oT(i,r)}}function lT(e){try{let t=new URL(e,window.location.origin).pathname.match(/\/s\/([0-9a-fA-F]+)/);return t?t[1].toLowerCase():null}catch{return null}}function uT(e){if(typeof e==`string`)switch(e.trim().toLowerCase().replace(/\s+/g,` `)){case`root`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solarplexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`thirdeye`:return`Third Eye`;case`crown`:return`Crown`;default:return}}function dT(e){return e===`breaths`||e===`steps`?e:void 0}var fT=e=>!!e&&typeof e==`object`,pT=e=>{if(!fT(e))return!1;let t=`u`in e&&`b`in e,n=`d`in e;return t||n},mT=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,hT=e=>typeof e==`string`&&e.trim()?e:void 0;function gT(e){if(!e)return{};try{let t=String(e).trim(),n=!1;/^c:/i.test(t)&&(t=t.slice(2),n=!0);let r=JSON.parse(Zw(t));if(n||pT(r)){let e=r,t={},n=mT(e.u),i=mT(e.b),a=mT(e.d),o=mT(e.s),s=uT(e.c);return n!==void 0&&(t.pulse=n),i!==void 0&&(t.beat=i),a!==void 0&&(t.stepsPerBeat=a),o!==void 0&&(t.stepIndex=o),s!==void 0&&(t.chakraDay=s),t}if(fT(r)){let e=r,t={},n=mT(e.pulse),i=mT(e.beat),a=mT(e.stepsPerBeat),o=mT(e.stepIndex),s=uT(e.chakraDay),c=hT(e.canonicalHash),l=hT(e.kaiSignature),u=hT(e.userPhiKey),d=hT(e.transferNonce),f=mT(e.expiresAtPulse),p=dT(e.claimExtendUnit),m=mT(e.claimExtendAmount);return n!==void 0&&(t.pulse=n),i!==void 0&&(t.beat=i),a!==void 0&&(t.stepsPerBeat=a),o!==void 0&&(t.stepIndex=o),s!==void 0&&(t.chakraDay=s),c!==void 0&&(t.canonicalHash=c.toLowerCase()),l!==void 0&&(t.kaiSignature=l),u!==void 0&&(t.userPhiKey=u),d!==void 0&&(t.transferNonce=d),f!==void 0&&(t.expiresAtPulse=f),p!==void 0&&(t.claimExtendUnit=p),m!==void 0&&(t.claimExtendAmount=m),Array.isArray(e.lineage)&&(t.lineage=e.lineage),t}return{}}catch{return{}}}function _T(e,t){let n={...e};typeof t.expiresAtPulse==`number`&&(n.expiresAtPulse=t.expiresAtPulse),t.claimExtendUnit!=null&&(n.claimExtendUnit=t.claimExtendUnit),typeof t.claimExtendAmount==`number`&&(n.claimExtendAmount=t.claimExtendAmount),typeof t.pulse==`number`&&(n.pulse=t.pulse),typeof t.beat==`number`&&(n.beat=t.beat),typeof t.stepsPerBeat==`number`&&(n.stepsPerBeat=t.stepsPerBeat),t.chakraDay!==void 0&&(n.chakraDay=t.chakraDay),t.canonicalHash&&(n.canonicalHash=String(t.canonicalHash).toLowerCase()),t.kaiSignature&&(n.kaiSignature=t.kaiSignature),t.userPhiKey&&(n.userPhiKey=t.userPhiKey),t.transferNonce&&(n.transferNonce=t.transferNonce),Array.isArray(t.lineage)&&(n.lineage=t.lineage);let r=typeof n.stepsPerBeat==`number`&&Number.isFinite(n.stepsPerBeat)?n.stepsPerBeat:a,i=mT(t?.stepIndex),o=mT(n.stepIndex);return i===void 0?o===void 0?typeof n.pulse==`number`&&Number.isFinite(n.pulse)&&(n.stepIndex=v(n.pulse,r)):n.stepIndex=o:n.stepIndex=i,n}function vT(e,t){try{let n=new URL(e,window.location.origin),r=_T(gT(n.searchParams.get(`p`)),t);return r.canonicalHash&&=String(r.canonicalHash).toLowerCase(),n.searchParams.set(`p`,Xw(JSON.stringify(r))),n.toString()}catch{return e}}function yT(e,t,n){let r=[e?.canonicalHash,t,n?.matchedHash];for(let e of r)if(typeof e==`string`&&e.trim())return e.toLowerCase();return null}function bT(e,t){return typeof e==`string`&&e.trim()?e:typeof t?.transferNonce==`string`&&t.transferNonce.trim()?t.transferNonce:null}async function xT(e){let{stageEl:t,payload:n,localHash:r,routeHash:i,qr:a,onToast:o}=e;if(!t)return o(`No stage found`);try{await new Promise(e=>requestAnimationFrame(()=>e()));let e=(await M(async()=>{let{default:e}=await import(`./html2canvas-D96SWxPk.js`).then(C(1));return{default:e}},__vite__mapDeps([0,1,2,3]))).default,c=await e(t,{backgroundColor:null}),l=document.createElement(`canvas`);l.width=Bw,l.height=Bw;let u=l.getContext(`2d`);if(!u)throw Error(`No canvas context`);u.clearRect(0,0,l.width,l.height);let d=Math.floor(Bw*.06),f=Bw-d*2,p=Bw-d*2,m=c.width,h=c.height,g=Math.min(f/m,p/h),_=Math.floor(m*g),v=Math.floor(h*g),y=Math.floor((Bw-_)/2),b=Math.floor((Bw-v)/2);u.drawImage(c,y,b,_,v);let x=n?.chakraDay??`Throat`,S=sC[x]?.accent||`#00FFD0`,w=wC(x,typeof n?.stepPct==`number`?n.stepPct:n?n.pulse%11/11:0,r||void 0),T=Math.max(Bw*.33,720),E=Math.max(Bw*.08,160),D=Math.max(E*.24,30),O=Bw-T-d,k=Bw-E-d;u.save(),u.shadowColor=S,u.shadowBlur=Math.max(18,Math.floor(Bw*.012));let A=u.createLinearGradient(0,k,0,k+E);A.addColorStop(0,`rgba(255,255,255,0.16)`),A.addColorStop(1,`rgba(255,255,255,0.05)`),s(u,O,k,T,E,D),u.fillStyle=A,u.fill(),u.shadowBlur=0,u.lineWidth=Math.max(2,Math.floor(Bw*.0016)),u.strokeStyle=`rgba(255,255,255,0.18)`,u.stroke();let j=(n?.pulse??0).toLocaleString();u.textBaseline=`alphabetic`,u.fillStyle=w,u.font=`900 ${Math.floor(E*.48)}px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial`,u.shadowColor=w,u.shadowBlur=Math.max(16,Math.floor(Bw*.008));let N=u.measureText(j).width,P=Math.floor(O+T/2-N/2),F=Math.floor(k+E/2+E*.18);u.fillText(j,P,F),u.restore();let I=Math.floor(Bw*.32),ee=Math.floor((Bw-I)/2),te=Math.floor((Bw-I)/2),L=ST({provided:a.url,payload:n,localHash:r,routeHash:i}),R=(0,LC.renderToStaticMarkup)((0,K.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1000 1000`,children:(0,K.jsx)(uw,{uid:a.uid,url:L,size:800,phaseHue:a.hue,phaseColor:a.accent,animate:!1,pulseMs:5236})})),z=new Blob([R],{type:`image/svg+xml;charset=utf-8`}),ne=URL.createObjectURL(z);await new Promise((e,t)=>{let n=new Image;n.onload=()=>{try{u.drawImage(n,ee,te,I,I)}finally{URL.revokeObjectURL(ne),e()}},n.onerror=e=>{URL.revokeObjectURL(ne),t(e)},n.src=ne});let B=await new Promise((e,t)=>{l.toBlob(n=>{if(!n){t(Error(`No PNG blob created`));return}e(n)},`image/png`)}),V=URL.createObjectURL(B),re=document.createElement(`a`);re.href=V,re.download=`sigil_poster_${(r||i||`mint`).slice(0,16)}.png`,document.body.appendChild(re),re.click(),re.remove(),requestAnimationFrame(()=>URL.revokeObjectURL(V)),o(`Public key PNG saved`)}catch(e){console.error(e),o(`Poster export failed`)}function s(e,t,n,r,i,a){e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath()}}function ST(e){let{provided:t,payload:n,localHash:r,routeHash:i}=e,a=t&&CT(t)?t:(typeof window<`u`?window.location.href:``)||``;if(!n)return a;try{let e=(n.canonicalHash||r||i||``).toLowerCase();if(!e)return a;let t=new URL(a,typeof window<`u`?window.location.origin:`https://local.test`);t.pathname=`/s/${e}`;let o=n.transferNonce||t.searchParams.get(`t`);o&&t.searchParams.set(`t`,o);let s=`${t.pathname}${t.search}${t.hash}`;return vT(s,n)||s}catch{return a}}function CT(e){try{let t=new URL(e,typeof window<`u`?window.location.origin:`https://local.test`);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function wT(e){let t=JSON.stringify(e);return btoa(unescape(encodeURIComponent(t))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function TT(e,t,n){let r=new URL(e,typeof window<`u`?window.location.origin:`http://localhost`);return r.searchParams.set(`p`,wT(t)),n&&r.searchParams.set(`t`,n),r.toString()}function ET(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[`+e.map(ET).join(`,`)+`]`;let t=e;return`{`+Object.keys(t).sort().map(e=>JSON.stringify(e)+`:`+ET(t[e])).join(`,`)+`}`}function DT(e){switch(String(e??``).trim().toLowerCase()){case`root`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solar_plexus`:case`solar-plexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`third_eye`:case`third-eye`:return`Third Eye`;case`crown`:return`Crown`;default:return`Root`}}function OT(e,t){let n={pulse:e.pulse,beat:e.beat,chakraDay:DT(e.chakraDay),stepsPerBeat:e.stepsPerBeat??void 0,stepIndex:t,userPhiKey:e.userPhiKey??void 0,kaiSignature:e.kaiSignature??void 0,canonicalHash:e.canonicalHash??void 0,transferNonce:e.transferNonce??void 0,expiresAtPulse:e.expiresAtPulse??void 0,claimExtendUnit:e.claimExtendUnit??void 0,claimExtendAmount:e.claimExtendAmount??void 0,attachment:e.attachment??void 0,provenance:e.provenance??void 0};return Object.keys(n).forEach(e=>{n[e]===void 0&&delete n[e]}),n}function kT(e){return{pulse:e.pulse,beat:e.beat,stepIndex:e.stepIndex,chakraDay:DT(e.chakraDay),stepsPerBeat:e.stepsPerBeat??void 0,userPhiKey:e.userPhiKey??void 0,kaiSignature:e.kaiSignature??void 0}}function AT(e,t){e.setAttribute(`data-share-url`,t),e.querySelectorAll(`a`).forEach(e=>{e.setAttribute(`href`,t);try{e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,t)}catch{}});let n=/\bu=([^·\n\r]+?)(?=\s*·|$)/;e.querySelectorAll(`text`).forEach(e=>{let r=e.textContent||``;n.test(r)&&(e.textContent=r.replace(n,`u=${t}`))})}async function jT(e){let{expired:t,exporting:n,setExporting:r,svgEl:i,payload:a,isFutureSealed:o,linkStatus:s,setToast:c,expiryUnit:l,expiryAmount:u,localHash:d,routeHash:f,transferToken:p,getKaiPulseEternalInt:m,stepIndexFromPulse:h,STEPS_PER_BEAT:_}=e;if(t)return _C(c,`Seal window closed`);if(!n){if(!i)return _C(c,`No SVG found`);if(!a)return _C(c,`No payload`);if(o)return _C(c,`Opens after the moment—claim unlocks then`);if(s!==`active`)return _C(c,`Archived link — cannot claim from here`);try{r(!0);let e=`sigil_${(d||f||`mint`).slice(0,16)}`,t=a.stepsPerBeat??_,n=h(a.pulse,t),o=m(new Date),s=h(o,t),v=OT(a,n),b={...eC(a.userPhiKey||``,a.kaiSignature??void 0,v,`claim`,a.attachment?.name??void 0,o),stepIndex:n,atStepIndex:s},x={...a,exportedAtPulse:o,stepIndex:n,stepsPerBeat:t,provenance:[...a.provenance??[],b],claimExtendUnit:a.claimExtendUnit??l,claimExtendAmount:a.claimExtendAmount??u,canonicalHash:(d||a.canonicalHash||f||null)?.toString()??null},S=await w(y(x.pulse,x.beat,n,String(x.chakraDay??``),T(OT(x,n)))),C=await D(S),E={...x,kaiSignature:S,userPhiKey:x.userPhiKey||C},O=(d||f||``).toLowerCase(),k=kT({pulse:E.pulse,beat:E.beat,stepIndex:n,chakraDay:E.chakraDay??null,stepsPerBeat:t,userPhiKey:E.userPhiKey??null,kaiSignature:E.kaiSignature??null}),A=TT(g(O,k),k,E.transferNonce??p??void 0),{putMetadata:j}=await M(async()=>{let{putMetadata:e}=await import(`./svgMeta-DhWJWm31.js`);return{putMetadata:e}},__vite__mapDeps([4,5,2,3])),N={...E,stepsPerBeat:t,shareUrl:A,fullUrl:A};j(i,N);try{i.setAttribute(`data-step-index`,String(n));let e=i.querySelector(`metadata#sigil-display`);e||(e=document.createElementNS(`http://www.w3.org/2000/svg`,`metadata`),e.setAttribute(`id`,`sigil-display`),e.setAttribute(`data-noncanonical`,`1`),i.appendChild(e)),e.textContent=JSON.stringify({stepIndex:n,stepsPerBeat:t})}catch{console.debug(`Display metadata write failed`)}MC(i,E.pulse,E.beat,n),kC(i),AT(i,A);let P=null,F=null;try{let e=new URL(A);P=e.searchParams.get(`p`),F=e.searchParams.get(`t`)}catch{console.debug(`URL parse failed`)}let I=await Ww(i,zw,{metaOverride:N,addQR:!1,addPulseBar:!1,title:`Kairos Sigil-Glyph — Sealed KairosMoment`,desc:`Deterministic sigil-glyph with sovereign metadata. Exported as archived key.`}),ee=await Gw(I,zw),te=await w(new Uint8Array(await I.arrayBuffer())),L=await w(new Uint8Array(await ee.arrayBuffer())),R=new(await(vC()));R.file(`${e}.svg`,I),R.file(`${e}.png`,ee);let z={hashAlg:`sha256`,canon:`sorted keys + UTF-8 + no whitespace`,hash:d||f||``,canonicalHash:E.canonicalHash??null,pulse:E.pulse,beat:E.beat,stepIndex:n,atStepIndex:s,chakraDay:E.chakraDay??null,userPhiKey:E.userPhiKey??null,kaiSignature:E.kaiSignature??null,transferNonce:E.transferNonce??null,expiresAtPulse:E.expiresAtPulse??null,exportedAtPulse:E.exportedAtPulse??null,claimedAtPulse:o,overlays:{qr:!1,eternalPulseBar:!1},assets:{[`${e}.svg`]:te,[`${e}.png`]:L},claimExtendUnit:E.claimExtendUnit??null,claimExtendAmount:E.claimExtendAmount??null,fullUrl:A,p:P,urlQuery:{p:P,t:F}},ne=await w(ET(z)),B={...z,manifestHash:ne};R.file(`${e}.manifest.json`,JSON.stringify(B,null,2));let V=await R.generateAsync({type:`blob`}),re=URL.createObjectURL(V),ie=document.createElement(`a`);ie.href=re,ie.download=`${e}.zip`,document.body.appendChild(ie),ie.click(),ie.remove(),requestAnimationFrame(()=>URL.revokeObjectURL(re)),_C(c,`Access key generated`)}catch(e){console.error(e),_C(c,`Claim failed`)}finally{r(!1)}}}function MT(e){let{stageId:t,payload:n,localHash:r,setOgImgUrl:i,setMeta:a,seoTitle:o,seoDesc:s}=e,c=!1,l=null,u=async()=>{let e=document.getElementById(t);if(!e||!n){i(null),a(`property`,`og:image`,``),a(`property`,`og:image:alt`,``),a(`property`,`og:image:width`,``),a(`property`,`og:image:height`,``),a(`name`,`twitter:image`,``);return}try{let t=n.chakraDay??`Throat`,l=sC[t]?.accent||`#00FFD0`,u=n.pulse||0,f=n.stepsPerBeat??44,p=Math.floor(n.pulse%(f*11)/11),m=wC(t,typeof n.stepPct==`number`?n.stepPct:n.pulse%11/11,r||void 0),h=`Pulse ${u.toLocaleString()} • Beat ${n.beat}/36 • Step ${p+1}/${f} • ${t}`,g=await(0,W.default)(e),_=document.createElement(`canvas`);_.width=Vw,_.height=630;let v=_.getContext(`2d`);if(!v)throw Error(`Canvas unsupported`);let y=v.createLinearGradient(0,0,Vw,630);y.addColorStop(0,`rgba(0,0,0,0.92)`),y.addColorStop(1,`rgba(0,0,0,0.70)`),v.fillStyle=y,v.fillRect(0,0,Vw,630),v.save(),v.globalCompositeOperation=`lighter`;let b=v.createRadialGradient(Vw*.8,630*.2,20,Vw*.8,630*.2,600);b.addColorStop(0,`${l}CC`),b.addColorStop(1,`rgba(0,0,0,0)`),v.fillStyle=b,v.beginPath(),v.arc(Vw*.8,630*.2,600,0,Math.PI*2),v.fill(),v.restore();let x=Math.floor(Vw*.52),S=Math.min(x/g.width,558/g.height),C=Math.floor(g.width*S),w=Math.floor(g.height*S),T=36+Math.floor((x-C)/2),E=36+Math.floor((558-w)/2);v.drawImage(g,T,E,C,w);let D=36+x+32,O=Vw-D-36;v.fillStyle=`#EAFBFF`,v.font=`700 38px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,v.fillText(`Kairos Sigil-Glyph — Sealed Kairos Moment`,D,94),v.fillStyle=`rgba(255,255,255,0.82)`,v.font=`400 24px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,d(v,`“${o}” — ${s}`,D,136,O,30);let k=`${u.toLocaleString()}`;v.textBaseline=`alphabetic`,v.font=`900 120px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,v.shadowColor=m,v.shadowBlur=20,v.fillStyle=m;let A=v.measureText(k).width,j=D+Math.floor((O-A)/2);v.fillText(k,j,554),v.shadowBlur=0;let M=_.toDataURL(`image/png`);if(c)return;i(M),a(`property`,`og:image`,M),a(`property`,`og:image:alt`,h),a(`property`,`og:image:type`,`image/png`),a(`property`,`og:image:width`,`1200`),a(`property`,`og:image:height`,`630`),a(`name`,`twitter:image`,M)}catch{if(c)return;i(null)}};return l=yC(()=>{c||u()}),()=>{c=!0,l!=null&&bC(l)};function d(e,t,n,r,i,a){let o=t.split(` `),s=``;for(let t=0;ti&&t>0?(e.fillText(s,n,r),s=o[t]+` `,r+=a):s=c}e.fillText(s.trim(),n,r)}}function NT(e){switch(String(e??``).trim().toLowerCase()){case`root`:case`earth`:case`earth gate`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solar_plexus`:case`solar-plexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`third_eye`:case`third-eye`:return`Third Eye`;case`crown`:return`Crown`;default:return`Root`}}function PT(){return crypto.getRandomValues(new Uint32Array(4)).join(``)}function FT(e){let{meta:t,stepIndex:n,stepsPerBeat:r}=e;return{pulse:t.pulse,beat:t.beat,stepIndex:n,chakraDay:NT(t.chakraDay),stepsPerBeat:r,userPhiKey:t.userPhiKey??void 0,kaiSignature:t.kaiSignature??void 0}}function IT(e,t,n){let r=e.stepIndex;return typeof r==`number`&&Number.isFinite(r)&&r>=0&&rJSON.stringify({canonicalHash:e.canonicalHash,token:e.token,expiresAtPulse:e.expiresAtPulse,issuedAt:e.issuedAt,version:e.version},zT),VT=e=>btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``);const HT=e=>VT(new TextEncoder().encode(BT(e)));async function UT(e){try{let t=await fetch(`/api/sign-claim`,{method:`POST`,headers:{"content-type":`text/plain;charset=UTF-8`},body:BT(e)});if(!t.ok)return null;let n=await t.json();return!n||!n.s||!n.kid?null:{r:n.r??HT(e),s:n.s,kid:n.kid}}catch{return null}}function WT(e,t,n,r){e.searchParams.set(`r`,t),e.searchParams.set(`s`,n),e.searchParams.set(`kid`,r)}function GT(e,t,n,r){se(e,{registryClaim:HT(t),registrySig:n,registryKid:r})}function KT(e,t,n){return{canonicalHash:t.toLowerCase(),token:n,expiresAtPulse:e.expiresAtPulse??null,issuedAt:Math.floor(Date.now()/1e3),version:1}}function qT(){if(typeof window>`u`||typeof document>`u`){let e=()=>{},t=()=>{};return{openModal:t,closeModal:t,disable:e,teardown:e,destroy:e}}let e=document,t=e.body,n=[`.sp-breathproof__backdrop`,`.stargate-overlay`,`.valuechart-backdrop`,`.sp-modal`,`.ownership-overlay`],r={".sp-breathproof__backdrop":`.sp-breathproof`,".valuechart-backdrop":`.valuechart`,".ownership-overlay":`.ownership-panel`,".stargate-overlay":`.stargate-content, .stargate-frame, .stargate__content`,".sp-modal":`.sp-modal__content, .sp-modal__card, .sp-card`},i={capture:!0,passive:!1},a={capture:!0},o=0,s=0,c=0,l=``,u=``,d=``,f=``,p=``,m=()=>{o===0&&(s=window.scrollY||e.documentElement.scrollTop||0,c=window.scrollX||e.documentElement.scrollLeft||0,l=t.style.top,u=t.style.left,d=t.style.width,f=t.style.position,p=t.style.overflow,t.style.position=`fixed`,t.style.top=`-${s}px`,t.style.left=`-${c}px`,t.style.width=`100%`,t.style.overflow=`hidden`,t.classList.add(`modal-open`,`bp-open`)),o++},h=()=>{o=Math.max(0,o-1),!(o>0)&&(t.style.position=f,t.style.top=l,t.style.left=u,t.style.width=d,t.style.overflow=p,requestAnimationFrame(()=>{window.scrollTo(c,s)}),t.classList.remove(`modal-open`),t.classList.remove(`bp-open`))},g=e=>{if(!e)return!1;let t=window.getComputedStyle(e);return!(t.display===`none`||t.visibility===`hidden`||e.hasAttribute(`hidden`))},_=()=>{let t=[];return n.forEach(n=>{e.querySelectorAll(n).forEach(e=>{g(e)&&t.push(e)})}),t},v=t=>{if(!t)return null;let r=t;for(;r&&r!==e.documentElement;){for(let e of n)if(r.matches(e))return r;r=r.parentElement}return null},y=(e,t)=>{if(!e||!t)return!1;let i=n.find(t=>e.matches(t))||``,a=i?r[i]:``;return a&&e.querySelector(a)?!t.closest(a):t===e},b=()=>{_().length>0?m():h()},x=e=>{e&&(e.classList.add(`is-open`),e.removeAttribute(`hidden`),b())},S=e=>{e&&(e.classList.remove(`is-open`),e.setAttribute(`hidden`,``),b())},C=e=>{let t=e.target;if(!t)return;let n=t.closest(`.sp-breathproof__close, .stargate-exit, .sp-modal__close, .sealmoment__close, [data-modal-close], [data-dismiss="modal"], button[aria-label="Close"], button[aria-label="close"]`);if(n){let t=v(n);t&&(S(t),e.preventDefault(),e.stopPropagation());return}let r=v(t);if(r&&y(r,t)&&r.getAttribute(`data-backdrop-dismiss`)!==`false`){S(r),e.preventDefault(),e.stopPropagation();return}},w=e=>{if(_().length===0)return;let t=e.target;if(!t)return;let n=t.closest(`[data-scroll], .sp-breathproof, .valuechart, .ownership-panel, .sp-modal__content, .sp-card, .stargate-content`);if(!n){e.preventDefault(),e.stopPropagation();return}if(!(n.scrollHeight>n.clientHeight)){e.preventDefault(),e.stopPropagation();return}},T=e=>{if(e.key!==`Escape`)return;let t=_();if(t.length===0)return;let n=t[t.length-1];n.getAttribute(`data-escape-dismiss`)!==`false`&&(S(n),e.preventDefault(),e.stopPropagation())};e.addEventListener(`click`,C,i),e.addEventListener(`pointerup`,C,i),e.addEventListener(`touchend`,C,i),e.addEventListener(`touchmove`,w,i),e.addEventListener(`keydown`,T,i),b();let E=()=>{e.removeEventListener(`click`,C,a),e.removeEventListener(`pointerup`,C,a),e.removeEventListener(`touchend`,C,a),e.removeEventListener(`touchmove`,w,a),e.removeEventListener(`keydown`,T,a);try{o=1,h()}catch{}};return{openModal:x,closeModal:S,disable:E,teardown:E,destroy:E}}var JT=A(L(),1),YT=1e-9,XT=`sigil-sendlock-v1`,ZT=(e,t)=>`sigil:sendlock:${e}:t:${t}`,QT=15e3,$T=()=>Date.now(),eE={"--phi-url":`url(/assets/phi.svg)`},tE=e=>{try{return new URL(e,window.location.origin).toString()}catch{return e}},nE=(e,t)=>{let n=crypto.getRandomValues(new Uint32Array(4)).join(``);if(!e||!t)return{ok:!1,id:n};let r=ZT(e.toLowerCase(),t);try{let i=localStorage.getItem(r),a=i?JSON.parse(i):null,o=!a||!Number.isFinite(a.at)||$T()-a.at>QT;if(!a||o){localStorage.setItem(r,JSON.stringify({id:n,at:$T()}));try{let r=new BroadcastChannel(XT),i={type:`lock`,canonical:e.toLowerCase(),token:t,id:n,at:$T()};r.postMessage(i),r.close()}catch{}return{ok:!0,id:n}}}catch{}return{ok:!1,id:n}},rE=(e,t,n)=>{if(!e||!t)return;let r=ZT(e.toLowerCase(),t);try{let i=localStorage.getItem(r),a=i?JSON.parse(i):null;if(!a||a.id===n){localStorage.removeItem(r);try{let r=new BroadcastChannel(XT),i={type:`unlock`,canonical:e.toLowerCase(),token:t,id:n,at:$T()};r.postMessage(i),r.close()}catch{}}}catch{}},iE=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.amount==`number`&&Number.isFinite(t.amount)&&t.amount>0&&typeof t.nonce==`string`&&t.nonce.length>0&&typeof t.timestamp==`number`&&Number.isFinite(t.timestamp)&&(typeof t.recipientPhiKey==`string`||t.recipientPhiKey===void 0)},aE=e=>{if(!Array.isArray(e))return 0;let t=0;for(let n of e)iE(n)&&(t+=n.amount);return t},oE=e=>[...e].sort((e,t)=>{let n=(e.timestamp||0)-(t.timestamp||0);return n===0?e.nonce.localeCompare(t.nonce):n}),sE=e=>{let t=new Set,n=[];for(let r of e)iE(r)&&(t.has(r.nonce)||(t.add(r.nonce),n.push(r)));return n},cE=e=>{let t=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount)?e.originalAmount:NaN,n=oE(Array.isArray(e.debits)?sE(e.debits):[]);if(!Number.isFinite(t))return{originalAmount:e.originalAmount,debits:n.length?n:void 0};let r=[],i=0;for(let e of n)iE(e)&&i+e.amount<=t+YT&&(r.push(e),i+=e.amount);return{originalAmount:t,debits:r.length?r:void 0}},lE=e=>e===`breaths`||e===`steps`,uE=`sigil-lineage-v1`,dE=(e,t)=>t?`sigil:desc:${e}:t:${t}`:`sigil:desc:${e}`,fE=`sigil-xfer-v1`,pE=e=>`sigil:rotated:${e}`,mE=(e,t)=>{Array.from(new Set(e.map(e=>e.toLowerCase()).filter(Boolean))).forEach(e=>{try{localStorage.setItem(pE(e),`${t}@${Date.now()}`)}catch{}try{let n=new BroadcastChannel(fE);n.postMessage({type:`rotated`,canonical:e,token:t}),n.close()}catch{}try{window.dispatchEvent(new CustomEvent(`sigil:transfer-rotated`,{detail:{canonical:e,token:t}}))}catch{}})};function hE(e,t){let n=(e||``).toLowerCase();if(!n||!t)return[];try{let e=localStorage.getItem(dE(n,t));if(!e)return[];let r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function gE(e,t,n){let r=(e||``).toLowerCase();if(!(!r||!t))try{localStorage.setItem(dE(r,t),JSON.stringify(n||[]))}catch{}}function _E(e,t,n){try{let r=new BroadcastChannel(uE),i={type:`descendants`,canonical:e.toLowerCase(),token:t,list:n,stamp:Date.now()};r.postMessage(i),r.close()}catch{}}function vE(){let{hash:e}=O(),t=S(),n=P(),r=(e??``).toLowerCase(),o=(0,G.useMemo)(()=>new URLSearchParams(t.search),[t.search]),u=o.get(`t`),[f,p]=(0,G.useState)(`checking`),[h,_]=(0,G.useState)(`checking`),[b,x]=(0,G.useState)(!1),[C,E]=(0,G.useState)(`Awaiting Proof Of Breath™`),[k,A]=(0,G.useState)(``),[j,M]=(0,G.useState)(320),N=(0,G.useRef)(null),{payload:F,setPayload:ee,loading:L,setLoading:ne}=mC(t.search),V=F,{pulse:re,msToNextPulse:ie}=U(),[oe,H]=(0,G.useState)(null),[W,fe]=(0,G.useState)(null),[pe,me]=(0,G.useState)(!1),[he,ge]=(0,G.useState)(!1),[_e,ve]=(0,G.useState)(``),[ye,be]=(0,G.useState)(``),[xe,Se]=(0,G.useState)(`breaths`),[Ce,we]=(0,G.useState)(44),[J,Te]=(0,G.useState)(``),[Ee,De]=(0,G.useState)(!1),Oe=(0,G.useRef)(``),ke=(0,G.useMemo)(()=>r?`sigil:legacy-upgraded:${r}`:``,[r]),[Me,Ne]=(0,G.useState)(!1),[Pe,Fe]=(0,G.useState)(!1);(0,G.useEffect)(()=>{if(ke)try{Fe(localStorage.getItem(ke)===`1`)}catch{}},[ke]);let Ie=(0,G.useCallback)(()=>{if(ke){try{localStorage.setItem(ke,`1`)}catch{}Fe(!0),_C(A,`Upgraded — legacy link locked`)}},[ke]),[Le,Re]=(0,G.useState)(!1),[ze,Be]=(0,G.useState)(``),[Ve,He]=(0,G.useState)(``),[Ue,We]=(0,G.useState)(`checking`),[Ge,Ke]=(0,G.useState)(null);(0,G.useEffect)(()=>{let e=Array.from(new Set([V?.canonicalHash,r,J].filter(Boolean).map(e=>e.toLowerCase())));if(e.length===0)return;let t=()=>{let t=null;try{for(let n of e){let e=localStorage.getItem(pE(n)),r=e?String(e).split(`@`)[0]:null;if(r){t=r;break}}}catch{}Ke(t)};t();let n=null;try{n=new BroadcastChannel(fE),n.onmessage=t=>{let n=t.data;if(n?.type===`rotated`){let t=(n.canonical||``).toLowerCase();e.includes(t)&&Ke(n.token||null)}}}catch{}let i=n=>{if(n.key){for(let r of e)if(n.key===pE(r)){t();break}}};return window.addEventListener(`storage`,i,{passive:!0}),()=>{if(window.removeEventListener(`storage`,i),n&&typeof n.close==`function`)try{n.close()}catch{}}},[V?.canonicalHash,r,J]);let qe=(0,G.useCallback)(async(e,t,n,r,i)=>{try{let a=KT(e,t,n),o=await UT(a);if(!o)return r;let s=new URL(r,window.location.origin);return WT(s,o.r,o.s,o.kid),i&>(i,a,o.s,o.kid),s.toString()}catch{return r}},[]);(0,G.useEffect)(()=>{let e=null;try{e=new BroadcastChannel(XT),e.onmessage=()=>{}}catch{}return()=>{if(e&&typeof e.close==`function`)try{e.close()}catch{}}},[]),(0,G.useEffect)(()=>{let e=qT();return()=>{e.destroy?.(),e.teardown?.(),e.disable?.()}},[]);let[Je,Ye]=(0,G.useState)(0),[Xe,Ze]=(0,G.useState)(!1),[Qe,$e]=(0,G.useState)(null),et=(0,G.useMemo)(()=>{let e=[V?.canonicalHash,J,oe?.canonicalHash,Qe?.matchedHash].filter(Boolean).map(e=>e.toLowerCase());return Array.from(new Set(e))},[V?.canonicalHash,J,oe?.canonicalHash,Qe]);(0,G.useLayoutEffect)(()=>{NC()},[]),(0,G.useEffect)(()=>{let e=sC[V?.chakraDay??`Throat`]??{hue:180,accent:`#00FFD0`},t=document.querySelector(`.sigilpage`);t&&(t.style.setProperty(`--crystal-hue`,String(e.hue)),t.style.setProperty(`--crystal-accent`,e.accent))},[V?.chakraDay]);let[tt,nt]=(0,G.useState)(null),{valSeal:it,livePrice:at,priceFlash:ot}=le({payload:V,urlSearchParams:o,currentPulse:re,routeHash:r}),st=o.get(`h`)??``;(0,G.useEffect)(()=>{if(!st){nt(e=>e===null?e:null);return}try{let e=d(EC(st.trim()));nt(t=>Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every((t,n)=>t===e[n])?t:e)}catch{nt(e=>e===null?e:null)}},[st]);let ct=(0,G.useCallback)((e,t)=>{let n=e.stepsPerBeat??a,r=t.stepsPerBeat??a,i=v(e.pulse,n),o=v(t.pulse,r);return e.pulse===t.pulse&&e.beat===t.beat&&i===o&&e.chakraDay===t.chakraDay},[]),lt=(0,G.useMemo)(()=>typeof window<`u`?new URL(window.location.href).toString():`${`/s/${encodeURIComponent(e??``)}`}${t.search||``}${t.hash||``}`,[e,t.search,t.hash]),ut=(0,G.useMemo)(()=>e?e.slice(0,16):`—`,[e]),dt=(0,G.useCallback)(async(e,t=`Copied`)=>{try{return await navigator.clipboard.writeText(e),_C(A,t),!0}catch{return _C(A,`Copy failed`),!1}},[]),ft=(0,G.useCallback)(async()=>{try{let e=navigator;typeof e?.share==`function`?(await e.share({title:`Kairos Sigil-glyph`,text:`Sealed Kairos Moment`,url:lt}),_C(A,`Share sheet opened`)):await dt(lt,`Link copied`)}catch{}},[lt,dt]);(0,G.useEffect)(()=>{let e=Date.now(),t=(r||``).toLowerCase();if(Je>e||!t||et.length===0)return;let n=et.includes(t),i=h,a=f;!n&&J&&t!==J&&!Qe||!n&&(Qe||Ue===`archived`)?i=`authentic`:(i=n?`authentic`:`forged`,f!==`verified`&&(a=n?`ok`:`mismatch`)),i!==h&&_(i),a!==f&&p(a)},[et,r,Ue,Je,Qe,J,h,f]);let[pt,mt]=(0,G.useState)(null),ht=(0,G.useDeferredValue)(V),gt=(0,G.useMemo)(()=>{let t=ht?.stepsPerBeat??a,n=ht?v(ht.pulse,t):0,r=ht?.chakraDay??`Throat`,i=(ht?.userPhiKey??``).slice(0,12),o=(ht?.pulse??0).toLocaleString();return{title:`☤Kai Sigil-Glyph — ${e?e.slice(0,16):`—`}`,desc:ht?`Sealed Sigil-Glyph • Pulse ${o} • Beat ${ht.beat}/36 • Step ${n}/${t} • ${r}${i?` • Owner ${i}…`:``}.`:`Sealed Sigil-Glyph`}},[ht,e]);(0,G.useEffect)(()=>{let e=lt;document.title=gt.title;let t=aC(`canonical`);t.href=e,rC(`name`,`theme-color`,sC[V?.chakraDay??`Throat`]?.accent||`#00FFD0`),rC(`property`,`og:title`,gt.title),rC(`property`,`og:description`,gt.desc),rC(`property`,`og:type`,`website`),rC(`property`,`og:url`,e),rC(`name`,`twitter:card`,`summary_large_image`),rC(`name`,`twitter:title`,gt.title),rC(`name`,`twitter:description`,gt.desc),rC(`property`,`og:site_name`,`Kairos Harmonik Kingdom`);let n=V?.stepsPerBeat??a,r=V?v(V.pulse,n):0,i=V,o=V??{},s={"@context":`https://schema.org`,"@type":`VisualArtwork`,name:gt.title,description:gt.desc,url:e,image:pt||void 0,genre:`Sigil-Glyph`,identifier:[{"@type":`PropertyValue`,name:`pulse`,value:V?.pulse??null},{"@type":`PropertyValue`,name:`beat`,value:V?.beat??null},{"@type":`PropertyValue`,name:`stepIndex`,value:r},{"@type":`PropertyValue`,name:`stepsPerBeat`,value:n},{"@type":`PropertyValue`,name:`chakraDay`,value:V?.chakraDay??null},{"@type":`PropertyValue`,name:`userPhiKey`,value:V?.userPhiKey??null},{"@type":`PropertyValue`,name:`kaiSignature`,value:V?.kaiSignature??null},{"@type":`PropertyValue`,name:`canonicalHash`,value:(V?.canonicalHash??J)||null},{"@type":`PropertyValue`,name:`expiresAtPulse`,value:V?.expiresAtPulse??null},{"@type":`PropertyValue`,name:`transferNonce`,value:new URLSearchParams(location.search).get(`t`)??V?.transferNonce??null},{"@type":`PropertyValue`,name:`claimExtendUnit`,value:lE(o.claimExtendUnit)?o.claimExtendUnit:null},{"@type":`PropertyValue`,name:`claimExtendAmount`,value:o.claimExtendAmount??null},{"@type":`PropertyValue`,name:`historyLiteCount`,value:tt?.length??0}].filter(e=>e.value!=null)};i?.lineage?.length&&s.identifier.push({"@type":`PropertyValue`,name:`lineageDepth`,value:i.lineage.length}),oC(`sigil-jsonld`,s)},[lt,gt.title,gt.desc,V,pt,J,tt?.length]),(0,G.useEffect)(()=>MT({stageId:`sigil-stage`,payload:V?{...V}:null,localHash:J,setOgImgUrl:mt,setMeta:rC,seoTitle:gt.title,seoDesc:gt.desc}),[V,J,j,gt.title,gt.desc]),(0,G.useLayoutEffect)(()=>(document.documentElement.classList.add(`sigil-scroll`),()=>document.documentElement.classList.remove(`sigil-scroll`)),[]),(0,G.useEffect)(()=>{let e=0,t=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>{let e=window.innerWidth,t=window.innerHeight,n=e<640?Math.max(220,Math.min(360,t*.48)):Math.max(160,Math.min(320,t*.35)),r=Math.max(160,Math.min(640,Math.min(e,t-n))),i=N.current?.clientWidth??e,a=Math.max(160,Math.min(640,i-24));M(Math.round(Math.min(r,a)))})},n=N.current??document.body,r=new ResizeObserver(()=>t());return r.observe(n),window.addEventListener(`resize`,t,{passive:!0}),t(),()=>{r.disconnect(),window.removeEventListener(`resize`,t),cancelAnimationFrame(e)}},[]),(0,G.useEffect)(()=>{L?(p(e=>e===`verified`?`verified`:`checking`),_(e=>e===`authentic`?`authentic`:`checking`),x(!1),E(`Awaiting Verifikation`)):V||(p(e=>e===`verified`?`verified`:r?`notfound`:`checking`),_(e=>e===`authentic`?`authentic`:r?`forged`:`checking`))},[L,V,r]);let vt=e=>Array.isArray(e)?[...e].map(e=>({nonce:e.nonce,amount:Number.isFinite(e.amount)?Number(e.amount):0,recipient:e.recipientPhiKey??``,ts:e.timestamp??``})).sort((e,t)=>e.nonce.localeCompare(t.nonce)).map(e=>`${e.nonce}:${e.amount}:${e.recipient}:${e.ts}`).join(`|`):``;(0,G.useEffect)(()=>{let e=eT(o.get(`d`));if(!e)return;let t=yT(V??null,J,Qe),n=bT(u,V??null),r=cE(e);t&&rT(t,r,n);let i=typeof r.originalAmount==`number`?r.originalAmount:void 0,a=Array.isArray(r.debits)?r.debits:void 0;ee(e=>{if(!e)return e;let t=e,n=(t.originalAmount??void 0)===i,r=vt(t.debits)===vt(a);if(n&&r)return e;let o={...e};return i!==void 0&&(o.originalAmount=i),a&&(o.debits=a,o.totalDebited=aE(a)),o})},[o,V,J,Qe,u,ee]);let[yt,bt]=(0,G.useState)(!1),xt=(0,G.useRef)(!1);(0,G.useEffect)(()=>{let e=yT(V??null,J,Qe);if(!e)return;let t=bT(u,V??null),{merged:n,urlIsStale:r}=cT(e,o,t),i=cE(n);r&&bt(!0),sT(i,e,t,{broadcast:!1,navigate:r});let a=typeof i.originalAmount==`number`?i.originalAmount:void 0,s=Array.isArray(i.debits)?i.debits:void 0;ee(e=>{if(!e)return e;let t=e,n=(t.originalAmount??void 0)===a,r=vt(t.debits)===vt(s);if(n&&r)return e;let i={...e};return a!==void 0&&(i.originalAmount=a),s&&(i.debits=s,i.totalDebited=aE(s)),i})},[V?.canonicalHash,J,Qe,o,u,ee]),(0,G.useEffect)(()=>{if(xt.current||!V?.canonicalHash)return;let e=V.canonicalHash.toLowerCase();if(r&&e&&e!==r&&Ue===`active`&&!Qe){xt.current=!0;let t=new URL(window.location.href);t.pathname=`/s/${e}`,n(`${t.pathname}${t.search}${t.hash}`,{replace:!0})}},[V?.canonicalHash,r,Ue,Qe,n]),(0,G.useEffect)(()=>{if(!xt.current&&V&&!V.canonicalHash&&J&&r&&J!==r&&Ue===`active`&&!Qe){xt.current=!0;let e=new URL(window.location.href);e.pathname=`/s/${J}`,n(`${e.pathname}${e.search}${e.hash}`,{replace:!0})}},[V?.canonicalHash,J,r,Ue,Qe,n]),(0,G.useEffect)(()=>{let e=et;if(!e.length)return;let t=bT(u,V??null),n=(e,t)=>{let n={};typeof e?.originalAmount==`number`&&(n.originalAmount=e.originalAmount),n.originalAmount===void 0&&typeof t?.originalAmount==`number`&&(n.originalAmount=t.originalAmount);let r=Array.isArray(e?.debits)?e.debits:[],i=Array.isArray(t?.debits)?t.debits:[],a=sE([...r,...i]);return cE({originalAmount:n.originalAmount,debits:a})},r=(e,t)=>{let n=cE(e??{}),r=cE(t??{}),i=typeof n.originalAmount==`number`?n.originalAmount:NaN,a=typeof r.originalAmount==`number`?r.originalAmount:NaN,o=Number.isNaN(i)&&Number.isNaN(a)||Math.abs(i-a)e.nonce)),c=new Set((Array.isArray(r.debits)?r.debits:[]).map(e=>e.nonce));if(!o||s.size!==c.size)return!1;for(let e of s)if(!c.has(e))return!1;return!0},i=(i,a,o)=>{let s=i.toLowerCase();if(!e.includes(s))return;let c=t??null;if(c!==(o??null))return;let l=eT(a);if(!l)return;let u=eT(new URLSearchParams(window.location.search).get(`d`)),d=n(u,l);r(u,d)||(sT(d,s,c,{broadcast:!1}),ee(e=>{if(!e)return e;let t={...e};return typeof d.originalAmount==`number`&&(t.originalAmount=d.originalAmount),Array.isArray(d.debits)&&(t.debits=d.debits,t.totalDebited=aE(d.debits)),t}))},a=null;try{a=new BroadcastChannel(Kw),a.onmessage=e=>{let t=e.data;t?.type===`debits`&&t.canonical&&t.qs&&i(t.canonical,t.qs,t.token)}}catch{}let o=t=>{if(!(!t.key||typeof t.newValue!=`string`))for(let n of e){if(!Jw(t.key,n))continue;let e=Yw(t.key,n);i(n,t.newValue,e);break}};return window.addEventListener(`storage`,o,{passive:!0}),()=>{if(window.removeEventListener(`storage`,o),a&&typeof a.close==`function`)try{a.close()}catch{}}},[et,u,V,ee]);let St=(0,G.useMemo)(()=>V?typeof V.expiresAtPulse==`number`?V.expiresAtPulse:V.pulse+11:null,[V]),Ct=(0,G.useMemo)(()=>re==null||St==null?null:Math.max(0,St-re),[re,St]),wt=(0,G.useMemo)(()=>Ct===0,[Ct]),Tt=(0,G.useMemo)(()=>re==null||!V?null:Math.max(0,V.pulse-re),[V,re]),Et=(0,G.useMemo)(()=>re==null||!V?!1:V.pulse>re,[V,re]),Dt=V?.chakraDay??`Throat`,Ot=V?.stepsPerBeat??a,kt=v(V?.pulse??0,Ot),At=c(V?.pulse??0),jt=(0,G.useMemo)(()=>{if(!V?.canonicalHash||typeof V.stepIndex!=`number`)return null;let e=V.stepsPerBeat??a;return g(V.canonicalHash.toLowerCase(),{pulse:V.pulse,beat:V.beat,stepIndex:V.stepIndex,chakraDay:V.chakraDay??`Root`,stepsPerBeat:e,kaiSignature:V.kaiSignature??void 0,userPhiKey:V.userPhiKey??void 0})},[V,a]),Mt=(0,G.useMemo)(()=>`hsl(${((sC[Dt]?.hue??180)+(J&&/^[0-9a-f]+$/i.test(J)?parseInt(J.slice(-2),16)%12:0)*2.5)%360} 100% ${50+15*Math.sin(At*2*Math.PI)}%)`,[Dt,At,J]),Nt=sC[Dt]?.hue??180,Pt=(0,G.useMemo)(()=>`qr-${(J||r||`seed`).slice(0,12)}-${Dt}-${kt}`,[J,r,Dt,kt]),[Ft,It]=(0,G.useState)(!1),[Lt,Rt]=(0,G.useState)(null);(0,G.useEffect)(()=>{let e=!1;return(async()=>{try{if(!V){Rt(null);return}let t=V.stepsPerBeat??a,n=v(V.pulse,t),r=T(V),i=y(V.pulse,V.beat,n,String(V.chakraDay??``),r),o=await w(i),s=await D(o),c=typeof V.kaiSignature==`string`?V.kaiSignature.toLowerCase()===o.toLowerCase():!0,l=typeof V.userPhiKey==`string`?V.userPhiKey.toLowerCase()===s.toLowerCase():!0,u={pulse:V.pulse,beat:V.beat,stepsPerBeat:t,stepIndex:n,chakraDay:String(V.chakraDay??``),intention:r??null,sigmaString:i,sigmaHash:o,derivedPhiKey:s,payloadKaiSignature:V.kaiSignature??null,payloadUserPhiKey:V.userPhiKey??null,matches:{sigma:c,phi:l}};e||Rt(u)}catch{e||Rt(null)}})(),()=>{e=!0}},[V]);let zt=z(async()=>{if(he)return;ge(!0);let e=document.getElementById(`sigil-stage`);try{await xT({stageEl:e,payload:V,localHash:J,routeHash:r,qr:{uid:Pt,url:lt,hue:Nt,accent:Mt},onToast:e=>_C(A,e)})}finally{ge(!1)}}),[Bt,Vt]=(0,G.useState)(!1),[Ht,Ut]=(0,G.useState)(``),Wt=(0,G.useCallback)(async()=>{let e=N.current;e&&(Ut((await(0,JT.default)(e,{backgroundColor:null})).toDataURL(`image/png`)),Vt(!0))},[]),Gt=(0,G.useCallback)(()=>{Vt(!1),Ut(``)},[]),Kt=z(()=>{Wt()}),qt=z(()=>{Gt()}),Jt=z(()=>It(e=>!e)),Yt=z(()=>Ze(!0)),Xt=(0,G.useCallback)(async e=>{let t=await e.arrayBuffer(),n=e.type||`application/octet-stream`,r=`data:${n};base64,${gC(t)}`;fe({name:e.name,mime:n,size:e.size,dataUri:r}),_C(A,`Remembered ${e.name}`)},[]),Zt=(0,G.useCallback)((e,t)=>{let n=e.stepsPerBeat??a,i=v(e.pulse,n),o=(e.canonicalHash||J||``).toLowerCase(),s=e.claimExtendUnit,c=lE(s)?s:null,l=e.claimExtendAmount,u=typeof l==`number`?l:null,d=LT({pulse:e.pulse,beat:e.beat,chakraDay:e.chakraDay??`Root`,stepsPerBeat:n,stepIndex:i,userPhiKey:e.userPhiKey??null,kaiSignature:e.kaiSignature??null,canonicalHash:o,transferNonce:e.transferNonce??null,expiresAtPulse:e.expiresAtPulse??null,claimExtendUnit:c,claimExtendAmount:u},t,{localHash:J,routeHash:r,stepsPerBeat:a,stepIndexFromPulse:v})?.url||`/s/${o}`;try{let e=new URL(d,window.location.origin);e.pathname=`/s/${o}`;let t=new URLSearchParams(window.location.search).get(`d`);t&&e.searchParams.set(`d`,t),d=e.toString()}catch{}let f=new URL(d,window.location.origin);f.pathname=`/s/${o}`,new URL(window.location.href).searchParams.forEach((e,t)=>{t!==`d`&&f.searchParams.set(t,f.searchParams.get(t)??e)});let p=lT(d)||o;return Be(d),He(p),Re(!0),d},[J,r]),Qt=(0,G.useCallback)((e,t,i=!0)=>{let o=e.stepsPerBeat??a,c=v(e.pulse,o),l=e.claimExtendUnit,u=lE(l)?l:`breaths`,d=e.claimExtendAmount,f=typeof d==`number`?d:11;return RT({pulse:e.pulse,beat:e.beat,chakraDay:e.chakraDay??`Root`,stepsPerBeat:o,stepIndex:c,userPhiKey:e.userPhiKey??null,kaiSignature:e.kaiSignature??null,canonicalHash:t,transferNonce:e.transferNonce??null,expiresAtPulse:e.expiresAtPulse??null,claimExtendUnit:u,claimExtendAmount:f},t,{localHash:J,routeHash:r,stepsPerBeat:a,stepIndexFromPulse:v,getKaiPulseEternalInt:s,breathsToPulses:B,shareTransferLink:LT,publishRotation:mE,navigate:e=>{if(i)try{n(e)}catch{try{window.location.href=e}catch{}}}})??null},[J,r,n]),$t=(0,G.useCallback)(async e=>{if(x(!1),E(`Verifying…`),!(/image\/svg\+xml/i.test(e.type)||/\.svg$/i.test(e.name))){E(`Unsupported file. Upload an SVG sigil (.svg) only.`);return}let t=null;try{let{ok:n,errors:r,payload:i,meta:a}=ce(await e.text());if(!n||!i){E(r[0]||`Invalid SVG.`);return}t=i,H(a||{})}catch{E(`Invalid or unreadable SVG uploaded.`);return}if(!V||!t){E(`Load or link a sigil first, then verify stewardship.`);return}if(!ct(V,t)){E(`File does not match this sealed kairos moment.`),x(!1);return}if(t.canonicalHash){let e=t.canonicalHash.toLowerCase(),n=(J||``).toLowerCase(),i=(r||``).toLowerCase(),a=n&&e===n,o=i&&e===i;if(!a&&!o){E(`SVG canonicalHash doesn’t match this link’s hash.`),x(!1);return}if(o&&!a){$e({reason:`svg.canonicalHash matched route (legacy)`,matchedHash:e}),_(`authentic`),p(`ok`),We(`archived`),x(!0),E(`Stewardship verified (legacy SVG). Issuing modern link…`),n&&(Qt({...V},n,!0),E(`Legacy verified. Modern transfer link ready.`));return}}if(new Set([u??void 0,V.transferNonce??void 0,t.transferNonce??void 0,Ge??void 0].filter(e=>!!e)).size>1){E(`This is not the active transfer link for that Φkey.`),x(!1);return}x(!0),E(`Stewardship verified`)},[V,ct,J,r,u,Ge,Qt]),en=z(async()=>{if(pe)return;let e=N.current?.querySelector(`svg`),t=V??{},n=lE(t.claimExtendUnit)?t.claimExtendUnit:void 0,i=typeof t.claimExtendAmount==`number`?t.claimExtendAmount:null;await jT({expired:!!wt,exporting:pe,setExporting:me,svgEl:e,payload:V?{pulse:V.pulse,beat:V.beat,chakraDay:V.chakraDay??null,stepsPerBeat:V.stepsPerBeat??void 0,stepIndex:V.stepIndex??null,exportedAtPulse:V.exportedAtPulse??null,canonicalHash:V.canonicalHash??null,userPhiKey:V.userPhiKey??null,kaiSignature:V.kaiSignature??null,transferNonce:V.transferNonce??null,expiresAtPulse:V.expiresAtPulse??null,claimExtendUnit:n,claimExtendAmount:i,attachment:V.attachment??null,provenance:V.provenance??null}:null,isFutureSealed:Et,linkStatus:Ue,setToast:e=>_C(A,e),expiryUnit:xe,expiryAmount:Ce,localHash:J,routeHash:r,transferToken:u??null,getKaiPulseEternalInt:s,stepIndexFromPulse:v,STEPS_PER_BEAT:a})}),tn=(0,G.useCallback)(e=>{let t=typeof e==`string`?e:e?.hash;if(!t)return;let n=t.toLowerCase();Te(e=>e===n?e:n)},[]),nn=L&&!V,rn=f===`notfound`||f===`error`,an=V?.pulse??0,on=((ie??0)/1e3).toFixed(3),sn=Ue===`archived`,cn=b&&!sn,ln=(0,G.useMemo)(()=>h===`authentic`&&sn&&!u&&!!r&&!!J&&r!==J,[h,sn,u,r,J]);(0,G.useEffect)(()=>{if(!V||h!==`authentic`||f===`mismatch`||f===`error`||f===`notfound`)return;let e=!1;return(async()=>{try{let t=V.stepsPerBeat??a,n=v(V.pulse,t),r=T(V),i=await w(y(V.pulse,V.beat,n,String(V.chakraDay??``),r)),o=typeof V.kaiSignature==`string`?V.kaiSignature.toLowerCase()===i.toLowerCase():!0,s=await D(i),c=typeof V.userPhiKey==`string`?V.userPhiKey.toLowerCase()===s.toLowerCase():!0;!e&&o&&c&&f!==`verified`&&p(`verified`)}catch{}})(),()=>{e=!0}},[V,h,f,Ue]),(0,G.useEffect)(()=>{let e=(r||``).toLowerCase(),t=u||null,n=V?.transferNonce||null,i=!!t&&!!n&&t===n&&(St==null||re==null||re{let e=!0;return(async()=>{if(!V){dn(``),pn(``);return}let t=(V.canonicalHash||J||``).toLowerCase(),n=s(new Date),r=await PC(V,t,n,I(n),v(n,V.stepsPerBeat??a));e&&(dn(r.ownerPhiKey),pn(r.kaiSig))})(),()=>{e=!1}},[V,J]);let mn=(0,G.useCallback)(async e=>{if(e?.preventDefault?.(),e?.stopPropagation?.(),!V||!J||Et||sn)return;let t=(V.canonicalHash||J||``).toLowerCase(),n=s(new Date),r=await PC(V,t,n,I(n),v(n,V.stepsPerBeat??a));ve(r.ownerPhiKey),be(r.kaiSig),setTimeout(()=>{try{_n()}catch{}},0)},[V,J,Et,sn]),hn=(0,G.useCallback)(e=>{let t=`/${e}`;try{window.location.assign(t)}catch{window.location.href=t}},[]),gn=(0,G.useCallback)(async()=>{try{let e=await(await fetch(`/verifier.inline.html`,{cache:`no-store`})).text(),t=new Blob([e],{type:`text/html`}),n=document.createElement(`a`);n.href=URL.createObjectURL(t),n.download=`verifier.html`,document.body.appendChild(n),n.click(),setTimeout(()=>{URL.revokeObjectURL(n.href),n.remove()},0),_C(A,`Downloading verifier…`)}catch{_C(A,`Download failed`)}},[]);({...Jt});let _n=(0,G.useCallback)(()=>{if(!V)return _C(A,`Nothing to mint`);let e=N.current?.querySelector(`svg`);if(!e)return _C(A,`No Φkey in frame`);if(!J)return _C(A,`Glyph hash not ready yet`);if(Ue!==`active`)return _C(A,`Archived link — cannot exhale from here`);if(Et)return _C(A,`Opens after the moment—claim unlocks then`);let t=$S(oe??{},V.pulse),n=(_e||V.userPhiKey||``).trim();if(!n)return _C(A,`Owner ΦKey required`);let i=Math.max(0,Math.floor(Ce||0)),o=xe===`breaths`?B(i):ae(i),c=s(new Date),l=c+o,u=J.toLowerCase(),d=crypto.getRandomValues(new Uint32Array(4)).join(``),f=V.stepsPerBeat??a,p=v(V.pulse,f),m=v(c,f),h={...eC(n,ye||V.kaiSignature,V,t.length?`transfer`:`mint`,(W??V.attachment)?.name,c),stepIndex:p,atStepIndex:m},g={...V,userPhiKey:n,kaiSignature:ye||V.kaiSignature,stepsPerBeat:V.stepsPerBeat??a,attachment:W??V.attachment??void 0,expiresAtPulse:l,canonicalHash:u,transferNonce:d,claimExtendUnit:xe,claimExtendAmount:i,provenance:[...t,h]};(async()=>{let t=await w(y(g.pulse,g.beat,p,String(g.chakraDay??``),T(g))),n=await D(t);g.kaiSignature=t,g.userPhiKey=g.userPhiKey||n;let i=Array.from(new Set([V.canonicalHash,r,J].filter(Boolean).map(e=>e.toLowerCase())));i.length&&mE(i,d),We(`archived`),Ye(Date.now()+250),se(e,g),kC(e),ee(g),H(g),_C(A,`Sealed & archived`);let a=Zt(g,d)||`/s/${u}`;a=await qe(g,u,d,a,e),Be(tE(a)),g.canonicalHash&&mE([g.canonicalHash.toLowerCase()],d),setTimeout(()=>Ye(0),0)})()},[V,oe,_e,ye,W,Ce,xe,J,r,Ue,Et,Zt]),vn=V,yn=(0,G.useMemo)(()=>aE(vn?.debits??[]),[vn?.debits]),bn=(0,G.useMemo)(()=>{let e=(typeof vn?.originalAmount==`number`?vn.originalAmount:it?.valuePhi??0)-yn;return e>0?e:0},[vn?.originalAmount,it?.valuePhi,yn]),xn=(vn?.debits?.length??0)>0||typeof vn?.originalAmount==`number`,Sn=(0,G.useMemo)(()=>xn?bn:at??it?.valuePhi??0,[xn,bn,at,it?.valuePhi]),Cn=te,{usdPerPhi:wn,phiPerUsd:Tn}=(0,G.useMemo)(()=>{try{let e=re??s(new Date),t=i({meta:V||{},nowPulse:e,usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},Cn);return{usdPerPhi:t.usdPerPhi??0,phiPerUsd:t.phiPerUsd??0}}catch{return{usdPerPhi:0,phiPerUsd:0}}},[V,re,Cn]),En=(Sn??0)*(wn||0),Dn=(0,G.useCallback)(async()=>{if(!V)return``;let e=V.stepsPerBeat??a,t=v(V.pulse,e);return await D(V.kaiSignature??await w(y(V.pulse,V.beat,t,String(V.chakraDay??``),T(V))))},[V]),[On,kn]=(0,G.useState)([]),An=(0,G.useCallback)(()=>{kn(hE(yT(V??null,J,Qe),bT(u,V??null)))},[V,J,Qe,u]);(0,G.useEffect)(()=>{An();let e=null;try{e=new BroadcastChannel(uE),e.onmessage=e=>{let t=e.data;if(!t||t.type!==`descendants`)return;let n=yT(V??null,J,Qe),r=bT(u,V??null);!n||!r||t.canonical!==n.toLowerCase()||t.token!==r||Array.isArray(t.list)&&kn(t.list)}}catch{}let t=e=>{if(!e.key||!e.newValue)return;let t=yT(V??null,J,Qe),n=bT(u,V??null);if(!(!t||!n)&&e.key===dE(t,n))try{let t=JSON.parse(e.newValue||`[]`);Array.isArray(t)&&kn(t)}catch{}};return window.addEventListener(`storage`,t,{passive:!0}),()=>{if(e&&typeof e.close==`function`)try{e.close()}catch{}window.removeEventListener(`storage`,t)}},[V,J,Qe,u,An]);let jn=(0,G.useCallback)(async(e,t)=>{if(!V)return null;let n=s(new Date),r=crypto.getRandomValues(new Uint32Array(4)).join(``),i=V.stepsPerBeat??a,o=v(V.pulse,i),c=(J||V.canonicalHash||``).toLowerCase(),l=t??bT(u,V??null),d=Array.isArray(V.lineage)?[...V.lineage]:[],f=(d[d.length-1]?.depth??0)+1,p={token:r,parentToken:l??null,amount:Number(e.toFixed(6)),timestamp:n,depth:f,senderPhiKey:V.userPhiKey??null},m={...V,userPhiKey:void 0,originalAmount:Number(e.toFixed(6)),mintedAtPulse:n,transferNonce:r,expiresAtPulse:n+(xe===`breaths`?B(Ce):ae(Ce)),claimExtendUnit:xe,claimExtendAmount:Ce,canonicalHash:c,lineage:[...d,p]},h=await w(y(m.pulse,m.beat,o,String(m.chakraDay??``),T(m))),g=await D(h);m.kaiSignature=h,m.userPhiKey=g;let _=Zt(m,r)||`/s/${c}`;try{let t=new URL(_,window.location.origin);t.pathname=`/s/${c}`,t.searchParams.set(`d`,Qw({originalAmount:m.originalAmount}));let i=vT(t.toString(),m);i=await qe(m,c,r,i);let a=lT(i)||c;rT(a,eT(new URL(i).searchParams.get(`d`))??{},r);let o=yT(V??null,J,Qe),s=l??null;if(o&&s){let t=[...hE(o,s),{token:r,parentToken:s,amount:Number(e.toFixed(6)),timestamp:n,depth:1,recipientPhiKey:m.userPhiKey}];gE(o,s,t),_E(o,s,t),kn(t)}return Be(tE(i)),He(a),Re(!0),i}catch{let e=vT(_||`/s/${c}`,m);return Be(e),He(c),Re(!0),e||null}},[V,xe,Ce,J,Zt,Qe,u]);(0,G.useEffect)(()=>{let e=e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName.toLowerCase();return t===`input`||t===`textarea`||e.isContentEditable},t=t=>{if(t.defaultPrevented||e(t.target))return;let n=t.key.toLowerCase();t.metaKey||t.ctrlKey||t.altKey||(n===`s`?ft():n===`l`?dt(lt,`Link copied`):n===`h`?J&&dt(J,`Hash copied`):n===`z`?en.onClick?.(new MouseEvent(`click`)):n===`p`?zt.onClick?.(new MouseEvent(`click`)):n===`g`&&Wt())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[ft,dt,lt,J,en,zt,Wt]);let Mn=(0,G.useCallback)(e=>{let t=e?.silent??!0;if(!yT(V??null,J,Qe))return null;let r=bT(u,V??null);if(r)return r;r=crypto.getRandomValues(new Uint32Array(4)).join(``);try{let e=new URL(window.location.href);e.searchParams.set(`t`,r),t?window.history.replaceState(null,``,`${e.pathname}${e.search}${e.hash}`):n(`${e.pathname}${e.search}${e.hash}`,{replace:!0})}catch{}return ee(e=>e&&{...e,transferNonce:r}),We(`active`),r},[V,J,Qe,u,ee,n,We]),[Nn,Pn]=(0,G.useState)(0),Fn=(0,G.useCallback)(async()=>{if(!cn)return _C(A,`Verify Stewardship first`);if(!V)return _C(A,`No payload`);if(Ee)return;let e=Number(Nn)||0;if(e<=0)return _C(A,`Enter an amount > 0`);let t=yT(V??null,J,Qe),n=bT(u,V??null);if(n||=Mn({silent:!0})||null,!t||!n)return _C(A,`Link not initialized`);if(Ge&&Ge!==n)return _C(A,`Archived link — cannot exhale from here`);De(!0);let{ok:r,id:i}=nE(t,n);if(Oe.current=i,!r)return De(!1),_C(A,`Another exhale is in progress`);try{let{merged:r}=cT(t,new URLSearchParams(window.location.search),n),i=cE({originalAmount:typeof r.originalAmount==`number`?r.originalAmount:typeof V?.originalAmount==`number`?V.originalAmount:it?.valuePhi??0,debits:Array.isArray(r.debits)?r.debits:[]});if(e>Math.max(0,(i.originalAmount??0)-aE(i.debits||[]))+YT)return _C(A,`Amount exceeds available`);let a=await Dn();if(!a)return _C(A,`Could not derive Φkey`);let o={amount:Number(e.toFixed(6)),nonce:crypto.getRandomValues(new Uint32Array(4)).join(``),recipientPhiKey:a,timestamp:s(new Date)};sT(cE({originalAmount:i.originalAmount,debits:[...i.debits??[],o]}),t,n,{broadcast:!0});let{merged:c}=cT(t,new URLSearchParams(window.location.search),n),l=cE(c);if(!(l.debits??[]).some(e=>e.nonce===o.nonce)){_C(A,`Exhale conflicted — try again`);return}ee(e=>{if(!e)return e;let t={...e};return t.originalAmount=typeof l.originalAmount==`number`?l.originalAmount:typeof t.originalAmount==`number`?t.originalAmount:it?.valuePhi??0,t.debits=Array.isArray(l.debits)?l.debits:[],t.totalDebited=aE(t.debits),t}),Pn(0),_C(A,`Sent ${TC(o.amount)} Φ`),jn(o.amount,n)}finally{rE(t,n,Oe.current),De(!1)}},[cn,V,V?.originalAmount,it?.valuePhi,Nn,Ge,J,Qe,u,ee,Dn,jn,Pn,Ee,Mn]),In=Ft||Xe||Le||Me&&ln;(0,G.useEffect)(()=>{let e=`bp-open`;return In?document.body.classList.add(e):document.body.classList.remove(e),()=>document.body.classList.remove(e)},[In]);let[Ln,Rn]=(0,G.useState)(!1),zn=(0,G.useCallback)(()=>{Rn(!0),window.setTimeout(()=>Rn(!1),2e3)},[]),Bn=z(()=>{dt(J||``,`Hash copied`)}),Vn=z(async()=>{await dt(lt,`Link copied`)&&zn()}),Hn=z(()=>{ft()}),Un=(0,K.jsxs)(de,{frameRef:N,children:[!nn&&!rn&&V&&(0,K.jsx)(`div`,{id:`sigil-stage`,style:{position:`relative`,width:j,height:j,margin:`0 auto`},children:(0,K.jsx)(m,{pulse:an,beat:V.beat,stepIndex:typeof V.stepIndex==`number`?V.stepIndex:void 0,chakraDay:Dt,size:j,hashMode:`deterministic`,origin:``,kaiSignature:V.kaiSignature??void 0,userPhiKey:V.userPhiKey??void 0,canonicalShareUrl:jt??void 0,canonicalPayloadHash:V.canonicalHash?V.canonicalHash.toLowerCase():void 0,onReady:tn})}),nn&&(0,K.jsx)(`div`,{className:`sp-skeleton`,"aria-hidden":`true`}),rn&&(0,K.jsx)(`div`,{className:`sp-error`,children:f===`notfound`?`Waiting for SVG upload or ?p= payload.`:`Unable to load sigil.`})]}),Wn=V?.lineage??[],Gn=(0,G.useCallback)((e,t)=>{let n=e=>typeof e==`object`&&!!e,r=e=>{if(typeof t==`string`)return t;if(!n(e))return``;let r=typeof e.reason==`string`?e.reason:``,i=n(e.detail)?e.detail:null,a=i&&typeof i.reason==`string`?i.reason:``;return r||a||``},i=e=>{if(!n(e))return null;let t=e.target;return t instanceof HTMLElement?t:null},a=r(e),o=i(e),s=a===`closeClick`||a===`close-button`||a===`explicit`||a===`close`,c=!!o?.closest?.(`[data-modal-close],[data-close],.sealmoment__close,.sp-modal__close,button[aria-label="Close"],button[aria-label="close"],button[title="Close"]`);if(s||c||e==null&&t==null){Re(!1),Be(``),He(``);return}},[]),{series:Kn,pushSample:qn}=JS({maxPoints:1512*8,maxBeats:1512});return(0,G.useEffect)(()=>{let e=(3+Math.sqrt(5))*1e3,t=null,n=null,r=()=>{let i=Sn;Number.isFinite(i)&&qn({t:Date.now(),v:i}),n=window.setTimeout(()=>{t=requestAnimationFrame(r)},e)};return r(),()=>{n&&clearTimeout(n),t&&cancelAnimationFrame(t)}},[Sn,qn]),(0,K.jsxs)(`main`,{className:`sigilpage`,role:`main`,"aria-label":`☤Kai Sigil Page`,"data-owner-verified":cn,"data-archived":sn,"data-old-link":yt?`true`:`false`,"data-ready":!L&&!!V,"data-version":`v48`,children:[(0,K.jsx)(`div`,{className:`sp-veil`,"aria-hidden":`true`}),(0,K.jsx)(`div`,{className:`sp-veil-stars`,"aria-hidden":`true`}),(0,K.jsx)(`div`,{className:`sp-viewport`,"aria-hidden":!1,children:(0,K.jsxs)(`section`,{className:`sp-shell`,"data-center":!0,children:[(0,K.jsx)(q,{glyphAuth:h,linkStatus:Ue,isArchived:sn,localHash:J,copyHashPress:Bn}),(h===`authentic`||f===`verified`)&&(0,K.jsx)(K.Fragment,{children:(0,K.jsxs)(`button`,{type:`button`,className:`authority-seal ${f===`verified`?`is-verified`:`is-failed`}`,"aria-pressed":Ft,"aria-label":`Show breath proof`,title:`Tap to show breath proof`,...Jt,children:[(0,K.jsx)(`span`,{className:`authority-seal__emblem`,"aria-hidden":`true`,children:f===`verified`?`✓`:`✕`}),(0,K.jsxs)(`div`,{className:`authority-seal__content`,children:[(0,K.jsxs)(`div`,{className:`authority-seal__headline`,children:[(0,K.jsx)(`span`,{className:`authority-seal__state`,children:f===`verified`?`VERIFIED`:`Out•Of•Sync`}),(0,K.jsx)(`span`,{className:`dot`,children:`•`}),(0,K.jsx)(`span`,{children:`PROOF•OF•BREATH™`})]}),(0,K.jsx)(`div`,{className:`authority-seal__chip`,children:f===`verified`?`SEAL VALID`:`SEAL FAILED`})]})]})}),it&&(0,K.jsxs)(`button`,{type:`button`,className:`sp-price-chip sp-price-dock ${ot===`up`?`flash-up`:ot===`down`?`flash-down`:``}`,"aria-live":`polite`,"aria-label":`Open historical value chart`,title:`Kai ${it.computedAtPulse} • premium ×${it.premium.toFixed(6)} • ${l(wn)}/Φ • ${Number.isFinite(Tn)?`${Tn.toFixed(6)} Φ/$`:`—`} • stamp ${it.stamp.slice(0,12)}…`,...Yt,children:[(0,K.jsx)(`span`,{className:`phi`,"aria-hidden":`true`,style:{"--phi-url":`url(/assets/phi.svg)`}}),(0,K.jsx)(`span`,{className:`price`,"aria-label":xn?`Available amount`:`Live valuation`,children:TC(Sn)}),(0,K.jsxs)(`span`,{className:`usd-inline`,"aria-hidden":`true`,children:[`≈ `,l(En)]}),(0,K.jsx)(`span`,{className:`chip-spacer`,"aria-hidden":`true`}),(0,K.jsxs)(`span`,{className:`live-badge`,"aria-label":xn?`Available amount`:`Live valuation`,children:[xn?`AVAILABLE`:`LIVE`,(0,K.jsx)(`span`,{className:`twinkles`,"aria-hidden":`true`})]})]}),(0,K.jsx)(US,{open:Xe,onClose:()=>Ze(!1),series:Kn,latestValue:Sn??0,label:xn?`Available Φ`:`Live Φ`}),(0,K.jsx)(IS,{glyphAuth:h,linkStatus:Ue,routeHash:r,localHash:J,upgradedOnce:Pe,oldLinkDetected:yt,transferToken:u,onUpgradeClick:()=>Ne(!0)}),(0,K.jsx)(Ae,{absUrl:lt,payload:V,chakraDay:Dt,steps:Ot,stepIndex:kt,stepPctDisplay:At,isArchived:sn,isFutureSealed:Et,pulsesLeft:Ct,opensInPulses:Tt,nextPulseSeconds:on,hash:e,shortHash:ut,remembered:Ln,copyLinkPress:Vn,sharePress:Hn,verified:YS(f),showSkeleton:nn,showError:rn,stage:Un}),Ft&&Lt&&(0,ue.createPortal)((0,K.jsx)(`div`,{className:`sp-breathproof__backdrop`,role:`presentation`,onClick:()=>It(!1),onMouseDown:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),onTouchMove:e=>{e.target===e.currentTarget&&e.preventDefault()},style:{position:`fixed`,inset:0,zIndex:2147483647,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:16,background:`rgba(0,0,0,.55)`,overflow:`auto`,overscrollBehavior:`contain`,WebkitOverflowScrolling:`touch`,pointerEvents:`auto`},children:(0,K.jsxs)(`aside`,{className:`sp-breathproof sp-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`bp-title`,onClick:e=>e.stopPropagation(),tabIndex:-1,style:{maxHeight:`calc(100dvh - 32px)`,overflowY:`auto`,overflowX:`hidden`,WebkitOverflowScrolling:`touch`,outline:`none`,boxSizing:`border-box`,width:`100%`,maxWidth:`min(960px, calc(100vw - 32px))`,margin:`0 auto`,padding:16,borderRadius:16,background:`linear-gradient(180deg, rgba(10,14,15,.92), rgba(6,10,12,.82))`,boxShadow:`0 1px 0 rgba(255,255,255,.06) inset, 0 24px 80px rgba(0,0,0,.55)`,pointerEvents:`auto`},children:[(0,K.jsx)(`button`,{type:`button`,className:`sp-breathproof__close`,"aria-label":`Close`,onClick:()=>It(!1),style:{position:`sticky`,top:-8,marginLeft:`auto`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:36,height:36,borderRadius:999,border:`1px solid var(--sp-border, #ffffff22)`,background:`var(--sp-glass, rgba(12,18,20,.55))`,backdropFilter:`blur(6px)`,cursor:`pointer`},children:`×`}),(0,K.jsx)(`h3`,{id:`bp-title`,style:{marginTop:-40,marginBottom:10,wordBreak:`break-word`},children:`Proof•of•Breath™`}),`One breath. One pulse. One truth. Sealed by breath. Stamped in Kairos. Identity, memory, and value — harmonikally verified at the exakt Kairos moment.`,(0,K.jsx)(`div`,{className:`auth-badge`,title:`Comparison to payload`,style:{position:`relative`,boxSizing:`border-box`,width:`100%`,maxWidth:`100%`,minWidth:0,padding:10,borderRadius:16,background:`linear-gradient(180deg, rgba(10,14,15,.85), rgba(8,12,14,.65)) padding-box, conic-gradient(from 180deg at 50% 50%, #FFD76E, #00FFC6, #8AB4FF, #FFD76E) border-box`,border:`1px solid transparent`,backgroundClip:`padding-box, border-box`,boxShadow:`0 1px 0 rgba(255,255,255,.08) inset, 0 0 1px 1px rgba(0,255,198,.18), 0 12px 40px rgba(0,0,0,.45), 0 0 32px rgba(0,255,198,.15)`,color:`#E7FFF7`,textTransform:`uppercase`,letterSpacing:`0.12em`,fontWeight:800,fontSize:`clamp(10px, 3.2vw, 12.5px)`,lineHeight:1.25,backdropFilter:`blur(10px) saturate(140%)`,WebkitBackdropFilter:`blur(10px) saturate(140%)`,overflow:`hidden`},children:(0,K.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(210px, 1fr))`,gap:10,width:`100%`,maxWidth:`100%`,minWidth:0},children:[(0,K.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr auto`,alignItems:`center`,gap:8,padding:`10px 12px`,borderRadius:999,background:`linear-gradient(180deg, rgba(7,30,26,.85), rgba(6,18,20,.75))`,border:`1px solid rgba(255,255,255,.16)`,boxShadow:`inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.35)`,minWidth:0},children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,style:{width:28,height:28,borderRadius:`50%`,display:`grid`,placeItems:`center`,background:`radial-gradient(closest-side, rgba(255,255,255,.9), rgba(255,255,255,.35) 60%, rgba(255,255,255,0) 61%), conic-gradient(#00FFC6, #FFD76E, #8AB4FF, #00FFC6)`,boxShadow:`0 0 0 2px rgba(255,255,255,.25), 0 4px 18px rgba(0,255,198,.35), inset 0 0 10px rgba(255,255,255,.35)`,color:`#061012`,fontSize:16,fontWeight:900},children:`Σ`}),(0,K.jsx)(`span`,{style:{opacity:.9,whiteSpace:`nowrap`},children:`KAI MATCH:`}),(0,K.jsx)(`strong`,{style:{justifySelf:`end`,padding:`2px 10px`,borderRadius:999,fontSize:`clamp(10px, 3vw, 12px)`,letterSpacing:`0.08em`,background:Lt.matches.sigma?`linear-gradient(180deg, #00FFC6, #00C2AA)`:`linear-gradient(180deg, #FF5F7A, #C2143F)`,color:`#061012`,boxShadow:Lt.matches.sigma?`0 0 0 1px rgba(0,255,198,.45) inset, 0 0 22px rgba(0,255,198,.35)`:`0 0 0 1px rgba(255,95,122,.45) inset, 0 0 22px rgba(255,95,122,.35)`,border:`1px solid rgba(255,255,255,.15)`,whiteSpace:`nowrap`},children:Lt.matches.sigma?`YES`:`NO`})]}),(0,K.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr auto`,alignItems:`center`,gap:8,padding:`10px 12px`,borderRadius:999,background:`linear-gradient(180deg, rgba(7,30,26,.85), rgba(6,18,20,.75))`,border:`1px solid rgba(255,255,255,.16)`,boxShadow:`inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.35)`,minWidth:0},children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,style:{width:28,height:28,borderRadius:`50%`,display:`grid`,placeItems:`center`,background:`radial-gradient(closest-side, rgba(255,255,255,.9), rgba(255,255,255,.35) 60%, rgba(255,255,255,0) 61%), conic-gradient(#00FFC6, #FFD76E, #8AB4FF, #00FFC6)`,boxShadow:`0 0 0 2px rgba(255,255,255,.25), 0 4px 18px rgba(0,255,198,.35), inset 0 0 10px rgba(255,255,255,.35)`,color:`#061012`,fontSize:16,fontWeight:900},children:`Φ`}),(0,K.jsx)(`span`,{style:{opacity:.9,whiteSpace:`nowrap`},children:`PHI MATCH:`}),(0,K.jsx)(`strong`,{style:{justifySelf:`end`,padding:`2px 10px`,borderRadius:999,fontSize:`clamp(10px, 3vw, 12px)`,letterSpacing:`0.08em`,background:Lt.matches.phi?`linear-gradient(180deg, #00FFC6, #00C2AA)`:`linear-gradient(180deg, #FF5F7A, #C2143F)`,color:`#061012`,boxShadow:Lt.matches.phi?`0 0 0 1px rgba(0,255,198,.45) inset, 0 0 22px rgba(0,255,198,.35)`:`0 0 0 1px rgba(255,95,122,.45) inset, 0 0 22px rgba(255,95,122,.35)`,border:`1px solid rgba(255,255,255,.15)`,whiteSpace:`nowrap`},children:Lt.matches.phi?`YES`:`NO`})]})]})}),(0,K.jsx)(`div`,{style:{marginTop:12,wordBreak:`break-word`},children:`The world’s first self-verifying harmonik Kurrensy. Bound by breath. Ankored in Kairos. Forged by pulse.`}),(0,K.jsxs)(`div`,{className:`verifier-cta`,role:`group`,"aria-label":`Offline verifier actions`,style:eE,children:[(0,K.jsxs)(`button`,{type:`button`,className:`verifier-btn`,onClick:()=>hn(`verifier.html`),"aria-label":`Open Offline Verifier`,children:[(0,K.jsx)(`span`,{className:`icon`,"aria-hidden":`true`}),(0,K.jsxs)(`span`,{className:`label`,children:[`Open `,(0,K.jsx)(`em`,{children:`Offline Verifier`}),(0,K.jsx)(`small`,{children:`No network • Σ → sha256 → Φ in-browser`})]})]}),(0,K.jsxs)(`button`,{type:`button`,className:`verifier-btn verifier-btn--ghost`,onClick:gn,"aria-label":`Download verifier.html`,children:[(0,K.jsx)(`span`,{className:`icon dl`,"aria-hidden":`true`}),(0,K.jsxs)(`span`,{className:`label`,children:[`Download `,(0,K.jsx)(`em`,{children:`verifier.html`}),(0,K.jsx)(`small`,{children:`Single file • Keep forever • Offline`})]})]})]}),(0,K.jsxs)(`dl`,{className:`kv`,children:[(0,K.jsx)(`dt`,{children:`Pulse`}),(0,K.jsx)(`dd`,{children:Lt.pulse}),(0,K.jsx)(`dt`,{children:`Beat`}),(0,K.jsx)(`dd`,{children:Lt.beat}),(0,K.jsx)(`dt`,{children:`Step`}),(0,K.jsxs)(`dd`,{children:[Lt.stepIndex,`/`,Lt.stepsPerBeat]}),(0,K.jsx)(`dt`,{children:`Spiral`}),(0,K.jsx)(`dd`,{children:Lt.chakraDay}),(0,K.jsx)(`dt`,{children:`Intention`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{children:Lt.intention??`—`})}),(0,K.jsx)(`dt`,{children:`Σ string`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.sigmaString})}),(0,K.jsx)(`dt`,{children:`sha256(Σ)`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.sigmaHash})}),(0,K.jsx)(`dt`,{children:`Φ (derived)`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.derivedPhiKey})}),Lt.payloadKaiSignature&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`dt`,{children:`SVG kaiSignature`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.payloadKaiSignature})})]}),Lt.payloadUserPhiKey&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`dt`,{children:`SVG userPhiKey`}),(0,K.jsx)(`dd`,{children:(0,K.jsx)(`code`,{className:`wrap`,children:Lt.payloadUserPhiKey})})]})]}),(0,K.jsxs)(`div`,{className:`sp-breathproof__actions`,style:{display:`flex`,flexWrap:`wrap`,gap:8},children:[(0,K.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.sigmaString,`Σ string copied`),children:`Remember Σ string`}),(0,K.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.sigmaHash,`sha256(Σ) copied`),children:`Remember sha256(Σ)`}),(0,K.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.derivedPhiKey,`Derived Φ copied`),children:`Remember Φ`}),(0,K.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(JSON.stringify({pulse:Lt.pulse,beat:Lt.beat,stepsPerBeat:Lt.stepsPerBeat,stepIndex:Lt.stepIndex,chakraDay:Lt.chakraDay,intention:Lt.intention,sigmaString:Lt.sigmaString,sigmaHash:Lt.sigmaHash,derivedPhiKey:Lt.derivedPhiKey,payloadKaiSignature:Lt.payloadKaiSignature,payloadUserPhiKey:Lt.payloadUserPhiKey,matches:Lt.matches},null,2),`Breath proof JSON copied`),children:`Remember JSON`})]})]})}),document.body),(vn?.debits?.length??0)>0&&(0,K.jsxs)(`div`,{className:`sp-card sp-debits`,role:`region`,"aria-label":`Debit summary and ledger`,children:[(0,K.jsxs)(`div`,{className:`sp-debits__summary`,children:[(0,K.jsxs)(`div`,{className:`auth-badge auth-badge--debited`,children:[`Exhaled Φ: `,(0,K.jsx)(`strong`,{children:TC(yn)})]}),(0,K.jsxs)(`div`,{className:`auth-badge auth-badge--available`,children:[`Available Φ: `,(0,K.jsx)(`strong`,{children:TC(bn)})]})]}),(0,K.jsx)(`h3`,{children:`Resonanse Stream`}),(0,K.jsx)(`ul`,{className:`sp-debits__list`,children:(vn?.debits??[]).map(e=>(0,K.jsxs)(`li`,{className:`sp-debits__item`,children:[(0,K.jsxs)(`span`,{className:`sp-debits__who`,children:[`Exhale `,TC(e.amount),` Φ to`,` `,(0,K.jsxs)(`abbr`,{title:e.recipientPhiKey,children:[(e.recipientPhiKey||``).slice(0,12),`…`]})]}),(0,K.jsxs)(`span`,{className:`sp-debits__amt`,children:[TC(e.amount),` Φ`]}),(0,K.jsxs)(`span`,{className:`sp-debits__meta`,children:[`Pulse `,e.timestamp]})]},e.nonce))})]}),(Wn.length>0||On.length>0)&&(0,K.jsxs)(`div`,{className:`sp-card sp-lineage`,role:`region`,"aria-label":`Lineage`,children:[Wn.length>0&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`h3`,{className:`sp-lineage__title`,children:`Ansestry Path`}),(0,K.jsx)(`ol`,{className:`sp-lineage__path`,"aria-label":`Ancestor lineage path`,children:Wn.map((e,t)=>(0,K.jsxs)(`li`,{className:`sp-lineage__node`,children:[(0,K.jsx)(`span`,{className:`sp-lineage__badge`,title:`Depth ${e.depth}`,children:e.depth}),(0,K.jsxs)(`code`,{className:`sp-lineage__token`,title:`Token ${e.token}`,children:[e.token.slice(0,10),`…`]}),(0,K.jsxs)(`span`,{className:`sp-lineage__meta`,children:[TC(e.amount),` Φ • Pulse `,e.timestamp,e.senderPhiKey?(0,K.jsxs)(K.Fragment,{children:[` • from `,(0,K.jsxs)(`abbr`,{title:e.senderPhiKey,children:[e.senderPhiKey.slice(0,10),`…`]})]}):null]})]},`${e.token}-${t}`))})]}),On.length>0&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`h3`,{className:`sp-lineage__title`,children:`Exhaled From This Breath`}),(0,K.jsx)(`ul`,{className:`sp-lineage__desc`,"aria-label":`Direct descendants minted here`,children:On.slice().sort((e,t)=>(e.timestamp||0)-(t.timestamp||0)).map(e=>(0,K.jsx)(`li`,{className:`sp-lineage__desc-item`,children:(0,K.jsxs)(`div`,{className:`row`,children:[(0,K.jsxs)(`span`,{className:`who`,children:[`Derivative `,(0,K.jsxs)(`code`,{title:e.token,children:[e.token.slice(0,10),`…`]}),` → `,TC(e.amount),` Φ`,e.recipientPhiKey?(0,K.jsxs)(K.Fragment,{children:[` to `,(0,K.jsxs)(`abbr`,{title:e.recipientPhiKey,children:[e.recipientPhiKey.slice(0,10),`…`]})]}):null]}),(0,K.jsxs)(`span`,{className:`meta`,children:[`Pulse `,e.timestamp]})]})},e.token))})]})]}),(0,K.jsx)(je,{hasPayload:!!V,showError:rn,expired:!!wt,exporting:pe,posterExporting:he,isFutureSealed:Et,isArchived:sn,claimPress:en,stargatePress:Kt,posterPress:zt,sendAmount:Nn,setSendAmount:Pn,onSend:Fn,sendBusy:Ee,ownerVerified:cn}),V?.provenance&&V.provenance.length>0&&(0,K.jsx)(rt,{entries:V.provenance,steps:Ot}),(0,K.jsx)(`p`,{className:`sp-fine`,children:`Determinate sigil-glyph; the hash mirrors the law-true payload. All Origin and Stewardship are embedded in the Φkey metadata. Sovereign. End-to-end.`}),(0,K.jsx)(DS,{isArchived:sn,ownerVerified:cn,ownershipMsg:C,onVerifyOwnershipFile:$t}),(0,K.jsxs)(`div`,{className:`owner-gated`,children:[cn&&(0,K.jsxs)(`div`,{className:`sp-card`,style:{padding:16,margin:`8px 0 16px`},children:[(0,K.jsx)(`h3`,{style:{marginTop:0},children:`Exhale Φ`}),(0,K.jsxs)(`div`,{className:`auth-badge auth-badge--checking`,style:{marginBottom:12},children:[`Available Φ:\xA0`,(0,K.jsx)(`strong`,{children:TC(bn)})]}),(0,K.jsxs)(`div`,{className:`owner-grid`,style:{display:`grid`,gridTemplateColumns:`minmax(120px,180px) minmax(120px,160px) minmax(120px,160px)`,gap:12,alignItems:`center`},children:[(0,K.jsx)(`input`,{id:`send-amount`,name:`send-amount`,type:`number`,inputMode:`decimal`,enterKeyHint:`done`,step:`0.000001`,min:0,placeholder:`Amount`,value:Nn,onChange:e=>{let t=e.currentTarget.value.replace(/,/g,`.`),n=parseFloat(t);Pn(Number.isFinite(n)&&n>=0?n:0)},onWheel:e=>e.currentTarget.blur(),className:`btn-ghost`,style:{padding:10},"aria-label":`Amount of Φ to send`,autoComplete:`off`,spellCheck:!1}),(0,K.jsx)(`input`,{id:`claim-window`,name:`claim-window`,type:`number`,inputMode:`numeric`,enterKeyHint:`done`,min:1,step:1,placeholder:`Claim window`,value:Ce,onChange:e=>we(Math.max(1,Math.floor(Number(e.currentTarget.value)||0))),onWheel:e=>e.currentTarget.blur(),className:`btn-ghost`,style:{padding:10},"aria-label":`Inhale Step amount`,title:`How long the resipient has to inhale`,autoComplete:`off`,spellCheck:!1}),(0,K.jsxs)(`select`,{value:xe,onChange:e=>Se(e.currentTarget.value),className:`btn-ghost`,style:{padding:10},"aria-label":`Inhale time unit`,title:`Breaths or steps`,children:[(0,K.jsx)(`option`,{value:`breaths`,children:`breaths`}),(0,K.jsx)(`option`,{value:`steps`,children:`steps`})]})]}),(0,K.jsxs)(`div`,{className:`owner-actions`,style:{marginTop:12,display:`flex`,gap:12,alignItems:`center`},children:[(0,K.jsx)(`button`,{type:`button`,className:`btn-primary`,onClick:Fn,disabled:!Number.isFinite(Nn)||Nn<=0||Nn>bn||Ee,"aria-label":`Exhale Φ now`,title:Ee?`Exhale in progress…`:`Exhale Φ now`,children:`💨`}),(0,K.jsxs)(`div`,{style:{opacity:.85},children:[`Logs to the resonanse stream, updates the Sigil-Glyph, & exhales a derivative Φkey with a inhale time of `,(0,K.jsx)(`strong`,{children:Ce}),` `,xe,`.`]})]})]}),(0,K.jsx)(`section`,{className:`sigil-tools`}),(0,K.jsx)(_t,{isArchived:sn,ownerVerified:cn,onAttachFile:Xt,attachment:W,payloadAttachment:V?.attachment,derivedOwnerPhiKey:un,derivedKaiSig:fn,expiryUnit:xe,setExpiryUnit:Se,expiryAmount:Ce,setExpiryAmount:we,onSealPress:{onPointerUp:e=>{e.pointerType&&e.pointerType!==`mouse`&&mn(e)},onClick:e=>mn(e)},payload:V,localHash:J,isFutureSealed:Et})]}),(0,K.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:k})]})}),(0,K.jsx)(SS,{open:Bt&&!!Ht,src:Ht,onClose:Gt,closePress:qt}),(0,K.jsx)(R,{open:Le,url:ze,hash:Ve,onClose:Gn,onDownloadZip:()=>{en.onClick?.(new MouseEvent(`click`))}}),(0,K.jsx)(PS,{open:Me&&ln&&!Pe,onClose:()=>Ne(!1),legacyHash:r,modernHash:J,currentPayload:V,onVerified:e=>{H(e)},onGenerateLink:async e=>{let t=Qt(e,(J||e.canonicalHash||``).toLowerCase(),!0);return t&&(Ie(),Ne(!1)),t}})]})}export{vE as default}; \ No newline at end of file diff --git a/dist/assets/SigilStreamRoot-Bp7fJbYV.js b/dist/assets/SigilStreamRoot-Bp7fJbYV.js deleted file mode 100644 index af72f807f..000000000 --- a/dist/assets/SigilStreamRoot-Bp7fJbYV.js +++ /dev/null @@ -1 +0,0 @@ -import"./EternalKlock-CYb1m8Lr.js";import"./SigilModal-rnEJVojR.js";import"./SealMomentModal-DGtbCn7A.js";import"./webauthnKAS-CfTQ1nee.js";import"./SigilAuthContext-DxAUceu4.js";import"./ticker-DSh75-xJ.js";import"./SigilAuthProvider-DC455823.js";import{n as e,t}from"./SigilStreamRoot-MzG88CIn.js";import"./useFastPress-H10Mu0X8.js";export{t as SigilStreamRoot,e as default}; \ No newline at end of file diff --git a/dist/assets/SigilStreamRoot-MzG88CIn.js b/dist/assets/SigilStreamRoot-DZfIDSg7.js similarity index 99% rename from dist/assets/SigilStreamRoot-MzG88CIn.js rename to dist/assets/SigilStreamRoot-DZfIDSg7.js index 0f0c5bc9d..4e2a69682 100644 --- a/dist/assets/SigilStreamRoot-MzG88CIn.js +++ b/dist/assets/SigilStreamRoot-DZfIDSg7.js @@ -1,5 +1,5 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/postSeal-D9h0fyi2.js","assets/postSeal-DGeRGc3h.js"])))=>i.map(i=>d[i]); -import{$n as e,$r as t,Ar as n,Fr as r,Gn as i,Hr as a,Ir as o,Jn as s,Jr as c,Kn as l,Kr as u,On as d,Or as f,Q as p,Vt as m,Wn as h,Xr as ee,Yn as te,Zn as ne,ai as g,ar as _,ei as v,er as y,fr as b,ir as x,jr as S,lr as C,nr as w,pi as T,qn as E,qr as D,ri as O,rr as k,si as re,sr as ie,ti as ae,zr as A}from"./index-BfXtjgZ1.js";import{n as j}from"./EternalKlock-CYb1m8Lr.js";import{n as oe}from"./SigilAuthContext-DxAUceu4.js";import{a as se,c as ce,d as le,i as ue,l as de,n as fe,o as M,r as pe,s as N,t as P,u as F}from"./ticker-DSh75-xJ.js";import{t as I}from"./SigilAuthProvider-DC455823.js";import{t as me}from"./useFastPress-H10Mu0X8.js";var L=T(re(),1);const he=(0,L.createContext)(null);function ge(){let e=(0,L.useContext)(he);if(!e)throw Error(`useToasts() must be used within `);return e}var R=T(m(),1);function _e({children:e}){let[t,n]=(0,L.useState)([]),r=(0,L.useRef)(new Map),i=(0,L.useRef)(1),a=(0,L.useCallback)(e=>{let t=r.current.get(e);typeof t==`number`&&(window.clearTimeout(t),r.current.delete(e))},[]),o=(0,L.useCallback)(e=>{a(e),n(t=>t.filter(t=>t.id!==e))},[a]),s=(0,L.useCallback)((e,t)=>{let s=i.current++;n(n=>{let r=[{id:s,kind:e,text:t},...n],i=r.slice(0,3),o=r.slice(3);for(let e of o)a(e.id);return i});let c=window.setTimeout(()=>o(s),2600);r.current.set(s,c)},[a,o]),c=(0,L.useMemo)(()=>({push:s}),[s]);(0,L.useEffect)(()=>()=>{for(let e of r.current.values())window.clearTimeout(e);r.current.clear()},[]);let l=e=>{switch(e){case`success`:return`rgba(16,28,22,.88)`;case`warn`:return`rgba(28,24,12,.88)`;case`error`:return`rgba(36,16,16,.88)`;case`info`:default:return`rgba(12,18,28,.88)`}};return(0,R.jsxs)(he.Provider,{value:c,children:[e,(0,R.jsx)(`div`,{"aria-live":`polite`,"aria-atomic":`false`,style:{position:`fixed`,left:0,right:0,bottom:0,padding:`8px 12px`,display:`grid`,gap:8,zIndex:1e3,pointerEvents:`none`},children:t.map(e=>(0,R.jsx)(`div`,{role:`status`,style:{pointerEvents:`auto`,marginInline:`auto`,maxWidth:`min(720px, 100%)`,width:`100%`,background:l(e.kind),border:`1px solid rgba(255,255,255,.12)`,borderRadius:12,padding:`10px 12px`,color:`rgb(236,241,251)`,boxShadow:`0 8px 28px rgba(0,0,0,.35)`,backdropFilter:`blur(6px)`,fontVariantNumeric:`tabular-nums`},children:e.text},e.id))})]})}var ve=_e;async function ye(){try{let e=await fetch(`/links.json`,{cache:`no-store`});if(!e.ok||!(e.headers.get(`content-type`)??``).toLowerCase().includes(`application/json`))return[];let t=await e.text(),n=JSON.parse(t);if(!Array.isArray(n))return[];let r=[];for(let e of n)M(e)&&typeof e.url==`string`&&e.url.trim().length&&r.push({url:e.url});return r}catch(e){return F(`loadLinksJson`,e),[]}}const be=`sf-links`;function xe(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)&&t.every(e=>typeof e==`string`)?t:[]}catch(e){return F(`parseStringArray`,e),[]}}function z(e){try{if(typeof window>`u`)return;let t=xe(localStorage.getItem(be)),n=e.filter(e=>typeof e==`string`&&e.trim().length);if(n.length===0)return;let r=new Set(t),i=n.filter(e=>!r.has(e));if(i.length===0)return;let a=[...i,...t];localStorage.setItem(be,JSON.stringify(a))}catch(e){F(`prependUniqueToStorage`,e)}}const Se=(()=>{try{return((typeof window<`u`?window.__PSHORT__:void 0)?.trim()||(void 0)?.trim()||``).replace(/\s+/g,``)}catch(e){return F(`Resolve PSHORT`,e),``}})();function B(){try{if(Se)return new URL(`/`,Se)}catch(e){F(`Invalid PSHORT`,e)}let e=typeof window<`u`?window.location.href:`https://example.com`;return new URL(`/`,e)}function V(){let e=typeof window<`u`?window.location.href:`https://example.com`;return new URL(`/`,e)}function H(e){try{let t=new URL(e);if(!(t.protocol===`https:`||t.protocol===`http:`))return!1;let n=t.pathname;if(n.startsWith(`/stream/p/`)||n.startsWith(`/p~`)&&n.length>3)return!0;if(n===`/p`){let e=t.hash.includes(`t=`),n=t.searchParams.has(`t`);return e||n}return t.search.includes(`p=`)}catch{return!1}}function U(e){try{let t=B(),n=new URL(e,t),r=V();if(n.pathname.startsWith(`/p~`)&&n.pathname.length>3){r.pathname=`/stream/p/${n.pathname.slice(3)}`;let e=n.searchParams.get(`add`)||(n.hash.startsWith(`#add=`)?new URLSearchParams(n.hash.slice(1)).get(`add`):null);return e&&r.searchParams.set(`add`,W(e)),r.toString()}if(n.pathname===`/p`){let t=n.hash.startsWith(`#`)?n.hash.slice(1):n.hash,i=new URLSearchParams(t),a=i.get(`t`),o=n.searchParams.get(`t`),s=a||o;if(!s)return e;r.pathname=`/stream/p/${s}`;let c=i.get(`add`),l=n.searchParams.get(`add`),u=c||l;return u&&r.searchParams.set(`add`,W(u)),r.toString()}return e}catch(t){return F(`expandShortAliasToCanonical`,t),e}}function W(e){let t=e.trim();if(!t)return t;try{if(t.startsWith(`/p~`))return U(`${B().origin}${t}`);if(t.startsWith(`/p#t=`)||t.startsWith(`#t=`)||t.includes(`/p?t=`))return U(t.startsWith(`#t=`)?`${B().origin}/p${t}`:t.startsWith(`/p`)?`${B().origin}${t}`:t);if(N(t)){let e=new URL(t);return e.pathname===`/p`||e.pathname.startsWith(`/p~`)?U(t):t}return t}catch(e){return F(`normalizeAddParam`,e),t}}function Ce(e){let t=V();return t.pathname=`/stream/p/${e}`.replace(/\/{2,}/g,`/`),t.search=``,t.hash=``,t.toString()}function we(e){let t=e.trim();if(t.startsWith(`#`)&&(t=t.slice(1)),t.length===3&&(t=t.split(``).map(e=>e+e).join(``)),t.length!==6)return null;let n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}var Te=(e,t=0,n=255)=>Math.max(t,Math.min(n,e));function Ee(e,t,n){return[Te(e[0]+(t[0]-e[0])*n),Te(e[1]+(t[1]-e[1])*n),Te(e[2]+(t[2]-e[2])*n)]}var De=e=>`${e[0]}, ${e[1]}, ${e[2]}`,Oe={root:`#FF3B3B`,sacral:`#FF8A33`,solar:`#FFD60A`,heart:`#22C55E`,throat:`#0EA5E9`,thirdEye:`#6366F1`,crown:`#C084FC`},ke=`crown`;function Ae(e){if(e==null)return null;let t;return t=typeof e==`number`?[`root`,`sacral`,`solar`,`heart`,`throat`,`thirdEye`,`crown`][Math.min(7,Math.max(1,e))-1]:e===`krown`?ke:e,we(Oe[t]??Oe.crown)}function je(e){let t=Ae(e);if(!t)return null;let n=[255,255,255],r=[255,215,128],i=Ee(t,n,.28),a=Ee(t,r,.42);return{s1:De(t),s2:De(i),s3:De(a)}}var Me={s1:`154, 230, 255`,s2:`196, 181, 253`,s3:`255, 215, 128`};function Ne(e,t){let n=je(e);if(n)return n;if(t?.primary){let e=we(t.primary)??we(`#9AE6FF`),n=t.secondary?we(t.secondary)??e:Ee(e,[255,255,255],.28),r=[255,215,128],i=t.accent?we(t.accent)??r:Ee(e,r,.45);return{s1:De(e),s2:De(n),s3:De(i)}}return Me}function Pe(e){if(!e)return;let t=e.trim();if(t)return t.startsWith(`@`),t}function Fe({username:e,phiKey:t,kaiSignature:n,sigilColors:r,chakra:i}){let a=Ne(i,r),o=Pe(e),s={"--sigil-1":a.s1,"--sigil-2":a.s2,"--sigil-3":a.s3},c=!o&&!t&&!n;return(0,R.jsx)(`div`,{className:`sf-identity`,style:s,...c?{"data-empty":``}:{},children:(0,R.jsxs)(`div`,{className:`sf-reply-id`,style:{rowGap:`.4rem`,columnGap:`.4rem`,display:`flex`,flexWrap:`wrap`},"aria-label":c?`No identity loaded`:`Identity chips`,children:[c&&(0,R.jsx)(`span`,{className:`sf-muted`,children:`No identity loaded this session.`}),o&&(0,R.jsxs)(`span`,{className:`sf-pill sf-pill--user`,title:`Username (session)`,children:[(0,R.jsx)(`strong`,{className:`sf-pill__label`,children:`User`}),`\xA0`,(0,R.jsx)(`span`,{className:`sf-key`,children:o})]}),t&&(0,R.jsxs)(`span`,{className:`sf-pill sf-pill--phikey`,title:`Your ΦKey (session)`,children:[(0,R.jsx)(`strong`,{className:`sf-pill__label`,children:`ΦKey`}),`\xA0`,(0,R.jsx)(`span`,{className:`sf-key`,children:t})]}),n&&(0,R.jsxs)(`span`,{className:`sf-pill sf-pill--ksig`,title:`Kai Signature (session)`,children:[(0,R.jsx)(`strong`,{className:`sf-pill__label`,children:`ΣSig`}),`\xA0`,(0,R.jsx)(`span`,{className:`sf-key`,children:n})]})]})})}var Ie=[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`url`,`link`,`href`];function Le(e){if(!e||!M(e))return[];let t=[],n=new Set;for(let r of Ie){let i=de(e,r);if(typeof i!=`string`)continue;let a=i.trim();a&&(n.has(a)||(n.add(a),t.push(a)))}return t}function Re(e){if(!e)return[];try{let t=e.match(/https?:\/\/[^\s"'<>)#]+/gi)??[],n=[],r=new Set;for(let e of t){let t=(e??``).trim();t&&(r.has(t)||(r.add(t),n.push(t)))}return n}catch{return[]}}function ze(e){return/^https?:\/\//i.test((e??``).trim())}function Be(e){try{return new URL(e)}catch{return null}}function Ve(e){let t=(e??``).trim();if(!t)return``;let n=t;n=n.replace(/\/stream\/v=/gi,`/stream/t=`),n=n.replace(/\/stream\/v\//gi,`/stream/t/`),n=n.replace(/\/stream\/v(\?|&|#)/gi,`/stream/t$1`),n=n.replace(/([?&#])v=/gi,`$1t=`);let r=Be(n);if(!r)return n.replace(/([?&#])v=/gi,`$1t=`);let i=r.searchParams,a=(i.get(`t`)??``).trim().length>0,o=(i.get(`v`)??``).trim();if(!a&&o&&i.set(`t`,o),i.delete(`v`),(i.get(`t`)??``).trim().length>0&&i.delete(`p`),r.hash&&r.hash.length>1){let e=r.hash.startsWith(`#`)?r.hash.slice(1):r.hash;if(e.includes(`=`)&&!e.startsWith(`/`)){let t=e.split(`&`).filter(Boolean),n=[],i=!1;for(let e of t){let t=e.indexOf(`=`);if(t<=0){n.push(e);continue}let r=e.slice(0,t),a=e.slice(t+1),o=r.toLowerCase();if(o===`v`){!i&&a.trim().length&&(n.push(`t=${a}`),i=!0);continue}o===`t`&&(i=!0),n.push(e)}if(i){let e=[];for(let t of n){let n=t.indexOf(`=`);(n>0?t.slice(0,n).toLowerCase():``)!==`p`&&e.push(t)}r.hash=e.length?`#${e.join(`&`)}`:``}else r.hash=n.length?`#${n.join(`&`)}`:``}else r.hash=r.hash.replace(/([?&#])v=/gi,`$1t=`)}return r.toString()}function He(e){let t=(e??``).trim();if(!t)return-1;let n=t.toLowerCase(),r=0;return(/[?&#]v=/.test(n)||n.includes(`/stream/v`))&&(r-=1e4),(/[?&#]t=/.test(n)||n.includes(`/stream/t`)||n.includes(`stream/t=`))&&(r+=500),(/[?&#]p=/.test(n)||n.includes(`/stream/p`)||n.includes(`stream/p=`))&&(r+=280),H(t)&&(r+=160),n.startsWith(`https://`)?r+=20:n.startsWith(`http://`)&&(r+=10),r+=Math.max(0,120-Math.min(120,Math.floor(t.length/6))),r}function Ue(e){let t=``,n=-1;for(let r of e){let e=Ve(r),i=He(e);i>n&&(n=i,t=e)}return t}async function We(e){let t=e??``;if(!t)return!1;try{if(typeof navigator<`u`&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{let e=document.createElement(`textarea`);e.value=t,e.setAttribute(`readonly`,`true`),e.style.position=`fixed`,e.style.left=`-9999px`,e.style.top=`-9999px`,document.body.appendChild(e),e.select(),e.setSelectionRange(0,e.value.length);let n=document.execCommand(`copy`);return document.body.removeChild(e),n}catch{return!1}}function Ge({value:e,isCanonical:t}){let n=(0,L.useMemo)(()=>Be(e),[e]),r=(0,L.useMemo)(()=>ze(e)?e:``,[e]),[i,a]=(0,L.useState)(!1),[o,s]=(0,L.useState)(!1),c=(0,L.useRef)(null);(0,L.useEffect)(()=>()=>{c.current&&window.clearTimeout(c.current)},[]);let l=(0,L.useCallback)(e=>{c.current&&window.clearTimeout(c.current),a(e),s(!e),c.current=window.setTimeout(()=>{a(!1),s(!1),c.current=null},1400)},[]),u=(0,L.useCallback)(async()=>{l(await We(e))},[l,e]),d=(0,L.useCallback)(e=>{let t=e.currentTarget;try{t.focus(),t.select(),t.setSelectionRange(0,t.value.length)}catch{}},[]),f=n?.host??``,p=n?`${n.hostname}${n.pathname}${n.search}${n.hash}`.replace(/\/{2,}/g,`/`):e;return(0,R.jsxs)(`div`,{className:`sf-reply-row sf-actionurl`,children:[(0,R.jsxs)(`div`,{className:`sf-actionurl__head`,children:[(0,R.jsxs)(`label`,{className:`sf-label sf-actionurl__label`,children:[`Proof of Breath™ `,(0,R.jsx)(`span`,{className:`sf-muted`,children:`(Sigil-Glyph)`})]}),(0,R.jsx)(`span`,{className:`sf-actionurl__pill ${t?`is-ok`:`is-warn`}`,children:t?`SIGNED`:`EXTERNAL`})]}),(0,R.jsxs)(`div`,{className:`sf-actionurl__field`,children:[(0,R.jsxs)(`div`,{className:`sf-actionurl__inputWrap`,children:[(0,R.jsx)(`input`,{className:`sf-input sf-input--locked sf-actionurl__input`,type:`url`,value:e,readOnly:!0,onClick:d,onFocus:d,"aria-label":`Proof of Breath™ Sigil-Glyph`}),(0,R.jsxs)(`div`,{className:`sf-actionurl__meta`,"aria-hidden":`true`,children:[f?(0,R.jsx)(`span`,{className:`sf-actionurl__host`,children:f}):(0,R.jsx)(`span`,{className:`sf-actionurl__host`,children:`URL`}),(0,R.jsx)(`span`,{className:`sf-actionurl__dot`,children:`•`}),(0,R.jsx)(`span`,{className:`sf-actionurl__pretty`,children:p})]})]}),(0,R.jsxs)(`div`,{className:`sf-actionurl__btns`,children:[(0,R.jsx)(`button`,{type:`button`,className:`sf-actionurl__btn ${i?`is-copied`:``} ${o?`is-fail`:``}`,onClick:u,"aria-live":`polite`,children:i?`✓ Remembered`:o?`Remember failed`:`Remember`}),r?(0,R.jsx)(`a`,{className:`sf-actionurl__btn sf-actionurl__btn--link`,href:r,target:`_blank`,rel:`noreferrer noopener`,"aria-label":`Open Proof of Breath URL in a new tab`,children:`↗`}):(0,R.jsx)(`button`,{type:`button`,className:`sf-actionurl__btn sf-actionurl__btn--disabled`,disabled:!0,children:`↗`})]})]}),!t&&(0,R.jsx)(`div`,{className:`sf-warn sf-actionurl__warn`,role:`status`,children:`Not recognized as a sealed Proof of Breath™ link; fallback rules may apply.`})]})}function Ke(){return(0,R.jsxs)(`div`,{className:`sf-reply-row sf-actionurl sf-actionurl--empty`,children:[(0,R.jsxs)(`div`,{className:`sf-actionurl__head`,children:[(0,R.jsxs)(`label`,{className:`sf-label sf-actionurl__label`,children:[`Proof of Breath™ `,(0,R.jsx)(`span`,{className:`sf-muted`,children:`(Sigil-Glyph)`})]}),(0,R.jsx)(`span`,{className:`sf-actionurl__pill is-warn`,children:`MISSING`})]}),(0,R.jsx)(`div`,{className:`sf-warn sf-actionurl__warn`,role:`status`,children:`No Proof of Breath™ sigil-glyph detected; a fallback will be used.`})]})}function qe({meta:e,svgText:t}){let n=Le(e),r=Re(t),i=[...n,...r],a=i.length?Ue(i):``,o=a.length>0&&H(a);return{value:a,isCanonical:o,node:a?(0,R.jsx)(Ge,{value:a,isCanonical:o}):(0,R.jsx)(Ke,{})}}function Je(e){let t=e.trim();if(!t)return null;let n=t.replace(/^(kai|sigil):\/\//i,`https://`);try{if(N(n))return n;if(/^[a-z0-9.-]+\.[a-z]{2,}(?:\/.*)?$/i.test(n))return`https://${n}`}catch{}return null}function Ye({onAdd:e,placeholder:t=`Paste any message (https://… or domain.tld)`,title:n=`Inhale a memory`}){let r=ge(),[i,a]=(0,L.useState)(``),[o,s]=(0,L.useState)(null),c=(0,L.useCallback)(t=>{s(null);let n=Je(t);if(!n){s(`Enter a valid URL (https://… or domain.tld).`);return}e(n),a(``),r.push(`success`,`Link inhaled.`)},[e,r]),l=(0,L.useCallback)(async()=>{s(null);try{let e=(await navigator.clipboard.readText()).trim();if(!e){s(`Memory is empty.`);return}let t=Je(e);if(!t){s(`Memory does not contain a valid link.`);return}a(t),c(t)}catch{s(`Memory read is not permitted.`)}},[c]);return(0,R.jsxs)(`section`,{className:`sf-inhaler`,"aria-labelledby":`inhaler-title`,style:{marginTop:`1rem`},children:[(0,R.jsx)(`h2`,{id:`inhaler-title`,className:`sf-reply-title`,children:n}),(0,R.jsxs)(`div`,{className:`sf-reply-row`,style:{display:`grid`,gap:`.5rem`},children:[(0,R.jsx)(`input`,{className:`sf-input`,type:`url`,placeholder:t,value:i,onChange:e=>a(e.target.value),autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,inputMode:`url`,enterKeyHint:`go`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),c(i))}}),(0,R.jsxs)(`div`,{className:`sf-reply-actions`,style:{gap:`.5rem`,display:`flex`,flexWrap:`wrap`},children:[(0,R.jsx)(`button`,{className:`sf-btn`,onClick:()=>c(i),children:`Inhale`}),(0,R.jsx)(`button`,{className:`sf-btn sf-btn--ghost`,onClick:l,children:`Inhale from memory`})]}),o&&(0,R.jsx)(`div`,{className:`sf-error`,role:`alert`,children:o})]})]})}function Xe(e){try{let t=new URL(e).pathname.split(`/`).pop()||``,n=t.lastIndexOf(`.`);return n>=0?t.slice(n+1).toLowerCase():``}catch{return``}}function Ze(e){return[`png`,`jpg`,`jpeg`,`gif`,`webp`,`avif`,`bmp`].includes(e)}function Qe(e){return[`mp4`,`webm`,`ogg`,`ogv`,`mov`,`m4v`].includes(e)}function $e(e){return e===`pdf`}function et(e){try{return new URL(e).host}catch{return``}}function tt(e){try{let t=new URL(e),n=t.host,r=t.pathname||``;r===`/`&&(r=``),r.endsWith(`/`)&&r.length>1&&(r=r.slice(0,-1));let i=t.search||``;return`${n}${r}${i}`}catch{return e.replace(/^https?:\/\//i,``).replace(/\/+$/g,``)}}function nt(e){try{let t=new URL(e);if(t.hostname.includes(`youtu.be`))return t.pathname.slice(1)||null;if(t.hostname.includes(`youtube.com`)){let e=t.searchParams.get(`v`);if(e)return e;let n=t.pathname.split(`/`).filter(Boolean),r=n.indexOf(`embed`);if(r>=0&&n[r+1])return n[r+1]}return null}catch{return null}}function rt(e){try{let t=new URL(e);return t.hostname.includes(`vimeo.com`)&&t.pathname.split(`/`).filter(Boolean).find(e=>/^\d+$/.test(e))||null}catch{return null}}function it(e){try{let t=new URL(e);return t.hostname.includes(`spotify.com`)&&(t.pathname.startsWith(`/track/`)||t.pathname.startsWith(`/album/`)||t.pathname.startsWith(`/playlist/`))?`https://open.spotify.com/embed${t.pathname}${t.search}`:null}catch{return null}}function at({host:e}){return(0,R.jsx)(`img`,{className:`sf-favicon`,src:`https://${e}/favicon.ico`,alt:``,width:16,height:16,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.visibility=`hidden`}})}function ot(e){let{url:t,title:n,children:r}=e,i=et(t),a=(n&&n.trim().length?n.trim():``)||tt(t);return(0,R.jsxs)(`div`,{className:`sf-att-card`,children:[(0,R.jsx)(`div`,{className:`sf-att-head`,children:(0,R.jsxs)(`a`,{className:`sf-att-head__hit`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:t,children:[i?(0,R.jsx)(at,{host:i}):(0,R.jsx)(`span`,{className:`sf-favicon sf-favicon--blank`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`sf-att-head__text`,children:(0,R.jsx)(`div`,{className:`sf-att-head__title`,children:a})}),(0,R.jsx)(`span`,{className:`sf-att-open`,"aria-hidden":`true`,children:`↗`})]})}),r?(0,R.jsx)(`div`,{className:`sf-att-body`,children:r}):null]})}function st({src:e,title:t}){return(0,R.jsx)(`div`,{className:`sf-embed`,children:(0,R.jsx)(`iframe`,{className:`sf-embed__frame`,src:e,title:t,loading:`lazy`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowFullScreen:!0,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox`})})}function ct({url:e,title:t}){return(0,R.jsx)(ot,{url:e,title:t})}function lt({url:e,title:t}){let n=nt(e);if(n)return(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(st,{src:`https://www.youtube.com/embed/${n}`,title:t||`YouTube`})});let r=rt(e);if(r)return(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(st,{src:`https://player.vimeo.com/video/${r}`,title:t||`Vimeo`})});let i=it(e);if(i)return(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(st,{src:i,title:t||`Spotify`})});let a=Xe(e);return Ze(a)?(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(`div`,{className:`sf-media sf-media--image`,children:(0,R.jsx)(`img`,{className:`sf-media__img`,src:e,alt:t||`image`,loading:`lazy`,decoding:`async`})})}):Qe(a)?(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(`div`,{className:`sf-media sf-media--video`,children:(0,R.jsx)(`video`,{className:`sf-media__video`,src:e,controls:!0,playsInline:!0,preload:`metadata`})})}):$e(a)?(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(`div`,{className:`sf-embed sf-embed--doc`,children:(0,R.jsx)(`iframe`,{className:`sf-embed__frame`,src:e,title:t||`Document`,loading:`lazy`})})}):(0,R.jsx)(ct,{url:e,title:t})}function ut(e){let t=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),n=``;for(let r=0;r`data:${t};base64,${ft(e)}`;async function mt(e){let t=typeof crypto<`u`&&crypto.subtle||typeof window<`u`&&window.crypto&&window.crypto.webkitSubtle;if(!t)throw Error(`WebCrypto.subtle is not available in this context.`);let n=await t.digest(`SHA-256`,e);return ut(new Uint8Array(n))}async function ht(e,t=524288){let n=[],r=0,i=0;for(let a of Array.from(e)){r+=a.size;try{let e=await a.arrayBuffer(),r=await mt(e),o=a.type||`application/octet-stream`;if(a.size<=t){let t=dt(new Uint8Array(e)),s={kind:`file-inline`,name:a.name,type:o,size:a.size,sha256:r,data_b64url:t};i+=a.size,n.push(s)}else{let e={kind:`file-ref`,name:a.name,type:o,size:a.size,sha256:r};n.push(e)}}catch(e){F(`filesToManifest: read/hash failed`,e)}}return{version:1,totalBytes:r,inlinedBytes:i,items:n}}function gt({n:e}){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return(0,R.jsx)(R.Fragment,{children:`—`});let t=1024,n=t*1024,r=n*1024;return(0,R.jsx)(R.Fragment,{children:e>=r?`${(e/r).toFixed(2)} GB`:e>=n?`${(e/n).toFixed(2)} MB`:e>=t?`${(e/t).toFixed(2)} KB`:`${Math.round(e)} B`})}function _t({it:e}){let t=e.type||`application/octet-stream`,n=pt(e.data_b64url,t),r=e.name||`file`;if(t.startsWith(`image/`))return(0,R.jsxs)(`div`,{className:`sf-media sf-media--image`,children:[(0,R.jsx)(`img`,{src:n,alt:r,loading:`lazy`,decoding:`async`}),(0,R.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,R.jsx)(`span`,{children:r}),(0,R.jsx)(`span`,{children:(0,R.jsx)(gt,{n:e.size})})]}),(0,R.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});if(t.startsWith(`video/`))return(0,R.jsxs)(`div`,{className:`sf-media sf-media--video`,children:[(0,R.jsx)(`video`,{src:n,controls:!0,playsInline:!0,preload:`metadata`}),(0,R.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,R.jsx)(`span`,{children:r}),(0,R.jsx)(`span`,{children:(0,R.jsx)(gt,{n:e.size})})]}),(0,R.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});if(t.startsWith(`audio/`))return(0,R.jsxs)(`div`,{className:`sf-media sf-media--audio`,children:[(0,R.jsx)(`audio`,{src:n,controls:!0,preload:`metadata`}),(0,R.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,R.jsx)(`span`,{children:r}),(0,R.jsx)(`span`,{children:(0,R.jsx)(gt,{n:e.size})})]}),(0,R.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});let i=t.startsWith(`text/`)||[`application/json`,`application/xml`,`application/svg+xml`].includes(t),a=null;if(i)try{a=atob(e.data_b64url.replace(/-/g,`+`).replace(/_/g,`/`)).slice(0,1200)}catch{a=null}return(0,R.jsxs)(`div`,{className:`sf-file`,children:[(0,R.jsxs)(`div`,{className:`sf-file-head`,children:[(0,R.jsx)(`div`,{className:`sf-file-name`,children:e.relPath||r}),(0,R.jsx)(`div`,{className:`sf-file-size`,children:(0,R.jsx)(gt,{n:e.size})})]}),a&&(0,R.jsxs)(`pre`,{className:`sf-file-pre`,"aria-label":`${r} preview`,children:[a,a.length>=1200?` +import{$n as e,$r as t,Ar as n,Fr as r,Gn as i,Hr as a,Ir as o,Jn as s,Jr as c,Kn as l,Kr as u,On as d,Or as f,Q as p,Vt as m,Wn as h,Xr as ee,Yn as te,Zn as ne,ai as g,ar as _,ei as v,er as y,fr as b,ir as x,jr as S,lr as C,nr as w,pi as T,qn as E,qr as D,ri as O,rr as k,si as re,sr as ie,ti as ae,zr as A}from"./index-DtFxxvye.js";import{n as j}from"./EternalKlock-ExyiY2oa.js";import{n as oe}from"./SigilAuthContext-OFGaeRDv.js";import{a as se,c as ce,d as le,i as ue,l as de,n as fe,o as M,r as pe,s as N,t as P,u as F}from"./ticker-DQftO_Mf.js";import{t as I}from"./SigilAuthProvider-CXn4HNTZ.js";import{t as me}from"./useFastPress-BncuGI3m.js";var L=T(re(),1);const he=(0,L.createContext)(null);function ge(){let e=(0,L.useContext)(he);if(!e)throw Error(`useToasts() must be used within `);return e}var R=T(m(),1);function _e({children:e}){let[t,n]=(0,L.useState)([]),r=(0,L.useRef)(new Map),i=(0,L.useRef)(1),a=(0,L.useCallback)(e=>{let t=r.current.get(e);typeof t==`number`&&(window.clearTimeout(t),r.current.delete(e))},[]),o=(0,L.useCallback)(e=>{a(e),n(t=>t.filter(t=>t.id!==e))},[a]),s=(0,L.useCallback)((e,t)=>{let s=i.current++;n(n=>{let r=[{id:s,kind:e,text:t},...n],i=r.slice(0,3),o=r.slice(3);for(let e of o)a(e.id);return i});let c=window.setTimeout(()=>o(s),2600);r.current.set(s,c)},[a,o]),c=(0,L.useMemo)(()=>({push:s}),[s]);(0,L.useEffect)(()=>()=>{for(let e of r.current.values())window.clearTimeout(e);r.current.clear()},[]);let l=e=>{switch(e){case`success`:return`rgba(16,28,22,.88)`;case`warn`:return`rgba(28,24,12,.88)`;case`error`:return`rgba(36,16,16,.88)`;case`info`:default:return`rgba(12,18,28,.88)`}};return(0,R.jsxs)(he.Provider,{value:c,children:[e,(0,R.jsx)(`div`,{"aria-live":`polite`,"aria-atomic":`false`,style:{position:`fixed`,left:0,right:0,bottom:0,padding:`8px 12px`,display:`grid`,gap:8,zIndex:1e3,pointerEvents:`none`},children:t.map(e=>(0,R.jsx)(`div`,{role:`status`,style:{pointerEvents:`auto`,marginInline:`auto`,maxWidth:`min(720px, 100%)`,width:`100%`,background:l(e.kind),border:`1px solid rgba(255,255,255,.12)`,borderRadius:12,padding:`10px 12px`,color:`rgb(236,241,251)`,boxShadow:`0 8px 28px rgba(0,0,0,.35)`,backdropFilter:`blur(6px)`,fontVariantNumeric:`tabular-nums`},children:e.text},e.id))})]})}var ve=_e;async function ye(){try{let e=await fetch(`/links.json`,{cache:`no-store`});if(!e.ok||!(e.headers.get(`content-type`)??``).toLowerCase().includes(`application/json`))return[];let t=await e.text(),n=JSON.parse(t);if(!Array.isArray(n))return[];let r=[];for(let e of n)M(e)&&typeof e.url==`string`&&e.url.trim().length&&r.push({url:e.url});return r}catch(e){return F(`loadLinksJson`,e),[]}}const be=`sf-links`;function xe(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)&&t.every(e=>typeof e==`string`)?t:[]}catch(e){return F(`parseStringArray`,e),[]}}function z(e){try{if(typeof window>`u`)return;let t=xe(localStorage.getItem(be)),n=e.filter(e=>typeof e==`string`&&e.trim().length);if(n.length===0)return;let r=new Set(t),i=n.filter(e=>!r.has(e));if(i.length===0)return;let a=[...i,...t];localStorage.setItem(be,JSON.stringify(a))}catch(e){F(`prependUniqueToStorage`,e)}}const Se=(()=>{try{return((typeof window<`u`?window.__PSHORT__:void 0)?.trim()||(void 0)?.trim()||``).replace(/\s+/g,``)}catch(e){return F(`Resolve PSHORT`,e),``}})();function B(){try{if(Se)return new URL(`/`,Se)}catch(e){F(`Invalid PSHORT`,e)}let e=typeof window<`u`?window.location.href:`https://example.com`;return new URL(`/`,e)}function V(){let e=typeof window<`u`?window.location.href:`https://example.com`;return new URL(`/`,e)}function H(e){try{let t=new URL(e);if(!(t.protocol===`https:`||t.protocol===`http:`))return!1;let n=t.pathname;if(n.startsWith(`/stream/p/`)||n.startsWith(`/p~`)&&n.length>3)return!0;if(n===`/p`){let e=t.hash.includes(`t=`),n=t.searchParams.has(`t`);return e||n}return t.search.includes(`p=`)}catch{return!1}}function U(e){try{let t=B(),n=new URL(e,t),r=V();if(n.pathname.startsWith(`/p~`)&&n.pathname.length>3){r.pathname=`/stream/p/${n.pathname.slice(3)}`;let e=n.searchParams.get(`add`)||(n.hash.startsWith(`#add=`)?new URLSearchParams(n.hash.slice(1)).get(`add`):null);return e&&r.searchParams.set(`add`,W(e)),r.toString()}if(n.pathname===`/p`){let t=n.hash.startsWith(`#`)?n.hash.slice(1):n.hash,i=new URLSearchParams(t),a=i.get(`t`),o=n.searchParams.get(`t`),s=a||o;if(!s)return e;r.pathname=`/stream/p/${s}`;let c=i.get(`add`),l=n.searchParams.get(`add`),u=c||l;return u&&r.searchParams.set(`add`,W(u)),r.toString()}return e}catch(t){return F(`expandShortAliasToCanonical`,t),e}}function W(e){let t=e.trim();if(!t)return t;try{if(t.startsWith(`/p~`))return U(`${B().origin}${t}`);if(t.startsWith(`/p#t=`)||t.startsWith(`#t=`)||t.includes(`/p?t=`))return U(t.startsWith(`#t=`)?`${B().origin}/p${t}`:t.startsWith(`/p`)?`${B().origin}${t}`:t);if(N(t)){let e=new URL(t);return e.pathname===`/p`||e.pathname.startsWith(`/p~`)?U(t):t}return t}catch(e){return F(`normalizeAddParam`,e),t}}function Ce(e){let t=V();return t.pathname=`/stream/p/${e}`.replace(/\/{2,}/g,`/`),t.search=``,t.hash=``,t.toString()}function we(e){let t=e.trim();if(t.startsWith(`#`)&&(t=t.slice(1)),t.length===3&&(t=t.split(``).map(e=>e+e).join(``)),t.length!==6)return null;let n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}var Te=(e,t=0,n=255)=>Math.max(t,Math.min(n,e));function Ee(e,t,n){return[Te(e[0]+(t[0]-e[0])*n),Te(e[1]+(t[1]-e[1])*n),Te(e[2]+(t[2]-e[2])*n)]}var De=e=>`${e[0]}, ${e[1]}, ${e[2]}`,Oe={root:`#FF3B3B`,sacral:`#FF8A33`,solar:`#FFD60A`,heart:`#22C55E`,throat:`#0EA5E9`,thirdEye:`#6366F1`,crown:`#C084FC`},ke=`crown`;function Ae(e){if(e==null)return null;let t;return t=typeof e==`number`?[`root`,`sacral`,`solar`,`heart`,`throat`,`thirdEye`,`crown`][Math.min(7,Math.max(1,e))-1]:e===`krown`?ke:e,we(Oe[t]??Oe.crown)}function je(e){let t=Ae(e);if(!t)return null;let n=[255,255,255],r=[255,215,128],i=Ee(t,n,.28),a=Ee(t,r,.42);return{s1:De(t),s2:De(i),s3:De(a)}}var Me={s1:`154, 230, 255`,s2:`196, 181, 253`,s3:`255, 215, 128`};function Ne(e,t){let n=je(e);if(n)return n;if(t?.primary){let e=we(t.primary)??we(`#9AE6FF`),n=t.secondary?we(t.secondary)??e:Ee(e,[255,255,255],.28),r=[255,215,128],i=t.accent?we(t.accent)??r:Ee(e,r,.45);return{s1:De(e),s2:De(n),s3:De(i)}}return Me}function Pe(e){if(!e)return;let t=e.trim();if(t)return t.startsWith(`@`),t}function Fe({username:e,phiKey:t,kaiSignature:n,sigilColors:r,chakra:i}){let a=Ne(i,r),o=Pe(e),s={"--sigil-1":a.s1,"--sigil-2":a.s2,"--sigil-3":a.s3},c=!o&&!t&&!n;return(0,R.jsx)(`div`,{className:`sf-identity`,style:s,...c?{"data-empty":``}:{},children:(0,R.jsxs)(`div`,{className:`sf-reply-id`,style:{rowGap:`.4rem`,columnGap:`.4rem`,display:`flex`,flexWrap:`wrap`},"aria-label":c?`No identity loaded`:`Identity chips`,children:[c&&(0,R.jsx)(`span`,{className:`sf-muted`,children:`No identity loaded this session.`}),o&&(0,R.jsxs)(`span`,{className:`sf-pill sf-pill--user`,title:`Username (session)`,children:[(0,R.jsx)(`strong`,{className:`sf-pill__label`,children:`User`}),`\xA0`,(0,R.jsx)(`span`,{className:`sf-key`,children:o})]}),t&&(0,R.jsxs)(`span`,{className:`sf-pill sf-pill--phikey`,title:`Your ΦKey (session)`,children:[(0,R.jsx)(`strong`,{className:`sf-pill__label`,children:`ΦKey`}),`\xA0`,(0,R.jsx)(`span`,{className:`sf-key`,children:t})]}),n&&(0,R.jsxs)(`span`,{className:`sf-pill sf-pill--ksig`,title:`Kai Signature (session)`,children:[(0,R.jsx)(`strong`,{className:`sf-pill__label`,children:`ΣSig`}),`\xA0`,(0,R.jsx)(`span`,{className:`sf-key`,children:n})]})]})})}var Ie=[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`url`,`link`,`href`];function Le(e){if(!e||!M(e))return[];let t=[],n=new Set;for(let r of Ie){let i=de(e,r);if(typeof i!=`string`)continue;let a=i.trim();a&&(n.has(a)||(n.add(a),t.push(a)))}return t}function Re(e){if(!e)return[];try{let t=e.match(/https?:\/\/[^\s"'<>)#]+/gi)??[],n=[],r=new Set;for(let e of t){let t=(e??``).trim();t&&(r.has(t)||(r.add(t),n.push(t)))}return n}catch{return[]}}function ze(e){return/^https?:\/\//i.test((e??``).trim())}function Be(e){try{return new URL(e)}catch{return null}}function Ve(e){let t=(e??``).trim();if(!t)return``;let n=t;n=n.replace(/\/stream\/v=/gi,`/stream/t=`),n=n.replace(/\/stream\/v\//gi,`/stream/t/`),n=n.replace(/\/stream\/v(\?|&|#)/gi,`/stream/t$1`),n=n.replace(/([?&#])v=/gi,`$1t=`);let r=Be(n);if(!r)return n.replace(/([?&#])v=/gi,`$1t=`);let i=r.searchParams,a=(i.get(`t`)??``).trim().length>0,o=(i.get(`v`)??``).trim();if(!a&&o&&i.set(`t`,o),i.delete(`v`),(i.get(`t`)??``).trim().length>0&&i.delete(`p`),r.hash&&r.hash.length>1){let e=r.hash.startsWith(`#`)?r.hash.slice(1):r.hash;if(e.includes(`=`)&&!e.startsWith(`/`)){let t=e.split(`&`).filter(Boolean),n=[],i=!1;for(let e of t){let t=e.indexOf(`=`);if(t<=0){n.push(e);continue}let r=e.slice(0,t),a=e.slice(t+1),o=r.toLowerCase();if(o===`v`){!i&&a.trim().length&&(n.push(`t=${a}`),i=!0);continue}o===`t`&&(i=!0),n.push(e)}if(i){let e=[];for(let t of n){let n=t.indexOf(`=`);(n>0?t.slice(0,n).toLowerCase():``)!==`p`&&e.push(t)}r.hash=e.length?`#${e.join(`&`)}`:``}else r.hash=n.length?`#${n.join(`&`)}`:``}else r.hash=r.hash.replace(/([?&#])v=/gi,`$1t=`)}return r.toString()}function He(e){let t=(e??``).trim();if(!t)return-1;let n=t.toLowerCase(),r=0;return(/[?&#]v=/.test(n)||n.includes(`/stream/v`))&&(r-=1e4),(/[?&#]t=/.test(n)||n.includes(`/stream/t`)||n.includes(`stream/t=`))&&(r+=500),(/[?&#]p=/.test(n)||n.includes(`/stream/p`)||n.includes(`stream/p=`))&&(r+=280),H(t)&&(r+=160),n.startsWith(`https://`)?r+=20:n.startsWith(`http://`)&&(r+=10),r+=Math.max(0,120-Math.min(120,Math.floor(t.length/6))),r}function Ue(e){let t=``,n=-1;for(let r of e){let e=Ve(r),i=He(e);i>n&&(n=i,t=e)}return t}async function We(e){let t=e??``;if(!t)return!1;try{if(typeof navigator<`u`&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{let e=document.createElement(`textarea`);e.value=t,e.setAttribute(`readonly`,`true`),e.style.position=`fixed`,e.style.left=`-9999px`,e.style.top=`-9999px`,document.body.appendChild(e),e.select(),e.setSelectionRange(0,e.value.length);let n=document.execCommand(`copy`);return document.body.removeChild(e),n}catch{return!1}}function Ge({value:e,isCanonical:t}){let n=(0,L.useMemo)(()=>Be(e),[e]),r=(0,L.useMemo)(()=>ze(e)?e:``,[e]),[i,a]=(0,L.useState)(!1),[o,s]=(0,L.useState)(!1),c=(0,L.useRef)(null);(0,L.useEffect)(()=>()=>{c.current&&window.clearTimeout(c.current)},[]);let l=(0,L.useCallback)(e=>{c.current&&window.clearTimeout(c.current),a(e),s(!e),c.current=window.setTimeout(()=>{a(!1),s(!1),c.current=null},1400)},[]),u=(0,L.useCallback)(async()=>{l(await We(e))},[l,e]),d=(0,L.useCallback)(e=>{let t=e.currentTarget;try{t.focus(),t.select(),t.setSelectionRange(0,t.value.length)}catch{}},[]),f=n?.host??``,p=n?`${n.hostname}${n.pathname}${n.search}${n.hash}`.replace(/\/{2,}/g,`/`):e;return(0,R.jsxs)(`div`,{className:`sf-reply-row sf-actionurl`,children:[(0,R.jsxs)(`div`,{className:`sf-actionurl__head`,children:[(0,R.jsxs)(`label`,{className:`sf-label sf-actionurl__label`,children:[`Proof of Breath™ `,(0,R.jsx)(`span`,{className:`sf-muted`,children:`(Sigil-Glyph)`})]}),(0,R.jsx)(`span`,{className:`sf-actionurl__pill ${t?`is-ok`:`is-warn`}`,children:t?`SIGNED`:`EXTERNAL`})]}),(0,R.jsxs)(`div`,{className:`sf-actionurl__field`,children:[(0,R.jsxs)(`div`,{className:`sf-actionurl__inputWrap`,children:[(0,R.jsx)(`input`,{className:`sf-input sf-input--locked sf-actionurl__input`,type:`url`,value:e,readOnly:!0,onClick:d,onFocus:d,"aria-label":`Proof of Breath™ Sigil-Glyph`}),(0,R.jsxs)(`div`,{className:`sf-actionurl__meta`,"aria-hidden":`true`,children:[f?(0,R.jsx)(`span`,{className:`sf-actionurl__host`,children:f}):(0,R.jsx)(`span`,{className:`sf-actionurl__host`,children:`URL`}),(0,R.jsx)(`span`,{className:`sf-actionurl__dot`,children:`•`}),(0,R.jsx)(`span`,{className:`sf-actionurl__pretty`,children:p})]})]}),(0,R.jsxs)(`div`,{className:`sf-actionurl__btns`,children:[(0,R.jsx)(`button`,{type:`button`,className:`sf-actionurl__btn ${i?`is-copied`:``} ${o?`is-fail`:``}`,onClick:u,"aria-live":`polite`,children:i?`✓ Remembered`:o?`Remember failed`:`Remember`}),r?(0,R.jsx)(`a`,{className:`sf-actionurl__btn sf-actionurl__btn--link`,href:r,target:`_blank`,rel:`noreferrer noopener`,"aria-label":`Open Proof of Breath URL in a new tab`,children:`↗`}):(0,R.jsx)(`button`,{type:`button`,className:`sf-actionurl__btn sf-actionurl__btn--disabled`,disabled:!0,children:`↗`})]})]}),!t&&(0,R.jsx)(`div`,{className:`sf-warn sf-actionurl__warn`,role:`status`,children:`Not recognized as a sealed Proof of Breath™ link; fallback rules may apply.`})]})}function Ke(){return(0,R.jsxs)(`div`,{className:`sf-reply-row sf-actionurl sf-actionurl--empty`,children:[(0,R.jsxs)(`div`,{className:`sf-actionurl__head`,children:[(0,R.jsxs)(`label`,{className:`sf-label sf-actionurl__label`,children:[`Proof of Breath™ `,(0,R.jsx)(`span`,{className:`sf-muted`,children:`(Sigil-Glyph)`})]}),(0,R.jsx)(`span`,{className:`sf-actionurl__pill is-warn`,children:`MISSING`})]}),(0,R.jsx)(`div`,{className:`sf-warn sf-actionurl__warn`,role:`status`,children:`No Proof of Breath™ sigil-glyph detected; a fallback will be used.`})]})}function qe({meta:e,svgText:t}){let n=Le(e),r=Re(t),i=[...n,...r],a=i.length?Ue(i):``,o=a.length>0&&H(a);return{value:a,isCanonical:o,node:a?(0,R.jsx)(Ge,{value:a,isCanonical:o}):(0,R.jsx)(Ke,{})}}function Je(e){let t=e.trim();if(!t)return null;let n=t.replace(/^(kai|sigil):\/\//i,`https://`);try{if(N(n))return n;if(/^[a-z0-9.-]+\.[a-z]{2,}(?:\/.*)?$/i.test(n))return`https://${n}`}catch{}return null}function Ye({onAdd:e,placeholder:t=`Paste any message (https://… or domain.tld)`,title:n=`Inhale a memory`}){let r=ge(),[i,a]=(0,L.useState)(``),[o,s]=(0,L.useState)(null),c=(0,L.useCallback)(t=>{s(null);let n=Je(t);if(!n){s(`Enter a valid URL (https://… or domain.tld).`);return}e(n),a(``),r.push(`success`,`Link inhaled.`)},[e,r]),l=(0,L.useCallback)(async()=>{s(null);try{let e=(await navigator.clipboard.readText()).trim();if(!e){s(`Memory is empty.`);return}let t=Je(e);if(!t){s(`Memory does not contain a valid link.`);return}a(t),c(t)}catch{s(`Memory read is not permitted.`)}},[c]);return(0,R.jsxs)(`section`,{className:`sf-inhaler`,"aria-labelledby":`inhaler-title`,style:{marginTop:`1rem`},children:[(0,R.jsx)(`h2`,{id:`inhaler-title`,className:`sf-reply-title`,children:n}),(0,R.jsxs)(`div`,{className:`sf-reply-row`,style:{display:`grid`,gap:`.5rem`},children:[(0,R.jsx)(`input`,{className:`sf-input`,type:`url`,placeholder:t,value:i,onChange:e=>a(e.target.value),autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,inputMode:`url`,enterKeyHint:`go`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),c(i))}}),(0,R.jsxs)(`div`,{className:`sf-reply-actions`,style:{gap:`.5rem`,display:`flex`,flexWrap:`wrap`},children:[(0,R.jsx)(`button`,{className:`sf-btn`,onClick:()=>c(i),children:`Inhale`}),(0,R.jsx)(`button`,{className:`sf-btn sf-btn--ghost`,onClick:l,children:`Inhale from memory`})]}),o&&(0,R.jsx)(`div`,{className:`sf-error`,role:`alert`,children:o})]})]})}function Xe(e){try{let t=new URL(e).pathname.split(`/`).pop()||``,n=t.lastIndexOf(`.`);return n>=0?t.slice(n+1).toLowerCase():``}catch{return``}}function Ze(e){return[`png`,`jpg`,`jpeg`,`gif`,`webp`,`avif`,`bmp`].includes(e)}function Qe(e){return[`mp4`,`webm`,`ogg`,`ogv`,`mov`,`m4v`].includes(e)}function $e(e){return e===`pdf`}function et(e){try{return new URL(e).host}catch{return``}}function tt(e){try{let t=new URL(e),n=t.host,r=t.pathname||``;r===`/`&&(r=``),r.endsWith(`/`)&&r.length>1&&(r=r.slice(0,-1));let i=t.search||``;return`${n}${r}${i}`}catch{return e.replace(/^https?:\/\//i,``).replace(/\/+$/g,``)}}function nt(e){try{let t=new URL(e);if(t.hostname.includes(`youtu.be`))return t.pathname.slice(1)||null;if(t.hostname.includes(`youtube.com`)){let e=t.searchParams.get(`v`);if(e)return e;let n=t.pathname.split(`/`).filter(Boolean),r=n.indexOf(`embed`);if(r>=0&&n[r+1])return n[r+1]}return null}catch{return null}}function rt(e){try{let t=new URL(e);return t.hostname.includes(`vimeo.com`)&&t.pathname.split(`/`).filter(Boolean).find(e=>/^\d+$/.test(e))||null}catch{return null}}function it(e){try{let t=new URL(e);return t.hostname.includes(`spotify.com`)&&(t.pathname.startsWith(`/track/`)||t.pathname.startsWith(`/album/`)||t.pathname.startsWith(`/playlist/`))?`https://open.spotify.com/embed${t.pathname}${t.search}`:null}catch{return null}}function at({host:e}){return(0,R.jsx)(`img`,{className:`sf-favicon`,src:`https://${e}/favicon.ico`,alt:``,width:16,height:16,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.visibility=`hidden`}})}function ot(e){let{url:t,title:n,children:r}=e,i=et(t),a=(n&&n.trim().length?n.trim():``)||tt(t);return(0,R.jsxs)(`div`,{className:`sf-att-card`,children:[(0,R.jsx)(`div`,{className:`sf-att-head`,children:(0,R.jsxs)(`a`,{className:`sf-att-head__hit`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:t,children:[i?(0,R.jsx)(at,{host:i}):(0,R.jsx)(`span`,{className:`sf-favicon sf-favicon--blank`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`sf-att-head__text`,children:(0,R.jsx)(`div`,{className:`sf-att-head__title`,children:a})}),(0,R.jsx)(`span`,{className:`sf-att-open`,"aria-hidden":`true`,children:`↗`})]})}),r?(0,R.jsx)(`div`,{className:`sf-att-body`,children:r}):null]})}function st({src:e,title:t}){return(0,R.jsx)(`div`,{className:`sf-embed`,children:(0,R.jsx)(`iframe`,{className:`sf-embed__frame`,src:e,title:t,loading:`lazy`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowFullScreen:!0,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox`})})}function ct({url:e,title:t}){return(0,R.jsx)(ot,{url:e,title:t})}function lt({url:e,title:t}){let n=nt(e);if(n)return(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(st,{src:`https://www.youtube.com/embed/${n}`,title:t||`YouTube`})});let r=rt(e);if(r)return(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(st,{src:`https://player.vimeo.com/video/${r}`,title:t||`Vimeo`})});let i=it(e);if(i)return(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(st,{src:i,title:t||`Spotify`})});let a=Xe(e);return Ze(a)?(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(`div`,{className:`sf-media sf-media--image`,children:(0,R.jsx)(`img`,{className:`sf-media__img`,src:e,alt:t||`image`,loading:`lazy`,decoding:`async`})})}):Qe(a)?(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(`div`,{className:`sf-media sf-media--video`,children:(0,R.jsx)(`video`,{className:`sf-media__video`,src:e,controls:!0,playsInline:!0,preload:`metadata`})})}):$e(a)?(0,R.jsx)(ot,{url:e,title:t,children:(0,R.jsx)(`div`,{className:`sf-embed sf-embed--doc`,children:(0,R.jsx)(`iframe`,{className:`sf-embed__frame`,src:e,title:t||`Document`,loading:`lazy`})})}):(0,R.jsx)(ct,{url:e,title:t})}function ut(e){let t=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),n=``;for(let r=0;r`data:${t};base64,${ft(e)}`;async function mt(e){let t=typeof crypto<`u`&&crypto.subtle||typeof window<`u`&&window.crypto&&window.crypto.webkitSubtle;if(!t)throw Error(`WebCrypto.subtle is not available in this context.`);let n=await t.digest(`SHA-256`,e);return ut(new Uint8Array(n))}async function ht(e,t=524288){let n=[],r=0,i=0;for(let a of Array.from(e)){r+=a.size;try{let e=await a.arrayBuffer(),r=await mt(e),o=a.type||`application/octet-stream`;if(a.size<=t){let t=dt(new Uint8Array(e)),s={kind:`file-inline`,name:a.name,type:o,size:a.size,sha256:r,data_b64url:t};i+=a.size,n.push(s)}else{let e={kind:`file-ref`,name:a.name,type:o,size:a.size,sha256:r};n.push(e)}}catch(e){F(`filesToManifest: read/hash failed`,e)}}return{version:1,totalBytes:r,inlinedBytes:i,items:n}}function gt({n:e}){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return(0,R.jsx)(R.Fragment,{children:`—`});let t=1024,n=t*1024,r=n*1024;return(0,R.jsx)(R.Fragment,{children:e>=r?`${(e/r).toFixed(2)} GB`:e>=n?`${(e/n).toFixed(2)} MB`:e>=t?`${(e/t).toFixed(2)} KB`:`${Math.round(e)} B`})}function _t({it:e}){let t=e.type||`application/octet-stream`,n=pt(e.data_b64url,t),r=e.name||`file`;if(t.startsWith(`image/`))return(0,R.jsxs)(`div`,{className:`sf-media sf-media--image`,children:[(0,R.jsx)(`img`,{src:n,alt:r,loading:`lazy`,decoding:`async`}),(0,R.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,R.jsx)(`span`,{children:r}),(0,R.jsx)(`span`,{children:(0,R.jsx)(gt,{n:e.size})})]}),(0,R.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});if(t.startsWith(`video/`))return(0,R.jsxs)(`div`,{className:`sf-media sf-media--video`,children:[(0,R.jsx)(`video`,{src:n,controls:!0,playsInline:!0,preload:`metadata`}),(0,R.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,R.jsx)(`span`,{children:r}),(0,R.jsx)(`span`,{children:(0,R.jsx)(gt,{n:e.size})})]}),(0,R.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});if(t.startsWith(`audio/`))return(0,R.jsxs)(`div`,{className:`sf-media sf-media--audio`,children:[(0,R.jsx)(`audio`,{src:n,controls:!0,preload:`metadata`}),(0,R.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,R.jsx)(`span`,{children:r}),(0,R.jsx)(`span`,{children:(0,R.jsx)(gt,{n:e.size})})]}),(0,R.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});let i=t.startsWith(`text/`)||[`application/json`,`application/xml`,`application/svg+xml`].includes(t),a=null;if(i)try{a=atob(e.data_b64url.replace(/-/g,`+`).replace(/_/g,`/`)).slice(0,1200)}catch{a=null}return(0,R.jsxs)(`div`,{className:`sf-file`,children:[(0,R.jsxs)(`div`,{className:`sf-file-head`,children:[(0,R.jsx)(`div`,{className:`sf-file-name`,children:e.relPath||r}),(0,R.jsx)(`div`,{className:`sf-file-size`,children:(0,R.jsx)(gt,{n:e.size})})]}),a&&(0,R.jsxs)(`pre`,{className:`sf-file-pre`,"aria-label":`${r} preview`,children:[a,a.length>=1200?` … (truncated preview)`:``]}),(0,R.jsxs)(`div`,{className:`sf-file-foot`,children:[(0,R.jsxs)(`code`,{className:`sf-hash mono`,children:[`sha256:`,e.sha256]}),(0,R.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]})]})}function vt({it:e}){let t=e.name||`file`;return(0,R.jsxs)(`div`,{className:`sf-fileref`,children:[(0,R.jsxs)(`div`,{className:`sf-file-head`,children:[(0,R.jsx)(`div`,{className:`sf-file-name`,children:e.relPath||t}),(0,R.jsx)(`div`,{className:`sf-file-size`,children:(0,R.jsx)(gt,{n:e.size})})]}),(0,R.jsxs)(`div`,{className:`sf-file-foot`,children:[(0,R.jsx)(`div`,{className:`sf-file-type`,children:e.type||`application/octet-stream`}),(0,R.jsxs)(`code`,{className:`sf-hash mono`,children:[`sha256:`,e.sha256]})]}),(0,R.jsx)(`div`,{className:`sf-note`,children:`Large file not inlined. Host by hash anywhere and add the public URL as an attachment link.`})]})}function yt({item:e}){return e.kind===`url`?(0,R.jsx)(lt,{url:e.url,title:e.title}):e.kind===`file-inline`?(0,R.jsx)(_t,{it:e}):(0,R.jsx)(vt,{it:e})}function bt({manifest:e}){return e.items.length?(0,R.jsxs)(`section`,{className:`sf-attachments`,"aria-labelledby":`sf-att-title`,children:[(0,R.jsx)(`h3`,{id:`sf-att-title`,className:`sf-att-title`,children:`Attachments`}),(0,R.jsx)(`div`,{className:`sf-att-grid`,children:e.items.map((e,t)=>(0,R.jsx)(`div`,{className:`sf-att-item`,children:(0,R.jsx)(yt,{item:e})},t))}),(0,R.jsxs)(`div`,{className:`sf-att-foot`,children:[(0,R.jsxs)(`span`,{children:[`Total:`,` `,(0,R.jsx)(`strong`,{children:(0,R.jsx)(gt,{n:e.totalBytes})})]}),typeof e.inlinedBytes==`number`&&e.inlinedBytes>0&&(0,R.jsxs)(`span`,{children:[` `,`• Inlined:`,` `,(0,R.jsx)(`strong`,{children:(0,R.jsx)(gt,{n:e.inlinedBytes})})]})]})]}):null}function xt(e){let t=e.trim();if(!t)return null;if(/^(kai|sigil):\/\//i.test(t))return t.replace(/^(kai|sigil):\/\//i,`https://`);try{if(N(t))return t;if(/^[a-z0-9.-]+\.[a-z]{2,}(\/.*)?$/i.test(t))return`https://${t}`}catch{}return null}function St(e,t){if(!t)return{next:e,error:`Missing URL.`};if(e.some(e=>e.url===t))return{next:e,error:`Link already added.`};let n={kind:`url`,url:t};return{next:[...e,n],added:n}}function Ct(e,t){return t<0||t>=e.length?e:[...e.slice(0,t),...e.slice(t+1)]}var wt=512,Tt=`sigil:feed`,Et=`kai-feed-registry`;function Dt(e){try{return decodeURIComponent(e)}catch{return e}}function Ot(e){let t=e.trim();return t.length<16?!1:/^[A-Za-z0-9_-]+$/u.test(t)}function kt(e){let t=e.trim();if(!t)return``;try{return new URL(t,V().origin).toString()}catch{return t}}function At(e){let t=k(e);return t?`t:${t}`:null}function jt(e){try{let t=new URL(e,V().origin),n=t.hash.startsWith(`#`)?t.hash.slice(1):``;return new URLSearchParams(n).getAll(`add`).length+t.searchParams.getAll(`add`).length}catch{return 0}}function Mt(e){return jt(e)*1e5+e.length}function Nt(e,t){if(typeof window>`u`||window.localStorage===void 0)return{changed:!1,value:t};let n=kt(t);if(!n)return{changed:!1,value:t};try{let t=window.localStorage.getItem(e),r=[];if(t){let e=JSON.parse(t);if(Array.isArray(e))for(let t of e)typeof t==`string`&&r.push(t)}let i=[],a=new Map,o=e=>At(e)??`u:${kt(e)}`;for(let e of r){let t=kt(e);if(!t)continue;let n=o(t),r=Mt(t);a.has(n)?r>a.get(n).score&&a.set(n,{url:t,score:r}):(a.set(n,{url:t,score:r}),i.push(n))}let s=o(n),c=Mt(n);a.has(s)?c>a.get(s).score&&a.set(s,{url:n,score:c}):(a.set(s,{url:n,score:c}),i.push(s));let l=[];for(let e of i){let t=a.get(e);t&&l.push(t.url)}let u=JSON.stringify(r),d=JSON.stringify(l);return u===d?{changed:!1,value:n}:(window.localStorage.setItem(e,d),{changed:!0,value:n})}catch{return{changed:!1,value:n}}}function Pt(e){if(!(typeof window>`u`)){try{window.__FEED__?.registerFeedUrl?.(e)}catch{}try{window.dispatchEvent(new CustomEvent(`sigil:feed-registered`,{detail:{url:e}})),window.dispatchEvent(new CustomEvent(`feed:url-registered`,{detail:{url:e}}))}catch{}try{if(`BroadcastChannel`in window){let t=new BroadcastChannel(Et);t.postMessage({type:`feed:add`,url:e}),t.close()}}catch{}}}function Ft(e){try{let t=new URL(e,V().origin),n=t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=[...t.searchParams.getAll(`add`),...r.getAll(`add`)],a=[];for(let e of i){let t=Dt(String(e)).trim();if(t){if(t.startsWith(`j:`)&&t.length>10){a.includes(t)||a.push(t);continue}if(Ot(t))try{let e=U(Ce(t));e&&!a.includes(e)&&a.push(e);continue}catch{}try{let e=U(t);e&&!a.includes(e)&&a.push(e)}catch{}}}return a.slice(-wt)}catch{return[]}}function It(e,t){let n=new URL(e,V().origin),r=n.hash.startsWith(`#`)?n.hash.slice(1):``,i=new URLSearchParams(r);i.delete(`add`);for(let e of t)i.append(`add`,e);n.search=``;let a=i.toString();return n.hash=a?`#${a}`:``,n.toString()}function Lt(e){return`${V().origin.replace(/\/+$/g,``)}/stream/p/${encodeURIComponent(e)}`}function Rt(e){try{let t=new URL(e,V().origin),n=t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n).get(`root`)??t.searchParams.get(`root`);if(!r)return null;let i=Dt(String(r)).trim();return i?i.startsWith(`j:`)&&i.length>10?i:/^[A-Za-z0-9_-]{16,}$/u.test(i)?`j:${i}`:null:null}catch{return null}}function zt(){if(typeof window>`u`)return{replyToUrl:null,originUrl:null,addChain:[]};let e=window.location.href,t=Ft(e),n=k(e)??w(window.location),r=n?(()=>{try{return U(Lt(n))}catch{return Lt(n)}})():null,i=Rt(e),a=!r&&!i&&t.length?t[t.length-1]:null,o=r??i??a;return{replyToUrl:o,originUrl:t.length?t[0]:o,addChain:(a&&t.length?t.slice(0,-1):t.slice(0)).slice(-wt)}}function Bt({meta:t,svgText:n,onUseDifferentKey:r,inlineLimitBytes:a=512*1024}){let o=ge(),{meta:c,svgText:u}=(0,L.useMemo)(()=>se({meta:t,svgText:n}),[t,n]),p=(0,L.useMemo)(()=>c?de(c,`userPhiKey`):void 0,[c]),m=(0,L.useMemo)(()=>c?de(c,`kaiSignature`):void 0,[c]),{value:ee}=qe({meta:c,svgText:u}),[ne,g]=(0,L.useState)(``),[v,S]=(0,L.useState)(``),[T,D]=(0,L.useState)(``),[O,re]=(0,L.useState)({version:1,totalBytes:0,inlinedBytes:0,items:[]}),[ae,A]=(0,L.useState)(``),[j,oe]=(0,L.useState)([]),ce=(0,L.useId)(),le=(0,L.useId)(),fe=(0,L.useRef)(null),M=(0,L.useRef)(null),[pe,N]=(0,L.useState)(!1),[P,F]=(0,L.useState)(``),[I,me]=(0,L.useState)(!1),[he,_e]=(0,L.useState)(()=>h()),[ve,ye]=(0,L.useState)(null);(0,L.useEffect)(()=>{if(!(typeof window>`u`))try{let t=zt();if(!t.replyToUrl)return;let n=k(t.replyToUrl)??w(window.location);if(!n)return;let r=e(n);r&&ye(r)}catch{}},[]);let be=(0,L.useMemo)(()=>{if(!ve)return null;let e=ve.body,t=ve.caption??``;e&&(e.kind===`text`?t=e.text:e.kind===`md`?t=e.md:e.kind===`code`?t=e.code:e.kind===`html`&&(t=e.html));let n=t.trim();if(!n)return{author:ve.author,url:ve.url,snippet:`(Previous memory has no visible text content.)`};let r=n.length>280?`${n.slice(0,279)}…`:n;return{author:ve.author,url:ve.url,snippet:r}},[ve]);(0,L.useEffect)(()=>{_e(h());let e=l((e,t)=>{_e(t=>({...t,[e.normalized]:e}))});return()=>e()},[]);let xe=(0,L.useMemo)(()=>te(v),[v]),z=xe?he[xe]:void 0,Se=(0,L.useMemo)(()=>s(T),[T]),B=(0,L.useMemo)(()=>xe?z?z.claimHash===Se||z.ownerHint&&p&&z.ownerHint===p?`Username claimed by you`:`Username claimed by another`:`Username available`:``,[z,Se,xe,p]),U=(0,L.useCallback)(async e=>{let t=e.currentTarget.files;if(!(!t||t.length===0))try{let n=await ht(t,a);re(e=>({version:1,totalBytes:e.totalBytes+n.totalBytes,inlinedBytes:e.inlinedBytes+n.inlinedBytes,items:[...n.items,...e.items]})),e.currentTarget.value=``,o.push(`success`,`Attached.`)}catch(e){console.error(`[Composer] onPickFiles:`,e),o.push(`error`,`Attach failed.`)}},[a,o]),W=(0,L.useCallback)(e=>{re(t=>{let n=[...t.items],r=n.splice(e,1)[0],i=r&&(r.kind===`file-inline`||r.kind===`file-ref`)?r.size??0:0,a=r&&r.kind===`file-inline`?r.size??0:0;return{version:1,totalBytes:Math.max(0,t.totalBytes-i),inlinedBytes:Math.max(0,t.inlinedBytes-a),items:n}})},[]),Ce=e=>{let t=xt(e);if(!t){o.push(`warn`,`Invalid URL. Use https://example.com`);return}let{next:n,added:r,error:i}=St(j,t);if(i){o.push(`warn`,i);return}oe(n),A(``),r&&o.push(`success`,`Link added.`)},we=e=>{oe(t=>Ct(t,e))},Te=async()=>{if(!pe){N(!0);try{let e=(ee||``).trim();(!e||!H(e))&&o.push(`info`,`No sigil URL detected; using fallback.`);let t=ne.trim(),n=v.trim(),r=te(n),a=j.map(e=>b({url:e.url,title:e.title})),s=O.items.map(e=>e.kind===`file-ref`?ie({sha256:e.sha256,name:e.name,type:e.type,size:e.size,url:void 0}):e.kind===`file-inline`?C({name:e.name,type:e.type,size:e.size,data_b64url:e.data_b64url,thumbnail_b64:void 0}):e),l=[...a,...s],u=l.length>0?x(l):void 0,h=ue(new Date).pulse,g=t.length>0?{kind:`text`,text:t}:void 0,S;if(r)if(z){if(!Se){o.push(`warn`,`Username is claimed. Provide your claim glyph token to seal.`);return}if(Se!==z.claimHash){o.push(`warn`,`Claim glyph mismatch. Memory not sealed.`);return}S={hash:z.claimHash,url:z.claimUrl,payload:{kind:f,username:z.username,normalized:z.normalized,originHash:z.originHash,ownerHint:z.ownerHint??null},ownerHint:z.ownerHint??null}}else{if(!c||!m){o.push(`warn`,`Inhale your sigil to mint a username claim.`);return}let e=E({origin:{hash:m,pulseCreated:c?.pulse??h,pulseGenesis:c?.pulse??h,value:1,sentTo:[],receivedFrom:[],metadata:{kaiSignature:m,creator:p??void 0}},username:n,pulse:h,ownerHint:p??null}),t=e.metadata?.usernameClaim;if(t)S={hash:e.hash,payload:t,ownerHint:t.ownerHint??null};else{o.push(`warn`,`Could not mint username-claim glyph.`);return}}let w=Lt(y({..._({url:e||V().origin,pulse:h,caption:t||void 0,body:g,author:n||void 0,sigilId:void 0,phiKey:p??void 0,kaiSignature:m??void 0,parent:void 0,parentUrl:void 0,originUrl:void 0,ts:void 0,attachments:u,usernameClaim:S}),kind:`post`})),T=zt(),D=[];for(let e of T.addChain){let t=k(e);t&&!D.includes(t)&&D.push(t)}let re=T.replyToUrl?k(T.replyToUrl):null,ae=[...D];re&&!ae.includes(re)&&ae.push(re);let A=ae.length?It(w,ae.slice(-wt)):w;if(S){let e=i({...S,url:S.url??A});if(!e.accepted){o.push(`warn`,e.reason||`Unable to register username claim.`);return}_e(e.registry)}await navigator.clipboard.writeText(A),o.push(`success`,`Link kopied. Kai-sealed.`),F(A);try{for(let e of ae)d(Lt(e));d(A),Pt(Nt(Tt,A).value)}catch{}}catch(e){console.error(`[Composer] onGenerateReply:`,e),o.push(`error`,`Could not seal reply.`)}finally{N(!1)}}};return(0,R.jsxs)(`section`,{className:`sf-reply`,"aria-labelledby":`reply-title`,children:[be&&(0,R.jsxs)(`aside`,{className:`sf-reply-context`,"aria-label":`Replying to previous memory`,children:[(0,R.jsxs)(`div`,{className:`sf-reply-context-header`,children:[(0,R.jsx)(`span`,{className:`sf-pill`,children:`Replying to`}),be.author&&(0,R.jsx)(`span`,{className:`sf-reply-context-author`,children:be.author})]}),(0,R.jsx)(`p`,{className:`sf-reply-context-body`,children:be.snippet})]}),(0,R.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,R.jsx)(`label`,{className:`sf-label`,children:`Attach`}),(0,R.jsxs)(`div`,{className:`sf-reply-row-inline`,children:[(0,R.jsx)(`label`,{className:`sf-btn`,htmlFor:le,children:`Record Memory`}),(0,R.jsx)(`label`,{className:`sf-btn sf-btn--ghost`,htmlFor:ce,children:`Inhale files`})]}),(0,R.jsx)(`input`,{id:le,ref:M,type:`file`,accept:`image/*,video/*`,capture:`environment`,multiple:!0,onChange:U,style:{position:`absolute`,opacity:0,pointerEvents:`none`}}),(0,R.jsx)(`input`,{id:ce,ref:fe,type:`file`,accept:`image/*,video/*,audio/*,application/pdf,text/plain,application/json,application/xml,application/svg+xml`,multiple:!0,onChange:U,style:{position:`absolute`,opacity:0,pointerEvents:`none`}}),O.items.length>0&&(0,R.jsx)(`div`,{className:`sf-att-grid`,children:O.items.map((e,t)=>(0,R.jsxs)(`div`,{className:`sf-att-item`,style:{position:`relative`},children:[(0,R.jsx)(yt,{item:e}),(0,R.jsx)(`button`,{className:`sf-btn sf-btn--icon`,onClick:()=>W(t),style:{position:`absolute`,top:8,right:8},type:`button`,"aria-label":`Remove attachment`,children:`✕`})]},`${e.kind}:${t}`))})]}),(0,R.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,R.jsx)(`label`,{className:`sf-label`,children:`Add links`}),(0,R.jsxs)(`div`,{className:`sf-reply-row-inline`,children:[(0,R.jsx)(`input`,{className:`sf-input`,type:`url`,placeholder:`https://example.com`,value:ae,onChange:e=>A(e.target.value)}),(0,R.jsx)(`button`,{className:`sf-btn`,onClick:()=>Ce(ae),type:`button`,children:`Add`})]}),j.length>0&&(0,R.jsx)(`div`,{className:`sf-att-grid`,children:j.map((e,t)=>(0,R.jsxs)(`div`,{className:`sf-att-item`,style:{position:`relative`},children:[(0,R.jsx)(yt,{item:e}),(0,R.jsx)(`button`,{className:`sf-btn sf-btn--icon`,onClick:()=>we(t),style:{position:`absolute`,top:8,right:8},type:`button`,"aria-label":`Remove link`,children:`✕`})]},`${e.kind}:${e.url}:${t}`))})]}),(0,R.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,R.jsx)(`label`,{className:`sf-label`,children:`Author`}),(0,R.jsx)(`input`,{className:`sf-input`,type:`text`,value:v,onChange:e=>S(e.target.value),placeholder:`@you`,"aria-describedby":B?`username-claim-status`:void 0}),B?(0,R.jsx)(`div`,{id:`username-claim-status`,className:`sf-sub`,role:`status`,"aria-live":`polite`,children:B}):null]}),xe?(0,R.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,R.jsx)(`label`,{className:`sf-label`,children:`Claim glyph`}),(0,R.jsx)(`input`,{className:`sf-input`,type:`text`,value:T,onChange:e=>D(e.target.value),placeholder:`Paste claim glyph hash or Memory Stream link`})]}):null,(0,R.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,R.jsx)(`label`,{className:`sf-label`,children:`Memory`}),(0,R.jsx)(`textarea`,{className:`sf-textarea`,rows:3,value:ne,onChange:e=>g(e.target.value),placeholder:`What do you want this moment to remember?`})]}),(0,R.jsxs)(`div`,{className:`sf-reply-actions`,children:[(0,R.jsx)(`button`,{className:`sf-btn`,onClick:()=>void Te(),disabled:pe,type:`button`,children:pe?`Sealing…`:`Exhale Reply`}),r&&(0,R.jsx)(`button`,{className:`sf-btn sf-btn--ghost`,onClick:r,type:`button`,children:`Use a different ΦKey`})]}),P&&(0,R.jsxs)(`div`,{className:`sf-reply-result`,children:[(0,R.jsx)(`label`,{className:`sf-label`,children:`Share this link`}),(0,R.jsx)(`input`,{className:`sf-input`,readOnly:!0,value:P,onFocus:e=>e.currentTarget.select()}),(0,R.jsxs)(`div`,{className:`sf-reply-actions`,children:[(0,R.jsx)(`a`,{className:`sf-link`,href:P,target:`_blank`,rel:`noreferrer`,children:`Open →`}),(0,R.jsx)(`button`,{className:`sf-btn`,type:`button`,onClick:async()=>{try{await navigator.clipboard.writeText(P),o.push(`success`,`Link remembered.`),me(!0),window.setTimeout(()=>me(!1),1200)}catch{o.push(`warn`,`Copy failed.`)}},children:I?`Remembered`:`Remember`})]})]})]})}var Vt=T(g(),1),Ht=3+Math.sqrt(5);function Ut(e){return e<0?0:e>1?1:e}function Wt(e){if(!e)return Ht;let t=window.getComputedStyle(e).getPropertyValue(`--pulse-dur`).trim(),n=Number.parseFloat(t);return Number.isFinite(n)&&n>0?n:Ht}function Gt(e){return e>0&&e<360?`nano`:e>0&&e<520?`tiny`:e>0&&e<760?`tight`:`wide`}function Kt(e){switch(e){case`nano`:return .84;case`tiny`:return .9;case`tight`:return .95;default:return 1}}function qt(e){return e===`nano`?`stack`:`row`}function Jt(e){let[t,n]=L.useState(0);return L.useLayoutEffect(()=>{let t=e.current;if(!t)return;let r=()=>{n(Math.round(t.getBoundingClientRect().width))};if(r(),typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>r());return e.observe(t),()=>e.disconnect()}let i=()=>r();return window.addEventListener(`resize`,i,{passive:!0}),()=>window.removeEventListener(`resize`,i)},[e]),t}var Yt=[`Ignite`,`Integrate`,`Harmonize`,`Reflekt`,`Purify`,`Dream`];function Xt(e){let t=Number.isFinite(e)?Math.floor(e):0;return Yt[Math.max(0,Math.min(5,Math.floor(t/6)))]}var Zt=(e,t)=>{let n=e%t;return n>=0n?n:n+t},Qt=(e,t)=>{if(t===0n)throw Error(`Division by zero`);let n=e/t;return e%t===0n||e>=0n?n:n-1n},$t=e=>{let t=BigInt(2**53-1),n=BigInt(-(2**53-1));return e>t?2**53-1:en(!0),[]),i=L.useCallback(()=>n(!1),[]),a=L.useCallback(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n(!0))},[]),o=L.useRef(null),s=Gt(Jt(o)),c=qt(s),l=s===`wide`||s===`tight`,[u,d]=L.useState(Ht);L.useEffect(()=>{d(Wt(o.current))},[e.pulse]);let[f,p]=L.useState(!1),m=L.useRef(null);L.useEffect(()=>{let t=m.current;if(m.current=e.pulse,t!=null&&e.pulse!==t){p(!0);let e=window.setTimeout(()=>p(!1),180);return()=>window.clearTimeout(e)}},[e.pulse]);let h=L.useRef(null),ee=L.useRef(null),[te,ne]=L.useState(0);L.useEffect(()=>{if(typeof window>`u`)return;let e=0,n=()=>{let r=pe-((Date.now()-fe)%pe+pe)%pe,i=r/1e3,a=Ut(1-r/pe);if(o.current&&o.current.style.setProperty(`--kai-progress`,String(a)),h.current){let e=i.toFixed(6);h.current.textContent!==e&&(h.current.textContent=e),ee.current&&(ee.current.title=e,ee.current.setAttribute(`aria-label`,`Next pulse in ${e} seconds`))}t&&ne(a*100),e=window.requestAnimationFrame(n)};return e=window.requestAnimationFrame(n),()=>window.cancelAnimationFrame(e)},[t]);let g=`${e.beat}:${ce(e.step)}`,_=String(e.harmonicDay),v=typeof e.beat==`number`?e.beat:Number.parseInt(String(e.beat),10)||0,y=typeof e.step==`number`?e.step:Number.parseInt(String(e.step),10)||0,b=Xt(v),x=dn[b]??`Heart`,S=typeof e.pulse==`number`?e.pulse:Number.parseInt(String(e.pulse),10)||0,C=L.useMemo(()=>en(S),[S]),w=L.useMemo(()=>cn(e.harmonicDay,C.day),[e.harmonicDay,C.day]),T=L.useMemo(()=>on(C.month),[C.month]),E=L.useMemo(()=>un(C.month),[C.month]),D=`D${C.day}/M${C.month}/Y${C.year}`,O=nn(w),k=nn(T),re=L.useMemo(()=>({"--kai-ui-scale":Kt(s)}),[s]),ie=1584,ae=Math.max(0,Math.min(ie-1,v*44+y))/ie*100,A=t?te:NaN,j=String(Math.round(v/36*360));L.useEffect(()=>{if(!t||typeof document>`u`)return;let e=document.documentElement.style.overflow;document.documentElement.style.overflow=`hidden`;let n=e=>{e.key===`Escape`&&i()};return window.addEventListener(`keydown`,n),()=>{document.documentElement.style.overflow=e,window.removeEventListener(`keydown`,n)}},[t,i]);let oe=(0,R.jsxs)(`div`,{className:`kai-status__countdown`,"aria-label":`Next pulse`,children:[(0,R.jsx)(`span`,{className:`kai-status__nLabel`,children:`NEXT`}),(0,R.jsxs)(`span`,{className:`kai-status__nVal`,title:`—`,"aria-label":`Next pulse in — seconds`,ref:ee,children:[(0,R.jsx)(`span`,{className:`kai-status__nNum`,ref:h,children:`—`}),` `,(0,R.jsx)(`span`,{className:`kai-status__nUnit`,children:`s`})]})]}),se=(0,R.jsxs)(`span`,{className:`kai-pill kai-pill--pulse`,title:`Pulse ${S}`,"aria-label":`Pulse ${S}`,"data-chakra":`Pulse`,children:[`☤KAI: `,(0,R.jsx)(`strong`,{className:`kai-pill__num`,children:S})]}),le=(0,R.jsxs)(`span`,{className:`kai-pill kai-pill--dmy`,title:D,"aria-label":`Date ${D}`,children:[(0,R.jsxs)(`span`,{className:`kai-dmy__seg kai-dmy__seg--day`,"data-chakra":w,children:[`D`,(0,R.jsx)(`span`,{className:`kai-dmy__num`,children:C.day})]}),(0,R.jsx)(`span`,{className:`kai-dmy__sep`,children:`/`}),(0,R.jsxs)(`span`,{className:`kai-dmy__seg kai-dmy__seg--month`,"data-chakra":T,children:[`M`,(0,R.jsx)(`span`,{className:`kai-dmy__num`,children:C.month})]}),(0,R.jsx)(`span`,{className:`kai-dmy__sep`,children:`/`}),(0,R.jsxs)(`span`,{className:`kai-dmy__seg kai-dmy__seg--year`,"data-chakra":`Year`,children:[`Y`,(0,R.jsx)(`span`,{className:`kai-dmy__num`,children:C.year})]})]}),ue=(0,R.jsx)(`span`,{className:`kai-pill kai-pill--day`,title:_,"aria-label":`Day ${_}`,"data-chakra":w,children:_}),de=(0,R.jsx)(`span`,{className:`kai-pill kai-pill--dayChakra`,title:`Day chakra ${O}`,"aria-label":`Day chakra ${O}`,"data-chakra":w,children:O}),M=(0,R.jsx)(`span`,{className:`kai-pill kai-pill--monthName`,title:E,"aria-label":`Month ${E}`,"data-chakra":T,children:E}),N=(0,R.jsx)(`span`,{className:`kai-pill kai-pill--monthChakra`,title:`Month chakra ${k}`,"aria-label":`Month chakra ${k}`,"data-chakra":T,children:k}),F=(0,R.jsx)(`span`,{className:`kai-pill kai-pill--ark`,title:b,"aria-label":`Ark ${b}`,"data-chakra":x,children:b}),I=t&&typeof document<`u`?(0,Vt.createPortal)((0,R.jsxs)(`div`,{className:`kk-pop`,role:`dialog`,"aria-modal":`true`,"aria-label":`Kai-Klok`,children:[(0,R.jsx)(`button`,{type:`button`,className:`kk-pop__backdrop`,"aria-label":`Close Kai-Klok`,onClick:i}),(0,R.jsxs)(`div`,{className:`kk-pop__panel`,role:`document`,children:[(0,R.jsxs)(`div`,{className:`kk-pop__head`,children:[(0,R.jsx)(`div`,{className:`kk-pop__title`,children:`Kai-Klok`}),(0,R.jsx)(`button`,{type:`button`,className:`kk-pop__close`,onClick:i,"aria-label":`Close`,children:`✕`})]}),(0,R.jsxs)(`div`,{className:`kk-pop__meta`,"aria-label":`Kai summary`,children:[(0,R.jsx)(`span`,{className:`kk-pop__pill`,children:g}),(0,R.jsx)(`span`,{className:`kk-pop__pill`,children:D}),(0,R.jsx)(`span`,{className:`kk-pop__pill`,children:E}),(0,R.jsx)(`span`,{className:`kk-pop__pill`,children:b})]}),(0,R.jsx)(`div`,{className:`kk-pop__dial`,"aria-label":`Kai-Klok dial`,children:(0,R.jsx)(`div`,{className:`klock-stage`,"data-klock-stage":`1`,children:(0,R.jsx)(`div`,{className:`klock-stage__inner`,children:(0,R.jsx)(fn,{hue:j,pulse:S,harmonicDayPercent:ae,microCyclePercent:A,dayLabel:_,monthLabel:E,monthDay:C.day,kaiPulseEternal:S,glowPulse:!0,pulseIntervalSec:u,rimFlash:f,solarSpiralStepString:`${ce(v)}:${ce(y)}`,eternalBeatIndex:v,eternalStepIndex:y})})})}),(0,R.jsx)(`div`,{className:`kk-pop__foot`,children:(0,R.jsx)(`span`,{className:`kk-pop__hint`,children:`Tap the Klok for more details or press x to return.`})})]})]}),document.body):null;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{ref:o,className:`kai-feed-status kai-feed-status--slim${f?` kai-feed-status--flash`:``}`,onClick:r,onKeyDown:a,tabIndex:0,role:`button`,"aria-haspopup":`dialog`,"aria-expanded":t,"aria-label":`Kai status (open Kai-Klok)`,"data-layout":s,"data-bottom":c,"data-kai-bsi":g,"data-kai-ark":b,"data-kai-dmy":D,"data-day-chakra":w,"data-month-chakra":T,"data-ark-chakra":x,"data-day-num":C.day,"data-month-num":C.month,"data-year-num":C.year,style:re,children:[(0,R.jsxs)(`div`,{className:`kai-status__top`,"aria-label":`Kai timeline (day row)`,children:[(0,R.jsxs)(`span`,{className:`kai-status__bsiWrap`,"aria-label":`Beat step ${g}`,children:[(0,R.jsx)(`span`,{className:`kai-status__kLabel`,"aria-hidden":`true`,children:`KAIROS`}),(0,R.jsx)(`span`,{className:`kai-status__bsi`,title:g,children:g})]}),le,ue,de,l?se:null]}),(0,R.jsxs)(`div`,{className:`kai-status__mid`,"aria-label":`Kai timeline (month/ark row)`,children:[M,N,F]}),(0,R.jsxs)(`div`,{className:`kai-status__bottom`,"aria-label":`Next pulse row`,children:[l?null:se,oe]}),(0,R.jsxs)(`div`,{className:`kai-feed-status__bar`,"aria-hidden":`true`,children:[(0,R.jsx)(`div`,{className:`kai-feed-status__barFill`}),(0,R.jsx)(`div`,{className:`kai-feed-status__barSpark`})]})]}),I]})}function G(e){return typeof e==`object`&&!!e}function K(e){return typeof e==`number`&&Number.isFinite(e)}function q(e){return typeof e==`string`}function mn(e){if(!Array.isArray(e))return!1;for(let t of e)if(!q(t))return!1;return!0}function hn(e){let t=e.trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function gn(){let e=globalThis.location?.origin;return typeof e==`string`&&e.length>0?e:`https://phi.network`}function _n(e){let t=hn(e);try{return new URL(t)}catch{}try{return new URL(t,gn())}catch{return null}}function vn(e){let t=hn(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch(e){let t=e instanceof Error?e.message:`decodeURIComponent failed`;throw Error(t)}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),/[+/=]/.test(t)&&(t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``)),hn(t)}function yn(e){let t=e.startsWith(`j:`)||e.startsWith(`c:`)?e.slice(2):e;return/^[A-Za-z0-9_-]{16,}$/.test(t)}function bn(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.length%4;return n===2?t+=`==`:n===3&&(t+=`=`),t}function xn(e){let t=hn(e),n=bn(t.startsWith(`j:`)||t.startsWith(`c:`)?t.slice(2):t),r=globalThis;if(typeof r.atob!=`function`)throw Error(`Base64 decode failure: atob() unavailable`);if(r.TextDecoder===void 0)throw Error(`Base64 decode failure: TextDecoder unavailable`);try{let e=r.atob(n),t=new Uint8Array(e.length);for(let n=0;n{if(!e)return;let t=vn(e);yn(t)&&(n.includes(t)||n.push(t))},i=hn(e);yn(i)&&r(i);let a=_n(i);if(!a)return n;r(wn(a.hash));let o=a.hash&&a.hash.startsWith(`#`)?a.hash.slice(1):a.hash,s=new URLSearchParams(o),c=a.searchParams,l=[`p`,`t`,`token`,`capsule`];r(Tn(c,s,l));for(let e of l)r(s.get(e)),r(c.get(e));if(r(Cn(a.pathname)),t<1){let e=[...c.getAll(`add`),...s.getAll(`add`)];for(let n of e){let e=hn(n);if(!e)continue;let i=e;if(/%[0-9A-Fa-f]{2}/.test(i))try{i=decodeURIComponent(i)}catch(e){let t=e instanceof Error?e.message:`decodeURIComponent(add) failed`;throw Error(t)}for(let e of En(i,t+1))r(e)}}return n}function Dn(e){let t=hn(e);if(t.startsWith(`j:`)||t.startsWith(`c:`))return{rootRef:t,addRefs:[]};let n=_n(t);if(!n)return{rootRef:null,addRefs:[]};let r=n.hash&&n.hash.startsWith(`#`)?n.hash.slice(1):n.hash,i=new URLSearchParams(r),a=n.searchParams,o=i.get(`root`)??a.get(`root`),s=i.get(`v`)??a.get(`v`),c=[...i.getAll(`add`),...a.getAll(`add`)].map(e=>hn(e)).filter(e=>e.length>0),l=o?hn(o):null;return{v:s?hn(s):void 0,rootRef:l,addRefs:c}}function On(e){if(G(e)&&G(e.proofCapsule)){let t=e.proofCapsule,n=q(t.kaiSignature)?t.kaiSignature:void 0,r=K(t.pulse)?t.pulse:void 0;if(n&&typeof r==`number`){let e=q(t.phiKey)?t.phiKey:void 0;return{kaiSignature:n,pulse:r,chakraDay:q(t.chakraDay)||K(t.chakraDay)?t.chakraDay:void 0,phiKey:e,userPhiKey:e}}}if(G(e)&&G(e.capsule))return e.capsule;if(G(e)&&G(e.data)){let t=e.data;if(G(t)&&G(t.capsule))return t.capsule;if(G(t)&&(`post`in t||`message`in t||`share`in t||`reaction`in t))return t}return G(e)&&(`post`in e||`message`in e||`share`in e||`reaction`in e)||G(e)&&(`pulse`in e||`u`in e||`kind`in e||`userId`in e||`userPhiKey`in e)?e:null}function kn(e){let t=K(e.pulse)?e.pulse:K(e.u)?e.u:void 0,n=K(e.beat)?e.beat:K(e.b)?e.b:void 0,r=K(e.stepIndex)?e.stepIndex:K(e.s)?e.s:void 0,i=q(e.chakraDay)||K(e.chakraDay)?e.chakraDay:q(e.c)||K(e.c)?e.c:void 0;return{...e,pulse:t,beat:n,stepIndex:r,chakraDay:i}}function An(e){return Sn(xn(hn(e)))}function jn(e,t){let n=On(e);if(!n)throw Error(`Invalid payload (missing capsule)`);let r=kn(n),i=G(e)?e:null,a=i&&G(i.data)?i.data:null,o=_n(t),s=(()=>{let e=i?.path;if(mn(e))return e;let t=a?.path;return mn(t)?t:o?o.pathname.split(`/`).filter(Boolean):[]})();return{url:t,appId:(i&&q(i.appId)?i.appId:void 0)??(a&&q(a.appId)?a.appId:void 0)??(s[0]===`s`&&s.length>=2?s[1]:void 0),userId:(i&&q(i.userId)?i.userId:void 0)??(a&&q(a.userId)?a.userId:void 0)??(q(r.userId)?r.userId:q(r.userPhiKey)?r.userPhiKey:void 0),kind:(i&&q(i.kind)?i.kind:void 0)??(a&&q(a.kind)?a.kind:void 0)??(q(r.kind)?r.kind:r.post?`post`:r.message?`message`:r.share?`share`:r.reaction?`reaction`:void 0),pulse:(i&&K(i.pulse)?i.pulse:void 0)??(a&&K(a.pulse)?a.pulse:void 0)??(K(r.pulse)?r.pulse:void 0),beat:(i&&K(i.beat)?i.beat:void 0)??(a&&K(a.beat)?a.beat:void 0)??(K(r.beat)?r.beat:void 0),stepIndex:(i&&K(i.stepIndex)?i.stepIndex:void 0)??(a&&K(a.stepIndex)?a.stepIndex:void 0)??(K(r.stepIndex)?r.stepIndex:void 0),chakraDay:(i&&(q(i.chakraDay)||K(i.chakraDay))?i.chakraDay:void 0)??(a&&(q(a.chakraDay)||K(a.chakraDay))?a.chakraDay:void 0)??(q(r.chakraDay)||K(r.chakraDay)?r.chakraDay:void 0),capsule:r,path:s}}function Mn(e){try{let t=hn(e),n=Dn(t);if(n.rootRef){let t=jn(An(n.rootRef),e),r=[];for(let e of n.addRefs)if(!(!e.startsWith(`j:`)&&!e.startsWith(`c:`)))try{let t=An(e);r.push(jn(t,e))}catch{}return{ok:!0,data:{...t,url:e,stream:{v:n.v,rootRef:n.rootRef,addRefs:n.addRefs,addData:r}}}}let r=En(t)[0]??null;if(!r)return{ok:!1,error:`No capsule token found (expected /s/, /p~, /stream/p/, ?p=, #t=, #/p~, a raw token, or a Memory Stream with #root=j:).`};let i=Sn(xn(r));if(!G(i))return{ok:!1,error:`Payload is not an object`};let a=kn(i),o=_n(t),s=o?o.pathname.split(`/`).filter(Boolean):[],c=s[0]===`s`&&s.length>=2?s[1]:void 0,l=q(a.userId)?a.userId:q(a.userPhiKey)?a.userPhiKey:void 0,u=q(a.kind)?a.kind:a.post?`post`:a.message?`message`:a.share?`share`:a.reaction?`reaction`:void 0,d=s.length>=8?s[6]:void 0;return{ok:!0,data:{url:e,appId:c,userId:l,kind:u??d,pulse:a.pulse,beat:a.beat,stepIndex:a.stepIndex,chakraDay:a.chakraDay,capsule:a,path:s}}}catch(e){return{ok:!1,error:e instanceof Error?e.message:`Decode error`}}}const Nn=`/stream`,Pn=(()=>{if(typeof window>`u`)return Nn;let e=window.location?.origin;return!e||e===`null`?Nn:`${e.replace(/\/+$/g,``)}${Nn}`})();(()=>{if(typeof window>`u`)return`/s`;let e=window.location?.origin;return!e||e===`null`?`/s`:`${e.replace(/\/+$/g,``)}/s`})();function Fn(e){let t=String(e??``).trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function In(e){let t=Fn(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),/[+/=]/.test(t)&&(t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``)),Fn(t)}function Ln(e){let t=In(e);return`${Pn||`/stream`}#t=${encodeURIComponent(t)}`}function Rn(e){return Ln(e)}var zn=(e,t=8,n=4)=>e.length<=t+n?e:`${e.slice(0,t)}…${e.slice(-n)}`,Bn=e=>{if(e)try{return new URL(e).host}catch{return}},Vn=e=>typeof e==`string`&&e.trim().length>0,Hn=e=>String(e??``).toUpperCase(),J=e=>!!e&&typeof e==`object`&&!Array.isArray(e);function Un(e){let t=String(e??``),n=t.length;return{lines:t.length?t.split(/\r\n|\r|\n/).length:0,chars:n}}function Wn(e,t){let{lines:n,chars:r}=Un(e);return{shouldCollapse:n>(t===`code`?18:10)||r>(t===`code`?1400:700),lines:n,chars:r,maxHeightPx:t===`code`?320:240}}function Gn(e){return e instanceof HTMLElement?!!e.closest(`a,button,input,textarea,select,summary,[role="button"],[role="link"],[data-no-open="true"]`):!1}var Kn=`/stream`,qn=`/s`,Jn=`2`,Yn=12e4,Y=`j:`,Xn=`s:`;function X(e){let t=e.trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function Zn(e){let t=X(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),/[+/=]/.test(t)&&(t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``)),X(t)}function Qn(e){return/^[A-Za-z0-9_-]{16,}$/.test(e)}function $n(){let e=typeof Pn==`string`?Pn.trim():``;if(e)return e.replace(/\/+$/g,``).replace(/\/stream\/?$/g,``);if(typeof window>`u`)return``;let t=window.location?.origin;return t&&t!==`null`?t.replace(/\/+$/g,``):``}function er(){return $n()||`https://x.invalid`}function tr(){let e=$n();return e?`${e}${Kn}`:Kn}function nr(){let e=$n();return e?`${e}${qn}`:qn}function rr(e){let t=e.trim();try{return new URL(t)}catch{try{return new URL(t,er())}catch{return null}}}function ir(e){let t=X(e),n=rr(t),r=n?n.pathname:t;return/^\/s(?:\/|$)/.test(r)}function ar(e){{let t=e.match(/\/s\/([^/?#]+)/);if(t?.[1])return t[1]}{let t=e.match(/\/p(?:\u007e|%7[Ee])\/?([^/?#]+)/);if(t?.[1])return t[1]}{let t=e.match(/\/(?:stream|feed)\/p\/([^/?#]+)/);if(t?.[1])return t[1]}{let t=e.match(/\/p\/([^/?#]+)/);if(t?.[1])return t[1]}return null}function or(e,t=0){let n=[],r=e=>{if(!e)return;let t=Zn(e);t&&Qn(t)&&(n.includes(t)||n.push(t))},i=X(e);Qn(i)&&r(i);let a=rr(i);if(!a)return n;let o=a.hash&&a.hash.startsWith(`#`)?a.hash.slice(1):``,s=new URLSearchParams(o),c=a.searchParams;for(let e of[`t`,`p`,`token`,`capsule`])r(s.get(e)),r(c.get(e));let l=s.get(`v`),u=c.get(`v`);for(let e of[l,u]){if(!e)continue;let t=Zn(e);/^\d{1,4}$/.test(t)||t!==Jn&&r(t)}if(r(ar(a.pathname)),t<1){let e=[...c.getAll(`add`),...s.getAll(`add`)];for(let n of e){let e=X(n);if(e){if(/%[0-9A-Fa-f]{2}/.test(e))try{e=decodeURIComponent(e)}catch{}for(let n of or(e,t+1))r(n)}}}return n}function sr(e){let t=tr(),n=Zn(e);return`${t}#t=${encodeURIComponent(n)}`}function cr(e){let t=or(X(e))[0];return t?sr(t):null}function Z(e){let t=X(e),n=rr(t);if(n){let e=n.hash&&n.hash.startsWith(`#`)?n.hash.slice(1):``,t=new URLSearchParams(e),r=n.searchParams;if(t.get(`root`)||r.get(`root`)){let e=tr(),n=new URL(e||Kn,er()),i=new URLSearchParams;for(let[e,n]of t.entries())i.append(e,n);for(let[e,t]of r.entries())i.append(e,t);return n.hash=i.toString()?`#${i.toString()}`:``,n.search=``,n.toString()}}if(ir(t))return t;let r=or(t)[0];return r?sr(r):t}function lr(e){let t=tr().replace(/\/stream\/?$/g,``),n=Zn(e);return[n,`${t}/stream#t=${n}`,`${t}/stream?t=${n}`,`${t}/stream/t=${n}`,`${t}/p#t=${n}`,`${t}/p?t=${n}`,`${t}/stream/p/${n}`,`${t}/p#p=${n}`,`${t}/p?p=${n}`,`${t}/p#token=${n}`,`${t}/p?token=${n}`,`${t}/stream#v=${n}`,`${t}/stream?v=${n}`]}function ur(e){let t=new Set,n=e=>{let n=e.trim();if(!n||t.has(n))return null;t.add(n);let r=Mn(n);return r.ok?r:null},r=X(e),i=n(r);if(i)return{decoded:i,resolvedUrl:Z(r)};let a=or(r);for(let e of a)for(let t of lr(e)){let r=n(t);if(r)return{decoded:r,resolvedUrl:sr(e)}}return{decoded:Mn(r),resolvedUrl:Z(r)}}function dr(e){if(!J(e))return null;let t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==void 0,n=e=>t(e,`post`)||t(e,`message`)||t(e,`share`)||t(e,`reaction`),r=(e,n)=>{for(let r of[`post`,`message`,`share`,`reaction`])t(n,r)&&e[r]===void 0&&(e[r]=n[r])},i=e,a=J(i.data)?i.data:null,o=n(i),s=!!a&&n(a),c=J(i.capsule)?i.capsule:null,l=a&&J(a.capsule)?a.capsule:null,u=c??l;if(u&&(o||s)){let e={...u};return s&&a&&r(e,a),o&&r(e,i),e}return u||(o?i:s&&a?a:i)}function fr(e){if(e===null)return null;if(typeof e==`number`)return Number.isFinite(e)?e:null;if(typeof e==`string`||typeof e==`boolean`)return e;if(typeof e==`bigint`)return e.toString();if(Array.isArray(e))return e.map(fr);if(e&&typeof e==`object`){let t=e,n=Object.keys(t).sort((e,t)=>e.localeCompare(t)),r={};for(let e of n)r[e]=fr(t[e]);return r}return null}function pr(e){let t=``,n=32768;for(let r=0;ryr(`leaf:${e}`));for(;t.length>1;){let e=[];for(let n=0;n0)return`p:${Math.floor(a)}`;let o=t.kaiSignature;if(typeof o==`string`&&o.trim())return`ks:${o.trim()}`}return`h:${yr(JSON.stringify(fr(e)))}`}function Sr(e){return`${Xn}${hr(JSON.stringify(fr(e)))}`}function Cr(e){let t=X(e),n=t.startsWith(Xn)?t.slice(2):t;if(!/^[A-Za-z0-9_-]{16,}$/.test(n))return null;try{let e=gr(n),t=JSON.parse(e);if(!t||typeof t!=`object`)return null;let r=t,i=r.v,a=r.id,o=r.m,s=r.n,c=r.a,l=r.r;return typeof i!=`string`||typeof a!=`string`||typeof o!=`string`||typeof s!=`number`||typeof c!=`number`||typeof l!=`string`?null:{v:i,id:a,m:o,n:s,a:c,r:l}}catch{return null}}var wr=(e,t)=>{let n=e%t;return n>=0n?n:n+t},Tr=(e,t)=>{if(t===0n)throw Error(`Division by zero`);let n=e/t;return e%t===0n||e>=0n?n:n-1n},Er=e=>{let t=BigInt(2**53-1),n=BigInt(-(2**53-1));return e>t?2**53-1:eString(Math.max(0,Math.floor(e))).padStart(2,`0`);function jr(e,t,n,r,i,a){let o=kr(t),s=`${Ar(t)}:${Ar(n)}`;return{arc:o,label:s,line:`☤KAI:${e} • ${s} D${Math.max(1,Math.floor(r))}/M${Math.max(1,Math.floor(i))}/Y${Math.floor(a)}`}}var Mr={Root:[255,88,88],Sacral:[255,146,88],"Solar Plexus":[255,215,128],Heart:[88,255,174],Throat:[42,197,255],"Third Eye":[164,126,255],Crown:[238,241,251],Krown:[238,241,251]};function Nr(e){if(e&&typeof e==`object`&&`source`in e){let t=e.source;return typeof t==`string`?t:void 0}}function Pr(e,t){if(e&&typeof e==`object`&&`kind`in e){let t=e.kind;if(typeof t==`string`&&t.trim().length>0)return t}return t}var Fr=256;function Ir(e){let t=rr(X(e));if(!t)return[];let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=t.searchParams,a=[...r.getAll(`add`),...i.getAll(`add`)],o=[];for(let e of a){let t=X(e);if(!t)continue;if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}if(t.startsWith(Y)&&t.length>10){o.push(t);continue}let n=vr(t);if(n&&dr(n)){let e=X(t.startsWith(Y)?t.slice(2):t);o.push(`${Y}${e}`);continue}let r=or(t)[0];if(r){o.push(sr(r));continue}if(ir(t)){o.push(t);continue}o.push(Z(t))}return o.slice(-Fr)}function Lr(e){let t=rr(X(e));if(!t)return null;let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=t.searchParams,a=r.get(`root`)??i.get(`root`);if(!a)return null;if(a=X(a),/%[0-9A-Fa-f]{2}/.test(a))try{a=decodeURIComponent(a)}catch{}if(a.startsWith(Y))return a;let o=vr(a);return o&&dr(o)?`${Y}${X(a)}`:null}function Rr(e){let t=rr(X(e));if(!t)return null;let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=t.searchParams,a=r.get(`seg`)??i.get(`seg`);if(!a)return null;let o=X(a);if(/%[0-9A-Fa-f]{2}/.test(o))try{o=decodeURIComponent(o)}catch{}return Cr(o)}function zr(e){let t=X(e);if(!t)return null;if(t.startsWith(Y)||ir(t))return t;{let e=rr(t);if(e){let n=e.hash&&e.hash.startsWith(`#`)?e.hash.slice(1):``,r=new URLSearchParams(n),i=e.searchParams;if(r.get(`root`)||i.get(`root`))return Z(t)}}let n=or(t)[0];return n?sr(n):null}function Br(e){if(typeof e==`string`)return zr(e);if(e&&typeof e==`object`){let t=e;if(typeof t.url==`string`)return zr(t.url);if(typeof t.href==`string`)return zr(t.href)}return null}function Vr(e,t=0){if(!e||typeof e!=`object`||Array.isArray(e)||t>4)return null;let n=e,r=n.skip;if(Array.isArray(r)&&typeof r[1]==`string`){let e=zr(r[1]);if(e)return e}for(let e of`prevUrl.prevURL.prev.prevId.prev_id.previousUrl.previousURL.previous.previousId.previous_id.parentUrl.parentURL.parent.parentId.parent_id.replyToUrl.replyToURL.replyTo.replyToId.replyTo_id.inReplyToUrl.inReplyToURL.inReplyTo.inReplyToId.inReplyTo_id.refUrl.ref_url.ref`.split(`.`)){let t=Br(n[e]);if(t)return t}for(let e of[`capsule`,`data`,`payload`]){let r=Vr(n[e],t+1);if(r)return r}return null}function Hr(e){let t=Math.max(0,Math.floor(e));if(t<=2)return t;let n=1,r=2;for(;;){let e=n+r;if(e>t)return r;n=r,r=e}}function Ur(e,t){let n=tr(),r=new URL(n||Kn,er()),i=[e,...t],a=br(i),o={v:Jn,id:`seg:${a}:${i.length}`,m:a,n:i.length,a:t.length,r:zn(e,8,6)},s=new URLSearchParams;s.set(`v`,Jn),s.set(`root`,e),s.set(`seg`,Sr(o));for(let e of t)s.append(`add`,e);return r.hash=s.toString()?`#${s.toString()}`:``,r.search=``,{url:r.toString(),rootRef:e,adds:[...t],meta:o}}function Wr(e,t){let n=0,r=t.length;for(;n0?a:i)),s=t.length-o;return{keepFrom:s,kept:t.slice(s)}}function Gr(e,t,n=0){if(n>64)return{primary:Ur(e,[]),archives:[]};let r=Ur(e,t);if(r.url.length<=Yn)return{primary:r,archives:[]};let{keepFrom:i,kept:a}=Wr(e,t),o=Ur(e,a);if(o.url.length>Yn)return{primary:Ur(e,[]),archives:[]};if(i<=0)return{primary:o,archives:[]};let s=t.slice(0,i),c=a[0];if(!c)return{primary:o,archives:[]};let l=Gr(c,s,n+1);return{primary:o,archives:[l.primary,...l.archives]}}function Q(e){let t=[],n=new Set;for(let r of e){let e=String(r??``).trim();e&&(n.has(e)||(n.add(e),t.push(e)))}return t}function Kr(e){let t=0;for(let n of e)X(n).startsWith(Y)&&t++;return t}function qr(e,t){let n=X(e);if(t)return`k:${xr(t)}`;if(n.startsWith(Y)){let e=vr(n);return e?`k:${xr(e)}`:`k:${yr(n)}`}let r=or(n)[0];return r?`t:${Zn(r)}`:`u:${Z(n)}`}var Jr=4096,Yr=new Map,Xr=0,Zr=0,Qr=!1,$r=new Set;function ei(){if(Qr)return;Qr=!0;let e=()=>{Qr=!1,Zr++;for(let e of $r)e()};typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e)}function ti(e){return $r.add(e),()=>$r.delete(e)}function ni(){return Zr}function ri(){return 0}function ii(e){let t=Yr.get(e.key);if(!(t&&t.prevKey===e.prevKey&&t.payloadRef===e.payloadRef&&t.fallbackRef===e.fallbackRef))for(Yr.has(e.key)&&Yr.delete(e.key),Yr.set(e.key,{...e,tick:++Xr}),ei();Yr.size>Jr;){let e=Yr.keys().next().value;if(!e)break;Yr.delete(e),ei()}}function ai(e,t){let n=[],r=new Set,i=Yr.get(e)?.prevKey??null,a=0;for(;i&&atypeof e==`string`&&e.trim().toLowerCase()===`manual`,ui=e=>{if(Vn(e))return li(e)?si:e};function di(e,t=0){if(t>5)return!1;if(li(e))return!0;if(Array.isArray(e)){for(let n of e)if(di(n,t+1))return!0;return!1}if(e&&typeof e==`object`){let n=e;for(let e of Object.keys(n))if(di(n[e],t+1))return!0}return!1}function fi(e,t){if(!J(e))return;let n=e[t];return typeof n==`string`&&n.trim()?n.trim():void 0}function pi(e,t){if(!J(e))return[];let n=e[t];if(!Array.isArray(n))return[];let r=[];for(let e of n)typeof e==`string`&&e.trim()&&r.push(e.trim());return r}function mi(e){if(!J(e))return{};let t=fi(e,`caption`),n=e.body;if(J(n)){let e=fi(n,`kind`),r=e===`text`||e===`md`||e===`code`||e===`html`?e:void 0;if(r===`text`)return{text:fi(n,`text`)??t,kind:r};if(r===`md`)return{text:fi(n,`md`)??t,kind:r};if(r===`code`)return{text:fi(n,`code`)??t,kind:r};if(r===`html`)return{text:fi(n,`html`)??t,kind:r}}return{text:t,kind:void 0}}function hi(e){if(!J(e))return[];let t=e.attachments;if(!J(t))return[];let n=t.items;if(!Array.isArray(n))return[];let r=[];for(let e of n){if(!J(e))continue;let t=fi(e,`url`);if(t){r.push({url:t});continue}let n=fi(e,`href`);n&&r.push({url:n})}return r}function gi(e,t){let n=e??t;if(!n)return{};let{text:r,kind:i}=mi(n),a=pi(n,`tags`),o=hi(n),s=typeof r==`string`&&r.trim().length>0,c=o.length>0,l=a.length>0;return!s&&!c&&!l?{}:{post:{title:void 0,text:s?r:void 0,tags:l?a:void 0,media:c?o.map(e=>({kind:`url`,url:e.url})):void 0},bodyKind:i}}function _i(e){if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,`true`),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,document.body.appendChild(t);let n=document.activeElement instanceof HTMLElement?document.activeElement:null;t.focus(),t.select();let r=document.execCommand(`copy`);return document.body.removeChild(t),n&&n.focus(),r}catch{return!1}}function vi(e){if(typeof window>`u`)return null;let t=window.navigator;return t!==void 0&&t.clipboard!==void 0&&typeof t.clipboard.writeText==`function`&&window.isSecureContext?t.clipboard.writeText(e):null}function yi(e,t,n){if(_i(e)){t();return}let r=vi(e);if(r){t(),r.catch(e=>n(e));return}n()}var bi=`sigil:urls`,xi=`sigil:feed`,Si=`kai-sigil-registry`,Ci=`kai:sigils:v1`,wi=`kai-feed-registry`,Ti=0,Ei=!1,Di=new Set,Oi=!1,ki=null,Ai=null;function ji(){if(Ei)return;Ei=!0;let e=()=>{Ei=!1,Ti++;for(let e of Di)e()};typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e)}function Mi(e){return Di.add(e),()=>Di.delete(e)}function Ni(){return Ti}function Pi(){return 0}function Fi(e){let t=[];if(Array.isArray(e)){for(let n of e)typeof n==`string`&&n.trim()&&t.push(n.trim());return t}if(J(e)){let n=e.urls;if(Array.isArray(n)){for(let e of n)typeof e==`string`&&e.trim()&&t.push(e.trim());return t}let r=Object.keys(e).filter(e=>e.startsWith(`http`)||e.startsWith(`/`)||e.includes(`/stream`)||e.includes(`/s/`));if(r.length)return r;for(let n of Object.values(e))J(n)&&typeof n.url==`string`&&n.url.trim()&&t.push(n.url.trim());return t}return t}function Ii(e){if(typeof window>`u`||window.localStorage===void 0)return[];let t=window.localStorage.getItem(e);if(!t)return[];try{return Fi(JSON.parse(t))}catch{return[]}}function Li(e){let t=e.trim();if(!t)return``;try{return new URL(t,er()).toString()}catch{return t}}function Ri(){let e=Q([...Ii(xi),...Ii(bi),...Ii(Ci)]),t=[];for(let n of e){let e=Li(n);e&&t.push(e)}return Q(t)}function zi(e){let t=X(e);return t?t.startsWith(Y)?Ur(t,[]).url:cr(t)??Z(t):``}function Bi(e){let t=Q(Ir(e))[0]??e;return qr(t,(t.startsWith(Y)?vr(t):null)??void 0)}function Vi(e){let t=X(e);if(!t)return null;if(t.startsWith(Y))return vr(t);let n=ur(t);return n.decoded.ok?n.decoded.data:null}function Hi(e,t){let n=X(e);if(!n)return e;let r=Q(Ir(n));if(r.length>0)return r[0];let i=n,a=t===void 0?null:t;a||=Vi(i);let o=new Set;for(let e=0;e<48;e++){let e=qr(i,a??void 0);if(o.has(e))break;o.add(e);let t=a?Vr(a):null;if(!t)return i;i=t,a=Vi(i)}return i}function Ui(e,t){let n=Hi(e,t);return qr(n,(n.startsWith(Y)?vr(n):Vi(n))??void 0)}function Wi(e){let t=X(e);if(/^[0-9a-fA-F]{64}$/.test(t))try{return Rn(t.toLowerCase())}catch{}return`${nr()}/${encodeURIComponent(t)}`}function Gi(e,t){if(!J(e))return null;for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim()}return null}function Ki(e,t){let n=X(e);if(ir(n))return n;let r=Gi(t,[`sigilUrl`,`sigilURL`,`sigil_url`,`sigilHref`,`sigil_href`,`sUrl`,`s_url`,`s`])??null;if(r&&ir(r))return Z(r);let i=Gi(t,[`id`,`contentId`,`cid`,`hash`,`contentHash`])??null;if(i&&/^[0-9a-fA-F]{64}$/.test(i))return Wi(i);let a=J(t)?t.sigilId:void 0;if(typeof a==`string`&&a.trim())return Wi(a);let o=or(n)[0];return o?Wi(o):null}function qi(e,t){let n=Hi(e,t),r=Vi(n),i=Ki(n,r?dr(r):null);return i?Z(i):zi(n)}function Ji(e){let t=rr(e);if(!t)return 0;let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=t.searchParams;return r.getAll(`add`).length+i.getAll(`add`).length}function Yi(e){let t=Ji(e),n=e.length;return t*1e5+n}function Xi(e){let t=or(e)[0];if(t)return`t:${Zn(t)}`;let n=Lr(e);if(n){let e=vr(n);return e?`r:${xr(e)}`:`r:${yr(n)}`}return`u:${Z(e)}`}function Zi(e,t){if(typeof window>`u`||window.localStorage===void 0)return{changed:!1,added:!1,updated:!1,value:t};let n=Li(t);if(!n)return{changed:!1,added:!1,updated:!1,value:t};try{let t=window.localStorage.getItem(e),r=[];if(t){let e=JSON.parse(t);if(Array.isArray(e))for(let t of e)typeof t==`string`&&r.push(t)}let i=new Map,a=[];for(let e of r){let t=Li(e);if(!t)continue;let n=Xi(t),r=Yi(t),o=i.get(n);o?r>o.score&&i.set(n,{url:t,score:r,index:o.index}):(i.set(n,{url:t,score:r,index:a.length}),a.push(n))}let o=Xi(n),s=Yi(n),c=i.get(o),l=!1,u=!1;c?s>c.score&&(i.set(o,{url:n,score:s,index:c.index}),u=!0):(i.set(o,{url:n,score:s,index:a.length}),a.push(o),l=!0);let d=[];for(let e of a){let t=i.get(e);t&&d.push(t.url)}let f=JSON.stringify(r),p=JSON.stringify(d);return f===p?{changed:!1,added:l,updated:u,value:n}:(window.localStorage.setItem(e,p),{changed:!0,added:l,updated:u,value:n})}catch{return{changed:!1,added:!1,updated:!1,value:n}}}function Qi(e){if(!(typeof window>`u`)){try{window.__SIGIL__?.registerSigilUrl?.(e)}catch{}try{window.dispatchEvent(new CustomEvent(`sigil:url-registered`,{detail:{url:e}}))}catch{}try{if(`BroadcastChannel`in window){let t=new BroadcastChannel(Si);t.postMessage({type:`sigil:add`,url:e}),t.close()}}catch{}}}function $i(e){if(!(typeof window>`u`)){try{window.dispatchEvent(new CustomEvent(`sigil:feed-registered`,{detail:{url:e}}))}catch{}try{if(`BroadcastChannel`in window){let t=new BroadcastChannel(wi);t.postMessage({type:`feed:add`,url:e}),t.close()}}catch{}}}function ea(e){let t=0,n=e.toLowerCase();return ir(e)&&(t+=5e6),(/[?&#]t=/.test(n)||n.includes(`/stream/t`))&&(t+=2e6),n.includes(`/stream/p/`)&&(t-=5e5),/[?&#]v=/.test(n)&&(t-=25e4),t+=Yi(e),t}function ta(e,t){if(typeof window>`u`||window.localStorage===void 0)return;let n=Ii(xi);if(!n.length)return;let r=[],i=null,a=-1/0;for(let t of n){let n=Li(t);if(!n)continue;if(Ui(n)!==e){r.push(n);continue}let o=ea(n);o>a&&(a=o,i=n)}if(t){let e=Li(t);if(e){let t=ea(e);t>a&&(a=t,i=e)}}i&&r.push(i);let o=Q(r);try{let e=window.localStorage.getItem(xi)??`[]`,t=JSON.stringify(Fi(JSON.parse(e))),n=JSON.stringify(o);t!==n&&window.localStorage.setItem(xi,n)}catch{}}function na(){if(typeof window>`u`||Oi)return;Oi=!0;let e=e=>{let t=e.key??``;(t===bi||t===xi||t===Ci)&&ji()};try{window.addEventListener(`storage`,e)}catch{}let t=e=>{let t=e?.detail?.url;typeof t!=`string`||!t.trim()||(Zi(xi,t),ji())};try{window.addEventListener(`sigil:feed-registered`,t),window.addEventListener(`feed:url-registered`,t)}catch{}try{`BroadcastChannel`in window&&(ki=new BroadcastChannel(Si),ki.onmessage=e=>{let t=e.data,n=J(t)&&typeof t.url==`string`?t.url:null;n&&(Zi(bi,n),ji())},Ai=new BroadcastChannel(wi),Ai.onmessage=e=>{let t=e.data,n=J(t)&&typeof t.url==`string`?t.url:null;n&&(Zi(xi,n),ji())})}catch{}ji()}function ra(e){return J(e)&&typeof e.pulse==`number`&&Number.isFinite(e.pulse)?e.pulse:J(e)&&J(e.data)&&typeof e.data.pulse==`number`&&Number.isFinite(e.data.pulse)?e.data.pulse:0}function ia(e){let t=J(e)?e.appId:void 0;if(typeof t==`string`&&t.trim())return t;let n=J(e)&&J(e.data)?e.data.appId:void 0;if(typeof n==`string`&&n.trim())return n}function aa(e){let t=J(e)?e.userId:void 0;return t===void 0?J(e)&&J(e.data)?e.data.userId:void 0:t}function oa(e){let t=X(e);if(t.startsWith(Y)){let e=vr(t);if(e){let n=t.startsWith(Y)?t:`${Y}${t}`;return{kind:`embedded`,rootRef:n,payload:e,openUrl:Ur(n,[]).url}}}let n=Lr(t);if(n){let e=vr(n);if(e)return{kind:`embedded`,rootRef:n,payload:e,openUrl:Ur(n,[]).url}}return{kind:`sigilUrl`,openUrl:Z(t)}}var sa=({url:e,depth:t=0,seen:n=[],addChain:r,addIndex:i,threadMode:a=`thread`})=>{let[s,l]=(0,L.useState)(!1),[d,f]=(0,L.useState)(!1),[m,h]=(0,L.useState)(!1),te=(0,L.useSyncExternalStore)(ti,ni,ri),ne=(0,L.useMemo)(()=>oa(e),[e]),g=(0,L.useMemo)(()=>ur(e),[e]),_=(0,L.useMemo)(()=>{if(ne.kind===`embedded`){let e=ne.payload,t=dr(e);if(!t)return{ok:!1,openUrl:ne.openUrl,error:`Invalid embedded payload (missing capsule).`};let n=ra(e),r=ia(e),i=aa(e);return{ok:!0,openUrl:ne.openUrl,dataRaw:e,storePayload:e,pulse:n,appId:r,userId:i,capsule:t}}let t=g.decoded,n=Z(g.resolvedUrl||e);if(!t.ok)return{ok:!1,openUrl:n,error:(`error`in t?t.error:void 0)??`Decode failed.`};let r=t.data,i=dr(r);if(!i)return{ok:!1,openUrl:n,error:`Decode ok, but capsule missing.`};let a=typeof t.data.pulse==`number`&&Number.isFinite(t.data.pulse)?t.data.pulse:ra(t.data),o=typeof t.data.appId==`string`&&t.data.appId?t.data.appId:ia(t.data),s=t.data.userId??aa(t.data);return{ok:!0,openUrl:n,dataRaw:r,storePayload:t.data,pulse:a,appId:o,userId:s,capsule:i}},[ne,g.decoded,g.resolvedUrl,e]),v=_.ok,y=v?_:null,b=v?y.storePayload:null,x=v?y.capsule:null,S=(0,L.useMemo)(()=>Ki(e,x),[e,x]),C=(0,L.useMemo)(()=>Q(r?[...r]:Ir(e)).slice(-Fr),[r,e]),w=(0,L.useMemo)(()=>typeof i==`number`&&Number.isFinite(i)?i:C.length-1,[i,C.length]),T=(0,L.useMemo)(()=>!C.length||w<0||w>=C.length?null:C[w]??null,[C,w]),E=(0,L.useMemo)(()=>v&&b?qr(e,b):qr(e),[v,b,e]),D=(0,L.useMemo)(()=>[...n,E],[n,E]),O=(0,L.useMemo)(()=>{if(t>=Fr)return null;let e=v?y.dataRaw??b:null,n=T??(e?Vr(e):null);if(!n)return null;let r=qr(n,(n.startsWith(Y)?vr(n):null)??void 0);return D.includes(r)?null:n},[T,t,D,v,y,b]),k=(0,L.useMemo)(()=>{if(!v||!b)return null;try{return _r(b)}catch{return null}},[v,b]),re=(0,L.useMemo)(()=>C.length?Q(C.slice(0,Math.max(0,w+1))).slice(-Fr):[],[C,w]);(0,L.useLayoutEffect)(()=>{if(!v)return;let e=k,t=Z(_.openUrl),n=null;if(O){let e=null;if(O.startsWith(Y))e=vr(O);else{let t=ur(O);t.decoded.ok&&(e=t.decoded.data)}n=qr(O,e??void 0)}ii({key:E,prevKey:n,payloadRef:e??null,fallbackRef:t})},[v,_.openUrl,E,O,k]);let ie=(0,L.useSyncExternalStore)(Mi,Ni,Pi);(0,L.useEffect)(()=>{na()},[]);let ae=(0,L.useMemo)(()=>Bi(zi(S??_.openUrl??e)),[S,_.openUrl,e]),A=(0,L.useMemo)(()=>{if(!v)return{origin:null,replies:[]};let t=zi(C.length>0?C[0]:S??e),n=Bi(t),r=Q([zi(e),zi(_.openUrl),...C.map(e=>zi(e)),...Ri()]).filter(Boolean),i=new Map,a=(e,t)=>{let n=0,r=e.toLowerCase();return t?ir(e)?n+=260:n+=40:((/[?&#]t=/.test(r)||r.includes(`/stream/t`))&&(n+=240),r.includes(`/stream/p/`)&&(n-=25),/[?&#]v=/.test(r)&&(n-=20),ir(e)&&(n-=40)),n+=Math.max(0,20-Math.floor(e.length/40)),n+=Math.min(2e5,Yi(e)),n};for(let e of r){let t=Li(e);if(!t)continue;let r=Bi(t);if(!r)continue;let o=Q(Ir(t)),s=r===n;if(!s&&o.length>0){for(let e of o)if(Bi(zi(e))===n){s=!0;break}}if(!s)continue;let c=ur(t),l=c.decoded.ok?ra(c.decoded.data):0,u=a(t,r===n),d=i.get(r);if(!d||u>d.score){let e=cr(t)??t;i.set(r,{url:e,score:u,pulse:l})}}let o=i.get(n)?.url??t,s={key:n,url:o,pulse:(()=>{let e=ur(o);return e.decoded.ok?ra(e.decoded.data):0})()},c=[];for(let[e,t]of i.entries())e!==n&&e!==ae&&(ir(t.url)||c.push({key:e,url:t.url,pulse:t.pulse}));return c.sort((e,t)=>(t.pulse??0)-(e.pulse??0)),{origin:s,replies:c}},[v,C,S,e,_.openUrl,ae,ie]),j=(0,L.useCallback)(()=>{if(!v||!b)return{primary:{url:Z(_.openUrl),rootRef:``,adds:[],meta:{v:Jn,id:`seg:none`,m:``,n:0,a:0,r:``}},archives:[]};let e=k??_r(b),t=Q(ai(E,Fr)),n=Q(re),r=Kr(n),i=Kr(t),a=r>i?n:rt.length?n:t.length>n.length?t:n,o=[];for(let e of a){let t=X(e);if(!t)continue;if(t.startsWith(Y)){o.push(t);continue}let n=ur(t),r=n.decoded.ok?n.decoded.data:null;if(r){let e=qr(t,r),n=Yr.get(e);if(n?.payloadRef){o.push(n.payloadRef);continue}try{o.push(_r(r));continue}catch{}}o.push(Z(t))}return Gr(e,Q(o).slice(-Fr))},[v,b,_.openUrl,k,E,re]),oe=(0,L.useMemo)(()=>j(),[j,te]),se=oe.primary.url,ce=oe.archives.length>0,le=(0,L.useMemo)(()=>cr(e)??cr(_.openUrl),[e,_.openUrl]),ue=(0,L.useMemo)(()=>gi(x,v?y.dataRaw:null),[x,v,y]),de=!!O,fe=(0,L.useMemo)(()=>{if(!v||!x)return!1;let e=x;return!!(e.post||e.message||e.share||e.reaction)},[v,x]),M=(0,L.useMemo)(()=>{if(!v||!x)return!1;let e=x,t=Pr(y.dataRaw,``),n=(Vn(e.source)?e.source:void 0)??Nr(y.dataRaw);return li(t)||li(n)||di(e)},[v,x,y]),pe=(0,L.useMemo)(()=>fe||!!ue.post,[fe,ue.post]),N=(0,L.useMemo)(()=>M||pe||de,[M,pe,de]),P=N;(0,L.useEffect)(()=>{if(typeof window>`u`||t!==0)return;na();let n=cr(window.location.href)??le??cr(_.openUrl)??se??Z(e),r=Q([n,...C.map(e=>zi(e)).filter(Boolean)]);for(let e of r){let t=Zi(bi,e);t.changed&&Qi(t.value)}if(P){let e=v?y.dataRaw??b:void 0,t=qi(n,e),r=Zi(xi,t);r.changed&&$i(r.value),ta(Ui(n,e),t)}ji()},[t,e,_.openUrl,le,se,P,C,v,y,b]);let F=(0,L.useMemo)(()=>le??se,[le,se]),I=(0,L.useMemo)(()=>v?N?F:S??F:_.openUrl,[v,_.openUrl,N,F,S]),me=(0,L.useMemo)(()=>I,[I]),he=(0,L.useCallback)(()=>{let e=j();return[e.primary.url,...e.archives.map(e=>e.url)].join(` `)},[j]),ge=(0,L.useCallback)(()=>{yi(me,()=>{l(!0),typeof window<`u`&&window.setTimeout(()=>l(!1),1100)},e=>{l(!1)})},[me]),_e=(0,L.useCallback)(()=>{yi(he(),()=>{f(!0),typeof window<`u`&&window.setTimeout(()=>f(!1),1100)},e=>{f(!1)})},[he]);if(!_.ok)return(0,R.jsxs)(`article`,{className:`fc fc--error`,role:`group`,"aria-label":`Invalid Sigil-Glyph`,children:[(0,R.jsx)(`div`,{className:`fc-crystal`,"aria-hidden":`true`}),(0,R.jsxs)(`div`,{className:`fc-shell`,children:[(0,R.jsx)(`header`,{className:`fc-head`,children:(0,R.jsxs)(`div`,{className:`fc-titleRow`,children:[(0,R.jsx)(`span`,{className:`fc-chip fc-chip--danger`,children:`INVALID`}),(0,R.jsx)(`span`,{className:`fc-muted`,children:`Sigil-Glyph capsule could not be resolved`})]})}),(0,R.jsx)(`div`,{className:`fc-error`,role:`alert`,children:_.error}),(0,R.jsxs)(`footer`,{className:`fc-actions`,role:`group`,"aria-label":`Actions`,children:[(0,R.jsx)(`a`,{className:`fc-btn`,href:I,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),title:`Open the best available href for this capsule`,children:`↗ Open`}),(0,R.jsx)(`button`,{className:`fc-btn`,type:`button`,onClick:ge,"aria-pressed":s,"data-state":s?`remembered`:`idle`,title:`Copies the same href as Open for this block.`,children:s?`Remembered`:`Remember`})]})]})]});let ve=36n,ye=BigInt(44);function be(e){if(!Number.isFinite(e))return 0n;let t=Math.trunc(e);return BigInt(t)*1000000n}function xe(e){let t=wr(be(e),o),n=Tr(t*ve,o),r=Math.max(0,Math.min(35,Er(n))),i=Tr(BigInt(r)*o,ve),a=(r>=35?o:Tr(BigInt(r+1)*o,ve))-i,s=t-i,c=a>0n?Tr(s*ye,a):0n;return{beatZ:r,stepZ:Math.max(0,Math.min(43,Er(c)))}}let z=y.capsule,Se=z.post,B=z.message,V=z.share,H=z.reaction,U=Se??ue.post,W=typeof y.pulse==`number`&&Number.isFinite(y.pulse)?y.pulse:0,{beatZ:Ce,stepZ:we}=xe(W),Te=c(W),Ee=Or(Te.chakraDay,Te.chakraDay),De=Ee===`Crown`?`Krown`:String(Ee),{day:Oe,month:ke,year:Ae}=Dr(W),je=U?`post`:B?`message`:V?`share`:H?`reaction`:`sigil`,Me=Pr(y.dataRaw,je),Ne=String(Me),Pe=typeof y.appId==`string`&&y.appId?`app ${zn(y.appId,10,4)}`:void 0,Fe=y.userId!==void 0&&y.userId!==null?`user ${zn(String(y.userId),10,4)}`:void 0,Ie=Vn(z.sigilId)?z.sigilId:void 0,Le=Vn(z.phiKey)?z.phiKey:void 0,Re=Vn(z.kaiSignature),ze=Re?`Signature present (Kai Signature)`:`Unsigned capsule`,Be=Vn(z.author)?z.author:void 0,Ve=(Vn(z.source)?z.source:void 0)??Nr(y.dataRaw),He=Hn(N?si:ci),Ue=N?si:ci,We=Ve?li(Ve)?Hn(si):Hn(Ve):void 0,Ge=!!We&&We!==He,Ke=ui(U?.title),qe=ui(U?.text),Je=ui(B?.text),Ye=ui(V?.note),Xe=jr(W,Ce,we,Oe,ke,Ae),Ze=ee(u(be(W)).percentIntoStep),Qe={Ignite:[255,92,72],Integrate:[255,160,72],Harmonize:[255,215,128],Reflekt:[72,255,170],Purify:[42,197,255],Dream:[180,120,255]},$e={ignite:`Ignite`,ignition:`Ignite`,"ignition ark":`Ignite`,integrate:`Integrate`,integration:`Integrate`,"integration ark":`Integrate`,harmonize:`Harmonize`,harmonization:`Harmonize`,"harmonization ark":`Harmonize`,reflekt:`Reflekt`,reflection:`Reflekt`,"reflection ark":`Reflekt`,purify:`Purify`,purification:`Purify`,"purification ark":`Purify`,dream:`Dream`,"dream ark":`Dream`};function et(e){return $e[e.trim().toLowerCase()]??null}let[tt,nt,rt]=Mr[Ee],it=et(Xe.arc),[at,ot,st]=it?Qe[it]:[tt,nt,rt],ct={"--fc-arc-r":String(at),"--fc-arc-g":String(ot),"--fc-arc-b":String(st),"--fc-accent-r":String(at),"--fc-accent-g":String(ot),"--fc-accent-b":String(st)},lt=(W%13+13)%13,ut={"--fc-day-r":String(tt),"--fc-day-g":String(nt),"--fc-day-b":String(rt),"--fc-accent-r":String(tt),"--fc-accent-g":String(nt),"--fc-accent-b":String(rt),"--fc-arc-r":String(at),"--fc-arc-g":String(ot),"--fc-arc-b":String(st),"--fc-pulse-dur":`5236ms`,"--fc-pulse-offset":`${-(lt*120)}ms`,"--fc-thread-depth":String(t)},dt=N?`memory`:Ne,ft=N?`↗ Proof of Memory™`:`↗ Proof of Breath™`,pt=N?`Open ${si}`:`Open ${ci}`,mt=t===0&&a!==`self`,ht=(qe??Je??Ye??``)||``,gt=ue.bodyKind===`code`||ue.bodyKind===`html`?`code`:`text`,_t=ht?Wn(ht,gt):null,vt=!!_t?.shouldCollapse,yt=vt&&!m,bt=`fc-body-${yr(E).slice(0,10)}`,xt=e=>{e.preventDefault(),e.stopPropagation(),h(e=>!e)},St=e=>{if(!mt&&!Gn(e.target??null)){if(`key`in e){let t=e.key;if(t!==`Enter`&&t!==` `)return;e.preventDefault()}try{window.open(I,`_blank`,`noopener,noreferrer`)}catch{}}},Ct=w-1;return(0,R.jsxs)(R.Fragment,{children:[a!==`self`&&O?(0,R.jsx)(sa,{url:O,depth:t+1,seen:D,addChain:C,addIndex:Ct,threadMode:a}):null,(0,R.jsxs)(`article`,{className:`fc fc--crystal ${Re?`fc--signed`:`fc--unsigned`} ${mt?`fc--primary`:`fc--preview`}`,role:mt?`article`:`link`,tabIndex:mt?-1:0,onClick:St,onKeyDown:St,"aria-label":`${Ue} glyph`,"data-kind":dt,"data-chakra":De,"data-signed":Re?`true`:`false`,"data-beat":Ar(Ce),"data-step":Ar(we),"data-collapsed":yt?`true`:`false`,style:ut,children:[(0,R.jsx)(`div`,{className:`fc-crystal`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`fc-rim`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`fc-veil`,"aria-hidden":`true`}),(0,R.jsxs)(`div`,{className:`fc-shell`,children:[(0,R.jsx)(`aside`,{className:`fc-left`,"aria-label":N?si:ci,children:(0,R.jsxs)(`div`,{className:`fc-sigilStage`,children:[(0,R.jsx)(`div`,{className:`fc-sigilGlass`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`fc-sigil`,"aria-label":N?si:ci,children:(0,R.jsx)(p,{pulse:W,beat:Ce,stepPct:Ze,chakraDay:Ee})}),(0,R.jsxs)(`div`,{className:`fc-stamp mono`,"aria-label":`Kai stamp`,children:[(0,R.jsx)(`span`,{className:`fc-stamp__pulse`,title:`Pulse`,children:W}),(0,R.jsx)(`span`,{className:`fc-stamp__sep`,children:`•`}),(0,R.jsx)(`span`,{className:`fc-stamp__bbss`,title:`Beat:Step (zero-based)`,children:Xe.label})]})]})}),(0,R.jsxs)(`section`,{className:`fc-right`,children:[(0,R.jsxs)(`header`,{className:`fc-head`,"aria-label":`Glyph metadata`,children:[(0,R.jsxs)(`div`,{className:`fc-metaRow`,children:[(0,R.jsx)(`span`,{className:`fc-chip fc-chip--kind`,title:N?`${si} • type: ${Ne}`:`${ci} • type: ${Ne}`,children:He}),Pe&&(0,R.jsx)(`span`,{className:`fc-chip`,children:Pe}),Fe&&(0,R.jsx)(`span`,{className:`fc-chip`,children:Fe}),!N&&Ie?(0,R.jsxs)(`span`,{className:`fc-chip fc-chip--sigil`,title:`Sigil-Glyph: ${Ie}`,children:[`SIGIL-GLYPH `,zn(Ie,6,4)]}):null,Le&&(0,R.jsxs)(`span`,{className:`fc-chip fc-chip--phikey`,title:`ΦKey: ${Le}`,children:[`ΦKEY `,zn(Le,6,4)]}),Be&&(0,R.jsx)(`span`,{className:`fc-chip fc-chip--author`,title:`Author handle / origin`,children:Be}),Ge&&We&&(0,R.jsx)(`span`,{className:`fc-chip fc-chip--source`,title:`Source`,children:We}),(0,R.jsx)(`span`,{className:`fc-chip fc-chip--chakra`,title:`Chakra day`,children:De}),(0,R.jsx)(`span`,{className:`fc-sig ${Re?`fc-sig--ok`:`fc-sig--warn`}`,title:ze,"aria-label":ze,children:Re?`SIGNED`:`UNSIGNED`}),(()=>{let e=Rr(se);return e?(0,R.jsxs)(`span`,{className:`fc-chip`,title:`Merkle: ${e.m}`,children:[`SEG `,zn(e.id,10,6)]}):null})()]}),(0,R.jsxs)(`div`,{className:`fc-kaiRow`,"aria-label":`Kai meta`,children:[(0,R.jsx)(`span`,{className:`fc-kai mono`,title:`Kai meta line`,children:Xe.line}),(0,R.jsx)(`span`,{className:`fc-arc`,title:`Arc`,style:ct,children:Xe.arc})]})]}),U&&(0,R.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Post body`,children:[Vn(Ke)&&(0,R.jsx)(`h3`,{className:`fc-title`,children:Ke}),Vn(qe)?(0,R.jsxs)(`div`,{className:`fc-collapse`,"data-open":m?`true`:`false`,children:[(0,R.jsx)(`div`,{id:bt,className:`fc-collapse__content`,style:{maxHeight:yt?`${_t?.maxHeightPx??240}px`:`none`,overflow:yt?`hidden`:`visible`},children:ue.bodyKind===`code`||ue.bodyKind===`html`?(0,R.jsx)(`pre`,{className:`fc-body`,style:{whiteSpace:`pre-wrap`},children:qe}):(0,R.jsx)(`p`,{className:`fc-body`,children:qe})}),vt?(0,R.jsx)(`button`,{className:`fc-btn fc-btn--ghost fc-collapse__toggle`,type:`button`,onClick:xt,"aria-expanded":m,"aria-controls":bt,"data-no-open":`true`,title:`Expand/collapse long content`,children:m?`Collapse`:`Expand${_t?.lines?` • ${_t.lines} lines`:``}`}):null]}):null,Array.isArray(U.tags)&&U.tags.length>0&&(0,R.jsx)(`div`,{className:`fc-tags`,"aria-label":`Tags`,children:U.tags.map(e=>(0,R.jsxs)(`span`,{className:`fc-tag`,children:[`#`,e]},e))}),Array.isArray(U.media)&&U.media.length>0&&(0,R.jsx)(`div`,{className:`fc-media`,"aria-label":`Attached media`,children:U.media.map(e=>{let t=`${e.kind}:${e.url}`,n=Bn(e.url)??e.kind;return(0,R.jsx)(`a`,{className:`fc-btn fc-btn--ghost`,href:e.url,target:`_blank`,rel:`noreferrer`,title:e.url,onClick:e=>e.stopPropagation(),children:n},t)})})]}),B&&(0,R.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Message body`,children:[(0,R.jsxs)(`h3`,{className:`fc-title`,children:[`Message → `,zn(String(B.toUserId??`recipient`),10,4)]}),Vn(Je)?(0,R.jsxs)(`div`,{className:`fc-collapse`,"data-open":m?`true`:`false`,children:[(0,R.jsx)(`div`,{id:`${bt}-m`,className:`fc-collapse__content`,style:{maxHeight:yt?`${_t?.maxHeightPx??240}px`:`none`,overflow:yt?`hidden`:`visible`},children:(0,R.jsx)(`p`,{className:`fc-body`,children:Je})}),vt?(0,R.jsx)(`button`,{className:`fc-btn fc-btn--ghost fc-collapse__toggle`,type:`button`,onClick:xt,"aria-expanded":m,"aria-controls":`${bt}-m`,"data-no-open":`true`,children:m?`Collapse`:`Expand`}):null]}):null]}),V&&(0,R.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Share body`,children:[(0,R.jsx)(`h3`,{className:`fc-title`,children:`Share`}),(0,R.jsx)(`a`,{className:`fc-link`,href:V.refUrl,target:`_blank`,rel:`noreferrer`,title:V.refUrl,onClick:e=>e.stopPropagation(),children:Bn(V.refUrl)??V.refUrl}),Vn(Ye)?(0,R.jsxs)(`div`,{className:`fc-collapse`,"data-open":m?`true`:`false`,children:[(0,R.jsx)(`div`,{id:`${bt}-s`,className:`fc-collapse__content`,style:{maxHeight:yt?`${_t?.maxHeightPx??240}px`:`none`,overflow:yt?`hidden`:`visible`},children:(0,R.jsx)(`p`,{className:`fc-body`,children:Ye})}),vt?(0,R.jsx)(`button`,{className:`fc-btn fc-btn--ghost fc-collapse__toggle`,type:`button`,onClick:xt,"aria-expanded":m,"aria-controls":`${bt}-s`,"data-no-open":`true`,children:m?`Collapse`:`Expand`}):null]}):null]}),H&&(0,R.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Reaction body`,children:[(0,R.jsx)(`h3`,{className:`fc-title`,children:`Reaction`}),(0,R.jsxs)(`div`,{className:`fc-body`,children:[Vn(H.emoji)?H.emoji:`❤️`,typeof H.value==`number`?` × ${H.value}`:null]}),(0,R.jsx)(`a`,{className:`fc-link`,href:H.refUrl,target:`_blank`,rel:`noreferrer`,title:H.refUrl,onClick:e=>e.stopPropagation(),children:Bn(H.refUrl)??H.refUrl})]}),!U&&!B&&!V&&!H&&(0,R.jsx)(`section`,{className:`fc-bodywrap`,"aria-label":`Sigil body`,children:N&&ce?(0,R.jsxs)(`div`,{className:`fc-muted`,style:{marginTop:8},children:[`Archive segments: `,oe.archives.length,` (use `,(0,R.jsx)(`b`,{children:`Pack`}),` to copy them)`]}):null}),a!==`self`&&t===0?(0,R.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Thread`,children:[(0,R.jsx)(`h3`,{className:`fc-title`,children:`Thread`}),A.origin&&A.origin.key!==ae?(0,R.jsxs)(`div`,{style:{marginTop:10},children:[(0,R.jsx)(`div`,{className:`fc-muted`,style:{marginBottom:10},children:`Origin`}),(0,R.jsx)(sa,{url:A.origin.url,threadMode:`self`,depth:1,seen:[E]})]}):null,(0,R.jsxs)(`div`,{style:{marginTop:14},children:[(0,R.jsxs)(`div`,{className:`fc-muted`,style:{marginBottom:10},children:[`Replies (`,A.replies.length,`)`]}),A.replies.length?A.replies.map(e=>(0,R.jsx)(sa,{url:e.url,threadMode:`self`,depth:1,seen:[E]},e.key)):(0,R.jsx)(`div`,{className:`fc-muted`,children:`No replies captured locally yet.`})]})]}):null,(0,R.jsxs)(`footer`,{className:`fc-actions`,role:`group`,"aria-label":`Actions`,children:[(0,R.jsx)(`a`,{className:`fc-btn`,href:I,target:`_blank`,rel:`noreferrer`,title:pt,onClick:e=>e.stopPropagation(),children:ft}),(0,R.jsx)(`button`,{className:`fc-btn`,type:`button`,onClick:e=>{e.stopPropagation(),ge()},"aria-pressed":s,"data-state":s?`remembered`:`idle`,title:`Copies the same href as Open for this block. If overflow exists, use Pack.`,children:s?`Remembered`:`Remember`}),ce?(0,R.jsx)(`button`,{className:`fc-btn`,type:`button`,onClick:e=>{e.stopPropagation(),_e()},"aria-pressed":d,"data-state":d?`packed`:`idle`,title:`Copies the full segment pack (primary + archive segments) as newline-separated URLs.`,children:d?`Packed`:`Pack ${1+oe.archives.length}`}):null,(0,R.jsx)(`span`,{className:`fc-live`,"aria-live":`polite`,children:s?`Inhaled to Memory`:d?`Packed to Memory`:``})]})]})]})]})]})},ca=({url:e,threadMode:t=`thread`})=>{let n=(0,L.useMemo)(()=>Lr(e),[e]),r=(0,L.useMemo)(()=>Q(Ir(e)),[e]);return n?(0,R.jsx)(sa,{url:n,threadMode:t,addChain:r,addIndex:r.length-1}):(0,R.jsx)(sa,{url:e,threadMode:t})};function la({urls:e}){return!e||e.length===0?(0,R.jsx)(`section`,{className:`sf-list`,children:(0,R.jsxs)(`div`,{className:`sf-empty`,children:[`No items yet. Paste a link above or open a `,(0,R.jsx)(`code`,{children:`/stream/p/`}),` link and reply to start a thread.`]})}):(0,R.jsx)(`section`,{className:`sf-list`,"aria-label":`Memory Stream`,children:e.map(e=>(0,R.jsx)(ca,{url:e},e))})}function ua(e){return M(e)&&e.kind===`url`&&typeof e.url==`string`&&(e.title===void 0||typeof e.title==`string`)}function da(e){return M(e)&&e.kind===`file-inline`&&typeof e.data_b64url==`string`&&(e.name===void 0||typeof e.name==`string`)&&(e.type===void 0||typeof e.type==`string`)&&(e.size===void 0||typeof e.size==`number`)&&(e.sha256===void 0||typeof e.sha256==`string`)&&(e.thumbnail_b64===void 0||typeof e.thumbnail_b64==`string`)&&(e.relPath===void 0||typeof e.relPath==`string`)}function fa(e){return M(e)&&e.kind===`file-ref`&&typeof e.sha256==`string`&&(e.name===void 0||typeof e.name==`string`)&&(e.type===void 0||typeof e.type==`string`)&&(e.size===void 0||typeof e.size==`number`)&&(e.url===void 0||typeof e.url==`string`)&&(e.relPath===void 0||typeof e.relPath==`string`)}function pa(e){return ua(e)||da(e)||fa(e)}function ma(e){return M(e)&&e.version===1&&typeof e.totalBytes==`number`&&typeof e.inlinedBytes==`number`&&Array.isArray(e.items)&&e.items.every(pa)}var ha=`Φ Memory added to PhiStream.`;function ga(e){let t=(e||``).trim();return t?t.length<=140?t:`${t.slice(0,96)}:${t.slice(-32)}`:`root`}function _a(e){return`sf.phistream.autoadd.notified:${ga(e)}`}function va(){return typeof window<`u`&&typeof document<`u`}function ya(e){let t=(e||``).trim();if(!t||!va())return null;try{if(t.startsWith(`/`)){let e=window.location?.origin??`https://kaiklok.com`,n=new URL(t,e);return n.protocol===`http:`||n.protocol===`https:`?n.toString():null}let e=new URL(t);return e.protocol===`http:`||e.protocol===`https:`?e.toString():null}catch{return null}}function ba(){return xe(localStorage.getItem(be))}function xa(e){try{return ba().includes(e)}catch{return!1}}function Sa(e){try{return sessionStorage.getItem(_a(e))===`1`}catch{return!1}}function Ca(e){try{sessionStorage.setItem(_a(e),`1`)}catch{}}function wa(e){let{token:t,payloadUrl:n,fallbackUrl:r,toast:i}=e;if(!va())return{ok:!1,added:!1,url:null,reason:`no_window`};let a=(n&&n.trim().length?n:r)??``;if(!a.trim())return{ok:!1,added:!1,url:null,reason:`no_url`};let o=ya(a);if(!o)return{ok:!1,added:!1,url:null,reason:`invalid_url`};try{d(o)}catch{}let s=Sa(t);try{return xa(o)?{ok:!0,added:!1,url:o,reason:`already_present`}:(z([o]),s?{ok:!0,added:!1,url:o,reason:`already_notified`}:(Ca(t),i?.(`success`,ha),{ok:!0,added:!0,url:o,reason:`added`}))}catch{return{ok:!1,added:!1,url:null,reason:`storage_unavailable`}}}var Ta=17491.270421,Ea=36,Da=44,Oa=Ea*Da,ka=6,Aa=7,ja=8,Ma=ka*Aa,Na=Ma*ja;function Pa(e,t){let n=e%t;return n<0?n+t:n}function Fa(e){return Number.isFinite(e)?e<0?0:e>1?1:e:0}function Ia(e){return Number.isFinite(e)?e:0}function La(e){let t=Ia(e);return Math.floor(t/Ta)}function Ra(e){let t=Ia(e),n=(t-La(t)*Ta)%Ta,r=n<0?n+Ta:n;return r>=Ta?0:r}function za(e){let t=Fa(Ra(e)/Ta),n=Math.floor(t*Oa);return{beat:Math.floor(n/Da),step:n%Da}}function Ba(e){let t=La(e),n=Math.floor(t/Na),r=Pa(t,Na),i=Math.floor(r/Ma);return{d:r%Ma+1,m:i+1,y:n}}var Va=[`Solhara`,`Aquaris`,`Flamora`,`Verdari`,`Sonari`,`Kaelith`],Ha=[`Root`,`Sacral`,`Solar`,`Heart`,`Throat`,`Third Eye`,`Crown`];function Ua(e){return Va[Pa(La(e),Va.length)]??`Kaelith`}function Wa(e){return Ha[Pa(La(e),Ha.length)]??`Crown`}var Ga=[`Aethon`,`Virelai`,`Solari`,`Amarin`,`Kaelus`,`Umbriel`,`Noktura`,`Liora`];function Ka(e){if(typeof window>`u`)return;let t=window.requestIdleCallback;if(typeof t==`function`){t(t=>{if(t.timeRemaining()<=0){e();return}e()});return}window.setTimeout(e,0)}function qa(e){let t=Pa(La(e),Na),n=Math.floor(t/Ma);return Ga[n]??`Month ${n+1}`}function Ja(e){let t=e.trim();return t&&(/^caelith$/i.test(t)||/^kaelith$/i.test(t)?`Kaelith`:t.charAt(0).toUpperCase()+t.slice(1))}function Ya(e){let t=e.trim();if(!t)return t;let n=t.toLowerCase();return n===`third-eye`||n===`third eye`||n===`ajna`?`Third Eye`:n===`solar plexus`||n===`solar-plexus`||n===`solar`?`Solar`:n===`root`?`Root`:n===`sacral`?`Sacral`:n===`heart`?`Heart`:n===`throat`?`Throat`:n===`crown`?`Krown`:t.charAt(0).toUpperCase()+t.slice(1)}function Xa(e){let t=e.trim();return t&&(/^manual$/i.test(t)?`Proof of Memory™`:t.charAt(0).toUpperCase()+t.slice(1))}var Za=Ea/6,Qa=[`Ignite`,`Integrate`,`Harmonize`,`Reflekt`,`Purify`,`Dream`];function $a(e){let{beat:t}=za(e),n=Math.floor(t/Za);return n<0?0:n>=Qa.length?Qa.length-1:n}function eo(e){return Qa[$a(e)]??`Dream`}function to(e){let t=Number.isFinite(e)?Math.trunc(e):0;return String(t).padStart(2,`0`)}function no(e){return e.length<=140?e:`${e.slice(0,96)}:${e.slice(-32)}`}function ro(){let e=globalThis.location?.origin;return e&&typeof e==`string`&&e.length?e:`https://kaiklok.com`}function io(e){let t=ro().replace(/\/+$/,``);return e.length<=3500?`${t}/stream/p/${encodeURIComponent(e)}`:`${t}/stream#t=${e}`}function ao(e){return`${ro().replace(/\/+$/,``)}/stream?p=${encodeURIComponent(e)}`}function oo(e){return`${ro().replace(/\/+$/,``)}/p~${e}`}function so(e){return e.length<=3500?oo(e):ao(e)}function co(e){let t=e.trim();try{let e=new URL(t),n=new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash),r=new URLSearchParams(e.search),i=n.get(`t`)??n.get(`p`)??n.get(`token`)??r.get(`t`)??r.get(`p`)??r.get(`token`);i?t=i:/\/p~/.test(e.pathname)?t=e.pathname.split(`/p~`)[1]??t:/\/stream\/p\//.test(e.pathname)&&(t=e.pathname.split(`/stream/p/`)[1]??t)}catch{}if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),/[+/=]/.test(t)&&(t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``)),t}function $(e){return/^[A-Za-z0-9_-]{16,}$/.test(e)}function lo(e){let t=e.trim();try{return new URL(t)}catch{try{return new URL(t,ro())}catch{return null}}}function uo(e){let t=e.trim();if(!t)return null;if($(t))return t;let n=lo(t);if(!n)return null;let r=n.hash&&n.hash.startsWith(`#`)?n.hash.slice(1):``,i=new URLSearchParams(r),a=n.searchParams,o=i.get(`t`)??i.get(`p`)??i.get(`token`)??i.get(`capsule`)??a.get(`t`)??a.get(`p`)??a.get(`token`)??a.get(`capsule`);if(o&&o.trim().length)return o.trim();if(n.pathname.includes(`/p~`)){let e=n.pathname.indexOf(`/p~`),t=n.pathname.slice(e+3);if(t&&t.length)return t.startsWith(`/`)?t.slice(1):t}{let e=n.pathname.match(/\/stream\/p\/([^/?#]+)/);if(e?.[1])return e[1]}{let e=n.pathname.match(/\/p\/([^/?#]+)/);if(e?.[1])return e[1]}{let e=n.pathname.match(/\/s\/([^/?#]+)/);if(e?.[1])return e[1]}return null}function fo(e){if(typeof window>`u`)return`/stream/p/${encodeURIComponent(e)}`;let t=new URLSearchParams(window.location.search),n=new URLSearchParams(window.location.hash.startsWith(`#`)?window.location.hash.slice(1):window.location.hash),r=[...t.getAll(`add`),...n.getAll(`add`)].map(W).filter(e=>typeof e==`string`&&e.trim().length>0),i=[];for(let e of r){let t=po(e);i.includes(t)||i.push(t)}let a=new URLSearchParams;for(let[e,n]of t.entries())e===`p`||e===`t`||e===`token`||e===`capsule`||e!==`add`&&a.append(e,n);for(let e of i)a.append(`add`,e);let o=new URLSearchParams;for(let[e,t]of n.entries())e===`p`||e===`t`||e===`token`||e===`capsule`||e!==`add`&&o.append(e,t);let s=e.length<=ne,c=s?`/stream/p/${encodeURIComponent(e)}`:`/stream`,l=a.toString(),u=l.length?`?${l}`:``;if(s){let e=o.toString();return`${c}${u}${e.length?`#${e}`:``}`}let d=new URLSearchParams;d.set(`t`,e);for(let[e,t]of o.entries())d.append(e,t);return`${c}${u}#${d.toString()}`}function po(e){let t=e.trim();if(!t)return t;let n=uo(t);if(!n){let e=lo(t);return e?e.toString():t}return io(co(n))}function mo(e,t){let n=new URL(e,ro()),r=n.hash.startsWith(`#`)?n.hash.slice(1):n.hash,i=new URLSearchParams(r);i.delete(`add`);for(let e of t)i.append(`add`,e);n.search=``;let a=i.toString();return n.hash=a?`#${a}`:``,n.toString()}var ho=`sf:memoryStream:v2`,go=2e4,_o=4096,vo=4096,yo=2048;function bo(){return{v:2,parentOf:{},childrenOf:{},pulseOf:{}}}function xo(){if(typeof window>`u`)return bo();try{let e=window.localStorage.getItem(ho);if(!e)return bo();let t=JSON.parse(e);if(!M(t)||t.v!==2)return bo();let n=M(t.parentOf)?t.parentOf:{},r=M(t.childrenOf)?t.childrenOf:{},i=M(t.pulseOf)?t.pulseOf:{},a=bo();for(let[e,t]of Object.entries(n))typeof e==`string`&&typeof t==`string`&&$(e)&&$(t)&&(a.parentOf[e]=t);for(let[e,t]of Object.entries(r)){if(!$(e)||!Array.isArray(t))continue;let n=t.filter(e=>typeof e==`string`&&$(e));a.childrenOf[e]=Array.from(new Set(n)).slice(0,_o)}for(let[e,t]of Object.entries(i))if($(e)){if(typeof t==`number`&&Number.isFinite(t))a.pulseOf[e]=t;else if(typeof t==`string`&&t.trim().length){let n=Number(t.trim());Number.isFinite(n)&&(a.pulseOf[e]=n)}}return a}catch{return bo()}}function So(e){if(!(typeof window>`u`))try{window.localStorage.setItem(ho,JSON.stringify(e))}catch(e){F(`ms2Save`,e)}}function Co(e,t,n){let r=e.childrenOf[t]??[];if(r.includes(n))return!1;let i=[...r,n].slice(-_o);return e.childrenOf[t]=i,!0}function wo(e,t,n){return!$(t)||!$(n)||t===n||e.parentOf[t]===n?!1:(e.parentOf[t]=n,Co(e,n,t),!0)}function To(e,t,n){return!$(t)||!Number.isFinite(n)||e.pulseOf[t]===n?!1:(e.pulseOf[t]=n,!0)}function Eo(e){let t=lo(e);if(!t)return[];let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=[...t.searchParams.getAll(`add`),...r.getAll(`add`)];if(i.length===0)return[];let a=[];for(let e of i){let t=W(e);if(!t||!t.trim().length)continue;let n=uo(t)??($(t)?t:null);if(!n)continue;let r=co(n);$(r)&&(a.includes(r)||a.push(r))}return a}function Do(e,t){let n=uo(t);if(!n)return!1;let r=co(n);if(!$(r))return!1;let i=Eo(t),a=i.length?i[i.length-1]:null,o=!1;if(a&&(o=wo(e,r,a)||o),Object.keys(e.parentOf).length+Object.keys(e.childrenOf).length>go){let t=Object.keys(e.childrenOf);for(let n=0;n{let r=e.pulseOf[t],i=e.pulseOf[n],a=typeof r==`number`&&Number.isFinite(r),o=typeof i==`number`&&Number.isFinite(i);return a&&o?r-i:a?-1:o?1:tn?1:0}),r}function jo(e,t){let n=io(t),r=ko(e,t);return r.length?mo(n,r):n}function Mo(e){if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,`true`),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,document.body.appendChild(t);let n=document.activeElement instanceof HTMLElement?document.activeElement:null;t.focus(),t.select();let r=document.execCommand(`copy`);return document.body.removeChild(t),n&&n.focus(),r}catch{return!1}}function No(e){if(typeof window>`u`)return null;let t=window.navigator;return t!==void 0&&t.clipboard!==void 0&&typeof t.clipboard.writeText==`function`&&window.isSecureContext?t.clipboard.writeText(e):null}function Po(e){return e.replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function Fo(e){try{let t=new DOMParser().parseFromString(e,`text/html`);return t.querySelectorAll(`script,style,iframe,object,embed`).forEach(e=>e.remove()),t.querySelectorAll(`*`).forEach(e=>{for(let t of Array.from(e.attributes)){let n=t.name.toLowerCase(),r=t.value;if(n.startsWith(`on`)){e.removeAttribute(t.name);continue}if(n===`href`||n===`src`){let n=r.trim().toLowerCase();(n.startsWith(`javascript:`)||n.startsWith(`data:`))&&e.removeAttribute(t.name)}}}),t.body.innerHTML}catch{return Po(e)}}function Io(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`?t.toString():null}catch{return null}}function Lo(e){let t=Po(e).replace(/```(\w+)?\n([\s\S]*?)```/g,(e,t,n)=>{let r=(t||``).trim();return`
${n}
`});return t=t.replace(/^####\s(.+)$/gm,`

$1

`),t=t.replace(/^###\s(.+)$/gm,`

$1

`),t=t.replace(/^##\s(.+)$/gm,`

$1

`),t=t.replace(/^#\s(.+)$/gm,`

$1

`),t=t.replace(/\*\*(.+?)\*\*/g,`$1`),t=t.replace(/\*(.+?)\*/g,`$1`),t=t.replace(/`([^`]+)`/g,`$1`),t=t.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>{let r=Io(n);return r?`${t}`:`${t} (${Po(n)})`}),t=t.split(/\n{2,}/g).map(e=>{let t=e.trim();return t?t.startsWith(``)?t:`

${t.replace(/\n/g,`
`)}

`:``}).filter(Boolean).join(` `),t}function Ro(e){let t=0,n=0;for(let r of e){if(r.kind===`file-inline`){typeof r.size==`number`&&Number.isFinite(r.size)&&r.size>=0&&(t+=r.size,n+=r.size);continue}if(r.kind===`file-ref`){typeof r.size==`number`&&Number.isFinite(r.size)&&r.size>=0&&(t+=r.size);continue}}return{total:t,inlined:n}}function zo(e){if(ma(e))return e;if(!M(e))return null;let t=e.version,n=e.items;if(t!==1||!Array.isArray(n))return null;let r=n.filter(pa),i=Ro(r);return{version:1,totalBytes:typeof e.totalBytes==`number`&&Number.isFinite(e.totalBytes)?e.totalBytes:i.total,inlinedBytes:typeof e.inlinedBytes==`number`&&Number.isFinite(e.inlinedBytes)?e.inlinedBytes:i.inlined,items:r}}function Bo({body:e,caption:t,isSealed:n}){let r=e??(!n&&t&&t.trim().length?{kind:`text`,text:t}:null);return r?r.kind===`text`?(0,R.jsxs)(`div`,{className:`sf-text`,children:[`— `,`"${r.text}"`]}):r.kind===`code`?(0,R.jsx)(`pre`,{className:`sf-code`,children:(0,R.jsx)(`code`,{children:r.code})}):r.kind===`md`?(0,R.jsx)(`div`,{className:`sf-md`,dangerouslySetInnerHTML:{__html:Lo(r.md)}}):(r.mode??`code`)===`code`?(0,R.jsx)(`pre`,{className:`sf-code sf-code--html`,children:(0,R.jsx)(`code`,{children:r.html})}):(0,R.jsx)(`div`,{className:`sf-html`,dangerouslySetInnerHTML:{__html:Fo(r.html)}}):(0,R.jsx)(R.Fragment,{})}function Vo(e,t){if(!e||typeof e!=`object`)return null;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim().length)return t.trim()}return null}function Ho(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];if(typeof n==`number`&&Number.isFinite(n))return n;if(typeof n==`string`&&n.trim().length){let e=Number(n.trim());return Number.isFinite(e)?e:null}return null}function Uo(e){return Math.max(0,Math.min(255,Math.round(e)))}function Wo(e){if(!M(e))return!1;let t=e.body,n=e.attachments,r=e.caption,i=t===void 0||M(t),a=r===void 0||typeof r==`string`,o=n===void 0||M(n)||Array.isArray(n);return i&&a&&o}function Go(e){return typeof e==`function`}function Ko(e){return M(e)&&e.ok===!0&&`inner`in e}function qo(e){let t=M(e)?e.seal:void 0;return t?Vo(t,[`teaser`,`preview`,`hint`,`caption`])??null:null}async function Jo(e){let t=await O(()=>import(`./postSeal-D9h0fyi2.js`),__vite__mapDeps([0,1])),n=M(t)?t:{},r=n.openSealedEnvelope??n.openSealedPayload??n.unsealEnvelope??n.unsealPayload??n.unsealEnvelopeV1??null;if(!Go(r))throw Error(`postSeal module is missing an unseal function.`);if(((M(n)&&Object.entries(n).find(([,e])=>e===r)?.[0])??`unseal`)===`unsealEnvelopeV1`){let t=typeof e.meta==`object`&&e.meta!==null?de(e.meta,`kaiSignature`):void 0,n=typeof e.meta==`object`&&e.meta!==null?de(e.meta,`userPhiKey`):void 0;if(!t)throw Error(`Missing kaiSignature in meta (cannot unlock sealed envelope).`);let i=await Promise.resolve(r(e.seal,{kaiSignature:t,phiKey:n}));if(Ko(i)){let e=i.inner;if(!M(e))throw Error(`Unseal returned non-object inner payload.`);let t=e.body,n=e.attachments,r=e.caption,a={};return t!==void 0&&M(t)&&(a.body=t),n!==void 0&&(a.attachments=n),typeof r==`string`&&(a.caption=r),a}if(Wo(i))return i;throw Error(`Unseal returned an unexpected shape.`)}let i=await Promise.resolve(r(e.seal,{meta:e.meta,svgText:e.svgText??void 0}));if(!Wo(i))throw Error(`Unseal returned an unexpected shape.`);return i}function Yo(e){let{token:t,payload:n,manifest:r,copied:i,onKopy:a,isSealed:o,unsealState:s,canUnseal:c,verifiedThisSession:l,hasComposerMeta:u,onVerifiedNow:f,onResetVerified:p,onUnseal:m,onForgetUnsealed:h,body:ee,caption:te}=e,ne=(0,L.useRef)(null),g=(0,L.useCallback)(()=>{let e=ne.current;if(!e)return;try{e.scrollIntoView({behavior:`smooth`,block:`center`})}catch{}let t=e.querySelector(`input[type="file"]`);if(t){t.click();return}e.querySelector(`button`)?.click()},[]),_=s.status===`opening`?`UNSEALING…`:c?`UNSEAL`:l?u?`UNSEAL`:`RE-INHALE`:`🔐 Sealed`,v=(0,L.useCallback)(()=>{if(!c){g();return}m()},[c,m,g]),y=Ia(n.pulse),{beat:b,step:x}=za(y),{d:S,m:C,y:w}=Ba(y),T=qa(y),E=Ja(Ua(y)),D=eo(y),O=Vo(n,[`userPhiKey`,`phiKey`,`phikey`,`authorPhiKey`])??Vo(n.meta,[`userPhiKey`,`phiKey`,`phikey`])??``,k=Xa(Vo(n,[`mode`,`source`,`origin`,`transport`])??Vo(n.meta,[`mode`,`source`,`origin`])??`Manual`);(0,L.useEffect)(()=>{try{d(so(t))}catch(e){F(`register share url (PayloadCard)`,e)}if(typeof n.url==`string`&&n.url.length)try{d(n.url)}catch(e){F(`register payload.url (PayloadCard)`,e)}},[t,n.url]);let re=o&&s.status!==`open`,ie=(0,L.useMemo)(()=>o?qo(n):null,[o,n]),ae=o?(0,R.jsx)(`span`,{className:`sf-pill sf-pill--sealed`,title:`Private (Sealed)`,children:`🔒 SEALED`}):null;return(0,R.jsxs)(`section`,{className:`sf-payload`,role:`region`,"aria-label":`Loaded payload`,children:[(0,R.jsxs)(`div`,{className:`sf-payload-line sf-tags`,children:[(0,R.jsx)(`span`,{className:`sf-pill sf-pill--mode`,children:k||`Proof of Memory™`}),ae,O?(0,R.jsxs)(`span`,{className:`sf-pill sf-pill--phikey`,title:O,children:[`ΦKey `,(0,R.jsx)(`span`,{className:`sf-key`,children:O})]}):null]}),(0,R.jsxs)(`div`,{className:`sf-payload-core`,children:[(0,R.jsxs)(`span`,{children:[`☤Kai: `,y]}),(0,R.jsx)(`span`,{className:`sf-muted`,children:` · `}),(0,R.jsxs)(`span`,{className:`sf-kai-label`,children:[to(b),`:`,to(x),` — D`,S,`/M`,C,`/Y`,w,` · `,D]}),(0,R.jsx)(`span`,{className:`sf-muted`,children:` · `}),(0,R.jsxs)(`span`,{className:`sf-kai-label`,children:[E,` · `,T]})]}),o?(0,R.jsx)(`div`,{className:`sf-seal`,role:`group`,"aria-label":`Private sealed content`,children:s.status===`open`?(0,R.jsxs)(`div`,{className:`sf-seal__row`,children:[(0,R.jsx)(`span`,{className:`sf-seal__label`,children:`Unsealed`}),(0,R.jsx)(`button`,{type:`button`,className:`sf-seal__btn`,onClick:h,"aria-label":`Seal view`,children:`SEAL`})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`sf-seal__row`,children:[(0,R.jsx)(`span`,{className:`sf-seal__label`,children:`Private`}),(0,R.jsx)(`button`,{type:`button`,className:`sf-seal__btn`,onClick:v,disabled:s.status===`opening`,"aria-label":`Unseal private content`,children:_})]}),ie?(0,R.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:ie}):null,(0,R.jsxs)(`div`,{ref:ne,className:`sf-seal__gate`,role:`region`,"aria-label":`Unlock gate`,children:[l?u?c?null:(0,R.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:`Inhale your ΦKey to unseal.`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:`Verified session detected, but no sigil metadata is present. Re-inhale your glyph.`}),(0,R.jsx)(`div`,{className:`sf-seal__login`,"aria-label":`Glyph re-upload`,children:(0,R.jsx)(le,{onVerified:f})}),(0,R.jsx)(`div`,{className:`sf-seal__row`,children:(0,R.jsx)(`button`,{type:`button`,className:`sf-seal__btn`,onClick:p,"aria-label":`Use a different key`,children:`USE DIFFERENT ΦKEY`})})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:`Inhale your ΦKey, then unseal.`}),(0,R.jsx)(`div`,{className:`sf-seal__login`,"aria-label":`Glyph upload`,children:(0,R.jsx)(le,{onVerified:f})})]}),s.status===`error`?(0,R.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:s.message}):null]})]})}):null,re?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Bo,{body:ee,caption:te,isSealed:!1}),r?(0,R.jsx)(bt,{manifest:r}):null]}),(0,R.jsx)(`div`,{className:`sf-reply-actions`,children:(0,R.jsx)(`button`,{type:`button`,className:`sf-kopyBtn`,onClick:a,disabled:i,"data-state":i?`copied`:`idle`,"aria-label":`Remember share link`,children:i?`REMEMBERED`:`REMEMBER`})})]})}function Xo(){return(0,R.jsx)(ve,{children:(0,R.jsx)(I,{children:(0,R.jsx)(Zo,{})})})}function Zo(){let n=ge(),r=v(),a=ae(),o=me(e=>{e.preventDefault(),a(`/keystream`)}),[c,l]=(0,L.useState)([]),u=(0,L.useRef)(new Set),f=(0,L.useRef)(xo()),p=(0,L.useRef)(new Set),[m,ee]=(0,L.useState)(0),ne=(0,L.useRef)(!1),g=(0,L.useCallback)((e,t)=>{Ka(()=>{let t=f.current,n=!1;for(let r of e)!r||!r.trim().length||(n=Do(t,r)||n);n&&(So(t),ee(e=>e+1))})},[]),_=(0,L.useCallback)(t=>{if(!ne.current){ne.current=!0;try{let n=new Set,r=e=>{if(!e)return;let t=co(e);$(t)&&n.add(t)},a=f.current;for(let e of Object.keys(a.parentOf))r(e);for(let e of Object.keys(a.childrenOf)){r(e);for(let t of a.childrenOf[e]??[])r(t)}for(let e of Object.keys(a.pulseOf))r(e);for(let e of t){r(uo(e));for(let t of Eo(e))r(t)}let o=0;for(let t of n){if(o>=yo)break;o+=1;let n=e(t);if(!n)continue;let r=n.usernameClaim;if(!r)continue;let a=s(r.hash??``),c=r.payload;if(!a||!c||c.kind!==`username_claim`)continue;let l=te(c.normalized||c.username||``),u=te(n.author??``),d=l||u;if(!d)continue;let f=r.url?.trim()||io(t);if(!f)continue;let p=r.ownerHint??c.ownerHint??null;i({hash:a,url:f,payload:{...c,normalized:l||d},ownerHint:p})}}catch(e){F(`rehydrate username claims`,e)}}},[]);(0,L.useEffect)(()=>{if(typeof window>`u`)return;let e=e=>{l(t=>{let n=new Set(t.map(({url:e})=>e)),r=[...t],i=[];for(let{url:t}of e){let e=t.trim();!e||n.has(e)||(n.add(e),r.push({url:e}),i.push(e))}if(i.length>0){for(let e of i)d(e);g(i),_(i)}return r})};Ka(()=>{let t=xe(localStorage.getItem(be));t.length&&e(t.map(e=>({url:e})))});let t=!1;return Ka(()=>{(async()=>{try{let n=await ye();!t&&n.length&&e(n)}catch(e){F(`initial seed load`,e)}})().catch(e=>F(`initial seed load outer`,e))}),()=>{t=!0}},[g,_]),(0,L.useEffect)(()=>{if(!(typeof window>`u`))try{let e=new URLSearchParams(window.location.search),t=new URLSearchParams(window.location.hash.startsWith(`#`)?window.location.hash.slice(1):window.location.hash),n=[...e.getAll(`add`),...t.getAll(`add`)].map(W).filter(e=>typeof e==`string`&&e.trim().length>0).map(po);if(n.length===0)return;g([window.location.href,...n]),l(e=>{let t=new Set(e.map(e=>e.url)),r=n.filter(e=>!t.has(e));if(r.length){z(r);for(let e of r)d(e);return[...r.map(e=>({url:e})),...e]}return e})}catch(e){F(`add ingestion (location)`,e)}},[r.pathname,r.search,r.hash,g]),(0,L.useEffect)(()=>{typeof window>`u`||Ka(()=>{let e=u.current,t=[],n=e=>{e.trim().length&&(t.includes(e)||t.push(e))};for(let t of c){let r=t.url;if(!r||e.has(r))continue;e.add(r);let i=lo(r);if(!i)continue;let a=i.hash&&i.hash.startsWith(`#`)?i.hash.slice(1):``,o=new URLSearchParams(a),s=[...i.searchParams.getAll(`add`),...o.getAll(`add`)];if(s.length===0)continue;let c=s.map(W).filter(e=>typeof e==`string`&&e.trim().length>0).map(po);for(let e of c)n(e)}t.length!==0&&(g(t),l(e=>{let n=new Set(e.map(e=>e.url)),r=t.filter(e=>!n.has(e));if(!r.length)return e;try{z(r)}catch(e){F(`prependUniqueToStorage (infinite replies)`,e)}for(let e of r)try{d(e)}catch(e){F(`registerSigilUrl (infinite replies)`,e)}return[...r.map(e=>({url:e})),...e]}))})},[c,g]),(0,L.useEffect)(()=>{typeof window>`u`||Ka(()=>{let e=p.current,t=[];for(let n of c){let r=n.url;if(!(!r||e.has(r))&&(e.add(r),t.push(r),t.length>=256))break}t.length&&g(t)})},[c,g]);let y=(0,L.useMemo)(()=>{if(typeof window>`u`)return{token:null,payload:null,error:null};let t=w();if(!t)return{token:null,payload:null,error:null};let n=co(t),r=e(n)||(t===n?null:e(t));return{token:n,payload:r,error:r?null:`Invalid or unreadable payload token.`}},[]),[b,x]=(0,L.useState)(y.token),[S,C]=(0,L.useState)(y.payload),[T,E]=(0,L.useState)(y.error),D=(0,L.useRef)(null),[O,k]=(0,L.useState)({status:`none`});(0,L.useEffect)(()=>{if(!S){k({status:`none`});return}k(M(S)&&S.seal!==void 0?{status:`sealed`}:{status:`none`})},[S]);let re=(0,L.useCallback)(async()=>{if(typeof window>`u`)return;let t=w(),r=t?co(t):null;if(r)try{let e=fo(r);e!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(null,``,e)}catch(e){F(`canonicalizeLocationRel`,e)}if(x(r),!r){C(null),E(null),D.current=null;return}try{let e=io(r),t=so(r);d(e),t!==e&&d(t)}catch(e){F(`register current stream url (pre-decode)`,e)}try{let e=io(r);l(t=>{if(new Set(t.map(e=>e.url)).has(e))return t;try{z([e])}catch(e){F(`prependUniqueToStorage (visited stream)`,e)}try{d(e)}catch(e){F(`registerSigilUrl (visited stream)`,e)}return[{url:e},...t]}),g([window.location.href,e])}catch(e){F(`ms2 ingest visited stream`,e)}try{let a=await e(r)||(t&&t!==r?await e(t):null);if(!a){C(null),E(`Invalid or unreadable payload token.`);return}let o=a.usernameClaim,c=o?te(o.payload?.normalized||o.payload?.username||``):``,u=te(a.author??``),p=c||u;if(o){let e=s(o.hash??``),t=o.url?.trim()||io(r);if(!e||!t){C(null),E(`Username claim missing glyph reference.`);return}if(!p){C(null),E(`Username claim missing normalized username.`);return}let n=h()[p];if(n&&n.claimHash!==e){C(null),E(`Username claimed by another glyph.`);return}let a=o.payload;if(!a||a.kind!==`username_claim`){C(null),E(`Invalid username-claim payload.`);return}let c=te(a.normalized||a.username||``)||p;if(c!==p){C(null),E(`Username claim does not match author.`);return}let l=i({hash:e,url:t,payload:{...a,normalized:c},ownerHint:o.ownerHint??a.ownerHint??null});if(!l.accepted){C(null),E(`Username claim rejected: ${l.reason??`unknown`}.`);return}}else if(p&&h()[p]){C(null),E(`Claim glyph is required for this username.`);return}C(a),E(null);try{let e=f.current;To(e,r,Ia(a.pulse))&&(So(e),ee(e=>e+1))}catch(e){F(`ms2SetPulse`,e)}if(a.url&&typeof a.url==`string`&&a.url.length){if(D.current!==r){D.current=r;try{z([a.url])}catch(e){F(`prependUniqueToStorage (payload url)`,e)}let e=wa({token:r,payloadUrl:a.url,toast:(e,t)=>n.push(e,t)});l(e=>new Set(e.map(e=>e.url)).has(a.url)?e:[{url:a.url},...e]),e.ok||F(`phistream auto-add`,e.reason)}else l(e=>new Set(e.map(e=>e.url)).has(a.url)?e:[{url:a.url},...e]);try{d(a.url)}catch(e){F(`register payload.url (post-decode)`,e)}}try{d(oo(r))}catch(e){F(`register short alias url`,e)}}catch(e){F(`payload decode`,e),C(null),E(`Payload decode failed.`)}},[n,g]);(0,L.useEffect)(()=>{re()},[r.pathname,r.search,r.hash,re]);let ie=(0,L.useMemo)(()=>{if(!S)return{weekday:void 0,chakra:void 0};let e=Ia(S.pulse);return{weekday:Ja(Ua(e)),chakra:Ya(Wa(e))}},[S]),A=(0,L.useMemo)(()=>`sf.verifiedSession:${no(b??(typeof window<`u`?w():null)??`root`)}`,[b]),[j,ce]=(0,L.useState)(()=>{try{if(typeof window>`u`)return!1;let e=`sf.verifiedSession:${no(w()||`root`)}`;return sessionStorage.getItem(e)===`1`}catch(e){return F(`sessionStorage.getItem (init)`,e),!1}});(0,L.useEffect)(()=>{try{if(typeof window>`u`)return;ce(sessionStorage.getItem(A)===`1`)}catch(e){F(`sessionStorage.getItem (sync)`,e),ce(!1)}},[A]);let ue=()=>{ce(!0);try{sessionStorage.setItem(A,`1`)}catch(e){F(`sessionStorage.setItem`,e)}n.push(`success`,`ΦKey inhaled.`)},fe=()=>{ce(!1);try{sessionStorage.removeItem(A)}catch(e){F(`sessionStorage.removeItem`,e)}},pe=oe(),N=(0,L.useMemo)(()=>se(pe),[pe]),P=(0,L.useMemo)(()=>j?N.meta:null,[j,N.meta]),I=(0,L.useMemo)(()=>j?N.svgText:null,[j,N.svgText]),he=(0,L.useMemo)(()=>P?de(P,`userPhiKey`):void 0,[P]),_e=(0,L.useMemo)(()=>P?de(P,`kaiSignature`):void 0,[P]),ve=(0,L.useMemo)(()=>{let e=Ho(P,`sigil_r`)??Ho(P,`sigilR`)??Ho(P,`tintR`)??null,t=Ho(P,`sigil_g`)??Ho(P,`sigilG`)??Ho(P,`tintG`)??null,n=Ho(P,`sigil_b`)??Ho(P,`sigilB`)??Ho(P,`tintB`)??null;if(e===null||t===null||n===null)return{};let r={};return r[`--sigil-r`]=String(Uo(e)),r[`--sigil-g`]=String(Uo(t)),r[`--sigil-b`]=String(Uo(n)),r},[P]),Se=e=>{l(t=>new Set(t.map(e=>e.url)).has(e)?t:(z([e]),d(e),g([e]),[{url:e},...t]))},B=(0,L.useMemo)(()=>S?M(S)&&S.seal!==void 0:!1,[S]),V=(0,L.useMemo)(()=>!!(B&&j&&P),[B,j,P]),H=(0,L.useCallback)(()=>{S&&(k(B?{status:`sealed`}:{status:`none`}),n.push(`success`,`Sealed`))},[S,B,n]),U=(0,L.useCallback)(async()=>{if(!S)return;let e=S.seal;if(!e){k({status:`error`,message:`No seal present on this payload.`});return}if(!j||!P){k({status:`error`,message:`Inhale your ΦKey to unseal.`});return}k({status:`opening`});try{k({status:`open`,content:await Jo({seal:e,meta:P,svgText:I??null})}),n.push(`success`,`Unsealed`)}catch(e){F(`unseal`,e),k({status:`error`,message:`Unseal failed. Wrong key, wrong seal, or missing postSeal implementation.`}),n.push(`warn`,`Unseal failed.`)}},[S,j,P,I,n]),Ce=(0,L.useMemo)(()=>B&&O.status!==`open`,[B,O.status]),we=(0,L.useMemo)(()=>O.status===`open`?O.content.body:S?.body,[S,O]),Te=(0,L.useMemo)(()=>O.status===`open`?O.content.caption??S?.caption:S?.caption,[S,O]),Ee=(0,L.useMemo)(()=>O.status===`open`?O.content.attachments??S?.attachments:S?.attachments,[S,O]),De=(0,L.useMemo)(()=>Ee?zo(Ee):null,[Ee]),[Oe,ke]=(0,L.useState)(!1),Ae=(0,L.useRef)(null);(0,L.useEffect)(()=>()=>{Ae.current!==null&&window.clearTimeout(Ae.current)},[]);let je=(0,L.useCallback)(()=>{let e=b??(typeof window<`u`?w():null),t=e?co(e):null;if(!t)return;let r=io(t),i=typeof window<`u`?Eo(window.location.href):[],a=i.length?mo(r,i):r;if(Mo(a)){ke(!0),Ae.current!==null&&window.clearTimeout(Ae.current),Ae.current=window.setTimeout(()=>ke(!1),1200),n.push(`success`,`Remembered`);return}let o=No(a);if(o){ke(!0),Ae.current!==null&&window.clearTimeout(Ae.current),Ae.current=window.setTimeout(()=>ke(!1),1200),n.push(`success`,`Remembered`),o.catch(e=>{F(`kopy clipboard.writeText`,e),ke(!1),n.push(`warn`,`Remember failed. Select the address bar.`)});return}n.push(`warn`,`Remember failed. Select the address bar.`)},[b,n]),Me=(0,L.useMemo)(()=>{if(!b)return[];let e=f.current;return Ao(e,b).map(t=>jo(e,t))},[b,m]);(0,L.useEffect)(()=>{b&&Me.length!==0&&l(e=>{let t=new Set(e.map(e=>e.url)),n=Me.filter(e=>!t.has(e));if(!n.length)return e;try{z(n)}catch(e){F(`prependUniqueToStorage (thread hydrate)`,e)}for(let e of n)try{d(e)}catch(e){F(`registerSigilUrl (thread hydrate)`,e)}return[...n.map(e=>({url:e})),...e]})},[b,Me]);let Ne=(0,L.useMemo)(()=>{let e=c.map(e=>e.url);if(!b||Me.length===0)return e;let t=new Set,n=[];for(let e of Me)t.has(e)||(t.add(e),n.push(e));for(let r of e)t.has(r)||(t.add(r),n.push(r));return n},[c,b,Me]),Pe=j&&(P||I)?qe({meta:P,svgText:I||``}):null;return(0,R.jsxs)(`main`,{className:`sf`,"data-weekday":ie.weekday,"data-chakra":ie.chakra,style:ve,children:[(0,R.jsxs)(`header`,{className:`sf-head`,role:`region`,"aria-labelledby":`glyph-stream-title`,children:[(0,R.jsx)(`nav`,{className:`sf-topnav`,"aria-label":`Back navigation`,children:(0,R.jsx)(t,{className:`sf-back`,to:`/keystream`,...o,children:`← Back to Keystream`})}),(0,R.jsx)(`h1`,{id:`glyph-stream-title`,children:`Memory Stream`}),(0,R.jsx)(pn,{}),S&&b?(0,R.jsx)(Yo,{token:b,payload:S,manifest:De,copied:Oe,onKopy:je,isSealed:B,unsealState:O,canUnseal:V,verifiedThisSession:j,hasComposerMeta:!!P,onVerifiedNow:ue,onResetVerified:fe,onUnseal:U,onForgetUnsealed:H,body:we,caption:Te}):T?(0,R.jsx)(`div`,{className:`sf-error`,role:`alert`,children:T}):(0,R.jsxs)(`p`,{className:`sf-sub`,children:[`Open a payload link at `,(0,R.jsx)(`code`,{children:`/stream/p/`}),` (or `,(0,R.jsx)(`code`,{children:`/stream#t=`}),`). Replies are Kai-sealed and thread via `,(0,R.jsx)(`code`,{children:`#add=`}),`. Short alias accepted: `,(0,R.jsx)(`code`,{children:`/p~`}),` `,`(and legacy `,(0,R.jsx)(`code`,{children:`/p#t=`}),`, `,(0,R.jsx)(`code`,{children:`/p?t=`}),`, `,(0,R.jsx)(`code`,{children:`/stream?p=`}),`).`]}),!S&&(0,R.jsx)(`section`,{className:`sf-inhaler`,"aria-labelledby":`inhaler-title`,children:(0,R.jsx)(Ye,{onAdd:Se})}),(0,R.jsx)(Fe,{phiKey:he,kaiSignature:_e}),Pe?.node?(0,R.jsx)(`section`,{className:`sf-sigilWrap`,"aria-label":`Sigil stage`,children:(0,R.jsx)(`div`,{className:`sf-sigilWrap__inner`,children:Pe.node})}):null,S&&!Ce?(0,R.jsxs)(`section`,{className:`sf-reply`,"aria-labelledby":`reply-title`,children:[(0,R.jsx)(`h2`,{id:`reply-title`,className:`sf-reply-title`,children:`Reply`}),j?P?(0,R.jsx)(Bt,{meta:P,svgText:I,onUseDifferentKey:fe}):(0,R.jsx)(`div`,{className:`sf-error`,role:`alert`,children:`Verified, but no sigil metadata found. Re-inhale your glyph.`}):(0,R.jsxs)(`div`,{className:`sf-reply-login`,children:[(0,R.jsx)(`p`,{className:`sf-sub`,children:`Inhale ΦKey to resonate a reply.`}),(0,R.jsx)(le,{onVerified:ue})]})]}):null]}),(0,R.jsx)(`section`,{className:`sf-list`,children:Ne.length===0?(0,R.jsxs)(`div`,{className:`sf-empty`,children:[`No items yet. Paste a link above or open a `,(0,R.jsx)(`code`,{children:`/stream/p/`}),` link and reply to start a thread.`]}):(0,R.jsx)(la,{urls:Ne})})]})}var Qo=Xo;export{Qo as n,Xo as t}; \ No newline at end of file diff --git a/dist/assets/SigilStreamRoot-R8RMoXIK.js b/dist/assets/SigilStreamRoot-R8RMoXIK.js new file mode 100644 index 000000000..6bd91df8f --- /dev/null +++ b/dist/assets/SigilStreamRoot-R8RMoXIK.js @@ -0,0 +1 @@ +import"./EternalKlock-ExyiY2oa.js";import"./SigilModal-I6o5tJYB.js";import"./SealMomentModal-0M7C7KOU.js";import"./webauthnKAS-Dx6bJ651.js";import"./SigilAuthContext-OFGaeRDv.js";import"./ticker-DQftO_Mf.js";import"./SigilAuthProvider-CXn4HNTZ.js";import{n as e,t}from"./SigilStreamRoot-DZfIDSg7.js";import"./useFastPress-BncuGI3m.js";export{t as SigilStreamRoot,e as default}; \ No newline at end of file diff --git a/dist/assets/VerifierFrame-DPCnuxaa.js b/dist/assets/VerifierFrame-C3wusEJg.js similarity index 99% rename from dist/assets/VerifierFrame-DPCnuxaa.js rename to dist/assets/VerifierFrame-C3wusEJg.js index 0d5e32733..1fb94d387 100644 --- a/dist/assets/VerifierFrame-DPCnuxaa.js +++ b/dist/assets/VerifierFrame-C3wusEJg.js @@ -1 +1 @@ -import{Vt as e,a as t,c as n,ci as r,f as i,h as a,l as o,m as s,o as c,pi as l,si as u,u as d}from"./index-BfXtjgZ1.js";import{t as f}from"./prop-types-DLoCx3ki.js";var p=r(((e,t)=>{t.exports={L:1,M:0,Q:3,H:2}})),m=r(((e,t)=>{t.exports={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8}})),h=r(((e,t)=>{var n=m();function r(e){this.mode=n.MODE_8BIT_BYTE,this.data=e}r.prototype={getLength:function(e){return this.data.length},write:function(e){for(var t=0;t{var n=p();function r(e,t){this.totalCount=e,this.dataCount=t}r.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],r.getRSBlocks=function(e,t){var n=r.getRsBlockTable(e,t);if(n==null)throw Error(`bad rs block @ typeNumber:`+e+`/errorCorrectLevel:`+t);for(var i=n.length/3,a=[],o=0;o{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){var t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(var n=0;n>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),v=r(((e,t)=>{for(var n={glog:function(e){if(e<1)throw Error(`glog(`+e+`)`);return n.LOG_TABLE[e]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return n.EXP_TABLE[e]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},r=0;r<8;r++)n.EXP_TABLE[r]=1<{var n=v();function r(e,t){if(e.length==null)throw Error(e.length+`/`+t);for(var n=0;n{var n=m(),r=y(),i=v(),a={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},o={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;o.getBCHDigit(t)-o.getBCHDigit(o.G15)>=0;)t^=o.G15<=0;)t^=o.G18<>>=1;return t},getPatternPosition:function(e){return o.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,n){switch(e){case a.PATTERN000:return(t+n)%2==0;case a.PATTERN001:return t%2==0;case a.PATTERN010:return n%3==0;case a.PATTERN011:return(t+n)%3==0;case a.PATTERN100:return(Math.floor(t/2)+Math.floor(n/3))%2==0;case a.PATTERN101:return t*n%2+t*n%3==0;case a.PATTERN110:return(t*n%2+t*n%3)%2==0;case a.PATTERN111:return(t*n%3+(t+n)%2)%2==0;default:throw Error(`bad maskPattern:`+e)}},getErrorCorrectPolynomial:function(e){for(var t=new r([1],0),n=0;n5&&(n+=3+a-5)}for(var r=0;r{var n=h(),r=g(),i=_(),a=b(),o=y();function s(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}var c=s.prototype;c.addData=function(e){var t=new n(e);this.dataList.push(t),this.dataCache=null},c.isDark=function(e,t){if(e<0||this.moduleCount<=e||t<0||this.moduleCount<=t)throw Error(e+`,`+t);return this.modules[e][t]},c.getModuleCount=function(){return this.moduleCount},c.make=function(){if(this.typeNumber<1){var e=1;for(e=1;e<40;e++){for(var t=r.getRSBlocks(e,this.errorCorrectLevel),n=new i,o=0,s=0;s=7&&this.setupTypeNumber(e),this.dataCache??=s.createData(this.typeNumber,this.errorCorrectLevel,this.dataList),this.mapData(this.dataCache,t)},c.setupPositionProbePattern=function(e,t){for(var n=-1;n<=7;n++)if(!(e+n<=-1||this.moduleCount<=e+n))for(var r=-1;r<=7;r++)t+r<=-1||this.moduleCount<=t+r||(0<=n&&n<=6&&(r==0||r==6)||0<=r&&r<=6&&(n==0||n==6)||2<=n&&n<=4&&2<=r&&r<=4?this.modules[e+n][t+r]=!0:this.modules[e+n][t+r]=!1)},c.getBestMaskPattern=function(){for(var e=0,t=0,n=0;n<8;n++){this.makeImpl(!0,n);var r=a.getLostPoint(this);(n==0||e>r)&&(e=r,t=n)}return t},c.createMovieClip=function(e,t,n){var r=e.createEmptyMovieClip(t,n),i=1;this.make();for(var a=0;a>n&1)==1;this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=r}for(var n=0;n<18;n++){var r=!e&&(t>>n&1)==1;this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=r}},c.setupTypeInfo=function(e,t){for(var n=this.errorCorrectLevel<<3|t,r=a.getBCHTypeInfo(n),i=0;i<15;i++){var o=!e&&(r>>i&1)==1;i<6?this.modules[i][8]=o:i<8?this.modules[i+1][8]=o:this.modules[this.moduleCount-15+i][8]=o}for(var i=0;i<15;i++){var o=!e&&(r>>i&1)==1;i<8?this.modules[8][this.moduleCount-i-1]=o:i<9?this.modules[8][15-i-1+1]=o:this.modules[8][15-i-1]=o}this.modules[this.moduleCount-8][8]=!e},c.mapData=function(e,t){for(var n=-1,r=this.moduleCount-1,i=7,o=0,s=this.moduleCount-1;s>0;s-=2)for(s==6&&s--;;){for(var c=0;c<2;c++)if(this.modules[r][s-c]==null){var l=!1;o>>i&1)==1),a.getMask(t,r,s-c)&&(l=!l),this.modules[r][s-c]=l,i--,i==-1&&(o++,i=7)}if(r+=n,r<0||this.moduleCount<=r){r-=n,n=-n;break}}},s.PAD0=236,s.PAD1=17,s.createData=function(e,t,n){for(var o=r.getRSBlocks(e,t),c=new i,l=0;ld*8)throw Error(`code length overflow. (`+c.getLengthInBits()+`>`+d*8+`)`);for(c.getLengthInBits()+4<=d*8&&c.put(0,4);c.getLengthInBits()%8!=0;)c.putBit(!1);for(;!(c.getLengthInBits()>=d*8||(c.put(s.PAD0,8),c.getLengthInBits()>=d*8));)c.put(s.PAD1,8);return s.createBytes(c,o)},s.createBytes=function(e,t){for(var n=0,r=0,i=0,s=Array(t.length),c=Array(t.length),l=0;l=0?m.get(h):0}}for(var g=0,f=0;f{Object.defineProperty(e,`__esModule`,{value:!0});var t=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var s={bgColor:n.default.oneOfType([n.default.object,n.default.string]).isRequired,bgD:n.default.string.isRequired,fgColor:n.default.oneOfType([n.default.object,n.default.string]).isRequired,fgD:n.default.string.isRequired,size:n.default.number.isRequired,title:n.default.string,viewBoxSize:n.default.number.isRequired,xmlns:n.default.string},c=(0,r.forwardRef)(function(e,n){var r=e.bgColor,a=e.bgD,s=e.fgD,c=e.fgColor,l=e.size,u=e.title,d=e.viewBoxSize,f=e.xmlns,p=f===void 0?`http://www.w3.org/2000/svg`:f,m=o(e,[`bgColor`,`bgD`,`fgD`,`fgColor`,`size`,`title`,`viewBoxSize`,`xmlns`]);return i.default.createElement(`svg`,t({},m,{height:l,ref:n,viewBox:`0 0 `+d+` `+d,width:l,xmlns:p}),u?i.default.createElement(`title`,null,u):null,i.default.createElement(`path`,{d:a,fill:r}),i.default.createElement(`path`,{d:s,fill:c}))});c.displayName=`QRCodeSvg`,c.propTypes=s,e.default=c})),C=r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.QRCode=void 0;var t=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var d={bgColor:n.default.oneOfType([n.default.object,n.default.string]),fgColor:n.default.oneOfType([n.default.object,n.default.string]),level:n.default.string,size:n.default.number,value:n.default.string.isRequired},m=(0,a.forwardRef)(function(e,n){var a=e.bgColor,c=a===void 0?`#FFFFFF`:a,u=e.fgColor,d=u===void 0?`#000000`:u,f=e.level,p=f===void 0?`L`:f,m=e.size,h=m===void 0?256:m,g=e.value,_=l(e,[`bgColor`,`fgColor`,`level`,`size`,`value`]),v=new i.default(-1,r.default[p]);v.addData(g),v.make();var y=v.modules;return o.default.createElement(s.default,t({},_,{bgColor:c,bgD:y.map(function(e,t){return e.map(function(e,n){return e?``:`M `+n+` `+t+` l 1 0 0 1 -1 0 Z`}).join(` `)}).join(` `),fgColor:d,fgD:y.map(function(e,t){return e.map(function(e,n){return e?`M `+n+` `+t+` l 1 0 0 1 -1 0 Z`:``}).join(` `)}).join(` `),ref:n,size:h,viewBoxSize:y.length}))});e.QRCode=m,m.displayName=`QRCode`,m.propTypes=d,e.default=m})),w=l(u(),1),T=l(C(),1),E=l(e(),1);function D(e){return typeof e==`object`&&!!e}function O(e){return typeof e==`function`}function k(e){if(D(e)){let t=e.default;if(O(t))return t;let n=e.QRCode;if(O(n))return n}return O(e)?e:function(){return(0,E.jsxs)(`div`,{className:`kv-qr-fallback`,"aria-label":`QR unavailable`,children:[(0,E.jsx)(`div`,{className:`kv-qr-fallback__mark`,children:`QR`}),(0,E.jsx)(`div`,{className:`kv-qr-fallback__sub`,children:`Open link`})]})}}var A=k(T);function j(e,t=10,n=10){return e?e.length<=t+n+3?e:`${e.slice(0,t)}…${e.slice(-n)}`:``}function M(e,t=10,n=10){return e?e.length<=t+n+3?e:`${e.slice(0,t)}…${e.slice(-n)}`:``}async function N(e){try{return typeof navigator>`u`||!navigator.clipboard?.writeText?!1:(await navigator.clipboard.writeText(e),!0)}catch{return!1}}function P(){return(0,E.jsxs)(`svg`,{className:`kv-ic`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,E.jsx)(`path`,{d:`M14 5h5v5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,E.jsx)(`path`,{d:`M10 14 19 5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,E.jsx)(`path`,{d:`M19 14v4a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`})]})}function F(){return(0,E.jsx)(`span`,{className:`kv-remember`,"aria-hidden":`true`,children:`💠`})}function I({pulse:e,kaiSignature:t,phiKey:r,caption:l,chakraDay:u,compact:f=!1,verifierBaseUrl:p}){let[m,h]=(0,w.useState)(`idle`),[g,_]=(0,w.useState)(`idle`),[v,y]=(0,w.useState)(null),b=(0,w.useMemo)(()=>{let i=p??d(),l=String(i).replace(/\/+$/,``)||`/verify`,f=typeof t==`string`?t.trim():``,m=a(f),h=n(e,f),g=o(e,f,l),_=s(typeof u==`string`?u:String(u??``)),v=typeof r==`string`?r.trim():``,y=e>0&&f.length>0&&v.length>0&&_?{v:`KPV-1`,pulse:e,chakraDay:_,kaiSignature:f,phiKey:v,verifierSlug:h}:null;return{v:`KVPF-1`,hashAlg:c,canon:`JCS`,verifierUrl:g,verifierBaseUrl:l,verifierSlug:h,pulse:e,chakraDay:_??void 0,kaiSignature:f,kaiSignatureShort:m,phiKey:v,proofCapsule:y,capsuleHash:void 0}},[u,t,r,e,p]);(0,w.useEffect)(()=>{let e=!1;return(async()=>{if(!b.proofCapsule){y(null);return}try{let t=await i(b.proofCapsule);e||y(t)}catch{e||y(null)}})(),()=>{e=!0}},[b.proofCapsule]);let x=f?92:128,S=f?`kv-verifier kv-verifier--compact`:`kv-verifier`,C=Number.isFinite(e)&&e>0?String(e):`—`,T=typeof l==`string`?l.trim():``,D=j(b.phiKey,f?10:12,f?10:12),O=v?M(v,f?10:12,f?10:12):`—`,k=!!b.proofCapsule&&!!v,I=async()=>{h(await N(b.verifierUrl)?`ok`:`error`),window.setTimeout(()=>h(`idle`),1600)},L=async()=>{try{let e=v??void 0;!e&&b.proofCapsule&&(e=await i(b.proofCapsule),y(e));let t={...b,capsuleHash:e};_(await N(JSON.stringify(t,null,2))?`ok`:`error`),window.setTimeout(()=>_(`idle`),1600)}catch{_(`error`),window.setTimeout(()=>_(`idle`),1600)}};return(0,E.jsxs)(`section`,{className:S,"aria-label":`Kai-Sigil verification frame`,"data-role":`verifier-frame`,"data-seal":k?`ok`:`off`,children:[(0,E.jsx)(`div`,{className:`kv-topline`,"aria-hidden":`true`}),(0,E.jsxs)(`div`,{className:`kv-wrap`,children:[(0,E.jsxs)(`div`,{className:`kv-topbar`,"aria-label":`Verifier top bar`,children:[(0,E.jsx)(`div`,{className:`kv-qr-shell`,role:`img`,"aria-label":`QR code for verifier pulse ${C}`,title:`Scan to open verifier`,children:(0,E.jsx)(`div`,{className:`kv-qr-inner`,children:(0,E.jsx)(A,{value:b.verifierUrl,size:x,bgColor:`#00000000`,fgColor:`#ffffff`,level:`M`})})}),(0,E.jsxs)(`div`,{className:`kv-chipbar`,"aria-label":`Seal chips`,children:[(0,E.jsxs)(`div`,{className:k?`kv-chip kv-chip--ok`:`kv-chip`,title:`KPV-1 capsule binding`,children:[(0,E.jsx)(`span`,{className:`kv-chip__dot`,"aria-hidden":`true`}),(0,E.jsx)(`span`,{className:`kv-chip__txt`,children:`KPV-1`})]}),(0,E.jsx)(`div`,{className:`kv-chip`,title:`Hash algorithm`,children:(0,E.jsx)(`span`,{className:`kv-chip__txt`,children:c.toUpperCase()})}),(0,E.jsx)(`div`,{className:`kv-chip`,title:`Canonicalization`,children:(0,E.jsx)(`span`,{className:`kv-chip__txt`,children:`JCS`})}),(0,E.jsx)(`div`,{className:k?`kv-chip kv-chip--status kv-chip--ok`:`kv-chip kv-chip--status`,title:`Seal status`,children:(0,E.jsx)(`span`,{className:`kv-chip__txt`,children:k?`OFFICIAL SEAL`:`INCOMPLETE`})})]})]}),(0,E.jsxs)(`div`,{className:`kv-body`,children:[(0,E.jsxs)(`header`,{className:`kv-head`,children:[(0,E.jsx)(`h3`,{className:`kv-title`,children:`☤Kai Sigil-Glyph Verifier`}),(0,E.jsx)(`p`,{className:`kv-sub`,children:`Payload-bound proof vessel (capsule). Inhale to affirm this Φ-Key sealed this moment.`})]}),(0,E.jsxs)(`dl`,{className:`kv-meta`,"aria-label":`Verification fields`,children:[(0,E.jsxs)(`div`,{className:`kv-row`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`☤Kai (Pulse)`}),(0,E.jsx)(`dd`,{className:`kv-v`,children:C})]}),(0,E.jsxs)(`div`,{className:`kv-row`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`☤Kai-Sig`}),(0,E.jsx)(`dd`,{className:`kv-v kv-mono`,children:b.kaiSignatureShort||`—`})]}),(0,E.jsxs)(`div`,{className:`kv-row`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`Φ-Key`}),(0,E.jsx)(`dd`,{className:`kv-v kv-mono`,title:b.phiKey,children:D||`—`})]}),(0,E.jsxs)(`div`,{className:`kv-row`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`Spiral (Chakra)`}),(0,E.jsx)(`dd`,{className:`kv-v`,children:b.chakraDay??`—`})]}),(0,E.jsxs)(`div`,{className:`kv-row kv-row--wide`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`Vessel Hash`}),(0,E.jsx)(`dd`,{className:`kv-v kv-mono`,title:v??``,children:O})]})]}),T?(0,E.jsxs)(`p`,{className:`kv-caption`,children:[`“`,T,`”`]}):null,(0,E.jsxs)(`div`,{className:`kv-actions`,"aria-label":`Actions`,children:[(0,E.jsxs)(`a`,{href:b.verifierUrl,target:`_blank`,rel:`noopener noreferrer`,className:`kv-btn kv-btn--primary`,children:[(0,E.jsx)(P,{}),(0,E.jsx)(`span`,{className:`kv-btn__txt`,children:`Open`})]}),(0,E.jsxs)(`button`,{type:`button`,onClick:()=>void I(),className:`kv-btn kv-btn--ghost`,title:`💠 Remember Link`,children:[(0,E.jsx)(F,{}),(0,E.jsx)(`span`,{className:`kv-btn__txt`,children:m===`ok`?`Remembered`:`Link`})]}),(0,E.jsxs)(`button`,{type:`button`,onClick:()=>void L(),className:`kv-btn kv-btn--ghost`,title:`💠 Remember Proof`,children:[(0,E.jsx)(F,{}),(0,E.jsx)(`span`,{className:`kv-btn__txt`,children:g===`ok`?`Remembered`:`Proof`})]}),(0,E.jsx)(`div`,{className:`kv-toast`,"aria-live":`polite`,children:g===`error`||m===`error`?`Remember failed`:g===`ok`?`Proof remembered`:m===`ok`?`Link remembered`:``})]}),(0,E.jsxs)(`div`,{className:`kv-url`,"aria-label":`Verifier URL`,children:[(0,E.jsx)(`span`,{className:`kv-url__k`,children:`Verifier:`}),(0,E.jsx)(`span`,{className:`kv-url__v`,children:b.verifierUrl})]})]})]})]})}export{I as t}; \ No newline at end of file +import{Vt as e,a as t,c as n,ci as r,f as i,h as a,l as o,m as s,o as c,pi as l,si as u,u as d}from"./index-DtFxxvye.js";import{t as f}from"./prop-types-YkQRgLAR.js";var p=r(((e,t)=>{t.exports={L:1,M:0,Q:3,H:2}})),m=r(((e,t)=>{t.exports={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8}})),h=r(((e,t)=>{var n=m();function r(e){this.mode=n.MODE_8BIT_BYTE,this.data=e}r.prototype={getLength:function(e){return this.data.length},write:function(e){for(var t=0;t{var n=p();function r(e,t){this.totalCount=e,this.dataCount=t}r.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],r.getRSBlocks=function(e,t){var n=r.getRsBlockTable(e,t);if(n==null)throw Error(`bad rs block @ typeNumber:`+e+`/errorCorrectLevel:`+t);for(var i=n.length/3,a=[],o=0;o{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){var t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(var n=0;n>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),v=r(((e,t)=>{for(var n={glog:function(e){if(e<1)throw Error(`glog(`+e+`)`);return n.LOG_TABLE[e]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return n.EXP_TABLE[e]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},r=0;r<8;r++)n.EXP_TABLE[r]=1<{var n=v();function r(e,t){if(e.length==null)throw Error(e.length+`/`+t);for(var n=0;n{var n=m(),r=y(),i=v(),a={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},o={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;o.getBCHDigit(t)-o.getBCHDigit(o.G15)>=0;)t^=o.G15<=0;)t^=o.G18<>>=1;return t},getPatternPosition:function(e){return o.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,n){switch(e){case a.PATTERN000:return(t+n)%2==0;case a.PATTERN001:return t%2==0;case a.PATTERN010:return n%3==0;case a.PATTERN011:return(t+n)%3==0;case a.PATTERN100:return(Math.floor(t/2)+Math.floor(n/3))%2==0;case a.PATTERN101:return t*n%2+t*n%3==0;case a.PATTERN110:return(t*n%2+t*n%3)%2==0;case a.PATTERN111:return(t*n%3+(t+n)%2)%2==0;default:throw Error(`bad maskPattern:`+e)}},getErrorCorrectPolynomial:function(e){for(var t=new r([1],0),n=0;n5&&(n+=3+a-5)}for(var r=0;r{var n=h(),r=g(),i=_(),a=b(),o=y();function s(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}var c=s.prototype;c.addData=function(e){var t=new n(e);this.dataList.push(t),this.dataCache=null},c.isDark=function(e,t){if(e<0||this.moduleCount<=e||t<0||this.moduleCount<=t)throw Error(e+`,`+t);return this.modules[e][t]},c.getModuleCount=function(){return this.moduleCount},c.make=function(){if(this.typeNumber<1){var e=1;for(e=1;e<40;e++){for(var t=r.getRSBlocks(e,this.errorCorrectLevel),n=new i,o=0,s=0;s=7&&this.setupTypeNumber(e),this.dataCache??=s.createData(this.typeNumber,this.errorCorrectLevel,this.dataList),this.mapData(this.dataCache,t)},c.setupPositionProbePattern=function(e,t){for(var n=-1;n<=7;n++)if(!(e+n<=-1||this.moduleCount<=e+n))for(var r=-1;r<=7;r++)t+r<=-1||this.moduleCount<=t+r||(0<=n&&n<=6&&(r==0||r==6)||0<=r&&r<=6&&(n==0||n==6)||2<=n&&n<=4&&2<=r&&r<=4?this.modules[e+n][t+r]=!0:this.modules[e+n][t+r]=!1)},c.getBestMaskPattern=function(){for(var e=0,t=0,n=0;n<8;n++){this.makeImpl(!0,n);var r=a.getLostPoint(this);(n==0||e>r)&&(e=r,t=n)}return t},c.createMovieClip=function(e,t,n){var r=e.createEmptyMovieClip(t,n),i=1;this.make();for(var a=0;a>n&1)==1;this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=r}for(var n=0;n<18;n++){var r=!e&&(t>>n&1)==1;this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=r}},c.setupTypeInfo=function(e,t){for(var n=this.errorCorrectLevel<<3|t,r=a.getBCHTypeInfo(n),i=0;i<15;i++){var o=!e&&(r>>i&1)==1;i<6?this.modules[i][8]=o:i<8?this.modules[i+1][8]=o:this.modules[this.moduleCount-15+i][8]=o}for(var i=0;i<15;i++){var o=!e&&(r>>i&1)==1;i<8?this.modules[8][this.moduleCount-i-1]=o:i<9?this.modules[8][15-i-1+1]=o:this.modules[8][15-i-1]=o}this.modules[this.moduleCount-8][8]=!e},c.mapData=function(e,t){for(var n=-1,r=this.moduleCount-1,i=7,o=0,s=this.moduleCount-1;s>0;s-=2)for(s==6&&s--;;){for(var c=0;c<2;c++)if(this.modules[r][s-c]==null){var l=!1;o>>i&1)==1),a.getMask(t,r,s-c)&&(l=!l),this.modules[r][s-c]=l,i--,i==-1&&(o++,i=7)}if(r+=n,r<0||this.moduleCount<=r){r-=n,n=-n;break}}},s.PAD0=236,s.PAD1=17,s.createData=function(e,t,n){for(var o=r.getRSBlocks(e,t),c=new i,l=0;ld*8)throw Error(`code length overflow. (`+c.getLengthInBits()+`>`+d*8+`)`);for(c.getLengthInBits()+4<=d*8&&c.put(0,4);c.getLengthInBits()%8!=0;)c.putBit(!1);for(;!(c.getLengthInBits()>=d*8||(c.put(s.PAD0,8),c.getLengthInBits()>=d*8));)c.put(s.PAD1,8);return s.createBytes(c,o)},s.createBytes=function(e,t){for(var n=0,r=0,i=0,s=Array(t.length),c=Array(t.length),l=0;l=0?m.get(h):0}}for(var g=0,f=0;f{Object.defineProperty(e,`__esModule`,{value:!0});var t=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var s={bgColor:n.default.oneOfType([n.default.object,n.default.string]).isRequired,bgD:n.default.string.isRequired,fgColor:n.default.oneOfType([n.default.object,n.default.string]).isRequired,fgD:n.default.string.isRequired,size:n.default.number.isRequired,title:n.default.string,viewBoxSize:n.default.number.isRequired,xmlns:n.default.string},c=(0,r.forwardRef)(function(e,n){var r=e.bgColor,a=e.bgD,s=e.fgD,c=e.fgColor,l=e.size,u=e.title,d=e.viewBoxSize,f=e.xmlns,p=f===void 0?`http://www.w3.org/2000/svg`:f,m=o(e,[`bgColor`,`bgD`,`fgD`,`fgColor`,`size`,`title`,`viewBoxSize`,`xmlns`]);return i.default.createElement(`svg`,t({},m,{height:l,ref:n,viewBox:`0 0 `+d+` `+d,width:l,xmlns:p}),u?i.default.createElement(`title`,null,u):null,i.default.createElement(`path`,{d:a,fill:r}),i.default.createElement(`path`,{d:s,fill:c}))});c.displayName=`QRCodeSvg`,c.propTypes=s,e.default=c})),C=r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.QRCode=void 0;var t=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var d={bgColor:n.default.oneOfType([n.default.object,n.default.string]),fgColor:n.default.oneOfType([n.default.object,n.default.string]),level:n.default.string,size:n.default.number,value:n.default.string.isRequired},m=(0,a.forwardRef)(function(e,n){var a=e.bgColor,c=a===void 0?`#FFFFFF`:a,u=e.fgColor,d=u===void 0?`#000000`:u,f=e.level,p=f===void 0?`L`:f,m=e.size,h=m===void 0?256:m,g=e.value,_=l(e,[`bgColor`,`fgColor`,`level`,`size`,`value`]),v=new i.default(-1,r.default[p]);v.addData(g),v.make();var y=v.modules;return o.default.createElement(s.default,t({},_,{bgColor:c,bgD:y.map(function(e,t){return e.map(function(e,n){return e?``:`M `+n+` `+t+` l 1 0 0 1 -1 0 Z`}).join(` `)}).join(` `),fgColor:d,fgD:y.map(function(e,t){return e.map(function(e,n){return e?`M `+n+` `+t+` l 1 0 0 1 -1 0 Z`:``}).join(` `)}).join(` `),ref:n,size:h,viewBoxSize:y.length}))});e.QRCode=m,m.displayName=`QRCode`,m.propTypes=d,e.default=m})),w=l(u(),1),T=l(C(),1),E=l(e(),1);function D(e){return typeof e==`object`&&!!e}function O(e){return typeof e==`function`}function k(e){if(D(e)){let t=e.default;if(O(t))return t;let n=e.QRCode;if(O(n))return n}return O(e)?e:function(){return(0,E.jsxs)(`div`,{className:`kv-qr-fallback`,"aria-label":`QR unavailable`,children:[(0,E.jsx)(`div`,{className:`kv-qr-fallback__mark`,children:`QR`}),(0,E.jsx)(`div`,{className:`kv-qr-fallback__sub`,children:`Open link`})]})}}var A=k(T);function j(e,t=10,n=10){return e?e.length<=t+n+3?e:`${e.slice(0,t)}…${e.slice(-n)}`:``}function M(e,t=10,n=10){return e?e.length<=t+n+3?e:`${e.slice(0,t)}…${e.slice(-n)}`:``}async function N(e){try{return typeof navigator>`u`||!navigator.clipboard?.writeText?!1:(await navigator.clipboard.writeText(e),!0)}catch{return!1}}function P(){return(0,E.jsxs)(`svg`,{className:`kv-ic`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,E.jsx)(`path`,{d:`M14 5h5v5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,E.jsx)(`path`,{d:`M10 14 19 5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,E.jsx)(`path`,{d:`M19 14v4a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`})]})}function F(){return(0,E.jsx)(`span`,{className:`kv-remember`,"aria-hidden":`true`,children:`💠`})}function I({pulse:e,kaiSignature:t,phiKey:r,caption:l,chakraDay:u,compact:f=!1,verifierBaseUrl:p}){let[m,h]=(0,w.useState)(`idle`),[g,_]=(0,w.useState)(`idle`),[v,y]=(0,w.useState)(null),b=(0,w.useMemo)(()=>{let i=p??d(),l=String(i).replace(/\/+$/,``)||`/verify`,f=typeof t==`string`?t.trim():``,m=a(f),h=n(e,f),g=o(e,f,l),_=s(typeof u==`string`?u:String(u??``)),v=typeof r==`string`?r.trim():``,y=e>0&&f.length>0&&v.length>0&&_?{v:`KPV-1`,pulse:e,chakraDay:_,kaiSignature:f,phiKey:v,verifierSlug:h}:null;return{v:`KVPF-1`,hashAlg:c,canon:`JCS`,verifierUrl:g,verifierBaseUrl:l,verifierSlug:h,pulse:e,chakraDay:_??void 0,kaiSignature:f,kaiSignatureShort:m,phiKey:v,proofCapsule:y,capsuleHash:void 0}},[u,t,r,e,p]);(0,w.useEffect)(()=>{let e=!1;return(async()=>{if(!b.proofCapsule){y(null);return}try{let t=await i(b.proofCapsule);e||y(t)}catch{e||y(null)}})(),()=>{e=!0}},[b.proofCapsule]);let x=f?92:128,S=f?`kv-verifier kv-verifier--compact`:`kv-verifier`,C=Number.isFinite(e)&&e>0?String(e):`—`,T=typeof l==`string`?l.trim():``,D=j(b.phiKey,f?10:12,f?10:12),O=v?M(v,f?10:12,f?10:12):`—`,k=!!b.proofCapsule&&!!v,I=async()=>{h(await N(b.verifierUrl)?`ok`:`error`),window.setTimeout(()=>h(`idle`),1600)},L=async()=>{try{let e=v??void 0;!e&&b.proofCapsule&&(e=await i(b.proofCapsule),y(e));let t={...b,capsuleHash:e};_(await N(JSON.stringify(t,null,2))?`ok`:`error`),window.setTimeout(()=>_(`idle`),1600)}catch{_(`error`),window.setTimeout(()=>_(`idle`),1600)}};return(0,E.jsxs)(`section`,{className:S,"aria-label":`Kai-Sigil verification frame`,"data-role":`verifier-frame`,"data-seal":k?`ok`:`off`,children:[(0,E.jsx)(`div`,{className:`kv-topline`,"aria-hidden":`true`}),(0,E.jsxs)(`div`,{className:`kv-wrap`,children:[(0,E.jsxs)(`div`,{className:`kv-topbar`,"aria-label":`Verifier top bar`,children:[(0,E.jsx)(`div`,{className:`kv-qr-shell`,role:`img`,"aria-label":`QR code for verifier pulse ${C}`,title:`Scan to open verifier`,children:(0,E.jsx)(`div`,{className:`kv-qr-inner`,children:(0,E.jsx)(A,{value:b.verifierUrl,size:x,bgColor:`#00000000`,fgColor:`#ffffff`,level:`M`})})}),(0,E.jsxs)(`div`,{className:`kv-chipbar`,"aria-label":`Seal chips`,children:[(0,E.jsxs)(`div`,{className:k?`kv-chip kv-chip--ok`:`kv-chip`,title:`KPV-1 capsule binding`,children:[(0,E.jsx)(`span`,{className:`kv-chip__dot`,"aria-hidden":`true`}),(0,E.jsx)(`span`,{className:`kv-chip__txt`,children:`KPV-1`})]}),(0,E.jsx)(`div`,{className:`kv-chip`,title:`Hash algorithm`,children:(0,E.jsx)(`span`,{className:`kv-chip__txt`,children:c.toUpperCase()})}),(0,E.jsx)(`div`,{className:`kv-chip`,title:`Canonicalization`,children:(0,E.jsx)(`span`,{className:`kv-chip__txt`,children:`JCS`})}),(0,E.jsx)(`div`,{className:k?`kv-chip kv-chip--status kv-chip--ok`:`kv-chip kv-chip--status`,title:`Seal status`,children:(0,E.jsx)(`span`,{className:`kv-chip__txt`,children:k?`OFFICIAL SEAL`:`INCOMPLETE`})})]})]}),(0,E.jsxs)(`div`,{className:`kv-body`,children:[(0,E.jsxs)(`header`,{className:`kv-head`,children:[(0,E.jsx)(`h3`,{className:`kv-title`,children:`☤Kai Sigil-Glyph Verifier`}),(0,E.jsx)(`p`,{className:`kv-sub`,children:`Payload-bound proof vessel (capsule). Inhale to affirm this Φ-Key sealed this moment.`})]}),(0,E.jsxs)(`dl`,{className:`kv-meta`,"aria-label":`Verification fields`,children:[(0,E.jsxs)(`div`,{className:`kv-row`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`☤Kai (Pulse)`}),(0,E.jsx)(`dd`,{className:`kv-v`,children:C})]}),(0,E.jsxs)(`div`,{className:`kv-row`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`☤Kai-Sig`}),(0,E.jsx)(`dd`,{className:`kv-v kv-mono`,children:b.kaiSignatureShort||`—`})]}),(0,E.jsxs)(`div`,{className:`kv-row`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`Φ-Key`}),(0,E.jsx)(`dd`,{className:`kv-v kv-mono`,title:b.phiKey,children:D||`—`})]}),(0,E.jsxs)(`div`,{className:`kv-row`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`Spiral (Chakra)`}),(0,E.jsx)(`dd`,{className:`kv-v`,children:b.chakraDay??`—`})]}),(0,E.jsxs)(`div`,{className:`kv-row kv-row--wide`,children:[(0,E.jsx)(`dt`,{className:`kv-k`,children:`Vessel Hash`}),(0,E.jsx)(`dd`,{className:`kv-v kv-mono`,title:v??``,children:O})]})]}),T?(0,E.jsxs)(`p`,{className:`kv-caption`,children:[`“`,T,`”`]}):null,(0,E.jsxs)(`div`,{className:`kv-actions`,"aria-label":`Actions`,children:[(0,E.jsxs)(`a`,{href:b.verifierUrl,target:`_blank`,rel:`noopener noreferrer`,className:`kv-btn kv-btn--primary`,children:[(0,E.jsx)(P,{}),(0,E.jsx)(`span`,{className:`kv-btn__txt`,children:`Open`})]}),(0,E.jsxs)(`button`,{type:`button`,onClick:()=>void I(),className:`kv-btn kv-btn--ghost`,title:`💠 Remember Link`,children:[(0,E.jsx)(F,{}),(0,E.jsx)(`span`,{className:`kv-btn__txt`,children:m===`ok`?`Remembered`:`Link`})]}),(0,E.jsxs)(`button`,{type:`button`,onClick:()=>void L(),className:`kv-btn kv-btn--ghost`,title:`💠 Remember Proof`,children:[(0,E.jsx)(F,{}),(0,E.jsx)(`span`,{className:`kv-btn__txt`,children:g===`ok`?`Remembered`:`Proof`})]}),(0,E.jsx)(`div`,{className:`kv-toast`,"aria-live":`polite`,children:g===`error`||m===`error`?`Remember failed`:g===`ok`?`Proof remembered`:m===`ok`?`Link remembered`:``})]}),(0,E.jsxs)(`div`,{className:`kv-url`,"aria-label":`Verifier URL`,children:[(0,E.jsx)(`span`,{className:`kv-url__k`,children:`Verifier:`}),(0,E.jsx)(`span`,{className:`kv-url__v`,children:b.verifierUrl})]})]})]})]})}export{I as t}; \ No newline at end of file diff --git a/dist/assets/VerifyPage-BtXhWnc2.js b/dist/assets/VerifyPage-XbHelENw.js similarity index 99% rename from dist/assets/VerifyPage-BtXhWnc2.js rename to dist/assets/VerifyPage-XbHelENw.js index 2eff82f40..b934da34c 100644 --- a/dist/assets/VerifyPage-BtXhWnc2.js +++ b/dist/assets/VerifyPage-XbHelENw.js @@ -1,3 +1,3 @@ -import{Bt as e,D as t,Et as n,H as r,M as i,O as a,T as o,Vt as s,a as c,c as l,d as u,f as ee,g as d,j as f,k as te,l as ne,m as re,n as p,o as m,p as ie,pi as h,r as ae,s as oe,si as g,t as se,zt as ce}from"./index-BfXtjgZ1.js";import{r as le}from"./webauthnKAS-CfTQ1nee.js";import"./prop-types-DLoCx3ki.js";import{t as ue}from"./VerifierFrame-DPCnuxaa.js";import{n as de,t as fe}from"./useValuation-BHaVRo0Z.js";var _=h(g(),1);function pe(e){let t=decodeURIComponent(e||``).trim(),n=t.match(/^(\d+)-([A-Za-z0-9]+)$/);if(!n)return{raw:t,pulse:null,shortSig:null};let r=Number(n[1]);return{raw:t,pulse:Number.isFinite(r)&&r>0?r:null,shortSig:n[2]?String(n[2]):null}}function v(e,t){return e.length<=t?e:e.slice(0,t)}async function me(e,r){try{let i=t(r),a=(i.kaiSignature??``).trim();if(!a)return{status:`error`,message:`No kaiSignature found in the SVG metadata.`,slug:e,embedded:i};let o=await n(a),s=(i.phiKey??``).trim(),c=i.pulseExact,l=c&&Number.isFinite(Number(c))?Number(c):i.pulse,u={hasSignature:!0,slugPulseMatches:e.pulse==null||l==null?null:e.pulse===l,slugShortSigMatches:e.shortSig==null?null:e.shortSig===v(a,e.shortSig.length),derivedPhiKeyMatchesEmbedded:s.length===0?null:o===s};return u.slugPulseMatches===!1||u.slugShortSigMatches===!1||u.derivedPhiKeyMatchesEmbedded===!1?{status:`error`,message:`Verification failed: one or more checks did not match.`,slug:e,embedded:i,derivedPhiKey:o,checks:u}:{status:`ok`,slug:e,embedded:{...i,pulse:l??i.pulse,phiKey:s.length>0?s:o},derivedPhiKey:o,checks:u}}catch(t){return{status:`error`,message:t instanceof Error?t.message:`Verification failed.`,slug:e}}}var y=h(s(),1);function he(e){if(e==null)return`—`;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function b(e){return typeof e==`object`&&!!e}function ge(e){if(!b(e))return null;let t=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount)?e.originalAmount:null;if(t==null)return null;let n=(Array.isArray(e.debits)?e.debits:[]).reduce((e,t)=>{if(!b(t))return e;let n=t.amount;return typeof n!=`number`||!Number.isFinite(n)||n<=0?e:e+n},0);return{originalAmount:t,remaining:Math.max(0,t-n)}}function x(e){if(typeof e==`number`)return!Number.isFinite(e)||Math.abs(e)<1e-12?null:Math.abs(e);if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Math.abs(t)>=1e-12)return Math.abs(t)}return null}function _e(e){if(!b(e))return null;let t=[e],n=e.feed,r=e.preview,i=e.meta;b(n)&&t.push(n),b(r)&&t.push(r),b(i)&&t.push(i);for(let e of t){let t=x(e.transferAmountPhi)??x(e.transferPhi)??x(e.amountPhi)??x(e.phiAmount)??x(e.childAllocationPhi)??x(e.branchBasePhi)??x(e.valuePhi)??x(e.value);if(t!=null)return t}return null}function ve(e){if(!b(e))return null;let t=e.receiveSig;return p(t)?t:null}function ye(){if(typeof window>`u`)return``;let e=window.location.pathname||``,t=window.location.hash||``,n=e.match(/\/verify\/([^/?#]+)/);if(n?.[1])return n[1];let r=t.match(/\/verify\/([^/?#]+)/);return r?.[1]?r[1]:``}async function be(e){return await new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(Error(`Failed to read file.`)),r.onload=()=>t(String(r.result??``)),r.readAsText(e)})}function S(e,t=18,n=14){let r=(e||``).trim();return r?r.length<=t+n+3?r:`${r.slice(0,t)}…${r.slice(r.length-n)}`:`—`}function C(e){return Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function xe(e){try{return C(d(e.challenge))}catch{return null}}function Se(e){let t=(e.name||``).toLowerCase(),n=(e.type||``).toLowerCase();return t.endsWith(`.svg`)||n===`image/svg+xml`}function Ce(){return(0,y.jsxs)(`svg`,{className:`mark`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,y.jsx)(`path`,{d:`M12 2.25 20.25 7v10L12 21.75 3.75 17V7L12 2.25Z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.95`}),(0,y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2.2`,fill:`currentColor`,opacity:`0.95`}),(0,y.jsx)(`path`,{d:`M7.2 12c0-2.65 2.15-4.8 4.8-4.8`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`,opacity:`0.55`})]})}function we(){return(0,y.jsxs)(`svg`,{className:`mark`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,y.jsx)(`path`,{d:`M9.5 7.5a2.5 2.5 0 0 1 4 0l.7 1a3.6 3.6 0 0 0 2.3 1.4l1.2.2a2.5 2.5 0 0 1 0 4.9l-1.2.2a3.6 3.6 0 0 0-2.3 1.4l-.7 1a2.5 2.5 0 0 1-4 0l-.7-1a3.6 3.6 0 0 0-2.3-1.4l-1.2-.2a2.5 2.5 0 0 1 0-4.9l1.2-.2a3.6 3.6 0 0 0 2.3-1.4l.7-1Z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.95`}),(0,y.jsx)(`path`,{d:`M8.7 12.2 11 14.4l4.6-4.7`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}function w(e){return(0,y.jsx)(`button`,{type:`button`,className:e.kind===`primary`?`vbtn vbtn--primary`:`vbtn`,title:e.title,"aria-label":e.ariaLabel??e.title,onClick:e.onClick,disabled:e.disabled,children:(0,y.jsx)(`span`,{className:`vbtn-ic`,"aria-hidden":`true`,children:e.icon})})}function T(e){return(0,y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e.active,className:e.active?`vtab active`:`vtab`,onClick:e.onClick,title:e.title,"aria-label":e.title,children:[(0,y.jsx)(`span`,{className:`vtab-ic`,"aria-hidden":`true`,children:e.icon}),(0,y.jsx)(`span`,{className:`vtab-txt`,children:e.text})]})}function Te(e){let t=e.kind===`ok`?`ok`:e.kind===`fail`?`fail`:e.kind===`busy`?`busy`:`idle`,n=e.kind===`ok`;return(0,y.jsxs)(`div`,{className:`official`,"data-kind":t,"aria-live":`polite`,children:[(0,y.jsxs)(`div`,{className:`official-top`,children:[(0,y.jsx)(`div`,{className:`official-ring`,"aria-hidden":`true`,children:n?(0,y.jsx)(`span`,{className:`official-check`,children:`✓`}):null}),(0,y.jsx)(`div`,{className:`official-title`,children:e.title})]}),e.subtitle?(0,y.jsx)(`div`,{className:`official-sub`,children:e.subtitle}):null]})}function E(e){let t=e.state===`valid`?`✓`:e.state===`invalid`?`✕`:e.state===`busy`?`⟡`:e.state===`na`?`—`:`·`,n=e.state===`valid`?`VERIFIED`:e.state===`invalid`?`INVALID`:e.state===`busy`?`CHECKING`:e.state===`na`?`N/A`:`ABSENT`;return(0,y.jsxs)(`div`,{className:`seal`,"data-state":e.state,title:e.detail??``,children:[(0,y.jsx)(`span`,{className:`seal-ic`,"aria-hidden":`true`,children:t}),(0,y.jsx)(`span`,{className:`seal-lbl`,children:e.label}),(0,y.jsx)(`span`,{className:`seal-txt`,children:n})]})}function D(e){return(0,y.jsxs)(`div`,{className:`mini`,children:[(0,y.jsx)(`div`,{className:`mini-k`,children:e.label}),(0,y.jsx)(`div`,{className:`mini-v mono`,title:e.title??e.value,children:e.value||`—`})]})}function Ee(e){return(0,y.jsxs)(`div`,{className:`vseal-value`,"aria-label":e.ariaLabel,children:[(0,y.jsx)(`div`,{className:`vseal-value-label`,children:e.label}),(0,y.jsx)(`div`,{className:`vseal-value-phi`,children:f(e.phiValue)}),(0,y.jsx)(`div`,{className:`vseal-value-usd`,children:e.usdValue==null?`—`:i(e.usdValue)})]})}function O(e){return e.open?(0,y.jsx)(`div`,{className:`vmodal-backdrop`,role:`dialog`,"aria-modal":`true`,"aria-label":e.title,onMouseDown:e.onClose,onClick:e.onClose,children:(0,y.jsxs)(`div`,{className:`vmodal`,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:[(0,y.jsxs)(`div`,{className:`vmodal-head`,children:[(0,y.jsxs)(`div`,{className:`vmodal-head-left`,children:[(0,y.jsx)(`div`,{className:`vmodal-title`,children:e.title}),e.subtitle?(0,y.jsx)(`div`,{className:`vmodal-sub`,children:e.subtitle}):null]}),(0,y.jsx)(`button`,{type:`button`,className:`vmodal-close`,onClick:e.onClose,"aria-label":`Close`,title:`Close`,children:`×`})]}),(0,y.jsx)(`div`,{className:`vmodal-body`,children:e.children})]})}):null}function De(){let t=(0,_.useRef)(null),n=(0,_.useMemo)(()=>ye(),[]),s=(0,_.useMemo)(()=>pe(n),[n]),[c,d]=(0,_.useState)(`inhale`),[p,h]=(0,_.useState)(``),[g,v]=(0,_.useState)({status:`idle`}),[b,x]=(0,_.useState)(!1),[C,De]=(0,_.useState)(null),[k,Oe]=(0,_.useState)(``),[A,ke]=(0,_.useState)(``),[j,Ae]=(0,_.useState)(``),[M,je]=(0,_.useState)(null),[N,P]=(0,_.useState)(``),[F,Me]=(0,_.useState)(null),[Ne,I]=(0,_.useState)(null),[Pe,Fe]=(0,_.useState)(null),[L,Ie]=(0,_.useState)(null),[R,Le]=(0,_.useState)(null),[Re,ze]=(0,_.useState)(!1),{pulse:Be}=de(),Ve=(0,_.useMemo)(()=>new URLSearchParams(typeof window<`u`?window.location.search:``),[]),z=(0,_.useMemo)(()=>{if(g.status!==`ok`)return null;let e=g.embedded,t=e.pulse??s.pulse??void 0;return{pulse:t,kaiPulse:t,beat:e.beat,stepIndex:e.stepIndex,frequencyHz:e.frequencyHz,chakraDay:e.chakraDay,chakraGate:e.chakraGate,kaiSignature:e.kaiSignature,userPhiKey:e.phiKey}},[g,s.pulse]),{valSeal:He,livePrice:Ue}=fe({payload:z,urlSearchParams:Ve,currentPulse:Be}),{usdPerPhi:B}=(0,_.useMemo)(()=>{if(!z)return{usdPerPhi:0};try{return{usdPerPhi:e({meta:z,nowPulse:Be??r(new Date),usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},ce).usdPerPhi??0}}catch{return{usdPerPhi:0}}},[z,Be]),We=(0,_.useMemo)(()=>{if(!z)return null;let e=Ue??He?.valuePhi??null;return typeof e==`number`&&Number.isFinite(e)?e:null},[z,Ue,He]),Ge=(0,_.useMemo)(()=>g.status===`ok`?ge(g.embedded.raw)??ge(M?.raw):null,[M?.raw,g]),Ke=(0,_.useMemo)(()=>g.status===`ok`?_e(g.embedded.raw)??_e(M?.raw):null,[M?.raw,g]),V=Ge?.remaining??Ke??We,H=Ge?`balance`:Ke==null?`live`:`embedded`,qe=(0,_.useMemo)(()=>V==null||!Number.isFinite(B)||B<=0?null:V*B,[V,B]),Je=H===`balance`?`BALANCE`:H===`embedded`?`GLYPH`:`LIVE`,Ye=H===`balance`?`Glyph balance`:H===`embedded`?`Glyph embedded value`:`Live glyph valuation`,[Xe,Ze]=(0,_.useState)(!1),[Qe,U]=(0,_.useState)(!1),[$e,et]=(0,_.useState)(!1),[tt,nt]=(0,_.useState)(!1),[rt,it]=(0,_.useState)(!1),[at,ot]=(0,_.useState)(``);_.useEffect(()=>{let e=document.documentElement,t=document.body;return e.classList.add(`verify-shell`),t.classList.add(`verify-shell`),()=>{e.classList.remove(`verify-shell`),t.classList.remove(`verify-shell`)}},[]),_.useEffect(()=>{let e=p.trim();if(!e){ot(``);return}try{let t=new Blob([e],{type:`image/svg+xml`}),n=URL.createObjectURL(t);return ot(n),()=>{URL.revokeObjectURL(n)}}catch{ot(``);return}},[p]),_.useEffect(()=>{if(!N)return;let e=window.setTimeout(()=>P(``),2400);return()=>window.clearTimeout(e)},[N]);let W=(0,_.useMemo)(()=>M||(g.status!==`ok`||!g.embedded.zkProof&&!g.embedded.zkPublicInputs&&!g.embedded.zkPoseidonHash&&!g.embedded.proofHints?null:{zkPoseidonHash:g.embedded.zkPoseidonHash,zkProof:g.embedded.zkProof,zkPublicInputs:g.embedded.zkPublicInputs,proofHints:g.embedded.proofHints}),[M,g]),G=(0,_.useMemo)(()=>W?.zkProof?he(W.zkProof):``,[W]),K=(0,_.useMemo)(()=>W?.zkPublicInputs?he(W.zkPublicInputs):``,[W]),q=(0,_.useMemo)(()=>W?.proofHints?he(W.proofHints):``,[W]),J=(0,_.useMemo)(()=>C?ne(C.pulse,C.kaiSignature):``,[C]),Y=(0,_.useCallback)(async(e,t)=>{let n=(e||``).trim();if(n)try{if(!navigator.clipboard?.writeText){P(`Clipboard unavailable. Use manual copy.`);return}await navigator.clipboard.writeText(n),P(`${t} remembered.`)}catch(e){P(`Remember failed. Use manual copy.`),console.error(e)}},[]),st=(0,_.useCallback)(async e=>{if(!Se(e)){v({status:`error`,message:`Upload a sealed .svg (embedded JSON).`,slug:s});return}h(await be(e)),v({status:`idle`}),P(``)},[s]),ct=(0,_.useCallback)(e=>{if(!e||e.length===0)return;let t=Array.from(e).find(Se);if(!t){v({status:`error`,message:`Drop/select a sealed .svg file.`,slug:s});return}st(t)},[st,s]),lt=(0,_.useCallback)(async()=>{let e=p.trim();if(!e){v({status:`error`,message:`Inhale or paste the sealed SVG (ΦKey).`,slug:s});return}x(!0);try{v(await me(s,e))}finally{x(!1)}},[s,p]);_.useEffect(()=>{let e=!0;return(async()=>{if(g.status!==`ok`){De(null),Oe(``),ke(``),Ae(``),je(null),Me(null),P(``);return}let t=g.embedded.kaiSignature??``,n=g.embedded.pulse??g.slug.pulse??0,r={v:`KPV-1`,pulse:n,chakraDay:re(g.embedded.chakraDay??``)??`Crown`,kaiSignature:t,phiKey:g.derivedPhiKey,verifierSlug:l(n,t)},i=await ie(p),o=a(p),s=o?.proofCapsule??r,c=await ee(s),d=await u(oe(o?.raw&&typeof o.raw==`object`&&o.raw!==null?{...o.raw,svgHash:i,capsuleHash:c,proofCapsule:s}:{hashAlg:o?.hashAlg??`sha256`,canon:o?.canon??`JCS`,proofCapsule:s,capsuleHash:c,svgHash:i,shareUrl:o?.shareUrl,verifierUrl:o?.verifierUrl,zkPoseidonHash:o?.zkPoseidonHash,zkProof:o?.zkProof,proofHints:o?.proofHints,zkPublicInputs:o?.zkPublicInputs,authorSig:o?.authorSig??null})),f=o?.authorSig,ne=null;f&&(ne=te(f)?await le(xe(f)??d,f):!1),e&&(De(s),ke(i),Oe(c),Ae(d),je(o),Me(ne))})(),()=>{e=!1}},[g,s.raw,p]),_.useEffect(()=>{if(g.status!==`ok`||!j){Le(null),I(null);return}let e=ve(M?.raw??g.embedded.raw);if(e){Le(e);return}Le(null),I(null)},[g.status,j,M?.raw]),_.useEffect(()=>{let e=!0;if(!R||!j){I(null);return}return(async()=>{let t=R.binds.bundleHash;if(!t){e&&I(!1);return}let{challengeBytes:n}=await se(`receive`,t,R.nonce),r=await ae({assertion:R.assertion,expectedChallenge:n,pubKeyJwk:R.pubKeyJwk,expectedCredId:R.credId});e&&I(r)})(),()=>{e=!1}},[R,j]),_.useEffect(()=>{let e=!0;return(async()=>{if(!W?.zkProof||!W?.zkPublicInputs){e&&Fe(null);return}if(!L)try{let t=await fetch(`/zk/verification_key.json`,{cache:`no-store`});if(!t.ok)return;let n=await t.json();if(!e)return;Ie(n)}catch{return}let t=typeof W.zkPublicInputs==`string`?(()=>{try{return JSON.parse(W.zkPublicInputs)}catch{return[W.zkPublicInputs]}})():W.zkPublicInputs,n=await o({proof:W.zkProof,publicSignals:t,vkey:L??void 0,fallbackVkey:L??void 0});e&&Fe(n)})(),()=>{e=!1}},[W,L]);let ut=(0,_.useMemo)(()=>b?{kind:`busy`,title:`SEALING`,subtitle:`Deterministic proof rails executing.`}:g.status===`ok`?{kind:`ok`,title:`PROOF OF BREATH™`,subtitle:`Human-origin seal affirmed.`}:g.status===`error`?{kind:`fail`,title:`REJECTED`,subtitle:`Inhale a sealed ΦKey, then verify.`}:{kind:`idle`,title:`STANDBY`,subtitle:`Inhale a ΦKey to begin.`},[b,g.status]),dt=(0,_.useMemo)(()=>g.status===`ok`?String(g.embedded.pulse??s.pulse??0):String(s.pulse??0),[g,s.pulse]),ft=(0,_.useMemo)(()=>g.status===`ok`&&g.derivedPhiKey||`—`,[g]),pt=(0,_.useMemo)(()=>b?`busy`:M?.authorSig?F===null?`na`:F?`valid`:`invalid`:`off`,[b,M?.authorSig,F]),mt=(0,_.useMemo)(()=>b?`busy`:W?.zkPoseidonHash?Pe===null?`na`:Pe?`valid`:`invalid`:`off`,[b,W?.zkPoseidonHash,Pe]),ht=(0,_.useMemo)(()=>R?R.credId:``,[R]),gt=(0,_.useMemo)(()=>R?R.nonce:``,[R]),_t=(0,_.useMemo)(()=>R?.binds.bundleHash?R.binds.bundleHash:j||``,[R,j]),X=(0,_.useMemo)(()=>C?JSON.stringify({hashAlg:m,canon:`JCS`,proofCapsule:C,capsuleHash:k,svgHash:A,bundleHash:j,shareUrl:M?.shareUrl??null,verifierUrl:J,authorSig:M?.authorSig??null,zkPoseidonHash:W?.zkPoseidonHash??null,zkProof:W?.zkProof??null,proofHints:W?.proofHints??null,zkPublicInputs:W?.zkPublicInputs??null},null,2):``,[C,k,A,j,M,J,W]),vt=(0,_.useMemo)(()=>{let e=p.trim();if(!e)return``;let t=e.split(` +import{Bt as e,D as t,Et as n,H as r,M as i,O as a,T as o,Vt as s,a as c,c as l,d as u,f as ee,g as d,j as f,k as te,l as ne,m as re,n as p,o as m,p as ie,pi as h,r as ae,s as oe,si as g,t as se,zt as ce}from"./index-DtFxxvye.js";import{r as le}from"./webauthnKAS-Dx6bJ651.js";import"./prop-types-YkQRgLAR.js";import{t as ue}from"./VerifierFrame-C3wusEJg.js";import{n as de,t as fe}from"./useValuation-C7vd80-4.js";var _=h(g(),1);function pe(e){let t=decodeURIComponent(e||``).trim(),n=t.match(/^(\d+)-([A-Za-z0-9]+)$/);if(!n)return{raw:t,pulse:null,shortSig:null};let r=Number(n[1]);return{raw:t,pulse:Number.isFinite(r)&&r>0?r:null,shortSig:n[2]?String(n[2]):null}}function v(e,t){return e.length<=t?e:e.slice(0,t)}async function me(e,r){try{let i=t(r),a=(i.kaiSignature??``).trim();if(!a)return{status:`error`,message:`No kaiSignature found in the SVG metadata.`,slug:e,embedded:i};let o=await n(a),s=(i.phiKey??``).trim(),c=i.pulseExact,l=c&&Number.isFinite(Number(c))?Number(c):i.pulse,u={hasSignature:!0,slugPulseMatches:e.pulse==null||l==null?null:e.pulse===l,slugShortSigMatches:e.shortSig==null?null:e.shortSig===v(a,e.shortSig.length),derivedPhiKeyMatchesEmbedded:s.length===0?null:o===s};return u.slugPulseMatches===!1||u.slugShortSigMatches===!1||u.derivedPhiKeyMatchesEmbedded===!1?{status:`error`,message:`Verification failed: one or more checks did not match.`,slug:e,embedded:i,derivedPhiKey:o,checks:u}:{status:`ok`,slug:e,embedded:{...i,pulse:l??i.pulse,phiKey:s.length>0?s:o},derivedPhiKey:o,checks:u}}catch(t){return{status:`error`,message:t instanceof Error?t.message:`Verification failed.`,slug:e}}}var y=h(s(),1);function he(e){if(e==null)return`—`;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function b(e){return typeof e==`object`&&!!e}function ge(e){if(!b(e))return null;let t=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount)?e.originalAmount:null;if(t==null)return null;let n=(Array.isArray(e.debits)?e.debits:[]).reduce((e,t)=>{if(!b(t))return e;let n=t.amount;return typeof n!=`number`||!Number.isFinite(n)||n<=0?e:e+n},0);return{originalAmount:t,remaining:Math.max(0,t-n)}}function x(e){if(typeof e==`number`)return!Number.isFinite(e)||Math.abs(e)<1e-12?null:Math.abs(e);if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Math.abs(t)>=1e-12)return Math.abs(t)}return null}function _e(e){if(!b(e))return null;let t=[e],n=e.feed,r=e.preview,i=e.meta;b(n)&&t.push(n),b(r)&&t.push(r),b(i)&&t.push(i);for(let e of t){let t=x(e.transferAmountPhi)??x(e.transferPhi)??x(e.amountPhi)??x(e.phiAmount)??x(e.childAllocationPhi)??x(e.branchBasePhi)??x(e.valuePhi)??x(e.value);if(t!=null)return t}return null}function ve(e){if(!b(e))return null;let t=e.receiveSig;return p(t)?t:null}function ye(){if(typeof window>`u`)return``;let e=window.location.pathname||``,t=window.location.hash||``,n=e.match(/\/verify\/([^/?#]+)/);if(n?.[1])return n[1];let r=t.match(/\/verify\/([^/?#]+)/);return r?.[1]?r[1]:``}async function be(e){return await new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(Error(`Failed to read file.`)),r.onload=()=>t(String(r.result??``)),r.readAsText(e)})}function S(e,t=18,n=14){let r=(e||``).trim();return r?r.length<=t+n+3?r:`${r.slice(0,t)}…${r.slice(r.length-n)}`:`—`}function C(e){return Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function xe(e){try{return C(d(e.challenge))}catch{return null}}function Se(e){let t=(e.name||``).toLowerCase(),n=(e.type||``).toLowerCase();return t.endsWith(`.svg`)||n===`image/svg+xml`}function Ce(){return(0,y.jsxs)(`svg`,{className:`mark`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,y.jsx)(`path`,{d:`M12 2.25 20.25 7v10L12 21.75 3.75 17V7L12 2.25Z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.95`}),(0,y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2.2`,fill:`currentColor`,opacity:`0.95`}),(0,y.jsx)(`path`,{d:`M7.2 12c0-2.65 2.15-4.8 4.8-4.8`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`,opacity:`0.55`})]})}function we(){return(0,y.jsxs)(`svg`,{className:`mark`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,y.jsx)(`path`,{d:`M9.5 7.5a2.5 2.5 0 0 1 4 0l.7 1a3.6 3.6 0 0 0 2.3 1.4l1.2.2a2.5 2.5 0 0 1 0 4.9l-1.2.2a3.6 3.6 0 0 0-2.3 1.4l-.7 1a2.5 2.5 0 0 1-4 0l-.7-1a3.6 3.6 0 0 0-2.3-1.4l-1.2-.2a2.5 2.5 0 0 1 0-4.9l1.2-.2a3.6 3.6 0 0 0 2.3-1.4l.7-1Z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.95`}),(0,y.jsx)(`path`,{d:`M8.7 12.2 11 14.4l4.6-4.7`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}function w(e){return(0,y.jsx)(`button`,{type:`button`,className:e.kind===`primary`?`vbtn vbtn--primary`:`vbtn`,title:e.title,"aria-label":e.ariaLabel??e.title,onClick:e.onClick,disabled:e.disabled,children:(0,y.jsx)(`span`,{className:`vbtn-ic`,"aria-hidden":`true`,children:e.icon})})}function T(e){return(0,y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e.active,className:e.active?`vtab active`:`vtab`,onClick:e.onClick,title:e.title,"aria-label":e.title,children:[(0,y.jsx)(`span`,{className:`vtab-ic`,"aria-hidden":`true`,children:e.icon}),(0,y.jsx)(`span`,{className:`vtab-txt`,children:e.text})]})}function Te(e){let t=e.kind===`ok`?`ok`:e.kind===`fail`?`fail`:e.kind===`busy`?`busy`:`idle`,n=e.kind===`ok`;return(0,y.jsxs)(`div`,{className:`official`,"data-kind":t,"aria-live":`polite`,children:[(0,y.jsxs)(`div`,{className:`official-top`,children:[(0,y.jsx)(`div`,{className:`official-ring`,"aria-hidden":`true`,children:n?(0,y.jsx)(`span`,{className:`official-check`,children:`✓`}):null}),(0,y.jsx)(`div`,{className:`official-title`,children:e.title})]}),e.subtitle?(0,y.jsx)(`div`,{className:`official-sub`,children:e.subtitle}):null]})}function E(e){let t=e.state===`valid`?`✓`:e.state===`invalid`?`✕`:e.state===`busy`?`⟡`:e.state===`na`?`—`:`·`,n=e.state===`valid`?`VERIFIED`:e.state===`invalid`?`INVALID`:e.state===`busy`?`CHECKING`:e.state===`na`?`N/A`:`ABSENT`;return(0,y.jsxs)(`div`,{className:`seal`,"data-state":e.state,title:e.detail??``,children:[(0,y.jsx)(`span`,{className:`seal-ic`,"aria-hidden":`true`,children:t}),(0,y.jsx)(`span`,{className:`seal-lbl`,children:e.label}),(0,y.jsx)(`span`,{className:`seal-txt`,children:n})]})}function D(e){return(0,y.jsxs)(`div`,{className:`mini`,children:[(0,y.jsx)(`div`,{className:`mini-k`,children:e.label}),(0,y.jsx)(`div`,{className:`mini-v mono`,title:e.title??e.value,children:e.value||`—`})]})}function Ee(e){return(0,y.jsxs)(`div`,{className:`vseal-value`,"aria-label":e.ariaLabel,children:[(0,y.jsx)(`div`,{className:`vseal-value-label`,children:e.label}),(0,y.jsx)(`div`,{className:`vseal-value-phi`,children:f(e.phiValue)}),(0,y.jsx)(`div`,{className:`vseal-value-usd`,children:e.usdValue==null?`—`:i(e.usdValue)})]})}function O(e){return e.open?(0,y.jsx)(`div`,{className:`vmodal-backdrop`,role:`dialog`,"aria-modal":`true`,"aria-label":e.title,onMouseDown:e.onClose,onClick:e.onClose,children:(0,y.jsxs)(`div`,{className:`vmodal`,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:[(0,y.jsxs)(`div`,{className:`vmodal-head`,children:[(0,y.jsxs)(`div`,{className:`vmodal-head-left`,children:[(0,y.jsx)(`div`,{className:`vmodal-title`,children:e.title}),e.subtitle?(0,y.jsx)(`div`,{className:`vmodal-sub`,children:e.subtitle}):null]}),(0,y.jsx)(`button`,{type:`button`,className:`vmodal-close`,onClick:e.onClose,"aria-label":`Close`,title:`Close`,children:`×`})]}),(0,y.jsx)(`div`,{className:`vmodal-body`,children:e.children})]})}):null}function De(){let t=(0,_.useRef)(null),n=(0,_.useMemo)(()=>ye(),[]),s=(0,_.useMemo)(()=>pe(n),[n]),[c,d]=(0,_.useState)(`inhale`),[p,h]=(0,_.useState)(``),[g,v]=(0,_.useState)({status:`idle`}),[b,x]=(0,_.useState)(!1),[C,De]=(0,_.useState)(null),[k,Oe]=(0,_.useState)(``),[A,ke]=(0,_.useState)(``),[j,Ae]=(0,_.useState)(``),[M,je]=(0,_.useState)(null),[N,P]=(0,_.useState)(``),[F,Me]=(0,_.useState)(null),[Ne,I]=(0,_.useState)(null),[Pe,Fe]=(0,_.useState)(null),[L,Ie]=(0,_.useState)(null),[R,Le]=(0,_.useState)(null),[Re,ze]=(0,_.useState)(!1),{pulse:Be}=de(),Ve=(0,_.useMemo)(()=>new URLSearchParams(typeof window<`u`?window.location.search:``),[]),z=(0,_.useMemo)(()=>{if(g.status!==`ok`)return null;let e=g.embedded,t=e.pulse??s.pulse??void 0;return{pulse:t,kaiPulse:t,beat:e.beat,stepIndex:e.stepIndex,frequencyHz:e.frequencyHz,chakraDay:e.chakraDay,chakraGate:e.chakraGate,kaiSignature:e.kaiSignature,userPhiKey:e.phiKey}},[g,s.pulse]),{valSeal:He,livePrice:Ue}=fe({payload:z,urlSearchParams:Ve,currentPulse:Be}),{usdPerPhi:B}=(0,_.useMemo)(()=>{if(!z)return{usdPerPhi:0};try{return{usdPerPhi:e({meta:z,nowPulse:Be??r(new Date),usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},ce).usdPerPhi??0}}catch{return{usdPerPhi:0}}},[z,Be]),We=(0,_.useMemo)(()=>{if(!z)return null;let e=Ue??He?.valuePhi??null;return typeof e==`number`&&Number.isFinite(e)?e:null},[z,Ue,He]),Ge=(0,_.useMemo)(()=>g.status===`ok`?ge(g.embedded.raw)??ge(M?.raw):null,[M?.raw,g]),Ke=(0,_.useMemo)(()=>g.status===`ok`?_e(g.embedded.raw)??_e(M?.raw):null,[M?.raw,g]),V=Ge?.remaining??Ke??We,H=Ge?`balance`:Ke==null?`live`:`embedded`,qe=(0,_.useMemo)(()=>V==null||!Number.isFinite(B)||B<=0?null:V*B,[V,B]),Je=H===`balance`?`BALANCE`:H===`embedded`?`GLYPH`:`LIVE`,Ye=H===`balance`?`Glyph balance`:H===`embedded`?`Glyph embedded value`:`Live glyph valuation`,[Xe,Ze]=(0,_.useState)(!1),[Qe,U]=(0,_.useState)(!1),[$e,et]=(0,_.useState)(!1),[tt,nt]=(0,_.useState)(!1),[rt,it]=(0,_.useState)(!1),[at,ot]=(0,_.useState)(``);_.useEffect(()=>{let e=document.documentElement,t=document.body;return e.classList.add(`verify-shell`),t.classList.add(`verify-shell`),()=>{e.classList.remove(`verify-shell`),t.classList.remove(`verify-shell`)}},[]),_.useEffect(()=>{let e=p.trim();if(!e){ot(``);return}try{let t=new Blob([e],{type:`image/svg+xml`}),n=URL.createObjectURL(t);return ot(n),()=>{URL.revokeObjectURL(n)}}catch{ot(``);return}},[p]),_.useEffect(()=>{if(!N)return;let e=window.setTimeout(()=>P(``),2400);return()=>window.clearTimeout(e)},[N]);let W=(0,_.useMemo)(()=>M||(g.status!==`ok`||!g.embedded.zkProof&&!g.embedded.zkPublicInputs&&!g.embedded.zkPoseidonHash&&!g.embedded.proofHints?null:{zkPoseidonHash:g.embedded.zkPoseidonHash,zkProof:g.embedded.zkProof,zkPublicInputs:g.embedded.zkPublicInputs,proofHints:g.embedded.proofHints}),[M,g]),G=(0,_.useMemo)(()=>W?.zkProof?he(W.zkProof):``,[W]),K=(0,_.useMemo)(()=>W?.zkPublicInputs?he(W.zkPublicInputs):``,[W]),q=(0,_.useMemo)(()=>W?.proofHints?he(W.proofHints):``,[W]),J=(0,_.useMemo)(()=>C?ne(C.pulse,C.kaiSignature):``,[C]),Y=(0,_.useCallback)(async(e,t)=>{let n=(e||``).trim();if(n)try{if(!navigator.clipboard?.writeText){P(`Clipboard unavailable. Use manual copy.`);return}await navigator.clipboard.writeText(n),P(`${t} remembered.`)}catch(e){P(`Remember failed. Use manual copy.`),console.error(e)}},[]),st=(0,_.useCallback)(async e=>{if(!Se(e)){v({status:`error`,message:`Upload a sealed .svg (embedded JSON).`,slug:s});return}h(await be(e)),v({status:`idle`}),P(``)},[s]),ct=(0,_.useCallback)(e=>{if(!e||e.length===0)return;let t=Array.from(e).find(Se);if(!t){v({status:`error`,message:`Drop/select a sealed .svg file.`,slug:s});return}st(t)},[st,s]),lt=(0,_.useCallback)(async()=>{let e=p.trim();if(!e){v({status:`error`,message:`Inhale or paste the sealed SVG (ΦKey).`,slug:s});return}x(!0);try{v(await me(s,e))}finally{x(!1)}},[s,p]);_.useEffect(()=>{let e=!0;return(async()=>{if(g.status!==`ok`){De(null),Oe(``),ke(``),Ae(``),je(null),Me(null),P(``);return}let t=g.embedded.kaiSignature??``,n=g.embedded.pulse??g.slug.pulse??0,r={v:`KPV-1`,pulse:n,chakraDay:re(g.embedded.chakraDay??``)??`Crown`,kaiSignature:t,phiKey:g.derivedPhiKey,verifierSlug:l(n,t)},i=await ie(p),o=a(p),s=o?.proofCapsule??r,c=await ee(s),d=await u(oe(o?.raw&&typeof o.raw==`object`&&o.raw!==null?{...o.raw,svgHash:i,capsuleHash:c,proofCapsule:s}:{hashAlg:o?.hashAlg??`sha256`,canon:o?.canon??`JCS`,proofCapsule:s,capsuleHash:c,svgHash:i,shareUrl:o?.shareUrl,verifierUrl:o?.verifierUrl,zkPoseidonHash:o?.zkPoseidonHash,zkProof:o?.zkProof,proofHints:o?.proofHints,zkPublicInputs:o?.zkPublicInputs,authorSig:o?.authorSig??null})),f=o?.authorSig,ne=null;f&&(ne=te(f)?await le(xe(f)??d,f):!1),e&&(De(s),ke(i),Oe(c),Ae(d),je(o),Me(ne))})(),()=>{e=!1}},[g,s.raw,p]),_.useEffect(()=>{if(g.status!==`ok`||!j){Le(null),I(null);return}let e=ve(M?.raw??g.embedded.raw);if(e){Le(e);return}Le(null),I(null)},[g.status,j,M?.raw]),_.useEffect(()=>{let e=!0;if(!R||!j){I(null);return}return(async()=>{let t=R.binds.bundleHash;if(!t){e&&I(!1);return}let{challengeBytes:n}=await se(`receive`,t,R.nonce),r=await ae({assertion:R.assertion,expectedChallenge:n,pubKeyJwk:R.pubKeyJwk,expectedCredId:R.credId});e&&I(r)})(),()=>{e=!1}},[R,j]),_.useEffect(()=>{let e=!0;return(async()=>{if(!W?.zkProof||!W?.zkPublicInputs){e&&Fe(null);return}if(!L)try{let t=await fetch(`/zk/verification_key.json`,{cache:`no-store`});if(!t.ok)return;let n=await t.json();if(!e)return;Ie(n)}catch{return}let t=typeof W.zkPublicInputs==`string`?(()=>{try{return JSON.parse(W.zkPublicInputs)}catch{return[W.zkPublicInputs]}})():W.zkPublicInputs,n=await o({proof:W.zkProof,publicSignals:t,vkey:L??void 0,fallbackVkey:L??void 0});e&&Fe(n)})(),()=>{e=!1}},[W,L]);let ut=(0,_.useMemo)(()=>b?{kind:`busy`,title:`SEALING`,subtitle:`Deterministic proof rails executing.`}:g.status===`ok`?{kind:`ok`,title:`PROOF OF BREATH™`,subtitle:`Human-origin seal affirmed.`}:g.status===`error`?{kind:`fail`,title:`REJECTED`,subtitle:`Inhale a sealed ΦKey, then verify.`}:{kind:`idle`,title:`STANDBY`,subtitle:`Inhale a ΦKey to begin.`},[b,g.status]),dt=(0,_.useMemo)(()=>g.status===`ok`?String(g.embedded.pulse??s.pulse??0):String(s.pulse??0),[g,s.pulse]),ft=(0,_.useMemo)(()=>g.status===`ok`&&g.derivedPhiKey||`—`,[g]),pt=(0,_.useMemo)(()=>b?`busy`:M?.authorSig?F===null?`na`:F?`valid`:`invalid`:`off`,[b,M?.authorSig,F]),mt=(0,_.useMemo)(()=>b?`busy`:W?.zkPoseidonHash?Pe===null?`na`:Pe?`valid`:`invalid`:`off`,[b,W?.zkPoseidonHash,Pe]),ht=(0,_.useMemo)(()=>R?R.credId:``,[R]),gt=(0,_.useMemo)(()=>R?R.nonce:``,[R]),_t=(0,_.useMemo)(()=>R?.binds.bundleHash?R.binds.bundleHash:j||``,[R,j]),X=(0,_.useMemo)(()=>C?JSON.stringify({hashAlg:m,canon:`JCS`,proofCapsule:C,capsuleHash:k,svgHash:A,bundleHash:j,shareUrl:M?.shareUrl??null,verifierUrl:J,authorSig:M?.authorSig??null,zkPoseidonHash:W?.zkPoseidonHash??null,zkProof:W?.zkProof??null,proofHints:W?.proofHints??null,zkPublicInputs:W?.zkPublicInputs??null},null,2):``,[C,k,A,j,M,J,W]),vt=(0,_.useMemo)(()=>{let e=p.trim();if(!e)return``;let t=e.split(` `);return t.slice(0,Math.min(t.length,8)).join(` `)},[p]),Z=g.status===`ok`?g.embedded.pulse??s.pulse??0:s.pulse??0,Q=g.status===`ok`?g.embedded.kaiSignature??s.shortSig??`unknown`:s.shortSig??`unknown`,$=g.status===`ok`?g.derivedPhiKey:`—`,yt=g.status===`ok`?g.embedded.chakraDay:void 0,bt=c===`inhale`?`Inhale`:c===`capsule`?`Vessel`:c===`proof`?`Proof`:c===`zk`?`ZK`:`Audit`,xt=(0,_.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),ze(!0)},[]),St=(0,_.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),ze(!1)},[]),Ct=(0,_.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),ze(!1),ct(e.dataTransfer?.files)},[ct]);return(0,y.jsxs)(`div`,{className:`vapp`,role:`application`,"aria-label":`☤Kai Sigil-Glyph Attestation`,children:[N?(0,y.jsx)(`button`,{type:`button`,className:`vtoast vtoast-floating`,onClick:()=>P(``),"aria-label":`Dismiss notice`,title:`Dismiss`,children:N}):null,(0,y.jsxs)(`header`,{className:`vhead`,children:[(0,y.jsxs)(`div`,{className:`vhead-left`,children:[(0,y.jsxs)(`div`,{className:`vbrand`,children:[(0,y.jsx)(`div`,{className:`vtitle`,children:`☤Kai Sigil-Glyph Attestation`}),(0,y.jsx)(`div`,{className:`vsub`,children:`Sovereign proof of human origin — ☤Kai-Signature → Φ-Key.`})]}),(0,y.jsxs)(`div`,{className:`vlink`,children:[(0,y.jsx)(`span`,{className:`vlink-k`,children:`Path`}),(0,y.jsxs)(`code`,{className:`vlink-v mono`,children:[`/verify/`,s.raw||`—`]})]})]}),(0,y.jsxs)(`div`,{className:`vhead-right`,children:[(0,y.jsxs)(`div`,{className:`vhead-top`,"aria-label":`Primary verification`,children:[at?(0,y.jsx)(`div`,{className:`vsigil-thumb`,"aria-label":`Uploaded sigil preview`,title:`Uploaded sigil preview`,children:(0,y.jsx)(`img`,{className:`vsigil-img`,src:at,alt:`Uploaded sigil`})}):null,(0,y.jsx)(Te,{kind:ut.kind,title:ut.title,subtitle:ut.subtitle})]}),(0,y.jsxs)(`div`,{className:`vseals`,"aria-label":`Official seals`,children:[(0,y.jsx)(E,{label:`KAS`,state:pt,detail:M?.authorSig?`Author seal (WebAuthn KAS)`:`No author seal present`}),(0,y.jsx)(E,{label:`G16`,state:mt,detail:W?.zkPoseidonHash?`Groth16 + Poseidon rail`:`No ZK rail present`}),g.status===`ok`&&V!=null?(0,y.jsx)(Ee,{phiValue:V,usdValue:qe,label:Je,ariaLabel:Ye}):null]}),(0,y.jsxs)(`div`,{className:`vkpis`,"aria-label":`Primary identifiers`,children:[(0,y.jsx)(D,{label:`Pulse`,value:dt}),(0,y.jsx)(D,{label:`Φ-Key`,value:ft===`—`?`—`:S(ft,12,10),title:ft})]})]})]}),(0,y.jsxs)(`div`,{className:`vbody`,children:[(0,y.jsxs)(`section`,{className:`vpanel`,role:`tabpanel`,"aria-label":`Active panel`,children:[c===`inhale`?(0,y.jsxs)(`div`,{className:`vcard`,"data-panel":`inhale`,children:[(0,y.jsxs)(`div`,{className:`vcard-head`,children:[(0,y.jsx)(`div`,{className:`vcard-title`,children:`Inhale ΦKey`}),(0,y.jsx)(`div`,{className:`vcard-sub`,children:`Tap to inhale a sealed ΦKey. Deep payloads open in Expanded Views.`})]}),(0,y.jsxs)(`div`,{className:`vcard-body vfit`,children:[(0,y.jsxs)(`div`,{className:Re?`vdropzone is-drag`:`vdropzone`,onDragOver:xt,onDragEnter:xt,onDragLeave:St,onDrop:Ct,children:[(0,y.jsx)(`input`,{ref:t,className:`vfile`,type:`file`,accept:`.svg,image/svg+xml`,onChange:e=>{ct(e.currentTarget.files),e.currentTarget.value=``}}),(0,y.jsxs)(`div`,{className:`vgrid-2 vgrid-2--inhale`,children:[(0,y.jsxs)(`div`,{className:`vcontrol`,"aria-label":`Inhale controls`,children:[(0,y.jsxs)(`button`,{type:`button`,className:`vdrop`,"aria-label":`Inhale sealed ΦKey (SVG)`,title:`Inhale sealed ΦKey (.svg)`,onClick:()=>t.current?.click(),children:[(0,y.jsx)(`span`,{className:`vdrop-ic`,"aria-hidden":`true`,children:(0,y.jsx)(`img`,{className:`vphi-ic`,src:`/phi.svg`,alt:``,"aria-hidden":`true`})}),(0,y.jsx)(`span`,{className:`vdrop-txt`,children:`Inhale`}),(0,y.jsxs)(`span`,{className:`vdrop-mark`,"aria-label":`PhiKey mark`,children:[(0,y.jsx)(`img`,{className:`vphi`,src:`/phi.svg`,alt:`Φ`}),(0,y.jsx)(`span`,{className:`vdrop-mark-txt`,children:`ΦKey`})]})]}),(0,y.jsxs)(`div`,{className:`vcontrol-row`,"aria-label":`Quick actions`,children:[(0,y.jsx)(w,{icon:`⟡`,title:b?`Verifying…`:`Verify`,ariaLabel:`Verify`,onClick:()=>void lt(),disabled:b,kind:`primary`}),(0,y.jsx)(w,{icon:`⤢`,title:`Focus View (paste/edit)`,ariaLabel:`Focus View (paste/edit)`,onClick:()=>Ze(!0),disabled:!p.trim()}),(0,y.jsx)(w,{icon:`💠`,title:`Remember ΦKey`,ariaLabel:`Remember ΦKey`,onClick:()=>void Y(p,`ΦKey`),disabled:!p.trim()}),(0,y.jsx)(w,{icon:`⨯`,title:`Clear`,ariaLabel:`Clear`,onClick:()=>{h(``),v({status:`idle`}),P(``)},disabled:!p.trim()})]}),(0,y.jsxs)(`div`,{className:`vmini-grid vmini-grid--2`,"aria-label":`Quick readout`,children:[(0,y.jsx)(D,{label:`Inhaled`,value:p.trim()?`true`:`false`}),(0,y.jsx)(D,{label:`Attestation`,value:M?`present`:`—`})]})]}),(0,y.jsxs)(`div`,{className:`vconsole`,"aria-label":`ΦKey preview`,children:[(0,y.jsx)(`pre`,{className:`vpre`,children:(0,y.jsx)(`code`,{className:`mono`,children:vt||`inhale a sealed ΦKey (.SVG) to begin…`})}),(0,y.jsxs)(`div`,{className:`vconsole-foot`,children:[(0,y.jsxs)(`div`,{className:`vchip`,title:`Sovereign verification rail`,children:[`Sovereign · `,m,` · `,`JCS`]}),(0,y.jsxs)(`div`,{className:`vactions`,"aria-label":`Console actions`,children:[(0,y.jsx)(w,{icon:`⤢`,title:`Focus View`,ariaLabel:`Focus View`,onClick:()=>Ze(!0),disabled:!p.trim()}),(0,y.jsx)(w,{icon:`💠`,title:`Remember ΦKey`,ariaLabel:`Remember ΦKey`,onClick:()=>void Y(p,`ΦKey`),disabled:!p.trim()})]})]})]})]}),(0,y.jsx)(`div`,{className:`vdropzone-hint`,"aria-hidden":`true`,children:`Drag & drop ΦKey anywhere in this panel`})]}),g.status===`error`?(0,y.jsx)(`div`,{className:`verror`,children:g.message??`Not verified.`}):null]})]}):null,c===`capsule`?(0,y.jsxs)(`div`,{className:`vcard`,"data-panel":`capsule`,children:[(0,y.jsxs)(`div`,{className:`vcard-head`,children:[(0,y.jsx)(`div`,{className:`vcard-title`,children:`Proof Vessel`}),(0,y.jsx)(`div`,{className:`vcard-sub`,children:`Determinate identity seal: ☤Kai (pulse) + spiral (chakra) day + ☤Kai-Signature → Φ-Key.`})]}),(0,y.jsx)(`div`,{className:`vcard-body vfit`,children:(0,y.jsxs)(`div`,{className:`vgrid-2 vgrid-2--capsule`,children:[(0,y.jsx)(`div`,{className:`vframe-wrap`,children:(0,y.jsx)(ue,{pulse:Z,kaiSignature:Q,phiKey:$,chakraDay:yt,compact:!0})}),(0,y.jsxs)(`div`,{className:`vstack`,children:[(0,y.jsxs)(`div`,{className:`vmini-grid vmini-grid--3`,"aria-label":`Slug and embed checks`,children:[(0,y.jsx)(D,{label:`pathMark pulse`,value:g.status===`ok`?g.checks.slugPulseMatches===null?`n/a`:String(g.checks.slugPulseMatches):`—`}),(0,y.jsx)(D,{label:`pathMark sig`,value:g.status===`ok`?g.checks.slugShortSigMatches===null?`n/a`:String(g.checks.slugShortSigMatches):`—`}),(0,y.jsx)(D,{label:`Φ-Key seal`,value:g.status===`ok`?g.checks.derivedPhiKeyMatchesEmbedded===null?`n/a`:String(g.checks.derivedPhiKeyMatchesEmbedded):`—`})]}),(0,y.jsxs)(`div`,{className:`vrail-grid`,"aria-label":`Capsule fields`,children:[(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`☤Kai (pulse)`}),(0,y.jsx)(`code`,{className:`vv mono`,children:Z?String(Z):`—`}),(0,y.jsx)(w,{icon:`💠`,title:`Remember pulse`,ariaLabel:`Remember pulse`,onClick:()=>void Y(String(Z),`Pulse`),disabled:!Z})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`Spiral (chakra)`}),(0,y.jsx)(`code`,{className:`vv mono`,children:yt??`—`}),(0,y.jsx)(w,{icon:`💠`,title:`Remember Spiral (chakra)`,ariaLabel:`Remember Spiral (chakra)`,onClick:()=>void Y(String(yt??``),`Spiral (Chakra)`),disabled:!yt})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`☤kai-Signature`}),(0,y.jsx)(`code`,{className:`vv mono`,title:Q,children:S(Q,16,12)}),(0,y.jsx)(w,{icon:`💠`,title:`Remember ☤Kai-Signature`,ariaLabel:`Remember ☤Kai-Signature`,onClick:()=>void Y(Q,`☤Kai-Signature`),disabled:!Q})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`Φ-Key`}),(0,y.jsx)(`code`,{className:`vv mono`,title:$,children:$===`—`?`—`:S($,16,12)}),(0,y.jsx)(w,{icon:`💠`,title:`Remember Φ-Key`,ariaLabel:`Remember Φ-Key`,onClick:()=>void Y($,`Φ-Key`),disabled:!$||$===`—`})]})]})]})]})})]}):null,c===`proof`?(0,y.jsxs)(`div`,{className:`vcard`,"data-panel":`proof`,children:[(0,y.jsxs)(`div`,{className:`vcard-head`,children:[(0,y.jsx)(`div`,{className:`vcard-title`,children:`Attestation Spine`}),(0,y.jsx)(`div`,{className:`vcard-sub`,children:`vesselHash + sigilHash → bundleHash (offline integrity rail).`})]}),(0,y.jsxs)(`div`,{className:`vcard-body vfit`,children:[(0,y.jsxs)(`div`,{className:`vrail-grid vrail-grid--2`,"aria-label":`Proof hash rail`,children:[(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`hash`}),(0,y.jsx)(`code`,{className:`vv mono`,children:m}),(0,y.jsx)(w,{icon:`💠`,title:`Remember hash algorithm`,ariaLabel:`Remember hash algorithm`,onClick:()=>void Y(m,`Hash algorithm`)})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`canon`}),(0,y.jsx)(`code`,{className:`vv mono`,children:`JCS`}),(0,y.jsx)(w,{icon:`💠`,title:`Remember canonicalization`,ariaLabel:`Remember canonicalization`,onClick:()=>void Y(`JCS`,`Canonicalization`)})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`verifier`}),(0,y.jsx)(`code`,{className:`vv mono`,title:J||`—`,children:J?S(J,22,16):`—`}),(0,y.jsx)(w,{icon:`💠`,title:`Remember verifier URL`,ariaLabel:`Remember verifier URL`,onClick:()=>void Y(J,`Verifier URL`),disabled:!J})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`sigilHash`}),(0,y.jsx)(`code`,{className:`vv mono`,title:A||`—`,children:A?S(A,22,16):`—`}),(0,y.jsx)(w,{icon:`💠`,title:`Remember ΦKey hash`,ariaLabel:`Remember SVG hash`,onClick:()=>void Y(A,`SVG hash`),disabled:!A})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`vesselHash`}),(0,y.jsx)(`code`,{className:`vv mono`,title:k||`—`,children:k?S(k,22,16):`—`}),(0,y.jsx)(w,{icon:`💠`,title:`Remember vessel hash`,ariaLabel:`Remember vessel hash`,onClick:()=>void Y(k,`Vessel hash`),disabled:!k})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`bundleHash`}),(0,y.jsx)(`code`,{className:`vv mono`,title:j||`—`,children:j?S(j,22,16):`—`}),(0,y.jsx)(w,{icon:`💠`,title:`Remember bundle hash`,ariaLabel:`Remember bundle hash`,onClick:()=>void Y(j,`Bundle hash`),disabled:!j})]})]}),g.status===`ok`&&V!=null?(0,y.jsxs)(`div`,{className:`vmini-grid vmini-grid--2 vvaluation-dashboard`,"aria-label":`Live valuation`,children:[(0,y.jsx)(D,{label:H===`balance`?`Glyph Φ balance`:H===`embedded`?`Glyph Φ value`:`Live Φ value`,value:f(V)}),(0,y.jsx)(D,{label:H===`balance`?`Glyph USD balance`:H===`embedded`?`Glyph USD value`:`Live USD value`,value:qe==null?`—`:i(qe)})]}):null,(0,y.jsxs)(`div`,{className:`vfoot`,"aria-label":`Proof actions`,children:[(0,y.jsx)(`div`,{className:`vfoot-left`,children:(0,y.jsx)(`div`,{className:`vchip`,title:`Canonical audit payload`,children:`Audit JSON`})}),(0,y.jsxs)(`div`,{className:`vfoot-right`,children:[(0,y.jsx)(w,{icon:`⤢`,title:`Focus View (Audit JSON)`,ariaLabel:`Focus View (Audit JSON)`,onClick:()=>U(!0),disabled:!X}),(0,y.jsx)(w,{icon:`💠`,title:`Remember Audit JSON`,ariaLabel:`Remember Audit JSON`,onClick:()=>void Y(X,`Audit JSON`),disabled:!X})]})]})]})]}):null,c===`zk`?(0,y.jsxs)(`div`,{className:`vcard`,"data-panel":`zk`,children:[(0,y.jsxs)(`div`,{className:`vcard-head`,children:[(0,y.jsx)(`div`,{className:`vcard-title`,children:`Zero Knowledge Proof`}),(0,y.jsx)(`div`,{className:`vcard-sub`,children:`Groth16 + Poseidon status; full payloads in Expanded Views.`})]}),(0,y.jsx)(`div`,{className:`vcard-body vfit`,children:(0,y.jsxs)(`div`,{className:`vrail-grid vrail-grid--2`,"aria-label":`ZK rail values`,children:[(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`poseidon`}),(0,y.jsx)(`code`,{className:`vv mono`,title:String(W?.zkPoseidonHash??`—`),children:W?.zkPoseidonHash?S(String(W.zkPoseidonHash),22,16):`—`}),(0,y.jsx)(w,{icon:`💠`,title:`Remember Poseidon hash`,ariaLabel:`Remember Poseidon hash`,onClick:()=>void Y(String(W?.zkPoseidonHash??``),`Poseidon hash`),disabled:!W?.zkPoseidonHash})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`groth16`}),(0,y.jsx)(`div`,{className:`vseal-inline`,children:(0,y.jsx)(E,{label:`G16`,state:mt,detail:`Groth16 verification status`})}),(0,y.jsx)(`span`,{})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`zkProof`}),(0,y.jsx)(`code`,{className:`vv mono`,title:G||`—`,children:G?S(G.replace(/\s+/g,` `),22,18):`—`}),(0,y.jsxs)(`div`,{className:`vrow-actions`,children:[(0,y.jsx)(w,{icon:`⤢`,title:`Focus View (ZK proof)`,ariaLabel:`Focus View (ZK proof)`,onClick:()=>et(!0),disabled:!G}),(0,y.jsx)(w,{icon:`💠`,title:`Remember ZK proof`,ariaLabel:`Remember ZK proof`,onClick:()=>void Y(G,`ZK proof`),disabled:!G})]})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`publicInputs`}),(0,y.jsx)(`code`,{className:`vv mono`,title:K||`—`,children:K?S(K.replace(/\s+/g,` `),22,18):`—`}),(0,y.jsxs)(`div`,{className:`vrow-actions`,children:[(0,y.jsx)(w,{icon:`⤢`,title:`Focus View (public inputs)`,ariaLabel:`Focus View (public inputs)`,onClick:()=>nt(!0),disabled:!K}),(0,y.jsx)(w,{icon:`💠`,title:`Remember public inputs`,ariaLabel:`Remember public inputs`,onClick:()=>void Y(K,`Public inputs`),disabled:!K})]})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`hints`}),(0,y.jsx)(`code`,{className:`vv mono`,title:q||`—`,children:q?S(q.replace(/\s+/g,` `),22,18):`—`}),(0,y.jsxs)(`div`,{className:`vrow-actions`,children:[(0,y.jsx)(w,{icon:`⤢`,title:`Focus View (hints)`,ariaLabel:`Focus View (hints)`,onClick:()=>it(!0),disabled:!q}),(0,y.jsx)(w,{icon:`💠`,title:`Remember hints`,ariaLabel:`Remember hints`,onClick:()=>void Y(q,`Proof hints`),disabled:!q})]})]}),(0,y.jsxs)(`div`,{className:`vrow`,children:[(0,y.jsx)(`span`,{className:`vk`,children:`audit`}),(0,y.jsx)(`code`,{className:`vv mono`,children:`bundle JSON`}),(0,y.jsxs)(`div`,{className:`vrow-actions`,children:[(0,y.jsx)(w,{icon:`⤢`,title:`Focus View (Audit JSON)`,ariaLabel:`Focus View (Audit JSON)`,onClick:()=>U(!0),disabled:!X}),(0,y.jsx)(w,{icon:`💠`,title:`Remember Audit JSON`,ariaLabel:`Remember Audit JSON`,onClick:()=>void Y(X,`Audit JSON`),disabled:!X})]})]})]})})]}):null,c===`audit`?(0,y.jsxs)(`div`,{className:`vcard`,"data-panel":`audit`,children:[(0,y.jsxs)(`div`,{className:`vcard-head`,children:[(0,y.jsx)(`div`,{className:`vcard-title`,children:`Audit`}),(0,y.jsx)(`div`,{className:`vcard-sub`,children:`Attestation bundle parity + author seal validity.`})]}),(0,y.jsxs)(`div`,{className:`vcard-body vfit`,children:[(0,y.jsxs)(`div`,{className:`vmini-grid vmini-grid--6`,"aria-label":`Audit checks`,children:[(0,y.jsx)(D,{label:`Attestation bundle`,value:M?`present`:`—`}),(0,y.jsx)(D,{label:`Author signature`,value:M?.authorSig?`present`:`—`}),(0,y.jsx)(D,{label:`Author verified`,value:F===null?`n/a`:F?`true`:`false`}),(0,y.jsx)(D,{label:`Receive signature`,value:R?`present`:`—`}),(0,y.jsx)(D,{label:`Receive verified`,value:Ne===null?`n/a`:Ne?`true`:`false`}),(0,y.jsx)(D,{label:`sigilHash parity`,value:M?.svgHash?String(M.svgHash===A):`n/a`}),(0,y.jsx)(D,{label:`vesselHash parity`,value:M?.capsuleHash?String(M.capsuleHash===k):`n/a`}),(0,y.jsx)(D,{label:`bundleHash parity`,value:M?.bundleHash?String(M.bundleHash===j):`n/a`})]}),(0,y.jsx)(`div`,{className:`vmini-grid vmini-grid--3`,"aria-label":`Receive signature status`,children:(0,y.jsx)(D,{label:`Receive credId`,value:ht?S(ht,12,10):`—`,title:ht||`—`})}),R?(0,y.jsxs)(`div`,{className:`vmini-grid vmini-grid--2`,"aria-label":`Receive signature summary`,children:[(0,y.jsx)(D,{label:`Receive nonce`,value:gt?S(gt,14,12):`—`,title:gt||`—`}),(0,y.jsx)(D,{label:`Receive bundle`,value:_t?S(_t,14,12):`—`,title:_t||`—`})]}):null,(0,y.jsxs)(`div`,{className:`vfoot`,"aria-label":`Audit actions`,children:[(0,y.jsx)(`div`,{className:`vfoot-left`,children:(0,y.jsxs)(`div`,{className:`vseals`,"aria-label":`Seal summary`,children:[(0,y.jsx)(E,{label:`KAS`,state:pt}),(0,y.jsx)(E,{label:`G16`,state:mt})]})}),(0,y.jsxs)(`div`,{className:`vfoot-right`,children:[(0,y.jsx)(w,{icon:`⤢`,title:`Focus View (Audit JSON)`,ariaLabel:`Focus View (Audit JSON)`,onClick:()=>U(!0),disabled:!X}),(0,y.jsx)(w,{icon:`💠`,title:`Remember Audit JSON`,ariaLabel:`Remember Audit JSON`,onClick:()=>void Y(X,`Audit JSON`),disabled:!X})]})]})]})]}):null]}),(0,y.jsxs)(`nav`,{className:`vtabs`,role:`tablist`,"aria-label":`Verifier views`,children:[(0,y.jsx)(T,{active:c===`inhale`,title:`Inhale`,text:`Inhale`,onClick:()=>d(`inhale`),icon:(0,y.jsx)(`img`,{className:`vtab-phi`,src:`/phi.svg`,alt:``,"aria-hidden":`true`})}),(0,y.jsx)(T,{active:c===`capsule`,title:`Vessel`,text:`Vessel`,onClick:()=>d(`capsule`),icon:`◈`}),(0,y.jsx)(T,{active:c===`proof`,title:`Proof`,text:`Proof`,onClick:()=>d(`proof`),icon:(0,y.jsx)(we,{})}),(0,y.jsx)(T,{active:c===`zk`,title:`ZK`,text:`ZK`,onClick:()=>d(`zk`),icon:(0,y.jsx)(Ce,{})}),(0,y.jsx)(T,{active:c===`audit`,title:`Audit`,text:`Audit`,onClick:()=>d(`audit`),icon:`▦`}),(0,y.jsx)(`div`,{className:`vtabs-spacer`,"aria-hidden":`true`}),(0,y.jsxs)(`button`,{type:`button`,className:`vverify`,onClick:()=>void lt(),disabled:b,"aria-label":`Verify now`,title:b?`Verifying…`:`Verify (${bt})`,children:[(0,y.jsx)(`span`,{className:`vverify-ic`,"aria-hidden":`true`,children:`⟡`}),(0,y.jsx)(`span`,{className:`vverify-txt`,children:b?`VERIFYING`:`VERIFY`})]})]})]}),(0,y.jsxs)(O,{open:Xe,title:`ΦKey Focus View`,subtitle:`Paste/edit sealed SVG (must include {...}).`,onClose:()=>Ze(!1),children:[(0,y.jsx)(`textarea`,{className:`vta`,value:p,onChange:e=>{h(e.currentTarget.value),v({status:`idle`})},spellCheck:!1}),(0,y.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,y.jsxs)(`button`,{type:`button`,className:`vcta`,onClick:()=>void lt(),disabled:b,title:b?`Verifying…`:`Verify`,children:[`⟡ `,b?`VERIFYING`:`VERIFY`]}),(0,y.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>void Y(p,`SVG`),disabled:!p.trim(),title:`💠 Remember`,children:`💠 REMEMBER`})]})]}),(0,y.jsxs)(O,{open:Qe,title:`Audit JSON`,subtitle:`Canonical audit payload (vesselHash + sigilHash → bundleHash).`,onClose:()=>U(!1),children:[(0,y.jsx)(`textarea`,{className:`vta vta--readonly`,readOnly:!0,value:X||`—`}),(0,y.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,y.jsx)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Y(X,`Audit JSON`),disabled:!X,title:`💠 Remember`,children:`💠 REMEMBER`}),(0,y.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>U(!1),title:`Close`,children:`CLOSE`})]})]}),(0,y.jsxs)(O,{open:$e,title:`ZK Proof`,subtitle:`Full embedded Groth16 proof payload.`,onClose:()=>et(!1),children:[(0,y.jsx)(`textarea`,{className:`vta vta--readonly`,readOnly:!0,value:G||`—`}),(0,y.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,y.jsx)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Y(G,`ZK proof`),disabled:!G,title:`💠 Remember`,children:`💠 REMEMBER`}),(0,y.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>et(!1),title:`Close`,children:`CLOSE`})]})]}),(0,y.jsxs)(O,{open:tt,title:`ZK Public Inputs`,subtitle:`Full embedded public inputs payload.`,onClose:()=>nt(!1),children:[(0,y.jsx)(`textarea`,{className:`vta vta--readonly`,readOnly:!0,value:K||`—`}),(0,y.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,y.jsx)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Y(K,`Public inputs`),disabled:!K,title:`💠 Remember`,children:`💠 REMEMBER`}),(0,y.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>nt(!1),title:`Close`,children:`CLOSE`})]})]}),(0,y.jsxs)(O,{open:rt,title:`Proof Hints`,subtitle:`Explorer/API hints embedded in the bundle.`,onClose:()=>it(!1),children:[(0,y.jsx)(`textarea`,{className:`vta vta--readonly`,readOnly:!0,value:q||`—`}),(0,y.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,y.jsx)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Y(q,`Proof hints`),disabled:!q,title:`💠 Remember`,children:`💠 REMEMBER`}),(0,y.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>it(!1),title:`Close`,children:`CLOSE`})]})]})]})}export{De as default}; \ No newline at end of file diff --git a/dist/assets/__vite-browser-external-Ck76dNRt.js b/dist/assets/__vite-browser-external-Ck76dNRt.js deleted file mode 100644 index fbd1c1024..000000000 --- a/dist/assets/__vite-browser-external-Ck76dNRt.js +++ /dev/null @@ -1 +0,0 @@ -import{ci as e}from"./index-BfXtjgZ1.js";var t=e(((e,t)=>{t.exports={}}));export default t(); \ No newline at end of file diff --git a/dist/assets/__vite-browser-external-DzQxHXPJ.js b/dist/assets/__vite-browser-external-DzQxHXPJ.js new file mode 100644 index 000000000..3001b1158 --- /dev/null +++ b/dist/assets/__vite-browser-external-DzQxHXPJ.js @@ -0,0 +1 @@ +import{ci as e}from"./index-DtFxxvye.js";var t=e(((e,t)=>{t.exports={}}));export default t(); \ No newline at end of file diff --git a/dist/assets/bundler-B8Zn1qrE.js b/dist/assets/bundler-XNjIfYHv.js similarity index 99% rename from dist/assets/bundler-B8Zn1qrE.js rename to dist/assets/bundler-XNjIfYHv.js index 2a23e5f6b..5f62e8872 100644 --- a/dist/assets/bundler-B8Zn1qrE.js +++ b/dist/assets/bundler-XNjIfYHv.js @@ -1,4 +1,4 @@ -import{ci as e,pi as t,ui as n}from"./index-BfXtjgZ1.js";var r=class{constructor(){this.encoder=new TextEncoder,this._pieces=[],this._parts=[]}append_buffer(e){this.flush(),this._parts.push(e)}append(e){this._pieces.push(e)}flush(){if(this._pieces.length>0){let e=new Uint8Array(this._pieces);this._parts.push(e),this._pieces=[]}}toArrayBuffer(){let e=[];for(let t of this._parts)e.push(t);return i(e).buffer}};function i(e){let t=0;for(let n of e)t+=n.byteLength;let n=new Uint8Array(t),r=0;for(let t of e){let e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);n.set(e,r),r+=t.byteLength}return n}function a(e){return new s(e).unpack()}function o(e){let t=new c,n=t.pack(e);return n instanceof Promise?n.then(()=>t.getBuffer()):t.getBuffer()}var s=class{constructor(e){this.index=0,this.dataBuffer=e,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}unpack(){let e=this.unpack_uint8();if(e<128)return e;if((e^224)<32)return(e^224)-32;let t;if((t=e^160)<=15)return this.unpack_raw(t);if((t=e^176)<=15)return this.unpack_string(t);if((t=e^144)<=15)return this.unpack_array(t);if((t=e^128)<=15)return this.unpack_map(t);switch(e){case 192:return null;case 193:return;case 194:return!1;case 195:return!0;case 202:return this.unpack_float();case 203:return this.unpack_double();case 204:return this.unpack_uint8();case 205:return this.unpack_uint16();case 206:return this.unpack_uint32();case 207:return this.unpack_uint64();case 208:return this.unpack_int8();case 209:return this.unpack_int16();case 210:return this.unpack_int32();case 211:return this.unpack_int64();case 212:return;case 213:return;case 214:return;case 215:return;case 216:return t=this.unpack_uint16(),this.unpack_string(t);case 217:return t=this.unpack_uint32(),this.unpack_string(t);case 218:return t=this.unpack_uint16(),this.unpack_raw(t);case 219:return t=this.unpack_uint32(),this.unpack_raw(t);case 220:return t=this.unpack_uint16(),this.unpack_array(t);case 221:return t=this.unpack_uint32(),this.unpack_array(t);case 222:return t=this.unpack_uint16(),this.unpack_map(t);case 223:return t=this.unpack_uint32(),this.unpack_map(t)}}unpack_uint8(){let e=this.dataView[this.index]&255;return this.index++,e}unpack_uint16(){let e=this.read(2),t=(e[0]&255)*256+(e[1]&255);return this.index+=2,t}unpack_uint32(){let e=this.read(4),t=((e[0]*256+e[1])*256+e[2])*256+e[3];return this.index+=4,t}unpack_uint64(){let e=this.read(8),t=((((((e[0]*256+e[1])*256+e[2])*256+e[3])*256+e[4])*256+e[5])*256+e[6])*256+e[7];return this.index+=8,t}unpack_int8(){let e=this.unpack_uint8();return e<128?e:e-256}unpack_int16(){let e=this.unpack_uint16();return e<32768?e:e-65536}unpack_int32(){let e=this.unpack_uint32();return e<2**31?e:e-2**32}unpack_int64(){let e=this.unpack_uint64();return e<2**63?e:e-2**64}unpack_raw(e){if(this.length>31,n=(e>>23&255)-127,r=e&8388607|8388608;return(t===0?1:-1)*r*2**(n-23)}unpack_double(){let e=this.unpack_uint32(),t=this.unpack_uint32(),n=e>>31,r=(e>>20&2047)-1023,i=(e&1048575|1048576)*2**(r-20)+t*2**(r-52);return(n===0?1:-1)*i}read(e){let t=this.index;if(t+e<=this.length)return this.dataView.subarray(t,t+e);throw Error(`BinaryPackFailure: read index out of range`)}},c=class{getBuffer(){return this._bufferBuilder.toArrayBuffer()}pack(e){if(typeof e==`string`)this.pack_string(e);else if(typeof e==`number`)Math.floor(e)===e?this.pack_integer(e):this.pack_double(e);else if(typeof e==`boolean`)e===!0?this._bufferBuilder.append(195):e===!1&&this._bufferBuilder.append(194);else if(e===void 0)this._bufferBuilder.append(192);else if(typeof e==`object`)if(e===null)this._bufferBuilder.append(192);else{let t=e.constructor;if(e instanceof Array){let t=this.pack_array(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else if(e instanceof ArrayBuffer)this.pack_bin(new Uint8Array(e));else if(`BYTES_PER_ELEMENT`in e){let t=e;this.pack_bin(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}else if(e instanceof Date)this.pack_string(e.toString());else if(e instanceof Blob)return e.arrayBuffer().then(e=>{this.pack_bin(new Uint8Array(e)),this._bufferBuilder.flush()});else if(t==Object||t.toString().startsWith(`class`)){let t=this.pack_object(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else throw Error(`Type "${t.toString()}" not yet supported`)}else throw Error(`Type "${typeof e}" not yet supported`);this._bufferBuilder.flush()}pack_bin(e){let t=e.length;if(t<=15)this.pack_uint8(160+t);else if(t<=65535)this._bufferBuilder.append(218),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(219),this.pack_uint32(t);else throw Error(`Invalid length`);this._bufferBuilder.append_buffer(e)}pack_string(e){let t=this._textEncoder.encode(e),n=t.length;if(n<=15)this.pack_uint8(176+n);else if(n<=65535)this._bufferBuilder.append(216),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(217),this.pack_uint32(n);else throw Error(`Invalid length`);this._bufferBuilder.append_buffer(t)}pack_array(e){let t=e.length;if(t<=15)this.pack_uint8(144+t);else if(t<=65535)this._bufferBuilder.append(220),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(221),this.pack_uint32(t);else throw Error(`Invalid length`);let n=r=>{if(rn(r+1)):n(r+1)}};return n(0)}pack_integer(e){if(e>=-32&&e<=127)this._bufferBuilder.append(e&255);else if(e>=0&&e<=255)this._bufferBuilder.append(204),this.pack_uint8(e);else if(e>=-128&&e<=127)this._bufferBuilder.append(208),this.pack_int8(e);else if(e>=0&&e<=65535)this._bufferBuilder.append(205),this.pack_uint16(e);else if(e>=-32768&&e<=32767)this._bufferBuilder.append(209),this.pack_int16(e);else if(e>=0&&e<=4294967295)this._bufferBuilder.append(206),this.pack_uint32(e);else if(e>=-2147483648&&e<=2147483647)this._bufferBuilder.append(210),this.pack_int32(e);else if(e>=-0x8000000000000000&&e<=0x8000000000000000)this._bufferBuilder.append(211),this.pack_int64(e);else if(e>=0&&e<=0x10000000000000000)this._bufferBuilder.append(207),this.pack_uint64(e);else throw Error(`Invalid integer`)}pack_double(e){let t=0;e<0&&(t=1,e=-e);let n=Math.floor(Math.log(e)/Math.LN2),r=e/2**n-1,i=Math.floor(r*2**52),a=2**32,o=t<<31|n+1023<<20|i/a&1048575,s=i%a;this._bufferBuilder.append(203),this.pack_int32(o),this.pack_int32(s)}pack_object(e){let t=Object.keys(e),n=t.length;if(n<=15)this.pack_uint8(128+n);else if(n<=65535)this._bufferBuilder.append(222),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(223),this.pack_uint32(n);else throw Error(`Invalid length`);let r=n=>{if(nr(n+1))}return r(n+1)}};return r(0)}pack_uint8(e){this._bufferBuilder.append(e)}pack_uint16(e){this._bufferBuilder.append(e>>8),this._bufferBuilder.append(e&255)}pack_uint32(e){let t=e&4294967295;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255)}pack_uint64(e){let t=e/2**32,n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}pack_int8(e){this._bufferBuilder.append(e&255)}pack_int16(e){this._bufferBuilder.append((e&65280)>>8),this._bufferBuilder.append(e&255)}pack_int32(e){this._bufferBuilder.append(e>>>24&255),this._bufferBuilder.append((e&16711680)>>>16),this._bufferBuilder.append((e&65280)>>>8),this._bufferBuilder.append(e&255)}pack_int64(e){let t=Math.floor(e/2**32),n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}constructor(){this._bufferBuilder=new r,this._textEncoder=new TextEncoder}},l=!0,u=!0;function d(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function f(e,t,n){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return i.apply(this,arguments);let a=e=>{let t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,a),i.apply(this,[e,a])};let a=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t]||!this._eventMap[t].has(n))return a.apply(this,arguments);let r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,a.apply(this,[e,r])},Object.defineProperty(r,`on`+t,{get(){return this[`_on`+t]},set(e){this[`_on`+t]&&(this.removeEventListener(t,this[`_on`+t]),delete this[`_on`+t]),e&&this.addEventListener(t,this[`_on`+t]=e)},enumerable:!0,configurable:!0})}function p(e){return typeof e==`boolean`?(l=e,e?`adapter.js logging disabled`:`adapter.js logging enabled`):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function ee(e){return typeof e==`boolean`?(u=!e,`adapter.js deprecation warnings `+(e?`disabled`:`enabled`)):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function te(){if(typeof window==`object`){if(l)return;typeof console<`u`&&typeof console.log==`function`&&console.log.apply(console,arguments)}}function m(e,t){u&&console.warn(e+` is deprecated, please use `+t+` instead.`)}function ne(e){let t={browser:null,version:null};if(e===void 0||!e.navigator||!e.navigator.userAgent)return t.browser=`Not a browser.`,t;let{navigator:n}=e;if(n.userAgentData&&n.userAgentData.brands){let e=n.userAgentData.brands.find(e=>e.brand===`Chromium`);if(e)return{browser:`chrome`,version:parseInt(e.version,10)}}if(n.mozGetUserMedia)t.browser=`firefox`,t.version=parseInt(d(n.userAgent,/Firefox\/(\d+)\./,1));else if(n.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection)t.browser=`chrome`,t.version=parseInt(d(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else if(e.RTCPeerConnection&&n.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser=`safari`,t.version=parseInt(d(n.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&`currentDirection`in e.RTCRtpTransceiver.prototype,t._safariVersion=d(n.userAgent,/Version\/(\d+(\.?\d+))/,1);else return t.browser=`Not a supported browser.`,t;return t}function re(e){return Object.prototype.toString.call(e)===`[object Object]`}function ie(e){return re(e)?Object.keys(e).reduce(function(t,n){let r=re(e[n]),i=r?ie(e[n]):e[n],a=r&&!Object.keys(i).length;return i===void 0||a?t:Object.assign(t,{[n]:i})},{}):e}function ae(e,t,n){!t||n.has(t.id)||(n.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith(`Id`)?ae(e,e.get(t[r]),n):r.endsWith(`Ids`)&&t[r].forEach(t=>{ae(e,e.get(t),n)})}))}function oe(e,t,n){let r=n?`outbound-rtp`:`inbound-rtp`,i=new Map;if(t===null)return i;let a=[];return e.forEach(e=>{e.type===`track`&&e.trackIdentifier===t.id&&a.push(e)}),a.forEach(t=>{e.forEach(n=>{n.type===r&&n.trackId===t.id&&ae(e,n,i)})}),i}var se=te;function ce(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(e){if(typeof e!=`object`||e.mandatory||e.optional)return e;let t={};return Object.keys(e).forEach(n=>{if(n===`require`||n===`advanced`||n===`mediaSource`)return;let r=typeof e[n]==`object`?e[n]:{ideal:e[n]};r.exact!==void 0&&typeof r.exact==`number`&&(r.min=r.max=r.exact);let i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):t===`deviceId`?`sourceId`:t};if(r.ideal!==void 0){t.optional=t.optional||[];let e={};typeof r.ideal==`number`?(e[i(`min`,n)]=r.ideal,t.optional.push(e),e={},e[i(`max`,n)]=r.ideal,t.optional.push(e)):(e[i(``,n)]=r.ideal,t.optional.push(e))}r.exact!==void 0&&typeof r.exact!=`number`?(t.mandatory=t.mandatory||{},t.mandatory[i(``,n)]=r.exact):[`min`,`max`].forEach(e=>{r[e]!==void 0&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=r[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if(e=JSON.parse(JSON.stringify(e)),e&&typeof e.audio==`object`){let t=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};e=JSON.parse(JSON.stringify(e)),t(e.audio,`autoGainControl`,`googAutoGainControl`),t(e.audio,`noiseSuppression`,`googNoiseSuppression`),e.audio=r(e.audio)}if(e&&typeof e.video==`object`){let a=e.video.facingMode;a&&=typeof a==`object`?a:{ideal:a};let o=t.version<66;if(a&&(a.exact===`user`||a.exact===`environment`||a.ideal===`user`||a.ideal===`environment`)&&!(n.mediaDevices.getSupportedConstraints&&n.mediaDevices.getSupportedConstraints().facingMode&&!o)){delete e.video.facingMode;let t;if(a.exact===`environment`||a.ideal===`environment`?t=[`back`,`rear`]:(a.exact===`user`||a.ideal===`user`)&&(t=[`front`]),t)return n.mediaDevices.enumerateDevices().then(n=>{n=n.filter(e=>e.kind===`videoinput`);let o=n.find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!o&&n.length&&t.includes(`back`)&&(o=n[n.length-1]),o&&(e.video.deviceId=a.exact?{exact:o.deviceId}:{ideal:o.deviceId}),e.video=r(e.video),se(`chrome: `+JSON.stringify(e)),i(e)})}e.video=r(e.video)}return se(`chrome: `+JSON.stringify(e)),i(e)},a=function(e){return t.version>=64?e:{name:{PermissionDeniedError:`NotAllowedError`,PermissionDismissedError:`NotAllowedError`,InvalidStateError:`NotAllowedError`,DevicesNotFoundError:`NotFoundError`,ConstraintNotSatisfiedError:`OverconstrainedError`,TrackStartError:`NotReadableError`,MediaDeviceFailedDueToShutdown:`NotAllowedError`,MediaDeviceKillSwitchOn:`NotAllowedError`,TabCaptureError:`AbortError`,ScreenCaptureError:`AbortError`,DeviceCaptureError:`AbortError`}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&`: `)+this.message}}};if(n.getUserMedia=function(e,t,r){i(e,e=>{n.webkitGetUserMedia(e,t,e=>{r&&r(a(e))})})}.bind(n),n.mediaDevices.getUserMedia){let e=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(t){return i(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException(``,`NotFoundError`);return e},e=>Promise.reject(a(e))))}}}var le=n({fixNegotiationNeeded:()=>_e,shimAddTrackRemoveTrack:()=>he,shimAddTrackRemoveTrackWithNative:()=>me,shimGetSendersWithDtmf:()=>fe,shimGetUserMedia:()=>ce,shimMediaStream:()=>ue,shimOnTrack:()=>de,shimPeerConnection:()=>ge,shimSenderReceiverGetStats:()=>pe});function ue(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function de(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`ontrack`in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,`ontrack`,{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener(`track`,this._ontrack),this.addEventListener(`track`,this._ontrack=e)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener(`addtrack`,n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.track.id):{track:n.track};let i=new Event(`track`);i.track=n.track,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)}),t.stream.getTracks().forEach(n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.id):{track:n};let i=new Event(`track`);i.track=n,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)})},this.addEventListener(`addstream`,this._ontrackpoly)),t.apply(this,arguments)}}else f(e,`track`,e=>(e.transceiver||Object.defineProperty(e,`transceiver`,{value:{receiver:e.receiver}}),e))}function fe(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`getSenders`in e.RTCPeerConnection.prototype)&&`createDTMFSender`in e.RTCPeerConnection.prototype){let t=function(e,t){return{track:t,get dtmf(){return this._dtmf===void 0&&(t.kind===`audio`?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){let i=n.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};let r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);let t=this._senders.indexOf(e);t!==-1&&this._senders.splice(t,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{let t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if(typeof e==`object`&&e.RTCPeerConnection&&`getSenders`in e.RTCPeerConnection.prototype&&`createDTMFSender`in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!(`dtmf`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,`dtmf`,{get(){return this._dtmf===void 0&&(this.track.kind===`audio`?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function pe(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!(`getStats`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>oe(t,e.track,!0))}}if(!(`getStats`in e.RTCRtpReceiver.prototype)){let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),f(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>oe(t,e.track,!1))}}if(!(`getStats`in e.RTCRtpSender.prototype&&`getStats`in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e=arguments[0],t,n,r;return this.getSenders().forEach(n=>{n.track===e&&(t?r=!0:t=n)}),this.getReceivers().forEach(t=>(t.track===e&&(n?r=!0:n=t),t.track===e)),r||t&&n?Promise.reject(new DOMException(`There are more than one sender or receiver for the track.`,`InvalidAccessError`)):t?t.getStats():n?n.getStats():Promise.reject(new DOMException(`There is no sender or receiver for the track.`,`InvalidAccessError`))}return t.apply(this,arguments)}}function me(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){if(!n)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let r=t.apply(this,arguments);return this._shimmedLocalStreams[n.id]?this._shimmedLocalStreams[n.id].indexOf(r)===-1&&this._shimmedLocalStreams[n.id].push(r):this._shimmedLocalStreams[n.id]=[n,r],r};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)});let t=this.getSenders();n.apply(this,arguments);let r=this.getSenders().filter(e=>t.indexOf(e)===-1);this._shimmedLocalStreams[e.id]=[e].concat(r)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{let n=this._shimmedLocalStreams[t].indexOf(e);n!==-1&&this._shimmedLocalStreams[t].splice(n,1),this._shimmedLocalStreams[t].length===1&&delete this._shimmedLocalStreams[t]}),i.apply(this,arguments)}}function he(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return me(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=n.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)}),!this._reverseStreams[t.id]){let n=new e.MediaStream(t.getTracks());this._streams[t.id]=n,this._reverseStreams[n.id]=t,t=n}r.apply(this,[t])};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,n){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);let r=[].slice.call(arguments,1);if(r.length!==1||!r[0].getTracks().find(e=>e===t))throw new DOMException(`The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.`,`NotSupportedError`);if(this.getSenders().find(e=>e.track===t))throw new DOMException(`Track already exists.`,`InvalidAccessError`);this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let i=this._streams[n.id];if(i)i.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event(`negotiationneeded`))});else{let r=new e.MediaStream([t]);this._streams[n.id]=r,this._reverseStreams[r.id]=n,this.addStream(r)}return this.getSenders().find(e=>e.track===t)};function a(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(i.id,`g`),r.id)}),new RTCSessionDescription({type:t.type,sdp:n})}function o(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(r.id,`g`),i.id)}),new RTCSessionDescription({type:t.type,sdp:n})}[`createOffer`,`createAnswer`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){let e=arguments;return arguments.length&&typeof arguments[0]==`function`?n.apply(this,[t=>{let n=a(this,t);e[0].apply(null,[n])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):n.apply(this,arguments).then(e=>a(this,e))}};e.RTCPeerConnection.prototype[t]=r[t]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type||(arguments[0]=o(this,arguments[0])),s.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,`localDescription`);Object.defineProperty(e.RTCPeerConnection.prototype,`localDescription`,{get(){let e=c.get.apply(this);return e.type===``?e:a(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);if(!e._pc)throw new DOMException(`Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.`,`TypeError`);if(e._pc!==this)throw new DOMException(`Sender was not created by this connection.`,`InvalidAccessError`);this._streams=this._streams||{};let t;Object.keys(this._streams).forEach(n=>{this._streams[n].getTracks().find(t=>e.track===t)&&(t=this._streams[n])}),t&&(t.getTracks().length===1?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event(`negotiationneeded`)))}}function ge(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]})}function _e(e,t){f(e,`negotiationneeded`,e=>{let n=e.target;if(!((t.version<72||n.getConfiguration&&n.getConfiguration().sdpSemantics===`plan-b`)&&n.signalingState!==`stable`))return e})}function ve(e,t){let n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,r){m(`navigator.getUserMedia`,`navigator.mediaDevices.getUserMedia`),n.mediaDevices.getUserMedia(e).then(t,r)},!(t.version>55&&`autoGainControl`in n.mediaDevices.getSupportedConstraints())){let e=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},t=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(n){return typeof n==`object`&&typeof n.audio==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n.audio,`autoGainControl`,`mozAutoGainControl`),e(n.audio,`noiseSuppression`,`mozNoiseSuppression`)),t(n)},r&&r.prototype.getSettings){let t=r.prototype.getSettings;r.prototype.getSettings=function(){let n=t.apply(this,arguments);return e(n,`mozAutoGainControl`,`autoGainControl`),e(n,`mozNoiseSuppression`,`noiseSuppression`),n}}if(r&&r.prototype.applyConstraints){let t=r.prototype.applyConstraints;r.prototype.applyConstraints=function(n){return this.kind===`audio`&&typeof n==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n,`autoGainControl`,`mozAutoGainControl`),e(n,`noiseSuppression`,`mozNoiseSuppression`)),t.apply(this,[n])}}}}function ye(e,t){e.navigator.mediaDevices&&`getDisplayMedia`in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!(n&&n.video)){let e=new DOMException(`getDisplayMedia without video constraints is undefined`);return e.name=`NotFoundError`,e.code=8,Promise.reject(e)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})}var be=n({shimAddTransceiver:()=>Ee,shimCreateAnswer:()=>ke,shimCreateOffer:()=>Oe,shimGetDisplayMedia:()=>ye,shimGetParameters:()=>De,shimGetUserMedia:()=>ve,shimOnTrack:()=>xe,shimPeerConnection:()=>h,shimRTCDataChannel:()=>Te,shimReceiverGetStats:()=>Ce,shimRemoveStream:()=>we,shimSenderGetStats:()=>Se});function xe(e){typeof e==`object`&&e.RTCTrackEvent&&`receiver`in e.RTCTrackEvent.prototype&&!(`transceiver`in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,`transceiver`,{get(){return{receiver:this.receiver}}})}function h(e,t){if(typeof e!=`object`||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]});let n={inboundrtp:`inbound-rtp`,outboundrtp:`outbound-rtp`,candidatepair:`candidate-pair`,localcandidate:`local-candidate`,remotecandidate:`remote-candidate`},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,i,a]=arguments;return r.apply(this,[e||null]).then(e=>{if(t.version<53&&!i)try{e.forEach(e=>{e.type=n[e.type]||e.type})}catch(t){if(t.name!==`TypeError`)throw t;e.forEach((t,r)=>{e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))})}return e}).then(i,a)}}function Se(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function Ce(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),f(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function we(e){!e.RTCPeerConnection||`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){m(`removeStream`,`removeTrack`),this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Te(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Ee(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;e===void 0&&(e=[]),e=[...e];let n=e.length>0;n&&e.forEach(e=>{if(`rid`in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError(`Invalid RID value provided.`);if(`scaleResolutionDownBy`in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError(`scale_resolution_down_by must be >= 1.0`);if(`maxFramerate`in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError(`max_framerate must be >= 0.0`)});let r=t.apply(this,arguments);if(n){let{sender:t}=r,n=t.getParameters();(!(`encodings`in n)||n.encodings.length===1&&Object.keys(n.encodings[0]).length===0)&&(n.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(n).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return r})}function De(e){if(!(typeof e==`object`&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let e=t.apply(this,arguments);return`encodings`in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function Oe(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function ke(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var Ae=n({shimAudioContext:()=>ze,shimCallbacksAPI:()=>Ne,shimConstraints:()=>Fe,shimCreateOfferLegacy:()=>Re,shimGetUserMedia:()=>Pe,shimLocalStreamsAPI:()=>je,shimRTCIceServerUrls:()=>Ie,shimRemoteStreamsAPI:()=>Me,shimTrackEventTransceiver:()=>Le});function je(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)){if(`getLocalStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||=[],this._localStreams}),!(`addStream`in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||=[],this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(n=>t.call(this,n,e)),e.getVideoTracks().forEach(n=>t.call(this,n,e))},e.RTCPeerConnection.prototype.addTrack=function(e,...n){return n&&n.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||=[];let t=this._localStreams.indexOf(e);if(t===-1)return;this._localStreams.splice(t,1);let n=e.getTracks();this.getSenders().forEach(e=>{n.includes(e.track)&&this.removeTrack(e)})})}}function Me(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)&&(`getRemoteStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!(`onaddstream`in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,`onaddstream`,{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener(`addstream`,this._onaddstream),this.removeEventListener(`track`,this._onaddstreampoly)),this.addEventListener(`addstream`,this._onaddstream=e),this.addEventListener(`track`,this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||=[],this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let t=new Event(`addstream`);t.stream=e,this.dispatchEvent(t)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener(`track`,this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||=[],e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);let n=new Event(`addstream`);n.stream=t,e.dispatchEvent(n)})}),t.apply(e,arguments)}}}function Ne(e){if(typeof e!=`object`||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,a=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){let r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){let n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,n){let r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r};t.setLocalDescription=s,s=function(e,t,n){let r=a.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.setRemoteDescription=s,s=function(e,t,n){let r=o.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.addIceCandidate=s}function Pe(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let e=t.mediaDevices,n=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>n(Fe(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,r){t.mediaDevices.getUserMedia(e).then(n,r)}.bind(t))}function Fe(e){return e&&e.video!==void 0?Object.assign({},e,{video:ie(e.video)}):e}function Ie(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,n){if(e&&e.iceServers){let t=[];for(let n=0;ne.receiver.track.kind===`audio`);e.offerToReceiveAudio===!1&&t?t.direction===`sendrecv`?t.setDirection?t.setDirection(`sendonly`):t.direction=`sendonly`:t.direction===`recvonly`&&(t.setDirection?t.setDirection(`inactive`):t.direction=`inactive`):e.offerToReceiveAudio===!0&&!t&&this.addTransceiver(`audio`,{direction:`recvonly`}),e.offerToReceiveVideo!==void 0&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let n=this.getTransceivers().find(e=>e.receiver.track.kind===`video`);e.offerToReceiveVideo===!1&&n?n.direction===`sendrecv`?n.setDirection?n.setDirection(`sendonly`):n.direction=`sendonly`:n.direction===`recvonly`&&(n.setDirection?n.setDirection(`inactive`):n.direction=`inactive`):e.offerToReceiveVideo===!0&&!n&&this.addTransceiver(`video`,{direction:`recvonly`})}return t.apply(this,arguments)}}function ze(e){typeof e!=`object`||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Be=e(((e,t)=>{var n={};n.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)},n.localCName=n.generateIdentifier(),n.splitLines=function(e){return e.trim().split(` +import{ci as e,pi as t,ui as n}from"./index-DtFxxvye.js";var r=class{constructor(){this.encoder=new TextEncoder,this._pieces=[],this._parts=[]}append_buffer(e){this.flush(),this._parts.push(e)}append(e){this._pieces.push(e)}flush(){if(this._pieces.length>0){let e=new Uint8Array(this._pieces);this._parts.push(e),this._pieces=[]}}toArrayBuffer(){let e=[];for(let t of this._parts)e.push(t);return i(e).buffer}};function i(e){let t=0;for(let n of e)t+=n.byteLength;let n=new Uint8Array(t),r=0;for(let t of e){let e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);n.set(e,r),r+=t.byteLength}return n}function a(e){return new s(e).unpack()}function o(e){let t=new c,n=t.pack(e);return n instanceof Promise?n.then(()=>t.getBuffer()):t.getBuffer()}var s=class{constructor(e){this.index=0,this.dataBuffer=e,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}unpack(){let e=this.unpack_uint8();if(e<128)return e;if((e^224)<32)return(e^224)-32;let t;if((t=e^160)<=15)return this.unpack_raw(t);if((t=e^176)<=15)return this.unpack_string(t);if((t=e^144)<=15)return this.unpack_array(t);if((t=e^128)<=15)return this.unpack_map(t);switch(e){case 192:return null;case 193:return;case 194:return!1;case 195:return!0;case 202:return this.unpack_float();case 203:return this.unpack_double();case 204:return this.unpack_uint8();case 205:return this.unpack_uint16();case 206:return this.unpack_uint32();case 207:return this.unpack_uint64();case 208:return this.unpack_int8();case 209:return this.unpack_int16();case 210:return this.unpack_int32();case 211:return this.unpack_int64();case 212:return;case 213:return;case 214:return;case 215:return;case 216:return t=this.unpack_uint16(),this.unpack_string(t);case 217:return t=this.unpack_uint32(),this.unpack_string(t);case 218:return t=this.unpack_uint16(),this.unpack_raw(t);case 219:return t=this.unpack_uint32(),this.unpack_raw(t);case 220:return t=this.unpack_uint16(),this.unpack_array(t);case 221:return t=this.unpack_uint32(),this.unpack_array(t);case 222:return t=this.unpack_uint16(),this.unpack_map(t);case 223:return t=this.unpack_uint32(),this.unpack_map(t)}}unpack_uint8(){let e=this.dataView[this.index]&255;return this.index++,e}unpack_uint16(){let e=this.read(2),t=(e[0]&255)*256+(e[1]&255);return this.index+=2,t}unpack_uint32(){let e=this.read(4),t=((e[0]*256+e[1])*256+e[2])*256+e[3];return this.index+=4,t}unpack_uint64(){let e=this.read(8),t=((((((e[0]*256+e[1])*256+e[2])*256+e[3])*256+e[4])*256+e[5])*256+e[6])*256+e[7];return this.index+=8,t}unpack_int8(){let e=this.unpack_uint8();return e<128?e:e-256}unpack_int16(){let e=this.unpack_uint16();return e<32768?e:e-65536}unpack_int32(){let e=this.unpack_uint32();return e<2**31?e:e-2**32}unpack_int64(){let e=this.unpack_uint64();return e<2**63?e:e-2**64}unpack_raw(e){if(this.length>31,n=(e>>23&255)-127,r=e&8388607|8388608;return(t===0?1:-1)*r*2**(n-23)}unpack_double(){let e=this.unpack_uint32(),t=this.unpack_uint32(),n=e>>31,r=(e>>20&2047)-1023,i=(e&1048575|1048576)*2**(r-20)+t*2**(r-52);return(n===0?1:-1)*i}read(e){let t=this.index;if(t+e<=this.length)return this.dataView.subarray(t,t+e);throw Error(`BinaryPackFailure: read index out of range`)}},c=class{getBuffer(){return this._bufferBuilder.toArrayBuffer()}pack(e){if(typeof e==`string`)this.pack_string(e);else if(typeof e==`number`)Math.floor(e)===e?this.pack_integer(e):this.pack_double(e);else if(typeof e==`boolean`)e===!0?this._bufferBuilder.append(195):e===!1&&this._bufferBuilder.append(194);else if(e===void 0)this._bufferBuilder.append(192);else if(typeof e==`object`)if(e===null)this._bufferBuilder.append(192);else{let t=e.constructor;if(e instanceof Array){let t=this.pack_array(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else if(e instanceof ArrayBuffer)this.pack_bin(new Uint8Array(e));else if(`BYTES_PER_ELEMENT`in e){let t=e;this.pack_bin(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}else if(e instanceof Date)this.pack_string(e.toString());else if(e instanceof Blob)return e.arrayBuffer().then(e=>{this.pack_bin(new Uint8Array(e)),this._bufferBuilder.flush()});else if(t==Object||t.toString().startsWith(`class`)){let t=this.pack_object(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else throw Error(`Type "${t.toString()}" not yet supported`)}else throw Error(`Type "${typeof e}" not yet supported`);this._bufferBuilder.flush()}pack_bin(e){let t=e.length;if(t<=15)this.pack_uint8(160+t);else if(t<=65535)this._bufferBuilder.append(218),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(219),this.pack_uint32(t);else throw Error(`Invalid length`);this._bufferBuilder.append_buffer(e)}pack_string(e){let t=this._textEncoder.encode(e),n=t.length;if(n<=15)this.pack_uint8(176+n);else if(n<=65535)this._bufferBuilder.append(216),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(217),this.pack_uint32(n);else throw Error(`Invalid length`);this._bufferBuilder.append_buffer(t)}pack_array(e){let t=e.length;if(t<=15)this.pack_uint8(144+t);else if(t<=65535)this._bufferBuilder.append(220),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(221),this.pack_uint32(t);else throw Error(`Invalid length`);let n=r=>{if(rn(r+1)):n(r+1)}};return n(0)}pack_integer(e){if(e>=-32&&e<=127)this._bufferBuilder.append(e&255);else if(e>=0&&e<=255)this._bufferBuilder.append(204),this.pack_uint8(e);else if(e>=-128&&e<=127)this._bufferBuilder.append(208),this.pack_int8(e);else if(e>=0&&e<=65535)this._bufferBuilder.append(205),this.pack_uint16(e);else if(e>=-32768&&e<=32767)this._bufferBuilder.append(209),this.pack_int16(e);else if(e>=0&&e<=4294967295)this._bufferBuilder.append(206),this.pack_uint32(e);else if(e>=-2147483648&&e<=2147483647)this._bufferBuilder.append(210),this.pack_int32(e);else if(e>=-0x8000000000000000&&e<=0x8000000000000000)this._bufferBuilder.append(211),this.pack_int64(e);else if(e>=0&&e<=0x10000000000000000)this._bufferBuilder.append(207),this.pack_uint64(e);else throw Error(`Invalid integer`)}pack_double(e){let t=0;e<0&&(t=1,e=-e);let n=Math.floor(Math.log(e)/Math.LN2),r=e/2**n-1,i=Math.floor(r*2**52),a=2**32,o=t<<31|n+1023<<20|i/a&1048575,s=i%a;this._bufferBuilder.append(203),this.pack_int32(o),this.pack_int32(s)}pack_object(e){let t=Object.keys(e),n=t.length;if(n<=15)this.pack_uint8(128+n);else if(n<=65535)this._bufferBuilder.append(222),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(223),this.pack_uint32(n);else throw Error(`Invalid length`);let r=n=>{if(nr(n+1))}return r(n+1)}};return r(0)}pack_uint8(e){this._bufferBuilder.append(e)}pack_uint16(e){this._bufferBuilder.append(e>>8),this._bufferBuilder.append(e&255)}pack_uint32(e){let t=e&4294967295;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255)}pack_uint64(e){let t=e/2**32,n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}pack_int8(e){this._bufferBuilder.append(e&255)}pack_int16(e){this._bufferBuilder.append((e&65280)>>8),this._bufferBuilder.append(e&255)}pack_int32(e){this._bufferBuilder.append(e>>>24&255),this._bufferBuilder.append((e&16711680)>>>16),this._bufferBuilder.append((e&65280)>>>8),this._bufferBuilder.append(e&255)}pack_int64(e){let t=Math.floor(e/2**32),n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}constructor(){this._bufferBuilder=new r,this._textEncoder=new TextEncoder}},l=!0,u=!0;function d(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function f(e,t,n){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return i.apply(this,arguments);let a=e=>{let t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,a),i.apply(this,[e,a])};let a=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t]||!this._eventMap[t].has(n))return a.apply(this,arguments);let r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,a.apply(this,[e,r])},Object.defineProperty(r,`on`+t,{get(){return this[`_on`+t]},set(e){this[`_on`+t]&&(this.removeEventListener(t,this[`_on`+t]),delete this[`_on`+t]),e&&this.addEventListener(t,this[`_on`+t]=e)},enumerable:!0,configurable:!0})}function p(e){return typeof e==`boolean`?(l=e,e?`adapter.js logging disabled`:`adapter.js logging enabled`):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function ee(e){return typeof e==`boolean`?(u=!e,`adapter.js deprecation warnings `+(e?`disabled`:`enabled`)):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function te(){if(typeof window==`object`){if(l)return;typeof console<`u`&&typeof console.log==`function`&&console.log.apply(console,arguments)}}function m(e,t){u&&console.warn(e+` is deprecated, please use `+t+` instead.`)}function ne(e){let t={browser:null,version:null};if(e===void 0||!e.navigator||!e.navigator.userAgent)return t.browser=`Not a browser.`,t;let{navigator:n}=e;if(n.userAgentData&&n.userAgentData.brands){let e=n.userAgentData.brands.find(e=>e.brand===`Chromium`);if(e)return{browser:`chrome`,version:parseInt(e.version,10)}}if(n.mozGetUserMedia)t.browser=`firefox`,t.version=parseInt(d(n.userAgent,/Firefox\/(\d+)\./,1));else if(n.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection)t.browser=`chrome`,t.version=parseInt(d(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else if(e.RTCPeerConnection&&n.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser=`safari`,t.version=parseInt(d(n.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&`currentDirection`in e.RTCRtpTransceiver.prototype,t._safariVersion=d(n.userAgent,/Version\/(\d+(\.?\d+))/,1);else return t.browser=`Not a supported browser.`,t;return t}function re(e){return Object.prototype.toString.call(e)===`[object Object]`}function ie(e){return re(e)?Object.keys(e).reduce(function(t,n){let r=re(e[n]),i=r?ie(e[n]):e[n],a=r&&!Object.keys(i).length;return i===void 0||a?t:Object.assign(t,{[n]:i})},{}):e}function ae(e,t,n){!t||n.has(t.id)||(n.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith(`Id`)?ae(e,e.get(t[r]),n):r.endsWith(`Ids`)&&t[r].forEach(t=>{ae(e,e.get(t),n)})}))}function oe(e,t,n){let r=n?`outbound-rtp`:`inbound-rtp`,i=new Map;if(t===null)return i;let a=[];return e.forEach(e=>{e.type===`track`&&e.trackIdentifier===t.id&&a.push(e)}),a.forEach(t=>{e.forEach(n=>{n.type===r&&n.trackId===t.id&&ae(e,n,i)})}),i}var se=te;function ce(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(e){if(typeof e!=`object`||e.mandatory||e.optional)return e;let t={};return Object.keys(e).forEach(n=>{if(n===`require`||n===`advanced`||n===`mediaSource`)return;let r=typeof e[n]==`object`?e[n]:{ideal:e[n]};r.exact!==void 0&&typeof r.exact==`number`&&(r.min=r.max=r.exact);let i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):t===`deviceId`?`sourceId`:t};if(r.ideal!==void 0){t.optional=t.optional||[];let e={};typeof r.ideal==`number`?(e[i(`min`,n)]=r.ideal,t.optional.push(e),e={},e[i(`max`,n)]=r.ideal,t.optional.push(e)):(e[i(``,n)]=r.ideal,t.optional.push(e))}r.exact!==void 0&&typeof r.exact!=`number`?(t.mandatory=t.mandatory||{},t.mandatory[i(``,n)]=r.exact):[`min`,`max`].forEach(e=>{r[e]!==void 0&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=r[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if(e=JSON.parse(JSON.stringify(e)),e&&typeof e.audio==`object`){let t=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};e=JSON.parse(JSON.stringify(e)),t(e.audio,`autoGainControl`,`googAutoGainControl`),t(e.audio,`noiseSuppression`,`googNoiseSuppression`),e.audio=r(e.audio)}if(e&&typeof e.video==`object`){let a=e.video.facingMode;a&&=typeof a==`object`?a:{ideal:a};let o=t.version<66;if(a&&(a.exact===`user`||a.exact===`environment`||a.ideal===`user`||a.ideal===`environment`)&&!(n.mediaDevices.getSupportedConstraints&&n.mediaDevices.getSupportedConstraints().facingMode&&!o)){delete e.video.facingMode;let t;if(a.exact===`environment`||a.ideal===`environment`?t=[`back`,`rear`]:(a.exact===`user`||a.ideal===`user`)&&(t=[`front`]),t)return n.mediaDevices.enumerateDevices().then(n=>{n=n.filter(e=>e.kind===`videoinput`);let o=n.find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!o&&n.length&&t.includes(`back`)&&(o=n[n.length-1]),o&&(e.video.deviceId=a.exact?{exact:o.deviceId}:{ideal:o.deviceId}),e.video=r(e.video),se(`chrome: `+JSON.stringify(e)),i(e)})}e.video=r(e.video)}return se(`chrome: `+JSON.stringify(e)),i(e)},a=function(e){return t.version>=64?e:{name:{PermissionDeniedError:`NotAllowedError`,PermissionDismissedError:`NotAllowedError`,InvalidStateError:`NotAllowedError`,DevicesNotFoundError:`NotFoundError`,ConstraintNotSatisfiedError:`OverconstrainedError`,TrackStartError:`NotReadableError`,MediaDeviceFailedDueToShutdown:`NotAllowedError`,MediaDeviceKillSwitchOn:`NotAllowedError`,TabCaptureError:`AbortError`,ScreenCaptureError:`AbortError`,DeviceCaptureError:`AbortError`}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&`: `)+this.message}}};if(n.getUserMedia=function(e,t,r){i(e,e=>{n.webkitGetUserMedia(e,t,e=>{r&&r(a(e))})})}.bind(n),n.mediaDevices.getUserMedia){let e=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(t){return i(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException(``,`NotFoundError`);return e},e=>Promise.reject(a(e))))}}}var le=n({fixNegotiationNeeded:()=>_e,shimAddTrackRemoveTrack:()=>he,shimAddTrackRemoveTrackWithNative:()=>me,shimGetSendersWithDtmf:()=>fe,shimGetUserMedia:()=>ce,shimMediaStream:()=>ue,shimOnTrack:()=>de,shimPeerConnection:()=>ge,shimSenderReceiverGetStats:()=>pe});function ue(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function de(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`ontrack`in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,`ontrack`,{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener(`track`,this._ontrack),this.addEventListener(`track`,this._ontrack=e)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener(`addtrack`,n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.track.id):{track:n.track};let i=new Event(`track`);i.track=n.track,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)}),t.stream.getTracks().forEach(n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.id):{track:n};let i=new Event(`track`);i.track=n,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)})},this.addEventListener(`addstream`,this._ontrackpoly)),t.apply(this,arguments)}}else f(e,`track`,e=>(e.transceiver||Object.defineProperty(e,`transceiver`,{value:{receiver:e.receiver}}),e))}function fe(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`getSenders`in e.RTCPeerConnection.prototype)&&`createDTMFSender`in e.RTCPeerConnection.prototype){let t=function(e,t){return{track:t,get dtmf(){return this._dtmf===void 0&&(t.kind===`audio`?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){let i=n.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};let r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);let t=this._senders.indexOf(e);t!==-1&&this._senders.splice(t,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{let t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if(typeof e==`object`&&e.RTCPeerConnection&&`getSenders`in e.RTCPeerConnection.prototype&&`createDTMFSender`in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!(`dtmf`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,`dtmf`,{get(){return this._dtmf===void 0&&(this.track.kind===`audio`?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function pe(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!(`getStats`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>oe(t,e.track,!0))}}if(!(`getStats`in e.RTCRtpReceiver.prototype)){let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),f(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>oe(t,e.track,!1))}}if(!(`getStats`in e.RTCRtpSender.prototype&&`getStats`in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e=arguments[0],t,n,r;return this.getSenders().forEach(n=>{n.track===e&&(t?r=!0:t=n)}),this.getReceivers().forEach(t=>(t.track===e&&(n?r=!0:n=t),t.track===e)),r||t&&n?Promise.reject(new DOMException(`There are more than one sender or receiver for the track.`,`InvalidAccessError`)):t?t.getStats():n?n.getStats():Promise.reject(new DOMException(`There is no sender or receiver for the track.`,`InvalidAccessError`))}return t.apply(this,arguments)}}function me(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){if(!n)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let r=t.apply(this,arguments);return this._shimmedLocalStreams[n.id]?this._shimmedLocalStreams[n.id].indexOf(r)===-1&&this._shimmedLocalStreams[n.id].push(r):this._shimmedLocalStreams[n.id]=[n,r],r};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)});let t=this.getSenders();n.apply(this,arguments);let r=this.getSenders().filter(e=>t.indexOf(e)===-1);this._shimmedLocalStreams[e.id]=[e].concat(r)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{let n=this._shimmedLocalStreams[t].indexOf(e);n!==-1&&this._shimmedLocalStreams[t].splice(n,1),this._shimmedLocalStreams[t].length===1&&delete this._shimmedLocalStreams[t]}),i.apply(this,arguments)}}function he(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return me(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=n.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)}),!this._reverseStreams[t.id]){let n=new e.MediaStream(t.getTracks());this._streams[t.id]=n,this._reverseStreams[n.id]=t,t=n}r.apply(this,[t])};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,n){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);let r=[].slice.call(arguments,1);if(r.length!==1||!r[0].getTracks().find(e=>e===t))throw new DOMException(`The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.`,`NotSupportedError`);if(this.getSenders().find(e=>e.track===t))throw new DOMException(`Track already exists.`,`InvalidAccessError`);this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let i=this._streams[n.id];if(i)i.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event(`negotiationneeded`))});else{let r=new e.MediaStream([t]);this._streams[n.id]=r,this._reverseStreams[r.id]=n,this.addStream(r)}return this.getSenders().find(e=>e.track===t)};function a(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(i.id,`g`),r.id)}),new RTCSessionDescription({type:t.type,sdp:n})}function o(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(r.id,`g`),i.id)}),new RTCSessionDescription({type:t.type,sdp:n})}[`createOffer`,`createAnswer`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){let e=arguments;return arguments.length&&typeof arguments[0]==`function`?n.apply(this,[t=>{let n=a(this,t);e[0].apply(null,[n])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):n.apply(this,arguments).then(e=>a(this,e))}};e.RTCPeerConnection.prototype[t]=r[t]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type||(arguments[0]=o(this,arguments[0])),s.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,`localDescription`);Object.defineProperty(e.RTCPeerConnection.prototype,`localDescription`,{get(){let e=c.get.apply(this);return e.type===``?e:a(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);if(!e._pc)throw new DOMException(`Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.`,`TypeError`);if(e._pc!==this)throw new DOMException(`Sender was not created by this connection.`,`InvalidAccessError`);this._streams=this._streams||{};let t;Object.keys(this._streams).forEach(n=>{this._streams[n].getTracks().find(t=>e.track===t)&&(t=this._streams[n])}),t&&(t.getTracks().length===1?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event(`negotiationneeded`)))}}function ge(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]})}function _e(e,t){f(e,`negotiationneeded`,e=>{let n=e.target;if(!((t.version<72||n.getConfiguration&&n.getConfiguration().sdpSemantics===`plan-b`)&&n.signalingState!==`stable`))return e})}function ve(e,t){let n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,r){m(`navigator.getUserMedia`,`navigator.mediaDevices.getUserMedia`),n.mediaDevices.getUserMedia(e).then(t,r)},!(t.version>55&&`autoGainControl`in n.mediaDevices.getSupportedConstraints())){let e=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},t=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(n){return typeof n==`object`&&typeof n.audio==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n.audio,`autoGainControl`,`mozAutoGainControl`),e(n.audio,`noiseSuppression`,`mozNoiseSuppression`)),t(n)},r&&r.prototype.getSettings){let t=r.prototype.getSettings;r.prototype.getSettings=function(){let n=t.apply(this,arguments);return e(n,`mozAutoGainControl`,`autoGainControl`),e(n,`mozNoiseSuppression`,`noiseSuppression`),n}}if(r&&r.prototype.applyConstraints){let t=r.prototype.applyConstraints;r.prototype.applyConstraints=function(n){return this.kind===`audio`&&typeof n==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n,`autoGainControl`,`mozAutoGainControl`),e(n,`noiseSuppression`,`mozNoiseSuppression`)),t.apply(this,[n])}}}}function ye(e,t){e.navigator.mediaDevices&&`getDisplayMedia`in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!(n&&n.video)){let e=new DOMException(`getDisplayMedia without video constraints is undefined`);return e.name=`NotFoundError`,e.code=8,Promise.reject(e)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})}var be=n({shimAddTransceiver:()=>Ee,shimCreateAnswer:()=>ke,shimCreateOffer:()=>Oe,shimGetDisplayMedia:()=>ye,shimGetParameters:()=>De,shimGetUserMedia:()=>ve,shimOnTrack:()=>xe,shimPeerConnection:()=>h,shimRTCDataChannel:()=>Te,shimReceiverGetStats:()=>Ce,shimRemoveStream:()=>we,shimSenderGetStats:()=>Se});function xe(e){typeof e==`object`&&e.RTCTrackEvent&&`receiver`in e.RTCTrackEvent.prototype&&!(`transceiver`in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,`transceiver`,{get(){return{receiver:this.receiver}}})}function h(e,t){if(typeof e!=`object`||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]});let n={inboundrtp:`inbound-rtp`,outboundrtp:`outbound-rtp`,candidatepair:`candidate-pair`,localcandidate:`local-candidate`,remotecandidate:`remote-candidate`},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,i,a]=arguments;return r.apply(this,[e||null]).then(e=>{if(t.version<53&&!i)try{e.forEach(e=>{e.type=n[e.type]||e.type})}catch(t){if(t.name!==`TypeError`)throw t;e.forEach((t,r)=>{e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))})}return e}).then(i,a)}}function Se(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function Ce(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),f(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function we(e){!e.RTCPeerConnection||`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){m(`removeStream`,`removeTrack`),this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Te(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Ee(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;e===void 0&&(e=[]),e=[...e];let n=e.length>0;n&&e.forEach(e=>{if(`rid`in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError(`Invalid RID value provided.`);if(`scaleResolutionDownBy`in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError(`scale_resolution_down_by must be >= 1.0`);if(`maxFramerate`in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError(`max_framerate must be >= 0.0`)});let r=t.apply(this,arguments);if(n){let{sender:t}=r,n=t.getParameters();(!(`encodings`in n)||n.encodings.length===1&&Object.keys(n.encodings[0]).length===0)&&(n.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(n).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return r})}function De(e){if(!(typeof e==`object`&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let e=t.apply(this,arguments);return`encodings`in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function Oe(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function ke(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var Ae=n({shimAudioContext:()=>ze,shimCallbacksAPI:()=>Ne,shimConstraints:()=>Fe,shimCreateOfferLegacy:()=>Re,shimGetUserMedia:()=>Pe,shimLocalStreamsAPI:()=>je,shimRTCIceServerUrls:()=>Ie,shimRemoteStreamsAPI:()=>Me,shimTrackEventTransceiver:()=>Le});function je(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)){if(`getLocalStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||=[],this._localStreams}),!(`addStream`in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||=[],this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(n=>t.call(this,n,e)),e.getVideoTracks().forEach(n=>t.call(this,n,e))},e.RTCPeerConnection.prototype.addTrack=function(e,...n){return n&&n.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||=[];let t=this._localStreams.indexOf(e);if(t===-1)return;this._localStreams.splice(t,1);let n=e.getTracks();this.getSenders().forEach(e=>{n.includes(e.track)&&this.removeTrack(e)})})}}function Me(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)&&(`getRemoteStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!(`onaddstream`in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,`onaddstream`,{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener(`addstream`,this._onaddstream),this.removeEventListener(`track`,this._onaddstreampoly)),this.addEventListener(`addstream`,this._onaddstream=e),this.addEventListener(`track`,this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||=[],this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let t=new Event(`addstream`);t.stream=e,this.dispatchEvent(t)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener(`track`,this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||=[],e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);let n=new Event(`addstream`);n.stream=t,e.dispatchEvent(n)})}),t.apply(e,arguments)}}}function Ne(e){if(typeof e!=`object`||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,a=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){let r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){let n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,n){let r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r};t.setLocalDescription=s,s=function(e,t,n){let r=a.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.setRemoteDescription=s,s=function(e,t,n){let r=o.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.addIceCandidate=s}function Pe(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let e=t.mediaDevices,n=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>n(Fe(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,r){t.mediaDevices.getUserMedia(e).then(n,r)}.bind(t))}function Fe(e){return e&&e.video!==void 0?Object.assign({},e,{video:ie(e.video)}):e}function Ie(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,n){if(e&&e.iceServers){let t=[];for(let n=0;ne.receiver.track.kind===`audio`);e.offerToReceiveAudio===!1&&t?t.direction===`sendrecv`?t.setDirection?t.setDirection(`sendonly`):t.direction=`sendonly`:t.direction===`recvonly`&&(t.setDirection?t.setDirection(`inactive`):t.direction=`inactive`):e.offerToReceiveAudio===!0&&!t&&this.addTransceiver(`audio`,{direction:`recvonly`}),e.offerToReceiveVideo!==void 0&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let n=this.getTransceivers().find(e=>e.receiver.track.kind===`video`);e.offerToReceiveVideo===!1&&n?n.direction===`sendrecv`?n.setDirection?n.setDirection(`sendonly`):n.direction=`sendonly`:n.direction===`recvonly`&&(n.setDirection?n.setDirection(`inactive`):n.direction=`inactive`):e.offerToReceiveVideo===!0&&!n&&this.addTransceiver(`video`,{direction:`recvonly`})}return t.apply(this,arguments)}}function ze(e){typeof e!=`object`||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Be=e(((e,t)=>{var n={};n.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)},n.localCName=n.generateIdentifier(),n.splitLines=function(e){return e.trim().split(` `).map(e=>e.trim())},n.splitSections=function(e){return e.split(` m=`).map((e,t)=>(t>0?`m=`+e:e).trim()+`\r `)},n.getDescription=function(e){let t=n.splitSections(e);return t&&t[0]},n.getMediaSections=function(e){let t=n.splitSections(e);return t.shift(),t},n.matchPrefix=function(e,t){return n.splitLines(e).filter(e=>e.indexOf(t)===0)},n.parseCandidate=function(e){let t;t=e.indexOf(`a=candidate:`)===0?e.substring(12).split(` `):e.substring(10).split(` `);let n={foundation:t[0],component:{1:`rtp`,2:`rtcp`}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let e=8;e{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.html2canvas=r())})(e,(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};function t(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}var n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&a[a.length-1]))&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(r+1===t||n.length>16384)&&(i+=String.fromCharCode.apply(String,n),n.length=0)}return i},d=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,f=typeof Uint8Array>`u`?[]:new Uint8Array(256),p=0;p`u`?[]:new Uint8Array(256),g=0;g>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},v=function(e){for(var t=e.length,n=[],r=0;r>b,T=(1<>b)+32,D=65536>>x,O=(1<=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>b],t=(t<>b)],t=(t<>x),t=this.index[t],t+=e>>b&O,t=this.index[t],t=(t<`u`?[]:new Uint8Array(256),oe=0;oece?(i.push(!0),o-=ce):i.push(!1),[`normal`,`auto`,`loose`].indexOf(t)!==-1&&[8208,8211,12316,12448].indexOf(e)!==-1)return r.push(a),n.push(Ce);if(o===fe||o===ve){if(a===0)return r.push(a),n.push(Ie);var s=n[a-1];return rt.indexOf(s)===-1?(r.push(r[a-1]),n.push(s)):(r.push(a),n.push(Ie))}if(r.push(a),o===Le)return n.push(t===`strict`?Oe:Ue);if(o===Je||o===Fe)return n.push(Ie);if(o===Ye)return e>=131072&&e<=196605||e>=196608&&e<=262141?n.push(Ue):n.push(Ie);n.push(o)}),[r,n,i]},st=function(e,t,n,r){var i=r[n];if(Array.isArray(e)?e.indexOf(i)!==-1:e===i)for(var a=n;a<=r.length;){a++;var o=r[a];if(o===t)return!0;if(o!==_e)break}if(i===_e)for(var a=n;a>0;){a--;var s=r[a];if(Array.isArray(e)?e.indexOf(s)!==-1:e===s)for(var c=n;c<=r.length;){c++;var o=r[c];if(o===t)return!0;if(o!==_e)break}if(s!==_e)break}return!1},ct=function(e,t){for(var n=e;n>=0;){var r=t[n];if(r===_e)n--;else return r}return 0},lt=function(e,t,n,r,i){if(n[r]===0)return A;var a=r-1;if(Array.isArray(i)&&i[a]===!0)return A;var o=a-1,s=a+1,c=t[a],l=o>=0?t[o]:0,u=t[s];if(c===ue&&u===de)return A;if(et.indexOf(c)!==-1)return Ze;if(et.indexOf(u)!==-1||tt.indexOf(u)!==-1)return A;if(ct(a,t)===he)return Qe;if($e.get(e[a])===ve||(c===Re||c===ze)&&$e.get(e[s])===ve||c===me||u===me||c===ge||[_e,be,Se].indexOf(c)===-1&&u===ge||[we,Te,Ee,je,Pe].indexOf(u)!==-1||ct(a,t)===ke||st(Ae,ke,a,t)||st([we,Te],Oe,a,t)||st(ye,ye,a,t))return A;if(c===_e)return Qe;if(c===Ae||u===Ae)return A;if(u===Ce||c===Ce)return Qe;if([be,Se,Oe].indexOf(u)!==-1||c===xe||l===He&&at.indexOf(c)!==-1||c===Pe&&u===He||u===De||j.indexOf(u)!==-1&&c===k||j.indexOf(c)!==-1&&u===k||c===Ne&&[Ue,Re,ze].indexOf(u)!==-1||[Ue,Re,ze].indexOf(c)!==-1&&u===Me||j.indexOf(c)!==-1&&nt.indexOf(u)!==-1||nt.indexOf(c)!==-1&&j.indexOf(u)!==-1||[Ne,Me].indexOf(c)!==-1&&(u===k||[ke,Se].indexOf(u)!==-1&&t[s+1]===k)||[ke,Se].indexOf(c)!==-1&&u===k||c===k&&[k,Pe,je].indexOf(u)!==-1)return A;if([k,Pe,je,we,Te].indexOf(u)!==-1)for(var d=a;d>=0;){var f=t[d];if(f===k)return A;if([Pe,je].indexOf(f)!==-1)d--;else break}if([Ne,Me].indexOf(u)!==-1)for(var d=[we,Te].indexOf(c)===-1?a:o;d>=0;){var f=t[d];if(f===k)return A;if([Pe,je].indexOf(f)!==-1)d--;else break}if(We===c&&[We,Ge,Be,Ve].indexOf(u)!==-1||[Ge,Be].indexOf(c)!==-1&&[Ge,Ke].indexOf(u)!==-1||[Ke,Ve].indexOf(c)!==-1&&u===Ke||it.indexOf(c)!==-1&&[De,Me].indexOf(u)!==-1||it.indexOf(u)!==-1&&c===Ne||j.indexOf(c)!==-1&&j.indexOf(u)!==-1||c===je&&j.indexOf(u)!==-1||j.concat(k).indexOf(c)!==-1&&u===ke&&Xe.indexOf(e[s])===-1||j.concat(k).indexOf(u)!==-1&&c===Te)return A;if(c===qe&&u===qe){for(var p=n[a],m=1;p>0&&(p--,t[p]===qe);)m++;if(m%2!=0)return A}return c===Re&&u===ze?A:Qe},ut=function(e,t){t||={lineBreak:`normal`,wordBreak:`normal`};var n=ot(e,t.lineBreak),r=n[0],i=n[1],a=n[2];(t.wordBreak===`break-all`||t.wordBreak===`break-word`)&&(i=i.map(function(e){return[k,Ie,Je].indexOf(e)===-1?e:Ue}));var o=t.wordBreak===`keep-all`?a.map(function(t,n){return t&&e[n]>=19968&&e[n]<=40959}):void 0;return[r,i,o]},dt=function(){function e(e,t,n,r){this.codePoints=e,this.required=t===Ze,this.start=n,this.end=r}return e.prototype.slice=function(){return u.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),ft=function(e,t){var n=l(e),r=ut(n,t),i=r[0],a=r[1],o=r[2],s=n.length,c=0,u=0;return{next:function(){if(u>=s)return{done:!0,value:null};for(var e=A;u=rn&&e<=57},hn=function(e){return e>=55296&&e<=57343},gn=function(e){return P(e)||e>=un&&e<=fn||e>=an&&e<=sn},_n=function(e){return e>=an&&e<=ln},vn=function(e){return e>=un&&e<=mn},yn=function(e){return _n(e)||vn(e)},bn=function(e){return e>=Ut},xn=function(e){return e===_t||e===bt||e===xt},Sn=function(e){return yn(e)||bn(e)||e===At},Cn=function(e){return Sn(e)||P(e)||e===M},wn=function(e){return e>=Zt&&e<=Qt||e===$t||e>=en&&e<=tn||e===nn},Tn=function(e,t){return e===yt?t!==_t:!1},En=function(e,t,n){return e===M?Sn(t)||Tn(t,n):Sn(e)?!0:!!(e===yt&&Tn(e,t))},Dn=function(e,t,n){return e===Kt||e===M?P(t)?!0:t===Xt&&P(n):P(e===Xt?t:e)},On=function(e){var t=0,n=1;(e[t]===Kt||e[t]===M)&&(e[t]===M&&(n=-1),t++);for(var r=[];P(e[t]);)r.push(e[t++]);var i=r.length?parseInt(u.apply(void 0,r),10):0;e[t]===Xt&&t++;for(var a=[];P(e[t]);)a.push(e[t++]);var o=a.length,s=o?parseInt(u.apply(void 0,a),10):0;(e[t]===dn||e[t]===on)&&t++;var c=1;(e[t]===Kt||e[t]===M)&&(e[t]===M&&(c=-1),t++);for(var l=[];P(e[t]);)l.push(e[t++]);var d=l.length?parseInt(u.apply(void 0,l),10):0;return n*(i+s*10**-o)*10**(c*d)},kn={type:2},An={type:3},jn={type:4},Mn={type:13},Nn={type:8},Pn={type:21},Fn={type:9},In={type:10},Ln={type:11},Rn={type:12},zn={type:14},Bn={type:23},Vn={type:1},Hn={type:25},Un={type:24},Wn={type:26},Gn={type:27},Kn={type:28},qn={type:29},Jn={type:31},Yn={type:32},Xn=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(l(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==Yn;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case St:return this.consumeStringToken(St);case wt:var t=this.peekCodePoint(0),n=this.peekCodePoint(1),r=this.peekCodePoint(2);if(Cn(t)||Tn(n,r)){var i=En(t,n,r)?mt:pt,a=this.consumeName();return{type:5,value:a,flags:i}}break;case Tt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Mn;break;case Dt:return this.consumeStringToken(Dt);case Ot:return kn;case kt:return An;case Gt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),zn;break;case Kt:if(Dn(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case qt:return jn;case M:var o=e,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(Dn(o,s,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(En(o,s,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(s===M&&c===Nt)return this.consumeCodePoint(),this.consumeCodePoint(),Un;break;case Xt:if(Dn(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case vt:if(this.peekCodePoint(0)===Gt)for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(l===Gt&&(l=this.consumeCodePoint(),l===vt)||l===N)return this.consumeToken()}break;case Jt:return Wn;case Yt:return Gn;case Mt:if(this.peekCodePoint(0)===jt&&this.peekCodePoint(1)===M&&this.peekCodePoint(2)===M)return this.consumeCodePoint(),this.consumeCodePoint(),Hn;break;case Pt:if(En(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var a=this.consumeName();return{type:7,value:a}}break;case Ft:return Kn;case yt:if(Tn(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case It:return qn;case Lt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Nn;break;case Rt:return Ln;case Bt:return Rn;case cn:case pn:var d=this.peekCodePoint(0),f=this.peekCodePoint(1);return d===Kt&&(gn(f)||f===zt)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case Vt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Fn;if(this.peekCodePoint(0)===Vt)return this.consumeCodePoint(),Pn;break;case Ht:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),In;break;case N:return Yn}return xn(e)?(this.consumeWhiteSpace(),Jn):P(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):Sn(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:u(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return e===void 0?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();gn(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var n=!1;t===zt&&e.length<6;)e.push(t),t=this.consumeCodePoint(),n=!0;if(n){var r=parseInt(u.apply(void 0,e.map(function(e){return e===zt?rn:e})),16),i=parseInt(u.apply(void 0,e.map(function(e){return e===zt?fn:e})),16);return{type:30,start:r,end:i}}var a=parseInt(u.apply(void 0,e),16);if(this.peekCodePoint(0)===M&&gn(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var o=[];gn(t)&&o.length<6;)o.push(t),t=this.consumeCodePoint();var i=parseInt(u.apply(void 0,o),16);return{type:30,start:a,end:i}}else return{type:30,start:a,end:a}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()===`url`&&this.peekCodePoint(0)===Ot?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Ot?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===N)return{type:22,value:``};var t=this.peekCodePoint(0);if(t===Dt||t===St){var n=this.consumeStringToken(this.consumeCodePoint());return n.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===N||this.peekCodePoint(0)===kt)?(this.consumeCodePoint(),{type:22,value:n.value}):(this.consumeBadUrlRemnants(),Bn)}for(;;){var r=this.consumeCodePoint();if(r===N||r===kt)return{type:22,value:u.apply(void 0,e)};if(xn(r))return this.consumeWhiteSpace(),this.peekCodePoint(0)===N||this.peekCodePoint(0)===kt?(this.consumeCodePoint(),{type:22,value:u.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Bn);if(r===St||r===Dt||r===Ot||wn(r))return this.consumeBadUrlRemnants(),Bn;if(r===yt)if(Tn(r,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Bn;else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;xn(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===kt||e===N)return;Tn(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t=5e4,n=``;e>0;){var r=Math.min(t,e);n+=u.apply(void 0,this._value.splice(0,r)),e-=r}return this._value.shift(),n},e.prototype.consumeStringToken=function(e){var t=``,n=0;do{var r=this._value[n];if(r===N||r===void 0||r===e)return t+=this.consumeStringSlice(n),{type:0,value:t};if(r===_t)return this._value.splice(0,n),Vn;if(r===yt){var i=this._value[n+1];i!==N&&i!==void 0&&(i===_t?(t+=this.consumeStringSlice(n),n=-1,this._value.shift()):Tn(r,i)&&(t+=this.consumeStringSlice(n),t+=u(this.consumeEscapedCodePoint()),n=-1))}n++}while(!0)},e.prototype.consumeNumber=function(){var e=[],t=ht,n=this.peekCodePoint(0);for((n===Kt||n===M)&&e.push(this.consumeCodePoint());P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(n===Xt&&P(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=gt;P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0),r=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((n===dn||n===on)&&((r===Kt||r===M)&&P(i)||P(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=gt;P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[On(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],n=e[1],r=this.peekCodePoint(0);return En(r,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:t,flags:n,unit:this.consumeName()}:r===Et?(this.consumeCodePoint(),{type:16,number:t,flags:n}):{type:17,number:t,flags:n}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(gn(e)){for(var t=u(e);gn(this.peekCodePoint(0))&&t.length<6;)t+=u(this.consumeCodePoint());xn(this.peekCodePoint(0))&&this.consumeCodePoint();var n=parseInt(t,16);return n===0||hn(n)||n>1114111?Wt:n}return e===N?Wt:e},e.prototype.consumeName=function(){for(var e=``;;){var t=this.consumeCodePoint();if(Cn(t))e+=u(t);else if(Tn(t,this.peekCodePoint(0)))e+=u(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(t),e}},e}(),Zn=function(){function e(e){this._tokens=e}return e.create=function(t){var n=new Xn;return n.write(t),new e(n.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw SyntaxError(`Error parsing CSS component value, unexpected EOF`);this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return t;throw SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`)},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(t.type===32)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},n=this.consumeToken();;){if(n.type===32||ir(n,e))return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue()),n=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var n=this.consumeToken();if(n.type===32||n.type===3)return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return e===void 0?Yn:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Qn=function(e){return e.type===15},$n=function(e){return e.type===17},F=function(e){return e.type===20},er=function(e){return e.type===0},tr=function(e,t){return F(e)&&e.value===t},nr=function(e){return e.type!==31},rr=function(e){return e.type!==31&&e.type!==4},I=function(e){var t=[],n=[];return e.forEach(function(e){if(e.type===4){if(n.length===0)throw Error(`Error parsing function args, zero tokens for arg`);t.push(n),n=[];return}e.type!==31&&n.push(e)}),n.length&&t.push(n),t},ir=function(e,t){return t===11&&e.type===12||t===28&&e.type===29?!0:t===2&&e.type===3},ar=function(e){return e.type===17||e.type===15},L=function(e){return e.type===16||ar(e)},or=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},R={type:17,number:0,flags:ht},sr={type:16,number:50,flags:ht},cr={type:16,number:100,flags:ht},lr=function(e,t,n){var r=e[0],i=e[1];return[z(r,t),z(i===void 0?r:i,n)]},z=function(e,t){if(e.type===16)return e.number/100*t;if(Qn(e))switch(e.unit){case`rem`:case`em`:return 16*e.number;case`px`:default:return e.number}return e.number},ur=`deg`,dr=`grad`,fr=`rad`,pr=`turn`,mr={name:`angle`,parse:function(e,t){if(t.type===15)switch(t.unit){case ur:return Math.PI*t.number/180;case dr:return Math.PI/200*t.number;case fr:return t.number;case pr:return Math.PI*2*t.number}throw Error(`Unsupported angle type`)}},hr=function(e){return e.type===15&&(e.unit===ur||e.unit===dr||e.unit===fr||e.unit===pr)},gr=function(e){switch(e.filter(F).map(function(e){return e.value}).join(` `)){case`to bottom right`:case`to right bottom`:case`left top`:case`top left`:return[R,R];case`to top`:case`bottom`:return B(0);case`to bottom left`:case`to left bottom`:case`right top`:case`top right`:return[R,cr];case`to right`:case`left`:return B(90);case`to top left`:case`to left top`:case`right bottom`:case`bottom right`:return[cr,cr];case`to bottom`:case`top`:return B(180);case`to top right`:case`to right top`:case`left bottom`:case`bottom left`:return[cr,R];case`to left`:case`right`:return B(270)}return 0},B=function(e){return Math.PI*e/180},_r={name:`color`,parse:function(e,t){if(t.type===18){var n=wr[t.name];if(n===void 0)throw Error(`Attempting to parse an unsupported color function "`+t.name+`"`);return n(e,t.values)}if(t.type===5){if(t.value.length===3){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);return yr(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(t.value.length===4){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3),o=t.value.substring(3,4);return yr(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(o+o,16)/255)}if(t.value.length===6){var r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6);return yr(parseInt(r,16),parseInt(i,16),parseInt(a,16),1)}if(t.value.length===8){var r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6),o=t.value.substring(6,8);return yr(parseInt(r,16),parseInt(i,16),parseInt(a,16),parseInt(o,16)/255)}}if(t.type===20){var s=H[t.value.toUpperCase()];if(s!==void 0)return s}return H.TRANSPARENT}},vr=function(e){return(255&e)==0},V=function(e){var t=255&e,n=255&e>>8,r=255&e>>16,i=255&e>>24;return t<255?`rgba(`+i+`,`+r+`,`+n+`,`+t/255+`)`:`rgb(`+i+`,`+r+`,`+n+`)`},yr=function(e,t,n,r){return(e<<24|t<<16|n<<8|Math.round(r*255)<<0)>>>0},br=function(e,t){if(e.type===17)return e.number;if(e.type===16){var n=t===3?1:255;return t===3?e.number/100*n:Math.round(e.number/100*n)}return 0},xr=function(e,t){var n=t.filter(rr);if(n.length===3){var r=n.map(br),i=r[0],a=r[1],o=r[2];return yr(i,a,o,1)}if(n.length===4){var s=n.map(br),i=s[0],a=s[1],o=s[2],c=s[3];return yr(i,a,o,c)}return 0};function Sr(e,t,n){return n<0&&(n+=1),n>=1&&--n,n<1/6?(t-e)*n*6+e:n<1/2?t:n<2/3?(t-e)*6*(2/3-n)+e:e}var Cr=function(e,t){var n=t.filter(rr),r=n[0],i=n[1],a=n[2],o=n[3],s=(r.type===17?B(r.number):mr.parse(e,r))/(Math.PI*2),c=L(i)?i.number/100:0,l=L(a)?a.number/100:0,u=o!==void 0&&L(o)?z(o,1):1;if(c===0)return yr(l*255,l*255,l*255,1);var d=l<=.5?l*(c+1):l+c-l*c,f=l*2-d,p=Sr(f,d,s+1/3),m=Sr(f,d,s),h=Sr(f,d,s-1/3);return yr(p*255,m*255,h*255,u)},wr={hsl:Cr,hsla:Cr,rgb:xr,rgba:xr},Tr=function(e,t){return _r.parse(e,Zn.create(t).parseComponentValue())},H={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},Er={name:`background-clip`,initialValue:`border-box`,prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(F(e))switch(e.value){case`padding-box`:return 1;case`content-box`:return 2}return 0})}},Dr={name:`background-color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`},Or=function(e,t){var n=_r.parse(e,t[0]),r=t[1];return r&&L(r)?{color:n,stop:r}:{color:n,stop:null}},kr=function(e,t){var n=e[0],r=e[e.length-1];n.stop===null&&(n.stop=R),r.stop===null&&(r.stop=cr);for(var i=[],a=0,o=0;oa?i.push(c):i.push(a),a=c}else i.push(null)}for(var l=null,o=0;oe.optimumDistance)?{optimumCorner:t,optimumDistance:s}:e},{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},Nr=function(e,t,n,r,i){var a=0,o=0;switch(e.size){case 0:e.shape===0?a=o=Math.min(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):e.shape===1&&(a=Math.min(Math.abs(t),Math.abs(t-r)),o=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(e.shape===0)a=o=Math.min(U(t,n),U(t,n-i),U(t-r,n),U(t-r,n-i));else if(e.shape===1){var s=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(t),Math.abs(t-r)),c=Mr(r,i,t,n,!0),l=c[0],u=c[1];a=U(l-t,(u-n)/s),o=s*a}break;case 1:e.shape===0?a=o=Math.max(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):e.shape===1&&(a=Math.max(Math.abs(t),Math.abs(t-r)),o=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(e.shape===0)a=o=Math.max(U(t,n),U(t,n-i),U(t-r,n),U(t-r,n-i));else if(e.shape===1){var s=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(t),Math.abs(t-r)),d=Mr(r,i,t,n,!1),l=d[0],u=d[1];a=U(l-t,(u-n)/s),o=s*a}break}return Array.isArray(e.size)&&(a=z(e.size[0],r),o=e.size.length===2?z(e.size[1],i):a),[a,o]},Pr=function(e,t){var n=B(180),r=[];return I(t).forEach(function(t,i){if(i===0){var a=t[0];if(a.type===20&&a.value===`to`){n=gr(t);return}else if(hr(a)){n=mr.parse(e,a);return}}var o=Or(e,t);r.push(o)}),{angle:n,stops:r,type:1}},Fr=function(e,t){var n=B(180),r=[];return I(t).forEach(function(t,i){if(i===0){var a=t[0];if(a.type===20&&[`top`,`left`,`right`,`bottom`].indexOf(a.value)!==-1){n=gr(t);return}else if(hr(a)){n=(mr.parse(e,a)+B(270))%B(360);return}}var o=Or(e,t);r.push(o)}),{angle:n,stops:r,type:1}},Ir=function(e,t){var n=B(180),r=[],i=1;return I(t).forEach(function(t,n){var a=t[0];if(n===0){if(F(a)&&a.value===`linear`){i=1;return}else if(F(a)&&a.value===`radial`){i=2;return}}if(a.type===18){if(a.name===`from`){var o=_r.parse(e,a.values[0]);r.push({stop:R,color:o})}else if(a.name===`to`){var o=_r.parse(e,a.values[0]);r.push({stop:cr,color:o})}else if(a.name===`color-stop`){var s=a.values.filter(rr);if(s.length===2){var o=_r.parse(e,s[1]),c=s[0];$n(c)&&r.push({stop:{type:16,number:c.number*100,flags:c.flags},color:o})}}}}),i===1?{angle:(n+B(180))%B(360),stops:r,type:i}:{size:3,shape:0,stops:r,position:[],type:i}},Lr=`closest-side`,Rr=`farthest-side`,zr=`closest-corner`,Br=`farthest-corner`,Vr=`circle`,Hr=`ellipse`,Ur=`cover`,Wr=`contain`,Gr=function(e,t){var n=0,r=3,i=[],a=[];return I(t).forEach(function(t,o){var s=!0;if(o===0){var c=!1;s=t.reduce(function(e,t){if(c)if(F(t))switch(t.value){case`center`:return a.push(sr),e;case`top`:case`left`:return a.push(R),e;case`right`:case`bottom`:return a.push(cr),e}else (L(t)||ar(t))&&a.push(t);else if(F(t))switch(t.value){case Vr:return n=0,!1;case Hr:return n=1,!1;case`at`:return c=!0,!1;case Lr:return r=0,!1;case Ur:case Rr:return r=1,!1;case Wr:case zr:return r=2,!1;case Br:return r=3,!1}else if(ar(t)||L(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e},s)}if(s){var l=Or(e,t);i.push(l)}}),{size:r,shape:n,stops:i,position:a,type:2}},Kr=function(e,t){var n=0,r=3,i=[],a=[];return I(t).forEach(function(t,o){var s=!0;if(o===0?s=t.reduce(function(e,t){if(F(t))switch(t.value){case`center`:return a.push(sr),!1;case`top`:case`left`:return a.push(R),!1;case`right`:case`bottom`:return a.push(cr),!1}else if(L(t)||ar(t))return a.push(t),!1;return e},s):o===1&&(s=t.reduce(function(e,t){if(F(t))switch(t.value){case Vr:return n=0,!1;case Hr:return n=1,!1;case Wr:case Lr:return r=0,!1;case Rr:return r=1,!1;case zr:return r=2,!1;case Ur:case Br:return r=3,!1}else if(ar(t)||L(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e},s)),s){var c=Or(e,t);i.push(c)}}),{size:r,shape:n,stops:i,position:a,type:2}},qr=function(e){return e.type===1},Jr=function(e){return e.type===2},Yr={name:`image`,parse:function(e,t){if(t.type===22){var n={url:t.value,type:0};return e.cache.addImage(t.value),n}if(t.type===18){var r=Zr[t.name];if(r===void 0)throw Error(`Attempting to parse an unsupported image function "`+t.name+`"`);return r(e,t.values)}throw Error(`Unsupported image type `+t.type)}};function Xr(e){return!(e.type===20&&e.value===`none`)&&(e.type!==18||!!Zr[e.name])}var Zr={"linear-gradient":Pr,"-moz-linear-gradient":Fr,"-ms-linear-gradient":Fr,"-o-linear-gradient":Fr,"-webkit-linear-gradient":Fr,"radial-gradient":Gr,"-moz-radial-gradient":Kr,"-ms-radial-gradient":Kr,"-o-radial-gradient":Kr,"-webkit-radial-gradient":Kr,"-webkit-gradient":Ir},Qr={name:`background-image`,initialValue:`none`,type:1,prefix:!1,parse:function(e,t){if(t.length===0)return[];var n=t[0];return n.type===20&&n.value===`none`?[]:t.filter(function(e){return rr(e)&&Xr(e)}).map(function(t){return Yr.parse(e,t)})}},$r={name:`background-origin`,initialValue:`border-box`,prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(F(e))switch(e.value){case`padding-box`:return 1;case`content-box`:return 2}return 0})}},ei={name:`background-position`,initialValue:`0% 0%`,type:1,prefix:!1,parse:function(e,t){return I(t).map(function(e){return e.filter(L)}).map(or)}},ti={name:`background-repeat`,initialValue:`repeat`,prefix:!1,type:1,parse:function(e,t){return I(t).map(function(e){return e.filter(F).map(function(e){return e.value}).join(` `)}).map(ni)}},ni=function(e){switch(e){case`no-repeat`:return 1;case`repeat-x`:case`repeat no-repeat`:return 2;case`repeat-y`:case`no-repeat repeat`:return 3;case`repeat`:default:return 0}},ri;(function(e){e.AUTO=`auto`,e.CONTAIN=`contain`,e.COVER=`cover`})(ri||={});var ii={name:`background-size`,initialValue:`0`,prefix:!1,type:1,parse:function(e,t){return I(t).map(function(e){return e.filter(ai)})}},ai=function(e){return F(e)||L(e)},oi=function(e){return{name:`border-`+e+`-color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`}},si=oi(`top`),ci=oi(`right`),li=oi(`bottom`),ui=oi(`left`),di=function(e){return{name:`border-radius-`+e,initialValue:`0 0`,prefix:!1,type:1,parse:function(e,t){return or(t.filter(L))}}},fi=di(`top-left`),pi=di(`top-right`),mi=di(`bottom-right`),hi=di(`bottom-left`),gi=function(e){return{name:`border-`+e+`-style`,initialValue:`solid`,prefix:!1,type:2,parse:function(e,t){switch(t){case`none`:return 0;case`dashed`:return 2;case`dotted`:return 3;case`double`:return 4}return 1}}},_i=gi(`top`),vi=gi(`right`),yi=gi(`bottom`),bi=gi(`left`),xi=function(e){return{name:`border-`+e+`-width`,initialValue:`0`,type:0,prefix:!1,parse:function(e,t){return Qn(t)?t.number:0}}},Si=xi(`top`),Ci=xi(`right`),wi=xi(`bottom`),Ti=xi(`left`),Ei={name:`color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`},Di={name:`direction`,initialValue:`ltr`,prefix:!1,type:2,parse:function(e,t){switch(t){case`rtl`:return 1;case`ltr`:default:return 0}}},Oi={name:`display`,initialValue:`inline-block`,prefix:!1,type:1,parse:function(e,t){return t.filter(F).reduce(function(e,t){return e|ki(t.value)},0)}},ki=function(e){switch(e){case`block`:case`-webkit-box`:return 2;case`inline`:return 4;case`run-in`:return 8;case`flow`:return 16;case`flow-root`:return 32;case`table`:return 64;case`flex`:case`-webkit-flex`:return 128;case`grid`:case`-ms-grid`:return 256;case`ruby`:return 512;case`subgrid`:return 1024;case`list-item`:return 2048;case`table-row-group`:return 4096;case`table-header-group`:return 8192;case`table-footer-group`:return 16384;case`table-row`:return 32768;case`table-cell`:return 65536;case`table-column-group`:return 131072;case`table-column`:return 262144;case`table-caption`:return 524288;case`ruby-base`:return 1048576;case`ruby-text`:return 2097152;case`ruby-base-container`:return 4194304;case`ruby-text-container`:return 8388608;case`contents`:return 16777216;case`inline-block`:return 33554432;case`inline-list-item`:return 67108864;case`inline-table`:return 134217728;case`inline-flex`:return 268435456;case`inline-grid`:return 536870912}return 0},Ai={name:`float`,initialValue:`none`,prefix:!1,type:2,parse:function(e,t){switch(t){case`left`:return 1;case`right`:return 2;case`inline-start`:return 3;case`inline-end`:return 4}return 0}},ji={name:`letter-spacing`,initialValue:`0`,prefix:!1,type:0,parse:function(e,t){return t.type===20&&t.value===`normal`?0:t.type===17||t.type===15?t.number:0}},Mi;(function(e){e.NORMAL=`normal`,e.STRICT=`strict`})(Mi||={});var Ni={name:`line-break`,initialValue:`normal`,prefix:!1,type:2,parse:function(e,t){switch(t){case`strict`:return Mi.STRICT;case`normal`:default:return Mi.NORMAL}}},Pi={name:`line-height`,initialValue:`normal`,prefix:!1,type:4},Fi=function(e,t){return F(e)&&e.value===`normal`?1.2*t:e.type===17?t*e.number:L(e)?z(e,t):t},Ii={name:`list-style-image`,initialValue:`none`,type:0,prefix:!1,parse:function(e,t){return t.type===20&&t.value===`none`?null:Yr.parse(e,t)}},Li={name:`list-style-position`,initialValue:`outside`,prefix:!1,type:2,parse:function(e,t){switch(t){case`inside`:return 0;case`outside`:default:return 1}}},Ri={name:`list-style-type`,initialValue:`none`,prefix:!1,type:2,parse:function(e,t){switch(t){case`disc`:return 0;case`circle`:return 1;case`square`:return 2;case`decimal`:return 3;case`cjk-decimal`:return 4;case`decimal-leading-zero`:return 5;case`lower-roman`:return 6;case`upper-roman`:return 7;case`lower-greek`:return 8;case`lower-alpha`:return 9;case`upper-alpha`:return 10;case`arabic-indic`:return 11;case`armenian`:return 12;case`bengali`:return 13;case`cambodian`:return 14;case`cjk-earthly-branch`:return 15;case`cjk-heavenly-stem`:return 16;case`cjk-ideographic`:return 17;case`devanagari`:return 18;case`ethiopic-numeric`:return 19;case`georgian`:return 20;case`gujarati`:return 21;case`gurmukhi`:return 22;case`hebrew`:return 22;case`hiragana`:return 23;case`hiragana-iroha`:return 24;case`japanese-formal`:return 25;case`japanese-informal`:return 26;case`kannada`:return 27;case`katakana`:return 28;case`katakana-iroha`:return 29;case`khmer`:return 30;case`korean-hangul-formal`:return 31;case`korean-hanja-formal`:return 32;case`korean-hanja-informal`:return 33;case`lao`:return 34;case`lower-armenian`:return 35;case`malayalam`:return 36;case`mongolian`:return 37;case`myanmar`:return 38;case`oriya`:return 39;case`persian`:return 40;case`simp-chinese-formal`:return 41;case`simp-chinese-informal`:return 42;case`tamil`:return 43;case`telugu`:return 44;case`thai`:return 45;case`tibetan`:return 46;case`trad-chinese-formal`:return 47;case`trad-chinese-informal`:return 48;case`upper-armenian`:return 49;case`disclosure-open`:return 50;case`disclosure-closed`:return 51;case`none`:default:return-1}}},zi=function(e){return{name:`margin-`+e,initialValue:`0`,prefix:!1,type:4}},Bi=zi(`top`),Vi=zi(`right`),Hi=zi(`bottom`),Ui=zi(`left`),Wi={name:`overflow`,initialValue:`visible`,prefix:!1,type:1,parse:function(e,t){return t.filter(F).map(function(e){switch(e.value){case`hidden`:return 1;case`scroll`:return 2;case`clip`:return 3;case`auto`:return 4;case`visible`:default:return 0}})}},Gi={name:`overflow-wrap`,initialValue:`normal`,prefix:!1,type:2,parse:function(e,t){switch(t){case`break-word`:return`break-word`;case`normal`:default:return`normal`}}},Ki=function(e){return{name:`padding-`+e,initialValue:`0`,prefix:!1,type:3,format:`length-percentage`}},qi=Ki(`top`),Ji=Ki(`right`),Yi=Ki(`bottom`),Xi=Ki(`left`),Zi={name:`text-align`,initialValue:`left`,prefix:!1,type:2,parse:function(e,t){switch(t){case`right`:return 2;case`center`:case`justify`:return 1;case`left`:default:return 0}}},Qi={name:`position`,initialValue:`static`,prefix:!1,type:2,parse:function(e,t){switch(t){case`relative`:return 1;case`absolute`:return 2;case`fixed`:return 3;case`sticky`:return 4}return 0}},$i={name:`text-shadow`,initialValue:`none`,type:1,prefix:!1,parse:function(e,t){return t.length===1&&tr(t[0],`none`)?[]:I(t).map(function(t){for(var n={color:H.TRANSPARENT,offsetX:R,offsetY:R,blur:R},r=0,i=0;i1?1:0],this.overflowWrap=G(e,Gi,t.overflowWrap),this.paddingTop=G(e,qi,t.paddingTop),this.paddingRight=G(e,Ji,t.paddingRight),this.paddingBottom=G(e,Yi,t.paddingBottom),this.paddingLeft=G(e,Xi,t.paddingLeft),this.paintOrder=G(e,Ea,t.paintOrder),this.position=G(e,Qi,t.position),this.textAlign=G(e,Zi,t.textAlign),this.textDecorationColor=G(e,fa,t.textDecorationColor??t.color),this.textDecorationLine=G(e,pa,t.textDecorationLine??t.textDecoration),this.textShadow=G(e,$i,t.textShadow),this.textTransform=G(e,ea,t.textTransform),this.transform=G(e,ta,t.transform),this.transformOrigin=G(e,aa,t.transformOrigin),this.visibility=G(e,oa,t.visibility),this.webkitTextStrokeColor=G(e,Da,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=G(e,Oa,t.webkitTextStrokeWidth),this.wordBreak=G(e,ca,t.wordBreak),this.zIndex=G(e,la,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},e.prototype.isTransparent=function(){return vr(this.backgroundColor)},e.prototype.isTransformed=function(){return this.transform!==null},e.prototype.isPositioned=function(){return this.position!==0},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return this.float!==0},e.prototype.isInlineLevel=function(){return W(this.display,4)||W(this.display,33554432)||W(this.display,268435456)||W(this.display,536870912)||W(this.display,67108864)||W(this.display,134217728)},e}(),Aa=function(){function e(e,t){this.content=G(e,ya,t.content),this.quotes=G(e,Ca,t.quotes)}return e}(),ja=function(){function e(e,t){this.counterIncrement=G(e,ba,t.counterIncrement),this.counterReset=G(e,xa,t.counterReset)}return e}(),G=function(e,t,n){var r=new Xn,i=n==null?t.initialValue:n.toString();r.write(i);var a=new Zn(r.read());switch(t.type){case 2:var o=a.parseComponentValue();return t.parse(e,F(o)?o.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case`angle`:return mr.parse(e,a.parseComponentValue());case`color`:return _r.parse(e,a.parseComponentValue());case`image`:return Yr.parse(e,a.parseComponentValue());case`length`:var s=a.parseComponentValue();return ar(s)?s:R;case`length-percentage`:var c=a.parseComponentValue();return L(c)?c:R;case`time`:return ua.parse(e,a.parseComponentValue())}break}},Ma=`data-html2canvas-debug`,Na=function(e){switch(e.getAttribute(Ma)){case`all`:return 1;case`clone`:return 2;case`parse`:return 3;case`render`:return 4;default:return 0}},Pa=function(e,t){var n=Na(e);return n===1||t===n},K=function(){function e(e,t){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Pa(t,3))debugger;this.styles=new ka(e,window.getComputedStyle(t,null)),xs(t)&&(this.styles.animationDuration.some(function(e){return e>0})&&(t.style.animationDuration=`0s`),this.styles.transform!==null&&(t.style.transform=`none`)),this.bounds=s(this.context,t),Pa(t,4)&&(this.flags|=16)}return e}(),Fa=`AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=`,Ia=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,La=typeof Uint8Array>`u`?[]:new Uint8Array(256),Ra=0;Ra>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},Ba=function(e){for(var t=e.length,n=[],r=0;r>Ha,qa=(1<>Ha)+32,Ya=65536>>Ua,Xa=(1<=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>Ha],t=(t<>Ha)],t=(t<>Ua),t=this.index[t],t+=e>>Ha&Xa,t=this.index[t],t=(t<`u`?[]:new Uint8Array(256),ro=0;ro=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(r+1===t||n.length>16384)&&(i+=String.fromCharCode.apply(String,n),n.length=0)}return i},xo=$a(Fa),So=`×`,Co=`÷`,wo=function(e){return xo.get(e)},To=function(e,t,n){var r=n-2,i=t[r],a=t[n-1],o=t[n];if(a===ao&&o===oo)return So;if(a===ao||a===oo||a===so||o===ao||o===oo||o===so)return Co;if(a===uo&&[uo,fo,mo,ho].indexOf(o)!==-1||(a===mo||a===fo)&&(o===fo||o===po)||(a===ho||a===po)&&o===po||o===go||o===co||o===lo||a===io)return So;if(a===go&&o===_o){for(;i===co;)i=t[--r];if(i===_o)return So}if(a===vo&&o===vo){for(var s=0;i===vo;)s++,i=t[--r];if(s%2==0)return So}return Co},Eo=function(e){var t=yo(e),n=t.length,r=0,i=0,a=t.map(wo);return{next:function(){if(r>=n)return{done:!0,value:null};for(var e=So;ro.x||i.y>o.y;return o=i,t===0?!0:s});return e.body.removeChild(t),s},Ao=function(){return new Image().crossOrigin!==void 0},jo=function(){return typeof new XMLHttpRequest().responseType==`string`},Mo=function(e){var t=new Image,n=e.createElement(`canvas`),r=n.getContext(`2d`);if(!r)return!1;t.src=`data:image/svg+xml,`;try{r.drawImage(t,0,0),n.toDataURL()}catch{return!1}return!0},No=function(e){return e[0]===0&&e[1]===255&&e[2]===0&&e[3]===255},Po=function(e){var t=e.createElement(`canvas`),n=100;t.width=n,t.height=n;var r=t.getContext(`2d`);if(!r)return Promise.reject(!1);r.fillStyle=`rgb(0, 255, 0)`,r.fillRect(0,0,n,n);var i=new Image,a=t.toDataURL();i.src=a;var o=Fo(n,n,0,0,i);return r.fillStyle=`red`,r.fillRect(0,0,n,n),Io(o).then(function(t){r.drawImage(t,0,0);var i=r.getImageData(0,0,n,n).data;r.fillStyle=`red`,r.fillRect(0,0,n,n);var o=e.createElement(`div`);return o.style.backgroundImage=`url(`+a+`)`,o.style.height=n+`px`,No(i)?Io(Fo(n,n,0,0,o)):Promise.reject(!1)}).then(function(e){return r.drawImage(e,0,0),No(r.getImageData(0,0,n,n).data)}).catch(function(){return!1})},Fo=function(e,t,n,r,i){var a=`http://www.w3.org/2000/svg`,o=document.createElementNS(a,`svg`),s=document.createElementNS(a,`foreignObject`);return o.setAttributeNS(null,`width`,e.toString()),o.setAttributeNS(null,`height`,t.toString()),s.setAttributeNS(null,`width`,`100%`),s.setAttributeNS(null,`height`,`100%`),s.setAttributeNS(null,`x`,n.toString()),s.setAttributeNS(null,`y`,r.toString()),s.setAttributeNS(null,`externalResourcesRequired`,`true`),o.appendChild(s),s.appendChild(i),o},Io=function(e){return new Promise(function(t,n){var r=new Image;r.onload=function(){return t(r)},r.onerror=n,r.src=`data:image/svg+xml;charset=utf-8,`+encodeURIComponent(new XMLSerializer().serializeToString(e))})},q={get SUPPORT_RANGE_BOUNDS(){var e=Oo(document);return Object.defineProperty(q,`SUPPORT_RANGE_BOUNDS`,{value:e}),e},get SUPPORT_WORD_BREAKING(){var e=q.SUPPORT_RANGE_BOUNDS&&ko(document);return Object.defineProperty(q,`SUPPORT_WORD_BREAKING`,{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=Mo(document);return Object.defineProperty(q,`SUPPORT_SVG_DRAWING`,{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e=typeof Array.from==`function`&&typeof window.fetch==`function`?Po(document):Promise.resolve(!1);return Object.defineProperty(q,`SUPPORT_FOREIGNOBJECT_DRAWING`,{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=Ao();return Object.defineProperty(q,`SUPPORT_CORS_IMAGES`,{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e=jo();return Object.defineProperty(q,`SUPPORT_RESPONSE_TYPE`,{value:e}),e},get SUPPORT_CORS_XHR(){var e=`withCredentials`in new XMLHttpRequest;return Object.defineProperty(q,`SUPPORT_CORS_XHR`,{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!!(typeof Intl<`u`&&Intl.Segmenter);return Object.defineProperty(q,`SUPPORT_NATIVE_TEXT_SEGMENTATION`,{value:e}),e}},Lo=function(){function e(e,t){this.text=e,this.bounds=t}return e}(),Ro=function(e,t,n,r){var i=Uo(t,n),a=[],s=0;return i.forEach(function(t){if(n.textDecorationLine.length||t.trim().length>0)if(q.SUPPORT_RANGE_BOUNDS){var i=Bo(r,s,t.length).getClientRects();if(i.length>1){var c=Vo(t),l=0;c.forEach(function(t){a.push(new Lo(t,o.fromDOMRectList(e,Bo(r,l+s,t.length).getClientRects()))),l+=t.length})}else a.push(new Lo(t,o.fromDOMRectList(e,i)))}else{var u=r.splitText(t.length);a.push(new Lo(t,zo(e,r))),r=u}else q.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length}),a},zo=function(e,t){var n=t.ownerDocument;if(n){var r=n.createElement(`html2canvaswrapper`);r.appendChild(t.cloneNode(!0));var i=t.parentNode;if(i){i.replaceChild(r,t);var a=s(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),a}}return o.EMPTY},Bo=function(e,t,n){var r=e.ownerDocument;if(!r)throw Error(`Node has no owner document`);var i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},Vo=function(e){if(q.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:`grapheme`});return Array.from(t.segment(e)).map(function(e){return e.segment})}return Do(e)},Ho=function(e,t){if(q.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:`word`});return Array.from(n.segment(e)).map(function(e){return e.segment})}return Go(e,t)},Uo=function(e,t){return t.letterSpacing===0?Ho(e,t):Vo(e)},Wo=[32,160,4961,65792,65793,4153,4241],Go=function(e,t){for(var n=ft(e,{lineBreak:t.lineBreak,wordBreak:t.overflowWrap===`break-word`?`break-word`:t.wordBreak}),r=[],i,a=function(){if(i.value){var e=l(i.value.slice()),t=``;e.forEach(function(e){Wo.indexOf(e)===-1?t+=u(e):(t.length&&r.push(t),r.push(u(e)),t=``)}),t.length&&r.push(t)}};!(i=n.next()).done;)a();return r},Ko=function(){function e(e,t,n){this.text=qo(t.data,n.textTransform),this.textBounds=Ro(e,this.text,n,t)}return e}(),qo=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(Jo,Yo);case 2:return e.toUpperCase();default:return e}},Jo=/(^|\s|:|-|\(|\))([a-z])/g,Yo=function(e,t,n){return e.length>0?t+n.toUpperCase():e},Xo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.src=n.currentSrc||n.src,r.intrinsicWidth=n.naturalWidth,r.intrinsicHeight=n.naturalHeight,r.context.cache.addImage(r.src),r}return n}(K),Zo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.canvas=n,r.intrinsicWidth=n.width,r.intrinsicHeight=n.height,r}return n}(K),Qo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this,i=new XMLSerializer,a=s(t,n);return n.setAttribute(`width`,a.width+`px`),n.setAttribute(`height`,a.height+`px`),r.svg=`data:image/svg+xml,`+encodeURIComponent(i.serializeToString(n)),r.intrinsicWidth=n.width.baseVal.value,r.intrinsicHeight=n.height.baseVal.value,r.context.cache.addImage(r.svg),r}return n}(K),$o=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.value=n.value,r}return n}(K),es=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.start=n.start,r.reversed=typeof n.reversed==`boolean`&&n.reversed===!0,r}return n}(K),ts=[{type:15,flags:0,unit:`px`,number:3}],ns=[{type:16,flags:0,number:50}],rs=function(e){return e.width>e.height?new o(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width0)n.textNodes.push(new Ko(e,i,n.styles));else if(bs(i))if(Ls(i)&&i.assignedNodes)i.assignedNodes().forEach(function(t){return ms(e,t,n,r)});else{var o=hs(e,i);o.styles.isVisible()&&(_s(i,o,r)?o.flags|=4:vs(o.styles)&&(o.flags|=2),ps.indexOf(i.tagName)!==-1&&(o.flags|=8),n.elements.push(o),i.slot,i.shadowRoot?ms(e,i.shadowRoot,o,r):!Fs(i)&&!Ds(i)&&!Is(i)&&ms(e,i,o,r))}},hs=function(e,t){return js(t)?new Xo(e,t):ks(t)?new Zo(e,t):Ds(t)?new Qo(e,t):Cs(t)?new $o(e,t):ws(t)?new es(e,t):Ts(t)?new ls(e,t):Is(t)?new us(e,t):Fs(t)?new ds(e,t):Ms(t)?new fs(e,t):new K(e,t)},gs=function(e,t){var n=hs(e,t);return n.flags|=4,ms(e,t,n,n),n},_s=function(e,t,n){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Os(e)&&n.styles.isTransparent()},vs=function(e){return e.isPositioned()||e.isFloating()},ys=function(e){return e.nodeType===Node.TEXT_NODE},bs=function(e){return e.nodeType===Node.ELEMENT_NODE},xs=function(e){return bs(e)&&e.style!==void 0&&!Ss(e)},Ss=function(e){return typeof e.className==`object`},Cs=function(e){return e.tagName===`LI`},ws=function(e){return e.tagName===`OL`},Ts=function(e){return e.tagName===`INPUT`},Es=function(e){return e.tagName===`HTML`},Ds=function(e){return e.tagName===`svg`},Os=function(e){return e.tagName===`BODY`},ks=function(e){return e.tagName===`CANVAS`},As=function(e){return e.tagName===`VIDEO`},js=function(e){return e.tagName===`IMG`},Ms=function(e){return e.tagName===`IFRAME`},Ns=function(e){return e.tagName===`STYLE`},Ps=function(e){return e.tagName===`SCRIPT`},Fs=function(e){return e.tagName===`TEXTAREA`},Is=function(e){return e.tagName===`SELECT`},Ls=function(e){return e.tagName===`SLOT`},Rs=function(e){return e.tagName.indexOf(`-`)>0},zs=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var t=this;e.forEach(function(e){return t.counters[e].pop()})},e.prototype.parse=function(e){var t=this,n=e.counterIncrement,r=e.counterReset,i=!0;n!==null&&n.forEach(function(e){var n=t.counters[e.counter];n&&e.increment!==0&&(i=!1,n.length||n.push(1),n[Math.max(0,n.length-1)]+=e.increment)});var a=[];return i&&r.forEach(function(e){var n=t.counters[e.counter];a.push(e.counter),n||=t.counters[e.counter]=[],n.push(e.reset)}),a},e}(),Bs={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:[`M`,`CM`,`D`,`CD`,`C`,`XC`,`L`,`XL`,`X`,`IX`,`V`,`IV`,`I`]},Vs={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:`Ք.Փ.Ւ.Ց.Ր.Տ.Վ.Ս.Ռ.Ջ.Պ.Չ.Ո.Շ.Ն.Յ.Մ.Ճ.Ղ.Ձ.Հ.Կ.Ծ.Խ.Լ.Ի.Ժ.Թ.Ը.Է.Զ.Ե.Դ.Գ.Բ.Ա`.split(`.`)},Hs={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:`י׳.ט׳.ח׳.ז׳.ו׳.ה׳.ד׳.ג׳.ב׳.א׳.ת.ש.ר.ק.צ.פ.ע.ס.נ.מ.ל.כ.יט.יח.יז.טז.טו.י.ט.ח.ז.ו.ה.ד.ג.ב.א`.split(`.`)},Us={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:`ჵ.ჰ.ჯ.ჴ.ხ.ჭ.წ.ძ.ც.ჩ.შ.ყ.ღ.ქ.ფ.ჳ.ტ.ს.რ.ჟ.პ.ო.ჲ.ნ.მ.ლ.კ.ი.თ.ჱ.ზ.ვ.ე.დ.გ.ბ.ა`.split(`.`)},Ws=function(e,t,n,r,i,a){return en?nc(e,i,a.length>0):r.integers.reduce(function(t,n,i){for(;e>=n;)e-=n,t+=r.values[i];return t},``)+a},Gs=function(e,t,n,r){var i=``;do n||e--,i=r(e)+i,e/=t;while(e*t>=t);return i},J=function(e,t,n,r,i){var a=n-t+1;return(e<0?`-`:``)+(Gs(Math.abs(e),a,r,function(e){return u(Math.floor(e%a)+t)})+i)},Ks=function(e,t,n){n===void 0&&(n=`. `);var r=t.length;return Gs(Math.abs(e),r,!1,function(e){return t[Math.floor(e%r)]})+n},qs=1,Js=2,Ys=4,Xs=8,Zs=function(e,t,n,r,i,a){if(e<-9999||e>9999)return nc(e,4,i.length>0);var o=Math.abs(e),s=i;if(o===0)return t[0]+s;for(var c=0;o>0&&c<=4;c++){var l=o%10;l===0&&W(a,qs)&&s!==``?s=t[l]+s:l>1||l===1&&c===0||l===1&&c===1&&W(a,Js)||l===1&&c===1&&W(a,Ys)&&e>100||l===1&&c>1&&W(a,Xs)?s=t[l]+(c>0?n[c-1]:``)+s:l===1&&c>0&&(s=n[c-1]+s),o=Math.floor(o/10)}return(e<0?r:``)+s},Qs=`十百千萬`,$s=`拾佰仟萬`,ec=`マイナス`,tc=`마이너스`,nc=function(e,t,n){var r=n?`. `:``,i=n?`、`:``,a=n?`, `:``,o=n?` `:``;switch(t){case 0:return`•`+o;case 1:return`◦`+o;case 2:return`◾`+o;case 5:var s=J(e,48,57,!0,r);return s.length<4?`0`+s:s;case 4:return Ks(e,`〇一二三四五六七八九`,i);case 6:return Ws(e,1,3999,Bs,3,r).toLowerCase();case 7:return Ws(e,1,3999,Bs,3,r);case 8:return J(e,945,969,!1,r);case 9:return J(e,97,122,!1,r);case 10:return J(e,65,90,!1,r);case 11:return J(e,1632,1641,!0,r);case 12:case 49:return Ws(e,1,9999,Vs,3,r);case 35:return Ws(e,1,9999,Vs,3,r).toLowerCase();case 13:return J(e,2534,2543,!0,r);case 14:case 30:return J(e,6112,6121,!0,r);case 15:return Ks(e,`子丑寅卯辰巳午未申酉戌亥`,i);case 16:return Ks(e,`甲乙丙丁戊己庚辛壬癸`,i);case 17:case 48:return Zs(e,`零一二三四五六七八九`,Qs,`負`,i,Js|Ys|Xs);case 47:return Zs(e,`零壹貳參肆伍陸柒捌玖`,$s,`負`,i,qs|Js|Ys|Xs);case 42:return Zs(e,`零一二三四五六七八九`,Qs,`负`,i,Js|Ys|Xs);case 41:return Zs(e,`零壹贰叁肆伍陆柒捌玖`,$s,`负`,i,qs|Js|Ys|Xs);case 26:return Zs(e,`〇一二三四五六七八九`,`十百千万`,ec,i,0);case 25:return Zs(e,`零壱弐参四伍六七八九`,`拾百千万`,ec,i,qs|Js|Ys);case 31:return Zs(e,`영일이삼사오육칠팔구`,`십백천만`,tc,a,qs|Js|Ys);case 33:return Zs(e,`零一二三四五六七八九`,`十百千萬`,tc,a,0);case 32:return Zs(e,`零壹貳參四五六七八九`,`拾百千`,tc,a,qs|Js|Ys);case 18:return J(e,2406,2415,!0,r);case 20:return Ws(e,1,19999,Us,3,r);case 21:return J(e,2790,2799,!0,r);case 22:return J(e,2662,2671,!0,r);case 22:return Ws(e,1,10999,Hs,3,r);case 23:return Ks(e,`あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん`);case 24:return Ks(e,`いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす`);case 27:return J(e,3302,3311,!0,r);case 28:return Ks(e,`アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン`,i);case 29:return Ks(e,`イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス`,i);case 34:return J(e,3792,3801,!0,r);case 37:return J(e,6160,6169,!0,r);case 38:return J(e,4160,4169,!0,r);case 39:return J(e,2918,2927,!0,r);case 40:return J(e,1776,1785,!0,r);case 43:return J(e,3046,3055,!0,r);case 44:return J(e,3174,3183,!0,r);case 45:return J(e,3664,3673,!0,r);case 46:return J(e,3872,3881,!0,r);case 3:default:return J(e,48,57,!0,r)}},rc=`data-html2canvas-ignore`,ic=function(){function e(e,t,n){if(this.context=e,this.options=n,this.scrolledElements=[],this.referenceElement=t,this.counters=new zs,this.quoteDepth=0,!t.ownerDocument)throw Error(`Cloned element does not have an owner document`);this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var n=this,a=oc(e,t);if(!a.contentWindow)return Promise.reject(`Unable to find iframe window`);var o=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,c=a.contentWindow,l=c.document,u=lc(a).then(function(){return r(n,void 0,void 0,function(){var e,n;return i(this,function(r){switch(r.label){case 0:return this.scrolledElements.forEach(mc),c&&(c.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(c.scrollY!==t.top||c.scrollX!==t.left)&&(this.context.logger.warn(`Unable to restore scroll position for cloned document`),this.context.windowBounds=this.context.windowBounds.add(c.scrollX-t.left,c.scrollY-t.top,0,0))),e=this.options.onclone,n=this.clonedReferenceElement,n===void 0?[2,Promise.reject(`Error finding the `+this.referenceElement.nodeName+` in the cloned document`)]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,cc(l)]:[3,4];case 3:r.sent(),r.label=4;case 4:return typeof e==`function`?[2,Promise.resolve().then(function(){return e(l,n)}).then(function(){return a})]:[2,a]}})})});return l.open(),l.write(fc(document.doctype)+``),pc(this.referenceElement.ownerDocument,o,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),u},e.prototype.createElementClone=function(e){if(Pa(e,2))debugger;if(ks(e))return this.createCanvasClone(e);if(As(e))return this.createVideoClone(e);if(Ns(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return js(t)&&(js(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=``),t.loading===`lazy`&&(t.loading=`eager`)),Rs(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement(`html2canvascustomelement`);return dc(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var n=[].slice.call(t.cssRules,0).reduce(function(e,t){return t&&typeof t.cssText==`string`?e+t.cssText:e},``),r=e.cloneNode(!1);return r.textContent=n,r}}catch(e){if(this.context.logger.error(`Unable to access cssRules property`,e),e.name!==`SecurityError`)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement(`img`);try{return t.src=e.toDataURL(),t}catch{this.context.logger.info(`Unable to inline canvas contents, canvas is tainted`,e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var r=e.getContext(`2d`),i=n.getContext(`2d`);if(i)if(!this.options.allowTaint&&r)i.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var a=e.getContext(`webgl2`)??e.getContext(`webgl`);a&&a.getContextAttributes()?.preserveDrawingBuffer===!1&&this.context.logger.warn(`Unable to clone WebGL context as it has preserveDrawingBuffer=false`,e),i.drawImage(e,0,0)}return n}catch{this.context.logger.info(`Unable to clone canvas as it is tainted`,e)}return n},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement(`canvas`);t.width=e.offsetWidth,t.height=e.offsetHeight;var n=t.getContext(`2d`);try{return n&&(n.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||n.getImageData(0,0,t.width,t.height)),t}catch{this.context.logger.info(`Unable to clone video as it is tainted`,e)}var r=e.ownerDocument.createElement(`canvas`);return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,t,n){(!bs(t)||!Ps(t)&&!t.hasAttribute(rc)&&(typeof this.options.ignoreElements!=`function`||!this.options.ignoreElements(t)))&&(!this.options.copyStyles||!bs(t)||!Ns(t))&&e.appendChild(this.cloneNode(t,n))},e.prototype.cloneChildNodes=function(e,t,n){for(var r=this,i=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;i;i=i.nextSibling)if(bs(i)&&Ls(i)&&typeof i.assignedNodes==`function`){var a=i.assignedNodes();a.length&&a.forEach(function(e){return r.appendChildNode(t,e,n)})}else this.appendChildNode(t,i,n)},e.prototype.cloneNode=function(e,t){if(ys(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&bs(e)&&(xs(e)||Ss(e))){var r=this.createElementClone(e);r.style.transitionProperty=`none`;var i=n.getComputedStyle(e),a=n.getComputedStyle(e,`:before`),o=n.getComputedStyle(e,`:after`);this.referenceElement===e&&xs(r)&&(this.clonedReferenceElement=r),Os(r)&&bc(r);var s=this.counters.parse(new ja(this.context,i)),c=this.resolvePseudoContent(e,r,a,ac.BEFORE);Rs(e)&&(t=!0),As(e)||this.cloneChildNodes(e,r,t),c&&r.insertBefore(c,r.firstChild);var l=this.resolvePseudoContent(e,r,o,ac.AFTER);return l&&r.appendChild(l),this.counters.pop(s),(i&&(this.options.copyStyles||Ss(e))&&!Ms(e)||t)&&dc(i,r),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(Fs(e)||Is(e))&&(Fs(r)||Is(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,n,r){var i=this;if(n){var a=n.content,o=t.ownerDocument;if(!(!o||!a||a===`none`||a===`-moz-alt-content`||n.display===`none`)){this.counters.parse(new ja(this.context,n));var s=new Aa(this.context,n),c=o.createElement(`html2canvaspseudoelement`);dc(n,c),s.content.forEach(function(t){if(t.type===0)c.appendChild(o.createTextNode(t.value));else if(t.type===22){var n=o.createElement(`img`);n.src=t.value,n.style.opacity=`1`,c.appendChild(n)}else if(t.type===18){if(t.name===`attr`){var r=t.values.filter(F);r.length&&c.appendChild(o.createTextNode(e.getAttribute(r[0].value)||``))}else if(t.name===`counter`){var a=t.values.filter(rr),l=a[0],u=a[1];if(l&&F(l)){var d=i.counters.getCounterValue(l.value),f=u&&F(u)?Ri.parse(i.context,u.value):3;c.appendChild(o.createTextNode(nc(d,f,!1)))}}else if(t.name===`counters`){var p=t.values.filter(rr),l=p[0],m=p[1],u=p[2];if(l&&F(l)){var h=i.counters.getCounterValues(l.value),g=u&&F(u)?Ri.parse(i.context,u.value):3,_=m&&m.type===0?m.value:``,v=h.map(function(e){return nc(e,g,!1)}).join(_);c.appendChild(o.createTextNode(v))}}}else if(t.type===20)switch(t.value){case`open-quote`:c.appendChild(o.createTextNode(wa(s.quotes,i.quoteDepth++,!0)));break;case`close-quote`:c.appendChild(o.createTextNode(wa(s.quotes,--i.quoteDepth,!1)));break;default:c.appendChild(o.createTextNode(t.value))}}),c.className=_c+` `+vc;var l=r===ac.BEFORE?` `+_c:` `+vc;return Ss(t)?t.className.baseValue+=l:t.className+=l,c}}},e.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},e}(),ac;(function(e){e[e.BEFORE=0]=`BEFORE`,e[e.AFTER=1]=`AFTER`})(ac||={});var oc=function(e,t){var n=e.createElement(`iframe`);return n.className=`html2canvas-container`,n.style.visibility=`hidden`,n.style.position=`fixed`,n.style.left=`-10000px`,n.style.top=`0px`,n.style.border=`0`,n.width=t.width.toString(),n.height=t.height.toString(),n.scrolling=`no`,n.setAttribute(rc,`true`),e.body.appendChild(n),n},sc=function(e){return new Promise(function(t){if(e.complete){t();return}if(!e.src){t();return}e.onload=t,e.onerror=t})},cc=function(e){return Promise.all([].slice.call(e.images,0).map(sc))},lc=function(e){return new Promise(function(t,n){var r=e.contentWindow;if(!r)return n(`No window assigned for iframe`);var i=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval(function(){i.body.childNodes.length>0&&i.readyState===`complete`&&(clearInterval(n),t(e))},50)}})},uc=[`all`,`d`,`content`],dc=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e.item(n);uc.indexOf(r)===-1&&t.style.setProperty(r,e.getPropertyValue(r))}return t},fc=function(e){var t=``;return e&&(t+=``),t},pc=function(e,t,n){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||n!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,n)},mc=function(e){var t=e[0],n=e[1],r=e[2];t.scrollLeft=n,t.scrollTop=r},hc=`:before`,gc=`:after`,_c=`___html2canvas___pseudoelement_before`,vc=`___html2canvas___pseudoelement_after`,yc=`{ +import{ci as e}from"./index-DtFxxvye.js";var t=e(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.html2canvas=r())})(e,(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};function t(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}var n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&a[a.length-1]))&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(r+1===t||n.length>16384)&&(i+=String.fromCharCode.apply(String,n),n.length=0)}return i},d=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,f=typeof Uint8Array>`u`?[]:new Uint8Array(256),p=0;p`u`?[]:new Uint8Array(256),g=0;g>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},v=function(e){for(var t=e.length,n=[],r=0;r>b,T=(1<>b)+32,D=65536>>x,O=(1<=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>b],t=(t<>b)],t=(t<>x),t=this.index[t],t+=e>>b&O,t=this.index[t],t=(t<`u`?[]:new Uint8Array(256),oe=0;oece?(i.push(!0),o-=ce):i.push(!1),[`normal`,`auto`,`loose`].indexOf(t)!==-1&&[8208,8211,12316,12448].indexOf(e)!==-1)return r.push(a),n.push(Ce);if(o===fe||o===ve){if(a===0)return r.push(a),n.push(Ie);var s=n[a-1];return rt.indexOf(s)===-1?(r.push(r[a-1]),n.push(s)):(r.push(a),n.push(Ie))}if(r.push(a),o===Le)return n.push(t===`strict`?Oe:Ue);if(o===Je||o===Fe)return n.push(Ie);if(o===Ye)return e>=131072&&e<=196605||e>=196608&&e<=262141?n.push(Ue):n.push(Ie);n.push(o)}),[r,n,i]},st=function(e,t,n,r){var i=r[n];if(Array.isArray(e)?e.indexOf(i)!==-1:e===i)for(var a=n;a<=r.length;){a++;var o=r[a];if(o===t)return!0;if(o!==_e)break}if(i===_e)for(var a=n;a>0;){a--;var s=r[a];if(Array.isArray(e)?e.indexOf(s)!==-1:e===s)for(var c=n;c<=r.length;){c++;var o=r[c];if(o===t)return!0;if(o!==_e)break}if(s!==_e)break}return!1},ct=function(e,t){for(var n=e;n>=0;){var r=t[n];if(r===_e)n--;else return r}return 0},lt=function(e,t,n,r,i){if(n[r]===0)return A;var a=r-1;if(Array.isArray(i)&&i[a]===!0)return A;var o=a-1,s=a+1,c=t[a],l=o>=0?t[o]:0,u=t[s];if(c===ue&&u===de)return A;if(et.indexOf(c)!==-1)return Ze;if(et.indexOf(u)!==-1||tt.indexOf(u)!==-1)return A;if(ct(a,t)===he)return Qe;if($e.get(e[a])===ve||(c===Re||c===ze)&&$e.get(e[s])===ve||c===me||u===me||c===ge||[_e,be,Se].indexOf(c)===-1&&u===ge||[we,Te,Ee,je,Pe].indexOf(u)!==-1||ct(a,t)===ke||st(Ae,ke,a,t)||st([we,Te],Oe,a,t)||st(ye,ye,a,t))return A;if(c===_e)return Qe;if(c===Ae||u===Ae)return A;if(u===Ce||c===Ce)return Qe;if([be,Se,Oe].indexOf(u)!==-1||c===xe||l===He&&at.indexOf(c)!==-1||c===Pe&&u===He||u===De||j.indexOf(u)!==-1&&c===k||j.indexOf(c)!==-1&&u===k||c===Ne&&[Ue,Re,ze].indexOf(u)!==-1||[Ue,Re,ze].indexOf(c)!==-1&&u===Me||j.indexOf(c)!==-1&&nt.indexOf(u)!==-1||nt.indexOf(c)!==-1&&j.indexOf(u)!==-1||[Ne,Me].indexOf(c)!==-1&&(u===k||[ke,Se].indexOf(u)!==-1&&t[s+1]===k)||[ke,Se].indexOf(c)!==-1&&u===k||c===k&&[k,Pe,je].indexOf(u)!==-1)return A;if([k,Pe,je,we,Te].indexOf(u)!==-1)for(var d=a;d>=0;){var f=t[d];if(f===k)return A;if([Pe,je].indexOf(f)!==-1)d--;else break}if([Ne,Me].indexOf(u)!==-1)for(var d=[we,Te].indexOf(c)===-1?a:o;d>=0;){var f=t[d];if(f===k)return A;if([Pe,je].indexOf(f)!==-1)d--;else break}if(We===c&&[We,Ge,Be,Ve].indexOf(u)!==-1||[Ge,Be].indexOf(c)!==-1&&[Ge,Ke].indexOf(u)!==-1||[Ke,Ve].indexOf(c)!==-1&&u===Ke||it.indexOf(c)!==-1&&[De,Me].indexOf(u)!==-1||it.indexOf(u)!==-1&&c===Ne||j.indexOf(c)!==-1&&j.indexOf(u)!==-1||c===je&&j.indexOf(u)!==-1||j.concat(k).indexOf(c)!==-1&&u===ke&&Xe.indexOf(e[s])===-1||j.concat(k).indexOf(u)!==-1&&c===Te)return A;if(c===qe&&u===qe){for(var p=n[a],m=1;p>0&&(p--,t[p]===qe);)m++;if(m%2!=0)return A}return c===Re&&u===ze?A:Qe},ut=function(e,t){t||={lineBreak:`normal`,wordBreak:`normal`};var n=ot(e,t.lineBreak),r=n[0],i=n[1],a=n[2];(t.wordBreak===`break-all`||t.wordBreak===`break-word`)&&(i=i.map(function(e){return[k,Ie,Je].indexOf(e)===-1?e:Ue}));var o=t.wordBreak===`keep-all`?a.map(function(t,n){return t&&e[n]>=19968&&e[n]<=40959}):void 0;return[r,i,o]},dt=function(){function e(e,t,n,r){this.codePoints=e,this.required=t===Ze,this.start=n,this.end=r}return e.prototype.slice=function(){return u.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),ft=function(e,t){var n=l(e),r=ut(n,t),i=r[0],a=r[1],o=r[2],s=n.length,c=0,u=0;return{next:function(){if(u>=s)return{done:!0,value:null};for(var e=A;u=rn&&e<=57},hn=function(e){return e>=55296&&e<=57343},gn=function(e){return P(e)||e>=un&&e<=fn||e>=an&&e<=sn},_n=function(e){return e>=an&&e<=ln},vn=function(e){return e>=un&&e<=mn},yn=function(e){return _n(e)||vn(e)},bn=function(e){return e>=Ut},xn=function(e){return e===_t||e===bt||e===xt},Sn=function(e){return yn(e)||bn(e)||e===At},Cn=function(e){return Sn(e)||P(e)||e===M},wn=function(e){return e>=Zt&&e<=Qt||e===$t||e>=en&&e<=tn||e===nn},Tn=function(e,t){return e===yt?t!==_t:!1},En=function(e,t,n){return e===M?Sn(t)||Tn(t,n):Sn(e)?!0:!!(e===yt&&Tn(e,t))},Dn=function(e,t,n){return e===Kt||e===M?P(t)?!0:t===Xt&&P(n):P(e===Xt?t:e)},On=function(e){var t=0,n=1;(e[t]===Kt||e[t]===M)&&(e[t]===M&&(n=-1),t++);for(var r=[];P(e[t]);)r.push(e[t++]);var i=r.length?parseInt(u.apply(void 0,r),10):0;e[t]===Xt&&t++;for(var a=[];P(e[t]);)a.push(e[t++]);var o=a.length,s=o?parseInt(u.apply(void 0,a),10):0;(e[t]===dn||e[t]===on)&&t++;var c=1;(e[t]===Kt||e[t]===M)&&(e[t]===M&&(c=-1),t++);for(var l=[];P(e[t]);)l.push(e[t++]);var d=l.length?parseInt(u.apply(void 0,l),10):0;return n*(i+s*10**-o)*10**(c*d)},kn={type:2},An={type:3},jn={type:4},Mn={type:13},Nn={type:8},Pn={type:21},Fn={type:9},In={type:10},Ln={type:11},Rn={type:12},zn={type:14},Bn={type:23},Vn={type:1},Hn={type:25},Un={type:24},Wn={type:26},Gn={type:27},Kn={type:28},qn={type:29},Jn={type:31},Yn={type:32},Xn=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(l(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==Yn;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case St:return this.consumeStringToken(St);case wt:var t=this.peekCodePoint(0),n=this.peekCodePoint(1),r=this.peekCodePoint(2);if(Cn(t)||Tn(n,r)){var i=En(t,n,r)?mt:pt,a=this.consumeName();return{type:5,value:a,flags:i}}break;case Tt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Mn;break;case Dt:return this.consumeStringToken(Dt);case Ot:return kn;case kt:return An;case Gt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),zn;break;case Kt:if(Dn(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case qt:return jn;case M:var o=e,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(Dn(o,s,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(En(o,s,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(s===M&&c===Nt)return this.consumeCodePoint(),this.consumeCodePoint(),Un;break;case Xt:if(Dn(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case vt:if(this.peekCodePoint(0)===Gt)for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(l===Gt&&(l=this.consumeCodePoint(),l===vt)||l===N)return this.consumeToken()}break;case Jt:return Wn;case Yt:return Gn;case Mt:if(this.peekCodePoint(0)===jt&&this.peekCodePoint(1)===M&&this.peekCodePoint(2)===M)return this.consumeCodePoint(),this.consumeCodePoint(),Hn;break;case Pt:if(En(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var a=this.consumeName();return{type:7,value:a}}break;case Ft:return Kn;case yt:if(Tn(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case It:return qn;case Lt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Nn;break;case Rt:return Ln;case Bt:return Rn;case cn:case pn:var d=this.peekCodePoint(0),f=this.peekCodePoint(1);return d===Kt&&(gn(f)||f===zt)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case Vt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Fn;if(this.peekCodePoint(0)===Vt)return this.consumeCodePoint(),Pn;break;case Ht:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),In;break;case N:return Yn}return xn(e)?(this.consumeWhiteSpace(),Jn):P(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):Sn(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:u(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return e===void 0?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();gn(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var n=!1;t===zt&&e.length<6;)e.push(t),t=this.consumeCodePoint(),n=!0;if(n){var r=parseInt(u.apply(void 0,e.map(function(e){return e===zt?rn:e})),16),i=parseInt(u.apply(void 0,e.map(function(e){return e===zt?fn:e})),16);return{type:30,start:r,end:i}}var a=parseInt(u.apply(void 0,e),16);if(this.peekCodePoint(0)===M&&gn(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var o=[];gn(t)&&o.length<6;)o.push(t),t=this.consumeCodePoint();var i=parseInt(u.apply(void 0,o),16);return{type:30,start:a,end:i}}else return{type:30,start:a,end:a}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()===`url`&&this.peekCodePoint(0)===Ot?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Ot?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===N)return{type:22,value:``};var t=this.peekCodePoint(0);if(t===Dt||t===St){var n=this.consumeStringToken(this.consumeCodePoint());return n.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===N||this.peekCodePoint(0)===kt)?(this.consumeCodePoint(),{type:22,value:n.value}):(this.consumeBadUrlRemnants(),Bn)}for(;;){var r=this.consumeCodePoint();if(r===N||r===kt)return{type:22,value:u.apply(void 0,e)};if(xn(r))return this.consumeWhiteSpace(),this.peekCodePoint(0)===N||this.peekCodePoint(0)===kt?(this.consumeCodePoint(),{type:22,value:u.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Bn);if(r===St||r===Dt||r===Ot||wn(r))return this.consumeBadUrlRemnants(),Bn;if(r===yt)if(Tn(r,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Bn;else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;xn(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===kt||e===N)return;Tn(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t=5e4,n=``;e>0;){var r=Math.min(t,e);n+=u.apply(void 0,this._value.splice(0,r)),e-=r}return this._value.shift(),n},e.prototype.consumeStringToken=function(e){var t=``,n=0;do{var r=this._value[n];if(r===N||r===void 0||r===e)return t+=this.consumeStringSlice(n),{type:0,value:t};if(r===_t)return this._value.splice(0,n),Vn;if(r===yt){var i=this._value[n+1];i!==N&&i!==void 0&&(i===_t?(t+=this.consumeStringSlice(n),n=-1,this._value.shift()):Tn(r,i)&&(t+=this.consumeStringSlice(n),t+=u(this.consumeEscapedCodePoint()),n=-1))}n++}while(!0)},e.prototype.consumeNumber=function(){var e=[],t=ht,n=this.peekCodePoint(0);for((n===Kt||n===M)&&e.push(this.consumeCodePoint());P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(n===Xt&&P(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=gt;P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0),r=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((n===dn||n===on)&&((r===Kt||r===M)&&P(i)||P(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=gt;P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[On(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],n=e[1],r=this.peekCodePoint(0);return En(r,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:t,flags:n,unit:this.consumeName()}:r===Et?(this.consumeCodePoint(),{type:16,number:t,flags:n}):{type:17,number:t,flags:n}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(gn(e)){for(var t=u(e);gn(this.peekCodePoint(0))&&t.length<6;)t+=u(this.consumeCodePoint());xn(this.peekCodePoint(0))&&this.consumeCodePoint();var n=parseInt(t,16);return n===0||hn(n)||n>1114111?Wt:n}return e===N?Wt:e},e.prototype.consumeName=function(){for(var e=``;;){var t=this.consumeCodePoint();if(Cn(t))e+=u(t);else if(Tn(t,this.peekCodePoint(0)))e+=u(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(t),e}},e}(),Zn=function(){function e(e){this._tokens=e}return e.create=function(t){var n=new Xn;return n.write(t),new e(n.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw SyntaxError(`Error parsing CSS component value, unexpected EOF`);this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return t;throw SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`)},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(t.type===32)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},n=this.consumeToken();;){if(n.type===32||ir(n,e))return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue()),n=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var n=this.consumeToken();if(n.type===32||n.type===3)return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return e===void 0?Yn:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Qn=function(e){return e.type===15},$n=function(e){return e.type===17},F=function(e){return e.type===20},er=function(e){return e.type===0},tr=function(e,t){return F(e)&&e.value===t},nr=function(e){return e.type!==31},rr=function(e){return e.type!==31&&e.type!==4},I=function(e){var t=[],n=[];return e.forEach(function(e){if(e.type===4){if(n.length===0)throw Error(`Error parsing function args, zero tokens for arg`);t.push(n),n=[];return}e.type!==31&&n.push(e)}),n.length&&t.push(n),t},ir=function(e,t){return t===11&&e.type===12||t===28&&e.type===29?!0:t===2&&e.type===3},ar=function(e){return e.type===17||e.type===15},L=function(e){return e.type===16||ar(e)},or=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},R={type:17,number:0,flags:ht},sr={type:16,number:50,flags:ht},cr={type:16,number:100,flags:ht},lr=function(e,t,n){var r=e[0],i=e[1];return[z(r,t),z(i===void 0?r:i,n)]},z=function(e,t){if(e.type===16)return e.number/100*t;if(Qn(e))switch(e.unit){case`rem`:case`em`:return 16*e.number;case`px`:default:return e.number}return e.number},ur=`deg`,dr=`grad`,fr=`rad`,pr=`turn`,mr={name:`angle`,parse:function(e,t){if(t.type===15)switch(t.unit){case ur:return Math.PI*t.number/180;case dr:return Math.PI/200*t.number;case fr:return t.number;case pr:return Math.PI*2*t.number}throw Error(`Unsupported angle type`)}},hr=function(e){return e.type===15&&(e.unit===ur||e.unit===dr||e.unit===fr||e.unit===pr)},gr=function(e){switch(e.filter(F).map(function(e){return e.value}).join(` `)){case`to bottom right`:case`to right bottom`:case`left top`:case`top left`:return[R,R];case`to top`:case`bottom`:return B(0);case`to bottom left`:case`to left bottom`:case`right top`:case`top right`:return[R,cr];case`to right`:case`left`:return B(90);case`to top left`:case`to left top`:case`right bottom`:case`bottom right`:return[cr,cr];case`to bottom`:case`top`:return B(180);case`to top right`:case`to right top`:case`left bottom`:case`bottom left`:return[cr,R];case`to left`:case`right`:return B(270)}return 0},B=function(e){return Math.PI*e/180},_r={name:`color`,parse:function(e,t){if(t.type===18){var n=wr[t.name];if(n===void 0)throw Error(`Attempting to parse an unsupported color function "`+t.name+`"`);return n(e,t.values)}if(t.type===5){if(t.value.length===3){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);return yr(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(t.value.length===4){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3),o=t.value.substring(3,4);return yr(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(o+o,16)/255)}if(t.value.length===6){var r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6);return yr(parseInt(r,16),parseInt(i,16),parseInt(a,16),1)}if(t.value.length===8){var r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6),o=t.value.substring(6,8);return yr(parseInt(r,16),parseInt(i,16),parseInt(a,16),parseInt(o,16)/255)}}if(t.type===20){var s=H[t.value.toUpperCase()];if(s!==void 0)return s}return H.TRANSPARENT}},vr=function(e){return(255&e)==0},V=function(e){var t=255&e,n=255&e>>8,r=255&e>>16,i=255&e>>24;return t<255?`rgba(`+i+`,`+r+`,`+n+`,`+t/255+`)`:`rgb(`+i+`,`+r+`,`+n+`)`},yr=function(e,t,n,r){return(e<<24|t<<16|n<<8|Math.round(r*255)<<0)>>>0},br=function(e,t){if(e.type===17)return e.number;if(e.type===16){var n=t===3?1:255;return t===3?e.number/100*n:Math.round(e.number/100*n)}return 0},xr=function(e,t){var n=t.filter(rr);if(n.length===3){var r=n.map(br),i=r[0],a=r[1],o=r[2];return yr(i,a,o,1)}if(n.length===4){var s=n.map(br),i=s[0],a=s[1],o=s[2],c=s[3];return yr(i,a,o,c)}return 0};function Sr(e,t,n){return n<0&&(n+=1),n>=1&&--n,n<1/6?(t-e)*n*6+e:n<1/2?t:n<2/3?(t-e)*6*(2/3-n)+e:e}var Cr=function(e,t){var n=t.filter(rr),r=n[0],i=n[1],a=n[2],o=n[3],s=(r.type===17?B(r.number):mr.parse(e,r))/(Math.PI*2),c=L(i)?i.number/100:0,l=L(a)?a.number/100:0,u=o!==void 0&&L(o)?z(o,1):1;if(c===0)return yr(l*255,l*255,l*255,1);var d=l<=.5?l*(c+1):l+c-l*c,f=l*2-d,p=Sr(f,d,s+1/3),m=Sr(f,d,s),h=Sr(f,d,s-1/3);return yr(p*255,m*255,h*255,u)},wr={hsl:Cr,hsla:Cr,rgb:xr,rgba:xr},Tr=function(e,t){return _r.parse(e,Zn.create(t).parseComponentValue())},H={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},Er={name:`background-clip`,initialValue:`border-box`,prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(F(e))switch(e.value){case`padding-box`:return 1;case`content-box`:return 2}return 0})}},Dr={name:`background-color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`},Or=function(e,t){var n=_r.parse(e,t[0]),r=t[1];return r&&L(r)?{color:n,stop:r}:{color:n,stop:null}},kr=function(e,t){var n=e[0],r=e[e.length-1];n.stop===null&&(n.stop=R),r.stop===null&&(r.stop=cr);for(var i=[],a=0,o=0;oa?i.push(c):i.push(a),a=c}else i.push(null)}for(var l=null,o=0;oe.optimumDistance)?{optimumCorner:t,optimumDistance:s}:e},{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},Nr=function(e,t,n,r,i){var a=0,o=0;switch(e.size){case 0:e.shape===0?a=o=Math.min(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):e.shape===1&&(a=Math.min(Math.abs(t),Math.abs(t-r)),o=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(e.shape===0)a=o=Math.min(U(t,n),U(t,n-i),U(t-r,n),U(t-r,n-i));else if(e.shape===1){var s=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(t),Math.abs(t-r)),c=Mr(r,i,t,n,!0),l=c[0],u=c[1];a=U(l-t,(u-n)/s),o=s*a}break;case 1:e.shape===0?a=o=Math.max(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):e.shape===1&&(a=Math.max(Math.abs(t),Math.abs(t-r)),o=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(e.shape===0)a=o=Math.max(U(t,n),U(t,n-i),U(t-r,n),U(t-r,n-i));else if(e.shape===1){var s=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(t),Math.abs(t-r)),d=Mr(r,i,t,n,!1),l=d[0],u=d[1];a=U(l-t,(u-n)/s),o=s*a}break}return Array.isArray(e.size)&&(a=z(e.size[0],r),o=e.size.length===2?z(e.size[1],i):a),[a,o]},Pr=function(e,t){var n=B(180),r=[];return I(t).forEach(function(t,i){if(i===0){var a=t[0];if(a.type===20&&a.value===`to`){n=gr(t);return}else if(hr(a)){n=mr.parse(e,a);return}}var o=Or(e,t);r.push(o)}),{angle:n,stops:r,type:1}},Fr=function(e,t){var n=B(180),r=[];return I(t).forEach(function(t,i){if(i===0){var a=t[0];if(a.type===20&&[`top`,`left`,`right`,`bottom`].indexOf(a.value)!==-1){n=gr(t);return}else if(hr(a)){n=(mr.parse(e,a)+B(270))%B(360);return}}var o=Or(e,t);r.push(o)}),{angle:n,stops:r,type:1}},Ir=function(e,t){var n=B(180),r=[],i=1;return I(t).forEach(function(t,n){var a=t[0];if(n===0){if(F(a)&&a.value===`linear`){i=1;return}else if(F(a)&&a.value===`radial`){i=2;return}}if(a.type===18){if(a.name===`from`){var o=_r.parse(e,a.values[0]);r.push({stop:R,color:o})}else if(a.name===`to`){var o=_r.parse(e,a.values[0]);r.push({stop:cr,color:o})}else if(a.name===`color-stop`){var s=a.values.filter(rr);if(s.length===2){var o=_r.parse(e,s[1]),c=s[0];$n(c)&&r.push({stop:{type:16,number:c.number*100,flags:c.flags},color:o})}}}}),i===1?{angle:(n+B(180))%B(360),stops:r,type:i}:{size:3,shape:0,stops:r,position:[],type:i}},Lr=`closest-side`,Rr=`farthest-side`,zr=`closest-corner`,Br=`farthest-corner`,Vr=`circle`,Hr=`ellipse`,Ur=`cover`,Wr=`contain`,Gr=function(e,t){var n=0,r=3,i=[],a=[];return I(t).forEach(function(t,o){var s=!0;if(o===0){var c=!1;s=t.reduce(function(e,t){if(c)if(F(t))switch(t.value){case`center`:return a.push(sr),e;case`top`:case`left`:return a.push(R),e;case`right`:case`bottom`:return a.push(cr),e}else (L(t)||ar(t))&&a.push(t);else if(F(t))switch(t.value){case Vr:return n=0,!1;case Hr:return n=1,!1;case`at`:return c=!0,!1;case Lr:return r=0,!1;case Ur:case Rr:return r=1,!1;case Wr:case zr:return r=2,!1;case Br:return r=3,!1}else if(ar(t)||L(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e},s)}if(s){var l=Or(e,t);i.push(l)}}),{size:r,shape:n,stops:i,position:a,type:2}},Kr=function(e,t){var n=0,r=3,i=[],a=[];return I(t).forEach(function(t,o){var s=!0;if(o===0?s=t.reduce(function(e,t){if(F(t))switch(t.value){case`center`:return a.push(sr),!1;case`top`:case`left`:return a.push(R),!1;case`right`:case`bottom`:return a.push(cr),!1}else if(L(t)||ar(t))return a.push(t),!1;return e},s):o===1&&(s=t.reduce(function(e,t){if(F(t))switch(t.value){case Vr:return n=0,!1;case Hr:return n=1,!1;case Wr:case Lr:return r=0,!1;case Rr:return r=1,!1;case zr:return r=2,!1;case Ur:case Br:return r=3,!1}else if(ar(t)||L(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e},s)),s){var c=Or(e,t);i.push(c)}}),{size:r,shape:n,stops:i,position:a,type:2}},qr=function(e){return e.type===1},Jr=function(e){return e.type===2},Yr={name:`image`,parse:function(e,t){if(t.type===22){var n={url:t.value,type:0};return e.cache.addImage(t.value),n}if(t.type===18){var r=Zr[t.name];if(r===void 0)throw Error(`Attempting to parse an unsupported image function "`+t.name+`"`);return r(e,t.values)}throw Error(`Unsupported image type `+t.type)}};function Xr(e){return!(e.type===20&&e.value===`none`)&&(e.type!==18||!!Zr[e.name])}var Zr={"linear-gradient":Pr,"-moz-linear-gradient":Fr,"-ms-linear-gradient":Fr,"-o-linear-gradient":Fr,"-webkit-linear-gradient":Fr,"radial-gradient":Gr,"-moz-radial-gradient":Kr,"-ms-radial-gradient":Kr,"-o-radial-gradient":Kr,"-webkit-radial-gradient":Kr,"-webkit-gradient":Ir},Qr={name:`background-image`,initialValue:`none`,type:1,prefix:!1,parse:function(e,t){if(t.length===0)return[];var n=t[0];return n.type===20&&n.value===`none`?[]:t.filter(function(e){return rr(e)&&Xr(e)}).map(function(t){return Yr.parse(e,t)})}},$r={name:`background-origin`,initialValue:`border-box`,prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(F(e))switch(e.value){case`padding-box`:return 1;case`content-box`:return 2}return 0})}},ei={name:`background-position`,initialValue:`0% 0%`,type:1,prefix:!1,parse:function(e,t){return I(t).map(function(e){return e.filter(L)}).map(or)}},ti={name:`background-repeat`,initialValue:`repeat`,prefix:!1,type:1,parse:function(e,t){return I(t).map(function(e){return e.filter(F).map(function(e){return e.value}).join(` `)}).map(ni)}},ni=function(e){switch(e){case`no-repeat`:return 1;case`repeat-x`:case`repeat no-repeat`:return 2;case`repeat-y`:case`no-repeat repeat`:return 3;case`repeat`:default:return 0}},ri;(function(e){e.AUTO=`auto`,e.CONTAIN=`contain`,e.COVER=`cover`})(ri||={});var ii={name:`background-size`,initialValue:`0`,prefix:!1,type:1,parse:function(e,t){return I(t).map(function(e){return e.filter(ai)})}},ai=function(e){return F(e)||L(e)},oi=function(e){return{name:`border-`+e+`-color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`}},si=oi(`top`),ci=oi(`right`),li=oi(`bottom`),ui=oi(`left`),di=function(e){return{name:`border-radius-`+e,initialValue:`0 0`,prefix:!1,type:1,parse:function(e,t){return or(t.filter(L))}}},fi=di(`top-left`),pi=di(`top-right`),mi=di(`bottom-right`),hi=di(`bottom-left`),gi=function(e){return{name:`border-`+e+`-style`,initialValue:`solid`,prefix:!1,type:2,parse:function(e,t){switch(t){case`none`:return 0;case`dashed`:return 2;case`dotted`:return 3;case`double`:return 4}return 1}}},_i=gi(`top`),vi=gi(`right`),yi=gi(`bottom`),bi=gi(`left`),xi=function(e){return{name:`border-`+e+`-width`,initialValue:`0`,type:0,prefix:!1,parse:function(e,t){return Qn(t)?t.number:0}}},Si=xi(`top`),Ci=xi(`right`),wi=xi(`bottom`),Ti=xi(`left`),Ei={name:`color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`},Di={name:`direction`,initialValue:`ltr`,prefix:!1,type:2,parse:function(e,t){switch(t){case`rtl`:return 1;case`ltr`:default:return 0}}},Oi={name:`display`,initialValue:`inline-block`,prefix:!1,type:1,parse:function(e,t){return t.filter(F).reduce(function(e,t){return e|ki(t.value)},0)}},ki=function(e){switch(e){case`block`:case`-webkit-box`:return 2;case`inline`:return 4;case`run-in`:return 8;case`flow`:return 16;case`flow-root`:return 32;case`table`:return 64;case`flex`:case`-webkit-flex`:return 128;case`grid`:case`-ms-grid`:return 256;case`ruby`:return 512;case`subgrid`:return 1024;case`list-item`:return 2048;case`table-row-group`:return 4096;case`table-header-group`:return 8192;case`table-footer-group`:return 16384;case`table-row`:return 32768;case`table-cell`:return 65536;case`table-column-group`:return 131072;case`table-column`:return 262144;case`table-caption`:return 524288;case`ruby-base`:return 1048576;case`ruby-text`:return 2097152;case`ruby-base-container`:return 4194304;case`ruby-text-container`:return 8388608;case`contents`:return 16777216;case`inline-block`:return 33554432;case`inline-list-item`:return 67108864;case`inline-table`:return 134217728;case`inline-flex`:return 268435456;case`inline-grid`:return 536870912}return 0},Ai={name:`float`,initialValue:`none`,prefix:!1,type:2,parse:function(e,t){switch(t){case`left`:return 1;case`right`:return 2;case`inline-start`:return 3;case`inline-end`:return 4}return 0}},ji={name:`letter-spacing`,initialValue:`0`,prefix:!1,type:0,parse:function(e,t){return t.type===20&&t.value===`normal`?0:t.type===17||t.type===15?t.number:0}},Mi;(function(e){e.NORMAL=`normal`,e.STRICT=`strict`})(Mi||={});var Ni={name:`line-break`,initialValue:`normal`,prefix:!1,type:2,parse:function(e,t){switch(t){case`strict`:return Mi.STRICT;case`normal`:default:return Mi.NORMAL}}},Pi={name:`line-height`,initialValue:`normal`,prefix:!1,type:4},Fi=function(e,t){return F(e)&&e.value===`normal`?1.2*t:e.type===17?t*e.number:L(e)?z(e,t):t},Ii={name:`list-style-image`,initialValue:`none`,type:0,prefix:!1,parse:function(e,t){return t.type===20&&t.value===`none`?null:Yr.parse(e,t)}},Li={name:`list-style-position`,initialValue:`outside`,prefix:!1,type:2,parse:function(e,t){switch(t){case`inside`:return 0;case`outside`:default:return 1}}},Ri={name:`list-style-type`,initialValue:`none`,prefix:!1,type:2,parse:function(e,t){switch(t){case`disc`:return 0;case`circle`:return 1;case`square`:return 2;case`decimal`:return 3;case`cjk-decimal`:return 4;case`decimal-leading-zero`:return 5;case`lower-roman`:return 6;case`upper-roman`:return 7;case`lower-greek`:return 8;case`lower-alpha`:return 9;case`upper-alpha`:return 10;case`arabic-indic`:return 11;case`armenian`:return 12;case`bengali`:return 13;case`cambodian`:return 14;case`cjk-earthly-branch`:return 15;case`cjk-heavenly-stem`:return 16;case`cjk-ideographic`:return 17;case`devanagari`:return 18;case`ethiopic-numeric`:return 19;case`georgian`:return 20;case`gujarati`:return 21;case`gurmukhi`:return 22;case`hebrew`:return 22;case`hiragana`:return 23;case`hiragana-iroha`:return 24;case`japanese-formal`:return 25;case`japanese-informal`:return 26;case`kannada`:return 27;case`katakana`:return 28;case`katakana-iroha`:return 29;case`khmer`:return 30;case`korean-hangul-formal`:return 31;case`korean-hanja-formal`:return 32;case`korean-hanja-informal`:return 33;case`lao`:return 34;case`lower-armenian`:return 35;case`malayalam`:return 36;case`mongolian`:return 37;case`myanmar`:return 38;case`oriya`:return 39;case`persian`:return 40;case`simp-chinese-formal`:return 41;case`simp-chinese-informal`:return 42;case`tamil`:return 43;case`telugu`:return 44;case`thai`:return 45;case`tibetan`:return 46;case`trad-chinese-formal`:return 47;case`trad-chinese-informal`:return 48;case`upper-armenian`:return 49;case`disclosure-open`:return 50;case`disclosure-closed`:return 51;case`none`:default:return-1}}},zi=function(e){return{name:`margin-`+e,initialValue:`0`,prefix:!1,type:4}},Bi=zi(`top`),Vi=zi(`right`),Hi=zi(`bottom`),Ui=zi(`left`),Wi={name:`overflow`,initialValue:`visible`,prefix:!1,type:1,parse:function(e,t){return t.filter(F).map(function(e){switch(e.value){case`hidden`:return 1;case`scroll`:return 2;case`clip`:return 3;case`auto`:return 4;case`visible`:default:return 0}})}},Gi={name:`overflow-wrap`,initialValue:`normal`,prefix:!1,type:2,parse:function(e,t){switch(t){case`break-word`:return`break-word`;case`normal`:default:return`normal`}}},Ki=function(e){return{name:`padding-`+e,initialValue:`0`,prefix:!1,type:3,format:`length-percentage`}},qi=Ki(`top`),Ji=Ki(`right`),Yi=Ki(`bottom`),Xi=Ki(`left`),Zi={name:`text-align`,initialValue:`left`,prefix:!1,type:2,parse:function(e,t){switch(t){case`right`:return 2;case`center`:case`justify`:return 1;case`left`:default:return 0}}},Qi={name:`position`,initialValue:`static`,prefix:!1,type:2,parse:function(e,t){switch(t){case`relative`:return 1;case`absolute`:return 2;case`fixed`:return 3;case`sticky`:return 4}return 0}},$i={name:`text-shadow`,initialValue:`none`,type:1,prefix:!1,parse:function(e,t){return t.length===1&&tr(t[0],`none`)?[]:I(t).map(function(t){for(var n={color:H.TRANSPARENT,offsetX:R,offsetY:R,blur:R},r=0,i=0;i1?1:0],this.overflowWrap=G(e,Gi,t.overflowWrap),this.paddingTop=G(e,qi,t.paddingTop),this.paddingRight=G(e,Ji,t.paddingRight),this.paddingBottom=G(e,Yi,t.paddingBottom),this.paddingLeft=G(e,Xi,t.paddingLeft),this.paintOrder=G(e,Ea,t.paintOrder),this.position=G(e,Qi,t.position),this.textAlign=G(e,Zi,t.textAlign),this.textDecorationColor=G(e,fa,t.textDecorationColor??t.color),this.textDecorationLine=G(e,pa,t.textDecorationLine??t.textDecoration),this.textShadow=G(e,$i,t.textShadow),this.textTransform=G(e,ea,t.textTransform),this.transform=G(e,ta,t.transform),this.transformOrigin=G(e,aa,t.transformOrigin),this.visibility=G(e,oa,t.visibility),this.webkitTextStrokeColor=G(e,Da,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=G(e,Oa,t.webkitTextStrokeWidth),this.wordBreak=G(e,ca,t.wordBreak),this.zIndex=G(e,la,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},e.prototype.isTransparent=function(){return vr(this.backgroundColor)},e.prototype.isTransformed=function(){return this.transform!==null},e.prototype.isPositioned=function(){return this.position!==0},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return this.float!==0},e.prototype.isInlineLevel=function(){return W(this.display,4)||W(this.display,33554432)||W(this.display,268435456)||W(this.display,536870912)||W(this.display,67108864)||W(this.display,134217728)},e}(),Aa=function(){function e(e,t){this.content=G(e,ya,t.content),this.quotes=G(e,Ca,t.quotes)}return e}(),ja=function(){function e(e,t){this.counterIncrement=G(e,ba,t.counterIncrement),this.counterReset=G(e,xa,t.counterReset)}return e}(),G=function(e,t,n){var r=new Xn,i=n==null?t.initialValue:n.toString();r.write(i);var a=new Zn(r.read());switch(t.type){case 2:var o=a.parseComponentValue();return t.parse(e,F(o)?o.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case`angle`:return mr.parse(e,a.parseComponentValue());case`color`:return _r.parse(e,a.parseComponentValue());case`image`:return Yr.parse(e,a.parseComponentValue());case`length`:var s=a.parseComponentValue();return ar(s)?s:R;case`length-percentage`:var c=a.parseComponentValue();return L(c)?c:R;case`time`:return ua.parse(e,a.parseComponentValue())}break}},Ma=`data-html2canvas-debug`,Na=function(e){switch(e.getAttribute(Ma)){case`all`:return 1;case`clone`:return 2;case`parse`:return 3;case`render`:return 4;default:return 0}},Pa=function(e,t){var n=Na(e);return n===1||t===n},K=function(){function e(e,t){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Pa(t,3))debugger;this.styles=new ka(e,window.getComputedStyle(t,null)),xs(t)&&(this.styles.animationDuration.some(function(e){return e>0})&&(t.style.animationDuration=`0s`),this.styles.transform!==null&&(t.style.transform=`none`)),this.bounds=s(this.context,t),Pa(t,4)&&(this.flags|=16)}return e}(),Fa=`AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=`,Ia=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,La=typeof Uint8Array>`u`?[]:new Uint8Array(256),Ra=0;Ra>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},Ba=function(e){for(var t=e.length,n=[],r=0;r>Ha,qa=(1<>Ha)+32,Ya=65536>>Ua,Xa=(1<=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>Ha],t=(t<>Ha)],t=(t<>Ua),t=this.index[t],t+=e>>Ha&Xa,t=this.index[t],t=(t<`u`?[]:new Uint8Array(256),ro=0;ro=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(r+1===t||n.length>16384)&&(i+=String.fromCharCode.apply(String,n),n.length=0)}return i},xo=$a(Fa),So=`×`,Co=`÷`,wo=function(e){return xo.get(e)},To=function(e,t,n){var r=n-2,i=t[r],a=t[n-1],o=t[n];if(a===ao&&o===oo)return So;if(a===ao||a===oo||a===so||o===ao||o===oo||o===so)return Co;if(a===uo&&[uo,fo,mo,ho].indexOf(o)!==-1||(a===mo||a===fo)&&(o===fo||o===po)||(a===ho||a===po)&&o===po||o===go||o===co||o===lo||a===io)return So;if(a===go&&o===_o){for(;i===co;)i=t[--r];if(i===_o)return So}if(a===vo&&o===vo){for(var s=0;i===vo;)s++,i=t[--r];if(s%2==0)return So}return Co},Eo=function(e){var t=yo(e),n=t.length,r=0,i=0,a=t.map(wo);return{next:function(){if(r>=n)return{done:!0,value:null};for(var e=So;ro.x||i.y>o.y;return o=i,t===0?!0:s});return e.body.removeChild(t),s},Ao=function(){return new Image().crossOrigin!==void 0},jo=function(){return typeof new XMLHttpRequest().responseType==`string`},Mo=function(e){var t=new Image,n=e.createElement(`canvas`),r=n.getContext(`2d`);if(!r)return!1;t.src=`data:image/svg+xml,`;try{r.drawImage(t,0,0),n.toDataURL()}catch{return!1}return!0},No=function(e){return e[0]===0&&e[1]===255&&e[2]===0&&e[3]===255},Po=function(e){var t=e.createElement(`canvas`),n=100;t.width=n,t.height=n;var r=t.getContext(`2d`);if(!r)return Promise.reject(!1);r.fillStyle=`rgb(0, 255, 0)`,r.fillRect(0,0,n,n);var i=new Image,a=t.toDataURL();i.src=a;var o=Fo(n,n,0,0,i);return r.fillStyle=`red`,r.fillRect(0,0,n,n),Io(o).then(function(t){r.drawImage(t,0,0);var i=r.getImageData(0,0,n,n).data;r.fillStyle=`red`,r.fillRect(0,0,n,n);var o=e.createElement(`div`);return o.style.backgroundImage=`url(`+a+`)`,o.style.height=n+`px`,No(i)?Io(Fo(n,n,0,0,o)):Promise.reject(!1)}).then(function(e){return r.drawImage(e,0,0),No(r.getImageData(0,0,n,n).data)}).catch(function(){return!1})},Fo=function(e,t,n,r,i){var a=`http://www.w3.org/2000/svg`,o=document.createElementNS(a,`svg`),s=document.createElementNS(a,`foreignObject`);return o.setAttributeNS(null,`width`,e.toString()),o.setAttributeNS(null,`height`,t.toString()),s.setAttributeNS(null,`width`,`100%`),s.setAttributeNS(null,`height`,`100%`),s.setAttributeNS(null,`x`,n.toString()),s.setAttributeNS(null,`y`,r.toString()),s.setAttributeNS(null,`externalResourcesRequired`,`true`),o.appendChild(s),s.appendChild(i),o},Io=function(e){return new Promise(function(t,n){var r=new Image;r.onload=function(){return t(r)},r.onerror=n,r.src=`data:image/svg+xml;charset=utf-8,`+encodeURIComponent(new XMLSerializer().serializeToString(e))})},q={get SUPPORT_RANGE_BOUNDS(){var e=Oo(document);return Object.defineProperty(q,`SUPPORT_RANGE_BOUNDS`,{value:e}),e},get SUPPORT_WORD_BREAKING(){var e=q.SUPPORT_RANGE_BOUNDS&&ko(document);return Object.defineProperty(q,`SUPPORT_WORD_BREAKING`,{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=Mo(document);return Object.defineProperty(q,`SUPPORT_SVG_DRAWING`,{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e=typeof Array.from==`function`&&typeof window.fetch==`function`?Po(document):Promise.resolve(!1);return Object.defineProperty(q,`SUPPORT_FOREIGNOBJECT_DRAWING`,{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=Ao();return Object.defineProperty(q,`SUPPORT_CORS_IMAGES`,{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e=jo();return Object.defineProperty(q,`SUPPORT_RESPONSE_TYPE`,{value:e}),e},get SUPPORT_CORS_XHR(){var e=`withCredentials`in new XMLHttpRequest;return Object.defineProperty(q,`SUPPORT_CORS_XHR`,{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!!(typeof Intl<`u`&&Intl.Segmenter);return Object.defineProperty(q,`SUPPORT_NATIVE_TEXT_SEGMENTATION`,{value:e}),e}},Lo=function(){function e(e,t){this.text=e,this.bounds=t}return e}(),Ro=function(e,t,n,r){var i=Uo(t,n),a=[],s=0;return i.forEach(function(t){if(n.textDecorationLine.length||t.trim().length>0)if(q.SUPPORT_RANGE_BOUNDS){var i=Bo(r,s,t.length).getClientRects();if(i.length>1){var c=Vo(t),l=0;c.forEach(function(t){a.push(new Lo(t,o.fromDOMRectList(e,Bo(r,l+s,t.length).getClientRects()))),l+=t.length})}else a.push(new Lo(t,o.fromDOMRectList(e,i)))}else{var u=r.splitText(t.length);a.push(new Lo(t,zo(e,r))),r=u}else q.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length}),a},zo=function(e,t){var n=t.ownerDocument;if(n){var r=n.createElement(`html2canvaswrapper`);r.appendChild(t.cloneNode(!0));var i=t.parentNode;if(i){i.replaceChild(r,t);var a=s(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),a}}return o.EMPTY},Bo=function(e,t,n){var r=e.ownerDocument;if(!r)throw Error(`Node has no owner document`);var i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},Vo=function(e){if(q.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:`grapheme`});return Array.from(t.segment(e)).map(function(e){return e.segment})}return Do(e)},Ho=function(e,t){if(q.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:`word`});return Array.from(n.segment(e)).map(function(e){return e.segment})}return Go(e,t)},Uo=function(e,t){return t.letterSpacing===0?Ho(e,t):Vo(e)},Wo=[32,160,4961,65792,65793,4153,4241],Go=function(e,t){for(var n=ft(e,{lineBreak:t.lineBreak,wordBreak:t.overflowWrap===`break-word`?`break-word`:t.wordBreak}),r=[],i,a=function(){if(i.value){var e=l(i.value.slice()),t=``;e.forEach(function(e){Wo.indexOf(e)===-1?t+=u(e):(t.length&&r.push(t),r.push(u(e)),t=``)}),t.length&&r.push(t)}};!(i=n.next()).done;)a();return r},Ko=function(){function e(e,t,n){this.text=qo(t.data,n.textTransform),this.textBounds=Ro(e,this.text,n,t)}return e}(),qo=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(Jo,Yo);case 2:return e.toUpperCase();default:return e}},Jo=/(^|\s|:|-|\(|\))([a-z])/g,Yo=function(e,t,n){return e.length>0?t+n.toUpperCase():e},Xo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.src=n.currentSrc||n.src,r.intrinsicWidth=n.naturalWidth,r.intrinsicHeight=n.naturalHeight,r.context.cache.addImage(r.src),r}return n}(K),Zo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.canvas=n,r.intrinsicWidth=n.width,r.intrinsicHeight=n.height,r}return n}(K),Qo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this,i=new XMLSerializer,a=s(t,n);return n.setAttribute(`width`,a.width+`px`),n.setAttribute(`height`,a.height+`px`),r.svg=`data:image/svg+xml,`+encodeURIComponent(i.serializeToString(n)),r.intrinsicWidth=n.width.baseVal.value,r.intrinsicHeight=n.height.baseVal.value,r.context.cache.addImage(r.svg),r}return n}(K),$o=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.value=n.value,r}return n}(K),es=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.start=n.start,r.reversed=typeof n.reversed==`boolean`&&n.reversed===!0,r}return n}(K),ts=[{type:15,flags:0,unit:`px`,number:3}],ns=[{type:16,flags:0,number:50}],rs=function(e){return e.width>e.height?new o(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width0)n.textNodes.push(new Ko(e,i,n.styles));else if(bs(i))if(Ls(i)&&i.assignedNodes)i.assignedNodes().forEach(function(t){return ms(e,t,n,r)});else{var o=hs(e,i);o.styles.isVisible()&&(_s(i,o,r)?o.flags|=4:vs(o.styles)&&(o.flags|=2),ps.indexOf(i.tagName)!==-1&&(o.flags|=8),n.elements.push(o),i.slot,i.shadowRoot?ms(e,i.shadowRoot,o,r):!Fs(i)&&!Ds(i)&&!Is(i)&&ms(e,i,o,r))}},hs=function(e,t){return js(t)?new Xo(e,t):ks(t)?new Zo(e,t):Ds(t)?new Qo(e,t):Cs(t)?new $o(e,t):ws(t)?new es(e,t):Ts(t)?new ls(e,t):Is(t)?new us(e,t):Fs(t)?new ds(e,t):Ms(t)?new fs(e,t):new K(e,t)},gs=function(e,t){var n=hs(e,t);return n.flags|=4,ms(e,t,n,n),n},_s=function(e,t,n){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Os(e)&&n.styles.isTransparent()},vs=function(e){return e.isPositioned()||e.isFloating()},ys=function(e){return e.nodeType===Node.TEXT_NODE},bs=function(e){return e.nodeType===Node.ELEMENT_NODE},xs=function(e){return bs(e)&&e.style!==void 0&&!Ss(e)},Ss=function(e){return typeof e.className==`object`},Cs=function(e){return e.tagName===`LI`},ws=function(e){return e.tagName===`OL`},Ts=function(e){return e.tagName===`INPUT`},Es=function(e){return e.tagName===`HTML`},Ds=function(e){return e.tagName===`svg`},Os=function(e){return e.tagName===`BODY`},ks=function(e){return e.tagName===`CANVAS`},As=function(e){return e.tagName===`VIDEO`},js=function(e){return e.tagName===`IMG`},Ms=function(e){return e.tagName===`IFRAME`},Ns=function(e){return e.tagName===`STYLE`},Ps=function(e){return e.tagName===`SCRIPT`},Fs=function(e){return e.tagName===`TEXTAREA`},Is=function(e){return e.tagName===`SELECT`},Ls=function(e){return e.tagName===`SLOT`},Rs=function(e){return e.tagName.indexOf(`-`)>0},zs=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var t=this;e.forEach(function(e){return t.counters[e].pop()})},e.prototype.parse=function(e){var t=this,n=e.counterIncrement,r=e.counterReset,i=!0;n!==null&&n.forEach(function(e){var n=t.counters[e.counter];n&&e.increment!==0&&(i=!1,n.length||n.push(1),n[Math.max(0,n.length-1)]+=e.increment)});var a=[];return i&&r.forEach(function(e){var n=t.counters[e.counter];a.push(e.counter),n||=t.counters[e.counter]=[],n.push(e.reset)}),a},e}(),Bs={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:[`M`,`CM`,`D`,`CD`,`C`,`XC`,`L`,`XL`,`X`,`IX`,`V`,`IV`,`I`]},Vs={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:`Ք.Փ.Ւ.Ց.Ր.Տ.Վ.Ս.Ռ.Ջ.Պ.Չ.Ո.Շ.Ն.Յ.Մ.Ճ.Ղ.Ձ.Հ.Կ.Ծ.Խ.Լ.Ի.Ժ.Թ.Ը.Է.Զ.Ե.Դ.Գ.Բ.Ա`.split(`.`)},Hs={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:`י׳.ט׳.ח׳.ז׳.ו׳.ה׳.ד׳.ג׳.ב׳.א׳.ת.ש.ר.ק.צ.פ.ע.ס.נ.מ.ל.כ.יט.יח.יז.טז.טו.י.ט.ח.ז.ו.ה.ד.ג.ב.א`.split(`.`)},Us={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:`ჵ.ჰ.ჯ.ჴ.ხ.ჭ.წ.ძ.ც.ჩ.შ.ყ.ღ.ქ.ფ.ჳ.ტ.ს.რ.ჟ.პ.ო.ჲ.ნ.მ.ლ.კ.ი.თ.ჱ.ზ.ვ.ე.დ.გ.ბ.ა`.split(`.`)},Ws=function(e,t,n,r,i,a){return en?nc(e,i,a.length>0):r.integers.reduce(function(t,n,i){for(;e>=n;)e-=n,t+=r.values[i];return t},``)+a},Gs=function(e,t,n,r){var i=``;do n||e--,i=r(e)+i,e/=t;while(e*t>=t);return i},J=function(e,t,n,r,i){var a=n-t+1;return(e<0?`-`:``)+(Gs(Math.abs(e),a,r,function(e){return u(Math.floor(e%a)+t)})+i)},Ks=function(e,t,n){n===void 0&&(n=`. `);var r=t.length;return Gs(Math.abs(e),r,!1,function(e){return t[Math.floor(e%r)]})+n},qs=1,Js=2,Ys=4,Xs=8,Zs=function(e,t,n,r,i,a){if(e<-9999||e>9999)return nc(e,4,i.length>0);var o=Math.abs(e),s=i;if(o===0)return t[0]+s;for(var c=0;o>0&&c<=4;c++){var l=o%10;l===0&&W(a,qs)&&s!==``?s=t[l]+s:l>1||l===1&&c===0||l===1&&c===1&&W(a,Js)||l===1&&c===1&&W(a,Ys)&&e>100||l===1&&c>1&&W(a,Xs)?s=t[l]+(c>0?n[c-1]:``)+s:l===1&&c>0&&(s=n[c-1]+s),o=Math.floor(o/10)}return(e<0?r:``)+s},Qs=`十百千萬`,$s=`拾佰仟萬`,ec=`マイナス`,tc=`마이너스`,nc=function(e,t,n){var r=n?`. `:``,i=n?`、`:``,a=n?`, `:``,o=n?` `:``;switch(t){case 0:return`•`+o;case 1:return`◦`+o;case 2:return`◾`+o;case 5:var s=J(e,48,57,!0,r);return s.length<4?`0`+s:s;case 4:return Ks(e,`〇一二三四五六七八九`,i);case 6:return Ws(e,1,3999,Bs,3,r).toLowerCase();case 7:return Ws(e,1,3999,Bs,3,r);case 8:return J(e,945,969,!1,r);case 9:return J(e,97,122,!1,r);case 10:return J(e,65,90,!1,r);case 11:return J(e,1632,1641,!0,r);case 12:case 49:return Ws(e,1,9999,Vs,3,r);case 35:return Ws(e,1,9999,Vs,3,r).toLowerCase();case 13:return J(e,2534,2543,!0,r);case 14:case 30:return J(e,6112,6121,!0,r);case 15:return Ks(e,`子丑寅卯辰巳午未申酉戌亥`,i);case 16:return Ks(e,`甲乙丙丁戊己庚辛壬癸`,i);case 17:case 48:return Zs(e,`零一二三四五六七八九`,Qs,`負`,i,Js|Ys|Xs);case 47:return Zs(e,`零壹貳參肆伍陸柒捌玖`,$s,`負`,i,qs|Js|Ys|Xs);case 42:return Zs(e,`零一二三四五六七八九`,Qs,`负`,i,Js|Ys|Xs);case 41:return Zs(e,`零壹贰叁肆伍陆柒捌玖`,$s,`负`,i,qs|Js|Ys|Xs);case 26:return Zs(e,`〇一二三四五六七八九`,`十百千万`,ec,i,0);case 25:return Zs(e,`零壱弐参四伍六七八九`,`拾百千万`,ec,i,qs|Js|Ys);case 31:return Zs(e,`영일이삼사오육칠팔구`,`십백천만`,tc,a,qs|Js|Ys);case 33:return Zs(e,`零一二三四五六七八九`,`十百千萬`,tc,a,0);case 32:return Zs(e,`零壹貳參四五六七八九`,`拾百千`,tc,a,qs|Js|Ys);case 18:return J(e,2406,2415,!0,r);case 20:return Ws(e,1,19999,Us,3,r);case 21:return J(e,2790,2799,!0,r);case 22:return J(e,2662,2671,!0,r);case 22:return Ws(e,1,10999,Hs,3,r);case 23:return Ks(e,`あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん`);case 24:return Ks(e,`いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす`);case 27:return J(e,3302,3311,!0,r);case 28:return Ks(e,`アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン`,i);case 29:return Ks(e,`イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス`,i);case 34:return J(e,3792,3801,!0,r);case 37:return J(e,6160,6169,!0,r);case 38:return J(e,4160,4169,!0,r);case 39:return J(e,2918,2927,!0,r);case 40:return J(e,1776,1785,!0,r);case 43:return J(e,3046,3055,!0,r);case 44:return J(e,3174,3183,!0,r);case 45:return J(e,3664,3673,!0,r);case 46:return J(e,3872,3881,!0,r);case 3:default:return J(e,48,57,!0,r)}},rc=`data-html2canvas-ignore`,ic=function(){function e(e,t,n){if(this.context=e,this.options=n,this.scrolledElements=[],this.referenceElement=t,this.counters=new zs,this.quoteDepth=0,!t.ownerDocument)throw Error(`Cloned element does not have an owner document`);this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var n=this,a=oc(e,t);if(!a.contentWindow)return Promise.reject(`Unable to find iframe window`);var o=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,c=a.contentWindow,l=c.document,u=lc(a).then(function(){return r(n,void 0,void 0,function(){var e,n;return i(this,function(r){switch(r.label){case 0:return this.scrolledElements.forEach(mc),c&&(c.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(c.scrollY!==t.top||c.scrollX!==t.left)&&(this.context.logger.warn(`Unable to restore scroll position for cloned document`),this.context.windowBounds=this.context.windowBounds.add(c.scrollX-t.left,c.scrollY-t.top,0,0))),e=this.options.onclone,n=this.clonedReferenceElement,n===void 0?[2,Promise.reject(`Error finding the `+this.referenceElement.nodeName+` in the cloned document`)]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,cc(l)]:[3,4];case 3:r.sent(),r.label=4;case 4:return typeof e==`function`?[2,Promise.resolve().then(function(){return e(l,n)}).then(function(){return a})]:[2,a]}})})});return l.open(),l.write(fc(document.doctype)+``),pc(this.referenceElement.ownerDocument,o,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),u},e.prototype.createElementClone=function(e){if(Pa(e,2))debugger;if(ks(e))return this.createCanvasClone(e);if(As(e))return this.createVideoClone(e);if(Ns(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return js(t)&&(js(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=``),t.loading===`lazy`&&(t.loading=`eager`)),Rs(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement(`html2canvascustomelement`);return dc(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var n=[].slice.call(t.cssRules,0).reduce(function(e,t){return t&&typeof t.cssText==`string`?e+t.cssText:e},``),r=e.cloneNode(!1);return r.textContent=n,r}}catch(e){if(this.context.logger.error(`Unable to access cssRules property`,e),e.name!==`SecurityError`)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement(`img`);try{return t.src=e.toDataURL(),t}catch{this.context.logger.info(`Unable to inline canvas contents, canvas is tainted`,e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var r=e.getContext(`2d`),i=n.getContext(`2d`);if(i)if(!this.options.allowTaint&&r)i.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var a=e.getContext(`webgl2`)??e.getContext(`webgl`);a&&a.getContextAttributes()?.preserveDrawingBuffer===!1&&this.context.logger.warn(`Unable to clone WebGL context as it has preserveDrawingBuffer=false`,e),i.drawImage(e,0,0)}return n}catch{this.context.logger.info(`Unable to clone canvas as it is tainted`,e)}return n},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement(`canvas`);t.width=e.offsetWidth,t.height=e.offsetHeight;var n=t.getContext(`2d`);try{return n&&(n.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||n.getImageData(0,0,t.width,t.height)),t}catch{this.context.logger.info(`Unable to clone video as it is tainted`,e)}var r=e.ownerDocument.createElement(`canvas`);return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,t,n){(!bs(t)||!Ps(t)&&!t.hasAttribute(rc)&&(typeof this.options.ignoreElements!=`function`||!this.options.ignoreElements(t)))&&(!this.options.copyStyles||!bs(t)||!Ns(t))&&e.appendChild(this.cloneNode(t,n))},e.prototype.cloneChildNodes=function(e,t,n){for(var r=this,i=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;i;i=i.nextSibling)if(bs(i)&&Ls(i)&&typeof i.assignedNodes==`function`){var a=i.assignedNodes();a.length&&a.forEach(function(e){return r.appendChildNode(t,e,n)})}else this.appendChildNode(t,i,n)},e.prototype.cloneNode=function(e,t){if(ys(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&bs(e)&&(xs(e)||Ss(e))){var r=this.createElementClone(e);r.style.transitionProperty=`none`;var i=n.getComputedStyle(e),a=n.getComputedStyle(e,`:before`),o=n.getComputedStyle(e,`:after`);this.referenceElement===e&&xs(r)&&(this.clonedReferenceElement=r),Os(r)&&bc(r);var s=this.counters.parse(new ja(this.context,i)),c=this.resolvePseudoContent(e,r,a,ac.BEFORE);Rs(e)&&(t=!0),As(e)||this.cloneChildNodes(e,r,t),c&&r.insertBefore(c,r.firstChild);var l=this.resolvePseudoContent(e,r,o,ac.AFTER);return l&&r.appendChild(l),this.counters.pop(s),(i&&(this.options.copyStyles||Ss(e))&&!Ms(e)||t)&&dc(i,r),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(Fs(e)||Is(e))&&(Fs(r)||Is(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,n,r){var i=this;if(n){var a=n.content,o=t.ownerDocument;if(!(!o||!a||a===`none`||a===`-moz-alt-content`||n.display===`none`)){this.counters.parse(new ja(this.context,n));var s=new Aa(this.context,n),c=o.createElement(`html2canvaspseudoelement`);dc(n,c),s.content.forEach(function(t){if(t.type===0)c.appendChild(o.createTextNode(t.value));else if(t.type===22){var n=o.createElement(`img`);n.src=t.value,n.style.opacity=`1`,c.appendChild(n)}else if(t.type===18){if(t.name===`attr`){var r=t.values.filter(F);r.length&&c.appendChild(o.createTextNode(e.getAttribute(r[0].value)||``))}else if(t.name===`counter`){var a=t.values.filter(rr),l=a[0],u=a[1];if(l&&F(l)){var d=i.counters.getCounterValue(l.value),f=u&&F(u)?Ri.parse(i.context,u.value):3;c.appendChild(o.createTextNode(nc(d,f,!1)))}}else if(t.name===`counters`){var p=t.values.filter(rr),l=p[0],m=p[1],u=p[2];if(l&&F(l)){var h=i.counters.getCounterValues(l.value),g=u&&F(u)?Ri.parse(i.context,u.value):3,_=m&&m.type===0?m.value:``,v=h.map(function(e){return nc(e,g,!1)}).join(_);c.appendChild(o.createTextNode(v))}}}else if(t.type===20)switch(t.value){case`open-quote`:c.appendChild(o.createTextNode(wa(s.quotes,i.quoteDepth++,!0)));break;case`close-quote`:c.appendChild(o.createTextNode(wa(s.quotes,--i.quoteDepth,!1)));break;default:c.appendChild(o.createTextNode(t.value))}}),c.className=_c+` `+vc;var l=r===ac.BEFORE?` `+_c:` `+vc;return Ss(t)?t.className.baseValue+=l:t.className+=l,c}}},e.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},e}(),ac;(function(e){e[e.BEFORE=0]=`BEFORE`,e[e.AFTER=1]=`AFTER`})(ac||={});var oc=function(e,t){var n=e.createElement(`iframe`);return n.className=`html2canvas-container`,n.style.visibility=`hidden`,n.style.position=`fixed`,n.style.left=`-10000px`,n.style.top=`0px`,n.style.border=`0`,n.width=t.width.toString(),n.height=t.height.toString(),n.scrolling=`no`,n.setAttribute(rc,`true`),e.body.appendChild(n),n},sc=function(e){return new Promise(function(t){if(e.complete){t();return}if(!e.src){t();return}e.onload=t,e.onerror=t})},cc=function(e){return Promise.all([].slice.call(e.images,0).map(sc))},lc=function(e){return new Promise(function(t,n){var r=e.contentWindow;if(!r)return n(`No window assigned for iframe`);var i=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval(function(){i.body.childNodes.length>0&&i.readyState===`complete`&&(clearInterval(n),t(e))},50)}})},uc=[`all`,`d`,`content`],dc=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e.item(n);uc.indexOf(r)===-1&&t.style.setProperty(r,e.getPropertyValue(r))}return t},fc=function(e){var t=``;return e&&(t+=``),t},pc=function(e,t,n){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||n!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,n)},mc=function(e){var t=e[0],n=e[1],r=e[2];t.scrollLeft=n,t.scrollTop=r},hc=`:before`,gc=`:after`,_c=`___html2canvas___pseudoelement_before`,vc=`___html2canvas___pseudoelement_after`,yc=`{ content: "" !important; display: none !important; }`,bc=function(e){xc(e,`.`+_c+hc+yc+` diff --git a/dist/assets/html2canvas-D96SWxPk.js b/dist/assets/html2canvas-D96SWxPk.js new file mode 100644 index 000000000..9525c9973 --- /dev/null +++ b/dist/assets/html2canvas-D96SWxPk.js @@ -0,0 +1 @@ +import{t as e}from"./html2canvas-D20mtSgr.js";export default e(); \ No newline at end of file diff --git a/dist/assets/index-BfXtjgZ1.js b/dist/assets/index-DtFxxvye.js similarity index 56% rename from dist/assets/index-BfXtjgZ1.js rename to dist/assets/index-DtFxxvye.js index 1b4848c4f..409c5336d 100644 --- a/dist/assets/index-BfXtjgZ1.js +++ b/dist/assets/index-DtFxxvye.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KaiVohModal-DqaAc8Dk.js","assets/x-CArBFE1m.js","assets/SigilAuthContext-DxAUceu4.js","assets/SigilAuthProvider-DC455823.js","assets/sessionStorage-2Nr46eZD.js","assets/KaiVohModal-CFE3AqF3.css","assets/SigilModal-BLR62m8K.js","assets/SealMomentModal-DGtbCn7A.js","assets/SigilModal-rnEJVojR.js","assets/webauthnKAS-CfTQ1nee.js","assets/SigilModal-wz88cbxi.css","assets/HomePriceChartCard-BGCcuZMS.js","assets/prop-types-DLoCx3ki.js","assets/SigilExplorer-NDnyJCuL.js","assets/SigilExplorer-rA-Xs6Il.css","assets/VerifyPage-BtXhWnc2.js","assets/VerifierFrame-DPCnuxaa.js","assets/VerifierFrame-FeNZTUNm.css","assets/useValuation-BHaVRo0Z.js","assets/VerifyPage-DW7igY2L.css","assets/EternalKlock-Q9Ma8fJn.js","assets/EternalKlock-CYb1m8Lr.js","assets/EternalKlock-CurIGltn.css","assets/SigilStreamRoot-Bp7fJbYV.js","assets/SigilStreamRoot-MzG88CIn.js","assets/ticker-DSh75-xJ.js","assets/ticker-B0glx6FE.css","assets/useFastPress-H10Mu0X8.js","assets/SigilStreamRoot-2XLRV3MJ.css","assets/SigilFeedPage-6HGc5He6.js","assets/SigilFeedPage-B4dhBeIu.css","assets/SigilPage-CwpYV9Sy.js","assets/html2canvas-CX7x4v_I.js","assets/svgMeta-CvJppMrX.js","assets/SigilPage-0a5ZYUsQ.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KaiVohModal-CiiZjN6f.js","assets/x-Dbqk5kTV.js","assets/SigilAuthContext-OFGaeRDv.js","assets/SigilAuthProvider-CXn4HNTZ.js","assets/sessionStorage-2Nr46eZD.js","assets/KaiVohModal-CFE3AqF3.css","assets/SigilModal-DFItN10K.js","assets/SealMomentModal-0M7C7KOU.js","assets/SigilModal-I6o5tJYB.js","assets/webauthnKAS-Dx6bJ651.js","assets/SigilModal-wz88cbxi.css","assets/HomePriceChartCard-BJEoJCPF.js","assets/prop-types-YkQRgLAR.js","assets/SigilExplorer-BOoXjADk.js","assets/SigilExplorer-rA-Xs6Il.css","assets/VerifyPage-XbHelENw.js","assets/VerifierFrame-C3wusEJg.js","assets/VerifierFrame-FeNZTUNm.css","assets/useValuation-C7vd80-4.js","assets/VerifyPage-DW7igY2L.css","assets/EternalKlock-jpRkboUw.js","assets/EternalKlock-ExyiY2oa.js","assets/EternalKlock-CurIGltn.css","assets/SigilStreamRoot-R8RMoXIK.js","assets/SigilStreamRoot-DZfIDSg7.js","assets/ticker-DQftO_Mf.js","assets/ticker-B0glx6FE.css","assets/useFastPress-BncuGI3m.js","assets/SigilStreamRoot-2XLRV3MJ.css","assets/SigilFeedPage-Db4AHFP3.js","assets/SigilFeedPage-B4dhBeIu.css","assets/SigilPage-D5-nfszP.js","assets/html2canvas-D20mtSgr.js","assets/svgMeta-C-TxRrIg.js","assets/SigilPage-0a5ZYUsQ.css"])))=>i.map(i=>d[i]); var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=e=>{let n={};for(var r in e)t(n,r,{get:e[r],enumerable:!0});return n},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>l(t({},`__esModule`,{value:!0}),e),f=e=>t=>u(t.default,e),p=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function.")});(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var m=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u{t.exports=m()})),g=s((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),_=s(((e,t)=>{t.exports=g()})),v=s((e=>{var t=h();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=v()})),b=s((e=>{var t=_(),n=h(),r=y();function i(e){var t=`https://react.dev/errors/`+e;if(1B||(e.current=z[B],z[B]=null,B--)}function U(e,t){B++,z[B]=e.current,e.current=t}var ee=V(null),te=V(null),ne=V(null),re=V(null);function ie(e,t){switch(U(ne,t),U(te,e),U(ee,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Yd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Yd(t),e=Xd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}H(ee),U(ee,e)}function ae(){H(ee),H(te),H(ne)}function oe(e){e.memoizedState!==null&&U(re,e);var t=ee.current,n=Xd(t,e.type);t!==n&&(U(te,e),U(ee,n))}function se(e){te.current===e&&(H(ee),H(te)),re.current===e&&(H(re),ap._currentValue=R)}var ce,le;function ue(e){if(ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ce=t&&t[1]||``,le=-1)`:-1i||c[r]!==l[i]){var u=` `+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{de=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ue(n):``}function pe(e,t){switch(e.tag){case 26:case 27:case 5:return ue(e.type);case 16:return ue(`Lazy`);case 13:return e.child!==t&&t!==null?ue(`Suspense Fallback`):ue(`Suspense`);case 19:return ue(`SuspenseList`);case 0:case 15:return fe(e.type,!1);case 11:return fe(e.type.render,!1);case 1:return fe(e.type,!0);case 31:return ue(`Activity`);default:return``}}function me(e){try{var t=``,n=null;do t+=pe(e,n),n=e,e=e.return;while(e);return t}catch(e){return` Error generating stack: `+e.message+` -`+e.stack}}var W=Object.prototype.hasOwnProperty,he=t.unstable_scheduleCallback,ge=t.unstable_cancelCallback,_e=t.unstable_shouldYield,ve=t.unstable_requestPaint,ye=t.unstable_now,be=t.unstable_getCurrentPriorityLevel,xe=t.unstable_ImmediatePriority,Se=t.unstable_UserBlockingPriority,Ce=t.unstable_NormalPriority,we=t.unstable_LowPriority,Te=t.unstable_IdlePriority,Ee=t.log,De=t.unstable_setDisableYieldValue,Oe=null,ke=null;function Ae(e){if(typeof Ee==`function`&&De(e),ke&&typeof ke.setStrictMode==`function`)try{ke.setStrictMode(Oe,e)}catch{}}var je=Math.clz32?Math.clz32:Pe,Me=Math.log,Ne=Math.LN2;function Pe(e){return e>>>=0,e===0?32:31-(Me(e)/Ne|0)|0}var Fe=256,Ie=262144,Le=4194304;function Re(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ze(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Re(n))):i=Re(o):i=Re(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Re(n))):i=Re(o)):i=Re(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Be(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ve(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function He(){var e=Le;return Le<<=1,!(Le&62914560)&&(Le=4194304),e}function Ue(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function We(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ge(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),rn=!1;if(nn)try{var an={};Object.defineProperty(an,`passive`,{get:function(){rn=!0}}),window.addEventListener(`test`,an,an),window.removeEventListener(`test`,an,an)}catch{rn=!1}var on=null,sn=null,cn=null;function ln(){if(cn)return cn;var e,t=sn,n=t.length,r,i=`value`in on?on.value:on.textContent,a=i.length;for(e=0;e=Vn),Wn=` `,Gn=!1;function Kn(e,t){switch(e){case`keyup`:return zn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function qn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Jn=!1;function Yn(e,t){switch(e){case`compositionend`:return qn(t);case`keypress`:return t.which===32?(Gn=!0,Wn):null;case`textInput`:return e=t.data,e===Wn&&Gn?null:e;default:return null}}function Xn(e,t){if(Jn)return e===`compositionend`||!Bn&&Kn(e,t)?(e=ln(),cn=sn=on=null,Jn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=vr(n)}}function br(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?br(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function xr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=At(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=At(e.document)}return t}function Sr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Cr=nn&&`documentMode`in document&&11>=document.documentMode,wr=null,Tr=null,Er=null,Dr=!1;function Or(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Dr||wr==null||wr!==At(r)||(r=wr,`selectionStart`in r&&Sr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Er&&_r(Er,r)||(Er=r,r=Nd(Tr,`onSelect`),0>=o,i-=o,bi=1<<32-je(t)+i|n<m?(g=d,d=null):g=d.sibling;var _=p(i,d,s[m],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,m),u===null?l=_:u.sibling=_,u=_,d=g}if(m===s.length)return n(i,d),Oi&&Si(i,m),l;if(d===null){for(;mg?(_=m,m=null):_=m.sibling;var y=p(a,m,v.value,l);if(y===null){m===null&&(m=_);break}e&&m&&y.alternate===null&&t(a,m),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,m=_}if(v.done)return n(a,m),Oi&&Si(a,g),u;if(m===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Oi&&Si(a,g),u}for(m=r(m);!v.done;g++,v=c.next())v=h(m,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&m.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&m.forEach(function(e){return t(a,e)}),Oi&&Si(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case m:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Sa(l)===r.type){n(e,r.sibling),c=a(r,o.props),ka(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===v?(c=si(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=oi(o.type,o.key,o.props,null,e.mode,c),ka(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=ui(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Sa(o),b(e,r,o,c)}if(F(o))return _(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Oa(o),c);if(o.$$typeof===C)return b(e,r,Xi(e,o),c);Aa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=ci(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Da=0;var i=b(e,t,n,r);return Ea=null,i}catch(t){if(t===ga||t===va)throw t;var a=ni(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ma=ja(!0),Na=ja(!1),Pa=!1;function Fa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ia(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function La(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ra(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,zl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=$r(e),Qr(e,null,n),t}return Yr(e,r,t,n),$r(e)}function za(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,qe(e,n)}}function Ba(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Va=!1;function Ha(){if(Va){var e=sa;if(e!==null)throw e}}function Ua(e,t,n,r){Va=!1;var i=e.updateQueue;Pa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var p=s.lane&-536870913,m=p!==s.lane;if(m?(Hl&p)===p:(r&p)===p){p!==0&&p===oa&&(Va=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;p=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,p);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,p=typeof h==`function`?h.call(_,d,p):h,p==null)break a;d=f({},d,p);break a;case 2:Pa=!0}}p=s.callback,p!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[p]:m.push(p))}else m={lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=p;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Xl|=o,e.lanes=o,e.memoizedState=d}}function Wa(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Ga(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=I.T,s={};I.T=s,Ms(e,!1,t,n);try{var c=i(),l=I.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?js(e,t,ua(c,r),vu(e)):js(e,t,r,vu(e))}catch(n){js(e,t,{then:function(){},status:`rejected`,reason:n},vu())}finally{L.p=a,o!==null&&s.types!==null&&(o.types=s.types),I.T=o}}function xs(){}function Ss(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Cs(e).queue;bs(e,a,t,R,n===null?xs:function(){return ws(e),n(r)})}function Cs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:R,baseState:R,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:R},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ws(e){var t=Cs(e);t.next===null&&(t=e.alternate.memoizedState),js(e,t.next.queue,{},vu())}function Ts(){return Yi(ap)}function Es(){return Oo().memoizedState}function Ds(){return Oo().memoizedState}function Os(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=vu();e=La(n);var r=Ra(t,e,n);r!==null&&(bu(r,t,n),za(r,t,n)),t={cache:na()},e.payload=t;return}t=t.return}}function ks(e,t,n){var r=vu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ns(e)?Ps(t,n):(n=Xr(e,t,n,r),n!==null&&(bu(n,e,r),Fs(n,t,r)))}function As(e,t,n){js(e,t,n,vu())}function js(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ns(e))Ps(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,gr(s,o))return Yr(e,t,i,0),Bl===null&&Jr(),!1}catch{}if(n=Xr(e,t,i,r),n!==null)return bu(n,e,r),Fs(n,t,r),!0}return!1}function Ms(e,t,n,r){if(r={lane:2,revertLane:_d(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ns(e)){if(t)throw Error(i(479))}else t=Xr(e,n,r,2),t!==null&&bu(t,e,2)}function Ns(e){var t=e.alternate;return e===so||t!==null&&t===so}function Ps(e,t){fo=uo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Fs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,qe(e,n)}}var Is={readContext:Yi,use:jo,useCallback:vo,useContext:vo,useEffect:vo,useImperativeHandle:vo,useLayoutEffect:vo,useInsertionEffect:vo,useMemo:vo,useReducer:vo,useRef:vo,useState:vo,useDebugValue:vo,useDeferredValue:vo,useTransition:vo,useSyncExternalStore:vo,useId:vo,useHostTransitionStatus:vo,useFormState:vo,useActionState:vo,useOptimistic:vo,useMemoCache:vo,useCacheRefresh:vo};Is.useEffectEvent=vo;var Ls={readContext:Yi,use:jo,useCallback:function(e,t){return Do().memoizedState=[e,t===void 0?null:t],e},useContext:Yi,useEffect:ss,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),as(4194308,4,ps.bind(null,t,e),n)},useLayoutEffect:function(e,t){return as(4194308,4,e,t)},useInsertionEffect:function(e,t){as(4,2,e,t)},useMemo:function(e,t){var n=Do();t=t===void 0?null:t;var r=e();if(po){Ae(!0);try{e()}finally{Ae(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Do();if(n!==void 0){var i=n(t);if(po){Ae(!0);try{n(t)}finally{Ae(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=ks.bind(null,so,e),[r.memoizedState,e]},useRef:function(e){var t=Do();return e={current:e},t.memoizedState=e},useState:function(e){e=Uo(e);var t=e.queue,n=As.bind(null,so,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:hs,useDeferredValue:function(e,t){return vs(Do(),e,t)},useTransition:function(){var e=Uo(!1);return e=bs.bind(null,so,e.queue,!0,!1),Do().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=so,a=Do();if(Oi){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Bl===null)throw Error(i(349));Hl&127||Ro(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ss(Bo.bind(null,r,o,e),[e]),r.flags|=2048,rs(9,{destroy:void 0},zo.bind(null,r,o,n,t),null),n},useId:function(){var e=Do(),t=Bl.identifierPrefix;if(Oi){var n=xi,r=bi;n=(r&~(1<<32-je(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=mo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[et]=t,o[tt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Hd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&jc(t)}}return Ic(t),Mc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&jc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ne.current,Fi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=G,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[et]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||zd(e.nodeValue,n)),e||Mi(t,!0)}else e=Jd(e).createTextNode(r),e[et]=t,t.stateNode=e}return Ic(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Fi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[et]=t}else Ii(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),e=!1}else n=Li(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(ro(t),t):(ro(t),null);if(t.flags&128)throw Error(i(558))}return Ic(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Fi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[et]=t}else Ii(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),a=!1}else a=Li(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(ro(t),t):(ro(t),null)}return ro(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Pc(t,t.updateQueue),Ic(t),null);case 4:return ae(),e===null&&kd(t.stateNode.containerInfo),Ic(t),null;case 10:return Ui(t.type),Ic(t),null;case 19:if(H(io),r=t.memoizedState,r===null)return Ic(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Fc(r,!1);else{if(Yl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ao(e),o!==null){for(t.flags|=128,Fc(r,!1),e=o.updateQueue,t.updateQueue=e,Pc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ai(n,e),n=n.sibling;return U(io,io.current&1|2),Oi&&Si(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&ye()>ou&&(t.flags|=128,a=!0,Fc(r,!1),t.lanes=4194304)}else{if(!a)if(e=ao(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Pc(t,e),Fc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Oi)return Ic(t),null}else 2*ye()-r.renderingStartTime>ou&&n!==536870912&&(t.flags|=128,a=!0,Fc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Ic(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ye(),e.sibling=null,n=io.current,U(io,a?n&1|2:n&1),Oi&&Si(t,r.treeForkCount),e);case 22:case 23:return ro(t),Xa(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Ic(t),t.subtreeFlags&6&&(t.flags|=8192)):Ic(t),n=t.updateQueue,n!==null&&Pc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&H(fa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ui(ta),Ic(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Rc(e,t){switch(Ti(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ui(ta),ae(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return se(t),null;case 31:if(t.memoizedState!==null){if(ro(t),t.alternate===null)throw Error(i(340));Ii()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ro(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Ii()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(io),null;case 4:return ae(),null;case 10:return Ui(t.type),null;case 22:case 23:return ro(t),Xa(),e!==null&&H(fa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ui(ta),null;case 25:return null;default:return null}}function zc(e,t){switch(Ti(t),t.tag){case 3:Ui(ta),ae();break;case 26:case 27:case 5:se(t);break;case 4:ae();break;case 31:t.memoizedState!==null&&ro(t);break;case 13:ro(t);break;case 19:H(io);break;case 10:Ui(t.type);break;case 22:case 23:ro(t),Xa(),e!==null&&H(fa);break;case 24:Ui(ta)}}function Bc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Xu(t,t.return,e)}}function Vc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Xu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Xu(t,t.return,e)}}function Hc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ga(t,n)}catch(t){Xu(e,e.return,t)}}}function Uc(e,t,n){n.props=Ws(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Xu(e,t,n)}}function Wc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Xu(e,t,n)}}function Gc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Xu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Xu(e,t,n)}else n.current=null}function Kc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Xu(e,e.return,t)}}function qc(e,t,n){try{var r=e.stateNode;Ud(r,e.type,n,t),r[tt]=t}catch(t){Xu(e,e.return,t)}}function Jc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&of(e.type)||e.tag===4}function Yc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Jc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&of(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=qt));else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Hd(t,r,n),t[et]=e,t[tt]=n}catch(t){Xu(e,e.return,t)}}var $c=!1,el=!1,tl=!1,nl=typeof WeakSet==`function`?WeakSet:Set,rl=null;function il(e,t){if(e=e.containerInfo,Kd=mp,e=xr(e),Sr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(qd={focusedElem:e,selectionRange:n},mp=!1,rl=t;rl!==null;)if(t=rl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,rl=e;else for(;rl!==null;){switch(t=rl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Hd(o,r,n),o[et]=e,pt(o),r=o;break a;case`link`:var s=Jf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=yr(s,h),v=yr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,I.T=null,n=mu,mu=null;var o=uu,s=fu;if(lu=0,du=uu=null,fu=0,zl&6)throw Error(i(331));var c=zl;if(zl|=4,Pl(o.current),El(o,o.current,s,n),zl=c,ud(0,!1),ke&&typeof ke.onPostCommitFiberRoot==`function`)try{ke.onPostCommitFiberRoot(Oe,o)}catch{}return!0}finally{L.p=a,I.T=r,Ku(e,t)}}function Yu(e,t,n){t=fi(n,t),t=Xs(e.stateNode,t,2),e=Ra(e,t,2),e!==null&&(We(e,2),ld(e))}function Xu(e,t,n){if(e.tag===3)Yu(e,e,n);else for(;t!==null;){if(t.tag===3){Yu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(cu===null||!cu.has(r))){e=fi(n,e),n=Zs(2),r=Ra(t,n,2),r!==null&&(Qs(n,r,t,e),We(r,2),ld(r));break}}t=t.return}}function Zu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ql=!0,i.add(n),e=Qu.bind(null,e,t,n),t.then(e,e))}function Qu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Bl===e&&(Hl&n)===n&&(Yl===4||Yl===3&&(Hl&62914560)===Hl&&300>ye()-iu?!(zl&2)&&Du(e,0):Ql|=n,eu===Hl&&(eu=0)),ld(e)}function $u(e,t){t===0&&(t=He()),e=Zr(e,t),e!==null&&(We(e,t),ld(e))}function ed(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$u(e,n)}function td(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),$u(e,n)}function nd(e,t){return he(e,t)}var rd=null,id=null,ad=!1,od=!1,sd=!1,cd=0;function ld(e){e!==id&&e.next===null&&(id===null?rd=id=e:id=id.next=e),od=!0,ad||(ad=!0,gd())}function ud(e,t){if(!sd&&od){sd=!0;do for(var n=!1,r=rd;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-je(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,hd(r,a))}else a=Hl,a=ze(r,r===Bl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Be(r,a)||(n=!0,hd(r,a));r=r.next}while(n);sd=!1}}function dd(){fd()}function fd(){od=ad=!1;var e=0;cd!==0&&$d()&&(e=cd);for(var t=ye(),n=null,r=rd;r!==null;){var i=r.next,a=pd(r,t);a===0?(r.next=null,n===null?rd=i:n.next=i,i===null&&(id=n)):(n=r,(e!==0||a&3)&&(od=!0)),r=i}lu!==0&&lu!==5||ud(e,!1),cd!==0&&(cd=0)}function pd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Wd(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function Of(e,t,n){var r=Df;if(r&&typeof t==`string`&&t){var i=Mt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Sf.has(i)||(Sf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Hd(t,`link`,e),pt(t),r.head.appendChild(t)))}}function kf(e){wf.D(e),Of(`dns-prefetch`,e,null)}function Af(e,t){wf.C(e,t),Of(`preconnect`,e,t)}function jf(e,t,n){wf.L(e,t,n);var r=Df;if(r&&e&&t){var i=`link[rel="preload"][as="`+Mt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Mt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Mt(n.imageSizes)+`"]`)):i+=`[href="`+Mt(e)+`"]`;var a=i;switch(t){case`style`:a=Lf(e);break;case`script`:a=Vf(e)}xf.has(a)||(e=f({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),xf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Rf(a))||t===`script`&&r.querySelector(Hf(a))||(t=r.createElement(`link`),Hd(t,`link`,e),pt(t),r.head.appendChild(t)))}}function Mf(e,t){wf.m(e,t);var n=Df;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Mt(r)+`"][href="`+Mt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Vf(e)}if(!xf.has(a)&&(e=f({rel:`modulepreload`,href:e},t),xf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Hf(a)))return}r=n.createElement(`link`),Hd(r,`link`,e),pt(r),n.head.appendChild(r)}}}function Nf(e,t,n){wf.S(e,t,n);var r=Df;if(r&&e){var i=ft(r).hoistableStyles,a=Lf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Rf(a)))s.loading=5;else{e=f({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=xf.get(a))&&Gf(e,n);var c=o=r.createElement(`link`);pt(c),Hd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Wf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Pf(e,t){wf.X(e,t);var n=Df;if(n&&e){var r=ft(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=f({src:e,async:!0},t),(t=xf.get(i))&&Kf(e,t),a=n.createElement(`script`),pt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Ff(e,t){wf.M(e,t);var n=Df;if(n&&e){var r=ft(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=f({src:e,async:!0,type:`module`},t),(t=xf.get(i))&&Kf(e,t),a=n.createElement(`script`),pt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function If(e,t,n,r){var a=(a=ne.current)?Cf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Lf(n.href),n=ft(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Lf(n.href);var o=ft(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Rf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),xf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},xf.set(e,n),o||Bf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Vf(n),n=ft(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Lf(e){return`href="`+Mt(e)+`"`}function Rf(e){return`link[rel="stylesheet"][`+e+`]`}function zf(e){return f({},e,{"data-precedence":e.precedence,precedence:null})}function Bf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Hd(t,`link`,n),pt(t),e.head.appendChild(t))}function Vf(e){return`[src="`+Mt(e)+`"]`}function Hf(e){return`script[async]`+e}function Uf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Mt(n.href)+`"]`);if(r)return t.instance=r,pt(r),r;var a=f({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),pt(r),Hd(r,`style`,a),Wf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Lf(n.href);var o=e.querySelector(Rf(a));if(o)return t.state.loading|=4,t.instance=o,pt(o),o;r=zf(n),(a=xf.get(a))&&Gf(r,a),o=(e.ownerDocument||e).createElement(`link`),pt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Hd(o,`link`,r),t.state.loading|=4,Wf(o,n.precedence,e),t.instance=o;case`script`:return o=Vf(n.src),(a=e.querySelector(Hf(o)))?(t.instance=a,pt(a),a):(r=n,(a=xf.get(o))&&(r=f({},n),Kf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),pt(a),Hd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Wf(r,n.precedence,e));return t.instance}function Wf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Xf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Zf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Qf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Lf(r.href),a=t.querySelector(Rf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=tp.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,pt(a);return}a=t.ownerDocument||t,r=zf(r),(i=xf.get(i))&&Gf(r,i),a=a.createElement(`link`),pt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Hd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=tp.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $f=0;function ep(e,t){return e.stylesheets&&e.count===0&&rp(e,e.stylesheets),0$f?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function tp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var np=null;function rp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,np=new Map,t.forEach(ip,e),np=null,tp.call(e))}function ip(e,t){if(!(t.state.loading&4)){var n=np.get(e);if(n)var r=n.get(null);else{n=new Map,np.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=b()})),S=u(x(),1),C=u(h(),1),w=u(y(),1),T=`modulepreload`,E=function(e){return`/`+e},D={};const O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=E(t,n),t in D)return;D[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:T,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var k=`popstate`;function A(e={}){function t(e,t){let{pathname:n,search:r,hash:i}=e.location;return F(``,{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||`default`)}function n(e,t){return typeof t==`string`?t:I(t)}return R(t,n,null,e)}function j(e,t){if(e===!1||e==null)throw Error(t)}function M(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function N(){return Math.random().toString(36).substring(2,10)}function P(e,t){return{usr:e.state,key:e.key,idx:t}}function F(e,t,n=null,r){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?L(t):t,state:n,key:t&&t.key||r||N()}}function I({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function L(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function R(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=F(h.location,e,t);n&&n(r,e),l=u()+1;let d=P(r,l),f=h.createHref(r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=F(h.location,e,t);n&&n(r,e),l=u();let i=P(r,l),d=h.createHref(r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return z(e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(k,d),c=e,()=>{i.removeEventListener(k,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function z(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),j(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:I(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function B(e,t,n=`/`){return V(e,t,n,!1)}function V(e,t,n,r){let i=W((typeof t==`string`?L(t):t).pathname||`/`,n);if(i==null)return null;let a=U(e);te(a);let o=null;for(let e=0;o==null&&e{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;j(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Ce([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(j(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),U(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:le(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of ee(e.path))a(e,t,!0,n)}),t}function ee(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=ee(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function te(e){e.sort((e,t)=>e.score===t.score?ue(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ne=/^:[\w-]+$/,re=3,ie=2,ae=1,oe=10,se=-2,ce=e=>e===`*`;function le(e,t){let n=e.split(`/`),r=n.length;return n.some(ce)&&(r+=se),t&&(r+=ie),n.filter(e=>!ce(e)).reduce((e,t)=>e+(ne.test(t)?re:t===``?ae:oe),r)}function ue(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function de(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function pe(e,t=!1,n=!0){M(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:n!=null}),n?`/?([^\\/]+)?`:`/([^\\/]+)`)).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function me(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return M(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function W(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}var he=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ge=e=>he.test(e);function _e(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?L(e):e,a;if(n)if(ge(n))a=n;else{if(n.includes(`//`)){let e=n;n=n.replace(/\/\/+/g,`/`),M(!1,`Pathnames cannot have embedded double slashes - normalizing ${e} -> ${n}`)}a=n.startsWith(`/`)?ve(n.substring(1),`/`):ve(n,t)}else a=t;return{pathname:a,search:Te(r),hash:Ee(i)}}function ve(e,t){let n=t.replace(/\/+$/,``).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ye(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function be(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function xe(e){let t=be(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Se(e,t,n,r=!1){let i;typeof e==`string`?i=L(e):(i={...e},j(!i.pathname||!i.pathname.includes(`?`),ye(`?`,`pathname`,`search`,i)),j(!i.pathname||!i.pathname.includes(`#`),ye(`#`,`pathname`,`hash`,i)),j(!i.search||!i.search.includes(`#`),ye(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=_e(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Ce=e=>e.join(`/`).replace(/\/\/+/g,`/`),we=e=>e.replace(/\/+$/,``).replace(/^\/*/,`/`),Te=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Ee=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,De=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Oe(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function ke(e){return e.map(e=>e.route.path).filter(Boolean).join(`/`).replace(/\/\/*/g,`/`)||`/`}var Ae=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function je(e,t){let n=e;if(typeof n!=`string`||!he.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Ae)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=W(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{M(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Me=C.createContext(null);Me.displayName=`DataRouter`;var Ne=C.createContext(null);Ne.displayName=`DataRouterState`;var Pe=C.createContext(!1),Fe=C.createContext({isTransitioning:!1});Fe.displayName=`ViewTransition`;var Ie=C.createContext(new Map);Ie.displayName=`Fetchers`;var Le=C.createContext(null);Le.displayName=`Await`;var Re=C.createContext(null);Re.displayName=`Navigation`;var ze=C.createContext(null);ze.displayName=`Location`;var Be=C.createContext({outlet:null,matches:[],isDataRoute:!1});Be.displayName=`Route`;var Ve=C.createContext(null);Ve.displayName=`RouteError`;var He=`REACT_ROUTER_ERROR`,Ue=`REDIRECT`,We=`ROUTE_ERROR_RESPONSE`;function Ge(e){if(e.startsWith(`${He}:${Ue}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Ke(e){if(e.startsWith(`${He}:${We}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new De(t.status,t.statusText,t.data)}catch{}}function qe(e,{relative:t}={}){j(Je(),`useHref() may be used only in the context of a component.`);let{basename:n,navigator:r}=C.useContext(Re),{hash:i,pathname:a,search:o}=it(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Ce([n,a])),r.createHref({pathname:s,search:o,hash:i})}function Je(){return C.useContext(ze)!=null}function Ye(){return j(Je(),`useLocation() may be used only in the context of a component.`),C.useContext(ze).location}function Xe(){return C.useContext(ze).navigationType}var Ze=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Qe(e){C.useContext(Re).static||C.useLayoutEffect(e)}function $e(){let{isDataRoute:e}=C.useContext(Be);return e?Ct():et()}function et(){j(Je(),`useNavigate() may be used only in the context of a component.`);let e=C.useContext(Me),{basename:t,navigator:n}=C.useContext(Re),{matches:r}=C.useContext(Be),{pathname:i}=Ye(),a=JSON.stringify(xe(r)),o=C.useRef(!1);return Qe(()=>{o.current=!0}),C.useCallback((r,s={})=>{if(M(o.current,Ze),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Se(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Ce([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var tt=C.createContext(null);function nt(e){let t=C.useContext(Be).outlet;return C.useMemo(()=>t&&C.createElement(tt.Provider,{value:e},t),[t,e])}function rt(){let{matches:e}=C.useContext(Be),t=e[e.length-1];return t?t.params:{}}function it(e,{relative:t}={}){let{matches:n}=C.useContext(Be),{pathname:r}=Ye(),i=JSON.stringify(xe(n));return C.useMemo(()=>Se(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function at(e,t){return ot(e,t)}function ot(e,t,n,r,i){j(Je(),`useRoutes() may be used only in the context of a component.`);let{navigator:a}=C.useContext(Re),{matches:o}=C.useContext(Be),s=o[o.length-1],c=s?s.params:{},l=s?s.pathname:`/`,u=s?s.pathnameBase:`/`,d=s&&s.route;{let e=d&&d.path||``;Tt(l,!d||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant (or called \`useRoutes()\`) at "${l}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. +`+e.stack}}var W=Object.prototype.hasOwnProperty,he=t.unstable_scheduleCallback,ge=t.unstable_cancelCallback,_e=t.unstable_shouldYield,ve=t.unstable_requestPaint,ye=t.unstable_now,be=t.unstable_getCurrentPriorityLevel,xe=t.unstable_ImmediatePriority,Se=t.unstable_UserBlockingPriority,Ce=t.unstable_NormalPriority,we=t.unstable_LowPriority,Te=t.unstable_IdlePriority,Ee=t.log,De=t.unstable_setDisableYieldValue,Oe=null,ke=null;function Ae(e){if(typeof Ee==`function`&&De(e),ke&&typeof ke.setStrictMode==`function`)try{ke.setStrictMode(Oe,e)}catch{}}var je=Math.clz32?Math.clz32:Pe,Me=Math.log,Ne=Math.LN2;function Pe(e){return e>>>=0,e===0?32:31-(Me(e)/Ne|0)|0}var Fe=256,Ie=262144,Le=4194304;function Re(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ze(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Re(n))):i=Re(o):i=Re(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Re(n))):i=Re(o)):i=Re(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Be(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ve(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function He(){var e=Le;return Le<<=1,!(Le&62914560)&&(Le=4194304),e}function Ue(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function We(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ge(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),rn=!1;if(nn)try{var an={};Object.defineProperty(an,`passive`,{get:function(){rn=!0}}),window.addEventListener(`test`,an,an),window.removeEventListener(`test`,an,an)}catch{rn=!1}var on=null,sn=null,cn=null;function ln(){if(cn)return cn;var e,t=sn,n=t.length,r,i=`value`in on?on.value:on.textContent,a=i.length;for(e=0;e=Vn),Wn=` `,Gn=!1;function Kn(e,t){switch(e){case`keyup`:return zn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function qn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Jn=!1;function Yn(e,t){switch(e){case`compositionend`:return qn(t);case`keypress`:return t.which===32?(Gn=!0,Wn):null;case`textInput`:return e=t.data,e===Wn&&Gn?null:e;default:return null}}function Xn(e,t){if(Jn)return e===`compositionend`||!Bn&&Kn(e,t)?(e=ln(),cn=sn=on=null,Jn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=vr(n)}}function br(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?br(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function xr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=At(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=At(e.document)}return t}function Sr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Cr=nn&&`documentMode`in document&&11>=document.documentMode,wr=null,Tr=null,Er=null,Dr=!1;function Or(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Dr||wr==null||wr!==At(r)||(r=wr,`selectionStart`in r&&Sr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Er&&_r(Er,r)||(Er=r,r=Nd(Tr,`onSelect`),0>=o,i-=o,bi=1<<32-je(t)+i|n<m?(g=d,d=null):g=d.sibling;var _=p(i,d,s[m],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,m),u===null?l=_:u.sibling=_,u=_,d=g}if(m===s.length)return n(i,d),Oi&&Si(i,m),l;if(d===null){for(;mg?(_=m,m=null):_=m.sibling;var y=p(a,m,v.value,l);if(y===null){m===null&&(m=_);break}e&&m&&y.alternate===null&&t(a,m),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,m=_}if(v.done)return n(a,m),Oi&&Si(a,g),u;if(m===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Oi&&Si(a,g),u}for(m=r(m);!v.done;g++,v=c.next())v=h(m,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&m.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&m.forEach(function(e){return t(a,e)}),Oi&&Si(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case m:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Sa(l)===r.type){n(e,r.sibling),c=a(r,o.props),ka(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===v?(c=si(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=oi(o.type,o.key,o.props,null,e.mode,c),ka(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=ui(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Sa(o),b(e,r,o,c)}if(F(o))return _(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Oa(o),c);if(o.$$typeof===C)return b(e,r,Xi(e,o),c);Aa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=ci(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Da=0;var i=b(e,t,n,r);return Ea=null,i}catch(t){if(t===ga||t===va)throw t;var a=ni(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ma=ja(!0),Na=ja(!1),Pa=!1;function Fa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ia(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function La(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ra(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,zl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=$r(e),Qr(e,null,n),t}return Yr(e,r,t,n),$r(e)}function za(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,qe(e,n)}}function Ba(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Va=!1;function Ha(){if(Va){var e=sa;if(e!==null)throw e}}function Ua(e,t,n,r){Va=!1;var i=e.updateQueue;Pa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var p=s.lane&-536870913,m=p!==s.lane;if(m?(Hl&p)===p:(r&p)===p){p!==0&&p===oa&&(Va=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;p=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,p);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,p=typeof h==`function`?h.call(_,d,p):h,p==null)break a;d=f({},d,p);break a;case 2:Pa=!0}}p=s.callback,p!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[p]:m.push(p))}else m={lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=p;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Xl|=o,e.lanes=o,e.memoizedState=d}}function Wa(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Ga(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=I.T,s={};I.T=s,Ms(e,!1,t,n);try{var c=i(),l=I.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?js(e,t,ua(c,r),vu(e)):js(e,t,r,vu(e))}catch(n){js(e,t,{then:function(){},status:`rejected`,reason:n},vu())}finally{L.p=a,o!==null&&s.types!==null&&(o.types=s.types),I.T=o}}function xs(){}function Ss(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Cs(e).queue;bs(e,a,t,R,n===null?xs:function(){return ws(e),n(r)})}function Cs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:R,baseState:R,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:R},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ws(e){var t=Cs(e);t.next===null&&(t=e.alternate.memoizedState),js(e,t.next.queue,{},vu())}function Ts(){return Yi(ap)}function Es(){return Oo().memoizedState}function Ds(){return Oo().memoizedState}function Os(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=vu();e=La(n);var r=Ra(t,e,n);r!==null&&(bu(r,t,n),za(r,t,n)),t={cache:na()},e.payload=t;return}t=t.return}}function ks(e,t,n){var r=vu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ns(e)?Ps(t,n):(n=Xr(e,t,n,r),n!==null&&(bu(n,e,r),Fs(n,t,r)))}function As(e,t,n){js(e,t,n,vu())}function js(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ns(e))Ps(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,gr(s,o))return Yr(e,t,i,0),Bl===null&&Jr(),!1}catch{}if(n=Xr(e,t,i,r),n!==null)return bu(n,e,r),Fs(n,t,r),!0}return!1}function Ms(e,t,n,r){if(r={lane:2,revertLane:_d(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ns(e)){if(t)throw Error(i(479))}else t=Xr(e,n,r,2),t!==null&&bu(t,e,2)}function Ns(e){var t=e.alternate;return e===so||t!==null&&t===so}function Ps(e,t){fo=uo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Fs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,qe(e,n)}}var Is={readContext:Yi,use:jo,useCallback:vo,useContext:vo,useEffect:vo,useImperativeHandle:vo,useLayoutEffect:vo,useInsertionEffect:vo,useMemo:vo,useReducer:vo,useRef:vo,useState:vo,useDebugValue:vo,useDeferredValue:vo,useTransition:vo,useSyncExternalStore:vo,useId:vo,useHostTransitionStatus:vo,useFormState:vo,useActionState:vo,useOptimistic:vo,useMemoCache:vo,useCacheRefresh:vo};Is.useEffectEvent=vo;var Ls={readContext:Yi,use:jo,useCallback:function(e,t){return Do().memoizedState=[e,t===void 0?null:t],e},useContext:Yi,useEffect:ss,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),as(4194308,4,ps.bind(null,t,e),n)},useLayoutEffect:function(e,t){return as(4194308,4,e,t)},useInsertionEffect:function(e,t){as(4,2,e,t)},useMemo:function(e,t){var n=Do();t=t===void 0?null:t;var r=e();if(po){Ae(!0);try{e()}finally{Ae(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Do();if(n!==void 0){var i=n(t);if(po){Ae(!0);try{n(t)}finally{Ae(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=ks.bind(null,so,e),[r.memoizedState,e]},useRef:function(e){var t=Do();return e={current:e},t.memoizedState=e},useState:function(e){e=Uo(e);var t=e.queue,n=As.bind(null,so,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:hs,useDeferredValue:function(e,t){return vs(Do(),e,t)},useTransition:function(){var e=Uo(!1);return e=bs.bind(null,so,e.queue,!0,!1),Do().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=so,a=Do();if(Oi){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Bl===null)throw Error(i(349));Hl&127||Ro(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ss(Bo.bind(null,r,o,e),[e]),r.flags|=2048,rs(9,{destroy:void 0},zo.bind(null,r,o,n,t),null),n},useId:function(){var e=Do(),t=Bl.identifierPrefix;if(Oi){var n=xi,r=bi;n=(r&~(1<<32-je(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=mo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[et]=t,o[tt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Hd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&jc(t)}}return Ic(t),Mc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&jc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ne.current,Fi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=G,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[et]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||zd(e.nodeValue,n)),e||Mi(t,!0)}else e=Jd(e).createTextNode(r),e[et]=t,t.stateNode=e}return Ic(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Fi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[et]=t}else Ii(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),e=!1}else n=Li(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(ro(t),t):(ro(t),null);if(t.flags&128)throw Error(i(558))}return Ic(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Fi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[et]=t}else Ii(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),a=!1}else a=Li(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(ro(t),t):(ro(t),null)}return ro(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Pc(t,t.updateQueue),Ic(t),null);case 4:return ae(),e===null&&kd(t.stateNode.containerInfo),Ic(t),null;case 10:return Ui(t.type),Ic(t),null;case 19:if(H(io),r=t.memoizedState,r===null)return Ic(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Fc(r,!1);else{if(Yl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ao(e),o!==null){for(t.flags|=128,Fc(r,!1),e=o.updateQueue,t.updateQueue=e,Pc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ai(n,e),n=n.sibling;return U(io,io.current&1|2),Oi&&Si(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&ye()>ou&&(t.flags|=128,a=!0,Fc(r,!1),t.lanes=4194304)}else{if(!a)if(e=ao(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Pc(t,e),Fc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Oi)return Ic(t),null}else 2*ye()-r.renderingStartTime>ou&&n!==536870912&&(t.flags|=128,a=!0,Fc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Ic(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ye(),e.sibling=null,n=io.current,U(io,a?n&1|2:n&1),Oi&&Si(t,r.treeForkCount),e);case 22:case 23:return ro(t),Xa(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Ic(t),t.subtreeFlags&6&&(t.flags|=8192)):Ic(t),n=t.updateQueue,n!==null&&Pc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&H(fa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ui(ta),Ic(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Rc(e,t){switch(Ti(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ui(ta),ae(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return se(t),null;case 31:if(t.memoizedState!==null){if(ro(t),t.alternate===null)throw Error(i(340));Ii()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ro(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Ii()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(io),null;case 4:return ae(),null;case 10:return Ui(t.type),null;case 22:case 23:return ro(t),Xa(),e!==null&&H(fa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ui(ta),null;case 25:return null;default:return null}}function zc(e,t){switch(Ti(t),t.tag){case 3:Ui(ta),ae();break;case 26:case 27:case 5:se(t);break;case 4:ae();break;case 31:t.memoizedState!==null&&ro(t);break;case 13:ro(t);break;case 19:H(io);break;case 10:Ui(t.type);break;case 22:case 23:ro(t),Xa(),e!==null&&H(fa);break;case 24:Ui(ta)}}function Bc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Xu(t,t.return,e)}}function Vc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Xu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Xu(t,t.return,e)}}function Hc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ga(t,n)}catch(t){Xu(e,e.return,t)}}}function Uc(e,t,n){n.props=Ws(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Xu(e,t,n)}}function Wc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Xu(e,t,n)}}function Gc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Xu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Xu(e,t,n)}else n.current=null}function Kc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Xu(e,e.return,t)}}function qc(e,t,n){try{var r=e.stateNode;Ud(r,e.type,n,t),r[tt]=t}catch(t){Xu(e,e.return,t)}}function Jc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&of(e.type)||e.tag===4}function Yc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Jc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&of(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=qt));else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Hd(t,r,n),t[et]=e,t[tt]=n}catch(t){Xu(e,e.return,t)}}var $c=!1,el=!1,tl=!1,nl=typeof WeakSet==`function`?WeakSet:Set,rl=null;function il(e,t){if(e=e.containerInfo,Kd=mp,e=xr(e),Sr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(qd={focusedElem:e,selectionRange:n},mp=!1,rl=t;rl!==null;)if(t=rl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,rl=e;else for(;rl!==null;){switch(t=rl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Hd(o,r,n),o[et]=e,pt(o),r=o;break a;case`link`:var s=Jf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=yr(s,h),v=yr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,I.T=null,n=mu,mu=null;var o=uu,s=fu;if(lu=0,du=uu=null,fu=0,zl&6)throw Error(i(331));var c=zl;if(zl|=4,Pl(o.current),El(o,o.current,s,n),zl=c,ud(0,!1),ke&&typeof ke.onPostCommitFiberRoot==`function`)try{ke.onPostCommitFiberRoot(Oe,o)}catch{}return!0}finally{L.p=a,I.T=r,Ku(e,t)}}function Yu(e,t,n){t=fi(n,t),t=Xs(e.stateNode,t,2),e=Ra(e,t,2),e!==null&&(We(e,2),ld(e))}function Xu(e,t,n){if(e.tag===3)Yu(e,e,n);else for(;t!==null;){if(t.tag===3){Yu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(cu===null||!cu.has(r))){e=fi(n,e),n=Zs(2),r=Ra(t,n,2),r!==null&&(Qs(n,r,t,e),We(r,2),ld(r));break}}t=t.return}}function Zu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ql=!0,i.add(n),e=Qu.bind(null,e,t,n),t.then(e,e))}function Qu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Bl===e&&(Hl&n)===n&&(Yl===4||Yl===3&&(Hl&62914560)===Hl&&300>ye()-iu?!(zl&2)&&Du(e,0):Ql|=n,eu===Hl&&(eu=0)),ld(e)}function $u(e,t){t===0&&(t=He()),e=Zr(e,t),e!==null&&(We(e,t),ld(e))}function ed(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$u(e,n)}function td(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),$u(e,n)}function nd(e,t){return he(e,t)}var rd=null,id=null,ad=!1,od=!1,sd=!1,cd=0;function ld(e){e!==id&&e.next===null&&(id===null?rd=id=e:id=id.next=e),od=!0,ad||(ad=!0,gd())}function ud(e,t){if(!sd&&od){sd=!0;do for(var n=!1,r=rd;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-je(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,hd(r,a))}else a=Hl,a=ze(r,r===Bl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Be(r,a)||(n=!0,hd(r,a));r=r.next}while(n);sd=!1}}function dd(){fd()}function fd(){od=ad=!1;var e=0;cd!==0&&$d()&&(e=cd);for(var t=ye(),n=null,r=rd;r!==null;){var i=r.next,a=pd(r,t);a===0?(r.next=null,n===null?rd=i:n.next=i,i===null&&(id=n)):(n=r,(e!==0||a&3)&&(od=!0)),r=i}lu!==0&&lu!==5||ud(e,!1),cd!==0&&(cd=0)}function pd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Wd(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function Of(e,t,n){var r=Df;if(r&&typeof t==`string`&&t){var i=Mt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Sf.has(i)||(Sf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Hd(t,`link`,e),pt(t),r.head.appendChild(t)))}}function kf(e){wf.D(e),Of(`dns-prefetch`,e,null)}function Af(e,t){wf.C(e,t),Of(`preconnect`,e,t)}function jf(e,t,n){wf.L(e,t,n);var r=Df;if(r&&e&&t){var i=`link[rel="preload"][as="`+Mt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Mt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Mt(n.imageSizes)+`"]`)):i+=`[href="`+Mt(e)+`"]`;var a=i;switch(t){case`style`:a=Lf(e);break;case`script`:a=Vf(e)}xf.has(a)||(e=f({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),xf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Rf(a))||t===`script`&&r.querySelector(Hf(a))||(t=r.createElement(`link`),Hd(t,`link`,e),pt(t),r.head.appendChild(t)))}}function Mf(e,t){wf.m(e,t);var n=Df;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Mt(r)+`"][href="`+Mt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Vf(e)}if(!xf.has(a)&&(e=f({rel:`modulepreload`,href:e},t),xf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Hf(a)))return}r=n.createElement(`link`),Hd(r,`link`,e),pt(r),n.head.appendChild(r)}}}function Nf(e,t,n){wf.S(e,t,n);var r=Df;if(r&&e){var i=ft(r).hoistableStyles,a=Lf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Rf(a)))s.loading=5;else{e=f({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=xf.get(a))&&Gf(e,n);var c=o=r.createElement(`link`);pt(c),Hd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Wf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Pf(e,t){wf.X(e,t);var n=Df;if(n&&e){var r=ft(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=f({src:e,async:!0},t),(t=xf.get(i))&&Kf(e,t),a=n.createElement(`script`),pt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Ff(e,t){wf.M(e,t);var n=Df;if(n&&e){var r=ft(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=f({src:e,async:!0,type:`module`},t),(t=xf.get(i))&&Kf(e,t),a=n.createElement(`script`),pt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function If(e,t,n,r){var a=(a=ne.current)?Cf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Lf(n.href),n=ft(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Lf(n.href);var o=ft(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Rf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),xf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},xf.set(e,n),o||Bf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Vf(n),n=ft(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Lf(e){return`href="`+Mt(e)+`"`}function Rf(e){return`link[rel="stylesheet"][`+e+`]`}function zf(e){return f({},e,{"data-precedence":e.precedence,precedence:null})}function Bf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Hd(t,`link`,n),pt(t),e.head.appendChild(t))}function Vf(e){return`[src="`+Mt(e)+`"]`}function Hf(e){return`script[async]`+e}function Uf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Mt(n.href)+`"]`);if(r)return t.instance=r,pt(r),r;var a=f({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),pt(r),Hd(r,`style`,a),Wf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Lf(n.href);var o=e.querySelector(Rf(a));if(o)return t.state.loading|=4,t.instance=o,pt(o),o;r=zf(n),(a=xf.get(a))&&Gf(r,a),o=(e.ownerDocument||e).createElement(`link`),pt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Hd(o,`link`,r),t.state.loading|=4,Wf(o,n.precedence,e),t.instance=o;case`script`:return o=Vf(n.src),(a=e.querySelector(Hf(o)))?(t.instance=a,pt(a),a):(r=n,(a=xf.get(o))&&(r=f({},n),Kf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),pt(a),Hd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Wf(r,n.precedence,e));return t.instance}function Wf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Xf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Zf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Qf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Lf(r.href),a=t.querySelector(Rf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=tp.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,pt(a);return}a=t.ownerDocument||t,r=zf(r),(i=xf.get(i))&&Gf(r,i),a=a.createElement(`link`),pt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Hd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=tp.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $f=0;function ep(e,t){return e.stylesheets&&e.count===0&&rp(e,e.stylesheets),0$f?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function tp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var np=null;function rp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,np=new Map,t.forEach(ip,e),np=null,tp.call(e))}function ip(e,t){if(!(t.state.loading&4)){var n=np.get(e);if(n)var r=n.get(null);else{n=new Map,np.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=b()})),S=u(x(),1),C=u(h(),1),w=u(y(),1),T=`modulepreload`,E=function(e){return`/`+e},D={};const O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=E(t,n),t in D)return;D[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:T,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var k=`popstate`;function A(e={}){function t(e,t){let{pathname:n,search:r,hash:i}=e.location;return F(``,{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||`default`)}function n(e,t){return typeof t==`string`?t:I(t)}return R(t,n,null,e)}function j(e,t){if(e===!1||e==null)throw Error(t)}function M(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function N(){return Math.random().toString(36).substring(2,10)}function P(e,t){return{usr:e.state,key:e.key,idx:t}}function F(e,t,n=null,r){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?L(t):t,state:n,key:t&&t.key||r||N()}}function I({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function L(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function R(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=F(h.location,e,t);n&&n(r,e),l=u()+1;let d=P(r,l),f=h.createHref(r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=F(h.location,e,t);n&&n(r,e),l=u();let i=P(r,l),d=h.createHref(r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return z(e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(k,d),c=e,()=>{i.removeEventListener(k,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function z(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),j(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:I(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function B(e,t,n=`/`){return V(e,t,n,!1)}function V(e,t,n,r){let i=W((typeof t==`string`?L(t):t).pathname||`/`,n);if(i==null)return null;let a=U(e);te(a);let o=null;for(let e=0;o==null&&e{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;j(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Ce([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(j(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),U(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:le(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of ee(e.path))a(e,t,!0,n)}),t}function ee(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=ee(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function te(e){e.sort((e,t)=>e.score===t.score?ue(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ne=/^:[\w-]+$/,re=3,ie=2,ae=1,oe=10,se=-2,ce=e=>e===`*`;function le(e,t){let n=e.split(`/`),r=n.length;return n.some(ce)&&(r+=se),t&&(r+=ie),n.filter(e=>!ce(e)).reduce((e,t)=>e+(ne.test(t)?re:t===``?ae:oe),r)}function ue(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function de(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function pe(e,t=!1,n=!0){M(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:n!=null}),n?`/?([^\\/]+)?`:`/([^\\/]+)`)).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function me(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return M(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function W(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}var he=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ge=e=>he.test(e);function _e(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?L(e):e,a;if(n)if(ge(n))a=n;else{if(n.includes(`//`)){let e=n;n=n.replace(/\/\/+/g,`/`),M(!1,`Pathnames cannot have embedded double slashes - normalizing ${e} -> ${n}`)}a=n.startsWith(`/`)?ve(n.substring(1),`/`):ve(n,t)}else a=t;return{pathname:a,search:Te(r),hash:Ee(i)}}function ve(e,t){let n=t.replace(/\/+$/,``).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ye(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function be(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function xe(e){let t=be(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Se(e,t,n,r=!1){let i;typeof e==`string`?i=L(e):(i={...e},j(!i.pathname||!i.pathname.includes(`?`),ye(`?`,`pathname`,`search`,i)),j(!i.pathname||!i.pathname.includes(`#`),ye(`#`,`pathname`,`hash`,i)),j(!i.search||!i.search.includes(`#`),ye(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=_e(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Ce=e=>e.join(`/`).replace(/\/\/+/g,`/`),we=e=>e.replace(/\/+$/,``).replace(/^\/*/,`/`),Te=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Ee=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,De=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Oe(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function ke(e){return e.map(e=>e.route.path).filter(Boolean).join(`/`).replace(/\/\/*/g,`/`)||`/`}var Ae=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function je(e,t){let n=e;if(typeof n!=`string`||!he.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Ae)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=W(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{M(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Me=C.createContext(null);Me.displayName=`DataRouter`;var Ne=C.createContext(null);Ne.displayName=`DataRouterState`;var Pe=C.createContext(!1),Fe=C.createContext({isTransitioning:!1});Fe.displayName=`ViewTransition`;var Ie=C.createContext(new Map);Ie.displayName=`Fetchers`;var Le=C.createContext(null);Le.displayName=`Await`;var Re=C.createContext(null);Re.displayName=`Navigation`;var ze=C.createContext(null);ze.displayName=`Location`;var Be=C.createContext({outlet:null,matches:[],isDataRoute:!1});Be.displayName=`Route`;var Ve=C.createContext(null);Ve.displayName=`RouteError`;var He=`REACT_ROUTER_ERROR`,Ue=`REDIRECT`,We=`ROUTE_ERROR_RESPONSE`;function Ge(e){if(e.startsWith(`${He}:${Ue}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Ke(e){if(e.startsWith(`${He}:${We}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new De(t.status,t.statusText,t.data)}catch{}}function qe(e,{relative:t}={}){j(Je(),`useHref() may be used only in the context of a component.`);let{basename:n,navigator:r}=C.useContext(Re),{hash:i,pathname:a,search:o}=it(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Ce([n,a])),r.createHref({pathname:s,search:o,hash:i})}function Je(){return C.useContext(ze)!=null}function Ye(){return j(Je(),`useLocation() may be used only in the context of a component.`),C.useContext(ze).location}function Xe(){return C.useContext(ze).navigationType}var Ze=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Qe(e){C.useContext(Re).static||C.useLayoutEffect(e)}function $e(){let{isDataRoute:e}=C.useContext(Be);return e?Ct():et()}function et(){j(Je(),`useNavigate() may be used only in the context of a component.`);let e=C.useContext(Me),{basename:t,navigator:n}=C.useContext(Re),{matches:r}=C.useContext(Be),{pathname:i}=Ye(),a=JSON.stringify(xe(r)),o=C.useRef(!1);return Qe(()=>{o.current=!0}),C.useCallback((r,s={})=>{if(M(o.current,Ze),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Se(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Ce([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var tt=C.createContext(null);function nt(e){let t=C.useContext(Be).outlet;return C.useMemo(()=>t&&C.createElement(tt.Provider,{value:e},t),[t,e])}function rt(){let{matches:e}=C.useContext(Be),t=e[e.length-1];return t?t.params:{}}function it(e,{relative:t}={}){let{matches:n}=C.useContext(Be),{pathname:r}=Ye(),i=JSON.stringify(xe(n));return C.useMemo(()=>Se(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function at(e,t){return ot(e,t)}function ot(e,t,n,r,i){j(Je(),`useRoutes() may be used only in the context of a component.`);let{navigator:a}=C.useContext(Re),{matches:o}=C.useContext(Be),s=o[o.length-1],c=s?s.params:{},l=s?s.pathname:`/`,u=s?s.pathnameBase:`/`,d=s&&s.route;{let e=d&&d.path||``;Tt(l,!d||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant (or called \`useRoutes()\`) at "${l}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let f=Ye(),p;if(t){let e=typeof t==`string`?L(t):t;j(u===`/`||e.pathname?.startsWith(u),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${u}" but pathname "${e.pathname}" was given in the \`location\` prop.`),p=e}else p=f;let m=p.pathname||`/`,h=m;if(u!==`/`){let e=u.replace(/^\//,``).split(`/`);h=`/`+m.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let g=B(e,{pathname:h});M(d||g!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),M(g==null||g[g.length-1].route.element!==void 0||g[g.length-1].route.Component!==void 0||g[g.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let _=pt(g&&g.map(e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:Ce([u,a.encodeLocation?a.encodeLocation(e.pathname.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?u:Ce([u,a.encodeLocation?a.encodeLocation(e.pathnameBase.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),o,n,r,i);return t&&_?C.createElement(ze.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,...p},navigationType:`POP`}},_):_}function st(){let e=St(),t=Oe(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=C.createElement(C.Fragment,null,C.createElement(`p`,null,`💿 Hey developer 👋`),C.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,C.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,C.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),C.createElement(C.Fragment,null,C.createElement(`h2`,null,`Unexpected Application Error!`),C.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?C.createElement(`pre`,{style:i},n):null,o)}var ct=C.createElement(st,null),lt=class extends C.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=Ke(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:C.createElement(Be.Provider,{value:this.props.routeContext},C.createElement(Ve.Provider,{value:e,children:this.props.component}));return this.context?C.createElement(dt,{error:e},t):t}};lt.contextType=Pe;var ut=new WeakMap;function dt({children:e,error:t}){let{basename:n}=C.useContext(Re);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Ge(t.digest);if(e){let r=ut.get(t);if(r)throw r;let i=je(e.location,n);if(Ae&&!ut.get(t))if(i.isExternal||e.reloadDocument)window.location.href=i.absoluteURL||i.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw ut.set(t,n),n}return C.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${i.absoluteURL||i.to}`})}}return e}function ft({routeContext:e,match:t,children:n}){let r=C.useContext(Me);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),C.createElement(Be.Provider,{value:e},n)}function pt(e,t=[],n=null,r=null,i=null){if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,o=n?.errors;if(o!=null){let e=a.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);j(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,c=-1;if(n)for(let e=0;e=0?a.slice(0,c+1):[a[0]];break}}}let l=n&&r?(e,t)=>{r(e,{location:n.location,params:n.matches?.[0]?.params??{},unstable_pattern:ke(n.matches),errorInfo:t})}:void 0;return a.reduceRight((e,r,i)=>{let u,d=!1,f=null,p=null;n&&(u=o&&r.route.id?o[r.route.id]:void 0,f=r.route.errorElement||ct,s&&(c<0&&i===0?(Tt(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):c===i&&(d=!0,p=r.route.hydrateFallbackElement||null)));let m=t.concat(a.slice(0,i+1)),h=()=>{let t;return t=u?f:d?p:r.route.Component?C.createElement(r.route.Component,null):r.route.element?r.route.element:e,C.createElement(ft,{match:r,routeContext:{outlet:e,matches:m,isDataRoute:n!=null},children:t})};return n&&(r.route.ErrorBoundary||r.route.errorElement||i===0)?C.createElement(lt,{location:n.location,revalidation:n.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function mt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function ht(e){let t=C.useContext(Me);return j(t,mt(e)),t}function gt(e){let t=C.useContext(Ne);return j(t,mt(e)),t}function _t(e){let t=C.useContext(Be);return j(t,mt(e)),t}function vt(e){let t=_t(e),n=t.matches[t.matches.length-1];return j(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function yt(){return vt(`useRouteId`)}function bt(){return gt(`useNavigation`).navigation}function xt(){let{matches:e,loaderData:t}=gt(`useMatches`);return C.useMemo(()=>e.map(e=>H(e,t)),[e,t])}function St(){let e=C.useContext(Ve),t=gt(`useRouteError`),n=vt(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Ct(){let{router:e}=ht(`useNavigate`),t=vt(`useNavigate`),n=C.useRef(!1);return Qe(()=>{n.current=!0}),C.useCallback(async(r,i={})=>{M(n.current,Ze),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var wt={};function Tt(e,t,n){!t&&!wt[e]&&(wt[e]=!0,M(!1,n))}C.useOptimistic,C.memo(Et);function Et({routes:e,future:t,state:n,onError:r}){return ot(e,void 0,n,r,t)}function Dt(e){return nt(e.context)}function Ot(e){j(!1,`A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .`)}function kt({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,unstable_useTransitions:o}){j(!Je(),`You cannot render a inside another . You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=C.useMemo(()=>({basename:s,navigator:i,static:a,unstable_useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=L(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`}=n,m=C.useMemo(()=>{let e=W(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p},navigationType:r}},[s,l,u,d,f,p,r]);return M(m!=null,` is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the won't render anything.`),m==null?null:C.createElement(Re.Provider,{value:c},C.createElement(ze.Provider,{children:t,value:m}))}function At({children:e,location:t}){return at(jt(e),t)}function jt(e,t=[]){let n=[];return C.Children.forEach(e,(e,r)=>{if(!C.isValidElement(e))return;let i=[...t,r];if(e.type===C.Fragment){n.push.apply(n,jt(e.props.children,i));return}j(e.type===Ot,`[${typeof e.type==`string`?e.type:e.type.name}] is not a component. All component children of must be a or `),j(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=jt(e.props.children,i)),n.push(a)}),n}var Mt=`get`,Nt=`application/x-www-form-urlencoded`;function Pt(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function Ft(e){return Pt(e)&&e.tagName.toLowerCase()===`button`}function It(e){return Pt(e)&&e.tagName.toLowerCase()===`form`}function Lt(e){return Pt(e)&&e.tagName.toLowerCase()===`input`}function Rt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function zt(e,t){return e.button===0&&(!t||t===`_self`)&&!Rt(e)}var Bt=null;function Vt(){if(Bt===null)try{new FormData(document.createElement(`form`),0),Bt=!1}catch{Bt=!0}return Bt}var Ht=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Ut(e){return e!=null&&!Ht.has(e)?(M(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Nt}"`),null):e}function Wt(e,t){let n,r,i,a,o;if(It(e)){let o=e.getAttribute(`action`);r=o?W(o,t):null,n=e.getAttribute(`method`)||Mt,i=Ut(e.getAttribute(`enctype`))||Nt,a=new FormData(e)}else if(Ft(e)||Lt(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a + ); +}); + +/* ───────────────────────────────────────────────────────────── + Wrapper Modal (no setState-in-effect resets) + Inner view remounts on pulse/origin change via key. +───────────────────────────────────────────────────────────── */ + +export default function PulseHoneycombModal(props: PulseHoneycombModalProps) { + const { open, pulse, originUrl, originHash, onClose } = props; + + const shellRef = useRef(null); + + // ESC close + focus close button (no setState) + useEffect(() => { + if (!HAS_WINDOW) return; + if (!open) return; + + const onKey = (e: KeyboardEvent) => { + if (e.key === "Escape") onClose(); + }; + window.addEventListener("keydown", onKey); + + window.setTimeout(() => { + const btn = shellRef.current?.querySelector(".phmBtnClose"); + btn?.focus(); + }, 0); + + return () => { + window.removeEventListener("keydown", onKey); + }; + }, [open, onClose]); + + // body scroll lock (external system) + useEffect(() => { + if (!HAS_WINDOW) return; + if (!open) return; + + const html = document.documentElement; + const body = document.body; + const prevHtml = html.style.overflow; + const prevBody = body.style.overflow; + + html.style.overflow = "hidden"; + body.style.overflow = "hidden"; + + return () => { + html.style.overflow = prevHtml; + body.style.overflow = prevBody; + }; + }, [open]); + + const portalEl = HAS_WINDOW ? document.body : null; + if (!open || portalEl == null) return null; + + const key = `${pulse ?? "none"}:${originHash ?? ""}:${originUrl ?? ""}`; + + return createPortal( +
{ + if (e.target === e.currentTarget) onClose(); + }} + > +
+ +
+
, + portalEl, + ); +} + +function PulseHoneycombInner({ + open, + pulse, + originUrl, + originHash, + registryRev, + onClose, +}: PulseHoneycombModalProps) { + // Defaults (no reset effects). Remount via key handles reset. + const [edgeMode] = useState("parent+children"); + const [selectedOverride, setSelectedOverride] = useState(null); + + const viewportRef = useRef(null); + + const [vpSize, setVpSize] = useState<{ w: number; h: number }>({ w: 0, h: 0 }); + const [zoom, setZoom] = useState(1); + const [userInteracted, setUserInteracted] = useState(false); + const [userPan, setUserPan] = useState<{ x: number; y: number }>({ x: 0, y: 0 }); + + const dragRef = useRef<{ active: boolean; x0: number; y0: number; panX0: number; panY0: number }>({ + active: false, + x0: 0, + y0: 0, + panX0: 0, + panY0: 0, + }); + + // ResizeObserver (subscription callback => OK) + useEffect(() => { + const el = viewportRef.current; + if (!el) return; + if (typeof ResizeObserver === "undefined") return; + + const ro = new ResizeObserver((entries) => { + const r = entries[0]?.contentRect; + if (!r) return; + setVpSize({ w: Math.round(r.width), h: Math.round(r.height) }); + }); + + ro.observe(el); + return () => ro.disconnect(); + }, []); + + const activePulse = typeof pulse === "number" ? pulse : null; + void registryRev; + void open; + + const nodesRaw = useMemo(() => { + if (activePulse == null) return []; + return buildNodesForPulse(activePulse); + }, [activePulse, registryRev]); + + const originCandidate = useMemo(() => { + return (originHash ?? (originUrl ? extractHashFromUrlLoose(originUrl) : null)) ?? null; + }, [originHash, originUrl]); + + const byHash = useMemo(() => { + const m = new Map(); + for (const n of nodesRaw) m.set(n.hash, n); + return m; + }, [nodesRaw]); + + const childrenByParent = useMemo(() => { + const m = new Map(); + for (const n of nodesRaw) { + if (!n.parentHash) continue; + const arr = m.get(n.parentHash) ?? []; + arr.push(n.hash); + m.set(n.parentHash, arr); + } + return m; + }, [nodesRaw]); + + const filtered = nodesRaw; + + const selectionPool = filtered.length > 0 ? filtered : nodesRaw; + + const computedInitialHash = useMemo(() => { + if (selectionPool.length === 0) return null; + if (originCandidate && byHash.has(originCandidate)) return originCandidate; + + let best: HoneyNode | null = null; + for (const n of selectionPool) { + if (!best) best = n; + else if (n.degree > best.degree) best = n; + } + return best?.hash ?? selectionPool[0].hash; + }, [selectionPool, originCandidate, byHash]); + + const selectedHash = useMemo(() => { + const ov = selectedOverride ? selectedOverride.toLowerCase() : null; + if (ov && byHash.has(ov)) return ov; + return computedInitialHash; + }, [selectedOverride, byHash, computedInitialHash]); + + const selected = useMemo(() => (selectedHash ? byHash.get(selectedHash) ?? null : null), [selectedHash, byHash]); + const selectedPulse = + selected && typeof selected.pulse === "number" && Number.isFinite(selected.pulse) + ? wrapPulseForSigil(selected.pulse) + : null; + const selectedKks = selectedPulse != null ? deriveKksFromPulse(selectedPulse) : null; + const activeBeat = selectedKks ? Math.floor(selectedKks.beat) : null; + + const pulseValue = useMemo(() => { + if (activePulse == null) return { phi: null, usd: null, usdPerPhi: null }; + + let phiTotal = 0; + let usdPerPhi: number | null = null; + + for (const [, payloadLoose] of memoryRegistry) { + if (!isRecord(payloadLoose)) continue; + const p = readFiniteNumber(payloadLoose.pulse); + if (p !== activePulse) continue; + + const phiValue = computeLivePhi(payloadLoose, activePulse); + if (phiValue != null) phiTotal += phiValue; + + if (usdPerPhi == null) { + const found = computeUsdPerPhi(payloadLoose, activePulse); + if (found != null) usdPerPhi = found; + } + } + + const phi = Number.isFinite(phiTotal) ? phiTotal : null; + const usd = phi != null && usdPerPhi != null ? phi * usdPerPhi : null; + return { phi, usd, usdPerPhi }; + }, [activePulse, registryRev]); + + + const chartBundle = useMemo(() => { + if (activePulse == null) return null; + let payload: Record | null = null; + + for (const [, payloadLoose] of memoryRegistry) { + if (!isRecord(payloadLoose)) continue; + const p = readFiniteNumber(payloadLoose.pulse); + if (p !== activePulse) continue; + payload = payloadLoose; + break; + } + + if (!payload) return null; + + const meta = buildValuationMeta(payload); + const { unsigned } = computeIntrinsicUnsigned(meta, activePulse); + const seal = { + version: 1, + unit: "Φ", + algorithm: "phi/kosmos-vφ-5", + policyChecksum: unsigned.policyChecksum, + valuePhi: unsigned.valuePhi, + premium: unsigned.premium, + inputs: unsigned.inputs, + computedAtPulse: unsigned.computedAtPulse, + headRef: unsigned.headRef, + stamp: "0", + } as const; + + return bootstrapSeries(seal, meta, activePulse, 64); + }, [activePulse, registryRev]); + + const layout = useMemo(() => { + const N = filtered.length; + const coords = hexSpiralCoords(N); + + const PHI = 1.61803398875; + const radiusPx = Math.round(30 * PHI); + const pts: Pt[] = coords.map((c) => axialToPixelPointy(c, radiusPx)); + + let minX = Infinity; + let minY = Infinity; + let maxX = -Infinity; + let maxY = -Infinity; + + for (const p of pts) { + minX = Math.min(minX, p.x); + minY = Math.min(minY, p.y); + maxX = Math.max(maxX, p.x); + maxY = Math.max(maxY, p.y); + } + + const hexW = Math.sqrt(3) * radiusPx; + const hexH = 2 * radiusPx; + const pad = 120; + + const offX = (Number.isFinite(minX) ? -minX : 0) + pad; + const offY = (Number.isFinite(minY) ? -minY : 0) + pad; + + const items: LayoutItem[] = filtered.map((node, i) => { + const p = pts[i] ?? { x: 0, y: 0 }; + const x = p.x + offX - hexW / 2; + const y = p.y + offY - hexH / 2; + const cx = p.x + offX; + const cy = p.y + offY; + return { node, x, y, cx, cy }; + }); + + const width = (Number.isFinite(maxX - minX) ? maxX - minX : 0) + pad * 2 + hexW; + const height = (Number.isFinite(maxY - minY) ? maxY - minY : 0) + pad * 2 + hexH; + + const itemByHash = new Map(); + for (const it of items) itemByHash.set(it.node.hash, it); + + const centerOf = (hash: string | null): Pt | null => { + if (!hash) return null; + const it = itemByHash.get(hash); + return it ? { x: it.cx, y: it.cy } : null; + }; + + return { width, height, items, itemByHash, centerOf }; + }, [filtered]); + + const autoPan = useMemo(() => { + if (!selectedHash) return { x: 0, y: 0 }; + if (!vpSize.w || !vpSize.h) return { x: 0, y: 0 }; + const c = layout.centerOf(selectedHash); + if (!c) return { x: 0, y: 0 }; + return { x: vpSize.w / 2 - c.x * zoom, y: vpSize.h / 2 - c.y * zoom }; + }, [selectedHash, vpSize.w, vpSize.h, layout, zoom]); + + const pan = userInteracted ? userPan : autoPan; + + const edgeLines = useMemo(() => { + if (!selectedHash) return []; + if (edgeMode === "none") return []; + + const selItem = layout.itemByHash.get(selectedHash); + const sel = byHash.get(selectedHash); + if (!selItem || !sel) return []; + + const lines: EdgeLine[] = []; + const addLine = (toHash: string | undefined, kind: EdgeLine["kind"]) => { + if (!toHash) return; + const tgt = layout.itemByHash.get(toHash); + if (!tgt) return; + lines.push({ x1: selItem.cx, y1: selItem.cy, x2: tgt.cx, y2: tgt.cy, kind }); + }; + + if (edgeMode === "parent" || edgeMode === "parent+children" || edgeMode === "all") addLine(sel.parentHash, "parent"); + if (edgeMode === "parent+children" || edgeMode === "all") { + const kids = childrenByParent.get(sel.hash) ?? []; + for (const k of kids) addLine(k, "child"); + } + if (edgeMode === "all") addLine(sel.originHash, "origin"); + + return lines; + }, [selectedHash, edgeMode, layout, byHash, childrenByParent]); + + const resetToAutoCenter = () => { + setUserInteracted(false); + setUserPan({ x: 0, y: 0 }); + }; + + const selectHash = (hash: string) => { + const h = hash.toLowerCase(); + setSelectedOverride(h); + broadcastSelectedHash(h); + resetToAutoCenter(); + }; + + const onWheel = (e: React.WheelEvent) => { + const el = viewportRef.current; + if (!el) return; + + const delta = e.deltaY; + const nextZoom = clamp(zoom * (delta > 0 ? 0.92 : 1.08), 0.35, 3.0); + + const rect = el.getBoundingClientRect(); + const mx = e.clientX - rect.left; + const my = e.clientY - rect.top; + + const curPan = pan; + const worldX = (mx - curPan.x) / zoom; + const worldY = (my - curPan.y) / zoom; + + const nextPanX = mx - worldX * nextZoom; + const nextPanY = my - worldY * nextZoom; + + setZoom(nextZoom); + setUserInteracted(true); + setUserPan({ x: nextPanX, y: nextPanY }); + }; + + const onPointerDown = (e: React.PointerEvent) => { + if (e.button !== 0) return; + if (e.target instanceof HTMLElement && e.target.closest(".sigilHex")) return; + + setUserInteracted(true); + dragRef.current = { active: true, x0: e.clientX, y0: e.clientY, panX0: pan.x, panY0: pan.y }; + e.currentTarget.setPointerCapture(e.pointerId); + }; + + const onPointerMove = (e: React.PointerEvent) => { + if (!dragRef.current.active) return; + const dx = e.clientX - dragRef.current.x0; + const dy = e.clientY - dragRef.current.y0; + setUserPan({ x: dragRef.current.panX0 + dx, y: dragRef.current.panY0 + dy }); + }; + + const onPointerUp = (e: React.PointerEvent) => { + dragRef.current.active = false; + try { + e.currentTarget.releasePointerCapture(e.pointerId); + } catch { + ignore(); + } + }; + + const openSelected = () => { + if (!selected) return; + window.open(selected.bestUrl, "_blank", "noopener,noreferrer"); + }; + + const copySelectedUrl = async () => { + if (!selected) return; + if (!navigator.clipboard) return; + try { + await navigator.clipboard.writeText(selected.bestUrl); + } catch { + ignore(); + } + }; + + + const titlePulse = activePulse != null ? `Pulse ${activePulse}` : "Pulse"; + const originLabel = originCandidate ?? ""; + + return ( +
+
+
+
+
+ {titlePulse} +
+
+ {originLabel ? origin {shortHash(originLabel, 14)} : null} + {activeBeat != null ? : null} + {activeBeat != null ? beat {activeBeat} : null} +
+
+ +
+ {chartBundle ? ( + + ) : ( +
No pulse data
+ )} +
+
+ +
+
+
Pulse Value
+
{pulseValue.phi != null ? `${formatPhiNumber(pulseValue.phi)} Φ` : "—"}
+
{pulseValue.usd != null ? `$${formatUsd(pulseValue.usd)}` : "—"}
+
+ {pulseValue.usdPerPhi != null ? `$${formatUsd(pulseValue.usdPerPhi)} / Φ` : "Live rate"} +
+
+ + +
+
+ +
+
+
+
+ + + {layout.items.map((it) => ( + selectHash(it.node.hash)} + /> + ))} +
+ +
+ Pulse lattice • drag to pan • scroll to zoom +
+
+
+ + +
+
+ ); +} diff --git a/src/components/SigilExplorer/SigilHoneycomb.css b/src/components/SigilExplorer/SigilHoneycomb.css new file mode 100644 index 000000000..cef88fbcb --- /dev/null +++ b/src/components/SigilExplorer/SigilHoneycomb.css @@ -0,0 +1,664 @@ +/* ───────────────────────────────────────────────────────────── + Memory Lattice (Honeycomb) — Sovereign glass + mobile-first +───────────────────────────────────────────────────────────── */ + +.sigilHoneycomb { + --hc-bg: radial-gradient(1200px 800px at 50% -10%, rgba(0, 0, 0, 0.64), #000000a6 60%), + radial-gradient(1100px 820px at 50% 20%, rgba(35, 255, 240, 0.14), transparent 60%), + radial-gradient(900px 650px at 10% 90%, rgba(98, 218, 255, 0.12), transparent 60%), + radial-gradient(900px 700px at 90% 80%, rgba(183, 163, 255, 0.12), transparent 60%), + linear-gradient(180deg, rgba(6, 10, 14, 0.92), rgba(6, 10, 14, 0.8)); + --hc-border: rgba(255, 255, 255, 0.12); + --hc-border-strong: rgba(255, 255, 255, 0.22); + --hc-panel: rgba(255, 255, 255, 0.04); + --hc-panel-2: rgba(255, 255, 255, 0.07); + --hc-text: var(--sx-text, rgba(255, 255, 255, 0.92)); + --hc-text-dim: var(--sx-text-dim, rgba(255, 255, 255, 0.62)); + --hc-text-faint: rgba(255, 255, 255, 0.4); + --hc-accent: var(--sx-accent, #23fff0); + --hc-accent-2: var(--sx-accent-2, #b7a3ff); + --hc-accent-3: var(--sx-accent-3, #62daff); + --hc-shadow: 0 24px 70px rgba(0, 0, 0, 0.55); + --hc-radius: 22px; + + /* Hex sizing (must match TS: radiusPx=28) */ + --hex-r: 28px; + --hex-w: calc(var(--hex-r) * 1.7320508076); + --hex-h: calc(var(--hex-r) * 2); + + width: 100%; + height: 100%; + min-height: 0; + display: flex; + flex-direction: column; + background: var(--hc-bg); + color: var(--hc-text); + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: var(--hc-radius); + overflow: hidden; + box-shadow: var(--hc-shadow); + position: relative; + isolation: isolate; +} + +.sigilHoneycomb::before, +.sigilHoneycomb::after { + content: ""; + position: absolute; + inset: 0; + pointer-events: none; + z-index: 0; +} + +.sigilHoneycomb::before { + background: + repeating-linear-gradient( + 180deg, + rgba(255, 255, 255, 0.02) 0px, + rgba(255, 255, 255, 0.02) 1px, + rgba(0, 0, 0, 0) 4px, + rgba(0, 0, 0, 0) 8px + ), + repeating-linear-gradient( + 90deg, + rgba(255, 255, 255, 0.012) 0px, + rgba(255, 255, 255, 0.012) 1px, + rgba(0, 0, 0, 0) 6px, + rgba(0, 0, 0, 0) 12px + ); + mix-blend-mode: overlay; + opacity: 0.4; +} + +.sigilHoneycomb::after { + background: + radial-gradient(900px 600px at 30% 20%, rgba(35, 255, 240, 0.1), transparent 60%), + radial-gradient(800px 620px at 80% 70%, rgba(183, 163, 255, 0.12), transparent 60%), + radial-gradient(760px 560px at 15% 85%, rgba(98, 218, 255, 0.1), transparent 62%); + filter: blur(12px); + opacity: 0.5; +} + +.sigilHoneycombHeader, +.sigilHoneycombBody { + position: relative; + z-index: 1; +} + +.sigilHoneycombHeader { + position: absolute; + top: 0; + left: 0; + right: 0; + display: flex; + gap: 10px; + padding: 6px 10px; + border-bottom: 1px solid rgba(255, 255, 255, 0.04); + background: + linear-gradient(180deg, rgba(6, 10, 14, 0.5), rgba(6, 10, 14, 0)); + align-items: center; + justify-content: space-between; + flex-shrink: 0; + z-index: 2; + backdrop-filter: blur(6px); +} + +.sigilHoneycombTitle .h1 { + font-size: 18px; + font-weight: 900; + letter-spacing: 0.2px; +} + +.sigilHoneycombTitle .h2 { + margin-top: 4px; + font-size: 12px; + color: var(--hc-text-dim); +} + +.sigilHoneycombControls { + display: flex; + flex-direction: row; + gap: 10px; + width: 100%; + align-items: center; +} + +.searchBox { + display: flex; + gap: 10px; + align-items: center; + width: 100%; + justify-content: flex-start; + flex: 1; +} + +.searchBox input { + width: 100%; + height: 30px; + border-radius: 14px; + border: 1px solid rgba(255, 255, 255, 0.12); + background: + radial-gradient(120% 180% at 0% 0%, rgba(35, 255, 240, 0.08), transparent 60%), + rgba(0, 0, 0, 0.3); + color: var(--hc-text); + padding: 0 14px; + outline: none; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04); +} + +.btn-icon{ + display: inline-flex; + align-items: center; + justify-content: center; + font-size: 12px; + line-height: 1; + width: 16px; +} + +.btn-text{ + display: inline-flex; + align-items: center; + gap: 6px; +} + +.searchBox input::placeholder { + color: var(--hc-text-faint); +} + +.toggleRow { + display: flex; + flex-wrap: wrap; + gap: 6px; + align-items: center; + justify-content: flex-end; +} + +.seg { + display: inline-flex; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.12); + border-radius: 14px; + overflow: hidden; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04); +} + +.seg button { + height: 32px; + padding: 0 12px; + border: 0; + background: transparent; + color: var(--hc-text-dim); + font-size: 12px; + cursor: pointer; + font-weight: 700; + display: inline-flex; + align-items: center; + gap: 6px; +} + +.seg button.on { + background: rgba(35, 255, 240, 0.16); + color: var(--hc-text); +} + +.miniBtn { + height: 28px; + border-radius: 12px; + padding: 0 8px; + border: 1px solid rgba(255, 255, 255, 0.12); + background: rgba(255, 255, 255, 0.06); + color: var(--hc-text); + cursor: pointer; + font-size: 12px; + font-weight: 700; + transition: transform 0.12s ease, border-color 0.2s ease, background 0.2s ease; + display: inline-flex; + align-items: center; + gap: 6px; +} + +.miniBtn:hover { + transform: translateY(-1px); + border-color: rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.1); +} + +.miniBtn:disabled { + opacity: 0.5; + cursor: default; + transform: none; +} + +.sigilHoneycombBody { + display: grid; + grid-template-columns: minmax(0, 1fr) 360px; + min-height: 0; + flex: 1; + overflow: hidden; + padding-top: 42px; +} + +.combViewport { + position: relative; + overflow: hidden; + height: 100%; + min-height: 0; + perspective: 1400px; + perspective-origin: 50% 40%; + background: + radial-gradient(1200px 900px at 50% 20%, rgba(35, 255, 240, 0.08), transparent 60%), + radial-gradient(900px 600px at 70% 70%, rgba(183, 163, 255, 0.12), transparent 62%), + radial-gradient(760px 520px at 20% 80%, rgba(98, 218, 255, 0.08), transparent 62%), + #060a0f; + touch-action: none; +} + +.combViewport::before{ + content:""; + position:absolute; + inset:-40%; + background: + radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.45), transparent 60%), + radial-gradient(1px 1px at 70% 30%, rgba(255,255,255,0.35), transparent 60%), + radial-gradient(1px 1px at 40% 80%, rgba(255,255,255,0.3), transparent 60%), + radial-gradient(2px 2px at 80% 75%, rgba(35,255,240,0.4), transparent 60%), + radial-gradient(2px 2px at 20% 60%, rgba(183,163,255,0.35), transparent 60%); + opacity: 0.6; + pointer-events: none; +} + +.combInner { + position: absolute; + left: 0; + top: 0; + transform-origin: 0 0; + transform-style: preserve-3d; + will-change: transform; +} + +.combEdges { + position: absolute; + inset: 0; + pointer-events: none; + opacity: 0.92; +} + +.edgeLine { + stroke-width: 1.6; + stroke: rgba(255, 255, 255, 0.2); + filter: drop-shadow(0 0 6px rgba(35, 255, 240, 0.25)); +} + +.edge-parent { + stroke: rgba(191, 252, 255, 0.5); + stroke-width: 2.2; +} + +.edge-child { + stroke: rgba(182, 155, 255, 0.46); + stroke-width: 2; +} + +.edge-origin { + stroke: rgba(255, 255, 255, 0.3); + stroke-dasharray: 5 4; +} + +.combHint { + position: absolute; + left: 12px; + bottom: 12px; + padding: 8px 10px; + border-radius: 12px; + background: rgba(0, 0, 0, 0.32); + border: 1px solid rgba(255, 255, 255, 0.12); + color: rgba(255, 255, 255, 0.66); + font-size: 12px; + pointer-events: none; +} + +.sigilHex { + position: absolute; + width: var(--hex-w); + height: var(--hex-h); + transform-style: preserve-3d; + border: 0; + background: transparent; + border-radius: 0; + clip-path: none; + color: var(--hc-text); + cursor: pointer; + transition: transform 0.12s ease, filter 0.2s ease; + box-shadow: none; +} + +.sigilHexInner{ + position: relative; + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + padding: 10px 12px 8px; + box-sizing: border-box; +} + +.sigilHexGlyphFrame{ + position: absolute; + inset: 14%; + border-radius: 12px; + display: grid; + place-items: center; + background: transparent; + box-shadow: none; + pointer-events: none; + z-index: 2; +} + +.sigilHexGlyphSimple { + width: 100%; + height: 100%; + border-radius: 12px; + --hex-tint: 120 190 255; + background: + radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0) 45%), + linear-gradient(160deg, rgba(var(--hex-tint), 0.8), rgba(var(--hex-tint), 0.1)); + filter: drop-shadow(0 0 10px rgba(var(--hex-tint), 0.4)); + opacity: 0.92; + border: 1px solid rgba(var(--hex-tint), 0.5); + background-color: rgba(var(--hex-tint), 0.22); +} + +.sigilHexGlyphSimple.shape-0 { + clip-path: polygon(25% 6%, 75% 6%, 98% 50%, 75% 94%, 25% 94%, 2% 50%); +} + +.sigilHexGlyphSimple.shape-1 { + clip-path: circle(46% at 50% 50%); +} + +.sigilHexGlyphSimple.shape-2 { + clip-path: polygon(50% 4%, 96% 50%, 50% 96%, 4% 50%); +} + +.sigilHexGlyphSimple.shape-3 { + clip-path: polygon(50% 6%, 96% 90%, 4% 90%); +} + +.sigilHexGlyphSimple.shape-4 { + clip-path: polygon(50% 4%, 61% 34%, 94% 38%, 68% 58%, 76% 90%, 50% 72%, 24% 90%, 32% 58%, 6% 38%, 39% 34%); +} + +.sigilHexGlyphSimple.shape-5 { + clip-path: polygon(20% 6%, 80% 6%, 94% 35%, 72% 94%, 28% 94%, 6% 35%); +} + +.sigilHexGlyphSimple.shape-root { + clip-path: inset(10% round 6px); +} + +.sigilHexGlyphSimple.shape-sacral { + clip-path: circle(46% at 50% 50%); +} + +.sigilHexGlyphSimple.shape-solar { + clip-path: polygon(50% 6%, 96% 86%, 4% 86%); +} + +.sigilHexGlyphSimple.shape-heart { + clip-path: polygon(50% 4%, 94% 50%, 50% 96%, 6% 50%); +} + +.sigilHexGlyphSimple.shape-throat { + clip-path: polygon(25% 6%, 75% 6%, 98% 50%, 75% 94%, 25% 94%, 2% 50%); +} + +.sigilHexGlyphSimple.shape-third { + clip-path: polygon(50% 4%, 61% 34%, 94% 38%, 68% 58%, 76% 90%, 50% 72%, 24% 90%, 32% 58%, 6% 38%, 39% 34%); +} + +.sigilHexGlyphSimple.shape-crown { + clip-path: polygon(30% 4%, 70% 4%, 96% 30%, 96% 70%, 70% 96%, 30% 96%, 4% 70%, 4% 30%); +} + +.chakra-root { --hex-tint: 255 59 59; } +.chakra-sacral { --hex-tint: 255 138 61; } +.chakra-solar { --hex-tint: 255 213 74; } +.chakra-heart { --hex-tint: 61 255 154; } +.chakra-throat { --hex-tint: 70 211 255; } +.chakra-third { --hex-tint: 107 108 255; } +.chakra-crown { --hex-tint: 193 139 255; } +.chakra-unknown { --hex-tint: 120 190 255; } + +.sigilHex:hover { + transform: translateY(-2px) scale(1.02); + filter: drop-shadow(0 0 12px rgba(35,255,240,0.5)); +} + +.sigilHex.isSelected { + filter: drop-shadow(0 0 16px rgba(35,255,240,0.8)); +} + +.sigilHexTop, +.sigilHexBot { + display: flex; + justify-content: space-between; + gap: 6px; + font-size: 10px; + color: rgba(255,255,255,0.6); +} + +.sigilHexMid { + display: flex; + flex-direction: column; + gap: 4px; + font-size: 11px; + font-weight: 700; + color: rgba(255,255,255,0.9); +} + +.sigilHexHash { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + color: var(--hc-text); +} + +.sigilHexDelta { + color: rgba(255, 215, 128, 0.9); +} + +.combInspector { + border-left: 1px solid rgba(255, 255, 255, 0.08); + background: + radial-gradient(140% 220% at 0% 0%, rgba(183, 163, 255, 0.12), transparent 60%), + rgba(0, 0, 0, 0.3); + overflow: auto; + min-height: 0; +} + +.inspectorCard { + margin: 12px; + padding: 14px; + border-radius: 16px; + border: 1px solid rgba(255, 255, 255, 0.12); + background: rgba(0, 0, 0, 0.28); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06); +} + +.inspectorHead { + display: flex; + flex-direction: column; + gap: 4px; +} + +.inspectorTitle { + font-size: 13px; + font-weight: 800; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.inspectorSub { + font-size: 12px; + color: var(--hc-text-dim); +} + +.inspectorGrid { + margin-top: 12px; + display: grid; + grid-template-columns: 1fr 1.2fr; + gap: 8px 12px; + font-size: 12px; + color: var(--hc-text-dim); +} + +.inspectorGrid .k { + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 10px; + color: var(--hc-text-faint); +} + +.linkBtn { + border: 0; + padding: 0; + background: transparent; + color: var(--hc-accent); + cursor: pointer; +} + +.linkBtn:hover { + color: var(--hc-accent-3); +} + +.hcInhaleRow { + display: flex; + gap: 10px; + width: 100%; + justify-content: flex-end; +} + +.hcInhaleInput { + width: min(560px, 100%); + height: 38px; + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.12); + background: rgba(0, 0, 0, 0.32); + color: var(--hc-text); + padding: 0 12px; + outline: none; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04); +} + +.hcInhaleInput::placeholder { + color: var(--hc-text-faint); +} + +.hcImportBtn { + position: relative; + overflow: hidden; + display: inline-flex; + align-items: center; + justify-content: center; +} + +.hcImportBtn input[type="file"] { + position: absolute; + inset: 0; + opacity: 0; + cursor: pointer; +} + +@media (max-width: 1100px) { + .sigilHoneycombHeader { + padding: 6px 8px; + } + + .sigilHoneycombControls { + align-items: center; + } + + .searchBox { + justify-content: flex-start; + } + + .toggleRow { + justify-content: flex-end; + } +} + +@media (max-width: 980px) { + .sigilHoneycombBody { + grid-template-columns: minmax(0, 1fr); + flex: 1; + overflow: hidden; + } + + .combInspector { + display: none; + } +} + +@media (max-width: 720px) { + .sigilHoneycomb { + min-height: 0; + } + + .sigilHoneycombHeader { + padding: 4px 8px; + gap: 6px; + } + + .sigilHoneycombTitle .h1 { + font-size: 14px; + } + + .sigilHoneycombTitle .h2 { + font-size: 10px; + display: none; + } + + .searchBox input, + .hcInhaleInput { + width: 100%; + } + + .toggleRow { + flex-direction: column; + align-items: stretch; + gap: 6px; + } + + .seg { + width: 100%; + } + + .seg button { + flex: 1; + } + + .btn-text{ + display: none; + } + + .seg button, + .miniBtn{ + height: 28px; + padding: 0 8px; + font-size: 11px; + } + + .hcInhaleRow{ + display: none; + } + + .searchBox input{ + height: 24px; + font-size: 12px; + } + + .miniBtn{ + height: 22px; + padding: 0 6px; + font-size: 10px; + } +} \ No newline at end of file diff --git a/src/components/SigilExplorer/SigilHoneycombExplorer.tsx b/src/components/SigilExplorer/SigilHoneycombExplorer.tsx new file mode 100644 index 000000000..cecfd9e56 --- /dev/null +++ b/src/components/SigilExplorer/SigilHoneycombExplorer.tsx @@ -0,0 +1,1410 @@ +"use client"; + +import React, { startTransition, useCallback, useEffect, useMemo, useRef, useState } from "react"; +import "./SigilHoneycomb.css"; + +/* ───────────────────────────────────────────────────────────── + Shared Sovereign Modules (same ones SigilExplorer uses) +───────────────────────────────────────────────────────────── */ +import { + memoryRegistry, + addUrl, + ensureRegistryHydrated, + persistRegistryToStorage, + REGISTRY_LS_KEY, + MODAL_FALLBACK_LS_KEY, + isOnline, +} from "./registryStore"; + +import { + canonicalizeUrl, + browserViewUrl, + explorerOpenUrl, + contentKindForUrl, + scoreUrlForView, + parseHashFromUrl, +} from "./url"; + +import { flushInhaleQueue, loadInhaleQueueFromStorage, saveInhaleQueueToStorage, seedInhaleFromRegistry } from "./inhaleQueue"; + +import { pullAndImportRemoteUrls } from "./remotePull"; + +import { + apiFetchWithFailover, + API_SEAL_PATH, + type ApiSealResponse, + loadApiBackupDeadUntil, + loadApiBaseHint, +} from "./apiClient"; + +import { loadUrlHealthFromStorage } from "./urlHealth"; +import { N_DAY_MICRO, latticeFromMicroPulses, normalizePercentIntoStep } from "../../utils/kai_pulse"; + +/* ───────────────────────────────────────────────────────────── + Types (strict) +───────────────────────────────────────────────────────────── */ + +type EdgeMode = "none" | "parent" | "parent+children" | "all"; + +type HoneyNode = { + hash: string; + bestUrl: string; + sources: string[]; + + pulse?: number; + beat?: number; + stepIndex?: number; + chakraDay?: string; + + userPhiKey?: string; + kaiSignature?: string; + + parentHash?: string; + originHash?: string; + + transferDirection?: "send" | "receive"; + transferAmountPhi?: string; + phiDelta?: string; + + receiverKaiPulse?: number; + + degree: number; +}; + +type Coord = { q: number; r: number }; +type Pt = { x: number; y: number }; + +type LayoutItem = { + node: HoneyNode; + x: number; + y: number; + cx: number; + cy: number; +}; + +type EdgeLine = { + x1: number; + y1: number; + x2: number; + y2: number; + kind: "parent" | "child" | "origin"; +}; + +type SyncReason = "open" | "pulse" | "visible" | "focus" | "online" | "import"; + +export type SigilHoneycombExplorerProps = { + className?: string; + sort?: "pulseDesc" | "pulseAsc" | "degreeDesc"; + maxNodes?: number; + edgeMode?: EdgeMode; + syncMode?: "standalone" | "embedded"; + onOpenPulseView?: (payload: { pulse: number; originHash?: string }) => void; +}; + +/* ───────────────────────────────────────────────────────────── + Constants / utils +───────────────────────────────────────────────────────────── */ + +const HAS_WINDOW = typeof window !== "undefined"; + +const SIGIL_EXPLORER_OPEN_EVENT = "sigil:explorer:open"; +const SIGIL_EXPLORER_CHANNEL_NAME = "sigil:explorer:bc:v1"; + +const SIGIL_SELECT_CHANNEL_NAME = "sigil:explorer:select:bc:v1"; +const SIGIL_SELECT_LS_KEY = "sigil:explorer:selectedHash:v1"; +const ONE_PULSE_MICRO = 1_000_000n; + +const modE = (a: bigint, m: bigint) => { + if (m === 0n) return 0n; + const r = a % m; + return r >= 0n ? r : r + m; +}; + +const gcdBI = (a: bigint, b: bigint): bigint => { + let x = a < 0n ? -a : a; + let y = b < 0n ? -b : b; + while (y !== 0n) { + const t = x % y; + x = y; + y = t; + } + return x; +}; + +const SIGIL_WRAP_PULSE: bigint = (() => { + const g = gcdBI(N_DAY_MICRO, ONE_PULSE_MICRO); + return g === 0n ? 0n : N_DAY_MICRO / g; +})(); +const PHI = (1 + Math.sqrt(5)) / 2; + +const wrapPulseForSigil = (pulse: number): number => { + if (!Number.isFinite(pulse)) return 0; + const pulseBI = BigInt(Math.trunc(pulse)); + if (SIGIL_WRAP_PULSE <= 0n) return 0; + const wrapped = modE(pulseBI, SIGIL_WRAP_PULSE); + return Number(wrapped); +}; + +const deriveKksFromPulse = (pulse: number) => { + const p = Number.isFinite(pulse) ? Math.trunc(pulse) : 0; + const pμ = BigInt(p) * ONE_PULSE_MICRO; + const { beat, stepIndex, percentIntoStep } = latticeFromMicroPulses(pμ); + const stepPct = normalizePercentIntoStep(percentIntoStep); + return { beat, stepIndex, stepPct }; +}; + +const hashToUnit = (hash: string): number => { + let acc = 0; + for (let i = 0; i < hash.length; i += 1) { + acc = (acc * 31 + hash.charCodeAt(i)) % 1000000; + } + return acc / 1000000; +}; + +const hashToRgb = (hash: string): string => { + const unit = hashToUnit(hash); + const unit2 = hashToUnit(hash.split("").reverse().join("")); + const unit3 = hashToUnit(`${hash}phi`); + const r = Math.floor(80 + unit * 175); + const g = Math.floor(80 + unit2 * 175); + const b = Math.floor(80 + unit3 * 175); + return `${r} ${g} ${b}`; +}; + +const INHALE_INTERVAL_MS = 3236; +const EXHALE_INTERVAL_MS = 2000; + +const HEX_DIRS: Coord[] = [ + { q: 1, r: 0 }, + { q: 1, r: -1 }, + { q: 0, r: -1 }, + { q: -1, r: 0 }, + { q: -1, r: 1 }, + { q: 0, r: 1 }, +]; + +function clamp(n: number, lo: number, hi: number): number { + return Math.max(lo, Math.min(hi, n)); +} + +function ignore(): void { + // Intentionally ignored (best-effort behavior). +} + +function isRecord(v: unknown): v is Record { + return !!v && typeof v === "object" && !Array.isArray(v); +} + +function readStr(v: unknown): string | undefined { + return typeof v === "string" && v.trim().length > 0 ? v.trim() : undefined; +} + +function readLowerStr(v: unknown): string | undefined { + const s = readStr(v); + return s ? s.toLowerCase() : undefined; +} + +function readNum(v: unknown): number | undefined { + return typeof v === "number" && Number.isFinite(v) ? v : undefined; +} + +function safeJsonParse(text: string): unknown { + return JSON.parse(text) as unknown; +} + +function safeLocalStorageGet(key: string): string | null { + try { + return window.localStorage.getItem(key); + } catch { + ignore(); + return null; + } +} + +function safeLocalStorageSet(key: string, value: string): void { + try { + window.localStorage.setItem(key, value); + } catch { + ignore(); + } +} + +function toTransferDirection(v: unknown): "send" | "receive" | undefined { + const s = readStr(v); + if (s === "send" || s === "receive") return s; + return undefined; +} + +function chakraClass(chakraDay?: string): string { + const c = (chakraDay ?? "").toLowerCase(); + if (c.includes("root")) return "chakra-root"; + if (c.includes("sacral")) return "chakra-sacral"; + if (c.includes("solar")) return "chakra-solar"; + if (c.includes("heart")) return "chakra-heart"; + if (c.includes("throat")) return "chakra-throat"; + if (c.includes("third") || c.includes("brow")) return "chakra-third"; + if (c.includes("crown")) return "chakra-crown"; + return "chakra-unknown"; +} + +function chakraShapeClass(chakraDay?: string): string | null { + const c = (chakraDay ?? "").toLowerCase(); + if (c.includes("root")) return "shape-root"; + if (c.includes("sacral")) return "shape-sacral"; + if (c.includes("solar")) return "shape-solar"; + if (c.includes("heart")) return "shape-heart"; + if (c.includes("throat")) return "shape-throat"; + if (c.includes("third") || c.includes("brow")) return "shape-third"; + if (c.includes("crown")) return "shape-crown"; + return null; +} + +function shortHash(h: string, n = 10): string { + return h.length <= n ? h : h.slice(0, n); +} + +function formatPhi(v?: string): string { + if (!v) return "—"; + return v.startsWith("-") ? v : `+${v}`; +} + +/* ───────────────────────────────────────────────────────────── + Hash / edge helpers (parity with explorer payload fields) +───────────────────────────────────────────────────────────── */ + +function extractHashFromUrlLoose(url: string): string | null { + const h = parseHashFromUrl(url); + if (typeof h === "string" && h.length) return h.toLowerCase(); + + const m = url.match(/\/s\/([0-9a-f]{32,128})(?:\?|$)/i); + if (m?.[1]) return m[1].toLowerCase(); + + return null; +} + +function extractParentHash(payload: Record): string | undefined { + const direct = readLowerStr(payload.parentHash); + if (direct) return direct; + + const parentUrl = readStr(payload.parentUrl); + if (parentUrl) { + const ph = extractHashFromUrlLoose(parentUrl); + if (ph) return ph; + } + return undefined; +} + +function extractOriginHash(payload: Record): string | undefined { + const originUrl = readStr(payload.originUrl); + if (originUrl) { + const oh = extractHashFromUrlLoose(originUrl); + if (oh) return oh; + } + return undefined; +} + +function nodeCompletenessScore(n: Partial): number { + let s = 0; + const bump = (v: unknown) => { + if (v === undefined || v === null) return; + if (typeof v === "string" && v.length === 0) return; + s += 1; + }; + + bump(n.pulse); + bump(n.beat); + bump(n.stepIndex); + bump(n.chakraDay); + bump(n.userPhiKey); + bump(n.kaiSignature); + bump(n.parentHash); + bump(n.originHash); + bump(n.transferDirection); + bump(n.transferAmountPhi); + bump(n.phiDelta); + bump(n.receiverKaiPulse); + + return s; +} + +function pickBestUrlForNode(urls: string[]): string { + let best = urls[0] ?? ""; + let bestScore = -Infinity; + + for (const raw of urls) { + const canon = canonicalizeUrl(raw); + const kind = contentKindForUrl(canon); + const s = scoreUrlForView(canon, kind); + if (s > bestScore) { + bestScore = s; + best = raw; + } + } + + return explorerOpenUrl(best); +} + +function buildNodesFromRegistry(maxNodes: number, sort: "pulseDesc" | "pulseAsc" | "degreeDesc"): HoneyNode[] { + const byHash = new Map(); + + for (const [rawUrl, payloadLoose] of memoryRegistry) { + const url = canonicalizeUrl(rawUrl); + const hash = extractHashFromUrlLoose(url); + if (!hash) continue; + + const payload = isRecord(payloadLoose) ? payloadLoose : ({} as Record); + + const partial: Partial = { + hash, + bestUrl: explorerOpenUrl(url), + + pulse: readNum(payload.pulse), + beat: readNum(payload.beat), + stepIndex: readNum(payload.stepIndex), + chakraDay: readStr(payload.chakraDay), + + userPhiKey: readStr(payload.userPhiKey), + kaiSignature: readLowerStr(payload.kaiSignature), + + parentHash: extractParentHash(payload), + originHash: extractOriginHash(payload), + + transferDirection: toTransferDirection(payload.transferDirection), + transferAmountPhi: readStr(payload.transferAmountPhi), + phiDelta: readStr(payload.phiDelta), + + receiverKaiPulse: readNum(payload.receiverKaiPulse), + }; + + const existing = byHash.get(hash); + + if (!existing) { + byHash.set(hash, { + hash, + bestUrl: partial.bestUrl ?? explorerOpenUrl(url), + sources: [url], + pulse: partial.pulse, + beat: partial.beat, + stepIndex: partial.stepIndex, + chakraDay: partial.chakraDay, + userPhiKey: partial.userPhiKey, + kaiSignature: partial.kaiSignature, + parentHash: partial.parentHash, + originHash: partial.originHash, + transferDirection: partial.transferDirection, + transferAmountPhi: partial.transferAmountPhi, + phiDelta: partial.phiDelta, + receiverKaiPulse: partial.receiverKaiPulse, + degree: 0, + }); + continue; + } + + const mergedSources = new Set(existing.sources); + mergedSources.add(url); + + const aScore = nodeCompletenessScore(existing); + const bScore = nodeCompletenessScore(partial); + const preferIncoming = bScore > aScore; + + const merged: HoneyNode = { + ...existing, + sources: Array.from(mergedSources), + bestUrl: existing.bestUrl, + + pulse: preferIncoming && partial.pulse !== undefined ? partial.pulse : existing.pulse ?? partial.pulse, + beat: preferIncoming && partial.beat !== undefined ? partial.beat : existing.beat ?? partial.beat, + stepIndex: preferIncoming && partial.stepIndex !== undefined ? partial.stepIndex : existing.stepIndex ?? partial.stepIndex, + chakraDay: preferIncoming && partial.chakraDay ? partial.chakraDay : existing.chakraDay ?? partial.chakraDay, + + userPhiKey: preferIncoming && partial.userPhiKey ? partial.userPhiKey : existing.userPhiKey ?? partial.userPhiKey, + kaiSignature: preferIncoming && partial.kaiSignature ? partial.kaiSignature : existing.kaiSignature ?? partial.kaiSignature, + + parentHash: preferIncoming && partial.parentHash ? partial.parentHash : existing.parentHash ?? partial.parentHash, + originHash: preferIncoming && partial.originHash ? partial.originHash : existing.originHash ?? partial.originHash, + + transferDirection: + preferIncoming && partial.transferDirection ? partial.transferDirection : existing.transferDirection ?? partial.transferDirection, + transferAmountPhi: + preferIncoming && partial.transferAmountPhi ? partial.transferAmountPhi : existing.transferAmountPhi ?? partial.transferAmountPhi, + phiDelta: preferIncoming && partial.phiDelta ? partial.phiDelta : existing.phiDelta ?? partial.phiDelta, + + receiverKaiPulse: + preferIncoming && partial.receiverKaiPulse !== undefined + ? partial.receiverKaiPulse + : existing.receiverKaiPulse ?? partial.receiverKaiPulse, + degree: 0, + }; + + byHash.set(hash, merged); + } + + const childrenCount = new Map(); + for (const n of byHash.values()) { + if (!n.parentHash) continue; + childrenCount.set(n.parentHash, (childrenCount.get(n.parentHash) ?? 0) + 1); + } + + for (const n of byHash.values()) { + let deg = 0; + if (n.parentHash) deg += 1; + if (n.originHash) deg += 1; + deg += childrenCount.get(n.hash) ?? 0; + n.degree = deg; + n.bestUrl = pickBestUrlForNode(n.sources); + } + + const withPulse = (n: HoneyNode) => (typeof n.pulse === "number" ? n.pulse : -1); + + const sorted = Array.from(byHash.values()).sort((a, b) => { + if (sort === "degreeDesc") { + if (b.degree !== a.degree) return b.degree - a.degree; + return withPulse(b) - withPulse(a); + } + if (sort === "pulseAsc") return withPulse(a) - withPulse(b); + return withPulse(b) - withPulse(a); + }); + + return sorted.slice(0, maxNodes); +} + +/* ───────────────────────────────────────────────────────────── + Honeycomb geometry (stable spiral) +───────────────────────────────────────────────────────────── */ + +function hexSpiralCoords(n: number): Coord[] { + if (n <= 0) return []; + const coords: Coord[] = [{ q: 0, r: 0 }]; + let radius = 1; + + while (coords.length < n) { + let q = HEX_DIRS[4].q * radius; + let r = HEX_DIRS[4].r * radius; + + for (let d = 0; d < 6 && coords.length < n; d++) { + const dq = HEX_DIRS[d].q; + const dr = HEX_DIRS[d].r; + for (let step = 0; step < radius && coords.length < n; step++) { + coords.push({ q, r }); + q += dq; + r += dr; + } + } + + radius += 1; + } + + return coords; +} + +function axialToPixelPointy(c: Coord, radiusPx: number): Pt { + const x = radiusPx * Math.sqrt(3) * (c.q + c.r / 2); + const y = radiusPx * (3 / 2) * c.r; + return { x, y }; +} + +/* ───────────────────────────────────────────────────────────── + Remote sync helpers (LahMahTor parity) +───────────────────────────────────────────────────────────── */ + +function readRemotePulse(body: ApiSealResponse): number | undefined { + const rec = body as unknown as Record; + const p = rec.pulse ?? rec.latestPulse ?? rec.latest_pulse; + return readNum(p); +} + +type PullResult = { pulled: boolean; imported: number; remoteSeal?: string | null }; +function isPullResult(v: unknown): v is PullResult { + if (!isRecord(v)) return false; + return typeof v.pulled === "boolean" && typeof v.imported === "number"; +} + +/* ───────────────────────────────────────────────────────────── + UI: Hex cell +───────────────────────────────────────────────────────────── */ + +const SigilHex = React.memo(function SigilHex(props: { + node: HoneyNode; + x: number; + y: number; + selected: boolean; + onClick: () => void; +}) { + const { node, x, y, selected, onClick } = props; + + const pulseValue = + typeof node.pulse === "number" && Number.isFinite(node.pulse) ? node.pulse : 0; + const sigilPulse = wrapPulseForSigil(pulseValue); + const kks = deriveKksFromPulse(sigilPulse); + const depth = (hashToUnit(node.hash) - 0.5) * 220 * PHI; + const shapeIndex = Math.floor(hashToUnit(node.hash) * 6); + const shapeClass = chakraShapeClass(node.chakraDay) ?? `shape-${shapeIndex}`; + const fallbackTint = node.chakraDay ? undefined : hashToRgb(node.hash); + + const ariaParts: string[] = []; + if (typeof node.pulse === "number") ariaParts.push(`pulse ${node.pulse}`); + if (Number.isFinite(kks.beat) && Number.isFinite(kks.stepIndex)) { + ariaParts.push(`beat ${kks.beat} step ${kks.stepIndex}`); + } + if (node.chakraDay) ariaParts.push(node.chakraDay); + ariaParts.push(shortHash(node.hash, 12)); + const aria = ariaParts.join(" — "); + + return ( + + ); +}); + +/* ───────────────────────────────────────────────────────────── + Component +───────────────────────────────────────────────────────────── */ + +export default function SigilHoneycombExplorer({ + className, + sort = "pulseDesc", + maxNodes = 1400, + edgeMode: edgeModeProp = "all", + syncMode = "standalone", + onOpenPulseView, +}: SigilHoneycombExplorerProps) { + const allowNetworkSync = syncMode === "standalone"; + const [edgeMode, setEdgeMode] = useState(edgeModeProp); + const [query, setQuery] = useState(""); + + const [registryRev, setRegistryRev] = useState(() => (ensureRegistryHydrated() ? 1 : 0)); + const [selectedOverride, setSelectedOverride] = useState(null); + + const viewportRef = useRef(null); + const [vpSize, setVpSize] = useState<{ w: number; h: number }>({ w: 0, h: 0 }); + const [zoom, setZoom] = useState(0.6); + const [rotation, setRotation] = useState<{ x: number; y: number; z: number }>({ x: -18, y: 0, z: 0 }); + + const [userInteracted, setUserInteracted] = useState(false); + const [userPan, setUserPan] = useState<{ x: number; y: number }>({ x: 0, y: 0 }); + + const dragRef = useRef<{ + active: boolean; + mode: "pan" | "rotate"; + x0: number; + y0: number; + panX0: number; + panY0: number; + rotX0: number; + rotY0: number; + rotZ0: number; + }>({ + active: false, + mode: "pan", + x0: 0, + y0: 0, + panX0: 0, + panY0: 0, + rotX0: 0, + rotY0: 0, + rotZ0: 0, + }); + + const remoteSealRef = useRef(null); + const syncInFlightRef = useRef(false); + + const selectChannelRef = useRef(null); + + const bumpRegistry = useCallback(() => { + startTransition(() => setRegistryRev((v) => v + 1)); + }, []); + + /* ───────────────────────────────────────────────────────────── + Subscriptions / hydration (same signals as SigilExplorer) + ────────────────────────────────────────────────────────────── */ + useEffect(() => { + if (!HAS_WINDOW) return; + + if (allowNetworkSync) { + loadApiBackupDeadUntil(); + loadApiBaseHint(); + loadInhaleQueueFromStorage(); + } + loadUrlHealthFromStorage(); + + const hydrated = ensureRegistryHydrated(); + if (hydrated) bumpRegistry(); + + window.dispatchEvent(new Event(SIGIL_EXPLORER_OPEN_EVENT)); + + selectChannelRef.current = "BroadcastChannel" in window ? new BroadcastChannel(SIGIL_SELECT_CHANNEL_NAME) : null; + + const onSelectMsg = (ev: MessageEvent) => { + const data = ev.data as unknown; + if (!isRecord(data)) return; + const t = readStr(data.type); + if (t !== "sigil:select") return; + const h = readLowerStr(data.hash); + if (!h) return; + setSelectedOverride(h); + }; + selectChannelRef.current?.addEventListener("message", onSelectMsg); + + const onStorage = (ev: StorageEvent) => { + if (!ev.key || !ev.newValue) return; + + if (ev.key === SIGIL_SELECT_LS_KEY) { + const h = readLowerStr(ev.newValue); + if (h) setSelectedOverride(h); + return; + } + + const isRegistryKey = ev.key === REGISTRY_LS_KEY; + const isModalKey = ev.key === MODAL_FALLBACK_LS_KEY; + if (!isRegistryKey && !isModalKey) return; + + try { + const parsed = safeJsonParse(ev.newValue); + if (!Array.isArray(parsed)) return; + + let changed = false; + for (const u of parsed) { + if (typeof u !== "string") continue; + if ( + addUrl(u, { + includeAncestry: true, + broadcast: false, + persist: false, + source: "local", + enqueueToApi: allowNetworkSync, + }) + ) { + changed = true; + } + } + + if (changed) { + persistRegistryToStorage(); + bumpRegistry(); + } + } catch { + ignore(); + } + }; + window.addEventListener("storage", onStorage); + + const explorerChannel = "BroadcastChannel" in window ? new BroadcastChannel(SIGIL_EXPLORER_CHANNEL_NAME) : null; + + const onExplorerMsg = (ev: MessageEvent) => { + const data = ev.data as unknown; + if (!isRecord(data)) return; + const t = readStr(data.type); + if (t !== "sigil:add") return; + const u = readStr(data.url); + if (!u) return; + + const changed = addUrl(u, { + includeAncestry: true, + broadcast: false, + persist: true, + source: "local", + enqueueToApi: allowNetworkSync, + }); + if (changed) bumpRegistry(); + }; + explorerChannel?.addEventListener("message", onExplorerMsg); + + const onUrlRegistered = (e: Event) => { + const ce = e as CustomEvent<{ url?: unknown }>; + const u = typeof ce.detail?.url === "string" ? ce.detail.url : ""; + if (!u) return; + const changed = addUrl(u, { + includeAncestry: true, + broadcast: true, + persist: true, + source: "local", + enqueueToApi: allowNetworkSync, + }); + if (changed) bumpRegistry(); + }; + + const onMinted = (e: Event) => { + const ce = e as CustomEvent<{ url?: unknown }>; + const u = typeof ce.detail?.url === "string" ? ce.detail.url : ""; + if (!u) return; + const changed = addUrl(u, { + includeAncestry: true, + broadcast: true, + persist: true, + source: "local", + enqueueToApi: allowNetworkSync, + }); + if (changed) bumpRegistry(); + }; + + window.addEventListener("sigil:url-registered", onUrlRegistered as EventListener); + window.addEventListener("sigil:minted", onMinted as EventListener); + + const onPageHide = () => { + if (!allowNetworkSync) return; + saveInhaleQueueToStorage(); + void flushInhaleQueue(); + }; + window.addEventListener("pagehide", onPageHide); + + return () => { + window.removeEventListener("storage", onStorage); + window.removeEventListener("sigil:url-registered", onUrlRegistered as EventListener); + window.removeEventListener("sigil:minted", onMinted as EventListener); + window.removeEventListener("pagehide", onPageHide); + + explorerChannel?.removeEventListener("message", onExplorerMsg); + explorerChannel?.close(); + + selectChannelRef.current?.removeEventListener("message", onSelectMsg); + selectChannelRef.current?.close(); + selectChannelRef.current = null; + }; + }, [allowNetworkSync, bumpRegistry]); + + /* ResizeObserver */ + useEffect(() => { + const el = viewportRef.current; + if (!el) return; + if (typeof ResizeObserver === "undefined") return; + + const ro = new ResizeObserver((entries) => { + const r = entries[0]?.contentRect; + if (!r) return; + setVpSize({ w: Math.round(r.width), h: Math.round(r.height) }); + }); + + ro.observe(el); + return () => ro.disconnect(); + }, []); + + /* ───────────────────────────────────────────────────────────── + LahMahTor breath sync (standalone mode only) + ────────────────────────────────────────────────────────────── */ + + const inhaleOnce = useCallback(async (reason: SyncReason) => { + if (!isOnline()) return; + if (syncMode !== "standalone") return; + + seedInhaleFromRegistry(); + + if (reason === "pulse") { + await flushInhaleQueue(); + return; + } + + await flushInhaleQueue(); + }, [syncMode]); + + const exhaleOnce = useCallback( + async (reason: SyncReason, signal: AbortSignal) => { + if (!isOnline()) return; + if (syncMode !== "standalone") return; + if (syncInFlightRef.current) return; + + syncInFlightRef.current = true; + try { + const res = await apiFetchWithFailover( + (base) => new URL(API_SEAL_PATH, base).toString(), + { method: "GET", cache: "no-store", signal, headers: undefined }, + ); + + if (!res || !res.ok) return; + + let nextSeal = ""; + let remotePulse: number | undefined; + + try { + const body = (await res.json()) as ApiSealResponse; + const rec = body as unknown as Record; + nextSeal = typeof rec.seal === "string" ? rec.seal : ""; + remotePulse = readRemotePulse(body); + } catch { + ignore(); + return; + } + + const prevSeal = remoteSealRef.current; + const localLatestPulse = remotePulse != null ? getLatestPulseFromRegistryLocal() : undefined; + const hasNewerPulse = remotePulse != null && (localLatestPulse == null || remotePulse > localLatestPulse); + + if (prevSeal && nextSeal && prevSeal === nextSeal && !hasNewerPulse && reason === "pulse") { + remoteSealRef.current = nextSeal; + return; + } + + const pullRes: unknown = await pullAndImportRemoteUrls(signal); + + if (isPullResult(pullRes)) { + if (pullRes.pulled) remoteSealRef.current = pullRes.remoteSeal ?? nextSeal ?? prevSeal ?? null; + if (pullRes.imported > 0) bumpRegistry(); + } else { + remoteSealRef.current = nextSeal || prevSeal; + } + + seedInhaleFromRegistry(); + await flushInhaleQueue(); + } finally { + syncInFlightRef.current = false; + } + }, + [bumpRegistry, syncMode], + ); + + useEffect(() => { + if (!HAS_WINDOW) return; + if (syncMode !== "standalone") return; + + const ac = new AbortController(); + + void inhaleOnce("open"); + void exhaleOnce("open", ac.signal); + + const inhaleTimer = window.setInterval(() => { + if (document.visibilityState !== "visible") return; + void inhaleOnce("pulse"); + }, INHALE_INTERVAL_MS); + + const exhaleTimer = window.setInterval(() => { + if (document.visibilityState !== "visible") return; + void exhaleOnce("pulse", ac.signal); + }, EXHALE_INTERVAL_MS); + + const onVis = () => { + if (document.visibilityState === "visible") { + void inhaleOnce("visible"); + void exhaleOnce("visible", ac.signal); + } + }; + + const onFocus = () => { + void inhaleOnce("focus"); + void exhaleOnce("focus", ac.signal); + }; + + const onOnline = () => { + void inhaleOnce("online"); + void exhaleOnce("online", ac.signal); + }; + + document.addEventListener("visibilitychange", onVis); + window.addEventListener("focus", onFocus); + window.addEventListener("online", onOnline); + + return () => { + window.clearInterval(inhaleTimer); + window.clearInterval(exhaleTimer); + document.removeEventListener("visibilitychange", onVis); + window.removeEventListener("focus", onFocus); + window.removeEventListener("online", onOnline); + ac.abort(); + }; + }, [exhaleOnce, inhaleOnce, syncMode]); + + /* ───────────────────────────────────────────────────────────── + Nodes (graph truth) built from memoryRegistry (same as tree) + ────────────────────────────────────────────────────────────── */ + + const nodesSorted = useMemo(() => { + void registryRev; + return buildNodesFromRegistry(maxNodes, sort); + }, [registryRev, maxNodes, sort]); + + const byHash = useMemo(() => { + const m = new Map(); + for (const n of nodesSorted) m.set(n.hash, n); + return m; + }, [nodesSorted]); + + const childrenByParent = useMemo(() => { + const m = new Map(); + for (const n of nodesSorted) { + if (!n.parentHash) continue; + const arr = m.get(n.parentHash) ?? []; + arr.push(n.hash); + m.set(n.parentHash, arr); + } + return m; + }, [nodesSorted]); + + const computedInitialHash = useMemo((): string | null => { + if (nodesSorted.length === 0) return null; + + if (HAS_WINDOW) { + const saved = safeLocalStorageGet(SIGIL_SELECT_LS_KEY); + const savedHash = saved ? saved.toLowerCase() : ""; + if (savedHash && byHash.has(savedHash)) return savedHash; + } + + let best: HoneyNode | null = null; + for (const n of nodesSorted) { + if (!best) best = n; + else if (n.degree > best.degree) best = n; + } + return best?.hash ?? nodesSorted[0].hash; + }, [nodesSorted, byHash]); + + const selectedHash = useMemo((): string | null => { + const ov = selectedOverride ? selectedOverride.toLowerCase() : null; + if (ov && byHash.has(ov)) return ov; + return computedInitialHash; + }, [selectedOverride, byHash, computedInitialHash]); + + const selected = useMemo(() => (selectedHash ? byHash.get(selectedHash) ?? null : null), [selectedHash, byHash]); + const selectedPulse = + selected && typeof selected.pulse === "number" && Number.isFinite(selected.pulse) + ? wrapPulseForSigil(selected.pulse) + : null; + const selectedKks = selectedPulse != null ? deriveKksFromPulse(selectedPulse) : null; + + const filtered = useMemo(() => { + const q = query.trim().toLowerCase(); + if (!q) return nodesSorted; + + return nodesSorted.filter((n) => { + if (n.hash.includes(q)) return true; + if (typeof n.pulse === "number" && String(n.pulse).includes(q)) return true; + if (n.userPhiKey && n.userPhiKey.toLowerCase().includes(q)) return true; + if (n.kaiSignature && n.kaiSignature.toLowerCase().includes(q)) return true; + if (n.chakraDay && n.chakraDay.toLowerCase().includes(q)) return true; + return false; + }); + }, [nodesSorted, query]); + + const layout = useMemo(() => { + const N = filtered.length; + const coords = hexSpiralCoords(N); + + const PHI = 1.61803398875; + const radiusPx = Math.round(28 * PHI); + const pts: Pt[] = coords.map((c) => axialToPixelPointy(c, radiusPx)); + + let minX = Infinity; + let minY = Infinity; + let maxX = -Infinity; + let maxY = -Infinity; + + for (const p of pts) { + minX = Math.min(minX, p.x); + minY = Math.min(minY, p.y); + maxX = Math.max(maxX, p.x); + maxY = Math.max(maxY, p.y); + } + + const hexW = Math.sqrt(3) * radiusPx; + const hexH = 2 * radiusPx; + const pad = 96; + + const offX = (Number.isFinite(minX) ? -minX : 0) + pad; + const offY = (Number.isFinite(minY) ? -minY : 0) + pad; + + const items: LayoutItem[] = filtered.map((node, i) => { + const p = pts[i] ?? { x: 0, y: 0 }; + const x = p.x + offX - hexW / 2; + const y = p.y + offY - hexH / 2; + const cx = p.x + offX; + const cy = p.y + offY; + return { node, x, y, cx, cy }; + }); + + const width = (Number.isFinite(maxX - minX) ? maxX - minX : 0) + pad * 2 + hexW; + const height = (Number.isFinite(maxY - minY) ? maxY - minY : 0) + pad * 2 + hexH; + + const itemByHash = new Map(); + for (const it of items) itemByHash.set(it.node.hash, it); + + const centerOf = (hash: string | null): Pt | null => { + if (!hash) return null; + const it = itemByHash.get(hash); + return it ? { x: it.cx, y: it.cy } : null; + }; + + return { width, height, items, itemByHash, centerOf }; + }, [filtered]); + + const autoPan = useMemo((): { x: number; y: number } => { + if (!selectedHash) return { x: 0, y: 0 }; + if (!vpSize.w || !vpSize.h) return { x: 0, y: 0 }; + const c = layout.centerOf(selectedHash); + if (!c) return { x: 0, y: 0 }; + return { x: vpSize.w / 2 - c.x * zoom, y: vpSize.h / 2 - c.y * zoom }; + }, [selectedHash, vpSize.w, vpSize.h, layout, zoom]); + + const pan = userInteracted ? userPan : autoPan; + + const edgeLines = useMemo(() => { + if (!selectedHash) return []; + if (edgeMode === "none") return []; + + const selItem = layout.itemByHash.get(selectedHash); + const sel = byHash.get(selectedHash); + if (!selItem || !sel) return []; + + const lines: EdgeLine[] = []; + const addLine = (toHash: string | undefined, kind: EdgeLine["kind"]) => { + if (!toHash) return; + const tgt = layout.itemByHash.get(toHash); + if (!tgt) return; + lines.push({ x1: selItem.cx, y1: selItem.cy, x2: tgt.cx, y2: tgt.cy, kind }); + }; + + if (edgeMode === "parent" || edgeMode === "parent+children" || edgeMode === "all") addLine(sel.parentHash, "parent"); + + if (edgeMode === "parent+children" || edgeMode === "all") { + const kids = childrenByParent.get(sel.hash) ?? []; + for (const k of kids) addLine(k, "child"); + } + + if (edgeMode === "all") addLine(sel.originHash, "origin"); + + return lines; + }, [selectedHash, edgeMode, layout, byHash, childrenByParent]); + + /* ───────────────────────────────────────────────────────────── + Interactions + ────────────────────────────────────────────────────────────── */ + + const resetToAutoCenter = () => { + setUserInteracted(false); + setUserPan({ x: 0, y: 0 }); + }; + + const broadcastSelection = (hash: string) => { + if (!HAS_WINDOW) return; + safeLocalStorageSet(SIGIL_SELECT_LS_KEY, hash); + try { + selectChannelRef.current?.postMessage({ type: "sigil:select", hash }); + } catch { + ignore(); + } + }; + + const selectHash = (hash: string) => { + const h = hash.toLowerCase(); + setSelectedOverride(h); + broadcastSelection(h); + resetToAutoCenter(); + if (onOpenPulseView) { + const node = byHash.get(h); + const pulse = node?.pulse; + if (typeof pulse === "number" && Number.isFinite(pulse)) { + onOpenPulseView({ pulse, originHash: node?.originHash }); + } + } + }; + + const onWheel = (e: React.WheelEvent) => { + const el = viewportRef.current; + if (!el) return; + + const delta = e.deltaY; + const nextZoom = clamp(zoom * (delta > 0 ? 0.9 : 1.12), 0.12, 4.25); + + const rect = el.getBoundingClientRect(); + const mx = e.clientX - rect.left; + const my = e.clientY - rect.top; + + const curPan = pan; + const worldX = (mx - curPan.x) / zoom; + const worldY = (my - curPan.y) / zoom; + + const nextPanX = mx - worldX * nextZoom; + const nextPanY = my - worldY * nextZoom; + + setZoom(nextZoom); + setUserInteracted(true); + setUserPan({ x: nextPanX, y: nextPanY }); + }; + + const onPointerDown = (e: React.PointerEvent) => { + if (e.button !== 0 && e.button !== 2) return; + if (e.target instanceof HTMLElement && e.target.closest(".sigilHex")) return; + + setUserInteracted(true); + const rotateMode = e.button === 2 || e.shiftKey; + dragRef.current = { + active: true, + mode: rotateMode ? "rotate" : "pan", + x0: e.clientX, + y0: e.clientY, + panX0: pan.x, + panY0: pan.y, + rotX0: rotation.x, + rotY0: rotation.y, + rotZ0: rotation.z, + }; + e.currentTarget.setPointerCapture(e.pointerId); + }; + + const onPointerMove = (e: React.PointerEvent) => { + if (!dragRef.current.active) return; + const dx = e.clientX - dragRef.current.x0; + const dy = e.clientY - dragRef.current.y0; + if (dragRef.current.mode === "rotate") { + const nextX = clamp(dragRef.current.rotX0 + dy * 0.35, -85, 85); + const nextY = dragRef.current.rotY0 + dx * 0.35; + const nextZ = e.altKey ? dragRef.current.rotZ0 + dx * 0.2 : dragRef.current.rotZ0; + setRotation({ x: nextX, y: nextY, z: nextZ }); + } else { + setUserPan({ x: dragRef.current.panX0 + dx, y: dragRef.current.panY0 + dy }); + } + }; + + const onPointerUp = (e: React.PointerEvent) => { + dragRef.current.active = false; + try { + e.currentTarget.releasePointerCapture(e.pointerId); + } catch { + ignore(); + } + }; + + const openSelected = () => { + if (!selected) return; + window.open(selected.bestUrl, "_blank", "noopener,noreferrer"); + }; + + const copySelectedUrl = async () => { + if (!selected) return; + if (!navigator.clipboard) return; + try { + await navigator.clipboard.writeText(selected.bestUrl); + } catch { + ignore(); + } + }; + + const childCount = selected ? (childrenByParent.get(selected.hash)?.length ?? 0) : 0; + + return ( +
+
+ + ); +} + +/* ───────────────────────────────────────────────────────────── + Local helper: latest pulse in registry +───────────────────────────────────────────────────────────── */ +function getLatestPulseFromRegistryLocal(): number | undefined { + let latest: number | undefined; + for (const [, payloadLoose] of memoryRegistry) { + if (!isRecord(payloadLoose)) continue; + const p = readNum(payloadLoose.pulse); + if (p == null) continue; + if (latest == null || p > latest) latest = p; + } + return latest; +} diff --git a/src/components/SigilExplorer/apiClient.ts b/src/components/SigilExplorer/apiClient.ts index 9804f7e76..6d6de1242 100644 --- a/src/components/SigilExplorer/apiClient.ts +++ b/src/components/SigilExplorer/apiClient.ts @@ -15,11 +15,23 @@ const canStorage = hasWindow && typeof window.localStorage !== "undefined"; /* ───────────────────────────────────────────────────────────────────── * LAH-MAH-TOR API (Primary + IKANN Failover, soft-fail backup) * ─────────────────────────────────────────────────────────────────── */ -export const LIVE_BASE_URL = "https://align.kaiklok.com"; -export const LIVE_BACKUP_URL = "https://m.phi.network"; +export const LIVE_BASE_URL = "https://m.phi.network"; +export const LIVE_BACKUP_URL = "https://memory.kaiklok.com"; -const API_BASE_PRIMARY = LIVE_BASE_URL; -const API_BASE_FALLBACK = LIVE_BACKUP_URL; +function isLocalDevOrigin(origin: string): boolean { + return origin.startsWith("http://localhost:") || origin.startsWith("http://127.0.0.1:"); +} + +function selectPrimaryBase(primary: string, backup: string): string { + if (!hasWindow) return primary; + const origin = window.location.origin; + if (origin === primary || origin === backup) return origin; + if (isLocalDevOrigin(origin)) return origin; + return primary; +} + +const API_BASE_PRIMARY = selectPrimaryBase(LIVE_BASE_URL, LIVE_BACKUP_URL); +const API_BASE_FALLBACK = API_BASE_PRIMARY === LIVE_BASE_URL ? LIVE_BACKUP_URL : LIVE_BASE_URL; export const API_SEAL_PATH = "/sigils/seal"; export const API_URLS_PATH = "/sigils/urls"; @@ -114,6 +126,15 @@ function apiBases(): string[] { // Never try http fallback from an https page (browser will block + log loudly) const protocolFiltered = isHttpsPage ? list.filter((b) => b.startsWith("https://")) : list; + const pageOrigin = window.location.origin; + if ( + pageOrigin === LIVE_BASE_URL || + pageOrigin === LIVE_BACKUP_URL || + isLocalDevOrigin(pageOrigin) + ) { + return protocolFiltered.filter((b) => b === pageOrigin); + } + // Soft-fail: suppress backup if marked dead return isBackupSuppressed() ? protocolFiltered.filter((b) => b !== API_BASE_FALLBACK) : protocolFiltered; } @@ -180,4 +201,4 @@ export async function apiFetchJsonWithFailover( } catch { return { ok: false, status: 0 }; } -} +} \ No newline at end of file diff --git a/src/version.ts b/src/version.ts index 296b996c7..b7470ab10 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1,7 +1,7 @@ // src/version.ts // Shared PWA version constants so the app shell, SW registration, and UI stay in sync. -export const BASE_APP_VERSION = "39.0.4"; // Canonical offline/PWA version +export const BASE_APP_VERSION = "40.0.0"; // Canonical offline/PWA version export const SW_VERSION_EVENT = "kairos:sw-version"; export const DEFAULT_APP_VERSION = BASE_APP_VERSION; // Keep in sync with public/sw.js const ENV_APP_VERSION = diff --git a/tsconfig.tsbuildinfo b/tsconfig.tsbuildinfo index 5bb8bc6e1..b35009236 100644 --- a/tsconfig.tsbuildinfo +++ b/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"root":["./src/app.tsx","./src/sovereignsolar.ts","./src/main.tsx","./src/types.ts","./src/version.ts","./src/components/daydetailmodal.tsx","./src/components/errorboundary.tsx","./src/components/eternalklock.tsx","./src/components/exhalenote.tsx","./src/components/feedcard.tsx","./src/components/glyphimportmodal.tsx","./src/components/homepricechartcard.tsx","./src/components/homepricetickerfallback.tsx","./src/components/inhaleuploadicon.tsx","./src/components/kaiklock.canon.ts","./src/components/kaiklock.tsx","./src/components/kaiklockhomeface.tsx","./src/components/kaipricechart.tsx","./src/components/kaisigil.tsx","./src/components/kaisplashscreen.tsx","./src/components/largeglyphminter.tsx","./src/components/largeglyphviewer.tsx","./src/components/monthkalendarmodal.tsx","./src/components/notemodal.tsx","./src/components/phistreampopover.tsx","./src/components/resultcard.tsx","./src/components/sealmomentmodal.tsx","./src/components/sealmomentmodaltransfer.tsx","./src/components/sendsigilmodal.tsx","./src/components/sigilconflictbanner copy.tsx","./src/components/sigilconflictbanner.tsx","./src/components/sigilexplorer.tsx","./src/components/sigilglyphbutton.tsx","./src/components/sigilmodal.tsx","./src/components/sigilmomentrow.tsx","./src/components/sigilpublisherpanel.tsx","./src/components/solaranchoreddial.tsx","./src/components/sovereigndeclarations.tsx","./src/components/stargateviewer.tsx","./src/components/valuationmodal.tsx","./src/components/valuehistorymodal.tsx","./src/components/verifierform.tsx","./src/components/weekkalendarmodal.tsx","./src/components/kairealms/gameportal.tsx","./src/components/kairealms/glyphutils.ts","./src/components/kairealms/inventory.tsx","./src/components/kairealms/kaikasino.tsx","./src/components/kairealms/kaipulseengine.ts","./src/components/kairealms/missionrunner.tsx","./src/components/kairealms/realmview.tsx","./src/components/kairealms/sigilavatar.tsx","./src/components/kairealms/worldstate.ts","./src/components/kairealms/constants.ts","./src/components/kairealms/index.tsx","./src/components/kairealms/styles.ts","./src/components/kairealms/types.ts","./src/components/kairealms/usegamesession.ts","./src/components/kairealms/kaimaze/kaimaze.tsx","./src/components/kairealms/kaimaze/index.ts","./src/components/kairealms/kaimaze/engine/ai.ts","./src/components/kairealms/kaimaze/engine/constants.ts","./src/components/kairealms/kaimaze/engine/engine.ts","./src/components/kairealms/kaimaze/engine/input.ts","./src/components/kairealms/kaimaze/engine/map.ts","./src/components/kairealms/kaimaze/engine/physics.ts","./src/components/kairealms/kaimaze/engine/types.ts","./src/components/kairealms/lib/gamefocus.ts","./src/components/kaisigil/art.tsx","./src/components/kaisigil/defs.tsx","./src/components/kaisigil/metadata.tsx","./src/components/kaisigil/zkglyph.tsx","./src/components/kaisigil/constants.ts","./src/components/kaisigil/crypto.ts","./src/components/kaisigil/embed.ts","./src/components/kaisigil/exporters.ts","./src/components/kaisigil/freq.ts","./src/components/kaisigil/helpers.ts","./src/components/kaisigil/hooks.ts","./src/components/kaisigil/identity.ts","./src/components/kaisigil/step.ts","./src/components/kaisigil/types.ts","./src/components/kaisigil/utils.ts","./src/components/kaisigil/valuationbridge.ts","./src/components/kaivoh/breathsealer.tsx","./src/components/kaivoh/kaiverifierlink.tsx","./src/components/kaivoh/kaivoh.tsx","./src/components/kaivoh/kaivohapp.tsx","./src/components/kaivoh/kaivohboundary.tsx","./src/components/kaivoh/kaivohmodal.tsx","./src/components/kaivoh/multisharedispatcher.tsx","./src/components/kaivoh/phikeyresolver.ts","./src/components/kaivoh/postbody.tsx","./src/components/kaivoh/postcomposer.tsx","./src/components/kaivoh/sessionmanager.tsx","./src/components/kaivoh/sigilauth.base.ts","./src/components/kaivoh/sigilauthcontext.tsx","./src/components/kaivoh/sigilauthprovider.tsx","./src/components/kaivoh/sigillogin.tsx","./src/components/kaivoh/sigilmemorybuilder.ts","./src/components/kaivoh/signatureembedder.ts","./src/components/kaivoh/socialconnector.shared.ts","./src/components/kaivoh/socialconnector.tsx","./src/components/kaivoh/storyrecorder.tsx","./src/components/kaivoh/verifierframe.tsx","./src/components/kaivoh/encodetoken.worker.ts","./src/components/kaivoh/kaivohencode.worker.ts","./src/components/kaivoh/usesigilauth.ts","./src/components/kaivoh/verifierproof.ts","./src/components/sigilexplorer/sigilexplorer.tsx","./src/components/sigilexplorer/apiclient.ts","./src/components/sigilexplorer/chakra.ts","./src/components/sigilexplorer/format.ts","./src/components/sigilexplorer/index.ts","./src/components/sigilexplorer/inhalequeue.ts","./src/components/sigilexplorer/kaicadence.ts","./src/components/sigilexplorer/registrystore.ts","./src/components/sigilexplorer/remotepull.ts","./src/components/sigilexplorer/transfers.ts","./src/components/sigilexplorer/treebuilder.ts","./src/components/sigilexplorer/treetypes.ts","./src/components/sigilexplorer/types.ts","./src/components/sigilexplorer/url.ts","./src/components/sigilexplorer/urlhealth.ts","./src/components/sigilexplorer/witness.ts","./src/components/sigilexplorer/tree/buildforest.ts","./src/components/sigilexplorer/tree/types.ts","./src/components/verifierstamper/sendphiamountfield.tsx","./src/components/verifierstamper/sigilmomentrow.tsx","./src/components/verifierstamper/verifierstamper.tsx","./src/components/verifierstamper/constants.ts","./src/components/verifierstamper/crypto.ts","./src/components/verifierstamper/files.ts","./src/components/verifierstamper/keys.ts","./src/components/verifierstamper/merkle.ts","./src/components/verifierstamper/segments.ts","./src/components/verifierstamper/sigilutils.ts","./src/components/verifierstamper/styles.ts","./src/components/verifierstamper/svg.ts","./src/components/verifierstamper/types.ts","./src/components/verifierstamper/ui.tsx","./src/components/verifierstamper/verifyhistorical.ts","./src/components/verifierstamper/verifysovereignoffline.ts","./src/components/verifierstamper/window.ts","./src/components/verifierstamper/zk.ts","./src/components/verifierstamper/hooks/useautoshrink.ts","./src/components/verifierstamper/hooks/userollingchartseries.ts","./src/components/exhale-note/banknotesvg.ts","./src/components/exhale-note/bridge.ts","./src/components/exhale-note/constants.ts","./src/components/exhale-note/css.ts","./src/components/exhale-note/cutmarks.ts","./src/components/exhale-note/dom.ts","./src/components/exhale-note/exporters.ts","./src/components/exhale-note/format.ts","./src/components/exhale-note/hash.ts","./src/components/exhale-note/printer.ts","./src/components/exhale-note/proofpages.ts","./src/components/exhale-note/qr.ts","./src/components/exhale-note/sanitize.ts","./src/components/exhale-note/sigilembed.ts","./src/components/exhale-note/svgtopng.ts","./src/components/exhale-note/titles.ts","./src/components/exhale-note/types.ts","./src/components/session/sessioncontext.ts","./src/components/session/sessionprovider.tsx","./src/components/session/sigilsessioncontext.ts","./src/components/session/sigilsessionprovider.tsx","./src/components/session/sigilsessiontypes.ts","./src/components/session/sessionstorage.ts","./src/components/session/sessiontypes.ts","./src/components/session/usesession.ts","./src/components/session/usesigilsession.ts","./src/components/shortner/shortredirect.tsx","./src/components/shortner/shorturltool.tsx","./src/components/shortner/index.tsx","./src/components/shortner/kaiphishort.ts","./src/components/sigil/kaiqr.tsx","./src/components/sigil/mobilesafefileinput.tsx","./src/components/sigil/ownershippanel.tsx","./src/components/sigil/ownershipverifier.tsx","./src/components/sigil/ownershipverifymodal.tsx","./src/components/sigil/phidepositpanel.tsx","./src/components/sigil/provenancelist.tsx","./src/components/sigil/sigilcta.tsx","./src/components/sigil/sigilframe.tsx","./src/components/sigil/sigilheader.tsx","./src/components/sigil/sigilmetapanel.tsx","./src/components/sigil/sovereigncontrols.tsx","./src/components/sigil/stargateoverlay.tsx","./src/components/sigil/upgradesigilmodal.tsx","./src/components/sigil/openownershipverifymodal.tsx","./src/components/sigil/theme.tsx","./src/components/valuation/donorseditor.tsx","./src/components/valuation/mintcompositemodal.tsx","./src/components/valuation/asset.ts","./src/components/valuation/constants.ts","./src/components/valuation/display.ts","./src/components/valuation/drivers.ts","./src/components/valuation/globals.d.ts","./src/components/valuation/hooks.ts","./src/components/valuation/math.ts","./src/components/valuation/platform.ts","./src/components/valuation/rarity.ts","./src/components/valuation/series.ts","./src/components/valuation/chart/livechart.tsx","./src/components/valuation/chart/valuationcard.tsx","./src/components/valuation/chart/valuedonut.tsx","./src/components/valuation/types/window.d.ts","./src/components/verifier/sendphiamountfield.tsx","./src/components/verifier/verifiererrorboundary.tsx","./src/components/verifier/hooks/usemetasignals.ts","./src/components/verifier/types/local.ts","./src/components/verifier/types/window.d.ts","./src/components/verifier/ui/jsontree.tsx","./src/components/verifier/ui/statuschips.tsx","./src/components/verifier/utils/base64.ts","./src/components/verifier/utils/childexpiry.ts","./src/components/verifier/utils/decimal.ts","./src/components/verifier/utils/dialog.ts","./src/components/verifier/utils/log.ts","./src/components/verifier/utils/metadataset.ts","./src/components/verifier/utils/modal.ts","./src/components/verifier/utils/notepayload.ts","./src/components/verifier/utils/rotationbus.ts","./src/components/verifier/utils/saferead.ts","./src/components/verifier/utils/sigilglobal.ts","./src/components/verifier/utils/sigilmemoryvault.ts","./src/components/verifier/utils/statemachine.ts","./src/components/verifier/utils/urlpayload.ts","./src/constants/sigilexplorer.ts","./src/glyph/glyphmodal.tsx","./src/glyph/glyphengine.ts","./src/glyph/glyphutils.ts","./src/glyph/types.ts","./src/glyph/useglyphlogic.ts","./src/hooks/useauthorityproof.ts","./src/hooks/usebodyscrolllock.ts","./src/hooks/usedisablezoom.ts","./src/hooks/usefastpress.ts","./src/hooks/usekaiparitypricepoints.ts","./src/hooks/usekaiticker.ts","./src/hooks/useperfmode.ts","./src/hooks/useresponsivesigilsize.ts","./src/hooks/userotationbus.ts","./src/hooks/usevaluehistory.ts","./src/hooks/usevisualviewportsize.ts","./src/kai/kainow.ts","./src/lib/download.ts","./src/lib/hash.ts","./src/lib/mobilepopoverfix.ts","./src/lib/qr.ts","./src/lib/sigilregistryclient.ts","./src/lib/ledger/log.ts","./src/lib/ledger/merkle.ts","./src/lib/ledger/types.ts","./src/lib/sigil/breathproof.ts","./src/lib/sigil/canonicalize.ts","./src/lib/sigil/codec.ts","./src/lib/sigil/embed.ts","./src/lib/sigil/extract.ts","./src/lib/sigil/hash.ts","./src/lib/sigil/recover.ts","./src/lib/sigil/signature.ts","./src/lib/sigil/__tests__/canonicalize.test.ts","./src/lib/sigil/__tests__/hash.test.ts","./src/lib/sync/dht.ts","./src/lib/sync/ipfsadapter.ts","./src/lib/sync/nopadapter.ts","./src/pages/pshort.tsx","./src/pages/sigilfeedpage.tsx","./src/pages/verifypage.tsx","./src/pages/verifysigil.tsx","./src/pages/sigilpage/sigilpage.tsx","./src/pages/sigilpage/constants.ts","./src/pages/sigilpage/debits.ts","./src/pages/sigilpage/descendants.ts","./src/pages/sigilpage/exportzip.ts","./src/pages/sigilpage/linkshare.ts","./src/pages/sigilpage/modalutils.ts","./src/pages/sigilpage/momentkeys.ts","./src/pages/sigilpage/ogimage.ts","./src/pages/sigilpage/posterexport.tsx","./src/pages/sigilpage/registry.ts","./src/pages/sigilpage/registrysign.ts","./src/pages/sigilpage/rotation.ts","./src/pages/sigilpage/rotationbus.ts","./src/pages/sigilpage/sendlock.ts","./src/pages/sigilpage/styleinject.ts","./src/pages/sigilpage/svgops.ts","./src/pages/sigilpage/types.ts","./src/pages/sigilpage/usesigilsend.ts","./src/pages/sigilpage/usevaluation.ts","./src/pages/sigilpage/utils.ts","./src/pages/sigilpage/verifiercanon.public.ts","./src/pages/sigilpage/verifiercanon.ts","./src/pages/sigilstream/sigilstreamroot.tsx","./src/pages/sigilstream/index.ts","./src/pages/sigilstream/attachments/embeds.tsx","./src/pages/sigilstream/attachments/files.ts","./src/pages/sigilstream/attachments/gallery.tsx","./src/pages/sigilstream/attachments/types.ts","./src/pages/sigilstream/composer/composer.tsx","./src/pages/sigilstream/composer/linkhelpers.ts","./src/pages/sigilstream/core/alias.ts","./src/pages/sigilstream/core/kai_time.ts","./src/pages/sigilstream/core/phistreamautoadd.ts","./src/pages/sigilstream/core/ticker.ts","./src/pages/sigilstream/core/types.ts","./src/pages/sigilstream/core/urldisplay.ts","./src/pages/sigilstream/core/utils.ts","./src/pages/sigilstream/data/memorystreamv2.ts","./src/pages/sigilstream/data/seed.ts","./src/pages/sigilstream/data/storage.ts","./src/pages/sigilstream/data/toast/toasts.tsx","./src/pages/sigilstream/data/toast/toast.ts","./src/pages/sigilstream/identity/identitybar.tsx","./src/pages/sigilstream/identity/sigilactionurl.tsx","./src/pages/sigilstream/inhaler/inhalesection.tsx","./src/pages/sigilstream/list/streamlist.tsx","./src/pages/sigilstream/payload/payloadbanner.tsx","./src/pages/sigilstream/payload/types.ts","./src/pages/sigilstream/payload/usepayload.ts","./src/pages/sigilstream/status/kaistatus.tsx","./src/pages/sigilstream/status/proofbadge.tsx","./src/router/approuter.tsx","./src/session/sigilsession.tsx","./src/session/sigilsessioncontext.ts","./src/session/sigilsessiontypes.ts","./src/session/usesigilsession.ts","./src/types/crypto-shims.d.ts","./src/types/global.d.ts","./src/types/jsqr.d.ts","./src/types/klocktypes.ts","./src/types/pako.d.ts","./src/types/sigil-global.d.ts","./src/types/sigil.ts","./src/types/snarkjs-shim.d.ts","./src/types/snarkjs.d.ts","./src/types/usernameclaim.ts","./src/types/zkp-prover.d.ts","./src/utils/authorsig.ts","./src/utils/base64url.ts","./src/utils/cbor.ts","./src/utils/constants.ts","./src/utils/cryptoledger.ts","./src/utils/derivedglyph.ts","./src/utils/domhead.ts","./src/utils/extractkaimetadata.ts","./src/utils/feedpayload.ts","./src/utils/globaltokenregistry.ts","./src/utils/hash.ts","./src/utils/jcs.ts","./src/utils/kai.ts","./src/utils/kaimath.ts","./src/utils/kaitimedisplay.ts","./src/utils/kai_cadence.ts","./src/utils/kai_pulse.ts","./src/utils/kai_turah.ts","./src/utils/kairosmath.ts","./src/utils/klock_adapters.ts","./src/utils/kopyfeedback.ts","./src/utils/largeasset.ts","./src/utils/payload.ts","./src/utils/phi-issuance.ts","./src/utils/phi-precision.ts","./src/utils/poseidon.ts","./src/utils/postseal.ts","./src/utils/provenance.ts","./src/utils/qrexport.ts","./src/utils/sanitizehtml.ts","./src/utils/sendledger.ts","./src/utils/sendlock.ts","./src/utils/sha256.ts","./src/utils/shareurl.ts","./src/utils/shortener.ts","./src/utils/sigilauthextract.ts","./src/utils/sigilcapsule.ts","./src/utils/sigildecode.ts","./src/utils/sigilexplorersync.ts","./src/utils/sigilmetadata.ts","./src/utils/sigilregistry.ts","./src/utils/sigiltransferregistry.ts","./src/utils/sigilurl.ts","./src/utils/solarsync.ts","./src/utils/streamlink.ts","./src/utils/svgmeta.ts","./src/utils/svgproof.ts","./src/utils/transferpackage.ts","./src/utils/urlshort.ts","./src/utils/useclientready.ts","./src/utils/usesigilpayload copy.ts","./src/utils/usesigilpayload.ts","./src/utils/usesovereignsolarclock.ts","./src/utils/usernameclaim.ts","./src/utils/usernameclaimregistry.ts","./src/utils/valuation.ts","./src/utils/verifysigil.ts","./src/utils/webauthnkas.ts","./src/utils/webauthnreceive.ts","./src/utils/zkproof.ts","./src/verifier/canonical.ts","./src/verifier/validator.ts"],"version":"5.9.3"} \ No newline at end of file +{"root":["./src/app.tsx","./src/sovereignsolar.ts","./src/main.tsx","./src/types.ts","./src/version.ts","./src/components/daydetailmodal.tsx","./src/components/errorboundary.tsx","./src/components/eternalklock.tsx","./src/components/exhalenote.tsx","./src/components/feedcard.tsx","./src/components/glyphimportmodal.tsx","./src/components/homepricechartcard.tsx","./src/components/homepricetickerfallback.tsx","./src/components/inhaleuploadicon.tsx","./src/components/kaiklock.canon.ts","./src/components/kaiklock.tsx","./src/components/kaiklockhomeface.tsx","./src/components/kaipricechart.tsx","./src/components/kaisigil.tsx","./src/components/kaisplashscreen.tsx","./src/components/largeglyphminter.tsx","./src/components/largeglyphviewer.tsx","./src/components/monthkalendarmodal.tsx","./src/components/notemodal.tsx","./src/components/phistreampopover.tsx","./src/components/resultcard.tsx","./src/components/sealmomentmodal.tsx","./src/components/sealmomentmodaltransfer.tsx","./src/components/sendsigilmodal.tsx","./src/components/sigilconflictbanner copy.tsx","./src/components/sigilconflictbanner.tsx","./src/components/sigilexplorer.tsx","./src/components/sigilglyphbutton.tsx","./src/components/sigilmodal.tsx","./src/components/sigilmomentrow.tsx","./src/components/sigilpublisherpanel.tsx","./src/components/solaranchoreddial.tsx","./src/components/sovereigndeclarations.tsx","./src/components/stargateviewer.tsx","./src/components/valuationmodal.tsx","./src/components/valuehistorymodal.tsx","./src/components/verifierform.tsx","./src/components/weekkalendarmodal.tsx","./src/components/kairealms/gameportal.tsx","./src/components/kairealms/glyphutils.ts","./src/components/kairealms/inventory.tsx","./src/components/kairealms/kaikasino.tsx","./src/components/kairealms/kaipulseengine.ts","./src/components/kairealms/missionrunner.tsx","./src/components/kairealms/realmview.tsx","./src/components/kairealms/sigilavatar.tsx","./src/components/kairealms/worldstate.ts","./src/components/kairealms/constants.ts","./src/components/kairealms/index.tsx","./src/components/kairealms/styles.ts","./src/components/kairealms/types.ts","./src/components/kairealms/usegamesession.ts","./src/components/kairealms/kaimaze/kaimaze.tsx","./src/components/kairealms/kaimaze/index.ts","./src/components/kairealms/kaimaze/engine/ai.ts","./src/components/kairealms/kaimaze/engine/constants.ts","./src/components/kairealms/kaimaze/engine/engine.ts","./src/components/kairealms/kaimaze/engine/input.ts","./src/components/kairealms/kaimaze/engine/map.ts","./src/components/kairealms/kaimaze/engine/physics.ts","./src/components/kairealms/kaimaze/engine/types.ts","./src/components/kairealms/lib/gamefocus.ts","./src/components/kaisigil/art.tsx","./src/components/kaisigil/defs.tsx","./src/components/kaisigil/metadata.tsx","./src/components/kaisigil/zkglyph.tsx","./src/components/kaisigil/constants.ts","./src/components/kaisigil/crypto.ts","./src/components/kaisigil/embed.ts","./src/components/kaisigil/exporters.ts","./src/components/kaisigil/freq.ts","./src/components/kaisigil/helpers.ts","./src/components/kaisigil/hooks.ts","./src/components/kaisigil/identity.ts","./src/components/kaisigil/step.ts","./src/components/kaisigil/types.ts","./src/components/kaisigil/utils.ts","./src/components/kaisigil/valuationbridge.ts","./src/components/kaivoh/breathsealer.tsx","./src/components/kaivoh/kaiverifierlink.tsx","./src/components/kaivoh/kaivoh.tsx","./src/components/kaivoh/kaivohapp.tsx","./src/components/kaivoh/kaivohboundary.tsx","./src/components/kaivoh/kaivohmodal.tsx","./src/components/kaivoh/multisharedispatcher.tsx","./src/components/kaivoh/phikeyresolver.ts","./src/components/kaivoh/postbody.tsx","./src/components/kaivoh/postcomposer.tsx","./src/components/kaivoh/sessionmanager.tsx","./src/components/kaivoh/sigilauth.base.ts","./src/components/kaivoh/sigilauthcontext.tsx","./src/components/kaivoh/sigilauthprovider.tsx","./src/components/kaivoh/sigillogin.tsx","./src/components/kaivoh/sigilmemorybuilder.ts","./src/components/kaivoh/signatureembedder.ts","./src/components/kaivoh/socialconnector.shared.ts","./src/components/kaivoh/socialconnector.tsx","./src/components/kaivoh/storyrecorder.tsx","./src/components/kaivoh/verifierframe.tsx","./src/components/kaivoh/encodetoken.worker.ts","./src/components/kaivoh/kaivohencode.worker.ts","./src/components/kaivoh/usesigilauth.ts","./src/components/kaivoh/verifierproof.ts","./src/components/sigilexplorer/pulsehoneycombmodal.tsx","./src/components/sigilexplorer/sigilexplorer.tsx","./src/components/sigilexplorer/sigilhoneycombexplorer.tsx","./src/components/sigilexplorer/apiclient.ts","./src/components/sigilexplorer/chakra.ts","./src/components/sigilexplorer/format.ts","./src/components/sigilexplorer/index.ts","./src/components/sigilexplorer/inhalequeue.ts","./src/components/sigilexplorer/kaicadence.ts","./src/components/sigilexplorer/registrystore.ts","./src/components/sigilexplorer/remotepull.ts","./src/components/sigilexplorer/transfers.ts","./src/components/sigilexplorer/treebuilder.ts","./src/components/sigilexplorer/treetypes.ts","./src/components/sigilexplorer/types.ts","./src/components/sigilexplorer/url.ts","./src/components/sigilexplorer/urlhealth.ts","./src/components/sigilexplorer/witness.ts","./src/components/sigilexplorer/tree/buildforest.ts","./src/components/sigilexplorer/tree/types.ts","./src/components/verifierstamper/sendphiamountfield.tsx","./src/components/verifierstamper/sigilmomentrow.tsx","./src/components/verifierstamper/verifierstamper.tsx","./src/components/verifierstamper/constants.ts","./src/components/verifierstamper/crypto.ts","./src/components/verifierstamper/files.ts","./src/components/verifierstamper/keys.ts","./src/components/verifierstamper/merkle.ts","./src/components/verifierstamper/segments.ts","./src/components/verifierstamper/sigilutils.ts","./src/components/verifierstamper/styles.ts","./src/components/verifierstamper/svg.ts","./src/components/verifierstamper/types.ts","./src/components/verifierstamper/ui.tsx","./src/components/verifierstamper/verifyhistorical.ts","./src/components/verifierstamper/verifysovereignoffline.ts","./src/components/verifierstamper/window.ts","./src/components/verifierstamper/zk.ts","./src/components/verifierstamper/hooks/useautoshrink.ts","./src/components/verifierstamper/hooks/userollingchartseries.ts","./src/components/exhale-note/banknotesvg.ts","./src/components/exhale-note/bridge.ts","./src/components/exhale-note/constants.ts","./src/components/exhale-note/css.ts","./src/components/exhale-note/cutmarks.ts","./src/components/exhale-note/dom.ts","./src/components/exhale-note/exporters.ts","./src/components/exhale-note/format.ts","./src/components/exhale-note/hash.ts","./src/components/exhale-note/printer.ts","./src/components/exhale-note/proofpages.ts","./src/components/exhale-note/qr.ts","./src/components/exhale-note/sanitize.ts","./src/components/exhale-note/sigilembed.ts","./src/components/exhale-note/svgtopng.ts","./src/components/exhale-note/titles.ts","./src/components/exhale-note/types.ts","./src/components/session/sessioncontext.ts","./src/components/session/sessionprovider.tsx","./src/components/session/sigilsessioncontext.ts","./src/components/session/sigilsessionprovider.tsx","./src/components/session/sigilsessiontypes.ts","./src/components/session/sessionstorage.ts","./src/components/session/sessiontypes.ts","./src/components/session/usesession.ts","./src/components/session/usesigilsession.ts","./src/components/shortner/shortredirect.tsx","./src/components/shortner/shorturltool.tsx","./src/components/shortner/index.tsx","./src/components/shortner/kaiphishort.ts","./src/components/sigil/kaiqr.tsx","./src/components/sigil/mobilesafefileinput.tsx","./src/components/sigil/ownershippanel.tsx","./src/components/sigil/ownershipverifier.tsx","./src/components/sigil/ownershipverifymodal.tsx","./src/components/sigil/phidepositpanel.tsx","./src/components/sigil/provenancelist.tsx","./src/components/sigil/sigilcta.tsx","./src/components/sigil/sigilframe.tsx","./src/components/sigil/sigilheader.tsx","./src/components/sigil/sigilmetapanel.tsx","./src/components/sigil/sovereigncontrols.tsx","./src/components/sigil/stargateoverlay.tsx","./src/components/sigil/upgradesigilmodal.tsx","./src/components/sigil/openownershipverifymodal.tsx","./src/components/sigil/theme.tsx","./src/components/valuation/donorseditor.tsx","./src/components/valuation/mintcompositemodal.tsx","./src/components/valuation/asset.ts","./src/components/valuation/constants.ts","./src/components/valuation/display.ts","./src/components/valuation/drivers.ts","./src/components/valuation/globals.d.ts","./src/components/valuation/hooks.ts","./src/components/valuation/math.ts","./src/components/valuation/platform.ts","./src/components/valuation/rarity.ts","./src/components/valuation/series.ts","./src/components/valuation/chart/livechart.tsx","./src/components/valuation/chart/valuationcard.tsx","./src/components/valuation/chart/valuedonut.tsx","./src/components/valuation/types/window.d.ts","./src/components/verifier/sendphiamountfield.tsx","./src/components/verifier/verifiererrorboundary.tsx","./src/components/verifier/hooks/usemetasignals.ts","./src/components/verifier/types/local.ts","./src/components/verifier/types/window.d.ts","./src/components/verifier/ui/jsontree.tsx","./src/components/verifier/ui/statuschips.tsx","./src/components/verifier/utils/base64.ts","./src/components/verifier/utils/childexpiry.ts","./src/components/verifier/utils/decimal.ts","./src/components/verifier/utils/dialog.ts","./src/components/verifier/utils/log.ts","./src/components/verifier/utils/metadataset.ts","./src/components/verifier/utils/modal.ts","./src/components/verifier/utils/notepayload.ts","./src/components/verifier/utils/rotationbus.ts","./src/components/verifier/utils/saferead.ts","./src/components/verifier/utils/sigilglobal.ts","./src/components/verifier/utils/sigilmemoryvault.ts","./src/components/verifier/utils/statemachine.ts","./src/components/verifier/utils/urlpayload.ts","./src/constants/sigilexplorer.ts","./src/glyph/glyphmodal.tsx","./src/glyph/glyphengine.ts","./src/glyph/glyphutils.ts","./src/glyph/types.ts","./src/glyph/useglyphlogic.ts","./src/hooks/useauthorityproof.ts","./src/hooks/usebodyscrolllock.ts","./src/hooks/usedisablezoom.ts","./src/hooks/usefastpress.ts","./src/hooks/usekaiparitypricepoints.ts","./src/hooks/usekaiticker.ts","./src/hooks/useperfmode.ts","./src/hooks/useresponsivesigilsize.ts","./src/hooks/userotationbus.ts","./src/hooks/usevaluehistory.ts","./src/hooks/usevisualviewportsize.ts","./src/kai/kainow.ts","./src/lib/download.ts","./src/lib/hash.ts","./src/lib/mobilepopoverfix.ts","./src/lib/qr.ts","./src/lib/sigilregistryclient.ts","./src/lib/ledger/log.ts","./src/lib/ledger/merkle.ts","./src/lib/ledger/types.ts","./src/lib/sigil/breathproof.ts","./src/lib/sigil/canonicalize.ts","./src/lib/sigil/codec.ts","./src/lib/sigil/embed.ts","./src/lib/sigil/extract.ts","./src/lib/sigil/hash.ts","./src/lib/sigil/recover.ts","./src/lib/sigil/signature.ts","./src/lib/sigil/__tests__/canonicalize.test.ts","./src/lib/sigil/__tests__/hash.test.ts","./src/lib/sync/dht.ts","./src/lib/sync/ipfsadapter.ts","./src/lib/sync/nopadapter.ts","./src/pages/pshort.tsx","./src/pages/sigilfeedpage.tsx","./src/pages/verifypage.tsx","./src/pages/verifysigil.tsx","./src/pages/sigilpage/sigilpage.tsx","./src/pages/sigilpage/constants.ts","./src/pages/sigilpage/debits.ts","./src/pages/sigilpage/descendants.ts","./src/pages/sigilpage/exportzip.ts","./src/pages/sigilpage/linkshare.ts","./src/pages/sigilpage/modalutils.ts","./src/pages/sigilpage/momentkeys.ts","./src/pages/sigilpage/ogimage.ts","./src/pages/sigilpage/posterexport.tsx","./src/pages/sigilpage/registry.ts","./src/pages/sigilpage/registrysign.ts","./src/pages/sigilpage/rotation.ts","./src/pages/sigilpage/rotationbus.ts","./src/pages/sigilpage/sendlock.ts","./src/pages/sigilpage/styleinject.ts","./src/pages/sigilpage/svgops.ts","./src/pages/sigilpage/types.ts","./src/pages/sigilpage/usesigilsend.ts","./src/pages/sigilpage/usevaluation.ts","./src/pages/sigilpage/utils.ts","./src/pages/sigilpage/verifiercanon.public.ts","./src/pages/sigilpage/verifiercanon.ts","./src/pages/sigilstream/sigilstreamroot.tsx","./src/pages/sigilstream/index.ts","./src/pages/sigilstream/attachments/embeds.tsx","./src/pages/sigilstream/attachments/files.ts","./src/pages/sigilstream/attachments/gallery.tsx","./src/pages/sigilstream/attachments/types.ts","./src/pages/sigilstream/composer/composer.tsx","./src/pages/sigilstream/composer/linkhelpers.ts","./src/pages/sigilstream/core/alias.ts","./src/pages/sigilstream/core/kai_time.ts","./src/pages/sigilstream/core/phistreamautoadd.ts","./src/pages/sigilstream/core/ticker.ts","./src/pages/sigilstream/core/types.ts","./src/pages/sigilstream/core/urldisplay.ts","./src/pages/sigilstream/core/utils.ts","./src/pages/sigilstream/data/memorystreamv2.ts","./src/pages/sigilstream/data/seed.ts","./src/pages/sigilstream/data/storage.ts","./src/pages/sigilstream/data/toast/toasts.tsx","./src/pages/sigilstream/data/toast/toast.ts","./src/pages/sigilstream/identity/identitybar.tsx","./src/pages/sigilstream/identity/sigilactionurl.tsx","./src/pages/sigilstream/inhaler/inhalesection.tsx","./src/pages/sigilstream/list/streamlist.tsx","./src/pages/sigilstream/payload/payloadbanner.tsx","./src/pages/sigilstream/payload/types.ts","./src/pages/sigilstream/payload/usepayload.ts","./src/pages/sigilstream/status/kaistatus.tsx","./src/pages/sigilstream/status/proofbadge.tsx","./src/router/approuter.tsx","./src/session/sigilsession.tsx","./src/session/sigilsessioncontext.ts","./src/session/sigilsessiontypes.ts","./src/session/usesigilsession.ts","./src/types/crypto-shims.d.ts","./src/types/global.d.ts","./src/types/jsqr.d.ts","./src/types/klocktypes.ts","./src/types/pako.d.ts","./src/types/sigil-global.d.ts","./src/types/sigil.ts","./src/types/snarkjs-shim.d.ts","./src/types/snarkjs.d.ts","./src/types/usernameclaim.ts","./src/types/zkp-prover.d.ts","./src/utils/authorsig.ts","./src/utils/base64url.ts","./src/utils/cbor.ts","./src/utils/constants.ts","./src/utils/cryptoledger.ts","./src/utils/derivedglyph.ts","./src/utils/domhead.ts","./src/utils/extractkaimetadata.ts","./src/utils/feedpayload.ts","./src/utils/globaltokenregistry.ts","./src/utils/hash.ts","./src/utils/jcs.ts","./src/utils/kai.ts","./src/utils/kaimath.ts","./src/utils/kaitimedisplay.ts","./src/utils/kai_cadence.ts","./src/utils/kai_pulse.ts","./src/utils/kai_turah.ts","./src/utils/kairosmath.ts","./src/utils/klock_adapters.ts","./src/utils/kopyfeedback.ts","./src/utils/largeasset.ts","./src/utils/payload.ts","./src/utils/phi-issuance.ts","./src/utils/phi-precision.ts","./src/utils/poseidon.ts","./src/utils/postseal.ts","./src/utils/provenance.ts","./src/utils/qrexport.ts","./src/utils/sanitizehtml.ts","./src/utils/sendledger.ts","./src/utils/sendlock.ts","./src/utils/sha256.ts","./src/utils/shareurl.ts","./src/utils/shortener.ts","./src/utils/sigilauthextract.ts","./src/utils/sigilcapsule.ts","./src/utils/sigildecode.ts","./src/utils/sigilexplorersync.ts","./src/utils/sigilmetadata.ts","./src/utils/sigilregistry.ts","./src/utils/sigiltransferregistry.ts","./src/utils/sigilurl.ts","./src/utils/solarsync.ts","./src/utils/streamlink.ts","./src/utils/svgmeta.ts","./src/utils/svgproof.ts","./src/utils/transferpackage.ts","./src/utils/urlshort.ts","./src/utils/useclientready.ts","./src/utils/usesigilpayload copy.ts","./src/utils/usesigilpayload.ts","./src/utils/usesovereignsolarclock.ts","./src/utils/usernameclaim.ts","./src/utils/usernameclaimregistry.ts","./src/utils/valuation.ts","./src/utils/verifysigil.ts","./src/utils/webauthnkas.ts","./src/utils/webauthnreceive.ts","./src/utils/zkproof.ts","./src/verifier/canonical.ts","./src/verifier/validator.ts"],"version":"5.9.3"} \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 0f5ecf316..d8d8294b1 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -11,9 +11,14 @@ export default defineConfig({ server: { proxy: { "/api": "http://localhost:8787", + "/sigils": { + target: "https://m.phi.network", + changeOrigin: true, + secure: true, + }, }, }, define: { "import.meta.env.VITE_APP_VERSION": JSON.stringify(BASE_APP_VERSION), }, -}); +}); \ No newline at end of file