diff --git a/frontend/dist/assets/AgentView-W3iUOtpb.js b/frontend/dist/assets/AgentView-DvxkXocP.js similarity index 99% rename from frontend/dist/assets/AgentView-W3iUOtpb.js rename to frontend/dist/assets/AgentView-DvxkXocP.js index 3525946..83f34bf 100644 --- a/frontend/dist/assets/AgentView-W3iUOtpb.js +++ b/frontend/dist/assets/AgentView-DvxkXocP.js @@ -1,4 +1,4 @@ -import{c as A,Y as P,l as B,b as M,u as D,r as z,j as e,Z as T,e as a,$ as g,a0 as b,a1 as W,x as f,a2 as j,W as G,X as I,C as N,g as y,q as i}from"./index-Cm0NCQeJ.js";/** +import{c as A,Y as P,l as B,b as M,u as D,r as z,j as e,Z as T,e as a,$ as g,a0 as b,a1 as W,x as f,a2 as j,W as G,X as I,C as N,g as y,q as i}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/AuftragsbuchView-BZWvV2pd.js b/frontend/dist/assets/AuftragsbuchView-BZWvV2pd.js new file mode 100644 index 0000000..ec14fe7 --- /dev/null +++ b/frontend/dist/assets/AuftragsbuchView-BZWvV2pd.js @@ -0,0 +1,15 @@ +import{c as W,ab as H,ac as T,u as F,b as G,r as b,j as e,a3 as O,e as y,L as p,C as z,a9 as P,K as q,U as I,V,ad as K,X as E,T as C,D as M,M as R,g as $,ae as _,q as U}from"./index-CoRdA_gp.js";import{S,H as Q}from"./SectionLabel-DLTvFJ7b.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z=W("FileDiff",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const J=W("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),X={wartung:"Werkstatt",orchestrator:"Orchestrator",doku:"Doku",feature:"Feature"},Y={laeuft:{label:"wird eingespielt …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},rollback:{label:"Rollback läuft …",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10",spin:!0},eingespielt:{label:"eingespielt ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"},fehlgeschlagen:{label:"fehlgeschlagen",cls:"text-red-300 border-red-500/40 bg-red-500/10"},zurueckgerollt:{label:"zurückgerollt",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},kritisch:{label:"KRITISCH — Box prüfen",cls:"text-red-200 border-red-500/60 bg-red-500/20"},abgelehnt:{label:"abgelehnt",cls:"text-muted-foreground border-border/60 bg-background/30"}};function ne(){const{data:t,isLoading:r,refetch:n,isFetching:m}=H(),{data:l}=T(),f=F(),{showAlert:h,showConfirm:j,dialogElement:D}=G(),[N,A]=b.useState({}),w=()=>f.invalidateQueries({queryKey:U.auftragsbuch});async function k(a,i,B,v){A(d=>({...d,[a]:!0}));try{await $(i,{method:"POST",body:JSON.stringify(B)}),v&&h("Erledigt",v),w()}catch(d){h("Das hat nicht geklappt",String((d==null?void 0:d.message)||d))}finally{A(d=>({...d,[a]:!1}))}}const g=(t==null?void 0:t.items)??[],o=(t==null?void 0:t.skill_kandidaten)??[],x=l!=null&&l.available?l.items.filter(a=>a.status==="blocked").length:0,u=g.length===0&&o.length===0;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Auftragsbuch"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was die Box gebaut oder sich ausgedacht hat — du entscheidest. Annehmen spielt es mit Fangnetz ein (Health-Check, automatischer Rollback)."})]}),e.jsxs("button",{onClick:()=>n(),className:"flex h-9 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-3 text-xs font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[e.jsx(O,{className:y("h-3.5 w-3.5",m&&"animate-spin")})," Aktualisieren"]})]}),t&&!t.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Das Auftragsbuch lebt auf der Box (liest die Gitea-Branches dort). Im lokalen Dev-Modus ist hier nichts zu sehen."}),r&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(p,{className:"h-4 w-4 animate-spin"})," Vorschläge werden geladen …"]}),(t==null?void 0:t.available)&&u&&e.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-5",children:[e.jsx(z,{className:"h-5 w-5 shrink-0 text-emerald-400"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu entscheiden"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine offenen Vorschläge. Werkstatt, Orchestrator und Traum melden sich hier, sobald es etwas gibt."})]})]}),x>0&&e.jsxs("button",{onClick:()=>window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"ideen"}})),className:"flex w-full items-center gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:border-red-500/50 cursor-pointer",children:[e.jsx(P,{className:"h-5 w-5 shrink-0 text-red-300"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:x===1?"Eine Idee hängt und braucht dich":`${x} Ideen hängen und brauchen dich`}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Hier ist nichts zu tun — aber drüben in den Ideen wartet eine Frage auf deine Antwort."})]}),e.jsx(q,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),g.length>0&&e.jsxs("section",{className:"space-y-3",children:[e.jsxs(S,{icon:J,children:["Patch-Vorschläge (",g.length,")"]}),g.map(a=>e.jsx(te,{item:a,busy:N,onAct:k,showConfirm:j},`${a.repo??"mc2"}:${a.branch}`))]}),o.length>0&&e.jsxs("section",{className:"space-y-3",children:[e.jsxs(S,{icon:I,children:["Skill-Kandidaten aus dem Traum (",o.length,")"]}),o.map(a=>e.jsx(se,{k:a,busy:N,onAct:k,showConfirm:j},a.file))]}),D]})}function ee({item:t}){const r=t.status;if(!r)return null;const n=Y[r.state];return n?e.jsxs("span",{className:y("flex items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",n.cls),title:r.detail,children:[n.spin&&e.jsx(p,{className:"h-3 w-3 animate-spin"}),n.label]}):null}function te({item:t,busy:r,onAct:n,showConfirm:m}){var v,d,L;const[l,f]=b.useState(!1),[h,j]=b.useState(null),[D,N]=b.useState(!1),[A,w]=b.useState(!1),[k,g]=b.useState(""),o=((v=t.status)==null?void 0:v.state)==="laeuft"||((d=t.status)==null?void 0:d.state)==="rollback",x=((L=t.status)==null?void 0:L.state)==="eingespielt",u=t.repo??"mc2",a=u==="lucy",i=`${u}:${t.branch}`;async function B(){const s=!l;if(f(s),s&&h===null){N(!0);try{const c=await $(`/api/auftragsbuch/diff?branch=${encodeURIComponent(t.branch)}&repo=${u}`);j(c.diff+(c.truncated?` +… (gekürzt)`:""))}catch(c){j(`(Diff nicht ladbar: ${(c==null?void 0:c.message)||c})`)}finally{N(!1)}}}return e.jsxs("div",{className:"mc-card p-4 space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"rounded-md border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-primary",children:X[t.kind]??t.kind}),a&&e.jsx("span",{className:"rounded-md border border-pink-500/40 bg-pink-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-pink-300",title:"Vorschlag fürs Lucy-Repo — Annehmen baut die App am PC neu und startet sie neu, wenn sie läuft.",children:"Lucy"}),e.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",title:t.branch,children:t.branch}),e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(V,{className:"h-3 w-3"}),K(t.ts)]}),e.jsx(ee,{item:t})]}),e.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:t.subject||"(ohne Titel)"}),t.body&&e.jsx("p",{className:"mt-1 whitespace-pre-wrap text-xs leading-relaxed text-muted-foreground line-clamp-6",children:t.body}),t.empfehlung&&e.jsxs("p",{className:y("mt-1.5 flex items-start gap-1.5 rounded-lg border px-2 py-1 text-[11px]",t.empfehlung.empfehlung==="ANNEHMEN"&&"border-emerald-500/30 bg-emerald-500/5 text-emerald-300",t.empfehlung.empfehlung==="ABLEHNEN"&&"border-red-500/30 bg-red-500/5 text-red-300",t.empfehlung.empfehlung==="UNKLAR"&&"border-amber-500/30 bg-amber-500/5 text-amber-300"),title:`Nächtliches Kurz-Gutachten (${t.empfehlung.richter}) — eine Meinung, kein Muss. Die Entscheidung bleibt bei dir.`,children:[e.jsx(I,{className:"mt-0.5 h-3 w-3 shrink-0"}),e.jsxs("span",{children:[e.jsxs("b",{children:["Empfehlung: ",t.empfehlung.empfehlung==="ANNEHMEN"?"Annehmen":t.empfehlung.empfehlung==="ABLEHNEN"?"Ablehnen":"Unklar","."]})," ",t.empfehlung.satz]})]})]}),!o&&!x&&e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[!t.verwaist&&e.jsxs("button",{disabled:!!r[i],onClick:()=>m("Vorschlag annehmen?",a?`'${t.branch}' wird im Lucy-Repo auf main gemergt, dann baut dein PC die App neu (dist) und startet Lucy neu, falls sie gerade läuft. Der PC muss dafür an sein. Schlägt Build oder Start fehl, dreht die Box den Merge automatisch zurück — die laufende Lucy bleibt die alte.`:`'${t.branch}' wird auf main gemergt und live eingespielt. Die Zentrale startet dabei kurz neu. Geht der Health-Check danach rot, rollt die Box automatisch zurück.${t.frontend_ohne_build?` + +Achtung: Enthält Frontend-Quelltext ohne gebautes Bundle — die Oberfläche bleibt alt, bis am PC gebaut wird.`:""}`,()=>n(i,"/api/auftragsbuch/annehmen",{branch:t.branch,repo:u})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[r[i]?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(z,{className:"h-3.5 w-3.5"})," Annehmen"]}),e.jsxs("button",{disabled:!!r["ab:"+i],onClick:()=>w(s=>!s),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[r["ab:"+i]?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(E,{className:"h-3.5 w-3.5"})," Ablehnen"]})]})]}),A&&!o&&!x&&e.jsxs("div",{className:"space-y-2 rounded-xl border border-red-500/25 bg-red-500/5 p-3",children:[e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:["Der Branch '",t.branch,"' wird auf Gitea gelöscht (die Arbeit bleibt in der Historie). Sag der Box kurz ",e.jsx("b",{children:"warum"})," — dann schlägt sie dir so etwas nicht wieder vor."]}),e.jsx("input",{value:k,onChange:s=>g(s.target.value),placeholder:"Grund (optional) — z. B. „gibt es schon“ oder „will ich nicht“",maxLength:400,className:"w-full rounded-lg border border-border/60 bg-background/60 px-2.5 py-1.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{disabled:!!r["ab:"+i],onClick:()=>{w(!1),n("ab:"+i,"/api/auftragsbuch/ablehnen",{branch:t.branch,repo:u,grund:k.trim()})},className:"flex h-8 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(E,{className:"h-3.5 w-3.5"})," Wirklich ablehnen"]}),e.jsx("button",{onClick:()=>w(!1),className:"flex h-8 items-center rounded-lg border border-border/60 bg-background/40 px-3 text-[11px] font-semibold text-muted-foreground transition-all hover:text-foreground cursor-pointer",children:"Abbrechen"})]})]}),t.status&&(o||!x)&&t.status.detail&&e.jsx("p",{className:"text-[11px] text-muted-foreground",children:t.status.detail}),t.verwaist&&e.jsxs("p",{className:"rounded-lg border border-red-500/30 bg-red-500/5 px-2 py-1.5 text-[11px] text-red-300/90",children:[e.jsx("b",{children:"Kaputt aufgesetzt:"})," Dieser Branch hat keinen gemeinsamen Ursprung mit main (der Werkstatt-Worker hat nicht richtig geklont) — Annehmen ist technisch unmöglich, deshalb fehlt der Knopf. Am besten ",e.jsx("b",{children:"ablehnen mit Grund"}),"; die Idee kann danach frisch in die Queue."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-muted-foreground",children:[e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:[t.ahead," Commit",t.ahead===1?"":"s"]}),t.shortstat&&e.jsx("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:t.shortstat.trim()}),t.verwaist&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-red-500/10 px-1.5 py-0.5 text-red-300",title:"Kein gemeinsamer Vorfahre mit main — git kann diesen Branch niemals mergen.",children:[e.jsx(C,{className:"h-3 w-3"})," kein gemeinsamer Ursprung"]}),t.leer&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Der Diff gegen main ist leer — der Branch würde nichts verändern (Inhalt schon in main oder am Repo vorbei gearbeitet).",children:[e.jsx(C,{className:"h-3 w-3"})," Diff leer — bringt nichts"]}),t.behind>0&&!t.verwaist&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"main ist seit diesem Vorschlag weitergelaufen — bei Konflikten versucht die Annahme automatisch einen Rebase.",children:[e.jsx(C,{className:"h-3 w-3"})," ",t.behind," hinter main"]}),t.frontend_ohne_build&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Die Box kann kein Frontend bauen (kein Node) — nach dem Annehmen bleibt die Oberfläche alt, bis am PC gebaut wird.",children:[e.jsx(C,{className:"h-3 w-3"})," Frontend ohne Build"]})]}),e.jsxs("div",{children:[e.jsxs("button",{onClick:B,className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[l?e.jsx(M,{className:"h-3.5 w-3.5"}):e.jsx(R,{className:"h-3.5 w-3.5"}),e.jsx(Z,{className:"h-3.5 w-3.5"})," ",t.files.length," Datei",t.files.length===1?"":"en"," — Änderungen ansehen"]}),l&&e.jsxs("div",{className:"mt-2 space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[t.files.map(s=>e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:[e.jsx("b",{className:y(s.status.startsWith("A")&&"text-emerald-400",s.status.startsWith("D")&&"text-red-400",s.status.startsWith("M")&&"text-sky-400"),children:s.status})," ",s.path]},s.path)),t.files_truncated&&e.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"…"})]}),e.jsx("div",{className:"max-h-96 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3",children:D?e.jsx("span",{className:"text-[11px] text-muted-foreground",children:"Diff wird geladen …"}):e.jsx("pre",{className:"text-[10px] leading-relaxed text-foreground/80 whitespace-pre",children:(h??"").split(` +`).map((s,c)=>e.jsx("span",{className:y("block",s.startsWith("+")&&!s.startsWith("+++")&&"text-emerald-300/90 bg-emerald-500/5",s.startsWith("-")&&!s.startsWith("---")&&"text-red-300/90 bg-red-500/5",(s.startsWith("@@")||s.startsWith("diff "))&&"text-sky-300/90"),children:s||" "},c))})})]})]})]})}function se({k:t,busy:r,onAct:n,showConfirm:m}){const[l,f]=b.useState(!1);return e.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.04] p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"rounded-md border border-violet-500/30 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-violet-300",children:"Traum-Idee"}),e.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",children:t.file}),e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(V,{className:"h-3 w-3"}),K(t.mtime)]})]}),e.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:t.title})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsxs("button",{disabled:!!r["sk:"+t.file],onClick:()=>m("Werkstatt beauftragen?",`Der Kandidat '${t.title}' geht als Auftrag an die Werkstatt (Orchestrator, propose-only). Das Ergebnis erscheint später als neuer Patch-Vorschlag hier im Auftragsbuch — nichts geht ungefragt live.`,()=>n("sk:"+t.file,"/api/auftragsbuch/skill/annehmen",{file:t.file},"Die Werkstatt arbeitet. Das Ergebnis taucht als neuer Vorschlag im Auftragsbuch auf (das kann einige Minuten dauern).")),className:"flex h-9 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[r["sk:"+t.file]?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Q,{className:"h-3.5 w-3.5"})," Beauftragen"]}),e.jsxs("button",{disabled:!!r["skab:"+t.file],onClick:()=>m("Kandidat verwerfen?",`'${t.title}' wandert ins Archiv des Wissens-Vaults (verworfen/). Der Traum schlägt ihn nicht erneut vor.`,()=>n("skab:"+t.file,"/api/auftragsbuch/skill/ablehnen",{file:t.file})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[r["skab:"+t.file]?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(E,{className:"h-3.5 w-3.5"})," Verwerfen"]})]})]}),e.jsxs("button",{onClick:()=>f(h=>!h),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[l?e.jsx(M,{className:"h-3.5 w-3.5"}):e.jsx(R,{className:"h-3.5 w-3.5"}),e.jsx(_,{className:"h-3.5 w-3.5"})," Vorschlag lesen"]}),l&&e.jsx("pre",{className:"max-h-72 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3 text-[11px] leading-relaxed text-foreground/85 whitespace-pre-wrap",children:t.preview})]})}export{ne as AuftragsbuchView}; diff --git a/frontend/dist/assets/AuftragsbuchView-BsRuFLIV.js b/frontend/dist/assets/AuftragsbuchView-BsRuFLIV.js deleted file mode 100644 index 72fa4eb..0000000 --- a/frontend/dist/assets/AuftragsbuchView-BsRuFLIV.js +++ /dev/null @@ -1,49 +0,0 @@ -import{c as P,j as e,e as v,aa as Ne,ab as he,u as me,b as pe,r as o,a3 as J,L as S,C as ge,U as be,ac as we,V as Y,X as Z,T as R,D as $,M as T,g as B,ad as ve,ae as fe,af as ye,q as ke}from"./index-Cm0NCQeJ.js";import{L as _}from"./lightbulb-CBiiGPIh.js";import{C as V}from"./code-xml-p3YDy76e.js";import{S as xe}from"./send-Bc-GXqQz.js";import{L as De}from"./layers-CKJvqHFy.js";import{R as Se}from"./rotate-ccw-DQJileoK.js";/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ce=P("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ze=P("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ke=P("ClipboardCheck",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ae=P("FileDiff",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ee=P("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Be=P("GitFork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ee=P("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Pe=P("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);function Le({text:t,className:a}){const x=(t||"").split(` -`),s=[];let d=[],h=null;const c=g=>{d.length&&(s.push(e.jsx("ul",{className:"mb-3 ml-4 list-disc space-y-1",children:d},g)),d=[])};return x.forEach((g,i)=>{const l=`l${i}`;if(h!==null){g.trimEnd()==="```"?(s.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px] leading-relaxed text-foreground/85",children:h.join(` -`)},l)),h=null):h.push(g);return}if(g.trimStart().startsWith("```")){c(l),h=[];return}const b=g.trimEnd();if(!b.trim()){c(l);return}const n=b.match(/^(#{1,4})\s+(.*)$/);if(n){c(l);const w=n[1].length,m=w===1?"text-base font-bold mt-1 mb-2":w===2?"text-sm font-bold mt-4 mb-1.5":"text-xs font-bold mt-3 mb-1 uppercase tracking-wide text-muted-foreground";s.push(e.jsx("p",{className:v(m,"font-space text-foreground"),children:H(n[2],l)},l));return}const k=b.match(/^\s*[-*•]\s+(.*)$/);if(k){d.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:H(k[1],l)},l));return}const y=b.match(/^\s*\d+\.\s+(.*)$/);if(y){d.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:H(y[1],l)},l));return}c(l),s.push(e.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:H(b,l)},l))}),c("end"),h!==null&&s.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:h.join(` -`)},"code-end")),e.jsx("div",{className:v("max-w-3xl",a),children:s})}function H(t,a){return t.split(/(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((s,d)=>{const h=`${a}-${d}`;return/^\*\*[^*]+\*\*$/.test(s)?e.jsx("b",{className:"font-semibold text-foreground",children:s.slice(2,-2)},h):/^\*[^*]+\*$/.test(s)?e.jsx("i",{children:s.slice(1,-1)},h):/^`[^`]+`$/.test(s)?e.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-foreground/90",children:s.slice(1,-1)},h):e.jsx("span",{children:s},h)})}const We={wartung:"Werkstatt",orchestrator:"Orchestrator",doku:"Doku",feature:"Feature"},Ie={laeuft:{label:"wird eingespielt …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},rollback:{label:"Rollback läuft …",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10",spin:!0},eingespielt:{label:"eingespielt ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"},fehlgeschlagen:{label:"fehlgeschlagen",cls:"text-red-300 border-red-500/40 bg-red-500/10"},zurueckgerollt:{label:"zurückgerollt",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},kritisch:{label:"KRITISCH — Box prüfen",cls:"text-red-200 border-red-500/60 bg-red-500/20"},abgelehnt:{label:"abgelehnt",cls:"text-muted-foreground border-border/60 bg-background/30"}};function te(t){return t?new Date(t*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"—"}function et(){const{data:t,isLoading:a,refetch:x,isFetching:s}=Ne(),{data:d}=he(),h=me(),{showAlert:c,showConfirm:g,dialogElement:i}=pe(),[l,b]=o.useState({}),n=()=>h.invalidateQueries({queryKey:ke.auftragsbuch});async function k(p,N,A,L){b(D=>({...D,[p]:!0}));try{await B(N,{method:"POST",body:JSON.stringify(A)}),L&&c("Erledigt",L),n()}catch(D){c("Das hat nicht geklappt",String((D==null?void 0:D.message)||D))}finally{b(D=>({...D,[p]:!1}))}}const y=(t==null?void 0:t.items)??[],w=(t==null?void 0:t.skill_kandidaten)??[],m=d!=null&&d.available?d.items.filter(p=>p.status==="blocked").length:0,z=y.length===0&&w.length===0&&m===0;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Auftragsbuch"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was die Box gebaut oder sich ausgedacht hat — du entscheidest. Annehmen spielt es mit Fangnetz ein (Health-Check, automatischer Rollback)."})]}),e.jsxs("button",{onClick:()=>x(),className:"flex h-9 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-3 text-xs font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[e.jsx(J,{className:v("h-3.5 w-3.5",s&&"animate-spin")})," Aktualisieren"]})]}),t&&!t.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Das Auftragsbuch lebt auf der Box (liest die Gitea-Branches dort). Im lokalen Dev-Modus ist hier nichts zu sehen."}),a&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(S,{className:"h-4 w-4 animate-spin"})," Vorschläge werden geladen …"]}),(t==null?void 0:t.available)&&z&&e.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-5",children:[e.jsx(ge,{className:"h-5 w-5 shrink-0 text-emerald-400"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu entscheiden"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine offenen Vorschläge. Werkstatt, Orchestrator und Traum melden sich hier, sobald es etwas gibt."})]})]}),e.jsx(Te,{}),y.length>0&&e.jsxs("section",{className:"space-y-3",children:[e.jsxs(X,{icon:Ee,children:["Patch-Vorschläge (",y.length,")"]}),y.map(p=>e.jsx(_e,{item:p,busy:l,onAct:k,showConfirm:g},`${p.repo??"mc2"}:${p.branch}`))]}),w.length>0&&e.jsxs("section",{className:"space-y-3",children:[e.jsxs(X,{icon:be,children:["Skill-Kandidaten aus dem Traum (",w.length,")"]}),w.map(p=>e.jsx(Ze,{k:p,busy:l,onAct:k,showConfirm:g},p.file))]}),i]})}function X({icon:t,children:a}){return e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(t,{className:"h-3.5 w-3.5"})," ",a]})}const Re={triage:{label:"wird ausgearbeitet …",cls:"text-violet-300 border-violet-500/40 bg-violet-500/10",spin:!0},todo:{label:"wartet",cls:"text-muted-foreground border-border/60 bg-background/30"},scheduled:{label:"geplant",cls:"text-muted-foreground border-border/60 bg-background/30"},ready:{label:"gleich dran",cls:"text-sky-300/80 border-sky-500/30 bg-sky-500/5"},running:{label:"in Arbeit …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},review:{label:"im Review",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},blocked:{label:"hängt — braucht dich",cls:"text-red-300 border-red-500/40 bg-red-500/10"},done:{label:"fertig ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"}},Ve={box:{label:"BOX",icon:ee,cls:"border-border/60 bg-background/40 text-muted-foreground",title:"Box-Welt: die Werkstatt baut das selbst. Das Ergebnis kommt als Patch-Vorschlag zurück — nichts geht ohne deinen Klick live."},idee:{label:"IDEE",icon:_,cls:"border-sky-500/40 bg-sky-500/10 text-sky-300",title:"Nur durchdacht: die Box hat die Produkt-Idee mit voller Denk-Kaskade zu einem Konzept ausgearbeitet. Kein Gerüst, kein Bau — du liest es und entscheidest, ob ein Projekt draus wird."},projekt:{label:"IDE",icon:V,cls:"border-violet-500/40 bg-violet-500/10 text-violet-300",title:"IDE-Welt: die Box bereitet nur vor (Konzept + Repo + Doku, kein Code). Gebaut wird von dir in Zed."}},$e={needs_input:"Die Box hat eine Frage:",capability:"Die Box kam hier nicht weiter:",transient:"Die Aufgabe hakt:"};function Te(){var le,ie;const{data:t,isLoading:a}=he(),x=me(),{showAlert:s,showConfirm:d,dialogElement:h}=pe(),[c,g]=o.useState(""),[i,l]=o.useState("box"),b=i==="idee",n=i==="simpel"||i==="gruendlich",k=b||n,[y,w]=o.useState("lxc"),[m,z]=o.useState(!1),[p,N]=o.useState({}),[A,L]=o.useState(null),[D,M]=o.useState(null),[f,K]=o.useState({}),F=(t==null?void 0:t.items)??[],W=()=>x.invalidateQueries({queryKey:ke.ideen}),re=A!==null&&(((le=t==null?void 0:t.items.find(r=>r.id===A))==null?void 0:le.status)==="triage"||((ie=t==null?void 0:t.items.find(r=>r.id===A))==null?void 0:ie.status)==="running"),I=we(A??"",re);async function se(){const r=c.trim();if(!(r.length<3||m)){z(!0);try{const u=r.length>160?r.slice(0,157)+"…":r;await B("/api/ideen",{method:"POST",body:JSON.stringify({titel:u,notiz:r.length>160?r:"",welt:k?"ide":"box",tiefe:n?i:"",ziel:n?y:"",art:b?"idee":"projekt"})}),g(""),W()}catch(u){s("Das hat nicht geklappt",String((u==null?void 0:u.message)||u))}finally{z(!1)}}}async function je(r){N(u=>({...u,[r]:!0}));try{await B("/api/ideen/archivieren",{method:"POST",body:JSON.stringify({id:r})}),W()}catch(u){s("Das hat nicht geklappt",String((u==null?void 0:u.message)||u))}finally{N(u=>({...u,[r]:!1}))}}async function G(r,u,j,O){N(C=>({...C,[r+u]:!0}));try{await B(j,{method:"POST",body:JSON.stringify(O)}),W()}catch(C){s("Das hat nicht geklappt",String((C==null?void 0:C.message)||C))}finally{N(C=>({...C,[r+u]:!1}))}}async function ne(r){const u=(f[r]||"").trim();if(!(u.length<1||p["ans:"+r])){N(j=>({...j,["ans:"+r]:!0}));try{await B("/api/ideen/antwort",{method:"POST",body:JSON.stringify({id:r,antwort:u})}),K(j=>({...j,[r]:""})),W()}catch(j){s("Das hat nicht geklappt",String((j==null?void 0:j.message)||j))}finally{N(j=>({...j,["ans:"+r]:!1}))}}}const ae=r=>{var ce,ue;const u=Re[r.status]??{label:r.status,cls:"text-muted-foreground border-border/60 bg-background/30"},j=A===r.id,O=r.status==="triage"||r.status==="running"||r.status==="done",C=r.status==="blocked",de=!!p["ans:"+r.id],q=r.status==="running"&&(r.puls_alter??0)>600,oe=r.status==="todo"||r.status==="ready"||r.status==="scheduled";return e.jsxs("li",{className:v("flex flex-col gap-2 rounded-xl border bg-background/30 px-3 py-2",C?"border-red-500/30":q?"border-amber-500/40":"border-border/40"),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:v("flex shrink-0 items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",u.cls),children:[u.spin&&e.jsx(S,{className:"h-3 w-3 animate-spin"}),u.label]}),q&&e.jsxs("span",{className:"flex shrink-0 items-center gap-1 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[10px] font-bold text-amber-300",title:"Der Worker lebt, gibt aber kein Lebenszeichen mehr — vermutlich wartet er auf etwas, das nie kommt. „Neuer Versuch“ startet die Karte frisch.",children:[e.jsx(R,{className:"h-3 w-3"})," ",Math.round((r.puls_alter??0)/60)," min ohne Regung"]}),(r.prio??0)!==0&&e.jsxs("span",{className:"shrink-0 rounded bg-background/50 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",title:"Priorität — höher kommt zuerst dran (bei gleicher Prio: Erstellzeit)",children:["P",r.prio]}),(()=>{const E=Ve[r.art||(r.welt==="ide"?"projekt":"box")];if(!E)return null;const Q=E.icon;return e.jsxs("span",{className:v("flex shrink-0 items-center gap-1 rounded-lg border px-2 py-0.5 text-[10px] font-bold",E.cls),title:E.title,children:[e.jsx(Q,{className:"h-3 w-3"})," ",E.label]})})(),e.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-foreground",title:r.titel,children:r.titel}),e.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(Y,{className:"h-3 w-3"}),te(r.erstellt)]}),oe&&e.jsxs("span",{className:"flex shrink-0 items-center",children:[e.jsx("button",{disabled:!!p["pr:"+r.id],onClick:()=>G("pr:",r.id,"/api/ideen/prio",{id:r.id,richtung:"hoch"}),title:"Vorziehen (Prio +1)",className:"rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:e.jsx(ze,{className:"h-3.5 w-3.5"})}),e.jsx("button",{disabled:!!p["pr:"+r.id],onClick:()=>G("pr:",r.id,"/api/ideen/prio",{id:r.id,richtung:"runter"}),title:"Zurückstellen (Prio −1)",className:"rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:e.jsx(Ce,{className:"h-3.5 w-3.5"})})]}),(r.status==="running"||C)&&e.jsx("button",{disabled:!!p["rt:"+r.id],onClick:()=>d("Neuer Versuch?",r.status==="running"?`Der laufende Worker von '${r.titel.slice(0,60)}' wird beendet (samt gestarteter Test-Prozesse) und die Karte frisch gestartet. Bisheriger Zwischenstand im Workspace bleibt liegen.`:`Die Karte '${r.titel.slice(0,60)}' wird entsperrt und läuft weiter, sobald ein Platz frei ist.`,()=>G("rt:",r.id,"/api/ideen/retry",{id:r.id})),title:"Neuer Versuch — Karte frisch starten",className:v("shrink-0 rounded-md p-1 transition-colors cursor-pointer disabled:opacity-50",q?"text-amber-300 hover:text-amber-200":"text-muted-foreground/60 hover:text-foreground"),children:p["rt:"+r.id]?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Se,{className:"h-3.5 w-3.5"})}),(r.status==="running"||oe||r.status==="triage")&&e.jsx("button",{disabled:!!p["st:"+r.id],onClick:()=>d("Karte stoppen?",`'${r.titel.slice(0,60)}' wird angehalten${r.status==="running"?" und der laufende Worker beendet":""}. Sie bleibt als gestoppt im Board und kann jederzeit per „Neuer Versuch“ weiterlaufen.`,()=>G("st:",r.id,"/api/ideen/stopp",{id:r.id})),title:"Stoppen — Karte anhalten",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-red-300 cursor-pointer disabled:opacity-50",children:p["st:"+r.id]?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Pe,{className:"h-3.5 w-3.5"})}),(r.status==="done"||C)&&e.jsx("button",{disabled:!!p[r.id],onClick:()=>je(r.id),title:C?"Aufgeben und aus der Liste räumen (wandert ins Kanban-Archiv)":"Aus der Liste räumen (wandert ins Kanban-Archiv)",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:p[r.id]?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Z,{className:"h-3.5 w-3.5"})}),r.welt==="ide"&&(r.status==="running"||r.status==="done")&&e.jsxs("button",{onClick:()=>M(D===r.id?null:r.id),title:"Konzept ansehen (das ausgearbeitete KONZEPT.md)",className:v("flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 text-[10px] font-bold transition-colors cursor-pointer",D===r.id?"text-violet-300":"text-violet-300/70 hover:text-violet-200"),children:[e.jsx(fe,{className:"h-3.5 w-3.5"})," Konzept"]}),O&&e.jsx("button",{onClick:()=>L(j?null:r.id),title:r.status==="done"?"Ergebnis anzeigen":"Worker-Log anzeigen",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer",children:j?e.jsx($,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"})})]}),D===r.id&&e.jsx(Fe,{id:r.id,istIdee:r.art==="idee"&&r.status==="done",onWeiter:W}),r.status==="running"&&r.notiz&&e.jsxs("p",{className:"-mt-1 ml-1 text-[11px] italic leading-relaxed text-sky-200/80",title:"Jüngste Zwischenmeldung des Workers (Heartbeat)",children:["„",r.notiz,"“"]}),(r.status==="todo"||r.status==="scheduled"||r.status==="ready")&&(((ce=r.wartet_auf)==null?void 0:ce.length)??0)>0&&e.jsxs("p",{className:"-mt-1 ml-1 text-[10px] text-muted-foreground/70",children:["→ wartet auf: ",r.wartet_auf.join(" · ")]}),C&&e.jsxs("div",{className:"space-y-2 border-t border-red-500/20 pt-2",children:[e.jsxs("p",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-red-200/90",children:[e.jsx(ye,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-red-300"}),e.jsxs("span",{children:[e.jsx("b",{children:$e[r.frage_kind||""]??"Die Aufgabe hängt und wartet auf dich:"})," ",r.frage?e.jsx("span",{className:"text-foreground/90",children:r.frage}):e.jsx("span",{className:"text-muted-foreground italic",children:"kein genauer Grund hinterlegt — antworte einfach mit einer Entscheidung, dann läuft sie weiter."})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:f[r.id]||"",onChange:E=>K(Q=>({...Q,[r.id]:E.target.value})),onKeyDown:E=>{E.key==="Enter"&&ne(r.id)},placeholder:"Deine Antwort — die Box macht damit weiter",maxLength:2e3,className:"h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none"}),e.jsxs("button",{onClick:()=>ne(r.id),disabled:de||(f[r.id]||"").trim().length<1,className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[de?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(xe,{className:"h-3.5 w-3.5"})," Antworten & weiter"]})]})]}),j&&O&&r.status!=="done"&&e.jsx("div",{className:"ml-2 -mt-1",children:e.jsx("div",{className:"rounded-lg border border-border/50 bg-background/50 p-2",children:re&&I.isLoading?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Log wird geladen …"}):I.error?e.jsx("p",{className:"text-[10px] text-red-400",children:"Log nicht ladbar"}):(ue=I.data)!=null&&ue.available&&I.data.lines.length>0?e.jsx("pre",{className:"max-h-64 overflow-auto font-mono text-[10px] leading-relaxed text-foreground/80 whitespace-pre-wrap",children:I.data.lines.join(` -`)}):e.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Kein Log verfügbar"})})}),j&&r.status==="done"&&e.jsx(Oe,{id:r.id})]},r.id)};return t&&!t.available?null:e.jsxs("section",{className:"space-y-3",children:[e.jsxs(X,{icon:_,children:["Ideen-Queue",t?` — ${t.offen} offen`:""]}),e.jsxs("div",{className:"mc-card p-4 space-y-3",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:c,onChange:r=>g(r.target.value),onKeyDown:r=>{r.key==="Enter"&&se()},placeholder:"Neue Idee — einfach hinschreiben, die Box macht den Rest",className:"h-9 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/50 px-3 text-sm text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"}),e.jsxs("button",{onClick:se,disabled:m||c.trim().length<3,className:v("flex h-9 shrink-0 items-center gap-1.5 rounded-lg border px-3 text-[11px] font-bold uppercase tracking-wide transition-all cursor-pointer disabled:opacity-50",i==="gruendlich"?"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20":i==="simpel"?"border-violet-500/40 bg-violet-500/10 text-violet-300 hover:bg-violet-500/20":b?"border-sky-500/40 bg-sky-500/10 text-sky-300 hover:bg-sky-500/20":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/20"),children:[m?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):b?e.jsx(_,{className:"h-3.5 w-3.5"}):n?e.jsx(V,{className:"h-3.5 w-3.5"}):e.jsx(xe,{className:"h-3.5 w-3.5"}),b?"Durchdenken":n?"Vorbereiten":"In die Queue"]})]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Modus"}),e.jsxs("div",{className:"flex rounded-lg border border-border/60 p-0.5",children:[e.jsxs("button",{onClick:()=>l("box"),className:v("flex items-center gap-1 rounded px-2 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",i==="box"?"bg-primary/15 text-primary":"text-muted-foreground/60 hover:text-foreground"),children:[e.jsx(ee,{className:"h-3 w-3"})," Box"]}),e.jsxs("button",{onClick:()=>l("idee"),title:"Produkt-Idee erst einmal durchdenken lassen: Was ist es, für wen, was gibt es schon, was spricht dagegen? Ergebnis ist ein Konzept — kein Projekt, kein Bau-Druck.",className:v("flex items-center gap-1 rounded px-2 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",i==="idee"?"bg-sky-500/15 text-sky-300":"text-muted-foreground/60 hover:text-foreground"),children:[e.jsx(_,{className:"h-3 w-3"})," Idee"]}),e.jsxs("button",{onClick:()=>l("simpel"),title:"IDE-Projekt, schnell vorbereitet: knappes Konzept, wenige Denk-Runden. Für kleine, klar umrissene Sachen.",className:v("flex items-center gap-1 rounded px-2 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",i==="simpel"?"bg-violet-500/15 text-violet-300":"text-muted-foreground/60 hover:text-foreground"),children:[e.jsx(V,{className:"h-3 w-3"})," IDE: simpel"]}),e.jsxs("button",{onClick:()=>l("gruendlich"),title:"IDE-Projekt, gründlich durchdacht: volle Kaskade mit mehreren Rollen und Härtetests. Für große/ambitionierte Projekte.",className:v("flex items-center gap-1 rounded px-2 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",i==="gruendlich"?"bg-amber-500/15 text-amber-300":"text-muted-foreground/60 hover:text-foreground"),children:[e.jsx(V,{className:"h-3 w-3"})," IDE: gründlich"]})]})]}),e.jsxs("p",{className:"text-[10px] leading-relaxed text-muted-foreground/60",children:[e.jsx("b",{className:"text-primary/80",children:"Box"}),", wenn die Box es selbst bauen soll (dein Heimlabor, MC2, Lucy — Ergebnis kommt als Patch-Vorschlag zurück). ·"," ",e.jsx("b",{className:"text-sky-300/80",children:"Idee"}),", wenn du noch nicht weißt, ob es das überhaupt wert ist — erst durchdenken, entscheiden kannst du danach. ·"," ",e.jsx("b",{className:"text-violet-300/80",children:"IDE"}),", wenn du es selbst in Zed bauen willst und dafür ein startklares Repo brauchst."]}),n&&e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Ziel"}),e.jsxs("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:[e.jsx("button",{onClick:()=>w("lxc"),title:"Läuft als Dienst in einem eigenen Proxmox-LXC (systemd, kein Docker). Wird vom Backup-Server automatisch mitgesichert.",className:v("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",y==="lxc"?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:"LXC"}),e.jsx("button",{onClick:()=>w("docker"),title:"Natives Docker nach Standard-Praxis: Dockerfile + compose, portabel, über Gitea-/GitLab-Pipelines baubar. Für Projekte, die bewusst außerhalb der LXC-Welt leben.",className:v("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",y==="docker"?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:"Docker"})]}),e.jsx("span",{className:"text-[10px] text-muted-foreground/50",children:y==="lxc"?"Dienst im Proxmox-Container (deine Heimat)":"natives Docker, portabel & pipeline-tauglich"})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:b?e.jsxs(e.Fragment,{children:[e.jsx("b",{className:"text-sky-300/90",children:"Idee durchdenken:"})," Die Box arbeitet deine Produkt-Idee mit Produkt-Blick aus — was ist es genau, für wen, was gibt es dafür schon, was wäre der kleinste sinnvolle Wurf und was spricht dagegen. Volle Denk-Kaskade mit Kritiker, Ergebnis ist ",e.jsx("b",{children:"nur ein Konzept"})," (kein Gerüst, keine Roadmap, kein Bau-Druck) — du liest es hier und entscheidest danach, ob ein Projekt draus wird."]}):n?e.jsxs(e.Fragment,{children:[e.jsxs("b",{className:i==="gruendlich"?"text-amber-300/90":"text-violet-300/90",children:["IDE-Welt",i==="gruendlich"?" · gründlich":" · simpel",":"]})," ","Die Box denkt das Konzept durch",i==="gruendlich"?" — volle Kaskade: mehrere Fach-Rollen, bis zu 3 Denk-Runden, mehrfacher Kritiker-Härtetest (für große/ambitionierte Projekte, dauert entsprechend)":" — schlank: 2 Rollen, 1 Denk-Runde (für kleine, klar umrissene Projekte, ein paar Minuten)",", legt ein leeres Gitea-Repo an und füllt es nur mit den wichtigen Dokumenten (Konzept, Roadmap, AGENTS.md, .aiexclude) — ",e.jsx("b",{children:"kein Code"}),". Danach öffnest du das Repo in Zed und baust selbst."]}):e.jsx(e.Fragment,{children:"Eine Queue, alle Türen: hier, per Telegram oder im Gespräch mit Lucy. Die Box arbeitet Ideen selbst aus und baut — Code-Ergebnisse erscheinen als Karte unter „Patch-Vorschläge“, nichts davon geht ohne deinen Klick live. Nur reine Doku-Bagatellen zieht die Box nachts selbst ein (mit Fangnetz und Meldung)."})}),a&&e.jsxs("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"})," Queue wird geladen …"]}),(t==null?void 0:t.fehler)&&e.jsx("p",{className:"text-xs text-amber-300",children:"Queue gerade nicht lesbar — neuer Versuch läuft."}),F.length>0&&e.jsxs("div",{className:"space-y-3",children:[((t==null?void 0:t.projekte)??[]).map(r=>e.jsx(Me,{projekt:r,karten:F.filter(u=>u.projekt===r.key),zeile:ae},r.key)),(()=>{const r=new Set(((t==null?void 0:t.projekte)??[]).map(j=>j.key)),u=F.filter(j=>!j.projekt||!r.has(j.projekt));return u.length>0?e.jsx("ul",{className:"space-y-1.5",children:u.map(j=>ae(j))}):null})()]}),(t==null?void 0:t.available)&&!a&&F.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground/70",children:"Queue ist leer — wirf der Box eine Idee zu."})]}),h]})}const U={blocked:0,running:1,review:2,ready:3,triage:4};function Me({projekt:t,karten:a,zeile:x}){const[s,d]=o.useState(!1),[h,c]=o.useState(!1),g=a.filter(n=>U[n.status]!==void 0).sort((n,k)=>U[n.status]-U[k.status]||(n.erstellt??0)-(k.erstellt??0)),i=a.filter(n=>n.status==="todo"||n.status==="scheduled").sort((n,k)=>{var y,w;return((y=n.wartet_auf)!=null&&y.length?1:0)-((w=k.wartet_auf)!=null&&w.length?1:0)||(n.erstellt??0)-(k.erstellt??0)}),l=a.filter(n=>n.status==="done").sort((n,k)=>(k.fertig??0)-(n.fertig??0)),b=t.gesamt>0?Math.round(t.fertig/t.gesamt*100):0;return e.jsxs("div",{className:"space-y-2 rounded-xl border border-border/50 bg-background/20 p-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(De,{className:"h-4 w-4 shrink-0 text-primary/70"}),e.jsx("p",{className:"min-w-0 flex-1 truncate text-xs font-semibold text-foreground",title:t.titel,children:t.titel}),e.jsxs("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:[t.fertig," von ",t.gesamt," fertig"]})]}),e.jsx("div",{className:"h-1 overflow-hidden rounded-full bg-background/60",title:`${b}%`,children:e.jsx("div",{className:"h-1 rounded-full bg-primary/70 transition-all",style:{width:`${b}%`}})}),g.length>0&&e.jsx("ul",{className:"space-y-1.5",children:g.map(n=>x(n))}),i.length>0&&e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>d(n=>!n),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[s?e.jsx($,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"}),i.length," Karte",i.length===1?"":"n"," in der Kette — laufen automatisch der Reihe nach"]}),s&&e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:i.map(n=>x(n))})]}),l.length>0&&e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>c(n=>!n),className:"flex items-center gap-1.5 text-[11px] font-semibold text-emerald-300/70 hover:text-emerald-300 transition-colors cursor-pointer",children:[h?e.jsx($,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"}),l.length," fertig"]}),h&&e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:l.map(n=>x(n))})]})]})}function Fe({id:t,istIdee:a,onWeiter:x}){const[s,d]=o.useState(null),[h,c]=o.useState(!1),[g,i]=o.useState(0);return o.useEffect(()=>{let l=!1;return d(null),c(!1),B(`/api/ideen/${t}/konzept`).then(b=>{l||d(b)}).catch(()=>{l||c(!0)}),()=>{l=!0}},[t,g]),e.jsx("div",{className:"ml-2 -mt-1",children:e.jsxs("div",{className:"rounded-lg border border-violet-500/25 bg-violet-500/[0.04] p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wide text-violet-300",children:[e.jsx(fe,{className:"h-3 w-3"})," Konzept"]}),(s==null?void 0:s.repo)&&e.jsxs("a",{href:`https://git.tobisniceshomelab.ddnsfree.com/${s.repo}`,className:"flex items-center gap-1 text-[10px] text-violet-300/70 hover:text-violet-200",children:[e.jsx(Be,{className:"h-3 w-3"})," ",s.repo]}),!(s!=null&&s.repo)&&(s==null?void 0:s.quelle)==="datei"&&e.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/70",title:"Der Worker hat kein Repo angelegt — das Konzept liegt als Datei auf der Box.",children:s.pfad}),e.jsx("button",{onClick:()=>i(l=>l+1),title:"Neu laden",className:"ml-auto rounded p-0.5 text-muted-foreground/50 hover:text-foreground cursor-pointer",children:e.jsx(J,{className:"h-3 w-3"})})]}),h?e.jsx("p",{className:"text-[11px] text-red-400",children:"Konzept nicht ladbar — später nochmal versuchen."}):s===null?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Konzept wird geladen …"}):s.konzept?e.jsx("div",{className:"max-h-[28rem] overflow-y-auto pr-1",children:e.jsx(Le,{text:s.konzept})}):e.jsx("p",{className:"text-[11px] text-muted-foreground italic",children:s.error||"Noch kein Konzept — das Projekt wird gerade vorbereitet."}),a&&(s==null?void 0:s.konzept)&&e.jsx(Ge,{id:t,onFertig:x})]})})}function Ge({id:t,onFertig:a}){const[x,s]=o.useState("lxc"),[d,h]=o.useState("simpel"),[c,g]=o.useState(!1),[i,l]=o.useState(null),[b,n]=o.useState(""),[k,y]=o.useState(""),w=async(m,z,p)=>{g(!0),n("");try{const N=await B(m,{method:"POST",body:JSON.stringify(z)});l({id:N.id,art:p}),a==null||a()}catch(N){n(String((N==null?void 0:N.message)||N))}finally{g(!1)}};return i?e.jsx("p",{className:"mt-3 border-t border-violet-500/20 pt-2 text-[11px] text-emerald-300",children:i.art==="projekt"?e.jsxs(e.Fragment,{children:["Projekt-Karte ",e.jsx("span",{className:"font-mono",children:i.id})," ist angelegt — die Box bereitet das Repo vor (Konzept übernimmt sie, sie denkt es nicht neu). Danach öffnest du es in Zed."]}):e.jsxs(e.Fragment,{children:["Überarbeitung ",e.jsx("span",{className:"font-mono",children:i.id}),' läuft — die Box arbeitet deine Rückmeldung ein und schreibt die neue Fassung an dieselbe Stelle. Danach hier wieder „Konzept" öffnen.']})}):e.jsxs("div",{className:"mt-3 space-y-3 border-t border-violet-500/20 pt-2.5",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("b",{className:"text-sky-300/90",children:"Passt etwas nicht?"})," Schreib hin, was anders werden soll — die Box arbeitet es ein und lässt den Rest stehen. Beliebig oft wiederholbar."]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:k,onChange:m=>y(m.target.value),onKeyDown:m=>{m.key==="Enter"&&k.trim().length>=3&&!c&&w("/api/ideen/nachschaerfen",{id:t,hinweis:k},"runde")},placeholder:"z. B. „Punkt 3: kein WebSocket, das ist mir zu fragil — nimm Polling“",maxLength:2e3,className:"h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-sky-400/50 focus:outline-none"}),e.jsxs("button",{onClick:()=>w("/api/ideen/nachschaerfen",{id:t,hinweis:k},"runde"),disabled:c||k.trim().length<3,className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-sky-500/40 bg-sky-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-sky-300 transition-all hover:bg-sky-500/20 cursor-pointer disabled:opacity-50",children:[c?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(J,{className:"h-3.5 w-3.5"}),"Nachschärfen"]})]})]}),e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("b",{className:"text-violet-300/90",children:"Passt es so?"})," Dann macht die Box daraus ein startklares Repo — Konzept wird übernommen (nicht neu gedacht), dazu Roadmap, AGENTS.md & Co. Gebaut wird danach von dir in Zed."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Ziel"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:["lxc","docker"].map(m=>e.jsx("button",{onClick:()=>s(m),title:m==="lxc"?"Dienst in einem eigenen Proxmox-LXC (systemd, kein Docker) — wird automatisch mitgesichert.":"Natives Docker: Dockerfile + compose, portabel und pipeline-tauglich.",className:v("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",x===m?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:m==="lxc"?"LXC":"Docker"},m))}),e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Aufwand"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:["simpel","gruendlich"].map(m=>e.jsx("button",{onClick:()=>h(m),title:m==="simpel"?"Konzept ist schon gehärtet — nur kurz auf die Bau-Sicht nachschärfen (empfohlen).":"Nochmal volle Kaskade über die Bau-Sicht: mehrere Rollen, Härtetests. Dauert entsprechend.",className:v("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",d===m?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:m==="simpel"?"schlank":"gründlich"},m))}),e.jsxs("button",{onClick:()=>w("/api/ideen/weiterfuehren",{id:t,ziel:x,tiefe:d},"projekt"),disabled:c,className:"ml-auto flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[c?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(V,{className:"h-3.5 w-3.5"}),"Gefällt mir — Projekt daraus machen"]})]}),b&&e.jsx("p",{className:"text-[11px] text-red-400",children:b})]})}function Oe({id:t}){const[a,x]=o.useState(null),[s,d]=o.useState(!1),[h,c]=o.useState(0);o.useEffect(()=>{let i=!1;return d(!1),x(null),B(`/api/ideen/${t}/ergebnis`).then(l=>{i||x(l)}).catch(()=>{i||d(!0)}),()=>{i=!0}},[t,h]);const g=a?a.summary||a.result:"";return e.jsx("div",{className:"ml-2 -mt-1",children:e.jsxs("div",{className:"rounded-lg border border-emerald-500/25 bg-emerald-500/5 p-2.5",children:[e.jsxs("p",{className:"mb-1 flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wide text-emerald-300",children:[e.jsx(Ke,{className:"h-3 w-3"})," Ergebnis des Workers"]}),s?e.jsx("button",{type:"button",onClick:()=>c(i=>i+1),className:"text-[10px] text-red-400 underline decoration-dotted underline-offset-2 hover:text-red-300",children:"Ergebnis nicht ladbar — nochmal versuchen"}):a===null?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Wird geladen …"}):g?e.jsx("p",{className:"max-h-64 overflow-y-auto whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:g}):e.jsx("p",{className:"text-[10px] text-muted-foreground italic",children:"Der Worker hat keine Abschluss-Zusammenfassung hinterlassen (ältere Karte oder Protokollverstoß)."})]})})}function He({item:t}){const a=t.status;if(!a)return null;const x=Ie[a.state];return x?e.jsxs("span",{className:v("flex items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",x.cls),title:a.detail,children:[x.spin&&e.jsx(S,{className:"h-3 w-3 animate-spin"}),x.label]}):null}function _e({item:t,busy:a,onAct:x,showConfirm:s}){var L,D,M;const[d,h]=o.useState(!1),[c,g]=o.useState(null),[i,l]=o.useState(!1),[b,n]=o.useState(!1),[k,y]=o.useState(""),w=((L=t.status)==null?void 0:L.state)==="laeuft"||((D=t.status)==null?void 0:D.state)==="rollback",m=((M=t.status)==null?void 0:M.state)==="eingespielt",z=t.repo??"mc2",p=z==="lucy",N=`${z}:${t.branch}`;async function A(){const f=!d;if(h(f),f&&c===null){l(!0);try{const K=await B(`/api/auftragsbuch/diff?branch=${encodeURIComponent(t.branch)}&repo=${z}`);g(K.diff+(K.truncated?` -… (gekürzt)`:""))}catch(K){g(`(Diff nicht ladbar: ${(K==null?void 0:K.message)||K})`)}finally{l(!1)}}}return e.jsxs("div",{className:"mc-card p-4 space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"rounded-md border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-primary",children:We[t.kind]??t.kind}),p&&e.jsx("span",{className:"rounded-md border border-pink-500/40 bg-pink-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-pink-300",title:"Vorschlag fürs Lucy-Repo — Annehmen baut die App am PC neu und startet sie neu, wenn sie läuft.",children:"Lucy"}),e.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",title:t.branch,children:t.branch}),e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(Y,{className:"h-3 w-3"}),te(t.ts)]}),e.jsx(He,{item:t})]}),e.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:t.subject||"(ohne Titel)"}),t.body&&e.jsx("p",{className:"mt-1 whitespace-pre-wrap text-xs leading-relaxed text-muted-foreground line-clamp-6",children:t.body}),t.empfehlung&&e.jsxs("p",{className:v("mt-1.5 flex items-start gap-1.5 rounded-lg border px-2 py-1 text-[11px]",t.empfehlung.empfehlung==="ANNEHMEN"&&"border-emerald-500/30 bg-emerald-500/5 text-emerald-300",t.empfehlung.empfehlung==="ABLEHNEN"&&"border-red-500/30 bg-red-500/5 text-red-300",t.empfehlung.empfehlung==="UNKLAR"&&"border-amber-500/30 bg-amber-500/5 text-amber-300"),title:`Nächtliches Kurz-Gutachten (${t.empfehlung.richter}) — eine Meinung, kein Muss. Die Entscheidung bleibt bei dir.`,children:[e.jsx(be,{className:"mt-0.5 h-3 w-3 shrink-0"}),e.jsxs("span",{children:[e.jsxs("b",{children:["Empfehlung: ",t.empfehlung.empfehlung==="ANNEHMEN"?"Annehmen":t.empfehlung.empfehlung==="ABLEHNEN"?"Ablehnen":"Unklar","."]})," ",t.empfehlung.satz]})]})]}),!w&&!m&&e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[!t.verwaist&&e.jsxs("button",{disabled:!!a[N],onClick:()=>s("Vorschlag annehmen?",p?`'${t.branch}' wird im Lucy-Repo auf main gemergt, dann baut dein PC die App neu (dist) und startet Lucy neu, falls sie gerade läuft. Der PC muss dafür an sein. Schlägt Build oder Start fehl, dreht die Box den Merge automatisch zurück — die laufende Lucy bleibt die alte.`:`'${t.branch}' wird auf main gemergt und live eingespielt. Die Zentrale startet dabei kurz neu. Geht der Health-Check danach rot, rollt die Box automatisch zurück.${t.frontend_ohne_build?` - -Achtung: Enthält Frontend-Quelltext ohne gebautes Bundle — die Oberfläche bleibt alt, bis am PC gebaut wird.`:""}`,()=>x(N,"/api/auftragsbuch/annehmen",{branch:t.branch,repo:z})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[a[N]?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(ge,{className:"h-3.5 w-3.5"})," Annehmen"]}),e.jsxs("button",{disabled:!!a["ab:"+N],onClick:()=>n(f=>!f),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[a["ab:"+N]?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Z,{className:"h-3.5 w-3.5"})," Ablehnen"]})]})]}),b&&!w&&!m&&e.jsxs("div",{className:"space-y-2 rounded-xl border border-red-500/25 bg-red-500/5 p-3",children:[e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:["Der Branch '",t.branch,"' wird auf Gitea gelöscht (die Arbeit bleibt in der Historie). Sag der Box kurz ",e.jsx("b",{children:"warum"})," — dann schlägt sie dir so etwas nicht wieder vor."]}),e.jsx("input",{value:k,onChange:f=>y(f.target.value),placeholder:"Grund (optional) — z. B. „gibt es schon“ oder „will ich nicht“",maxLength:400,className:"w-full rounded-lg border border-border/60 bg-background/60 px-2.5 py-1.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{disabled:!!a["ab:"+N],onClick:()=>{n(!1),x("ab:"+N,"/api/auftragsbuch/ablehnen",{branch:t.branch,repo:z,grund:k.trim()})},className:"flex h-8 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(Z,{className:"h-3.5 w-3.5"})," Wirklich ablehnen"]}),e.jsx("button",{onClick:()=>n(!1),className:"flex h-8 items-center rounded-lg border border-border/60 bg-background/40 px-3 text-[11px] font-semibold text-muted-foreground transition-all hover:text-foreground cursor-pointer",children:"Abbrechen"})]})]}),t.status&&(w||!m)&&t.status.detail&&e.jsx("p",{className:"text-[11px] text-muted-foreground",children:t.status.detail}),t.verwaist&&e.jsxs("p",{className:"rounded-lg border border-red-500/30 bg-red-500/5 px-2 py-1.5 text-[11px] text-red-300/90",children:[e.jsx("b",{children:"Kaputt aufgesetzt:"})," Dieser Branch hat keinen gemeinsamen Ursprung mit main (der Werkstatt-Worker hat nicht richtig geklont) — Annehmen ist technisch unmöglich, deshalb fehlt der Knopf. Am besten ",e.jsx("b",{children:"ablehnen mit Grund"}),"; die Idee kann danach frisch in die Queue."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-muted-foreground",children:[e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:[t.ahead," Commit",t.ahead===1?"":"s"]}),t.shortstat&&e.jsx("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:t.shortstat.trim()}),t.verwaist&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-red-500/10 px-1.5 py-0.5 text-red-300",title:"Kein gemeinsamer Vorfahre mit main — git kann diesen Branch niemals mergen.",children:[e.jsx(R,{className:"h-3 w-3"})," kein gemeinsamer Ursprung"]}),t.leer&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Der Diff gegen main ist leer — der Branch würde nichts verändern (Inhalt schon in main oder am Repo vorbei gearbeitet).",children:[e.jsx(R,{className:"h-3 w-3"})," Diff leer — bringt nichts"]}),t.behind>0&&!t.verwaist&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"main ist seit diesem Vorschlag weitergelaufen — bei Konflikten versucht die Annahme automatisch einen Rebase.",children:[e.jsx(R,{className:"h-3 w-3"})," ",t.behind," hinter main"]}),t.frontend_ohne_build&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Die Box kann kein Frontend bauen (kein Node) — nach dem Annehmen bleibt die Oberfläche alt, bis am PC gebaut wird.",children:[e.jsx(R,{className:"h-3 w-3"})," Frontend ohne Build"]})]}),e.jsxs("div",{children:[e.jsxs("button",{onClick:A,className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[d?e.jsx($,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"}),e.jsx(Ae,{className:"h-3.5 w-3.5"})," ",t.files.length," Datei",t.files.length===1?"":"en"," — Änderungen ansehen"]}),d&&e.jsxs("div",{className:"mt-2 space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[t.files.map(f=>e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:[e.jsx("b",{className:v(f.status.startsWith("A")&&"text-emerald-400",f.status.startsWith("D")&&"text-red-400",f.status.startsWith("M")&&"text-sky-400"),children:f.status})," ",f.path]},f.path)),t.files_truncated&&e.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"…"})]}),e.jsx("div",{className:"max-h-96 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3",children:i?e.jsx("span",{className:"text-[11px] text-muted-foreground",children:"Diff wird geladen …"}):e.jsx("pre",{className:"text-[10px] leading-relaxed text-foreground/80 whitespace-pre",children:(c??"").split(` -`).map((f,K)=>e.jsx("span",{className:v("block",f.startsWith("+")&&!f.startsWith("+++")&&"text-emerald-300/90 bg-emerald-500/5",f.startsWith("-")&&!f.startsWith("---")&&"text-red-300/90 bg-red-500/5",(f.startsWith("@@")||f.startsWith("diff "))&&"text-sky-300/90"),children:f||" "},K))})})]})]})]})}function Ze({k:t,busy:a,onAct:x,showConfirm:s}){const[d,h]=o.useState(!1);return e.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.04] p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"rounded-md border border-violet-500/30 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-violet-300",children:"Traum-Idee"}),e.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",children:t.file}),e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(Y,{className:"h-3 w-3"}),te(t.mtime)]})]}),e.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:t.title})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsxs("button",{disabled:!!a["sk:"+t.file],onClick:()=>s("Werkstatt beauftragen?",`Der Kandidat '${t.title}' geht als Auftrag an die Werkstatt (Orchestrator, propose-only). Das Ergebnis erscheint später als neuer Patch-Vorschlag hier im Auftragsbuch — nichts geht ungefragt live.`,()=>x("sk:"+t.file,"/api/auftragsbuch/skill/annehmen",{file:t.file},"Die Werkstatt arbeitet. Das Ergebnis taucht als neuer Vorschlag im Auftragsbuch auf (das kann einige Minuten dauern).")),className:"flex h-9 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[a["sk:"+t.file]?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(ee,{className:"h-3.5 w-3.5"})," Beauftragen"]}),e.jsxs("button",{disabled:!!a["skab:"+t.file],onClick:()=>s("Kandidat verwerfen?",`'${t.title}' wandert ins Archiv des Wissens-Vaults (verworfen/). Der Traum schlägt ihn nicht erneut vor.`,()=>x("skab:"+t.file,"/api/auftragsbuch/skill/ablehnen",{file:t.file})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[a["skab:"+t.file]?e.jsx(S,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Z,{className:"h-3.5 w-3.5"})," Verwerfen"]})]})]}),e.jsxs("button",{onClick:()=>h(c=>!c),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[d?e.jsx($,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"}),e.jsx(ve,{className:"h-3.5 w-3.5"})," Vorschlag lesen"]}),d&&e.jsx("pre",{className:"max-h-72 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3 text-[11px] leading-relaxed text-foreground/85 whitespace-pre-wrap",children:t.preview})]})}export{et as AuftragsbuchView}; diff --git a/frontend/dist/assets/ChronikView-B6tlWXa3.js b/frontend/dist/assets/ChronikView-05lPMfKs.js similarity index 97% rename from frontend/dist/assets/ChronikView-B6tlWXa3.js rename to frontend/dist/assets/ChronikView-05lPMfKs.js index c13cc42..314c412 100644 --- a/frontend/dist/assets/ChronikView-B6tlWXa3.js +++ b/frontend/dist/assets/ChronikView-05lPMfKs.js @@ -1,4 +1,4 @@ -import{c as m,ag as S,r as c,j as e,ah as z,L as g,U as M,ai as C,ad as D,aj as A,ak as B,al as Z,e as E,am as L,u as R,b as q,g as k,q as T}from"./index-Cm0NCQeJ.js";import{R as j}from"./rotate-ccw-DQJileoK.js";/** +import{c as m,ai as S,r as c,j as e,aj as z,L as g,U as M,ak as C,ae as D,al as A,am as B,an as Z,e as E,ao as L,u as R,b as q,g as k,q as T}from"./index-CoRdA_gp.js";import{R as j}from"./rotate-ccw-BHsRFGD7.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/ConnectView-B-235oA9.js b/frontend/dist/assets/ConnectView-DjuUKBvu.js similarity index 98% rename from frontend/dist/assets/ConnectView-B-235oA9.js rename to frontend/dist/assets/ConnectView-DjuUKBvu.js index f2fa747..11eacf8 100644 --- a/frontend/dist/assets/ConnectView-B-235oA9.js +++ b/frontend/dist/assets/ConnectView-DjuUKBvu.js @@ -1,4 +1,4 @@ -import{c as v,r as c,I,J as A,j as e,K as h,x as B,B as H,D as E,M as z,e as M,L as T,N as F,C as K}from"./index-Cm0NCQeJ.js";import{F as O}from"./folder-open-CvG8JCKh.js";import{C as R}from"./circle-x-DT2INJve.js";import{C as W}from"./copy-BzlMSkzh.js";/** +import{c as v,r as c,I,J as A,j as e,K as h,x as B,B as H,D as E,M as z,e as M,L as T,N as F,C as K}from"./index-CoRdA_gp.js";import{F as O}from"./folder-open-BoUGs9bI.js";import{C as R}from"./circle-x-CSyRU1pi.js";import{C as W}from"./copy-BuUsvuS9.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/EigenlebenView-bzbGyOGE.js b/frontend/dist/assets/EigenlebenView-BuEpk3oK.js similarity index 97% rename from frontend/dist/assets/EigenlebenView-bzbGyOGE.js rename to frontend/dist/assets/EigenlebenView-BuEpk3oK.js index fd5ad94..f4129b6 100644 --- a/frontend/dist/assets/EigenlebenView-bzbGyOGE.js +++ b/frontend/dist/assets/EigenlebenView-BuEpk3oK.js @@ -1,4 +1,4 @@ -import{c as h,an as b,r as i,j as e,L as g,ao as f,a2 as j,U as k,e as o,D as N,M as v,N as w,g as y}from"./index-Cm0NCQeJ.js";import{B as S}from"./book-open-CMR6fip9.js";import{C as z}from"./circle-x-DT2INJve.js";/** +import{c as h,ap as b,r as i,j as e,L as g,aq as f,a2 as j,U as k,e as o,D as N,M as v,N as w,g as y}from"./index-CoRdA_gp.js";import{B as S}from"./book-open-x-JfOiM-.js";import{C as z}from"./circle-x-CSyRU1pi.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/GraphView-B853GRcI.js b/frontend/dist/assets/GraphView-PukEbPEW.js similarity index 99% rename from frontend/dist/assets/GraphView-B853GRcI.js rename to frontend/dist/assets/GraphView-PukEbPEW.js index ef66e7e..ee89fb7 100644 --- a/frontend/dist/assets/GraphView-B853GRcI.js +++ b/frontend/dist/assets/GraphView-PukEbPEW.js @@ -1,4 +1,4 @@ -import{ar as Lt,r as V,as as Zi,at as Gn,au as Vn,av as Ki,aw as Qi,ax as Wn,ay as Bn,az as Ji,j as lt,a3 as to}from"./index-Cm0NCQeJ.js";function eo(e,n){let r=0;for(let i of e)(i=+i)&&(r+=i);return r}var Xn=180/Math.PI,un={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Vr(e,n,r,i,o,a){var s,u,f;return(s=Math.sqrt(e*e+n*n))&&(e/=s,n/=s),(f=e*r+n*i)&&(r-=e*f,i-=n*f),(u=Math.sqrt(r*r+i*i))&&(r/=u,i/=u,f/=u),e*i180?c+=360:c-l>180&&(l+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:Lt(l,c)})):c&&h.push(o(h)+"rotate("+c+i)}function u(l,c,h,d){l!==c?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:Lt(l,c)}):c&&h.push(o(h)+"skewX("+c+i)}function f(l,c,h,d,p,y){if(l!==h||c!==d){var v=p.push(o(p)+"scale(",null,",",null,")");y.push({i:v-4,x:Lt(l,h)},{i:v-2,x:Lt(c,d)})}else(h!==1||d!==1)&&p.push(o(p)+"scale("+h+","+d+")")}return function(l,c){var h=[],d=[];return l=e(l),c=e(c),a(l.translateX,l.translateY,c.translateX,c.translateY,h,d),s(l.rotate,c.rotate,h,d),u(l.skewX,c.skewX,h,d),f(l.scaleX,l.scaleY,c.scaleX,c.scaleY,h,d),l=c=null,function(p){for(var y=-1,v=d.length,_;++ye.length)&&(n=e.length);for(var r=0,i=new Array(n);r180?c+=360:c-l>180&&(l+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:Lt(l,c)})):c&&h.push(o(h)+"rotate("+c+i)}function u(l,c,h,d){l!==c?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:Lt(l,c)}):c&&h.push(o(h)+"skewX("+c+i)}function f(l,c,h,d,p,y){if(l!==h||c!==d){var v=p.push(o(p)+"scale(",null,",",null,")");y.push({i:v-4,x:Lt(l,h)},{i:v-2,x:Lt(c,d)})}else(h!==1||d!==1)&&p.push(o(p)+"scale("+h+","+d+")")}return function(l,c){var h=[],d=[];return l=e(l),c=e(c),a(l.translateX,l.translateY,c.translateX,c.translateY,h,d),s(l.rotate,c.rotate,h,d),u(l.skewX,c.skewX,h,d),f(l.scaleX,l.scaleY,c.scaleX,c.scaleY,h,d),l=c=null,function(p){for(var y=-1,v=d.length,_;++ye.length)&&(n=e.length);for(var r=0,i=new Array(n);ra,methodNames:i=[],initPropNames:o=[]}={}){return V.forwardRef((a,s)=>{const u=V.useRef(),f=V.useMemo(()=>{const h=Object.fromEntries(o.filter(d=>a.hasOwnProperty(d)).map(d=>[d,a[d]]));return e(h)},[]);Kn(()=>{f(r(u.current))},V.useLayoutEffect),Kn(()=>f._destructor instanceof Function?f._destructor:void 0);const l=V.useCallback((h,...d)=>f[h]instanceof Function?f[h](...d):void 0,[f]),c=V.useRef({});return Object.keys(xo(a,[...i,...o])).filter(h=>c.current[h]!==a[h]).forEach(h=>l(h,a[h])),c.current=a,V.useImperativeHandle(s,()=>Object.fromEntries(i.map(h=>[h,(...d)=>l(h,...d)])),[l]),Zi.createElement(n,{ref:u})})}function Kn(e,n=V.useEffect){const r=V.useRef(),i=V.useRef(!1),o=V.useRef(!1),[a,s]=V.useState(0);i.current&&(o.current=!0),n(()=>(i.current||(r.current=e(),i.current=!0),s(u=>u+1),()=>{o.current&&(r.current&&r.current(),r.current=void 0,i.current=!1,o.current=!1)}),[])}var fn="http://www.w3.org/1999/xhtml";const Qn={svg:"http://www.w3.org/2000/svg",xhtml:fn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function qe(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Qn.hasOwnProperty(n)?{space:Qn[n],local:e}:e}function ko(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===fn&&n.documentElement.namespaceURI===fn?n.createElement(e):n.createElementNS(r,e)}}function Co(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Xr(e){var n=qe(e);return(n.local?Co:ko)(n)}function Ao(){}function An(e){return e==null?Ao:function(){return this.querySelector(e)}}function So(e){typeof e!="function"&&(e=An(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o=T&&(T=w+1);!(b=_[T])&&++T=0;)(s=i[o])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Ko(e){e||(e=Qo);function n(h,d){return h&&d?e(h.__data__,d.__data__):!h-!d}for(var r=this._groups,i=r.length,o=new Array(i),a=0;an?1:e>=n?0:NaN}function Jo(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ta(){return Array.from(this)}function ea(){for(var e=this._groups,n=0,r=e.length;n1?this.each((n==null?ha:typeof n=="function"?pa:da)(e,n,r??"")):Bt(this.node(),e)}function Bt(e,n){return e.style.getPropertyValue(n)||Jr(e).getComputedStyle(e,null).getPropertyValue(n)}function ya(e){return function(){delete this[e]}}function _a(e,n){return function(){this[e]=n}}function va(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function ma(e,n){return arguments.length>1?this.each((n==null?ya:typeof n=="function"?va:_a)(e,n)):this.node()[e]}function ti(e){return e.trim().split(/^|\s+/)}function Sn(e){return e.classList||new ei(e)}function ei(e){this._node=e,this._names=ti(e.getAttribute("class")||"")}ei.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ni(e,n){for(var r=Sn(e),i=-1,o=n.length;++i=0&&(r=n.slice(i+1),n=n.slice(0,i)),{type:n,name:r}})}function Ba(e){return function(){var n=this.__on;if(n){for(var r=0,i=-1,o=n.length,a;r{}};function ve(){for(var e=0,n=arguments.length,r={},i;e=0&&(i=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}Ae.prototype=ve.prototype={constructor:Ae,on:function(e,n){var r=this._,i=rs(e+"",r),o,a=-1,s=i.length;if(arguments.length<2){for(;++a0)for(var r=new Array(o),i=0,o,a;i()=>e;function cn(e,{sourceEvent:n,subject:r,target:i,identifier:o,active:a,x:s,y:u,dx:f,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}cn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function as(e){return!e.ctrlKey&&!e.button}function ss(){return this.parentNode}function us(e,n){return n??{x:e.x,y:e.y}}function ls(){return navigator.maxTouchPoints||"ontouchstart"in this}function fs(){var e=as,n=ss,r=us,i=ls,o={},a=ve("start","drag","end"),s=0,u,f,l,c,h=0;function d(x){x.on("mousedown.drag",p).filter(i).on("touchstart.drag",_).on("touchmove.drag",g,os).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(x,b){if(!(c||!e.call(this,x,b))){var C=T(this,n.call(this,x,b),x,b,"mouse");C&&(pt(x.view).on("mousemove.drag",y,pe).on("mouseup.drag",v,pe),ai(x.view),Ze(x),l=!1,u=x.clientX,f=x.clientY,C("start",x))}}function y(x){if(Wt(x),!l){var b=x.clientX-u,C=x.clientY-f;l=b*b+C*C>h}o.mouse("drag",x)}function v(x){pt(x.view).on("mousemove.drag mouseup.drag",null),si(x.view,l),Wt(x),o.mouse("end",x)}function _(x,b){if(e.call(this,x,b)){var C=x.changedTouches,S=n.call(this,x,b),M=C.length,N,P;for(N=0;N=0&&e._call.call(void 0,n),e=e._next;--Xt}function tr(){Ht=(Re=ge.now())+Ge,Xt=ae=0;try{hs()}finally{Xt=0,ps(),Ht=0}}function ds(){var e=ge.now(),n=e-Re;n>ui&&(Ge-=n,Re=e)}function ps(){for(var e,n=ze,r,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:ze=r);se=e,hn(i)}function hn(e){if(!Xt){ae&&(ae=clearTimeout(ae));var n=e-Ht;n>24?(e<1/0&&(ae=setTimeout(tr,e-ge.now()-Ge)),Qt&&(Qt=clearInterval(Qt))):(Qt||(Re=ge.now(),Qt=setInterval(ds,ui)),Xt=1,li(tr))}}function er(e,n,r){var i=new Ne;return n=n==null?0:+n,i.restart(o=>{i.stop(),e(o+n)},n,r),i}var gs=ve("start","end","cancel","interrupt"),ys=[],fi=0,nr=1,dn=2,Se=3,rr=4,pn=5,Te=6;function Ve(e,n,r,i,o,a){var s=e.__transition;if(!s)e.__transition={};else if(r in s)return;_s(e,r,{name:n,index:i,group:o,on:gs,tween:ys,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:fi})}function Pn(e,n){var r=vt(e,n);if(r.state>fi)throw new Error("too late; already scheduled");return r}function Ct(e,n){var r=vt(e,n);if(r.state>Se)throw new Error("too late; already running");return r}function vt(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function _s(e,n,r){var i=e.__transition,o;i[n]=r,r.timer=Mn(a,0,r.time);function a(l){r.state=nr,r.timer.restart(s,r.delay,r.time),r.delay<=l&&s(l-r.delay)}function s(l){var c,h,d,p;if(r.state!==nr)return f();for(c in i)if(p=i[c],p.name===r.name){if(p.state===Se)return er(s);p.state===rr?(p.state=Te,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[c]):+cdn&&i.state=0&&(n=n.slice(0,r)),!n||n==="start"})}function Bs(e,n,r){var i,o,a=Ws(n)?Pn:Ct;return function(){var s=a(this,e),u=s.on;u!==i&&(o=(i=u).copy()).on(n,r),s.on=o}}function Xs(e,n){var r=this._id;return arguments.length<2?vt(this.node(),r).on.on(e):this.each(Bs(r,e,n))}function Ys(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function Zs(){return this.on("end.remove",Ys(this._id))}function Ks(e){var n=this._name,r=this._id;typeof e!="function"&&(e=An(e));for(var i=this._groups,o=i.length,a=new Array(o),s=0;s()=>e;function wu(e,{sourceEvent:n,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Et(e,n,r){this.k=e,this.x=n,this.y=r}Et.prototype={constructor:Et,scale:function(e){return e===1?this:new Et(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Et(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var En=new Et(1,0,0);mt.prototype=Et.prototype;function mt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return En;return e.__zoom}function Ke(e){e.stopImmediatePropagation()}function Jt(e){e.preventDefault(),e.stopImmediatePropagation()}function ku(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Cu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ir(){return this.__zoom||En}function Au(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Su(){return navigator.maxTouchPoints||"ontouchstart"in this}function Tu(e,n,r){var i=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],a=e.invertY(n[0][1])-r[0][1],s=e.invertY(n[1][1])-r[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s))}function Mu(){var e=ku,n=Cu,r=Tu,i=Au,o=Su,a=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,f=lo,l=ve("start","zoom","end"),c,h,d,p=500,y=150,v=0,_=10;function g(A){A.property("__zoom",ir).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",R).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(A,I,E,k){var O=A.selection?A.selection():A;O.property("__zoom",ir),A!==O?b(A,I,E,k):O.interrupt().each(function(){C(this,arguments).event(k).start().zoom(null,typeof I=="function"?I.apply(this,arguments):I).end()})},g.scaleBy=function(A,I,E,k){g.scaleTo(A,function(){var O=this.__zoom.k,j=typeof I=="function"?I.apply(this,arguments):I;return O*j},E,k)},g.scaleTo=function(A,I,E,k){g.transform(A,function(){var O=n.apply(this,arguments),j=this.__zoom,$=E==null?x(O):typeof E=="function"?E.apply(this,arguments):E,U=j.invert($),F=typeof I=="function"?I.apply(this,arguments):I;return r(T(w(j,F),$,U),O,s)},E,k)},g.translateBy=function(A,I,E,k){g.transform(A,function(){return r(this.__zoom.translate(typeof I=="function"?I.apply(this,arguments):I,typeof E=="function"?E.apply(this,arguments):E),n.apply(this,arguments),s)},null,k)},g.translateTo=function(A,I,E,k,O){g.transform(A,function(){var j=n.apply(this,arguments),$=this.__zoom,U=k==null?x(j):typeof k=="function"?k.apply(this,arguments):k;return r(En.translate(U[0],U[1]).scale($.k).translate(typeof I=="function"?-I.apply(this,arguments):-I,typeof E=="function"?-E.apply(this,arguments):-E),j,s)},k,O)};function w(A,I){return I=Math.max(a[0],Math.min(a[1],I)),I===A.k?A:new Et(I,A.x,A.y)}function T(A,I,E){var k=I[0]-E[0]*A.k,O=I[1]-E[1]*A.k;return k===A.x&&O===A.y?A:new Et(A.k,k,O)}function x(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function b(A,I,E,k){A.on("start.zoom",function(){C(this,arguments).event(k).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(k).end()}).tween("zoom",function(){var O=this,j=arguments,$=C(O,j).event(k),U=n.apply(O,j),F=E==null?x(U):typeof E=="function"?E.apply(O,j):E,q=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),G=O.__zoom,B=typeof I=="function"?I.apply(O,j):I,J=f(G.invert(F).concat(q/G.k),B.invert(F).concat(q/B.k));return function(Y){if(Y===1)Y=B;else{var at=J(Y),tt=q/at[2];Y=new Et(tt,F[0]-at[0]*tt,F[1]-at[1]*tt)}$.zoom(null,Y)}})}function C(A,I,E){return!E&&A.__zooming||new S(A,I)}function S(A,I){this.that=A,this.args=I,this.active=0,this.sourceEvent=null,this.extent=n.apply(A,I),this.taps=0}S.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,I){return this.mouse&&A!=="mouse"&&(this.mouse[1]=I.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=I.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=I.invert(this.touch1[0])),this.that.__zoom=I,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var I=pt(this.that).datum();l.call(A,this.that,new wu(A,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:l}),I)}};function M(A,...I){if(!e.apply(this,arguments))return;var E=C(this,I).event(A),k=this.__zoom,O=Math.max(a[0],Math.min(a[1],k.k*Math.pow(2,i.apply(this,arguments)))),j=bt(A);if(E.wheel)(E.mouse[0][0]!==j[0]||E.mouse[0][1]!==j[1])&&(E.mouse[1]=k.invert(E.mouse[0]=j)),clearTimeout(E.wheel);else{if(k.k===O)return;E.mouse=[j,k.invert(j)],Me(this),E.start()}Jt(A),E.wheel=setTimeout($,y),E.zoom("mouse",r(T(w(k,O),E.mouse[0],E.mouse[1]),E.extent,s));function $(){E.wheel=null,E.end()}}function N(A,...I){if(d||!e.apply(this,arguments))return;var E=A.currentTarget,k=C(this,I,!0).event(A),O=pt(A.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",q,!0),j=bt(A,E),$=A.clientX,U=A.clientY;ai(A.view),Ke(A),k.mouse=[j,this.__zoom.invert(j)],Me(this),k.start();function F(G){if(Jt(G),!k.moved){var B=G.clientX-$,J=G.clientY-U;k.moved=B*B+J*J>v}k.event(G).zoom("mouse",r(T(k.that.__zoom,k.mouse[0]=bt(G,E),k.mouse[1]),k.extent,s))}function q(G){O.on("mousemove.zoom mouseup.zoom",null),si(G.view,k.moved),Jt(G),k.event(G).end()}}function P(A,...I){if(e.apply(this,arguments)){var E=this.__zoom,k=bt(A.changedTouches?A.changedTouches[0]:A,this),O=E.invert(k),j=E.k*(A.shiftKey?.5:2),$=r(T(w(E,j),k,O),n.apply(this,I),s);Jt(A),u>0?pt(this).transition().duration(u).call(b,$,k,A):pt(this).call(g.transform,$,k,A)}}function R(A,...I){if(e.apply(this,arguments)){var E=A.touches,k=E.length,O=C(this,I,A.changedTouches.length===k).event(A),j,$,U,F;for(Ke(A),$=0;$=n||S<0||h&&M>=a}function g(){var C=Qe();if(_(C))return w(C);u=setTimeout(g,v(C))}function w(C){return u=void 0,d&&i?p(C):(i=o=void 0,s)}function T(){u!==void 0&&clearTimeout(u),l=0,i=f=o=u=void 0}function x(){return u===void 0?s:w(Qe())}function b(){var C=Qe(),S=_(C);if(i=arguments,o=this,f=C,S){if(u===void 0)return y(f);if(h)return clearTimeout(u),u=setTimeout(g,n),p(f)}return u===void 0&&(u=setTimeout(g,n)),s}return b.cancel=T,b.flush=x,b}var tl="Expected a function";function el(e,n,r){var i=!0,o=!0;if(typeof e!="function")throw new TypeError(tl);return De(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),yi(e,n,{leading:i,maxWait:n,trailing:o})}var Ut=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var n=1.70158;return e===1?1:e*e*((n+1)*e-n)},Out:function(e){var n=1.70158;return e===0?0:--e*e*((n+1)*e+n)+1},InOut:function(e){var n=2.5949095;return(e*=2)<1?.5*(e*e*((n+1)*e-n)):.5*((e-=2)*e*((n+1)*e+n)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Ut.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?Ut.Bounce.In(e*2)*.5:Ut.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e1e4?1e4:e,{In:function(n){return Math.pow(n,e)},Out:function(n){return 1-Math.pow(1-n,e)},InOut:function(n){return n<.5?Math.pow(n*2,e)/2:(1-Math.pow(2-n*2,e))/2+.5}}}}),ue=function(){return performance.now()},_i=(function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var n=this;return Object.keys(this._tweens).map(function(r){return n._tweens[r]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(n){this._tweens[n.getId()]=n,this._tweensAddedDuringUpdate[n.getId()]=n},e.prototype.remove=function(n){delete this._tweens[n.getId()],delete this._tweensAddedDuringUpdate[n.getId()]},e.prototype.update=function(n,r){n===void 0&&(n=ue()),r===void 0&&(r=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o1?a(e[r],e[r-1],r-i):a(e[o],e[o+1>r?r:o+1],i-o)},Utils:{Linear:function(e,n,r){return(n-e)*r+e}}},vi=(function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e})(),yn=new _i,ur=(function(){function e(n,r){r===void 0&&(r=yn),this._object=n,this._group=r,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ut.Linear.None,this._interpolationFunction=gn.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=vi.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(n,r){if(r===void 0&&(r=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=n,this._propertiesAreSetUp=!1,this._duration=r<0?0:r,this},e.prototype.duration=function(n){return n===void 0&&(n=1e3),this._duration=n<0?0:n,this},e.prototype.dynamic=function(n){return n===void 0&&(n=!1),this._isDynamic=n,this},e.prototype.start=function(n,r){if(n===void 0&&(n=ue()),r===void 0&&(r=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=n,this._startTime+=this._delayTime,!this._propertiesAreSetUp||r){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var a in this._valuesEnd)o[a]=this._valuesEnd[a];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,r)}return this},e.prototype.startFromCurrentValues=function(n){return this.start(n,!0)},e.prototype._setupProperties=function(n,r,i,o,a){for(var s in i){var u=n[s],f=Array.isArray(u),l=f?"array":typeof u,c=!f&&Array.isArray(i[s]);if(!(l==="undefined"||l==="function")){if(c){var h=i[s];if(h.length===0)continue;for(var d=[u],p=0,y=h.length;p"u"||a)&&(r[s]=u),f||(r[s]*=1),c?o[s]=i[s].slice().reverse():o[s]=r[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(n){return n===void 0&&(n=ue()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=n,this._group&&this._group.remove(this),this)},e.prototype.resume=function(n){return n===void 0&&(n=ue()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=n-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var n=0,r=this._chainedTweens.length;ns)return!1;r&&this.start(n,!0)}if(this._goToEnd=!1,nl)return 1;var _=Math.trunc(u/f),g=u-_*f,w=Math.min(g/i._duration,1);return w===0&&u===i._duration?1:w},h=c(),d=this._easingFunction(h);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,h),this._duration===0||u>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((u-this._duration)/f)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(a in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[a]=="string"&&(this._valuesStartRepeat[a]=this._valuesStartRepeat[a]+parseFloat(this._valuesEnd[a])),this._yoyo&&this._swapEndStartRepeatValues(a),this._valuesStart[a]=this._valuesStartRepeat[a];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=f*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var y=0,v=this._chainedTweens.length;ye.length)&&(n=e.length);for(var r=0,i=Array(n);r=0,a=!r&&o&&(n==="hex"||n==="hex6"||n==="hex3"||n==="hex4"||n==="hex8"||n==="name");return a?n==="name"&&this._a===0?this.toName():this.toRgbString():(n==="rgb"&&(i=this.toRgbString()),n==="prgb"&&(i=this.toPercentageRgbString()),(n==="hex"||n==="hex6")&&(i=this.toHexString()),n==="hex3"&&(i=this.toHexString(!0)),n==="hex4"&&(i=this.toHex8String(!0)),n==="hex8"&&(i=this.toHex8String()),n==="name"&&(i=this.toName()),n==="hsl"&&(i=this.toHslString()),n==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return H(this.toString())},_applyModification:function(n,r){var i=n.apply(null,[this].concat([].slice.call(r)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(bl,arguments)},brighten:function(){return this._applyModification(xl,arguments)},darken:function(){return this._applyModification(wl,arguments)},desaturate:function(){return this._applyModification(_l,arguments)},saturate:function(){return this._applyModification(vl,arguments)},greyscale:function(){return this._applyModification(ml,arguments)},spin:function(){return this._applyModification(kl,arguments)},_applyCombination:function(n,r){return n.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(Sl,arguments)},complement:function(){return this._applyCombination(Cl,arguments)},monochromatic:function(){return this._applyCombination(Tl,arguments)},splitcomplement:function(){return this._applyCombination(Al,arguments)},triad:function(){return this._applyCombination(pr,[3])},tetrad:function(){return this._applyCombination(pr,[4])}};H.fromRatio=function(e,n){if(je(e)=="object"){var r={};for(var i in e)e.hasOwnProperty(i)&&(i==="a"?r[i]=e[i]:r[i]=le(e[i]));e=r}return H(e,n)};function hl(e){var n={r:0,g:0,b:0},r=1,i=null,o=null,a=null,s=!1,u=!1;return typeof e=="string"&&(e=zl(e)),je(e)=="object"&&(Tt(e.r)&&Tt(e.g)&&Tt(e.b)?(n=dl(e.r,e.g,e.b),s=!0,u=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Tt(e.h)&&Tt(e.s)&&Tt(e.v)?(i=le(e.s),o=le(e.v),n=gl(e.h,i,o),s=!0,u="hsv"):Tt(e.h)&&Tt(e.s)&&Tt(e.l)&&(i=le(e.s),a=le(e.l),n=pl(e.h,i,a),s=!0,u="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=mi(r),{ok:s,format:e.format||u,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:r}}function dl(e,n,r){return{r:K(e,255)*255,g:K(n,255)*255,b:K(r,255)*255}}function fr(e,n,r){e=K(e,255),n=K(n,255),r=K(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=(i+o)/2;if(i==o)a=s=0;else{var f=i-o;switch(s=u>.5?f/(2-i-o):f/(i+o),i){case e:a=(n-r)/f+(n1&&(h-=1),h<1/6?l+(c-l)*6*h:h<1/2?c:h<2/3?l+(c-l)*(2/3-h)*6:l}if(n===0)i=o=a=r;else{var u=r<.5?r*(1+n):r+n-r*n,f=2*r-u;i=s(f,u,e+1/3),o=s(f,u,e),a=s(f,u,e-1/3)}return{r:i*255,g:o*255,b:a*255}}function cr(e,n,r){e=K(e,255),n=K(n,255),r=K(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=i,f=i-o;if(s=i===0?0:f/i,i==o)a=0;else{switch(i){case e:a=(n-r)/f+(n>1)+720)%360;--n;)i.h=(i.h+o)%360,a.push(H(i));return a}function Tl(e,n){n=n||6;for(var r=H(e).toHsv(),i=r.h,o=r.s,a=r.v,s=[],u=1/n;n--;)s.push(H({h:i,s:o,v:a})),a=(a+u)%1;return s}H.mix=function(e,n,r){r=r===0?0:r||50;var i=H(e).toRgb(),o=H(n).toRgb(),a=r/100,s={r:(o.r-i.r)*a+i.r,g:(o.g-i.g)*a+i.g,b:(o.b-i.b)*a+i.b,a:(o.a-i.a)*a+i.a};return H(s)};H.readability=function(e,n){var r=H(e),i=H(n);return(Math.max(r.getLuminance(),i.getLuminance())+.05)/(Math.min(r.getLuminance(),i.getLuminance())+.05)};H.isReadable=function(e,n,r){var i=H.readability(e,n),o,a;switch(a=!1,o=Rl(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7;break}return a};H.mostReadable=function(e,n,r){var i=null,o=0,a,s,u,f;r=r||{},s=r.includeFallbackColors,u=r.level,f=r.size;for(var l=0;lo&&(o=a,i=H(n[l]));return H.isReadable(e,i,{level:u,size:f})||!s?i:(r.includeFallbackColors=!1,H.mostReadable(e,["#fff","#000"],r))};var _n=H.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Ml=H.hexNames=Pl(_n);function Pl(e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[e[r]]=r);return n}function mi(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function K(e,n){Ol(e)&&(e="100%");var r=El(e);return e=Math.min(n,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*n,10)/100),Math.abs(e-n)<1e-6?1:e%n/parseFloat(n)}function We(e){return Math.min(1,Math.max(0,e))}function ft(e){return parseInt(e,16)}function Ol(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function El(e){return typeof e=="string"&&e.indexOf("%")!=-1}function _t(e){return e.length==1?"0"+e:""+e}function le(e){return e<=1&&(e=e*100+"%"),e}function bi(e){return Math.round(parseFloat(e)*255).toString(16)}function gr(e){return ft(e)/255}var yt=(function(){var e="[-\\+]?\\d+%?",n="[-\\+]?\\d*\\.\\d+%?",r="(?:"+n+")|(?:"+e+")",i="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function Tt(e){return!!yt.CSS_UNIT.exec(e)}function zl(e){e=e.replace(fl,"").replace(cl,"").toLowerCase();var n=!1;if(_n[e])e=_n[e],n=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=yt.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=yt.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=yt.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=yt.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=yt.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=yt.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=yt.hex8.exec(e))?{r:ft(r[1]),g:ft(r[2]),b:ft(r[3]),a:gr(r[4]),format:n?"name":"hex8"}:(r=yt.hex6.exec(e))?{r:ft(r[1]),g:ft(r[2]),b:ft(r[3]),format:n?"name":"hex"}:(r=yt.hex4.exec(e))?{r:ft(r[1]+""+r[1]),g:ft(r[2]+""+r[2]),b:ft(r[3]+""+r[3]),a:gr(r[4]+""+r[4]),format:n?"name":"hex8"}:(r=yt.hex3.exec(e))?{r:ft(r[1]+""+r[1]),g:ft(r[2]+""+r[2]),b:ft(r[3]+""+r[3]),format:n?"name":"hex"}:!1}function Rl(e){var n,r;return e=e||{level:"AA",size:"small"},n=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),n!=="AA"&&n!=="AAA"&&(n="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:n,size:r}}function vn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);re.jsx(o,{x:196,y:r.y,w:186,h:64,color:r.color,title:r.title,sub:r.sub},r.title)),n.map(r=>e.jsx(j,{from:[136,196],to:[196,r.y+32]},r.title)),e.jsx("rect",{x:420,y:14,width:444,height:404,rx:16,fill:i.bg,stroke:i.border,strokeOpacity:.7}),e.jsx("text",{x:642,y:38,textAnchor:"middle",fill:i.text,fontSize:13,fontWeight:800,letterSpacing:.5,children:"DIE BOX · 192.168.178.151"}),e.jsx(o,{x:444,y:54,w:396,h:62,color:i.teal,title:"Mission Control (:9001)",sub:"Cockpit · Auftragsbuch (Klick-Gate) · Chronik · Wissen"}),e.jsx(o,{x:444,y:126,w:396,h:62,color:i.rose,title:"Hermes-Agent",sub:"denkt, nutzt Werkzeuge, betreibt die Werkstatt & Nacht-Crons"}),e.jsx(o,{x:444,y:198,w:396,h:78,color:i.sky,title:"Modell-Stall (llama-swap)",sub:"Hirn · Groß · Coder · Augen · Späher · Kritiker",sub2:"+ Embedding & Sortierer fürs Gedächtnis"}),e.jsx(o,{x:444,y:286,w:190,h:56,color:i.indigo,title:"Mem0-Gedächtnis",sub:"lernt automatisch mit"}),e.jsx(o,{x:650,y:286,w:190,h:56,color:i.amber,title:"Wissens-Vault",sub:"Träume & Notizen (git)"}),e.jsx(o,{x:444,y:352,w:396,h:52,color:i.emerald,title:"Selbstheilung & Backups",sub:"Health-Checks · Auto-Revert bei Rot · PBS-Sicherung"}),n.map(r=>e.jsx(j,{from:[382,r.y+32],to:[420,r.y+46]},r.title)),e.jsx(j,{from:[420,396],to:[166,364],color:i.emerald,dash:!0}),e.jsx("text",{x:272,y:412,textAnchor:"middle",fill:i.mut,fontSize:9.5,fontStyle:"italic",children:"Lucy-Karte angenommen → PC baut neu"})]})}function O(){const n=[{x:14,color:i.amber,title:"Idee",sub:"von dir oder vom",sub2:"Nacht-Radar"},{x:158,color:i.violet,title:"Ideen-Queue",sub:"Kanban sammelt,",sub2:"Specifier plant"},{x:302,color:i.rose,title:"Werkstatt",sub:"Agent baut den",sub2:"Vorschlag (Branch)"},{x:446,color:i.sky,title:"Auftragsbuch",sub:"Karte + Stempel",sub2:"vom Gutachter"},{x:590,color:i.primary,title:"DEIN Klick",sub:"annehmen oder",sub2:"ablehnen (mit Grund)",strong:!0},{x:734,color:i.emerald,title:"Live",sub:"Merge + Deploy,",sub2:"Rot = Auto-Rückbau"}];return e.jsxs("svg",{viewBox:"0 0 880 246",role:"img","aria-label":"Kreislauf: Idee, Ideen-Queue, Werkstatt, Auftragsbuch, dein Klick, live — Chronik und Morgenlage berichten zurück.",style:{width:"100%",height:"auto",fontFamily:"var(--font-sans)"},children:[n.map(r=>e.jsx(o,{x:r.x,y:38,w:132,h:66,color:r.color,title:r.title,sub:r.sub,sub2:r.sub2,strong:r.strong},r.title)),n.slice(0,-1).map((r,t)=>e.jsx(j,{from:[r.x+132,71],to:[n[t+1].x,71]},r.title)),e.jsxs("g",{stroke:i.border,strokeOpacity:.7,fill:"none",strokeWidth:1.5,strokeDasharray:"5 4",children:[e.jsx("path",{d:"M 800 104 C 800 150, 720 150, 440 150 C 160 150, 80 150, 80 112"}),e.jsx("path",{d:"M 76 118 L 80 108 L 84 118",fill:i.border,fillOpacity:.7,stroke:"none"})]}),e.jsx("text",{x:440,y:144,textAnchor:"middle",fill:i.mut,fontSize:10,fontStyle:"italic",children:"Chronik & Morgenlage berichten · Ablehnungs-Gründe werden Lern-Futter"}),e.jsx("rect",{x:14,y:176,width:852,height:54,rx:12,fill:i.bg,stroke:i.border,strokeOpacity:.5}),e.jsx("text",{x:440,y:198,textAnchor:"middle",fill:i.text,fontSize:11,fontWeight:700,children:"Nachts, ganz allein:"}),e.jsx("text",{x:440,y:216,textAnchor:"middle",fill:i.mut,fontSize:10,children:"03:15 Traum · 03:35 Selbst-Inventur · 03:45 Idle-Radar · 04:00 Karten-Gutachter · 04:10 Bagatellen · 04:30 Morgenlage · Mo 05:15 Release-Radar"})]})}function U(){return e.jsxs("div",{className:"space-y-5",children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsx("div",{className:"min-w-[680px]",children:e.jsx(H,{})})}),e.jsx("div",{className:"border-t border-border/20 pt-4 overflow-x-auto",children:e.jsx("div",{className:"min-w-[680px]",children:e.jsx(O,{})})})]})}const A=[{id:"system",label:"Dein System"},{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function Q(n){var r;(r=document.getElementById(n))==null||r.scrollIntoView({behavior:"smooth",block:"start"})}function a({id:n,icon:r,color:t,title:c,kicker:h,children:g,wide:d}){return e.jsxs("section",{id:n,className:f("scroll-mt-20 mc-card p-6 space-y-3",d&&"md:col-span-2"),children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(r,{className:f("h-5 w-5 shrink-0",t)}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:c}),h&&e.jsx("span",{className:f("text-[9px] font-mono",t),children:h})]})]}),e.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:g})]})}function m({children:n}){return e.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[e.jsx(D,{className:"h-3 w-3"})," Bei dir konkret"]}),e.jsx("div",{className:"text-muted-foreground space-y-1",children:n})]})}function s({children:n}){return e.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:n})}function l({href:n,name:r,note:t}){return e.jsxs("li",{className:"leading-relaxed",children:[e.jsxs("a",{href:n,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[r,e.jsx(K,{className:"h-3 w-3 opacity-60"})]}),e.jsxs("span",{className:"text-muted-foreground",children:[" — ",t]})]})}function X(){const[n,r]=M.useState(!1);return e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{className:"mc-card p-6 flex items-start gap-4",children:[e.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:e.jsx(w,{className:"h-6 w-6 text-primary"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),e.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Erst ",e.jsx("span",{className:"font-semibold text-foreground",children:"dein System auf einen Blick"}),", dann das allgemeine Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",e.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juli 2026."})," ",e.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),e.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:e.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx(N,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(n?A:A.slice(0,9)).map(t=>e.jsx("button",{onClick:()=>Q(t.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:t.label},t.id)),e.jsx("button",{onClick:()=>r(t=>!t),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:n?"weniger":"+ mehr"})]})})}),e.jsxs("section",{id:"system",className:"scroll-mt-20 mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(S,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"So funktioniert dein System"}),e.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Landkarte & Kreislauf — das große Bild"})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed max-w-3xl",children:["Vier Türen führen zur selben Box: ",e.jsx("strong",{className:"text-foreground",children:"diese Oberfläche"})," zum Steuern und Abnicken, ",e.jsx("strong",{className:"text-foreground",children:"Lucy"})," für Zurufe per Stimme,",e.jsx("strong",{className:"text-foreground",children:" Hermes Desktop"})," für richtige Projekte und",e.jsx("strong",{className:"text-foreground",children:" Telegram"})," für unterwegs. In der Box denken die Modelle, das Gedächtnis lernt automatisch mit — und nachts arbeitet sie allein: Sie träumt, inventarisiert sich selbst, entwickelt Ideen zu fertigen Vorschlägen und legt sie dir als Karten ins Auftragsbuch.",e.jsx("strong",{className:"text-primary",children:" Nichts geht live ohne deinen Klick"})," — und wenn nach einer Annahme etwas rot wird, baut die Box es selbst zurück."]}),e.jsx(U,{})]}),e.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[e.jsxs(a,{id:"grundlagen",icon:C,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[e.jsxs("p",{children:["Ein LLM ist im Kern ein ",e.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",e.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),e.jsxs(a,{id:"moe",icon:R,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",e.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",e.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx(s,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),e.jsxs("li",{children:[e.jsx(s,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),e.jsxs("li",{children:[e.jsx(s,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),e.jsxs(m,{children:["VRAM/RAM ist die harte Grenze — ",e.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",e.jsx(s,{children:"Q4_K_M"}),"/",e.jsx(s,{children:"Q6_K"}),"."]})]}),e.jsxs(a,{id:"lokal",icon:z,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"llama-swap"})," — Proxy, der ",e.jsx("em",{children:"mehrere"})," Modelle hinter ",e.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),e.jsx("ul",{className:"list-disc pl-4 space-y-1",children:e.jsxs("li",{children:[e.jsx(s,{children:"CUDA"})," NVIDIA · ",e.jsx(s,{children:"ROCm"})," AMD · ",e.jsx(s,{children:"Vulkan"})," herstellerübergreifend · ",e.jsx(s,{children:"Metal"})," Apple"]})}),e.jsxs("p",{className:"pt-1",children:[e.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",e.jsx(s,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",e.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),e.jsxs(m,{children:["Deine Box hat eine AMD-APU (gfx1151). ",e.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",e.jsx(s,{children:"Vulkan/RADV"})," das offizielle ",e.jsx(s,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",e.jsx(s,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",e.jsx(s,{children:"coder"})," nutzt Spec-Decoding."]})]}),e.jsxs(a,{id:"modelle",icon:k,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Llama"})," (Meta), ",e.jsx("strong",{children:"Gemma"})," (Google), ",e.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"DeepSeek"}),", ",e.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{children:"Frontier (Cloud-API):"})}),e.jsx("ul",{className:"list-disc pl-4 space-y-1",children:e.jsxs("li",{children:[e.jsx("strong",{children:"Claude"})," (Anthropic), ",e.jsx("strong",{children:"GPT"})," (OpenAI), ",e.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),e.jsxs("p",{className:"pt-1",children:[e.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),e.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),e.jsxs(m,{children:["Dein Line-up via llama-swap (Klartext-Rollen): ",e.jsx(s,{children:"Hirn"})," (Agent, dauerwarm) · ",e.jsx(s,{children:"Groß"})," (schwere Logik) · ",e.jsx(s,{children:"Coder"})," · ",e.jsx(s,{children:"Augen"})," (Bilder) · ",e.jsx(s,{children:"Späher"})," (schnelle Recherche) ·",e.jsx(s,{children:"Kritiker"})," (Fremdblick/Review) · ",e.jsx(s,{children:"Gedächtnis"})," + ",e.jsx(s,{children:"Sortierer"})," (Embedding & Reranking). Verwalten/tauschen im ",e.jsx("strong",{children:"Modelle"}),"-Tab."]})]}),e.jsxs(a,{id:"gateway",icon:S,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[e.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",e.jsx("strong",{children:"OpenAI-Format"})," (",e.jsx(s,{children:"/v1/chat/completions"}),"). Ein",e.jsx("strong",{children:" Gateway"})," davor gibt dir ",e.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",e.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),e.jsxs("p",{children:["Die Lane-Idee: du wählst ",e.jsx(s,{children:"chat"})," (Alltag, ",e.jsx(s,{children:"auto"})," geht als Alias weiter) oder"," ",e.jsx(s,{children:"coding"})," (agentisch), das Gateway pickt das passende echte Modell und lädt es bei Bedarf."]}),e.jsxs(m,{children:["Dein Gateway: ",e.jsx(s,{children:"http://192.168.178.151:9001/v1"}),", Model ",e.jsx(s,{children:"chat"})," oder ",e.jsx(s,{children:"coding"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",e.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),e.jsxs(a,{id:"mcp",icon:y,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[e.jsxs("p",{children:["Das ",e.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",e.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),e.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),e.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[e.jsx(B,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),e.jsxs(a,{id:"skills",icon:F,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[e.jsxs("p",{children:["Ein ",e.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",e.jsx(s,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),e.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- + */const F=p("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]),i={text:"hsl(var(--foreground))",mut:"hsl(var(--muted-foreground))",border:"hsl(var(--border))",card:"hsl(var(--card) / 0.9)",bg:"hsl(var(--background) / 0.4)",primary:"hsl(var(--primary))",teal:"#2dd4bf",sky:"#38bdf8",violet:"#a78bfa",rose:"#fb7185",amber:"#fbbf24",emerald:"#34d399",indigo:"#818cf8"};function o({x:n,y:r,w:t,h:c,color:h,title:g,sub:d,sub2:x,strong:u}){const b=n+t/2;return e.jsxs("g",{children:[e.jsx("rect",{x:n,y:r,width:t,height:c,rx:12,fill:i.card,stroke:h,strokeOpacity:u?.9:.45,strokeWidth:u?2:1.25}),e.jsx("rect",{x:n,y:r,width:t,height:3,rx:1.5,fill:h,opacity:.8}),e.jsx("text",{x:b,y:r+(d?24:c/2+4),textAnchor:"middle",fill:i.text,fontSize:12.5,fontWeight:700,children:g}),d&&e.jsx("text",{x:b,y:r+40,textAnchor:"middle",fill:i.mut,fontSize:10,children:d}),x&&e.jsx("text",{x:b,y:r+53,textAnchor:"middle",fill:i.mut,fontSize:10,children:x})]})}function j({from:n,to:r,color:t=i.border,dash:c}){const[h,g]=n,[d,x]=r,u=(h+d)/2;return e.jsxs("g",{stroke:t,strokeOpacity:.7,fill:"none",strokeWidth:1.5,strokeDasharray:c?"5 4":void 0,children:[e.jsx("path",{d:`M ${h} ${g} C ${u} ${g}, ${u} ${x}, ${d} ${x}`}),e.jsx("path",{d:`M ${d-6} ${x-4} L ${d} ${x} L ${d-6} ${x+4}`,fill:t,fillOpacity:.7,stroke:"none"})]})}function H(){const n=[{y:34,title:"Diese Oberfläche",sub:"Browser · Cockpit & Klick-Gates",color:i.teal},{y:128,title:"Lucy",sub:"Stimme & Begleiterin am PC",color:i.rose},{y:222,title:"Hermes Desktop",sub:"IDE für Projekte (PC + remote)",color:i.violet},{y:316,title:"Telegram",sub:"unterwegs, gleiche Erinnerung",color:i.sky}];return e.jsxs("svg",{viewBox:"0 0 880 432",role:"img","aria-label":"Landkarte: Du erreichst die Box über vier Türen; in der Box arbeiten Mission Control, der Hermes-Agent, der Modell-Stall, das Gedächtnis und der Wissens-Vault.",style:{width:"100%",height:"auto",fontFamily:"var(--font-sans)"},children:[e.jsx(o,{x:16,y:150,w:120,h:92,color:i.primary,strong:!0,title:"Du",sub:"entscheidest —",sub2:"die Box arbeitet"}),e.jsx(o,{x:16,y:330,w:150,h:68,color:i.emerald,title:"PC-Executor",sub:"baut & startet Lucy",sub2:"nach deiner Annahme"}),n.map(r=>e.jsx(o,{x:196,y:r.y,w:186,h:64,color:r.color,title:r.title,sub:r.sub},r.title)),n.map(r=>e.jsx(j,{from:[136,196],to:[196,r.y+32]},r.title)),e.jsx("rect",{x:420,y:14,width:444,height:404,rx:16,fill:i.bg,stroke:i.border,strokeOpacity:.7}),e.jsx("text",{x:642,y:38,textAnchor:"middle",fill:i.text,fontSize:13,fontWeight:800,letterSpacing:.5,children:"DIE BOX · 192.168.178.151"}),e.jsx(o,{x:444,y:54,w:396,h:62,color:i.teal,title:"Mission Control (:9001)",sub:"Cockpit · Auftragsbuch (Klick-Gate) · Chronik · Wissen"}),e.jsx(o,{x:444,y:126,w:396,h:62,color:i.rose,title:"Hermes-Agent",sub:"denkt, nutzt Werkzeuge, betreibt die Werkstatt & Nacht-Crons"}),e.jsx(o,{x:444,y:198,w:396,h:78,color:i.sky,title:"Modell-Stall (llama-swap)",sub:"Hirn · Groß · Coder · Augen · Späher · Kritiker",sub2:"+ Embedding & Sortierer fürs Gedächtnis"}),e.jsx(o,{x:444,y:286,w:190,h:56,color:i.indigo,title:"Mem0-Gedächtnis",sub:"lernt automatisch mit"}),e.jsx(o,{x:650,y:286,w:190,h:56,color:i.amber,title:"Wissens-Vault",sub:"Träume & Notizen (git)"}),e.jsx(o,{x:444,y:352,w:396,h:52,color:i.emerald,title:"Selbstheilung & Backups",sub:"Health-Checks · Auto-Revert bei Rot · PBS-Sicherung"}),n.map(r=>e.jsx(j,{from:[382,r.y+32],to:[420,r.y+46]},r.title)),e.jsx(j,{from:[420,396],to:[166,364],color:i.emerald,dash:!0}),e.jsx("text",{x:272,y:412,textAnchor:"middle",fill:i.mut,fontSize:9.5,fontStyle:"italic",children:"Lucy-Karte angenommen → PC baut neu"})]})}function O(){const n=[{x:14,color:i.amber,title:"Idee",sub:"von dir oder vom",sub2:"Nacht-Radar"},{x:158,color:i.violet,title:"Ideen-Queue",sub:"Kanban sammelt,",sub2:"Specifier plant"},{x:302,color:i.rose,title:"Werkstatt",sub:"Agent baut den",sub2:"Vorschlag (Branch)"},{x:446,color:i.sky,title:"Auftragsbuch",sub:"Karte + Stempel",sub2:"vom Gutachter"},{x:590,color:i.primary,title:"DEIN Klick",sub:"annehmen oder",sub2:"ablehnen (mit Grund)",strong:!0},{x:734,color:i.emerald,title:"Live",sub:"Merge + Deploy,",sub2:"Rot = Auto-Rückbau"}];return e.jsxs("svg",{viewBox:"0 0 880 246",role:"img","aria-label":"Kreislauf: Idee, Ideen-Queue, Werkstatt, Auftragsbuch, dein Klick, live — Chronik und Morgenlage berichten zurück.",style:{width:"100%",height:"auto",fontFamily:"var(--font-sans)"},children:[n.map(r=>e.jsx(o,{x:r.x,y:38,w:132,h:66,color:r.color,title:r.title,sub:r.sub,sub2:r.sub2,strong:r.strong},r.title)),n.slice(0,-1).map((r,t)=>e.jsx(j,{from:[r.x+132,71],to:[n[t+1].x,71]},r.title)),e.jsxs("g",{stroke:i.border,strokeOpacity:.7,fill:"none",strokeWidth:1.5,strokeDasharray:"5 4",children:[e.jsx("path",{d:"M 800 104 C 800 150, 720 150, 440 150 C 160 150, 80 150, 80 112"}),e.jsx("path",{d:"M 76 118 L 80 108 L 84 118",fill:i.border,fillOpacity:.7,stroke:"none"})]}),e.jsx("text",{x:440,y:144,textAnchor:"middle",fill:i.mut,fontSize:10,fontStyle:"italic",children:"Chronik & Morgenlage berichten · Ablehnungs-Gründe werden Lern-Futter"}),e.jsx("rect",{x:14,y:176,width:852,height:54,rx:12,fill:i.bg,stroke:i.border,strokeOpacity:.5}),e.jsx("text",{x:440,y:198,textAnchor:"middle",fill:i.text,fontSize:11,fontWeight:700,children:"Nachts, ganz allein:"}),e.jsx("text",{x:440,y:216,textAnchor:"middle",fill:i.mut,fontSize:10,children:"03:15 Traum · 03:35 Selbst-Inventur · 03:45 Idle-Radar · 04:00 Karten-Gutachter · 04:10 Bagatellen · 04:30 Morgenlage · Mo 05:15 Release-Radar"})]})}function U(){return e.jsxs("div",{className:"space-y-5",children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsx("div",{className:"min-w-[680px]",children:e.jsx(H,{})})}),e.jsx("div",{className:"border-t border-border/20 pt-4 overflow-x-auto",children:e.jsx("div",{className:"min-w-[680px]",children:e.jsx(O,{})})})]})}const A=[{id:"system",label:"Dein System"},{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function Q(n){var r;(r=document.getElementById(n))==null||r.scrollIntoView({behavior:"smooth",block:"start"})}function a({id:n,icon:r,color:t,title:c,kicker:h,children:g,wide:d}){return e.jsxs("section",{id:n,className:f("scroll-mt-20 mc-card p-6 space-y-3",d&&"md:col-span-2"),children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(r,{className:f("h-5 w-5 shrink-0",t)}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:c}),h&&e.jsx("span",{className:f("text-[9px] font-mono",t),children:h})]})]}),e.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:g})]})}function m({children:n}){return e.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[e.jsx(B,{className:"h-3 w-3"})," Bei dir konkret"]}),e.jsx("div",{className:"text-muted-foreground space-y-1",children:n})]})}function s({children:n}){return e.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:n})}function l({href:n,name:r,note:t}){return e.jsxs("li",{className:"leading-relaxed",children:[e.jsxs("a",{href:n,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[r,e.jsx(K,{className:"h-3 w-3 opacity-60"})]}),e.jsxs("span",{className:"text-muted-foreground",children:[" — ",t]})]})}function J(){const[n,r]=M.useState(!1);return e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{className:"mc-card p-6 flex items-start gap-4",children:[e.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:e.jsx(w,{className:"h-6 w-6 text-primary"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),e.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Erst ",e.jsx("span",{className:"font-semibold text-foreground",children:"dein System auf einen Blick"}),", dann das allgemeine Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",e.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juli 2026."})," ",e.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),e.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:e.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx(N,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(n?A:A.slice(0,9)).map(t=>e.jsx("button",{onClick:()=>Q(t.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:t.label},t.id)),e.jsx("button",{onClick:()=>r(t=>!t),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:n?"weniger":"+ mehr"})]})})}),e.jsxs("section",{id:"system",className:"scroll-mt-20 mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(S,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"So funktioniert dein System"}),e.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Landkarte & Kreislauf — das große Bild"})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed max-w-3xl",children:["Vier Türen führen zur selben Box: ",e.jsx("strong",{className:"text-foreground",children:"diese Oberfläche"})," zum Steuern und Abnicken, ",e.jsx("strong",{className:"text-foreground",children:"Lucy"})," für Zurufe per Stimme,",e.jsx("strong",{className:"text-foreground",children:" Hermes Desktop"})," für richtige Projekte und",e.jsx("strong",{className:"text-foreground",children:" Telegram"})," für unterwegs. In der Box denken die Modelle, das Gedächtnis lernt automatisch mit — und nachts arbeitet sie allein: Sie träumt, inventarisiert sich selbst, entwickelt Ideen zu fertigen Vorschlägen und legt sie dir als Karten ins Auftragsbuch.",e.jsx("strong",{className:"text-primary",children:" Nichts geht live ohne deinen Klick"})," — und wenn nach einer Annahme etwas rot wird, baut die Box es selbst zurück."]}),e.jsx(U,{})]}),e.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[e.jsxs(a,{id:"grundlagen",icon:C,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[e.jsxs("p",{children:["Ein LLM ist im Kern ein ",e.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",e.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),e.jsxs(a,{id:"moe",icon:I,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",e.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",e.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx(s,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),e.jsxs("li",{children:[e.jsx(s,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),e.jsxs("li",{children:[e.jsx(s,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),e.jsxs(m,{children:["VRAM/RAM ist die harte Grenze — ",e.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",e.jsx(s,{children:"Q4_K_M"}),"/",e.jsx(s,{children:"Q6_K"}),"."]})]}),e.jsxs(a,{id:"lokal",icon:z,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"llama-swap"})," — Proxy, der ",e.jsx("em",{children:"mehrere"})," Modelle hinter ",e.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),e.jsx("ul",{className:"list-disc pl-4 space-y-1",children:e.jsxs("li",{children:[e.jsx(s,{children:"CUDA"})," NVIDIA · ",e.jsx(s,{children:"ROCm"})," AMD · ",e.jsx(s,{children:"Vulkan"})," herstellerübergreifend · ",e.jsx(s,{children:"Metal"})," Apple"]})}),e.jsxs("p",{className:"pt-1",children:[e.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",e.jsx(s,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",e.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),e.jsxs(m,{children:["Deine Box hat eine AMD-APU (gfx1151). ",e.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",e.jsx(s,{children:"Vulkan/RADV"})," das offizielle ",e.jsx(s,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",e.jsx(s,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",e.jsx(s,{children:"coder"})," nutzt Spec-Decoding."]})]}),e.jsxs(a,{id:"modelle",icon:k,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Llama"})," (Meta), ",e.jsx("strong",{children:"Gemma"})," (Google), ",e.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"DeepSeek"}),", ",e.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{children:"Frontier (Cloud-API):"})}),e.jsx("ul",{className:"list-disc pl-4 space-y-1",children:e.jsxs("li",{children:[e.jsx("strong",{children:"Claude"})," (Anthropic), ",e.jsx("strong",{children:"GPT"})," (OpenAI), ",e.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),e.jsxs("p",{className:"pt-1",children:[e.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),e.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),e.jsxs(m,{children:["Dein Line-up via llama-swap (Klartext-Rollen): ",e.jsx(s,{children:"Hirn"})," (Agent, dauerwarm) · ",e.jsx(s,{children:"Groß"})," (schwere Logik) · ",e.jsx(s,{children:"Coder"})," · ",e.jsx(s,{children:"Augen"})," (Bilder) · ",e.jsx(s,{children:"Späher"})," (schnelle Recherche) ·",e.jsx(s,{children:"Kritiker"})," (Fremdblick/Review) · ",e.jsx(s,{children:"Gedächtnis"})," + ",e.jsx(s,{children:"Sortierer"})," (Embedding & Reranking). Verwalten/tauschen im ",e.jsx("strong",{children:"Modelle"}),"-Tab."]})]}),e.jsxs(a,{id:"gateway",icon:S,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[e.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",e.jsx("strong",{children:"OpenAI-Format"})," (",e.jsx(s,{children:"/v1/chat/completions"}),"). Ein",e.jsx("strong",{children:" Gateway"})," davor gibt dir ",e.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",e.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),e.jsxs("p",{children:["Die Lane-Idee: du wählst ",e.jsx(s,{children:"chat"})," (Alltag, ",e.jsx(s,{children:"auto"})," geht als Alias weiter) oder"," ",e.jsx(s,{children:"coding"})," (agentisch), das Gateway pickt das passende echte Modell und lädt es bei Bedarf."]}),e.jsxs(m,{children:["Dein Gateway: ",e.jsx(s,{children:"http://192.168.178.151:9001/v1"}),", Model ",e.jsx(s,{children:"chat"})," oder ",e.jsx(s,{children:"coding"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",e.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),e.jsxs(a,{id:"mcp",icon:y,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[e.jsxs("p",{children:["Das ",e.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",e.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),e.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),e.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[e.jsx(P,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),e.jsxs(a,{id:"skills",icon:F,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[e.jsxs("p",{children:["Ein ",e.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",e.jsx(s,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),e.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- name: tdd-pro description: Treibt Entwicklung mit strikter TDD-Praxis --- # Instructions -...`}),e.jsxs("p",{children:["Suchen & installieren über die ",e.jsx("strong",{children:"skills.sh"}),"-Registry: ",e.jsx(s,{children:"npx skills find"})," /",e.jsx(s,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),e.jsxs(a,{id:"memory",icon:W,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["LLMs sind ",e.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",e.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:["extrahiert Fakten ",e.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),e.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),e.jsxs("li",{children:[e.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",e.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),e.jsxs(m,{children:["Dein Gedächtnis (Tab ",e.jsx("strong",{children:"Gedächtnis"}),") ist ",e.jsx("strong",{children:"Mem0"}),"-basiert: auto-lernend & semantisch, ",e.jsx("strong",{children:"graph-first"})," dargestellt, mit 4-Typen-Taxonomie (",e.jsx(s,{children:"Identität"})," · ",e.jsx(s,{children:"Wissen"})," · ",e.jsx(s,{children:"Regeln"})," · ",e.jsx(s,{children:"Ereignisse"}),"). Der Agent lernt im Hintergrund nach jedem Turn — egal ob du per Desktop, Konsole, Telegram oder Lucy mit ihm sprichst.",e.jsx("br",{}),e.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),e.jsxs(a,{id:"agents",icon:v,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["Ein ",e.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",e.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",e.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),e.jsxs(m,{children:[e.jsx("strong",{children:"Hermes"})," ist dein Box-Agent mit eigenem Agent-Hirn (Rolle ",e.jsx(s,{children:"Hirn"}),", dauerwarm). Reden tust du mit ihm über ",e.jsx("strong",{children:"Hermes Desktop"})," (am PC, remote via ",e.jsx(s,{children:"/hermes-ui"}),"), die ",e.jsx("strong",{children:"Konsole"})," (Box-Shell im Browser), ",e.jsx("strong",{children:"Telegram"})," — oder per Stimme über",e.jsx("strong",{children:" Lucy"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und",e.jsx("strong",{children:" PC-Steuerung"})," (Executor auf deinem Windows-PC). Nachts betreibt er Werkstatt & Radar-Crons — alles Gebaute landet als Karte im ",e.jsx("strong",{children:"Auftragsbuch"}),". Status & Verdrahtung im ",e.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),e.jsxs(a,{id:"ide",icon:P,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[e.jsxs("p",{children:["Jede ",e.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cline"})," & ",e.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Continue"}),", ",e.jsx("strong",{children:"aider"})," (CLI), ",e.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),e.jsxs(m,{children:["Deine Haupt-IDE ist inzwischen ",e.jsx("strong",{children:"Hermes Desktop"})," — sie ist ab Werk mit Box, Gedächtnis und Skills verdrahtet, da ist nichts zu konfigurieren. Für alles andere gilt: Tipp den Kram nicht ab — der",e.jsx("strong",{children:" Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",e.jsx(s,{children:"…:9001/v1"}),", Model ",e.jsx(s,{children:"coder"})," (bauen) / ",e.jsx(s,{children:"heavy"})," (denken) /"," ",e.jsx(s,{children:"vision"})," (Bilder); für simple Chat-Tools tut es die Lane ",e.jsx(s,{children:"chat"}),". Key beliebig."]})]}),e.jsx(a,{id:"tricks",icon:I,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:e.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([t,c])=>e.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[e.jsx(E,{className:"h-3 w-3 text-amber-400"})," ",t]}),e.jsx("p",{className:"text-[11px]",children:c})]},t))})}),e.jsx(a,{id:"wartung",icon:L,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[e.jsx(G,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[e.jsx(T,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Backup:"})," PBS-Backup-Zentrum (Sicherung auf den Proxmox-Server) + tägliche Tarball-Sicherung; Restore echt durchgespielt (",e.jsx(s,{children:"restore.sh"}),", Doku in ",e.jsx(s,{children:"docs/BACKUP.md"}),")."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",e.jsx("strong",{children:"Update-Buttons"})," mit anschließendem ",e.jsx("strong",{children:"Gehirn-Check"})," (rot, falls ein Update das Gedächtnis zerschießt)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Annahme-Sicherheit:"})," jede Auftragsbuch-Annahme läuft mit Health-Check — wird's rot, baut die Box automatisch zurück (Auto-Revert)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),e.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),e.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(N,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),e.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(k,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),e.jsx(l,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),e.jsx(l,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),e.jsx(l,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),e.jsx(l,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),e.jsx(l,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(y,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),e.jsx(l,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),e.jsx(l,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),e.jsx(l,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),e.jsx(l,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(v,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),e.jsx(l,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),e.jsx(l,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),e.jsx(l,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),e.jsx(l,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(w,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),e.jsx(l,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),e.jsx(l,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),e.jsx(l,{href:"https://github.com/mem0ai/mem0",name:"Mem0",note:"die auto-lernende Memory-Schicht hinter deinem Gedächtnis."}),e.jsx(l,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),e.jsx(a,{id:"troubleshooting",icon:V,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:e.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",e.jsx(s,{children:":9001"}),")? Backend-Status im ",e.jsx("strong",{children:"Cockpit"})," prüfen."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," Im ",e.jsx("strong",{children:"Cockpit → Dienste"})," schauen, ob ",e.jsx(s,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session starten (Hermes Desktop oder ",e.jsx("strong",{children:"Konsole"}),") — meist ist es vollgemüllter Kontext."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Angenommene Karte hat etwas zerschossen?"})," Meist fängt es der Auto-Revert; sonst ",e.jsx("strong",{children:"Chronik → Zeitmaschine"})," (Stand von gestern) oder Backup & ",e.jsx(s,{children:"restore.sh"}),"."]})]})})]}),e.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juli 2026 — lebendes Dokument, wächst mit dem Stack."})]})}export{X as GuideView}; +...`}),e.jsxs("p",{children:["Suchen & installieren über die ",e.jsx("strong",{children:"skills.sh"}),"-Registry: ",e.jsx(s,{children:"npx skills find"})," /",e.jsx(s,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),e.jsxs(a,{id:"memory",icon:W,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["LLMs sind ",e.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",e.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:["extrahiert Fakten ",e.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),e.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),e.jsxs("li",{children:[e.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",e.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),e.jsxs(m,{children:["Dein Gedächtnis (Tab ",e.jsx("strong",{children:"Gedächtnis"}),") ist ",e.jsx("strong",{children:"Mem0"}),"-basiert: auto-lernend & semantisch, ",e.jsx("strong",{children:"graph-first"})," dargestellt, mit 4-Typen-Taxonomie (",e.jsx(s,{children:"Identität"})," · ",e.jsx(s,{children:"Wissen"})," · ",e.jsx(s,{children:"Regeln"})," · ",e.jsx(s,{children:"Ereignisse"}),"). Der Agent lernt im Hintergrund nach jedem Turn — egal ob du per Desktop, Konsole, Telegram oder Lucy mit ihm sprichst.",e.jsx("br",{}),e.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),e.jsxs(a,{id:"agents",icon:v,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["Ein ",e.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",e.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",e.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),e.jsxs(m,{children:[e.jsx("strong",{children:"Hermes"})," ist dein Box-Agent mit eigenem Agent-Hirn (Rolle ",e.jsx(s,{children:"Hirn"}),", dauerwarm). Reden tust du mit ihm über ",e.jsx("strong",{children:"Hermes Desktop"})," (am PC, remote via ",e.jsx(s,{children:"/hermes-ui"}),"), die ",e.jsx("strong",{children:"Konsole"})," (Box-Shell im Browser), ",e.jsx("strong",{children:"Telegram"})," — oder per Stimme über",e.jsx("strong",{children:" Lucy"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und",e.jsx("strong",{children:" PC-Steuerung"})," (Executor auf deinem Windows-PC). Nachts betreibt er Werkstatt & Radar-Crons — alles Gebaute landet als Karte im ",e.jsx("strong",{children:"Auftragsbuch"}),". Status & Verdrahtung im ",e.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),e.jsxs(a,{id:"ide",icon:E,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[e.jsxs("p",{children:["Jede ",e.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cline"})," & ",e.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Continue"}),", ",e.jsx("strong",{children:"aider"})," (CLI), ",e.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),e.jsxs(m,{children:["Deine Haupt-IDE ist inzwischen ",e.jsx("strong",{children:"Hermes Desktop"})," — sie ist ab Werk mit Box, Gedächtnis und Skills verdrahtet, da ist nichts zu konfigurieren. Für alles andere gilt: Tipp den Kram nicht ab — der",e.jsx("strong",{children:" Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",e.jsx(s,{children:"…:9001/v1"}),", Model ",e.jsx(s,{children:"coder"})," (bauen) / ",e.jsx(s,{children:"heavy"})," (denken) /"," ",e.jsx(s,{children:"vision"})," (Bilder); für simple Chat-Tools tut es die Lane ",e.jsx(s,{children:"chat"}),". Key beliebig."]})]}),e.jsx(a,{id:"tricks",icon:L,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:e.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([t,c])=>e.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[e.jsx(R,{className:"h-3 w-3 text-amber-400"})," ",t]}),e.jsx("p",{className:"text-[11px]",children:c})]},t))})}),e.jsx(a,{id:"wartung",icon:G,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[e.jsx(T,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[e.jsx(D,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Backup:"})," PBS-Backup-Zentrum (Sicherung auf den Proxmox-Server) + tägliche Tarball-Sicherung; Restore echt durchgespielt (",e.jsx(s,{children:"restore.sh"}),", Doku in ",e.jsx(s,{children:"docs/BACKUP.md"}),")."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",e.jsx("strong",{children:"Update-Buttons"})," mit anschließendem ",e.jsx("strong",{children:"Gehirn-Check"})," (rot, falls ein Update das Gedächtnis zerschießt)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Annahme-Sicherheit:"})," jede Auftragsbuch-Annahme läuft mit Health-Check — wird's rot, baut die Box automatisch zurück (Auto-Revert)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),e.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),e.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(N,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),e.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(k,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),e.jsx(l,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),e.jsx(l,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),e.jsx(l,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),e.jsx(l,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),e.jsx(l,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(y,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),e.jsx(l,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),e.jsx(l,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),e.jsx(l,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),e.jsx(l,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(v,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),e.jsx(l,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),e.jsx(l,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),e.jsx(l,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),e.jsx(l,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(w,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),e.jsx(l,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),e.jsx(l,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),e.jsx(l,{href:"https://github.com/mem0ai/mem0",name:"Mem0",note:"die auto-lernende Memory-Schicht hinter deinem Gedächtnis."}),e.jsx(l,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),e.jsx(a,{id:"troubleshooting",icon:V,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:e.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",e.jsx(s,{children:":9001"}),")? Backend-Status im ",e.jsx("strong",{children:"Cockpit"})," prüfen."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," Im ",e.jsx("strong",{children:"Cockpit → Dienste"})," schauen, ob ",e.jsx(s,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session starten (Hermes Desktop oder ",e.jsx("strong",{children:"Konsole"}),") — meist ist es vollgemüllter Kontext."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Angenommene Karte hat etwas zerschossen?"})," Meist fängt es der Auto-Revert; sonst ",e.jsx("strong",{children:"Chronik → Zeitmaschine"})," (Stand von gestern) oder Backup & ",e.jsx(s,{children:"restore.sh"}),"."]})]})})]}),e.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juli 2026 — lebendes Dokument, wächst mit dem Stack."})]})}export{J as GuideView}; diff --git a/frontend/dist/assets/IdeenView-CKZJTCd1.js b/frontend/dist/assets/IdeenView-CKZJTCd1.js new file mode 100644 index 0000000..e6f1b24 --- /dev/null +++ b/frontend/dist/assets/IdeenView-CKZJTCd1.js @@ -0,0 +1,30 @@ +import{c as $,j as e,e as N,ac as ue,u as xe,b as he,r as l,af as me,a9 as Z,L as K,M as A,V as se,C as pe,g as z,D as _,T as ge,ad as be,X as fe,ag as ae,ah as ke,q as je,a3 as oe}from"./index-CoRdA_gp.js";import{S as Ne,H as ie}from"./SectionLabel-DLTvFJ7b.js";import{C as W}from"./code-xml-qgfASNHl.js";import{S as ne}from"./send-Dt2f8lfr.js";import{L as we}from"./layers-Dh094O1c.js";import{R as ve}from"./rotate-ccw-BHsRFGD7.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ye=$("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const De=$("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Se=$("ClipboardCheck",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ce=$("GitFork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ke=$("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);function ze({text:r,className:m}){const j=(r||"").split(` +`),s=[];let p=[],d=null;const u=g=>{p.length&&(s.push(e.jsx("ul",{className:"mb-3 ml-4 list-disc space-y-1",children:p},g)),p=[])};return j.forEach((g,o)=>{const i=`l${o}`;if(d!==null){g.trimEnd()==="```"?(s.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px] leading-relaxed text-foreground/85",children:d.join(` +`)},i)),d=null):d.push(g);return}if(g.trimStart().startsWith("```")){u(i),d=[];return}const b=g.trimEnd();if(!b.trim()){u(i);return}const n=b.match(/^(#{1,4})\s+(.*)$/);if(n){u(i);const y=n[1].length,c=y===1?"text-base font-bold mt-1 mb-2":y===2?"text-sm font-bold mt-4 mb-1.5":"text-xs font-bold mt-3 mb-1 uppercase tracking-wide text-muted-foreground";s.push(e.jsx("p",{className:N(c,"font-space text-foreground"),children:G(n[2],i)},i));return}const f=b.match(/^\s*[-*•]\s+(.*)$/);if(f){p.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:G(f[1],i)},i));return}const v=b.match(/^\s*\d+\.\s+(.*)$/);if(v){p.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:G(v[1],i)},i));return}u(i),s.push(e.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:G(b,i)},i))}),u("end"),d!==null&&s.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:d.join(` +`)},"code-end")),e.jsx("div",{className:N("max-w-3xl",m),children:s})}function G(r,m){return r.split(/(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((s,p)=>{const d=`${m}-${p}`;return/^\*\*[^*]+\*\*$/.test(s)?e.jsx("b",{className:"font-semibold text-foreground",children:s.slice(2,-2)},d):/^\*[^*]+\*$/.test(s)?e.jsx("i",{children:s.slice(1,-1)},d):/^`[^`]+`$/.test(s)?e.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-foreground/90",children:s.slice(1,-1)},d):e.jsx("span",{children:s},d)})}const Pe={triage:{label:"wird ausgearbeitet …",cls:"text-violet-300 border-violet-500/40 bg-violet-500/10",spin:!0},todo:{label:"wartet",cls:"text-muted-foreground border-border/60 bg-background/30"},scheduled:{label:"geplant",cls:"text-muted-foreground border-border/60 bg-background/30"},ready:{label:"gleich dran",cls:"text-sky-300/80 border-sky-500/30 bg-sky-500/5"},running:{label:"in Arbeit …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},review:{label:"im Review",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},blocked:{label:"hängt — braucht dich",cls:"text-red-300 border-red-500/40 bg-red-500/10"},done:{label:"fertig ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"}},Ee={box:{label:"BOX",icon:ie,cls:"border-border/60 bg-background/40 text-muted-foreground",title:"Box-Welt: die Werkstatt baut das selbst. Das Ergebnis kommt als Patch-Vorschlag zurück — nichts geht ohne deinen Klick live."},idee:{label:"IDEE",icon:Z,cls:"border-sky-500/40 bg-sky-500/10 text-sky-300",title:"Nur durchdacht: die Box hat die Produkt-Idee mit voller Denk-Kaskade zu einem Konzept ausgearbeitet. Kein Gerüst, kein Bau — du liest es und entscheidest, ob ein Projekt draus wird."},projekt:{label:"IDE",icon:W,cls:"border-violet-500/40 bg-violet-500/10 text-violet-300",title:"IDE-Welt: die Box bereitet nur vor (Konzept + Repo + Doku, kein Code). Gebaut wird von dir in Zed."}},Be={needs_input:"Die Box hat eine Frage:",capability:"Die Box kam hier nicht weiter:",transient:"Die Aufgabe hakt:"};function Ie(){var U,Y;const{data:r,isLoading:m}=ue(),j=xe(),{showAlert:s,showConfirm:p,dialogElement:d}=he(),[u,g]=l.useState(""),[o,i]=l.useState("box"),b=o==="idee",n=o==="simpel"||o==="gruendlich",f=b||n,[v,y]=l.useState("lxc"),[c,T]=l.useState(!1),[D,w]=l.useState({}),[B,le]=l.useState(null),[O,de]=l.useState(null),[M,q]=l.useState({}),I=(r==null?void 0:r.items)??[],L=()=>j.invalidateQueries({queryKey:je.ideen}),Q=B!==null&&(((U=r==null?void 0:r.items.find(t=>t.id===B))==null?void 0:U.status)==="triage"||((Y=r==null?void 0:r.items.find(t=>t.id===B))==null?void 0:Y.status)==="running"),R=me(B??"",Q);async function X(){const t=u.trim();if(!(t.length<3||c)){T(!0);try{const a=t.length>160?t.slice(0,157)+"…":t;await z("/api/ideen",{method:"POST",body:JSON.stringify({titel:a,notiz:t.length>160?t:"",welt:f?"ide":"box",tiefe:n?o:"",ziel:n?v:"",art:b?"idee":"projekt"})}),g(""),L()}catch(a){s("Das hat nicht geklappt",String((a==null?void 0:a.message)||a))}finally{T(!1)}}}async function ce(t){w(a=>({...a,[t]:!0}));try{await z("/api/ideen/archivieren",{method:"POST",body:JSON.stringify({id:t})}),L()}catch(a){s("Das hat nicht geklappt",String((a==null?void 0:a.message)||a))}finally{w(a=>({...a,[t]:!1}))}}async function F(t,a,x,S){w(k=>({...k,[t+a]:!0}));try{await z(x,{method:"POST",body:JSON.stringify(S)}),L()}catch(k){s("Das hat nicht geklappt",String((k==null?void 0:k.message)||k))}finally{w(k=>({...k,[t+a]:!1}))}}async function J(t){const a=(M[t]||"").trim();if(!(a.length<1||D["ans:"+t])){w(x=>({...x,["ans:"+t]:!0}));try{await z("/api/ideen/antwort",{method:"POST",body:JSON.stringify({id:t,antwort:a})}),q(x=>({...x,[t]:""})),L()}catch(x){s("Das hat nicht geklappt",String((x==null?void 0:x.message)||x))}finally{w(x=>({...x,["ans:"+t]:!1}))}}}const V=t=>{var te,re;const a=Pe[t.status]??{label:t.status,cls:"text-muted-foreground border-border/60 bg-background/30"},x=B===t.id,S=t.status==="triage"||t.status==="running"||t.status==="done",k=t.status==="blocked",h=!!D["ans:"+t.id],P=t.status==="running"&&(t.puls_alter??0)>600,ee=t.status==="todo"||t.status==="ready"||t.status==="scheduled";return e.jsxs("li",{className:N("flex flex-col gap-2 rounded-xl border bg-background/30 px-3 py-2",k?"border-red-500/30":P?"border-amber-500/40":"border-border/40"),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:N("flex shrink-0 items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",a.cls),children:[a.spin&&e.jsx(K,{className:"h-3 w-3 animate-spin"}),a.label]}),P&&e.jsxs("span",{className:"flex shrink-0 items-center gap-1 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[10px] font-bold text-amber-300",title:"Der Worker lebt, gibt aber kein Lebenszeichen mehr — vermutlich wartet er auf etwas, das nie kommt. „Neuer Versuch“ startet die Karte frisch.",children:[e.jsx(ge,{className:"h-3 w-3"})," ",Math.round((t.puls_alter??0)/60)," min ohne Regung"]}),(t.prio??0)!==0&&e.jsxs("span",{className:"shrink-0 rounded bg-background/50 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",title:"Priorität — höher kommt zuerst dran (bei gleicher Prio: Erstellzeit)",children:["P",t.prio]}),(()=>{const C=Ee[t.art||(t.welt==="ide"?"projekt":"box")];if(!C)return null;const H=C.icon;return e.jsxs("span",{className:N("flex shrink-0 items-center gap-1 rounded-lg border px-2 py-0.5 text-[10px] font-bold",C.cls),title:C.title,children:[e.jsx(H,{className:"h-3 w-3"})," ",C.label]})})(),e.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-foreground",title:t.titel,children:t.titel}),e.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(se,{className:"h-3 w-3"}),be(t.erstellt)]}),ee&&e.jsxs("span",{className:"flex shrink-0 items-center",children:[e.jsx("button",{disabled:!!D["pr:"+t.id],onClick:()=>F("pr:",t.id,"/api/ideen/prio",{id:t.id,richtung:"hoch"}),title:"Vorziehen (Prio +1)",className:"rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:e.jsx(De,{className:"h-3.5 w-3.5"})}),e.jsx("button",{disabled:!!D["pr:"+t.id],onClick:()=>F("pr:",t.id,"/api/ideen/prio",{id:t.id,richtung:"runter"}),title:"Zurückstellen (Prio −1)",className:"rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:e.jsx(ye,{className:"h-3.5 w-3.5"})})]}),(t.status==="running"||k)&&e.jsx("button",{disabled:!!D["rt:"+t.id],onClick:()=>p("Neuer Versuch?",t.status==="running"?`Der laufende Worker von '${t.titel.slice(0,60)}' wird beendet (samt gestarteter Test-Prozesse) und die Karte frisch gestartet. Bisheriger Zwischenstand im Workspace bleibt liegen.`:`Die Karte '${t.titel.slice(0,60)}' wird entsperrt und läuft weiter, sobald ein Platz frei ist.`,()=>F("rt:",t.id,"/api/ideen/retry",{id:t.id})),title:"Neuer Versuch — Karte frisch starten",className:N("shrink-0 rounded-md p-1 transition-colors cursor-pointer disabled:opacity-50",P?"text-amber-300 hover:text-amber-200":"text-muted-foreground/60 hover:text-foreground"),children:D["rt:"+t.id]?e.jsx(K,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(ve,{className:"h-3.5 w-3.5"})}),(t.status==="running"||ee||t.status==="triage")&&e.jsx("button",{disabled:!!D["st:"+t.id],onClick:()=>p("Karte stoppen?",`'${t.titel.slice(0,60)}' wird angehalten${t.status==="running"?" und der laufende Worker beendet":""}. Sie bleibt als gestoppt im Board und kann jederzeit per „Neuer Versuch“ weiterlaufen.`,()=>F("st:",t.id,"/api/ideen/stopp",{id:t.id})),title:"Stoppen — Karte anhalten",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-red-300 cursor-pointer disabled:opacity-50",children:D["st:"+t.id]?e.jsx(K,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Ke,{className:"h-3.5 w-3.5"})}),(t.status==="done"||k)&&e.jsx("button",{disabled:!!D[t.id],onClick:()=>ce(t.id),title:k?"Aufgeben und aus der Liste räumen (wandert ins Kanban-Archiv)":"Aus der Liste räumen (wandert ins Kanban-Archiv)",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:D[t.id]?e.jsx(K,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(fe,{className:"h-3.5 w-3.5"})}),t.welt==="ide"&&(t.status==="running"||t.status==="done")&&e.jsxs("button",{onClick:()=>de(O===t.id?null:t.id),title:"Konzept ansehen (das ausgearbeitete KONZEPT.md)",className:N("flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 text-[10px] font-bold transition-colors cursor-pointer",O===t.id?"text-violet-300":"text-violet-300/70 hover:text-violet-200"),children:[e.jsx(ae,{className:"h-3.5 w-3.5"})," Konzept"]}),S&&e.jsx("button",{onClick:()=>le(x?null:t.id),title:t.status==="done"?"Ergebnis anzeigen":"Worker-Log anzeigen",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer",children:x?e.jsx(_,{className:"h-3.5 w-3.5"}):e.jsx(A,{className:"h-3.5 w-3.5"})})]}),O===t.id&&e.jsx(Re,{id:t.id,istIdee:t.art==="idee"&&t.status==="done",onWeiter:L}),t.status==="running"&&t.notiz&&e.jsxs("p",{className:"-mt-1 ml-1 text-[11px] italic leading-relaxed text-sky-200/80",title:"Jüngste Zwischenmeldung des Workers (Heartbeat)",children:["„",t.notiz,"“"]}),(t.status==="todo"||t.status==="scheduled"||t.status==="ready")&&(((te=t.wartet_auf)==null?void 0:te.length)??0)>0&&e.jsxs("p",{className:"-mt-1 ml-1 text-[10px] text-muted-foreground/70",children:["→ wartet auf: ",t.wartet_auf.join(" · ")]}),k&&e.jsxs("div",{className:"space-y-2 border-t border-red-500/20 pt-2",children:[e.jsxs("p",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-red-200/90",children:[e.jsx(ke,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-red-300"}),e.jsxs("span",{children:[e.jsx("b",{children:Be[t.frage_kind||""]??"Die Aufgabe hängt und wartet auf dich:"})," ",t.frage?e.jsx("span",{className:"text-foreground/90",children:t.frage}):e.jsx("span",{className:"text-muted-foreground italic",children:"kein genauer Grund hinterlegt — antworte einfach mit einer Entscheidung, dann läuft sie weiter."})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:M[t.id]||"",onChange:C=>q(H=>({...H,[t.id]:C.target.value})),onKeyDown:C=>{C.key==="Enter"&&J(t.id)},placeholder:"Deine Antwort — die Box macht damit weiter",maxLength:2e3,className:"h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none"}),e.jsxs("button",{onClick:()=>J(t.id),disabled:h||(M[t.id]||"").trim().length<1,className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[h?e.jsx(K,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(ne,{className:"h-3.5 w-3.5"})," Antworten & weiter"]})]})]}),x&&S&&t.status!=="done"&&e.jsx("div",{className:"ml-2 -mt-1",children:e.jsx("div",{className:"rounded-lg border border-border/50 bg-background/50 p-2",children:Q&&R.isLoading?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Log wird geladen …"}):R.error?e.jsx("p",{className:"text-[10px] text-red-400",children:"Log nicht ladbar"}):(re=R.data)!=null&&re.available&&R.data.lines.length>0?e.jsx("pre",{className:"max-h-64 overflow-auto font-mono text-[10px] leading-relaxed text-foreground/80 whitespace-pre-wrap",children:R.data.lines.join(` +`)}):e.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Kein Log verfügbar"})})}),x&&t.status==="done"&&e.jsx(We,{id:t.id})]},t.id)};return r&&!r.available?null:e.jsxs("section",{className:"space-y-3",children:[e.jsx(Ne,{icon:Z,children:(()=>{if(!r)return"Ideen-Queue";const t=x=>I.filter(S=>x.includes(S.status)).length,a=[t(["blocked"])>0?`${t(["blocked"])} braucht dich`:"",t(["running","triage","review"])>0?`${t(["running","triage","review"])} in Arbeit`:"",t(["todo","scheduled","ready"])>0?`${t(["todo","scheduled","ready"])} wartet`:"",t(["done"])>0?`${t(["done"])} fertig`:""].filter(Boolean);return`Ideen-Queue${a.length?" — "+a.join(" · "):""}`})()}),e.jsxs("div",{className:"mc-card p-4 space-y-3",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:u,onChange:t=>g(t.target.value),onKeyDown:t=>{t.key==="Enter"&&X()},placeholder:"Neue Idee — einfach hinschreiben, die Box macht den Rest",className:"h-9 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/50 px-3 text-sm text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"}),e.jsxs("button",{onClick:X,disabled:c||u.trim().length<3,className:N("flex h-9 shrink-0 items-center gap-1.5 rounded-lg border px-3 text-[11px] font-bold uppercase tracking-wide transition-all cursor-pointer disabled:opacity-50",o==="gruendlich"?"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20":o==="simpel"?"border-violet-500/40 bg-violet-500/10 text-violet-300 hover:bg-violet-500/20":b?"border-sky-500/40 bg-sky-500/10 text-sky-300 hover:bg-sky-500/20":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/20"),children:[c?e.jsx(K,{className:"h-3.5 w-3.5 animate-spin"}):b?e.jsx(Z,{className:"h-3.5 w-3.5"}):n?e.jsx(W,{className:"h-3.5 w-3.5"}):e.jsx(ne,{className:"h-3.5 w-3.5"}),b?"Durchdenken":n?"Vorbereiten":"In die Queue"]})]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Modus"}),e.jsxs("div",{className:"flex rounded-lg border border-border/60 p-0.5",children:[e.jsxs("button",{onClick:()=>i("box"),className:N("flex items-center gap-1 rounded px-2 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",o==="box"?"bg-primary/15 text-primary":"text-muted-foreground/60 hover:text-foreground"),children:[e.jsx(ie,{className:"h-3 w-3"})," Box"]}),e.jsxs("button",{onClick:()=>i("idee"),title:"Produkt-Idee erst einmal durchdenken lassen: Was ist es, für wen, was gibt es schon, was spricht dagegen? Ergebnis ist ein Konzept — kein Projekt, kein Bau-Druck.",className:N("flex items-center gap-1 rounded px-2 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",o==="idee"?"bg-sky-500/15 text-sky-300":"text-muted-foreground/60 hover:text-foreground"),children:[e.jsx(Z,{className:"h-3 w-3"})," Idee"]}),e.jsxs("button",{onClick:()=>i("simpel"),title:"IDE-Projekt, schnell vorbereitet: knappes Konzept, wenige Denk-Runden. Für kleine, klar umrissene Sachen.",className:N("flex items-center gap-1 rounded px-2 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",o==="simpel"?"bg-violet-500/15 text-violet-300":"text-muted-foreground/60 hover:text-foreground"),children:[e.jsx(W,{className:"h-3 w-3"})," IDE: simpel"]}),e.jsxs("button",{onClick:()=>i("gruendlich"),title:"IDE-Projekt, gründlich durchdacht: volle Kaskade mit mehreren Rollen und Härtetests. Für große/ambitionierte Projekte.",className:N("flex items-center gap-1 rounded px-2 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",o==="gruendlich"?"bg-amber-500/15 text-amber-300":"text-muted-foreground/60 hover:text-foreground"),children:[e.jsx(W,{className:"h-3 w-3"})," IDE: gründlich"]})]})]}),e.jsxs("p",{className:"text-[10px] leading-relaxed text-muted-foreground/60",children:[e.jsx("b",{className:"text-primary/80",children:"Box"}),", wenn die Box es selbst bauen soll (dein Heimlabor, MC2, Lucy — Ergebnis kommt als Patch-Vorschlag zurück). ·"," ",e.jsx("b",{className:"text-sky-300/80",children:"Idee"}),", wenn du noch nicht weißt, ob es das überhaupt wert ist — erst durchdenken, entscheiden kannst du danach. ·"," ",e.jsx("b",{className:"text-violet-300/80",children:"IDE"}),", wenn du es selbst in Zed bauen willst und dafür ein startklares Repo brauchst."]}),n&&e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Ziel"}),e.jsxs("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:[e.jsx("button",{onClick:()=>y("lxc"),title:"Läuft als Dienst in einem eigenen Proxmox-LXC (systemd, kein Docker). Wird vom Backup-Server automatisch mitgesichert.",className:N("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",v==="lxc"?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:"LXC"}),e.jsx("button",{onClick:()=>y("docker"),title:"Natives Docker nach Standard-Praxis: Dockerfile + compose, portabel, über Gitea-/GitLab-Pipelines baubar. Für Projekte, die bewusst außerhalb der LXC-Welt leben.",className:N("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",v==="docker"?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:"Docker"})]}),e.jsx("span",{className:"text-[10px] text-muted-foreground/50",children:v==="lxc"?"Dienst im Proxmox-Container (deine Heimat)":"natives Docker, portabel & pipeline-tauglich"})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:b?e.jsxs(e.Fragment,{children:[e.jsx("b",{className:"text-sky-300/90",children:"Idee durchdenken:"})," Die Box arbeitet deine Produkt-Idee mit Produkt-Blick aus — was ist es genau, für wen, was gibt es dafür schon, was wäre der kleinste sinnvolle Wurf und was spricht dagegen. Volle Denk-Kaskade mit Kritiker, Ergebnis ist ",e.jsx("b",{children:"nur ein Konzept"})," (kein Gerüst, keine Roadmap, kein Bau-Druck) — du liest es hier und entscheidest danach, ob ein Projekt draus wird."]}):n?e.jsxs(e.Fragment,{children:[e.jsxs("b",{className:o==="gruendlich"?"text-amber-300/90":"text-violet-300/90",children:["IDE-Welt",o==="gruendlich"?" · gründlich":" · simpel",":"]})," ","Die Box denkt das Konzept durch",o==="gruendlich"?" — volle Kaskade: mehrere Fach-Rollen, bis zu 3 Denk-Runden, mehrfacher Kritiker-Härtetest (für große/ambitionierte Projekte, dauert entsprechend)":" — schlank: 2 Rollen, 1 Denk-Runde (für kleine, klar umrissene Projekte, ein paar Minuten)",", legt ein leeres Gitea-Repo an und füllt es nur mit den wichtigen Dokumenten (Konzept, Roadmap, AGENTS.md, .aiexclude) — ",e.jsx("b",{children:"kein Code"}),". Danach öffnest du das Repo in Zed und baust selbst."]}):e.jsx(e.Fragment,{children:"Eine Queue, alle Türen: hier, per Telegram oder im Gespräch mit Lucy. Die Box arbeitet Ideen selbst aus und baut — Code-Ergebnisse erscheinen als Karte unter „Patch-Vorschläge“, nichts davon geht ohne deinen Klick live. Nur reine Doku-Bagatellen zieht die Box nachts selbst ein (mit Fangnetz und Meldung)."})}),m&&e.jsxs("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(K,{className:"h-3.5 w-3.5 animate-spin"})," Queue wird geladen …"]}),(r==null?void 0:r.fehler)&&e.jsx("p",{className:"text-xs text-amber-300",children:"Queue gerade nicht lesbar — neuer Versuch läuft."}),I.length>0&&e.jsxs("div",{className:"space-y-3",children:[((r==null?void 0:r.projekte)??[]).map(t=>e.jsx(Le,{projekt:t,karten:I.filter(a=>a.projekt===t.key),zeile:V},t.key)),(()=>{const t=new Set(((r==null?void 0:r.projekte)??[]).map(h=>h.key)),a=I.filter(h=>!h.projekt||!t.has(h.projekt));if(a.length===0)return null;const x=a.filter(h=>E[h.status]!==void 0).sort((h,P)=>E[h.status]-E[P.status]||(h.erstellt??0)-(P.erstellt??0)),S=a.filter(h=>["todo","scheduled"].includes(h.status)),k=a.filter(h=>h.status==="done");return e.jsxs("div",{className:"space-y-2",children:[x.length>0&&e.jsx("ul",{className:"space-y-1.5",children:x.map(h=>V(h))}),S.length>0&&e.jsxs("details",{className:"group",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-1.5 py-1 text-[11px] text-muted-foreground/70 hover:text-foreground",children:[e.jsx(A,{className:"h-3 w-3 transition-transform group-open:rotate-90"}),e.jsx(se,{className:"h-3 w-3"})," Wartet (",S.length,")"]}),e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:S.map(h=>V(h))})]}),k.length>0&&e.jsxs("details",{className:"group",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-1.5 py-1 text-[11px] text-muted-foreground/70 hover:text-foreground",children:[e.jsx(A,{className:"h-3 w-3 transition-transform group-open:rotate-90"}),e.jsx(pe,{className:"h-3 w-3 text-emerald-400/70"})," Fertig (",k.length,")"]}),e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:k.map(h=>V(h))})]})]})})()]}),(r==null?void 0:r.available)&&!m&&I.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground/70",children:"Queue ist leer — wirf der Box eine Idee zu."})]}),d]})}const E={blocked:0,running:1,review:2,ready:3,triage:4};function Le({projekt:r,karten:m,zeile:j}){const[s,p]=l.useState(!1),[d,u]=l.useState(!1),g=m.filter(n=>E[n.status]!==void 0).sort((n,f)=>E[n.status]-E[f.status]||(n.erstellt??0)-(f.erstellt??0)),o=m.filter(n=>n.status==="todo"||n.status==="scheduled").sort((n,f)=>{var v,y;return((v=n.wartet_auf)!=null&&v.length?1:0)-((y=f.wartet_auf)!=null&&y.length?1:0)||(n.erstellt??0)-(f.erstellt??0)}),i=m.filter(n=>n.status==="done").sort((n,f)=>(f.fertig??0)-(n.fertig??0)),b=r.gesamt>0?Math.round(r.fertig/r.gesamt*100):0;return e.jsxs("div",{className:"space-y-2 rounded-xl border border-border/50 bg-background/20 p-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(we,{className:"h-4 w-4 shrink-0 text-primary/70"}),e.jsx("p",{className:"min-w-0 flex-1 truncate text-xs font-semibold text-foreground",title:r.titel,children:r.titel}),e.jsxs("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:[r.fertig," von ",r.gesamt," fertig"]})]}),e.jsx("div",{className:"h-1 overflow-hidden rounded-full bg-background/60",title:`${b}%`,children:e.jsx("div",{className:"h-1 rounded-full bg-primary/70 transition-all",style:{width:`${b}%`}})}),g.length>0&&e.jsx("ul",{className:"space-y-1.5",children:g.map(n=>j(n))}),o.length>0&&e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>p(n=>!n),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[s?e.jsx(_,{className:"h-3.5 w-3.5"}):e.jsx(A,{className:"h-3.5 w-3.5"}),o.length," Karte",o.length===1?"":"n"," in der Kette — laufen automatisch der Reihe nach"]}),s&&e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:o.map(n=>j(n))})]}),i.length>0&&e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>u(n=>!n),className:"flex items-center gap-1.5 text-[11px] font-semibold text-emerald-300/70 hover:text-emerald-300 transition-colors cursor-pointer",children:[d?e.jsx(_,{className:"h-3.5 w-3.5"}):e.jsx(A,{className:"h-3.5 w-3.5"}),i.length," fertig"]}),d&&e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:i.map(n=>j(n))})]})]})}function Re({id:r,istIdee:m,onWeiter:j}){const[s,p]=l.useState(null),[d,u]=l.useState(!1),[g,o]=l.useState(0);return l.useEffect(()=>{let i=!1;return p(null),u(!1),z(`/api/ideen/${r}/konzept`).then(b=>{i||p(b)}).catch(()=>{i||u(!0)}),()=>{i=!0}},[r,g]),e.jsx("div",{className:"ml-2 -mt-1",children:e.jsxs("div",{className:"rounded-lg border border-violet-500/25 bg-violet-500/[0.04] p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wide text-violet-300",children:[e.jsx(ae,{className:"h-3 w-3"})," Konzept"]}),(s==null?void 0:s.repo)&&e.jsxs("a",{href:`https://git.tobisniceshomelab.ddnsfree.com/${s.repo}`,className:"flex items-center gap-1 text-[10px] text-violet-300/70 hover:text-violet-200",children:[e.jsx(Ce,{className:"h-3 w-3"})," ",s.repo]}),!(s!=null&&s.repo)&&(s==null?void 0:s.quelle)==="datei"&&e.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/70",title:"Der Worker hat kein Repo angelegt — das Konzept liegt als Datei auf der Box.",children:s.pfad}),e.jsx("button",{onClick:()=>o(i=>i+1),title:"Neu laden",className:"ml-auto rounded p-0.5 text-muted-foreground/50 hover:text-foreground cursor-pointer",children:e.jsx(oe,{className:"h-3 w-3"})})]}),d?e.jsx("p",{className:"text-[11px] text-red-400",children:"Konzept nicht ladbar — später nochmal versuchen."}):s===null?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Konzept wird geladen …"}):s.konzept?e.jsx("div",{className:"max-h-[28rem] overflow-y-auto pr-1",children:e.jsx(ze,{text:s.konzept})}):e.jsx("p",{className:"text-[11px] text-muted-foreground italic",children:s.error||"Noch kein Konzept — das Projekt wird gerade vorbereitet."}),m&&(s==null?void 0:s.konzept)&&e.jsx(Ae,{id:r,onFertig:j})]})})}function Ae({id:r,onFertig:m}){const[j,s]=l.useState("lxc"),[p,d]=l.useState("simpel"),[u,g]=l.useState(!1),[o,i]=l.useState(null),[b,n]=l.useState(""),[f,v]=l.useState(""),y=async(c,T,D)=>{g(!0),n("");try{const w=await z(c,{method:"POST",body:JSON.stringify(T)});i({id:w.id,art:D}),m==null||m()}catch(w){n(String((w==null?void 0:w.message)||w))}finally{g(!1)}};return o?e.jsx("p",{className:"mt-3 border-t border-violet-500/20 pt-2 text-[11px] text-emerald-300",children:o.art==="projekt"?e.jsxs(e.Fragment,{children:["Projekt-Karte ",e.jsx("span",{className:"font-mono",children:o.id})," ist angelegt — die Box bereitet das Repo vor (Konzept übernimmt sie, sie denkt es nicht neu). Danach öffnest du es in Zed."]}):e.jsxs(e.Fragment,{children:["Überarbeitung ",e.jsx("span",{className:"font-mono",children:o.id}),' läuft — die Box arbeitet deine Rückmeldung ein und schreibt die neue Fassung an dieselbe Stelle. Danach hier wieder „Konzept" öffnen.']})}):e.jsxs("div",{className:"mt-3 space-y-3 border-t border-violet-500/20 pt-2.5",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("b",{className:"text-sky-300/90",children:"Passt etwas nicht?"})," Schreib hin, was anders werden soll — die Box arbeitet es ein und lässt den Rest stehen. Beliebig oft wiederholbar."]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:f,onChange:c=>v(c.target.value),onKeyDown:c=>{c.key==="Enter"&&f.trim().length>=3&&!u&&y("/api/ideen/nachschaerfen",{id:r,hinweis:f},"runde")},placeholder:"z. B. „Punkt 3: kein WebSocket, das ist mir zu fragil — nimm Polling“",maxLength:2e3,className:"h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-sky-400/50 focus:outline-none"}),e.jsxs("button",{onClick:()=>y("/api/ideen/nachschaerfen",{id:r,hinweis:f},"runde"),disabled:u||f.trim().length<3,className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-sky-500/40 bg-sky-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-sky-300 transition-all hover:bg-sky-500/20 cursor-pointer disabled:opacity-50",children:[u?e.jsx(K,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(oe,{className:"h-3.5 w-3.5"}),"Nachschärfen"]})]})]}),e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("b",{className:"text-violet-300/90",children:"Passt es so?"})," Dann macht die Box daraus ein startklares Repo — Konzept wird übernommen (nicht neu gedacht), dazu Roadmap, AGENTS.md & Co. Gebaut wird danach von dir in Zed."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Ziel"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:["lxc","docker"].map(c=>e.jsx("button",{onClick:()=>s(c),title:c==="lxc"?"Dienst in einem eigenen Proxmox-LXC (systemd, kein Docker) — wird automatisch mitgesichert.":"Natives Docker: Dockerfile + compose, portabel und pipeline-tauglich.",className:N("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",j===c?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:c==="lxc"?"LXC":"Docker"},c))}),e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Aufwand"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:["simpel","gruendlich"].map(c=>e.jsx("button",{onClick:()=>d(c),title:c==="simpel"?"Konzept ist schon gehärtet — nur kurz auf die Bau-Sicht nachschärfen (empfohlen).":"Nochmal volle Kaskade über die Bau-Sicht: mehrere Rollen, Härtetests. Dauert entsprechend.",className:N("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",p===c?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:c==="simpel"?"schlank":"gründlich"},c))}),e.jsxs("button",{onClick:()=>y("/api/ideen/weiterfuehren",{id:r,ziel:j,tiefe:p},"projekt"),disabled:u,className:"ml-auto flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[u?e.jsx(K,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(W,{className:"h-3.5 w-3.5"}),"Gefällt mir — Projekt daraus machen"]})]}),b&&e.jsx("p",{className:"text-[11px] text-red-400",children:b})]})}function We({id:r}){const[m,j]=l.useState(null),[s,p]=l.useState(!1),[d,u]=l.useState(0);l.useEffect(()=>{let o=!1;return p(!1),j(null),z(`/api/ideen/${r}/ergebnis`).then(i=>{o||j(i)}).catch(()=>{o||p(!0)}),()=>{o=!0}},[r,d]);const g=m?m.summary||m.result:"";return e.jsx("div",{className:"ml-2 -mt-1",children:e.jsxs("div",{className:"rounded-lg border border-emerald-500/25 bg-emerald-500/5 p-2.5",children:[e.jsxs("p",{className:"mb-1 flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wide text-emerald-300",children:[e.jsx(Se,{className:"h-3 w-3"})," Ergebnis des Workers"]}),s?e.jsx("button",{type:"button",onClick:()=>u(o=>o+1),className:"text-[10px] text-red-400 underline decoration-dotted underline-offset-2 hover:text-red-300",children:"Ergebnis nicht ladbar — nochmal versuchen"}):m===null?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Wird geladen …"}):g?e.jsx("p",{className:"max-h-64 overflow-y-auto whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:g}):e.jsx("p",{className:"text-[10px] text-muted-foreground italic",children:"Der Worker hat keine Abschluss-Zusammenfassung hinterlassen (ältere Karte oder Protokollverstoß)."})]})})}function Oe(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Ideen"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Schreib hin, was entstehen soll — die Box arbeitet es aus. Je nach Modus baut sie es selbst, denkt es nur durch, oder legt dir ein startklares Repo fuer Zed an."})]}),e.jsx(Ie,{})]})}export{Oe as IdeenView}; diff --git a/frontend/dist/assets/KonsoleView-hPDX_m6T.js b/frontend/dist/assets/KonsoleView-BlZ5qbFv.js similarity index 98% rename from frontend/dist/assets/KonsoleView-hPDX_m6T.js rename to frontend/dist/assets/KonsoleView-BlZ5qbFv.js index 987f8e4..079bdb7 100644 --- a/frontend/dist/assets/KonsoleView-hPDX_m6T.js +++ b/frontend/dist/assets/KonsoleView-BlZ5qbFv.js @@ -1 +1 @@ -import{Y as b,u as f,$ as h,r as d,j as e,e as c,Z as g,T as p,a3 as j,a4 as N,g as v,a5 as w,q as x}from"./index-Cm0NCQeJ.js";function y(){const{data:s}=b(),m=f(),r=s!=null&&s.box_console_url?h(s.box_console_url):void 0,a=s==null?void 0:s.box_console_reachable,[l,o]=d.useState(!1),[i,n]=d.useState("");async function u(){o(!0),n("");try{const t=await v("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:"box-console"})});n(t.ok?"Neu gestartet — einen Moment, dann lädt das Terminal.":`Fehlgeschlagen: ${t.err||"Unbekannter Fehler"}`),w(m,x.agentStatus,x.services)}catch(t){n(`Fehlgeschlagen: ${(t==null?void 0:t.message)||t}`)}finally{o(!1)}}return e.jsxs("div",{className:"flex h-full flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Konsole"}),e.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[e.jsx("span",{className:c("h-2 w-2 rounded-full",a?"bg-emerald-500 animate-pulse":"bg-amber-500")}),a?"online":"offline"]}),r&&e.jsxs("a",{href:r,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[e.jsx(g,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),r?e.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[a===!1&&e.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[e.jsx(p,{className:"h-8 w-8 text-amber-400"}),e.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),e.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der Terminal-Dienst (",e.jsx("code",{className:"font-mono text-primary",children:"box-console"}),") läuft gerade nicht."]}),e.jsxs("button",{onClick:u,disabled:l,className:"flex h-9 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-4 text-[11px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(j,{className:c("h-3.5 w-3.5",l&&"animate-spin")})," Dienst neu starten"]}),i&&e.jsx("p",{className:"max-w-sm text-[11px] text-muted-foreground",children:i})]}),e.jsx("iframe",{src:r,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):e.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[e.jsx(N,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}export{y as KonsoleView}; +import{Y as b,u as f,$ as h,r as d,j as e,e as c,Z as g,T as p,a3 as j,a4 as N,g as v,a5 as w,q as x}from"./index-CoRdA_gp.js";function y(){const{data:s}=b(),m=f(),r=s!=null&&s.box_console_url?h(s.box_console_url):void 0,a=s==null?void 0:s.box_console_reachable,[l,o]=d.useState(!1),[i,n]=d.useState("");async function u(){o(!0),n("");try{const t=await v("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:"box-console"})});n(t.ok?"Neu gestartet — einen Moment, dann lädt das Terminal.":`Fehlgeschlagen: ${t.err||"Unbekannter Fehler"}`),w(m,x.agentStatus,x.services)}catch(t){n(`Fehlgeschlagen: ${(t==null?void 0:t.message)||t}`)}finally{o(!1)}}return e.jsxs("div",{className:"flex h-full flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Konsole"}),e.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[e.jsx("span",{className:c("h-2 w-2 rounded-full",a?"bg-emerald-500 animate-pulse":"bg-amber-500")}),a?"online":"offline"]}),r&&e.jsxs("a",{href:r,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[e.jsx(g,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),r?e.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[a===!1&&e.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[e.jsx(p,{className:"h-8 w-8 text-amber-400"}),e.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),e.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der Terminal-Dienst (",e.jsx("code",{className:"font-mono text-primary",children:"box-console"}),") läuft gerade nicht."]}),e.jsxs("button",{onClick:u,disabled:l,className:"flex h-9 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-4 text-[11px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(j,{className:c("h-3.5 w-3.5",l&&"animate-spin")})," Dienst neu starten"]}),i&&e.jsx("p",{className:"max-w-sm text-[11px] text-muted-foreground",children:i})]}),e.jsx("iframe",{src:r,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):e.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[e.jsx(N,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}export{y as KonsoleView}; diff --git a/frontend/dist/assets/MemoryView-AUt0KtVe.js b/frontend/dist/assets/MemoryView-Dr_9tmOV.js similarity index 98% rename from frontend/dist/assets/MemoryView-AUt0KtVe.js rename to frontend/dist/assets/MemoryView-Dr_9tmOV.js index 1308cdd..5b4d60d 100644 --- a/frontend/dist/assets/MemoryView-AUt0KtVe.js +++ b/frontend/dist/assets/MemoryView-Dr_9tmOV.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/GraphView-B853GRcI.js","assets/index-Cm0NCQeJ.js","assets/index-Bkns39Uj.css"])))=>i.map(i=>d[i]); -var je=Object.defineProperty;var ke=(d,i,c)=>i in d?je(d,i,{enumerable:!0,configurable:!0,writable:!0,value:c}):d[i]=c;var J=(d,i,c)=>ke(d,typeof i!="symbol"?i+"":i,c);import{c as h,r as s,j as e,u as ve,b as Ne,O as W,Q as Se,C as X,R as Ce,S as Ee,P as Me,U as O,e as x,V as ze,W as De,X as Z,A as Y,_ as Oe,g as j}from"./index-Cm0NCQeJ.js";import{C as ee}from"./copy-BzlMSkzh.js";import{S as _e}from"./send-Bc-GXqQz.js";import{B as Ge}from"./book-open-CMR6fip9.js";/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/GraphView-PukEbPEW.js","assets/index-CoRdA_gp.js","assets/index-DJ-m2OOM.css"])))=>i.map(i=>d[i]); +var je=Object.defineProperty;var ke=(d,i,c)=>i in d?je(d,i,{enumerable:!0,configurable:!0,writable:!0,value:c}):d[i]=c;var J=(d,i,c)=>ke(d,typeof i!="symbol"?i+"":i,c);import{c as h,r as s,j as e,u as ve,b as Ne,O as W,Q as Se,C as X,R as Ce,S as Ee,P as Me,U as O,e as x,V as ze,W as De,X as Z,A as Y,_ as Oe,g as j}from"./index-CoRdA_gp.js";import{C as ee}from"./copy-BuUsvuS9.js";import{S as _e}from"./send-Dt2f8lfr.js";import{B as Ge}from"./book-open-x-JfOiM-.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -34,7 +34,7 @@ var je=Object.defineProperty;var ke=(d,i,c)=>i in d?je(d,i,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Pe=h("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);class te extends s.Component{constructor(){super(...arguments);J(this,"state",{error:null})}static getDerivedStateFromError(c){return{error:c}}render(){return this.state.error?e.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[e.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),e.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const se=s.lazy(()=>Oe(()=>import("./GraphView-B853GRcI.js"),__vite__mapDeps([0,1,2])).then(d=>({default:d.GraphView}))),k=["identity","knowledge","rules","events"],v=new Set(["auto","agent","hermes"]),N={identity:{label:"Identität",icon:Pe,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:De,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:Le,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:ze,bg:"bg-amber-500/10",text:"text-amber-400"}},ne={label:"Gedächtnis",icon:Ge,text:"text-muted-foreground"},Re={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},_={identity:"#00f5ff",knowledge:"#3b82f6",rules:"#d946ef",events:"#fbbf24"},ae=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu: + */const Pe=h("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);class te extends s.Component{constructor(){super(...arguments);J(this,"state",{error:null})}static getDerivedStateFromError(c){return{error:c}}render(){return this.state.error?e.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[e.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),e.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const se=s.lazy(()=>Oe(()=>import("./GraphView-PukEbPEW.js"),__vite__mapDeps([0,1,2])).then(d=>({default:d.GraphView}))),k=["identity","knowledge","rules","events"],v=new Set(["auto","agent","hermes"]),N={identity:{label:"Identität",icon:Pe,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:De,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:Le,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:ze,bg:"bg-amber-500/10",text:"text-amber-400"}},ne={label:"Gedächtnis",icon:Ge,text:"text-muted-foreground"},Re={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},_={identity:"#00f5ff",knowledge:"#3b82f6",rules:"#d946ef",events:"#fbbf24"},ae=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu: 1) wer ich bin und woran ich gerade arbeite, 2) wie ich angesprochen werden möchte, 3) meine bevorzugten Tools, Sprachen und Arbeitsweise, diff --git a/frontend/dist/assets/ModelsView-Bsoj7OqE.js b/frontend/dist/assets/ModelsView-DTzsjlIt.js similarity index 99% rename from frontend/dist/assets/ModelsView-Bsoj7OqE.js rename to frontend/dist/assets/ModelsView-DTzsjlIt.js index 5fc3cdd..92ace32 100644 --- a/frontend/dist/assets/ModelsView-Bsoj7OqE.js +++ b/frontend/dist/assets/ModelsView-DTzsjlIt.js @@ -1,4 +1,4 @@ -import{c as q,u as oe,a as Fe,b as ge,j as e,f as ue,d as Re,e as w,g as K,q as P,h as Ie,r as N,C as Y,L as Oe,i as Pe,B as le,k as Te,E as Be,l as de,m as Ge,n as $e,o as He,p as ee,X as pe,P as Qe,H as fe,T as re,s as Ue,t as Ve,v as V,w as We,S as ye,x as Ze,y as Je,z as Xe,A as Ye,D as De,F as et,G as tt}from"./index-Cm0NCQeJ.js";import{C as rt}from"./code-xml-p3YDy76e.js";import{R as st}from"./rotate-ccw-DQJileoK.js";import{C as be,Z as ie,L as nt,a as at}from"./zap-BOjMx7d9.js";import{L as ot}from"./layers-CKJvqHFy.js";/** +import{c as q,u as oe,a as Fe,b as ge,j as e,f as ue,d as Re,e as w,g as K,q as P,h as Ie,r as N,C as Y,L as Oe,i as Pe,B as le,k as Te,E as Be,l as de,m as Ge,n as $e,o as He,p as ee,X as pe,P as Qe,H as fe,T as re,s as Ue,t as Ve,v as V,w as We,S as ye,x as Ze,y as Je,z as Xe,A as Ye,D as De,F as et,G as tt}from"./index-CoRdA_gp.js";import{C as rt}from"./code-xml-qgfASNHl.js";import{R as st}from"./rotate-ccw-BHsRFGD7.js";import{C as be,Z as ie,L as nt,a as at}from"./zap-TiNENPLo.js";import{L as ot}from"./layers-Dh094O1c.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/SectionLabel-DLTvFJ7b.js b/frontend/dist/assets/SectionLabel-DLTvFJ7b.js new file mode 100644 index 0000000..bce0c5a --- /dev/null +++ b/frontend/dist/assets/SectionLabel-DLTvFJ7b.js @@ -0,0 +1,6 @@ +import{c as s,j as e}from"./index-CoRdA_gp.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const r=s("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);function c({icon:a,children:t}){return e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(a,{className:"h-3.5 w-3.5"})," ",t]})}export{r as H,c as S}; diff --git a/frontend/dist/assets/WissenView-CU4iziB4.js b/frontend/dist/assets/WissenView-BGvgpLaU.js similarity index 97% rename from frontend/dist/assets/WissenView-CU4iziB4.js rename to frontend/dist/assets/WissenView-BGvgpLaU.js index 23b79b6..86a832f 100644 --- a/frontend/dist/assets/WissenView-CU4iziB4.js +++ b/frontend/dist/assets/WissenView-BGvgpLaU.js @@ -1,4 +1,4 @@ -import{ap as y,r as x,g as L,j as e,L as v,S,ae as W,U as C,e as w,aq as E}from"./index-Cm0NCQeJ.js";import{F as M}from"./folder-open-CvG8JCKh.js";const D={"":"Allgemein",traeume:"Träume",muster:"Muster","skill-kandidaten":"Skill-Kandidaten","skill-kandidaten/beauftragt":"Skill-Kandidaten · beauftragt","skill-kandidaten/verworfen":"Skill-Kandidaten · verworfen"};function T(){const{data:o,isLoading:h}=y(),[l,f]=x.useState(null),[d,r]=x.useState(null),[u,i]=x.useState(!1),[a,p]=x.useState(""),t=x.useMemo(()=>(o==null?void 0:o.files)??[],[o]),m=x.useMemo(()=>{const s=new Map;for(const n of t)s.set(n.name.toLowerCase(),n.path);return s},[t]),g=x.useMemo(()=>{if(!a.trim())return t;const s=a.toLowerCase();return t.filter(n=>n.title.toLowerCase().includes(s)||n.path.toLowerCase().includes(s))},[t,a]),b=x.useMemo(()=>{const s=[];for(const n of g){const c=s.find(k=>k.dir===n.dir);c?c.files.push(n):s.push({dir:n.dir,files:[n]})}return s.sort((n,c)=>n.dir===""?-1:c.dir===""?1:n.dir.localeCompare(c.dir))},[g]);x.useEffect(()=>{if(!l&&t.length){const s=t.find(n=>n.path.toLowerCase()==="index.md");f((s==null?void 0:s.path)??t[0].path)}},[t,l]),x.useEffect(()=>{l&&(i(!0),L(`/api/wissen/datei?pfad=${encodeURIComponent(l)}`).then(r).catch(()=>r({path:l,content:"*(Notiz nicht ladbar)*",mtime:0})).finally(()=>i(!1)))},[l]);const j=s=>{const n=m.get(s.toLowerCase());n&&f(n)};return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Wissen"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was sich die Box nachts erschließt — Traum-Notizen, Muster und Skill-Ideen aus dem Wissens-Vault, verlinkt wie ein Wiki."})]}),o&&!o.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Der Wissens-Vault liegt auf der Box (~/wissens-vault) — im lokalen Dev-Modus nicht verfügbar."}),h&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(v,{className:"h-4 w-4 animate-spin"})," Vault wird geladen …"]}),(o==null?void 0:o.available)&&t.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Notizen. Der nächtliche Traum (03:15) legt sie an — morgen früh steht hier die erste."}),t.length>0&&e.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[e.jsxs("aside",{className:"w-full shrink-0 space-y-3 lg:w-72",children:[e.jsxs("div",{className:"relative",children:[e.jsx("input",{value:a,onChange:s=>p(s.target.value),type:"search",placeholder:"Notizen durchsuchen…","aria-label":"Notizen durchsuchen",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 pl-8 pr-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),e.jsx(S,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),e.jsx("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto pr-1 scrollbar-thin",children:b.map(({dir:s,files:n})=>e.jsxs("div",{children:[e.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(M,{className:"h-3 w-3"})," ",D[s]??s]}),e.jsx("div",{className:"space-y-0.5",children:n.map(c=>e.jsxs("button",{onClick:()=>f(c.path),className:w("flex w-full items-center gap-1.5 rounded-lg px-2 py-1.5 text-left text-xs transition-all cursor-pointer",l===c.path?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[e.jsx(W,{className:"h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"truncate",title:c.title,children:c.name}),c.neu&&e.jsxs("span",{className:"ml-auto flex items-center gap-0.5 rounded bg-violet-500/15 px-1 py-0.5 text-[8px] font-bold uppercase text-violet-300",children:[e.jsx(C,{className:"h-2.5 w-2.5"}),"neu"]})]},c.path))})]},s||"__root"))})]}),e.jsx("div",{className:"min-w-0 flex-1 mc-card p-5",children:u?e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(v,{className:"h-4 w-4 animate-spin"})," Notiz wird geladen …"]}):d?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-3 flex items-center justify-between border-b border-border/40 pb-2",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[e.jsx(E,{className:"h-3.5 w-3.5"})," ",d.path]}),d.mtime>0&&e.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Stand ",new Date(d.mtime*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),e.jsx(z,{text:d.content,onWikiLink:j,known:m})]}):null})]})]})}function z({text:o,onWikiLink:h,known:l}){const f=o.split(` +import{ar as y,r as x,g as L,j as e,L as v,S,ag as W,U as C,e as w,as as E}from"./index-CoRdA_gp.js";import{F as M}from"./folder-open-BoUGs9bI.js";const D={"":"Allgemein",traeume:"Träume",muster:"Muster","skill-kandidaten":"Skill-Kandidaten","skill-kandidaten/beauftragt":"Skill-Kandidaten · beauftragt","skill-kandidaten/verworfen":"Skill-Kandidaten · verworfen"};function T(){const{data:o,isLoading:h}=y(),[l,f]=x.useState(null),[d,r]=x.useState(null),[u,i]=x.useState(!1),[a,p]=x.useState(""),t=x.useMemo(()=>(o==null?void 0:o.files)??[],[o]),m=x.useMemo(()=>{const s=new Map;for(const n of t)s.set(n.name.toLowerCase(),n.path);return s},[t]),g=x.useMemo(()=>{if(!a.trim())return t;const s=a.toLowerCase();return t.filter(n=>n.title.toLowerCase().includes(s)||n.path.toLowerCase().includes(s))},[t,a]),b=x.useMemo(()=>{const s=[];for(const n of g){const c=s.find(k=>k.dir===n.dir);c?c.files.push(n):s.push({dir:n.dir,files:[n]})}return s.sort((n,c)=>n.dir===""?-1:c.dir===""?1:n.dir.localeCompare(c.dir))},[g]);x.useEffect(()=>{if(!l&&t.length){const s=t.find(n=>n.path.toLowerCase()==="index.md");f((s==null?void 0:s.path)??t[0].path)}},[t,l]),x.useEffect(()=>{l&&(i(!0),L(`/api/wissen/datei?pfad=${encodeURIComponent(l)}`).then(r).catch(()=>r({path:l,content:"*(Notiz nicht ladbar)*",mtime:0})).finally(()=>i(!1)))},[l]);const j=s=>{const n=m.get(s.toLowerCase());n&&f(n)};return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Wissen"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was sich die Box nachts erschließt — Traum-Notizen, Muster und Skill-Ideen aus dem Wissens-Vault, verlinkt wie ein Wiki."})]}),o&&!o.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Der Wissens-Vault liegt auf der Box (~/wissens-vault) — im lokalen Dev-Modus nicht verfügbar."}),h&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(v,{className:"h-4 w-4 animate-spin"})," Vault wird geladen …"]}),(o==null?void 0:o.available)&&t.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Notizen. Der nächtliche Traum (03:15) legt sie an — morgen früh steht hier die erste."}),t.length>0&&e.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[e.jsxs("aside",{className:"w-full shrink-0 space-y-3 lg:w-72",children:[e.jsxs("div",{className:"relative",children:[e.jsx("input",{value:a,onChange:s=>p(s.target.value),type:"search",placeholder:"Notizen durchsuchen…","aria-label":"Notizen durchsuchen",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 pl-8 pr-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),e.jsx(S,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),e.jsx("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto pr-1 scrollbar-thin",children:b.map(({dir:s,files:n})=>e.jsxs("div",{children:[e.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(M,{className:"h-3 w-3"})," ",D[s]??s]}),e.jsx("div",{className:"space-y-0.5",children:n.map(c=>e.jsxs("button",{onClick:()=>f(c.path),className:w("flex w-full items-center gap-1.5 rounded-lg px-2 py-1.5 text-left text-xs transition-all cursor-pointer",l===c.path?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[e.jsx(W,{className:"h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"truncate",title:c.title,children:c.name}),c.neu&&e.jsxs("span",{className:"ml-auto flex items-center gap-0.5 rounded bg-violet-500/15 px-1 py-0.5 text-[8px] font-bold uppercase text-violet-300",children:[e.jsx(C,{className:"h-2.5 w-2.5"}),"neu"]})]},c.path))})]},s||"__root"))})]}),e.jsx("div",{className:"min-w-0 flex-1 mc-card p-5",children:u?e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(v,{className:"h-4 w-4 animate-spin"})," Notiz wird geladen …"]}):d?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-3 flex items-center justify-between border-b border-border/40 pb-2",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[e.jsx(E,{className:"h-3.5 w-3.5"})," ",d.path]}),d.mtime>0&&e.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Stand ",new Date(d.mtime*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),e.jsx(z,{text:d.content,onWikiLink:j,known:m})]}):null})]})]})}function z({text:o,onWikiLink:h,known:l}){const f=o.split(` `),d=[];let r=[],u=null;const i=a=>{r.length&&(d.push(e.jsx("ul",{className:"mb-3 ml-4 list-disc space-y-1",children:r},a)),r=[])};return f.forEach((a,p)=>{const t=`l${p}`;if(u!==null){a.trimEnd()==="```"?(d.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px] leading-relaxed text-foreground/85",children:u.join(` `)},t)),u=null):u.push(a);return}if(a.trimStart().startsWith("```")){i(t),u=[];return}const m=a.trimEnd();if(!m.trim()){i(t);return}const g=m.match(/^(#{1,4})\s+(.*)$/);if(g){i(t);const j=g[1].length,s=j===1?"text-lg font-bold mt-1 mb-3":j===2?"text-base font-bold mt-4 mb-2":"text-sm font-bold mt-3 mb-1.5";d.push(e.jsx("p",{className:w(s,"font-space text-foreground"),children:N(g[2],h,l,t)},t));return}const b=m.match(/^\s*[-*•]\s+(.*)$/);if(b){r.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:N(b[1],h,l,t)},t));return}i(t),d.push(e.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:N(m,h,l,t)},t))}),i("end"),u!==null&&d.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:u.join(` `)},"code-end")),e.jsx("div",{className:"max-w-3xl",children:d})}function N(o,h,l,f){return o.split(/(\[\[[^\]]+\]\]|\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((r,u)=>{const i=`${f}-${u}`,a=r.match(/^\[\[([^\]|]+)(?:\|([^\]]+))?\]\]$/);if(a){const p=a[1].trim(),t=(a[2]??a[1]).trim();return l.has(p.toLowerCase())?e.jsx("button",{onClick:()=>h(p),className:"rounded bg-primary/10 px-1 text-primary underline decoration-primary/40 underline-offset-2 hover:bg-primary/20 cursor-pointer",children:t},i):e.jsx("span",{className:"rounded bg-background/40 px-1 text-muted-foreground",title:"Notiz existiert (noch) nicht",children:t},i)}return r.startsWith("**")&&r.endsWith("**")?e.jsx("b",{className:"font-semibold text-foreground",children:r.slice(2,-2)},i):r.startsWith("*")&&r.endsWith("*")&&r.length>2?e.jsx("i",{children:r.slice(1,-1)},i):r.startsWith("`")&&r.endsWith("`")?e.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-teal-300",children:r.slice(1,-1)},i):e.jsx("span",{children:r},i)})}export{T as WissenView}; diff --git a/frontend/dist/assets/book-open-CMR6fip9.js b/frontend/dist/assets/book-open-x-JfOiM-.js similarity index 90% rename from frontend/dist/assets/book-open-CMR6fip9.js rename to frontend/dist/assets/book-open-x-JfOiM-.js index 5ca9cc8..7751169 100644 --- a/frontend/dist/assets/book-open-CMR6fip9.js +++ b/frontend/dist/assets/book-open-x-JfOiM-.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-Cm0NCQeJ.js";/** +import{c as a}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/circle-x-DT2INJve.js b/frontend/dist/assets/circle-x-CSyRU1pi.js similarity index 89% rename from frontend/dist/assets/circle-x-DT2INJve.js rename to frontend/dist/assets/circle-x-CSyRU1pi.js index 9570b71..28d2288 100644 --- a/frontend/dist/assets/circle-x-DT2INJve.js +++ b/frontend/dist/assets/circle-x-CSyRU1pi.js @@ -1,4 +1,4 @@ -import{c}from"./index-Cm0NCQeJ.js";/** +import{c}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/code-xml-p3YDy76e.js b/frontend/dist/assets/code-xml-qgfASNHl.js similarity index 88% rename from frontend/dist/assets/code-xml-p3YDy76e.js rename to frontend/dist/assets/code-xml-qgfASNHl.js index 0e06c8c..fa2fa3a 100644 --- a/frontend/dist/assets/code-xml-p3YDy76e.js +++ b/frontend/dist/assets/code-xml-qgfASNHl.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-Cm0NCQeJ.js";/** +import{c as e}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/copy-BzlMSkzh.js b/frontend/dist/assets/copy-BuUsvuS9.js similarity index 90% rename from frontend/dist/assets/copy-BzlMSkzh.js rename to frontend/dist/assets/copy-BuUsvuS9.js index 7b2a3bc..7fed54f 100644 --- a/frontend/dist/assets/copy-BzlMSkzh.js +++ b/frontend/dist/assets/copy-BuUsvuS9.js @@ -1,4 +1,4 @@ -import{c}from"./index-Cm0NCQeJ.js";/** +import{c}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/folder-open-CvG8JCKh.js b/frontend/dist/assets/folder-open-BoUGs9bI.js similarity index 90% rename from frontend/dist/assets/folder-open-CvG8JCKh.js rename to frontend/dist/assets/folder-open-BoUGs9bI.js index f6c2d70..efb67a6 100644 --- a/frontend/dist/assets/folder-open-CvG8JCKh.js +++ b/frontend/dist/assets/folder-open-BoUGs9bI.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-Cm0NCQeJ.js";/** +import{c as a}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/index-Bkns39Uj.css b/frontend/dist/assets/index-Bkns39Uj.css deleted file mode 100644 index bd18dd0..0000000 --- a/frontend/dist/assets/index-Bkns39Uj.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-cyrillic-ext-300-normal-CgCALhwJ.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-300-normal-RId2JxDB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-cyrillic-300-normal-BnqRxXuy.woff2)format("woff2"),url(/assets/inter-cyrillic-300-normal-LR1W_oT8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-greek-ext-300-normal-l2DDyC6M.woff2)format("woff2"),url(/assets/inter-greek-ext-300-normal-DLbbeei1.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-greek-300-normal-DmGD3g_f.woff2)format("woff2"),url(/assets/inter-greek-300-normal-BrhSP0vQ.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-vietnamese-300-normal-Bdr24Bqb.woff2)format("woff2"),url(/assets/inter-vietnamese-300-normal-DDGmYYdT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-ext-300-normal-CPgO9Ksf.woff2)format("woff2"),url(/assets/inter-latin-ext-300-normal-Dp1L8vcn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-300-normal-BVlfKGgI.woff2)format("woff2"),url(/assets/inter-latin-300-normal-i8F0SvXL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAA/IABAAAAAALMwAAA9mAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUTACDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUeB4xODAcbFCYzA/aDkxp0RMXmTMH/IcEUkaXZhe7qAVQoRhtRmOhkzaUYXs3lyzTUlwptwwNGy28PLP/oZewn39g4Jjp8YusISWZ9eNpW788MNQMI7jZprgsqRiJ7imCBYlEWIBhgoWjj7uJGcddednnRIQ/fX77n7i8NtLf08UwEQl3jq59XJCShypU4lMyz3Hb3X0omkAkZCYVNhfN/c3Pmf1nJcDqnj2VE35fYAx+8WYIJhZj4znn1Qbjp9+f4Pab0wOi7JSECzG0o6DRWu/MBgfu/NdPu5O8cUssKSJ1wUyTjq6oWZic7nUsKuIEySsIkzXvdKzArVNkCwvP1lQCgK4yu0BVWFp6vrWVm/6Nt7H82JGhxDyAteCbHZLRdzTsxJqNEUxb+txHysoxjwQzz2p8tU5uFtC4RmcGouCRX3v1195cCAYgBAECRIWSIVNsQCiqEhh6RpxRRzogwaUTYdSCc3AivAcSQCcSkacSCBbQlcbQ9DqAddgyNAFiZilAX9c1OSB/6ZyYgxQCwDgGQoVQGIYAIRvVlRAiR7Ax+jsqKIDacjVExNGWA/MQLk8VzJshTmOztrVbySNyHVnaAiUVpcgdvmnh9FNeAYYXkMl4AqisEoDtIZK0zs6lsSM8yAboEhZ5CFVqD23kNfor49QgAGWwFBeRAIZRCLdigBbqPFSIF+ABeQAfotUU0g+rL1gCMOnSNn4S0PWEL5Nw2QBqyIVvBT2Fe9wCSYDa3QH3Vt4cSaWSAug+NT0JKDgAKQOMLa96EFIKf/gOUWDQiE3EFgAB4aACxikhFAAwKZZ8DgHeiRQixRghm5n4HrCOOSrQAtqJU3LzpFAr/6TAHnDo8QQgszNHZ77FXwgom85JfwQOqMC8Ae/gYkSsURQ1AgQgAQAutAAoAALCdA3gIkv619L//vwb0H8nVgjz+bwLUlFoDaPGQkfqBjQcpc4R8ODxDAPwurhVJMbRRa7ksFTJAUJERK+RXgDxDi8az0D39NBJmMjGZP5MWgyH5+mYXeZg0kZOdJEIu5k1OaIYW0Rnqv/S2DtQxKCIjOSRMLuKNDjpwIXDRE0Y407zODF3/W/ovnvbiAz6YIOC0nZKaVrpMADK9/g8sQDORaaLiVmpCNj+DsAUJUg1SNBKpxbESqyNRj2XB2IWvmkANITOe42zRZqt223RIZbdRi00cNmu1QTMlFwWnTH2y+Gh4pemWrkeGXlpddgjYKUgnRG9Ajn55huQbViCiyKhiY0qMKzSiwpRykyrFGE0jSCIFAJwLADkD0AtMDvBegHkHug0AoFGJVK2qhCXG61AIrWWr8aYYT2zhWkVVD6EX62dQyHJqVGLicdAyTQtFjJgVi1Olw0wdI6eouC1SZjvL3umikG5h3BSHrTOMQKpkUgQu/aGoVC5VKLOjXKBIrWSy2FqmlB+dTKAUcDwJE5TwBkbFnJ/rY92ss4dzXxKbV1/T9hAJvBUu+bwOaq/XWDeXTEKvBMv+HYDYtSMXHI8lErBlDv1FvCF2yDfJcie3f1oWe+wCtb9HCZdshHBIfLC9FrNf60J4HGMKYkfC5TJ+lSNHd3NdZ5dNZ96o6OG8lOvpt5IcR3r2z61suaFBNQmrT0wrCXkvwKkNWenURddyk4+u1FuSiQRtRvQxxhEfxFo411PBvfbTQ1aCPSbA0yIczRIJRXEEQyYS4ocX/of1WiiyaY7SI3Z54u6pUe8m+30ZXB4f13V23XbupYoeLhwa5QqcRIKRdhwtDjdHX7sj8SSWqhgd2s25/B7OuTu4WLdz9FgQLtG55HhMlbFN/J5rrmGPXQWwZOVVLnn31VevgnPrfKt+IsHWeS5ZYVnCJZ9HIqem3z+aeAsjx92cK+7hnPGyVcarN47i9QctdADS864Xl+f2cM6E6W7jwyDLmWTlDNfAWRtN3eLupy1VuUoXA0Y9nDMwDm0aWWy8vkY6yniPTKmax1mFMSPTY+OyNo5gvPrMaWh+d6Yocqzobrh2BM+xO665gj12WQPSixm3X325OHNpey4+FiI+ViG4n+0mtkeDT6J77bK1vsLcqur1aMyF/u63T4xFx/V3vXhzq+VXFL7ypKwjPz+l4w2I7O1b21+wrz3XGCkzhqwKi3EwUtbo7w+YrLVVCuM8U1MAvrXrA5YXtX7tt5YAgoHTtp8WWF0eGHqRNVhUEjBba0v8h+bWaAV+c525JPC7Y/GXH19hrUyWl51baa04D0cn7Sp5qsze1VrwV7OyZHfSiyJTsZB0TFoerSjfW97MUD0Yt59oL3Kd4SNndY35u+St5yYTG575P1cpvWf3hskypgS/yB30tjjC3t6zi/Om4l/vjtYRYdOcpyc4FXQtRAZTN5h66vUdRpsxv/FMnSRHdzIYUWcg6vcHAtFOq8NmDm+l9r49tjYS2RI2O2zqvuITK5wVJxaXLhudxmXyUWt/K/Qiy0BJqb/mZHOpb6DEYg2VlPrMQWf+rheNhpOjo1zdfIfKkm6qMhsrTeZd234B2oMPB68Kyh+7OQi90BoqLvWbT6wt9YWKrdEKfLUnmkv9J2fxld9XeaLx3vKyZ40nVj6HfU/YdfKw79i9rQU1lSWHXuzBSScKzcZC3WPdlRcUl9xQeTh2aC6G9md6xnorxgsKd1f0dvkr/e7KQtNT/YHYFK691fHqc7z5WGnoTXPhm6HR0mnubTCFnYEJf7bfP+G0Ouw1k4QvuOw/rPsO97uflSxXKCuWS0rjlcrKePHlrYZWnH9AY9VoL03tATMa+kB/IGO1LLqakbF6sqvQHJhOLowm8cyBSHJmMonogaPJATpOOOweE/o99p7WWmfms1k7ns101lZHxtRBTefZMzIJkSsaNIZ6PReT/ohVl1uGg2e7ml3474DkI8kGTVtDZOe2TO2ONujXMk7TagqPrtGehm2f5GksNUqWOMsAC1JpXVMB8a265dwCWrecb+qjmcuF3pKhX/qEodrl80v5RPPuq9xGdUu9x3B2pnqrdvnB6Pe2BBpN7ap0nS5d1W7yN56QiB0YXTzQIWMqsVit2E1IJJ65TsI+KzVZbHmN6dJzkiro99t7Gqscyl/8nbTSUVWdjOByTedCSCZdr0kNW3MHcrWWxWmp1cp+yE6c98d0jC0lz4gdGXjRaLO92ffUHysp8pF3giv+eOcGjvsbGa11hkiW+PB5hmPdht38S67pmA9my+IbNmXULvS3VG07Lq136q4xnKz01oPhuZGJueMWrK31JofKklae1qlqKba7vg5yWnz3hzAuBOeGe+aQ8ur03gWhSNxQ3a/htqUcWzqxZsgptuwTcY3NaGzZLlTUKP8UW4zHk6oxHFFf9+F9MrFUwq/n52j06vNeGlmS9eyJU7A8ejA8F5uYO2Oh2i5K+uDcaxPRubvf6vbTxu85m5WnWqo9WbdqJUcOf3tSoNvCbrn09HJ9io6MjZ4Xny5qb2puApUNggl8KLVU1ACQTpMomG2HoEriLLkaejrIM8gzIx90Is8iz8bnjGNjNLQADHJcM4VcEXqXkOUhG7nIA5BvNJ+N9MKmYbuN05Tq5ZrWhcjqhmQ1IzdINamW1V4WrBhk29RG6FoDqfIt9wjkbNfvcq4XYOw1PHUJmquCZ03r3q6PSYNswHBLUJbKWbcHWUaWQZUN89AnAsi+EPxQrrIlEJnJIlUJM7HMcyIb2WdiwCYYhdkKuBjZ5gUYSBu2TYSNZEBQZ/dsLMogZAlqcMnlTpcszNOWC7LHy0oMpAd7JmhjAL8NbmRdayAVvDU+WxL5XR70AowhbINbkc7/KgLwLmPqTfwNBEUHCMBxmUhdQj6WUlkZlKnxu6pO1d9/v//3Q7rw+///2fMjAAB6oDb0HaH0b6GUJU8Y0eR64ojqUqm14Od8duRDHPKhFfZpiGupUNnzetjxdgRbK/5+l4IJ5JeSir8t3R+1IaFaa9AZitANXTvqUxavQ2TYeNmrYwP4det2tGuWgFpDejL9euYAfQfK28gGGIvbgQRcpXesotZIABUK/LoCMgX5tBzoUFiWbADfCNfMu98PsCghbdyeq6jgel07qoCDJjjsyIFY7MAODSYL1alQ9phCIRt3Ri4tbQVgE5dpkfhjGAkZMAWRYzPLNioh68Amvwwd4zGzodCRGaTlUjZqVdaBTSBDfJ6vWzoqG6lZhQKbFK6EAKgz5unB00f9KabfIE1/CcA764pzcPbvSz+DTdl+/xcAHwUACHwM3JK6lBL+d88HxAVfFHh3m1b6a8TWqK9qwVrRVjPaq6WqFSbUXqOOqrXXCkfN6KhWPgnndsCsD3CdZzHpoEPOX6wjz67FHso9aAqWW+ynpyeAc+VhtGMQgKDhk7pBGKUsAnBflEhlCV2wnFLxv2VpRo+QTFme7a4qy5cjUVaqjK2sjFJ+GTmx9FYE4M2hvDRKwSyXLSegQ9S4fhOazOT8YyJCPAaHHhY2o8XyD4iYNc7mNKNWTL+ICdO0Go+aiFqsGZM3ZyMDg2khMRGTZqrMfNN8LD/nqJhhBq3qNXN2r8LzGkBuHpMgYmkV2dpFChUKu08Vm1pVR9TBh+FjevSxMYZr7aNbRE1aFJsrvS1RcG1pOS9ocBJ8rTYx4yMuQj6W2WwW4VnSDJFz5tU/LKK0ZgWXCD2/qRmKRWuYh+47US6adX1FAOIfwbmATE+T2t4wLVab3eF0uT1eXz6MQKLQGCyuGE8gVpLIFCqNzmCy2Bwur54vEIrEEqlM3qxQqtTdSrU6vcFoMlusNjsz0q+WhVWdeg0aNfUmG7vmOrRwaNWmXYdOTi5uHl5deXXr0auPj19Av2C9QgYMGor2C4sYMWrMuAlRk6bETJsxa868BYuWxC3bbY+9EjhBUjTDcrwgSih88/y+eq/C13kHnXKhbTUDgISUCgNDoABXKLCL+2X27E/c2jAAQEKsFigx1qgLEbSeu+NyhcJGIECQNm9L567c3l7uZ5Wo3pkx4tYOhJANKw9dEonovRqVDb5dMKz515Ng+hci23hm4UQEs8eChwPB0BZYOBINbH3Erw0HECzUaokWa42eyGD3PIBIMBSOrfryBQ3G4oHQKi+/kEA0tuaDV40GP3h0+wuAAgXTKy0v5428xUDwksfm538juY9ni9fz2Ggy4iWLMz4qLklle7kcZvOLwy5bXp7fdYrRJlP4l5NDdZPiKVeLnJV7Ohg2VAs/aQwZNVtodX2jki6RU1e/j6GkgZbgAmmogZafuF4mZlb1t+COUyrcnF/CCZzS4MO/dX1T6QQAAAA=)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.bottom-3{bottom:calc(var(--spacing) * 3)}.-left-\[23px\]{left:-23px}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-50{z-index:-50}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[99\]{z-index:99}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-5\.5{height:calc(var(--spacing) * 5.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-44{height:calc(var(--spacing) * 44)}.h-64{height:calc(var(--spacing) * 64)}.h-\[120px\]{height:120px}.h-\[150px\]{height:150px}.h-\[480px\]{height:480px}.h-\[500px\]{height:500px}.h-\[calc\(100vh-8\.5rem\)\]{height:calc(100vh - 8.5rem)}.h-full{height:100%}.h-screen{height:100vh}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[28rem\]{max-height:28rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-\[16rem\]{min-height:16rem}.min-h-\[58vh\]{min-height:58vh}.min-h-\[300px\]{min-height:300px}.min-h-\[620px\]{min-height:620px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[16rem\]{max-width:16rem}.max-w-\[85vw\]{max-width:85vw}.max-w-\[250px\]{max-width:250px}.max-w-\[280px\]{max-width:280px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3ch\]{min-width:3ch}.min-w-\[680px\]{min-width:680px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.scrollbar-none{scrollbar-width:none}.scrollbar-thin{scrollbar-width:thin}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-border\/20>:not(:last-child)){border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/20>:not(:last-child)){border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/25{border-color:color-mix(in oklab,var(--color-amber-500) 25%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500) 40%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-border,.border-border\/20{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/20{border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.border-border\/70{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,hsl(var(--border)) 70%,transparent)}}.border-border\/80{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/80{border-color:color-mix(in oklab,hsl(var(--border)) 80%,transparent)}}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.border-cyan-500\/25{border-color:#00b7d740}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/25{border-color:color-mix(in oklab,var(--color-cyan-500) 25%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500) 30%,transparent)}}.border-emerald-500\/10{border-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/10{border-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-emerald-500\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-fuchsia-500\/25{border-color:#e12afb40}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/25{border-color:color-mix(in oklab,var(--color-fuchsia-500) 25%,transparent)}}.border-fuchsia-500\/30{border-color:#e12afb4d}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/30{border-color:color-mix(in oklab,var(--color-fuchsia-500) 30%,transparent)}}.border-indigo-500\/25{border-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/25{border-color:color-mix(in oklab,var(--color-indigo-500) 25%,transparent)}}.border-indigo-500\/40{border-color:#625fff66}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/40{border-color:color-mix(in oklab,var(--color-indigo-500) 40%,transparent)}}.border-lime-500\/25{border-color:#80cd0040}@supports (color:color-mix(in lab,red,red)){.border-lime-500\/25{border-color:color-mix(in oklab,var(--color-lime-500) 25%,transparent)}}.border-neutral-700{border-color:var(--color-neutral-700)}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-pink-500\/25{border-color:#f6339a40}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/25{border-color:color-mix(in oklab,var(--color-pink-500) 25%,transparent)}}.border-pink-500\/40{border-color:#f6339a66}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/40{border-color:color-mix(in oklab,var(--color-pink-500) 40%,transparent)}}.border-primary,.border-primary\/20{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.border-primary\/25{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/25{border-color:color-mix(in oklab,hsl(var(--primary)) 25%,transparent)}}.border-primary\/30{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.border-primary\/40{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.border-primary\/60{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,hsl(var(--primary)) 60%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500) 30%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.border-red-500\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab,red,red)){.border-red-500\/60{border-color:color-mix(in oklab,var(--color-red-500) 60%,transparent)}}.border-sky-500\/25{border-color:#00a5ef40}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/25{border-color:color-mix(in oklab,var(--color-sky-500) 25%,transparent)}}.border-sky-500\/30{border-color:#00a5ef4d}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/30{border-color:color-mix(in oklab,var(--color-sky-500) 30%,transparent)}}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/40{border-color:color-mix(in oklab,var(--color-sky-500) 40%,transparent)}}.border-slate-500\/25{border-color:#62748e40}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/25{border-color:color-mix(in oklab,var(--color-slate-500) 25%,transparent)}}.border-slate-500\/30{border-color:#62748e4d}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/30{border-color:color-mix(in oklab,var(--color-slate-500) 30%,transparent)}}.border-teal-500\/25{border-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.border-teal-500\/25{border-color:color-mix(in oklab,var(--color-teal-500) 25%,transparent)}}.border-transparent{border-color:#0000}.border-violet-500\/15{border-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/15{border-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/20{border-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.border-violet-500\/25{border-color:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/25{border-color:color-mix(in oklab,var(--color-violet-500) 25%,transparent)}}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/30{border-color:color-mix(in oklab,var(--color-violet-500) 30%,transparent)}}.border-violet-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/40{border-color:color-mix(in oklab,var(--color-violet-500) 40%,transparent)}}.border-t-emerald-500\/70{border-top-color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.border-t-emerald-500\/70{border-top-color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.border-t-primary\/70{border-top-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-t-primary\/70{border-top-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.border-t-violet-500\/70{border-top-color:#8d54ffb3}@supports (color:color-mix(in lab,red,red)){.border-t-violet-500\/70{border-top-color:color-mix(in oklab,var(--color-violet-500) 70%,transparent)}}.border-l-amber-500\/80{border-left-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.border-l-amber-500\/80{border-left-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.border-l-cyan-500\/80{border-left-color:#00b7d7cc}@supports (color:color-mix(in lab,red,red)){.border-l-cyan-500\/80{border-left-color:color-mix(in oklab,var(--color-cyan-500) 80%,transparent)}}.border-l-indigo-500\/80{border-left-color:#625fffcc}@supports (color:color-mix(in lab,red,red)){.border-l-indigo-500\/80{border-left-color:color-mix(in oklab,var(--color-indigo-500) 80%,transparent)}}.border-l-muted{border-left-color:hsl(var(--muted))}.border-l-violet-500\/80{border-left-color:#8d54ffcc}@supports (color:color-mix(in lab,red,red)){.border-l-violet-500\/80{border-left-color:color-mix(in oklab,var(--color-violet-500) 80%,transparent)}}.bg-\[\#030712\]{background-color:#030712}.bg-\[hsl\(224\,28\%\,8\%\)\]{background-color:#0f121a}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-400\/80{background-color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/80{background-color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/5{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-amber-500\/80{background-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/80{background-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.bg-amber-500\/\[0\.06\]{background-color:#f99c000f}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-amber-500) 6%,transparent)}}.bg-background\/10{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--background)) 10%,transparent)}}.bg-background\/20{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/20{background-color:color-mix(in oklab,hsl(var(--background)) 20%,transparent)}}.bg-background\/25{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/25{background-color:color-mix(in oklab,hsl(var(--background)) 25%,transparent)}}.bg-background\/30{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/30{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.bg-background\/35{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/35{background-color:color-mix(in oklab,hsl(var(--background)) 35%,transparent)}}.bg-background\/40{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background)) 50%,transparent)}}.bg-background\/60{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-border{background-color:hsl(var(--border))}.bg-card,.bg-card\/10{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/10{background-color:color-mix(in oklab,hsl(var(--card)) 10%,transparent)}}.bg-card\/20{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,hsl(var(--card)) 20%,transparent)}}.bg-card\/30{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.bg-card\/40{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,hsl(var(--card)) 40%,transparent)}}.bg-card\/45{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/45{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.bg-card\/50{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,hsl(var(--card)) 50%,transparent)}}.bg-card\/60{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/60{background-color:color-mix(in oklab,hsl(var(--card)) 60%,transparent)}}.bg-card\/70{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,hsl(var(--card)) 70%,transparent)}}.bg-card\/85{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/85{background-color:color-mix(in oklab,hsl(var(--card)) 85%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500) 10%,transparent)}}.bg-cyan-500\/15{background-color:#00b7d726}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/15{background-color:color-mix(in oklab,var(--color-cyan-500) 15%,transparent)}}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-emerald-500\/80{background-color:#00bb7fcc}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/80{background-color:color-mix(in oklab,var(--color-emerald-500) 80%,transparent)}}.bg-foreground\/10{background-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--foreground)) 10%,transparent)}}.bg-fuchsia-500{background-color:var(--color-fuchsia-500)}.bg-fuchsia-500\/10{background-color:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/10{background-color:color-mix(in oklab,var(--color-fuchsia-500) 10%,transparent)}}.bg-fuchsia-500\/15{background-color:#e12afb26}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/15{background-color:color-mix(in oklab,var(--color-fuchsia-500) 15%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500) 10%,transparent)}}.bg-indigo-500\/15{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/15{background-color:color-mix(in oklab,var(--color-indigo-500) 15%,transparent)}}.bg-lime-500{background-color:var(--color-lime-500)}.bg-lime-500\/15{background-color:#80cd0026}@supports (color:color-mix(in lab,red,red)){.bg-lime-500\/15{background-color:color-mix(in oklab,var(--color-lime-500) 15%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.bg-muted-foreground\/45{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/45{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 45%,transparent)}}.bg-muted\/10{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/10{background-color:color-mix(in oklab,hsl(var(--muted)) 10%,transparent)}}.bg-muted\/15{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/15{background-color:color-mix(in oklab,hsl(var(--muted)) 15%,transparent)}}.bg-muted\/20{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,hsl(var(--muted)) 20%,transparent)}}.bg-muted\/25{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,hsl(var(--muted)) 25%,transparent)}}.bg-muted\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-950{background-color:var(--color-neutral-950)}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.bg-pink-500{background-color:var(--color-pink-500)}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500) 10%,transparent)}}.bg-pink-500\/15{background-color:#f6339a26}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/15{background-color:color-mix(in oklab,var(--color-pink-500) 15%,transparent)}}.bg-popover,.bg-popover\/95{background-color:hsl(var(--popover))}@supports (color:color-mix(in lab,red,red)){.bg-popover\/95{background-color:color-mix(in oklab,hsl(var(--popover)) 95%,transparent)}}.bg-primary,.bg-primary\/5{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-primary\/15{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.bg-primary\/70{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/70{background-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-primary\/\[0\.06\]{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/\[0\.06\]{background-color:color-mix(in oklab,hsl(var(--primary)) 6%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500) 80%,transparent)}}.bg-rose-400\/80{background-color:#ff667fcc}@supports (color:color-mix(in lab,red,red)){.bg-rose-400\/80{background-color:color-mix(in oklab,var(--color-rose-400) 80%,transparent)}}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-500\/15{background-color:#ff235726}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/15{background-color:color-mix(in oklab,var(--color-rose-500) 15%,transparent)}}.bg-sky-500\/5{background-color:#00a5ef0d}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/5{background-color:color-mix(in oklab,var(--color-sky-500) 5%,transparent)}}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/10{background-color:color-mix(in oklab,var(--color-sky-500) 10%,transparent)}}.bg-sky-500\/15{background-color:#00a5ef26}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/15{background-color:color-mix(in oklab,var(--color-sky-500) 15%,transparent)}}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-500\/15{background-color:#62748e26}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/15{background-color:color-mix(in oklab,var(--color-slate-500) 15%,transparent)}}.bg-slate-500\/20{background-color:#62748e33}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/20{background-color:color-mix(in oklab,var(--color-slate-500) 20%,transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500) 10%,transparent)}}.bg-teal-500\/15{background-color:#00baa726}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/15{background-color:color-mix(in oklab,var(--color-teal-500) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/5{background-color:color-mix(in oklab,var(--color-violet-500) 5%,transparent)}}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.bg-violet-500\/\[0\.04\]{background-color:#8d54ff0a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-violet-500) 4%,transparent)}}.bg-violet-500\/\[0\.05\]{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-violet-500) 5%,transparent)}}.bg-zinc-500{background-color:var(--color-zinc-500)}.bg-zinc-500\/10{background-color:#71717b1a}@supports (color:color-mix(in lab,red,red)){.bg-zinc-500\/10{background-color:color-mix(in oklab,var(--color-zinc-500) 10%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-foreground{--tw-gradient-from:hsl(var(--foreground));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-foreground{--tw-gradient-via:hsl(var(--foreground));--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-primary{--tw-gradient-to:hsl(var(--primary));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.fill-primary\/20{fill:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.fill-primary\/20{fill:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.font-space{font-family:Space Grotesk,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-300\/70{color:#ffd236b3}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/70{color:color-mix(in oklab,var(--color-amber-300) 70%,transparent)}}.text-amber-300\/90{color:#ffd236e6}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/90{color:color-mix(in oklab,var(--color-amber-300) 90%,transparent)}}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400) 90%,transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-cyan-200\/90{color:#a2f4fde6}@supports (color:color-mix(in lab,red,red)){.text-cyan-200\/90{color:color-mix(in oklab,var(--color-cyan-200) 90%,transparent)}}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-300\/80{color:#53eafdcc}@supports (color:color-mix(in lab,red,red)){.text-cyan-300\/80{color:color-mix(in oklab,var(--color-cyan-300) 80%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-300\/70{color:#5ee9b5b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/70{color:color-mix(in oklab,var(--color-emerald-300) 70%,transparent)}}.text-emerald-300\/80{color:#5ee9b5cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/80{color:color-mix(in oklab,var(--color-emerald-300) 80%,transparent)}}.text-emerald-300\/90{color:#5ee9b5e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/90{color:color-mix(in oklab,var(--color-emerald-300) 90%,transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/90{color:#00d294e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/90{color:color-mix(in oklab,var(--color-emerald-400) 90%,transparent)}}.text-foreground,.text-foreground\/70{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,hsl(var(--foreground)) 70%,transparent)}}.text-foreground\/75{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/75{color:color-mix(in oklab,hsl(var(--foreground)) 75%,transparent)}}.text-foreground\/80{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.text-foreground\/85{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,hsl(var(--foreground)) 85%,transparent)}}.text-foreground\/90{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,hsl(var(--foreground)) 90%,transparent)}}.text-fuchsia-300{color:var(--color-fuchsia-300)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-lime-400{color:var(--color-lime-400)}.text-muted-foreground,.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.text-muted-foreground\/55{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/55{color:color-mix(in oklab,hsl(var(--muted-foreground)) 55%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.text-muted-foreground\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.text-muted-foreground\/75{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/75{color:color-mix(in oklab,hsl(var(--muted-foreground)) 75%,transparent)}}.text-muted-foreground\/80{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,hsl(var(--muted-foreground)) 80%,transparent)}}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-orange-300{color:var(--color-orange-300)}.text-pink-300{color:var(--color-pink-300)}.text-pink-400{color:var(--color-pink-400)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/70{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.text-primary\/80{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.text-purple-300{color:var(--color-purple-300)}.text-red-200{color:var(--color-red-200)}.text-red-200\/90{color:#ffcacae6}@supports (color:color-mix(in lab,red,red)){.text-red-200\/90{color:color-mix(in oklab,var(--color-red-200) 90%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-300\/70{color:#ffa3a3b3}@supports (color:color-mix(in lab,red,red)){.text-red-300\/70{color:color-mix(in oklab,var(--color-red-300) 70%,transparent)}}.text-red-300\/90{color:#ffa3a3e6}@supports (color:color-mix(in lab,red,red)){.text-red-300\/90{color:color-mix(in oklab,var(--color-red-300) 90%,transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-sky-200\/80{color:#b8e6fecc}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/80{color:color-mix(in oklab,var(--color-sky-200) 80%,transparent)}}.text-sky-300{color:var(--color-sky-300)}.text-sky-300\/80{color:#77d4ffcc}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/80{color:color-mix(in oklab,var(--color-sky-300) 80%,transparent)}}.text-sky-300\/90{color:#77d4ffe6}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/90{color:color-mix(in oklab,var(--color-sky-300) 90%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-slate-300{color:var(--color-slate-300)}.text-teal-300{color:var(--color-teal-300)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-violet-200\/90{color:#ddd6ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-200\/90{color:color-mix(in oklab,var(--color-violet-200) 90%,transparent)}}.text-violet-300{color:var(--color-violet-300)}.text-violet-300\/70{color:#c4b4ffb3}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/70{color:color-mix(in oklab,var(--color-violet-300) 70%,transparent)}}.text-violet-300\/80{color:#c4b4ffcc}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/80{color:color-mix(in oklab,var(--color-violet-300) 80%,transparent)}}.text-violet-300\/90{color:#c4b4ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/90{color:color-mix(in oklab,var(--color-violet-300) 90%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-zinc-400{color:var(--color-zinc-400)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-primary\/40{-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.decoration-primary\/40{-webkit-text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent);text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-primary{accent-color:hsl(var(--primary))}.\[color-scheme\:dark\]{color-scheme:dark}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(16\,185\,129\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#10b98166);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(245\,158\,11\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#f59e0b66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-amber-500\/10{--tw-shadow-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.shadow-amber-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/15{--tw-shadow-color:#00000026}@supports (color:color-mix(in lab,red,red)){.shadow-black\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/25{--tw-shadow-color:#00000040}@supports (color:color-mix(in lab,red,red)){.shadow-black\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/5{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/10{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-background\/60{--tw-ring-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.ring-background\/60{--tw-ring-color:color-mix(in oklab, hsl(var(--background)) 60%, transparent)}}.ring-black\/40{--tw-ring-color:#0006}@supports (color:color-mix(in lab,red,red)){.ring-black\/40{--tw-ring-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.ring-white\/70{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.ring-white\/70{--tw-ring-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-foreground:is(:where(.group):hover *){color:hsl(var(--foreground))}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.first\:mt-0:first-child{margin-top:0}.first\:rounded-l-sm:first-child{border-top-left-radius:calc(var(--radius) - 4px);border-bottom-left-radius:calc(var(--radius) - 4px)}@media(hover:hover){.hover\:border-amber-500\/50:hover{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-500\/50:hover{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.hover\:border-border:hover,.hover\:border-border\/60:hover{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/60:hover{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.hover\:border-emerald-500\/40:hover{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/40:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.hover\:border-primary\/45:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/45:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 45%,transparent)}}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.hover\:border-red-500\/50:hover{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/50:hover{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-400:hover{background-color:var(--color-amber-400)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.hover\:bg-amber-500\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.hover\:bg-background\/40:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/40:hover{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.hover\:bg-background\/60:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.hover\:bg-background\/80:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/80:hover{background-color:color-mix(in oklab,hsl(var(--background)) 80%,transparent)}}.hover\:bg-card\/45:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/45:hover{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.hover\:bg-card\/75:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/75:hover{background-color:color-mix(in oklab,hsl(var(--card)) 75%,transparent)}}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.hover\:bg-emerald-500\/15:hover{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/15:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-primary\/95:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/95:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 95%,transparent)}}.hover\:bg-red-500\/5:hover{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/5:hover{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:bg-red-500\/15:hover{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/15:hover{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-sky-500\/20:hover{background-color:#00a5ef33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sky-500\/20:hover{background-color:color-mix(in oklab,var(--color-sky-500) 20%,transparent)}}.hover\:bg-violet-500\/20:hover{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-500\/20:hover{background-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-foreground:hover,.hover\:text-foreground\/80:hover{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:text-foreground\/80:hover{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.hover\:text-primary:hover,.hover\:text-primary\/80:hover{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-violet-200:hover{color:var(--color-violet-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-primary:focus,.focus\:border-primary\/50:focus{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.focus\:border-red-400\/50:focus{border-color:#ff656880}@supports (color:color-mix(in lab,red,red)){.focus\:border-red-400\/50:focus{border-color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.focus\:border-sky-400\/50:focus{border-color:#00bcfe80}@supports (color:color-mix(in lab,red,red)){.focus\:border-sky-400\/50:focus{border-color:color-mix(in oklab,var(--color-sky-400) 50%,transparent)}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary\/50:focus{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab, hsl(var(--primary)) 50%, transparent)}}.focus\:ring-violet-500\/50:focus{--tw-ring-color:#8d54ff80}@supports (color:color-mix(in lab,red,red)){.focus\:ring-violet-500\/50:focus{--tw-ring-color:color-mix(in oklab, var(--color-violet-500) 50%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-\[640px\]{width:640px}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:p-10{padding:calc(var(--spacing) * 10)}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[170px_1fr\]{grid-template-columns:170px 1fr}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:absolute{position:absolute}.lg\:top-4{top:calc(var(--spacing) * 4)}.lg\:top-6{top:calc(var(--spacing) * 6)}.lg\:right-4{right:calc(var(--spacing) * 4)}.lg\:right-6{right:calc(var(--spacing) * 6)}.lg\:bottom-4{bottom:calc(var(--spacing) * 4)}.lg\:bottom-6{bottom:calc(var(--spacing) * 6)}.lg\:left-4{left:calc(var(--spacing) * 4)}.lg\:left-6{left:calc(var(--spacing) * 6)}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[calc\(100\%-2rem\)\]{height:calc(100% - 2rem)}.lg\:h-\[calc\(100\%-3rem\)\]{height:calc(100% - 3rem)}.lg\:w-40{width:calc(var(--spacing) * 40)}.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:w-80{width:calc(var(--spacing) * 80)}.lg\:w-96{width:calc(var(--spacing) * 96)}.lg\:flex-none{flex:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:flex-row{flex-direction:row}.lg\:items-stretch{align-items:stretch}.lg\:rounded-xl{border-radius:var(--radius-xl)}.lg\:border{border-style:var(--tw-border-style);border-width:1px}.lg\:border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.lg\:border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.lg\:bg-background\/65{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.lg\:bg-background\/65{background-color:color-mix(in oklab,hsl(var(--background)) 65%,transparent)}}.lg\:p-4{padding:calc(var(--spacing) * 4)}.lg\:shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.lg\:shadow-black\/50{--tw-shadow-color:#00000080}@supports (color:color-mix(in lab,red,red)){.lg\:shadow-black\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.lg\:backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}}:root{--background:224 30% 6%;--foreground:210 20% 92%;--card:224 25% 10%;--card-foreground:210 20% 94%;--popover:224 28% 9%;--popover-foreground:210 20% 94%;--primary:172 72% 50%;--primary-foreground:224 47% 8%;--muted:220 16% 14%;--muted-foreground:215 14% 64%;--accent:220 16% 16%;--accent-foreground:210 20% 94%;--border:222 18% 23%;--input:222 18% 23%;--ring:172 72% 50%;--radius:.75rem;color-scheme:dark}html,body,#root{height:100%;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}*{border-color:hsl(var(--border) / .85);outline-color:hsl(var(--primary) / .5)}:focus-visible{outline:2px solid hsl(var(--primary) / .7);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--primary) / .25);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.mc-card{border:1px solid hsl(var(--border) / .95);background-color:hsl(var(--card) / .85);border-radius:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 30px -15px #00000073,inset 0 1px #ffffff0d}.mc-card:before{content:"";background:linear-gradient(90deg,hsl(var(--primary)),#6366f1,#a855f7);opacity:.75;height:3.5px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.mc-card:hover{background-color:hsl(var(--card) / .92);border-color:hsl(var(--primary) / .35);box-shadow:0 20px 40px -20px #000000a6,0 0 18px 2px hsl(var(--primary) / .05);transform:translateY(-3px)}.mc-card:hover:before{opacity:1}.mc-card-sm{border:1px solid hsl(var(--border) / .9);background-color:hsl(var(--card) / .88);border-radius:.75rem;transition:background-color .2s,border-color .2s}.mc-card-sm:hover{background-color:hsl(var(--card) / .95);border-color:hsl(var(--primary) / .3)}.nav-active{background:linear-gradient(90deg,hsl(var(--primary) / .18),#6366f11f);color:hsl(var(--primary));border-left:3.5px solid hsl(var(--primary));border-radius:0 var(--radius) var(--radius) 0;padding-left:calc(.75rem - 3.5px);box-shadow:inset 0 1px #ffffff05}.nav-active-collapsed{background:hsl(var(--primary) / .18);color:hsl(var(--primary));box-shadow:0 0 12px 1px hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3)}@keyframes flow-cyan{0%{stroke-dasharray:6 3;stroke-dashoffset:18px}to{stroke-dasharray:6 3;stroke-dashoffset:0}}.animate-flow-cyan{animation:1.2s linear infinite flow-cyan}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(min-width:1440px){html{font-size:16.5px}}@media(min-width:1920px){html{font-size:17.5px}}@media(min-width:2560px){html{font-size:19px}}@media(min-width:3440px){html{font-size:20px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}} diff --git a/frontend/dist/assets/index-Cm0NCQeJ.js b/frontend/dist/assets/index-CoRdA_gp.js similarity index 79% rename from frontend/dist/assets/index-Cm0NCQeJ.js rename to frontend/dist/assets/index-CoRdA_gp.js index 9c8fb1c..e4129ea 100644 --- a/frontend/dist/assets/index-Cm0NCQeJ.js +++ b/frontend/dist/assets/index-CoRdA_gp.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ModelsView-Bsoj7OqE.js","assets/code-xml-p3YDy76e.js","assets/rotate-ccw-DQJileoK.js","assets/zap-BOjMx7d9.js","assets/layers-CKJvqHFy.js","assets/ConnectView-B-235oA9.js","assets/folder-open-CvG8JCKh.js","assets/circle-x-DT2INJve.js","assets/copy-BzlMSkzh.js","assets/MemoryView-AUt0KtVe.js","assets/send-Bc-GXqQz.js","assets/book-open-CMR6fip9.js","assets/GuideView-DEBn7OhW.js","assets/lightbulb-CBiiGPIh.js","assets/AuftragsbuchView-BsRuFLIV.js","assets/ChronikView-B6tlWXa3.js","assets/EigenlebenView-bzbGyOGE.js","assets/WissenView-CU4iziB4.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ModelsView-DTzsjlIt.js","assets/code-xml-qgfASNHl.js","assets/rotate-ccw-BHsRFGD7.js","assets/zap-TiNENPLo.js","assets/layers-Dh094O1c.js","assets/ConnectView-DjuUKBvu.js","assets/folder-open-BoUGs9bI.js","assets/circle-x-CSyRU1pi.js","assets/copy-BuUsvuS9.js","assets/MemoryView-Dr_9tmOV.js","assets/send-Dt2f8lfr.js","assets/book-open-x-JfOiM-.js","assets/GuideView-CbNoyHTt.js","assets/AuftragsbuchView-BZWvV2pd.js","assets/SectionLabel-DLTvFJ7b.js","assets/IdeenView-CKZJTCd1.js","assets/ChronikView-05lPMfKs.js","assets/EigenlebenView-BuEpk3oK.js","assets/WissenView-BGvgpLaU.js"])))=>i.map(i=>d[i]); var ZI=Object.defineProperty;var S1=e=>{throw TypeError(e)};var JI=(e,t,r)=>t in e?ZI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ks=(e,t,r)=>JI(e,typeof t!="symbol"?t+"":t,r),xm=(e,t,r)=>t.has(e)||S1("Cannot "+r);var $=(e,t,r)=>(xm(e,t,"read from private field"),r?r.call(e):t.get(e)),je=(e,t,r)=>t.has(e)?S1("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),pe=(e,t,r,n)=>(xm(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),ze=(e,t,r)=>(xm(e,t,"access private method"),r);var Gc=(e,t,r,n)=>({set _(i){pe(e,t,i,r)},get _(){return $(e,t,n)}});function eM(e,t){for(var r=0;rn[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=r(i);fetch(i.href,o)}})();function $g(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var bm={exports:{}},Ss={},wm={exports:{}},Le={};/** * @license React * react.production.min.js @@ -35,10 +35,10 @@ var ZI=Object.defineProperty;var S1=e=>{throw TypeError(e)};var JI=(e,t,r)=>t in `+M+a}var Z=!1;function se(a,l){if(!a||Z)return"";Z=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(l)if(l=function(){throw Error()},Object.defineProperty(l.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(l,[])}catch(K){var p=K}Reflect.construct(a,[],l)}else{try{l.call()}catch(K){p=K}a.call(l.prototype)}else{try{throw Error()}catch(K){p=K}a()}}catch(K){if(K&&p&&typeof K.stack=="string"){for(var g=K.stack.split(` `),w=p.stack.split(` `),A=g.length-1,I=w.length-1;1<=A&&0<=I&&g[A]!==w[I];)I--;for(;1<=A&&0<=I;A--,I--)if(g[A]!==w[I]){if(A!==1||I!==1)do if(A--,I--,0>I||g[A]!==w[I]){var D=` -`+g[A].replace(" at new "," at ");return a.displayName&&D.includes("")&&(D=D.replace("",a.displayName)),D}while(1<=A&&0<=I);break}}}finally{Z=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?T(a):""}function te(a){switch(a.tag){case 5:return T(a.type);case 16:return T("Lazy");case 13:return T("Suspense");case 19:return T("SuspenseList");case 0:case 2:case 15:return a=se(a.type,!1),a;case 11:return a=se(a.type.render,!1),a;case 1:return a=se(a.type,!0),a;default:return""}}function ce(a){if(a==null)return null;if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case R:return"Fragment";case C:return"Portal";case F:return"Profiler";case z:return"StrictMode";case ue:return"Suspense";case G:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case Q:return(a.displayName||"Context")+".Consumer";case V:return(a._context.displayName||"Context")+".Provider";case B:var l=a.render;return a=a.displayName,a||(a=l.displayName||l.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case le:return l=a.displayName||null,l!==null?l:ce(a.type)||"Memo";case fe:l=a._payload,a=a._init;try{return ce(a(l))}catch{}}return null}function ge(a){var l=a.type;switch(a.tag){case 24:return"Cache";case 9:return(l.displayName||"Context")+".Consumer";case 10:return(l._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return a=l.render,a=a.displayName||a.name||"",l.displayName||(a!==""?"ForwardRef("+a+")":"ForwardRef");case 7:return"Fragment";case 5:return l;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ce(l);case 8:return l===z?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof l=="function")return l.displayName||l.name||null;if(typeof l=="string")return l}return null}function _e(a){switch(typeof a){case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function J(a){var l=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function we(a){var l=J(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,l),p=""+a[l];if(!a.hasOwnProperty(l)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var g=c.get,w=c.set;return Object.defineProperty(a,l,{configurable:!0,get:function(){return g.call(this)},set:function(A){p=""+A,w.call(this,A)}}),Object.defineProperty(a,l,{enumerable:c.enumerable}),{getValue:function(){return p},setValue:function(A){p=""+A},stopTracking:function(){a._valueTracker=null,delete a[l]}}}}function Ae(a){a._valueTracker||(a._valueTracker=we(a))}function ne(a){if(!a)return!1;var l=a._valueTracker;if(!l)return!0;var c=l.getValue(),p="";return a&&(p=J(a)?a.checked?"true":"false":a.value),a=p,a!==c?(l.setValue(a),!0):!1}function lt(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}function $e(a,l){var c=l.checked;return X({},l,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c??a._wrapperState.initialChecked})}function Pe(a,l){var c=l.defaultValue==null?"":l.defaultValue,p=l.checked!=null?l.checked:l.defaultChecked;c=_e(l.value!=null?l.value:c),a._wrapperState={initialChecked:p,initialValue:c,controlled:l.type==="checkbox"||l.type==="radio"?l.checked!=null:l.value!=null}}function vt(a,l){l=l.checked,l!=null&&_(a,"checked",l,!1)}function lr(a,l){vt(a,l);var c=_e(l.value),p=l.type;if(c!=null)p==="number"?(c===0&&a.value===""||a.value!=c)&&(a.value=""+c):a.value!==""+c&&(a.value=""+c);else if(p==="submit"||p==="reset"){a.removeAttribute("value");return}l.hasOwnProperty("value")?q(a,l.type,c):l.hasOwnProperty("defaultValue")&&q(a,l.type,_e(l.defaultValue)),l.checked==null&&l.defaultChecked!=null&&(a.defaultChecked=!!l.defaultChecked)}function hi(a,l,c){if(l.hasOwnProperty("value")||l.hasOwnProperty("defaultValue")){var p=l.type;if(!(p!=="submit"&&p!=="reset"||l.value!==void 0&&l.value!==null))return;l=""+a._wrapperState.initialValue,c||l===a.value||(a.value=l),a.defaultValue=l}c=a.name,c!==""&&(a.name=""),a.defaultChecked=!!a._wrapperState.initialChecked,c!==""&&(a.name=c)}function q(a,l,c){(l!=="number"||lt(a.ownerDocument)!==a)&&(c==null?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c))}var Me=Array.isArray;function Ze(a,l,c,p){if(a=a.options,l){l={};for(var g=0;g"+l.valueOf().toString()+"",l=Fu.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}});function Ll(a,l){if(l){var c=a.firstChild;if(c&&c===a.lastChild&&c.nodeType===3){c.nodeValue=l;return}}a.textContent=l}var zl={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rN=["Webkit","ms","Moz","O"];Object.keys(zl).forEach(function(a){rN.forEach(function(l){l=l+a.charAt(0).toUpperCase()+a.substring(1),zl[l]=zl[a]})});function L0(a,l,c){return l==null||typeof l=="boolean"||l===""?"":c||typeof l!="number"||l===0||zl.hasOwnProperty(a)&&zl[a]?(""+l).trim():l+"px"}function z0(a,l){a=a.style;for(var c in l)if(l.hasOwnProperty(c)){var p=c.indexOf("--")===0,g=L0(c,l[c],p);c==="float"&&(c="cssFloat"),p?a.setProperty(c,g):a[c]=g}}var nN=X({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Nh(a,l){if(l){if(nN[a]&&(l.children!=null||l.dangerouslySetInnerHTML!=null))throw Error(r(137,a));if(l.dangerouslySetInnerHTML!=null){if(l.children!=null)throw Error(r(60));if(typeof l.dangerouslySetInnerHTML!="object"||!("__html"in l.dangerouslySetInnerHTML))throw Error(r(61))}if(l.style!=null&&typeof l.style!="object")throw Error(r(62))}}function Ih(a,l){if(a.indexOf("-")===-1)return typeof l.is=="string";switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Mh=null;function Th(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),a.nodeType===3?a.parentNode:a}var Dh=null,no=null,io=null;function F0(a){if(a=ls(a)){if(typeof Dh!="function")throw Error(r(280));var l=a.stateNode;l&&(l=uc(l),Dh(a.stateNode,a.type,l))}}function B0(a){no?io?io.push(a):io=[a]:no=a}function U0(){if(no){var a=no,l=io;if(io=no=null,F0(a),l)for(a=0;a>>=0,a===0?32:31-(pN(a)/mN|0)|0}var Ku=64,Vu=4194304;function Wl(a){switch(a&-a){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: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 a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function qu(a,l){var c=a.pendingLanes;if(c===0)return 0;var p=0,g=a.suspendedLanes,w=a.pingedLanes,A=c&268435455;if(A!==0){var I=A&~g;I!==0?p=Wl(I):(w&=A,w!==0&&(p=Wl(w)))}else A=c&~g,A!==0?p=Wl(A):w!==0&&(p=Wl(w));if(p===0)return 0;if(l!==0&&l!==p&&(l&g)===0&&(g=p&-p,w=l&-l,g>=w||g===16&&(w&4194240)!==0))return l;if((p&4)!==0&&(p|=c&16),l=a.entangledLanes,l!==0)for(a=a.entanglements,l&=p;0c;c++)l.push(a);return l}function Hl(a,l,c){a.pendingLanes|=l,l!==536870912&&(a.suspendedLanes=0,a.pingedLanes=0),a=a.eventTimes,l=31-qr(l),a[l]=c}function xN(a,l){var c=a.pendingLanes&~l;a.pendingLanes=l,a.suspendedLanes=0,a.pingedLanes=0,a.expiredLanes&=l,a.mutableReadLanes&=l,a.entangledLanes&=l,l=a.entanglements;var p=a.eventTimes;for(a=a.expirationTimes;0=Zl),vx=" ",gx=!1;function yx(a,l){switch(a){case"keyup":return qN.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xx(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var lo=!1;function YN(a,l){switch(a){case"compositionend":return xx(l);case"keypress":return l.which!==32?null:(gx=!0,vx);case"textInput":return a=l.data,a===vx&&gx?null:a;default:return null}}function QN(a,l){if(lo)return a==="compositionend"||!Jh&&yx(a,l)?(a=cx(),Zu=qh=yi=null,lo=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:c,offset:l-a};a=p}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=Ax(c)}}function Cx(a,l){return a&&l?a===l?!0:a&&a.nodeType===3?!1:l&&l.nodeType===3?Cx(a,l.parentNode):"contains"in a?a.contains(l):a.compareDocumentPosition?!!(a.compareDocumentPosition(l)&16):!1:!1}function jx(){for(var a=window,l=lt();l instanceof a.HTMLIFrameElement;){try{var c=typeof l.contentWindow.location.href=="string"}catch{c=!1}if(c)a=l.contentWindow;else break;l=lt(a.document)}return l}function rp(a){var l=a&&a.nodeName&&a.nodeName.toLowerCase();return l&&(l==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||l==="textarea"||a.contentEditable==="true")}function aI(a){var l=jx(),c=a.focusedElem,p=a.selectionRange;if(l!==c&&c&&c.ownerDocument&&Cx(c.ownerDocument.documentElement,c)){if(p!==null&&rp(c)){if(l=p.start,a=p.end,a===void 0&&(a=l),"selectionStart"in c)c.selectionStart=l,c.selectionEnd=Math.min(a,c.value.length);else if(a=(l=c.ownerDocument||document)&&l.defaultView||window,a.getSelection){a=a.getSelection();var g=c.textContent.length,w=Math.min(p.start,g);p=p.end===void 0?w:Math.min(p.end,g),!a.extend&&w>p&&(g=p,p=w,w=g),g=Ox(c,w);var A=Ox(c,p);g&&A&&(a.rangeCount!==1||a.anchorNode!==g.node||a.anchorOffset!==g.offset||a.focusNode!==A.node||a.focusOffset!==A.offset)&&(l=l.createRange(),l.setStart(g.node,g.offset),a.removeAllRanges(),w>p?(a.addRange(l),a.extend(A.node,A.offset)):(l.setEnd(A.node,A.offset),a.addRange(l)))}}for(l=[],a=c;a=a.parentNode;)a.nodeType===1&&l.push({element:a,left:a.scrollLeft,top:a.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c=document.documentMode,so=null,np=null,rs=null,ip=!1;function _x(a,l,c){var p=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;ip||so==null||so!==lt(p)||(p=so,"selectionStart"in p&&rp(p)?p={start:p.selectionStart,end:p.selectionEnd}:(p=(p.ownerDocument&&p.ownerDocument.defaultView||window).getSelection(),p={anchorNode:p.anchorNode,anchorOffset:p.anchorOffset,focusNode:p.focusNode,focusOffset:p.focusOffset}),rs&&ts(rs,p)||(rs=p,p=oc(np,"onSelect"),0po||(a.current=vp[po],vp[po]=null,po--)}function Qe(a,l){po++,vp[po]=a.current,a.current=l}var ki={},Vt=wi(ki),sr=wi(!1),oa=ki;function mo(a,l){var c=a.type.contextTypes;if(!c)return ki;var p=a.stateNode;if(p&&p.__reactInternalMemoizedUnmaskedChildContext===l)return p.__reactInternalMemoizedMaskedChildContext;var g={},w;for(w in c)g[w]=l[w];return p&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=l,a.__reactInternalMemoizedMaskedChildContext=g),g}function ur(a){return a=a.childContextTypes,a!=null}function cc(){et(sr),et(Vt)}function Kx(a,l,c){if(Vt.current!==ki)throw Error(r(168));Qe(Vt,l),Qe(sr,c)}function Vx(a,l,c){var p=a.stateNode;if(l=l.childContextTypes,typeof p.getChildContext!="function")return c;p=p.getChildContext();for(var g in p)if(!(g in l))throw Error(r(108,ge(a)||"Unknown",g));return X({},c,p)}function dc(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||ki,oa=Vt.current,Qe(Vt,a),Qe(sr,sr.current),!0}function qx(a,l,c){var p=a.stateNode;if(!p)throw Error(r(169));c?(a=Vx(a,l,oa),p.__reactInternalMemoizedMergedChildContext=a,et(sr),et(Vt),Qe(Vt,a)):et(sr),Qe(sr,c)}var $n=null,fc=!1,gp=!1;function Gx(a){$n===null?$n=[a]:$n.push(a)}function gI(a){fc=!0,Gx(a)}function Si(){if(!gp&&$n!==null){gp=!0;var a=0,l=qe;try{var c=$n;for(qe=1;a>=A,g-=A,Ln=1<<32-qr(l)+g|c<Ne?(Ct=Ce,Ce=null):Ct=Ce.sibling;var He=ee(U,Ce,W[Ne],oe);if(He===null){Ce===null&&(Ce=Ct);break}a&&Ce&&He.alternate===null&&l(U,Ce),L=w(He,L,Ne),Oe===null?ke=He:Oe.sibling=He,Oe=He,Ce=Ct}if(Ne===W.length)return c(U,Ce),it&&sa(U,Ne),ke;if(Ce===null){for(;NeNe?(Ct=Ce,Ce=null):Ct=Ce.sibling;var Ii=ee(U,Ce,He.value,oe);if(Ii===null){Ce===null&&(Ce=Ct);break}a&&Ce&&Ii.alternate===null&&l(U,Ce),L=w(Ii,L,Ne),Oe===null?ke=Ii:Oe.sibling=Ii,Oe=Ii,Ce=Ct}if(He.done)return c(U,Ce),it&&sa(U,Ne),ke;if(Ce===null){for(;!He.done;Ne++,He=W.next())He=ie(U,He.value,oe),He!==null&&(L=w(He,L,Ne),Oe===null?ke=He:Oe.sibling=He,Oe=He);return it&&sa(U,Ne),ke}for(Ce=p(U,Ce);!He.done;Ne++,He=W.next())He=he(Ce,U,Ne,He.value,oe),He!==null&&(a&&He.alternate!==null&&Ce.delete(He.key===null?Ne:He.key),L=w(He,L,Ne),Oe===null?ke=He:Oe.sibling=He,Oe=He);return a&&Ce.forEach(function(XI){return l(U,XI)}),it&&sa(U,Ne),ke}function mt(U,L,W,oe){if(typeof W=="object"&&W!==null&&W.type===R&&W.key===null&&(W=W.props.children),typeof W=="object"&&W!==null){switch(W.$$typeof){case N:e:{for(var ke=W.key,Oe=L;Oe!==null;){if(Oe.key===ke){if(ke=W.type,ke===R){if(Oe.tag===7){c(U,Oe.sibling),L=g(Oe,W.props.children),L.return=U,U=L;break e}}else if(Oe.elementType===ke||typeof ke=="object"&&ke!==null&&ke.$$typeof===fe&&eb(ke)===Oe.type){c(U,Oe.sibling),L=g(Oe,W.props),L.ref=ss(U,Oe,W),L.return=U,U=L;break e}c(U,Oe);break}else l(U,Oe);Oe=Oe.sibling}W.type===R?(L=va(W.props.children,U.mode,oe,W.key),L.return=U,U=L):(oe=Fc(W.type,W.key,W.props,null,U.mode,oe),oe.ref=ss(U,L,W),oe.return=U,U=oe)}return A(U);case C:e:{for(Oe=W.key;L!==null;){if(L.key===Oe)if(L.tag===4&&L.stateNode.containerInfo===W.containerInfo&&L.stateNode.implementation===W.implementation){c(U,L.sibling),L=g(L,W.children||[]),L.return=U,U=L;break e}else{c(U,L);break}else l(U,L);L=L.sibling}L=pm(W,U.mode,oe),L.return=U,U=L}return A(U);case fe:return Oe=W._init,mt(U,L,Oe(W._payload),oe)}if(Me(W))return ye(U,L,W,oe);if(ae(W))return xe(U,L,W,oe);vc(U,W)}return typeof W=="string"&&W!==""||typeof W=="number"?(W=""+W,L!==null&&L.tag===6?(c(U,L.sibling),L=g(L,W),L.return=U,U=L):(c(U,L),L=hm(W,U.mode,oe),L.return=U,U=L),A(U)):c(U,L)}return mt}var xo=tb(!0),rb=tb(!1),gc=wi(null),yc=null,bo=null,Sp=null;function Ep(){Sp=bo=yc=null}function Pp(a){var l=gc.current;et(gc),a._currentValue=l}function Ap(a,l,c){for(;a!==null;){var p=a.alternate;if((a.childLanes&l)!==l?(a.childLanes|=l,p!==null&&(p.childLanes|=l)):p!==null&&(p.childLanes&l)!==l&&(p.childLanes|=l),a===c)break;a=a.return}}function wo(a,l){yc=a,Sp=bo=null,a=a.dependencies,a!==null&&a.firstContext!==null&&((a.lanes&l)!==0&&(cr=!0),a.firstContext=null)}function Ir(a){var l=a._currentValue;if(Sp!==a)if(a={context:a,memoizedValue:l,next:null},bo===null){if(yc===null)throw Error(r(308));bo=a,yc.dependencies={lanes:0,firstContext:a}}else bo=bo.next=a;return l}var ua=null;function Op(a){ua===null?ua=[a]:ua.push(a)}function nb(a,l,c,p){var g=l.interleaved;return g===null?(c.next=c,Op(l)):(c.next=g.next,g.next=c),l.interleaved=c,Fn(a,p)}function Fn(a,l){a.lanes|=l;var c=a.alternate;for(c!==null&&(c.lanes|=l),c=a,a=a.return;a!==null;)a.childLanes|=l,c=a.alternate,c!==null&&(c.childLanes|=l),c=a,a=a.return;return c.tag===3?c.stateNode:null}var Ei=!1;function Cp(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ib(a,l){a=a.updateQueue,l.updateQueue===a&&(l.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function Bn(a,l){return{eventTime:a,lane:l,tag:0,payload:null,callback:null,next:null}}function Pi(a,l,c){var p=a.updateQueue;if(p===null)return null;if(p=p.shared,(We&2)!==0){var g=p.pending;return g===null?l.next=l:(l.next=g.next,g.next=l),p.pending=l,Fn(a,c)}return g=p.interleaved,g===null?(l.next=l,Op(p)):(l.next=g.next,g.next=l),p.interleaved=l,Fn(a,c)}function xc(a,l,c){if(l=l.updateQueue,l!==null&&(l=l.shared,(c&4194240)!==0)){var p=l.lanes;p&=a.pendingLanes,c|=p,l.lanes=c,Uh(a,c)}}function ab(a,l){var c=a.updateQueue,p=a.alternate;if(p!==null&&(p=p.updateQueue,c===p)){var g=null,w=null;if(c=c.firstBaseUpdate,c!==null){do{var A={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};w===null?g=w=A:w=w.next=A,c=c.next}while(c!==null);w===null?g=w=l:w=w.next=l}else g=w=l;c={baseState:p.baseState,firstBaseUpdate:g,lastBaseUpdate:w,shared:p.shared,effects:p.effects},a.updateQueue=c;return}a=c.lastBaseUpdate,a===null?c.firstBaseUpdate=l:a.next=l,c.lastBaseUpdate=l}function bc(a,l,c,p){var g=a.updateQueue;Ei=!1;var w=g.firstBaseUpdate,A=g.lastBaseUpdate,I=g.shared.pending;if(I!==null){g.shared.pending=null;var D=I,K=D.next;D.next=null,A===null?w=K:A.next=K,A=D;var re=a.alternate;re!==null&&(re=re.updateQueue,I=re.lastBaseUpdate,I!==A&&(I===null?re.firstBaseUpdate=K:I.next=K,re.lastBaseUpdate=D))}if(w!==null){var ie=g.baseState;A=0,re=K=D=null,I=w;do{var ee=I.lane,he=I.eventTime;if((p&ee)===ee){re!==null&&(re=re.next={eventTime:he,lane:0,tag:I.tag,payload:I.payload,callback:I.callback,next:null});e:{var ye=a,xe=I;switch(ee=l,he=c,xe.tag){case 1:if(ye=xe.payload,typeof ye=="function"){ie=ye.call(he,ie,ee);break e}ie=ye;break e;case 3:ye.flags=ye.flags&-65537|128;case 0:if(ye=xe.payload,ee=typeof ye=="function"?ye.call(he,ie,ee):ye,ee==null)break e;ie=X({},ie,ee);break e;case 2:Ei=!0}}I.callback!==null&&I.lane!==0&&(a.flags|=64,ee=g.effects,ee===null?g.effects=[I]:ee.push(I))}else he={eventTime:he,lane:ee,tag:I.tag,payload:I.payload,callback:I.callback,next:null},re===null?(K=re=he,D=ie):re=re.next=he,A|=ee;if(I=I.next,I===null){if(I=g.shared.pending,I===null)break;ee=I,I=ee.next,ee.next=null,g.lastBaseUpdate=ee,g.shared.pending=null}}while(!0);if(re===null&&(D=ie),g.baseState=D,g.firstBaseUpdate=K,g.lastBaseUpdate=re,l=g.shared.interleaved,l!==null){g=l;do A|=g.lane,g=g.next;while(g!==l)}else w===null&&(g.shared.lanes=0);fa|=A,a.lanes=A,a.memoizedState=ie}}function ob(a,l,c){if(a=l.effects,l.effects=null,a!==null)for(l=0;lc?c:4,a(!0);var p=Mp.transition;Mp.transition={};try{a(!1),l()}finally{qe=c,Mp.transition=p}}function Pb(){return Mr().memoizedState}function wI(a,l,c){var p=ji(a);if(c={lane:p,action:c,hasEagerState:!1,eagerState:null,next:null},Ab(a))Ob(l,c);else if(c=nb(a,l,c,p),c!==null){var g=tr();Jr(c,a,p,g),Cb(c,l,p)}}function kI(a,l,c){var p=ji(a),g={lane:p,action:c,hasEagerState:!1,eagerState:null,next:null};if(Ab(a))Ob(l,g);else{var w=a.alternate;if(a.lanes===0&&(w===null||w.lanes===0)&&(w=l.lastRenderedReducer,w!==null))try{var A=l.lastRenderedState,I=w(A,c);if(g.hasEagerState=!0,g.eagerState=I,Gr(I,A)){var D=l.interleaved;D===null?(g.next=g,Op(l)):(g.next=D.next,D.next=g),l.interleaved=g;return}}catch{}finally{}c=nb(a,l,g,p),c!==null&&(g=tr(),Jr(c,a,p,g),Cb(c,l,p))}}function Ab(a){var l=a.alternate;return a===ut||l!==null&&l===ut}function Ob(a,l){fs=Sc=!0;var c=a.pending;c===null?l.next=l:(l.next=c.next,c.next=l),a.pending=l}function Cb(a,l,c){if((c&4194240)!==0){var p=l.lanes;p&=a.pendingLanes,c|=p,l.lanes=c,Uh(a,c)}}var Ac={readContext:Ir,useCallback:qt,useContext:qt,useEffect:qt,useImperativeHandle:qt,useInsertionEffect:qt,useLayoutEffect:qt,useMemo:qt,useReducer:qt,useRef:qt,useState:qt,useDebugValue:qt,useDeferredValue:qt,useTransition:qt,useMutableSource:qt,useSyncExternalStore:qt,useId:qt,unstable_isNewReconciler:!1},SI={readContext:Ir,useCallback:function(a,l){return pn().memoizedState=[a,l===void 0?null:l],a},useContext:Ir,useEffect:gb,useImperativeHandle:function(a,l,c){return c=c!=null?c.concat([a]):null,Ec(4194308,4,bb.bind(null,l,a),c)},useLayoutEffect:function(a,l){return Ec(4194308,4,a,l)},useInsertionEffect:function(a,l){return Ec(4,2,a,l)},useMemo:function(a,l){var c=pn();return l=l===void 0?null:l,a=a(),c.memoizedState=[a,l],a},useReducer:function(a,l,c){var p=pn();return l=c!==void 0?c(l):l,p.memoizedState=p.baseState=l,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:l},p.queue=a,a=a.dispatch=wI.bind(null,ut,a),[p.memoizedState,a]},useRef:function(a){var l=pn();return a={current:a},l.memoizedState=a},useState:mb,useDebugValue:Fp,useDeferredValue:function(a){return pn().memoizedState=a},useTransition:function(){var a=mb(!1),l=a[0];return a=bI.bind(null,a[1]),pn().memoizedState=a,[l,a]},useMutableSource:function(){},useSyncExternalStore:function(a,l,c){var p=ut,g=pn();if(it){if(c===void 0)throw Error(r(407));c=c()}else{if(c=l(),Ot===null)throw Error(r(349));(da&30)!==0||cb(p,l,c)}g.memoizedState=c;var w={value:c,getSnapshot:l};return g.queue=w,gb(fb.bind(null,p,w,a),[a]),p.flags|=2048,ms(9,db.bind(null,p,w,c,l),void 0,null),c},useId:function(){var a=pn(),l=Ot.identifierPrefix;if(it){var c=zn,p=Ln;c=(p&~(1<<32-qr(p)-1)).toString(32)+c,l=":"+l+"R"+c,c=hs++,0")&&(D=D.replace("",a.displayName)),D}while(1<=A&&0<=I);break}}}finally{Z=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?T(a):""}function te(a){switch(a.tag){case 5:return T(a.type);case 16:return T("Lazy");case 13:return T("Suspense");case 19:return T("SuspenseList");case 0:case 2:case 15:return a=se(a.type,!1),a;case 11:return a=se(a.type.render,!1),a;case 1:return a=se(a.type,!0),a;default:return""}}function ce(a){if(a==null)return null;if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case R:return"Fragment";case C:return"Portal";case F:return"Profiler";case z:return"StrictMode";case ue:return"Suspense";case G:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case Q:return(a.displayName||"Context")+".Consumer";case V:return(a._context.displayName||"Context")+".Provider";case B:var l=a.render;return a=a.displayName,a||(a=l.displayName||l.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case le:return l=a.displayName||null,l!==null?l:ce(a.type)||"Memo";case fe:l=a._payload,a=a._init;try{return ce(a(l))}catch{}}return null}function ge(a){var l=a.type;switch(a.tag){case 24:return"Cache";case 9:return(l.displayName||"Context")+".Consumer";case 10:return(l._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return a=l.render,a=a.displayName||a.name||"",l.displayName||(a!==""?"ForwardRef("+a+")":"ForwardRef");case 7:return"Fragment";case 5:return l;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ce(l);case 8:return l===z?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof l=="function")return l.displayName||l.name||null;if(typeof l=="string")return l}return null}function _e(a){switch(typeof a){case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function J(a){var l=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function we(a){var l=J(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,l),p=""+a[l];if(!a.hasOwnProperty(l)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var g=c.get,w=c.set;return Object.defineProperty(a,l,{configurable:!0,get:function(){return g.call(this)},set:function(A){p=""+A,w.call(this,A)}}),Object.defineProperty(a,l,{enumerable:c.enumerable}),{getValue:function(){return p},setValue:function(A){p=""+A},stopTracking:function(){a._valueTracker=null,delete a[l]}}}}function Ae(a){a._valueTracker||(a._valueTracker=we(a))}function ne(a){if(!a)return!1;var l=a._valueTracker;if(!l)return!0;var c=l.getValue(),p="";return a&&(p=J(a)?a.checked?"true":"false":a.value),a=p,a!==c?(l.setValue(a),!0):!1}function lt(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}function $e(a,l){var c=l.checked;return X({},l,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c??a._wrapperState.initialChecked})}function Pe(a,l){var c=l.defaultValue==null?"":l.defaultValue,p=l.checked!=null?l.checked:l.defaultChecked;c=_e(l.value!=null?l.value:c),a._wrapperState={initialChecked:p,initialValue:c,controlled:l.type==="checkbox"||l.type==="radio"?l.checked!=null:l.value!=null}}function vt(a,l){l=l.checked,l!=null&&_(a,"checked",l,!1)}function lr(a,l){vt(a,l);var c=_e(l.value),p=l.type;if(c!=null)p==="number"?(c===0&&a.value===""||a.value!=c)&&(a.value=""+c):a.value!==""+c&&(a.value=""+c);else if(p==="submit"||p==="reset"){a.removeAttribute("value");return}l.hasOwnProperty("value")?q(a,l.type,c):l.hasOwnProperty("defaultValue")&&q(a,l.type,_e(l.defaultValue)),l.checked==null&&l.defaultChecked!=null&&(a.defaultChecked=!!l.defaultChecked)}function hi(a,l,c){if(l.hasOwnProperty("value")||l.hasOwnProperty("defaultValue")){var p=l.type;if(!(p!=="submit"&&p!=="reset"||l.value!==void 0&&l.value!==null))return;l=""+a._wrapperState.initialValue,c||l===a.value||(a.value=l),a.defaultValue=l}c=a.name,c!==""&&(a.name=""),a.defaultChecked=!!a._wrapperState.initialChecked,c!==""&&(a.name=c)}function q(a,l,c){(l!=="number"||lt(a.ownerDocument)!==a)&&(c==null?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c))}var Me=Array.isArray;function Ze(a,l,c,p){if(a=a.options,l){l={};for(var g=0;g"+l.valueOf().toString()+"",l=Fu.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}});function Ll(a,l){if(l){var c=a.firstChild;if(c&&c===a.lastChild&&c.nodeType===3){c.nodeValue=l;return}}a.textContent=l}var zl={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rN=["Webkit","ms","Moz","O"];Object.keys(zl).forEach(function(a){rN.forEach(function(l){l=l+a.charAt(0).toUpperCase()+a.substring(1),zl[l]=zl[a]})});function L0(a,l,c){return l==null||typeof l=="boolean"||l===""?"":c||typeof l!="number"||l===0||zl.hasOwnProperty(a)&&zl[a]?(""+l).trim():l+"px"}function z0(a,l){a=a.style;for(var c in l)if(l.hasOwnProperty(c)){var p=c.indexOf("--")===0,g=L0(c,l[c],p);c==="float"&&(c="cssFloat"),p?a.setProperty(c,g):a[c]=g}}var nN=X({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Nh(a,l){if(l){if(nN[a]&&(l.children!=null||l.dangerouslySetInnerHTML!=null))throw Error(r(137,a));if(l.dangerouslySetInnerHTML!=null){if(l.children!=null)throw Error(r(60));if(typeof l.dangerouslySetInnerHTML!="object"||!("__html"in l.dangerouslySetInnerHTML))throw Error(r(61))}if(l.style!=null&&typeof l.style!="object")throw Error(r(62))}}function Ih(a,l){if(a.indexOf("-")===-1)return typeof l.is=="string";switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Mh=null;function Th(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),a.nodeType===3?a.parentNode:a}var Dh=null,no=null,io=null;function F0(a){if(a=ls(a)){if(typeof Dh!="function")throw Error(r(280));var l=a.stateNode;l&&(l=uc(l),Dh(a.stateNode,a.type,l))}}function B0(a){no?io?io.push(a):io=[a]:no=a}function U0(){if(no){var a=no,l=io;if(io=no=null,F0(a),l)for(a=0;a>>=0,a===0?32:31-(pN(a)/mN|0)|0}var Ku=64,Vu=4194304;function Wl(a){switch(a&-a){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: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 a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function qu(a,l){var c=a.pendingLanes;if(c===0)return 0;var p=0,g=a.suspendedLanes,w=a.pingedLanes,A=c&268435455;if(A!==0){var I=A&~g;I!==0?p=Wl(I):(w&=A,w!==0&&(p=Wl(w)))}else A=c&~g,A!==0?p=Wl(A):w!==0&&(p=Wl(w));if(p===0)return 0;if(l!==0&&l!==p&&(l&g)===0&&(g=p&-p,w=l&-l,g>=w||g===16&&(w&4194240)!==0))return l;if((p&4)!==0&&(p|=c&16),l=a.entangledLanes,l!==0)for(a=a.entanglements,l&=p;0c;c++)l.push(a);return l}function Hl(a,l,c){a.pendingLanes|=l,l!==536870912&&(a.suspendedLanes=0,a.pingedLanes=0),a=a.eventTimes,l=31-qr(l),a[l]=c}function xN(a,l){var c=a.pendingLanes&~l;a.pendingLanes=l,a.suspendedLanes=0,a.pingedLanes=0,a.expiredLanes&=l,a.mutableReadLanes&=l,a.entangledLanes&=l,l=a.entanglements;var p=a.eventTimes;for(a=a.expirationTimes;0=Zl),vx=" ",gx=!1;function yx(a,l){switch(a){case"keyup":return qN.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xx(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var lo=!1;function YN(a,l){switch(a){case"compositionend":return xx(l);case"keypress":return l.which!==32?null:(gx=!0,vx);case"textInput":return a=l.data,a===vx&&gx?null:a;default:return null}}function QN(a,l){if(lo)return a==="compositionend"||!Jh&&yx(a,l)?(a=cx(),Zu=qh=yi=null,lo=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:c,offset:l-a};a=p}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=Ax(c)}}function Cx(a,l){return a&&l?a===l?!0:a&&a.nodeType===3?!1:l&&l.nodeType===3?Cx(a,l.parentNode):"contains"in a?a.contains(l):a.compareDocumentPosition?!!(a.compareDocumentPosition(l)&16):!1:!1}function jx(){for(var a=window,l=lt();l instanceof a.HTMLIFrameElement;){try{var c=typeof l.contentWindow.location.href=="string"}catch{c=!1}if(c)a=l.contentWindow;else break;l=lt(a.document)}return l}function rp(a){var l=a&&a.nodeName&&a.nodeName.toLowerCase();return l&&(l==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||l==="textarea"||a.contentEditable==="true")}function aI(a){var l=jx(),c=a.focusedElem,p=a.selectionRange;if(l!==c&&c&&c.ownerDocument&&Cx(c.ownerDocument.documentElement,c)){if(p!==null&&rp(c)){if(l=p.start,a=p.end,a===void 0&&(a=l),"selectionStart"in c)c.selectionStart=l,c.selectionEnd=Math.min(a,c.value.length);else if(a=(l=c.ownerDocument||document)&&l.defaultView||window,a.getSelection){a=a.getSelection();var g=c.textContent.length,w=Math.min(p.start,g);p=p.end===void 0?w:Math.min(p.end,g),!a.extend&&w>p&&(g=p,p=w,w=g),g=Ox(c,w);var A=Ox(c,p);g&&A&&(a.rangeCount!==1||a.anchorNode!==g.node||a.anchorOffset!==g.offset||a.focusNode!==A.node||a.focusOffset!==A.offset)&&(l=l.createRange(),l.setStart(g.node,g.offset),a.removeAllRanges(),w>p?(a.addRange(l),a.extend(A.node,A.offset)):(l.setEnd(A.node,A.offset),a.addRange(l)))}}for(l=[],a=c;a=a.parentNode;)a.nodeType===1&&l.push({element:a,left:a.scrollLeft,top:a.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c=document.documentMode,so=null,np=null,rs=null,ip=!1;function _x(a,l,c){var p=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;ip||so==null||so!==lt(p)||(p=so,"selectionStart"in p&&rp(p)?p={start:p.selectionStart,end:p.selectionEnd}:(p=(p.ownerDocument&&p.ownerDocument.defaultView||window).getSelection(),p={anchorNode:p.anchorNode,anchorOffset:p.anchorOffset,focusNode:p.focusNode,focusOffset:p.focusOffset}),rs&&ts(rs,p)||(rs=p,p=oc(np,"onSelect"),0po||(a.current=vp[po],vp[po]=null,po--)}function Qe(a,l){po++,vp[po]=a.current,a.current=l}var ki={},Vt=wi(ki),sr=wi(!1),oa=ki;function mo(a,l){var c=a.type.contextTypes;if(!c)return ki;var p=a.stateNode;if(p&&p.__reactInternalMemoizedUnmaskedChildContext===l)return p.__reactInternalMemoizedMaskedChildContext;var g={},w;for(w in c)g[w]=l[w];return p&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=l,a.__reactInternalMemoizedMaskedChildContext=g),g}function ur(a){return a=a.childContextTypes,a!=null}function cc(){et(sr),et(Vt)}function Kx(a,l,c){if(Vt.current!==ki)throw Error(r(168));Qe(Vt,l),Qe(sr,c)}function Vx(a,l,c){var p=a.stateNode;if(l=l.childContextTypes,typeof p.getChildContext!="function")return c;p=p.getChildContext();for(var g in p)if(!(g in l))throw Error(r(108,ge(a)||"Unknown",g));return X({},c,p)}function dc(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||ki,oa=Vt.current,Qe(Vt,a),Qe(sr,sr.current),!0}function qx(a,l,c){var p=a.stateNode;if(!p)throw Error(r(169));c?(a=Vx(a,l,oa),p.__reactInternalMemoizedMergedChildContext=a,et(sr),et(Vt),Qe(Vt,a)):et(sr),Qe(sr,c)}var $n=null,fc=!1,gp=!1;function Gx(a){$n===null?$n=[a]:$n.push(a)}function gI(a){fc=!0,Gx(a)}function Si(){if(!gp&&$n!==null){gp=!0;var a=0,l=qe;try{var c=$n;for(qe=1;a>=A,g-=A,Ln=1<<32-qr(l)+g|c<Ne?(Ct=Ce,Ce=null):Ct=Ce.sibling;var He=ee(U,Ce,W[Ne],oe);if(He===null){Ce===null&&(Ce=Ct);break}a&&Ce&&He.alternate===null&&l(U,Ce),L=w(He,L,Ne),Oe===null?ke=He:Oe.sibling=He,Oe=He,Ce=Ct}if(Ne===W.length)return c(U,Ce),it&&sa(U,Ne),ke;if(Ce===null){for(;NeNe?(Ct=Ce,Ce=null):Ct=Ce.sibling;var Ii=ee(U,Ce,He.value,oe);if(Ii===null){Ce===null&&(Ce=Ct);break}a&&Ce&&Ii.alternate===null&&l(U,Ce),L=w(Ii,L,Ne),Oe===null?ke=Ii:Oe.sibling=Ii,Oe=Ii,Ce=Ct}if(He.done)return c(U,Ce),it&&sa(U,Ne),ke;if(Ce===null){for(;!He.done;Ne++,He=W.next())He=ie(U,He.value,oe),He!==null&&(L=w(He,L,Ne),Oe===null?ke=He:Oe.sibling=He,Oe=He);return it&&sa(U,Ne),ke}for(Ce=p(U,Ce);!He.done;Ne++,He=W.next())He=he(Ce,U,Ne,He.value,oe),He!==null&&(a&&He.alternate!==null&&Ce.delete(He.key===null?Ne:He.key),L=w(He,L,Ne),Oe===null?ke=He:Oe.sibling=He,Oe=He);return a&&Ce.forEach(function(XI){return l(U,XI)}),it&&sa(U,Ne),ke}function mt(U,L,W,oe){if(typeof W=="object"&&W!==null&&W.type===R&&W.key===null&&(W=W.props.children),typeof W=="object"&&W!==null){switch(W.$$typeof){case N:e:{for(var ke=W.key,Oe=L;Oe!==null;){if(Oe.key===ke){if(ke=W.type,ke===R){if(Oe.tag===7){c(U,Oe.sibling),L=g(Oe,W.props.children),L.return=U,U=L;break e}}else if(Oe.elementType===ke||typeof ke=="object"&&ke!==null&&ke.$$typeof===fe&&eb(ke)===Oe.type){c(U,Oe.sibling),L=g(Oe,W.props),L.ref=ss(U,Oe,W),L.return=U,U=L;break e}c(U,Oe);break}else l(U,Oe);Oe=Oe.sibling}W.type===R?(L=va(W.props.children,U.mode,oe,W.key),L.return=U,U=L):(oe=Fc(W.type,W.key,W.props,null,U.mode,oe),oe.ref=ss(U,L,W),oe.return=U,U=oe)}return A(U);case C:e:{for(Oe=W.key;L!==null;){if(L.key===Oe)if(L.tag===4&&L.stateNode.containerInfo===W.containerInfo&&L.stateNode.implementation===W.implementation){c(U,L.sibling),L=g(L,W.children||[]),L.return=U,U=L;break e}else{c(U,L);break}else l(U,L);L=L.sibling}L=pm(W,U.mode,oe),L.return=U,U=L}return A(U);case fe:return Oe=W._init,mt(U,L,Oe(W._payload),oe)}if(Me(W))return ye(U,L,W,oe);if(ae(W))return xe(U,L,W,oe);vc(U,W)}return typeof W=="string"&&W!==""||typeof W=="number"?(W=""+W,L!==null&&L.tag===6?(c(U,L.sibling),L=g(L,W),L.return=U,U=L):(c(U,L),L=hm(W,U.mode,oe),L.return=U,U=L),A(U)):c(U,L)}return mt}var xo=tb(!0),rb=tb(!1),gc=wi(null),yc=null,bo=null,Sp=null;function Ep(){Sp=bo=yc=null}function Pp(a){var l=gc.current;et(gc),a._currentValue=l}function Ap(a,l,c){for(;a!==null;){var p=a.alternate;if((a.childLanes&l)!==l?(a.childLanes|=l,p!==null&&(p.childLanes|=l)):p!==null&&(p.childLanes&l)!==l&&(p.childLanes|=l),a===c)break;a=a.return}}function wo(a,l){yc=a,Sp=bo=null,a=a.dependencies,a!==null&&a.firstContext!==null&&((a.lanes&l)!==0&&(cr=!0),a.firstContext=null)}function Ir(a){var l=a._currentValue;if(Sp!==a)if(a={context:a,memoizedValue:l,next:null},bo===null){if(yc===null)throw Error(r(308));bo=a,yc.dependencies={lanes:0,firstContext:a}}else bo=bo.next=a;return l}var ua=null;function Op(a){ua===null?ua=[a]:ua.push(a)}function nb(a,l,c,p){var g=l.interleaved;return g===null?(c.next=c,Op(l)):(c.next=g.next,g.next=c),l.interleaved=c,Fn(a,p)}function Fn(a,l){a.lanes|=l;var c=a.alternate;for(c!==null&&(c.lanes|=l),c=a,a=a.return;a!==null;)a.childLanes|=l,c=a.alternate,c!==null&&(c.childLanes|=l),c=a,a=a.return;return c.tag===3?c.stateNode:null}var Ei=!1;function Cp(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ib(a,l){a=a.updateQueue,l.updateQueue===a&&(l.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function Bn(a,l){return{eventTime:a,lane:l,tag:0,payload:null,callback:null,next:null}}function Pi(a,l,c){var p=a.updateQueue;if(p===null)return null;if(p=p.shared,(We&2)!==0){var g=p.pending;return g===null?l.next=l:(l.next=g.next,g.next=l),p.pending=l,Fn(a,c)}return g=p.interleaved,g===null?(l.next=l,Op(p)):(l.next=g.next,g.next=l),p.interleaved=l,Fn(a,c)}function xc(a,l,c){if(l=l.updateQueue,l!==null&&(l=l.shared,(c&4194240)!==0)){var p=l.lanes;p&=a.pendingLanes,c|=p,l.lanes=c,Uh(a,c)}}function ab(a,l){var c=a.updateQueue,p=a.alternate;if(p!==null&&(p=p.updateQueue,c===p)){var g=null,w=null;if(c=c.firstBaseUpdate,c!==null){do{var A={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};w===null?g=w=A:w=w.next=A,c=c.next}while(c!==null);w===null?g=w=l:w=w.next=l}else g=w=l;c={baseState:p.baseState,firstBaseUpdate:g,lastBaseUpdate:w,shared:p.shared,effects:p.effects},a.updateQueue=c;return}a=c.lastBaseUpdate,a===null?c.firstBaseUpdate=l:a.next=l,c.lastBaseUpdate=l}function bc(a,l,c,p){var g=a.updateQueue;Ei=!1;var w=g.firstBaseUpdate,A=g.lastBaseUpdate,I=g.shared.pending;if(I!==null){g.shared.pending=null;var D=I,K=D.next;D.next=null,A===null?w=K:A.next=K,A=D;var re=a.alternate;re!==null&&(re=re.updateQueue,I=re.lastBaseUpdate,I!==A&&(I===null?re.firstBaseUpdate=K:I.next=K,re.lastBaseUpdate=D))}if(w!==null){var ie=g.baseState;A=0,re=K=D=null,I=w;do{var ee=I.lane,he=I.eventTime;if((p&ee)===ee){re!==null&&(re=re.next={eventTime:he,lane:0,tag:I.tag,payload:I.payload,callback:I.callback,next:null});e:{var ye=a,xe=I;switch(ee=l,he=c,xe.tag){case 1:if(ye=xe.payload,typeof ye=="function"){ie=ye.call(he,ie,ee);break e}ie=ye;break e;case 3:ye.flags=ye.flags&-65537|128;case 0:if(ye=xe.payload,ee=typeof ye=="function"?ye.call(he,ie,ee):ye,ee==null)break e;ie=X({},ie,ee);break e;case 2:Ei=!0}}I.callback!==null&&I.lane!==0&&(a.flags|=64,ee=g.effects,ee===null?g.effects=[I]:ee.push(I))}else he={eventTime:he,lane:ee,tag:I.tag,payload:I.payload,callback:I.callback,next:null},re===null?(K=re=he,D=ie):re=re.next=he,A|=ee;if(I=I.next,I===null){if(I=g.shared.pending,I===null)break;ee=I,I=ee.next,ee.next=null,g.lastBaseUpdate=ee,g.shared.pending=null}}while(!0);if(re===null&&(D=ie),g.baseState=D,g.firstBaseUpdate=K,g.lastBaseUpdate=re,l=g.shared.interleaved,l!==null){g=l;do A|=g.lane,g=g.next;while(g!==l)}else w===null&&(g.shared.lanes=0);fa|=A,a.lanes=A,a.memoizedState=ie}}function ob(a,l,c){if(a=l.effects,l.effects=null,a!==null)for(l=0;lc?c:4,a(!0);var p=Mp.transition;Mp.transition={};try{a(!1),l()}finally{qe=c,Mp.transition=p}}function Pb(){return Mr().memoizedState}function wI(a,l,c){var p=ji(a);if(c={lane:p,action:c,hasEagerState:!1,eagerState:null,next:null},Ab(a))Ob(l,c);else if(c=nb(a,l,c,p),c!==null){var g=tr();Jr(c,a,p,g),Cb(c,l,p)}}function kI(a,l,c){var p=ji(a),g={lane:p,action:c,hasEagerState:!1,eagerState:null,next:null};if(Ab(a))Ob(l,g);else{var w=a.alternate;if(a.lanes===0&&(w===null||w.lanes===0)&&(w=l.lastRenderedReducer,w!==null))try{var A=l.lastRenderedState,I=w(A,c);if(g.hasEagerState=!0,g.eagerState=I,Gr(I,A)){var D=l.interleaved;D===null?(g.next=g,Op(l)):(g.next=D.next,D.next=g),l.interleaved=g;return}}catch{}finally{}c=nb(a,l,g,p),c!==null&&(g=tr(),Jr(c,a,p,g),Cb(c,l,p))}}function Ab(a){var l=a.alternate;return a===ut||l!==null&&l===ut}function Ob(a,l){fs=Sc=!0;var c=a.pending;c===null?l.next=l:(l.next=c.next,c.next=l),a.pending=l}function Cb(a,l,c){if((c&4194240)!==0){var p=l.lanes;p&=a.pendingLanes,c|=p,l.lanes=c,Uh(a,c)}}var Ac={readContext:Ir,useCallback:qt,useContext:qt,useEffect:qt,useImperativeHandle:qt,useInsertionEffect:qt,useLayoutEffect:qt,useMemo:qt,useReducer:qt,useRef:qt,useState:qt,useDebugValue:qt,useDeferredValue:qt,useTransition:qt,useMutableSource:qt,useSyncExternalStore:qt,useId:qt,unstable_isNewReconciler:!1},SI={readContext:Ir,useCallback:function(a,l){return mn().memoizedState=[a,l===void 0?null:l],a},useContext:Ir,useEffect:gb,useImperativeHandle:function(a,l,c){return c=c!=null?c.concat([a]):null,Ec(4194308,4,bb.bind(null,l,a),c)},useLayoutEffect:function(a,l){return Ec(4194308,4,a,l)},useInsertionEffect:function(a,l){return Ec(4,2,a,l)},useMemo:function(a,l){var c=mn();return l=l===void 0?null:l,a=a(),c.memoizedState=[a,l],a},useReducer:function(a,l,c){var p=mn();return l=c!==void 0?c(l):l,p.memoizedState=p.baseState=l,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:l},p.queue=a,a=a.dispatch=wI.bind(null,ut,a),[p.memoizedState,a]},useRef:function(a){var l=mn();return a={current:a},l.memoizedState=a},useState:mb,useDebugValue:Fp,useDeferredValue:function(a){return mn().memoizedState=a},useTransition:function(){var a=mb(!1),l=a[0];return a=bI.bind(null,a[1]),mn().memoizedState=a,[l,a]},useMutableSource:function(){},useSyncExternalStore:function(a,l,c){var p=ut,g=mn();if(it){if(c===void 0)throw Error(r(407));c=c()}else{if(c=l(),Ot===null)throw Error(r(349));(da&30)!==0||cb(p,l,c)}g.memoizedState=c;var w={value:c,getSnapshot:l};return g.queue=w,gb(fb.bind(null,p,w,a),[a]),p.flags|=2048,ms(9,db.bind(null,p,w,c,l),void 0,null),c},useId:function(){var a=mn(),l=Ot.identifierPrefix;if(it){var c=zn,p=Ln;c=(p&~(1<<32-qr(p)-1)).toString(32)+c,l=":"+l+"R"+c,c=hs++,0<\/script>",a=a.removeChild(a.firstChild)):typeof p.is=="string"?a=A.createElement(c,{is:p.is}):(a=A.createElement(c),c==="select"&&(A=a,p.multiple?A.multiple=!0:p.size&&(A.size=p.size))):a=A.createElementNS(a,c),a[fn]=l,a[os]=p,Gb(a,l,!1,!1),l.stateNode=a;e:{switch(A=Ih(c,p),c){case"dialog":Je("cancel",a),Je("close",a),g=p;break;case"iframe":case"object":case"embed":Je("load",a),g=p;break;case"video":case"audio":for(g=0;gAo&&(l.flags|=128,p=!0,vs(w,!1),l.lanes=4194304)}else{if(!p)if(a=wc(A),a!==null){if(l.flags|=128,p=!0,c=a.updateQueue,c!==null&&(l.updateQueue=c,l.flags|=4),vs(w,!0),w.tail===null&&w.tailMode==="hidden"&&!A.alternate&&!it)return Gt(l),null}else 2*pt()-w.renderingStartTime>Ao&&c!==1073741824&&(l.flags|=128,p=!0,vs(w,!1),l.lanes=4194304);w.isBackwards?(A.sibling=l.child,l.child=A):(c=w.last,c!==null?c.sibling=A:l.child=A,w.last=A)}return w.tail!==null?(l=w.tail,w.rendering=l,w.tail=l.sibling,w.renderingStartTime=pt(),l.sibling=null,c=st.current,Qe(st,p?c&1|2:c&1),l):(Gt(l),null);case 22:case 23:return cm(),p=l.memoizedState!==null,a!==null&&a.memoizedState!==null!==p&&(l.flags|=8192),p&&(l.mode&1)!==0?(kr&1073741824)!==0&&(Gt(l),l.subtreeFlags&6&&(l.flags|=8192)):Gt(l),null;case 24:return null;case 25:return null}throw Error(r(156,l.tag))}function NI(a,l){switch(xp(l),l.tag){case 1:return ur(l.type)&&cc(),a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 3:return ko(),et(sr),et(Vt),Ip(),a=l.flags,(a&65536)!==0&&(a&128)===0?(l.flags=a&-65537|128,l):null;case 5:return _p(l),null;case 13:if(et(st),a=l.memoizedState,a!==null&&a.dehydrated!==null){if(l.alternate===null)throw Error(r(340));yo()}return a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 19:return et(st),null;case 4:return ko(),null;case 10:return Pp(l.type._context),null;case 22:case 23:return cm(),null;case 24:return null;default:return null}}var _c=!1,Yt=!1,II=typeof WeakSet=="function"?WeakSet:Set,me=null;function Eo(a,l){var c=a.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(p){ct(a,l,p)}else c.current=null}function Zp(a,l,c){try{c()}catch(p){ct(a,l,p)}}var Xb=!1;function MI(a,l){if(cp=Qu,a=jx(),rp(a)){if("selectionStart"in a)var c={start:a.selectionStart,end:a.selectionEnd};else e:{c=(c=a.ownerDocument)&&c.defaultView||window;var p=c.getSelection&&c.getSelection();if(p&&p.rangeCount!==0){c=p.anchorNode;var g=p.anchorOffset,w=p.focusNode;p=p.focusOffset;try{c.nodeType,w.nodeType}catch{c=null;break e}var A=0,I=-1,D=-1,K=0,re=0,ie=a,ee=null;t:for(;;){for(var he;ie!==c||g!==0&&ie.nodeType!==3||(I=A+g),ie!==w||p!==0&&ie.nodeType!==3||(D=A+p),ie.nodeType===3&&(A+=ie.nodeValue.length),(he=ie.firstChild)!==null;)ee=ie,ie=he;for(;;){if(ie===a)break t;if(ee===c&&++K===g&&(I=A),ee===w&&++re===p&&(D=A),(he=ie.nextSibling)!==null)break;ie=ee,ee=ie.parentNode}ie=he}c=I===-1||D===-1?null:{start:I,end:D}}else c=null}c=c||{start:0,end:0}}else c=null;for(dp={focusedElem:a,selectionRange:c},Qu=!1,me=l;me!==null;)if(l=me,a=l.child,(l.subtreeFlags&1028)!==0&&a!==null)a.return=l,me=a;else for(;me!==null;){l=me;try{var ye=l.alternate;if((l.flags&1024)!==0)switch(l.tag){case 0:case 11:case 15:break;case 1:if(ye!==null){var xe=ye.memoizedProps,mt=ye.memoizedState,U=l.stateNode,L=U.getSnapshotBeforeUpdate(l.elementType===l.type?xe:Qr(l.type,xe),mt);U.__reactInternalSnapshotBeforeUpdate=L}break;case 3:var W=l.stateNode.containerInfo;W.nodeType===1?W.textContent="":W.nodeType===9&&W.documentElement&&W.removeChild(W.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(oe){ct(l,l.return,oe)}if(a=l.sibling,a!==null){a.return=l.return,me=a;break}me=l.return}return ye=Xb,Xb=!1,ye}function gs(a,l,c){var p=l.updateQueue;if(p=p!==null?p.lastEffect:null,p!==null){var g=p=p.next;do{if((g.tag&a)===a){var w=g.destroy;g.destroy=void 0,w!==void 0&&Zp(l,c,w)}g=g.next}while(g!==p)}}function Nc(a,l){if(l=l.updateQueue,l=l!==null?l.lastEffect:null,l!==null){var c=l=l.next;do{if((c.tag&a)===a){var p=c.create;c.destroy=p()}c=c.next}while(c!==l)}}function Jp(a){var l=a.ref;if(l!==null){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}typeof l=="function"?l(a):l.current=a}}function Zb(a){var l=a.alternate;l!==null&&(a.alternate=null,Zb(l)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(l=a.stateNode,l!==null&&(delete l[fn],delete l[os],delete l[mp],delete l[mI],delete l[vI])),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function Jb(a){return a.tag===5||a.tag===3||a.tag===4}function e1(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||Jb(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function em(a,l,c){var p=a.tag;if(p===5||p===6)a=a.stateNode,l?c.nodeType===8?c.parentNode.insertBefore(a,l):c.insertBefore(a,l):(c.nodeType===8?(l=c.parentNode,l.insertBefore(a,c)):(l=c,l.appendChild(a)),c=c._reactRootContainer,c!=null||l.onclick!==null||(l.onclick=sc));else if(p!==4&&(a=a.child,a!==null))for(em(a,l,c),a=a.sibling;a!==null;)em(a,l,c),a=a.sibling}function tm(a,l,c){var p=a.tag;if(p===5||p===6)a=a.stateNode,l?c.insertBefore(a,l):c.appendChild(a);else if(p!==4&&(a=a.child,a!==null))for(tm(a,l,c),a=a.sibling;a!==null;)tm(a,l,c),a=a.sibling}var Dt=null,Xr=!1;function Ai(a,l,c){for(c=c.child;c!==null;)t1(a,l,c),c=c.sibling}function t1(a,l,c){if(dn&&typeof dn.onCommitFiberUnmount=="function")try{dn.onCommitFiberUnmount(Hu,c)}catch{}switch(c.tag){case 5:Yt||Eo(c,l);case 6:var p=Dt,g=Xr;Dt=null,Ai(a,l,c),Dt=p,Xr=g,Dt!==null&&(Xr?(a=Dt,c=c.stateNode,a.nodeType===8?a.parentNode.removeChild(c):a.removeChild(c)):Dt.removeChild(c.stateNode));break;case 18:Dt!==null&&(Xr?(a=Dt,c=c.stateNode,a.nodeType===8?pp(a.parentNode,c):a.nodeType===1&&pp(a,c),Yl(a)):pp(Dt,c.stateNode));break;case 4:p=Dt,g=Xr,Dt=c.stateNode.containerInfo,Xr=!0,Ai(a,l,c),Dt=p,Xr=g;break;case 0:case 11:case 14:case 15:if(!Yt&&(p=c.updateQueue,p!==null&&(p=p.lastEffect,p!==null))){g=p=p.next;do{var w=g,A=w.destroy;w=w.tag,A!==void 0&&((w&2)!==0||(w&4)!==0)&&Zp(c,l,A),g=g.next}while(g!==p)}Ai(a,l,c);break;case 1:if(!Yt&&(Eo(c,l),p=c.stateNode,typeof p.componentWillUnmount=="function"))try{p.props=c.memoizedProps,p.state=c.memoizedState,p.componentWillUnmount()}catch(I){ct(c,l,I)}Ai(a,l,c);break;case 21:Ai(a,l,c);break;case 22:c.mode&1?(Yt=(p=Yt)||c.memoizedState!==null,Ai(a,l,c),Yt=p):Ai(a,l,c);break;default:Ai(a,l,c)}}function r1(a){var l=a.updateQueue;if(l!==null){a.updateQueue=null;var c=a.stateNode;c===null&&(c=a.stateNode=new II),l.forEach(function(p){var g=UI.bind(null,a,p);c.has(p)||(c.add(p),p.then(g,g))})}}function Zr(a,l){var c=l.deletions;if(c!==null)for(var p=0;pg&&(g=A),p&=~w}if(p=g,p=pt()-p,p=(120>p?120:480>p?480:1080>p?1080:1920>p?1920:3e3>p?3e3:4320>p?4320:1960*DI(p/1960))-p,10a?16:a,Ci===null)var p=!1;else{if(a=Ci,Ci=null,Rc=0,(We&6)!==0)throw Error(r(331));var g=We;for(We|=4,me=a.current;me!==null;){var w=me,A=w.child;if((me.flags&16)!==0){var I=w.deletions;if(I!==null){for(var D=0;Dpt()-im?pa(a,0):nm|=c),fr(a,l)}function m1(a,l){l===0&&((a.mode&1)===0?l=1:(l=Vu,Vu<<=1,(Vu&130023424)===0&&(Vu=4194304)));var c=tr();a=Fn(a,l),a!==null&&(Hl(a,l,c),fr(a,c))}function BI(a){var l=a.memoizedState,c=0;l!==null&&(c=l.retryLane),m1(a,c)}function UI(a,l){var c=0;switch(a.tag){case 13:var p=a.stateNode,g=a.memoizedState;g!==null&&(c=g.retryLane);break;case 19:p=a.stateNode;break;default:throw Error(r(314))}p!==null&&p.delete(l),m1(a,c)}var v1;v1=function(a,l,c){if(a!==null)if(a.memoizedProps!==l.pendingProps||sr.current)cr=!0;else{if((a.lanes&c)===0&&(l.flags&128)===0)return cr=!1,jI(a,l,c);cr=(a.flags&131072)!==0}else cr=!1,it&&(l.flags&1048576)!==0&&Yx(l,pc,l.index);switch(l.lanes=0,l.tag){case 2:var p=l.type;jc(a,l),a=l.pendingProps;var g=mo(l,Vt.current);wo(l,c),g=Dp(null,l,p,a,g,c);var w=Rp();return l.flags|=1,typeof g=="object"&&g!==null&&typeof g.render=="function"&&g.$$typeof===void 0?(l.tag=1,l.memoizedState=null,l.updateQueue=null,ur(p)?(w=!0,dc(l)):w=!1,l.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,Cp(l),g.updater=Oc,l.stateNode=g,g._reactInternals=l,Up(l,p,a,c),l=Vp(null,l,p,!0,w,c)):(l.tag=0,it&&w&&yp(l),er(null,l,g,c),l=l.child),l;case 16:p=l.elementType;e:{switch(jc(a,l),a=l.pendingProps,g=p._init,p=g(p._payload),l.type=p,g=l.tag=HI(p),a=Qr(p,a),g){case 0:l=Kp(null,l,p,a,c);break e;case 1:l=Ub(null,l,p,a,c);break e;case 11:l=$b(null,l,p,a,c);break e;case 14:l=Lb(null,l,p,Qr(p.type,a),c);break e}throw Error(r(306,p,""))}return l;case 0:return p=l.type,g=l.pendingProps,g=l.elementType===p?g:Qr(p,g),Kp(a,l,p,g,c);case 1:return p=l.type,g=l.pendingProps,g=l.elementType===p?g:Qr(p,g),Ub(a,l,p,g,c);case 3:e:{if(Wb(l),a===null)throw Error(r(387));p=l.pendingProps,w=l.memoizedState,g=w.element,ib(a,l),bc(l,p,null,c);var A=l.memoizedState;if(p=A.element,w.isDehydrated)if(w={element:p,isDehydrated:!1,cache:A.cache,pendingSuspenseBoundaries:A.pendingSuspenseBoundaries,transitions:A.transitions},l.updateQueue.baseState=w,l.memoizedState=w,l.flags&256){g=So(Error(r(423)),l),l=Hb(a,l,p,c,g);break e}else if(p!==g){g=So(Error(r(424)),l),l=Hb(a,l,p,c,g);break e}else for(wr=bi(l.stateNode.containerInfo.firstChild),br=l,it=!0,Yr=null,c=rb(l,null,p,c),l.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(yo(),p===g){l=Un(a,l,c);break e}er(a,l,p,c)}l=l.child}return l;case 5:return lb(l),a===null&&wp(l),p=l.type,g=l.pendingProps,w=a!==null?a.memoizedProps:null,A=g.children,fp(p,g)?A=null:w!==null&&fp(p,w)&&(l.flags|=32),Bb(a,l),er(a,l,A,c),l.child;case 6:return a===null&&wp(l),null;case 13:return Kb(a,l,c);case 4:return jp(l,l.stateNode.containerInfo),p=l.pendingProps,a===null?l.child=xo(l,null,p,c):er(a,l,p,c),l.child;case 11:return p=l.type,g=l.pendingProps,g=l.elementType===p?g:Qr(p,g),$b(a,l,p,g,c);case 7:return er(a,l,l.pendingProps,c),l.child;case 8:return er(a,l,l.pendingProps.children,c),l.child;case 12:return er(a,l,l.pendingProps.children,c),l.child;case 10:e:{if(p=l.type._context,g=l.pendingProps,w=l.memoizedProps,A=g.value,Qe(gc,p._currentValue),p._currentValue=A,w!==null)if(Gr(w.value,A)){if(w.children===g.children&&!sr.current){l=Un(a,l,c);break e}}else for(w=l.child,w!==null&&(w.return=l);w!==null;){var I=w.dependencies;if(I!==null){A=w.child;for(var D=I.firstContext;D!==null;){if(D.context===p){if(w.tag===1){D=Bn(-1,c&-c),D.tag=2;var K=w.updateQueue;if(K!==null){K=K.shared;var re=K.pending;re===null?D.next=D:(D.next=re.next,re.next=D),K.pending=D}}w.lanes|=c,D=w.alternate,D!==null&&(D.lanes|=c),Ap(w.return,c,l),I.lanes|=c;break}D=D.next}}else if(w.tag===10)A=w.type===l.type?null:w.child;else if(w.tag===18){if(A=w.return,A===null)throw Error(r(341));A.lanes|=c,I=A.alternate,I!==null&&(I.lanes|=c),Ap(A,c,l),A=w.sibling}else A=w.child;if(A!==null)A.return=w;else for(A=w;A!==null;){if(A===l){A=null;break}if(w=A.sibling,w!==null){w.return=A.return,A=w;break}A=A.return}w=A}er(a,l,g.children,c),l=l.child}return l;case 9:return g=l.type,p=l.pendingProps.children,wo(l,c),g=Ir(g),p=p(g),l.flags|=1,er(a,l,p,c),l.child;case 14:return p=l.type,g=Qr(p,l.pendingProps),g=Qr(p.type,g),Lb(a,l,p,g,c);case 15:return zb(a,l,l.type,l.pendingProps,c);case 17:return p=l.type,g=l.pendingProps,g=l.elementType===p?g:Qr(p,g),jc(a,l),l.tag=1,ur(p)?(a=!0,dc(l)):a=!1,wo(l,c),_b(l,p,g),Up(l,p,g,c),Vp(null,l,p,!0,a,c);case 19:return qb(a,l,c);case 22:return Fb(a,l,c)}throw Error(r(156,l.tag))};function g1(a,l){return Q0(a,l)}function WI(a,l,c,p){this.tag=a,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=p,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dr(a,l,c,p){return new WI(a,l,c,p)}function fm(a){return a=a.prototype,!(!a||!a.isReactComponent)}function HI(a){if(typeof a=="function")return fm(a)?1:0;if(a!=null){if(a=a.$$typeof,a===B)return 11;if(a===le)return 14}return 2}function Ni(a,l){var c=a.alternate;return c===null?(c=Dr(a.tag,l,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=l,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=a.flags&14680064,c.childLanes=a.childLanes,c.lanes=a.lanes,c.child=a.child,c.memoizedProps=a.memoizedProps,c.memoizedState=a.memoizedState,c.updateQueue=a.updateQueue,l=a.dependencies,c.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},c.sibling=a.sibling,c.index=a.index,c.ref=a.ref,c}function Fc(a,l,c,p,g,w){var A=2;if(p=a,typeof a=="function")fm(a)&&(A=1);else if(typeof a=="string")A=5;else e:switch(a){case R:return va(c.children,g,w,l);case z:A=8,g|=8;break;case F:return a=Dr(12,c,l,g|2),a.elementType=F,a.lanes=w,a;case ue:return a=Dr(13,c,l,g),a.elementType=ue,a.lanes=w,a;case G:return a=Dr(19,c,l,g),a.elementType=G,a.lanes=w,a;case de:return Bc(c,g,w,l);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case V:A=10;break e;case Q:A=9;break e;case B:A=11;break e;case le:A=14;break e;case fe:A=16,p=null;break e}throw Error(r(130,a==null?a:typeof a,""))}return l=Dr(A,c,l,g),l.elementType=a,l.type=p,l.lanes=w,l}function va(a,l,c,p){return a=Dr(7,a,p,l),a.lanes=c,a}function Bc(a,l,c,p){return a=Dr(22,a,p,l),a.elementType=de,a.lanes=c,a.stateNode={isHidden:!1},a}function hm(a,l,c){return a=Dr(6,a,null,l),a.lanes=c,a}function pm(a,l,c){return l=Dr(4,a.children!==null?a.children:[],a.key,l),l.lanes=c,l.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},l}function KI(a,l,c,p,g){this.tag=l,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bh(0),this.expirationTimes=Bh(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bh(0),this.identifierPrefix=p,this.onRecoverableError=g,this.mutableSourceEagerHydrationData=null}function mm(a,l,c,p,g,w,A,I,D){return a=new KI(a,l,c,I,D),l===1?(l=1,w===!0&&(l|=8)):l=0,w=Dr(3,null,null,l),a.current=w,w.stateNode=a,w.memoizedState={element:p,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},Cp(w),a}function VI(a,l,c){var p=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),km.exports=oM(),km.exports}var I1;function lM(){if(I1)return Yc;I1=1;var e=_P();return Yc.createRoot=e.createRoot,Yc.hydrateRoot=e.hydrateRoot,Yc}var sM=lM();const uM=$g(sM);var xu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Na,Bi,el,bP,cM=(bP=class extends xu{constructor(){super();je(this,Na);je(this,Bi);je(this,el);pe(this,el,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){$(this,Bi)||this.setEventListener($(this,el))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,Bi))==null||t.call(this),pe(this,Bi,void 0))}setEventListener(t){var r;pe(this,el,t),(r=$(this,Bi))==null||r.call(this),pe(this,Bi,t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(t){$(this,Na)!==t&&(pe(this,Na,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof $(this,Na)=="boolean"?$(this,Na):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Na=new WeakMap,Bi=new WeakMap,el=new WeakMap,bP),zg=new cM,dM={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ui,Rg,wP,fM=(wP=class{constructor(){je(this,Ui,dM);je(this,Rg,!1)}setTimeoutProvider(e){pe(this,Ui,e)}setTimeout(e,t){return $(this,Ui).setTimeout(e,t)}clearTimeout(e){$(this,Ui).clearTimeout(e)}setInterval(e,t){return $(this,Ui).setInterval(e,t)}clearInterval(e){$(this,Ui).clearInterval(e)}},Ui=new WeakMap,Rg=new WeakMap,wP),Ea=new fM;function hM(e){setTimeout(e,0)}var pM=typeof window>"u"||"Deno"in globalThis;function mr(){}function mM(e,t){return typeof e=="function"?e(t):e}function vv(e){return typeof e=="number"&&e>=0&&e!==1/0}function NP(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Qi(e,t){return typeof e=="function"?e(t):e}function Er(e,t){return typeof e=="function"?e(t):e}function M1(e,t){const{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:s,stale:u}=e;if(s){if(n){if(t.queryHash!==Fg(s,t.options))return!1}else if(!qs(t.queryKey,s))return!1}if(r!=="all"){const d=t.isActive();if(r==="active"&&!d||r==="inactive"&&d)return!1}return!(typeof u=="boolean"&&t.isStale()!==u||i&&i!==t.state.fetchStatus||o&&!o(t))}function T1(e,t){const{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(Vs(t.options.mutationKey)!==Vs(o))return!1}else if(!qs(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function Fg(e,t){return((t==null?void 0:t.queryKeyHashFn)||Vs)(e)}function Vs(e){return JSON.stringify(e,(t,r)=>yv(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function qs(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>qs(e[r],t[r])):!1}var vM=Object.prototype.hasOwnProperty;function IP(e,t,r=0){if(e===t)return e;if(r>500)return t;const n=D1(e)&&D1(t);if(!n&&!(yv(e)&&yv(t)))return t;const o=(n?e:Object.keys(e)).length,s=n?t:Object.keys(t),u=s.length,d=n?new Array(u):{};let f=0;for(let h=0;h{Ea.setTimeout(t,e)})}function xv(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?IP(e,t):t}function yM(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function xM(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var Bg=Symbol();function MP(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Bg?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function TP(e,t){return typeof e=="function"?e(...t):!!e}function bM(e,t,r){let n=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??(i=t()),n||(n=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),e}var Gs=(()=>{let e=()=>pM;return{isServer(){return e()},setIsServer(t){e=t}}})();function bv(){let e,t;const r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}var wM=hM;function kM(){let e=[],t=0,r=u=>{u()},n=u=>{u()},i=wM;const o=u=>{t?e.push(u):i(()=>{r(u)})},s=()=>{const u=e;e=[],u.length&&i(()=>{n(()=>{u.forEach(d=>{r(d)})})})};return{batch:u=>{let d;t++;try{d=u()}finally{t--,t||s()}return d},batchCalls:u=>(...d)=>{o(()=>{u(...d)})},schedule:o,setNotifyFunction:u=>{r=u},setBatchNotifyFunction:u=>{n=u},setScheduler:u=>{i=u}}}var Ft=kM(),tl,Wi,rl,kP,SM=(kP=class extends xu{constructor(){super();je(this,tl,!0);je(this,Wi);je(this,rl);pe(this,rl,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){$(this,Wi)||this.setEventListener($(this,rl))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,Wi))==null||t.call(this),pe(this,Wi,void 0))}setEventListener(t){var r;pe(this,rl,t),(r=$(this,Wi))==null||r.call(this),pe(this,Wi,t(this.setOnline.bind(this)))}setOnline(t){$(this,tl)!==t&&(pe(this,tl,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return $(this,tl)}},tl=new WeakMap,Wi=new WeakMap,rl=new WeakMap,kP),Nd=new SM;function EM(e){return Math.min(1e3*2**e,3e4)}function DP(e){return(e??"online")==="online"?Nd.isOnline():!0}var wv=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function RP(e){let t=!1,r=0,n;const i=bv(),o=()=>i.status!=="pending",s=k=>{var E;if(!o()){const P=new wv(k);v(P),(E=e.onCancel)==null||E.call(e,P)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>zg.isFocused()&&(e.networkMode==="always"||Nd.isOnline())&&e.canRun(),h=()=>DP(e.networkMode)&&e.canRun(),m=k=>{o()||(n==null||n(),i.resolve(k))},v=k=>{o()||(n==null||n(),i.reject(k))},b=()=>new Promise(k=>{var E;n=P=>{(o()||f())&&k(P)},(E=e.onPause)==null||E.call(e)}).then(()=>{var k;n=void 0,o()||(k=e.onContinue)==null||k.call(e)}),S=()=>{if(o())return;let k;const E=r===0?e.initialPromise:void 0;try{k=E??e.fn()}catch(P){k=Promise.reject(P)}Promise.resolve(k).then(m).catch(P=>{var C;if(o())return;const j=e.retry??(Gs.isServer()?0:3),_=e.retryDelay??EM,O=typeof _=="function"?_(r,P):_,N=j===!0||typeof j=="number"&&rf()?void 0:b()).then(()=>{t?v(P):S()})})};return{promise:i,status:()=>i.status,cancel:s,continue:()=>(n==null||n(),i),cancelRetry:u,continueRetry:d,canStart:h,start:()=>(h()?S():b().then(S),i)}}var Ia,SP,$P=(SP=class{constructor(){je(this,Ia)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),vv(this.gcTime)&&pe(this,Ia,Ea.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Gs.isServer()?1/0:300*1e3))}clearGcTimeout(){$(this,Ia)!==void 0&&(Ea.clearTimeout($(this,Ia)),pe(this,Ia,void 0))}},Ia=new WeakMap,SP);function PM(e){return{onFetch:(t,r)=>{var h,m,v,b,S;const n=t.options,i=(v=(m=(h=t.fetchOptions)==null?void 0:h.meta)==null?void 0:m.fetchMore)==null?void 0:v.direction,o=((b=t.state.data)==null?void 0:b.pages)||[],s=((S=t.state.data)==null?void 0:S.pageParams)||[];let u={pages:[],pageParams:[]},d=0;const f=async()=>{let k=!1;const E=_=>{bM(_,()=>t.signal,()=>k=!0)},P=MP(t.options,t.fetchOptions),j=async(_,O,N)=>{if(k)return Promise.reject(t.signal.reason);if(O==null&&_.pages.length)return Promise.resolve(_);const R=(()=>{const Q={client:t.client,queryKey:t.queryKey,pageParam:O,direction:N?"backward":"forward",meta:t.options.meta};return E(Q),Q})(),z=await P(R),{maxPages:F}=t.options,V=N?xM:yM;return{pages:V(_.pages,z,F),pageParams:V(_.pageParams,O,F)}};if(i&&o.length){const _=i==="backward",O=_?AM:$1,N={pages:o,pageParams:s},C=O(n,N);u=await j(N,C,_)}else{const _=e??o.length;do{const O=d===0?s[0]??n.initialPageParam:$1(n,u);if(d>0&&O==null)break;u=await j(u,O),d++}while(d<_)}return u};t.options.persister?t.fetchFn=()=>{var k,E;return(E=(k=t.options).persister)==null?void 0:E.call(k,f,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=f}}}function $1(e,{pages:t,pageParams:r}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function AM(e,{pages:t,pageParams:r}){var n;return t.length>0?(n=e.getPreviousPageParam)==null?void 0:n.call(e,t[0],t,r[0],r):void 0}var nl,Ma,il,$r,Ta,jt,pu,Da,Sr,LP,Kn,EP,OM=(EP=class extends $P{constructor(t){super();je(this,Sr);je(this,nl);je(this,Ma);je(this,il);je(this,$r);je(this,Ta);je(this,jt);je(this,pu);je(this,Da);pe(this,Da,!1),pe(this,pu,t.defaultOptions),this.setOptions(t.options),this.observers=[],pe(this,Ta,t.client),pe(this,$r,$(this,Ta).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,pe(this,Ma,z1(this.options)),this.state=t.state??$(this,Ma),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return $(this,nl)}get promise(){var t;return(t=$(this,jt))==null?void 0:t.promise}setOptions(t){if(this.options={...$(this,pu),...t},t!=null&&t._type&&pe(this,nl,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=z1(this.options);r.data!==void 0&&(this.setState(L1(r.data,r.dataUpdatedAt)),pe(this,Ma,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&$(this,$r).remove(this)}setData(t,r){const n=xv(this.state.data,t,this.options);return ze(this,Sr,Kn).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(t){ze(this,Sr,Kn).call(this,{type:"setState",state:t})}cancel(t){var n,i;const r=(n=$(this,jt))==null?void 0:n.promise;return(i=$(this,jt))==null||i.cancel(t),r?r.then(mr).catch(mr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return $(this,Ma)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Er(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Bg||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Qi(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!NP(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(n=>n.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=$(this,jt))==null||r.continue()}onOnline(){var r;const t=this.observers.find(n=>n.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=$(this,jt))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),$(this,$r).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||($(this,jt)&&($(this,Da)||ze(this,Sr,LP).call(this)?$(this,jt).cancel({revert:!0}):$(this,jt).cancelRetry()),this.scheduleGc()),$(this,$r).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ze(this,Sr,Kn).call(this,{type:"invalidate"})}async fetch(t,r){var f,h,m,v,b,S,k,E,P,j,_;if(this.state.fetchStatus!=="idle"&&((f=$(this,jt))==null?void 0:f.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if($(this,jt))return $(this,jt).continueRetry(),$(this,jt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const O=this.observers.find(N=>N.options.queryFn);O&&this.setOptions(O.options)}const n=new AbortController,i=O=>{Object.defineProperty(O,"signal",{enumerable:!0,get:()=>(pe(this,Da,!0),n.signal)})},o=()=>{const O=MP(this.options,r),C=(()=>{const R={client:$(this,Ta),queryKey:this.queryKey,meta:this.meta};return i(R),R})();return pe(this,Da,!1),this.options.persister?this.options.persister(O,C,this):O(C)},u=(()=>{const O={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:$(this,Ta),state:this.state,fetchFn:o};return i(O),O})(),d=$(this,nl)==="infinite"?PM(this.options.pages):this.options.behavior;d==null||d.onFetch(u,this),pe(this,il,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((h=u.fetchOptions)==null?void 0:h.meta))&&ze(this,Sr,Kn).call(this,{type:"fetch",meta:(m=u.fetchOptions)==null?void 0:m.meta}),pe(this,jt,RP({initialPromise:r==null?void 0:r.initialPromise,fn:u.fetchFn,onCancel:O=>{O instanceof wv&&O.revert&&this.setState({...$(this,il),fetchStatus:"idle"}),n.abort()},onFail:(O,N)=>{ze(this,Sr,Kn).call(this,{type:"failed",failureCount:O,error:N})},onPause:()=>{ze(this,Sr,Kn).call(this,{type:"pause"})},onContinue:()=>{ze(this,Sr,Kn).call(this,{type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0}));try{const O=await $(this,jt).start();if(O===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(O),(b=(v=$(this,$r).config).onSuccess)==null||b.call(v,O,this),(k=(S=$(this,$r).config).onSettled)==null||k.call(S,O,this.state.error,this),O}catch(O){if(O instanceof wv){if(O.silent)return $(this,jt).promise;if(O.revert){if(this.state.data===void 0)throw O;return this.state.data}}throw ze(this,Sr,Kn).call(this,{type:"error",error:O}),(P=(E=$(this,$r).config).onError)==null||P.call(E,O,this),(_=(j=$(this,$r).config).onSettled)==null||_.call(j,this.state.data,O,this),O}finally{this.scheduleGc()}}},nl=new WeakMap,Ma=new WeakMap,il=new WeakMap,$r=new WeakMap,Ta=new WeakMap,jt=new WeakMap,pu=new WeakMap,Da=new WeakMap,Sr=new WeakSet,LP=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Kn=function(t){const r=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...zP(n.data,this.options),fetchMeta:t.meta??null};case"success":const i={...n,...L1(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return pe(this,il,t.manual?i:void 0),i;case"error":const o=t.error;return{...n,error:o,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=r(this.state),Ft.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),$(this,$r).notify({query:this,type:"updated",action:t})})},EP);function zP(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:DP(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function L1(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function z1(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var pr,Be,mu,rr,Ra,al,qn,Hi,vu,ol,ll,$a,La,Ki,sl,Ve,zs,kv,Sv,Ev,Pv,Av,Ov,Cv,FP,PP,CM=(PP=class extends xu{constructor(t,r){super();je(this,Ve);je(this,pr);je(this,Be);je(this,mu);je(this,rr);je(this,Ra);je(this,al);je(this,qn);je(this,Hi);je(this,vu);je(this,ol);je(this,ll);je(this,$a);je(this,La);je(this,Ki);je(this,sl,new Set);this.options=r,pe(this,pr,t),pe(this,Hi,null),pe(this,qn,bv()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&($(this,Be).addObserver(this),F1($(this,Be),this.options)?ze(this,Ve,zs).call(this):this.updateResult(),ze(this,Ve,Pv).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return jv($(this,Be),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return jv($(this,Be),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ze(this,Ve,Av).call(this),ze(this,Ve,Ov).call(this),$(this,Be).removeObserver(this)}setOptions(t){const r=this.options,n=$(this,Be);if(this.options=$(this,pr).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Er(this.options.enabled,$(this,Be))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ze(this,Ve,Cv).call(this),$(this,Be).setOptions(this.options),r._defaulted&&!gv(this.options,r)&&$(this,pr).getQueryCache().notify({type:"observerOptionsUpdated",query:$(this,Be),observer:this});const i=this.hasListeners();i&&B1($(this,Be),n,this.options,r)&&ze(this,Ve,zs).call(this),this.updateResult(),i&&($(this,Be)!==n||Er(this.options.enabled,$(this,Be))!==Er(r.enabled,$(this,Be))||Qi(this.options.staleTime,$(this,Be))!==Qi(r.staleTime,$(this,Be)))&&ze(this,Ve,kv).call(this);const o=ze(this,Ve,Sv).call(this);i&&($(this,Be)!==n||Er(this.options.enabled,$(this,Be))!==Er(r.enabled,$(this,Be))||o!==$(this,Ki))&&ze(this,Ve,Ev).call(this,o)}getOptimisticResult(t){const r=$(this,pr).getQueryCache().build($(this,pr),t),n=this.createResult(r,t);return _M(this,n)&&(pe(this,rr,n),pe(this,al,this.options),pe(this,Ra,$(this,Be).state)),n}getCurrentResult(){return $(this,rr)}trackResult(t,r){return new Proxy(t,{get:(n,i)=>(this.trackProp(i),r==null||r(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&$(this,qn).status==="pending"&&$(this,qn).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(n,i))})}trackProp(t){$(this,sl).add(t)}getCurrentQuery(){return $(this,Be)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const r=$(this,pr).defaultQueryOptions(t),n=$(this,pr).getQueryCache().build($(this,pr),r);return n.fetch().then(()=>this.createResult(n,r))}fetch(t){return ze(this,Ve,zs).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),$(this,rr)))}createResult(t,r){var F;const n=$(this,Be),i=this.options,o=$(this,rr),s=$(this,Ra),u=$(this,al),f=t!==n?t.state:$(this,mu),{state:h}=t;let m={...h},v=!1,b;if(r._optimisticResults){const V=this.hasListeners(),Q=!V&&F1(t,r),B=V&&B1(t,n,r,i);(Q||B)&&(m={...m,...zP(h.data,t.options)}),r._optimisticResults==="isRestoring"&&(m.fetchStatus="idle")}let{error:S,errorUpdatedAt:k,status:E}=m;b=m.data;let P=!1;if(r.placeholderData!==void 0&&b===void 0&&E==="pending"){let V;o!=null&&o.isPlaceholderData&&r.placeholderData===(u==null?void 0:u.placeholderData)?(V=o.data,P=!0):V=typeof r.placeholderData=="function"?r.placeholderData((F=$(this,ll))==null?void 0:F.state.data,$(this,ll)):r.placeholderData,V!==void 0&&(E="success",b=xv(o==null?void 0:o.data,V,r),v=!0)}if(r.select&&b!==void 0&&!P)if(o&&b===(s==null?void 0:s.data)&&r.select===$(this,vu))b=$(this,ol);else try{pe(this,vu,r.select),b=r.select(b),b=xv(o==null?void 0:o.data,b,r),pe(this,ol,b),pe(this,Hi,null)}catch(V){pe(this,Hi,V)}$(this,Hi)&&(S=$(this,Hi),b=$(this,ol),k=Date.now(),E="error");const j=m.fetchStatus==="fetching",_=E==="pending",O=E==="error",N=_&&j,C=b!==void 0,z={status:E,fetchStatus:m.fetchStatus,isPending:_,isSuccess:E==="success",isError:O,isInitialLoading:N,isLoading:N,data:b,dataUpdatedAt:m.dataUpdatedAt,error:S,errorUpdatedAt:k,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:m.dataUpdateCount>f.dataUpdateCount||m.errorUpdateCount>f.errorUpdateCount,isFetching:j,isRefetching:j&&!_,isLoadingError:O&&!C,isPaused:m.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:O&&C,isStale:Ug(t,r),refetch:this.refetch,promise:$(this,qn),isEnabled:Er(r.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const V=z.data!==void 0,Q=z.status==="error"&&!V,B=le=>{Q?le.reject(z.error):V&&le.resolve(z.data)},ue=()=>{const le=pe(this,qn,z.promise=bv());B(le)},G=$(this,qn);switch(G.status){case"pending":t.queryHash===n.queryHash&&B(G);break;case"fulfilled":(Q||z.data!==G.value)&&ue();break;case"rejected":(!Q||z.error!==G.reason)&&ue();break}}return z}updateResult(){const t=$(this,rr),r=this.createResult($(this,Be),this.options);if(pe(this,Ra,$(this,Be).state),pe(this,al,this.options),$(this,Ra).data!==void 0&&pe(this,ll,$(this,Be)),gv(r,t))return;pe(this,rr,r);const n=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,o=typeof i=="function"?i():i;if(o==="all"||!o&&!$(this,sl).size)return!0;const s=new Set(o??$(this,sl));return this.options.throwOnError&&s.add("error"),Object.keys($(this,rr)).some(u=>{const d=u;return $(this,rr)[d]!==t[d]&&s.has(d)})};ze(this,Ve,FP).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ze(this,Ve,Pv).call(this)}},pr=new WeakMap,Be=new WeakMap,mu=new WeakMap,rr=new WeakMap,Ra=new WeakMap,al=new WeakMap,qn=new WeakMap,Hi=new WeakMap,vu=new WeakMap,ol=new WeakMap,ll=new WeakMap,$a=new WeakMap,La=new WeakMap,Ki=new WeakMap,sl=new WeakMap,Ve=new WeakSet,zs=function(t){ze(this,Ve,Cv).call(this);let r=$(this,Be).fetch(this.options,t);return t!=null&&t.throwOnError||(r=r.catch(mr)),r},kv=function(){ze(this,Ve,Av).call(this);const t=Qi(this.options.staleTime,$(this,Be));if(Gs.isServer()||$(this,rr).isStale||!vv(t))return;const n=NP($(this,rr).dataUpdatedAt,t)+1;pe(this,$a,Ea.setTimeout(()=>{$(this,rr).isStale||this.updateResult()},n))},Sv=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval($(this,Be)):this.options.refetchInterval)??!1},Ev=function(t){ze(this,Ve,Ov).call(this),pe(this,Ki,t),!(Gs.isServer()||Er(this.options.enabled,$(this,Be))===!1||!vv($(this,Ki))||$(this,Ki)===0)&&pe(this,La,Ea.setInterval(()=>{(this.options.refetchIntervalInBackground||zg.isFocused())&&ze(this,Ve,zs).call(this)},$(this,Ki)))},Pv=function(){ze(this,Ve,kv).call(this),ze(this,Ve,Ev).call(this,ze(this,Ve,Sv).call(this))},Av=function(){$(this,$a)!==void 0&&(Ea.clearTimeout($(this,$a)),pe(this,$a,void 0))},Ov=function(){$(this,La)!==void 0&&(Ea.clearInterval($(this,La)),pe(this,La,void 0))},Cv=function(){const t=$(this,pr).getQueryCache().build($(this,pr),this.options);if(t===$(this,Be))return;const r=$(this,Be);pe(this,Be,t),pe(this,mu,t.state),this.hasListeners()&&(r==null||r.removeObserver(this),t.addObserver(this))},FP=function(t){Ft.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r($(this,rr))}),$(this,pr).getQueryCache().notify({query:$(this,Be),type:"observerResultsUpdated"})})},PP);function jM(e,t){return Er(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Er(t.retryOnMount,e)===!1)}function F1(e,t){return jM(e,t)||e.state.data!==void 0&&jv(e,t,t.refetchOnMount)}function jv(e,t,r){if(Er(t.enabled,e)!==!1&&Qi(t.staleTime,e)!=="static"){const n=typeof r=="function"?r(e):r;return n==="always"||n!==!1&&Ug(e,t)}return!1}function B1(e,t,r,n){return(e!==t||Er(n.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&Ug(e,r)}function Ug(e,t){return Er(t.enabled,e)!==!1&&e.isStaleByTime(Qi(t.staleTime,e))}function _M(e,t){return!gv(e.getCurrentResult(),t)}var gu,bn,Qt,za,wn,Ri,AP,NM=(AP=class extends $P{constructor(t){super();je(this,wn);je(this,gu);je(this,bn);je(this,Qt);je(this,za);pe(this,gu,t.client),this.mutationId=t.mutationId,pe(this,Qt,t.mutationCache),pe(this,bn,[]),this.state=t.state||IM(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){$(this,bn).includes(t)||($(this,bn).push(t),this.clearGcTimeout(),$(this,Qt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){pe(this,bn,$(this,bn).filter(r=>r!==t)),this.scheduleGc(),$(this,Qt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){$(this,bn).length||(this.state.status==="pending"?this.scheduleGc():$(this,Qt).remove(this))}continue(){var t;return((t=$(this,za))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var s,u,d,f,h,m,v,b,S,k,E,P,j,_,O,N,C,R;const r=()=>{ze(this,wn,Ri).call(this,{type:"continue"})},n={client:$(this,gu),meta:this.options.meta,mutationKey:this.options.mutationKey};pe(this,za,RP({fn:()=>this.options.mutationFn?this.options.mutationFn(t,n):Promise.reject(new Error("No mutationFn found")),onFail:(z,F)=>{ze(this,wn,Ri).call(this,{type:"failed",failureCount:z,error:F})},onPause:()=>{ze(this,wn,Ri).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>$(this,Qt).canRun(this)}));const i=this.state.status==="pending",o=!$(this,za).canStart();try{if(i)r();else{ze(this,wn,Ri).call(this,{type:"pending",variables:t,isPaused:o}),$(this,Qt).config.onMutate&&await $(this,Qt).config.onMutate(t,this,n);const F=await((u=(s=this.options).onMutate)==null?void 0:u.call(s,t,n));F!==this.state.context&&ze(this,wn,Ri).call(this,{type:"pending",context:F,variables:t,isPaused:o})}const z=await $(this,za).start();return await((f=(d=$(this,Qt).config).onSuccess)==null?void 0:f.call(d,z,t,this.state.context,this,n)),await((m=(h=this.options).onSuccess)==null?void 0:m.call(h,z,t,this.state.context,n)),await((b=(v=$(this,Qt).config).onSettled)==null?void 0:b.call(v,z,null,this.state.variables,this.state.context,this,n)),await((k=(S=this.options).onSettled)==null?void 0:k.call(S,z,null,t,this.state.context,n)),ze(this,wn,Ri).call(this,{type:"success",data:z}),z}catch(z){try{await((P=(E=$(this,Qt).config).onError)==null?void 0:P.call(E,z,t,this.state.context,this,n))}catch(F){Promise.reject(F)}try{await((_=(j=this.options).onError)==null?void 0:_.call(j,z,t,this.state.context,n))}catch(F){Promise.reject(F)}try{await((N=(O=$(this,Qt).config).onSettled)==null?void 0:N.call(O,void 0,z,this.state.variables,this.state.context,this,n))}catch(F){Promise.reject(F)}try{await((R=(C=this.options).onSettled)==null?void 0:R.call(C,void 0,z,t,this.state.context,n))}catch(F){Promise.reject(F)}throw ze(this,wn,Ri).call(this,{type:"error",error:z}),z}finally{$(this,Qt).runNext(this)}}},gu=new WeakMap,bn=new WeakMap,Qt=new WeakMap,za=new WeakMap,wn=new WeakSet,Ri=function(t){const r=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Ft.batch(()=>{$(this,bn).forEach(n=>{n.onMutationUpdate(t)}),$(this,Qt).notify({mutation:this,type:"updated",action:t})})},AP);function IM(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Gn,rn,yu,OP,MM=(OP=class extends xu{constructor(t={}){super();je(this,Gn);je(this,rn);je(this,yu);this.config=t,pe(this,Gn,new Set),pe(this,rn,new Map),pe(this,yu,0)}build(t,r,n){const i=new NM({client:t,mutationCache:this,mutationId:++Gc(this,yu)._,options:t.defaultMutationOptions(r),state:n});return this.add(i),i}add(t){$(this,Gn).add(t);const r=Qc(t);if(typeof r=="string"){const n=$(this,rn).get(r);n?n.push(t):$(this,rn).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if($(this,Gn).delete(t)){const r=Qc(t);if(typeof r=="string"){const n=$(this,rn).get(r);if(n)if(n.length>1){const i=n.indexOf(t);i!==-1&&n.splice(i,1)}else n[0]===t&&$(this,rn).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=Qc(t);if(typeof r=="string"){const n=$(this,rn).get(r),i=n==null?void 0:n.find(o=>o.state.status==="pending");return!i||i===t}else return!0}runNext(t){var n;const r=Qc(t);if(typeof r=="string"){const i=(n=$(this,rn).get(r))==null?void 0:n.find(o=>o!==t&&o.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Ft.batch(()=>{$(this,Gn).forEach(t=>{this.notify({type:"removed",mutation:t})}),$(this,Gn).clear(),$(this,rn).clear()})}getAll(){return Array.from($(this,Gn))}find(t){const r={exact:!0,...t};return this.getAll().find(n=>T1(r,n))}findAll(t={}){return this.getAll().filter(r=>T1(t,r))}notify(t){Ft.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return Ft.batch(()=>Promise.all(t.map(r=>r.continue().catch(mr))))}},Gn=new WeakMap,rn=new WeakMap,yu=new WeakMap,OP);function Qc(e){var t;return(t=e.options.scope)==null?void 0:t.id}var kn,CP,TM=(CP=class extends xu{constructor(t={}){super();je(this,kn);this.config=t,pe(this,kn,new Map)}build(t,r,n){const i=r.queryKey,o=r.queryHash??Fg(i,r);let s=this.get(o);return s||(s=new OM({client:t,queryKey:i,queryHash:o,options:t.defaultQueryOptions(r),state:n,defaultOptions:t.getQueryDefaults(i)}),this.add(s)),s}add(t){$(this,kn).has(t.queryHash)||($(this,kn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=$(this,kn).get(t.queryHash);r&&(t.destroy(),r===t&&$(this,kn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ft.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return $(this,kn).get(t)}getAll(){return[...$(this,kn).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(n=>M1(r,n))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(n=>M1(t,n)):r}notify(t){Ft.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){Ft.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ft.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},kn=new WeakMap,CP),dt,Vi,qi,ul,cl,Gi,dl,fl,jP,DM=(jP=class{constructor(e={}){je(this,dt);je(this,Vi);je(this,qi);je(this,ul);je(this,cl);je(this,Gi);je(this,dl);je(this,fl);pe(this,dt,e.queryCache||new TM),pe(this,Vi,e.mutationCache||new MM),pe(this,qi,e.defaultOptions||{}),pe(this,ul,new Map),pe(this,cl,new Map),pe(this,Gi,0)}mount(){Gc(this,Gi)._++,$(this,Gi)===1&&(pe(this,dl,zg.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,dt).onFocus())})),pe(this,fl,Nd.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,dt).onOnline())})))}unmount(){var e,t;Gc(this,Gi)._--,$(this,Gi)===0&&((e=$(this,dl))==null||e.call(this),pe(this,dl,void 0),(t=$(this,fl))==null||t.call(this),pe(this,fl,void 0))}isFetching(e){return $(this,dt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return $(this,Vi).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=$(this,dt).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=$(this,dt).build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(Qi(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return $(this,dt).findAll(e).map(({queryKey:t,state:r})=>{const n=r.data;return[t,n]})}setQueryData(e,t,r){const n=this.defaultQueryOptions({queryKey:e}),i=$(this,dt).get(n.queryHash),o=i==null?void 0:i.state.data,s=mM(t,o);if(s!==void 0)return $(this,dt).build(this,n).setData(s,{...r,manual:!0})}setQueriesData(e,t,r){return Ft.batch(()=>$(this,dt).findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=$(this,dt).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=$(this,dt);Ft.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=$(this,dt);return Ft.batch(()=>(r.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},n=Ft.batch(()=>$(this,dt).findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(mr).catch(mr)}invalidateQueries(e,t={}){return Ft.batch(()=>($(this,dt).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},n=Ft.batch(()=>$(this,dt).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(mr)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(mr)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=$(this,dt).build(this,t);return r.isStaleByTime(Qi(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(mr).catch(mr)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(mr).catch(mr)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return Nd.isOnline()?$(this,Vi).resumePausedMutations():Promise.resolve()}getQueryCache(){return $(this,dt)}getMutationCache(){return $(this,Vi)}getDefaultOptions(){return $(this,qi)}setDefaultOptions(e){pe(this,qi,e)}setQueryDefaults(e,t){$(this,ul).set(Vs(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...$(this,ul).values()],r={};return t.forEach(n=>{qs(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){$(this,cl).set(Vs(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...$(this,cl).values()],r={};return t.forEach(n=>{qs(e,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...$(this,qi).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Fg(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Bg&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...$(this,qi).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){$(this,dt).clear(),$(this,Vi).clear()}},dt=new WeakMap,Vi=new WeakMap,qi=new WeakMap,ul=new WeakMap,cl=new WeakMap,Gi=new WeakMap,dl=new WeakMap,fl=new WeakMap,jP),BP=y.createContext(void 0),bu=e=>{const t=y.useContext(BP);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},RM=({client:e,children:t})=>(y.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),x.jsx(BP.Provider,{value:e,children:t})),UP=y.createContext(!1),$M=()=>y.useContext(UP);UP.Provider;function LM(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var zM=y.createContext(LM()),FM=()=>y.useContext(zM),BM=(e,t,r)=>{const n=r!=null&&r.state.error&&typeof e.throwOnError=="function"?TP(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},UM=e=>{y.useEffect(()=>{e.clearReset()},[e])},WM=({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(i&&e.data===void 0||TP(r,[e.error,n])),HM=e=>{if(e.suspense){const r=i=>i==="static"?i:Math.max(i??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...i)=>r(n(...i)):r(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},KM=(e,t)=>e.isLoading&&e.isFetching&&!t,VM=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,U1=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function qM(e,t,r){var b,S,k,E;const n=$M(),i=FM(),o=bu(),s=o.defaultQueryOptions(e);(S=(b=o.getDefaultOptions().queries)==null?void 0:b._experimental_beforeQuery)==null||S.call(b,s);const u=o.getQueryCache().get(s.queryHash),d=e.subscribed!==!1;s._optimisticResults=n?"isRestoring":d?"optimistic":void 0,HM(s),BM(s,i,u),UM(i);const f=!o.getQueryCache().get(s.queryHash),[h]=y.useState(()=>new t(o,s)),m=h.getOptimisticResult(s),v=!n&&d;if(y.useSyncExternalStore(y.useCallback(P=>{const j=v?h.subscribe(Ft.batchCalls(P)):mr;return h.updateResult(),j},[h,v]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),y.useEffect(()=>{h.setOptions(s)},[s,h]),VM(s,m))throw U1(s,h,i);if(WM({result:m,errorResetBoundary:i,throwOnError:s.throwOnError,query:u,suspense:s.suspense}))throw m.error;if((E=(k=o.getDefaultOptions().queries)==null?void 0:k._experimental_afterQuery)==null||E.call(k,s,m),s.experimental_prefetchInRender&&!Gs.isServer()&&KM(m,n)){const P=f?U1(s,h,i):u==null?void 0:u.promise;P==null||P.catch(mr).finally(()=>{h.updateResult()})}return s.notifyOnChangeProps?m:h.trackResult(m)}function Ge(e,t){return qM(e,CM)}const GM="modulepreload",YM=function(e){return"/"+e},W1={},Mn=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let s=function(f){return Promise.all(f.map(h=>Promise.resolve(h).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),d=(u==null?void 0:u.nonce)||(u==null?void 0:u.getAttribute("nonce"));i=s(r.map(f=>{if(f=YM(f),f in W1)return;W1[f]=!0;const h=f.endsWith(".css"),m=h?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${f}"]${m}`))return;const v=document.createElement("link");if(v.rel=h?"stylesheet":GM,h||(v.as="script"),v.crossOrigin="",v.href=f,d&&v.setAttribute("nonce",d),document.head.appendChild(v),h)return new Promise((b,S)=>{v.addEventListener("load",b),v.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${f}`)))})}))}function o(s){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=s,window.dispatchEvent(u),!u.defaultPrevented)throw s}return i.then(s=>{for(const u of s||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})};/** +`+w.stack}return{value:a,source:l,stack:g,digest:null}}function Wp(a,l,c){return{value:a,source:null,stack:c??null,digest:l??null}}function Hp(a,l){try{console.error(l.value)}catch(c){setTimeout(function(){throw c})}}var AI=typeof WeakMap=="function"?WeakMap:Map;function Ib(a,l,c){c=Bn(-1,c),c.tag=3,c.payload={element:null};var p=l.value;return c.callback=function(){Tc||(Tc=!0,am=p),Hp(a,l)},c}function Mb(a,l,c){c=Bn(-1,c),c.tag=3;var p=a.type.getDerivedStateFromError;if(typeof p=="function"){var g=l.value;c.payload=function(){return p(g)},c.callback=function(){Hp(a,l)}}var w=a.stateNode;return w!==null&&typeof w.componentDidCatch=="function"&&(c.callback=function(){Hp(a,l),typeof p!="function"&&(Oi===null?Oi=new Set([this]):Oi.add(this));var A=l.stack;this.componentDidCatch(l.value,{componentStack:A!==null?A:""})}),c}function Tb(a,l,c){var p=a.pingCache;if(p===null){p=a.pingCache=new AI;var g=new Set;p.set(l,g)}else g=p.get(l),g===void 0&&(g=new Set,p.set(l,g));g.has(c)||(g.add(c),a=FI.bind(null,a,l,c),l.then(a,a))}function Db(a){do{var l;if((l=a.tag===13)&&(l=a.memoizedState,l=l!==null?l.dehydrated!==null:!0),l)return a;a=a.return}while(a!==null);return null}function Rb(a,l,c,p,g){return(a.mode&1)===0?(a===l?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,c.tag===1&&(c.alternate===null?c.tag=17:(l=Bn(-1,1),l.tag=2,Pi(c,l,1))),c.lanes|=1),a):(a.flags|=65536,a.lanes=g,a)}var OI=O.ReactCurrentOwner,cr=!1;function er(a,l,c,p){l.child=a===null?rb(l,null,c,p):xo(l,a.child,c,p)}function $b(a,l,c,p,g){c=c.render;var w=l.ref;return wo(l,g),p=Dp(a,l,c,p,w,g),c=Rp(),a!==null&&!cr?(l.updateQueue=a.updateQueue,l.flags&=-2053,a.lanes&=~g,Un(a,l,g)):(it&&c&&yp(l),l.flags|=1,er(a,l,p,g),l.child)}function Lb(a,l,c,p,g){if(a===null){var w=c.type;return typeof w=="function"&&!fm(w)&&w.defaultProps===void 0&&c.compare===null&&c.defaultProps===void 0?(l.tag=15,l.type=w,zb(a,l,w,p,g)):(a=Fc(c.type,null,p,l,l.mode,g),a.ref=l.ref,a.return=l,l.child=a)}if(w=a.child,(a.lanes&g)===0){var A=w.memoizedProps;if(c=c.compare,c=c!==null?c:ts,c(A,p)&&a.ref===l.ref)return Un(a,l,g)}return l.flags|=1,a=Ni(w,p),a.ref=l.ref,a.return=l,l.child=a}function zb(a,l,c,p,g){if(a!==null){var w=a.memoizedProps;if(ts(w,p)&&a.ref===l.ref)if(cr=!1,l.pendingProps=p=w,(a.lanes&g)!==0)(a.flags&131072)!==0&&(cr=!0);else return l.lanes=a.lanes,Un(a,l,g)}return Kp(a,l,c,p,g)}function Fb(a,l,c){var p=l.pendingProps,g=p.children,w=a!==null?a.memoizedState:null;if(p.mode==="hidden")if((l.mode&1)===0)l.memoizedState={baseLanes:0,cachePool:null,transitions:null},Qe(Po,kr),kr|=c;else{if((c&1073741824)===0)return a=w!==null?w.baseLanes|c:c,l.lanes=l.childLanes=1073741824,l.memoizedState={baseLanes:a,cachePool:null,transitions:null},l.updateQueue=null,Qe(Po,kr),kr|=a,null;l.memoizedState={baseLanes:0,cachePool:null,transitions:null},p=w!==null?w.baseLanes:c,Qe(Po,kr),kr|=p}else w!==null?(p=w.baseLanes|c,l.memoizedState=null):p=c,Qe(Po,kr),kr|=p;return er(a,l,g,c),l.child}function Bb(a,l){var c=l.ref;(a===null&&c!==null||a!==null&&a.ref!==c)&&(l.flags|=512,l.flags|=2097152)}function Kp(a,l,c,p,g){var w=ur(c)?oa:Vt.current;return w=mo(l,w),wo(l,g),c=Dp(a,l,c,p,w,g),p=Rp(),a!==null&&!cr?(l.updateQueue=a.updateQueue,l.flags&=-2053,a.lanes&=~g,Un(a,l,g)):(it&&p&&yp(l),l.flags|=1,er(a,l,c,g),l.child)}function Ub(a,l,c,p,g){if(ur(c)){var w=!0;dc(l)}else w=!1;if(wo(l,g),l.stateNode===null)jc(a,l),_b(l,c,p),Up(l,c,p,g),p=!0;else if(a===null){var A=l.stateNode,I=l.memoizedProps;A.props=I;var D=A.context,K=c.contextType;typeof K=="object"&&K!==null?K=Ir(K):(K=ur(c)?oa:Vt.current,K=mo(l,K));var re=c.getDerivedStateFromProps,ie=typeof re=="function"||typeof A.getSnapshotBeforeUpdate=="function";ie||typeof A.UNSAFE_componentWillReceiveProps!="function"&&typeof A.componentWillReceiveProps!="function"||(I!==p||D!==K)&&Nb(l,A,p,K),Ei=!1;var ee=l.memoizedState;A.state=ee,bc(l,p,A,g),D=l.memoizedState,I!==p||ee!==D||sr.current||Ei?(typeof re=="function"&&(Bp(l,c,re,p),D=l.memoizedState),(I=Ei||jb(l,c,I,p,ee,D,K))?(ie||typeof A.UNSAFE_componentWillMount!="function"&&typeof A.componentWillMount!="function"||(typeof A.componentWillMount=="function"&&A.componentWillMount(),typeof A.UNSAFE_componentWillMount=="function"&&A.UNSAFE_componentWillMount()),typeof A.componentDidMount=="function"&&(l.flags|=4194308)):(typeof A.componentDidMount=="function"&&(l.flags|=4194308),l.memoizedProps=p,l.memoizedState=D),A.props=p,A.state=D,A.context=K,p=I):(typeof A.componentDidMount=="function"&&(l.flags|=4194308),p=!1)}else{A=l.stateNode,ib(a,l),I=l.memoizedProps,K=l.type===l.elementType?I:Qr(l.type,I),A.props=K,ie=l.pendingProps,ee=A.context,D=c.contextType,typeof D=="object"&&D!==null?D=Ir(D):(D=ur(c)?oa:Vt.current,D=mo(l,D));var he=c.getDerivedStateFromProps;(re=typeof he=="function"||typeof A.getSnapshotBeforeUpdate=="function")||typeof A.UNSAFE_componentWillReceiveProps!="function"&&typeof A.componentWillReceiveProps!="function"||(I!==ie||ee!==D)&&Nb(l,A,p,D),Ei=!1,ee=l.memoizedState,A.state=ee,bc(l,p,A,g);var ye=l.memoizedState;I!==ie||ee!==ye||sr.current||Ei?(typeof he=="function"&&(Bp(l,c,he,p),ye=l.memoizedState),(K=Ei||jb(l,c,K,p,ee,ye,D)||!1)?(re||typeof A.UNSAFE_componentWillUpdate!="function"&&typeof A.componentWillUpdate!="function"||(typeof A.componentWillUpdate=="function"&&A.componentWillUpdate(p,ye,D),typeof A.UNSAFE_componentWillUpdate=="function"&&A.UNSAFE_componentWillUpdate(p,ye,D)),typeof A.componentDidUpdate=="function"&&(l.flags|=4),typeof A.getSnapshotBeforeUpdate=="function"&&(l.flags|=1024)):(typeof A.componentDidUpdate!="function"||I===a.memoizedProps&&ee===a.memoizedState||(l.flags|=4),typeof A.getSnapshotBeforeUpdate!="function"||I===a.memoizedProps&&ee===a.memoizedState||(l.flags|=1024),l.memoizedProps=p,l.memoizedState=ye),A.props=p,A.state=ye,A.context=D,p=K):(typeof A.componentDidUpdate!="function"||I===a.memoizedProps&&ee===a.memoizedState||(l.flags|=4),typeof A.getSnapshotBeforeUpdate!="function"||I===a.memoizedProps&&ee===a.memoizedState||(l.flags|=1024),p=!1)}return Vp(a,l,c,p,w,g)}function Vp(a,l,c,p,g,w){Bb(a,l);var A=(l.flags&128)!==0;if(!p&&!A)return g&&qx(l,c,!1),Un(a,l,w);p=l.stateNode,OI.current=l;var I=A&&typeof c.getDerivedStateFromError!="function"?null:p.render();return l.flags|=1,a!==null&&A?(l.child=xo(l,a.child,null,w),l.child=xo(l,null,I,w)):er(a,l,I,w),l.memoizedState=p.state,g&&qx(l,c,!0),l.child}function Wb(a){var l=a.stateNode;l.pendingContext?Kx(a,l.pendingContext,l.pendingContext!==l.context):l.context&&Kx(a,l.context,!1),jp(a,l.containerInfo)}function Hb(a,l,c,p,g){return yo(),kp(g),l.flags|=256,er(a,l,c,p),l.child}var qp={dehydrated:null,treeContext:null,retryLane:0};function Gp(a){return{baseLanes:a,cachePool:null,transitions:null}}function Kb(a,l,c){var p=l.pendingProps,g=st.current,w=!1,A=(l.flags&128)!==0,I;if((I=A)||(I=a!==null&&a.memoizedState===null?!1:(g&2)!==0),I?(w=!0,l.flags&=-129):(a===null||a.memoizedState!==null)&&(g|=1),Qe(st,g&1),a===null)return wp(l),a=l.memoizedState,a!==null&&(a=a.dehydrated,a!==null)?((l.mode&1)===0?l.lanes=1:a.data==="$!"?l.lanes=8:l.lanes=1073741824,null):(A=p.children,a=p.fallback,w?(p=l.mode,w=l.child,A={mode:"hidden",children:A},(p&1)===0&&w!==null?(w.childLanes=0,w.pendingProps=A):w=Bc(A,p,0,null),a=va(a,p,c,null),w.return=l,a.return=l,w.sibling=a,l.child=w,l.child.memoizedState=Gp(c),l.memoizedState=qp,a):Yp(l,A));if(g=a.memoizedState,g!==null&&(I=g.dehydrated,I!==null))return CI(a,l,A,p,I,g,c);if(w){w=p.fallback,A=l.mode,g=a.child,I=g.sibling;var D={mode:"hidden",children:p.children};return(A&1)===0&&l.child!==g?(p=l.child,p.childLanes=0,p.pendingProps=D,l.deletions=null):(p=Ni(g,D),p.subtreeFlags=g.subtreeFlags&14680064),I!==null?w=Ni(I,w):(w=va(w,A,c,null),w.flags|=2),w.return=l,p.return=l,p.sibling=w,l.child=p,p=w,w=l.child,A=a.child.memoizedState,A=A===null?Gp(c):{baseLanes:A.baseLanes|c,cachePool:null,transitions:A.transitions},w.memoizedState=A,w.childLanes=a.childLanes&~c,l.memoizedState=qp,p}return w=a.child,a=w.sibling,p=Ni(w,{mode:"visible",children:p.children}),(l.mode&1)===0&&(p.lanes=c),p.return=l,p.sibling=null,a!==null&&(c=l.deletions,c===null?(l.deletions=[a],l.flags|=16):c.push(a)),l.child=p,l.memoizedState=null,p}function Yp(a,l){return l=Bc({mode:"visible",children:l},a.mode,0,null),l.return=a,a.child=l}function Cc(a,l,c,p){return p!==null&&kp(p),xo(l,a.child,null,c),a=Yp(l,l.pendingProps.children),a.flags|=2,l.memoizedState=null,a}function CI(a,l,c,p,g,w,A){if(c)return l.flags&256?(l.flags&=-257,p=Wp(Error(r(422))),Cc(a,l,A,p)):l.memoizedState!==null?(l.child=a.child,l.flags|=128,null):(w=p.fallback,g=l.mode,p=Bc({mode:"visible",children:p.children},g,0,null),w=va(w,g,A,null),w.flags|=2,p.return=l,w.return=l,p.sibling=w,l.child=p,(l.mode&1)!==0&&xo(l,a.child,null,A),l.child.memoizedState=Gp(A),l.memoizedState=qp,w);if((l.mode&1)===0)return Cc(a,l,A,null);if(g.data==="$!"){if(p=g.nextSibling&&g.nextSibling.dataset,p)var I=p.dgst;return p=I,w=Error(r(419)),p=Wp(w,p,void 0),Cc(a,l,A,p)}if(I=(A&a.childLanes)!==0,cr||I){if(p=Ot,p!==null){switch(A&-A){case 4:g=2;break;case 16:g=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:g=32;break;case 536870912:g=268435456;break;default:g=0}g=(g&(p.suspendedLanes|A))!==0?0:g,g!==0&&g!==w.retryLane&&(w.retryLane=g,Fn(a,g),Jr(p,a,g,-1))}return dm(),p=Wp(Error(r(421))),Cc(a,l,A,p)}return g.data==="$?"?(l.flags|=128,l.child=a.child,l=BI.bind(null,a),g._reactRetry=l,null):(a=w.treeContext,wr=bi(g.nextSibling),br=l,it=!0,Yr=null,a!==null&&(_r[Nr++]=Ln,_r[Nr++]=zn,_r[Nr++]=la,Ln=a.id,zn=a.overflow,la=l),l=Yp(l,p.children),l.flags|=4096,l)}function Vb(a,l,c){a.lanes|=l;var p=a.alternate;p!==null&&(p.lanes|=l),Ap(a.return,l,c)}function Qp(a,l,c,p,g){var w=a.memoizedState;w===null?a.memoizedState={isBackwards:l,rendering:null,renderingStartTime:0,last:p,tail:c,tailMode:g}:(w.isBackwards=l,w.rendering=null,w.renderingStartTime=0,w.last=p,w.tail=c,w.tailMode=g)}function qb(a,l,c){var p=l.pendingProps,g=p.revealOrder,w=p.tail;if(er(a,l,p.children,c),p=st.current,(p&2)!==0)p=p&1|2,l.flags|=128;else{if(a!==null&&(a.flags&128)!==0)e:for(a=l.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&Vb(a,c,l);else if(a.tag===19)Vb(a,c,l);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===l)break e;for(;a.sibling===null;){if(a.return===null||a.return===l)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}p&=1}if(Qe(st,p),(l.mode&1)===0)l.memoizedState=null;else switch(g){case"forwards":for(c=l.child,g=null;c!==null;)a=c.alternate,a!==null&&wc(a)===null&&(g=c),c=c.sibling;c=g,c===null?(g=l.child,l.child=null):(g=c.sibling,c.sibling=null),Qp(l,!1,g,c,w);break;case"backwards":for(c=null,g=l.child,l.child=null;g!==null;){if(a=g.alternate,a!==null&&wc(a)===null){l.child=g;break}a=g.sibling,g.sibling=c,c=g,g=a}Qp(l,!0,c,null,w);break;case"together":Qp(l,!1,null,null,void 0);break;default:l.memoizedState=null}return l.child}function jc(a,l){(l.mode&1)===0&&a!==null&&(a.alternate=null,l.alternate=null,l.flags|=2)}function Un(a,l,c){if(a!==null&&(l.dependencies=a.dependencies),fa|=l.lanes,(c&l.childLanes)===0)return null;if(a!==null&&l.child!==a.child)throw Error(r(153));if(l.child!==null){for(a=l.child,c=Ni(a,a.pendingProps),l.child=c,c.return=l;a.sibling!==null;)a=a.sibling,c=c.sibling=Ni(a,a.pendingProps),c.return=l;c.sibling=null}return l.child}function jI(a,l,c){switch(l.tag){case 3:Wb(l),yo();break;case 5:lb(l);break;case 1:ur(l.type)&&dc(l);break;case 4:jp(l,l.stateNode.containerInfo);break;case 10:var p=l.type._context,g=l.memoizedProps.value;Qe(gc,p._currentValue),p._currentValue=g;break;case 13:if(p=l.memoizedState,p!==null)return p.dehydrated!==null?(Qe(st,st.current&1),l.flags|=128,null):(c&l.child.childLanes)!==0?Kb(a,l,c):(Qe(st,st.current&1),a=Un(a,l,c),a!==null?a.sibling:null);Qe(st,st.current&1);break;case 19:if(p=(c&l.childLanes)!==0,(a.flags&128)!==0){if(p)return qb(a,l,c);l.flags|=128}if(g=l.memoizedState,g!==null&&(g.rendering=null,g.tail=null,g.lastEffect=null),Qe(st,st.current),p)break;return null;case 22:case 23:return l.lanes=0,Fb(a,l,c)}return Un(a,l,c)}var Gb,Xp,Yb,Qb;Gb=function(a,l){for(var c=l.child;c!==null;){if(c.tag===5||c.tag===6)a.appendChild(c.stateNode);else if(c.tag!==4&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===l)break;for(;c.sibling===null;){if(c.return===null||c.return===l)return;c=c.return}c.sibling.return=c.return,c=c.sibling}},Xp=function(){},Yb=function(a,l,c,p){var g=a.memoizedProps;if(g!==p){a=l.stateNode,ca(pn.current);var w=null;switch(c){case"input":g=$e(a,g),p=$e(a,p),w=[];break;case"select":g=X({},g,{value:void 0}),p=X({},p,{value:void 0}),w=[];break;case"textarea":g=jh(a,g),p=jh(a,p),w=[];break;default:typeof g.onClick!="function"&&typeof p.onClick=="function"&&(a.onclick=sc)}Nh(c,p);var A;c=null;for(K in g)if(!p.hasOwnProperty(K)&&g.hasOwnProperty(K)&&g[K]!=null)if(K==="style"){var I=g[K];for(A in I)I.hasOwnProperty(A)&&(c||(c={}),c[A]="")}else K!=="dangerouslySetInnerHTML"&&K!=="children"&&K!=="suppressContentEditableWarning"&&K!=="suppressHydrationWarning"&&K!=="autoFocus"&&(i.hasOwnProperty(K)?w||(w=[]):(w=w||[]).push(K,null));for(K in p){var D=p[K];if(I=g!=null?g[K]:void 0,p.hasOwnProperty(K)&&D!==I&&(D!=null||I!=null))if(K==="style")if(I){for(A in I)!I.hasOwnProperty(A)||D&&D.hasOwnProperty(A)||(c||(c={}),c[A]="");for(A in D)D.hasOwnProperty(A)&&I[A]!==D[A]&&(c||(c={}),c[A]=D[A])}else c||(w||(w=[]),w.push(K,c)),c=D;else K==="dangerouslySetInnerHTML"?(D=D?D.__html:void 0,I=I?I.__html:void 0,D!=null&&I!==D&&(w=w||[]).push(K,D)):K==="children"?typeof D!="string"&&typeof D!="number"||(w=w||[]).push(K,""+D):K!=="suppressContentEditableWarning"&&K!=="suppressHydrationWarning"&&(i.hasOwnProperty(K)?(D!=null&&K==="onScroll"&&Je("scroll",a),w||I===D||(w=[])):(w=w||[]).push(K,D))}c&&(w=w||[]).push("style",c);var K=w;(l.updateQueue=K)&&(l.flags|=4)}},Qb=function(a,l,c,p){c!==p&&(l.flags|=4)};function vs(a,l){if(!it)switch(a.tailMode){case"hidden":l=a.tail;for(var c=null;l!==null;)l.alternate!==null&&(c=l),l=l.sibling;c===null?a.tail=null:c.sibling=null;break;case"collapsed":c=a.tail;for(var p=null;c!==null;)c.alternate!==null&&(p=c),c=c.sibling;p===null?l||a.tail===null?a.tail=null:a.tail.sibling=null:p.sibling=null}}function Gt(a){var l=a.alternate!==null&&a.alternate.child===a.child,c=0,p=0;if(l)for(var g=a.child;g!==null;)c|=g.lanes|g.childLanes,p|=g.subtreeFlags&14680064,p|=g.flags&14680064,g.return=a,g=g.sibling;else for(g=a.child;g!==null;)c|=g.lanes|g.childLanes,p|=g.subtreeFlags,p|=g.flags,g.return=a,g=g.sibling;return a.subtreeFlags|=p,a.childLanes=c,l}function _I(a,l,c){var p=l.pendingProps;switch(xp(l),l.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Gt(l),null;case 1:return ur(l.type)&&cc(),Gt(l),null;case 3:return p=l.stateNode,ko(),et(sr),et(Vt),Ip(),p.pendingContext&&(p.context=p.pendingContext,p.pendingContext=null),(a===null||a.child===null)&&(mc(l)?l.flags|=4:a===null||a.memoizedState.isDehydrated&&(l.flags&256)===0||(l.flags|=1024,Yr!==null&&(sm(Yr),Yr=null))),Xp(a,l),Gt(l),null;case 5:_p(l);var g=ca(ds.current);if(c=l.type,a!==null&&l.stateNode!=null)Yb(a,l,c,p,g),a.ref!==l.ref&&(l.flags|=512,l.flags|=2097152);else{if(!p){if(l.stateNode===null)throw Error(r(166));return Gt(l),null}if(a=ca(pn.current),mc(l)){p=l.stateNode,c=l.type;var w=l.memoizedProps;switch(p[hn]=l,p[os]=w,a=(l.mode&1)!==0,c){case"dialog":Je("cancel",p),Je("close",p);break;case"iframe":case"object":case"embed":Je("load",p);break;case"video":case"audio":for(g=0;g<\/script>",a=a.removeChild(a.firstChild)):typeof p.is=="string"?a=A.createElement(c,{is:p.is}):(a=A.createElement(c),c==="select"&&(A=a,p.multiple?A.multiple=!0:p.size&&(A.size=p.size))):a=A.createElementNS(a,c),a[hn]=l,a[os]=p,Gb(a,l,!1,!1),l.stateNode=a;e:{switch(A=Ih(c,p),c){case"dialog":Je("cancel",a),Je("close",a),g=p;break;case"iframe":case"object":case"embed":Je("load",a),g=p;break;case"video":case"audio":for(g=0;gAo&&(l.flags|=128,p=!0,vs(w,!1),l.lanes=4194304)}else{if(!p)if(a=wc(A),a!==null){if(l.flags|=128,p=!0,c=a.updateQueue,c!==null&&(l.updateQueue=c,l.flags|=4),vs(w,!0),w.tail===null&&w.tailMode==="hidden"&&!A.alternate&&!it)return Gt(l),null}else 2*pt()-w.renderingStartTime>Ao&&c!==1073741824&&(l.flags|=128,p=!0,vs(w,!1),l.lanes=4194304);w.isBackwards?(A.sibling=l.child,l.child=A):(c=w.last,c!==null?c.sibling=A:l.child=A,w.last=A)}return w.tail!==null?(l=w.tail,w.rendering=l,w.tail=l.sibling,w.renderingStartTime=pt(),l.sibling=null,c=st.current,Qe(st,p?c&1|2:c&1),l):(Gt(l),null);case 22:case 23:return cm(),p=l.memoizedState!==null,a!==null&&a.memoizedState!==null!==p&&(l.flags|=8192),p&&(l.mode&1)!==0?(kr&1073741824)!==0&&(Gt(l),l.subtreeFlags&6&&(l.flags|=8192)):Gt(l),null;case 24:return null;case 25:return null}throw Error(r(156,l.tag))}function NI(a,l){switch(xp(l),l.tag){case 1:return ur(l.type)&&cc(),a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 3:return ko(),et(sr),et(Vt),Ip(),a=l.flags,(a&65536)!==0&&(a&128)===0?(l.flags=a&-65537|128,l):null;case 5:return _p(l),null;case 13:if(et(st),a=l.memoizedState,a!==null&&a.dehydrated!==null){if(l.alternate===null)throw Error(r(340));yo()}return a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 19:return et(st),null;case 4:return ko(),null;case 10:return Pp(l.type._context),null;case 22:case 23:return cm(),null;case 24:return null;default:return null}}var _c=!1,Yt=!1,II=typeof WeakSet=="function"?WeakSet:Set,me=null;function Eo(a,l){var c=a.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(p){ct(a,l,p)}else c.current=null}function Zp(a,l,c){try{c()}catch(p){ct(a,l,p)}}var Xb=!1;function MI(a,l){if(cp=Qu,a=jx(),rp(a)){if("selectionStart"in a)var c={start:a.selectionStart,end:a.selectionEnd};else e:{c=(c=a.ownerDocument)&&c.defaultView||window;var p=c.getSelection&&c.getSelection();if(p&&p.rangeCount!==0){c=p.anchorNode;var g=p.anchorOffset,w=p.focusNode;p=p.focusOffset;try{c.nodeType,w.nodeType}catch{c=null;break e}var A=0,I=-1,D=-1,K=0,re=0,ie=a,ee=null;t:for(;;){for(var he;ie!==c||g!==0&&ie.nodeType!==3||(I=A+g),ie!==w||p!==0&&ie.nodeType!==3||(D=A+p),ie.nodeType===3&&(A+=ie.nodeValue.length),(he=ie.firstChild)!==null;)ee=ie,ie=he;for(;;){if(ie===a)break t;if(ee===c&&++K===g&&(I=A),ee===w&&++re===p&&(D=A),(he=ie.nextSibling)!==null)break;ie=ee,ee=ie.parentNode}ie=he}c=I===-1||D===-1?null:{start:I,end:D}}else c=null}c=c||{start:0,end:0}}else c=null;for(dp={focusedElem:a,selectionRange:c},Qu=!1,me=l;me!==null;)if(l=me,a=l.child,(l.subtreeFlags&1028)!==0&&a!==null)a.return=l,me=a;else for(;me!==null;){l=me;try{var ye=l.alternate;if((l.flags&1024)!==0)switch(l.tag){case 0:case 11:case 15:break;case 1:if(ye!==null){var xe=ye.memoizedProps,mt=ye.memoizedState,U=l.stateNode,L=U.getSnapshotBeforeUpdate(l.elementType===l.type?xe:Qr(l.type,xe),mt);U.__reactInternalSnapshotBeforeUpdate=L}break;case 3:var W=l.stateNode.containerInfo;W.nodeType===1?W.textContent="":W.nodeType===9&&W.documentElement&&W.removeChild(W.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(oe){ct(l,l.return,oe)}if(a=l.sibling,a!==null){a.return=l.return,me=a;break}me=l.return}return ye=Xb,Xb=!1,ye}function gs(a,l,c){var p=l.updateQueue;if(p=p!==null?p.lastEffect:null,p!==null){var g=p=p.next;do{if((g.tag&a)===a){var w=g.destroy;g.destroy=void 0,w!==void 0&&Zp(l,c,w)}g=g.next}while(g!==p)}}function Nc(a,l){if(l=l.updateQueue,l=l!==null?l.lastEffect:null,l!==null){var c=l=l.next;do{if((c.tag&a)===a){var p=c.create;c.destroy=p()}c=c.next}while(c!==l)}}function Jp(a){var l=a.ref;if(l!==null){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}typeof l=="function"?l(a):l.current=a}}function Zb(a){var l=a.alternate;l!==null&&(a.alternate=null,Zb(l)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(l=a.stateNode,l!==null&&(delete l[hn],delete l[os],delete l[mp],delete l[mI],delete l[vI])),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function Jb(a){return a.tag===5||a.tag===3||a.tag===4}function e1(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||Jb(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function em(a,l,c){var p=a.tag;if(p===5||p===6)a=a.stateNode,l?c.nodeType===8?c.parentNode.insertBefore(a,l):c.insertBefore(a,l):(c.nodeType===8?(l=c.parentNode,l.insertBefore(a,c)):(l=c,l.appendChild(a)),c=c._reactRootContainer,c!=null||l.onclick!==null||(l.onclick=sc));else if(p!==4&&(a=a.child,a!==null))for(em(a,l,c),a=a.sibling;a!==null;)em(a,l,c),a=a.sibling}function tm(a,l,c){var p=a.tag;if(p===5||p===6)a=a.stateNode,l?c.insertBefore(a,l):c.appendChild(a);else if(p!==4&&(a=a.child,a!==null))for(tm(a,l,c),a=a.sibling;a!==null;)tm(a,l,c),a=a.sibling}var Dt=null,Xr=!1;function Ai(a,l,c){for(c=c.child;c!==null;)t1(a,l,c),c=c.sibling}function t1(a,l,c){if(fn&&typeof fn.onCommitFiberUnmount=="function")try{fn.onCommitFiberUnmount(Hu,c)}catch{}switch(c.tag){case 5:Yt||Eo(c,l);case 6:var p=Dt,g=Xr;Dt=null,Ai(a,l,c),Dt=p,Xr=g,Dt!==null&&(Xr?(a=Dt,c=c.stateNode,a.nodeType===8?a.parentNode.removeChild(c):a.removeChild(c)):Dt.removeChild(c.stateNode));break;case 18:Dt!==null&&(Xr?(a=Dt,c=c.stateNode,a.nodeType===8?pp(a.parentNode,c):a.nodeType===1&&pp(a,c),Yl(a)):pp(Dt,c.stateNode));break;case 4:p=Dt,g=Xr,Dt=c.stateNode.containerInfo,Xr=!0,Ai(a,l,c),Dt=p,Xr=g;break;case 0:case 11:case 14:case 15:if(!Yt&&(p=c.updateQueue,p!==null&&(p=p.lastEffect,p!==null))){g=p=p.next;do{var w=g,A=w.destroy;w=w.tag,A!==void 0&&((w&2)!==0||(w&4)!==0)&&Zp(c,l,A),g=g.next}while(g!==p)}Ai(a,l,c);break;case 1:if(!Yt&&(Eo(c,l),p=c.stateNode,typeof p.componentWillUnmount=="function"))try{p.props=c.memoizedProps,p.state=c.memoizedState,p.componentWillUnmount()}catch(I){ct(c,l,I)}Ai(a,l,c);break;case 21:Ai(a,l,c);break;case 22:c.mode&1?(Yt=(p=Yt)||c.memoizedState!==null,Ai(a,l,c),Yt=p):Ai(a,l,c);break;default:Ai(a,l,c)}}function r1(a){var l=a.updateQueue;if(l!==null){a.updateQueue=null;var c=a.stateNode;c===null&&(c=a.stateNode=new II),l.forEach(function(p){var g=UI.bind(null,a,p);c.has(p)||(c.add(p),p.then(g,g))})}}function Zr(a,l){var c=l.deletions;if(c!==null)for(var p=0;pg&&(g=A),p&=~w}if(p=g,p=pt()-p,p=(120>p?120:480>p?480:1080>p?1080:1920>p?1920:3e3>p?3e3:4320>p?4320:1960*DI(p/1960))-p,10a?16:a,Ci===null)var p=!1;else{if(a=Ci,Ci=null,Rc=0,(We&6)!==0)throw Error(r(331));var g=We;for(We|=4,me=a.current;me!==null;){var w=me,A=w.child;if((me.flags&16)!==0){var I=w.deletions;if(I!==null){for(var D=0;Dpt()-im?pa(a,0):nm|=c),fr(a,l)}function m1(a,l){l===0&&((a.mode&1)===0?l=1:(l=Vu,Vu<<=1,(Vu&130023424)===0&&(Vu=4194304)));var c=tr();a=Fn(a,l),a!==null&&(Hl(a,l,c),fr(a,c))}function BI(a){var l=a.memoizedState,c=0;l!==null&&(c=l.retryLane),m1(a,c)}function UI(a,l){var c=0;switch(a.tag){case 13:var p=a.stateNode,g=a.memoizedState;g!==null&&(c=g.retryLane);break;case 19:p=a.stateNode;break;default:throw Error(r(314))}p!==null&&p.delete(l),m1(a,c)}var v1;v1=function(a,l,c){if(a!==null)if(a.memoizedProps!==l.pendingProps||sr.current)cr=!0;else{if((a.lanes&c)===0&&(l.flags&128)===0)return cr=!1,jI(a,l,c);cr=(a.flags&131072)!==0}else cr=!1,it&&(l.flags&1048576)!==0&&Yx(l,pc,l.index);switch(l.lanes=0,l.tag){case 2:var p=l.type;jc(a,l),a=l.pendingProps;var g=mo(l,Vt.current);wo(l,c),g=Dp(null,l,p,a,g,c);var w=Rp();return l.flags|=1,typeof g=="object"&&g!==null&&typeof g.render=="function"&&g.$$typeof===void 0?(l.tag=1,l.memoizedState=null,l.updateQueue=null,ur(p)?(w=!0,dc(l)):w=!1,l.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,Cp(l),g.updater=Oc,l.stateNode=g,g._reactInternals=l,Up(l,p,a,c),l=Vp(null,l,p,!0,w,c)):(l.tag=0,it&&w&&yp(l),er(null,l,g,c),l=l.child),l;case 16:p=l.elementType;e:{switch(jc(a,l),a=l.pendingProps,g=p._init,p=g(p._payload),l.type=p,g=l.tag=HI(p),a=Qr(p,a),g){case 0:l=Kp(null,l,p,a,c);break e;case 1:l=Ub(null,l,p,a,c);break e;case 11:l=$b(null,l,p,a,c);break e;case 14:l=Lb(null,l,p,Qr(p.type,a),c);break e}throw Error(r(306,p,""))}return l;case 0:return p=l.type,g=l.pendingProps,g=l.elementType===p?g:Qr(p,g),Kp(a,l,p,g,c);case 1:return p=l.type,g=l.pendingProps,g=l.elementType===p?g:Qr(p,g),Ub(a,l,p,g,c);case 3:e:{if(Wb(l),a===null)throw Error(r(387));p=l.pendingProps,w=l.memoizedState,g=w.element,ib(a,l),bc(l,p,null,c);var A=l.memoizedState;if(p=A.element,w.isDehydrated)if(w={element:p,isDehydrated:!1,cache:A.cache,pendingSuspenseBoundaries:A.pendingSuspenseBoundaries,transitions:A.transitions},l.updateQueue.baseState=w,l.memoizedState=w,l.flags&256){g=So(Error(r(423)),l),l=Hb(a,l,p,c,g);break e}else if(p!==g){g=So(Error(r(424)),l),l=Hb(a,l,p,c,g);break e}else for(wr=bi(l.stateNode.containerInfo.firstChild),br=l,it=!0,Yr=null,c=rb(l,null,p,c),l.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(yo(),p===g){l=Un(a,l,c);break e}er(a,l,p,c)}l=l.child}return l;case 5:return lb(l),a===null&&wp(l),p=l.type,g=l.pendingProps,w=a!==null?a.memoizedProps:null,A=g.children,fp(p,g)?A=null:w!==null&&fp(p,w)&&(l.flags|=32),Bb(a,l),er(a,l,A,c),l.child;case 6:return a===null&&wp(l),null;case 13:return Kb(a,l,c);case 4:return jp(l,l.stateNode.containerInfo),p=l.pendingProps,a===null?l.child=xo(l,null,p,c):er(a,l,p,c),l.child;case 11:return p=l.type,g=l.pendingProps,g=l.elementType===p?g:Qr(p,g),$b(a,l,p,g,c);case 7:return er(a,l,l.pendingProps,c),l.child;case 8:return er(a,l,l.pendingProps.children,c),l.child;case 12:return er(a,l,l.pendingProps.children,c),l.child;case 10:e:{if(p=l.type._context,g=l.pendingProps,w=l.memoizedProps,A=g.value,Qe(gc,p._currentValue),p._currentValue=A,w!==null)if(Gr(w.value,A)){if(w.children===g.children&&!sr.current){l=Un(a,l,c);break e}}else for(w=l.child,w!==null&&(w.return=l);w!==null;){var I=w.dependencies;if(I!==null){A=w.child;for(var D=I.firstContext;D!==null;){if(D.context===p){if(w.tag===1){D=Bn(-1,c&-c),D.tag=2;var K=w.updateQueue;if(K!==null){K=K.shared;var re=K.pending;re===null?D.next=D:(D.next=re.next,re.next=D),K.pending=D}}w.lanes|=c,D=w.alternate,D!==null&&(D.lanes|=c),Ap(w.return,c,l),I.lanes|=c;break}D=D.next}}else if(w.tag===10)A=w.type===l.type?null:w.child;else if(w.tag===18){if(A=w.return,A===null)throw Error(r(341));A.lanes|=c,I=A.alternate,I!==null&&(I.lanes|=c),Ap(A,c,l),A=w.sibling}else A=w.child;if(A!==null)A.return=w;else for(A=w;A!==null;){if(A===l){A=null;break}if(w=A.sibling,w!==null){w.return=A.return,A=w;break}A=A.return}w=A}er(a,l,g.children,c),l=l.child}return l;case 9:return g=l.type,p=l.pendingProps.children,wo(l,c),g=Ir(g),p=p(g),l.flags|=1,er(a,l,p,c),l.child;case 14:return p=l.type,g=Qr(p,l.pendingProps),g=Qr(p.type,g),Lb(a,l,p,g,c);case 15:return zb(a,l,l.type,l.pendingProps,c);case 17:return p=l.type,g=l.pendingProps,g=l.elementType===p?g:Qr(p,g),jc(a,l),l.tag=1,ur(p)?(a=!0,dc(l)):a=!1,wo(l,c),_b(l,p,g),Up(l,p,g,c),Vp(null,l,p,!0,a,c);case 19:return qb(a,l,c);case 22:return Fb(a,l,c)}throw Error(r(156,l.tag))};function g1(a,l){return Q0(a,l)}function WI(a,l,c,p){this.tag=a,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=p,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dr(a,l,c,p){return new WI(a,l,c,p)}function fm(a){return a=a.prototype,!(!a||!a.isReactComponent)}function HI(a){if(typeof a=="function")return fm(a)?1:0;if(a!=null){if(a=a.$$typeof,a===B)return 11;if(a===le)return 14}return 2}function Ni(a,l){var c=a.alternate;return c===null?(c=Dr(a.tag,l,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=l,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=a.flags&14680064,c.childLanes=a.childLanes,c.lanes=a.lanes,c.child=a.child,c.memoizedProps=a.memoizedProps,c.memoizedState=a.memoizedState,c.updateQueue=a.updateQueue,l=a.dependencies,c.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},c.sibling=a.sibling,c.index=a.index,c.ref=a.ref,c}function Fc(a,l,c,p,g,w){var A=2;if(p=a,typeof a=="function")fm(a)&&(A=1);else if(typeof a=="string")A=5;else e:switch(a){case R:return va(c.children,g,w,l);case z:A=8,g|=8;break;case F:return a=Dr(12,c,l,g|2),a.elementType=F,a.lanes=w,a;case ue:return a=Dr(13,c,l,g),a.elementType=ue,a.lanes=w,a;case G:return a=Dr(19,c,l,g),a.elementType=G,a.lanes=w,a;case de:return Bc(c,g,w,l);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case V:A=10;break e;case Q:A=9;break e;case B:A=11;break e;case le:A=14;break e;case fe:A=16,p=null;break e}throw Error(r(130,a==null?a:typeof a,""))}return l=Dr(A,c,l,g),l.elementType=a,l.type=p,l.lanes=w,l}function va(a,l,c,p){return a=Dr(7,a,p,l),a.lanes=c,a}function Bc(a,l,c,p){return a=Dr(22,a,p,l),a.elementType=de,a.lanes=c,a.stateNode={isHidden:!1},a}function hm(a,l,c){return a=Dr(6,a,null,l),a.lanes=c,a}function pm(a,l,c){return l=Dr(4,a.children!==null?a.children:[],a.key,l),l.lanes=c,l.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},l}function KI(a,l,c,p,g){this.tag=l,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bh(0),this.expirationTimes=Bh(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bh(0),this.identifierPrefix=p,this.onRecoverableError=g,this.mutableSourceEagerHydrationData=null}function mm(a,l,c,p,g,w,A,I,D){return a=new KI(a,l,c,I,D),l===1?(l=1,w===!0&&(l|=8)):l=0,w=Dr(3,null,null,l),a.current=w,w.stateNode=a,w.memoizedState={element:p,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},Cp(w),a}function VI(a,l,c){var p=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),km.exports=oM(),km.exports}var I1;function lM(){if(I1)return Yc;I1=1;var e=_P();return Yc.createRoot=e.createRoot,Yc.hydrateRoot=e.hydrateRoot,Yc}var sM=lM();const uM=$g(sM);var xu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Na,Bi,el,bP,cM=(bP=class extends xu{constructor(){super();je(this,Na);je(this,Bi);je(this,el);pe(this,el,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){$(this,Bi)||this.setEventListener($(this,el))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,Bi))==null||t.call(this),pe(this,Bi,void 0))}setEventListener(t){var r;pe(this,el,t),(r=$(this,Bi))==null||r.call(this),pe(this,Bi,t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(t){$(this,Na)!==t&&(pe(this,Na,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof $(this,Na)=="boolean"?$(this,Na):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Na=new WeakMap,Bi=new WeakMap,el=new WeakMap,bP),zg=new cM,dM={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ui,Rg,wP,fM=(wP=class{constructor(){je(this,Ui,dM);je(this,Rg,!1)}setTimeoutProvider(e){pe(this,Ui,e)}setTimeout(e,t){return $(this,Ui).setTimeout(e,t)}clearTimeout(e){$(this,Ui).clearTimeout(e)}setInterval(e,t){return $(this,Ui).setInterval(e,t)}clearInterval(e){$(this,Ui).clearInterval(e)}},Ui=new WeakMap,Rg=new WeakMap,wP),Ea=new fM;function hM(e){setTimeout(e,0)}var pM=typeof window>"u"||"Deno"in globalThis;function mr(){}function mM(e,t){return typeof e=="function"?e(t):e}function vv(e){return typeof e=="number"&&e>=0&&e!==1/0}function NP(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Qi(e,t){return typeof e=="function"?e(t):e}function Er(e,t){return typeof e=="function"?e(t):e}function M1(e,t){const{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:s,stale:u}=e;if(s){if(n){if(t.queryHash!==Fg(s,t.options))return!1}else if(!qs(t.queryKey,s))return!1}if(r!=="all"){const d=t.isActive();if(r==="active"&&!d||r==="inactive"&&d)return!1}return!(typeof u=="boolean"&&t.isStale()!==u||i&&i!==t.state.fetchStatus||o&&!o(t))}function T1(e,t){const{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(Vs(t.options.mutationKey)!==Vs(o))return!1}else if(!qs(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function Fg(e,t){return((t==null?void 0:t.queryKeyHashFn)||Vs)(e)}function Vs(e){return JSON.stringify(e,(t,r)=>yv(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function qs(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>qs(e[r],t[r])):!1}var vM=Object.prototype.hasOwnProperty;function IP(e,t,r=0){if(e===t)return e;if(r>500)return t;const n=D1(e)&&D1(t);if(!n&&!(yv(e)&&yv(t)))return t;const o=(n?e:Object.keys(e)).length,s=n?t:Object.keys(t),u=s.length,d=n?new Array(u):{};let f=0;for(let h=0;h{Ea.setTimeout(t,e)})}function xv(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?IP(e,t):t}function yM(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function xM(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var Bg=Symbol();function MP(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Bg?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function TP(e,t){return typeof e=="function"?e(...t):!!e}function bM(e,t,r){let n=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??(i=t()),n||(n=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),e}var Gs=(()=>{let e=()=>pM;return{isServer(){return e()},setIsServer(t){e=t}}})();function bv(){let e,t;const r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}var wM=hM;function kM(){let e=[],t=0,r=u=>{u()},n=u=>{u()},i=wM;const o=u=>{t?e.push(u):i(()=>{r(u)})},s=()=>{const u=e;e=[],u.length&&i(()=>{n(()=>{u.forEach(d=>{r(d)})})})};return{batch:u=>{let d;t++;try{d=u()}finally{t--,t||s()}return d},batchCalls:u=>(...d)=>{o(()=>{u(...d)})},schedule:o,setNotifyFunction:u=>{r=u},setBatchNotifyFunction:u=>{n=u},setScheduler:u=>{i=u}}}var Ft=kM(),tl,Wi,rl,kP,SM=(kP=class extends xu{constructor(){super();je(this,tl,!0);je(this,Wi);je(this,rl);pe(this,rl,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){$(this,Wi)||this.setEventListener($(this,rl))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,Wi))==null||t.call(this),pe(this,Wi,void 0))}setEventListener(t){var r;pe(this,rl,t),(r=$(this,Wi))==null||r.call(this),pe(this,Wi,t(this.setOnline.bind(this)))}setOnline(t){$(this,tl)!==t&&(pe(this,tl,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return $(this,tl)}},tl=new WeakMap,Wi=new WeakMap,rl=new WeakMap,kP),Nd=new SM;function EM(e){return Math.min(1e3*2**e,3e4)}function DP(e){return(e??"online")==="online"?Nd.isOnline():!0}var wv=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function RP(e){let t=!1,r=0,n;const i=bv(),o=()=>i.status!=="pending",s=k=>{var E;if(!o()){const P=new wv(k);v(P),(E=e.onCancel)==null||E.call(e,P)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>zg.isFocused()&&(e.networkMode==="always"||Nd.isOnline())&&e.canRun(),h=()=>DP(e.networkMode)&&e.canRun(),m=k=>{o()||(n==null||n(),i.resolve(k))},v=k=>{o()||(n==null||n(),i.reject(k))},b=()=>new Promise(k=>{var E;n=P=>{(o()||f())&&k(P)},(E=e.onPause)==null||E.call(e)}).then(()=>{var k;n=void 0,o()||(k=e.onContinue)==null||k.call(e)}),S=()=>{if(o())return;let k;const E=r===0?e.initialPromise:void 0;try{k=E??e.fn()}catch(P){k=Promise.reject(P)}Promise.resolve(k).then(m).catch(P=>{var C;if(o())return;const j=e.retry??(Gs.isServer()?0:3),_=e.retryDelay??EM,O=typeof _=="function"?_(r,P):_,N=j===!0||typeof j=="number"&&rf()?void 0:b()).then(()=>{t?v(P):S()})})};return{promise:i,status:()=>i.status,cancel:s,continue:()=>(n==null||n(),i),cancelRetry:u,continueRetry:d,canStart:h,start:()=>(h()?S():b().then(S),i)}}var Ia,SP,$P=(SP=class{constructor(){je(this,Ia)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),vv(this.gcTime)&&pe(this,Ia,Ea.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Gs.isServer()?1/0:300*1e3))}clearGcTimeout(){$(this,Ia)!==void 0&&(Ea.clearTimeout($(this,Ia)),pe(this,Ia,void 0))}},Ia=new WeakMap,SP);function PM(e){return{onFetch:(t,r)=>{var h,m,v,b,S;const n=t.options,i=(v=(m=(h=t.fetchOptions)==null?void 0:h.meta)==null?void 0:m.fetchMore)==null?void 0:v.direction,o=((b=t.state.data)==null?void 0:b.pages)||[],s=((S=t.state.data)==null?void 0:S.pageParams)||[];let u={pages:[],pageParams:[]},d=0;const f=async()=>{let k=!1;const E=_=>{bM(_,()=>t.signal,()=>k=!0)},P=MP(t.options,t.fetchOptions),j=async(_,O,N)=>{if(k)return Promise.reject(t.signal.reason);if(O==null&&_.pages.length)return Promise.resolve(_);const R=(()=>{const Q={client:t.client,queryKey:t.queryKey,pageParam:O,direction:N?"backward":"forward",meta:t.options.meta};return E(Q),Q})(),z=await P(R),{maxPages:F}=t.options,V=N?xM:yM;return{pages:V(_.pages,z,F),pageParams:V(_.pageParams,O,F)}};if(i&&o.length){const _=i==="backward",O=_?AM:$1,N={pages:o,pageParams:s},C=O(n,N);u=await j(N,C,_)}else{const _=e??o.length;do{const O=d===0?s[0]??n.initialPageParam:$1(n,u);if(d>0&&O==null)break;u=await j(u,O),d++}while(d<_)}return u};t.options.persister?t.fetchFn=()=>{var k,E;return(E=(k=t.options).persister)==null?void 0:E.call(k,f,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=f}}}function $1(e,{pages:t,pageParams:r}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function AM(e,{pages:t,pageParams:r}){var n;return t.length>0?(n=e.getPreviousPageParam)==null?void 0:n.call(e,t[0],t,r[0],r):void 0}var nl,Ma,il,$r,Ta,jt,pu,Da,Sr,LP,Kn,EP,OM=(EP=class extends $P{constructor(t){super();je(this,Sr);je(this,nl);je(this,Ma);je(this,il);je(this,$r);je(this,Ta);je(this,jt);je(this,pu);je(this,Da);pe(this,Da,!1),pe(this,pu,t.defaultOptions),this.setOptions(t.options),this.observers=[],pe(this,Ta,t.client),pe(this,$r,$(this,Ta).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,pe(this,Ma,z1(this.options)),this.state=t.state??$(this,Ma),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return $(this,nl)}get promise(){var t;return(t=$(this,jt))==null?void 0:t.promise}setOptions(t){if(this.options={...$(this,pu),...t},t!=null&&t._type&&pe(this,nl,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=z1(this.options);r.data!==void 0&&(this.setState(L1(r.data,r.dataUpdatedAt)),pe(this,Ma,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&$(this,$r).remove(this)}setData(t,r){const n=xv(this.state.data,t,this.options);return ze(this,Sr,Kn).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(t){ze(this,Sr,Kn).call(this,{type:"setState",state:t})}cancel(t){var n,i;const r=(n=$(this,jt))==null?void 0:n.promise;return(i=$(this,jt))==null||i.cancel(t),r?r.then(mr).catch(mr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return $(this,Ma)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Er(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Bg||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Qi(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!NP(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(n=>n.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=$(this,jt))==null||r.continue()}onOnline(){var r;const t=this.observers.find(n=>n.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=$(this,jt))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),$(this,$r).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||($(this,jt)&&($(this,Da)||ze(this,Sr,LP).call(this)?$(this,jt).cancel({revert:!0}):$(this,jt).cancelRetry()),this.scheduleGc()),$(this,$r).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ze(this,Sr,Kn).call(this,{type:"invalidate"})}async fetch(t,r){var f,h,m,v,b,S,k,E,P,j,_;if(this.state.fetchStatus!=="idle"&&((f=$(this,jt))==null?void 0:f.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if($(this,jt))return $(this,jt).continueRetry(),$(this,jt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const O=this.observers.find(N=>N.options.queryFn);O&&this.setOptions(O.options)}const n=new AbortController,i=O=>{Object.defineProperty(O,"signal",{enumerable:!0,get:()=>(pe(this,Da,!0),n.signal)})},o=()=>{const O=MP(this.options,r),C=(()=>{const R={client:$(this,Ta),queryKey:this.queryKey,meta:this.meta};return i(R),R})();return pe(this,Da,!1),this.options.persister?this.options.persister(O,C,this):O(C)},u=(()=>{const O={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:$(this,Ta),state:this.state,fetchFn:o};return i(O),O})(),d=$(this,nl)==="infinite"?PM(this.options.pages):this.options.behavior;d==null||d.onFetch(u,this),pe(this,il,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((h=u.fetchOptions)==null?void 0:h.meta))&&ze(this,Sr,Kn).call(this,{type:"fetch",meta:(m=u.fetchOptions)==null?void 0:m.meta}),pe(this,jt,RP({initialPromise:r==null?void 0:r.initialPromise,fn:u.fetchFn,onCancel:O=>{O instanceof wv&&O.revert&&this.setState({...$(this,il),fetchStatus:"idle"}),n.abort()},onFail:(O,N)=>{ze(this,Sr,Kn).call(this,{type:"failed",failureCount:O,error:N})},onPause:()=>{ze(this,Sr,Kn).call(this,{type:"pause"})},onContinue:()=>{ze(this,Sr,Kn).call(this,{type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0}));try{const O=await $(this,jt).start();if(O===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(O),(b=(v=$(this,$r).config).onSuccess)==null||b.call(v,O,this),(k=(S=$(this,$r).config).onSettled)==null||k.call(S,O,this.state.error,this),O}catch(O){if(O instanceof wv){if(O.silent)return $(this,jt).promise;if(O.revert){if(this.state.data===void 0)throw O;return this.state.data}}throw ze(this,Sr,Kn).call(this,{type:"error",error:O}),(P=(E=$(this,$r).config).onError)==null||P.call(E,O,this),(_=(j=$(this,$r).config).onSettled)==null||_.call(j,this.state.data,O,this),O}finally{this.scheduleGc()}}},nl=new WeakMap,Ma=new WeakMap,il=new WeakMap,$r=new WeakMap,Ta=new WeakMap,jt=new WeakMap,pu=new WeakMap,Da=new WeakMap,Sr=new WeakSet,LP=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Kn=function(t){const r=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...zP(n.data,this.options),fetchMeta:t.meta??null};case"success":const i={...n,...L1(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return pe(this,il,t.manual?i:void 0),i;case"error":const o=t.error;return{...n,error:o,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=r(this.state),Ft.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),$(this,$r).notify({query:this,type:"updated",action:t})})},EP);function zP(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:DP(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function L1(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function z1(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var pr,Be,mu,rr,Ra,al,qn,Hi,vu,ol,ll,$a,La,Ki,sl,Ve,zs,kv,Sv,Ev,Pv,Av,Ov,Cv,FP,PP,CM=(PP=class extends xu{constructor(t,r){super();je(this,Ve);je(this,pr);je(this,Be);je(this,mu);je(this,rr);je(this,Ra);je(this,al);je(this,qn);je(this,Hi);je(this,vu);je(this,ol);je(this,ll);je(this,$a);je(this,La);je(this,Ki);je(this,sl,new Set);this.options=r,pe(this,pr,t),pe(this,Hi,null),pe(this,qn,bv()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&($(this,Be).addObserver(this),F1($(this,Be),this.options)?ze(this,Ve,zs).call(this):this.updateResult(),ze(this,Ve,Pv).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return jv($(this,Be),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return jv($(this,Be),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ze(this,Ve,Av).call(this),ze(this,Ve,Ov).call(this),$(this,Be).removeObserver(this)}setOptions(t){const r=this.options,n=$(this,Be);if(this.options=$(this,pr).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Er(this.options.enabled,$(this,Be))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ze(this,Ve,Cv).call(this),$(this,Be).setOptions(this.options),r._defaulted&&!gv(this.options,r)&&$(this,pr).getQueryCache().notify({type:"observerOptionsUpdated",query:$(this,Be),observer:this});const i=this.hasListeners();i&&B1($(this,Be),n,this.options,r)&&ze(this,Ve,zs).call(this),this.updateResult(),i&&($(this,Be)!==n||Er(this.options.enabled,$(this,Be))!==Er(r.enabled,$(this,Be))||Qi(this.options.staleTime,$(this,Be))!==Qi(r.staleTime,$(this,Be)))&&ze(this,Ve,kv).call(this);const o=ze(this,Ve,Sv).call(this);i&&($(this,Be)!==n||Er(this.options.enabled,$(this,Be))!==Er(r.enabled,$(this,Be))||o!==$(this,Ki))&&ze(this,Ve,Ev).call(this,o)}getOptimisticResult(t){const r=$(this,pr).getQueryCache().build($(this,pr),t),n=this.createResult(r,t);return _M(this,n)&&(pe(this,rr,n),pe(this,al,this.options),pe(this,Ra,$(this,Be).state)),n}getCurrentResult(){return $(this,rr)}trackResult(t,r){return new Proxy(t,{get:(n,i)=>(this.trackProp(i),r==null||r(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&$(this,qn).status==="pending"&&$(this,qn).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(n,i))})}trackProp(t){$(this,sl).add(t)}getCurrentQuery(){return $(this,Be)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const r=$(this,pr).defaultQueryOptions(t),n=$(this,pr).getQueryCache().build($(this,pr),r);return n.fetch().then(()=>this.createResult(n,r))}fetch(t){return ze(this,Ve,zs).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),$(this,rr)))}createResult(t,r){var F;const n=$(this,Be),i=this.options,o=$(this,rr),s=$(this,Ra),u=$(this,al),f=t!==n?t.state:$(this,mu),{state:h}=t;let m={...h},v=!1,b;if(r._optimisticResults){const V=this.hasListeners(),Q=!V&&F1(t,r),B=V&&B1(t,n,r,i);(Q||B)&&(m={...m,...zP(h.data,t.options)}),r._optimisticResults==="isRestoring"&&(m.fetchStatus="idle")}let{error:S,errorUpdatedAt:k,status:E}=m;b=m.data;let P=!1;if(r.placeholderData!==void 0&&b===void 0&&E==="pending"){let V;o!=null&&o.isPlaceholderData&&r.placeholderData===(u==null?void 0:u.placeholderData)?(V=o.data,P=!0):V=typeof r.placeholderData=="function"?r.placeholderData((F=$(this,ll))==null?void 0:F.state.data,$(this,ll)):r.placeholderData,V!==void 0&&(E="success",b=xv(o==null?void 0:o.data,V,r),v=!0)}if(r.select&&b!==void 0&&!P)if(o&&b===(s==null?void 0:s.data)&&r.select===$(this,vu))b=$(this,ol);else try{pe(this,vu,r.select),b=r.select(b),b=xv(o==null?void 0:o.data,b,r),pe(this,ol,b),pe(this,Hi,null)}catch(V){pe(this,Hi,V)}$(this,Hi)&&(S=$(this,Hi),b=$(this,ol),k=Date.now(),E="error");const j=m.fetchStatus==="fetching",_=E==="pending",O=E==="error",N=_&&j,C=b!==void 0,z={status:E,fetchStatus:m.fetchStatus,isPending:_,isSuccess:E==="success",isError:O,isInitialLoading:N,isLoading:N,data:b,dataUpdatedAt:m.dataUpdatedAt,error:S,errorUpdatedAt:k,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:m.dataUpdateCount>f.dataUpdateCount||m.errorUpdateCount>f.errorUpdateCount,isFetching:j,isRefetching:j&&!_,isLoadingError:O&&!C,isPaused:m.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:O&&C,isStale:Ug(t,r),refetch:this.refetch,promise:$(this,qn),isEnabled:Er(r.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const V=z.data!==void 0,Q=z.status==="error"&&!V,B=le=>{Q?le.reject(z.error):V&&le.resolve(z.data)},ue=()=>{const le=pe(this,qn,z.promise=bv());B(le)},G=$(this,qn);switch(G.status){case"pending":t.queryHash===n.queryHash&&B(G);break;case"fulfilled":(Q||z.data!==G.value)&&ue();break;case"rejected":(!Q||z.error!==G.reason)&&ue();break}}return z}updateResult(){const t=$(this,rr),r=this.createResult($(this,Be),this.options);if(pe(this,Ra,$(this,Be).state),pe(this,al,this.options),$(this,Ra).data!==void 0&&pe(this,ll,$(this,Be)),gv(r,t))return;pe(this,rr,r);const n=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,o=typeof i=="function"?i():i;if(o==="all"||!o&&!$(this,sl).size)return!0;const s=new Set(o??$(this,sl));return this.options.throwOnError&&s.add("error"),Object.keys($(this,rr)).some(u=>{const d=u;return $(this,rr)[d]!==t[d]&&s.has(d)})};ze(this,Ve,FP).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ze(this,Ve,Pv).call(this)}},pr=new WeakMap,Be=new WeakMap,mu=new WeakMap,rr=new WeakMap,Ra=new WeakMap,al=new WeakMap,qn=new WeakMap,Hi=new WeakMap,vu=new WeakMap,ol=new WeakMap,ll=new WeakMap,$a=new WeakMap,La=new WeakMap,Ki=new WeakMap,sl=new WeakMap,Ve=new WeakSet,zs=function(t){ze(this,Ve,Cv).call(this);let r=$(this,Be).fetch(this.options,t);return t!=null&&t.throwOnError||(r=r.catch(mr)),r},kv=function(){ze(this,Ve,Av).call(this);const t=Qi(this.options.staleTime,$(this,Be));if(Gs.isServer()||$(this,rr).isStale||!vv(t))return;const n=NP($(this,rr).dataUpdatedAt,t)+1;pe(this,$a,Ea.setTimeout(()=>{$(this,rr).isStale||this.updateResult()},n))},Sv=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval($(this,Be)):this.options.refetchInterval)??!1},Ev=function(t){ze(this,Ve,Ov).call(this),pe(this,Ki,t),!(Gs.isServer()||Er(this.options.enabled,$(this,Be))===!1||!vv($(this,Ki))||$(this,Ki)===0)&&pe(this,La,Ea.setInterval(()=>{(this.options.refetchIntervalInBackground||zg.isFocused())&&ze(this,Ve,zs).call(this)},$(this,Ki)))},Pv=function(){ze(this,Ve,kv).call(this),ze(this,Ve,Ev).call(this,ze(this,Ve,Sv).call(this))},Av=function(){$(this,$a)!==void 0&&(Ea.clearTimeout($(this,$a)),pe(this,$a,void 0))},Ov=function(){$(this,La)!==void 0&&(Ea.clearInterval($(this,La)),pe(this,La,void 0))},Cv=function(){const t=$(this,pr).getQueryCache().build($(this,pr),this.options);if(t===$(this,Be))return;const r=$(this,Be);pe(this,Be,t),pe(this,mu,t.state),this.hasListeners()&&(r==null||r.removeObserver(this),t.addObserver(this))},FP=function(t){Ft.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r($(this,rr))}),$(this,pr).getQueryCache().notify({query:$(this,Be),type:"observerResultsUpdated"})})},PP);function jM(e,t){return Er(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Er(t.retryOnMount,e)===!1)}function F1(e,t){return jM(e,t)||e.state.data!==void 0&&jv(e,t,t.refetchOnMount)}function jv(e,t,r){if(Er(t.enabled,e)!==!1&&Qi(t.staleTime,e)!=="static"){const n=typeof r=="function"?r(e):r;return n==="always"||n!==!1&&Ug(e,t)}return!1}function B1(e,t,r,n){return(e!==t||Er(n.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&Ug(e,r)}function Ug(e,t){return Er(t.enabled,e)!==!1&&e.isStaleByTime(Qi(t.staleTime,e))}function _M(e,t){return!gv(e.getCurrentResult(),t)}var gu,wn,Qt,za,kn,Ri,AP,NM=(AP=class extends $P{constructor(t){super();je(this,kn);je(this,gu);je(this,wn);je(this,Qt);je(this,za);pe(this,gu,t.client),this.mutationId=t.mutationId,pe(this,Qt,t.mutationCache),pe(this,wn,[]),this.state=t.state||IM(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){$(this,wn).includes(t)||($(this,wn).push(t),this.clearGcTimeout(),$(this,Qt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){pe(this,wn,$(this,wn).filter(r=>r!==t)),this.scheduleGc(),$(this,Qt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){$(this,wn).length||(this.state.status==="pending"?this.scheduleGc():$(this,Qt).remove(this))}continue(){var t;return((t=$(this,za))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var s,u,d,f,h,m,v,b,S,k,E,P,j,_,O,N,C,R;const r=()=>{ze(this,kn,Ri).call(this,{type:"continue"})},n={client:$(this,gu),meta:this.options.meta,mutationKey:this.options.mutationKey};pe(this,za,RP({fn:()=>this.options.mutationFn?this.options.mutationFn(t,n):Promise.reject(new Error("No mutationFn found")),onFail:(z,F)=>{ze(this,kn,Ri).call(this,{type:"failed",failureCount:z,error:F})},onPause:()=>{ze(this,kn,Ri).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>$(this,Qt).canRun(this)}));const i=this.state.status==="pending",o=!$(this,za).canStart();try{if(i)r();else{ze(this,kn,Ri).call(this,{type:"pending",variables:t,isPaused:o}),$(this,Qt).config.onMutate&&await $(this,Qt).config.onMutate(t,this,n);const F=await((u=(s=this.options).onMutate)==null?void 0:u.call(s,t,n));F!==this.state.context&&ze(this,kn,Ri).call(this,{type:"pending",context:F,variables:t,isPaused:o})}const z=await $(this,za).start();return await((f=(d=$(this,Qt).config).onSuccess)==null?void 0:f.call(d,z,t,this.state.context,this,n)),await((m=(h=this.options).onSuccess)==null?void 0:m.call(h,z,t,this.state.context,n)),await((b=(v=$(this,Qt).config).onSettled)==null?void 0:b.call(v,z,null,this.state.variables,this.state.context,this,n)),await((k=(S=this.options).onSettled)==null?void 0:k.call(S,z,null,t,this.state.context,n)),ze(this,kn,Ri).call(this,{type:"success",data:z}),z}catch(z){try{await((P=(E=$(this,Qt).config).onError)==null?void 0:P.call(E,z,t,this.state.context,this,n))}catch(F){Promise.reject(F)}try{await((_=(j=this.options).onError)==null?void 0:_.call(j,z,t,this.state.context,n))}catch(F){Promise.reject(F)}try{await((N=(O=$(this,Qt).config).onSettled)==null?void 0:N.call(O,void 0,z,this.state.variables,this.state.context,this,n))}catch(F){Promise.reject(F)}try{await((R=(C=this.options).onSettled)==null?void 0:R.call(C,void 0,z,t,this.state.context,n))}catch(F){Promise.reject(F)}throw ze(this,kn,Ri).call(this,{type:"error",error:z}),z}finally{$(this,Qt).runNext(this)}}},gu=new WeakMap,wn=new WeakMap,Qt=new WeakMap,za=new WeakMap,kn=new WeakSet,Ri=function(t){const r=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Ft.batch(()=>{$(this,wn).forEach(n=>{n.onMutationUpdate(t)}),$(this,Qt).notify({mutation:this,type:"updated",action:t})})},AP);function IM(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Gn,rn,yu,OP,MM=(OP=class extends xu{constructor(t={}){super();je(this,Gn);je(this,rn);je(this,yu);this.config=t,pe(this,Gn,new Set),pe(this,rn,new Map),pe(this,yu,0)}build(t,r,n){const i=new NM({client:t,mutationCache:this,mutationId:++Gc(this,yu)._,options:t.defaultMutationOptions(r),state:n});return this.add(i),i}add(t){$(this,Gn).add(t);const r=Qc(t);if(typeof r=="string"){const n=$(this,rn).get(r);n?n.push(t):$(this,rn).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if($(this,Gn).delete(t)){const r=Qc(t);if(typeof r=="string"){const n=$(this,rn).get(r);if(n)if(n.length>1){const i=n.indexOf(t);i!==-1&&n.splice(i,1)}else n[0]===t&&$(this,rn).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=Qc(t);if(typeof r=="string"){const n=$(this,rn).get(r),i=n==null?void 0:n.find(o=>o.state.status==="pending");return!i||i===t}else return!0}runNext(t){var n;const r=Qc(t);if(typeof r=="string"){const i=(n=$(this,rn).get(r))==null?void 0:n.find(o=>o!==t&&o.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Ft.batch(()=>{$(this,Gn).forEach(t=>{this.notify({type:"removed",mutation:t})}),$(this,Gn).clear(),$(this,rn).clear()})}getAll(){return Array.from($(this,Gn))}find(t){const r={exact:!0,...t};return this.getAll().find(n=>T1(r,n))}findAll(t={}){return this.getAll().filter(r=>T1(t,r))}notify(t){Ft.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return Ft.batch(()=>Promise.all(t.map(r=>r.continue().catch(mr))))}},Gn=new WeakMap,rn=new WeakMap,yu=new WeakMap,OP);function Qc(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Sn,CP,TM=(CP=class extends xu{constructor(t={}){super();je(this,Sn);this.config=t,pe(this,Sn,new Map)}build(t,r,n){const i=r.queryKey,o=r.queryHash??Fg(i,r);let s=this.get(o);return s||(s=new OM({client:t,queryKey:i,queryHash:o,options:t.defaultQueryOptions(r),state:n,defaultOptions:t.getQueryDefaults(i)}),this.add(s)),s}add(t){$(this,Sn).has(t.queryHash)||($(this,Sn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=$(this,Sn).get(t.queryHash);r&&(t.destroy(),r===t&&$(this,Sn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ft.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return $(this,Sn).get(t)}getAll(){return[...$(this,Sn).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(n=>M1(r,n))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(n=>M1(t,n)):r}notify(t){Ft.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){Ft.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ft.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Sn=new WeakMap,CP),dt,Vi,qi,ul,cl,Gi,dl,fl,jP,DM=(jP=class{constructor(e={}){je(this,dt);je(this,Vi);je(this,qi);je(this,ul);je(this,cl);je(this,Gi);je(this,dl);je(this,fl);pe(this,dt,e.queryCache||new TM),pe(this,Vi,e.mutationCache||new MM),pe(this,qi,e.defaultOptions||{}),pe(this,ul,new Map),pe(this,cl,new Map),pe(this,Gi,0)}mount(){Gc(this,Gi)._++,$(this,Gi)===1&&(pe(this,dl,zg.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,dt).onFocus())})),pe(this,fl,Nd.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,dt).onOnline())})))}unmount(){var e,t;Gc(this,Gi)._--,$(this,Gi)===0&&((e=$(this,dl))==null||e.call(this),pe(this,dl,void 0),(t=$(this,fl))==null||t.call(this),pe(this,fl,void 0))}isFetching(e){return $(this,dt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return $(this,Vi).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=$(this,dt).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=$(this,dt).build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(Qi(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return $(this,dt).findAll(e).map(({queryKey:t,state:r})=>{const n=r.data;return[t,n]})}setQueryData(e,t,r){const n=this.defaultQueryOptions({queryKey:e}),i=$(this,dt).get(n.queryHash),o=i==null?void 0:i.state.data,s=mM(t,o);if(s!==void 0)return $(this,dt).build(this,n).setData(s,{...r,manual:!0})}setQueriesData(e,t,r){return Ft.batch(()=>$(this,dt).findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=$(this,dt).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=$(this,dt);Ft.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=$(this,dt);return Ft.batch(()=>(r.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},n=Ft.batch(()=>$(this,dt).findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(mr).catch(mr)}invalidateQueries(e,t={}){return Ft.batch(()=>($(this,dt).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},n=Ft.batch(()=>$(this,dt).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(mr)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(mr)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=$(this,dt).build(this,t);return r.isStaleByTime(Qi(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(mr).catch(mr)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(mr).catch(mr)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return Nd.isOnline()?$(this,Vi).resumePausedMutations():Promise.resolve()}getQueryCache(){return $(this,dt)}getMutationCache(){return $(this,Vi)}getDefaultOptions(){return $(this,qi)}setDefaultOptions(e){pe(this,qi,e)}setQueryDefaults(e,t){$(this,ul).set(Vs(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...$(this,ul).values()],r={};return t.forEach(n=>{qs(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){$(this,cl).set(Vs(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...$(this,cl).values()],r={};return t.forEach(n=>{qs(e,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...$(this,qi).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Fg(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Bg&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...$(this,qi).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){$(this,dt).clear(),$(this,Vi).clear()}},dt=new WeakMap,Vi=new WeakMap,qi=new WeakMap,ul=new WeakMap,cl=new WeakMap,Gi=new WeakMap,dl=new WeakMap,fl=new WeakMap,jP),BP=y.createContext(void 0),bu=e=>{const t=y.useContext(BP);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},RM=({client:e,children:t})=>(y.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),x.jsx(BP.Provider,{value:e,children:t})),UP=y.createContext(!1),$M=()=>y.useContext(UP);UP.Provider;function LM(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var zM=y.createContext(LM()),FM=()=>y.useContext(zM),BM=(e,t,r)=>{const n=r!=null&&r.state.error&&typeof e.throwOnError=="function"?TP(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},UM=e=>{y.useEffect(()=>{e.clearReset()},[e])},WM=({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(i&&e.data===void 0||TP(r,[e.error,n])),HM=e=>{if(e.suspense){const r=i=>i==="static"?i:Math.max(i??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...i)=>r(n(...i)):r(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},KM=(e,t)=>e.isLoading&&e.isFetching&&!t,VM=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,U1=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function qM(e,t,r){var b,S,k,E;const n=$M(),i=FM(),o=bu(),s=o.defaultQueryOptions(e);(S=(b=o.getDefaultOptions().queries)==null?void 0:b._experimental_beforeQuery)==null||S.call(b,s);const u=o.getQueryCache().get(s.queryHash),d=e.subscribed!==!1;s._optimisticResults=n?"isRestoring":d?"optimistic":void 0,HM(s),BM(s,i,u),UM(i);const f=!o.getQueryCache().get(s.queryHash),[h]=y.useState(()=>new t(o,s)),m=h.getOptimisticResult(s),v=!n&&d;if(y.useSyncExternalStore(y.useCallback(P=>{const j=v?h.subscribe(Ft.batchCalls(P)):mr;return h.updateResult(),j},[h,v]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),y.useEffect(()=>{h.setOptions(s)},[s,h]),VM(s,m))throw U1(s,h,i);if(WM({result:m,errorResetBoundary:i,throwOnError:s.throwOnError,query:u,suspense:s.suspense}))throw m.error;if((E=(k=o.getDefaultOptions().queries)==null?void 0:k._experimental_afterQuery)==null||E.call(k,s,m),s.experimental_prefetchInRender&&!Gs.isServer()&&KM(m,n)){const P=f?U1(s,h,i):u==null?void 0:u.promise;P==null||P.catch(mr).finally(()=>{h.updateResult()})}return s.notifyOnChangeProps?m:h.trackResult(m)}function Ge(e,t){return qM(e,CM)}const GM="modulepreload",YM=function(e){return"/"+e},W1={},un=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let s=function(f){return Promise.all(f.map(h=>Promise.resolve(h).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),d=(u==null?void 0:u.nonce)||(u==null?void 0:u.getAttribute("nonce"));i=s(r.map(f=>{if(f=YM(f),f in W1)return;W1[f]=!0;const h=f.endsWith(".css"),m=h?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${f}"]${m}`))return;const v=document.createElement("link");if(v.rel=h?"stylesheet":GM,h||(v.as="script"),v.crossOrigin="",v.href=f,d&&v.setAttribute("nonce",d),document.head.appendChild(v),h)return new Promise((b,S)=>{v.addEventListener("load",b),v.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${f}`)))})}))}function o(s){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=s,window.dispatchEvent(u),!u.defaultPrevented)throw s}return i.then(s=>{for(const u of s||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})};/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -228,22 +228,27 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. + */const bT=Se("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. */const Nf=Se("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const bT=Se("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/** + */const wT=Se("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const wT=Se("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** + */const kT=Se("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const kT=Se("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + */const ST=Se("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -263,7 +268,7 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ST=Se("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);/** + */const ET=Se("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -273,12 +278,12 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ET=Se("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** + */const PT=Se("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const PT=Se("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const AT=Se("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -293,7 +298,7 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const AT=Se("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const OT=Se("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -308,7 +313,7 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const OT=Se("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/** + */const CT=Se("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -318,17 +323,17 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const CT=Se("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** + */const jT=Se("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jT=Se("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + */const _T=Se("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _T=Se("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** + */const NT=Se("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -338,13 +343,13 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const NT=Se("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** + */const IT=Se("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const wu=Se("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Go=[{id:"dashboard",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:yT,group:"Operativ"},{id:"auftraege",label:"Auftragsbuch",hint:"Vorschläge der Box — annehmen oder ablehnen",icon:Hg,group:"Operativ"},{id:"eigenleben",label:"Skills",hint:"Fähigkeiten der Box — aktiv/inaktiv, Herkunft & Vorschlags-Bilanz",icon:YP,group:"Operativ"},{id:"chronik",label:"Chronik",hint:"Was die Box von allein getan hat + Zeitmaschine",icon:vT,group:"Operativ"},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:Wg,group:"Wissen"},{id:"wissen",label:"Wissen",hint:"Lucys Wissens-Vault (Traum-Notizen)",icon:xT,group:"Wissen"},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:Kg,group:"Werkzeuge"},{id:"konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:CT,group:"Werkzeuge"},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:VP,group:"Werkzeuge"},{id:"models",label:"Modelle",hint:"Speicher, laden & Rollen",icon:HP,group:"Wartung"},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:_f,group:"Wartung"}];var Y1=1,IT=.9,MT=.8,TT=.17,Pm=.1,Am=.999,DT=.9999,RT=.99,$T=/[\\\/_+.#"@\[\(\{&]/,LT=/[\\\/_+.#"@\[\(\{&]/g,zT=/[\s-]/,QP=/[\s-]/g;function Nv(e,t,r,n,i,o,s){if(o===t.length)return i===e.length?Y1:RT;var u=`${i},${o}`;if(s[u]!==void 0)return s[u];for(var d=n.charAt(o),f=r.indexOf(d,i),h=0,m,v,b,S;f>=0;)m=Nv(e,t,r,n,f+1,o+1,s),m>h&&(f===i?m*=Y1:$T.test(e.charAt(f-1))?(m*=MT,b=e.slice(i,f-1).match(LT),b&&i>0&&(m*=Math.pow(Am,b.length))):zT.test(e.charAt(f-1))?(m*=IT,S=e.slice(i,f-1).match(QP),S&&i>0&&(m*=Math.pow(Am,S.length))):(m*=TT,i>0&&(m*=Math.pow(Am,f-i))),e.charAt(f)!==t.charAt(o)&&(m*=DT)),(mm&&(m=v*Pm)),m>h&&(h=m),f=r.indexOf(d,f+1);return s[u]=h,h}function Q1(e){return e.toLowerCase().replace(QP," ")}function FT(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Nv(e,t,Q1(e),Q1(t),0,0,{})}function Xi(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function X1(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function hl(...e){return t=>{let r=!1;const n=e.map(i=>{const o=X1(i,t);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let i=0;i{var P;const{scope:v,children:b,...S}=m,k=((P=v==null?void 0:v[e])==null?void 0:P[d])||u,E=y.useMemo(()=>S,Object.values(S));return x.jsx(k.Provider,{value:E,children:b})};f.displayName=o+"Provider";function h(m,v){var k;const b=((k=v==null?void 0:v[e])==null?void 0:k[d])||u,S=y.useContext(b);if(S)return S;if(s!==void 0)return s;throw new Error(`\`${m}\` must be used within \`${o}\``)}return[f,h]}const i=()=>{const o=r.map(s=>y.createContext(s));return function(u){const d=(u==null?void 0:u[e])||o;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return i.scopeName=e,[n,UT(i,...t)]}function UT(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const s=n.reduce((u,{useScope:d,scopeName:f})=>{const m=d(o)[`__scope${f}`];return{...u,...m}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return r.scopeName=t.scopeName,r}var Qs=globalThis!=null&&globalThis.document?y.useLayoutEffect:()=>{},WT=jf[" useId ".trim().toString()]||(()=>{}),HT=0;function Jn(e){const[t,r]=y.useState(WT());return Qs(()=>{r(n=>n??String(HT++))},[e]),t?`radix-${t}`:""}var KT=jf[" useInsertionEffect ".trim().toString()]||Qs;function VT({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,o,s]=qT({defaultProp:t,onChange:r}),u=e!==void 0,d=u?e:i;{const h=y.useRef(e!==void 0);y.useEffect(()=>{const m=h.current;m!==u&&console.warn(`${n} is changing from ${m?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),h.current=u},[u,n])}const f=y.useCallback(h=>{var m;if(u){const v=GT(h)?h(e):h;v!==e&&((m=s.current)==null||m.call(s,v))}else o(h)},[u,e,o,s]);return[d,f]}function qT({defaultProp:e,onChange:t}){const[r,n]=y.useState(e),i=y.useRef(r),o=y.useRef(t);return KT(()=>{o.current=t},[t]),y.useEffect(()=>{var s;i.current!==r&&((s=o.current)==null||s.call(o,r),i.current=r)},[r,i]),[r,n,o]}function GT(e){return typeof e=="function"}var Tf=_P();function XP(e){const t=y.forwardRef((r,n)=>{let{children:i,...o}=r,s=null,u=!1;const d=[];Z1(i)&&typeof Xc=="function"&&(i=Xc(i._payload)),y.Children.forEach(i,v=>{var b;if(JT(v)){u=!0;const S=v;let k="child"in S.props?S.props.child:S.props.children;Z1(k)&&typeof Xc=="function"&&(k=Xc(k._payload)),s=QT(S,k),d.push((b=s==null?void 0:s.props)==null?void 0:b.children)}else d.push(v)}),s?s=y.cloneElement(s,void 0,d):!u&&y.Children.count(i)===1&&y.isValidElement(i)&&(s=i);const f=s?ZT(s):void 0,h=Za(n,f);if(!s){if(i||i===0)throw new Error(u?nD(e):rD(e));return i}const m=XT(o,s.props??{});return s.type!==y.Fragment&&(m.ref=n?h:f),y.cloneElement(s,m)});return t.displayName=`${e}.Slot`,t}var YT=Symbol.for("radix.slottable"),QT=(e,t)=>{if("child"in e.props){const r=e.props.child;return y.isValidElement(r)?y.cloneElement(r,void 0,e.props.children(r.props.children)):null}return y.isValidElement(t)?t:null};function XT(e,t){const r={...t};for(const n in t){const i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...u)=>{const d=o(...u);return i(...u),d}:i&&(r[n]=i):n==="style"?r[n]={...i,...o}:n==="className"&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}function ZT(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function JT(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===YT}var eD=Symbol.for("react.lazy");function Z1(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===eD&&"_payload"in e&&tD(e._payload)}function tD(e){return typeof e=="object"&&e!==null&&"then"in e}var rD=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,nD=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Xc=jf[" use ".trim().toString()],iD=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Wt=iD.reduce((e,t)=>{const r=XP(`Primitive.${t}`),n=y.forwardRef((i,o)=>{const{asChild:s,...u}=i,d=s?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(d,{...u,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function aD(e,t){e&&Tf.flushSync(()=>e.dispatchEvent(t))}function Xs(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>((...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)}),[])}function oD(e,t=globalThis==null?void 0:globalThis.document){const r=Xs(e);y.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var lD="DismissableLayer",Iv="dismissableLayer.update",sD="dismissableLayer.pointerDownOutside",uD="dismissableLayer.focusOutside",J1,qg=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ZP=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:u,onDismiss:d,...f}=e,h=y.useContext(qg),[m,v]=y.useState(null),b=(m==null?void 0:m.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=y.useState({}),k=Za(t,F=>v(F)),E=Array.from(h.layers),[P]=[...h.layersWithOutsidePointerEventsDisabled].slice(-1),j=E.indexOf(P),_=m?E.indexOf(m):-1,O=h.layersWithOutsidePointerEventsDisabled.size>0,N=_>=j,C=y.useRef(!1),R=hD(F=>{const V=F.target;if(!(V instanceof Node))return;const Q=[...h.branches].some(B=>B.contains(V));!N||Q||(o==null||o(F),u==null||u(F),F.defaultPrevented||d==null||d())},{ownerDocument:b,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:C,dismissableSurfaces:h.dismissableSurfaces}),z=pD(F=>{if(n&&C.current)return;const V=F.target;[...h.branches].some(B=>B.contains(V))||(s==null||s(F),u==null||u(F),F.defaultPrevented||d==null||d())},b);return oD(F=>{_===h.layers.size-1&&(i==null||i(F),!F.defaultPrevented&&d&&(F.preventDefault(),d()))},b),y.useEffect(()=>{if(m)return r&&(h.layersWithOutsidePointerEventsDisabled.size===0&&(J1=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),h.layersWithOutsidePointerEventsDisabled.add(m)),h.layers.add(m),ew(),()=>{r&&(h.layersWithOutsidePointerEventsDisabled.delete(m),h.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=J1))}},[m,b,r,h]),y.useEffect(()=>()=>{m&&(h.layers.delete(m),h.layersWithOutsidePointerEventsDisabled.delete(m),ew())},[m,h]),y.useEffect(()=>{const F=()=>S({});return document.addEventListener(Iv,F),()=>document.removeEventListener(Iv,F)},[]),x.jsx(Wt.div,{...f,ref:k,style:{pointerEvents:O?N?"auto":"none":void 0,...e.style},onFocusCapture:Xi(e.onFocusCapture,z.onFocusCapture),onBlurCapture:Xi(e.onBlurCapture,z.onBlurCapture),onPointerDownCapture:Xi(e.onPointerDownCapture,R.onPointerDownCapture)})});ZP.displayName=lD;var cD="DismissableLayerBranch",dD=y.forwardRef((e,t)=>{const r=y.useContext(qg),n=y.useRef(null),i=Za(t,n);return y.useEffect(()=>{const o=n.current;if(o)return r.branches.add(o),()=>{r.branches.delete(o)}},[r.branches]),x.jsx(Wt.div,{...e,ref:i})});dD.displayName=cD;function fD(){const e=y.useContext(qg),[t,r]=y.useState(null);return y.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),r}function hD(e,t){const{ownerDocument:r=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:n=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:o}=t,s=Xs(e),u=y.useRef(!1),d=y.useRef(!1),f=y.useRef(new Map),h=y.useRef(()=>{});return y.useEffect(()=>{function m(){d.current=!1,i.current=!1,f.current.clear()}function v(){return Array.from(f.current.values()).some(Boolean)}function b(j){if(!d.current)return;const _=j.target;_ instanceof Node&&[...o].some(N=>N.contains(_))||f.current.set(j.type,!0),j.type==="click"&&window.setTimeout(()=>{d.current&&h.current()},0)}function S(j){d.current&&f.current.set(j.type,!1)}const k=j=>{if(j.target&&!u.current){let _=function(){r.removeEventListener("click",h.current);const N=v();m(),N||JP(sD,s,O,{discrete:!0})};const O={originalEvent:j};d.current=!0,i.current=n&&j.button===0,f.current.clear(),!n||j.button!==0?_():(r.removeEventListener("click",h.current),h.current=_,r.addEventListener("click",h.current,{once:!0}))}else r.removeEventListener("click",h.current),m();u.current=!1},E=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const j of E)r.addEventListener(j,b,!0),r.addEventListener(j,S);const P=window.setTimeout(()=>{r.addEventListener("pointerdown",k)},0);return()=>{window.clearTimeout(P),r.removeEventListener("pointerdown",k),r.removeEventListener("click",h.current);for(const j of E)r.removeEventListener(j,b,!0),r.removeEventListener(j,S)}},[r,s,n,i,o]),{onPointerDownCapture:()=>u.current=!0}}function pD(e,t=globalThis==null?void 0:globalThis.document){const r=Xs(e),n=y.useRef(!1);return y.useEffect(()=>{const i=o=>{o.target&&!n.current&&JP(uD,r,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function ew(){const e=new CustomEvent(Iv);document.dispatchEvent(e)}function JP(e,t,r,{discrete:n}){const i=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?aD(i,o):i.dispatchEvent(o)}var Om="focusScope.autoFocusOnMount",Cm="focusScope.autoFocusOnUnmount",tw={bubbles:!1,cancelable:!0},mD="FocusScope",eA=y.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...s}=e,[u,d]=y.useState(null),f=Xs(i),h=Xs(o),m=y.useRef(null),v=Za(t,k=>d(k)),b=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(n){let k=function(_){if(b.paused||!u)return;const O=_.target;u.contains(O)?m.current=O:$i(m.current,{select:!0})},E=function(_){if(b.paused||!u)return;const O=_.relatedTarget;O!==null&&(u.contains(O)||$i(m.current,{select:!0}))},P=function(_){if(document.activeElement===document.body)for(const N of _)N.removedNodes.length>0&&$i(u)};document.addEventListener("focusin",k),document.addEventListener("focusout",E);const j=new MutationObserver(P);return u&&j.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",E),j.disconnect()}}},[n,u,b.paused]),y.useEffect(()=>{if(u){nw.add(b);const k=document.activeElement;if(!u.contains(k)){const P=new CustomEvent(Om,tw);u.addEventListener(Om,f),u.dispatchEvent(P),P.defaultPrevented||(vD(wD(tA(u)),{select:!0}),document.activeElement===k&&$i(u))}return()=>{u.removeEventListener(Om,f),setTimeout(()=>{const P=new CustomEvent(Cm,tw);u.addEventListener(Cm,h),u.dispatchEvent(P),P.defaultPrevented||$i(k??document.body,{select:!0}),u.removeEventListener(Cm,h),nw.remove(b)},0)}}},[u,f,h,b]);const S=y.useCallback(k=>{if(!r&&!n||b.paused)return;const E=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,P=document.activeElement;if(E&&P){const j=k.currentTarget,[_,O]=gD(j);_&&O?!k.shiftKey&&P===O?(k.preventDefault(),r&&$i(_,{select:!0})):k.shiftKey&&P===_&&(k.preventDefault(),r&&$i(O,{select:!0})):P===j&&k.preventDefault()}},[r,n,b.paused]);return x.jsx(Wt.div,{tabIndex:-1,...s,ref:v,onKeyDown:S})});eA.displayName=mD;function vD(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if($i(n,{select:t}),document.activeElement!==r)return}function gD(e){const t=tA(e),r=rw(t,e),n=rw(t.reverse(),e);return[r,n]}function tA(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function rw(e,t){for(const r of e)if(!yD(r,{upTo:t}))return r}function yD(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function xD(e){return e instanceof HTMLInputElement&&"select"in e}function $i(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&xD(e)&&t&&e.select()}}var nw=bD();function bD(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=iw(e,t),e.unshift(t)},remove(t){var r;e=iw(e,t),(r=e[0])==null||r.resume()}}}function iw(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function wD(e){return e.filter(t=>t.tagName!=="A")}var kD="Portal",rA=y.forwardRef((e,t)=>{var u;const{container:r,...n}=e,[i,o]=y.useState(!1);Qs(()=>o(!0),[]);const s=r||i&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return s?Tf.createPortal(x.jsx(Wt.div,{...n,ref:t}),s):null});rA.displayName=kD;function SD(e,t){return y.useReducer((r,n)=>t[r][n]??r,e)}var Df=e=>{const{present:t,children:r}=e,n=ED(t),i=typeof r=="function"?r({present:n.isPresent}):y.Children.only(r),o=PD(n.ref,AD(i));return typeof r=="function"||n.isPresent?y.cloneElement(i,{ref:o}):null};Df.displayName="Presence";function ED(e){const[t,r]=y.useState(),n=y.useRef(null),i=y.useRef(e),o=y.useRef("none"),s=e?"mounted":"unmounted",[u,d]=SD(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const f=Zc(n.current);o.current=u==="mounted"?f:"none"},[u]),Qs(()=>{const f=n.current,h=i.current;if(h!==e){const v=o.current,b=Zc(f);e?d("MOUNT"):b==="none"||(f==null?void 0:f.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,d]),Qs(()=>{if(t){let f;const h=t.ownerDocument.defaultView??window,m=b=>{const k=Zc(n.current).includes(CSS.escape(b.animationName));if(b.target===t&&k&&(d("ANIMATION_END"),!i.current)){const E=t.style.animationFillMode;t.style.animationFillMode="forwards",f=h.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=E)})}},v=b=>{b.target===t&&(o.current=Zc(n.current))};return t.addEventListener("animationstart",v),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{h.clearTimeout(f),t.removeEventListener("animationstart",v),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:y.useCallback(f=>{n.current=f?getComputedStyle(f):null,r(f)},[])}}function aw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function PD(...e){const t=y.useRef(e);return t.current=e,y.useCallback(r=>{const n=t.current;let i=!1;const o=n.map(s=>{const u=aw(s,r);return!i&&typeof u=="function"&&(i=!0),u});if(i)return()=>{for(let s=0;s{vn||(vn={start:ow(),end:ow()});const{start:e,end:t}=vn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Jc++,()=>{Jc===1&&(vn==null||vn.start.remove(),vn==null||vn.end.remove(),vn=null),Jc=Math.max(0,Jc-1)}},[])}function ow(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Sn=function(){return Sn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return HD;var t=KD(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},qD=oA(),Yo="data-scroll-locked",GD=function(e,t,r,n){var i=e.left,o=e.top,s=e.right,u=e.gap;return r===void 0&&(r="margin"),` - .`.concat(jD,` { + */const wu=Se("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Go=[{id:"dashboard",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:yT,group:"Operativ"},{id:"ideen",label:"Ideen",hint:"Idee eingeben — die Box legt Konzept und Repo an",icon:bT,group:"Operativ"},{id:"auftraege",label:"Auftragsbuch",hint:"Vorschläge der Box — annehmen oder ablehnen",icon:Hg,group:"Operativ"},{id:"eigenleben",label:"Skills",hint:"Fähigkeiten der Box — aktiv/inaktiv, Herkunft & Vorschlags-Bilanz",icon:YP,group:"Operativ"},{id:"chronik",label:"Chronik",hint:"Was die Box von allein getan hat + Zeitmaschine",icon:vT,group:"Operativ"},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:Wg,group:"Wissen"},{id:"wissen",label:"Wissen",hint:"Lucys Wissens-Vault (Traum-Notizen)",icon:xT,group:"Wissen"},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:Kg,group:"Werkzeuge"},{id:"konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:jT,group:"Werkzeuge"},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:VP,group:"Werkzeuge"},{id:"models",label:"Modelle",hint:"Speicher, laden & Rollen",icon:HP,group:"Wartung"},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:_f,group:"Wartung"}];var Y1=1,MT=.9,TT=.8,DT=.17,Pm=.1,Am=.999,RT=.9999,$T=.99,LT=/[\\\/_+.#"@\[\(\{&]/,zT=/[\\\/_+.#"@\[\(\{&]/g,FT=/[\s-]/,QP=/[\s-]/g;function Nv(e,t,r,n,i,o,s){if(o===t.length)return i===e.length?Y1:$T;var u=`${i},${o}`;if(s[u]!==void 0)return s[u];for(var d=n.charAt(o),f=r.indexOf(d,i),h=0,m,v,b,S;f>=0;)m=Nv(e,t,r,n,f+1,o+1,s),m>h&&(f===i?m*=Y1:LT.test(e.charAt(f-1))?(m*=TT,b=e.slice(i,f-1).match(zT),b&&i>0&&(m*=Math.pow(Am,b.length))):FT.test(e.charAt(f-1))?(m*=MT,S=e.slice(i,f-1).match(QP),S&&i>0&&(m*=Math.pow(Am,S.length))):(m*=DT,i>0&&(m*=Math.pow(Am,f-i))),e.charAt(f)!==t.charAt(o)&&(m*=RT)),(mm&&(m=v*Pm)),m>h&&(h=m),f=r.indexOf(d,f+1);return s[u]=h,h}function Q1(e){return e.toLowerCase().replace(QP," ")}function BT(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Nv(e,t,Q1(e),Q1(t),0,0,{})}function Xi(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function X1(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function hl(...e){return t=>{let r=!1;const n=e.map(i=>{const o=X1(i,t);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let i=0;i{var P;const{scope:v,children:b,...S}=m,k=((P=v==null?void 0:v[e])==null?void 0:P[d])||u,E=y.useMemo(()=>S,Object.values(S));return x.jsx(k.Provider,{value:E,children:b})};f.displayName=o+"Provider";function h(m,v){var k;const b=((k=v==null?void 0:v[e])==null?void 0:k[d])||u,S=y.useContext(b);if(S)return S;if(s!==void 0)return s;throw new Error(`\`${m}\` must be used within \`${o}\``)}return[f,h]}const i=()=>{const o=r.map(s=>y.createContext(s));return function(u){const d=(u==null?void 0:u[e])||o;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return i.scopeName=e,[n,WT(i,...t)]}function WT(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const s=n.reduce((u,{useScope:d,scopeName:f})=>{const m=d(o)[`__scope${f}`];return{...u,...m}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return r.scopeName=t.scopeName,r}var Qs=globalThis!=null&&globalThis.document?y.useLayoutEffect:()=>{},HT=jf[" useId ".trim().toString()]||(()=>{}),KT=0;function Jn(e){const[t,r]=y.useState(HT());return Qs(()=>{r(n=>n??String(KT++))},[e]),t?`radix-${t}`:""}var VT=jf[" useInsertionEffect ".trim().toString()]||Qs;function qT({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,o,s]=GT({defaultProp:t,onChange:r}),u=e!==void 0,d=u?e:i;{const h=y.useRef(e!==void 0);y.useEffect(()=>{const m=h.current;m!==u&&console.warn(`${n} is changing from ${m?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),h.current=u},[u,n])}const f=y.useCallback(h=>{var m;if(u){const v=YT(h)?h(e):h;v!==e&&((m=s.current)==null||m.call(s,v))}else o(h)},[u,e,o,s]);return[d,f]}function GT({defaultProp:e,onChange:t}){const[r,n]=y.useState(e),i=y.useRef(r),o=y.useRef(t);return VT(()=>{o.current=t},[t]),y.useEffect(()=>{var s;i.current!==r&&((s=o.current)==null||s.call(o,r),i.current=r)},[r,i]),[r,n,o]}function YT(e){return typeof e=="function"}var Tf=_P();function XP(e){const t=y.forwardRef((r,n)=>{let{children:i,...o}=r,s=null,u=!1;const d=[];Z1(i)&&typeof Xc=="function"&&(i=Xc(i._payload)),y.Children.forEach(i,v=>{var b;if(eD(v)){u=!0;const S=v;let k="child"in S.props?S.props.child:S.props.children;Z1(k)&&typeof Xc=="function"&&(k=Xc(k._payload)),s=XT(S,k),d.push((b=s==null?void 0:s.props)==null?void 0:b.children)}else d.push(v)}),s?s=y.cloneElement(s,void 0,d):!u&&y.Children.count(i)===1&&y.isValidElement(i)&&(s=i);const f=s?JT(s):void 0,h=Za(n,f);if(!s){if(i||i===0)throw new Error(u?iD(e):nD(e));return i}const m=ZT(o,s.props??{});return s.type!==y.Fragment&&(m.ref=n?h:f),y.cloneElement(s,m)});return t.displayName=`${e}.Slot`,t}var QT=Symbol.for("radix.slottable"),XT=(e,t)=>{if("child"in e.props){const r=e.props.child;return y.isValidElement(r)?y.cloneElement(r,void 0,e.props.children(r.props.children)):null}return y.isValidElement(t)?t:null};function ZT(e,t){const r={...t};for(const n in t){const i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...u)=>{const d=o(...u);return i(...u),d}:i&&(r[n]=i):n==="style"?r[n]={...i,...o}:n==="className"&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}function JT(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function eD(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===QT}var tD=Symbol.for("react.lazy");function Z1(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===tD&&"_payload"in e&&rD(e._payload)}function rD(e){return typeof e=="object"&&e!==null&&"then"in e}var nD=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,iD=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Xc=jf[" use ".trim().toString()],aD=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Wt=aD.reduce((e,t)=>{const r=XP(`Primitive.${t}`),n=y.forwardRef((i,o)=>{const{asChild:s,...u}=i,d=s?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(d,{...u,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function oD(e,t){e&&Tf.flushSync(()=>e.dispatchEvent(t))}function Xs(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>((...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)}),[])}function lD(e,t=globalThis==null?void 0:globalThis.document){const r=Xs(e);y.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var sD="DismissableLayer",Iv="dismissableLayer.update",uD="dismissableLayer.pointerDownOutside",cD="dismissableLayer.focusOutside",J1,qg=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ZP=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:u,onDismiss:d,...f}=e,h=y.useContext(qg),[m,v]=y.useState(null),b=(m==null?void 0:m.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=y.useState({}),k=Za(t,F=>v(F)),E=Array.from(h.layers),[P]=[...h.layersWithOutsidePointerEventsDisabled].slice(-1),j=E.indexOf(P),_=m?E.indexOf(m):-1,O=h.layersWithOutsidePointerEventsDisabled.size>0,N=_>=j,C=y.useRef(!1),R=pD(F=>{const V=F.target;if(!(V instanceof Node))return;const Q=[...h.branches].some(B=>B.contains(V));!N||Q||(o==null||o(F),u==null||u(F),F.defaultPrevented||d==null||d())},{ownerDocument:b,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:C,dismissableSurfaces:h.dismissableSurfaces}),z=mD(F=>{if(n&&C.current)return;const V=F.target;[...h.branches].some(B=>B.contains(V))||(s==null||s(F),u==null||u(F),F.defaultPrevented||d==null||d())},b);return lD(F=>{_===h.layers.size-1&&(i==null||i(F),!F.defaultPrevented&&d&&(F.preventDefault(),d()))},b),y.useEffect(()=>{if(m)return r&&(h.layersWithOutsidePointerEventsDisabled.size===0&&(J1=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),h.layersWithOutsidePointerEventsDisabled.add(m)),h.layers.add(m),ew(),()=>{r&&(h.layersWithOutsidePointerEventsDisabled.delete(m),h.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=J1))}},[m,b,r,h]),y.useEffect(()=>()=>{m&&(h.layers.delete(m),h.layersWithOutsidePointerEventsDisabled.delete(m),ew())},[m,h]),y.useEffect(()=>{const F=()=>S({});return document.addEventListener(Iv,F),()=>document.removeEventListener(Iv,F)},[]),x.jsx(Wt.div,{...f,ref:k,style:{pointerEvents:O?N?"auto":"none":void 0,...e.style},onFocusCapture:Xi(e.onFocusCapture,z.onFocusCapture),onBlurCapture:Xi(e.onBlurCapture,z.onBlurCapture),onPointerDownCapture:Xi(e.onPointerDownCapture,R.onPointerDownCapture)})});ZP.displayName=sD;var dD="DismissableLayerBranch",fD=y.forwardRef((e,t)=>{const r=y.useContext(qg),n=y.useRef(null),i=Za(t,n);return y.useEffect(()=>{const o=n.current;if(o)return r.branches.add(o),()=>{r.branches.delete(o)}},[r.branches]),x.jsx(Wt.div,{...e,ref:i})});fD.displayName=dD;function hD(){const e=y.useContext(qg),[t,r]=y.useState(null);return y.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),r}function pD(e,t){const{ownerDocument:r=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:n=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:o}=t,s=Xs(e),u=y.useRef(!1),d=y.useRef(!1),f=y.useRef(new Map),h=y.useRef(()=>{});return y.useEffect(()=>{function m(){d.current=!1,i.current=!1,f.current.clear()}function v(){return Array.from(f.current.values()).some(Boolean)}function b(j){if(!d.current)return;const _=j.target;_ instanceof Node&&[...o].some(N=>N.contains(_))||f.current.set(j.type,!0),j.type==="click"&&window.setTimeout(()=>{d.current&&h.current()},0)}function S(j){d.current&&f.current.set(j.type,!1)}const k=j=>{if(j.target&&!u.current){let _=function(){r.removeEventListener("click",h.current);const N=v();m(),N||JP(uD,s,O,{discrete:!0})};const O={originalEvent:j};d.current=!0,i.current=n&&j.button===0,f.current.clear(),!n||j.button!==0?_():(r.removeEventListener("click",h.current),h.current=_,r.addEventListener("click",h.current,{once:!0}))}else r.removeEventListener("click",h.current),m();u.current=!1},E=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const j of E)r.addEventListener(j,b,!0),r.addEventListener(j,S);const P=window.setTimeout(()=>{r.addEventListener("pointerdown",k)},0);return()=>{window.clearTimeout(P),r.removeEventListener("pointerdown",k),r.removeEventListener("click",h.current);for(const j of E)r.removeEventListener(j,b,!0),r.removeEventListener(j,S)}},[r,s,n,i,o]),{onPointerDownCapture:()=>u.current=!0}}function mD(e,t=globalThis==null?void 0:globalThis.document){const r=Xs(e),n=y.useRef(!1);return y.useEffect(()=>{const i=o=>{o.target&&!n.current&&JP(cD,r,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function ew(){const e=new CustomEvent(Iv);document.dispatchEvent(e)}function JP(e,t,r,{discrete:n}){const i=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?oD(i,o):i.dispatchEvent(o)}var Om="focusScope.autoFocusOnMount",Cm="focusScope.autoFocusOnUnmount",tw={bubbles:!1,cancelable:!0},vD="FocusScope",eA=y.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...s}=e,[u,d]=y.useState(null),f=Xs(i),h=Xs(o),m=y.useRef(null),v=Za(t,k=>d(k)),b=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(n){let k=function(_){if(b.paused||!u)return;const O=_.target;u.contains(O)?m.current=O:$i(m.current,{select:!0})},E=function(_){if(b.paused||!u)return;const O=_.relatedTarget;O!==null&&(u.contains(O)||$i(m.current,{select:!0}))},P=function(_){if(document.activeElement===document.body)for(const N of _)N.removedNodes.length>0&&$i(u)};document.addEventListener("focusin",k),document.addEventListener("focusout",E);const j=new MutationObserver(P);return u&&j.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",E),j.disconnect()}}},[n,u,b.paused]),y.useEffect(()=>{if(u){nw.add(b);const k=document.activeElement;if(!u.contains(k)){const P=new CustomEvent(Om,tw);u.addEventListener(Om,f),u.dispatchEvent(P),P.defaultPrevented||(gD(kD(tA(u)),{select:!0}),document.activeElement===k&&$i(u))}return()=>{u.removeEventListener(Om,f),setTimeout(()=>{const P=new CustomEvent(Cm,tw);u.addEventListener(Cm,h),u.dispatchEvent(P),P.defaultPrevented||$i(k??document.body,{select:!0}),u.removeEventListener(Cm,h),nw.remove(b)},0)}}},[u,f,h,b]);const S=y.useCallback(k=>{if(!r&&!n||b.paused)return;const E=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,P=document.activeElement;if(E&&P){const j=k.currentTarget,[_,O]=yD(j);_&&O?!k.shiftKey&&P===O?(k.preventDefault(),r&&$i(_,{select:!0})):k.shiftKey&&P===_&&(k.preventDefault(),r&&$i(O,{select:!0})):P===j&&k.preventDefault()}},[r,n,b.paused]);return x.jsx(Wt.div,{tabIndex:-1,...s,ref:v,onKeyDown:S})});eA.displayName=vD;function gD(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if($i(n,{select:t}),document.activeElement!==r)return}function yD(e){const t=tA(e),r=rw(t,e),n=rw(t.reverse(),e);return[r,n]}function tA(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function rw(e,t){for(const r of e)if(!xD(r,{upTo:t}))return r}function xD(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function bD(e){return e instanceof HTMLInputElement&&"select"in e}function $i(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&bD(e)&&t&&e.select()}}var nw=wD();function wD(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=iw(e,t),e.unshift(t)},remove(t){var r;e=iw(e,t),(r=e[0])==null||r.resume()}}}function iw(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function kD(e){return e.filter(t=>t.tagName!=="A")}var SD="Portal",rA=y.forwardRef((e,t)=>{var u;const{container:r,...n}=e,[i,o]=y.useState(!1);Qs(()=>o(!0),[]);const s=r||i&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return s?Tf.createPortal(x.jsx(Wt.div,{...n,ref:t}),s):null});rA.displayName=SD;function ED(e,t){return y.useReducer((r,n)=>t[r][n]??r,e)}var Df=e=>{const{present:t,children:r}=e,n=PD(t),i=typeof r=="function"?r({present:n.isPresent}):y.Children.only(r),o=AD(n.ref,OD(i));return typeof r=="function"||n.isPresent?y.cloneElement(i,{ref:o}):null};Df.displayName="Presence";function PD(e){const[t,r]=y.useState(),n=y.useRef(null),i=y.useRef(e),o=y.useRef("none"),s=e?"mounted":"unmounted",[u,d]=ED(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const f=Zc(n.current);o.current=u==="mounted"?f:"none"},[u]),Qs(()=>{const f=n.current,h=i.current;if(h!==e){const v=o.current,b=Zc(f);e?d("MOUNT"):b==="none"||(f==null?void 0:f.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,d]),Qs(()=>{if(t){let f;const h=t.ownerDocument.defaultView??window,m=b=>{const k=Zc(n.current).includes(CSS.escape(b.animationName));if(b.target===t&&k&&(d("ANIMATION_END"),!i.current)){const E=t.style.animationFillMode;t.style.animationFillMode="forwards",f=h.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=E)})}},v=b=>{b.target===t&&(o.current=Zc(n.current))};return t.addEventListener("animationstart",v),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{h.clearTimeout(f),t.removeEventListener("animationstart",v),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:y.useCallback(f=>{n.current=f?getComputedStyle(f):null,r(f)},[])}}function aw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function AD(...e){const t=y.useRef(e);return t.current=e,y.useCallback(r=>{const n=t.current;let i=!1;const o=n.map(s=>{const u=aw(s,r);return!i&&typeof u=="function"&&(i=!0),u});if(i)return()=>{for(let s=0;s{gn||(gn={start:ow(),end:ow()});const{start:e,end:t}=gn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Jc++,()=>{Jc===1&&(gn==null||gn.start.remove(),gn==null||gn.end.remove(),gn=null),Jc=Math.max(0,Jc-1)}},[])}function ow(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var En=function(){return En=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return KD;var t=VD(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},GD=oA(),Yo="data-scroll-locked",YD=function(e,t,r,n){var i=e.left,o=e.top,s=e.right,u=e.gap;return r===void 0&&(r="margin"),` + .`.concat(_D,` { overflow: hidden `).concat(n,`; padding-right: `).concat(u,"px ").concat(n,`; } @@ -378,14 +383,14 @@ Error generating stack: `+w.message+` } body[`).concat(Yo,`] { - `).concat(_D,": ").concat(u,`px; + `).concat(ND,": ").concat(u,`px; } -`)},sw=function(){var e=parseInt(document.body.getAttribute(Yo)||"0",10);return isFinite(e)?e:0},YD=function(){y.useEffect(function(){return document.body.setAttribute(Yo,(sw()+1).toString()),function(){var e=sw()-1;e<=0?document.body.removeAttribute(Yo):document.body.setAttribute(Yo,e.toString())}},[])},QD=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=n===void 0?"margin":n;YD();var o=y.useMemo(function(){return VD(i)},[i]);return y.createElement(qD,{styles:GD(o,!t,i,r?"":"!important")})},Mv=!1;if(typeof window<"u")try{var ed=Object.defineProperty({},"passive",{get:function(){return Mv=!0,!0}});window.addEventListener("test",ed,ed),window.removeEventListener("test",ed,ed)}catch{Mv=!1}var Co=Mv?{passive:!1}:!1,XD=function(e){return e.tagName==="TEXTAREA"},lA=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!XD(e)&&r[t]==="visible")},ZD=function(e){return lA(e,"overflowY")},JD=function(e){return lA(e,"overflowX")},uw=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var i=sA(e,n);if(i){var o=uA(e,n),s=o[1],u=o[2];if(s>u)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},eR=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},tR=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},sA=function(e,t){return e==="v"?ZD(t):JD(t)},uA=function(e,t){return e==="v"?eR(t):tR(t)},rR=function(e,t){return e==="h"&&t==="rtl"?-1:1},nR=function(e,t,r,n,i){var o=rR(e,window.getComputedStyle(t).direction),s=o*n,u=r.target,d=t.contains(u),f=!1,h=s>0,m=0,v=0;do{if(!u)break;var b=uA(e,u),S=b[0],k=b[1],E=b[2],P=k-E-o*S;(S||P)&&sA(e,u)&&(m+=P,v+=S);var j=u.parentNode;u=j&&j.nodeType===Node.DOCUMENT_FRAGMENT_NODE?j.host:j}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(h&&Math.abs(m)<1||!h&&Math.abs(v)<1)&&(f=!0),f},td=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},cw=function(e){return[e.deltaX,e.deltaY]},dw=function(e){return e&&"current"in e?e.current:e},iR=function(e,t){return e[0]===t[0]&&e[1]===t[1]},aR=function(e){return` +`)},sw=function(){var e=parseInt(document.body.getAttribute(Yo)||"0",10);return isFinite(e)?e:0},QD=function(){y.useEffect(function(){return document.body.setAttribute(Yo,(sw()+1).toString()),function(){var e=sw()-1;e<=0?document.body.removeAttribute(Yo):document.body.setAttribute(Yo,e.toString())}},[])},XD=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=n===void 0?"margin":n;QD();var o=y.useMemo(function(){return qD(i)},[i]);return y.createElement(GD,{styles:YD(o,!t,i,r?"":"!important")})},Mv=!1;if(typeof window<"u")try{var ed=Object.defineProperty({},"passive",{get:function(){return Mv=!0,!0}});window.addEventListener("test",ed,ed),window.removeEventListener("test",ed,ed)}catch{Mv=!1}var Co=Mv?{passive:!1}:!1,ZD=function(e){return e.tagName==="TEXTAREA"},lA=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!ZD(e)&&r[t]==="visible")},JD=function(e){return lA(e,"overflowY")},eR=function(e){return lA(e,"overflowX")},uw=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var i=sA(e,n);if(i){var o=uA(e,n),s=o[1],u=o[2];if(s>u)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},tR=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},rR=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},sA=function(e,t){return e==="v"?JD(t):eR(t)},uA=function(e,t){return e==="v"?tR(t):rR(t)},nR=function(e,t){return e==="h"&&t==="rtl"?-1:1},iR=function(e,t,r,n,i){var o=nR(e,window.getComputedStyle(t).direction),s=o*n,u=r.target,d=t.contains(u),f=!1,h=s>0,m=0,v=0;do{if(!u)break;var b=uA(e,u),S=b[0],k=b[1],E=b[2],P=k-E-o*S;(S||P)&&sA(e,u)&&(m+=P,v+=S);var j=u.parentNode;u=j&&j.nodeType===Node.DOCUMENT_FRAGMENT_NODE?j.host:j}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(h&&Math.abs(m)<1||!h&&Math.abs(v)<1)&&(f=!0),f},td=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},cw=function(e){return[e.deltaX,e.deltaY]},dw=function(e){return e&&"current"in e?e.current:e},aR=function(e,t){return e[0]===t[0]&&e[1]===t[1]},oR=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},oR=0,jo=[];function lR(e){var t=y.useRef([]),r=y.useRef([0,0]),n=y.useRef(),i=y.useState(oR++)[0],o=y.useState(oA)[0],s=y.useRef(e);y.useEffect(function(){s.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var k=CD([e.lockRef.current],(e.shards||[]).map(dw),!0).filter(Boolean);return k.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),k.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var u=y.useCallback(function(k,E){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!s.current.allowPinchZoom;var P=td(k),j=r.current,_="deltaX"in k?k.deltaX:j[0]-P[0],O="deltaY"in k?k.deltaY:j[1]-P[1],N,C=k.target,R=Math.abs(_)>Math.abs(O)?"h":"v";if("touches"in k&&R==="h"&&C.type==="range")return!1;var z=window.getSelection(),F=z&&z.anchorNode,V=F?F===C||F.contains(C):!1;if(V)return!1;var Q=uw(R,C);if(!Q)return!0;if(Q?N=R:(N=R==="v"?"h":"v",Q=uw(R,C)),!Q)return!1;if(!n.current&&"changedTouches"in k&&(_||O)&&(n.current=N),!N)return!0;var B=n.current||N;return nR(B,E,k,B==="h"?_:O)},[]),d=y.useCallback(function(k){var E=k;if(!(!jo.length||jo[jo.length-1]!==o)){var P="deltaY"in E?cw(E):td(E),j=t.current.filter(function(N){return N.name===E.type&&(N.target===E.target||E.target===N.shadowParent)&&iR(N.delta,P)})[0];if(j&&j.should){E.cancelable&&E.preventDefault();return}if(!j){var _=(s.current.shards||[]).map(dw).filter(Boolean).filter(function(N){return N.contains(E.target)}),O=_.length>0?u(E,_[0]):!s.current.noIsolation;O&&E.cancelable&&E.preventDefault()}}},[]),f=y.useCallback(function(k,E,P,j){var _={name:k,delta:E,target:P,should:j,shadowParent:sR(P)};t.current.push(_),setTimeout(function(){t.current=t.current.filter(function(O){return O!==_})},1)},[]),h=y.useCallback(function(k){r.current=td(k),n.current=void 0},[]),m=y.useCallback(function(k){f(k.type,cw(k),k.target,u(k,e.lockRef.current))},[]),v=y.useCallback(function(k){f(k.type,td(k),k.target,u(k,e.lockRef.current))},[]);y.useEffect(function(){return jo.push(o),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,Co),document.addEventListener("touchmove",d,Co),document.addEventListener("touchstart",h,Co),function(){jo=jo.filter(function(k){return k!==o}),document.removeEventListener("wheel",d,Co),document.removeEventListener("touchmove",d,Co),document.removeEventListener("touchstart",h,Co)}},[]);var b=e.removeScrollBar,S=e.inert;return y.createElement(y.Fragment,null,S?y.createElement(o,{styles:aR(i)}):null,b?y.createElement(QD,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function sR(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const uR=$D(aA,lR);var cA=y.forwardRef(function(e,t){return y.createElement(Rf,Sn({},e,{ref:t,sideCar:uR}))});cA.classNames=Rf.classNames;var cR=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},_o=new WeakMap,rd=new WeakMap,nd={},Im=0,dA=function(e){return e&&(e.host||dA(e.parentNode))},dR=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=dA(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},fR=function(e,t,r,n){var i=dR(t,Array.isArray(e)?e:[e]);nd[r]||(nd[r]=new WeakMap);var o=nd[r],s=[],u=new Set,d=new Set(i),f=function(m){!m||u.has(m)||(u.add(m),f(m.parentNode))};i.forEach(f);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(u.has(v))h(v);else try{var b=v.getAttribute(n),S=b!==null&&b!=="false",k=(_o.get(v)||0)+1,E=(o.get(v)||0)+1;_o.set(v,k),o.set(v,E),s.push(v),k===1&&S&&rd.set(v,!0),E===1&&v.setAttribute(r,"true"),S||v.setAttribute(n,"true")}catch(P){console.error("aria-hidden: cannot operate on ",v,P)}})};return h(t),u.clear(),Im++,function(){s.forEach(function(m){var v=_o.get(m)-1,b=o.get(m)-1;_o.set(m,v),o.set(m,b),v||(rd.has(m)||m.removeAttribute(n),rd.delete(m)),b||m.removeAttribute(r)}),Im--,Im||(_o=new WeakMap,_o=new WeakMap,rd=new WeakMap,nd={})}},hR=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=cR(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live], script"))),fR(n,i,r,"aria-hidden")):function(){return null}},$f="Dialog",[fA]=BT($f),[pR,un]=fA($f),hA=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:i,onOpenChange:o,modal:s=!0}=e,u=y.useRef(null),d=y.useRef(null),[f,h]=VT({prop:n,defaultProp:i??!1,onChange:o,caller:$f});return x.jsx(pR,{scope:t,triggerRef:u,contentRef:d,contentId:Jn(),titleId:Jn(),descriptionId:Jn(),open:f,onOpenChange:h,onOpenToggle:y.useCallback(()=>h(m=>!m),[h]),modal:s,children:r})};hA.displayName=$f;var pA="DialogTrigger",mR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=un(pA,r),o=Za(t,i.triggerRef);return x.jsx(Wt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":Yg(i.open),...n,ref:o,onClick:Xi(e.onClick,i.onOpenToggle)})});mR.displayName=pA;var Gg="DialogPortal",[vR,mA]=fA(Gg,{forceMount:void 0}),vA=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:i}=e,o=un(Gg,t);return x.jsx(vR,{scope:t,forceMount:r,children:y.Children.map(n,s=>x.jsx(Df,{present:r||o.open,children:x.jsx(rA,{asChild:!0,container:i,children:s})}))})};vA.displayName=Gg;var Id="DialogOverlay",gA=y.forwardRef((e,t)=>{const r=mA(Id,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=un(Id,e.__scopeDialog);return o.modal?x.jsx(Df,{present:n||o.open,children:x.jsx(yR,{...i,ref:t})}):null});gA.displayName=Id;var gR=XP("DialogOverlay.RemoveScroll"),yR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=un(Id,r),o=fD(),s=Za(t,o);return x.jsx(cA,{as:gR,allowPinchZoom:!0,shards:[i.contentRef],children:x.jsx(Wt.div,{"data-state":Yg(i.open),...n,ref:s,style:{pointerEvents:"auto",...n.style}})})}),pl="DialogContent",yA=y.forwardRef((e,t)=>{const r=mA(pl,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=un(pl,e.__scopeDialog);return x.jsx(Df,{present:n||o.open,children:o.modal?x.jsx(xR,{...i,ref:t}):x.jsx(bR,{...i,ref:t})})});yA.displayName=pl;var xR=y.forwardRef((e,t)=>{const r=un(pl,e.__scopeDialog),n=y.useRef(null),i=Za(t,r.contentRef,n);return y.useEffect(()=>{const o=n.current;if(o)return hR(o)},[]),x.jsx(xA,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:Xi(e.onCloseAutoFocus,o=>{var s;o.preventDefault(),(s=r.triggerRef.current)==null||s.focus()}),onPointerDownOutside:Xi(e.onPointerDownOutside,o=>{const s=o.detail.originalEvent,u=s.button===0&&s.ctrlKey===!0;(s.button===2||u)&&o.preventDefault()}),onFocusOutside:Xi(e.onFocusOutside,o=>o.preventDefault())})}),bR=y.forwardRef((e,t)=>{const r=un(pl,e.__scopeDialog),n=y.useRef(!1),i=y.useRef(!1);return x.jsx(xA,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var s,u;(s=e.onCloseAutoFocus)==null||s.call(e,o),o.defaultPrevented||(n.current||(u=r.triggerRef.current)==null||u.focus(),o.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:o=>{var d,f;(d=e.onInteractOutside)==null||d.call(e,o),o.defaultPrevented||(n.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const s=o.target;((f=r.triggerRef.current)==null?void 0:f.contains(s))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),xA=y.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:o,...s}=e,u=un(pl,r);return OD(),x.jsx(x.Fragment,{children:x.jsx(eA,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:o,children:x.jsx(ZP,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":Yg(u.open),...s,ref:t,deferPointerDownOutside:!0,onDismiss:()=>u.onOpenChange(!1)})})})}),bA="DialogTitle",wR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=un(bA,r);return x.jsx(Wt.h2,{id:i.titleId,...n,ref:t})});wR.displayName=bA;var wA="DialogDescription",kR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=un(wA,r);return x.jsx(Wt.p,{id:i.descriptionId,...n,ref:t})});kR.displayName=wA;var kA="DialogClose",SR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=un(kA,r);return x.jsx(Wt.button,{type:"button",...n,ref:t,onClick:Xi(e.onClick,()=>i.onOpenChange(!1))})});SR.displayName=kA;function Yg(e){return e?"open":"closed"}var Es='[cmdk-group=""]',Mm='[cmdk-group-items=""]',ER='[cmdk-group-heading=""]',SA='[cmdk-item=""]',fw=`${SA}:not([aria-disabled="true"])`,Tv="cmdk-item-select",Bo="data-value",PR=(e,t,r)=>FT(e,t,r),EA=y.createContext(void 0),ku=()=>y.useContext(EA),PA=y.createContext(void 0),Qg=()=>y.useContext(PA),AA=y.createContext(void 0),OA=y.forwardRef((e,t)=>{let r=Uo(()=>{var T,Z;return{search:"",value:(Z=(T=e.value)!=null?T:e.defaultValue)!=null?Z:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=Uo(()=>new Set),i=Uo(()=>new Map),o=Uo(()=>new Map),s=Uo(()=>new Set),u=CA(e),{label:d,children:f,value:h,onValueChange:m,filter:v,shouldFilter:b,loop:S,disablePointerSelection:k=!1,vimBindings:E=!0,...P}=e,j=Jn(),_=Jn(),O=Jn(),N=y.useRef(null),C=RR();Wa(()=>{if(h!==void 0){let T=h.trim();r.current.value=T,R.emit()}},[h]),Wa(()=>{C(6,ue)},[]);let R=y.useMemo(()=>({subscribe:T=>(s.current.add(T),()=>s.current.delete(T)),snapshot:()=>r.current,setState:(T,Z,se)=>{var te,ce,ge,_e;if(!Object.is(r.current[T],Z)){if(r.current[T]=Z,T==="search")B(),V(),C(1,Q);else if(T==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let J=document.getElementById(O);J?J.focus():(te=document.getElementById(j))==null||te.focus()}if(C(7,()=>{var J;r.current.selectedItemId=(J=G())==null?void 0:J.id,R.emit()}),se||C(5,ue),((ce=u.current)==null?void 0:ce.value)!==void 0){let J=Z??"";(_e=(ge=u.current).onValueChange)==null||_e.call(ge,J);return}}R.emit()}},emit:()=>{s.current.forEach(T=>T())}}),[]),z=y.useMemo(()=>({value:(T,Z,se)=>{var te;Z!==((te=o.current.get(T))==null?void 0:te.value)&&(o.current.set(T,{value:Z,keywords:se}),r.current.filtered.items.set(T,F(Z,se)),C(2,()=>{V(),R.emit()}))},item:(T,Z)=>(n.current.add(T),Z&&(i.current.has(Z)?i.current.get(Z).add(T):i.current.set(Z,new Set([T]))),C(3,()=>{B(),V(),r.current.value||Q(),R.emit()}),()=>{o.current.delete(T),n.current.delete(T),r.current.filtered.items.delete(T);let se=G();C(4,()=>{B(),(se==null?void 0:se.getAttribute("id"))===T&&Q(),R.emit()})}),group:T=>(i.current.has(T)||i.current.set(T,new Set),()=>{o.current.delete(T),i.current.delete(T)}),filter:()=>u.current.shouldFilter,label:d||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:j,inputId:O,labelId:_,listInnerRef:N}),[]);function F(T,Z){var se,te;let ce=(te=(se=u.current)==null?void 0:se.filter)!=null?te:PR;return T?ce(T,r.current.search,Z):0}function V(){if(!r.current.search||u.current.shouldFilter===!1)return;let T=r.current.filtered.items,Z=[];r.current.filtered.groups.forEach(te=>{let ce=i.current.get(te),ge=0;ce.forEach(_e=>{let J=T.get(_e);ge=Math.max(J,ge)}),Z.push([te,ge])});let se=N.current;le().sort((te,ce)=>{var ge,_e;let J=te.getAttribute("id"),we=ce.getAttribute("id");return((ge=T.get(we))!=null?ge:0)-((_e=T.get(J))!=null?_e:0)}).forEach(te=>{let ce=te.closest(Mm);ce?ce.appendChild(te.parentElement===ce?te:te.closest(`${Mm} > *`)):se.appendChild(te.parentElement===se?te:te.closest(`${Mm} > *`))}),Z.sort((te,ce)=>ce[1]-te[1]).forEach(te=>{var ce;let ge=(ce=N.current)==null?void 0:ce.querySelector(`${Es}[${Bo}="${encodeURIComponent(te[0])}"]`);ge==null||ge.parentElement.appendChild(ge)})}function Q(){let T=le().find(se=>se.getAttribute("aria-disabled")!=="true"),Z=T==null?void 0:T.getAttribute(Bo);R.setState("value",Z||void 0)}function B(){var T,Z,se,te;if(!r.current.search||u.current.shouldFilter===!1){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let ce=0;for(let ge of n.current){let _e=(Z=(T=o.current.get(ge))==null?void 0:T.value)!=null?Z:"",J=(te=(se=o.current.get(ge))==null?void 0:se.keywords)!=null?te:[],we=F(_e,J);r.current.filtered.items.set(ge,we),we>0&&ce++}for(let[ge,_e]of i.current)for(let J of _e)if(r.current.filtered.items.get(J)>0){r.current.filtered.groups.add(ge);break}r.current.filtered.count=ce}function ue(){var T,Z,se;let te=G();te&&(((T=te.parentElement)==null?void 0:T.firstChild)===te&&((se=(Z=te.closest(Es))==null?void 0:Z.querySelector(ER))==null||se.scrollIntoView({block:"nearest"})),te.scrollIntoView({block:"nearest"}))}function G(){var T;return(T=N.current)==null?void 0:T.querySelector(`${SA}[aria-selected="true"]`)}function le(){var T;return Array.from(((T=N.current)==null?void 0:T.querySelectorAll(fw))||[])}function fe(T){let Z=le()[T];Z&&R.setState("value",Z.getAttribute(Bo))}function de(T){var Z;let se=G(),te=le(),ce=te.findIndex(_e=>_e===se),ge=te[ce+T];(Z=u.current)!=null&&Z.loop&&(ge=ce+T<0?te[te.length-1]:ce+T===te.length?te[0]:te[ce+T]),ge&&R.setState("value",ge.getAttribute(Bo))}function Y(T){let Z=G(),se=Z==null?void 0:Z.closest(Es),te;for(;se&&!te;)se=T>0?TR(se,Es):DR(se,Es),te=se==null?void 0:se.querySelector(fw);te?R.setState("value",te.getAttribute(Bo)):de(T)}let ae=()=>fe(le().length-1),X=T=>{T.preventDefault(),T.metaKey?ae():T.altKey?Y(1):de(1)},M=T=>{T.preventDefault(),T.metaKey?fe(0):T.altKey?Y(-1):de(-1)};return y.createElement(Wt.div,{ref:t,tabIndex:-1,...P,"cmdk-root":"",onKeyDown:T=>{var Z;(Z=P.onKeyDown)==null||Z.call(P,T);let se=T.nativeEvent.isComposing||T.keyCode===229;if(!(T.defaultPrevented||se))switch(T.key){case"n":case"j":{E&&T.ctrlKey&&X(T);break}case"ArrowDown":{X(T);break}case"p":case"k":{E&&T.ctrlKey&&M(T);break}case"ArrowUp":{M(T);break}case"Home":{T.preventDefault(),fe(0);break}case"End":{T.preventDefault(),ae();break}case"Enter":{T.preventDefault();let te=G();if(te){let ce=new Event(Tv);te.dispatchEvent(ce)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:z.inputId,id:z.labelId,style:LR},d),Lf(e,T=>y.createElement(PA.Provider,{value:R},y.createElement(EA.Provider,{value:z},T))))}),AR=y.forwardRef((e,t)=>{var r,n;let i=Jn(),o=y.useRef(null),s=y.useContext(AA),u=ku(),d=CA(e),f=(n=(r=d.current)==null?void 0:r.forceMount)!=null?n:s==null?void 0:s.forceMount;Wa(()=>{if(!f)return u.item(i,s==null?void 0:s.id)},[f]);let h=jA(i,o,[e.value,e.children,o],e.keywords),m=Qg(),v=ea(C=>C.value&&C.value===h.current),b=ea(C=>f||u.filter()===!1?!0:C.search?C.filtered.items.get(i)>0:!0);y.useEffect(()=>{let C=o.current;if(!(!C||e.disabled))return C.addEventListener(Tv,S),()=>C.removeEventListener(Tv,S)},[b,e.onSelect,e.disabled]);function S(){var C,R;k(),(R=(C=d.current).onSelect)==null||R.call(C,h.current)}function k(){m.setState("value",h.current,!0)}if(!b)return null;let{disabled:E,value:P,onSelect:j,forceMount:_,keywords:O,...N}=e;return y.createElement(Wt.div,{ref:hl(o,t),...N,id:i,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!v,"data-disabled":!!E,"data-selected":!!v,onPointerMove:E||u.getDisablePointerSelection()?void 0:k,onClick:E?void 0:S},e.children)}),OR=y.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:i,...o}=e,s=Jn(),u=y.useRef(null),d=y.useRef(null),f=Jn(),h=ku(),m=ea(b=>i||h.filter()===!1?!0:b.search?b.filtered.groups.has(s):!0);Wa(()=>h.group(s),[]),jA(s,u,[e.value,e.heading,d]);let v=y.useMemo(()=>({id:s,forceMount:i}),[i]);return y.createElement(Wt.div,{ref:hl(u,t),...o,"cmdk-group":"",role:"presentation",hidden:m?void 0:!0},r&&y.createElement("div",{ref:d,"cmdk-group-heading":"","aria-hidden":!0,id:f},r),Lf(e,b=>y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?f:void 0},y.createElement(AA.Provider,{value:v},b))))}),CR=y.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,i=y.useRef(null),o=ea(s=>!s.search);return!r&&!o?null:y.createElement(Wt.div,{ref:hl(i,t),...n,"cmdk-separator":"",role:"separator"})}),jR=y.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,i=e.value!=null,o=Qg(),s=ea(f=>f.search),u=ea(f=>f.selectedItemId),d=ku();return y.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),y.createElement(Wt.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":d.listId,"aria-labelledby":d.labelId,"aria-activedescendant":u,id:d.inputId,type:"text",value:i?e.value:s,onChange:f=>{i||o.setState("search",f.target.value),r==null||r(f.target.value)}})}),_R=y.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...i}=e,o=y.useRef(null),s=y.useRef(null),u=ea(f=>f.selectedItemId),d=ku();return y.useEffect(()=>{if(s.current&&o.current){let f=s.current,h=o.current,m,v=new ResizeObserver(()=>{m=requestAnimationFrame(()=>{let b=f.offsetHeight;h.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return v.observe(f),()=>{cancelAnimationFrame(m),v.unobserve(f)}}},[]),y.createElement(Wt.div,{ref:hl(o,t),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":u,"aria-label":n,id:d.listId},Lf(e,f=>y.createElement("div",{ref:hl(s,d.listInnerRef),"cmdk-list-sizer":""},f)))}),NR=y.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:i,contentClassName:o,container:s,...u}=e;return y.createElement(hA,{open:r,onOpenChange:n},y.createElement(vA,{container:s},y.createElement(gA,{"cmdk-overlay":"",className:i}),y.createElement(yA,{"aria-label":e.label,"cmdk-dialog":"",className:o},y.createElement(OA,{ref:t,...u}))))}),IR=y.forwardRef((e,t)=>ea(r=>r.filtered.count===0)?y.createElement(Wt.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),MR=y.forwardRef((e,t)=>{let{progress:r,children:n,label:i="Loading...",...o}=e;return y.createElement(Wt.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Lf(e,s=>y.createElement("div",{"aria-hidden":!0},s)))}),No=Object.assign(OA,{List:_R,Item:AR,Input:jR,Group:OR,Separator:CR,Dialog:NR,Empty:IR,Loading:MR});function TR(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}function DR(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}function CA(e){let t=y.useRef(e);return Wa(()=>{t.current=e}),t}var Wa=typeof window>"u"?y.useEffect:y.useLayoutEffect;function Uo(e){let t=y.useRef();return t.current===void 0&&(t.current=e()),t}function ea(e){let t=Qg(),r=()=>e(t.snapshot());return y.useSyncExternalStore(t.subscribe,r,r)}function jA(e,t,r,n=[]){let i=y.useRef(),o=ku();return Wa(()=>{var s;let u=(()=>{var f;for(let h of r){if(typeof h=="string")return h.trim();if(typeof h=="object"&&"current"in h)return h.current?(f=h.current.textContent)==null?void 0:f.trim():i.current}})(),d=n.map(f=>f.trim());o.value(e,u,d),(s=t.current)==null||s.setAttribute(Bo,u),i.current=u}),i}var RR=()=>{let[e,t]=y.useState(),r=Uo(()=>new Map);return Wa(()=>{r.current.forEach(n=>n()),r.current=new Map},[e]),(n,i)=>{r.current.set(n,i),t({})}};function $R(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Lf({asChild:e,children:t},r){return e&&y.isValidElement(t)?y.cloneElement($R(t),{ref:t.ref},r(t.props.children)):r(t)}var LR={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function zR({onNavigate:e}){const[t,r]=y.useState(!1);return y.useEffect(()=>{const n=i=>{(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&(i.preventDefault(),r(o=>!o))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[]),x.jsx(No.Dialog,{open:t,onOpenChange:r,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>r(!1),children:x.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:n=>n.stopPropagation(),children:[x.jsx(No.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),x.jsxs(No.List,{className:"max-h-80 overflow-y-auto p-2",children:[x.jsx(No.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),x.jsx(No.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:Go.map(n=>x.jsxs(No.Item,{value:`${n.label} ${n.hint}`,onSelect:()=>{e(n.id),r(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[x.jsx(n.icon,{className:"h-4 w-4 text-primary"}),x.jsx("span",{children:n.label}),x.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:n.hint})]},n.id))})]})]})})}const _A="mc_expert_mode",Dv="mc-expert-mode-change",FR=()=>{try{return localStorage.getItem(_A)==="true"}catch{return!1}};function BR(e){return window.addEventListener(Dv,e),window.addEventListener("storage",e),()=>{window.removeEventListener(Dv,e),window.removeEventListener("storage",e)}}function hw(e){localStorage.setItem(_A,String(e)),window.dispatchEvent(new Event(Dv))}function UR(){return y.useSyncExternalStore(BR,FR,()=>!1)}function NA(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=KR(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:s=>{const u=s.split(Xg);return u[0]===""&&u.length!==1&&u.shift(),IA(u,t)||HR(s)},getConflictingClassGroupIds:(s,u)=>{const d=r[s]||[];return u&&n[s]?[...d,...n[s]]:d}}},IA=(e,t)=>{var s;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),i=n?IA(e.slice(1),n):void 0;if(i)return i;if(t.validators.length===0)return;const o=e.join(Xg);return(s=t.validators.find(({validator:u})=>u(o)))==null?void 0:s.classGroupId},pw=/^\[(.+)\]$/,HR=e=>{if(pw.test(e)){const t=pw.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},KR=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return qR(Object.entries(e.classGroups),r).forEach(([o,s])=>{Rv(s,n,o,t)}),n},Rv=(e,t,r,n)=>{e.forEach(i=>{if(typeof i=="string"){const o=i===""?t:mw(t,i);o.classGroupId=r;return}if(typeof i=="function"){if(VR(i)){Rv(i(n),t,r,n);return}t.validators.push({validator:i,classGroupId:r});return}Object.entries(i).forEach(([o,s])=>{Rv(s,mw(t,o),r,n)})})},mw=(e,t)=>{let r=e;return t.split(Xg).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},VR=e=>e.isThemeGetter,qR=(e,t)=>t?e.map(([r,n])=>{const i=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([s,u])=>[t+s,u])):o);return[r,i]}):e,GR=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const i=(o,s)=>{r.set(o,s),t++,t>e&&(t=0,n=r,r=new Map)};return{get(o){let s=r.get(o);if(s!==void 0)return s;if((s=n.get(o))!==void 0)return i(o,s),s},set(o,s){r.has(o)?r.set(o,s):i(o,s)}}},MA="!",YR=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,i=t[0],o=t.length,s=u=>{const d=[];let f=0,h=0,m;for(let E=0;Eh?m-h:void 0;return{modifiers:d,hasImportantModifier:b,baseClassName:S,maybePostfixModifierPosition:k}};return r?u=>r({className:u,parseClassName:s}):s},QR=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},XR=e=>({cache:GR(e.cacheSize),parseClassName:YR(e),...WR(e)}),ZR=/\s+/,JR=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=t,o=[],s=e.trim().split(ZR);let u="";for(let d=s.length-1;d>=0;d-=1){const f=s[d],{modifiers:h,hasImportantModifier:m,baseClassName:v,maybePostfixModifierPosition:b}=r(f);let S=!!b,k=n(S?v.substring(0,b):v);if(!k){if(!S){u=f+(u.length>0?" "+u:u);continue}if(k=n(v),!k){u=f+(u.length>0?" "+u:u);continue}S=!1}const E=QR(h).join(":"),P=m?E+MA:E,j=P+k;if(o.includes(j))continue;o.push(j);const _=i(k,S);for(let O=0;O<_.length;++O){const N=_[O];o.push(P+N)}u=f+(u.length>0?" "+u:u)}return u};function e3(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;nm(h),e());return r=XR(f),n=r.cache.get,i=r.cache.set,o=u,u(d)}function u(d){const f=n(d);if(f)return f;const h=JR(d,r);return i(d,h),h}return function(){return o(e3.apply(null,arguments))}}const tt=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},DA=/^\[(?:([a-z-]+):)?(.+)\]$/i,r3=/^\d+\/\d+$/,n3=new Set(["px","full","screen"]),i3=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,a3=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,o3=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,l3=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,s3=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Hn=e=>Qo(e)||n3.has(e)||r3.test(e),Mi=e=>Pl(e,"length",v3),Qo=e=>!!e&&!Number.isNaN(Number(e)),Tm=e=>Pl(e,"number",Qo),Ps=e=>!!e&&Number.isInteger(Number(e)),u3=e=>e.endsWith("%")&&Qo(e.slice(0,-1)),Te=e=>DA.test(e),Ti=e=>i3.test(e),c3=new Set(["length","size","percentage"]),d3=e=>Pl(e,c3,RA),f3=e=>Pl(e,"position",RA),h3=new Set(["image","url"]),p3=e=>Pl(e,h3,y3),m3=e=>Pl(e,"",g3),As=()=>!0,Pl=(e,t,r)=>{const n=DA.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},v3=e=>a3.test(e)&&!o3.test(e),RA=()=>!1,g3=e=>l3.test(e),y3=e=>s3.test(e),x3=()=>{const e=tt("colors"),t=tt("spacing"),r=tt("blur"),n=tt("brightness"),i=tt("borderColor"),o=tt("borderRadius"),s=tt("borderSpacing"),u=tt("borderWidth"),d=tt("contrast"),f=tt("grayscale"),h=tt("hueRotate"),m=tt("invert"),v=tt("gap"),b=tt("gradientColorStops"),S=tt("gradientColorStopPositions"),k=tt("inset"),E=tt("margin"),P=tt("opacity"),j=tt("padding"),_=tt("saturate"),O=tt("scale"),N=tt("sepia"),C=tt("skew"),R=tt("space"),z=tt("translate"),F=()=>["auto","contain","none"],V=()=>["auto","hidden","clip","visible","scroll"],Q=()=>["auto",Te,t],B=()=>[Te,t],ue=()=>["",Hn,Mi],G=()=>["auto",Qo,Te],le=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],fe=()=>["solid","dashed","dotted","double","none"],de=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Y=()=>["start","end","center","between","around","evenly","stretch"],ae=()=>["","0",Te],X=()=>["auto","avoid","all","avoid-page","page","left","right","column"],M=()=>[Qo,Te];return{cacheSize:500,separator:":",theme:{colors:[As],spacing:[Hn,Mi],blur:["none","",Ti,Te],brightness:M(),borderColor:[e],borderRadius:["none","","full",Ti,Te],borderSpacing:B(),borderWidth:ue(),contrast:M(),grayscale:ae(),hueRotate:M(),invert:ae(),gap:B(),gradientColorStops:[e],gradientColorStopPositions:[u3,Mi],inset:Q(),margin:Q(),opacity:M(),padding:B(),saturate:M(),scale:M(),sepia:ae(),skew:M(),space:B(),translate:B()},classGroups:{aspect:[{aspect:["auto","square","video",Te]}],container:["container"],columns:[{columns:[Ti]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...le(),Te]}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Ps,Te]}],basis:[{basis:Q()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Te]}],grow:[{grow:ae()}],shrink:[{shrink:ae()}],order:[{order:["first","last","none",Ps,Te]}],"grid-cols":[{"grid-cols":[As]}],"col-start-end":[{col:["auto",{span:["full",Ps,Te]},Te]}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":[As]}],"row-start-end":[{row:["auto",{span:[Ps,Te]},Te]}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Te]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Te]}],gap:[{gap:[v]}],"gap-x":[{"gap-x":[v]}],"gap-y":[{"gap-y":[v]}],"justify-content":[{justify:["normal",...Y()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Y(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Y(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[j]}],px:[{px:[j]}],py:[{py:[j]}],ps:[{ps:[j]}],pe:[{pe:[j]}],pt:[{pt:[j]}],pr:[{pr:[j]}],pb:[{pb:[j]}],pl:[{pl:[j]}],m:[{m:[E]}],mx:[{mx:[E]}],my:[{my:[E]}],ms:[{ms:[E]}],me:[{me:[E]}],mt:[{mt:[E]}],mr:[{mr:[E]}],mb:[{mb:[E]}],ml:[{ml:[E]}],"space-x":[{"space-x":[R]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[R]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Te,t]}],"min-w":[{"min-w":[Te,t,"min","max","fit"]}],"max-w":[{"max-w":[Te,t,"none","full","min","max","fit","prose",{screen:[Ti]},Ti]}],h:[{h:[Te,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Te,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Te,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Te,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Ti,Mi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Tm]}],"font-family":[{font:[As]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Te]}],"line-clamp":[{"line-clamp":["none",Qo,Tm]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Hn,Te]}],"list-image":[{"list-image":["none",Te]}],"list-style-type":[{list:["none","disc","decimal",Te]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[P]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[P]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Hn,Mi]}],"underline-offset":[{"underline-offset":["auto",Hn,Te]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Te]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Te]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[P]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...le(),f3]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",d3]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},p3]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[S]}],"gradient-via-pos":[{via:[S]}],"gradient-to-pos":[{to:[S]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[u]}],"border-w-x":[{"border-x":[u]}],"border-w-y":[{"border-y":[u]}],"border-w-s":[{"border-s":[u]}],"border-w-e":[{"border-e":[u]}],"border-w-t":[{"border-t":[u]}],"border-w-r":[{"border-r":[u]}],"border-w-b":[{"border-b":[u]}],"border-w-l":[{"border-l":[u]}],"border-opacity":[{"border-opacity":[P]}],"border-style":[{border:[...fe(),"hidden"]}],"divide-x":[{"divide-x":[u]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[u]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[P]}],"divide-style":[{divide:fe()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...fe()]}],"outline-offset":[{"outline-offset":[Hn,Te]}],"outline-w":[{outline:[Hn,Mi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[P]}],"ring-offset-w":[{"ring-offset":[Hn,Mi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Ti,m3]}],"shadow-color":[{shadow:[As]}],opacity:[{opacity:[P]}],"mix-blend":[{"mix-blend":[...de(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":de()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[d]}],"drop-shadow":[{"drop-shadow":["","none",Ti,Te]}],grayscale:[{grayscale:[f]}],"hue-rotate":[{"hue-rotate":[h]}],invert:[{invert:[m]}],saturate:[{saturate:[_]}],sepia:[{sepia:[N]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[d]}],"backdrop-grayscale":[{"backdrop-grayscale":[f]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[h]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[P]}],"backdrop-saturate":[{"backdrop-saturate":[_]}],"backdrop-sepia":[{"backdrop-sepia":[N]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Te]}],duration:[{duration:M()}],ease:[{ease:["linear","in","out","in-out",Te]}],delay:[{delay:M()}],animate:[{animate:["none","spin","ping","pulse","bounce",Te]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[O]}],"scale-x":[{"scale-x":[O]}],"scale-y":[{"scale-y":[O]}],rotate:[{rotate:[Ps,Te]}],"translate-x":[{"translate-x":[z]}],"translate-y":[{"translate-y":[z]}],"skew-x":[{"skew-x":[C]}],"skew-y":[{"skew-y":[C]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Te]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Te]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Te]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Hn,Mi,Tm]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},b3=t3(x3);function Re(...e){return b3(Xe(e))}function VQ(e){return e?e.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function w3(){const e=UR();return x.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[x.jsxs("button",{onClick:()=>hw(!1),"aria-pressed":!e,className:Re("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[x.jsx(YP,{className:"h-3.5 w-3.5"})," Einfach"]}),x.jsxs("button",{onClick:()=>hw(!0),"aria-pressed":e,className:Re("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[x.jsx(OT,{className:"h-3.5 w-3.5"})," Experte"]})]})}async function Ie(e,t){var d;const r={"Content-Type":"application/json",...t==null?void 0:t.headers},n=((d=t==null?void 0:t.method)==null?void 0:d.toUpperCase())||"GET",i=n==="GET"?null:localStorage.getItem("mc_sudo_password"),o=n==="GET"?null:localStorage.getItem("mc_hf_token");i&&(r["X-Sudo-Password"]=i);let s=t==null?void 0:t.body;if(n==="POST"){if(typeof s=="string")try{const f=JSON.parse(s);let h=!1;i&&!("sudo_password"in f)&&(f.sudo_password=i,h=!0),o&&!("hf_token"in f)&&(f.hf_token=o,h=!0),h&&(s=JSON.stringify(f))}catch{}else if(!s){const f={};i&&(f.sudo_password=i),o&&(f.hf_token=o),Object.keys(f).length>0&&(s=JSON.stringify(f))}}const u=await fetch(e,{...t,headers:r,body:s});if(!u.ok)throw new Error(`${u.status} ${u.statusText}`);return u.json()}const qQ=(e,t,r=!1,n=!0)=>Ie("/api/groups",{method:"PUT",body:JSON.stringify({group:e,members:t,swap:r,persist:n})}),GQ=e=>Ie("/api/routing/policy",{method:"PUT",body:JSON.stringify(e)});function k3({type:e,title:t,message:r,defaultValue:n,autoValue:i,autoLabel:o,onConfirm:s,onCancel:u}){const d=y.useRef(null);return x.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":t,children:x.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[x.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:t}),x.jsx("button",{onClick:u||(()=>s()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:x.jsx(wu,{className:"h-4 w-4","aria-hidden":"true"})})]}),x.jsx("p",{className:"max-h-72 overflow-y-auto whitespace-pre-line text-xs text-muted-foreground leading-relaxed scrollbar-thin",children:r}),e==="prompt"&&x.jsxs("div",{className:"flex gap-2",children:[x.jsx("input",{ref:d,type:"text",defaultValue:n,"aria-label":t,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:f=>{var h;f.key==="Enter"&&s((h=d.current)==null?void 0:h.value)}}),i!==void 0&&x.jsx("button",{type:"button",onClick:()=>{d.current&&(d.current.value=i)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:o||"Auto"})]}),x.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(e==="confirm"||e==="prompt")&&x.jsx("button",{onClick:u,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),x.jsx("button",{onClick:()=>{var h;const f=e==="prompt"?(h=d.current)==null?void 0:h.value:void 0;s(f)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:e==="confirm"?"Ja, fortfahren":e==="prompt"?"Übernehmen":"OK"})]})]})})}function Zg(){const[e,t]=y.useState(null),r=y.useCallback(()=>t(null),[]),n=y.useCallback((u,d,f)=>{t({type:"alert",title:u,message:d,onConfirm:()=>{t(null),f==null||f()}})},[]),i=y.useCallback((u,d,f,h)=>{t({type:"confirm",title:u,message:d,onConfirm:()=>{t(null),f()},onCancel:()=>{t(null),h==null||h()}})},[]),o=y.useCallback((u,d,f,h,m,v)=>{t({type:"prompt",title:u,message:d,defaultValue:f,autoValue:v==null?void 0:v.autoValue,autoLabel:v==null?void 0:v.autoLabel,onConfirm:b=>{t(null),h(b)},onCancel:()=>{t(null),m==null||m()}})},[]),s=e?x.jsx(k3,{...e}):null;return{showAlert:n,showConfirm:i,showPrompt:o,close:r,dialogElement:s}}let Sd=!1;const S3=()=>Sd;function E3(){const e=bu();y.useEffect(()=>{const t=new EventSource("/api/events");return t.onopen=()=>{Sd=!0},t.onerror=()=>{Sd=!1},t.addEventListener("invalidate",r=>{var n;try{const i=((n=JSON.parse(r.data))==null?void 0:n.keys)??[];for(const o of i)e.invalidateQueries({queryKey:[o]})}catch{}}),()=>{Sd=!1,t.close()}},[e])}const De={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:e=>["drafts",e??""],connect:e=>["connect",e??""],connectHealth:["connect-health"],memory:(e,t)=>["memory",e??"",t??""],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"],auftragsbuch:["auftragsbuch"],ideen:["ideen"],chronik:["chronik"],governor:["governor"],eigenleben:["eigenleben"],wissen:["wissen"],zeitmaschine:["zeitmaschine"],reminders:["reminders"]},Ht={graph:3e3,schnell:8e3,normal:1e4,gemuetlich:3e4,traege:6e4},Su=e=>()=>S3()?e*5:e,P3=(e=Ht.schnell)=>Ge({queryKey:De.auftragsbuch,queryFn:()=>Ie("/api/auftragsbuch"),refetchInterval:Su(e)}),A3=(e=Ht.gemuetlich)=>Ge({queryKey:De.ideen,queryFn:()=>Ie("/api/ideen"),refetchInterval:Su(e)}),YQ=(e,t=!1)=>Ge({queryKey:["ideen-log",e],queryFn:()=>Ie(`/api/ideen/${e}/log`),enabled:t,refetchInterval:4e3,staleTime:0}),O3=(e=150,t=Ht.gemuetlich)=>Ge({queryKey:[...De.chronik,e],queryFn:()=>Ie(`/api/chronik?limit=${e}`),refetchInterval:Su(t),select:r=>r.items??[]}),QQ=()=>Ge({queryKey:De.wissen,queryFn:()=>Ie("/api/wissen")}),XQ=(e=Ht.traege)=>Ge({queryKey:De.eigenleben,queryFn:()=>Ie("/api/eigenleben"),refetchInterval:e}),C3=(e=Ht.traege,t=!0)=>Ge({queryKey:De.zeitmaschine,queryFn:()=>Ie("/api/zeitmaschine"),refetchInterval:e,enabled:t}),j3=(e=Ht.traege)=>Ge({queryKey:De.reminders,queryFn:()=>Ie("/api/reminders"),refetchInterval:Su(e),select:t=>t.items??[]}),_3=(e=12,t=Ht.schnell)=>Ge({queryKey:De.voiceTrace,queryFn:()=>Ie(`/api/voice/trace?limit=${e}`),refetchInterval:t,select:r=>r.turns??[]}),N3=(e=Ht.normal)=>Ge({queryKey:De.governor,queryFn:()=>Ie("/api/governor"),refetchInterval:e,retry:!1}),ZQ=(e=!0)=>Ge({queryKey:De.memoryGraph,queryFn:()=>Ie("/api/memory/graph"),enabled:e}),$A=()=>Ge({queryKey:De.health,queryFn:()=>Ie("/api/health"),refetchInterval:Ht.normal}),zf=(e=Ht.graph)=>Ge({queryKey:De.systemStatus,queryFn:()=>Ie("/api/system/status"),refetchInterval:e}),LA=(e,t=!0)=>Ge({queryKey:["metrics-history",e],queryFn:()=>Ie(`/api/system/history?minutes=${e}`),enabled:t,refetchInterval:6e4}),Jg=(e=Ht.normal)=>Ge({queryKey:De.services,queryFn:()=>Ie("/api/system/services"),refetchInterval:e}),zA=(e=Ht.schnell)=>Ge({queryKey:De.models,queryFn:()=>Ie("/api/models"),refetchInterval:Su(e)}),JQ=(e=Ht.normal)=>Ge({queryKey:De.groups,queryFn:()=>Ie("/api/groups"),refetchInterval:e}),eX=()=>Ge({queryKey:De.routingPolicy,queryFn:()=>Ie("/api/routing/policy")}),I3=(e=3e3,t=!0)=>Ge({queryKey:De.jobs,queryFn:()=>Ie("/api/jobs"),refetchInterval:e,enabled:t,select:r=>r.jobs??[]}),FA=(e=Ht.graph)=>Ge({queryKey:De.tokenStats,queryFn:()=>Ie("/api/system/token-stats"),refetchInterval:e}),M3=(e=Ht.normal)=>Ge({queryKey:De.agentStatus,queryFn:()=>Ie("/api/agent/status"),refetchInterval:e}),tX=(e=Ht.traege)=>Ge({queryKey:De.hermesBrain,queryFn:()=>Ie("/api/agent/brain"),refetchInterval:e}),BA=(e=Ht.traege)=>Ge({queryKey:De.updates,queryFn:()=>Ie("/api/maintenance/updates"),refetchInterval:e}),rX=()=>Ge({queryKey:De.discover,queryFn:()=>Ie("/api/discover")}),nX=e=>Ge({queryKey:De.drafts(e),queryFn:()=>Ie(`/api/models/drafts?target=${encodeURIComponent(e??"")}`),enabled:!!e}),iX=e=>Ge({queryKey:De.connect(e),queryFn:()=>Ie(e?`/api/connect?${e}`:"/api/connect")}),T3=()=>Ge({queryKey:De.connectHealth,queryFn:()=>Ie("/api/connect/health"),refetchInterval:15e3}),D3=e=>Ge({queryKey:De.memory(e==null?void 0:e.q,e==null?void 0:e.category),queryFn:()=>{const t=new URLSearchParams;return e!=null&&e.q&&t.set("q",e.q),e!=null&&e.category&&t.set("category",e.category),Ie(`/api/memory?${t}`)},select:t=>e!=null&&e.limit?t.slice(0,e.limit):t});function Os(e,...t){for(const r of t)e.invalidateQueries({queryKey:r})}function Io(e){return(e/1024**3).toFixed(1)}function Dm(e){return e?e>1024**3?`${(e/1024**3).toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`:""}function aX(e){if(!e)return"—";const t=e/1024**3;return t>=1?`${t.toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`}function oX(e){if(!e)return"";const t=Math.floor(e/60);return t>0?`${t} min`:`${e} s`}function lX(e){return e?`${Math.round(e/1024)}k`:"—"}function Cs({icon:e,iconClass:t,name:r,status:n,available:i,busy:o,actionLabel:s,onAction:u}){return x.jsxs("div",{className:Re("flex items-center gap-3 rounded-lg border px-3 py-2",i?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[x.jsx(e,{className:Re("h-4 w-4 shrink-0",t)}),x.jsxs("div",{className:"flex-1 min-w-0",children:[x.jsx("div",{className:"text-xs text-foreground truncate",children:r}),x.jsx("div",{className:Re("text-[10px] truncate",i?"text-amber-400/90":"text-muted-foreground"),children:n})]}),x.jsx("button",{onClick:u,disabled:!i||o,className:Re("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",i?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:o?"…":s})]})}function R3({label:e,ok:t,system:r,busy:n,onRestart:i,onLogs:o}){return x.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[x.jsx("span",{className:Re("w-1.5 h-1.5 rounded-full shrink-0",t===!0?"bg-emerald-500":t===!1?"bg-red-500":"bg-muted-foreground/40")}),x.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[e,r&&x.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),x.jsx("button",{onClick:i,disabled:n,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:x.jsx(qo,{className:Re("h-3.5 w-3.5",n&&"animate-spin")})}),x.jsx("button",{onClick:o,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:x.jsx(dT,{className:"h-3.5 w-3.5"})})]})}const $3=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,L3=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function z3(e){return $3.test(e)?"error":L3.test(e)?"warn":"info"}const F3={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function B3({service:e,text:t,loading:r,logStatus:n,onRefresh:i,onOpenSettings:o}){const[s,u]=y.useState(!1),[d,f]=y.useState(""),h=y.useRef(null),m=y.useMemo(()=>t?t.split(` -`).map(E=>({t:E,level:z3(E)})):[],[t]),v=y.useMemo(()=>m.filter(E=>E.level!=="info").length,[m]),b=d.trim().toLowerCase(),S=m.filter(E=>(!s||E.level!=="info")&&(!b||E.t.toLowerCase().includes(b))),k=n==="password_required"||n==="incorrect_password";return x.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[x.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[x.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[x.jsx(jT,{className:"h-3 w-3 text-primary"}),x.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",e]}),x.jsxs("div",{className:"flex items-center gap-1.5",children:[x.jsxs("div",{className:"relative",children:[x.jsx(PT,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),x.jsx("input",{value:d,onChange:E=>f(E.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),x.jsxs("button",{onClick:()=>u(E=>!E),title:"Nur Fehler und Warnungen zeigen",className:Re("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",s?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[x.jsx(Ys,{className:"h-3 w-3"}),"Nur Probleme",v>0?` (${v})`:""]}),x.jsx("button",{onClick:i,disabled:r,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:x.jsx(qo,{className:Re("h-3 w-3",r&&"animate-spin")})})]})]}),x.jsx("div",{ref:h,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:k?x.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[x.jsx(Ys,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),x.jsx("div",{className:"text-xs font-semibold text-amber-300",children:n==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),x.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",e," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),x.jsx("button",{onClick:o,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):r&&!t?x.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):m.length===0?x.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):S.length===0?x.jsx("span",{className:"text-muted-foreground",children:s?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):S.map((E,P)=>x.jsx("div",{className:Re("whitespace-pre-wrap",F3[E.level]),children:E.t||" "},P))})]})}function U3({open:e,showAlert:t}){const[r,n]=y.useState(""),[i,o]=y.useState(""),[s,u]=y.useState(!1),[d,f]=y.useState(!1);return y.useEffect(()=>{e&&(n(localStorage.getItem("mc_sudo_password")||""),o(localStorage.getItem("mc_hf_token")||""))},[e]),x.jsxs("div",{className:"space-y-6",children:[x.jsxs("div",{className:"space-y-2",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),x.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),x.jsxs("div",{className:"space-y-2",children:[x.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[x.jsx(Vg,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),x.jsxs("div",{className:"relative",children:[x.jsx("input",{type:s?"text":"password",value:r,onChange:h=>n(h.target.value),"aria-label":"Host Sudo-Passwort",name:"sudo-password",autoComplete:"off",spellCheck:!1,placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),x.jsx("button",{type:"button",onClick:()=>u(!s),"aria-label":s?"Passwort verbergen":"Passwort anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:s?x.jsx(K1,{className:"h-4 w-4","aria-hidden":"true"}):x.jsx(_v,{className:"h-4 w-4","aria-hidden":"true"})})]}),x.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),x.jsxs("div",{className:"space-y-2",children:[x.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[x.jsx(gT,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),x.jsxs("div",{className:"relative",children:[x.jsx("input",{type:d?"text":"password",value:i,onChange:h=>o(h.target.value),"aria-label":"HuggingFace API Token",name:"hf-token",autoComplete:"off",spellCheck:!1,placeholder:"hf_…",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),x.jsx("button",{type:"button",onClick:()=>f(!d),"aria-label":d?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:d?x.jsx(K1,{className:"h-4 w-4","aria-hidden":"true"}):x.jsx(_v,{className:"h-4 w-4","aria-hidden":"true"})})]}),x.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),x.jsxs("div",{className:"flex gap-3 pt-2",children:[x.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",r),localStorage.setItem("mc_hf_token",i),t("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),x.jsx("button",{onClick:()=>{n(""),o(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),t("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})}function W3({detail:e,maintenanceJob:t,onClose:r,onApply:n}){var d,f;const i=e.data,o={os:{icon:Vg,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:If,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:GP,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:_f,cls:"text-amber-400",title:"Hermes-Agent"}}[e.kind],s=o.icon,u=i?e.kind==="os"?(i.count??0)===0:e.kind==="hermes"?(i.behind??0)===0:i.installed_build!=null&&i.latest_build!=null&&i.latest_build<=i.installed_build:!0;return x.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[x.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:r}),x.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[x.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(s,{className:Re("h-4.5 w-4.5",o.cls)}),x.jsx("h3",{className:"text-sm font-semibold",children:o.title})]}),x.jsx("button",{onClick:r,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:x.jsx(wu,{className:"h-4 w-4"})})]}),x.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:e.loading?x.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[x.jsx(qo,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):i!=null&&i.error?x.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:i.error}):x.jsxs(x.Fragment,{children:[(i==null?void 0:i.action_needed)!=null&&x.jsxs("div",{className:Re("flex items-start gap-2 rounded-lg border p-3",i.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[i.action_needed?x.jsx(Ys,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):x.jsx(oT,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),x.jsxs("div",{className:"min-w-0",children:[x.jsxs("div",{className:Re("text-xs font-semibold",i.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",i.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),i.action_needed&&i.action_text&&x.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:i.action_text})]})]}),(i==null?void 0:i.summary)&&x.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[x.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),x.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:i.summary})]}),e.kind==="os"?x.jsxs(x.Fragment,{children:[((i==null?void 0:i.count)??0)===0?x.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"text-muted-foreground",children:[i.count," Paket(e) werden aktualisiert:"]}),x.jsx("div",{className:"space-y-1",children:i.packages.map(h=>x.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[x.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[x.jsx(q1,{className:"h-3 w-3 text-cyan-400 shrink-0"}),h.name]}),x.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[x.jsx("span",{children:h.current}),x.jsx(H1,{className:"h-3 w-3"}),x.jsx("span",{className:"text-emerald-400",children:h.candidate})]})]},h.name))})]}),(((d=i==null?void 0:i.held_back)==null?void 0:d.length)??0)>0&&x.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[x.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[x.jsx(lT,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),x.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),x.jsx("div",{className:"space-y-1",children:i.held_back.map(h=>x.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[x.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[x.jsx(q1,{className:"h-3 w-3 text-muted-foreground shrink-0"}),h.name]}),x.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:h.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},h.name))})]})]}):e.kind==="engine"||e.kind==="swap"?x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[x.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(i==null?void 0:i.installed_build)??"?"]}),x.jsx(H1,{className:"h-3.5 w-3.5 text-muted-foreground"}),x.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(i==null?void 0:i.latest_build)??"?"]})]}),((i==null?void 0:i.name)||(i==null?void 0:i.latest_tag))&&x.jsxs("div",{className:"text-muted-foreground",children:["Release: ",x.jsx("span",{className:"text-foreground",children:i==null?void 0:i.name}),i!=null&&i.latest_tag?` (${i.latest_tag})`:""]}),(i==null?void 0:i.url)&&x.jsxs("a",{href:i.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",x.jsx(cT,{className:"h-3 w-3"})]}),(i==null?void 0:i.body)&&x.jsxs("details",{className:"group",children:[x.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),x.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:i.body})]})]}):(((f=i==null?void 0:i.commits)==null?void 0:f.length)??0)===0?x.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"text-muted-foreground",children:[i.behind," neue Commit(s) auf ",x.jsxs("span",{className:"font-mono text-foreground",children:["origin/",i.branch]}),":"]}),x.jsx("div",{className:"space-y-1",children:i.commits.map(h=>x.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[x.jsx(hT,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),x.jsxs("div",{className:"min-w-0",children:[x.jsx("div",{className:"text-[11px] truncate",children:h.subject}),x.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[h.hash," · ",h.when]})]})]},h.hash))})]}),e.kind!=="os"&&!u&&x.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[x.jsx(AT,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),x.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",e.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),x.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[x.jsx("button",{onClick:r,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),x.jsx("button",{onClick:n,disabled:e.loading||u||!!t,title:t?`Update läuft bereits: ${t.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:t?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function H3({open:e,onClose:t,defaultTab:r="maintenance"}){var lr,hi;const n=bu(),{showAlert:i,showConfirm:o,dialogElement:s}=Zg(),{data:u}=BA(),{data:d}=Jg(),f=I3(3e3,e).data??[],{data:h}=C3(void 0,e),[m,v]=y.useState("llama-swap"),[b,S]=y.useState(""),[k,E]=y.useState(!1),[P,j]=y.useState(null),[_,O]=y.useState({}),[N,C]=y.useState("maintenance"),[R,z]=y.useState(!1),[F,V]=y.useState(""),[Q,B]=y.useState(!1),[ue,G]=y.useState(!1),[le,fe]=y.useState(null),de=(d==null?void 0:d.services)??[],Y=()=>Os(n,De.jobs);function ae(q){return q?new Date(q*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}y.useEffect(()=>{e&&r&&C(r)},[e,r]),y.useEffect(()=>{e&&Os(n,De.updates,De.services,De.jobs,De.zeitmaschine)},[e]);function X(q){E(!0),j(null),Ie(`/api/maintenance/logs?service=${q}&lines=150`).then(Me=>{Me.ok?S(Me.text):(S(`Fehler beim Laden der Logs: ${Me.err||"Unbekannter Fehler"}`),(Me.status==="incorrect_password"||Me.status==="password_required")&&j(Me.status))}).catch(Me=>S(`Fehler: ${Me.message}`)).finally(()=>E(!1))}y.useEffect(()=>{!e||N!=="logs"||X(m)},[e,N,m]);function M(q){return(q==null?void 0:q.status)==="busy"?(i("Update läuft bereits",`Es läuft gerade „${q.running}". Bitte warte, bis es fertig ist.`),Y(),!0):!1}function T(q){return(q==null?void 0:q.status)==="password_required"||(q==null?void 0:q.status)==="incorrect_password"?(i("Box-Passwort nötig",(q.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):q&&q.ok===!1?(i("Update fehlgeschlagen",q.err||"Unbekannter Fehler."),!0):!1}async function Z(q){const Me={os:"os-update",engine:"engine-update",swap:"swap-update"}[q];try{const Ze=await Ie(`/api/maintenance/${Me}`,{method:"POST"});if(M(Ze)||T(Ze))return;Y(),C("maintenance")}catch(Ze){i("Fehler",`Update konnte nicht starten: ${Ze.message}`)}}async function se(){G(!0);try{const q=await Ie("/api/maintenance/hermes-update",{method:"POST"});if(M(q))return;Y()}catch(q){i("Fehler",`Hermes-Update fehlgeschlagen: ${q.message}`)}finally{G(!1)}}async function te(q){fe({kind:q,loading:!0,data:null});try{const Me=await Ie(`/api/maintenance/update-details?kind=${q}`);fe({kind:q,loading:!1,data:Me})}catch(Me){fe({kind:q,loading:!1,data:{kind:q,error:Me.message}})}}function ce(){const q=le==null?void 0:le.kind;fe(null),q==="os"||q==="engine"||q==="swap"?Z(q):q==="hermes"&&se()}function ge(){var Me;const q=[u!=null&&u.engine?"Engine":null,u!=null&&u.swap?"Router":null,(Me=u==null?void 0:u.components)!=null&&Me.some(Ze=>Ze.update===!0)?"Hermes-Agent":null,u!=null&&u.os?`OS (${u.os} Pakete)`:null].filter(Boolean);o("Alle Updates einspielen?",`Nacheinander in einem Job: ${q.join(" → ")}. Jeder Schritt sichert und prüft sich selbst; schlägt einer fehl, stoppt der Rest. (OS braucht das Box-Passwort aus den Einstellungen — fehlt es, wird OS übersprungen.)`,async()=>{try{const Ze=await Ie("/api/maintenance/update-all",{method:"POST"});if(M(Ze)||T(Ze))return;if((Ze==null?void 0:Ze.status)==="nothing"){i("Nichts zu tun","Es stehen keine Updates aus.");return}Y(),C("maintenance")}catch(Ze){i("Fehler",`„Alle aktualisieren" konnte nicht starten: ${Ze.message}`)}})}async function _e(){z(!0);try{await Ie("/api/maintenance/check-updates",{method:"POST"}),Os(n,De.jobs,De.updates),C("maintenance")}catch(q){i("Fehler",`Fehler bei der Update-Suche: ${q.message}`)}finally{z(!1)}}async function J(q,Me){try{await Ie("/api/models/install",{method:"POST",body:JSON.stringify({repo:q,role:Me})}),i("Gestartet",`Modell-Upgrade für '${Me}' (${q}) gestartet.`),Y(),C("maintenance")}catch(Ze){i("Fehler",`Fehler beim Starten des Modell-Upgrades: ${Ze.message}`)}}async function we(){o("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await Ie("/api/maintenance/reboot",{method:"POST"}),i("Reboot","Reboot ausgelöst. System startet neu...",()=>t())}catch(q){i("Fehler",`Fehler beim Reboot: ${q.message}`)}})}async function Ae(){B(!0),V("Snapshot wird erzeugt...");try{const q=await Ie("/api/system/backup",{method:"POST"});V(q.ok?`Snapshot erzeugt: ${q.snapshot} (${q.files.length} Komponenten)`:"Backup fehlgeschlagen."),Os(n,De.zeitmaschine)}catch(q){V(`Fehler: ${q.message}`)}finally{B(!1)}}async function ne(q){O(Me=>({...Me,[q]:!0}));try{const Me=await Ie("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:q})});Me.ok?(i("Dienst neu gestartet",`Dienst ${q} wurde erfolgreich neu gestartet.`,()=>{N==="logs"&&m===q&&X(q)}),Os(n,De.services,De.health,De.models)):i("Fehler",`Fehler beim Neustart: ${Me.err||"Unbekannter Fehler"}`)}catch(Me){i("Fehler",`Fehler beim Neustart: ${Me.message}`)}finally{O(Me=>({...Me,[q]:!1}))}}async function lt(q){try{await Ie(`/api/jobs/${q}/cancel`,{method:"POST"}),Y()}catch(Me){i("Fehler",`Fehler beim Abbrechen: ${Me.message}`)}}const $e=f.find(q=>(q.state==="running"||q.state==="queued")&&q.group==="maintenance"),Pe=(u?(u.os>0?1:0)+(u.engine?1:0)+(u.swap?1:0):0)+(((lr=u==null?void 0:u.components)==null?void 0:lr.filter(q=>q.update===!0).length)??0),vt=(h==null?void 0:h.backups)??[];return x.jsxs(x.Fragment,{children:[x.jsx("div",{className:Re("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:t}),x.jsxs("div",{className:Re("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",e?"translate-x-0":"translate-x-full"),children:[x.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(qP,{className:"h-4.5 w-4.5 text-primary"}),x.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),x.jsx("button",{onClick:t,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:x.jsx(wu,{className:"h-4 w-4"})})]}),x.jsx("div",{className:"flex border-b border-border/40 px-6",children:["maintenance","logs","settings"].map(q=>x.jsx("button",{onClick:()=>C(q),className:Re("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N===q?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:q==="maintenance"?"System-Wartung":q==="logs"?"System-Logs":"Einstellungen"},q))}),x.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[N==="maintenance"&&x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"space-y-2.5",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),x.jsxs("div",{className:"flex items-center gap-3",children:[Pe>0&&x.jsxs("button",{onClick:ge,disabled:!!$e,className:"flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-[10px] font-bold text-primary transition-colors hover:bg-primary/20 disabled:opacity-50",children:[x.jsx(sT,{className:"h-3 w-3"})," Alle aktualisieren (",Pe,")"]}),x.jsxs("button",{onClick:_e,disabled:R||!!$e,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[x.jsx(qo,{className:Re("h-3 w-3",R&&"animate-spin")})," Nach Updates suchen"]})]})]}),(u==null?void 0:u.last_check)&&x.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",ae(u.last_check)]}),$e&&x.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[x.jsx(qo,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),x.jsxs("span",{children:["Update läuft: ",x.jsx("span",{className:"font-semibold",children:$e.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),x.jsxs("div",{className:"space-y-1.5",children:[x.jsx(Cs,{icon:Vg,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(u!=null&&u.os),status:u!=null&&u.os?`${u.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>te("os")}),x.jsx(Cs,{icon:If,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(u!=null&&u.engine),status:u!=null&&u.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>te("engine")}),x.jsx(Cs,{icon:GP,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(u!=null&&u.swap),status:u!=null&&u.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>te("swap")}),(()=>{var Me;const q=(Me=u==null?void 0:u.components)==null?void 0:Me.find(Ze=>Ze.key==="hermes_agent");return x.jsx(Cs,{icon:_f,iconClass:"text-amber-400",name:"Hermes-Agent",available:(q==null?void 0:q.update)===!0,busy:ue,status:(q==null?void 0:q.update)===!0?`Update: ${q.latest}`:(q==null?void 0:q.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>te("hermes")})})(),(hi=u==null?void 0:u.model_list)==null?void 0:hi.map(q=>x.jsx(Cs,{icon:rT,iconClass:"text-emerald-400",name:`Modell · ${q.role}`,available:!0,status:q.title,actionLabel:"Upgrade",onAction:()=>J(q.repo,q.role)},q.role))]})]}),x.jsxs("div",{className:"space-y-2.5",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),x.jsxs("div",{className:"space-y-1.5",children:[de.length===0&&x.jsx("div",{className:"rounded-lg border border-dashed border-border/50 p-4 text-center text-xs text-muted-foreground",children:"Dienste-Liste wird geladen …"}),de.map(q=>x.jsx(R3,{label:q.name,system:q.scope==="system",ok:q.ok,busy:_[q.unit],onRestart:()=>ne(q.unit),onLogs:()=>{v(q.unit),C("logs")}},q.unit))]})]}),x.jsxs("div",{className:"space-y-2.5",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),x.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[x.jsxs("div",{className:"flex-1 min-w-0",children:[x.jsx("div",{className:"text-xs text-foreground truncate",children:vt[0]?`Letztes: ${vt[0].snapshot}`:"Noch kein Backup"}),x.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[vt.length," Snapshots · Wiederherstellen: Chronik → Zeitmaschine"]})]}),x.jsxs("button",{onClick:Ae,disabled:Q,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[x.jsx(nT,{className:Re("h-3.5 w-3.5",Q&&"animate-pulse")})," Snapshot"]})]}),F&&x.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:F})]}),x.jsxs("div",{className:"space-y-2.5",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),x.jsxs("button",{onClick:we,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[x.jsx(ST,{className:"h-4.5 w-4.5"}),x.jsxs("div",{children:[x.jsx("div",{children:"Host-System neu starten"}),x.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),x.jsxs("div",{className:"space-y-3",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),x.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[f.filter(q=>q.state==="running"||q.state==="queued").length," Aktiv"]})]}),x.jsx("div",{className:"space-y-3",children:f.length===0?x.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):f.map(q=>{const Me=q.state==="running"||q.state==="queued";return x.jsxs("div",{className:Re("p-3 rounded-xl border transition-all duration-300",Me?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[x.jsxs("div",{className:"flex items-start justify-between gap-3",children:[x.jsxs("div",{className:"space-y-1",children:[x.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[Me&&x.jsxs("span",{className:"flex h-2 w-2 relative",children:[x.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),x.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),q.label]}),x.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[x.jsxs("span",{children:["ID: ",q.id]}),x.jsx("span",{children:"•"}),x.jsx("span",{className:Re(q.state==="done"&&"text-emerald-400",q.state==="failed"&&"text-red-400",q.state==="running"&&"text-primary",q.state==="queued"&&"text-amber-400",q.state==="canceled"&&"text-muted-foreground"),children:q.state})]})]}),Me&&x.jsx("button",{onClick:()=>lt(q.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),q.state==="running"&&x.jsxs("div",{className:"mt-3 space-y-1",children:[x.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:x.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${q.progress??0}%`}})}),x.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[x.jsxs("span",{children:[q.progress??0,"%"]}),q.done_bytes!=null&&q.total_bytes!=null&&x.jsxs("span",{children:[Dm(q.done_bytes)," / ",Dm(q.total_bytes),q.rate_bps!=null&&` (${Dm(q.rate_bps)}/s)`]}),q.eta_s!=null&&x.jsxs("span",{children:["ETA: ",q.eta_s,"s"]})]})]})]},q.id)})})]})]}),N==="logs"&&x.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("select",{value:m,onChange:q=>v(q.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:de.map(q=>x.jsxs("option",{value:q.unit,children:[q.name," (",q.scope==="system"?"systemd-root":"user",")"]},q.unit))}),x.jsxs("button",{onClick:()=>ne(m),disabled:_[m],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[x.jsx(qo,{className:Re("h-3.5 w-3.5",_[m]&&"animate-spin")}),"Restart"]})]}),x.jsx(B3,{service:m,text:b,loading:k,logStatus:P,onRefresh:()=>X(m),onOpenSettings:()=>C("settings")})]}),N==="settings"&&x.jsx(U3,{open:e,showAlert:i})]})]}),le&&x.jsx(W3,{detail:le,maintenanceJob:$e,onClose:()=>fe(null),onApply:ce}),s]})}let $v=[],Lv=[];const zv=new Set,UA=()=>zv.forEach(e=>e());function WA(e){return zv.add(e),()=>{zv.delete(e)}}function K3(e){$v=[...$v,e].slice(-40),UA()}function V3(e){Lv=[...Lv,e].slice(-40),UA()}const q3=()=>y.useSyncExternalStore(WA,()=>$v),G3=()=>y.useSyncExternalStore(WA,()=>Lv);function Y3(){const{data:e,dataUpdatedAt:t}=zf(),{data:r,dataUpdatedAt:n}=FA(),i=y.useRef(null);y.useEffect(()=>{var o,s,u,d;e&&K3({t:Date.now(),cpu:((o=e.cpu)==null?void 0:o.percent)??0,ram:((s=e.ram)==null?void 0:s.percent)??0,gpu:((u=e.gpu)==null?void 0:u.busy_percent)??null,disk:((d=e.disk)==null?void 0:d.percent)??null})},[t]),y.useEffect(()=>{if(!r)return;const o=Date.now(),s=r.prompt_tokens,u=r.completion_tokens;if(i.current){const d=Math.max((o-i.current.t)/1e3,.001);V3({t:o,prompt:Math.max(0,(s-i.current.p)/d),completion:Math.max(0,(u-i.current.c)/d)})}i.current={p:s,c:u,t:o}},[n])}function Q3(){var z,F,V,Q,B,ue;const{data:e,isError:t}=$A(),{data:r,isError:n}=Jg(),{data:i}=zA(),{data:o}=zf(),s=t||n,u=!!e&&!!r,d=G=>{var le;return(le=r==null?void 0:r.services.find(fe=>fe.unit===G))==null?void 0:le.ok},f=G=>!!(r!=null&&r.services.some(le=>le.unit===G)),h=e==null?void 0:e.engine_reachable,m=(z=e==null?void 0:e.brain)==null?void 0:z.ready,v=((F=e==null?void 0:e.brain)==null?void 0:F.model)||((V=i==null?void 0:i.models.find(G=>G.role==="hermes"))==null?void 0:V.name)||"",b=[];s&&b.push({id:"mc2",label:"Steuerpult (MC2)",icon:If,critical:!0,status:"down",detail:"Die Zentrale antwortet nicht — alle Anzeigen hier können veraltet sein. Läuft die Box? Deploy aktiv?"}),b.push((()=>{const G={id:"brain",label:"Lucys Hirn",icon:Wg,critical:!0};return u?h===!1?{...G,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:m===!1?{...G,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:v?{kind:"loadModel",model:v,label:"Hirn aufwecken"}:void 0}:{...G,status:"ok",detail:"Wach und ansprechbar."}:{...G,status:"loading",detail:"Wird geprüft …"}})()),b.push((()=>{const G={id:"vision",label:"Lucys Augen",icon:_v,critical:!1};if(!u||!i)return{...G,status:"loading",detail:"Wird geprüft …"};const le=i.models.find(de=>de.role==="vision");return le?(i.running??[]).includes(le.name)?{...G,status:"ok",detail:"Sieht gerade zu (geladen, solange Lucy sie nutzt)."}:{...G,status:"ok",detail:"Augen ruhen — sie laden von selbst, sobald Lucy startet oder ein Bild kommt.",repair:{kind:"loadModel",model:le.name,label:"Augen wecken"}}:{...G,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),b.push((()=>{const G={id:"memory",label:"Lucys Gedächtnis",icon:tT,critical:!0},le=d("mem0-service");return!u||le===void 0?{...G,status:"loading",detail:"Wird geprüft …"}:le?{...G,status:"ok",detail:"Merkt sich Neues und findet Altes wieder."}:{...G,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gedächtnis antwortet nicht.",repair:{kind:"restart",service:"mem0-service",label:"Gedächtnis neu starten"}}})()),b.push((()=>{const G={id:"gateway",label:"Verbindung (Gateway)",icon:Kg,critical:!0},le=e?e.gateway_reachable:d("mc2-gateway");if(!u||le===void 0)return{...G,status:"loading",detail:"Wird geprüft …"};const fe=f("mc2-gateway")?"mc2-gateway":"mission-control-2";return le?{...G,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...G,status:"down",detail:"Der Modell-Gateway antwortet nicht — Lucy und die IDEs erreichen kein Modell.",repair:{kind:"restart",service:fe,label:"Gateway neu starten"}}})()),b.push((()=>{const G={id:"steward",label:"Wächter (Steward)",icon:Mf,critical:!1};return u?f("mc2-steward")?d("mc2-steward")?{...G,status:"ok",detail:"Wacht über Warm-Set, Dienste und Gedächtnis."}:{...G,status:"warn",detail:"Der Wächter schläft — niemand meldet gerade Ausfälle oder wärmt Modelle nach.",repair:{kind:"restart",service:"mc2-steward",label:"Wächter neu starten"}}:{...G,status:"ok",detail:"Auf dieser Installation nicht eingerichtet."}:{...G,status:"loading",detail:"Wird geprüft …"}})()),b.push((()=>{const G={id:"agent",label:"Lucys Agent (Hermes)",icon:_f,critical:!0},le=d("hermes-gateway");return!u||le===void 0?{...G,status:"loading",detail:"Wird geprüft …"}:le?{...G,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...G,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),b.push((()=>{const G={id:"voice",label:"Lucys Stimme",icon:wT,critical:!1},le=d("voice-service");return!u||le===void 0?{...G,status:"loading",detail:"Wird geprüft …"}:le?{...G,status:"ok",detail:"Lucy kann hören und sprechen."}:{...G,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const S=((Q=o==null?void 0:o.ram)==null?void 0:Q.total)??0,k=((B=o==null?void 0:o.ram)==null?void 0:B.used)??0,E=((ue=o==null?void 0:o.ram)==null?void 0:ue.percent)??(S>0?Math.min(100,k/S*100):0),P=1024**3,j=S?E>=93?{status:"full",usedGb:k/P,totalGb:S/P,pct:E,text:"Speicher fast voll — Lucy könnte langsamer werden."}:E>=85?{status:"warn",usedGb:k/P,totalGb:S/P,pct:E,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:k/P,totalGb:S/P,pct:E,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},_=b.some(G=>G.status==="loading"),O=b.filter(G=>G.critical&&G.status==="down"),N=b.filter(G=>G.status==="warn"||!G.critical&&G.status==="down"),C=j.status==="full";return{verdict:_&&!O.length?"loading":O.length?"problem":N.length||C?"warn":"gut",checks:b,memory:j,problems:O,warns:N,unreachable:s}}const X3={ok:"bg-emerald-500",warn:"bg-amber-500",alert:"bg-red-500",muted:"bg-muted-foreground/40",loading:"bg-muted-foreground/40 animate-pulse"},Z3={ok:"hover:border-emerald-500/40",warn:"hover:border-amber-500/50",alert:"hover:border-red-500/50",muted:"hover:border-primary/40",loading:"hover:border-border/60"};function Mo({icon:e,title:t,value:r,unit:n,tone:i="muted",hint:o,onClick:s}){return x.jsxs("button",{onClick:s,className:Re("group relative flex flex-col items-start mc-card p-5 text-left cursor-pointer",Z3[i]),children:[x.jsxs("div",{className:"mb-4 flex w-full items-center justify-between",children:[x.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl border border-border/40 bg-background/30 text-foreground/80 transition-colors group-hover:text-primary",children:x.jsx(e,{className:"h-5 w-5"})}),x.jsx("span",{className:Re("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",X3[i]),title:o})]}),x.jsxs("div",{className:"flex items-baseline gap-1.5",children:[x.jsx("span",{className:"text-2xl font-bold tracking-tight text-foreground font-space tabular-nums",children:r}),n&&x.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:n})]}),x.jsxs("div",{className:"mt-1 flex w-full items-center justify-between",children:[x.jsx("span",{className:"text-sm font-semibold text-foreground/90",children:t}),x.jsx(Vo,{className:"h-4 w-4 text-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-primary"})]}),o&&x.jsx("span",{className:"mt-0.5 text-[11px] text-muted-foreground",children:o})]})}function J3(){var s;const{data:e=[]}=O3(),[t,r]=y.useState(!1),n=e.find(u=>u.source==="chef-gutachter");if(!n)return null;const i=new Date(n.ts*1e3).toLocaleString("de-DE",{weekday:"long",day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}),o=(s=n.text.split(` -`).find(u=>u.trim().startsWith("VERDIKT:")))==null?void 0:s.replace(/^\s*VERDIKT:\s*/,"");return x.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.05] p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[x.jsxs("button",{onClick:()=>r(u=>!u),className:"flex w-full items-center gap-3 text-left cursor-pointer",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-violet-500/30 bg-background/30 text-violet-300",children:x.jsx(kT,{className:"h-4.5 w-4.5"})}),x.jsxs("span",{className:"min-w-0 flex-1",children:[x.jsx("span",{className:"block text-sm font-bold text-foreground",children:"Morgenlage"}),x.jsx("span",{className:"block truncate text-xs text-muted-foreground",children:o||n.subject||"Nächtliches Gutachten über die autonome Arbeit"})]}),x.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60",children:i}),t?x.jsx(iT,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):x.jsx(Vo,{className:"h-4 w-4 shrink-0 text-muted-foreground"})]}),t&&x.jsxs("div",{className:"mt-3 border-t border-violet-500/15 pt-3",children:[n.subject&&x.jsx("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-violet-300/80",children:n.subject}),x.jsx("p",{className:"whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:n.text})]})]})}const vw={"":"einmalig",daily:"täglich",weekdays:"werktags",weekly:"wöchentlich"};function e5(){const{data:e=[],isLoading:t}=j3(),r=bu(),{showAlert:n,showConfirm:i,dialogElement:o}=Zg(),[s,u]=y.useState(!1),[d,f]=y.useState(""),[h,m]=y.useState(""),[v,b]=y.useState(""),[S,k]=y.useState(!1),E=()=>r.invalidateQueries({queryKey:De.reminders});async function P(){if(!(!d.trim()||!h)){k(!0);try{await Ie("/api/reminders",{method:"POST",body:JSON.stringify({text:d,when:h,repeat:v})}),f(""),m(""),b(""),u(!1),E()}catch(O){n("Anlegen fehlgeschlagen",String((O==null?void 0:O.message)||O))}finally{k(!1)}}}function j(O,N){i("Erinnerung löschen?",`„${N}" wird entfernt.`,async()=>{try{await Ie(`/api/reminders/${O}`,{method:"DELETE"}),E()}catch(C){n("Fehler",String((C==null?void 0:C.message)||C))}})}const _=[...e].sort((O,N)=>O.next_ts-N.next_ts);return x.jsxs("div",{className:"mc-card p-4",children:[x.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[x.jsxs("span",{className:"flex items-center gap-2 text-sm font-bold text-foreground",children:[x.jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 bg-background/30 text-amber-300",children:x.jsx(eT,{className:"h-4 w-4"})}),"Anstehendes"]}),x.jsxs("button",{onClick:()=>u(O=>!O),className:"flex h-8 items-center gap-1 rounded-lg border border-border/60 bg-background/30 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[s?x.jsx(wu,{className:"h-3.5 w-3.5"}):x.jsx(G1,{className:"h-3.5 w-3.5"})," ",s?"Abbrechen":"Neu"]})]}),s&&x.jsxs("div",{className:"mb-3 space-y-2 rounded-xl border border-border/50 bg-background/30 p-3",children:[x.jsx("input",{value:d,onChange:O=>f(O.target.value),placeholder:"Woran soll Lucy erinnern?","aria-label":"Erinnerungstext",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 px-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),x.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[x.jsx("input",{type:"datetime-local",value:h,onChange:O=>m(O.target.value),"aria-label":"Zeitpunkt",className:"h-9 rounded-lg border border-border/60 bg-card/45 px-2 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50 [color-scheme:dark]"}),x.jsx("select",{value:v,onChange:O=>b(O.target.value),"aria-label":"Wiederholung",className:"h-9 cursor-pointer rounded-lg border border-border/60 bg-card/45 px-2 text-xs font-semibold text-foreground outline-none",children:Object.entries(vw).map(([O,N])=>x.jsx("option",{value:O,className:"bg-popover",children:N},O))}),x.jsxs("button",{onClick:P,disabled:S||!d.trim()||!h,className:"ml-auto flex h-9 items-center gap-1.5 rounded-lg bg-primary px-3 text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50",children:[S?x.jsx(Nf,{className:"h-3.5 w-3.5 animate-spin"}):x.jsx(G1,{className:"h-3.5 w-3.5"})," Anlegen"]})]})]}),t?x.jsx("p",{className:"text-xs text-muted-foreground",children:"Wird geladen …"}):_.length===0?x.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine Erinnerungen. Lucy sagt dir hier (und per Stimme) Bescheid, wenn etwas ansteht."}):x.jsxs("div",{className:"space-y-1.5",children:[_.slice(0,6).map(O=>{const N=O.next_ts*1e3j(O.id,O.text),"aria-label":"Erinnerung löschen",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground opacity-0 transition-all hover:bg-red-500/5 hover:text-red-400 group-hover:opacity-100 cursor-pointer",children:x.jsx(_T,{className:"h-3.5 w-3.5"})})]},O.id)}),_.length>6&&x.jsxs("p",{className:"text-[10px] text-muted-foreground/60",children:["+",_.length-6," weitere"]})]}),o]})}function t5(){const{data:e,error:t}=zf(),r=q3();return{sys:e,hist:r,error:t}}var r5=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function ey(e){if(typeof e!="string")return!1;var t=r5;return t.includes(e)}var n5=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],i5=new Set(n5);function HA(e){return typeof e!="string"?!1:i5.has(e)}function KA(e){return typeof e=="string"&&e.startsWith("data-")}function ln(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(HA(r)||KA(r))&&(t[r]=e[r]);return t}function Ff(e){if(e==null)return null;if(y.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return ln(t)}return typeof e=="object"&&!Array.isArray(e)?ln(e):null}function Br(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(HA(r)||KA(r)||ey(r))&&(t[r]=e[r]);return t}function a5(e){return e==null?null:y.isValidElement(e)?Br(e.props):typeof e=="object"&&!Array.isArray(e)?Br(e):null}var o5=["children","width","height","viewBox","className","style","title","desc"];function Fv(){return Fv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,o=e.viewBox,s=e.className,u=e.style,d=e.title,f=e.desc,h=l5(e,o5),m=o||{width:n,height:i,x:0,y:0},v=Xe("recharts-surface",s);return y.createElement("svg",Fv({},Br(h),{className:v,width:n,height:i,style:u,viewBox:"".concat(m.x," ").concat(m.y," ").concat(m.width," ").concat(m.height),ref:t}),y.createElement("title",null,d),y.createElement("desc",null,f),r)}),u5=["children","className"];function Bv(){return Bv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=c5(e,u5),o=Xe("recharts-layer",n);return y.createElement("g",Bv({className:o},Br(i),{ref:t}),r)}),f5=y.createContext(null);function ft(e){return function(){return e}}const Uv=Math.PI,Wv=2*Uv,wa=1e-6,h5=Wv-wa;function qA(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return qA;const r=10**t;return function(n){this._+=n[0];for(let i=1,o=n.length;iwa)if(!(Math.abs(m*d-f*h)>wa)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let b=n-s,S=i-u,k=d*d+f*f,E=b*b+S*S,P=Math.sqrt(k),j=Math.sqrt(v),_=o*Math.tan((Uv-Math.acos((k+v-E)/(2*P*j)))/2),O=_/j,N=_/P;Math.abs(O-1)>wa&&this._append`L${t+O*h},${r+O*m}`,this._append`A${o},${o},0,0,${+(m*b>h*S)},${this._x1=t+N*d},${this._y1=r+N*f}`}}arc(t,r,n,i,o,s){if(t=+t,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),d=n*Math.sin(i),f=t+u,h=r+d,m=1^s,v=s?i-o:o-i;this._x1===null?this._append`M${f},${h}`:(Math.abs(this._x1-f)>wa||Math.abs(this._y1-h)>wa)&&this._append`L${f},${h}`,n&&(v<0&&(v=v%Wv+Wv),v>h5?this._append`A${n},${n},0,1,${m},${t-u},${r-d}A${n},${n},0,1,${m},${this._x1=f},${this._y1=h}`:v>wa&&this._append`A${n},${n},0,${+(v>=Uv)},${m},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function GA(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new m5(t)}function ty(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function YA(e){this._context=e}YA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Bf(e){return new YA(e)}function QA(e){return e[0]}function XA(e){return e[1]}function ZA(e,t){var r=ft(!0),n=null,i=Bf,o=null,s=GA(u);e=typeof e=="function"?e:e===void 0?QA:ft(e),t=typeof t=="function"?t:t===void 0?XA:ft(t);function u(d){var f,h=(d=ty(d)).length,m,v=!1,b;for(n==null&&(o=i(b=s())),f=0;f<=h;++f)!(f=b;--S)u.point(_[S],O[S]);u.lineEnd(),u.areaEnd()}P&&(_[v]=+e(E,v,m),O[v]=+t(E,v,m),u.point(n?+n(E,v,m):_[v],r?+r(E,v,m):O[v]))}if(j)return u=null,j+""||null}function h(){return ZA().defined(i).curve(s).context(o)}return f.x=function(m){return arguments.length?(e=typeof m=="function"?m:ft(+m),n=null,f):e},f.x0=function(m){return arguments.length?(e=typeof m=="function"?m:ft(+m),f):e},f.x1=function(m){return arguments.length?(n=m==null?null:typeof m=="function"?m:ft(+m),f):n},f.y=function(m){return arguments.length?(t=typeof m=="function"?m:ft(+m),r=null,f):t},f.y0=function(m){return arguments.length?(t=typeof m=="function"?m:ft(+m),f):t},f.y1=function(m){return arguments.length?(r=m==null?null:typeof m=="function"?m:ft(+m),f):r},f.lineX0=f.lineY0=function(){return h().x(e).y(t)},f.lineY1=function(){return h().x(e).y(r)},f.lineX1=function(){return h().x(n).y(t)},f.defined=function(m){return arguments.length?(i=typeof m=="function"?m:ft(!!m),f):i},f.curve=function(m){return arguments.length?(s=m,o!=null&&(u=s(o)),f):s},f.context=function(m){return arguments.length?(m==null?o=u=null:u=s(o=m),f):o},f}class JA{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function v5(e){return new JA(e,!0)}function g5(e){return new JA(e,!1)}function Md(){}function Td(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function e2(e){this._context=e}e2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Td(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Td(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function y5(e){return new e2(e)}function t2(e){this._context=e}t2.prototype={areaStart:Md,areaEnd:Md,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Td(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function x5(e){return new t2(e)}function r2(e){this._context=e}r2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Td(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function b5(e){return new r2(e)}function n2(e){this._context=e}n2.prototype={areaStart:Md,areaEnd:Md,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function w5(e){return new n2(e)}function gw(e){return e<0?-1:1}function yw(e,t,r){var n=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(n||i<0&&-0),s=(r-e._y1)/(i||n<0&&-0),u=(o*i+s*n)/(n+i);return(gw(o)+gw(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(u))||0}function xw(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Rm(e,t,r){var n=e._x0,i=e._y0,o=e._x1,s=e._y1,u=(o-n)/3;e._context.bezierCurveTo(n+u,i+u*t,o-u,s-u*r,o,s)}function Dd(e){this._context=e}Dd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Rm(this,this._t0,xw(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Rm(this,xw(this,r=yw(this,e,t)),r);break;default:Rm(this,this._t0,r=yw(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function i2(e){this._context=new a2(e)}(i2.prototype=Object.create(Dd.prototype)).point=function(e,t){Dd.prototype.point.call(this,t,e)};function a2(e){this._context=e}a2.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,o){this._context.bezierCurveTo(t,e,n,r,o,i)}};function k5(e){return new Dd(e)}function S5(e){return new i2(e)}function o2(e){this._context=e}o2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=bw(e),i=bw(t),o=0,s=1;s=0;--t)i[t]=(s[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function P5(e){return new Uf(e,.5)}function A5(e){return new Uf(e,0)}function O5(e){return new Uf(e,1)}function Ha(e,t){if((s=e.length)>1)for(var r=1,n,i,o=e[t[0]],s,u=o.length;r=0;)r[t]=t;return r}function C5(e,t){return e[t]}function j5(e){const t=[];return t.key=e,t}function _5(){var e=ft([]),t=Hv,r=Ha,n=C5;function i(o){var s=Array.from(e.apply(this,arguments),j5),u,d=s.length,f=-1,h;for(const m of o)for(u=0,++f;u0){for(var r,n,i=0,o=e[0].length,s;i0){for(var r=0,n=e[t[0]],i,o=n.length;r0)||!((o=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,o,s;n1&&arguments[1]!==void 0?arguments[1]:D5,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Lt(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var u=r[s-1];return typeof u=="string"?i+u+o:u!==void 0?i+Yi(u)+o:i+o},"")}var Lr=e=>e===0?0:e>0?1:-1,Cn=e=>typeof e=="number"&&e!=+e,Ka=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,be=e=>(typeof e=="number"||e instanceof Number)&&!Cn(e),jn=e=>be(e)||typeof e=="string",R5=0,Zs=e=>{var t=++R5;return"".concat(e||"").concat(t)},ta=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!be(t)&&typeof t!="string")return n;var o;if(Ka(t)){if(r==null)return n;var s=t.indexOf("%");o=r*parseFloat(t.slice(0,s))/100}else o=+t;return Cn(o)&&(o=n),i&&r!=null&&o>r&&(o=r),o},u2=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):Ja(n,t))===r)}var Ut=e=>e===null||typeof e>"u",iy=e=>Ut(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function vr(e){return e!=null}function Al(){}var d2=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,ay=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(y.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{ey(i)&&typeof r[i]=="function"&&(n[i]=(o=>r[i](r,o)))}),n},$5=(e,t,r)=>n=>(e(t,r,n),null),L5=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var o=e[i];ey(i)&&typeof o=="function"&&(n||(n={}),n[i]=$5(o,t,r))}),n};function ww(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function z5(e){for(var t=1;t(s[u]===void 0&&n[u]!==void 0&&(s[u]=n[u]),s),r);return o}function W5(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function oy(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const G5="[object RegExp]",h2="[object String]",p2="[object Number]",m2="[object Boolean]",v2="[object Arguments]",Y5="[object Symbol]",Q5="[object Date]",X5="[object Map]",Z5="[object Set]",J5="[object Array]",e4="[object ArrayBuffer]",t4="[object Object]",r4="[object DataView]",n4="[object Uint8Array]",i4="[object Uint8ClampedArray]",a4="[object Uint16Array]",o4="[object Uint32Array]",l4="[object Int8Array]",s4="[object Int16Array]",u4="[object Int32Array]",c4="[object Float32Array]",d4="[object Float64Array]",kw=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function f4(e){return typeof kw.Buffer<"u"&&kw.Buffer.isBuffer(e)}function h4(e,t){return Pa(e,void 0,e,new Map,t)}function Pa(e,t,r,n=new Map,i=void 0){const o=i==null?void 0:i(e,t,r,n);if(o!==void 0)return o;if(Vv(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const s=new Array(e.length);n.set(e,s);for(let u=0;u{}):qv(e,t,function n(i,o,s,u,d,f){const h=r(i,o,s,u,d,f);return h!==void 0?!!h:qv(i,o,n,f,!1)},new Map,!0)}function qv(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return v4(e,t,r,n);case"function":return Object.keys(t).length>0?qv(e,{...t},r,n,i):Ed(e,t);default:return g2(e)&&i?typeof t=="string"?t==="":!0:Ed(e,t)}}function v4(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return x2(e,t,r,n);if(t instanceof Map)return g4(e,t,r,n);if(t instanceof Set)return y4(e,t,r,n);const i=Object.keys(t);if(e==null||Vv(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let o=0;o{})}function x4(e){return e=m4(e),t=>b2(t,e)}function b4(e,t){return h4(e,(r,n,i,o)=>{if(typeof e=="object"){if(oy(e)==="[object Object]"&&typeof e.constructor!="function"){const s={};return o.set(e,s),tn(s,e,i,o),s}switch(Object.prototype.toString.call(e)){case p2:case h2:case m2:{const s=new e.constructor(e==null?void 0:e.valueOf());return tn(s,e),s}case v2:{const s={};return tn(s,e),s.length=e.length,s[Symbol.iterator]=e[Symbol.iterator],s}default:return}}})}function w4(e){return b4(e)}const k4=/^(?:0|[1-9]\d*)$/;function w2(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function k2(e){return e!=null&&typeof e!="function"&&O4(e.length)}function C4(e){return typeof e=="object"&&e!==null}function j4(e){return C4(e)&&k2(e)}function Sw(e,t=f2){return j4(e)?W5(Array.from(e),H5(A4(t),1)):[]}function _4(e,t,r){return t===!0?Sw(e,r):typeof t=="function"?Sw(e,t):e}var $m={exports:{}},Lm={},zm={exports:{}},Fm={};/** +`)},lR=0,jo=[];function sR(e){var t=y.useRef([]),r=y.useRef([0,0]),n=y.useRef(),i=y.useState(lR++)[0],o=y.useState(oA)[0],s=y.useRef(e);y.useEffect(function(){s.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var k=jD([e.lockRef.current],(e.shards||[]).map(dw),!0).filter(Boolean);return k.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),k.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var u=y.useCallback(function(k,E){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!s.current.allowPinchZoom;var P=td(k),j=r.current,_="deltaX"in k?k.deltaX:j[0]-P[0],O="deltaY"in k?k.deltaY:j[1]-P[1],N,C=k.target,R=Math.abs(_)>Math.abs(O)?"h":"v";if("touches"in k&&R==="h"&&C.type==="range")return!1;var z=window.getSelection(),F=z&&z.anchorNode,V=F?F===C||F.contains(C):!1;if(V)return!1;var Q=uw(R,C);if(!Q)return!0;if(Q?N=R:(N=R==="v"?"h":"v",Q=uw(R,C)),!Q)return!1;if(!n.current&&"changedTouches"in k&&(_||O)&&(n.current=N),!N)return!0;var B=n.current||N;return iR(B,E,k,B==="h"?_:O)},[]),d=y.useCallback(function(k){var E=k;if(!(!jo.length||jo[jo.length-1]!==o)){var P="deltaY"in E?cw(E):td(E),j=t.current.filter(function(N){return N.name===E.type&&(N.target===E.target||E.target===N.shadowParent)&&aR(N.delta,P)})[0];if(j&&j.should){E.cancelable&&E.preventDefault();return}if(!j){var _=(s.current.shards||[]).map(dw).filter(Boolean).filter(function(N){return N.contains(E.target)}),O=_.length>0?u(E,_[0]):!s.current.noIsolation;O&&E.cancelable&&E.preventDefault()}}},[]),f=y.useCallback(function(k,E,P,j){var _={name:k,delta:E,target:P,should:j,shadowParent:uR(P)};t.current.push(_),setTimeout(function(){t.current=t.current.filter(function(O){return O!==_})},1)},[]),h=y.useCallback(function(k){r.current=td(k),n.current=void 0},[]),m=y.useCallback(function(k){f(k.type,cw(k),k.target,u(k,e.lockRef.current))},[]),v=y.useCallback(function(k){f(k.type,td(k),k.target,u(k,e.lockRef.current))},[]);y.useEffect(function(){return jo.push(o),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,Co),document.addEventListener("touchmove",d,Co),document.addEventListener("touchstart",h,Co),function(){jo=jo.filter(function(k){return k!==o}),document.removeEventListener("wheel",d,Co),document.removeEventListener("touchmove",d,Co),document.removeEventListener("touchstart",h,Co)}},[]);var b=e.removeScrollBar,S=e.inert;return y.createElement(y.Fragment,null,S?y.createElement(o,{styles:oR(i)}):null,b?y.createElement(XD,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function uR(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const cR=LD(aA,sR);var cA=y.forwardRef(function(e,t){return y.createElement(Rf,En({},e,{ref:t,sideCar:cR}))});cA.classNames=Rf.classNames;var dR=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},_o=new WeakMap,rd=new WeakMap,nd={},Im=0,dA=function(e){return e&&(e.host||dA(e.parentNode))},fR=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=dA(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},hR=function(e,t,r,n){var i=fR(t,Array.isArray(e)?e:[e]);nd[r]||(nd[r]=new WeakMap);var o=nd[r],s=[],u=new Set,d=new Set(i),f=function(m){!m||u.has(m)||(u.add(m),f(m.parentNode))};i.forEach(f);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(u.has(v))h(v);else try{var b=v.getAttribute(n),S=b!==null&&b!=="false",k=(_o.get(v)||0)+1,E=(o.get(v)||0)+1;_o.set(v,k),o.set(v,E),s.push(v),k===1&&S&&rd.set(v,!0),E===1&&v.setAttribute(r,"true"),S||v.setAttribute(n,"true")}catch(P){console.error("aria-hidden: cannot operate on ",v,P)}})};return h(t),u.clear(),Im++,function(){s.forEach(function(m){var v=_o.get(m)-1,b=o.get(m)-1;_o.set(m,v),o.set(m,b),v||(rd.has(m)||m.removeAttribute(n),rd.delete(m)),b||m.removeAttribute(r)}),Im--,Im||(_o=new WeakMap,_o=new WeakMap,rd=new WeakMap,nd={})}},pR=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=dR(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live], script"))),hR(n,i,r,"aria-hidden")):function(){return null}},$f="Dialog",[fA]=UT($f),[mR,cn]=fA($f),hA=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:i,onOpenChange:o,modal:s=!0}=e,u=y.useRef(null),d=y.useRef(null),[f,h]=qT({prop:n,defaultProp:i??!1,onChange:o,caller:$f});return x.jsx(mR,{scope:t,triggerRef:u,contentRef:d,contentId:Jn(),titleId:Jn(),descriptionId:Jn(),open:f,onOpenChange:h,onOpenToggle:y.useCallback(()=>h(m=>!m),[h]),modal:s,children:r})};hA.displayName=$f;var pA="DialogTrigger",vR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=cn(pA,r),o=Za(t,i.triggerRef);return x.jsx(Wt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":Yg(i.open),...n,ref:o,onClick:Xi(e.onClick,i.onOpenToggle)})});vR.displayName=pA;var Gg="DialogPortal",[gR,mA]=fA(Gg,{forceMount:void 0}),vA=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:i}=e,o=cn(Gg,t);return x.jsx(gR,{scope:t,forceMount:r,children:y.Children.map(n,s=>x.jsx(Df,{present:r||o.open,children:x.jsx(rA,{asChild:!0,container:i,children:s})}))})};vA.displayName=Gg;var Id="DialogOverlay",gA=y.forwardRef((e,t)=>{const r=mA(Id,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=cn(Id,e.__scopeDialog);return o.modal?x.jsx(Df,{present:n||o.open,children:x.jsx(xR,{...i,ref:t})}):null});gA.displayName=Id;var yR=XP("DialogOverlay.RemoveScroll"),xR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=cn(Id,r),o=hD(),s=Za(t,o);return x.jsx(cA,{as:yR,allowPinchZoom:!0,shards:[i.contentRef],children:x.jsx(Wt.div,{"data-state":Yg(i.open),...n,ref:s,style:{pointerEvents:"auto",...n.style}})})}),pl="DialogContent",yA=y.forwardRef((e,t)=>{const r=mA(pl,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=cn(pl,e.__scopeDialog);return x.jsx(Df,{present:n||o.open,children:o.modal?x.jsx(bR,{...i,ref:t}):x.jsx(wR,{...i,ref:t})})});yA.displayName=pl;var bR=y.forwardRef((e,t)=>{const r=cn(pl,e.__scopeDialog),n=y.useRef(null),i=Za(t,r.contentRef,n);return y.useEffect(()=>{const o=n.current;if(o)return pR(o)},[]),x.jsx(xA,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:Xi(e.onCloseAutoFocus,o=>{var s;o.preventDefault(),(s=r.triggerRef.current)==null||s.focus()}),onPointerDownOutside:Xi(e.onPointerDownOutside,o=>{const s=o.detail.originalEvent,u=s.button===0&&s.ctrlKey===!0;(s.button===2||u)&&o.preventDefault()}),onFocusOutside:Xi(e.onFocusOutside,o=>o.preventDefault())})}),wR=y.forwardRef((e,t)=>{const r=cn(pl,e.__scopeDialog),n=y.useRef(!1),i=y.useRef(!1);return x.jsx(xA,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var s,u;(s=e.onCloseAutoFocus)==null||s.call(e,o),o.defaultPrevented||(n.current||(u=r.triggerRef.current)==null||u.focus(),o.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:o=>{var d,f;(d=e.onInteractOutside)==null||d.call(e,o),o.defaultPrevented||(n.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const s=o.target;((f=r.triggerRef.current)==null?void 0:f.contains(s))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),xA=y.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:o,...s}=e,u=cn(pl,r);return CD(),x.jsx(x.Fragment,{children:x.jsx(eA,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:o,children:x.jsx(ZP,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":Yg(u.open),...s,ref:t,deferPointerDownOutside:!0,onDismiss:()=>u.onOpenChange(!1)})})})}),bA="DialogTitle",kR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=cn(bA,r);return x.jsx(Wt.h2,{id:i.titleId,...n,ref:t})});kR.displayName=bA;var wA="DialogDescription",SR=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=cn(wA,r);return x.jsx(Wt.p,{id:i.descriptionId,...n,ref:t})});SR.displayName=wA;var kA="DialogClose",ER=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=cn(kA,r);return x.jsx(Wt.button,{type:"button",...n,ref:t,onClick:Xi(e.onClick,()=>i.onOpenChange(!1))})});ER.displayName=kA;function Yg(e){return e?"open":"closed"}var Es='[cmdk-group=""]',Mm='[cmdk-group-items=""]',PR='[cmdk-group-heading=""]',SA='[cmdk-item=""]',fw=`${SA}:not([aria-disabled="true"])`,Tv="cmdk-item-select",Bo="data-value",AR=(e,t,r)=>BT(e,t,r),EA=y.createContext(void 0),ku=()=>y.useContext(EA),PA=y.createContext(void 0),Qg=()=>y.useContext(PA),AA=y.createContext(void 0),OA=y.forwardRef((e,t)=>{let r=Uo(()=>{var T,Z;return{search:"",value:(Z=(T=e.value)!=null?T:e.defaultValue)!=null?Z:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=Uo(()=>new Set),i=Uo(()=>new Map),o=Uo(()=>new Map),s=Uo(()=>new Set),u=CA(e),{label:d,children:f,value:h,onValueChange:m,filter:v,shouldFilter:b,loop:S,disablePointerSelection:k=!1,vimBindings:E=!0,...P}=e,j=Jn(),_=Jn(),O=Jn(),N=y.useRef(null),C=$R();Wa(()=>{if(h!==void 0){let T=h.trim();r.current.value=T,R.emit()}},[h]),Wa(()=>{C(6,ue)},[]);let R=y.useMemo(()=>({subscribe:T=>(s.current.add(T),()=>s.current.delete(T)),snapshot:()=>r.current,setState:(T,Z,se)=>{var te,ce,ge,_e;if(!Object.is(r.current[T],Z)){if(r.current[T]=Z,T==="search")B(),V(),C(1,Q);else if(T==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let J=document.getElementById(O);J?J.focus():(te=document.getElementById(j))==null||te.focus()}if(C(7,()=>{var J;r.current.selectedItemId=(J=G())==null?void 0:J.id,R.emit()}),se||C(5,ue),((ce=u.current)==null?void 0:ce.value)!==void 0){let J=Z??"";(_e=(ge=u.current).onValueChange)==null||_e.call(ge,J);return}}R.emit()}},emit:()=>{s.current.forEach(T=>T())}}),[]),z=y.useMemo(()=>({value:(T,Z,se)=>{var te;Z!==((te=o.current.get(T))==null?void 0:te.value)&&(o.current.set(T,{value:Z,keywords:se}),r.current.filtered.items.set(T,F(Z,se)),C(2,()=>{V(),R.emit()}))},item:(T,Z)=>(n.current.add(T),Z&&(i.current.has(Z)?i.current.get(Z).add(T):i.current.set(Z,new Set([T]))),C(3,()=>{B(),V(),r.current.value||Q(),R.emit()}),()=>{o.current.delete(T),n.current.delete(T),r.current.filtered.items.delete(T);let se=G();C(4,()=>{B(),(se==null?void 0:se.getAttribute("id"))===T&&Q(),R.emit()})}),group:T=>(i.current.has(T)||i.current.set(T,new Set),()=>{o.current.delete(T),i.current.delete(T)}),filter:()=>u.current.shouldFilter,label:d||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:j,inputId:O,labelId:_,listInnerRef:N}),[]);function F(T,Z){var se,te;let ce=(te=(se=u.current)==null?void 0:se.filter)!=null?te:AR;return T?ce(T,r.current.search,Z):0}function V(){if(!r.current.search||u.current.shouldFilter===!1)return;let T=r.current.filtered.items,Z=[];r.current.filtered.groups.forEach(te=>{let ce=i.current.get(te),ge=0;ce.forEach(_e=>{let J=T.get(_e);ge=Math.max(J,ge)}),Z.push([te,ge])});let se=N.current;le().sort((te,ce)=>{var ge,_e;let J=te.getAttribute("id"),we=ce.getAttribute("id");return((ge=T.get(we))!=null?ge:0)-((_e=T.get(J))!=null?_e:0)}).forEach(te=>{let ce=te.closest(Mm);ce?ce.appendChild(te.parentElement===ce?te:te.closest(`${Mm} > *`)):se.appendChild(te.parentElement===se?te:te.closest(`${Mm} > *`))}),Z.sort((te,ce)=>ce[1]-te[1]).forEach(te=>{var ce;let ge=(ce=N.current)==null?void 0:ce.querySelector(`${Es}[${Bo}="${encodeURIComponent(te[0])}"]`);ge==null||ge.parentElement.appendChild(ge)})}function Q(){let T=le().find(se=>se.getAttribute("aria-disabled")!=="true"),Z=T==null?void 0:T.getAttribute(Bo);R.setState("value",Z||void 0)}function B(){var T,Z,se,te;if(!r.current.search||u.current.shouldFilter===!1){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let ce=0;for(let ge of n.current){let _e=(Z=(T=o.current.get(ge))==null?void 0:T.value)!=null?Z:"",J=(te=(se=o.current.get(ge))==null?void 0:se.keywords)!=null?te:[],we=F(_e,J);r.current.filtered.items.set(ge,we),we>0&&ce++}for(let[ge,_e]of i.current)for(let J of _e)if(r.current.filtered.items.get(J)>0){r.current.filtered.groups.add(ge);break}r.current.filtered.count=ce}function ue(){var T,Z,se;let te=G();te&&(((T=te.parentElement)==null?void 0:T.firstChild)===te&&((se=(Z=te.closest(Es))==null?void 0:Z.querySelector(PR))==null||se.scrollIntoView({block:"nearest"})),te.scrollIntoView({block:"nearest"}))}function G(){var T;return(T=N.current)==null?void 0:T.querySelector(`${SA}[aria-selected="true"]`)}function le(){var T;return Array.from(((T=N.current)==null?void 0:T.querySelectorAll(fw))||[])}function fe(T){let Z=le()[T];Z&&R.setState("value",Z.getAttribute(Bo))}function de(T){var Z;let se=G(),te=le(),ce=te.findIndex(_e=>_e===se),ge=te[ce+T];(Z=u.current)!=null&&Z.loop&&(ge=ce+T<0?te[te.length-1]:ce+T===te.length?te[0]:te[ce+T]),ge&&R.setState("value",ge.getAttribute(Bo))}function Y(T){let Z=G(),se=Z==null?void 0:Z.closest(Es),te;for(;se&&!te;)se=T>0?DR(se,Es):RR(se,Es),te=se==null?void 0:se.querySelector(fw);te?R.setState("value",te.getAttribute(Bo)):de(T)}let ae=()=>fe(le().length-1),X=T=>{T.preventDefault(),T.metaKey?ae():T.altKey?Y(1):de(1)},M=T=>{T.preventDefault(),T.metaKey?fe(0):T.altKey?Y(-1):de(-1)};return y.createElement(Wt.div,{ref:t,tabIndex:-1,...P,"cmdk-root":"",onKeyDown:T=>{var Z;(Z=P.onKeyDown)==null||Z.call(P,T);let se=T.nativeEvent.isComposing||T.keyCode===229;if(!(T.defaultPrevented||se))switch(T.key){case"n":case"j":{E&&T.ctrlKey&&X(T);break}case"ArrowDown":{X(T);break}case"p":case"k":{E&&T.ctrlKey&&M(T);break}case"ArrowUp":{M(T);break}case"Home":{T.preventDefault(),fe(0);break}case"End":{T.preventDefault(),ae();break}case"Enter":{T.preventDefault();let te=G();if(te){let ce=new Event(Tv);te.dispatchEvent(ce)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:z.inputId,id:z.labelId,style:zR},d),Lf(e,T=>y.createElement(PA.Provider,{value:R},y.createElement(EA.Provider,{value:z},T))))}),OR=y.forwardRef((e,t)=>{var r,n;let i=Jn(),o=y.useRef(null),s=y.useContext(AA),u=ku(),d=CA(e),f=(n=(r=d.current)==null?void 0:r.forceMount)!=null?n:s==null?void 0:s.forceMount;Wa(()=>{if(!f)return u.item(i,s==null?void 0:s.id)},[f]);let h=jA(i,o,[e.value,e.children,o],e.keywords),m=Qg(),v=ea(C=>C.value&&C.value===h.current),b=ea(C=>f||u.filter()===!1?!0:C.search?C.filtered.items.get(i)>0:!0);y.useEffect(()=>{let C=o.current;if(!(!C||e.disabled))return C.addEventListener(Tv,S),()=>C.removeEventListener(Tv,S)},[b,e.onSelect,e.disabled]);function S(){var C,R;k(),(R=(C=d.current).onSelect)==null||R.call(C,h.current)}function k(){m.setState("value",h.current,!0)}if(!b)return null;let{disabled:E,value:P,onSelect:j,forceMount:_,keywords:O,...N}=e;return y.createElement(Wt.div,{ref:hl(o,t),...N,id:i,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!v,"data-disabled":!!E,"data-selected":!!v,onPointerMove:E||u.getDisablePointerSelection()?void 0:k,onClick:E?void 0:S},e.children)}),CR=y.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:i,...o}=e,s=Jn(),u=y.useRef(null),d=y.useRef(null),f=Jn(),h=ku(),m=ea(b=>i||h.filter()===!1?!0:b.search?b.filtered.groups.has(s):!0);Wa(()=>h.group(s),[]),jA(s,u,[e.value,e.heading,d]);let v=y.useMemo(()=>({id:s,forceMount:i}),[i]);return y.createElement(Wt.div,{ref:hl(u,t),...o,"cmdk-group":"",role:"presentation",hidden:m?void 0:!0},r&&y.createElement("div",{ref:d,"cmdk-group-heading":"","aria-hidden":!0,id:f},r),Lf(e,b=>y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?f:void 0},y.createElement(AA.Provider,{value:v},b))))}),jR=y.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,i=y.useRef(null),o=ea(s=>!s.search);return!r&&!o?null:y.createElement(Wt.div,{ref:hl(i,t),...n,"cmdk-separator":"",role:"separator"})}),_R=y.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,i=e.value!=null,o=Qg(),s=ea(f=>f.search),u=ea(f=>f.selectedItemId),d=ku();return y.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),y.createElement(Wt.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":d.listId,"aria-labelledby":d.labelId,"aria-activedescendant":u,id:d.inputId,type:"text",value:i?e.value:s,onChange:f=>{i||o.setState("search",f.target.value),r==null||r(f.target.value)}})}),NR=y.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...i}=e,o=y.useRef(null),s=y.useRef(null),u=ea(f=>f.selectedItemId),d=ku();return y.useEffect(()=>{if(s.current&&o.current){let f=s.current,h=o.current,m,v=new ResizeObserver(()=>{m=requestAnimationFrame(()=>{let b=f.offsetHeight;h.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return v.observe(f),()=>{cancelAnimationFrame(m),v.unobserve(f)}}},[]),y.createElement(Wt.div,{ref:hl(o,t),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":u,"aria-label":n,id:d.listId},Lf(e,f=>y.createElement("div",{ref:hl(s,d.listInnerRef),"cmdk-list-sizer":""},f)))}),IR=y.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:i,contentClassName:o,container:s,...u}=e;return y.createElement(hA,{open:r,onOpenChange:n},y.createElement(vA,{container:s},y.createElement(gA,{"cmdk-overlay":"",className:i}),y.createElement(yA,{"aria-label":e.label,"cmdk-dialog":"",className:o},y.createElement(OA,{ref:t,...u}))))}),MR=y.forwardRef((e,t)=>ea(r=>r.filtered.count===0)?y.createElement(Wt.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),TR=y.forwardRef((e,t)=>{let{progress:r,children:n,label:i="Loading...",...o}=e;return y.createElement(Wt.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Lf(e,s=>y.createElement("div",{"aria-hidden":!0},s)))}),No=Object.assign(OA,{List:NR,Item:OR,Input:_R,Group:CR,Separator:jR,Dialog:IR,Empty:MR,Loading:TR});function DR(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}function RR(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}function CA(e){let t=y.useRef(e);return Wa(()=>{t.current=e}),t}var Wa=typeof window>"u"?y.useEffect:y.useLayoutEffect;function Uo(e){let t=y.useRef();return t.current===void 0&&(t.current=e()),t}function ea(e){let t=Qg(),r=()=>e(t.snapshot());return y.useSyncExternalStore(t.subscribe,r,r)}function jA(e,t,r,n=[]){let i=y.useRef(),o=ku();return Wa(()=>{var s;let u=(()=>{var f;for(let h of r){if(typeof h=="string")return h.trim();if(typeof h=="object"&&"current"in h)return h.current?(f=h.current.textContent)==null?void 0:f.trim():i.current}})(),d=n.map(f=>f.trim());o.value(e,u,d),(s=t.current)==null||s.setAttribute(Bo,u),i.current=u}),i}var $R=()=>{let[e,t]=y.useState(),r=Uo(()=>new Map);return Wa(()=>{r.current.forEach(n=>n()),r.current=new Map},[e]),(n,i)=>{r.current.set(n,i),t({})}};function LR(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Lf({asChild:e,children:t},r){return e&&y.isValidElement(t)?y.cloneElement(LR(t),{ref:t.ref},r(t.props.children)):r(t)}var zR={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function FR({onNavigate:e}){const[t,r]=y.useState(!1);return y.useEffect(()=>{const n=i=>{(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&(i.preventDefault(),r(o=>!o))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[]),x.jsx(No.Dialog,{open:t,onOpenChange:r,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>r(!1),children:x.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:n=>n.stopPropagation(),children:[x.jsx(No.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),x.jsxs(No.List,{className:"max-h-80 overflow-y-auto p-2",children:[x.jsx(No.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),x.jsx(No.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:Go.map(n=>x.jsxs(No.Item,{value:`${n.label} ${n.hint}`,onSelect:()=>{e(n.id),r(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[x.jsx(n.icon,{className:"h-4 w-4 text-primary"}),x.jsx("span",{children:n.label}),x.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:n.hint})]},n.id))})]})]})})}const _A="mc_expert_mode",Dv="mc-expert-mode-change",BR=()=>{try{return localStorage.getItem(_A)==="true"}catch{return!1}};function UR(e){return window.addEventListener(Dv,e),window.addEventListener("storage",e),()=>{window.removeEventListener(Dv,e),window.removeEventListener("storage",e)}}function hw(e){localStorage.setItem(_A,String(e)),window.dispatchEvent(new Event(Dv))}function WR(){return y.useSyncExternalStore(UR,BR,()=>!1)}function NA(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=VR(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:s=>{const u=s.split(Xg);return u[0]===""&&u.length!==1&&u.shift(),IA(u,t)||KR(s)},getConflictingClassGroupIds:(s,u)=>{const d=r[s]||[];return u&&n[s]?[...d,...n[s]]:d}}},IA=(e,t)=>{var s;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),i=n?IA(e.slice(1),n):void 0;if(i)return i;if(t.validators.length===0)return;const o=e.join(Xg);return(s=t.validators.find(({validator:u})=>u(o)))==null?void 0:s.classGroupId},pw=/^\[(.+)\]$/,KR=e=>{if(pw.test(e)){const t=pw.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},VR=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return GR(Object.entries(e.classGroups),r).forEach(([o,s])=>{Rv(s,n,o,t)}),n},Rv=(e,t,r,n)=>{e.forEach(i=>{if(typeof i=="string"){const o=i===""?t:mw(t,i);o.classGroupId=r;return}if(typeof i=="function"){if(qR(i)){Rv(i(n),t,r,n);return}t.validators.push({validator:i,classGroupId:r});return}Object.entries(i).forEach(([o,s])=>{Rv(s,mw(t,o),r,n)})})},mw=(e,t)=>{let r=e;return t.split(Xg).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},qR=e=>e.isThemeGetter,GR=(e,t)=>t?e.map(([r,n])=>{const i=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([s,u])=>[t+s,u])):o);return[r,i]}):e,YR=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const i=(o,s)=>{r.set(o,s),t++,t>e&&(t=0,n=r,r=new Map)};return{get(o){let s=r.get(o);if(s!==void 0)return s;if((s=n.get(o))!==void 0)return i(o,s),s},set(o,s){r.has(o)?r.set(o,s):i(o,s)}}},MA="!",QR=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,i=t[0],o=t.length,s=u=>{const d=[];let f=0,h=0,m;for(let E=0;Eh?m-h:void 0;return{modifiers:d,hasImportantModifier:b,baseClassName:S,maybePostfixModifierPosition:k}};return r?u=>r({className:u,parseClassName:s}):s},XR=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},ZR=e=>({cache:YR(e.cacheSize),parseClassName:QR(e),...HR(e)}),JR=/\s+/,e3=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=t,o=[],s=e.trim().split(JR);let u="";for(let d=s.length-1;d>=0;d-=1){const f=s[d],{modifiers:h,hasImportantModifier:m,baseClassName:v,maybePostfixModifierPosition:b}=r(f);let S=!!b,k=n(S?v.substring(0,b):v);if(!k){if(!S){u=f+(u.length>0?" "+u:u);continue}if(k=n(v),!k){u=f+(u.length>0?" "+u:u);continue}S=!1}const E=XR(h).join(":"),P=m?E+MA:E,j=P+k;if(o.includes(j))continue;o.push(j);const _=i(k,S);for(let O=0;O<_.length;++O){const N=_[O];o.push(P+N)}u=f+(u.length>0?" "+u:u)}return u};function t3(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;nm(h),e());return r=ZR(f),n=r.cache.get,i=r.cache.set,o=u,u(d)}function u(d){const f=n(d);if(f)return f;const h=e3(d,r);return i(d,h),h}return function(){return o(t3.apply(null,arguments))}}const tt=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},DA=/^\[(?:([a-z-]+):)?(.+)\]$/i,n3=/^\d+\/\d+$/,i3=new Set(["px","full","screen"]),a3=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,o3=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,l3=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,s3=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,u3=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Hn=e=>Qo(e)||i3.has(e)||n3.test(e),Mi=e=>Pl(e,"length",g3),Qo=e=>!!e&&!Number.isNaN(Number(e)),Tm=e=>Pl(e,"number",Qo),Ps=e=>!!e&&Number.isInteger(Number(e)),c3=e=>e.endsWith("%")&&Qo(e.slice(0,-1)),Te=e=>DA.test(e),Ti=e=>a3.test(e),d3=new Set(["length","size","percentage"]),f3=e=>Pl(e,d3,RA),h3=e=>Pl(e,"position",RA),p3=new Set(["image","url"]),m3=e=>Pl(e,p3,x3),v3=e=>Pl(e,"",y3),As=()=>!0,Pl=(e,t,r)=>{const n=DA.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},g3=e=>o3.test(e)&&!l3.test(e),RA=()=>!1,y3=e=>s3.test(e),x3=e=>u3.test(e),b3=()=>{const e=tt("colors"),t=tt("spacing"),r=tt("blur"),n=tt("brightness"),i=tt("borderColor"),o=tt("borderRadius"),s=tt("borderSpacing"),u=tt("borderWidth"),d=tt("contrast"),f=tt("grayscale"),h=tt("hueRotate"),m=tt("invert"),v=tt("gap"),b=tt("gradientColorStops"),S=tt("gradientColorStopPositions"),k=tt("inset"),E=tt("margin"),P=tt("opacity"),j=tt("padding"),_=tt("saturate"),O=tt("scale"),N=tt("sepia"),C=tt("skew"),R=tt("space"),z=tt("translate"),F=()=>["auto","contain","none"],V=()=>["auto","hidden","clip","visible","scroll"],Q=()=>["auto",Te,t],B=()=>[Te,t],ue=()=>["",Hn,Mi],G=()=>["auto",Qo,Te],le=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],fe=()=>["solid","dashed","dotted","double","none"],de=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Y=()=>["start","end","center","between","around","evenly","stretch"],ae=()=>["","0",Te],X=()=>["auto","avoid","all","avoid-page","page","left","right","column"],M=()=>[Qo,Te];return{cacheSize:500,separator:":",theme:{colors:[As],spacing:[Hn,Mi],blur:["none","",Ti,Te],brightness:M(),borderColor:[e],borderRadius:["none","","full",Ti,Te],borderSpacing:B(),borderWidth:ue(),contrast:M(),grayscale:ae(),hueRotate:M(),invert:ae(),gap:B(),gradientColorStops:[e],gradientColorStopPositions:[c3,Mi],inset:Q(),margin:Q(),opacity:M(),padding:B(),saturate:M(),scale:M(),sepia:ae(),skew:M(),space:B(),translate:B()},classGroups:{aspect:[{aspect:["auto","square","video",Te]}],container:["container"],columns:[{columns:[Ti]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...le(),Te]}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Ps,Te]}],basis:[{basis:Q()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Te]}],grow:[{grow:ae()}],shrink:[{shrink:ae()}],order:[{order:["first","last","none",Ps,Te]}],"grid-cols":[{"grid-cols":[As]}],"col-start-end":[{col:["auto",{span:["full",Ps,Te]},Te]}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":[As]}],"row-start-end":[{row:["auto",{span:[Ps,Te]},Te]}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Te]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Te]}],gap:[{gap:[v]}],"gap-x":[{"gap-x":[v]}],"gap-y":[{"gap-y":[v]}],"justify-content":[{justify:["normal",...Y()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Y(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Y(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[j]}],px:[{px:[j]}],py:[{py:[j]}],ps:[{ps:[j]}],pe:[{pe:[j]}],pt:[{pt:[j]}],pr:[{pr:[j]}],pb:[{pb:[j]}],pl:[{pl:[j]}],m:[{m:[E]}],mx:[{mx:[E]}],my:[{my:[E]}],ms:[{ms:[E]}],me:[{me:[E]}],mt:[{mt:[E]}],mr:[{mr:[E]}],mb:[{mb:[E]}],ml:[{ml:[E]}],"space-x":[{"space-x":[R]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[R]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Te,t]}],"min-w":[{"min-w":[Te,t,"min","max","fit"]}],"max-w":[{"max-w":[Te,t,"none","full","min","max","fit","prose",{screen:[Ti]},Ti]}],h:[{h:[Te,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Te,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Te,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Te,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Ti,Mi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Tm]}],"font-family":[{font:[As]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Te]}],"line-clamp":[{"line-clamp":["none",Qo,Tm]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Hn,Te]}],"list-image":[{"list-image":["none",Te]}],"list-style-type":[{list:["none","disc","decimal",Te]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[P]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[P]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Hn,Mi]}],"underline-offset":[{"underline-offset":["auto",Hn,Te]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Te]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Te]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[P]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...le(),h3]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",f3]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},m3]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[S]}],"gradient-via-pos":[{via:[S]}],"gradient-to-pos":[{to:[S]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[u]}],"border-w-x":[{"border-x":[u]}],"border-w-y":[{"border-y":[u]}],"border-w-s":[{"border-s":[u]}],"border-w-e":[{"border-e":[u]}],"border-w-t":[{"border-t":[u]}],"border-w-r":[{"border-r":[u]}],"border-w-b":[{"border-b":[u]}],"border-w-l":[{"border-l":[u]}],"border-opacity":[{"border-opacity":[P]}],"border-style":[{border:[...fe(),"hidden"]}],"divide-x":[{"divide-x":[u]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[u]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[P]}],"divide-style":[{divide:fe()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...fe()]}],"outline-offset":[{"outline-offset":[Hn,Te]}],"outline-w":[{outline:[Hn,Mi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[P]}],"ring-offset-w":[{"ring-offset":[Hn,Mi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Ti,v3]}],"shadow-color":[{shadow:[As]}],opacity:[{opacity:[P]}],"mix-blend":[{"mix-blend":[...de(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":de()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[d]}],"drop-shadow":[{"drop-shadow":["","none",Ti,Te]}],grayscale:[{grayscale:[f]}],"hue-rotate":[{"hue-rotate":[h]}],invert:[{invert:[m]}],saturate:[{saturate:[_]}],sepia:[{sepia:[N]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[d]}],"backdrop-grayscale":[{"backdrop-grayscale":[f]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[h]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[P]}],"backdrop-saturate":[{"backdrop-saturate":[_]}],"backdrop-sepia":[{"backdrop-sepia":[N]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Te]}],duration:[{duration:M()}],ease:[{ease:["linear","in","out","in-out",Te]}],delay:[{delay:M()}],animate:[{animate:["none","spin","ping","pulse","bounce",Te]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[O]}],"scale-x":[{"scale-x":[O]}],"scale-y":[{"scale-y":[O]}],rotate:[{rotate:[Ps,Te]}],"translate-x":[{"translate-x":[z]}],"translate-y":[{"translate-y":[z]}],"skew-x":[{"skew-x":[C]}],"skew-y":[{"skew-y":[C]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Te]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Te]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Te]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Hn,Mi,Tm]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},w3=r3(b3);function Re(...e){return w3(Xe(e))}function GQ(e){return e?e.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function k3(){const e=WR();return x.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[x.jsxs("button",{onClick:()=>hw(!1),"aria-pressed":!e,className:Re("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[x.jsx(YP,{className:"h-3.5 w-3.5"})," Einfach"]}),x.jsxs("button",{onClick:()=>hw(!0),"aria-pressed":e,className:Re("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[x.jsx(CT,{className:"h-3.5 w-3.5"})," Experte"]})]})}async function Ie(e,t){var d;const r={"Content-Type":"application/json",...t==null?void 0:t.headers},n=((d=t==null?void 0:t.method)==null?void 0:d.toUpperCase())||"GET",i=n==="GET"?null:localStorage.getItem("mc_sudo_password"),o=n==="GET"?null:localStorage.getItem("mc_hf_token");i&&(r["X-Sudo-Password"]=i);let s=t==null?void 0:t.body;if(n==="POST"){if(typeof s=="string")try{const f=JSON.parse(s);let h=!1;i&&!("sudo_password"in f)&&(f.sudo_password=i,h=!0),o&&!("hf_token"in f)&&(f.hf_token=o,h=!0),h&&(s=JSON.stringify(f))}catch{}else if(!s){const f={};i&&(f.sudo_password=i),o&&(f.hf_token=o),Object.keys(f).length>0&&(s=JSON.stringify(f))}}const u=await fetch(e,{...t,headers:r,body:s});if(!u.ok)throw new Error(`${u.status} ${u.statusText}`);return u.json()}const YQ=(e,t,r=!1,n=!0)=>Ie("/api/groups",{method:"PUT",body:JSON.stringify({group:e,members:t,swap:r,persist:n})}),QQ=e=>Ie("/api/routing/policy",{method:"PUT",body:JSON.stringify(e)});function S3({type:e,title:t,message:r,defaultValue:n,autoValue:i,autoLabel:o,onConfirm:s,onCancel:u}){const d=y.useRef(null);return x.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":t,children:x.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[x.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:t}),x.jsx("button",{onClick:u||(()=>s()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:x.jsx(wu,{className:"h-4 w-4","aria-hidden":"true"})})]}),x.jsx("p",{className:"max-h-72 overflow-y-auto whitespace-pre-line text-xs text-muted-foreground leading-relaxed scrollbar-thin",children:r}),e==="prompt"&&x.jsxs("div",{className:"flex gap-2",children:[x.jsx("input",{ref:d,type:"text",defaultValue:n,"aria-label":t,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:f=>{var h;f.key==="Enter"&&s((h=d.current)==null?void 0:h.value)}}),i!==void 0&&x.jsx("button",{type:"button",onClick:()=>{d.current&&(d.current.value=i)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:o||"Auto"})]}),x.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(e==="confirm"||e==="prompt")&&x.jsx("button",{onClick:u,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),x.jsx("button",{onClick:()=>{var h;const f=e==="prompt"?(h=d.current)==null?void 0:h.value:void 0;s(f)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:e==="confirm"?"Ja, fortfahren":e==="prompt"?"Übernehmen":"OK"})]})]})})}function Zg(){const[e,t]=y.useState(null),r=y.useCallback(()=>t(null),[]),n=y.useCallback((u,d,f)=>{t({type:"alert",title:u,message:d,onConfirm:()=>{t(null),f==null||f()}})},[]),i=y.useCallback((u,d,f,h)=>{t({type:"confirm",title:u,message:d,onConfirm:()=>{t(null),f()},onCancel:()=>{t(null),h==null||h()}})},[]),o=y.useCallback((u,d,f,h,m,v)=>{t({type:"prompt",title:u,message:d,defaultValue:f,autoValue:v==null?void 0:v.autoValue,autoLabel:v==null?void 0:v.autoLabel,onConfirm:b=>{t(null),h(b)},onCancel:()=>{t(null),m==null||m()}})},[]),s=e?x.jsx(S3,{...e}):null;return{showAlert:n,showConfirm:i,showPrompt:o,close:r,dialogElement:s}}let Sd=!1;const E3=()=>Sd;function P3(){const e=bu();y.useEffect(()=>{const t=new EventSource("/api/events");return t.onopen=()=>{Sd=!0},t.onerror=()=>{Sd=!1},t.addEventListener("invalidate",r=>{var n;try{const i=((n=JSON.parse(r.data))==null?void 0:n.keys)??[];for(const o of i)e.invalidateQueries({queryKey:[o]})}catch{}}),()=>{Sd=!1,t.close()}},[e])}const De={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:e=>["drafts",e??""],connect:e=>["connect",e??""],connectHealth:["connect-health"],memory:(e,t)=>["memory",e??"",t??""],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"],auftragsbuch:["auftragsbuch"],ideen:["ideen"],chronik:["chronik"],governor:["governor"],eigenleben:["eigenleben"],wissen:["wissen"],zeitmaschine:["zeitmaschine"],reminders:["reminders"]},Ht={graph:3e3,schnell:8e3,normal:1e4,gemuetlich:3e4,traege:6e4},Su=e=>()=>E3()?e*5:e,A3=(e=Ht.schnell)=>Ge({queryKey:De.auftragsbuch,queryFn:()=>Ie("/api/auftragsbuch"),refetchInterval:Su(e)}),O3=(e=Ht.gemuetlich)=>Ge({queryKey:De.ideen,queryFn:()=>Ie("/api/ideen"),refetchInterval:Su(e)}),XQ=(e,t=!1)=>Ge({queryKey:["ideen-log",e],queryFn:()=>Ie(`/api/ideen/${e}/log`),enabled:t,refetchInterval:4e3,staleTime:0}),C3=(e=150,t=Ht.gemuetlich)=>Ge({queryKey:[...De.chronik,e],queryFn:()=>Ie(`/api/chronik?limit=${e}`),refetchInterval:Su(t),select:r=>r.items??[]}),ZQ=()=>Ge({queryKey:De.wissen,queryFn:()=>Ie("/api/wissen")}),JQ=(e=Ht.traege)=>Ge({queryKey:De.eigenleben,queryFn:()=>Ie("/api/eigenleben"),refetchInterval:e}),j3=(e=Ht.traege,t=!0)=>Ge({queryKey:De.zeitmaschine,queryFn:()=>Ie("/api/zeitmaschine"),refetchInterval:e,enabled:t}),_3=(e=Ht.traege)=>Ge({queryKey:De.reminders,queryFn:()=>Ie("/api/reminders"),refetchInterval:Su(e),select:t=>t.items??[]}),N3=(e=12,t=Ht.schnell)=>Ge({queryKey:De.voiceTrace,queryFn:()=>Ie(`/api/voice/trace?limit=${e}`),refetchInterval:t,select:r=>r.turns??[]}),I3=(e=Ht.normal)=>Ge({queryKey:De.governor,queryFn:()=>Ie("/api/governor"),refetchInterval:e,retry:!1}),eX=(e=!0)=>Ge({queryKey:De.memoryGraph,queryFn:()=>Ie("/api/memory/graph"),enabled:e}),$A=()=>Ge({queryKey:De.health,queryFn:()=>Ie("/api/health"),refetchInterval:Ht.normal}),zf=(e=Ht.graph)=>Ge({queryKey:De.systemStatus,queryFn:()=>Ie("/api/system/status"),refetchInterval:e}),LA=(e,t=!0)=>Ge({queryKey:["metrics-history",e],queryFn:()=>Ie(`/api/system/history?minutes=${e}`),enabled:t,refetchInterval:6e4}),Jg=(e=Ht.normal)=>Ge({queryKey:De.services,queryFn:()=>Ie("/api/system/services"),refetchInterval:e}),zA=(e=Ht.schnell)=>Ge({queryKey:De.models,queryFn:()=>Ie("/api/models"),refetchInterval:Su(e)}),tX=(e=Ht.normal)=>Ge({queryKey:De.groups,queryFn:()=>Ie("/api/groups"),refetchInterval:e}),rX=()=>Ge({queryKey:De.routingPolicy,queryFn:()=>Ie("/api/routing/policy")}),M3=(e=3e3,t=!0)=>Ge({queryKey:De.jobs,queryFn:()=>Ie("/api/jobs"),refetchInterval:e,enabled:t,select:r=>r.jobs??[]}),FA=(e=Ht.graph)=>Ge({queryKey:De.tokenStats,queryFn:()=>Ie("/api/system/token-stats"),refetchInterval:e}),T3=(e=Ht.normal)=>Ge({queryKey:De.agentStatus,queryFn:()=>Ie("/api/agent/status"),refetchInterval:e}),nX=(e=Ht.traege)=>Ge({queryKey:De.hermesBrain,queryFn:()=>Ie("/api/agent/brain"),refetchInterval:e}),BA=(e=Ht.traege)=>Ge({queryKey:De.updates,queryFn:()=>Ie("/api/maintenance/updates"),refetchInterval:e}),iX=()=>Ge({queryKey:De.discover,queryFn:()=>Ie("/api/discover")}),aX=e=>Ge({queryKey:De.drafts(e),queryFn:()=>Ie(`/api/models/drafts?target=${encodeURIComponent(e??"")}`),enabled:!!e}),oX=e=>Ge({queryKey:De.connect(e),queryFn:()=>Ie(e?`/api/connect?${e}`:"/api/connect")}),D3=()=>Ge({queryKey:De.connectHealth,queryFn:()=>Ie("/api/connect/health"),refetchInterval:15e3}),R3=e=>Ge({queryKey:De.memory(e==null?void 0:e.q,e==null?void 0:e.category),queryFn:()=>{const t=new URLSearchParams;return e!=null&&e.q&&t.set("q",e.q),e!=null&&e.category&&t.set("category",e.category),Ie(`/api/memory?${t}`)},select:t=>e!=null&&e.limit?t.slice(0,e.limit):t});function Os(e,...t){for(const r of t)e.invalidateQueries({queryKey:r})}function Io(e){return(e/1024**3).toFixed(1)}function Dm(e){return e?e>1024**3?`${(e/1024**3).toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`:""}function lX(e){if(!e)return"—";const t=e/1024**3;return t>=1?`${t.toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`}function sX(e){if(!e)return"";const t=Math.floor(e/60);return t>0?`${t} min`:`${e} s`}function uX(e){return e?`${Math.round(e/1024)}k`:"—"}function cX(e){return e?new Date(e*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"—"}function Cs({icon:e,iconClass:t,name:r,status:n,available:i,busy:o,actionLabel:s,onAction:u}){return x.jsxs("div",{className:Re("flex items-center gap-3 rounded-lg border px-3 py-2",i?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[x.jsx(e,{className:Re("h-4 w-4 shrink-0",t)}),x.jsxs("div",{className:"flex-1 min-w-0",children:[x.jsx("div",{className:"text-xs text-foreground truncate",children:r}),x.jsx("div",{className:Re("text-[10px] truncate",i?"text-amber-400/90":"text-muted-foreground"),children:n})]}),x.jsx("button",{onClick:u,disabled:!i||o,className:Re("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",i?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:o?"…":s})]})}function $3({label:e,ok:t,system:r,busy:n,onRestart:i,onLogs:o}){return x.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[x.jsx("span",{className:Re("w-1.5 h-1.5 rounded-full shrink-0",t===!0?"bg-emerald-500":t===!1?"bg-red-500":"bg-muted-foreground/40")}),x.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[e,r&&x.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),x.jsx("button",{onClick:i,disabled:n,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:x.jsx(qo,{className:Re("h-3.5 w-3.5",n&&"animate-spin")})}),x.jsx("button",{onClick:o,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:x.jsx(dT,{className:"h-3.5 w-3.5"})})]})}const L3=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,z3=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function F3(e){return L3.test(e)?"error":z3.test(e)?"warn":"info"}const B3={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function U3({service:e,text:t,loading:r,logStatus:n,onRefresh:i,onOpenSettings:o}){const[s,u]=y.useState(!1),[d,f]=y.useState(""),h=y.useRef(null),m=y.useMemo(()=>t?t.split(` +`).map(E=>({t:E,level:F3(E)})):[],[t]),v=y.useMemo(()=>m.filter(E=>E.level!=="info").length,[m]),b=d.trim().toLowerCase(),S=m.filter(E=>(!s||E.level!=="info")&&(!b||E.t.toLowerCase().includes(b))),k=n==="password_required"||n==="incorrect_password";return x.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[x.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[x.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[x.jsx(_T,{className:"h-3 w-3 text-primary"}),x.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",e]}),x.jsxs("div",{className:"flex items-center gap-1.5",children:[x.jsxs("div",{className:"relative",children:[x.jsx(AT,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),x.jsx("input",{value:d,onChange:E=>f(E.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),x.jsxs("button",{onClick:()=>u(E=>!E),title:"Nur Fehler und Warnungen zeigen",className:Re("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",s?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[x.jsx(Ys,{className:"h-3 w-3"}),"Nur Probleme",v>0?` (${v})`:""]}),x.jsx("button",{onClick:i,disabled:r,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:x.jsx(qo,{className:Re("h-3 w-3",r&&"animate-spin")})})]})]}),x.jsx("div",{ref:h,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:k?x.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[x.jsx(Ys,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),x.jsx("div",{className:"text-xs font-semibold text-amber-300",children:n==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),x.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",e," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),x.jsx("button",{onClick:o,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):r&&!t?x.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):m.length===0?x.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):S.length===0?x.jsx("span",{className:"text-muted-foreground",children:s?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):S.map((E,P)=>x.jsx("div",{className:Re("whitespace-pre-wrap",B3[E.level]),children:E.t||" "},P))})]})}function W3({open:e,showAlert:t}){const[r,n]=y.useState(""),[i,o]=y.useState(""),[s,u]=y.useState(!1),[d,f]=y.useState(!1);return y.useEffect(()=>{e&&(n(localStorage.getItem("mc_sudo_password")||""),o(localStorage.getItem("mc_hf_token")||""))},[e]),x.jsxs("div",{className:"space-y-6",children:[x.jsxs("div",{className:"space-y-2",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),x.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),x.jsxs("div",{className:"space-y-2",children:[x.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[x.jsx(Vg,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),x.jsxs("div",{className:"relative",children:[x.jsx("input",{type:s?"text":"password",value:r,onChange:h=>n(h.target.value),"aria-label":"Host Sudo-Passwort",name:"sudo-password",autoComplete:"off",spellCheck:!1,placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),x.jsx("button",{type:"button",onClick:()=>u(!s),"aria-label":s?"Passwort verbergen":"Passwort anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:s?x.jsx(K1,{className:"h-4 w-4","aria-hidden":"true"}):x.jsx(_v,{className:"h-4 w-4","aria-hidden":"true"})})]}),x.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),x.jsxs("div",{className:"space-y-2",children:[x.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[x.jsx(gT,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),x.jsxs("div",{className:"relative",children:[x.jsx("input",{type:d?"text":"password",value:i,onChange:h=>o(h.target.value),"aria-label":"HuggingFace API Token",name:"hf-token",autoComplete:"off",spellCheck:!1,placeholder:"hf_…",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),x.jsx("button",{type:"button",onClick:()=>f(!d),"aria-label":d?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:d?x.jsx(K1,{className:"h-4 w-4","aria-hidden":"true"}):x.jsx(_v,{className:"h-4 w-4","aria-hidden":"true"})})]}),x.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),x.jsxs("div",{className:"flex gap-3 pt-2",children:[x.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",r),localStorage.setItem("mc_hf_token",i),t("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),x.jsx("button",{onClick:()=>{n(""),o(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),t("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})}function H3({detail:e,maintenanceJob:t,onClose:r,onApply:n}){var d,f;const i=e.data,o={os:{icon:Vg,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:If,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:GP,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:_f,cls:"text-amber-400",title:"Hermes-Agent"}}[e.kind],s=o.icon,u=i?e.kind==="os"?(i.count??0)===0:e.kind==="hermes"?(i.behind??0)===0:i.installed_build!=null&&i.latest_build!=null&&i.latest_build<=i.installed_build:!0;return x.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[x.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:r}),x.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[x.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(s,{className:Re("h-4.5 w-4.5",o.cls)}),x.jsx("h3",{className:"text-sm font-semibold",children:o.title})]}),x.jsx("button",{onClick:r,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:x.jsx(wu,{className:"h-4 w-4"})})]}),x.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:e.loading?x.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[x.jsx(qo,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):i!=null&&i.error?x.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:i.error}):x.jsxs(x.Fragment,{children:[(i==null?void 0:i.action_needed)!=null&&x.jsxs("div",{className:Re("flex items-start gap-2 rounded-lg border p-3",i.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[i.action_needed?x.jsx(Ys,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):x.jsx(oT,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),x.jsxs("div",{className:"min-w-0",children:[x.jsxs("div",{className:Re("text-xs font-semibold",i.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",i.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),i.action_needed&&i.action_text&&x.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:i.action_text})]})]}),(i==null?void 0:i.summary)&&x.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[x.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),x.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:i.summary})]}),e.kind==="os"?x.jsxs(x.Fragment,{children:[((i==null?void 0:i.count)??0)===0?x.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"text-muted-foreground",children:[i.count," Paket(e) werden aktualisiert:"]}),x.jsx("div",{className:"space-y-1",children:i.packages.map(h=>x.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[x.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[x.jsx(q1,{className:"h-3 w-3 text-cyan-400 shrink-0"}),h.name]}),x.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[x.jsx("span",{children:h.current}),x.jsx(H1,{className:"h-3 w-3"}),x.jsx("span",{className:"text-emerald-400",children:h.candidate})]})]},h.name))})]}),(((d=i==null?void 0:i.held_back)==null?void 0:d.length)??0)>0&&x.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[x.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[x.jsx(lT,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),x.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),x.jsx("div",{className:"space-y-1",children:i.held_back.map(h=>x.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[x.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[x.jsx(q1,{className:"h-3 w-3 text-muted-foreground shrink-0"}),h.name]}),x.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:h.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},h.name))})]})]}):e.kind==="engine"||e.kind==="swap"?x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[x.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(i==null?void 0:i.installed_build)??"?"]}),x.jsx(H1,{className:"h-3.5 w-3.5 text-muted-foreground"}),x.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(i==null?void 0:i.latest_build)??"?"]})]}),((i==null?void 0:i.name)||(i==null?void 0:i.latest_tag))&&x.jsxs("div",{className:"text-muted-foreground",children:["Release: ",x.jsx("span",{className:"text-foreground",children:i==null?void 0:i.name}),i!=null&&i.latest_tag?` (${i.latest_tag})`:""]}),(i==null?void 0:i.url)&&x.jsxs("a",{href:i.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",x.jsx(cT,{className:"h-3 w-3"})]}),(i==null?void 0:i.body)&&x.jsxs("details",{className:"group",children:[x.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),x.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:i.body})]})]}):(((f=i==null?void 0:i.commits)==null?void 0:f.length)??0)===0?x.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"text-muted-foreground",children:[i.behind," neue Commit(s) auf ",x.jsxs("span",{className:"font-mono text-foreground",children:["origin/",i.branch]}),":"]}),x.jsx("div",{className:"space-y-1",children:i.commits.map(h=>x.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[x.jsx(hT,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),x.jsxs("div",{className:"min-w-0",children:[x.jsx("div",{className:"text-[11px] truncate",children:h.subject}),x.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[h.hash," · ",h.when]})]})]},h.hash))})]}),e.kind!=="os"&&!u&&x.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[x.jsx(OT,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),x.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",e.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),x.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[x.jsx("button",{onClick:r,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),x.jsx("button",{onClick:n,disabled:e.loading||u||!!t,title:t?`Update läuft bereits: ${t.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:t?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function K3({open:e,onClose:t,defaultTab:r="maintenance"}){var lr,hi;const n=bu(),{showAlert:i,showConfirm:o,dialogElement:s}=Zg(),{data:u}=BA(),{data:d}=Jg(),f=M3(3e3,e).data??[],{data:h}=j3(void 0,e),[m,v]=y.useState("llama-swap"),[b,S]=y.useState(""),[k,E]=y.useState(!1),[P,j]=y.useState(null),[_,O]=y.useState({}),[N,C]=y.useState("maintenance"),[R,z]=y.useState(!1),[F,V]=y.useState(""),[Q,B]=y.useState(!1),[ue,G]=y.useState(!1),[le,fe]=y.useState(null),de=(d==null?void 0:d.services)??[],Y=()=>Os(n,De.jobs);function ae(q){return q?new Date(q*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}y.useEffect(()=>{e&&r&&C(r)},[e,r]),y.useEffect(()=>{e&&Os(n,De.updates,De.services,De.jobs,De.zeitmaschine)},[e]);function X(q){E(!0),j(null),Ie(`/api/maintenance/logs?service=${q}&lines=150`).then(Me=>{Me.ok?S(Me.text):(S(`Fehler beim Laden der Logs: ${Me.err||"Unbekannter Fehler"}`),(Me.status==="incorrect_password"||Me.status==="password_required")&&j(Me.status))}).catch(Me=>S(`Fehler: ${Me.message}`)).finally(()=>E(!1))}y.useEffect(()=>{!e||N!=="logs"||X(m)},[e,N,m]);function M(q){return(q==null?void 0:q.status)==="busy"?(i("Update läuft bereits",`Es läuft gerade „${q.running}". Bitte warte, bis es fertig ist.`),Y(),!0):!1}function T(q){return(q==null?void 0:q.status)==="password_required"||(q==null?void 0:q.status)==="incorrect_password"?(i("Box-Passwort nötig",(q.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):q&&q.ok===!1?(i("Update fehlgeschlagen",q.err||"Unbekannter Fehler."),!0):!1}async function Z(q){const Me={os:"os-update",engine:"engine-update",swap:"swap-update"}[q];try{const Ze=await Ie(`/api/maintenance/${Me}`,{method:"POST"});if(M(Ze)||T(Ze))return;Y(),C("maintenance")}catch(Ze){i("Fehler",`Update konnte nicht starten: ${Ze.message}`)}}async function se(){G(!0);try{const q=await Ie("/api/maintenance/hermes-update",{method:"POST"});if(M(q))return;Y()}catch(q){i("Fehler",`Hermes-Update fehlgeschlagen: ${q.message}`)}finally{G(!1)}}async function te(q){fe({kind:q,loading:!0,data:null});try{const Me=await Ie(`/api/maintenance/update-details?kind=${q}`);fe({kind:q,loading:!1,data:Me})}catch(Me){fe({kind:q,loading:!1,data:{kind:q,error:Me.message}})}}function ce(){const q=le==null?void 0:le.kind;fe(null),q==="os"||q==="engine"||q==="swap"?Z(q):q==="hermes"&&se()}function ge(){var Me;const q=[u!=null&&u.engine?"Engine":null,u!=null&&u.swap?"Router":null,(Me=u==null?void 0:u.components)!=null&&Me.some(Ze=>Ze.update===!0)?"Hermes-Agent":null,u!=null&&u.os?`OS (${u.os} Pakete)`:null].filter(Boolean);o("Alle Updates einspielen?",`Nacheinander in einem Job: ${q.join(" → ")}. Jeder Schritt sichert und prüft sich selbst; schlägt einer fehl, stoppt der Rest. (OS braucht das Box-Passwort aus den Einstellungen — fehlt es, wird OS übersprungen.)`,async()=>{try{const Ze=await Ie("/api/maintenance/update-all",{method:"POST"});if(M(Ze)||T(Ze))return;if((Ze==null?void 0:Ze.status)==="nothing"){i("Nichts zu tun","Es stehen keine Updates aus.");return}Y(),C("maintenance")}catch(Ze){i("Fehler",`„Alle aktualisieren" konnte nicht starten: ${Ze.message}`)}})}async function _e(){z(!0);try{await Ie("/api/maintenance/check-updates",{method:"POST"}),Os(n,De.jobs,De.updates),C("maintenance")}catch(q){i("Fehler",`Fehler bei der Update-Suche: ${q.message}`)}finally{z(!1)}}async function J(q,Me){try{await Ie("/api/models/install",{method:"POST",body:JSON.stringify({repo:q,role:Me})}),i("Gestartet",`Modell-Upgrade für '${Me}' (${q}) gestartet.`),Y(),C("maintenance")}catch(Ze){i("Fehler",`Fehler beim Starten des Modell-Upgrades: ${Ze.message}`)}}async function we(){o("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await Ie("/api/maintenance/reboot",{method:"POST"}),i("Reboot","Reboot ausgelöst. System startet neu...",()=>t())}catch(q){i("Fehler",`Fehler beim Reboot: ${q.message}`)}})}async function Ae(){B(!0),V("Snapshot wird erzeugt...");try{const q=await Ie("/api/system/backup",{method:"POST"});V(q.ok?`Snapshot erzeugt: ${q.snapshot} (${q.files.length} Komponenten)`:"Backup fehlgeschlagen."),Os(n,De.zeitmaschine)}catch(q){V(`Fehler: ${q.message}`)}finally{B(!1)}}async function ne(q){O(Me=>({...Me,[q]:!0}));try{const Me=await Ie("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:q})});Me.ok?(i("Dienst neu gestartet",`Dienst ${q} wurde erfolgreich neu gestartet.`,()=>{N==="logs"&&m===q&&X(q)}),Os(n,De.services,De.health,De.models)):i("Fehler",`Fehler beim Neustart: ${Me.err||"Unbekannter Fehler"}`)}catch(Me){i("Fehler",`Fehler beim Neustart: ${Me.message}`)}finally{O(Me=>({...Me,[q]:!1}))}}async function lt(q){try{await Ie(`/api/jobs/${q}/cancel`,{method:"POST"}),Y()}catch(Me){i("Fehler",`Fehler beim Abbrechen: ${Me.message}`)}}const $e=f.find(q=>(q.state==="running"||q.state==="queued")&&q.group==="maintenance"),Pe=(u?(u.os>0?1:0)+(u.engine?1:0)+(u.swap?1:0):0)+(((lr=u==null?void 0:u.components)==null?void 0:lr.filter(q=>q.update===!0).length)??0),vt=(h==null?void 0:h.backups)??[];return x.jsxs(x.Fragment,{children:[x.jsx("div",{className:Re("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:t}),x.jsxs("div",{className:Re("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",e?"translate-x-0":"translate-x-full"),children:[x.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(qP,{className:"h-4.5 w-4.5 text-primary"}),x.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),x.jsx("button",{onClick:t,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:x.jsx(wu,{className:"h-4 w-4"})})]}),x.jsx("div",{className:"flex border-b border-border/40 px-6",children:["maintenance","logs","settings"].map(q=>x.jsx("button",{onClick:()=>C(q),className:Re("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N===q?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:q==="maintenance"?"System-Wartung":q==="logs"?"System-Logs":"Einstellungen"},q))}),x.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[N==="maintenance"&&x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"space-y-2.5",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),x.jsxs("div",{className:"flex items-center gap-3",children:[Pe>0&&x.jsxs("button",{onClick:ge,disabled:!!$e,className:"flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-[10px] font-bold text-primary transition-colors hover:bg-primary/20 disabled:opacity-50",children:[x.jsx(sT,{className:"h-3 w-3"})," Alle aktualisieren (",Pe,")"]}),x.jsxs("button",{onClick:_e,disabled:R||!!$e,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[x.jsx(qo,{className:Re("h-3 w-3",R&&"animate-spin")})," Nach Updates suchen"]})]})]}),(u==null?void 0:u.last_check)&&x.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",ae(u.last_check)]}),$e&&x.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[x.jsx(qo,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),x.jsxs("span",{children:["Update läuft: ",x.jsx("span",{className:"font-semibold",children:$e.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),x.jsxs("div",{className:"space-y-1.5",children:[x.jsx(Cs,{icon:Vg,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(u!=null&&u.os),status:u!=null&&u.os?`${u.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>te("os")}),x.jsx(Cs,{icon:If,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(u!=null&&u.engine),status:u!=null&&u.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>te("engine")}),x.jsx(Cs,{icon:GP,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(u!=null&&u.swap),status:u!=null&&u.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>te("swap")}),(()=>{var Me;const q=(Me=u==null?void 0:u.components)==null?void 0:Me.find(Ze=>Ze.key==="hermes_agent");return x.jsx(Cs,{icon:_f,iconClass:"text-amber-400",name:"Hermes-Agent",available:(q==null?void 0:q.update)===!0,busy:ue,status:(q==null?void 0:q.update)===!0?`Update: ${q.latest}`:(q==null?void 0:q.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>te("hermes")})})(),(hi=u==null?void 0:u.model_list)==null?void 0:hi.map(q=>x.jsx(Cs,{icon:rT,iconClass:"text-emerald-400",name:`Modell · ${q.role}`,available:!0,status:q.title,actionLabel:"Upgrade",onAction:()=>J(q.repo,q.role)},q.role))]})]}),x.jsxs("div",{className:"space-y-2.5",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),x.jsxs("div",{className:"space-y-1.5",children:[de.length===0&&x.jsx("div",{className:"rounded-lg border border-dashed border-border/50 p-4 text-center text-xs text-muted-foreground",children:"Dienste-Liste wird geladen …"}),de.map(q=>x.jsx($3,{label:q.name,system:q.scope==="system",ok:q.ok,busy:_[q.unit],onRestart:()=>ne(q.unit),onLogs:()=>{v(q.unit),C("logs")}},q.unit))]})]}),x.jsxs("div",{className:"space-y-2.5",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),x.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[x.jsxs("div",{className:"flex-1 min-w-0",children:[x.jsx("div",{className:"text-xs text-foreground truncate",children:vt[0]?`Letztes: ${vt[0].snapshot}`:"Noch kein Backup"}),x.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[vt.length," Snapshots · Wiederherstellen: Chronik → Zeitmaschine"]})]}),x.jsxs("button",{onClick:Ae,disabled:Q,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[x.jsx(nT,{className:Re("h-3.5 w-3.5",Q&&"animate-pulse")})," Snapshot"]})]}),F&&x.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:F})]}),x.jsxs("div",{className:"space-y-2.5",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),x.jsxs("button",{onClick:we,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[x.jsx(ET,{className:"h-4.5 w-4.5"}),x.jsxs("div",{children:[x.jsx("div",{children:"Host-System neu starten"}),x.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),x.jsxs("div",{className:"space-y-3",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),x.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[f.filter(q=>q.state==="running"||q.state==="queued").length," Aktiv"]})]}),x.jsx("div",{className:"space-y-3",children:f.length===0?x.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):f.map(q=>{const Me=q.state==="running"||q.state==="queued";return x.jsxs("div",{className:Re("p-3 rounded-xl border transition-all duration-300",Me?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[x.jsxs("div",{className:"flex items-start justify-between gap-3",children:[x.jsxs("div",{className:"space-y-1",children:[x.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[Me&&x.jsxs("span",{className:"flex h-2 w-2 relative",children:[x.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),x.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),q.label]}),x.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[x.jsxs("span",{children:["ID: ",q.id]}),x.jsx("span",{children:"•"}),x.jsx("span",{className:Re(q.state==="done"&&"text-emerald-400",q.state==="failed"&&"text-red-400",q.state==="running"&&"text-primary",q.state==="queued"&&"text-amber-400",q.state==="canceled"&&"text-muted-foreground"),children:q.state})]})]}),Me&&x.jsx("button",{onClick:()=>lt(q.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),q.state==="running"&&x.jsxs("div",{className:"mt-3 space-y-1",children:[x.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:x.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${q.progress??0}%`}})}),x.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[x.jsxs("span",{children:[q.progress??0,"%"]}),q.done_bytes!=null&&q.total_bytes!=null&&x.jsxs("span",{children:[Dm(q.done_bytes)," / ",Dm(q.total_bytes),q.rate_bps!=null&&` (${Dm(q.rate_bps)}/s)`]}),q.eta_s!=null&&x.jsxs("span",{children:["ETA: ",q.eta_s,"s"]})]})]})]},q.id)})})]})]}),N==="logs"&&x.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("select",{value:m,onChange:q=>v(q.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:de.map(q=>x.jsxs("option",{value:q.unit,children:[q.name," (",q.scope==="system"?"systemd-root":"user",")"]},q.unit))}),x.jsxs("button",{onClick:()=>ne(m),disabled:_[m],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[x.jsx(qo,{className:Re("h-3.5 w-3.5",_[m]&&"animate-spin")}),"Restart"]})]}),x.jsx(U3,{service:m,text:b,loading:k,logStatus:P,onRefresh:()=>X(m),onOpenSettings:()=>C("settings")})]}),N==="settings"&&x.jsx(W3,{open:e,showAlert:i})]})]}),le&&x.jsx(H3,{detail:le,maintenanceJob:$e,onClose:()=>fe(null),onApply:ce}),s]})}let $v=[],Lv=[];const zv=new Set,UA=()=>zv.forEach(e=>e());function WA(e){return zv.add(e),()=>{zv.delete(e)}}function V3(e){$v=[...$v,e].slice(-40),UA()}function q3(e){Lv=[...Lv,e].slice(-40),UA()}const G3=()=>y.useSyncExternalStore(WA,()=>$v),Y3=()=>y.useSyncExternalStore(WA,()=>Lv);function Q3(){const{data:e,dataUpdatedAt:t}=zf(),{data:r,dataUpdatedAt:n}=FA(),i=y.useRef(null);y.useEffect(()=>{var o,s,u,d;e&&V3({t:Date.now(),cpu:((o=e.cpu)==null?void 0:o.percent)??0,ram:((s=e.ram)==null?void 0:s.percent)??0,gpu:((u=e.gpu)==null?void 0:u.busy_percent)??null,disk:((d=e.disk)==null?void 0:d.percent)??null})},[t]),y.useEffect(()=>{if(!r)return;const o=Date.now(),s=r.prompt_tokens,u=r.completion_tokens;if(i.current){const d=Math.max((o-i.current.t)/1e3,.001);q3({t:o,prompt:Math.max(0,(s-i.current.p)/d),completion:Math.max(0,(u-i.current.c)/d)})}i.current={p:s,c:u,t:o}},[n])}function X3(){var z,F,V,Q,B,ue;const{data:e,isError:t}=$A(),{data:r,isError:n}=Jg(),{data:i}=zA(),{data:o}=zf(),s=t||n,u=!!e&&!!r,d=G=>{var le;return(le=r==null?void 0:r.services.find(fe=>fe.unit===G))==null?void 0:le.ok},f=G=>!!(r!=null&&r.services.some(le=>le.unit===G)),h=e==null?void 0:e.engine_reachable,m=(z=e==null?void 0:e.brain)==null?void 0:z.ready,v=((F=e==null?void 0:e.brain)==null?void 0:F.model)||((V=i==null?void 0:i.models.find(G=>G.role==="hermes"))==null?void 0:V.name)||"",b=[];s&&b.push({id:"mc2",label:"Steuerpult (MC2)",icon:If,critical:!0,status:"down",detail:"Die Zentrale antwortet nicht — alle Anzeigen hier können veraltet sein. Läuft die Box? Deploy aktiv?"}),b.push((()=>{const G={id:"brain",label:"Lucys Hirn",icon:Wg,critical:!0};return u?h===!1?{...G,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:m===!1?{...G,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:v?{kind:"loadModel",model:v,label:"Hirn aufwecken"}:void 0}:{...G,status:"ok",detail:"Wach und ansprechbar."}:{...G,status:"loading",detail:"Wird geprüft …"}})()),b.push((()=>{const G={id:"vision",label:"Lucys Augen",icon:_v,critical:!1};if(!u||!i)return{...G,status:"loading",detail:"Wird geprüft …"};const le=i.models.find(de=>de.role==="vision");return le?(i.running??[]).includes(le.name)?{...G,status:"ok",detail:"Sieht gerade zu (geladen, solange Lucy sie nutzt)."}:{...G,status:"ok",detail:"Augen ruhen — sie laden von selbst, sobald Lucy startet oder ein Bild kommt.",repair:{kind:"loadModel",model:le.name,label:"Augen wecken"}}:{...G,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),b.push((()=>{const G={id:"memory",label:"Lucys Gedächtnis",icon:tT,critical:!0},le=d("mem0-service");return!u||le===void 0?{...G,status:"loading",detail:"Wird geprüft …"}:le?{...G,status:"ok",detail:"Merkt sich Neues und findet Altes wieder."}:{...G,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gedächtnis antwortet nicht.",repair:{kind:"restart",service:"mem0-service",label:"Gedächtnis neu starten"}}})()),b.push((()=>{const G={id:"gateway",label:"Verbindung (Gateway)",icon:Kg,critical:!0},le=e?e.gateway_reachable:d("mc2-gateway");if(!u||le===void 0)return{...G,status:"loading",detail:"Wird geprüft …"};const fe=f("mc2-gateway")?"mc2-gateway":"mission-control-2";return le?{...G,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...G,status:"down",detail:"Der Modell-Gateway antwortet nicht — Lucy und die IDEs erreichen kein Modell.",repair:{kind:"restart",service:fe,label:"Gateway neu starten"}}})()),b.push((()=>{const G={id:"steward",label:"Wächter (Steward)",icon:Mf,critical:!1};return u?f("mc2-steward")?d("mc2-steward")?{...G,status:"ok",detail:"Wacht über Warm-Set, Dienste und Gedächtnis."}:{...G,status:"warn",detail:"Der Wächter schläft — niemand meldet gerade Ausfälle oder wärmt Modelle nach.",repair:{kind:"restart",service:"mc2-steward",label:"Wächter neu starten"}}:{...G,status:"ok",detail:"Auf dieser Installation nicht eingerichtet."}:{...G,status:"loading",detail:"Wird geprüft …"}})()),b.push((()=>{const G={id:"agent",label:"Lucys Agent (Hermes)",icon:_f,critical:!0},le=d("hermes-gateway");return!u||le===void 0?{...G,status:"loading",detail:"Wird geprüft …"}:le?{...G,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...G,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),b.push((()=>{const G={id:"voice",label:"Lucys Stimme",icon:kT,critical:!1},le=d("voice-service");return!u||le===void 0?{...G,status:"loading",detail:"Wird geprüft …"}:le?{...G,status:"ok",detail:"Lucy kann hören und sprechen."}:{...G,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const S=((Q=o==null?void 0:o.ram)==null?void 0:Q.total)??0,k=((B=o==null?void 0:o.ram)==null?void 0:B.used)??0,E=((ue=o==null?void 0:o.ram)==null?void 0:ue.percent)??(S>0?Math.min(100,k/S*100):0),P=1024**3,j=S?E>=93?{status:"full",usedGb:k/P,totalGb:S/P,pct:E,text:"Speicher fast voll — Lucy könnte langsamer werden."}:E>=85?{status:"warn",usedGb:k/P,totalGb:S/P,pct:E,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:k/P,totalGb:S/P,pct:E,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},_=b.some(G=>G.status==="loading"),O=b.filter(G=>G.critical&&G.status==="down"),N=b.filter(G=>G.status==="warn"||!G.critical&&G.status==="down"),C=j.status==="full";return{verdict:_&&!O.length?"loading":O.length?"problem":N.length||C?"warn":"gut",checks:b,memory:j,problems:O,warns:N,unreachable:s}}const Z3={ok:"bg-emerald-500",warn:"bg-amber-500",alert:"bg-red-500",muted:"bg-muted-foreground/40",loading:"bg-muted-foreground/40 animate-pulse"},J3={ok:"hover:border-emerald-500/40",warn:"hover:border-amber-500/50",alert:"hover:border-red-500/50",muted:"hover:border-primary/40",loading:"hover:border-border/60"};function Mo({icon:e,title:t,value:r,unit:n,tone:i="muted",hint:o,onClick:s}){return x.jsxs("button",{onClick:s,className:Re("group relative flex flex-col items-start mc-card p-5 text-left cursor-pointer",J3[i]),children:[x.jsxs("div",{className:"mb-4 flex w-full items-center justify-between",children:[x.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl border border-border/40 bg-background/30 text-foreground/80 transition-colors group-hover:text-primary",children:x.jsx(e,{className:"h-5 w-5"})}),x.jsx("span",{className:Re("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",Z3[i]),title:o})]}),x.jsxs("div",{className:"flex items-baseline gap-1.5",children:[x.jsx("span",{className:"text-2xl font-bold tracking-tight text-foreground font-space tabular-nums",children:r}),n&&x.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:n})]}),x.jsxs("div",{className:"mt-1 flex w-full items-center justify-between",children:[x.jsx("span",{className:"text-sm font-semibold text-foreground/90",children:t}),x.jsx(Vo,{className:"h-4 w-4 text-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-primary"})]}),o&&x.jsx("span",{className:"mt-0.5 text-[11px] text-muted-foreground",children:o})]})}function e5(){var s;const{data:e=[]}=C3(),[t,r]=y.useState(!1),n=e.find(u=>u.source==="chef-gutachter");if(!n)return null;const i=new Date(n.ts*1e3).toLocaleString("de-DE",{weekday:"long",day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}),o=(s=n.text.split(` +`).find(u=>u.trim().startsWith("VERDIKT:")))==null?void 0:s.replace(/^\s*VERDIKT:\s*/,"");return x.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.05] p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[x.jsxs("button",{onClick:()=>r(u=>!u),className:"flex w-full items-center gap-3 text-left cursor-pointer",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-violet-500/30 bg-background/30 text-violet-300",children:x.jsx(ST,{className:"h-4.5 w-4.5"})}),x.jsxs("span",{className:"min-w-0 flex-1",children:[x.jsx("span",{className:"block text-sm font-bold text-foreground",children:"Morgenlage"}),x.jsx("span",{className:"block truncate text-xs text-muted-foreground",children:o||n.subject||"Nächtliches Gutachten über die autonome Arbeit"})]}),x.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60",children:i}),t?x.jsx(iT,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):x.jsx(Vo,{className:"h-4 w-4 shrink-0 text-muted-foreground"})]}),t&&x.jsxs("div",{className:"mt-3 border-t border-violet-500/15 pt-3",children:[n.subject&&x.jsx("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-violet-300/80",children:n.subject}),x.jsx("p",{className:"whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:n.text})]})]})}const vw={"":"einmalig",daily:"täglich",weekdays:"werktags",weekly:"wöchentlich"};function t5(){const{data:e=[],isLoading:t}=_3(),r=bu(),{showAlert:n,showConfirm:i,dialogElement:o}=Zg(),[s,u]=y.useState(!1),[d,f]=y.useState(""),[h,m]=y.useState(""),[v,b]=y.useState(""),[S,k]=y.useState(!1),E=()=>r.invalidateQueries({queryKey:De.reminders});async function P(){if(!(!d.trim()||!h)){k(!0);try{await Ie("/api/reminders",{method:"POST",body:JSON.stringify({text:d,when:h,repeat:v})}),f(""),m(""),b(""),u(!1),E()}catch(O){n("Anlegen fehlgeschlagen",String((O==null?void 0:O.message)||O))}finally{k(!1)}}}function j(O,N){i("Erinnerung löschen?",`„${N}" wird entfernt.`,async()=>{try{await Ie(`/api/reminders/${O}`,{method:"DELETE"}),E()}catch(C){n("Fehler",String((C==null?void 0:C.message)||C))}})}const _=[...e].sort((O,N)=>O.next_ts-N.next_ts);return x.jsxs("div",{className:"mc-card p-4",children:[x.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[x.jsxs("span",{className:"flex items-center gap-2 text-sm font-bold text-foreground",children:[x.jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 bg-background/30 text-amber-300",children:x.jsx(eT,{className:"h-4 w-4"})}),"Anstehendes"]}),x.jsxs("button",{onClick:()=>u(O=>!O),className:"flex h-8 items-center gap-1 rounded-lg border border-border/60 bg-background/30 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[s?x.jsx(wu,{className:"h-3.5 w-3.5"}):x.jsx(G1,{className:"h-3.5 w-3.5"})," ",s?"Abbrechen":"Neu"]})]}),s&&x.jsxs("div",{className:"mb-3 space-y-2 rounded-xl border border-border/50 bg-background/30 p-3",children:[x.jsx("input",{value:d,onChange:O=>f(O.target.value),placeholder:"Woran soll Lucy erinnern?","aria-label":"Erinnerungstext",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 px-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),x.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[x.jsx("input",{type:"datetime-local",value:h,onChange:O=>m(O.target.value),"aria-label":"Zeitpunkt",className:"h-9 rounded-lg border border-border/60 bg-card/45 px-2 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50 [color-scheme:dark]"}),x.jsx("select",{value:v,onChange:O=>b(O.target.value),"aria-label":"Wiederholung",className:"h-9 cursor-pointer rounded-lg border border-border/60 bg-card/45 px-2 text-xs font-semibold text-foreground outline-none",children:Object.entries(vw).map(([O,N])=>x.jsx("option",{value:O,className:"bg-popover",children:N},O))}),x.jsxs("button",{onClick:P,disabled:S||!d.trim()||!h,className:"ml-auto flex h-9 items-center gap-1.5 rounded-lg bg-primary px-3 text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50",children:[S?x.jsx(Nf,{className:"h-3.5 w-3.5 animate-spin"}):x.jsx(G1,{className:"h-3.5 w-3.5"})," Anlegen"]})]})]}),t?x.jsx("p",{className:"text-xs text-muted-foreground",children:"Wird geladen …"}):_.length===0?x.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine Erinnerungen. Lucy sagt dir hier (und per Stimme) Bescheid, wenn etwas ansteht."}):x.jsxs("div",{className:"space-y-1.5",children:[_.slice(0,6).map(O=>{const N=O.next_ts*1e3j(O.id,O.text),"aria-label":"Erinnerung löschen",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground opacity-0 transition-all hover:bg-red-500/5 hover:text-red-400 group-hover:opacity-100 cursor-pointer",children:x.jsx(NT,{className:"h-3.5 w-3.5"})})]},O.id)}),_.length>6&&x.jsxs("p",{className:"text-[10px] text-muted-foreground/60",children:["+",_.length-6," weitere"]})]}),o]})}function r5(){const{data:e,error:t}=zf(),r=G3();return{sys:e,hist:r,error:t}}var n5=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function ey(e){if(typeof e!="string")return!1;var t=n5;return t.includes(e)}var i5=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],a5=new Set(i5);function HA(e){return typeof e!="string"?!1:a5.has(e)}function KA(e){return typeof e=="string"&&e.startsWith("data-")}function ln(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(HA(r)||KA(r))&&(t[r]=e[r]);return t}function Ff(e){if(e==null)return null;if(y.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return ln(t)}return typeof e=="object"&&!Array.isArray(e)?ln(e):null}function Br(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(HA(r)||KA(r)||ey(r))&&(t[r]=e[r]);return t}function o5(e){return e==null?null:y.isValidElement(e)?Br(e.props):typeof e=="object"&&!Array.isArray(e)?Br(e):null}var l5=["children","width","height","viewBox","className","style","title","desc"];function Fv(){return Fv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,o=e.viewBox,s=e.className,u=e.style,d=e.title,f=e.desc,h=s5(e,l5),m=o||{width:n,height:i,x:0,y:0},v=Xe("recharts-surface",s);return y.createElement("svg",Fv({},Br(h),{className:v,width:n,height:i,style:u,viewBox:"".concat(m.x," ").concat(m.y," ").concat(m.width," ").concat(m.height),ref:t}),y.createElement("title",null,d),y.createElement("desc",null,f),r)}),c5=["children","className"];function Bv(){return Bv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=d5(e,c5),o=Xe("recharts-layer",n);return y.createElement("g",Bv({className:o},Br(i),{ref:t}),r)}),h5=y.createContext(null);function ft(e){return function(){return e}}const Uv=Math.PI,Wv=2*Uv,wa=1e-6,p5=Wv-wa;function qA(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return qA;const r=10**t;return function(n){this._+=n[0];for(let i=1,o=n.length;iwa)if(!(Math.abs(m*d-f*h)>wa)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let b=n-s,S=i-u,k=d*d+f*f,E=b*b+S*S,P=Math.sqrt(k),j=Math.sqrt(v),_=o*Math.tan((Uv-Math.acos((k+v-E)/(2*P*j)))/2),O=_/j,N=_/P;Math.abs(O-1)>wa&&this._append`L${t+O*h},${r+O*m}`,this._append`A${o},${o},0,0,${+(m*b>h*S)},${this._x1=t+N*d},${this._y1=r+N*f}`}}arc(t,r,n,i,o,s){if(t=+t,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),d=n*Math.sin(i),f=t+u,h=r+d,m=1^s,v=s?i-o:o-i;this._x1===null?this._append`M${f},${h}`:(Math.abs(this._x1-f)>wa||Math.abs(this._y1-h)>wa)&&this._append`L${f},${h}`,n&&(v<0&&(v=v%Wv+Wv),v>p5?this._append`A${n},${n},0,1,${m},${t-u},${r-d}A${n},${n},0,1,${m},${this._x1=f},${this._y1=h}`:v>wa&&this._append`A${n},${n},0,${+(v>=Uv)},${m},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function GA(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new v5(t)}function ty(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function YA(e){this._context=e}YA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Bf(e){return new YA(e)}function QA(e){return e[0]}function XA(e){return e[1]}function ZA(e,t){var r=ft(!0),n=null,i=Bf,o=null,s=GA(u);e=typeof e=="function"?e:e===void 0?QA:ft(e),t=typeof t=="function"?t:t===void 0?XA:ft(t);function u(d){var f,h=(d=ty(d)).length,m,v=!1,b;for(n==null&&(o=i(b=s())),f=0;f<=h;++f)!(f=b;--S)u.point(_[S],O[S]);u.lineEnd(),u.areaEnd()}P&&(_[v]=+e(E,v,m),O[v]=+t(E,v,m),u.point(n?+n(E,v,m):_[v],r?+r(E,v,m):O[v]))}if(j)return u=null,j+""||null}function h(){return ZA().defined(i).curve(s).context(o)}return f.x=function(m){return arguments.length?(e=typeof m=="function"?m:ft(+m),n=null,f):e},f.x0=function(m){return arguments.length?(e=typeof m=="function"?m:ft(+m),f):e},f.x1=function(m){return arguments.length?(n=m==null?null:typeof m=="function"?m:ft(+m),f):n},f.y=function(m){return arguments.length?(t=typeof m=="function"?m:ft(+m),r=null,f):t},f.y0=function(m){return arguments.length?(t=typeof m=="function"?m:ft(+m),f):t},f.y1=function(m){return arguments.length?(r=m==null?null:typeof m=="function"?m:ft(+m),f):r},f.lineX0=f.lineY0=function(){return h().x(e).y(t)},f.lineY1=function(){return h().x(e).y(r)},f.lineX1=function(){return h().x(n).y(t)},f.defined=function(m){return arguments.length?(i=typeof m=="function"?m:ft(!!m),f):i},f.curve=function(m){return arguments.length?(s=m,o!=null&&(u=s(o)),f):s},f.context=function(m){return arguments.length?(m==null?o=u=null:u=s(o=m),f):o},f}class JA{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function g5(e){return new JA(e,!0)}function y5(e){return new JA(e,!1)}function Md(){}function Td(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function e2(e){this._context=e}e2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Td(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Td(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function x5(e){return new e2(e)}function t2(e){this._context=e}t2.prototype={areaStart:Md,areaEnd:Md,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Td(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function b5(e){return new t2(e)}function r2(e){this._context=e}r2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Td(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function w5(e){return new r2(e)}function n2(e){this._context=e}n2.prototype={areaStart:Md,areaEnd:Md,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function k5(e){return new n2(e)}function gw(e){return e<0?-1:1}function yw(e,t,r){var n=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(n||i<0&&-0),s=(r-e._y1)/(i||n<0&&-0),u=(o*i+s*n)/(n+i);return(gw(o)+gw(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(u))||0}function xw(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Rm(e,t,r){var n=e._x0,i=e._y0,o=e._x1,s=e._y1,u=(o-n)/3;e._context.bezierCurveTo(n+u,i+u*t,o-u,s-u*r,o,s)}function Dd(e){this._context=e}Dd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Rm(this,this._t0,xw(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Rm(this,xw(this,r=yw(this,e,t)),r);break;default:Rm(this,this._t0,r=yw(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function i2(e){this._context=new a2(e)}(i2.prototype=Object.create(Dd.prototype)).point=function(e,t){Dd.prototype.point.call(this,t,e)};function a2(e){this._context=e}a2.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,o){this._context.bezierCurveTo(t,e,n,r,o,i)}};function S5(e){return new Dd(e)}function E5(e){return new i2(e)}function o2(e){this._context=e}o2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=bw(e),i=bw(t),o=0,s=1;s=0;--t)i[t]=(s[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function A5(e){return new Uf(e,.5)}function O5(e){return new Uf(e,0)}function C5(e){return new Uf(e,1)}function Ha(e,t){if((s=e.length)>1)for(var r=1,n,i,o=e[t[0]],s,u=o.length;r=0;)r[t]=t;return r}function j5(e,t){return e[t]}function _5(e){const t=[];return t.key=e,t}function N5(){var e=ft([]),t=Hv,r=Ha,n=j5;function i(o){var s=Array.from(e.apply(this,arguments),_5),u,d=s.length,f=-1,h;for(const m of o)for(u=0,++f;u0){for(var r,n,i=0,o=e[0].length,s;i0){for(var r=0,n=e[t[0]],i,o=n.length;r0)||!((o=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,o,s;n1&&arguments[1]!==void 0?arguments[1]:R5,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Lt(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var u=r[s-1];return typeof u=="string"?i+u+o:u!==void 0?i+Yi(u)+o:i+o},"")}var Lr=e=>e===0?0:e>0?1:-1,jn=e=>typeof e=="number"&&e!=+e,Ka=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,be=e=>(typeof e=="number"||e instanceof Number)&&!jn(e),_n=e=>be(e)||typeof e=="string",$5=0,Zs=e=>{var t=++$5;return"".concat(e||"").concat(t)},ta=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!be(t)&&typeof t!="string")return n;var o;if(Ka(t)){if(r==null)return n;var s=t.indexOf("%");o=r*parseFloat(t.slice(0,s))/100}else o=+t;return jn(o)&&(o=n),i&&r!=null&&o>r&&(o=r),o},u2=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):Ja(n,t))===r)}var Ut=e=>e===null||typeof e>"u",iy=e=>Ut(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function vr(e){return e!=null}function Al(){}var d2=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,ay=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(y.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{ey(i)&&typeof r[i]=="function"&&(n[i]=(o=>r[i](r,o)))}),n},L5=(e,t,r)=>n=>(e(t,r,n),null),z5=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var o=e[i];ey(i)&&typeof o=="function"&&(n||(n={}),n[i]=L5(o,t,r))}),n};function ww(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function F5(e){for(var t=1;t(s[u]===void 0&&n[u]!==void 0&&(s[u]=n[u]),s),r);return o}function H5(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function oy(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Y5="[object RegExp]",h2="[object String]",p2="[object Number]",m2="[object Boolean]",v2="[object Arguments]",Q5="[object Symbol]",X5="[object Date]",Z5="[object Map]",J5="[object Set]",e4="[object Array]",t4="[object ArrayBuffer]",r4="[object Object]",n4="[object DataView]",i4="[object Uint8Array]",a4="[object Uint8ClampedArray]",o4="[object Uint16Array]",l4="[object Uint32Array]",s4="[object Int8Array]",u4="[object Int16Array]",c4="[object Int32Array]",d4="[object Float32Array]",f4="[object Float64Array]",kw=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function h4(e){return typeof kw.Buffer<"u"&&kw.Buffer.isBuffer(e)}function p4(e,t){return Pa(e,void 0,e,new Map,t)}function Pa(e,t,r,n=new Map,i=void 0){const o=i==null?void 0:i(e,t,r,n);if(o!==void 0)return o;if(Vv(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const s=new Array(e.length);n.set(e,s);for(let u=0;u{}):qv(e,t,function n(i,o,s,u,d,f){const h=r(i,o,s,u,d,f);return h!==void 0?!!h:qv(i,o,n,f,!1)},new Map,!0)}function qv(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return g4(e,t,r,n);case"function":return Object.keys(t).length>0?qv(e,{...t},r,n,i):Ed(e,t);default:return g2(e)&&i?typeof t=="string"?t==="":!0:Ed(e,t)}}function g4(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return x2(e,t,r,n);if(t instanceof Map)return y4(e,t,r,n);if(t instanceof Set)return x4(e,t,r,n);const i=Object.keys(t);if(e==null||Vv(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let o=0;o{})}function b4(e){return e=v4(e),t=>b2(t,e)}function w4(e,t){return p4(e,(r,n,i,o)=>{if(typeof e=="object"){if(oy(e)==="[object Object]"&&typeof e.constructor!="function"){const s={};return o.set(e,s),tn(s,e,i,o),s}switch(Object.prototype.toString.call(e)){case p2:case h2:case m2:{const s=new e.constructor(e==null?void 0:e.valueOf());return tn(s,e),s}case v2:{const s={};return tn(s,e),s.length=e.length,s[Symbol.iterator]=e[Symbol.iterator],s}default:return}}})}function k4(e){return w4(e)}const S4=/^(?:0|[1-9]\d*)$/;function w2(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function k2(e){return e!=null&&typeof e!="function"&&C4(e.length)}function j4(e){return typeof e=="object"&&e!==null}function _4(e){return j4(e)&&k2(e)}function Sw(e,t=f2){return _4(e)?H5(Array.from(e),K5(O4(t),1)):[]}function N4(e,t,r){return t===!0?Sw(e,r):typeof t=="function"?Sw(e,t):e}var $m={exports:{}},Lm={},zm={exports:{}},Fm={};/** * @license React * use-sync-external-store-shim.production.js * @@ -393,7 +398,7 @@ Error generating stack: `+w.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ew;function N4(){if(Ew)return Fm;Ew=1;var e=El();function t(m,v){return m===v&&(m!==0||1/m===1/v)||m!==m&&v!==v}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,i=e.useEffect,o=e.useLayoutEffect,s=e.useDebugValue;function u(m,v){var b=v(),S=n({inst:{value:b,getSnapshot:v}}),k=S[0].inst,E=S[1];return o(function(){k.value=b,k.getSnapshot=v,d(k)&&E({inst:k})},[m,b,v]),i(function(){return d(k)&&E({inst:k}),m(function(){d(k)&&E({inst:k})})},[m]),s(b),b}function d(m){var v=m.getSnapshot;m=m.value;try{var b=v();return!r(m,b)}catch{return!0}}function f(m,v){return v()}var h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return Fm.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:h,Fm}var Pw;function I4(){return Pw||(Pw=1,zm.exports=N4()),zm.exports}/** + */var Ew;function I4(){if(Ew)return Fm;Ew=1;var e=El();function t(m,v){return m===v&&(m!==0||1/m===1/v)||m!==m&&v!==v}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,i=e.useEffect,o=e.useLayoutEffect,s=e.useDebugValue;function u(m,v){var b=v(),S=n({inst:{value:b,getSnapshot:v}}),k=S[0].inst,E=S[1];return o(function(){k.value=b,k.getSnapshot=v,d(k)&&E({inst:k})},[m,b,v]),i(function(){return d(k)&&E({inst:k}),m(function(){d(k)&&E({inst:k})})},[m]),s(b),b}function d(m){var v=m.getSnapshot;m=m.value;try{var b=v();return!r(m,b)}catch{return!0}}function f(m,v){return v()}var h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return Fm.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:h,Fm}var Pw;function M4(){return Pw||(Pw=1,zm.exports=I4()),zm.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -401,12 +406,12 @@ Error generating stack: `+w.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Aw;function M4(){if(Aw)return Lm;Aw=1;var e=El(),t=I4();function r(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var n=typeof Object.is=="function"?Object.is:r,i=t.useSyncExternalStore,o=e.useRef,s=e.useEffect,u=e.useMemo,d=e.useDebugValue;return Lm.useSyncExternalStoreWithSelector=function(f,h,m,v,b){var S=o(null);if(S.current===null){var k={hasValue:!1,value:null};S.current=k}else k=S.current;S=u(function(){function P(C){if(!j){if(j=!0,_=C,C=v(C),b!==void 0&&k.hasValue){var R=k.value;if(b(R,C))return O=R}return O=C}if(R=O,n(_,C))return R;var z=v(C);return b!==void 0&&b(R,z)?(_=C,R):(_=C,O=z)}var j=!1,_,O,N=m===void 0?null:m;return[function(){return P(h())},N===null?void 0:function(){return P(N())}]},[h,m,v,b]);var E=i(f,S[0],S[1]);return s(function(){k.hasValue=!0,k.value=E},[E]),d(E),E},Lm}var Ow;function T4(){return Ow||(Ow=1,$m.exports=M4()),$m.exports}var D4=T4(),ly=y.createContext(null),R4=e=>e,xt=()=>{var e=y.useContext(ly);return e?e.store.dispatch:R4},Pd=()=>{},$4=()=>Pd,L4=(e,t)=>e===t;function Ee(e){var t=y.useContext(ly),r=y.useMemo(()=>t?n=>{if(n!=null)return e(n)}:Pd,[t,e]);return D4.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:$4,t?t.store.getState:Pd,t?t.store.getState:Pd,r,L4)}function z4(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function F4(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var Cw=e=>Array.isArray(e)?e:[e];function B4(e){const t=Array.isArray(e[0])?e[0]:e;return F4(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function U4(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?W4:WeakRef,S2=H4(),K4=0,jw=1;function ad(){return{s:K4,v:void 0,o:null,p:null}}function V4(e){return e instanceof S2?e.deref():e}function E2(e,t={}){let r=ad();const{resultEqualityCheck:n}=t;let i,o=0;function s(){let u=r;const{length:d}=arguments;for(let m=0,v=d;m{r=ad(),s.resetResultsCount()},s.resultsCount=()=>o,s.resetResultsCount=()=>{o=0},s}function q4(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let o=0,s=0,u,d={},f=i.pop();typeof f=="object"&&(d=f,f=i.pop()),z4(f,`createSelector expects an output function after the inputs, but received: [${typeof f}]`);const h={...r,...d},{memoize:m,memoizeOptions:v=[],argsMemoize:b=E2,argsMemoizeOptions:S=[]}=h,k=Cw(v),E=Cw(S),P=B4(i),j=m(function(){return o++,f.apply(null,arguments)},...k),_=b(function(){s++;const N=U4(P,arguments);return u=j.apply(null,N),u},...E);return Object.assign(_,{resultFunc:f,memoizedResultFunc:j,dependencies:P,dependencyRecomputations:()=>s,resetDependencyRecomputations:()=>{s=0},lastResult:()=>u,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:m,argsMemoize:b})};return Object.assign(n,{withTypes:()=>n}),n}var H=q4(E2);function G4(e,t=1){const r=[],n=Math.floor(t),i=(o,s)=>{for(let u=0;u{if(e!==t){const n=_w(e),i=_w(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function P2(e){return typeof e=="symbol"||e instanceof Symbol}const Q4=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X4=/^\w*$/;function Z4(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||P2(e)?!0:typeof e=="string"&&(X4.test(e)||!Q4.test(e))||t!=null}function J4(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(u=>String(u));const i=(u,d)=>{let f=u;for(let h=0;hd==null||u==null?d:typeof u=="object"&&"key"in u?Object.hasOwn(d,u.key)?d[u.key]:i(d,u.path):typeof u=="function"?u(d):Array.isArray(u)?i(d,u):typeof d=="object"?d[u]:d,s=t.map(u=>(Array.isArray(u)&&u.length===1&&(u=u[0]),u==null||typeof u=="function"||Array.isArray(u)||Z4(u)?u:{key:u,path:ny(u)}));return e.map(u=>({original:u,criteria:s.map(d=>o(d,u))})).slice().sort((u,d)=>{for(let f=0;fu.original)}function Wf(e,...t){const r=t.length;return r>1&&Gv(e,t[0],t[1])?t=[]:r>2&&Gv(t[0],t[1],t[2])&&(t=[t[0]]),J4(e,G4(t),["asc"])}var A2=e=>e.legend.settings,e$=e=>e.legend.size,t$=e=>e.legend.payload;H([t$,A2],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Wf(n,r):n});function r$(e,t){return o$(e)||a$(e,t)||i$(e,t)||n$()}function n$(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function i$(e,t){if(e){if(typeof e=="string")return Nw(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Nw(e,t):void 0}}function Nw(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rod||Math.abs(e.left-t.left)>od||Math.abs(e.top-t.top)>od||Math.abs(e.width-t.width)>od}function Mw(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function l$(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=y.useState({height:0,left:0,top:0,width:0}),r=r$(t,2),n=r[0],i=r[1],o=y.useRef(null),s=y.useRef(n);s.current=n;var u=y.useCallback(d=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),d!=null){var f=Mw(d);if(Iw(f,s.current)&&i(f),typeof ResizeObserver<"u"){var h=new ResizeObserver(()=>{var m=Mw(d);Iw(m,s.current)&&i(m)});h.observe(d),o.current=h}}},[...e]);return y.useEffect(()=>()=>{var d;(d=o.current)===null||d===void 0||d.disconnect()},[]),[n,u]}function $t(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var s$=typeof Symbol=="function"&&Symbol.observable||"@@observable",Tw=s$,Bm=()=>Math.random().toString(36).substring(7).split("").join("."),u$={INIT:`@@redux/INIT${Bm()}`,REPLACE:`@@redux/REPLACE${Bm()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Bm()}`},Rd=u$;function sy(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function O2(e,t,r){if(typeof e!="function")throw new Error($t(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error($t(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error($t(1));return r(O2)(e,t)}let n=e,i=t,o=new Map,s=o,u=0,d=!1;function f(){s===o&&(s=new Map,o.forEach((E,P)=>{s.set(P,E)}))}function h(){if(d)throw new Error($t(3));return i}function m(E){if(typeof E!="function")throw new Error($t(4));if(d)throw new Error($t(5));let P=!0;f();const j=u++;return s.set(j,E),function(){if(P){if(d)throw new Error($t(6));P=!1,f(),s.delete(j),o=null}}}function v(E){if(!sy(E))throw new Error($t(7));if(typeof E.type>"u")throw new Error($t(8));if(typeof E.type!="string")throw new Error($t(17));if(d)throw new Error($t(9));try{d=!0,i=n(i,E)}finally{d=!1}return(o=s).forEach(j=>{j()}),E}function b(E){if(typeof E!="function")throw new Error($t(10));n=E,v({type:Rd.REPLACE})}function S(){const E=m;return{subscribe(P){if(typeof P!="object"||P===null)throw new Error($t(11));function j(){const O=P;O.next&&O.next(h())}return j(),{unsubscribe:E(j)}},[Tw](){return this}}}return v({type:Rd.INIT}),{dispatch:v,subscribe:m,getState:h,replaceReducer:b,[Tw]:S}}function c$(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:Rd.INIT})>"u")throw new Error($t(12));if(typeof r(void 0,{type:Rd.PROBE_UNKNOWN_ACTION()})>"u")throw new Error($t(13))})}function C2(e){const t=Object.keys(e),r={};for(let o=0;o"u")throw u&&u.type,new Error($t(14));f[m]=S,d=d||S!==b}return d=d||n.length!==Object.keys(s).length,d?f:s}}function $d(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function d$(...e){return t=>(r,n)=>{const i=t(r,n);let o=()=>{throw new Error($t(15))};const s={getState:i.getState,dispatch:(d,...f)=>o(d,...f)},u=e.map(d=>d(s));return o=$d(...u)(i.dispatch),{...i,dispatch:o}}}function j2(e){return sy(e)&&"type"in e&&typeof e.type=="string"}var _2=Symbol.for("immer-nothing"),Dw=Symbol.for("immer-draftable"),ar=Symbol.for("immer-state");function nn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ar=Object,ml=Ar.getPrototypeOf,Ld="constructor",Hf="prototype",Yv="configurable",zd="enumerable",Ad="writable",Js="value",ri=e=>!!e&&!!e[ar];function sn(e){var t;return e?N2(e)||Vf(e)||!!e[Dw]||!!((t=e[Ld])!=null&&t[Dw])||qf(e)||Gf(e):!1}var f$=Ar[Hf][Ld].toString(),Rw=new WeakMap;function N2(e){if(!e||!uy(e))return!1;const t=ml(e);if(t===null||t===Ar[Hf])return!0;const r=Ar.hasOwnProperty.call(t,Ld)&&t[Ld];if(r===Object)return!0;if(!Wo(r))return!1;let n=Rw.get(r);return n===void 0&&(n=Function.toString.call(r),Rw.set(r,n)),n===f$}function Kf(e,t,r=!0){Eu(e)===0?(r?Reflect.ownKeys(e):Ar.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Eu(e){const t=e[ar];return t?t.type_:Vf(e)?1:qf(e)?2:Gf(e)?3:0}var $w=(e,t,r=Eu(e))=>r===2?e.has(t):Ar[Hf].hasOwnProperty.call(e,t),Qv=(e,t,r=Eu(e))=>r===2?e.get(t):e[t],Fd=(e,t,r,n=Eu(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function h$(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Vf=Array.isArray,qf=e=>e instanceof Map,Gf=e=>e instanceof Set,uy=e=>typeof e=="object",Wo=e=>typeof e=="function",Um=e=>typeof e=="boolean";function p$(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var Vn=e=>e.copy_||e.base_,cy=e=>e.modified_?e.copy_:e.base_;function Xv(e,t){if(qf(e))return new Map(e);if(Gf(e))return new Set(e);if(Vf(e))return Array[Hf].slice.call(e);const r=N2(e);if(t===!0||t==="class_only"&&!r){const n=Ar.getOwnPropertyDescriptors(e);delete n[ar];let i=Reflect.ownKeys(n);for(let o=0;o1&&Ar.defineProperties(e,{set:ld,add:ld,clear:ld,delete:ld}),Ar.freeze(e),t&&Kf(e,(r,n)=>{dy(n,!0)},!1)),e}function m$(){nn(2)}var ld={[Js]:m$};function Yf(e){return e===null||!uy(e)?!0:Ar.isFrozen(e)}var Bd="MapSet",Zv="Patches",Lw="ArrayMethods",I2={};function Va(e){const t=I2[e];return t||nn(0,e),t}var zw=e=>!!I2[e],eu,M2=()=>eu,v$=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:zw(Bd)?Va(Bd):void 0,arrayMethodsPlugin_:zw(Lw)?Va(Lw):void 0});function Fw(e,t){t&&(e.patchPlugin_=Va(Zv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Jv(e){eg(e),e.drafts_.forEach(g$),e.drafts_=null}function eg(e){e===eu&&(eu=e.parent_)}var Bw=e=>eu=v$(eu,e);function g$(e){const t=e[ar];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Uw(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[ar].modified_&&(Jv(t),nn(4)),sn(e)&&(e=Ww(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[ar].base_,e,t)}else e=Ww(t,r);return y$(t,e,!0),Jv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==_2?e:void 0}function Ww(e,t){if(Yf(t))return t;const r=t[ar];if(!r)return Ud(t,e.handledSet_,e);if(!Qf(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);R2(r,e)}return r.copy_}function y$(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&dy(t,r)}function T2(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Qf=(e,t)=>e.scope_===t,x$=[];function D2(e,t,r,n){const i=Vn(e),o=e.type_;if(n!==void 0&&Qv(i,n,o)===t){Fd(i,n,r,o);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;Kf(i,(d,f)=>{if(ri(f)){const h=u.get(f)||[];h.push(d),u.set(f,h)}})}const s=e.draftLocations_.get(t)??x$;for(const u of s)Fd(i,u,r,o)}function b$(e,t,r){e.callbacks_.push(function(i){var u;const o=t;if(!o||!Qf(o,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(o);const s=cy(o);D2(e,o.draft_??o,s,r),R2(o,i)})}function R2(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const o=i.getPath(e);o&&i.generatePatches_(e,o,t)}T2(e)}}function w$(e,t,r){const{scope_:n}=e;if(ri(r)){const i=r[ar];Qf(i,n)&&i.callbacks_.push(function(){Od(e);const s=cy(i);D2(e,r,s,t)})}else sn(r)&&e.callbacks_.push(function(){const o=Vn(e);e.type_===3?o.has(r)&&Ud(r,n.handledSet_,n):Qv(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Ud(Qv(e.copy_,t,e.type_),n.handledSet_,n)})}function Ud(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||ri(e)||t.has(e)||!sn(e)||Yf(e)||(t.add(e),Kf(e,(n,i)=>{if(ri(i)){const o=i[ar];if(Qf(o,r)){const s=cy(o);Fd(e,n,s,e.type_),T2(o)}}else sn(i)&&Ud(i,t,r)})),e}function k$(e,t){const r=Vf(e),n={type_:r?1:0,scope_:t?t.scope_:M2(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,o=Wd;r&&(i=[n],o=tu);const{revoke:s,proxy:u}=Proxy.revocable(i,o);return n.draft_=u,n.revoke_=s,[u,n]}var Wd={get(e,t){if(t===ar)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=Vn(e);if(!$w(i,t,e.type_))return S$(e,i,t);const o=i[t];if(e.finalized_||!sn(o)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&p$(t))return o;if(o===Wm(e.base_,t)){Od(e);const s=e.type_===1?+t:t,u=rg(e.scope_,o,e,s);return e.copy_[s]=u}return o},has(e,t){return t in Vn(e)},ownKeys(e){return Reflect.ownKeys(Vn(e))},set(e,t,r){const n=$2(Vn(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Wm(Vn(e),t),o=i==null?void 0:i[ar];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(h$(r,i)&&(r!==void 0||$w(e.base_,t,e.type_)))return!0;Od(e),tg(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),w$(e,t,r)),!0},deleteProperty(e,t){return Od(e),Wm(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),tg(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=Vn(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Ad]:!0,[Yv]:e.type_!==1||t!=="length",[zd]:n[zd],[Js]:r[t]}},defineProperty(){nn(11)},getPrototypeOf(e){return ml(e.base_)},setPrototypeOf(){nn(12)}},tu={};for(let e in Wd){let t=Wd[e];tu[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}tu.deleteProperty=function(e,t){return tu.set.call(this,e,t,void 0)};tu.set=function(e,t,r){return Wd.set.call(this,e[0],t,r,e[0])};function Wm(e,t){const r=e[ar];return(r?Vn(r):e)[t]}function S$(e,t,r){var i;const n=$2(t,r);return n?Js in n?n[Js]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function $2(e,t){if(!(t in e))return;let r=ml(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=ml(r)}}function tg(e){e.modified_||(e.modified_=!0,e.parent_&&tg(e.parent_))}function Od(e){e.copy_||(e.assigned_=new Map,e.copy_=Xv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var E$=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(Wo(r)&&!Wo(n)){const s=n;n=r;const u=this;return function(f=s,...h){return u.produce(f,m=>n.call(this,m,...h))}}Wo(n)||nn(6),i!==void 0&&!Wo(i)&&nn(7);let o;if(sn(r)){const s=Bw(this),u=rg(s,r,void 0);let d=!0;try{o=n(u),d=!1}finally{d?Jv(s):eg(s)}return Fw(s,i),Uw(o,s)}else if(!r||!uy(r)){if(o=n(r),o===void 0&&(o=r),o===_2&&(o=void 0),this.autoFreeze_&&dy(o,!0),i){const s=[],u=[];Va(Zv).generateReplacementPatches_(r,o,{patches_:s,inversePatches_:u}),i(s,u)}return o}else nn(1,r)},this.produceWithPatches=(r,n)=>{if(Wo(r))return(u,...d)=>this.produceWithPatches(u,f=>r(f,...d));let i,o;return[this.produce(r,n,(u,d)=>{i=u,o=d}),i,o]},Um(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Um(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Um(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){sn(t)||nn(8),ri(t)&&(t=zr(t));const r=Bw(this),n=rg(r,t,void 0);return n[ar].isManual_=!0,eg(r),n}finishDraft(t,r){const n=t&&t[ar];(!n||!n.isManual_)&&nn(9);const{scope_:i}=n;return Fw(i,r),Uw(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const o=r[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(r=r.slice(n+1));const i=Va(Zv).applyPatches_;return ri(t)?i(t,r):this.produce(t,o=>i(o,r))}};function rg(e,t,r,n){const[i,o]=qf(t)?Va(Bd).proxyMap_(t,r):Gf(t)?Va(Bd).proxySet_(t,r):k$(t,r);return((r==null?void 0:r.scope_)??M2()).drafts_.push(i),o.callbacks_=(r==null?void 0:r.callbacks_)??[],o.key_=n,r&&n!==void 0?b$(r,o,n):o.callbacks_.push(function(d){var h;(h=d.mapSetPlugin_)==null||h.fixSetContents(o);const{patchPlugin_:f}=d;o.modified_&&f&&f.generatePatches_(o,[],d)}),i}function zr(e){return ri(e)||nn(10,e),L2(e)}function L2(e){if(!sn(e)||Yf(e))return e;const t=e[ar];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Xv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Xv(e,!0);return Kf(r,(i,o)=>{Fd(r,i,L2(o))},n),t&&(t.finalized_=!1),r}var P$=new E$,z2=P$.produce;function F2(e){return({dispatch:r,getState:n})=>i=>o=>typeof o=="function"?o(r,n,e):i(o)}var A$=F2(),O$=F2,C$=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?$d:$d.apply(null,arguments)};function Cr(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error(Or(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>j2(n)&&n.type===e,r}var B2=class Fs extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Fs.prototype)}static get[Symbol.species](){return Fs}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Fs(...t[0].concat(this)):new Fs(...t.concat(this))}};function Hw(e){return sn(e)?z2(e,()=>{}):e}function sd(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function j$(e){return typeof e=="boolean"}var _$=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let s=new B2;return r&&(j$(r)?s.push(A$):s.push(O$(r.extraArgument))),s},U2="RTK_autoBatch",rt=()=>e=>({payload:e,meta:{[U2]:!0}}),Kw=e=>t=>{setTimeout(t,e)},N$=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(s),r())},o=e(i),s=setTimeout(i,t)},W2=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,o=!1,s=!1;const u=new Set,d=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?N$(window.requestAnimationFrame,100):Kw(10):e.type==="callback"?e.queueNotification:Kw(e.timeout),f=()=>{s=!1,o&&(o=!1,u.forEach(h=>h()))};return Object.assign({},n,{subscribe(h){const m=()=>i&&h(),v=n.subscribe(m);return u.add(h),()=>{v(),u.delete(h)}},dispatch(h){var m;try{return i=!((m=h==null?void 0:h.meta)!=null&&m[U2]),o=!i,o&&(s||(s=!0,d(f))),n.dispatch(h)}finally{i=!0}}})},I$=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new B2(e);return n&&i.push(W2(typeof n=="object"?n:void 0)),i};function M$(e){const t=_$(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{};let u;if(typeof r=="function")u=r;else if(sy(r))u=C2(r);else throw new Error(Or(1));let d;typeof n=="function"?d=n(t):d=t();let f=$d;i&&(f=C$({trace:!1,...typeof i=="object"&&i}));const h=d$(...d),m=I$(h);let v=typeof s=="function"?s(m):m();const b=f(...v);return O2(u,o,b)}function H2(e){const t={},r=[];let n;const i={addCase(o,s){const u=typeof o=="string"?o:o.type;if(!u)throw new Error(Or(28));if(u in t)throw new Error(Or(29));return t[u]=s,i},addAsyncThunk(o,s){return s.pending&&(t[o.pending.type]=s.pending),s.rejected&&(t[o.rejected.type]=s.rejected),s.fulfilled&&(t[o.fulfilled.type]=s.fulfilled),s.settled&&r.push({matcher:o.settled,reducer:s.settled}),i},addMatcher(o,s){return r.push({matcher:o,reducer:s}),i},addDefaultCase(o){return n=o,i}};return e(i),[t,r,n]}function T$(e){return typeof e=="function"}function D$(e,t){let[r,n,i]=H2(t),o;if(T$(e))o=()=>Hw(e());else{const u=Hw(e);o=()=>u}function s(u=o(),d){let f=[r[d.type],...n.filter(({matcher:h})=>h(d)).map(({reducer:h})=>h)];return f.filter(h=>!!h).length===0&&(f=[i]),f.reduce((h,m)=>{if(m)if(ri(h)){const b=m(h,d);return b===void 0?h:b}else{if(sn(h))return z2(h,v=>m(v,d));{const v=m(h,d);if(v===void 0){if(h===null)return h;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}}return h},u)}return s.getInitialState=o,s}var R$="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",$$=(e=21)=>{let t="",r=e;for(;r--;)t+=R$[Math.random()*64|0];return t},L$=Symbol.for("rtk-slice-createasyncthunk");function z$(e,t){return`${e}/${t}`}function F$({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[L$];return function(i){const{name:o,reducerPath:s=o}=i;if(!o)throw new Error(Or(11));const u=(typeof i.reducers=="function"?i.reducers(U$()):i.reducers)||{},d=Object.keys(u),f={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},h={addCase(O,N){const C=typeof O=="string"?O:O.type;if(!C)throw new Error(Or(12));if(C in f.sliceCaseReducersByType)throw new Error(Or(13));return f.sliceCaseReducersByType[C]=N,h},addMatcher(O,N){return f.sliceMatchers.push({matcher:O,reducer:N}),h},exposeAction(O,N){return f.actionCreators[O]=N,h},exposeCaseReducer(O,N){return f.sliceCaseReducersByName[O]=N,h}};d.forEach(O=>{const N=u[O],C={reducerName:O,type:z$(o,O),createNotation:typeof i.reducers=="function"};H$(N)?V$(C,N,h,t):W$(C,N,h)});function m(){const[O={},N=[],C=void 0]=typeof i.extraReducers=="function"?H2(i.extraReducers):[i.extraReducers],R={...O,...f.sliceCaseReducersByType};return D$(i.initialState,z=>{for(let F in R)z.addCase(F,R[F]);for(let F of f.sliceMatchers)z.addMatcher(F.matcher,F.reducer);for(let F of N)z.addMatcher(F.matcher,F.reducer);C&&z.addDefaultCase(C)})}const v=O=>O,b=new Map,S=new WeakMap;let k;function E(O,N){return k||(k=m()),k(O,N)}function P(){return k||(k=m()),k.getInitialState()}function j(O,N=!1){function C(z){let F=z[O];return typeof F>"u"&&N&&(F=sd(S,C,P)),F}function R(z=v){const F=sd(b,N,()=>new WeakMap);return sd(F,z,()=>{const V={};for(const[Q,B]of Object.entries(i.selectors??{}))V[Q]=B$(B,z,()=>sd(S,z,P),N);return V})}return{reducerPath:O,getSelectors:R,get selectors(){return R(C)},selectSlice:C}}const _={name:o,reducer:E,actions:f.actionCreators,caseReducers:f.sliceCaseReducersByName,getInitialState:P,...j(s),injectInto(O,{reducerPath:N,...C}={}){const R=N??s;return O.inject({reducerPath:R,reducer:E},C),{..._,...j(R,!0)}}};return _}}function B$(e,t,r,n){function i(o,...s){let u=t(o);return typeof u>"u"&&n&&(u=r()),e(u,...s)}return i.unwrapped=e,i}var Jt=F$();function U$(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function W$({type:e,reducerName:t,createNotation:r},n,i){let o,s;if("reducer"in n){if(r&&!K$(n))throw new Error(Or(17));o=n.reducer,s=n.prepare}else o=n;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,s?Cr(e,s):Cr(e))}function H$(e){return e._reducerDefinitionType==="asyncThunk"}function K$(e){return e._reducerDefinitionType==="reducerWithPrepare"}function V$({type:e,reducerName:t},r,n,i){if(!i)throw new Error(Or(18));const{payloadCreator:o,fulfilled:s,pending:u,rejected:d,settled:f,options:h}=r,m=i(e,o,h);n.exposeAction(t,m),s&&n.addCase(m.fulfilled,s),u&&n.addCase(m.pending,u),d&&n.addCase(m.rejected,d),f&&n.addMatcher(m.settled,f),n.exposeCaseReducer(t,{fulfilled:s||ud,pending:u||ud,rejected:d||ud,settled:f||ud})}function ud(){}var q$="task",K2="listener",V2="completed",fy="cancelled",G$=`task-${fy}`,Y$=`task-${V2}`,ng=`${K2}-${fy}`,Q$=`${K2}-${V2}`,Xf=class{constructor(e){ks(this,"code");ks(this,"name","TaskAbortError");ks(this,"message");this.code=e,this.message=`${q$} ${fy} (reason: ${e})`}},hy=(e,t)=>{if(typeof e!="function")throw new TypeError(Or(32))},Hd=()=>{},q2=(e,t=Hd)=>(e.catch(t),e),G2=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Fa=e=>{if(e.aborted)throw new Xf(e.reason)};function Y2(e,t){let r=Hd;return new Promise((n,i)=>{const o=()=>i(new Xf(e.reason));if(e.aborted){o();return}r=G2(e,o),t.finally(()=>r()).then(n,i)}).finally(()=>{r=Hd})}var X$=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Xf?"cancelled":"rejected",error:r}}finally{t==null||t()}},Kd=e=>t=>q2(Y2(e,t).then(r=>(Fa(e),r))),Q2=e=>{const t=Kd(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:Xo}=Object,Vw={},Zf="listenerMiddleware",Z$=(e,t)=>{const r=n=>G2(e,()=>n.abort(e.reason));return(n,i)=>{hy(n);const o=new AbortController;r(o);const s=X$(async()=>{Fa(e),Fa(o.signal);const u=await n({pause:Kd(o.signal),delay:Q2(o.signal),signal:o.signal});return Fa(o.signal),u},()=>o.abort(Y$));return i!=null&&i.autoJoin&&t.push(s.catch(Hd)),{result:Kd(e)(s),cancel(){o.abort(G$)}}}},J$=(e,t)=>{const r=async(n,i)=>{Fa(t);let o=()=>{};const u=[new Promise((d,f)=>{let h=e({predicate:n,effect:(m,v)=>{v.unsubscribe(),d([m,v.getState(),v.getOriginalState()])}});o=()=>{h(),f()}})];i!=null&&u.push(new Promise(d=>setTimeout(d,i,null)));try{const d=await Y2(t,Promise.race(u));return Fa(t),d}finally{o()}};return((n,i)=>q2(r(n,i)))},X2=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:o}=e;if(t)i=Cr(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error(Or(21));return hy(o),{predicate:i,type:t,effect:o}},Z2=Xo(e=>{const{type:t,predicate:r,effect:n}=X2(e);return{id:$$(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(Or(22))}}},{withTypes:()=>Z2}),qw=(e,t)=>{const{type:r,effect:n,predicate:i}=X2(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===i)&&o.effect===n)},ig=e=>{e.pending.forEach(t=>{t.abort(ng)})},eL=(e,t)=>()=>{for(const r of t.keys())ig(r);e.clear()},Gw=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},J2=Xo(Cr(`${Zf}/add`),{withTypes:()=>J2}),tL=Cr(`${Zf}/removeAll`),eO=Xo(Cr(`${Zf}/remove`),{withTypes:()=>eO}),rL=(...e)=>{console.error(`${Zf}/error`,...e)},Pu=(e={})=>{const t=new Map,r=new Map,n=b=>{const S=r.get(b)??0;r.set(b,S+1)},i=b=>{const S=r.get(b)??1;S===1?r.delete(b):r.set(b,S-1)},{extra:o,onError:s=rL}=e;hy(s);const u=b=>(b.unsubscribe=()=>t.delete(b.id),t.set(b.id,b),S=>{b.unsubscribe(),S!=null&&S.cancelActive&&ig(b)}),d=(b=>{const S=qw(t,b)??Z2(b);return u(S)});Xo(d,{withTypes:()=>d});const f=b=>{const S=qw(t,b);return S&&(S.unsubscribe(),b.cancelActive&&ig(S)),!!S};Xo(f,{withTypes:()=>f});const h=async(b,S,k,E)=>{const P=new AbortController,j=J$(d,P.signal),_=[];try{b.pending.add(P),n(b),await Promise.resolve(b.effect(S,Xo({},k,{getOriginalState:E,condition:(O,N)=>j(O,N).then(Boolean),take:j,delay:Q2(P.signal),pause:Kd(P.signal),extra:o,signal:P.signal,fork:Z$(P.signal,_),unsubscribe:b.unsubscribe,subscribe:()=>{t.set(b.id,b)},cancelActiveListeners:()=>{b.pending.forEach((O,N,C)=>{O!==P&&(O.abort(ng),C.delete(O))})},cancel:()=>{P.abort(ng),b.pending.delete(P)},throwIfCancelled:()=>{Fa(P.signal)}})))}catch(O){O instanceof Xf||Gw(s,O,{raisedBy:"effect"})}finally{await Promise.all(_),P.abort(Q$),i(b),b.pending.delete(P)}},m=eL(t,r);return{middleware:b=>S=>k=>{if(!j2(k))return S(k);if(J2.match(k))return d(k.payload);if(tL.match(k)){m();return}if(eO.match(k))return f(k.payload);let E=b.getState();const P=()=>{if(E===Vw)throw new Error(Or(23));return E};let j;try{if(j=S(k),t.size>0){const _=b.getState(),O=Array.from(t.values());for(const N of O){let C=!1;try{C=N.predicate(k,_,E)}catch(R){C=!1,Gw(s,R,{raisedBy:"predicate"})}C&&h(N,k,b,P)}}}finally{E=Vw}return j},startListening:d,stopListening:f,clearListeners:m}};function Or(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var nL={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},tO=Jt({name:"chartLayout",initialState:nL,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,i,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),Jf=tO.actions,iL=Jf.setMargin,aL=Jf.setLayout,oL=Jf.setChartSize,lL=Jf.setScale,sL=tO.reducer;function rO(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function Fe(e){return Number.isFinite(e)}function _n(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Yw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ho(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,o=t.align,s=t.verticalAlign,u=t.layout;if((u==="vertical"||u==="horizontal"&&s==="middle")&&o!=="center"&&be(e[o]))return Ho(Ho({},e),{},{[o]:e[o]+(n||0)});if((u==="horizontal"||u==="vertical"&&o==="center")&&s!=="middle"&&be(e[s]))return Ho(Ho({},e),{},{[s]:e[s]+(i||0)})}return e},Tn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",nO=(e,t,r,n)=>{if(n)return e.map(u=>u.coordinate);var i,o,s=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===r&&(o=!0),u.coordinate));return i||s.push(t),o||s.push(r),s},iO=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,o=e.range,s=e.scale,u=e.realScaleType,d=e.isCategorical,f=e.categoricalDomain,h=e.tickCount,m=e.ticks,v=e.niceTicks,b=e.axisType;if(!s)return null;var S=u==="scaleBand"&&s.bandwidth?s.bandwidth()/2:2,k=i==="category"&&s.bandwidth?s.bandwidth()/S:0;if(k=b==="angleAxis"&&o&&o.length>=2?Lr(o[0]-o[1])*2*k:k,m||v){var E=(m||v||[]).map((P,j)=>{var _=n?n.indexOf(P):P,O=s.map(_);return Fe(O)?{coordinate:O+k,value:P,offset:k,index:j}:null}).filter(vr);return E}return d&&f?f.map((P,j)=>{var _=s.map(P);return Fe(_)?{coordinate:_+k,value:P,index:j,offset:k}:null}).filter(vr):s.ticks&&h!=null?s.ticks(h).map((P,j)=>{var _=s.map(P);return Fe(_)?{coordinate:_+k,value:P,index:j,offset:k}:null}).filter(vr):s.domain().map((P,j)=>{var _=s.map(P);return Fe(_)?{coordinate:_+k,value:n?n[P]:P,index:j,offset:k}:null}).filter(vr)},hL=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(f[0]=o,o+=v,f[1]=o):(f[0]=s,s+=v,f[1]=s)}}}},pL=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(d[0]=o,o+=f,d[1]=o):(d[0]=0,d[1]=0)}}}},mL={sign:hL,expand:N5,none:Ha,silhouette:I5,wiggle:M5,positive:pL},vL=(e,t,r)=>{var n,i=(n=mL[r])!==null&&n!==void 0?n:Ha,o=_5().keys(t).value((u,d)=>Number(Nt(u,d,0))).order(Hv).offset(i),s=o(e);return s.forEach((u,d)=>{u.forEach((f,h)=>{var m=Nt(e[h],t[d],0);Array.isArray(m)&&m.length===2&&be(m[0])&&be(m[1])&&(f[0]=m[0],f[1]=m[1])})}),s};function gL(e){return e==null?void 0:String(e)}function Qw(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,o=e.index,s=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Ut(i[t.dataKey])){var u=c2(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var d=Nt(i,Ut(s)?t.dataKey:s),f=t.scale.map(d);return be(f)?f:null}var yL=e=>{var t=e.flat(2).filter(be);return[Math.min(...t),Math.max(...t)]},xL=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],bL=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return xL(Object.keys(e).reduce((n,i)=>{var o=e[i];if(!o)return n;var s=o.stackedData,u=s.reduce((d,f)=>{var h=rO(f,t,r),m=yL(h);return!Fe(m[0])||!Fe(m[1])?d:[Math.min(d[0],m[0]),Math.max(d[1],m[1])]},[1/0,-1/0]);return[Math.min(u[0],n[0]),Math.max(u[1],n[1])]},[1/0,-1/0]))},Xw=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Zw=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Vd=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var i=Wf(t,h=>h.coordinate),o=1/0,s=1,u=i.length;s{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},kL=(e,t)=>t==="centric"?e.angle:e.radius,oi=e=>e.layout.width,li=e=>e.layout.height,SL=e=>e.layout.scale,oO=e=>e.layout.margin,eh=H(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),th=H(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),EL="data-recharts-item-index",PL="data-recharts-item-id",Au=60;function ek(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cd(e){for(var t=1;te.brush.height;function _L(e){var t=th(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Au;return r+i}return r},0)}function NL(e){var t=th(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Au;return r+i}return r},0)}function IL(e){var t=eh(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function ML(e){var t=eh(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Kt=H([oi,li,oO,jL,_L,NL,IL,ML,A2,e$],(e,t,r,n,i,o,s,u,d,f)=>{var h={left:(r.left||0)+i,right:(r.right||0)+o},m={top:(r.top||0)+s,bottom:(r.bottom||0)+u},v=cd(cd({},m),h),b=v.bottom;v.bottom+=n,v=fL(v,d,f);var S=e-v.left-v.right,k=t-v.top-v.bottom;return cd(cd({brushBottom:b},v),{},{width:Math.max(S,0),height:Math.max(k,0)})}),TL=H(Kt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),lO=H(oi,li,(e,t)=>({x:0,y:0,width:e,height:t})),DL=y.createContext(null),yr=()=>y.useContext(DL)!=null,rh=e=>e.brush,nh=H([rh,Kt,oO],(e,t,r)=>({height:e.height,x:be(e.x)?e.x:t.left,y:be(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:be(e.width)?e.width:t.width}));function RL(e,t,{signal:r,edges:n}={}){let i,o=null;const s=n!=null&&n.includes("leading"),u=n==null||n.includes("trailing"),d=()=>{o!==null&&(e.apply(i,o),i=void 0,o=null)},f=()=>{u&&d(),b()};let h=null;const m=()=>{h!=null&&clearTimeout(h),h=setTimeout(()=>{h=null,f()},t)},v=()=>{h!==null&&(clearTimeout(h),h=null)},b=()=>{v(),i=void 0,o=null},S=()=>{d()},k=function(...E){if(r!=null&&r.aborted)return;i=this,o=E;const P=h==null;m(),s&&P&&d()};return k.schedule=m,k.cancel=b,k.flush=S,r==null||r.addEventListener("abort",b,{once:!0}),k}function $L(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:o}=r,s=Array(2);n&&(s[0]="leading"),i&&(s[1]="trailing");let u,d=null;const f=RL(function(...v){u=e.apply(this,v),d=null},t,{edges:s}),h=function(...v){return o!=null&&(d===null&&(d=Date.now()),Date.now()-d>=o)?(u=e.apply(this,v),d=Date.now(),f.cancel(),f.schedule(),u):(f.apply(this,v),u)},m=()=>(f.flush(),u);return h.cancel=f.cancel,h.flush=m,h}function LL(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return $L(e,t,{leading:n,maxWait:t,trailing:i})}var qd=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;oi[s++]))}},En={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},sO=(e,t,r)=>{var n=r.width,i=n===void 0?En.width:n,o=r.height,s=o===void 0?En.height:o,u=r.aspect,d=r.maxHeight,f=Ka(i)?e:Number(i),h=Ka(s)?t:Number(s);return u&&u>0&&(f?h=f/u:h&&(f=h*u),d&&h!=null&&h>d&&(h=d)),{calculatedWidth:f,calculatedHeight:h}},zL={width:0,height:0,overflow:"visible"},FL={width:0,overflowX:"visible"},BL={height:0,overflowY:"visible"},UL={},WL=e=>{var t=e.width,r=e.height,n=Ka(t),i=Ka(r);return n&&i?zL:n?FL:i?BL:UL};function HL(e){var t=e.width,r=e.height,n=e.aspect,i=t,o=r;return i===void 0&&o===void 0?(i=En.width,o=En.height):i===void 0?i=n&&n>0?void 0:En.width:o===void 0&&(o=n&&n>0?void 0:En.height),{width:i,height:o}}var KL=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Gd(){return Gd=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return rz(i)?y.createElement(uO.Provider,{value:i},t):null}var py=()=>y.useContext(uO),nz=y.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?En.initialDimension:n,o=e.width,s=e.height,u=e.minWidth,d=u===void 0?En.minWidth:u,f=e.minHeight,h=e.maxHeight,m=e.children,v=e.debounce,b=v===void 0?En.debounce:v,S=e.id,k=e.className,E=e.onResize,P=e.style,j=P===void 0?{}:P,_=ez(e,KL),O=y.useRef(null),N=y.useRef();N.current=E,y.useImperativeHandle(t,()=>O.current);var C=y.useState({containerWidth:i.width,containerHeight:i.height}),R=YL(C,2),z=R[0],F=R[1],V=y.useCallback((fe,de)=>{F(Y=>{var ae=Math.round(fe),X=Math.round(de);return Y.containerWidth===ae&&Y.containerHeight===X?Y:{containerWidth:ae,containerHeight:X}})},[]);y.useEffect(()=>{if(O.current==null||typeof ResizeObserver>"u")return Al;var fe=M=>{var T,Z=M[0];if(Z!=null){var se=Z.contentRect,te=se.width,ce=se.height;V(te,ce),(T=N.current)===null||T===void 0||T.call(N,te,ce)}};b>0&&(fe=LL(fe,b,{trailing:!0,leading:!1}));var de=new ResizeObserver(fe),Y=O.current.getBoundingClientRect(),ae=Y.width,X=Y.height;return V(ae,X),de.observe(O.current),()=>{de.disconnect()}},[V,b]);var Q=z.containerWidth,B=z.containerHeight;qd(!r||r>0,"The aspect(%s) must be greater than zero.",r);var ue=sO(Q,B,{width:o,height:s,aspect:r,maxHeight:h}),G=ue.calculatedWidth,le=ue.calculatedHeight;return qd(Q<0||B<0||G!=null&&G>0||le!=null&&le>0,`The width(%s) and height(%s) of chart should be greater than 0, + */var Aw;function T4(){if(Aw)return Lm;Aw=1;var e=El(),t=M4();function r(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var n=typeof Object.is=="function"?Object.is:r,i=t.useSyncExternalStore,o=e.useRef,s=e.useEffect,u=e.useMemo,d=e.useDebugValue;return Lm.useSyncExternalStoreWithSelector=function(f,h,m,v,b){var S=o(null);if(S.current===null){var k={hasValue:!1,value:null};S.current=k}else k=S.current;S=u(function(){function P(C){if(!j){if(j=!0,_=C,C=v(C),b!==void 0&&k.hasValue){var R=k.value;if(b(R,C))return O=R}return O=C}if(R=O,n(_,C))return R;var z=v(C);return b!==void 0&&b(R,z)?(_=C,R):(_=C,O=z)}var j=!1,_,O,N=m===void 0?null:m;return[function(){return P(h())},N===null?void 0:function(){return P(N())}]},[h,m,v,b]);var E=i(f,S[0],S[1]);return s(function(){k.hasValue=!0,k.value=E},[E]),d(E),E},Lm}var Ow;function D4(){return Ow||(Ow=1,$m.exports=T4()),$m.exports}var R4=D4(),ly=y.createContext(null),$4=e=>e,xt=()=>{var e=y.useContext(ly);return e?e.store.dispatch:$4},Pd=()=>{},L4=()=>Pd,z4=(e,t)=>e===t;function Ee(e){var t=y.useContext(ly),r=y.useMemo(()=>t?n=>{if(n!=null)return e(n)}:Pd,[t,e]);return R4.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:L4,t?t.store.getState:Pd,t?t.store.getState:Pd,r,z4)}function F4(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function B4(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var Cw=e=>Array.isArray(e)?e:[e];function U4(e){const t=Array.isArray(e[0])?e[0]:e;return B4(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function W4(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?H4:WeakRef,S2=K4(),V4=0,jw=1;function ad(){return{s:V4,v:void 0,o:null,p:null}}function q4(e){return e instanceof S2?e.deref():e}function E2(e,t={}){let r=ad();const{resultEqualityCheck:n}=t;let i,o=0;function s(){let u=r;const{length:d}=arguments;for(let m=0,v=d;m{r=ad(),s.resetResultsCount()},s.resultsCount=()=>o,s.resetResultsCount=()=>{o=0},s}function G4(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let o=0,s=0,u,d={},f=i.pop();typeof f=="object"&&(d=f,f=i.pop()),F4(f,`createSelector expects an output function after the inputs, but received: [${typeof f}]`);const h={...r,...d},{memoize:m,memoizeOptions:v=[],argsMemoize:b=E2,argsMemoizeOptions:S=[]}=h,k=Cw(v),E=Cw(S),P=U4(i),j=m(function(){return o++,f.apply(null,arguments)},...k),_=b(function(){s++;const N=W4(P,arguments);return u=j.apply(null,N),u},...E);return Object.assign(_,{resultFunc:f,memoizedResultFunc:j,dependencies:P,dependencyRecomputations:()=>s,resetDependencyRecomputations:()=>{s=0},lastResult:()=>u,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:m,argsMemoize:b})};return Object.assign(n,{withTypes:()=>n}),n}var H=G4(E2);function Y4(e,t=1){const r=[],n=Math.floor(t),i=(o,s)=>{for(let u=0;u{if(e!==t){const n=_w(e),i=_w(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function P2(e){return typeof e=="symbol"||e instanceof Symbol}const X4=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z4=/^\w*$/;function J4(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||P2(e)?!0:typeof e=="string"&&(Z4.test(e)||!X4.test(e))||t!=null}function e$(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(u=>String(u));const i=(u,d)=>{let f=u;for(let h=0;hd==null||u==null?d:typeof u=="object"&&"key"in u?Object.hasOwn(d,u.key)?d[u.key]:i(d,u.path):typeof u=="function"?u(d):Array.isArray(u)?i(d,u):typeof d=="object"?d[u]:d,s=t.map(u=>(Array.isArray(u)&&u.length===1&&(u=u[0]),u==null||typeof u=="function"||Array.isArray(u)||J4(u)?u:{key:u,path:ny(u)}));return e.map(u=>({original:u,criteria:s.map(d=>o(d,u))})).slice().sort((u,d)=>{for(let f=0;fu.original)}function Wf(e,...t){const r=t.length;return r>1&&Gv(e,t[0],t[1])?t=[]:r>2&&Gv(t[0],t[1],t[2])&&(t=[t[0]]),e$(e,Y4(t),["asc"])}var A2=e=>e.legend.settings,t$=e=>e.legend.size,r$=e=>e.legend.payload;H([r$,A2],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Wf(n,r):n});function n$(e,t){return l$(e)||o$(e,t)||a$(e,t)||i$()}function i$(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a$(e,t){if(e){if(typeof e=="string")return Nw(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Nw(e,t):void 0}}function Nw(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rod||Math.abs(e.left-t.left)>od||Math.abs(e.top-t.top)>od||Math.abs(e.width-t.width)>od}function Mw(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function s$(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=y.useState({height:0,left:0,top:0,width:0}),r=n$(t,2),n=r[0],i=r[1],o=y.useRef(null),s=y.useRef(n);s.current=n;var u=y.useCallback(d=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),d!=null){var f=Mw(d);if(Iw(f,s.current)&&i(f),typeof ResizeObserver<"u"){var h=new ResizeObserver(()=>{var m=Mw(d);Iw(m,s.current)&&i(m)});h.observe(d),o.current=h}}},[...e]);return y.useEffect(()=>()=>{var d;(d=o.current)===null||d===void 0||d.disconnect()},[]),[n,u]}function $t(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var u$=typeof Symbol=="function"&&Symbol.observable||"@@observable",Tw=u$,Bm=()=>Math.random().toString(36).substring(7).split("").join("."),c$={INIT:`@@redux/INIT${Bm()}`,REPLACE:`@@redux/REPLACE${Bm()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Bm()}`},Rd=c$;function sy(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function O2(e,t,r){if(typeof e!="function")throw new Error($t(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error($t(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error($t(1));return r(O2)(e,t)}let n=e,i=t,o=new Map,s=o,u=0,d=!1;function f(){s===o&&(s=new Map,o.forEach((E,P)=>{s.set(P,E)}))}function h(){if(d)throw new Error($t(3));return i}function m(E){if(typeof E!="function")throw new Error($t(4));if(d)throw new Error($t(5));let P=!0;f();const j=u++;return s.set(j,E),function(){if(P){if(d)throw new Error($t(6));P=!1,f(),s.delete(j),o=null}}}function v(E){if(!sy(E))throw new Error($t(7));if(typeof E.type>"u")throw new Error($t(8));if(typeof E.type!="string")throw new Error($t(17));if(d)throw new Error($t(9));try{d=!0,i=n(i,E)}finally{d=!1}return(o=s).forEach(j=>{j()}),E}function b(E){if(typeof E!="function")throw new Error($t(10));n=E,v({type:Rd.REPLACE})}function S(){const E=m;return{subscribe(P){if(typeof P!="object"||P===null)throw new Error($t(11));function j(){const O=P;O.next&&O.next(h())}return j(),{unsubscribe:E(j)}},[Tw](){return this}}}return v({type:Rd.INIT}),{dispatch:v,subscribe:m,getState:h,replaceReducer:b,[Tw]:S}}function d$(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:Rd.INIT})>"u")throw new Error($t(12));if(typeof r(void 0,{type:Rd.PROBE_UNKNOWN_ACTION()})>"u")throw new Error($t(13))})}function C2(e){const t=Object.keys(e),r={};for(let o=0;o"u")throw u&&u.type,new Error($t(14));f[m]=S,d=d||S!==b}return d=d||n.length!==Object.keys(s).length,d?f:s}}function $d(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function f$(...e){return t=>(r,n)=>{const i=t(r,n);let o=()=>{throw new Error($t(15))};const s={getState:i.getState,dispatch:(d,...f)=>o(d,...f)},u=e.map(d=>d(s));return o=$d(...u)(i.dispatch),{...i,dispatch:o}}}function j2(e){return sy(e)&&"type"in e&&typeof e.type=="string"}var _2=Symbol.for("immer-nothing"),Dw=Symbol.for("immer-draftable"),ar=Symbol.for("immer-state");function nn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ar=Object,ml=Ar.getPrototypeOf,Ld="constructor",Hf="prototype",Yv="configurable",zd="enumerable",Ad="writable",Js="value",ri=e=>!!e&&!!e[ar];function sn(e){var t;return e?N2(e)||Vf(e)||!!e[Dw]||!!((t=e[Ld])!=null&&t[Dw])||qf(e)||Gf(e):!1}var h$=Ar[Hf][Ld].toString(),Rw=new WeakMap;function N2(e){if(!e||!uy(e))return!1;const t=ml(e);if(t===null||t===Ar[Hf])return!0;const r=Ar.hasOwnProperty.call(t,Ld)&&t[Ld];if(r===Object)return!0;if(!Wo(r))return!1;let n=Rw.get(r);return n===void 0&&(n=Function.toString.call(r),Rw.set(r,n)),n===h$}function Kf(e,t,r=!0){Eu(e)===0?(r?Reflect.ownKeys(e):Ar.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Eu(e){const t=e[ar];return t?t.type_:Vf(e)?1:qf(e)?2:Gf(e)?3:0}var $w=(e,t,r=Eu(e))=>r===2?e.has(t):Ar[Hf].hasOwnProperty.call(e,t),Qv=(e,t,r=Eu(e))=>r===2?e.get(t):e[t],Fd=(e,t,r,n=Eu(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function p$(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Vf=Array.isArray,qf=e=>e instanceof Map,Gf=e=>e instanceof Set,uy=e=>typeof e=="object",Wo=e=>typeof e=="function",Um=e=>typeof e=="boolean";function m$(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var Vn=e=>e.copy_||e.base_,cy=e=>e.modified_?e.copy_:e.base_;function Xv(e,t){if(qf(e))return new Map(e);if(Gf(e))return new Set(e);if(Vf(e))return Array[Hf].slice.call(e);const r=N2(e);if(t===!0||t==="class_only"&&!r){const n=Ar.getOwnPropertyDescriptors(e);delete n[ar];let i=Reflect.ownKeys(n);for(let o=0;o1&&Ar.defineProperties(e,{set:ld,add:ld,clear:ld,delete:ld}),Ar.freeze(e),t&&Kf(e,(r,n)=>{dy(n,!0)},!1)),e}function v$(){nn(2)}var ld={[Js]:v$};function Yf(e){return e===null||!uy(e)?!0:Ar.isFrozen(e)}var Bd="MapSet",Zv="Patches",Lw="ArrayMethods",I2={};function Va(e){const t=I2[e];return t||nn(0,e),t}var zw=e=>!!I2[e],eu,M2=()=>eu,g$=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:zw(Bd)?Va(Bd):void 0,arrayMethodsPlugin_:zw(Lw)?Va(Lw):void 0});function Fw(e,t){t&&(e.patchPlugin_=Va(Zv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Jv(e){eg(e),e.drafts_.forEach(y$),e.drafts_=null}function eg(e){e===eu&&(eu=e.parent_)}var Bw=e=>eu=g$(eu,e);function y$(e){const t=e[ar];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Uw(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[ar].modified_&&(Jv(t),nn(4)),sn(e)&&(e=Ww(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[ar].base_,e,t)}else e=Ww(t,r);return x$(t,e,!0),Jv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==_2?e:void 0}function Ww(e,t){if(Yf(t))return t;const r=t[ar];if(!r)return Ud(t,e.handledSet_,e);if(!Qf(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);R2(r,e)}return r.copy_}function x$(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&dy(t,r)}function T2(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Qf=(e,t)=>e.scope_===t,b$=[];function D2(e,t,r,n){const i=Vn(e),o=e.type_;if(n!==void 0&&Qv(i,n,o)===t){Fd(i,n,r,o);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;Kf(i,(d,f)=>{if(ri(f)){const h=u.get(f)||[];h.push(d),u.set(f,h)}})}const s=e.draftLocations_.get(t)??b$;for(const u of s)Fd(i,u,r,o)}function w$(e,t,r){e.callbacks_.push(function(i){var u;const o=t;if(!o||!Qf(o,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(o);const s=cy(o);D2(e,o.draft_??o,s,r),R2(o,i)})}function R2(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const o=i.getPath(e);o&&i.generatePatches_(e,o,t)}T2(e)}}function k$(e,t,r){const{scope_:n}=e;if(ri(r)){const i=r[ar];Qf(i,n)&&i.callbacks_.push(function(){Od(e);const s=cy(i);D2(e,r,s,t)})}else sn(r)&&e.callbacks_.push(function(){const o=Vn(e);e.type_===3?o.has(r)&&Ud(r,n.handledSet_,n):Qv(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Ud(Qv(e.copy_,t,e.type_),n.handledSet_,n)})}function Ud(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||ri(e)||t.has(e)||!sn(e)||Yf(e)||(t.add(e),Kf(e,(n,i)=>{if(ri(i)){const o=i[ar];if(Qf(o,r)){const s=cy(o);Fd(e,n,s,e.type_),T2(o)}}else sn(i)&&Ud(i,t,r)})),e}function S$(e,t){const r=Vf(e),n={type_:r?1:0,scope_:t?t.scope_:M2(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,o=Wd;r&&(i=[n],o=tu);const{revoke:s,proxy:u}=Proxy.revocable(i,o);return n.draft_=u,n.revoke_=s,[u,n]}var Wd={get(e,t){if(t===ar)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=Vn(e);if(!$w(i,t,e.type_))return E$(e,i,t);const o=i[t];if(e.finalized_||!sn(o)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&m$(t))return o;if(o===Wm(e.base_,t)){Od(e);const s=e.type_===1?+t:t,u=rg(e.scope_,o,e,s);return e.copy_[s]=u}return o},has(e,t){return t in Vn(e)},ownKeys(e){return Reflect.ownKeys(Vn(e))},set(e,t,r){const n=$2(Vn(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Wm(Vn(e),t),o=i==null?void 0:i[ar];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(p$(r,i)&&(r!==void 0||$w(e.base_,t,e.type_)))return!0;Od(e),tg(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),k$(e,t,r)),!0},deleteProperty(e,t){return Od(e),Wm(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),tg(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=Vn(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Ad]:!0,[Yv]:e.type_!==1||t!=="length",[zd]:n[zd],[Js]:r[t]}},defineProperty(){nn(11)},getPrototypeOf(e){return ml(e.base_)},setPrototypeOf(){nn(12)}},tu={};for(let e in Wd){let t=Wd[e];tu[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}tu.deleteProperty=function(e,t){return tu.set.call(this,e,t,void 0)};tu.set=function(e,t,r){return Wd.set.call(this,e[0],t,r,e[0])};function Wm(e,t){const r=e[ar];return(r?Vn(r):e)[t]}function E$(e,t,r){var i;const n=$2(t,r);return n?Js in n?n[Js]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function $2(e,t){if(!(t in e))return;let r=ml(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=ml(r)}}function tg(e){e.modified_||(e.modified_=!0,e.parent_&&tg(e.parent_))}function Od(e){e.copy_||(e.assigned_=new Map,e.copy_=Xv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var P$=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(Wo(r)&&!Wo(n)){const s=n;n=r;const u=this;return function(f=s,...h){return u.produce(f,m=>n.call(this,m,...h))}}Wo(n)||nn(6),i!==void 0&&!Wo(i)&&nn(7);let o;if(sn(r)){const s=Bw(this),u=rg(s,r,void 0);let d=!0;try{o=n(u),d=!1}finally{d?Jv(s):eg(s)}return Fw(s,i),Uw(o,s)}else if(!r||!uy(r)){if(o=n(r),o===void 0&&(o=r),o===_2&&(o=void 0),this.autoFreeze_&&dy(o,!0),i){const s=[],u=[];Va(Zv).generateReplacementPatches_(r,o,{patches_:s,inversePatches_:u}),i(s,u)}return o}else nn(1,r)},this.produceWithPatches=(r,n)=>{if(Wo(r))return(u,...d)=>this.produceWithPatches(u,f=>r(f,...d));let i,o;return[this.produce(r,n,(u,d)=>{i=u,o=d}),i,o]},Um(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Um(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Um(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){sn(t)||nn(8),ri(t)&&(t=zr(t));const r=Bw(this),n=rg(r,t,void 0);return n[ar].isManual_=!0,eg(r),n}finishDraft(t,r){const n=t&&t[ar];(!n||!n.isManual_)&&nn(9);const{scope_:i}=n;return Fw(i,r),Uw(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const o=r[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(r=r.slice(n+1));const i=Va(Zv).applyPatches_;return ri(t)?i(t,r):this.produce(t,o=>i(o,r))}};function rg(e,t,r,n){const[i,o]=qf(t)?Va(Bd).proxyMap_(t,r):Gf(t)?Va(Bd).proxySet_(t,r):S$(t,r);return((r==null?void 0:r.scope_)??M2()).drafts_.push(i),o.callbacks_=(r==null?void 0:r.callbacks_)??[],o.key_=n,r&&n!==void 0?w$(r,o,n):o.callbacks_.push(function(d){var h;(h=d.mapSetPlugin_)==null||h.fixSetContents(o);const{patchPlugin_:f}=d;o.modified_&&f&&f.generatePatches_(o,[],d)}),i}function zr(e){return ri(e)||nn(10,e),L2(e)}function L2(e){if(!sn(e)||Yf(e))return e;const t=e[ar];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Xv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Xv(e,!0);return Kf(r,(i,o)=>{Fd(r,i,L2(o))},n),t&&(t.finalized_=!1),r}var A$=new P$,z2=A$.produce;function F2(e){return({dispatch:r,getState:n})=>i=>o=>typeof o=="function"?o(r,n,e):i(o)}var O$=F2(),C$=F2,j$=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?$d:$d.apply(null,arguments)};function Cr(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error(Or(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>j2(n)&&n.type===e,r}var B2=class Fs extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Fs.prototype)}static get[Symbol.species](){return Fs}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Fs(...t[0].concat(this)):new Fs(...t.concat(this))}};function Hw(e){return sn(e)?z2(e,()=>{}):e}function sd(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function _$(e){return typeof e=="boolean"}var N$=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let s=new B2;return r&&(_$(r)?s.push(O$):s.push(C$(r.extraArgument))),s},U2="RTK_autoBatch",rt=()=>e=>({payload:e,meta:{[U2]:!0}}),Kw=e=>t=>{setTimeout(t,e)},I$=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(s),r())},o=e(i),s=setTimeout(i,t)},W2=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,o=!1,s=!1;const u=new Set,d=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?I$(window.requestAnimationFrame,100):Kw(10):e.type==="callback"?e.queueNotification:Kw(e.timeout),f=()=>{s=!1,o&&(o=!1,u.forEach(h=>h()))};return Object.assign({},n,{subscribe(h){const m=()=>i&&h(),v=n.subscribe(m);return u.add(h),()=>{v(),u.delete(h)}},dispatch(h){var m;try{return i=!((m=h==null?void 0:h.meta)!=null&&m[U2]),o=!i,o&&(s||(s=!0,d(f))),n.dispatch(h)}finally{i=!0}}})},M$=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new B2(e);return n&&i.push(W2(typeof n=="object"?n:void 0)),i};function T$(e){const t=N$(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{};let u;if(typeof r=="function")u=r;else if(sy(r))u=C2(r);else throw new Error(Or(1));let d;typeof n=="function"?d=n(t):d=t();let f=$d;i&&(f=j$({trace:!1,...typeof i=="object"&&i}));const h=f$(...d),m=M$(h);let v=typeof s=="function"?s(m):m();const b=f(...v);return O2(u,o,b)}function H2(e){const t={},r=[];let n;const i={addCase(o,s){const u=typeof o=="string"?o:o.type;if(!u)throw new Error(Or(28));if(u in t)throw new Error(Or(29));return t[u]=s,i},addAsyncThunk(o,s){return s.pending&&(t[o.pending.type]=s.pending),s.rejected&&(t[o.rejected.type]=s.rejected),s.fulfilled&&(t[o.fulfilled.type]=s.fulfilled),s.settled&&r.push({matcher:o.settled,reducer:s.settled}),i},addMatcher(o,s){return r.push({matcher:o,reducer:s}),i},addDefaultCase(o){return n=o,i}};return e(i),[t,r,n]}function D$(e){return typeof e=="function"}function R$(e,t){let[r,n,i]=H2(t),o;if(D$(e))o=()=>Hw(e());else{const u=Hw(e);o=()=>u}function s(u=o(),d){let f=[r[d.type],...n.filter(({matcher:h})=>h(d)).map(({reducer:h})=>h)];return f.filter(h=>!!h).length===0&&(f=[i]),f.reduce((h,m)=>{if(m)if(ri(h)){const b=m(h,d);return b===void 0?h:b}else{if(sn(h))return z2(h,v=>m(v,d));{const v=m(h,d);if(v===void 0){if(h===null)return h;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}}return h},u)}return s.getInitialState=o,s}var $$="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",L$=(e=21)=>{let t="",r=e;for(;r--;)t+=$$[Math.random()*64|0];return t},z$=Symbol.for("rtk-slice-createasyncthunk");function F$(e,t){return`${e}/${t}`}function B$({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[z$];return function(i){const{name:o,reducerPath:s=o}=i;if(!o)throw new Error(Or(11));const u=(typeof i.reducers=="function"?i.reducers(W$()):i.reducers)||{},d=Object.keys(u),f={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},h={addCase(O,N){const C=typeof O=="string"?O:O.type;if(!C)throw new Error(Or(12));if(C in f.sliceCaseReducersByType)throw new Error(Or(13));return f.sliceCaseReducersByType[C]=N,h},addMatcher(O,N){return f.sliceMatchers.push({matcher:O,reducer:N}),h},exposeAction(O,N){return f.actionCreators[O]=N,h},exposeCaseReducer(O,N){return f.sliceCaseReducersByName[O]=N,h}};d.forEach(O=>{const N=u[O],C={reducerName:O,type:F$(o,O),createNotation:typeof i.reducers=="function"};K$(N)?q$(C,N,h,t):H$(C,N,h)});function m(){const[O={},N=[],C=void 0]=typeof i.extraReducers=="function"?H2(i.extraReducers):[i.extraReducers],R={...O,...f.sliceCaseReducersByType};return R$(i.initialState,z=>{for(let F in R)z.addCase(F,R[F]);for(let F of f.sliceMatchers)z.addMatcher(F.matcher,F.reducer);for(let F of N)z.addMatcher(F.matcher,F.reducer);C&&z.addDefaultCase(C)})}const v=O=>O,b=new Map,S=new WeakMap;let k;function E(O,N){return k||(k=m()),k(O,N)}function P(){return k||(k=m()),k.getInitialState()}function j(O,N=!1){function C(z){let F=z[O];return typeof F>"u"&&N&&(F=sd(S,C,P)),F}function R(z=v){const F=sd(b,N,()=>new WeakMap);return sd(F,z,()=>{const V={};for(const[Q,B]of Object.entries(i.selectors??{}))V[Q]=U$(B,z,()=>sd(S,z,P),N);return V})}return{reducerPath:O,getSelectors:R,get selectors(){return R(C)},selectSlice:C}}const _={name:o,reducer:E,actions:f.actionCreators,caseReducers:f.sliceCaseReducersByName,getInitialState:P,...j(s),injectInto(O,{reducerPath:N,...C}={}){const R=N??s;return O.inject({reducerPath:R,reducer:E},C),{..._,...j(R,!0)}}};return _}}function U$(e,t,r,n){function i(o,...s){let u=t(o);return typeof u>"u"&&n&&(u=r()),e(u,...s)}return i.unwrapped=e,i}var Jt=B$();function W$(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function H$({type:e,reducerName:t,createNotation:r},n,i){let o,s;if("reducer"in n){if(r&&!V$(n))throw new Error(Or(17));o=n.reducer,s=n.prepare}else o=n;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,s?Cr(e,s):Cr(e))}function K$(e){return e._reducerDefinitionType==="asyncThunk"}function V$(e){return e._reducerDefinitionType==="reducerWithPrepare"}function q$({type:e,reducerName:t},r,n,i){if(!i)throw new Error(Or(18));const{payloadCreator:o,fulfilled:s,pending:u,rejected:d,settled:f,options:h}=r,m=i(e,o,h);n.exposeAction(t,m),s&&n.addCase(m.fulfilled,s),u&&n.addCase(m.pending,u),d&&n.addCase(m.rejected,d),f&&n.addMatcher(m.settled,f),n.exposeCaseReducer(t,{fulfilled:s||ud,pending:u||ud,rejected:d||ud,settled:f||ud})}function ud(){}var G$="task",K2="listener",V2="completed",fy="cancelled",Y$=`task-${fy}`,Q$=`task-${V2}`,ng=`${K2}-${fy}`,X$=`${K2}-${V2}`,Xf=class{constructor(e){ks(this,"code");ks(this,"name","TaskAbortError");ks(this,"message");this.code=e,this.message=`${G$} ${fy} (reason: ${e})`}},hy=(e,t)=>{if(typeof e!="function")throw new TypeError(Or(32))},Hd=()=>{},q2=(e,t=Hd)=>(e.catch(t),e),G2=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Fa=e=>{if(e.aborted)throw new Xf(e.reason)};function Y2(e,t){let r=Hd;return new Promise((n,i)=>{const o=()=>i(new Xf(e.reason));if(e.aborted){o();return}r=G2(e,o),t.finally(()=>r()).then(n,i)}).finally(()=>{r=Hd})}var Z$=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Xf?"cancelled":"rejected",error:r}}finally{t==null||t()}},Kd=e=>t=>q2(Y2(e,t).then(r=>(Fa(e),r))),Q2=e=>{const t=Kd(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:Xo}=Object,Vw={},Zf="listenerMiddleware",J$=(e,t)=>{const r=n=>G2(e,()=>n.abort(e.reason));return(n,i)=>{hy(n);const o=new AbortController;r(o);const s=Z$(async()=>{Fa(e),Fa(o.signal);const u=await n({pause:Kd(o.signal),delay:Q2(o.signal),signal:o.signal});return Fa(o.signal),u},()=>o.abort(Q$));return i!=null&&i.autoJoin&&t.push(s.catch(Hd)),{result:Kd(e)(s),cancel(){o.abort(Y$)}}}},eL=(e,t)=>{const r=async(n,i)=>{Fa(t);let o=()=>{};const u=[new Promise((d,f)=>{let h=e({predicate:n,effect:(m,v)=>{v.unsubscribe(),d([m,v.getState(),v.getOriginalState()])}});o=()=>{h(),f()}})];i!=null&&u.push(new Promise(d=>setTimeout(d,i,null)));try{const d=await Y2(t,Promise.race(u));return Fa(t),d}finally{o()}};return((n,i)=>q2(r(n,i)))},X2=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:o}=e;if(t)i=Cr(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error(Or(21));return hy(o),{predicate:i,type:t,effect:o}},Z2=Xo(e=>{const{type:t,predicate:r,effect:n}=X2(e);return{id:L$(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(Or(22))}}},{withTypes:()=>Z2}),qw=(e,t)=>{const{type:r,effect:n,predicate:i}=X2(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===i)&&o.effect===n)},ig=e=>{e.pending.forEach(t=>{t.abort(ng)})},tL=(e,t)=>()=>{for(const r of t.keys())ig(r);e.clear()},Gw=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},J2=Xo(Cr(`${Zf}/add`),{withTypes:()=>J2}),rL=Cr(`${Zf}/removeAll`),eO=Xo(Cr(`${Zf}/remove`),{withTypes:()=>eO}),nL=(...e)=>{console.error(`${Zf}/error`,...e)},Pu=(e={})=>{const t=new Map,r=new Map,n=b=>{const S=r.get(b)??0;r.set(b,S+1)},i=b=>{const S=r.get(b)??1;S===1?r.delete(b):r.set(b,S-1)},{extra:o,onError:s=nL}=e;hy(s);const u=b=>(b.unsubscribe=()=>t.delete(b.id),t.set(b.id,b),S=>{b.unsubscribe(),S!=null&&S.cancelActive&&ig(b)}),d=(b=>{const S=qw(t,b)??Z2(b);return u(S)});Xo(d,{withTypes:()=>d});const f=b=>{const S=qw(t,b);return S&&(S.unsubscribe(),b.cancelActive&&ig(S)),!!S};Xo(f,{withTypes:()=>f});const h=async(b,S,k,E)=>{const P=new AbortController,j=eL(d,P.signal),_=[];try{b.pending.add(P),n(b),await Promise.resolve(b.effect(S,Xo({},k,{getOriginalState:E,condition:(O,N)=>j(O,N).then(Boolean),take:j,delay:Q2(P.signal),pause:Kd(P.signal),extra:o,signal:P.signal,fork:J$(P.signal,_),unsubscribe:b.unsubscribe,subscribe:()=>{t.set(b.id,b)},cancelActiveListeners:()=>{b.pending.forEach((O,N,C)=>{O!==P&&(O.abort(ng),C.delete(O))})},cancel:()=>{P.abort(ng),b.pending.delete(P)},throwIfCancelled:()=>{Fa(P.signal)}})))}catch(O){O instanceof Xf||Gw(s,O,{raisedBy:"effect"})}finally{await Promise.all(_),P.abort(X$),i(b),b.pending.delete(P)}},m=tL(t,r);return{middleware:b=>S=>k=>{if(!j2(k))return S(k);if(J2.match(k))return d(k.payload);if(rL.match(k)){m();return}if(eO.match(k))return f(k.payload);let E=b.getState();const P=()=>{if(E===Vw)throw new Error(Or(23));return E};let j;try{if(j=S(k),t.size>0){const _=b.getState(),O=Array.from(t.values());for(const N of O){let C=!1;try{C=N.predicate(k,_,E)}catch(R){C=!1,Gw(s,R,{raisedBy:"predicate"})}C&&h(N,k,b,P)}}}finally{E=Vw}return j},startListening:d,stopListening:f,clearListeners:m}};function Or(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var iL={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},tO=Jt({name:"chartLayout",initialState:iL,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,i,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),Jf=tO.actions,aL=Jf.setMargin,oL=Jf.setLayout,lL=Jf.setChartSize,sL=Jf.setScale,uL=tO.reducer;function rO(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function Fe(e){return Number.isFinite(e)}function Nn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Yw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ho(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,o=t.align,s=t.verticalAlign,u=t.layout;if((u==="vertical"||u==="horizontal"&&s==="middle")&&o!=="center"&&be(e[o]))return Ho(Ho({},e),{},{[o]:e[o]+(n||0)});if((u==="horizontal"||u==="vertical"&&o==="center")&&s!=="middle"&&be(e[s]))return Ho(Ho({},e),{},{[s]:e[s]+(i||0)})}return e},Tn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",nO=(e,t,r,n)=>{if(n)return e.map(u=>u.coordinate);var i,o,s=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===r&&(o=!0),u.coordinate));return i||s.push(t),o||s.push(r),s},iO=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,o=e.range,s=e.scale,u=e.realScaleType,d=e.isCategorical,f=e.categoricalDomain,h=e.tickCount,m=e.ticks,v=e.niceTicks,b=e.axisType;if(!s)return null;var S=u==="scaleBand"&&s.bandwidth?s.bandwidth()/2:2,k=i==="category"&&s.bandwidth?s.bandwidth()/S:0;if(k=b==="angleAxis"&&o&&o.length>=2?Lr(o[0]-o[1])*2*k:k,m||v){var E=(m||v||[]).map((P,j)=>{var _=n?n.indexOf(P):P,O=s.map(_);return Fe(O)?{coordinate:O+k,value:P,offset:k,index:j}:null}).filter(vr);return E}return d&&f?f.map((P,j)=>{var _=s.map(P);return Fe(_)?{coordinate:_+k,value:P,index:j,offset:k}:null}).filter(vr):s.ticks&&h!=null?s.ticks(h).map((P,j)=>{var _=s.map(P);return Fe(_)?{coordinate:_+k,value:P,index:j,offset:k}:null}).filter(vr):s.domain().map((P,j)=>{var _=s.map(P);return Fe(_)?{coordinate:_+k,value:n?n[P]:P,index:j,offset:k}:null}).filter(vr)},pL=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(f[0]=o,o+=v,f[1]=o):(f[0]=s,s+=v,f[1]=s)}}}},mL=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(d[0]=o,o+=f,d[1]=o):(d[0]=0,d[1]=0)}}}},vL={sign:pL,expand:I5,none:Ha,silhouette:M5,wiggle:T5,positive:mL},gL=(e,t,r)=>{var n,i=(n=vL[r])!==null&&n!==void 0?n:Ha,o=N5().keys(t).value((u,d)=>Number(Nt(u,d,0))).order(Hv).offset(i),s=o(e);return s.forEach((u,d)=>{u.forEach((f,h)=>{var m=Nt(e[h],t[d],0);Array.isArray(m)&&m.length===2&&be(m[0])&&be(m[1])&&(f[0]=m[0],f[1]=m[1])})}),s};function yL(e){return e==null?void 0:String(e)}function Qw(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,o=e.index,s=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Ut(i[t.dataKey])){var u=c2(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var d=Nt(i,Ut(s)?t.dataKey:s),f=t.scale.map(d);return be(f)?f:null}var xL=e=>{var t=e.flat(2).filter(be);return[Math.min(...t),Math.max(...t)]},bL=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],wL=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return bL(Object.keys(e).reduce((n,i)=>{var o=e[i];if(!o)return n;var s=o.stackedData,u=s.reduce((d,f)=>{var h=rO(f,t,r),m=xL(h);return!Fe(m[0])||!Fe(m[1])?d:[Math.min(d[0],m[0]),Math.max(d[1],m[1])]},[1/0,-1/0]);return[Math.min(u[0],n[0]),Math.max(u[1],n[1])]},[1/0,-1/0]))},Xw=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Zw=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Vd=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var i=Wf(t,h=>h.coordinate),o=1/0,s=1,u=i.length;s{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},SL=(e,t)=>t==="centric"?e.angle:e.radius,oi=e=>e.layout.width,li=e=>e.layout.height,EL=e=>e.layout.scale,oO=e=>e.layout.margin,eh=H(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),th=H(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),PL="data-recharts-item-index",AL="data-recharts-item-id",Au=60;function ek(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cd(e){for(var t=1;te.brush.height;function NL(e){var t=th(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Au;return r+i}return r},0)}function IL(e){var t=th(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Au;return r+i}return r},0)}function ML(e){var t=eh(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function TL(e){var t=eh(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Kt=H([oi,li,oO,_L,NL,IL,ML,TL,A2,t$],(e,t,r,n,i,o,s,u,d,f)=>{var h={left:(r.left||0)+i,right:(r.right||0)+o},m={top:(r.top||0)+s,bottom:(r.bottom||0)+u},v=cd(cd({},m),h),b=v.bottom;v.bottom+=n,v=hL(v,d,f);var S=e-v.left-v.right,k=t-v.top-v.bottom;return cd(cd({brushBottom:b},v),{},{width:Math.max(S,0),height:Math.max(k,0)})}),DL=H(Kt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),lO=H(oi,li,(e,t)=>({x:0,y:0,width:e,height:t})),RL=y.createContext(null),yr=()=>y.useContext(RL)!=null,rh=e=>e.brush,nh=H([rh,Kt,oO],(e,t,r)=>({height:e.height,x:be(e.x)?e.x:t.left,y:be(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:be(e.width)?e.width:t.width}));function $L(e,t,{signal:r,edges:n}={}){let i,o=null;const s=n!=null&&n.includes("leading"),u=n==null||n.includes("trailing"),d=()=>{o!==null&&(e.apply(i,o),i=void 0,o=null)},f=()=>{u&&d(),b()};let h=null;const m=()=>{h!=null&&clearTimeout(h),h=setTimeout(()=>{h=null,f()},t)},v=()=>{h!==null&&(clearTimeout(h),h=null)},b=()=>{v(),i=void 0,o=null},S=()=>{d()},k=function(...E){if(r!=null&&r.aborted)return;i=this,o=E;const P=h==null;m(),s&&P&&d()};return k.schedule=m,k.cancel=b,k.flush=S,r==null||r.addEventListener("abort",b,{once:!0}),k}function LL(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:o}=r,s=Array(2);n&&(s[0]="leading"),i&&(s[1]="trailing");let u,d=null;const f=$L(function(...v){u=e.apply(this,v),d=null},t,{edges:s}),h=function(...v){return o!=null&&(d===null&&(d=Date.now()),Date.now()-d>=o)?(u=e.apply(this,v),d=Date.now(),f.cancel(),f.schedule(),u):(f.apply(this,v),u)},m=()=>(f.flush(),u);return h.cancel=f.cancel,h.flush=m,h}function zL(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return LL(e,t,{leading:n,maxWait:t,trailing:i})}var qd=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;oi[s++]))}},Pn={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},sO=(e,t,r)=>{var n=r.width,i=n===void 0?Pn.width:n,o=r.height,s=o===void 0?Pn.height:o,u=r.aspect,d=r.maxHeight,f=Ka(i)?e:Number(i),h=Ka(s)?t:Number(s);return u&&u>0&&(f?h=f/u:h&&(f=h*u),d&&h!=null&&h>d&&(h=d)),{calculatedWidth:f,calculatedHeight:h}},FL={width:0,height:0,overflow:"visible"},BL={width:0,overflowX:"visible"},UL={height:0,overflowY:"visible"},WL={},HL=e=>{var t=e.width,r=e.height,n=Ka(t),i=Ka(r);return n&&i?FL:n?BL:i?UL:WL};function KL(e){var t=e.width,r=e.height,n=e.aspect,i=t,o=r;return i===void 0&&o===void 0?(i=Pn.width,o=Pn.height):i===void 0?i=n&&n>0?void 0:Pn.width:o===void 0&&(o=n&&n>0?void 0:Pn.height),{width:i,height:o}}var VL=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Gd(){return Gd=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return nz(i)?y.createElement(uO.Provider,{value:i},t):null}var py=()=>y.useContext(uO),iz=y.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?Pn.initialDimension:n,o=e.width,s=e.height,u=e.minWidth,d=u===void 0?Pn.minWidth:u,f=e.minHeight,h=e.maxHeight,m=e.children,v=e.debounce,b=v===void 0?Pn.debounce:v,S=e.id,k=e.className,E=e.onResize,P=e.style,j=P===void 0?{}:P,_=tz(e,VL),O=y.useRef(null),N=y.useRef();N.current=E,y.useImperativeHandle(t,()=>O.current);var C=y.useState({containerWidth:i.width,containerHeight:i.height}),R=QL(C,2),z=R[0],F=R[1],V=y.useCallback((fe,de)=>{F(Y=>{var ae=Math.round(fe),X=Math.round(de);return Y.containerWidth===ae&&Y.containerHeight===X?Y:{containerWidth:ae,containerHeight:X}})},[]);y.useEffect(()=>{if(O.current==null||typeof ResizeObserver>"u")return Al;var fe=M=>{var T,Z=M[0];if(Z!=null){var se=Z.contentRect,te=se.width,ce=se.height;V(te,ce),(T=N.current)===null||T===void 0||T.call(N,te,ce)}};b>0&&(fe=zL(fe,b,{trailing:!0,leading:!1}));var de=new ResizeObserver(fe),Y=O.current.getBoundingClientRect(),ae=Y.width,X=Y.height;return V(ae,X),de.observe(O.current),()=>{de.disconnect()}},[V,b]);var Q=z.containerWidth,B=z.containerHeight;qd(!r||r>0,"The aspect(%s) must be greater than zero.",r);var ue=sO(Q,B,{width:o,height:s,aspect:r,maxHeight:h}),G=ue.calculatedWidth,le=ue.calculatedHeight;return qd(Q<0||B<0||G!=null&&G>0||le!=null&&le>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,G,le,o,s,d,f,r),y.createElement("div",Gd({id:S?"".concat(S):void 0,className:Xe("recharts-responsive-container",k),style:rk(rk({},j),{},{width:o,height:s,minWidth:d,minHeight:f,maxHeight:h}),ref:O},_),y.createElement("div",{style:WL({width:o,height:s})},y.createElement(cO,{width:G,height:le},m)))}),iz=y.forwardRef((e,t)=>{var r=py();if(_n(r.width)&&_n(r.height))return e.children;var n=HL({width:e.width,height:e.height,aspect:e.aspect}),i=n.width,o=n.height,s=sO(void 0,void 0,{width:i,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),u=s.calculatedWidth,d=s.calculatedHeight;return be(u)&&be(d)?y.createElement(cO,{width:u,height:d},e.children):y.createElement(nz,Gd({},e,{width:i,height:o,ref:t}))});function my(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var ih=()=>{var e,t=yr(),r=Ee(TL),n=Ee(nh),i=(e=Ee(rh))===null||e===void 0?void 0:e.padding;return!t||!n||!i?r:{width:n.width-i.left-i.right,height:n.height-i.top-i.bottom,x:i.left,y:i.top}},az={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},dO=()=>{var e;return(e=Ee(Kt))!==null&&e!==void 0?e:az},fO=()=>Ee(oi),hO=()=>Ee(li),ot=e=>e.layout.layoutType,Ol=()=>Ee(ot),vy=()=>{var e=Ol();if(e==="horizontal"||e==="vertical")return e},pO=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},oz=()=>{var e=Ol();return e!==void 0},Ou=e=>{var t=xt(),r=yr(),n=e.width,i=e.height,o=py(),s=n,u=i;return o&&(s=o.width>0?o.width:n,u=o.height>0?o.height:i),y.useEffect(()=>{!r&&_n(s)&&_n(u)&&t(oL({width:s,height:u}))},[t,r,s,u]),null},mO=Symbol.for("immer-nothing"),ik=Symbol.for("immer-draftable"),jr=Symbol.for("immer-state");function an(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ru=Object.getPrototypeOf;function vl(e){return!!e&&!!e[jr]}function qa(e){var t;return e?vO(e)||Array.isArray(e)||!!e[ik]||!!((t=e.constructor)!=null&&t[ik])||Cu(e)||oh(e):!1}var lz=Object.prototype.constructor.toString(),ak=new WeakMap;function vO(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=ak.get(r);return n===void 0&&(n=Function.toString.call(r),ak.set(r,n)),n===lz}function Yd(e,t,r=!0){ah(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function ah(e){const t=e[jr];return t?t.type_:Array.isArray(e)?1:Cu(e)?2:oh(e)?3:0}function ag(e,t){return ah(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function gO(e,t,r){const n=ah(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function sz(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Cu(e){return e instanceof Map}function oh(e){return e instanceof Set}function ka(e){return e.copy_||e.base_}function og(e,t){if(Cu(e))return new Map(e);if(oh(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=vO(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[jr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Object.defineProperties(e,{set:dd,add:dd,clear:dd,delete:dd}),Object.freeze(e),t&&Object.values(e).forEach(r=>gy(r,!0))),e}function uz(){an(2)}var dd={value:uz};function lh(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var cz={};function Ga(e){const t=cz[e];return t||an(0,e),t}var nu;function yO(){return nu}function dz(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function ok(e,t){t&&(Ga("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function lg(e){sg(e),e.drafts_.forEach(fz),e.drafts_=null}function sg(e){e===nu&&(nu=e.parent_)}function lk(e){return nu=dz(nu,e)}function fz(e){const t=e[jr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function sk(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[jr].modified_&&(lg(t),an(4)),qa(e)&&(e=Qd(t,e),t.parent_||Xd(t,e)),t.patches_&&Ga("Patches").generateReplacementPatches_(r[jr].base_,e,t.patches_,t.inversePatches_)):e=Qd(t,r,[]),lg(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==mO?e:void 0}function Qd(e,t,r){if(lh(t))return t;const n=e.immer_.shouldUseStrictIteration(),i=t[jr];if(!i)return Yd(t,(o,s)=>uk(e,i,t,o,s,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return Xd(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const o=i.copy_;let s=o,u=!1;i.type_===3&&(s=new Set(o),o.clear(),u=!0),Yd(s,(d,f)=>uk(e,i,o,d,f,r,u),n),Xd(e,o,!1),r&&e.patches_&&Ga("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function uk(e,t,r,n,i,o,s){if(i==null||typeof i!="object"&&!s)return;const u=lh(i);if(!(u&&!s)){if(vl(i)){const d=o&&t&&t.type_!==3&&!ag(t.assigned_,n)?o.concat(n):void 0,f=Qd(e,i,d);if(gO(r,n,f),vl(f))e.canAutoFreeze_=!1;else return}else s&&r.add(i);if(qa(i)&&!u){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&u)return;Qd(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(Cu(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&Xd(e,i)}}}function Xd(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&gy(t,r)}function hz(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:yO(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,o=yy;r&&(i=[n],o=iu);const{revoke:s,proxy:u}=Proxy.revocable(i,o);return n.draft_=u,n.revoke_=s,u}var yy={get(e,t){if(t===jr)return e;const r=ka(e);if(!ag(r,t))return pz(e,r,t);const n=r[t];return e.finalized_||!qa(n)?n:n===Hm(e.base_,t)?(Km(e),e.copy_[t]=cg(n,e)):n},has(e,t){return t in ka(e)},ownKeys(e){return Reflect.ownKeys(ka(e))},set(e,t,r){const n=xO(ka(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Hm(ka(e),t),o=i==null?void 0:i[jr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(sz(r,i)&&(r!==void 0||ag(e.base_,t)))return!0;Km(e),ug(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Hm(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Km(e),ug(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=ka(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){an(11)},getPrototypeOf(e){return ru(e.base_)},setPrototypeOf(){an(12)}},iu={};Yd(yy,(e,t)=>{iu[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});iu.deleteProperty=function(e,t){return iu.set.call(this,e,t,void 0)};iu.set=function(e,t,r){return yy.set.call(this,e[0],t,r,e[0])};function Hm(e,t){const r=e[jr];return(r?ka(r):e)[t]}function pz(e,t,r){var i;const n=xO(t,r);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function xO(e,t){if(!(t in e))return;let r=ru(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=ru(r)}}function ug(e){e.modified_||(e.modified_=!0,e.parent_&&ug(e.parent_))}function Km(e){e.copy_||(e.copy_=og(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var mz=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const s=this;return function(d=o,...f){return s.produce(d,h=>r.call(this,h,...f))}}typeof r!="function"&&an(6),n!==void 0&&typeof n!="function"&&an(7);let i;if(qa(t)){const o=lk(this),s=cg(t,void 0);let u=!0;try{i=r(s),u=!1}finally{u?lg(o):sg(o)}return ok(o,n),sk(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===mO&&(i=void 0),this.autoFreeze_&&gy(i,!0),n){const o=[],s=[];Ga("Patches").generateReplacementPatches_(t,i,o,s),n(o,s)}return i}else an(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(s,...u)=>this.produceWithPatches(s,d=>t(d,...u));let n,i;return[this.produce(t,r,(s,u)=>{n=s,i=u}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){qa(e)||an(8),vl(e)&&(e=vz(e));const t=lk(this),r=cg(e,void 0);return r[jr].isManual_=!0,sg(t),r}finishDraft(e,t){const r=e&&e[jr];(!r||!r.isManual_)&&an(9);const{scope_:n}=r;return ok(n,t),sk(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=Ga("Patches").applyPatches_;return vl(e)?n(e,t):this.produce(e,i=>n(i,t))}};function cg(e,t){const r=Cu(e)?Ga("MapSet").proxyMap_(e,t):oh(e)?Ga("MapSet").proxySet_(e,t):hz(e,t);return(t?t.scope_:yO()).drafts_.push(r),r}function vz(e){return vl(e)||an(10,e),bO(e)}function bO(e){if(!qa(e)||lh(e))return e;const t=e[jr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=og(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=og(e,!0);return Yd(r,(i,o)=>{gO(r,i,bO(o))},n),t&&(t.finalized_=!1),r}var gz=new mz;gz.produce;var yz={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},wO=Jt({name:"legend",initialState:yz,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:rt()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=zr(e).payload.indexOf(n);o>-1&&(e.payload[o]=i)},prepare:rt()},removeLegendPayload:{reducer(e,t){var r=zr(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:rt()}}}),ju=wO.actions;ju.setLegendSize;ju.setLegendSettings;var xz=ju.addLegendPayload,bz=ju.replaceLegendPayload,wz=ju.removeLegendPayload,kz=wO.reducer,Vm={exports:{}},qm={};/** + height and width.`,G,le,o,s,d,f,r),y.createElement("div",Gd({id:S?"".concat(S):void 0,className:Xe("recharts-responsive-container",k),style:rk(rk({},j),{},{width:o,height:s,minWidth:d,minHeight:f,maxHeight:h}),ref:O},_),y.createElement("div",{style:HL({width:o,height:s})},y.createElement(cO,{width:G,height:le},m)))}),az=y.forwardRef((e,t)=>{var r=py();if(Nn(r.width)&&Nn(r.height))return e.children;var n=KL({width:e.width,height:e.height,aspect:e.aspect}),i=n.width,o=n.height,s=sO(void 0,void 0,{width:i,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),u=s.calculatedWidth,d=s.calculatedHeight;return be(u)&&be(d)?y.createElement(cO,{width:u,height:d},e.children):y.createElement(iz,Gd({},e,{width:i,height:o,ref:t}))});function my(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var ih=()=>{var e,t=yr(),r=Ee(DL),n=Ee(nh),i=(e=Ee(rh))===null||e===void 0?void 0:e.padding;return!t||!n||!i?r:{width:n.width-i.left-i.right,height:n.height-i.top-i.bottom,x:i.left,y:i.top}},oz={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},dO=()=>{var e;return(e=Ee(Kt))!==null&&e!==void 0?e:oz},fO=()=>Ee(oi),hO=()=>Ee(li),ot=e=>e.layout.layoutType,Ol=()=>Ee(ot),vy=()=>{var e=Ol();if(e==="horizontal"||e==="vertical")return e},pO=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},lz=()=>{var e=Ol();return e!==void 0},Ou=e=>{var t=xt(),r=yr(),n=e.width,i=e.height,o=py(),s=n,u=i;return o&&(s=o.width>0?o.width:n,u=o.height>0?o.height:i),y.useEffect(()=>{!r&&Nn(s)&&Nn(u)&&t(lL({width:s,height:u}))},[t,r,s,u]),null},mO=Symbol.for("immer-nothing"),ik=Symbol.for("immer-draftable"),jr=Symbol.for("immer-state");function an(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ru=Object.getPrototypeOf;function vl(e){return!!e&&!!e[jr]}function qa(e){var t;return e?vO(e)||Array.isArray(e)||!!e[ik]||!!((t=e.constructor)!=null&&t[ik])||Cu(e)||oh(e):!1}var sz=Object.prototype.constructor.toString(),ak=new WeakMap;function vO(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=ak.get(r);return n===void 0&&(n=Function.toString.call(r),ak.set(r,n)),n===sz}function Yd(e,t,r=!0){ah(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function ah(e){const t=e[jr];return t?t.type_:Array.isArray(e)?1:Cu(e)?2:oh(e)?3:0}function ag(e,t){return ah(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function gO(e,t,r){const n=ah(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function uz(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Cu(e){return e instanceof Map}function oh(e){return e instanceof Set}function ka(e){return e.copy_||e.base_}function og(e,t){if(Cu(e))return new Map(e);if(oh(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=vO(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[jr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Object.defineProperties(e,{set:dd,add:dd,clear:dd,delete:dd}),Object.freeze(e),t&&Object.values(e).forEach(r=>gy(r,!0))),e}function cz(){an(2)}var dd={value:cz};function lh(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var dz={};function Ga(e){const t=dz[e];return t||an(0,e),t}var nu;function yO(){return nu}function fz(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function ok(e,t){t&&(Ga("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function lg(e){sg(e),e.drafts_.forEach(hz),e.drafts_=null}function sg(e){e===nu&&(nu=e.parent_)}function lk(e){return nu=fz(nu,e)}function hz(e){const t=e[jr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function sk(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[jr].modified_&&(lg(t),an(4)),qa(e)&&(e=Qd(t,e),t.parent_||Xd(t,e)),t.patches_&&Ga("Patches").generateReplacementPatches_(r[jr].base_,e,t.patches_,t.inversePatches_)):e=Qd(t,r,[]),lg(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==mO?e:void 0}function Qd(e,t,r){if(lh(t))return t;const n=e.immer_.shouldUseStrictIteration(),i=t[jr];if(!i)return Yd(t,(o,s)=>uk(e,i,t,o,s,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return Xd(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const o=i.copy_;let s=o,u=!1;i.type_===3&&(s=new Set(o),o.clear(),u=!0),Yd(s,(d,f)=>uk(e,i,o,d,f,r,u),n),Xd(e,o,!1),r&&e.patches_&&Ga("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function uk(e,t,r,n,i,o,s){if(i==null||typeof i!="object"&&!s)return;const u=lh(i);if(!(u&&!s)){if(vl(i)){const d=o&&t&&t.type_!==3&&!ag(t.assigned_,n)?o.concat(n):void 0,f=Qd(e,i,d);if(gO(r,n,f),vl(f))e.canAutoFreeze_=!1;else return}else s&&r.add(i);if(qa(i)&&!u){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&u)return;Qd(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(Cu(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&Xd(e,i)}}}function Xd(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&gy(t,r)}function pz(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:yO(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,o=yy;r&&(i=[n],o=iu);const{revoke:s,proxy:u}=Proxy.revocable(i,o);return n.draft_=u,n.revoke_=s,u}var yy={get(e,t){if(t===jr)return e;const r=ka(e);if(!ag(r,t))return mz(e,r,t);const n=r[t];return e.finalized_||!qa(n)?n:n===Hm(e.base_,t)?(Km(e),e.copy_[t]=cg(n,e)):n},has(e,t){return t in ka(e)},ownKeys(e){return Reflect.ownKeys(ka(e))},set(e,t,r){const n=xO(ka(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Hm(ka(e),t),o=i==null?void 0:i[jr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(uz(r,i)&&(r!==void 0||ag(e.base_,t)))return!0;Km(e),ug(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Hm(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Km(e),ug(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=ka(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){an(11)},getPrototypeOf(e){return ru(e.base_)},setPrototypeOf(){an(12)}},iu={};Yd(yy,(e,t)=>{iu[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});iu.deleteProperty=function(e,t){return iu.set.call(this,e,t,void 0)};iu.set=function(e,t,r){return yy.set.call(this,e[0],t,r,e[0])};function Hm(e,t){const r=e[jr];return(r?ka(r):e)[t]}function mz(e,t,r){var i;const n=xO(t,r);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function xO(e,t){if(!(t in e))return;let r=ru(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=ru(r)}}function ug(e){e.modified_||(e.modified_=!0,e.parent_&&ug(e.parent_))}function Km(e){e.copy_||(e.copy_=og(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var vz=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const s=this;return function(d=o,...f){return s.produce(d,h=>r.call(this,h,...f))}}typeof r!="function"&&an(6),n!==void 0&&typeof n!="function"&&an(7);let i;if(qa(t)){const o=lk(this),s=cg(t,void 0);let u=!0;try{i=r(s),u=!1}finally{u?lg(o):sg(o)}return ok(o,n),sk(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===mO&&(i=void 0),this.autoFreeze_&&gy(i,!0),n){const o=[],s=[];Ga("Patches").generateReplacementPatches_(t,i,o,s),n(o,s)}return i}else an(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(s,...u)=>this.produceWithPatches(s,d=>t(d,...u));let n,i;return[this.produce(t,r,(s,u)=>{n=s,i=u}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){qa(e)||an(8),vl(e)&&(e=gz(e));const t=lk(this),r=cg(e,void 0);return r[jr].isManual_=!0,sg(t),r}finishDraft(e,t){const r=e&&e[jr];(!r||!r.isManual_)&&an(9);const{scope_:n}=r;return ok(n,t),sk(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=Ga("Patches").applyPatches_;return vl(e)?n(e,t):this.produce(e,i=>n(i,t))}};function cg(e,t){const r=Cu(e)?Ga("MapSet").proxyMap_(e,t):oh(e)?Ga("MapSet").proxySet_(e,t):pz(e,t);return(t?t.scope_:yO()).drafts_.push(r),r}function gz(e){return vl(e)||an(10,e),bO(e)}function bO(e){if(!qa(e)||lh(e))return e;const t=e[jr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=og(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=og(e,!0);return Yd(r,(i,o)=>{gO(r,i,bO(o))},n),t&&(t.finalized_=!1),r}var yz=new vz;yz.produce;var xz={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},wO=Jt({name:"legend",initialState:xz,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:rt()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=zr(e).payload.indexOf(n);o>-1&&(e.payload[o]=i)},prepare:rt()},removeLegendPayload:{reducer(e,t){var r=zr(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:rt()}}}),ju=wO.actions;ju.setLegendSize;ju.setLegendSettings;var bz=ju.addLegendPayload,wz=ju.replaceLegendPayload,kz=ju.removeLegendPayload,Sz=wO.reducer,Vm={exports:{}},qm={};/** * @license React * use-sync-external-store-with-selector.production.js * @@ -414,29 +419,29 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ck;function Sz(){if(ck)return qm;ck=1;var e=El();function t(d,f){return d===f&&(d!==0||1/d===1/f)||d!==d&&f!==f}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,o=e.useEffect,s=e.useMemo,u=e.useDebugValue;return qm.useSyncExternalStoreWithSelector=function(d,f,h,m,v){var b=i(null);if(b.current===null){var S={hasValue:!1,value:null};b.current=S}else S=b.current;b=s(function(){function E(N){if(!P){if(P=!0,j=N,N=m(N),v!==void 0&&S.hasValue){var C=S.value;if(v(C,N))return _=C}return _=N}if(C=_,r(j,N))return C;var R=m(N);return v!==void 0&&v(C,R)?(j=N,C):(j=N,_=R)}var P=!1,j,_,O=h===void 0?null:h;return[function(){return E(f())},O===null?void 0:function(){return E(O())}]},[f,h,m,v]);var k=n(d,b[0],b[1]);return o(function(){S.hasValue=!0,S.value=k},[k]),u(k),k},qm}var dk;function Ez(){return dk||(dk=1,Vm.exports=Sz()),Vm.exports}Ez();function Pz(e){e()}function Az(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Pz(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var fk={notify(){},get:()=>[]};function Oz(e,t){let r,n=fk,i=0,o=!1;function s(k){h();const E=n.subscribe(k);let P=!1;return()=>{P||(P=!0,E(),m())}}function u(){n.notify()}function d(){S.onStateChange&&S.onStateChange()}function f(){return o}function h(){i++,r||(r=e.subscribe(d),n=Az())}function m(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=fk)}function v(){o||(o=!0,h())}function b(){o&&(o=!1,m())}const S={addNestedSub:s,notifyNestedSubs:u,handleChangeWrapper:d,isSubscribed:f,trySubscribe:v,tryUnsubscribe:b,getListeners:()=>n};return S}var Cz=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",jz=Cz(),_z=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Nz=_z(),Iz=()=>jz||Nz?y.useLayoutEffect:y.useEffect,Mz=Iz();function hk(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Tz(e,t){if(hk(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const d=Oz(i);return{store:i,subscription:d,getServerState:n?()=>n:void 0}},[i,n]),s=y.useMemo(()=>i.getState(),[i]);Mz(()=>{const{subscription:d}=o;return d.onStateChange=d.notifyNestedSubs,d.trySubscribe(),s!==i.getState()&&d.notifyNestedSubs(),()=>{d.tryUnsubscribe(),d.onStateChange=void 0}},[o,s]);const u=r||Rz;return y.createElement(u.Provider,{value:o},t)}var Lz=$z,zz=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function Fz(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function sh(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(zz.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Tz(e[n],t[n]))return!1}else if(!Fz(e[n],t[n]))return!1;return!0}function dg(){return dg=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?To.separator:t,n=e.contentStyle,i=e.itemStyle,o=e.labelStyle,s=o===void 0?To.labelStyle:o,u=e.payload,d=e.formatter,f=e.itemSorter,h=e.wrapperClassName,m=e.labelClassName,v=e.label,b=e.labelFormatter,S=e.accessibilityLayer,k=S===void 0?To.accessibilityLayer:S,E=()=>{if(u&&u.length){var z={padding:0,margin:0},F=Qz(u,f),V=F.map((Q,B)=>{if(!Q||Q.type==="none")return null;var ue=Q.formatter||d||Yz,G=Q.value,le=Q.name,fe=G,de=le;if(ue){var Y=ue(G,le,Q,B,u);if(Array.isArray(Y)){var ae=Hz(Y,2);fe=ae[0],de=ae[1]}else if(Y!=null)fe=Y;else return null}var X=js(js({},To.itemStyle),{},{color:Q.color||To.itemStyle.color},i);return y.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(B),style:X},jn(de)?y.createElement("span",{className:"recharts-tooltip-item-name"},de):null,jn(de)?y.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,y.createElement("span",{className:"recharts-tooltip-item-value"},fe),y.createElement("span",{className:"recharts-tooltip-item-unit"},Q.unit||""))});return y.createElement("ul",{className:"recharts-tooltip-item-list",style:z},V)}return null},P=js(js({},To.contentStyle),n),j=js({margin:0},s),_=!Ut(v),O=_?v:"",N=Xe("recharts-default-tooltip",h),C=Xe("recharts-tooltip-label",m);_&&b&&u!==void 0&&u!==null&&(O=b(v,u));var R=k?{role:"status","aria-live":"assertive"}:{};return y.createElement("div",dg({className:N,style:P},R),y.createElement("p",{className:C,style:j},y.isValidElement(O)?O:"".concat(O)),E())},_s="recharts-tooltip-wrapper",Zz={visibility:"hidden"};function Jz(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Xe(_s,{["".concat(_s,"-right")]:be(r)&&t&&be(t.x)&&r>=t.x,["".concat(_s,"-left")]:be(r)&&t&&be(t.x)&&r=t.y,["".concat(_s,"-top")]:be(n)&&t&&be(t.y)&&n0?i:0),m=r[n]+i;if(t[n])return s[n]?h:m;var v=d[n];if(v==null)return 0;if(s[n]){var b=h,S=v;return bE?Math.max(h,v):Math.max(m,v)}function eF(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function tF(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,i=e.offsetLeft,o=e.position,s=e.reverseDirection,u=e.tooltipBox,d=e.useTranslate3d,f=e.viewBox,h,m,v;return u.height>0&&u.width>0&&r?(m=vk({allowEscapeViewBox:t,coordinate:r,key:"x",offset:i,position:o,reverseDirection:s,tooltipDimension:u.width,viewBox:f,viewBoxDimension:f.width}),v=vk({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:s,tooltipDimension:u.height,viewBox:f,viewBoxDimension:f.height}),h=eF({translateX:m,translateY:v,useTranslate3d:d})):h=Zz,{cssProperties:h,cssClasses:Jz({translateX:m,translateY:v,coordinate:r})}}var rF=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),_u={isSsr:rF()};function nF(e,t){return lF(e)||oF(e,t)||aF(e,t)||iF()}function iF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function aF(e,t){if(e){if(typeof e=="string")return gk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gk(e,t):void 0}}function gk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r_u.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=nF(e,2),r=t[0],n=t[1];return y.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(i.matches)};return i.addEventListener("change",o),()=>{i.removeEventListener("change",o)}}},[]),r}function yk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Do(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),f=dF(d,2),h=f[0],m=f[1];y.useEffect(()=>{var P=j=>{if(j.key==="Escape"){var _,O,N,C;m({dismissed:!0,dismissedAtCoordinate:{x:(_=(O=e.coordinate)===null||O===void 0?void 0:O.x)!==null&&_!==void 0?_:0,y:(N=(C=e.coordinate)===null||C===void 0?void 0:C.y)!==null&&N!==void 0?N:0}})}};return document.addEventListener("keydown",P),()=>{document.removeEventListener("keydown",P)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),h.dismissed&&(((n=(i=e.coordinate)===null||i===void 0?void 0:i.x)!==null&&n!==void 0?n:0)!==h.dismissedAtCoordinate.x||((o=(s=e.coordinate)===null||s===void 0?void 0:s.y)!==null&&o!==void 0?o:0)!==h.dismissedAtCoordinate.y)&&m(Do(Do({},h),{},{dismissed:!1}));var v=tF({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),b=v.cssClasses,S=v.cssProperties,k=e.hasPortalFromProps?{}:Do(Do({transition:vF({prefersReducedMotion:u,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},S),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),E=Do(Do({},k),{},{visibility:!h.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return y.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:b,style:E,ref:e.innerRef},e.children)}var yF=y.memo(gF),SO=()=>{var e;return(e=Ee(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function fg(){return fg=Object.assign?Object.assign.bind():function(e){for(var t=1;tFe(e.x)&&Fe(e.y),Sk=e=>e.base!=null&&Zd(e.base)&&Zd(e),Ns=e=>e.x,Is=e=>e.y,kF=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(iy(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=kk["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return kk[r]||Bf},Ek={connectNulls:!1,type:"linear"},SF=e=>{var t=e.type,r=t===void 0?Ek.type:t,n=e.points,i=n===void 0?[]:n,o=e.baseLine,s=e.layout,u=e.connectNulls,d=u===void 0?Ek.connectNulls:u,f=kF(r,s),h=d?i.filter(Zd):i;if(Array.isArray(o)){var m,v=i.map((P,j)=>wk(wk({},P),{},{base:o[j]}));s==="vertical"?m=id().y(Is).x1(Ns).x0(P=>P.base.x):m=id().x(Ns).y1(Is).y0(P=>P.base.y);var b=m.defined(Sk).curve(f),S=d?v.filter(Sk):v;return b(S)}var k;s==="vertical"&&be(o)?k=id().y(Is).x1(Ns).x0(o):be(o)?k=id().x(Ns).y1(Is).y0(o):k=ZA().x(Ns).y(Is);var E=k.defined(Zd).curve(f);return E(h)},Cd=e=>{var t=e.className,r=e.points,n=e.path,i=e.pathRef,o=Ol();if((!r||!r.length)&&!n)return null;var s={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},u=r&&r.length?SF(s):n;return y.createElement("path",fg({},ln(e),ay(e),{className:Xe("recharts-curve",t),d:u===null?void 0:u,ref:i}))},EF=["x","y","top","left","width","height","className"];function hg(){return hg=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),IF=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,i=n===void 0?0:n,o=e.top,s=o===void 0?0:o,u=e.left,d=u===void 0?0:u,f=e.width,h=f===void 0?0:f,m=e.height,v=m===void 0?0:m,b=e.className,S=jF(e,EF),k=PF({x:r,y:i,top:s,left:d,width:h,height:v},S);return!be(r)||!be(i)||!be(h)||!be(v)||!be(s)||!be(d)?null:y.createElement("path",hg({},Br(k),{className:Xe("recharts-cross",b),d:NF(r,i,h,v,s,d)}))};function MF(e,t,r,n){var i=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-i,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var Jd=1e-4,EO=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],PO=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Ak=(e,t)=>r=>{var n=EO(e,t);return PO(n,r)},TF=(e,t)=>r=>{var n=EO(e,t),i=[...n.map((o,s)=>o*s).slice(1),0];return PO(i,r)},DF=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var i=n.map(o=>parseFloat(o));return[i[0],i[1],i[2],i[3]]},RF=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var i=Ak(e,r),o=Ak(t,n),s=TF(e,r),u=f=>f>1?1:f<0?0:f,d=f=>{for(var h=f>1?1:f,m=h,v=0;v<8;++v){var b=i(m)-h,S=s(m);if(Math.abs(b-h)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,o=i===void 0?8:i,s=t.dt,u=s===void 0?16.67:s,d=1,f=[0],h=0,m=0,v=1e4,b=0;b{var j,_,O;if(P<=0)return 0;if(P>=1)return d;var N=P*E,C=Math.floor(N),R=N-C;return((j=f[C])!==null&&j!==void 0?j:0)+(((_=f[C+1])!==null&&_!==void 0?_:0)-((O=f[C])!==null&&O!==void 0?O:0))*R}},zF=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Ok(e);case"spring":return LF();default:if(e.split("(")[0]==="cubic-bezier")return Ok(e)}return typeof e=="function"?e:null},FF=(e,t,r)=>{var n,i=o=>{var s=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(i,s);return}n=e.setTimeout(i,s)};return n=e.setTimeout(i,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}},AO=y.createContext(FF);AO.Provider;function BF(e){var t=y.useContext(AO);return y.useMemo(()=>e??t,[e,t])}function UF(e,t,r){return(t=WF(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function WF(e){var t=HF(e,"string");return typeof t=="symbol"?t:t+""}function HF(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Ck="init",jk="pending",_k="active",KF="completed";function Qm(e){return Math.max(0,e)}class VF{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;UF(this,"state",Ck),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Qm(t.animationDuration),this.animationBegin=Qm(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===Ck)return this.state=jk,this.beginStartedTime=t,this.animationBegin;if(this.getState()===jk){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=_k,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Qm(this.animationBegin-r)}if(this.getState()===_k){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=KF}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class qF extends VF{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Qn(this.getFrom(),this.getTo(),this.getProgress()))}}class GF{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),i=null,o=s=>{s-n>=r?t(s):i=requestAnimationFrame(o)};return i=requestAnimationFrame(o),()=>{i!=null&&cancelAnimationFrame(i)}}}function YF(e,t){return JF(e)||ZF(e,t)||XF(e,t)||QF()}function QF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function XF(e,t){if(e){if(typeof e=="string")return Nk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Nk(e,t):void 0}}function Nk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},Ik=0,Xm=1;function OO(e){var t=Hr(e,e6),r=t.animationId,n=t.isActive,i=t.canBegin,o=t.duration,s=t.easing,u=t.begin,d=t.onAnimationEnd,f=t.onAnimationStart,h=t.children,m=kO(),v=n==="auto"?!_u.isSsr&&!m:n,b=BF(t.animationController),S=y.useState(v?Ik:Xm),k=YF(S,2),E=k[0],P=k[1];return y.useEffect(()=>{v||P(Xm)},[v]),y.useEffect(()=>{var j=zF(s);if(!v||!i||j==null)return Al;var _=new GF,O=new qF({animationId:r,easing:j,animationDuration:o,animationBegin:u,onAnimationStart:f,onAnimationEnd:d,from:Ik,to:Xm});return b(_,O,P)},[b,r,v,i,o,s,u,f,d]),h(Number(E))}function CO(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=y.useRef(Zs(t)),n=y.useRef(e);return n.current!==e&&(r.current=Zs(t),n.current=e),r.current}var t6=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),r6=(e,t,r)=>e.map(n=>"".concat(t6(n)," ").concat(t,"ms ").concat(r)).join(","),n6=["radius"],i6=["radius"],Mk,Tk,Dk,Rk,$k,Lk,zk,Fk,Bk,Uk;function Wk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Hk(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=Yi(r),s=Yi(n),u=Math.min(Math.abs(o)/2,Math.abs(s)/2),d=s>=0?1:-1,f=o>=0?1:-1,h=s>=0&&o>=0||s<0&&o<0?1:0,m;if(u>0&&Array.isArray(i)){for(var v=[0,0,0,0],b=0,S=4;bu?u:E}m=Lt(Mk||(Mk=gn(["M",",",""])),e,t+d*v[0]),v[0]>0&&(m+=Lt(Tk||(Tk=gn(["A ",",",",0,0,",",",",",""])),v[0],v[0],h,e+f*v[0],t)),m+=Lt(Dk||(Dk=gn(["L ",",",""])),e+r-f*v[1],t),v[1]>0&&(m+=Lt(Rk||(Rk=gn(["A ",",",",0,0,",`, - `,",",""])),v[1],v[1],h,e+r,t+d*v[1])),m+=Lt($k||($k=gn(["L ",",",""])),e+r,t+n-d*v[2]),v[2]>0&&(m+=Lt(Lk||(Lk=gn(["A ",",",",0,0,",`, - `,",",""])),v[2],v[2],h,e+r-f*v[2],t+n)),m+=Lt(zk||(zk=gn(["L ",",",""])),e+f*v[3],t+n),v[3]>0&&(m+=Lt(Fk||(Fk=gn(["A ",",",",0,0,",`, - `,",",""])),v[3],v[3],h,e,t+n-d*v[3])),m+="Z"}else if(u>0&&i===+i&&i>0){var P=Math.min(u,i);m=Lt(Bk||(Bk=gn(["M ",",",` + */var ck;function Ez(){if(ck)return qm;ck=1;var e=El();function t(d,f){return d===f&&(d!==0||1/d===1/f)||d!==d&&f!==f}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,o=e.useEffect,s=e.useMemo,u=e.useDebugValue;return qm.useSyncExternalStoreWithSelector=function(d,f,h,m,v){var b=i(null);if(b.current===null){var S={hasValue:!1,value:null};b.current=S}else S=b.current;b=s(function(){function E(N){if(!P){if(P=!0,j=N,N=m(N),v!==void 0&&S.hasValue){var C=S.value;if(v(C,N))return _=C}return _=N}if(C=_,r(j,N))return C;var R=m(N);return v!==void 0&&v(C,R)?(j=N,C):(j=N,_=R)}var P=!1,j,_,O=h===void 0?null:h;return[function(){return E(f())},O===null?void 0:function(){return E(O())}]},[f,h,m,v]);var k=n(d,b[0],b[1]);return o(function(){S.hasValue=!0,S.value=k},[k]),u(k),k},qm}var dk;function Pz(){return dk||(dk=1,Vm.exports=Ez()),Vm.exports}Pz();function Az(e){e()}function Oz(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Az(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var fk={notify(){},get:()=>[]};function Cz(e,t){let r,n=fk,i=0,o=!1;function s(k){h();const E=n.subscribe(k);let P=!1;return()=>{P||(P=!0,E(),m())}}function u(){n.notify()}function d(){S.onStateChange&&S.onStateChange()}function f(){return o}function h(){i++,r||(r=e.subscribe(d),n=Oz())}function m(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=fk)}function v(){o||(o=!0,h())}function b(){o&&(o=!1,m())}const S={addNestedSub:s,notifyNestedSubs:u,handleChangeWrapper:d,isSubscribed:f,trySubscribe:v,tryUnsubscribe:b,getListeners:()=>n};return S}var jz=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",_z=jz(),Nz=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Iz=Nz(),Mz=()=>_z||Iz?y.useLayoutEffect:y.useEffect,Tz=Mz();function hk(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Dz(e,t){if(hk(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const d=Cz(i);return{store:i,subscription:d,getServerState:n?()=>n:void 0}},[i,n]),s=y.useMemo(()=>i.getState(),[i]);Tz(()=>{const{subscription:d}=o;return d.onStateChange=d.notifyNestedSubs,d.trySubscribe(),s!==i.getState()&&d.notifyNestedSubs(),()=>{d.tryUnsubscribe(),d.onStateChange=void 0}},[o,s]);const u=r||$z;return y.createElement(u.Provider,{value:o},t)}var zz=Lz,Fz=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function Bz(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function sh(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(Fz.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Dz(e[n],t[n]))return!1}else if(!Bz(e[n],t[n]))return!1;return!0}function dg(){return dg=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?To.separator:t,n=e.contentStyle,i=e.itemStyle,o=e.labelStyle,s=o===void 0?To.labelStyle:o,u=e.payload,d=e.formatter,f=e.itemSorter,h=e.wrapperClassName,m=e.labelClassName,v=e.label,b=e.labelFormatter,S=e.accessibilityLayer,k=S===void 0?To.accessibilityLayer:S,E=()=>{if(u&&u.length){var z={padding:0,margin:0},F=Xz(u,f),V=F.map((Q,B)=>{if(!Q||Q.type==="none")return null;var ue=Q.formatter||d||Qz,G=Q.value,le=Q.name,fe=G,de=le;if(ue){var Y=ue(G,le,Q,B,u);if(Array.isArray(Y)){var ae=Kz(Y,2);fe=ae[0],de=ae[1]}else if(Y!=null)fe=Y;else return null}var X=js(js({},To.itemStyle),{},{color:Q.color||To.itemStyle.color},i);return y.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(B),style:X},_n(de)?y.createElement("span",{className:"recharts-tooltip-item-name"},de):null,_n(de)?y.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,y.createElement("span",{className:"recharts-tooltip-item-value"},fe),y.createElement("span",{className:"recharts-tooltip-item-unit"},Q.unit||""))});return y.createElement("ul",{className:"recharts-tooltip-item-list",style:z},V)}return null},P=js(js({},To.contentStyle),n),j=js({margin:0},s),_=!Ut(v),O=_?v:"",N=Xe("recharts-default-tooltip",h),C=Xe("recharts-tooltip-label",m);_&&b&&u!==void 0&&u!==null&&(O=b(v,u));var R=k?{role:"status","aria-live":"assertive"}:{};return y.createElement("div",dg({className:N,style:P},R),y.createElement("p",{className:C,style:j},y.isValidElement(O)?O:"".concat(O)),E())},_s="recharts-tooltip-wrapper",Jz={visibility:"hidden"};function eF(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Xe(_s,{["".concat(_s,"-right")]:be(r)&&t&&be(t.x)&&r>=t.x,["".concat(_s,"-left")]:be(r)&&t&&be(t.x)&&r=t.y,["".concat(_s,"-top")]:be(n)&&t&&be(t.y)&&n0?i:0),m=r[n]+i;if(t[n])return s[n]?h:m;var v=d[n];if(v==null)return 0;if(s[n]){var b=h,S=v;return bE?Math.max(h,v):Math.max(m,v)}function tF(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function rF(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,i=e.offsetLeft,o=e.position,s=e.reverseDirection,u=e.tooltipBox,d=e.useTranslate3d,f=e.viewBox,h,m,v;return u.height>0&&u.width>0&&r?(m=vk({allowEscapeViewBox:t,coordinate:r,key:"x",offset:i,position:o,reverseDirection:s,tooltipDimension:u.width,viewBox:f,viewBoxDimension:f.width}),v=vk({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:s,tooltipDimension:u.height,viewBox:f,viewBoxDimension:f.height}),h=tF({translateX:m,translateY:v,useTranslate3d:d})):h=Jz,{cssProperties:h,cssClasses:eF({translateX:m,translateY:v,coordinate:r})}}var nF=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),_u={isSsr:nF()};function iF(e,t){return sF(e)||lF(e,t)||oF(e,t)||aF()}function aF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oF(e,t){if(e){if(typeof e=="string")return gk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gk(e,t):void 0}}function gk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r_u.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=iF(e,2),r=t[0],n=t[1];return y.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(i.matches)};return i.addEventListener("change",o),()=>{i.removeEventListener("change",o)}}},[]),r}function yk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Do(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),f=fF(d,2),h=f[0],m=f[1];y.useEffect(()=>{var P=j=>{if(j.key==="Escape"){var _,O,N,C;m({dismissed:!0,dismissedAtCoordinate:{x:(_=(O=e.coordinate)===null||O===void 0?void 0:O.x)!==null&&_!==void 0?_:0,y:(N=(C=e.coordinate)===null||C===void 0?void 0:C.y)!==null&&N!==void 0?N:0}})}};return document.addEventListener("keydown",P),()=>{document.removeEventListener("keydown",P)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),h.dismissed&&(((n=(i=e.coordinate)===null||i===void 0?void 0:i.x)!==null&&n!==void 0?n:0)!==h.dismissedAtCoordinate.x||((o=(s=e.coordinate)===null||s===void 0?void 0:s.y)!==null&&o!==void 0?o:0)!==h.dismissedAtCoordinate.y)&&m(Do(Do({},h),{},{dismissed:!1}));var v=rF({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),b=v.cssClasses,S=v.cssProperties,k=e.hasPortalFromProps?{}:Do(Do({transition:gF({prefersReducedMotion:u,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},S),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),E=Do(Do({},k),{},{visibility:!h.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return y.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:b,style:E,ref:e.innerRef},e.children)}var xF=y.memo(yF),SO=()=>{var e;return(e=Ee(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function fg(){return fg=Object.assign?Object.assign.bind():function(e){for(var t=1;tFe(e.x)&&Fe(e.y),Sk=e=>e.base!=null&&Zd(e.base)&&Zd(e),Ns=e=>e.x,Is=e=>e.y,SF=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(iy(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=kk["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return kk[r]||Bf},Ek={connectNulls:!1,type:"linear"},EF=e=>{var t=e.type,r=t===void 0?Ek.type:t,n=e.points,i=n===void 0?[]:n,o=e.baseLine,s=e.layout,u=e.connectNulls,d=u===void 0?Ek.connectNulls:u,f=SF(r,s),h=d?i.filter(Zd):i;if(Array.isArray(o)){var m,v=i.map((P,j)=>wk(wk({},P),{},{base:o[j]}));s==="vertical"?m=id().y(Is).x1(Ns).x0(P=>P.base.x):m=id().x(Ns).y1(Is).y0(P=>P.base.y);var b=m.defined(Sk).curve(f),S=d?v.filter(Sk):v;return b(S)}var k;s==="vertical"&&be(o)?k=id().y(Is).x1(Ns).x0(o):be(o)?k=id().x(Ns).y1(Is).y0(o):k=ZA().x(Ns).y(Is);var E=k.defined(Zd).curve(f);return E(h)},Cd=e=>{var t=e.className,r=e.points,n=e.path,i=e.pathRef,o=Ol();if((!r||!r.length)&&!n)return null;var s={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},u=r&&r.length?EF(s):n;return y.createElement("path",fg({},ln(e),ay(e),{className:Xe("recharts-curve",t),d:u===null?void 0:u,ref:i}))},PF=["x","y","top","left","width","height","className"];function hg(){return hg=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),MF=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,i=n===void 0?0:n,o=e.top,s=o===void 0?0:o,u=e.left,d=u===void 0?0:u,f=e.width,h=f===void 0?0:f,m=e.height,v=m===void 0?0:m,b=e.className,S=_F(e,PF),k=AF({x:r,y:i,top:s,left:d,width:h,height:v},S);return!be(r)||!be(i)||!be(h)||!be(v)||!be(s)||!be(d)?null:y.createElement("path",hg({},Br(k),{className:Xe("recharts-cross",b),d:IF(r,i,h,v,s,d)}))};function TF(e,t,r,n){var i=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-i,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var Jd=1e-4,EO=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],PO=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Ak=(e,t)=>r=>{var n=EO(e,t);return PO(n,r)},DF=(e,t)=>r=>{var n=EO(e,t),i=[...n.map((o,s)=>o*s).slice(1),0];return PO(i,r)},RF=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var i=n.map(o=>parseFloat(o));return[i[0],i[1],i[2],i[3]]},$F=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var i=Ak(e,r),o=Ak(t,n),s=DF(e,r),u=f=>f>1?1:f<0?0:f,d=f=>{for(var h=f>1?1:f,m=h,v=0;v<8;++v){var b=i(m)-h,S=s(m);if(Math.abs(b-h)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,o=i===void 0?8:i,s=t.dt,u=s===void 0?16.67:s,d=1,f=[0],h=0,m=0,v=1e4,b=0;b{var j,_,O;if(P<=0)return 0;if(P>=1)return d;var N=P*E,C=Math.floor(N),R=N-C;return((j=f[C])!==null&&j!==void 0?j:0)+(((_=f[C+1])!==null&&_!==void 0?_:0)-((O=f[C])!==null&&O!==void 0?O:0))*R}},FF=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Ok(e);case"spring":return zF();default:if(e.split("(")[0]==="cubic-bezier")return Ok(e)}return typeof e=="function"?e:null},BF=(e,t,r)=>{var n,i=o=>{var s=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(i,s);return}n=e.setTimeout(i,s)};return n=e.setTimeout(i,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}},AO=y.createContext(BF);AO.Provider;function UF(e){var t=y.useContext(AO);return y.useMemo(()=>e??t,[e,t])}function WF(e,t,r){return(t=HF(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function HF(e){var t=KF(e,"string");return typeof t=="symbol"?t:t+""}function KF(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Ck="init",jk="pending",_k="active",VF="completed";function Qm(e){return Math.max(0,e)}class qF{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;WF(this,"state",Ck),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Qm(t.animationDuration),this.animationBegin=Qm(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===Ck)return this.state=jk,this.beginStartedTime=t,this.animationBegin;if(this.getState()===jk){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=_k,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Qm(this.animationBegin-r)}if(this.getState()===_k){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=VF}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class GF extends qF{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Qn(this.getFrom(),this.getTo(),this.getProgress()))}}class YF{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),i=null,o=s=>{s-n>=r?t(s):i=requestAnimationFrame(o)};return i=requestAnimationFrame(o),()=>{i!=null&&cancelAnimationFrame(i)}}}function QF(e,t){return e6(e)||JF(e,t)||ZF(e,t)||XF()}function XF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZF(e,t){if(e){if(typeof e=="string")return Nk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Nk(e,t):void 0}}function Nk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},Ik=0,Xm=1;function OO(e){var t=Hr(e,t6),r=t.animationId,n=t.isActive,i=t.canBegin,o=t.duration,s=t.easing,u=t.begin,d=t.onAnimationEnd,f=t.onAnimationStart,h=t.children,m=kO(),v=n==="auto"?!_u.isSsr&&!m:n,b=UF(t.animationController),S=y.useState(v?Ik:Xm),k=QF(S,2),E=k[0],P=k[1];return y.useEffect(()=>{v||P(Xm)},[v]),y.useEffect(()=>{var j=FF(s);if(!v||!i||j==null)return Al;var _=new YF,O=new GF({animationId:r,easing:j,animationDuration:o,animationBegin:u,onAnimationStart:f,onAnimationEnd:d,from:Ik,to:Xm});return b(_,O,P)},[b,r,v,i,o,s,u,f,d]),h(Number(E))}function CO(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=y.useRef(Zs(t)),n=y.useRef(e);return n.current!==e&&(r.current=Zs(t),n.current=e),r.current}var r6=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),n6=(e,t,r)=>e.map(n=>"".concat(r6(n)," ").concat(t,"ms ").concat(r)).join(","),i6=["radius"],a6=["radius"],Mk,Tk,Dk,Rk,$k,Lk,zk,Fk,Bk,Uk;function Wk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Hk(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=Yi(r),s=Yi(n),u=Math.min(Math.abs(o)/2,Math.abs(s)/2),d=s>=0?1:-1,f=o>=0?1:-1,h=s>=0&&o>=0||s<0&&o<0?1:0,m;if(u>0&&Array.isArray(i)){for(var v=[0,0,0,0],b=0,S=4;bu?u:E}m=Lt(Mk||(Mk=yn(["M",",",""])),e,t+d*v[0]),v[0]>0&&(m+=Lt(Tk||(Tk=yn(["A ",",",",0,0,",",",",",""])),v[0],v[0],h,e+f*v[0],t)),m+=Lt(Dk||(Dk=yn(["L ",",",""])),e+r-f*v[1],t),v[1]>0&&(m+=Lt(Rk||(Rk=yn(["A ",",",",0,0,",`, + `,",",""])),v[1],v[1],h,e+r,t+d*v[1])),m+=Lt($k||($k=yn(["L ",",",""])),e+r,t+n-d*v[2]),v[2]>0&&(m+=Lt(Lk||(Lk=yn(["A ",",",",0,0,",`, + `,",",""])),v[2],v[2],h,e+r-f*v[2],t+n)),m+=Lt(zk||(zk=yn(["L ",",",""])),e+f*v[3],t+n),v[3]>0&&(m+=Lt(Fk||(Fk=yn(["A ",",",",0,0,",`, + `,",",""])),v[3],v[3],h,e,t+n-d*v[3])),m+="Z"}else if(u>0&&i===+i&&i>0){var P=Math.min(u,i);m=Lt(Bk||(Bk=yn(["M ",",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+d*P,P,P,h,e+f*P,t,e+r-f*P,t,P,P,h,e+r,t+d*P,e+r,t+n-d*P,P,P,h,e+r-f*P,t+n,e+f*P,t+n,P,P,h,e,t+n-d*P)}else m=Lt(Uk||(Uk=gn(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return m},Gk={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},p6=e=>{var t=Hr(e,Gk),r=y.useRef(null),n=y.useState(-1),i=u6(n,2),o=i[0],s=i[1];y.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var Y=r.current.getTotalLength();Y&&s(Y)}catch{}},[]);var u=t.x,d=t.y,f=t.width,h=t.height,m=t.radius,v=t.className,b=t.animationEasing,S=t.animationDuration,k=t.animationBegin,E=t.isAnimationActive,P=t.isUpdateAnimationActive,j=y.useRef(f),_=y.useRef(h),O=y.useRef(u),N=y.useRef(d),C=y.useMemo(()=>({x:u,y:d,width:f,height:h,radius:m}),[u,d,f,h,m]),R=CO(C,"rectangle-");if(u!==+u||d!==+d||f!==+f||h!==+h||f===0||h===0)return null;var z=Xe("recharts-rectangle",v);if(!P){var F=Br(t);F.radius;var V=Kk(F,n6);return y.createElement("path",ef({},V,{x:Yi(u),y:Yi(d),width:Yi(f),height:Yi(h),radius:typeof m=="number"?m:void 0,className:z,d:qk(u,d,f,h,m)}))}var Q=j.current,B=_.current,ue=O.current,G=N.current,le="0px ".concat(o===-1?1:o,"px"),fe="".concat(o,"px ").concat(o,"px"),de=r6(["strokeDasharray"],S,typeof b=="string"?b:Gk.animationEasing);return y.createElement(OO,{animationId:R,key:R,canBegin:o>0,duration:S,easing:b,isActive:P,begin:k},Y=>{var ae=Qn(Q,f,Y),X=Qn(B,h,Y),M=Qn(ue,u,Y),T=Qn(G,d,Y);r.current&&(j.current=ae,_.current=X,O.current=M,N.current=T);var Z;E?Y>0?Z={transition:de,strokeDasharray:fe}:Z={strokeDasharray:le}:Z={strokeDasharray:fe};var se=Br(t);se.radius;var te=Kk(se,i6);return y.createElement("path",ef({},te,{radius:typeof m=="number"?m:void 0,className:z,d:qk(M,T,ae,X,m),ref:r,style:Hk(Hk({},Z),t.style)}))})};function Yk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Qk(e){for(var t=1;te*180/Math.PI,Bt=(e,t,r,n)=>({x:e+Math.cos(-tf*n)*r,y:t+Math.sin(-tf*n)*r}),x6=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},b6=(e,t)=>{var r=e.x,n=e.y,i=t.x,o=t.y;return Math.sqrt((r-i)**2+(n-o)**2)},w6=(e,t)=>{var r=e.x,n=e.y,i=t.cx,o=t.cy,s=b6({x:r,y:n},{x:i,y:o});if(s<=0)return{radius:s,angle:0};var u=(r-i)/s,d=Math.acos(u);return n>o&&(d=2*Math.PI-d),{radius:s,angle:y6(d),angleInRadian:d}},k6=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),i=Math.floor(r/360),o=Math.min(n,i);return{startAngle:t-o*360,endAngle:r-o*360}},S6=(e,t)=>{var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),o=Math.floor(n/360),s=Math.min(i,o);return e+s*360},E6=(e,t)=>{var r=e.relativeX,n=e.relativeY,i=w6({x:r,y:n},t),o=i.radius,s=i.angle,u=t.innerRadius,d=t.outerRadius;if(od||o===0)return null;var f=k6(t),h=f.startAngle,m=f.endAngle,v=s,b;if(h<=m){for(;v>m;)v-=360;for(;v=h&&v<=m}else{for(;v>h;)v-=360;for(;v=m&&v<=h}return b?Qk(Qk({},t),{},{radius:o,angle:S6(v,t)}):null};function jO(e){var t=e.cx,r=e.cy,n=e.radius,i=e.startAngle,o=e.endAngle,s=Bt(t,r,n,i),u=Bt(t,r,n,o);return{points:[s,u],cx:t,cy:r,radius:n,startAngle:i,endAngle:o}}var Xk,Zk,Jk,eS,tS,rS,nS;function pg(){return pg=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Lr(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},fd=e=>{var t=e.cx,r=e.cy,n=e.radius,i=e.angle,o=e.sign,s=e.isExternal,u=e.cornerRadius,d=e.cornerIsExternal,f=u*(s?1:-1)+n,h=Math.asin(u/f)/tf,m=d?i:i+o*h,v=Bt(t,r,f,m),b=Bt(t,r,n,m),S=d?i-o*h:i,k=Bt(t,r,f*Math.cos(h*tf),S);return{center:v,circleTangency:b,lineTangency:k,theta:h}},_O=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.startAngle,s=e.endAngle,u=P6(o,s),d=o+u,f=Bt(t,r,i,o),h=Bt(t,r,i,d),m=Lt(Xk||(Xk=Aa(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+d*P,P,P,h,e+f*P,t,e+r-f*P,t,P,P,h,e+r,t+d*P,e+r,t+n-d*P,P,P,h,e+r-f*P,t+n,e+f*P,t+n,P,P,h,e,t+n-d*P)}else m=Lt(Uk||(Uk=yn(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return m},Gk={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},m6=e=>{var t=Hr(e,Gk),r=y.useRef(null),n=y.useState(-1),i=c6(n,2),o=i[0],s=i[1];y.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var Y=r.current.getTotalLength();Y&&s(Y)}catch{}},[]);var u=t.x,d=t.y,f=t.width,h=t.height,m=t.radius,v=t.className,b=t.animationEasing,S=t.animationDuration,k=t.animationBegin,E=t.isAnimationActive,P=t.isUpdateAnimationActive,j=y.useRef(f),_=y.useRef(h),O=y.useRef(u),N=y.useRef(d),C=y.useMemo(()=>({x:u,y:d,width:f,height:h,radius:m}),[u,d,f,h,m]),R=CO(C,"rectangle-");if(u!==+u||d!==+d||f!==+f||h!==+h||f===0||h===0)return null;var z=Xe("recharts-rectangle",v);if(!P){var F=Br(t);F.radius;var V=Kk(F,i6);return y.createElement("path",ef({},V,{x:Yi(u),y:Yi(d),width:Yi(f),height:Yi(h),radius:typeof m=="number"?m:void 0,className:z,d:qk(u,d,f,h,m)}))}var Q=j.current,B=_.current,ue=O.current,G=N.current,le="0px ".concat(o===-1?1:o,"px"),fe="".concat(o,"px ").concat(o,"px"),de=n6(["strokeDasharray"],S,typeof b=="string"?b:Gk.animationEasing);return y.createElement(OO,{animationId:R,key:R,canBegin:o>0,duration:S,easing:b,isActive:P,begin:k},Y=>{var ae=Qn(Q,f,Y),X=Qn(B,h,Y),M=Qn(ue,u,Y),T=Qn(G,d,Y);r.current&&(j.current=ae,_.current=X,O.current=M,N.current=T);var Z;E?Y>0?Z={transition:de,strokeDasharray:fe}:Z={strokeDasharray:le}:Z={strokeDasharray:fe};var se=Br(t);se.radius;var te=Kk(se,a6);return y.createElement("path",ef({},te,{radius:typeof m=="number"?m:void 0,className:z,d:qk(M,T,ae,X,m),ref:r,style:Hk(Hk({},Z),t.style)}))})};function Yk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Qk(e){for(var t=1;te*180/Math.PI,Bt=(e,t,r,n)=>({x:e+Math.cos(-tf*n)*r,y:t+Math.sin(-tf*n)*r}),b6=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},w6=(e,t)=>{var r=e.x,n=e.y,i=t.x,o=t.y;return Math.sqrt((r-i)**2+(n-o)**2)},k6=(e,t)=>{var r=e.x,n=e.y,i=t.cx,o=t.cy,s=w6({x:r,y:n},{x:i,y:o});if(s<=0)return{radius:s,angle:0};var u=(r-i)/s,d=Math.acos(u);return n>o&&(d=2*Math.PI-d),{radius:s,angle:x6(d),angleInRadian:d}},S6=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),i=Math.floor(r/360),o=Math.min(n,i);return{startAngle:t-o*360,endAngle:r-o*360}},E6=(e,t)=>{var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),o=Math.floor(n/360),s=Math.min(i,o);return e+s*360},P6=(e,t)=>{var r=e.relativeX,n=e.relativeY,i=k6({x:r,y:n},t),o=i.radius,s=i.angle,u=t.innerRadius,d=t.outerRadius;if(od||o===0)return null;var f=S6(t),h=f.startAngle,m=f.endAngle,v=s,b;if(h<=m){for(;v>m;)v-=360;for(;v=h&&v<=m}else{for(;v>h;)v-=360;for(;v=m&&v<=h}return b?Qk(Qk({},t),{},{radius:o,angle:E6(v,t)}):null};function jO(e){var t=e.cx,r=e.cy,n=e.radius,i=e.startAngle,o=e.endAngle,s=Bt(t,r,n,i),u=Bt(t,r,n,o);return{points:[s,u],cx:t,cy:r,radius:n,startAngle:i,endAngle:o}}var Xk,Zk,Jk,eS,tS,rS,nS;function pg(){return pg=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Lr(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},fd=e=>{var t=e.cx,r=e.cy,n=e.radius,i=e.angle,o=e.sign,s=e.isExternal,u=e.cornerRadius,d=e.cornerIsExternal,f=u*(s?1:-1)+n,h=Math.asin(u/f)/tf,m=d?i:i+o*h,v=Bt(t,r,f,m),b=Bt(t,r,n,m),S=d?i-o*h:i,k=Bt(t,r,f*Math.cos(h*tf),S);return{center:v,circleTangency:b,lineTangency:k,theta:h}},_O=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.startAngle,s=e.endAngle,u=A6(o,s),d=o+u,f=Bt(t,r,i,o),h=Bt(t,r,i,d),m=Lt(Xk||(Xk=Aa(["M ",",",` A `,",",`,0, `,",",`, `,",",` `])),f.x,f.y,i,i,+(Math.abs(u)>180),+(o>d),h.x,h.y);if(n>0){var v=Bt(t,r,n,o),b=Bt(t,r,n,d);m+=Lt(Zk||(Zk=Aa(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),b.x,b.y,n,n,+(Math.abs(u)>180),+(o<=d),v.x,v.y)}else m+=Lt(Jk||(Jk=Aa(["L ",","," Z"])),t,r);return m},A6=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.cornerRadius,s=e.forceCornerRadius,u=e.cornerIsExternal,d=e.startAngle,f=e.endAngle,h=Lr(f-d),m=fd({cx:t,cy:r,radius:i,angle:d,sign:h,cornerRadius:o,cornerIsExternal:u}),v=m.circleTangency,b=m.lineTangency,S=m.theta,k=fd({cx:t,cy:r,radius:i,angle:f,sign:-h,cornerRadius:o,cornerIsExternal:u}),E=k.circleTangency,P=k.lineTangency,j=k.theta,_=u?Math.abs(d-f):Math.abs(d-f)-S-j;if(_<0)return s?Lt(eS||(eS=Aa(["M ",",",` + `,","," Z"])),b.x,b.y,n,n,+(Math.abs(u)>180),+(o<=d),v.x,v.y)}else m+=Lt(Jk||(Jk=Aa(["L ",","," Z"])),t,r);return m},O6=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.cornerRadius,s=e.forceCornerRadius,u=e.cornerIsExternal,d=e.startAngle,f=e.endAngle,h=Lr(f-d),m=fd({cx:t,cy:r,radius:i,angle:d,sign:h,cornerRadius:o,cornerIsExternal:u}),v=m.circleTangency,b=m.lineTangency,S=m.theta,k=fd({cx:t,cy:r,radius:i,angle:f,sign:-h,cornerRadius:o,cornerIsExternal:u}),E=k.circleTangency,P=k.lineTangency,j=k.theta,_=u?Math.abs(d-f):Math.abs(d-f)-S-j;if(_<0)return s?Lt(eS||(eS=Aa(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 `])),b.x,b.y,o,o,o*2,o,o,-o*2):_O({cx:t,cy:r,innerRadius:n,outerRadius:i,startAngle:d,endAngle:f});var O=Lt(tS||(tS=Aa(["M ",",",` @@ -446,21 +451,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `])),b.x,b.y,o,o,+(h<0),v.x,v.y,i,i,+(_>180),+(h<0),E.x,E.y,o,o,+(h<0),P.x,P.y);if(n>0){var N=fd({cx:t,cy:r,radius:n,angle:d,sign:h,isExternal:!0,cornerRadius:o,cornerIsExternal:u}),C=N.circleTangency,R=N.lineTangency,z=N.theta,F=fd({cx:t,cy:r,radius:n,angle:f,sign:-h,isExternal:!0,cornerRadius:o,cornerIsExternal:u}),V=F.circleTangency,Q=F.lineTangency,B=F.theta,ue=u?Math.abs(d-f):Math.abs(d-f)-z-B;if(ue<0&&o===0)return"".concat(O,"L").concat(t,",").concat(r,"Z");O+=Lt(rS||(rS=Aa(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),Q.x,Q.y,o,o,+(h<0),V.x,V.y,n,n,+(ue>180),+(h>0),C.x,C.y,o,o,+(h<0),R.x,R.y)}else O+=Lt(nS||(nS=Aa(["L",",","Z"])),t,r);return O},O6={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},C6=e=>{var t=Hr(e,O6),r=t.cx,n=t.cy,i=t.innerRadius,o=t.outerRadius,s=t.cornerRadius,u=t.forceCornerRadius,d=t.cornerIsExternal,f=t.startAngle,h=t.endAngle,m=t.className;if(o0&&Math.abs(f-h)<360?k=A6({cx:r,cy:n,innerRadius:i,outerRadius:o,cornerRadius:Math.min(S,b/2),forceCornerRadius:u,cornerIsExternal:d,startAngle:f,endAngle:h}):k=_O({cx:r,cy:n,innerRadius:i,outerRadius:o,startAngle:f,endAngle:h}),y.createElement("path",pg({},Br(t),{className:v,d:k}))};function j6(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(d2(t)){if(e==="centric"){var n=t.cx,i=t.cy,o=t.innerRadius,s=t.outerRadius,u=t.angle,d=Bt(n,i,o,u),f=Bt(n,i,s,u);return[{x:d.x,y:d.y},{x:f.x,y:f.y}]}return jO(t)}}function _6(e){return P2(e)?NaN:Number(e)}function Zm(e){return e?(e=_6(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function NO(e,t,r){r&&typeof r!="number"&&Gv(e,t,r)&&(t=r=void 0),e=Zm(e),t===void 0?(t=e,e=0):t=Zm(t),r=r===void 0?ee.chartData,xy=H([cn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),uh=(e,t,r,n)=>n?xy(e):cn(e),N6=(e,t,r)=>r?xy(e):cn(e),I6=H([uh],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});H([xy],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var M6=H([cn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function by(e,t){return $6(e)||R6(e,t)||D6(e,t)||T6()}function T6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function D6(e,t){if(e){if(typeof e=="string")return iS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?iS(e,t):void 0}}function iS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^o.s<0?1:-1;for(n=o.d.length,i=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};ve.decimalPlaces=ve.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*nt;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};ve.dividedBy=ve.div=function(e){return ei(this,new this.constructor(e))};ve.dividedToIntegerBy=ve.idiv=function(e){var t=this,r=t.constructor;return Ye(ei(t,new r(e),0,1),r.precision)};ve.equals=ve.eq=function(e){return!this.cmp(e)};ve.exponent=function(){return yt(this)};ve.greaterThan=ve.gt=function(e){return this.cmp(e)>0};ve.greaterThanOrEqualTo=ve.gte=function(e){return this.cmp(e)>=0};ve.isInteger=ve.isint=function(){return this.e>this.d.length-2};ve.isNegative=ve.isneg=function(){return this.s<0};ve.isPositive=ve.ispos=function(){return this.s>0};ve.isZero=function(){return this.s===0};ve.lessThan=ve.lt=function(e){return this.cmp(e)<0};ve.lessThanOrEqualTo=ve.lte=function(e){return this.cmp(e)<1};ve.logarithm=ve.log=function(e){var t,r=this,n=r.constructor,i=n.precision,o=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(Pr))throw Error(Wr+"NaN");if(r.s<1)throw Error(Wr+(r.s?"NaN":"-Infinity"));return r.eq(Pr)?new n(0):(at=!1,t=ei(au(r,o),au(e,o),o),at=!0,Ye(t,i))};ve.minus=ve.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?RO(t,e):TO(t,(e.s=-e.s,e))};ve.modulo=ve.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(Wr+"NaN");return r.s?(at=!1,t=ei(r,e,0,1).times(e),at=!0,r.minus(t)):Ye(new n(r),i)};ve.naturalExponential=ve.exp=function(){return DO(this)};ve.naturalLogarithm=ve.ln=function(){return au(this)};ve.negated=ve.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};ve.plus=ve.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?TO(t,e):RO(t,(e.s=-e.s,e))};ve.precision=ve.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ba+e);if(t=yt(i)+1,n=i.d.length-1,r=n*nt+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};ve.squareRoot=ve.sqrt=function(){var e,t,r,n,i,o,s,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(Wr+"NaN")}for(e=yt(u),at=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=Pn(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=jl((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new d(t)):n=new d(i.toString()),r=d.precision,i=s=r+3;;)if(o=n,n=o.plus(ei(u,o,s+2)).times(.5),Pn(o.d).slice(0,s)===(t=Pn(n.d)).slice(0,s)){if(t=t.slice(s-3,s+1),i==s&&t=="4999"){if(Ye(o,r+1,0),o.times(o).eq(u)){n=o;break}}else if(t!="9999")break;s+=4}return at=!0,Ye(n,r)};ve.times=ve.mul=function(e){var t,r,n,i,o,s,u,d,f,h=this,m=h.constructor,v=h.d,b=(e=new m(e)).d;if(!h.s||!e.s)return new m(0);for(e.s*=h.s,r=h.e+e.e,d=v.length,f=b.length,d=0;){for(t=0,i=d+n;i>n;)u=o[i]+b[n]*v[i-n-1]+t,o[i--]=u%_t|0,t=u/_t|0;o[i]=(o[i]+t)%_t|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,at?Ye(e,m.precision):e};ve.toDecimalPlaces=ve.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(Nn(e,0,Cl),t===void 0?t=n.rounding:Nn(t,0,8),Ye(r,e+yt(r)+1,t))};ve.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=Ya(n,!0):(Nn(e,0,Cl),t===void 0?t=i.rounding:Nn(t,0,8),n=Ye(new i(n),e+1,t),r=Ya(n,!0,e+1)),r};ve.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?Ya(i):(Nn(e,0,Cl),t===void 0?t=o.rounding:Nn(t,0,8),n=Ye(new o(i),e+yt(i)+1,t),r=Ya(n.abs(),!1,e+yt(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};ve.toInteger=ve.toint=function(){var e=this,t=e.constructor;return Ye(new t(e),yt(e)+1,t.rounding)};ve.toNumber=function(){return+this};ve.toPower=ve.pow=function(e){var t,r,n,i,o,s,u=this,d=u.constructor,f=12,h=+(e=new d(e));if(!e.s)return new d(Pr);if(u=new d(u),!u.s){if(e.s<1)throw Error(Wr+"Infinity");return u}if(u.eq(Pr))return u;if(n=d.precision,e.eq(Pr))return Ye(u,n);if(t=e.e,r=e.d.length-1,s=t>=r,o=u.s,s){if((r=h<0?-h:h)<=MO){for(i=new d(Pr),t=Math.ceil(n/nt+4),at=!1;r%2&&(i=i.times(u),lS(i.d,t)),r=jl(r/2),r!==0;)u=u.times(u),lS(u.d,t);return at=!0,e.s<0?new d(Pr).div(i):Ye(i,n)}}else if(o<0)throw Error(Wr+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,u.s=1,at=!1,i=e.times(au(u,n+f)),at=!0,i=DO(i),i.s=o,i};ve.toPrecision=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?(r=yt(i),n=Ya(i,r<=o.toExpNeg||r>=o.toExpPos)):(Nn(e,1,Cl),t===void 0?t=o.rounding:Nn(t,0,8),i=Ye(new o(i),e,t),r=yt(i),n=Ya(i,e<=r||r<=o.toExpNeg,e)),n};ve.toSignificantDigits=ve.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(Nn(e,1,Cl),t===void 0?t=n.rounding:Nn(t,0,8)),Ye(new n(r),e,t)};ve.toString=ve.valueOf=ve.val=ve.toJSON=ve[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=yt(e),r=e.constructor;return Ya(e,t<=r.toExpNeg||t>=r.toExpPos)};function TO(e,t){var r,n,i,o,s,u,d,f,h=e.constructor,m=h.precision;if(!e.s||!t.s)return t.s||(t=new h(e)),at?Ye(t,m):t;if(d=e.d,f=t.d,s=e.e,i=t.e,d=d.slice(),o=s-i,o){for(o<0?(n=d,o=-o,u=f.length):(n=f,i=s,u=d.length),s=Math.ceil(m/nt),u=s>u?s+1:u+1,o>u&&(o=u,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(u=d.length,o=f.length,u-o<0&&(o=u,n=f,f=d,d=n),r=0;o;)r=(d[--o]=d[o]+f[o]+r)/_t|0,d[o]%=_t;for(r&&(d.unshift(r),++i),u=d.length;d[--u]==0;)d.pop();return t.d=d,t.e=i,at?Ye(t,m):t}function Nn(e,t,r){if(e!==~~e||er)throw Error(Ba+e)}function Pn(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;ts?1:-1;else for(u=d=0;ui[u]?1:-1;break}return d}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var u,d,f,h,m,v,b,S,k,E,P,j,_,O,N,C,R,z,F=n.constructor,V=n.s==i.s?1:-1,Q=n.d,B=i.d;if(!n.s)return new F(n);if(!i.s)throw Error(Wr+"Division by zero");for(d=n.e-i.e,R=B.length,N=Q.length,b=new F(V),S=b.d=[],f=0;B[f]==(Q[f]||0);)++f;if(B[f]>(Q[f]||0)&&--d,o==null?j=o=F.precision:s?j=o+(yt(n)-yt(i))+1:j=o,j<0)return new F(0);if(j=j/nt+2|0,f=0,R==1)for(h=0,B=B[0],j++;(f1&&(B=e(B,h),Q=e(Q,h),R=B.length,N=Q.length),O=R,k=Q.slice(0,R),E=k.length;E=_t/2&&++C;do h=0,u=t(B,k,R,E),u<0?(P=k[0],R!=E&&(P=P*_t+(k[1]||0)),h=P/C|0,h>1?(h>=_t&&(h=_t-1),m=e(B,h),v=m.length,E=k.length,u=t(m,k,v,E),u==1&&(h--,r(m,R16)throw Error(wy+yt(e));if(!e.s)return new h(Pr);for(at=!1,u=m,s=new h(.03125);e.abs().gte(.1);)e=e.times(s),f+=5;for(n=Math.log(Sa(2,f))/Math.LN10*2+5|0,u+=n,r=i=o=new h(Pr),h.precision=u;;){if(i=Ye(i.times(e),u),r=r.times(++d),s=o.plus(ei(i,r,u)),Pn(s.d).slice(0,u)===Pn(o.d).slice(0,u)){for(;f--;)o=Ye(o.times(o),u);return h.precision=m,t==null?(at=!0,Ye(o,m)):o}o=s}}function yt(e){for(var t=e.e*nt,r=e.d[0];r>=10;r/=10)t++;return t}function Jm(e,t,r){if(t>e.LN10.sd())throw at=!0,r&&(e.precision=r),Error(Wr+"LN10 precision limit exceeded");return Ye(new e(e.LN10),t)}function Li(e){for(var t="";e--;)t+="0";return t}function au(e,t){var r,n,i,o,s,u,d,f,h,m=1,v=10,b=e,S=b.d,k=b.constructor,E=k.precision;if(b.s<1)throw Error(Wr+(b.s?"NaN":"-Infinity"));if(b.eq(Pr))return new k(0);if(t==null?(at=!1,f=E):f=t,b.eq(10))return t==null&&(at=!0),Jm(k,f);if(f+=v,k.precision=f,r=Pn(S),n=r.charAt(0),o=yt(b),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)b=b.times(e),r=Pn(b.d),n=r.charAt(0),m++;o=yt(b),n>1?(b=new k("0."+r),o++):b=new k(n+"."+r.slice(1))}else return d=Jm(k,f+2,E).times(o+""),b=au(new k(n+"."+r.slice(1)),f-v).plus(d),k.precision=E,t==null?(at=!0,Ye(b,E)):b;for(u=s=b=ei(b.minus(Pr),b.plus(Pr),f),h=Ye(b.times(b),f),i=3;;){if(s=Ye(s.times(h),f),d=u.plus(ei(s,new k(i),f)),Pn(d.d).slice(0,f)===Pn(u.d).slice(0,f))return u=u.times(2),o!==0&&(u=u.plus(Jm(k,f+2,E).times(o+""))),u=ei(u,new k(m),f),k.precision=E,t==null?(at=!0,Ye(u,E)):u;u=d,i+=2}}function oS(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=jl(r/nt),e.d=[],n=(r+1)%nt,r<0&&(n+=nt),nrf||e.e<-rf))throw Error(wy+r)}else e.s=0,e.e=0,e.d=[0];return e}function Ye(e,t,r){var n,i,o,s,u,d,f,h,m=e.d;for(s=1,o=m[0];o>=10;o/=10)s++;if(n=t-s,n<0)n+=nt,i=t,f=m[h=0];else{if(h=Math.ceil((n+1)/nt),o=m.length,h>=o)return e;for(f=o=m[h],s=1;o>=10;o/=10)s++;n%=nt,i=n-nt+s}if(r!==void 0&&(o=Sa(10,s-i-1),u=f/o%10|0,d=t<0||m[h+1]!==void 0||f%o,d=r<4?(u||d)&&(r==0||r==(e.s<0?3:2)):u>5||u==5&&(r==4||d||r==6&&(n>0?i>0?f/Sa(10,s-i):0:m[h-1])%10&1||r==(e.s<0?8:7))),t<1||!m[0])return d?(o=yt(e),m.length=1,t=t-o-1,m[0]=Sa(10,(nt-t%nt)%nt),e.e=jl(-t/nt)||0):(m.length=1,m[0]=e.e=e.s=0),e;if(n==0?(m.length=h,o=1,h--):(m.length=h+1,o=Sa(10,nt-n),m[h]=i>0?(f/Sa(10,s-i)%Sa(10,i)|0)*o:0),d)for(;;)if(h==0){(m[0]+=o)==_t&&(m[0]=1,++e.e);break}else{if(m[h]+=o,m[h]!=_t)break;m[h--]=0,o=1}for(n=m.length;m[--n]===0;)m.pop();if(at&&(e.e>rf||e.e<-rf))throw Error(wy+yt(e));return e}function RO(e,t){var r,n,i,o,s,u,d,f,h,m,v=e.constructor,b=v.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new v(e),at?Ye(t,b):t;if(d=e.d,m=t.d,n=t.e,f=e.e,d=d.slice(),s=f-n,s){for(h=s<0,h?(r=d,s=-s,u=m.length):(r=m,n=f,u=d.length),i=Math.max(Math.ceil(b/nt),u)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=d.length,u=m.length,h=i0;--i)d[u++]=0;for(i=m.length;i>s;){if(d[--i]0?o=o.charAt(0)+"."+o.slice(1)+Li(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Li(-i-1)+o,r&&(n=r-s)>0&&(o+=Li(n))):i>=s?(o+=Li(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Li(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Li(n))),e.s<0?"-"+o:o}function lS(e,t){if(e.length>t)return e.length=t,!0}function $O(e){var t,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Ba+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return oS(s,o.toString())}else if(typeof o!="string")throw Error(Ba+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,F6.test(o))oS(s,o);else throw Error(Ba+o)}if(i.prototype=ve,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=$O,i.config=i.set=B6,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(Ba+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Ba+r+": "+n);return this}var ky=$O(z6);Pr=new ky(1);const Ue=ky;function LO(e){var t;return e===0?t=1:t=Math.floor(new Ue(e).abs().log(10).toNumber())+1,t}function zO(e,t,r){for(var n=new Ue(e),i=0,o=[];n.lt(t)&&i<1e5;)o.push(n.toNumber()),n=n.add(r),i++;return o}function ou(e,t){return K6(e)||H6(e,t)||W6(e,t)||U6()}function U6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function W6(e,t){if(e){if(typeof e=="string")return sS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?sS(e,t):void 0}}function sS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=ou(e,2),r=t[0],n=t[1],i=r,o=n;return r>n&&(i=n,o=r),[i,o]},Sy=(e,t,r)=>{if(e.lte(0))return new Ue(0);var n=LO(e.toNumber()),i=new Ue(10).pow(n),o=e.div(i),s=n!==1?.05:.1,u=new Ue(Math.ceil(o.div(s).toNumber())).add(r).mul(s),d=u.mul(i);return t?new Ue(d.toNumber()):new Ue(Math.ceil(d.toNumber()))},BO=(e,t,r)=>{var n;if(e.lte(0))return new Ue(0);var i=[1,2,2.5,5],o=e.toNumber(),s=Math.floor(new Ue(o).abs().log(10).toNumber()),u=new Ue(10).pow(s),d=e.div(u).toNumber(),f=i.findIndex(b=>b>=d-1e-10);if(f===-1&&(u=u.mul(10),f=0),f+=r,f>=i.length){var h=Math.floor(f/i.length);f%=i.length,u=u.mul(new Ue(10).pow(h))}var m=(n=i[f])!==null&&n!==void 0?n:1,v=new Ue(m).mul(u);return t?v:new Ue(Math.ceil(v.toNumber()))},V6=(e,t,r)=>{var n=new Ue(1),i=new Ue(e);if(!i.isint()&&r){var o=Math.abs(e);o<1?(n=new Ue(10).pow(LO(e)-1),i=new Ue(Math.floor(i.div(n).toNumber())).mul(n)):o>1&&(i=new Ue(Math.floor(e)))}else e===0?i=new Ue(Math.floor((t-1)/2)):r||(i=new Ue(Math.floor(e)));for(var s=Math.floor((t-1)/2),u=[],d=0;d4&&arguments[4]!==void 0?arguments[4]:0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Sy;if(!Number.isFinite((r-t)/(n-1)))return{step:new Ue(0),tickMin:new Ue(0),tickMax:new Ue(0)};var u=s(new Ue(r).sub(t).div(n-1),i,o),d;t<=0&&r>=0?d=new Ue(0):(d=new Ue(t).add(r).div(2),d=d.sub(new Ue(d).mod(u)));var f=Math.ceil(d.sub(t).div(u).toNumber()),h=Math.ceil(new Ue(r).sub(d).div(u).toNumber()),m=f+h+1;return m>n?UO(t,r,n,i,o+1,s):(m0?h+(n-m):h,f=r>0?f:f+(n-m)),{step:u,tickMin:d.sub(new Ue(f).mul(u)),tickMax:d.add(new Ue(h).mul(u))})},uS=function(t){var r=ou(t,2),n=r[0],i=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",d=Math.max(o,2),f=FO([n,i]),h=ou(f,2),m=h[0],v=h[1];if(m===-1/0||v===1/0){var b=v===1/0?[m,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),v];return n>i?b.reverse():b}if(m===v)return V6(m,o,s);var S=u==="snap125"?BO:Sy,k=UO(m,v,d,s,0,S),E=k.step,P=k.tickMin,j=k.tickMax,_=zO(P,j.add(new Ue(.1).mul(E)),E);return n>i?_.reverse():_},cS=function(t,r){var n=ou(t,2),i=n[0],o=n[1],s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",d=FO([i,o]),f=ou(d,2),h=f[0],m=f[1];if(h===-1/0||m===1/0)return[i,o];if(h===m)return[h];var v=u==="snap125"?BO:Sy,b=Math.max(r,2),S=v(new Ue(m).sub(h).div(b-1),s,0),k=[...zO(new Ue(h),new Ue(m),S),m];return s===!1&&(k=k.map(E=>Math.round(E))),i>o?k.reverse():k},q6=e=>e.rootProps.barCategoryGap,ch=e=>e.rootProps.stackOffset,WO=e=>e.rootProps.reverseStackOrder,Ey=e=>e.options.chartName,Py=e=>e.rootProps.syncId,HO=e=>e.rootProps.syncMethod,Ay=e=>e.options.eventEmitter,G6=e=>e.rootProps.baseValue,nr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},ga={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},yn={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},dh=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function fh(e,t,r){if(r!=="auto")return r;if(e!=null)return Tn(e,t)?"category":"number"}function dS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function nf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Oy=H([Z6,pO],(e,t)=>{var r;if(e!=null)return e;var n=(r=fh(t,"angleAxis",fS.type))!==null&&r!==void 0?r:"category";return nf(nf({},fS),{},{type:n})}),J6=(e,t)=>e.polarAxis.radiusAxis[t],Cy=H([J6,pO],(e,t)=>{var r;if(e!=null)return e;var n=(r=fh(t,"radiusAxis",hS.type))!==null&&r!==void 0?r:"category";return nf(nf({},hS),{},{type:n})}),hh=e=>e.polarOptions,jy=H([oi,li,Kt],x6),KO=H([hh,jy],(e,t)=>{if(e!=null)return ta(e.innerRadius,t,0)}),VO=H([hh,jy],(e,t)=>{if(e!=null)return ta(e.outerRadius,t,t*.8)}),e8=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},qO=H([hh],e8);H([Oy,qO],dh);var GO=H([jy,KO,VO],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});H([Cy,GO],dh);var YO=H([ot,hh,KO,VO,oi,li],(e,t,r,n,i,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var s=t.cx,u=t.cy,d=t.startAngle,f=t.endAngle;return{cx:ta(s,i,i/2),cy:ta(u,o,o/2),innerRadius:r,outerRadius:n,startAngle:d,endAngle:f,clockWise:!1}}}),It=(e,t)=>t,ph=(e,t,r)=>r;function _y(e){return e==null?void 0:e.id}function QO(e,t,r){var n=t.chartData,i=n===void 0?[]:n,o=r.allowDuplicatedCategory,s=r.dataKey,u=new Map;return e.forEach(d=>{var f,h=(f=d.data)!==null&&f!==void 0?f:i;if(!(h==null||h.length===0)){var m=_y(d);h.forEach((v,b)=>{var S=s==null||o?b:String(Nt(v,s,null)),k=Nt(v,d.dataKey,0),E;u.has(S)?E=u.get(S):E={},Object.assign(E,{[m]:k}),u.set(S,E)})}}),Array.from(u.values())}function Ny(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var mh=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function vh(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function t8(e,t){if(e.length===t.length){for(var r=0;r{var t=ot(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},_l=e=>e.tooltip.settings.axisId;function Iy(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),i=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(o){function s(){return o.apply(this,arguments)}return s.toString=function(){return o.toString()},s})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(o){var s=i[0],u=i[1];return s<=u?o>=s&&o<=u:o>=u&&o<=s},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,s)=>{var u=e(o);if(u!=null){if(e.bandwidth&&s!==null&&s!==void 0&&s.position){var d=e.bandwidth();switch(s.position){case"middle":u+=d/2;break;case"end":u+=d;break}}return u}}}}}var r8=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!An(t)){for(var r,n,i=0;in)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function Zi(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function n8(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function My(e){let t,r,n;e.length!==2?(t=Zi,r=(u,d)=>Zi(e(u),d),n=(u,d)=>e(u)-d):(t=e===Zi||e===n8?e:i8,r=e,n=e);function i(u,d,f=0,h=u.length){if(f>>1;r(u[m],d)<0?f=m+1:h=m}while(f>>1;r(u[m],d)<=0?f=m+1:h=m}while(ff&&n(u[m-1],d)>-n(u[m],d)?m-1:m}return{left:i,center:s,right:o}}function i8(){return 0}function XO(e){return e===null?NaN:+e}function*a8(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const o8=My(Zi),Nu=o8.right;My(XO).center;class pS extends Map{constructor(t,r=u8){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(mS(this,t))}has(t){return super.has(mS(this,t))}set(t,r){return super.set(l8(this,t),r)}delete(t){return super.delete(s8(this,t))}}function mS({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function l8({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function s8({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function u8(e){return e!==null&&typeof e=="object"?e.valueOf():e}function c8(e=Zi){if(e===Zi)return ZO;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function ZO(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const d8=Math.sqrt(50),f8=Math.sqrt(10),h8=Math.sqrt(2);function af(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=d8?10:o>=f8?5:o>=h8?2:1;let u,d,f;return i<0?(f=Math.pow(10,-i)/s,u=Math.round(e*f),d=Math.round(t*f),u/ft&&--d,f=-f):(f=Math.pow(10,i)*s,u=Math.round(e/f),d=Math.round(t/f),u*ft&&--d),d0))return[];if(e===t)return[e];const n=t=i))return[];const u=o-i+1,d=new Array(u);if(n)if(s<0)for(let f=0;f=n)&&(r=n);else{let n=-1;for(let i of e)(i=t(i,++n,e))!=null&&(r=i)&&(r=i)}return r}function gS(e,t){let r;if(t===void 0)for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of e)(i=t(i,++n,e))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function JO(e,t,r=0,n=1/0,i){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(i=i===void 0?ZO:c8(i);n>r;){if(n-r>600){const d=n-r+1,f=t-r+1,h=Math.log(d),m=.5*Math.exp(2*h/3),v=.5*Math.sqrt(h*m*(d-m)/d)*(f-d/2<0?-1:1),b=Math.max(r,Math.floor(t-f*m/d+v)),S=Math.min(n,Math.floor(t+(d-f)*m/d+v));JO(e,t,b,S,i)}const o=e[t];let s=r,u=n;for(Ms(e,r,t),i(e[n],o)>0&&Ms(e,r,n);s0;)--u}i(e[r],o)===0?Ms(e,r,u):(++u,Ms(e,u,n)),u<=t&&(r=u+1),t<=u&&(n=u-1)}return e}function Ms(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function p8(e,t,r){if(e=Float64Array.from(a8(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return gS(e);if(t>=1)return vS(e);var n,i=(n-1)*t,o=Math.floor(i),s=vS(JO(e,o).subarray(0,o+1)),u=gS(e.subarray(o+1));return s+(u-s)*(i-o)}}function m8(e,t,r=XO){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,o=Math.floor(i),s=+r(e[o],o,e),u=+r(e[o+1],o+1,e);return s+(u-s)*(i-o)}}function v8(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(i);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?hd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?hd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=x8.exec(e))?new gr(t[1],t[2],t[3],1):(t=b8.exec(e))?new gr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=w8.exec(e))?hd(t[1],t[2],t[3],t[4]):(t=k8.exec(e))?hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=S8.exec(e))?ES(t[1],t[2]/100,t[3]/100,1):(t=E8.exec(e))?ES(t[1],t[2]/100,t[3]/100,t[4]):yS.hasOwnProperty(e)?wS(yS[e]):e==="transparent"?new gr(NaN,NaN,NaN,0):null}function wS(e){return new gr(e>>16&255,e>>8&255,e&255,1)}function hd(e,t,r,n){return n<=0&&(e=t=r=NaN),new gr(e,t,r,n)}function O8(e){return e instanceof Iu||(e=uu(e)),e?(e=e.rgb(),new gr(e.r,e.g,e.b,e.opacity)):new gr}function xg(e,t,r,n){return arguments.length===1?O8(e):new gr(e,t,r,n??1)}function gr(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}Ry(gr,xg,tC(Iu,{brighter(e){return e=e==null?of:Math.pow(of,e),new gr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?lu:Math.pow(lu,e),new gr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gr(Ua(this.r),Ua(this.g),Ua(this.b),lf(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kS,formatHex:kS,formatHex8:C8,formatRgb:SS,toString:SS}));function kS(){return`#${Oa(this.r)}${Oa(this.g)}${Oa(this.b)}`}function C8(){return`#${Oa(this.r)}${Oa(this.g)}${Oa(this.b)}${Oa((isNaN(this.opacity)?1:this.opacity)*255)}`}function SS(){const e=lf(this.opacity);return`${e===1?"rgb(":"rgba("}${Ua(this.r)}, ${Ua(this.g)}, ${Ua(this.b)}${e===1?")":`, ${e})`}`}function lf(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ua(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Oa(e){return e=Ua(e),(e<16?"0":"")+e.toString(16)}function ES(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new on(e,t,r,n)}function rC(e){if(e instanceof on)return new on(e.h,e.s,e.l,e.opacity);if(e instanceof Iu||(e=uu(e)),!e)return new on;if(e instanceof on)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),o=Math.max(t,r,n),s=NaN,u=o-i,d=(o+i)/2;return u?(t===o?s=(r-n)/u+(r0&&d<1?0:s,new on(s,u,d,e.opacity)}function j8(e,t,r,n){return arguments.length===1?rC(e):new on(e,t,r,n??1)}function on(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}Ry(on,j8,tC(Iu,{brighter(e){return e=e==null?of:Math.pow(of,e),new on(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?lu:Math.pow(lu,e),new on(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new gr(ev(e>=240?e-240:e+120,i,n),ev(e,i,n),ev(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new on(PS(this.h),pd(this.s),pd(this.l),lf(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=lf(this.opacity);return`${e===1?"hsl(":"hsla("}${PS(this.h)}, ${pd(this.s)*100}%, ${pd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function PS(e){return e=(e||0)%360,e<0?e+360:e}function pd(e){return Math.max(0,Math.min(1,e||0))}function ev(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const $y=e=>()=>e;function _8(e,t){return function(r){return e+r*t}}function N8(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function I8(e){return(e=+e)==1?nC:function(t,r){return r-t?N8(t,r,e):$y(isNaN(t)?r:t)}}function nC(e,t){var r=t-e;return r?_8(e,r):$y(isNaN(e)?t:e)}const AS=(function e(t){var r=I8(t);function n(i,o){var s=r((i=xg(i)).r,(o=xg(o)).r),u=r(i.g,o.g),d=r(i.b,o.b),f=nC(i.opacity,o.opacity);return function(h){return i.r=s(h),i.g=u(h),i.b=d(h),i.opacity=f(h),i+""}}return n.gamma=e,n})(1);function M8(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(o){for(i=0;ir&&(o=t.slice(r,o),u[s]?u[s]+=o:u[++s]=o),(n=n[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,d.push({i:s,x:sf(n,i)})),r=tv.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function H8(e,t,r){var n=e[0],i=e[1],o=t[0],s=t[1];return i2?K8:H8,d=f=null,m}function m(v){return v==null||isNaN(v=+v)?o:(d||(d=u(e.map(n),t,r)))(n(s(v)))}return m.invert=function(v){return s(i((f||(f=u(t,e.map(n),sf)))(v)))},m.domain=function(v){return arguments.length?(e=Array.from(v,uf),h()):e.slice()},m.range=function(v){return arguments.length?(t=Array.from(v),h()):t.slice()},m.rangeRound=function(v){return t=Array.from(v),r=Ly,h()},m.clamp=function(v){return arguments.length?(s=v?!0:ir,h()):s!==ir},m.interpolate=function(v){return arguments.length?(r=v,h()):r},m.unknown=function(v){return arguments.length?(o=v,m):o},function(v,b){return n=v,i=b,h()}}function zy(){return gh()(ir,ir)}function V8(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function cf(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function gl(e){return e=cf(Math.abs(e)),e?e[1]:NaN}function q8(e,t){return function(r,n){for(var i=r.length,o=[],s=0,u=e[0],d=0;i>0&&u>0&&(d+u+1>n&&(u=Math.max(1,n-d)),o.push(r.substring(i-=u,i+u)),!((d+=u+1)>n));)u=e[s=(s+1)%e.length];return o.reverse().join(t)}}function G8(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var Y8=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function cu(e){if(!(t=Y8.exec(e)))throw new Error("invalid format: "+e);var t;return new Fy({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}cu.prototype=Fy.prototype;function Fy(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Fy.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Q8(e){e:for(var t=e.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(i+1):e}var df;function X8(e,t){var r=cf(e,t);if(!r)return df=void 0,e.toPrecision(t);var n=r[0],i=r[1],o=i-(df=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return o===s?n:o>s?n+new Array(o-s+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+cf(e,Math.max(0,t+o-1))[0]}function CS(e,t){var r=cf(e,t);if(!r)return e+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const jS={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:V8,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>CS(e*100,t),r:CS,s:X8,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function _S(e){return e}var NS=Array.prototype.map,IS=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Z8(e){var t=e.grouping===void 0||e.thousands===void 0?_S:q8(NS.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?_S:G8(NS.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",d=e.nan===void 0?"NaN":e.nan+"";function f(m,v){m=cu(m);var b=m.fill,S=m.align,k=m.sign,E=m.symbol,P=m.zero,j=m.width,_=m.comma,O=m.precision,N=m.trim,C=m.type;C==="n"?(_=!0,C="g"):jS[C]||(O===void 0&&(O=12),N=!0,C="g"),(P||b==="0"&&S==="=")&&(P=!0,b="0",S="=");var R=(v&&v.prefix!==void 0?v.prefix:"")+(E==="$"?r:E==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():""),z=(E==="$"?n:/[%p]/.test(C)?s:"")+(v&&v.suffix!==void 0?v.suffix:""),F=jS[C],V=/[defgprs%]/.test(C);O=O===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function Q(B){var ue=R,G=z,le,fe,de;if(C==="c")G=F(B)+G,B="";else{B=+B;var Y=B<0||1/B<0;if(B=isNaN(B)?d:F(Math.abs(B),O),N&&(B=Q8(B)),Y&&+B==0&&k!=="+"&&(Y=!1),ue=(Y?k==="("?k:u:k==="-"||k==="("?"":k)+ue,G=(C==="s"&&!isNaN(B)&&df!==void 0?IS[8+df/3]:"")+G+(Y&&k==="("?")":""),V){for(le=-1,fe=B.length;++lede||de>57){G=(de===46?i+B.slice(le+1):B.slice(le))+G,B=B.slice(0,le);break}}}_&&!P&&(B=t(B,1/0));var ae=ue.length+B.length+G.length,X=ae>1)+ue+B+G+X.slice(ae);break;default:B=X+ue+B+G;break}return o(B)}return Q.toString=function(){return m+""},Q}function h(m,v){var b=Math.max(-8,Math.min(8,Math.floor(gl(v)/3)))*3,S=Math.pow(10,-b),k=f((m=cu(m),m.type="f",m),{suffix:IS[8+b/3]});return function(E){return k(S*E)}}return{format:f,formatPrefix:h}}var md,By,iC;J8({thousands:",",grouping:[3],currency:["$",""]});function J8(e){return md=Z8(e),By=md.format,iC=md.formatPrefix,md}function eB(e){return Math.max(0,-gl(Math.abs(e)))}function tB(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(gl(t)/3)))*3-gl(Math.abs(e)))}function rB(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,gl(t)-gl(e))+1}function aC(e,t,r,n){var i=gg(e,t,r),o;switch(n=cu(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=tB(i,s))&&(n.precision=o),iC(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=rB(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=eB(i))&&(n.precision=o-(n.type==="%")*2);break}}return By(n)}function ra(e){var t=e.domain;return e.ticks=function(r){var n=t();return mg(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return aC(i[0],i[i.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),i=0,o=n.length-1,s=n[i],u=n[o],d,f,h=10;for(u0;){if(f=vg(s,u,r),f===d)return n[i]=s,n[o]=u,t(n);if(f>0)s=Math.floor(s/f)*f,u=Math.ceil(u/f)*f;else if(f<0)s=Math.ceil(s*f)/f,u=Math.floor(u*f)/f;else break;d=f}return e},e}function oC(){var e=zy();return e.copy=function(){return Mu(e,oC())},Kr.apply(e,arguments),ra(e)}function lC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,uf),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return lC(e).unknown(t)},e=arguments.length?Array.from(e,uf):[0,1],ra(r)}function sC(e,t){e=e.slice();var r=0,n=e.length-1,i=e[r],o=e[n],s;return oMath.pow(e,t)}function lB(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function DS(e){return(t,r)=>-e(-t,r)}function Uy(e){const t=e(MS,TS),r=t.domain;let n=10,i,o;function s(){return i=lB(n),o=oB(n),r()[0]<0?(i=DS(i),o=DS(o),e(nB,iB)):e(MS,TS),t}return t.base=function(u){return arguments.length?(n=+u,s()):n},t.domain=function(u){return arguments.length?(r(u),s()):r()},t.ticks=u=>{const d=r();let f=d[0],h=d[d.length-1];const m=h0){for(;v<=b;++v)for(S=1;Sh)break;P.push(k)}}else for(;v<=b;++v)for(S=n-1;S>=1;--S)if(k=v>0?S/o(-v):S*o(v),!(kh)break;P.push(k)}P.length*2{if(u==null&&(u=10),d==null&&(d=n===10?"s":","),typeof d!="function"&&(!(n%1)&&(d=cu(d)).precision==null&&(d.trim=!0),d=By(d)),u===1/0)return d;const f=Math.max(1,n*u/t.ticks().length);return h=>{let m=h/o(Math.round(i(h)));return m*nr(sC(r(),{floor:u=>o(Math.floor(i(u))),ceil:u=>o(Math.ceil(i(u)))})),t}function uC(){const e=Uy(gh()).domain([1,10]);return e.copy=()=>Mu(e,uC()).base(e.base()),Kr.apply(e,arguments),e}function RS(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function $S(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Wy(e){var t=1,r=e(RS(t),$S(t));return r.constant=function(n){return arguments.length?e(RS(t=+n),$S(t)):t},ra(r)}function cC(){var e=Wy(gh());return e.copy=function(){return Mu(e,cC()).constant(e.constant())},Kr.apply(e,arguments)}function LS(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function sB(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function uB(e){return e<0?-e*e:e*e}function Hy(e){var t=e(ir,ir),r=1;function n(){return r===1?e(ir,ir):r===.5?e(sB,uB):e(LS(r),LS(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},ra(t)}function Ky(){var e=Hy(gh());return e.copy=function(){return Mu(e,Ky()).exponent(e.exponent())},Kr.apply(e,arguments),e}function cB(){return Ky.apply(null,arguments).exponent(.5)}function zS(e){return Math.sign(e)*e*e}function dB(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function dC(){var e=zy(),t=[0,1],r=!1,n;function i(o){var s=dB(e(o));return isNaN(s)?n:r?Math.round(s):s}return i.invert=function(o){return e.invert(zS(o))},i.domain=function(o){return arguments.length?(e.domain(o),i):e.domain()},i.range=function(o){return arguments.length?(e.range((t=Array.from(o,uf)).map(zS)),i):t.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(r=!!o,i):r},i.clamp=function(o){return arguments.length?(e.clamp(o),i):e.clamp()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return dC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Kr.apply(i,arguments),ra(i)}function fC(){var e=[],t=[],r=[],n;function i(){var s=0,u=Math.max(1,t.length);for(r=new Array(u-1);++s0?r[u-1]:e[0],u=r?[n[r-1],t]:[n[f-1],n[f]]},s.unknown=function(d){return arguments.length&&(o=d),s},s.thresholds=function(){return n.slice()},s.copy=function(){return hC().domain([e,t]).range(i).unknown(o)},Kr.apply(ra(s),arguments)}function pC(){var e=[.5],t=[0,1],r,n=1;function i(o){return o!=null&&o<=o?t[Nu(e,o,0,n)]:r}return i.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var s=t.indexOf(o);return[e[s-1],e[s]]},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return pC().domain(e).range(t).unknown(r)},Kr.apply(i,arguments)}const rv=new Date,nv=new Date;function Et(e,t,r,n){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{const s=i(o),u=i.ceil(o);return o-s(t(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,u)=>{const d=[];if(o=i.ceil(o),u=u==null?1:Math.floor(u),!(o0))return d;let f;do d.push(f=new Date(+o)),t(o,u),e(o);while(fEt(s=>{if(s>=s)for(;e(s),!o(s);)s.setTime(s-1)},(s,u)=>{if(s>=s)if(u<0)for(;++u<=0;)for(;t(s,-1),!o(s););else for(;--u>=0;)for(;t(s,1),!o(s););}),r&&(i.count=(o,s)=>(rv.setTime(+o),nv.setTime(+s),e(rv),e(nv),Math.floor(r(rv,nv))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}const ff=Et(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ff.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Et(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):ff);ff.range;const Xn=1e3,Fr=Xn*60,Zn=Fr*60,ni=Zn*24,Vy=ni*7,FS=ni*30,iv=ni*365,Ca=Et(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Xn)},(e,t)=>(t-e)/Xn,e=>e.getUTCSeconds());Ca.range;const qy=Et(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Xn)},(e,t)=>{e.setTime(+e+t*Fr)},(e,t)=>(t-e)/Fr,e=>e.getMinutes());qy.range;const Gy=Et(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Fr)},(e,t)=>(t-e)/Fr,e=>e.getUTCMinutes());Gy.range;const Yy=Et(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Xn-e.getMinutes()*Fr)},(e,t)=>{e.setTime(+e+t*Zn)},(e,t)=>(t-e)/Zn,e=>e.getHours());Yy.range;const Qy=Et(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Zn)},(e,t)=>(t-e)/Zn,e=>e.getUTCHours());Qy.range;const Tu=Et(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Fr)/ni,e=>e.getDate()-1);Tu.range;const yh=Et(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ni,e=>e.getUTCDate()-1);yh.range;const mC=Et(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ni,e=>Math.floor(e/ni));mC.range;function eo(e){return Et(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Fr)/Vy)}const xh=eo(0),hf=eo(1),fB=eo(2),hB=eo(3),yl=eo(4),pB=eo(5),mB=eo(6);xh.range;hf.range;fB.range;hB.range;yl.range;pB.range;mB.range;function to(e){return Et(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Vy)}const bh=to(0),pf=to(1),vB=to(2),gB=to(3),xl=to(4),yB=to(5),xB=to(6);bh.range;pf.range;vB.range;gB.range;xl.range;yB.range;xB.range;const Xy=Et(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Xy.range;const Zy=Et(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Zy.range;const ii=Et(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());ii.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Et(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});ii.range;const ai=Et(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ai.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Et(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});ai.range;function vC(e,t,r,n,i,o){const s=[[Ca,1,Xn],[Ca,5,5*Xn],[Ca,15,15*Xn],[Ca,30,30*Xn],[o,1,Fr],[o,5,5*Fr],[o,15,15*Fr],[o,30,30*Fr],[i,1,Zn],[i,3,3*Zn],[i,6,6*Zn],[i,12,12*Zn],[n,1,ni],[n,2,2*ni],[r,1,Vy],[t,1,FS],[t,3,3*FS],[e,1,iv]];function u(f,h,m){const v=hE).right(s,v);if(b===s.length)return e.every(gg(f/iv,h/iv,m));if(b===0)return ff.every(Math.max(gg(f,h,m),1));const[S,k]=s[v/s[b-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?($e=ov(Ts(ne.y,0,1)),Pe=$e.getUTCDay(),$e=Pe>4||Pe===0?pf.ceil($e):pf($e),$e=yh.offset($e,(ne.V-1)*7),ne.y=$e.getUTCFullYear(),ne.m=$e.getUTCMonth(),ne.d=$e.getUTCDate()+(ne.w+6)%7):($e=av(Ts(ne.y,0,1)),Pe=$e.getDay(),$e=Pe>4||Pe===0?hf.ceil($e):hf($e),$e=Tu.offset($e,(ne.V-1)*7),ne.y=$e.getFullYear(),ne.m=$e.getMonth(),ne.d=$e.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Pe="Z"in ne?ov(Ts(ne.y,0,1)).getUTCDay():av(Ts(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Pe+5)%7:ne.w+ne.U*7-(Pe+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,ov(ne)):av(ne)}}function z(J,we,Ae,ne){for(var lt=0,$e=we.length,Pe=Ae.length,vt,lr;lt<$e;){if(ne>=Pe)return-1;if(vt=we.charCodeAt(lt++),vt===37){if(vt=we.charAt(lt++),lr=N[vt in BS?we.charAt(lt++):vt],!lr||(ne=lr(J,Ae,ne))<0)return-1}else if(vt!=Ae.charCodeAt(ne++))return-1}return ne}function F(J,we,Ae){var ne=f.exec(we.slice(Ae));return ne?(J.p=h.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function V(J,we,Ae){var ne=b.exec(we.slice(Ae));return ne?(J.w=S.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function Q(J,we,Ae){var ne=m.exec(we.slice(Ae));return ne?(J.w=v.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function B(J,we,Ae){var ne=P.exec(we.slice(Ae));return ne?(J.m=j.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function ue(J,we,Ae){var ne=k.exec(we.slice(Ae));return ne?(J.m=E.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function G(J,we,Ae){return z(J,t,we,Ae)}function le(J,we,Ae){return z(J,r,we,Ae)}function fe(J,we,Ae){return z(J,n,we,Ae)}function de(J){return s[J.getDay()]}function Y(J){return o[J.getDay()]}function ae(J){return d[J.getMonth()]}function X(J){return u[J.getMonth()]}function M(J){return i[+(J.getHours()>=12)]}function T(J){return 1+~~(J.getMonth()/3)}function Z(J){return s[J.getUTCDay()]}function se(J){return o[J.getUTCDay()]}function te(J){return d[J.getUTCMonth()]}function ce(J){return u[J.getUTCMonth()]}function ge(J){return i[+(J.getUTCHours()>=12)]}function _e(J){return 1+~~(J.getUTCMonth()/3)}return{format:function(J){var we=C(J+="",_);return we.toString=function(){return J},we},parse:function(J){var we=R(J+="",!1);return we.toString=function(){return J},we},utcFormat:function(J){var we=C(J+="",O);return we.toString=function(){return J},we},utcParse:function(J){var we=R(J+="",!0);return we.toString=function(){return J},we}}}var BS={"-":"",_:" ",0:"0"},Tt=/^\s*\d+/,PB=/^%/,AB=/[\\^$*+?|[\]().{}]/g;function Ke(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",o=i.length;return n+(o[t.toLowerCase(),r]))}function CB(e,t,r){var n=Tt.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function jB(e,t,r){var n=Tt.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function _B(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function NB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function IB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function US(e,t,r){var n=Tt.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function WS(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function MB(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function TB(e,t,r){var n=Tt.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function DB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function HS(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function RB(e,t,r){var n=Tt.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function KS(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function $B(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function LB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function zB(e,t,r){var n=Tt.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function FB(e,t,r){var n=Tt.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function BB(e,t,r){var n=PB.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function UB(e,t,r){var n=Tt.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function WB(e,t,r){var n=Tt.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function VS(e,t){return Ke(e.getDate(),t,2)}function HB(e,t){return Ke(e.getHours(),t,2)}function KB(e,t){return Ke(e.getHours()%12||12,t,2)}function VB(e,t){return Ke(1+Tu.count(ii(e),e),t,3)}function gC(e,t){return Ke(e.getMilliseconds(),t,3)}function qB(e,t){return gC(e,t)+"000"}function GB(e,t){return Ke(e.getMonth()+1,t,2)}function YB(e,t){return Ke(e.getMinutes(),t,2)}function QB(e,t){return Ke(e.getSeconds(),t,2)}function XB(e){var t=e.getDay();return t===0?7:t}function ZB(e,t){return Ke(xh.count(ii(e)-1,e),t,2)}function yC(e){var t=e.getDay();return t>=4||t===0?yl(e):yl.ceil(e)}function JB(e,t){return e=yC(e),Ke(yl.count(ii(e),e)+(ii(e).getDay()===4),t,2)}function eU(e){return e.getDay()}function tU(e,t){return Ke(hf.count(ii(e)-1,e),t,2)}function rU(e,t){return Ke(e.getFullYear()%100,t,2)}function nU(e,t){return e=yC(e),Ke(e.getFullYear()%100,t,2)}function iU(e,t){return Ke(e.getFullYear()%1e4,t,4)}function aU(e,t){var r=e.getDay();return e=r>=4||r===0?yl(e):yl.ceil(e),Ke(e.getFullYear()%1e4,t,4)}function oU(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ke(t/60|0,"0",2)+Ke(t%60,"0",2)}function qS(e,t){return Ke(e.getUTCDate(),t,2)}function lU(e,t){return Ke(e.getUTCHours(),t,2)}function sU(e,t){return Ke(e.getUTCHours()%12||12,t,2)}function uU(e,t){return Ke(1+yh.count(ai(e),e),t,3)}function xC(e,t){return Ke(e.getUTCMilliseconds(),t,3)}function cU(e,t){return xC(e,t)+"000"}function dU(e,t){return Ke(e.getUTCMonth()+1,t,2)}function fU(e,t){return Ke(e.getUTCMinutes(),t,2)}function hU(e,t){return Ke(e.getUTCSeconds(),t,2)}function pU(e){var t=e.getUTCDay();return t===0?7:t}function mU(e,t){return Ke(bh.count(ai(e)-1,e),t,2)}function bC(e){var t=e.getUTCDay();return t>=4||t===0?xl(e):xl.ceil(e)}function vU(e,t){return e=bC(e),Ke(xl.count(ai(e),e)+(ai(e).getUTCDay()===4),t,2)}function gU(e){return e.getUTCDay()}function yU(e,t){return Ke(pf.count(ai(e)-1,e),t,2)}function xU(e,t){return Ke(e.getUTCFullYear()%100,t,2)}function bU(e,t){return e=bC(e),Ke(e.getUTCFullYear()%100,t,2)}function wU(e,t){return Ke(e.getUTCFullYear()%1e4,t,4)}function kU(e,t){var r=e.getUTCDay();return e=r>=4||r===0?xl(e):xl.ceil(e),Ke(e.getUTCFullYear()%1e4,t,4)}function SU(){return"+0000"}function GS(){return"%"}function YS(e){return+e}function QS(e){return Math.floor(+e/1e3)}var Ro,wC,kC;EU({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function EU(e){return Ro=EB(e),wC=Ro.format,Ro.parse,kC=Ro.utcFormat,Ro.utcParse,Ro}function PU(e){return new Date(e)}function AU(e){return e instanceof Date?+e:+new Date(+e)}function Jy(e,t,r,n,i,o,s,u,d,f){var h=zy(),m=h.invert,v=h.domain,b=f(".%L"),S=f(":%S"),k=f("%I:%M"),E=f("%I %p"),P=f("%a %d"),j=f("%b %d"),_=f("%B"),O=f("%Y");function N(C){return(d(C)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,o)=>p8(e,o/n))},r.copy=function(){return AC(t).domain(e)},si.apply(r,arguments)}function kh(){var e=0,t=.5,r=1,n=1,i,o,s,u,d,f=ir,h,m=!1,v;function b(k){return isNaN(k=+k)?v:(k=.5+((k=+h(k))-o)*(n*k{if(e!=null){var n=e.scale,i=e.type;if(n==="auto")return i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof n=="string")return MU(n)?n:"point"}};function TU(e,t){for(var r=0,n=e.length,i=e[0]t)?r=o+1:n=o}return r}function IC(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var s;return(s=e(o))!==null&&s!==void 0?s:0}),i=e.range();if(!(r.length===0||i.length<2))return o=>{var s,u,d=TU(n,o);if(d<=0)return r[0];if(d>=r.length)return r[r.length-1];var f=(s=n[d-1])!==null&&s!==void 0?s:0,h=(u=n[d])!==null&&u!==void 0?u:0;return Math.abs(o-f)<=Math.abs(o-h)?r[d-1]:r[d]}}}function DU(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):IC(e,void 0)}function ZS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],ui=(e,t)=>{var r=TC(e,t);return r??kt},St={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:kg,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:Au},DC=(e,t)=>e.cartesianAxis.yAxis[t],ci=(e,t)=>{var r=DC(e,t);return r??St},WU={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},n0=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??WU},or=(e,t,r)=>{switch(t){case"xAxis":return ui(e,r);case"yAxis":return ci(e,r);case"zAxis":return n0(e,r);case"angleAxis":return Oy(e,r);case"radiusAxis":return Cy(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},HU=(e,t,r)=>{switch(t){case"xAxis":return ui(e,r);case"yAxis":return ci(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Du=(e,t,r)=>{switch(t){case"xAxis":return ui(e,r);case"yAxis":return ci(e,r);case"angleAxis":return Oy(e,r);case"radiusAxis":return Cy(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},RC=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function $C(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var LC=e=>e.graphicalItems.cartesianItems,KU=H([It,ph],$C),zC=(e,t,r)=>e.filter(r).filter(n=>(t==null?void 0:t.includeHidden)===!0?!0:!n.hide),Il=H([LC,or,KU],zC,{memoizeOptions:{resultEqualityCheck:vh}}),FC=H([Il],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Ny)),BC=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),VU=H([Il],BC),UC=e=>e.map(t=>t.data).filter(Boolean).flat(1),qU=H([Il],e=>e.some(t=>!t.data)),WC=H([Il],UC,{memoizeOptions:{resultEqualityCheck:vh}}),HC=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,i=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(i,o+1)},i0=H([WC,uh],HC),GU=(e,t,r)=>(t==null?void 0:t.dataKey)!=null?e.map(n=>({value:Nt(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(i=>({value:Nt(i,n)}))):e.map(n=>({value:n})),KC=(e,t,r,n,i,o)=>{var s=n.chartData,u=s===void 0?[]:s,d=n.dataStartIndex,f=n.dataEndIndex,h=GU(e,t,r);if(i&&(t==null?void 0:t.dataKey)!=null&&o.length>0){var m=u.slice(d,f+1),v=m.map(b=>({value:Nt(b,t.dataKey)})).filter(b=>b.value!=null);return[...v,...h]}return h},Ru=H([i0,or,Il,uh,qU,WC],KC);function Jo(e){if(jn(e)||e instanceof Date){var t=Number(e);if(Fe(t))return t}}function eE(e){if(Array.isArray(e)){var t=[Jo(e[0]),Jo(e[1])];return An(t)?t:void 0}var r=Jo(e);if(r!=null)return[r,r]}function In(e){return e.map(Jo).filter(vr)}function YU(e,t){var r=Jo(e),n=Jo(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var QU=H([Ru],e=>e==null?void 0:e.map(t=>t.value).sort(YU));function VC(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function XU(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!Cn(t))n=t;else if(Array.isArray(t)){var i=In(t);i.length>0&&(n=Math.max(...i))}return n==null?[]:In(r.flatMap(o=>{var s=Nt(e,o.dataKey),u,d;if(Array.isArray(s)){var f=MC(s,2);u=f[0],d=f[1]}else u=d=s;if(!(!Fe(u)||!Fe(d)))return[n-u,n+d]}))}var Pt=e=>{var t=Mt(e),r=_l(e);return Du(e,t,r)},bl=H([Pt],e=>e==null?void 0:e.dataKey),ZU=H([FC,uh,Pt],QO),qC=(e,t,r,n)=>{var i={},o=t.reduce((s,u)=>{if(u.stackId==null)return s;var d=s[u.stackId];return d==null&&(d=[]),d.push(u),s[u.stackId]=d,s},i);return Object.fromEntries(Object.entries(o).map(s=>{var u=MC(s,2),d=u[0],f=u[1],h=n?[...f].reverse():f,m=h.map(_y);return[d,{stackedData:vL(e,m,r),graphicalItems:h}]}))},GC=H([ZU,FC,ch,WO],qC),YC=(e,t,r,n)=>{var i=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return bL(e,i,o)},JU=H([or],e=>e.allowDataOverflow),a0=e=>{var t;if(e==null||!("domain"in e))return kg;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=In(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:kg},QC=H([or],a0),XC=H([QC,JU],IO),e7=H([GC,cn,It,XC],YC,{memoizeOptions:{resultEqualityCheck:mh}}),o0=e=>e.errorBars,t7=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>VC(r,n)),vf=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],u,d;if(n.length>0&&n.forEach(f=>{var h,m=f.data!=null?[...f.data]:s,v=(h=i[f.id])===null||h===void 0?void 0:h.filter(b=>VC(o,b));m.forEach(b=>{var S,k=Nt(b,(S=r.dataKey)!==null&&S!==void 0?S:f.dataKey),E=XU(b,k,v);if(E.length>=2){var P=Math.min(...E),j=Math.max(...E);(u==null||Pd)&&(d=j)}var _=eE(k);_!=null&&(u=u==null?_[0]:Math.min(u,_[0]),d=d==null?_[1]:Math.max(d,_[1]))})}),(r==null?void 0:r.dataKey)!=null&&n.length===0&&t.forEach(f=>{var h=eE(Nt(f,r.dataKey));h!=null&&(u=u==null?h[0]:Math.min(u,h[0]),d=d==null?h[1]:Math.max(d,h[1]))}),Fe(u)&&Fe(d))return[u,d]},r7=H([i0,or,VU,o0,It,I6],ZC,{memoizeOptions:{resultEqualityCheck:mh}});function n7(e){var t=e.value;if(jn(t)||t instanceof Date)return t}var i7=(e,t,r)=>{var n=e.map(n7).filter(i=>i!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&u2(n))?NO(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},JC=e=>e.referenceElements.dots,Ml=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),a7=H([JC,It,ph],Ml),ej=e=>e.referenceElements.areas,o7=H([ej,It,ph],Ml),tj=e=>e.referenceElements.lines,l7=H([tj,It,ph],Ml),rj=(e,t)=>{if(e!=null){var r=In(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},s7=H(a7,It,rj),nj=(e,t)=>{if(e!=null){var r=In(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},u7=H([o7,It],nj);function c7(e){var t;if(e.x!=null)return In([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:In(r)}function d7(e){var t;if(e.y!=null)return In([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:In(r)}var ij=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?c7(n):d7(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},f7=H([l7,It],ij),h7=H(s7,f7,u7,(e,t,r)=>vf(e,r,t)),aj=(e,t,r,n,i,o,s,u)=>{if(r!=null)return r;var d=s==="vertical"&&u==="xAxis"||s==="horizontal"&&u==="yAxis",f=d?vf(n,o,i):vf(o,i);return L6(t,f,e.allowDataOverflow)},p7=H([or,QC,XC,e7,r7,h7,ot,It],aj,{memoizeOptions:{resultEqualityCheck:mh}}),m7=[0,1],oj=(e,t,r,n,i,o,s)=>{if(!((e==null||r==null||r.length===0)&&s===void 0)){var u=e.dataKey,d=e.type,f=Tn(t,o);if(f&&u==null){var h;return NO(0,(h=r==null?void 0:r.length)!==null&&h!==void 0?h:0)}return d==="category"?i7(n,e,f):i==="expand"&&!f?m7:s}},l0=H([or,ot,i0,Ru,ch,It,p7],oj),Tl=H([or,RC,Ey],NC),lj=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var i=a0(t),o=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&An(e)){if(o)return uS(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return cS(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&An(e))return uS(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&An(e))return cS(e,t.tickCount,t.allowDecimals,"adaptive")}}},s0=H([l0,Du,Tl],lj),sj=(e,t,r,n)=>{if(n!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&An(t)&&Array.isArray(r)&&r.length>0){var i,o,s=t[0],u=(i=r[0])!==null&&i!==void 0?i:0,d=t[1],f=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(s,u),Math.max(d,f)]}return t},v7=H([or,l0,s0,It],sj),g7=H(Ru,or,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(In(e.map(m=>m.value))).sort((m,v)=>m-v),i=n[0],o=n[n.length-1];if(i==null||o==null)return 1/0;var s=o-i;if(s===0)return 1/0;for(var u=0;ui,(e,t,r,n,i)=>{if(!Fe(e))return 0;var o=t==="vertical"?n.height:n.width;if(i==="gap")return e*o/2;if(i==="no-gap"){var s=ta(r,e*o),u=e*o/2;return u-s-(u-s)/o*s}return 0}),y7=(e,t,r)=>{var n=ui(e,t);return n==null||typeof n.padding!="string"?0:uj(e,"xAxis",t,r,n.padding)},x7=(e,t,r)=>{var n=ci(e,t);return n==null||typeof n.padding!="string"?0:uj(e,"yAxis",t,r,n.padding)},b7=H(ui,y7,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var i=e.padding;return typeof i=="string"?{left:t,right:t}:{left:((r=i.left)!==null&&r!==void 0?r:0)+t,right:((n=i.right)!==null&&n!==void 0?n:0)+t}}),w7=H(ci,x7,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var i=e.padding;return typeof i=="string"?{top:t,bottom:t}:{top:((r=i.top)!==null&&r!==void 0?r:0)+t,bottom:((n=i.bottom)!==null&&n!==void 0?n:0)+t}}),cj=H([Kt,b7,nh,rh,(e,t,r)=>r],(e,t,r,n,i)=>{var o=n.padding;return i?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),dj=H([Kt,ot,w7,nh,rh,(e,t,r)=>r],(e,t,r,n,i,o)=>{var s=i.padding;return o?[n.height-s.bottom,s.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),$u=(e,t,r,n)=>{var i;switch(t){case"xAxis":return cj(e,r,n);case"yAxis":return dj(e,r,n);case"zAxis":return(i=n0(e,r))===null||i===void 0?void 0:i.range;case"angleAxis":return qO(e);case"radiusAxis":return GO(e,r);default:return}},fj=H([or,$u],dh),k7=H([Tl,v7],r8),u0=H([or,Tl,k7,fj],r0),hj=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var i=r.type,o=r.scale,s=Tn(e,n);if(s&&(i==="number"||o!=="auto"))return t.map(u=>u.value)}},c0=H([ot,Ru,Du,It],hj),Sh=H([u0],Iy);H([u0],DU);H([u0,QU],IC);H([Il,o0,It],t7);function pj(e,t){return e.idt.id?1:0}var Eh=(e,t)=>t,Ph=(e,t,r)=>r,S7=H(eh,Eh,Ph,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(pj)),E7=H(th,Eh,Ph,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(pj)),mj=(e,t)=>({width:e.width,height:t.height}),P7=(e,t)=>{var r=typeof t.width=="number"?t.width:Au;return{width:r,height:e.height}},A7=H(Kt,ui,mj),O7=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},C7=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},j7=H(li,Kt,S7,Eh,Ph,(e,t,r,n,i)=>{var o={},s;return r.forEach(u=>{var d=mj(t,u);s==null&&(s=O7(t,n,e));var f=n==="top"&&!i||n==="bottom"&&i;o[u.id]=s-Number(f)*d.height,s+=(f?-1:1)*d.height}),o}),_7=H(oi,Kt,E7,Eh,Ph,(e,t,r,n,i)=>{var o={},s;return r.forEach(u=>{var d=P7(t,u);s==null&&(s=C7(t,n,e));var f=n==="left"&&!i||n==="right"&&i;o[u.id]=s-Number(f)*d.width,s+=(f?-1:1)*d.width}),o}),N7=(e,t)=>{var r=ui(e,t);if(r!=null)return j7(e,r.orientation,r.mirror)},I7=H([Kt,ui,N7,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),M7=(e,t)=>{var r=ci(e,t);if(r!=null)return _7(e,r.orientation,r.mirror)},T7=H([Kt,ci,M7,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),D7=H(Kt,ci,(e,t)=>{var r=typeof t.width=="number"?t.width:Au;return{width:r,height:e.height}}),vj=(e,t,r,n)=>{if(r!=null){var i=r.allowDuplicatedCategory,o=r.type,s=r.dataKey,u=Tn(e,n),d=t.map(h=>h.value),f=d.filter(h=>h!=null);if(s&&u&&o==="category"&&i&&u2(f))return d}},d0=H([ot,Ru,or,It],vj),tE=H([ot,HU,Tl,Sh,d0,c0,$u,s0,It],(e,t,r,n,i,o,s,u,d)=>{if(t!=null){var f=Tn(e,d);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:d,categoricalDomain:o,duplicateDomain:i,isCategorical:f,niceTicks:u,range:s,realScaleType:r,scale:n}}}),R7=(e,t,r,n,i,o,s,u,d)=>{if(!(t==null||n==null)){var f=Tn(e,d),h=t.type,m=t.ticks,v=t.tickCount,b=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,S=h==="category"&&n.bandwidth?n.bandwidth()/b:0;S=d==="angleAxis"&&o!=null&&o.length>=2?Lr(o[0]-o[1])*2*S:S;var k=m||i;return k?k.map((E,P)=>{var j=s?s.indexOf(E):E,_=n.map(j);return Fe(_)?{index:P,coordinate:_+S,value:E,offset:S}:null}).filter(vr):f&&u?u.map((E,P)=>{var j=n.map(E);return Fe(j)?{coordinate:j+S,value:E,index:P,offset:S}:null}).filter(vr):n.ticks?n.ticks(v).map((E,P)=>{var j=n.map(E);return Fe(j)?{coordinate:j+S,value:E,index:P,offset:S}:null}).filter(vr):n.domain().map((E,P)=>{var j=n.map(E);return Fe(j)?{coordinate:j+S,value:s?s[E]:E,index:P,offset:S}:null}).filter(vr)}},gj=H([ot,Du,Tl,Sh,s0,$u,d0,c0,It],R7),$7=(e,t,r,n,i,o,s)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var u=Tn(e,s),d=t.tickCount,f=0;return f=s==="angleAxis"&&(n==null?void 0:n.length)>=2?Lr(n[0]-n[1])*2*f:f,u&&o?o.map((h,m)=>{var v=r.map(h);return Fe(v)?{coordinate:v+f,value:h,index:m,offset:f}:null}).filter(vr):r.ticks?r.ticks(d).map((h,m)=>{var v=r.map(h);return Fe(v)?{coordinate:v+f,value:h,index:m,offset:f}:null}).filter(vr):r.domain().map((h,m)=>{var v=r.map(h);return Fe(v)?{coordinate:v+f,value:i?i[h]:h,index:m,offset:f}:null}).filter(vr)}},yj=H([ot,Du,Sh,$u,d0,c0,It],$7),xj=H(or,Sh,(e,t)=>{if(!(e==null||t==null))return mf(mf({},e),{},{scale:t})}),L7=H([or,Tl,l0,fj],r0),z7=H([L7],Iy);H((e,t,r)=>n0(e,r),z7,(e,t)=>{if(!(e==null||t==null))return mf(mf({},e),{},{scale:t})});var F7=H([ot,eh,th],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),B7=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]};H([B7],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,i=e[0];for(var o of e){var s=Math.abs(o.coordinate-t);se.options.defaultTooltipEventType,wj=e=>e.options.validateTooltipEventTypes;function kj(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Lu(e,t){var r=bj(e),n=wj(e);return kj(t,r,n)}function U7(e){return Ee(t=>Lu(t,e))}var Sj=(e,t)=>{var r,n=Number(t);if(!(Cn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0},W7=e=>e.tooltip.settings,Fi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},H7={itemInteraction:{click:Fi,hover:Fi},axisInteraction:{click:Fi,hover:Fi},keyboardInteraction:Fi,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},Ej=Jt({name:"tooltip",initialState:H7,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:rt()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=zr(e).tooltipItemPayloads.indexOf(n);o>-1&&(e.tooltipItemPayloads[o]=i)},prepare:rt()},removeTooltipEntrySettings:{reducer(e,t){var r=zr(e).tooltipItemPayloads.indexOf(t.payload);r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:rt()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Vr=Ej.actions,K7=Vr.addTooltipEntrySettings,V7=Vr.replaceTooltipEntrySettings,q7=Vr.removeTooltipEntrySettings,G7=Vr.setTooltipSettingsState,Y7=Vr.setActiveMouseOverItemIndex;Vr.mouseLeaveItem;var Pj=Vr.mouseLeaveChart;Vr.setActiveClickItemIndex;var Aj=Vr.setMouseOverAxisIndex,Q7=Vr.setMouseClickAxisIndex,Bs=Vr.setSyncInteraction,gf=Vr.setKeyboardInteraction,X7=Ej.reducer;function rE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function vd(e){for(var t=1;t{if(t==null)return Fi;var i=t9(e,t,r);if(i==null)return Fi;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(r9(i)){if(o)return vd(vd({},i),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return vd(vd({},Fi),{},{coordinate:i.coordinate})};function n9(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function i9(e,t){var r=n9(e),n=t[0],i=t[1];if(r===void 0)return!1;var o=Math.min(n,i),s=Math.max(n,i);return r>=o&&r<=s}function a9(e,t,r){if(r==null||t==null)return!0;var n=Nt(e,t);return n==null||!An(r)?!0:i9(n,r)}var Ws=(e,t,r,n)=>{var i=e==null?void 0:e.index;if(i==null)return null;var o=Number(i);if(!Fe(o))return i;var s=0,u=1/0;t.length>0&&(u=t.length-1);var d=Math.max(s,Math.min(o,u)),f=t[d];return f==null||a9(f,r,n)?String(d):null},Cj=(e,t,r,n,i,o,s)=>{if(o!=null){var u=s[0],d=u==null?void 0:u.getPosition(o);if(d!=null)return d;var f=i==null?void 0:i[Number(o)];if(f)switch(r){case"horizontal":return{x:f.coordinate,y:(n.top+t)/2};default:return{x:(n.left+e)/2,y:f.coordinate}}}},jj=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(r==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(n!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(s=>{var u;return((u=s.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},_j=e=>e.options.tooltipPayloadSearcher,Dl=e=>e.tooltip;function nE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function iE(e){for(var t=1;te(t)}function aE(e){if(typeof e=="string")return e}function f9(e){if(!(e==null||typeof e!="object")){var t="name"in e?u9(e.name):void 0,r="unit"in e?c9(e.unit):void 0,n="dataKey"in e?d9(e.dataKey):void 0,i="payload"in e?e.payload:void 0,o="color"in e?aE(e.color):void 0,s="fill"in e?aE(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:i,color:o,fill:s}}}function h9(e,t){return e??t}var Nj=(e,t,r,n,i,o,s)=>{if(!(t==null||o==null)){var u=r.chartData,d=r.computedData,f=r.dataStartIndex,h=r.dataEndIndex,m=[];return e.reduce((v,b)=>{var S,k=b.dataDefinedOnItem,E=b.settings,P=h9(k,u),j=Array.isArray(P)?rO(P,f,h):P,_=(S=E==null?void 0:E.dataKey)!==null&&S!==void 0?S:n,O=E==null?void 0:E.nameKey,N;if(n&&Array.isArray(j)&&!Array.isArray(j[0])&&s==="axis"?N=c2(j,n,i):N=o(j,t,d,O),Array.isArray(N))N.forEach(R=>{var z,F,V=f9(R),Q=V==null?void 0:V.name,B=V==null?void 0:V.dataKey,ue=V==null?void 0:V.payload,G=iE(iE({},E),{},{name:Q,unit:V==null?void 0:V.unit,color:(z=V==null?void 0:V.color)!==null&&z!==void 0?z:E==null?void 0:E.color,fill:(F=V==null?void 0:V.fill)!==null&&F!==void 0?F:E==null?void 0:E.fill});v.push(Jw({tooltipEntrySettings:G,dataKey:B,payload:ue,value:Nt(ue,B),name:Q==null?void 0:String(Q)}))});else{var C;v.push(Jw({tooltipEntrySettings:E,dataKey:_,payload:N,value:Nt(N,_),name:(C=Nt(N,O))!==null&&C!==void 0?C:E==null?void 0:E.name}))}return v},m)}},f0=H([Pt,RC,Ey],NC),p9=H([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),m9=H([Mt,_l],$C),ro=H([p9,Pt,m9],zC,{memoizeOptions:{resultEqualityCheck:vh}}),v9=H([ro],e=>e.filter(Ny)),Ij=H([ro],UC,{memoizeOptions:{resultEqualityCheck:vh}}),g9=H([ro],e=>e.some(t=>!t.data)),Qa=H([Ij,cn],HC),y9=H([v9,cn,Pt],QO),h0=H([Qa,Pt,ro,cn,g9,Ij],KC),Mj=H([Pt],a0),x9=H([Pt],e=>e.allowDataOverflow),Tj=H([Mj,x9],IO),b9=H([ro],e=>e.filter(Ny)),w9=H([y9,b9,ch,WO],qC),k9=H([w9,cn,Mt,Tj],YC),S9=H([ro],BC),E9=H([Qa,Pt,S9,o0,Mt,M6],ZC,{memoizeOptions:{resultEqualityCheck:mh}}),P9=H([JC,Mt,_l],Ml),A9=H([P9,Mt],rj),O9=H([ej,Mt,_l],Ml),C9=H([O9,Mt],nj),j9=H([tj,Mt,_l],Ml),_9=H([j9,Mt],ij),N9=H([A9,_9,C9],vf),I9=H([Pt,Mj,Tj,k9,E9,N9,ot,Mt],aj),wl=H([Pt,ot,Qa,h0,ch,Mt,I9],oj),M9=H([wl,Pt,f0],lj),T9=H([Pt,wl,M9,Mt],sj),Dj=e=>{var t=Mt(e),r=_l(e),n=!1;return $u(e,t,r,n)},Rj=H([Pt,Dj],dh),D9=H([Pt,f0,T9,Rj],r0),$j=H([D9],Iy),R9=H([ot,h0,Pt,Mt],vj),$9=H([ot,h0,Pt,Mt],hj),L9=(e,t,r,n,i,o,s,u)=>{if(t){var d=t.type,f=Tn(e,u);if(n){var h=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,m=d==="category"&&n.bandwidth?n.bandwidth()/h:0;return m=u==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?Lr(i[0]-i[1])*2*m:m,f&&s?s.map((v,b)=>{var S=n.map(v);return Fe(S)?{coordinate:S+m,value:v,index:b,offset:m}:null}).filter(vr):n.domain().map((v,b)=>{var S=n.map(v);return Fe(S)?{coordinate:S+m,value:o?o[v]:v,index:b,offset:m}:null}).filter(vr)}}},di=H([ot,Pt,f0,$j,Dj,R9,$9,Mt],L9),p0=H([bj,wj,W7],(e,t,r)=>kj(r.shared,e,t)),Lj=e=>e.tooltip.settings.trigger,m0=e=>e.tooltip.settings.defaultIndex,zu=H([Dl,p0,Lj,m0],Oj),du=H([zu,Qa,bl,wl],Ws),zj=H([di,du],Sj),z9=H([zu],e=>{if(e)return e.dataKey}),F9=H([zu],e=>{if(e)return e.graphicalItemId}),Fj=H([Dl,p0,Lj,m0],jj),B9=H([oi,li,ot,Kt,di,m0,Fj],Cj),U9=H([zu,B9],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),W9=H([zu],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),H9=H([Fj,du,cn,bl,zj,_j,p0],Nj),K9=H([H9],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function oE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function lE(e){for(var t=1;tEe(Pt),Q9=()=>{var e=Y9(),t=Ee(di),r=Ee($j);return Vd(!e||!r?void 0:lE(lE({},e),{},{scale:r}),t)};function sE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function $o(e){for(var t=1;t{var i=t.find(o=>o&&o.index===r);if(i){if(e==="horizontal")return{x:i.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:i.coordinate}}return{x:0,y:0}},tW=(e,t,r,n)=>{var i=t.find(f=>f&&f.index===r);if(i){if(e==="centric"){var o=i.coordinate,s=n.radius;return $o($o($o({},n),Bt(n.cx,n.cy,s,o)),{},{angle:o,radius:s})}var u=i.coordinate,d=n.angle;return $o($o($o({},n),Bt(n.cx,n.cy,u,d)),{},{angle:d,radius:u})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function rW(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var Bj=(e,t,r,n,i)=>{var o,s=(o=t==null?void 0:t.length)!==null&&o!==void 0?o:0;if(s<=1||e==null)return 0;if(n==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u0?(d=r[u-1])===null||d===void 0?void 0:d.coordinate:(f=r[s-1])===null||f===void 0?void 0:f.coordinate,S=(h=r[u])===null||h===void 0?void 0:h.coordinate,k=u>=s-1?(m=r[0])===null||m===void 0?void 0:m.coordinate:(v=r[u+1])===null||v===void 0?void 0:v.coordinate,E=void 0;if(!(b==null||S==null||k==null))if(Lr(S-b)!==Lr(k-S)){var P=[];if(Lr(k-S)===Lr(i[1]-i[0])){E=k;var j=S+i[1]-i[0];P[0]=Math.min(j,(j+b)/2),P[1]=Math.max(j,(j+b)/2)}else{E=b;var _=k+i[1]-i[0];P[0]=Math.min(S,(_+S)/2),P[1]=Math.max(S,(_+S)/2)}var O=[Math.min(S,(E+S)/2),Math.max(S,(E+S)/2)];if(e>O[0]&&e<=O[1]||e>=P[0]&&e<=P[1]){var N;return(N=r[u])===null||N===void 0?void 0:N.index}}else{var C=Math.min(b,k),R=Math.max(b,k);if(e>(C+S)/2&&e<=(R+S)/2){var z;return(z=r[u])===null||z===void 0?void 0:z.index}}}else if(t)for(var F=0;F(V.coordinate+B.coordinate)/2||F>0&&F(V.coordinate+B.coordinate)/2&&e<=(V.coordinate+Q.coordinate)/2)return V.index}}return-1},Uj=()=>Ee(Ey),v0=(e,t)=>t,Wj=(e,t,r)=>r,g0=(e,t,r,n)=>n,nW=H(di,e=>Wf(e,t=>t.coordinate)),y0=H([Dl,v0,Wj,g0],Oj),x0=H([y0,Qa,bl,wl],Ws),iW=(e,t,r)=>{if(t!=null){var n=Dl(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Hj=H([Dl,v0,Wj,g0],jj),yf=H([oi,li,ot,Kt,di,g0,Hj],Cj),aW=H([y0,yf],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),Kj=H([di,x0],Sj),oW=H([Hj,x0,cn,bl,Kj,_j,v0],Nj),lW=H([y0,x0],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),sW=(e,t,r,n,i,o,s)=>{if(!(!e||!r||!n||!i)&&rW(e,s)){var u=wL(e,t),d=Bj(u,o,i,r,n),f=eW(t,i,d,e);return{activeIndex:String(d),activeCoordinate:f}}},uW=(e,t,r,n,i,o,s)=>{if(!(!e||!n||!i||!o||!r)){var u=E6(e,r);if(u){var d=kL(u,t),f=Bj(d,s,o,n,i),h=tW(t,o,f,u);return{activeIndex:String(f),activeCoordinate:h}}}},cW=(e,t,r,n,i,o,s,u)=>{if(!(!e||!t||!n||!i||!o))return t==="horizontal"||t==="vertical"?sW(e,t,n,i,o,s,u):uW(e,t,r,n,i,o,s)},dW=H(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),fW=H(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(nr)),r=Array.from(new Set(t));return r.sort((n,i)=>n-i)},{memoizeOptions:{resultEqualityCheck:t8}});function uE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cE(e){for(var t=1;tcE(cE({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),vW)},yW=new Set(Object.values(nr));function xW(e){return yW.has(e)}var Vj=Jt({name:"zIndex",initialState:gW,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:rt()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!xW(r)&&delete e.zIndexMap[r])},prepare:rt()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,i=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=i:e.zIndexMap[n].element=i:e.zIndexMap[n]={consumers:0,element:o?void 0:i,panoramaElement:o?i:void 0}},prepare:rt()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:rt()}}}),Ah=Vj.actions,bW=Ah.registerZIndexPortal,lv=Ah.unregisterZIndexPortal,wW=Ah.registerZIndexPortalElement,kW=Ah.unregisterZIndexPortalElement,SW=Vj.reducer;function fi(e){var t=e.zIndex,r=e.children,n=oz(),i=n&&t!==void 0&&t!==0,o=yr(),s=y.useRef(void 0),u=y.useRef(new Set),d=xt(),f=Ee(m=>dW(m,t,o));if(y.useLayoutEffect(()=>{if(!i){var m=u.current;m.forEach(b=>{d(lv({zIndex:b}))}),m.clear(),s.current=void 0;return}if(u.current.has(t)||(d(bW({zIndex:t})),u.current.add(t)),f){s.current=f;var v=u.current;v.forEach(b=>{b!==t&&(d(lv({zIndex:b})),v.delete(b))})}},[d,t,i,f]),y.useLayoutEffect(()=>{var m=u.current;return()=>{m.forEach(v=>{d(lv({zIndex:v}))}),m.clear()}},[d]),!i)return r;var h=f??s.current;return h?Tf.createPortal(r,h):null}function Sg(){return Sg=Object.assign?Object.assign.bind():function(e){for(var t=1;ty.useContext(qj),sv={exports:{}},fE;function NW(){return fE||(fE=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(d,f,h){this.fn=d,this.context=f,this.once=h||!1}function o(d,f,h,m,v){if(typeof h!="function")throw new TypeError("The listener must be a function");var b=new i(h,m||d,v),S=r?r+f:f;return d._events[S]?d._events[S].fn?d._events[S]=[d._events[S],b]:d._events[S].push(b):(d._events[S]=b,d._eventsCount++),d}function s(d,f){--d._eventsCount===0?d._events=new n:delete d._events[f]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var f=[],h,m;if(this._eventsCount===0)return f;for(m in h=this._events)t.call(h,m)&&f.push(r?m.slice(1):m);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(h)):f},u.prototype.listeners=function(f){var h=r?r+f:f,m=this._events[h];if(!m)return[];if(m.fn)return[m.fn];for(var v=0,b=m.length,S=new Array(b);v{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!Cn(r))return e[r]}},DW={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},Gj=Jt({name:"options",initialState:DW,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),RW=Gj.reducer,$W=Gj.actions.createEventEmitter;function LW(e){return e.tooltip.syncInteraction}var zW={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},Yj=Jt({name:"chartData",initialState:zW,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,i=r.endIndex;n!=null&&(e.dataStartIndex=n),i!=null&&(e.dataEndIndex=i)}}}),b0=Yj.actions,pE=b0.setChartData,FW=b0.setDataStartEndIndexes;b0.setComputedData;var BW=Yj.reducer,UW=["x","y"];function mE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Lo(e){for(var t=1;td.rootProps.className);y.useEffect(()=>{if(e==null)return Al;var d=(f,h,m)=>{if(t!==m&&e===f){if(h.payload.active===!1){r(Bs({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var v;if(s&&h!==null&&h!==void 0&&(v=h.payload)!==null&&v!==void 0&&v.coordinate&&h.payload.sourceViewBox){var b=h.payload.coordinate,S=b.x,k=b.y,E=VW(b,UW),P=h.payload.sourceViewBox,j=P.x,_=P.y,O=P.width,N=P.height,C=Lo(Lo({},E),{},{x:s.x+(O?(S-j)/O:0)*s.width,y:s.y+(N?(k-_)/N:0)*s.height});r(Lo(Lo({},h),{},{payload:Lo(Lo({},h.payload),{},{coordinate:C})}))}else r(h);return}if(i!=null){var R;if(typeof n=="function"){var z={activeTooltipIndex:h.payload.index==null?void 0:Number(h.payload.index),isTooltipActive:h.payload.active,activeIndex:h.payload.index==null?void 0:Number(h.payload.index),activeLabel:h.payload.label,activeDataKey:h.payload.dataKey,activeCoordinate:h.payload.coordinate},F=n(i,z);R=i[F]}else n==="value"&&(R=i.find(de=>String(de.value)===h.payload.label));var V=h.payload.coordinate;if(V==null||s==null){r(Bs({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(R==null){r(Bs({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:h.payload.sourceViewBox,graphicalItemId:void 0}));return}var Q=V.x,B=V.y,ue=Math.min(Q,s.x+s.width),G=Math.min(B,s.y+s.height),le={x:o==="horizontal"?R.coordinate:ue,y:o==="horizontal"?G:R.coordinate},fe=Bs({active:h.payload.active,coordinate:le,dataKey:h.payload.dataKey,index:String(R.index),label:h.payload.label,sourceViewBox:h.payload.sourceViewBox,graphicalItemId:h.payload.graphicalItemId});r(fe)}}};return fu.on(Eg,d),()=>{fu.off(Eg,d)}},[u,r,t,e,n,i,o,s])}function YW(){var e=Ee(Py),t=Ee(Ay),r=xt();y.useEffect(()=>{if(e==null)return Al;var n=(i,o,s)=>{t!==s&&e===i&&r(FW(o))};return fu.on(hE,n),()=>{fu.off(hE,n)}},[r,t,e])}function QW(){var e=xt();y.useEffect(()=>{e($W())},[e]),GW(),YW()}function XW(e,t,r,n,i,o){var s=Ee(S=>iW(S,e,t)),u=Ee(F9),d=Ee(Ay),f=Ee(Py),h=Ee(HO),m=Ee(LW),v=(m==null?void 0:m.sourceViewBox)!=null,b=ih();y.useEffect(()=>{if(!v&&f!=null&&d!=null){var S=Bs({active:o,coordinate:r,dataKey:s,index:i,label:typeof n=="number"?String(n):n,sourceViewBox:b,graphicalItemId:u});fu.emit(Eg,f,S,d)}},[v,r,s,u,i,n,d,f,h,o,b])}function vE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function gE(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{R(G7({shared:j,trigger:_,axisId:C,active:i,defaultIndex:z}))},[R,j,_,C,i,z]);var F=ih(),V=SO(),Q=U7(j),B=(t=Ee(Ae=>lW(Ae,Q,_,z)))!==null&&t!==void 0?t:{},ue=B.activeIndex,G=B.isActive,le=Ee(Ae=>oW(Ae,Q,_,z)),fe=Ee(Ae=>Kj(Ae,Q,_,z)),de=Ee(Ae=>aW(Ae,Q,_,z)),Y=le,ae=_W(),X=(r=i??G)!==null&&r!==void 0?r:!1,M=l$([Y,X]),T=tH(M,2),Z=T[0],se=T[1],te=Q==="axis"?fe:void 0;XW(Q,_,de,te,ue,X);var ce=N??ae;if(ce==null||F==null||Q==null)return null;var ge=Y??xE;X||(ge=xE),f&&ge.length&&(ge=_4(ge.filter(Ae=>Ae.value!=null&&(Ae.hide!==!0||n.includeHidden)),v,oH));var _e=ge.length>0,J=gE(gE({},n),{},{payload:ge,label:te,active:X,activeIndex:ue,coordinate:de,accessibilityLayer:V}),we=y.createElement(yF,{allowEscapeViewBox:o,animationDuration:s,animationEasing:u,isAnimationActive:h,active:X,coordinate:de,hasPayload:_e,offset:m,position:b,reverseDirection:S,useTranslate3d:k,viewBox:F,wrapperStyle:E,lastBoundingBox:Z,innerRef:se,hasPortalFromProps:!!N},lH(d,J));return y.createElement(y.Fragment,null,Tf.createPortal(we,ce),X&&y.createElement(jW,{cursor:P,tooltipEventType:Q,coordinate:de,payload:ge,index:ue}))}function cH(e,t,r){return(t=dH(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dH(e){var t=fH(e,"string");return typeof t=="symbol"?t:t+""}function fH(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class hH{constructor(t){cH(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}}function bE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function pH(e){for(var t=1;t{try{var r=document.getElementById(kE);r||(r=document.createElement("span"),r.setAttribute("id",kE),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,xH,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},Hs=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||_u.isSsr)return{width:0,height:0};if(!Qj.enableCache)return SE(t,r);var n=bH(t,r),i=wE.get(n);if(i)return i;var o=SE(t,r);return wE.set(n,o),o},Xj;function xf(e,t){return EH(e)||SH(e,t)||kH(e,t)||wH()}function wH(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kH(e,t){if(e){if(typeof e=="string")return EE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?EE(e,t):void 0}}function EE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var i=[];Ut(t)||(r?i=t.toString().split(""):i=t.toString().split(Jj));var o=i.map(u=>({word:u,width:Hs(u,n).width})),s=r?0:Hs(" ",n).width;return{wordsWithComputedWidth:o,spaceWidth:s}}catch{return null}};function t_(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function HH(e){return Ut(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var r_=(e,t,r,n)=>e.reduce((i,o)=>{var s=o.word,u=o.width,d=i[i.length-1];if(d&&u!=null&&(t==null||n||d.width+u+re.reduce((t,r)=>t.width>r.width?t:r),KH="…",NE=(e,t,r,n,i,o,s,u)=>{var d=e.slice(0,t),f=e_({breakAll:r,style:n,children:d+KH});if(!f)return[!1,[]];var h=r_(f.wordsWithComputedWidth,o,s,u),m=h.length>i||n_(h).width>Number(o);return[m,h]},VH=(e,t,r,n,i)=>{var o=e.maxLines,s=e.children,u=e.style,d=e.breakAll,f=be(o),h=String(s),m=r_(t,n,r,i);if(!f||i)return m;var v=m.length>o||n_(m).width>Number(n);if(!v)return m;for(var b=0,S=h.length-1,k=0,E;b<=S&&k<=h.length-1;){var P=Math.floor((b+S)/2),j=P-1,_=NE(h,j,d,u,o,n,r,i),O=jE(_,2),N=O[0],C=O[1],R=NE(h,P,d,u,o,n,r,i),z=jE(R,1),F=z[0];if(!N&&!F&&(b=P+1),N&&F&&(S=P-1),!N&&F){E=C;break}k++}return E||m},IE=e=>{var t=Ut(e)?[]:e.toString().split(Jj);return[{words:t,width:void 0}]},qH=e=>{var t=e.width,r=e.scaleToFit,n=e.children,i=e.style,o=e.breakAll,s=e.maxLines;if((t||r)&&!_u.isSsr){var u,d,f=e_({breakAll:o,children:n,style:i});if(f){var h=f.wordsWithComputedWidth,m=f.spaceWidth;u=h,d=m}else return IE(n);return VH({breakAll:o,children:n,maxLines:s,style:i},u,d,t,!!r)}return IE(n)},i_="#808080",GH={angle:0,breakAll:!1,capHeight:"0.71em",fill:i_,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},w0=y.forwardRef((e,t)=>{var r=Hr(e,GH),n=r.x,i=r.y,o=r.lineHeight,s=r.capHeight,u=r.fill,d=r.scaleToFit,f=r.textAnchor,h=r.verticalAnchor,m=CE(r,$H),v=y.useMemo(()=>qH({breakAll:m.breakAll,children:m.children,maxLines:m.maxLines,scaleToFit:d,style:m.style,width:m.width}),[m.breakAll,m.children,m.maxLines,d,m.style,m.width]),b=m.dx,S=m.dy,k=m.angle,E=m.className,P=m.breakAll,j=CE(m,LH);if(!jn(n)||!jn(i)||v.length===0)return null;var _=Number(n)+(be(b)?b:0),O=Number(i)+(be(S)?S:0);if(!Fe(_)||!Fe(O))return null;var N;switch(h){case"start":N=uv("calc(".concat(s,")"));break;case"middle":N=uv("calc(".concat((v.length-1)/2," * -").concat(o," + (").concat(s," / 2))"));break;default:N=uv("calc(".concat(v.length-1," * -").concat(o,")"));break}var C=[],R=v[0];if(d&&R!=null){var z=R.width,F=m.width;C.push("scale(".concat(be(F)&&be(z)?F/z:1,")"))}return k&&C.push("rotate(".concat(k,", ").concat(_,", ").concat(O,")")),C.length&&(j.transform=C.join(" ")),y.createElement("text",Pg({},Br(j),{ref:t,x:_,y:O,className:Xe("recharts-text",E),textAnchor:f,fill:u.includes("url")?i_:u}),v.map((V,Q)=>{var B=V.words.join(P?"":" ");return y.createElement("tspan",{x:_,dy:Q===0?N:o,key:"".concat(B,"-").concat(Q)},B)}))});w0.displayName="Text";function ME(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function xn(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,i=n===void 0?0:n,o=e.parentViewBox,s=my(t),u=s.x,d=s.y,f=s.height,h=s.upperWidth,m=s.lowerWidth,v=u,b=u+(h-m)/2,S=(v+b)/2,k=(h+m)/2,E=v+h/2,P=f>=0?1:-1,j=P*i,_=P>0?"end":"start",O=P>0?"start":"end",N=h>=0?1:-1,C=N*i,R=N>0?"end":"start",z=N>0?"start":"end",F=o;if(r==="top"){var V={x:v+h/2,y:d-j,horizontalAnchor:"middle",verticalAnchor:_};return F&&(V.height=Math.max(d-F.y,0),V.width=h),V}if(r==="bottom"){var Q={x:b+m/2,y:d+f+j,horizontalAnchor:"middle",verticalAnchor:O};return F&&(Q.height=Math.max(F.y+F.height-(d+f),0),Q.width=m),Q}if(r==="left"){var B={x:S-C,y:d+f/2,horizontalAnchor:R,verticalAnchor:"middle"};return F&&(B.width=Math.max(B.x-F.x,0),B.height=f),B}if(r==="right"){var ue={x:S+k+C,y:d+f/2,horizontalAnchor:z,verticalAnchor:"middle"};return F&&(ue.width=Math.max(F.x+F.width-ue.x,0),ue.height=f),ue}var G=F?{width:k,height:f}:{};return r==="insideLeft"?xn({x:S+C,y:d+f/2,horizontalAnchor:z,verticalAnchor:"middle"},G):r==="insideRight"?xn({x:S+k-C,y:d+f/2,horizontalAnchor:R,verticalAnchor:"middle"},G):r==="insideTop"?xn({x:v+h/2,y:d+j,horizontalAnchor:"middle",verticalAnchor:O},G):r==="insideBottom"?xn({x:b+m/2,y:d+f-j,horizontalAnchor:"middle",verticalAnchor:_},G):r==="insideTopLeft"?xn({x:v+C,y:d+j,horizontalAnchor:z,verticalAnchor:O},G):r==="insideTopRight"?xn({x:v+h-C,y:d+j,horizontalAnchor:R,verticalAnchor:O},G):r==="insideBottomLeft"?xn({x:b+C,y:d+f-j,horizontalAnchor:z,verticalAnchor:_},G):r==="insideBottomRight"?xn({x:b+m-C,y:d+f-j,horizontalAnchor:R,verticalAnchor:_},G):r&&typeof r=="object"&&(be(r.x)||Ka(r.x))&&(be(r.y)||Ka(r.y))?xn({x:u+ta(r.x,k),y:d+ta(r.y,f),horizontalAnchor:"end",verticalAnchor:"end"},G):xn({x:E,y:d+f/2,horizontalAnchor:"middle",verticalAnchor:"middle"},G)},JH=["labelRef"],eK=["content"];function TE(e,t){if(e==null)return{};var r,n,i=tK(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,i=e.lowerWidth,o=e.width,s=e.height,u=e.children,d=y.useMemo(()=>({x:t,y:r,upperWidth:n,lowerWidth:i,width:o,height:s}),[t,r,n,i,o,s]);return y.createElement(a_.Provider,{value:d},u)},o_=()=>{var e=y.useContext(a_),t=ih();return e||(t?my(t):void 0)},oK=y.createContext(null),lK=()=>{var e=y.useContext(oK),t=Ee(YO);return e||t},sK=e=>{var t=e.value,r=e.formatter,n=Ut(e.children)?t:e.children;return typeof r=="function"?r(n):n},k0=e=>e!=null&&typeof e=="function",uK=(e,t)=>{var r=Lr(t-e),n=Math.min(Math.abs(t-e),360);return r*n},cK=(e,t,r,n,i)=>{var o=e.offset,s=e.className,u=i.cx,d=i.cy,f=i.innerRadius,h=i.outerRadius,m=i.startAngle,v=i.endAngle,b=i.clockWise,S=(f+h)/2,k=uK(m,v),E=k>=0?1:-1,P,j;switch(t){case"insideStart":P=m+E*o,j=b;break;case"insideEnd":P=v-E*o,j=!b;break;case"end":P=v+E*o,j=b;break;default:throw new Error("Unsupported position ".concat(t))}j=k<=0?j:!j;var _=Bt(u,d,S,P),O=Bt(u,d,S,P+(j?1:-1)*359),N="M".concat(_.x,",").concat(_.y,` + A`,",",",0,0,",",",",","Z"])),Q.x,Q.y,o,o,+(h<0),V.x,V.y,n,n,+(ue>180),+(h>0),C.x,C.y,o,o,+(h<0),R.x,R.y)}else O+=Lt(nS||(nS=Aa(["L",",","Z"])),t,r);return O},C6={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},j6=e=>{var t=Hr(e,C6),r=t.cx,n=t.cy,i=t.innerRadius,o=t.outerRadius,s=t.cornerRadius,u=t.forceCornerRadius,d=t.cornerIsExternal,f=t.startAngle,h=t.endAngle,m=t.className;if(o0&&Math.abs(f-h)<360?k=O6({cx:r,cy:n,innerRadius:i,outerRadius:o,cornerRadius:Math.min(S,b/2),forceCornerRadius:u,cornerIsExternal:d,startAngle:f,endAngle:h}):k=_O({cx:r,cy:n,innerRadius:i,outerRadius:o,startAngle:f,endAngle:h}),y.createElement("path",pg({},Br(t),{className:v,d:k}))};function _6(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(d2(t)){if(e==="centric"){var n=t.cx,i=t.cy,o=t.innerRadius,s=t.outerRadius,u=t.angle,d=Bt(n,i,o,u),f=Bt(n,i,s,u);return[{x:d.x,y:d.y},{x:f.x,y:f.y}]}return jO(t)}}function N6(e){return P2(e)?NaN:Number(e)}function Zm(e){return e?(e=N6(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function NO(e,t,r){r&&typeof r!="number"&&Gv(e,t,r)&&(t=r=void 0),e=Zm(e),t===void 0?(t=e,e=0):t=Zm(t),r=r===void 0?ee.chartData,xy=H([dn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),uh=(e,t,r,n)=>n?xy(e):dn(e),I6=(e,t,r)=>r?xy(e):dn(e),M6=H([uh],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});H([xy],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var T6=H([dn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function by(e,t){return L6(e)||$6(e,t)||R6(e,t)||D6()}function D6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function R6(e,t){if(e){if(typeof e=="string")return iS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?iS(e,t):void 0}}function iS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^o.s<0?1:-1;for(n=o.d.length,i=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};ve.decimalPlaces=ve.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*nt;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};ve.dividedBy=ve.div=function(e){return ei(this,new this.constructor(e))};ve.dividedToIntegerBy=ve.idiv=function(e){var t=this,r=t.constructor;return Ye(ei(t,new r(e),0,1),r.precision)};ve.equals=ve.eq=function(e){return!this.cmp(e)};ve.exponent=function(){return yt(this)};ve.greaterThan=ve.gt=function(e){return this.cmp(e)>0};ve.greaterThanOrEqualTo=ve.gte=function(e){return this.cmp(e)>=0};ve.isInteger=ve.isint=function(){return this.e>this.d.length-2};ve.isNegative=ve.isneg=function(){return this.s<0};ve.isPositive=ve.ispos=function(){return this.s>0};ve.isZero=function(){return this.s===0};ve.lessThan=ve.lt=function(e){return this.cmp(e)<0};ve.lessThanOrEqualTo=ve.lte=function(e){return this.cmp(e)<1};ve.logarithm=ve.log=function(e){var t,r=this,n=r.constructor,i=n.precision,o=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(Pr))throw Error(Wr+"NaN");if(r.s<1)throw Error(Wr+(r.s?"NaN":"-Infinity"));return r.eq(Pr)?new n(0):(at=!1,t=ei(au(r,o),au(e,o),o),at=!0,Ye(t,i))};ve.minus=ve.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?RO(t,e):TO(t,(e.s=-e.s,e))};ve.modulo=ve.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(Wr+"NaN");return r.s?(at=!1,t=ei(r,e,0,1).times(e),at=!0,r.minus(t)):Ye(new n(r),i)};ve.naturalExponential=ve.exp=function(){return DO(this)};ve.naturalLogarithm=ve.ln=function(){return au(this)};ve.negated=ve.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};ve.plus=ve.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?TO(t,e):RO(t,(e.s=-e.s,e))};ve.precision=ve.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ba+e);if(t=yt(i)+1,n=i.d.length-1,r=n*nt+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};ve.squareRoot=ve.sqrt=function(){var e,t,r,n,i,o,s,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(Wr+"NaN")}for(e=yt(u),at=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=An(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=jl((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new d(t)):n=new d(i.toString()),r=d.precision,i=s=r+3;;)if(o=n,n=o.plus(ei(u,o,s+2)).times(.5),An(o.d).slice(0,s)===(t=An(n.d)).slice(0,s)){if(t=t.slice(s-3,s+1),i==s&&t=="4999"){if(Ye(o,r+1,0),o.times(o).eq(u)){n=o;break}}else if(t!="9999")break;s+=4}return at=!0,Ye(n,r)};ve.times=ve.mul=function(e){var t,r,n,i,o,s,u,d,f,h=this,m=h.constructor,v=h.d,b=(e=new m(e)).d;if(!h.s||!e.s)return new m(0);for(e.s*=h.s,r=h.e+e.e,d=v.length,f=b.length,d=0;){for(t=0,i=d+n;i>n;)u=o[i]+b[n]*v[i-n-1]+t,o[i--]=u%_t|0,t=u/_t|0;o[i]=(o[i]+t)%_t|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,at?Ye(e,m.precision):e};ve.toDecimalPlaces=ve.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(In(e,0,Cl),t===void 0?t=n.rounding:In(t,0,8),Ye(r,e+yt(r)+1,t))};ve.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=Ya(n,!0):(In(e,0,Cl),t===void 0?t=i.rounding:In(t,0,8),n=Ye(new i(n),e+1,t),r=Ya(n,!0,e+1)),r};ve.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?Ya(i):(In(e,0,Cl),t===void 0?t=o.rounding:In(t,0,8),n=Ye(new o(i),e+yt(i)+1,t),r=Ya(n.abs(),!1,e+yt(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};ve.toInteger=ve.toint=function(){var e=this,t=e.constructor;return Ye(new t(e),yt(e)+1,t.rounding)};ve.toNumber=function(){return+this};ve.toPower=ve.pow=function(e){var t,r,n,i,o,s,u=this,d=u.constructor,f=12,h=+(e=new d(e));if(!e.s)return new d(Pr);if(u=new d(u),!u.s){if(e.s<1)throw Error(Wr+"Infinity");return u}if(u.eq(Pr))return u;if(n=d.precision,e.eq(Pr))return Ye(u,n);if(t=e.e,r=e.d.length-1,s=t>=r,o=u.s,s){if((r=h<0?-h:h)<=MO){for(i=new d(Pr),t=Math.ceil(n/nt+4),at=!1;r%2&&(i=i.times(u),lS(i.d,t)),r=jl(r/2),r!==0;)u=u.times(u),lS(u.d,t);return at=!0,e.s<0?new d(Pr).div(i):Ye(i,n)}}else if(o<0)throw Error(Wr+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,u.s=1,at=!1,i=e.times(au(u,n+f)),at=!0,i=DO(i),i.s=o,i};ve.toPrecision=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?(r=yt(i),n=Ya(i,r<=o.toExpNeg||r>=o.toExpPos)):(In(e,1,Cl),t===void 0?t=o.rounding:In(t,0,8),i=Ye(new o(i),e,t),r=yt(i),n=Ya(i,e<=r||r<=o.toExpNeg,e)),n};ve.toSignificantDigits=ve.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(In(e,1,Cl),t===void 0?t=n.rounding:In(t,0,8)),Ye(new n(r),e,t)};ve.toString=ve.valueOf=ve.val=ve.toJSON=ve[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=yt(e),r=e.constructor;return Ya(e,t<=r.toExpNeg||t>=r.toExpPos)};function TO(e,t){var r,n,i,o,s,u,d,f,h=e.constructor,m=h.precision;if(!e.s||!t.s)return t.s||(t=new h(e)),at?Ye(t,m):t;if(d=e.d,f=t.d,s=e.e,i=t.e,d=d.slice(),o=s-i,o){for(o<0?(n=d,o=-o,u=f.length):(n=f,i=s,u=d.length),s=Math.ceil(m/nt),u=s>u?s+1:u+1,o>u&&(o=u,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(u=d.length,o=f.length,u-o<0&&(o=u,n=f,f=d,d=n),r=0;o;)r=(d[--o]=d[o]+f[o]+r)/_t|0,d[o]%=_t;for(r&&(d.unshift(r),++i),u=d.length;d[--u]==0;)d.pop();return t.d=d,t.e=i,at?Ye(t,m):t}function In(e,t,r){if(e!==~~e||er)throw Error(Ba+e)}function An(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;ts?1:-1;else for(u=d=0;ui[u]?1:-1;break}return d}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var u,d,f,h,m,v,b,S,k,E,P,j,_,O,N,C,R,z,F=n.constructor,V=n.s==i.s?1:-1,Q=n.d,B=i.d;if(!n.s)return new F(n);if(!i.s)throw Error(Wr+"Division by zero");for(d=n.e-i.e,R=B.length,N=Q.length,b=new F(V),S=b.d=[],f=0;B[f]==(Q[f]||0);)++f;if(B[f]>(Q[f]||0)&&--d,o==null?j=o=F.precision:s?j=o+(yt(n)-yt(i))+1:j=o,j<0)return new F(0);if(j=j/nt+2|0,f=0,R==1)for(h=0,B=B[0],j++;(f1&&(B=e(B,h),Q=e(Q,h),R=B.length,N=Q.length),O=R,k=Q.slice(0,R),E=k.length;E=_t/2&&++C;do h=0,u=t(B,k,R,E),u<0?(P=k[0],R!=E&&(P=P*_t+(k[1]||0)),h=P/C|0,h>1?(h>=_t&&(h=_t-1),m=e(B,h),v=m.length,E=k.length,u=t(m,k,v,E),u==1&&(h--,r(m,R16)throw Error(wy+yt(e));if(!e.s)return new h(Pr);for(at=!1,u=m,s=new h(.03125);e.abs().gte(.1);)e=e.times(s),f+=5;for(n=Math.log(Sa(2,f))/Math.LN10*2+5|0,u+=n,r=i=o=new h(Pr),h.precision=u;;){if(i=Ye(i.times(e),u),r=r.times(++d),s=o.plus(ei(i,r,u)),An(s.d).slice(0,u)===An(o.d).slice(0,u)){for(;f--;)o=Ye(o.times(o),u);return h.precision=m,t==null?(at=!0,Ye(o,m)):o}o=s}}function yt(e){for(var t=e.e*nt,r=e.d[0];r>=10;r/=10)t++;return t}function Jm(e,t,r){if(t>e.LN10.sd())throw at=!0,r&&(e.precision=r),Error(Wr+"LN10 precision limit exceeded");return Ye(new e(e.LN10),t)}function Li(e){for(var t="";e--;)t+="0";return t}function au(e,t){var r,n,i,o,s,u,d,f,h,m=1,v=10,b=e,S=b.d,k=b.constructor,E=k.precision;if(b.s<1)throw Error(Wr+(b.s?"NaN":"-Infinity"));if(b.eq(Pr))return new k(0);if(t==null?(at=!1,f=E):f=t,b.eq(10))return t==null&&(at=!0),Jm(k,f);if(f+=v,k.precision=f,r=An(S),n=r.charAt(0),o=yt(b),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)b=b.times(e),r=An(b.d),n=r.charAt(0),m++;o=yt(b),n>1?(b=new k("0."+r),o++):b=new k(n+"."+r.slice(1))}else return d=Jm(k,f+2,E).times(o+""),b=au(new k(n+"."+r.slice(1)),f-v).plus(d),k.precision=E,t==null?(at=!0,Ye(b,E)):b;for(u=s=b=ei(b.minus(Pr),b.plus(Pr),f),h=Ye(b.times(b),f),i=3;;){if(s=Ye(s.times(h),f),d=u.plus(ei(s,new k(i),f)),An(d.d).slice(0,f)===An(u.d).slice(0,f))return u=u.times(2),o!==0&&(u=u.plus(Jm(k,f+2,E).times(o+""))),u=ei(u,new k(m),f),k.precision=E,t==null?(at=!0,Ye(u,E)):u;u=d,i+=2}}function oS(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=jl(r/nt),e.d=[],n=(r+1)%nt,r<0&&(n+=nt),nrf||e.e<-rf))throw Error(wy+r)}else e.s=0,e.e=0,e.d=[0];return e}function Ye(e,t,r){var n,i,o,s,u,d,f,h,m=e.d;for(s=1,o=m[0];o>=10;o/=10)s++;if(n=t-s,n<0)n+=nt,i=t,f=m[h=0];else{if(h=Math.ceil((n+1)/nt),o=m.length,h>=o)return e;for(f=o=m[h],s=1;o>=10;o/=10)s++;n%=nt,i=n-nt+s}if(r!==void 0&&(o=Sa(10,s-i-1),u=f/o%10|0,d=t<0||m[h+1]!==void 0||f%o,d=r<4?(u||d)&&(r==0||r==(e.s<0?3:2)):u>5||u==5&&(r==4||d||r==6&&(n>0?i>0?f/Sa(10,s-i):0:m[h-1])%10&1||r==(e.s<0?8:7))),t<1||!m[0])return d?(o=yt(e),m.length=1,t=t-o-1,m[0]=Sa(10,(nt-t%nt)%nt),e.e=jl(-t/nt)||0):(m.length=1,m[0]=e.e=e.s=0),e;if(n==0?(m.length=h,o=1,h--):(m.length=h+1,o=Sa(10,nt-n),m[h]=i>0?(f/Sa(10,s-i)%Sa(10,i)|0)*o:0),d)for(;;)if(h==0){(m[0]+=o)==_t&&(m[0]=1,++e.e);break}else{if(m[h]+=o,m[h]!=_t)break;m[h--]=0,o=1}for(n=m.length;m[--n]===0;)m.pop();if(at&&(e.e>rf||e.e<-rf))throw Error(wy+yt(e));return e}function RO(e,t){var r,n,i,o,s,u,d,f,h,m,v=e.constructor,b=v.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new v(e),at?Ye(t,b):t;if(d=e.d,m=t.d,n=t.e,f=e.e,d=d.slice(),s=f-n,s){for(h=s<0,h?(r=d,s=-s,u=m.length):(r=m,n=f,u=d.length),i=Math.max(Math.ceil(b/nt),u)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=d.length,u=m.length,h=i0;--i)d[u++]=0;for(i=m.length;i>s;){if(d[--i]0?o=o.charAt(0)+"."+o.slice(1)+Li(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Li(-i-1)+o,r&&(n=r-s)>0&&(o+=Li(n))):i>=s?(o+=Li(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Li(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Li(n))),e.s<0?"-"+o:o}function lS(e,t){if(e.length>t)return e.length=t,!0}function $O(e){var t,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Ba+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return oS(s,o.toString())}else if(typeof o!="string")throw Error(Ba+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,B6.test(o))oS(s,o);else throw Error(Ba+o)}if(i.prototype=ve,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=$O,i.config=i.set=U6,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(Ba+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Ba+r+": "+n);return this}var ky=$O(F6);Pr=new ky(1);const Ue=ky;function LO(e){var t;return e===0?t=1:t=Math.floor(new Ue(e).abs().log(10).toNumber())+1,t}function zO(e,t,r){for(var n=new Ue(e),i=0,o=[];n.lt(t)&&i<1e5;)o.push(n.toNumber()),n=n.add(r),i++;return o}function ou(e,t){return V6(e)||K6(e,t)||H6(e,t)||W6()}function W6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function H6(e,t){if(e){if(typeof e=="string")return sS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?sS(e,t):void 0}}function sS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=ou(e,2),r=t[0],n=t[1],i=r,o=n;return r>n&&(i=n,o=r),[i,o]},Sy=(e,t,r)=>{if(e.lte(0))return new Ue(0);var n=LO(e.toNumber()),i=new Ue(10).pow(n),o=e.div(i),s=n!==1?.05:.1,u=new Ue(Math.ceil(o.div(s).toNumber())).add(r).mul(s),d=u.mul(i);return t?new Ue(d.toNumber()):new Ue(Math.ceil(d.toNumber()))},BO=(e,t,r)=>{var n;if(e.lte(0))return new Ue(0);var i=[1,2,2.5,5],o=e.toNumber(),s=Math.floor(new Ue(o).abs().log(10).toNumber()),u=new Ue(10).pow(s),d=e.div(u).toNumber(),f=i.findIndex(b=>b>=d-1e-10);if(f===-1&&(u=u.mul(10),f=0),f+=r,f>=i.length){var h=Math.floor(f/i.length);f%=i.length,u=u.mul(new Ue(10).pow(h))}var m=(n=i[f])!==null&&n!==void 0?n:1,v=new Ue(m).mul(u);return t?v:new Ue(Math.ceil(v.toNumber()))},q6=(e,t,r)=>{var n=new Ue(1),i=new Ue(e);if(!i.isint()&&r){var o=Math.abs(e);o<1?(n=new Ue(10).pow(LO(e)-1),i=new Ue(Math.floor(i.div(n).toNumber())).mul(n)):o>1&&(i=new Ue(Math.floor(e)))}else e===0?i=new Ue(Math.floor((t-1)/2)):r||(i=new Ue(Math.floor(e)));for(var s=Math.floor((t-1)/2),u=[],d=0;d4&&arguments[4]!==void 0?arguments[4]:0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Sy;if(!Number.isFinite((r-t)/(n-1)))return{step:new Ue(0),tickMin:new Ue(0),tickMax:new Ue(0)};var u=s(new Ue(r).sub(t).div(n-1),i,o),d;t<=0&&r>=0?d=new Ue(0):(d=new Ue(t).add(r).div(2),d=d.sub(new Ue(d).mod(u)));var f=Math.ceil(d.sub(t).div(u).toNumber()),h=Math.ceil(new Ue(r).sub(d).div(u).toNumber()),m=f+h+1;return m>n?UO(t,r,n,i,o+1,s):(m0?h+(n-m):h,f=r>0?f:f+(n-m)),{step:u,tickMin:d.sub(new Ue(f).mul(u)),tickMax:d.add(new Ue(h).mul(u))})},uS=function(t){var r=ou(t,2),n=r[0],i=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",d=Math.max(o,2),f=FO([n,i]),h=ou(f,2),m=h[0],v=h[1];if(m===-1/0||v===1/0){var b=v===1/0?[m,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),v];return n>i?b.reverse():b}if(m===v)return q6(m,o,s);var S=u==="snap125"?BO:Sy,k=UO(m,v,d,s,0,S),E=k.step,P=k.tickMin,j=k.tickMax,_=zO(P,j.add(new Ue(.1).mul(E)),E);return n>i?_.reverse():_},cS=function(t,r){var n=ou(t,2),i=n[0],o=n[1],s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",d=FO([i,o]),f=ou(d,2),h=f[0],m=f[1];if(h===-1/0||m===1/0)return[i,o];if(h===m)return[h];var v=u==="snap125"?BO:Sy,b=Math.max(r,2),S=v(new Ue(m).sub(h).div(b-1),s,0),k=[...zO(new Ue(h),new Ue(m),S),m];return s===!1&&(k=k.map(E=>Math.round(E))),i>o?k.reverse():k},G6=e=>e.rootProps.barCategoryGap,ch=e=>e.rootProps.stackOffset,WO=e=>e.rootProps.reverseStackOrder,Ey=e=>e.options.chartName,Py=e=>e.rootProps.syncId,HO=e=>e.rootProps.syncMethod,Ay=e=>e.options.eventEmitter,Y6=e=>e.rootProps.baseValue,nr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},ga={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},xn={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},dh=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function fh(e,t,r){if(r!=="auto")return r;if(e!=null)return Tn(e,t)?"category":"number"}function dS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function nf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Oy=H([J6,pO],(e,t)=>{var r;if(e!=null)return e;var n=(r=fh(t,"angleAxis",fS.type))!==null&&r!==void 0?r:"category";return nf(nf({},fS),{},{type:n})}),e8=(e,t)=>e.polarAxis.radiusAxis[t],Cy=H([e8,pO],(e,t)=>{var r;if(e!=null)return e;var n=(r=fh(t,"radiusAxis",hS.type))!==null&&r!==void 0?r:"category";return nf(nf({},hS),{},{type:n})}),hh=e=>e.polarOptions,jy=H([oi,li,Kt],b6),KO=H([hh,jy],(e,t)=>{if(e!=null)return ta(e.innerRadius,t,0)}),VO=H([hh,jy],(e,t)=>{if(e!=null)return ta(e.outerRadius,t,t*.8)}),t8=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},qO=H([hh],t8);H([Oy,qO],dh);var GO=H([jy,KO,VO],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});H([Cy,GO],dh);var YO=H([ot,hh,KO,VO,oi,li],(e,t,r,n,i,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var s=t.cx,u=t.cy,d=t.startAngle,f=t.endAngle;return{cx:ta(s,i,i/2),cy:ta(u,o,o/2),innerRadius:r,outerRadius:n,startAngle:d,endAngle:f,clockWise:!1}}}),It=(e,t)=>t,ph=(e,t,r)=>r;function _y(e){return e==null?void 0:e.id}function QO(e,t,r){var n=t.chartData,i=n===void 0?[]:n,o=r.allowDuplicatedCategory,s=r.dataKey,u=new Map;return e.forEach(d=>{var f,h=(f=d.data)!==null&&f!==void 0?f:i;if(!(h==null||h.length===0)){var m=_y(d);h.forEach((v,b)=>{var S=s==null||o?b:String(Nt(v,s,null)),k=Nt(v,d.dataKey,0),E;u.has(S)?E=u.get(S):E={},Object.assign(E,{[m]:k}),u.set(S,E)})}}),Array.from(u.values())}function Ny(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var mh=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function vh(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function r8(e,t){if(e.length===t.length){for(var r=0;r{var t=ot(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},_l=e=>e.tooltip.settings.axisId;function Iy(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),i=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(o){function s(){return o.apply(this,arguments)}return s.toString=function(){return o.toString()},s})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(o){var s=i[0],u=i[1];return s<=u?o>=s&&o<=u:o>=u&&o<=s},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,s)=>{var u=e(o);if(u!=null){if(e.bandwidth&&s!==null&&s!==void 0&&s.position){var d=e.bandwidth();switch(s.position){case"middle":u+=d/2;break;case"end":u+=d;break}}return u}}}}}var n8=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!On(t)){for(var r,n,i=0;in)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function Zi(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function i8(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function My(e){let t,r,n;e.length!==2?(t=Zi,r=(u,d)=>Zi(e(u),d),n=(u,d)=>e(u)-d):(t=e===Zi||e===i8?e:a8,r=e,n=e);function i(u,d,f=0,h=u.length){if(f>>1;r(u[m],d)<0?f=m+1:h=m}while(f>>1;r(u[m],d)<=0?f=m+1:h=m}while(ff&&n(u[m-1],d)>-n(u[m],d)?m-1:m}return{left:i,center:s,right:o}}function a8(){return 0}function XO(e){return e===null?NaN:+e}function*o8(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const l8=My(Zi),Nu=l8.right;My(XO).center;class pS extends Map{constructor(t,r=c8){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(mS(this,t))}has(t){return super.has(mS(this,t))}set(t,r){return super.set(s8(this,t),r)}delete(t){return super.delete(u8(this,t))}}function mS({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function s8({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function u8({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function c8(e){return e!==null&&typeof e=="object"?e.valueOf():e}function d8(e=Zi){if(e===Zi)return ZO;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function ZO(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const f8=Math.sqrt(50),h8=Math.sqrt(10),p8=Math.sqrt(2);function af(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=f8?10:o>=h8?5:o>=p8?2:1;let u,d,f;return i<0?(f=Math.pow(10,-i)/s,u=Math.round(e*f),d=Math.round(t*f),u/ft&&--d,f=-f):(f=Math.pow(10,i)*s,u=Math.round(e/f),d=Math.round(t/f),u*ft&&--d),d0))return[];if(e===t)return[e];const n=t=i))return[];const u=o-i+1,d=new Array(u);if(n)if(s<0)for(let f=0;f=n)&&(r=n);else{let n=-1;for(let i of e)(i=t(i,++n,e))!=null&&(r=i)&&(r=i)}return r}function gS(e,t){let r;if(t===void 0)for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of e)(i=t(i,++n,e))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function JO(e,t,r=0,n=1/0,i){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(i=i===void 0?ZO:d8(i);n>r;){if(n-r>600){const d=n-r+1,f=t-r+1,h=Math.log(d),m=.5*Math.exp(2*h/3),v=.5*Math.sqrt(h*m*(d-m)/d)*(f-d/2<0?-1:1),b=Math.max(r,Math.floor(t-f*m/d+v)),S=Math.min(n,Math.floor(t+(d-f)*m/d+v));JO(e,t,b,S,i)}const o=e[t];let s=r,u=n;for(Ms(e,r,t),i(e[n],o)>0&&Ms(e,r,n);s0;)--u}i(e[r],o)===0?Ms(e,r,u):(++u,Ms(e,u,n)),u<=t&&(r=u+1),t<=u&&(n=u-1)}return e}function Ms(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function m8(e,t,r){if(e=Float64Array.from(o8(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return gS(e);if(t>=1)return vS(e);var n,i=(n-1)*t,o=Math.floor(i),s=vS(JO(e,o).subarray(0,o+1)),u=gS(e.subarray(o+1));return s+(u-s)*(i-o)}}function v8(e,t,r=XO){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,o=Math.floor(i),s=+r(e[o],o,e),u=+r(e[o+1],o+1,e);return s+(u-s)*(i-o)}}function g8(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(i);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?hd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?hd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=b8.exec(e))?new gr(t[1],t[2],t[3],1):(t=w8.exec(e))?new gr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=k8.exec(e))?hd(t[1],t[2],t[3],t[4]):(t=S8.exec(e))?hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=E8.exec(e))?ES(t[1],t[2]/100,t[3]/100,1):(t=P8.exec(e))?ES(t[1],t[2]/100,t[3]/100,t[4]):yS.hasOwnProperty(e)?wS(yS[e]):e==="transparent"?new gr(NaN,NaN,NaN,0):null}function wS(e){return new gr(e>>16&255,e>>8&255,e&255,1)}function hd(e,t,r,n){return n<=0&&(e=t=r=NaN),new gr(e,t,r,n)}function C8(e){return e instanceof Iu||(e=uu(e)),e?(e=e.rgb(),new gr(e.r,e.g,e.b,e.opacity)):new gr}function xg(e,t,r,n){return arguments.length===1?C8(e):new gr(e,t,r,n??1)}function gr(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}Ry(gr,xg,tC(Iu,{brighter(e){return e=e==null?of:Math.pow(of,e),new gr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?lu:Math.pow(lu,e),new gr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gr(Ua(this.r),Ua(this.g),Ua(this.b),lf(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kS,formatHex:kS,formatHex8:j8,formatRgb:SS,toString:SS}));function kS(){return`#${Oa(this.r)}${Oa(this.g)}${Oa(this.b)}`}function j8(){return`#${Oa(this.r)}${Oa(this.g)}${Oa(this.b)}${Oa((isNaN(this.opacity)?1:this.opacity)*255)}`}function SS(){const e=lf(this.opacity);return`${e===1?"rgb(":"rgba("}${Ua(this.r)}, ${Ua(this.g)}, ${Ua(this.b)}${e===1?")":`, ${e})`}`}function lf(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ua(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Oa(e){return e=Ua(e),(e<16?"0":"")+e.toString(16)}function ES(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new on(e,t,r,n)}function rC(e){if(e instanceof on)return new on(e.h,e.s,e.l,e.opacity);if(e instanceof Iu||(e=uu(e)),!e)return new on;if(e instanceof on)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),o=Math.max(t,r,n),s=NaN,u=o-i,d=(o+i)/2;return u?(t===o?s=(r-n)/u+(r0&&d<1?0:s,new on(s,u,d,e.opacity)}function _8(e,t,r,n){return arguments.length===1?rC(e):new on(e,t,r,n??1)}function on(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}Ry(on,_8,tC(Iu,{brighter(e){return e=e==null?of:Math.pow(of,e),new on(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?lu:Math.pow(lu,e),new on(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new gr(ev(e>=240?e-240:e+120,i,n),ev(e,i,n),ev(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new on(PS(this.h),pd(this.s),pd(this.l),lf(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=lf(this.opacity);return`${e===1?"hsl(":"hsla("}${PS(this.h)}, ${pd(this.s)*100}%, ${pd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function PS(e){return e=(e||0)%360,e<0?e+360:e}function pd(e){return Math.max(0,Math.min(1,e||0))}function ev(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const $y=e=>()=>e;function N8(e,t){return function(r){return e+r*t}}function I8(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function M8(e){return(e=+e)==1?nC:function(t,r){return r-t?I8(t,r,e):$y(isNaN(t)?r:t)}}function nC(e,t){var r=t-e;return r?N8(e,r):$y(isNaN(e)?t:e)}const AS=(function e(t){var r=M8(t);function n(i,o){var s=r((i=xg(i)).r,(o=xg(o)).r),u=r(i.g,o.g),d=r(i.b,o.b),f=nC(i.opacity,o.opacity);return function(h){return i.r=s(h),i.g=u(h),i.b=d(h),i.opacity=f(h),i+""}}return n.gamma=e,n})(1);function T8(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(o){for(i=0;ir&&(o=t.slice(r,o),u[s]?u[s]+=o:u[++s]=o),(n=n[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,d.push({i:s,x:sf(n,i)})),r=tv.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function K8(e,t,r){var n=e[0],i=e[1],o=t[0],s=t[1];return i2?V8:K8,d=f=null,m}function m(v){return v==null||isNaN(v=+v)?o:(d||(d=u(e.map(n),t,r)))(n(s(v)))}return m.invert=function(v){return s(i((f||(f=u(t,e.map(n),sf)))(v)))},m.domain=function(v){return arguments.length?(e=Array.from(v,uf),h()):e.slice()},m.range=function(v){return arguments.length?(t=Array.from(v),h()):t.slice()},m.rangeRound=function(v){return t=Array.from(v),r=Ly,h()},m.clamp=function(v){return arguments.length?(s=v?!0:ir,h()):s!==ir},m.interpolate=function(v){return arguments.length?(r=v,h()):r},m.unknown=function(v){return arguments.length?(o=v,m):o},function(v,b){return n=v,i=b,h()}}function zy(){return gh()(ir,ir)}function q8(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function cf(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function gl(e){return e=cf(Math.abs(e)),e?e[1]:NaN}function G8(e,t){return function(r,n){for(var i=r.length,o=[],s=0,u=e[0],d=0;i>0&&u>0&&(d+u+1>n&&(u=Math.max(1,n-d)),o.push(r.substring(i-=u,i+u)),!((d+=u+1)>n));)u=e[s=(s+1)%e.length];return o.reverse().join(t)}}function Y8(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var Q8=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function cu(e){if(!(t=Q8.exec(e)))throw new Error("invalid format: "+e);var t;return new Fy({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}cu.prototype=Fy.prototype;function Fy(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Fy.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function X8(e){e:for(var t=e.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(i+1):e}var df;function Z8(e,t){var r=cf(e,t);if(!r)return df=void 0,e.toPrecision(t);var n=r[0],i=r[1],o=i-(df=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return o===s?n:o>s?n+new Array(o-s+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+cf(e,Math.max(0,t+o-1))[0]}function CS(e,t){var r=cf(e,t);if(!r)return e+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const jS={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:q8,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>CS(e*100,t),r:CS,s:Z8,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function _S(e){return e}var NS=Array.prototype.map,IS=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function J8(e){var t=e.grouping===void 0||e.thousands===void 0?_S:G8(NS.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?_S:Y8(NS.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",d=e.nan===void 0?"NaN":e.nan+"";function f(m,v){m=cu(m);var b=m.fill,S=m.align,k=m.sign,E=m.symbol,P=m.zero,j=m.width,_=m.comma,O=m.precision,N=m.trim,C=m.type;C==="n"?(_=!0,C="g"):jS[C]||(O===void 0&&(O=12),N=!0,C="g"),(P||b==="0"&&S==="=")&&(P=!0,b="0",S="=");var R=(v&&v.prefix!==void 0?v.prefix:"")+(E==="$"?r:E==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():""),z=(E==="$"?n:/[%p]/.test(C)?s:"")+(v&&v.suffix!==void 0?v.suffix:""),F=jS[C],V=/[defgprs%]/.test(C);O=O===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function Q(B){var ue=R,G=z,le,fe,de;if(C==="c")G=F(B)+G,B="";else{B=+B;var Y=B<0||1/B<0;if(B=isNaN(B)?d:F(Math.abs(B),O),N&&(B=X8(B)),Y&&+B==0&&k!=="+"&&(Y=!1),ue=(Y?k==="("?k:u:k==="-"||k==="("?"":k)+ue,G=(C==="s"&&!isNaN(B)&&df!==void 0?IS[8+df/3]:"")+G+(Y&&k==="("?")":""),V){for(le=-1,fe=B.length;++lede||de>57){G=(de===46?i+B.slice(le+1):B.slice(le))+G,B=B.slice(0,le);break}}}_&&!P&&(B=t(B,1/0));var ae=ue.length+B.length+G.length,X=ae>1)+ue+B+G+X.slice(ae);break;default:B=X+ue+B+G;break}return o(B)}return Q.toString=function(){return m+""},Q}function h(m,v){var b=Math.max(-8,Math.min(8,Math.floor(gl(v)/3)))*3,S=Math.pow(10,-b),k=f((m=cu(m),m.type="f",m),{suffix:IS[8+b/3]});return function(E){return k(S*E)}}return{format:f,formatPrefix:h}}var md,By,iC;eB({thousands:",",grouping:[3],currency:["$",""]});function eB(e){return md=J8(e),By=md.format,iC=md.formatPrefix,md}function tB(e){return Math.max(0,-gl(Math.abs(e)))}function rB(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(gl(t)/3)))*3-gl(Math.abs(e)))}function nB(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,gl(t)-gl(e))+1}function aC(e,t,r,n){var i=gg(e,t,r),o;switch(n=cu(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=rB(i,s))&&(n.precision=o),iC(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=nB(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=tB(i))&&(n.precision=o-(n.type==="%")*2);break}}return By(n)}function ra(e){var t=e.domain;return e.ticks=function(r){var n=t();return mg(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return aC(i[0],i[i.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),i=0,o=n.length-1,s=n[i],u=n[o],d,f,h=10;for(u0;){if(f=vg(s,u,r),f===d)return n[i]=s,n[o]=u,t(n);if(f>0)s=Math.floor(s/f)*f,u=Math.ceil(u/f)*f;else if(f<0)s=Math.ceil(s*f)/f,u=Math.floor(u*f)/f;else break;d=f}return e},e}function oC(){var e=zy();return e.copy=function(){return Mu(e,oC())},Kr.apply(e,arguments),ra(e)}function lC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,uf),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return lC(e).unknown(t)},e=arguments.length?Array.from(e,uf):[0,1],ra(r)}function sC(e,t){e=e.slice();var r=0,n=e.length-1,i=e[r],o=e[n],s;return oMath.pow(e,t)}function sB(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function DS(e){return(t,r)=>-e(-t,r)}function Uy(e){const t=e(MS,TS),r=t.domain;let n=10,i,o;function s(){return i=sB(n),o=lB(n),r()[0]<0?(i=DS(i),o=DS(o),e(iB,aB)):e(MS,TS),t}return t.base=function(u){return arguments.length?(n=+u,s()):n},t.domain=function(u){return arguments.length?(r(u),s()):r()},t.ticks=u=>{const d=r();let f=d[0],h=d[d.length-1];const m=h0){for(;v<=b;++v)for(S=1;Sh)break;P.push(k)}}else for(;v<=b;++v)for(S=n-1;S>=1;--S)if(k=v>0?S/o(-v):S*o(v),!(kh)break;P.push(k)}P.length*2{if(u==null&&(u=10),d==null&&(d=n===10?"s":","),typeof d!="function"&&(!(n%1)&&(d=cu(d)).precision==null&&(d.trim=!0),d=By(d)),u===1/0)return d;const f=Math.max(1,n*u/t.ticks().length);return h=>{let m=h/o(Math.round(i(h)));return m*nr(sC(r(),{floor:u=>o(Math.floor(i(u))),ceil:u=>o(Math.ceil(i(u)))})),t}function uC(){const e=Uy(gh()).domain([1,10]);return e.copy=()=>Mu(e,uC()).base(e.base()),Kr.apply(e,arguments),e}function RS(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function $S(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Wy(e){var t=1,r=e(RS(t),$S(t));return r.constant=function(n){return arguments.length?e(RS(t=+n),$S(t)):t},ra(r)}function cC(){var e=Wy(gh());return e.copy=function(){return Mu(e,cC()).constant(e.constant())},Kr.apply(e,arguments)}function LS(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function uB(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function cB(e){return e<0?-e*e:e*e}function Hy(e){var t=e(ir,ir),r=1;function n(){return r===1?e(ir,ir):r===.5?e(uB,cB):e(LS(r),LS(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},ra(t)}function Ky(){var e=Hy(gh());return e.copy=function(){return Mu(e,Ky()).exponent(e.exponent())},Kr.apply(e,arguments),e}function dB(){return Ky.apply(null,arguments).exponent(.5)}function zS(e){return Math.sign(e)*e*e}function fB(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function dC(){var e=zy(),t=[0,1],r=!1,n;function i(o){var s=fB(e(o));return isNaN(s)?n:r?Math.round(s):s}return i.invert=function(o){return e.invert(zS(o))},i.domain=function(o){return arguments.length?(e.domain(o),i):e.domain()},i.range=function(o){return arguments.length?(e.range((t=Array.from(o,uf)).map(zS)),i):t.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(r=!!o,i):r},i.clamp=function(o){return arguments.length?(e.clamp(o),i):e.clamp()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return dC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Kr.apply(i,arguments),ra(i)}function fC(){var e=[],t=[],r=[],n;function i(){var s=0,u=Math.max(1,t.length);for(r=new Array(u-1);++s0?r[u-1]:e[0],u=r?[n[r-1],t]:[n[f-1],n[f]]},s.unknown=function(d){return arguments.length&&(o=d),s},s.thresholds=function(){return n.slice()},s.copy=function(){return hC().domain([e,t]).range(i).unknown(o)},Kr.apply(ra(s),arguments)}function pC(){var e=[.5],t=[0,1],r,n=1;function i(o){return o!=null&&o<=o?t[Nu(e,o,0,n)]:r}return i.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var s=t.indexOf(o);return[e[s-1],e[s]]},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return pC().domain(e).range(t).unknown(r)},Kr.apply(i,arguments)}const rv=new Date,nv=new Date;function Et(e,t,r,n){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{const s=i(o),u=i.ceil(o);return o-s(t(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,u)=>{const d=[];if(o=i.ceil(o),u=u==null?1:Math.floor(u),!(o0))return d;let f;do d.push(f=new Date(+o)),t(o,u),e(o);while(fEt(s=>{if(s>=s)for(;e(s),!o(s);)s.setTime(s-1)},(s,u)=>{if(s>=s)if(u<0)for(;++u<=0;)for(;t(s,-1),!o(s););else for(;--u>=0;)for(;t(s,1),!o(s););}),r&&(i.count=(o,s)=>(rv.setTime(+o),nv.setTime(+s),e(rv),e(nv),Math.floor(r(rv,nv))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}const ff=Et(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ff.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Et(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):ff);ff.range;const Xn=1e3,Fr=Xn*60,Zn=Fr*60,ni=Zn*24,Vy=ni*7,FS=ni*30,iv=ni*365,Ca=Et(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Xn)},(e,t)=>(t-e)/Xn,e=>e.getUTCSeconds());Ca.range;const qy=Et(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Xn)},(e,t)=>{e.setTime(+e+t*Fr)},(e,t)=>(t-e)/Fr,e=>e.getMinutes());qy.range;const Gy=Et(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Fr)},(e,t)=>(t-e)/Fr,e=>e.getUTCMinutes());Gy.range;const Yy=Et(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Xn-e.getMinutes()*Fr)},(e,t)=>{e.setTime(+e+t*Zn)},(e,t)=>(t-e)/Zn,e=>e.getHours());Yy.range;const Qy=Et(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Zn)},(e,t)=>(t-e)/Zn,e=>e.getUTCHours());Qy.range;const Tu=Et(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Fr)/ni,e=>e.getDate()-1);Tu.range;const yh=Et(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ni,e=>e.getUTCDate()-1);yh.range;const mC=Et(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ni,e=>Math.floor(e/ni));mC.range;function eo(e){return Et(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Fr)/Vy)}const xh=eo(0),hf=eo(1),hB=eo(2),pB=eo(3),yl=eo(4),mB=eo(5),vB=eo(6);xh.range;hf.range;hB.range;pB.range;yl.range;mB.range;vB.range;function to(e){return Et(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Vy)}const bh=to(0),pf=to(1),gB=to(2),yB=to(3),xl=to(4),xB=to(5),bB=to(6);bh.range;pf.range;gB.range;yB.range;xl.range;xB.range;bB.range;const Xy=Et(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Xy.range;const Zy=Et(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Zy.range;const ii=Et(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());ii.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Et(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});ii.range;const ai=Et(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ai.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Et(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});ai.range;function vC(e,t,r,n,i,o){const s=[[Ca,1,Xn],[Ca,5,5*Xn],[Ca,15,15*Xn],[Ca,30,30*Xn],[o,1,Fr],[o,5,5*Fr],[o,15,15*Fr],[o,30,30*Fr],[i,1,Zn],[i,3,3*Zn],[i,6,6*Zn],[i,12,12*Zn],[n,1,ni],[n,2,2*ni],[r,1,Vy],[t,1,FS],[t,3,3*FS],[e,1,iv]];function u(f,h,m){const v=hE).right(s,v);if(b===s.length)return e.every(gg(f/iv,h/iv,m));if(b===0)return ff.every(Math.max(gg(f,h,m),1));const[S,k]=s[v/s[b-1][2]53)return null;"w"in ne||(ne.w=1),"Z"in ne?($e=ov(Ts(ne.y,0,1)),Pe=$e.getUTCDay(),$e=Pe>4||Pe===0?pf.ceil($e):pf($e),$e=yh.offset($e,(ne.V-1)*7),ne.y=$e.getUTCFullYear(),ne.m=$e.getUTCMonth(),ne.d=$e.getUTCDate()+(ne.w+6)%7):($e=av(Ts(ne.y,0,1)),Pe=$e.getDay(),$e=Pe>4||Pe===0?hf.ceil($e):hf($e),$e=Tu.offset($e,(ne.V-1)*7),ne.y=$e.getFullYear(),ne.m=$e.getMonth(),ne.d=$e.getDate()+(ne.w+6)%7)}else("W"in ne||"U"in ne)&&("w"in ne||(ne.w="u"in ne?ne.u%7:"W"in ne?1:0),Pe="Z"in ne?ov(Ts(ne.y,0,1)).getUTCDay():av(Ts(ne.y,0,1)).getDay(),ne.m=0,ne.d="W"in ne?(ne.w+6)%7+ne.W*7-(Pe+5)%7:ne.w+ne.U*7-(Pe+6)%7);return"Z"in ne?(ne.H+=ne.Z/100|0,ne.M+=ne.Z%100,ov(ne)):av(ne)}}function z(J,we,Ae,ne){for(var lt=0,$e=we.length,Pe=Ae.length,vt,lr;lt<$e;){if(ne>=Pe)return-1;if(vt=we.charCodeAt(lt++),vt===37){if(vt=we.charAt(lt++),lr=N[vt in BS?we.charAt(lt++):vt],!lr||(ne=lr(J,Ae,ne))<0)return-1}else if(vt!=Ae.charCodeAt(ne++))return-1}return ne}function F(J,we,Ae){var ne=f.exec(we.slice(Ae));return ne?(J.p=h.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function V(J,we,Ae){var ne=b.exec(we.slice(Ae));return ne?(J.w=S.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function Q(J,we,Ae){var ne=m.exec(we.slice(Ae));return ne?(J.w=v.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function B(J,we,Ae){var ne=P.exec(we.slice(Ae));return ne?(J.m=j.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function ue(J,we,Ae){var ne=k.exec(we.slice(Ae));return ne?(J.m=E.get(ne[0].toLowerCase()),Ae+ne[0].length):-1}function G(J,we,Ae){return z(J,t,we,Ae)}function le(J,we,Ae){return z(J,r,we,Ae)}function fe(J,we,Ae){return z(J,n,we,Ae)}function de(J){return s[J.getDay()]}function Y(J){return o[J.getDay()]}function ae(J){return d[J.getMonth()]}function X(J){return u[J.getMonth()]}function M(J){return i[+(J.getHours()>=12)]}function T(J){return 1+~~(J.getMonth()/3)}function Z(J){return s[J.getUTCDay()]}function se(J){return o[J.getUTCDay()]}function te(J){return d[J.getUTCMonth()]}function ce(J){return u[J.getUTCMonth()]}function ge(J){return i[+(J.getUTCHours()>=12)]}function _e(J){return 1+~~(J.getUTCMonth()/3)}return{format:function(J){var we=C(J+="",_);return we.toString=function(){return J},we},parse:function(J){var we=R(J+="",!1);return we.toString=function(){return J},we},utcFormat:function(J){var we=C(J+="",O);return we.toString=function(){return J},we},utcParse:function(J){var we=R(J+="",!0);return we.toString=function(){return J},we}}}var BS={"-":"",_:" ",0:"0"},Tt=/^\s*\d+/,AB=/^%/,OB=/[\\^$*+?|[\]().{}]/g;function Ke(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",o=i.length;return n+(o[t.toLowerCase(),r]))}function jB(e,t,r){var n=Tt.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function _B(e,t,r){var n=Tt.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function NB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function IB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function MB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function US(e,t,r){var n=Tt.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function WS(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function TB(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function DB(e,t,r){var n=Tt.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function RB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function HS(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function $B(e,t,r){var n=Tt.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function KS(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function LB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function zB(e,t,r){var n=Tt.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function FB(e,t,r){var n=Tt.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function BB(e,t,r){var n=Tt.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function UB(e,t,r){var n=AB.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function WB(e,t,r){var n=Tt.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function HB(e,t,r){var n=Tt.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function VS(e,t){return Ke(e.getDate(),t,2)}function KB(e,t){return Ke(e.getHours(),t,2)}function VB(e,t){return Ke(e.getHours()%12||12,t,2)}function qB(e,t){return Ke(1+Tu.count(ii(e),e),t,3)}function gC(e,t){return Ke(e.getMilliseconds(),t,3)}function GB(e,t){return gC(e,t)+"000"}function YB(e,t){return Ke(e.getMonth()+1,t,2)}function QB(e,t){return Ke(e.getMinutes(),t,2)}function XB(e,t){return Ke(e.getSeconds(),t,2)}function ZB(e){var t=e.getDay();return t===0?7:t}function JB(e,t){return Ke(xh.count(ii(e)-1,e),t,2)}function yC(e){var t=e.getDay();return t>=4||t===0?yl(e):yl.ceil(e)}function eU(e,t){return e=yC(e),Ke(yl.count(ii(e),e)+(ii(e).getDay()===4),t,2)}function tU(e){return e.getDay()}function rU(e,t){return Ke(hf.count(ii(e)-1,e),t,2)}function nU(e,t){return Ke(e.getFullYear()%100,t,2)}function iU(e,t){return e=yC(e),Ke(e.getFullYear()%100,t,2)}function aU(e,t){return Ke(e.getFullYear()%1e4,t,4)}function oU(e,t){var r=e.getDay();return e=r>=4||r===0?yl(e):yl.ceil(e),Ke(e.getFullYear()%1e4,t,4)}function lU(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ke(t/60|0,"0",2)+Ke(t%60,"0",2)}function qS(e,t){return Ke(e.getUTCDate(),t,2)}function sU(e,t){return Ke(e.getUTCHours(),t,2)}function uU(e,t){return Ke(e.getUTCHours()%12||12,t,2)}function cU(e,t){return Ke(1+yh.count(ai(e),e),t,3)}function xC(e,t){return Ke(e.getUTCMilliseconds(),t,3)}function dU(e,t){return xC(e,t)+"000"}function fU(e,t){return Ke(e.getUTCMonth()+1,t,2)}function hU(e,t){return Ke(e.getUTCMinutes(),t,2)}function pU(e,t){return Ke(e.getUTCSeconds(),t,2)}function mU(e){var t=e.getUTCDay();return t===0?7:t}function vU(e,t){return Ke(bh.count(ai(e)-1,e),t,2)}function bC(e){var t=e.getUTCDay();return t>=4||t===0?xl(e):xl.ceil(e)}function gU(e,t){return e=bC(e),Ke(xl.count(ai(e),e)+(ai(e).getUTCDay()===4),t,2)}function yU(e){return e.getUTCDay()}function xU(e,t){return Ke(pf.count(ai(e)-1,e),t,2)}function bU(e,t){return Ke(e.getUTCFullYear()%100,t,2)}function wU(e,t){return e=bC(e),Ke(e.getUTCFullYear()%100,t,2)}function kU(e,t){return Ke(e.getUTCFullYear()%1e4,t,4)}function SU(e,t){var r=e.getUTCDay();return e=r>=4||r===0?xl(e):xl.ceil(e),Ke(e.getUTCFullYear()%1e4,t,4)}function EU(){return"+0000"}function GS(){return"%"}function YS(e){return+e}function QS(e){return Math.floor(+e/1e3)}var Ro,wC,kC;PU({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function PU(e){return Ro=PB(e),wC=Ro.format,Ro.parse,kC=Ro.utcFormat,Ro.utcParse,Ro}function AU(e){return new Date(e)}function OU(e){return e instanceof Date?+e:+new Date(+e)}function Jy(e,t,r,n,i,o,s,u,d,f){var h=zy(),m=h.invert,v=h.domain,b=f(".%L"),S=f(":%S"),k=f("%I:%M"),E=f("%I %p"),P=f("%a %d"),j=f("%b %d"),_=f("%B"),O=f("%Y");function N(C){return(d(C)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,o)=>m8(e,o/n))},r.copy=function(){return AC(t).domain(e)},si.apply(r,arguments)}function kh(){var e=0,t=.5,r=1,n=1,i,o,s,u,d,f=ir,h,m=!1,v;function b(k){return isNaN(k=+k)?v:(k=.5+((k=+h(k))-o)*(n*k{if(e!=null){var n=e.scale,i=e.type;if(n==="auto")return i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof n=="string")return TU(n)?n:"point"}};function DU(e,t){for(var r=0,n=e.length,i=e[0]t)?r=o+1:n=o}return r}function IC(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var s;return(s=e(o))!==null&&s!==void 0?s:0}),i=e.range();if(!(r.length===0||i.length<2))return o=>{var s,u,d=DU(n,o);if(d<=0)return r[0];if(d>=r.length)return r[r.length-1];var f=(s=n[d-1])!==null&&s!==void 0?s:0,h=(u=n[d])!==null&&u!==void 0?u:0;return Math.abs(o-f)<=Math.abs(o-h)?r[d-1]:r[d]}}}function RU(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):IC(e,void 0)}function ZS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],ui=(e,t)=>{var r=TC(e,t);return r??kt},St={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:kg,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:Au},DC=(e,t)=>e.cartesianAxis.yAxis[t],ci=(e,t)=>{var r=DC(e,t);return r??St},HU={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},n0=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??HU},or=(e,t,r)=>{switch(t){case"xAxis":return ui(e,r);case"yAxis":return ci(e,r);case"zAxis":return n0(e,r);case"angleAxis":return Oy(e,r);case"radiusAxis":return Cy(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},KU=(e,t,r)=>{switch(t){case"xAxis":return ui(e,r);case"yAxis":return ci(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Du=(e,t,r)=>{switch(t){case"xAxis":return ui(e,r);case"yAxis":return ci(e,r);case"angleAxis":return Oy(e,r);case"radiusAxis":return Cy(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},RC=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function $C(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var LC=e=>e.graphicalItems.cartesianItems,VU=H([It,ph],$C),zC=(e,t,r)=>e.filter(r).filter(n=>(t==null?void 0:t.includeHidden)===!0?!0:!n.hide),Il=H([LC,or,VU],zC,{memoizeOptions:{resultEqualityCheck:vh}}),FC=H([Il],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Ny)),BC=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),qU=H([Il],BC),UC=e=>e.map(t=>t.data).filter(Boolean).flat(1),GU=H([Il],e=>e.some(t=>!t.data)),WC=H([Il],UC,{memoizeOptions:{resultEqualityCheck:vh}}),HC=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,i=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(i,o+1)},i0=H([WC,uh],HC),YU=(e,t,r)=>(t==null?void 0:t.dataKey)!=null?e.map(n=>({value:Nt(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(i=>({value:Nt(i,n)}))):e.map(n=>({value:n})),KC=(e,t,r,n,i,o)=>{var s=n.chartData,u=s===void 0?[]:s,d=n.dataStartIndex,f=n.dataEndIndex,h=YU(e,t,r);if(i&&(t==null?void 0:t.dataKey)!=null&&o.length>0){var m=u.slice(d,f+1),v=m.map(b=>({value:Nt(b,t.dataKey)})).filter(b=>b.value!=null);return[...v,...h]}return h},Ru=H([i0,or,Il,uh,GU,WC],KC);function Jo(e){if(_n(e)||e instanceof Date){var t=Number(e);if(Fe(t))return t}}function eE(e){if(Array.isArray(e)){var t=[Jo(e[0]),Jo(e[1])];return On(t)?t:void 0}var r=Jo(e);if(r!=null)return[r,r]}function Mn(e){return e.map(Jo).filter(vr)}function QU(e,t){var r=Jo(e),n=Jo(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var XU=H([Ru],e=>e==null?void 0:e.map(t=>t.value).sort(QU));function VC(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function ZU(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!jn(t))n=t;else if(Array.isArray(t)){var i=Mn(t);i.length>0&&(n=Math.max(...i))}return n==null?[]:Mn(r.flatMap(o=>{var s=Nt(e,o.dataKey),u,d;if(Array.isArray(s)){var f=MC(s,2);u=f[0],d=f[1]}else u=d=s;if(!(!Fe(u)||!Fe(d)))return[n-u,n+d]}))}var Pt=e=>{var t=Mt(e),r=_l(e);return Du(e,t,r)},bl=H([Pt],e=>e==null?void 0:e.dataKey),JU=H([FC,uh,Pt],QO),qC=(e,t,r,n)=>{var i={},o=t.reduce((s,u)=>{if(u.stackId==null)return s;var d=s[u.stackId];return d==null&&(d=[]),d.push(u),s[u.stackId]=d,s},i);return Object.fromEntries(Object.entries(o).map(s=>{var u=MC(s,2),d=u[0],f=u[1],h=n?[...f].reverse():f,m=h.map(_y);return[d,{stackedData:gL(e,m,r),graphicalItems:h}]}))},GC=H([JU,FC,ch,WO],qC),YC=(e,t,r,n)=>{var i=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return wL(e,i,o)},e7=H([or],e=>e.allowDataOverflow),a0=e=>{var t;if(e==null||!("domain"in e))return kg;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Mn(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:kg},QC=H([or],a0),XC=H([QC,e7],IO),t7=H([GC,dn,It,XC],YC,{memoizeOptions:{resultEqualityCheck:mh}}),o0=e=>e.errorBars,r7=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>VC(r,n)),vf=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],u,d;if(n.length>0&&n.forEach(f=>{var h,m=f.data!=null?[...f.data]:s,v=(h=i[f.id])===null||h===void 0?void 0:h.filter(b=>VC(o,b));m.forEach(b=>{var S,k=Nt(b,(S=r.dataKey)!==null&&S!==void 0?S:f.dataKey),E=ZU(b,k,v);if(E.length>=2){var P=Math.min(...E),j=Math.max(...E);(u==null||Pd)&&(d=j)}var _=eE(k);_!=null&&(u=u==null?_[0]:Math.min(u,_[0]),d=d==null?_[1]:Math.max(d,_[1]))})}),(r==null?void 0:r.dataKey)!=null&&n.length===0&&t.forEach(f=>{var h=eE(Nt(f,r.dataKey));h!=null&&(u=u==null?h[0]:Math.min(u,h[0]),d=d==null?h[1]:Math.max(d,h[1]))}),Fe(u)&&Fe(d))return[u,d]},n7=H([i0,or,qU,o0,It,M6],ZC,{memoizeOptions:{resultEqualityCheck:mh}});function i7(e){var t=e.value;if(_n(t)||t instanceof Date)return t}var a7=(e,t,r)=>{var n=e.map(i7).filter(i=>i!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&u2(n))?NO(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},JC=e=>e.referenceElements.dots,Ml=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),o7=H([JC,It,ph],Ml),ej=e=>e.referenceElements.areas,l7=H([ej,It,ph],Ml),tj=e=>e.referenceElements.lines,s7=H([tj,It,ph],Ml),rj=(e,t)=>{if(e!=null){var r=Mn(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},u7=H(o7,It,rj),nj=(e,t)=>{if(e!=null){var r=Mn(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},c7=H([l7,It],nj);function d7(e){var t;if(e.x!=null)return Mn([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Mn(r)}function f7(e){var t;if(e.y!=null)return Mn([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Mn(r)}var ij=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?d7(n):f7(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},h7=H([s7,It],ij),p7=H(u7,h7,c7,(e,t,r)=>vf(e,r,t)),aj=(e,t,r,n,i,o,s,u)=>{if(r!=null)return r;var d=s==="vertical"&&u==="xAxis"||s==="horizontal"&&u==="yAxis",f=d?vf(n,o,i):vf(o,i);return z6(t,f,e.allowDataOverflow)},m7=H([or,QC,XC,t7,n7,p7,ot,It],aj,{memoizeOptions:{resultEqualityCheck:mh}}),v7=[0,1],oj=(e,t,r,n,i,o,s)=>{if(!((e==null||r==null||r.length===0)&&s===void 0)){var u=e.dataKey,d=e.type,f=Tn(t,o);if(f&&u==null){var h;return NO(0,(h=r==null?void 0:r.length)!==null&&h!==void 0?h:0)}return d==="category"?a7(n,e,f):i==="expand"&&!f?v7:s}},l0=H([or,ot,i0,Ru,ch,It,m7],oj),Tl=H([or,RC,Ey],NC),lj=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var i=a0(t),o=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&On(e)){if(o)return uS(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return cS(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&On(e))return uS(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&On(e))return cS(e,t.tickCount,t.allowDecimals,"adaptive")}}},s0=H([l0,Du,Tl],lj),sj=(e,t,r,n)=>{if(n!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&On(t)&&Array.isArray(r)&&r.length>0){var i,o,s=t[0],u=(i=r[0])!==null&&i!==void 0?i:0,d=t[1],f=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(s,u),Math.max(d,f)]}return t},g7=H([or,l0,s0,It],sj),y7=H(Ru,or,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Mn(e.map(m=>m.value))).sort((m,v)=>m-v),i=n[0],o=n[n.length-1];if(i==null||o==null)return 1/0;var s=o-i;if(s===0)return 1/0;for(var u=0;ui,(e,t,r,n,i)=>{if(!Fe(e))return 0;var o=t==="vertical"?n.height:n.width;if(i==="gap")return e*o/2;if(i==="no-gap"){var s=ta(r,e*o),u=e*o/2;return u-s-(u-s)/o*s}return 0}),x7=(e,t,r)=>{var n=ui(e,t);return n==null||typeof n.padding!="string"?0:uj(e,"xAxis",t,r,n.padding)},b7=(e,t,r)=>{var n=ci(e,t);return n==null||typeof n.padding!="string"?0:uj(e,"yAxis",t,r,n.padding)},w7=H(ui,x7,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var i=e.padding;return typeof i=="string"?{left:t,right:t}:{left:((r=i.left)!==null&&r!==void 0?r:0)+t,right:((n=i.right)!==null&&n!==void 0?n:0)+t}}),k7=H(ci,b7,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var i=e.padding;return typeof i=="string"?{top:t,bottom:t}:{top:((r=i.top)!==null&&r!==void 0?r:0)+t,bottom:((n=i.bottom)!==null&&n!==void 0?n:0)+t}}),cj=H([Kt,w7,nh,rh,(e,t,r)=>r],(e,t,r,n,i)=>{var o=n.padding;return i?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),dj=H([Kt,ot,k7,nh,rh,(e,t,r)=>r],(e,t,r,n,i,o)=>{var s=i.padding;return o?[n.height-s.bottom,s.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),$u=(e,t,r,n)=>{var i;switch(t){case"xAxis":return cj(e,r,n);case"yAxis":return dj(e,r,n);case"zAxis":return(i=n0(e,r))===null||i===void 0?void 0:i.range;case"angleAxis":return qO(e);case"radiusAxis":return GO(e,r);default:return}},fj=H([or,$u],dh),S7=H([Tl,g7],n8),u0=H([or,Tl,S7,fj],r0),hj=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var i=r.type,o=r.scale,s=Tn(e,n);if(s&&(i==="number"||o!=="auto"))return t.map(u=>u.value)}},c0=H([ot,Ru,Du,It],hj),Sh=H([u0],Iy);H([u0],RU);H([u0,XU],IC);H([Il,o0,It],r7);function pj(e,t){return e.idt.id?1:0}var Eh=(e,t)=>t,Ph=(e,t,r)=>r,E7=H(eh,Eh,Ph,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(pj)),P7=H(th,Eh,Ph,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(pj)),mj=(e,t)=>({width:e.width,height:t.height}),A7=(e,t)=>{var r=typeof t.width=="number"?t.width:Au;return{width:r,height:e.height}},O7=H(Kt,ui,mj),C7=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},j7=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},_7=H(li,Kt,E7,Eh,Ph,(e,t,r,n,i)=>{var o={},s;return r.forEach(u=>{var d=mj(t,u);s==null&&(s=C7(t,n,e));var f=n==="top"&&!i||n==="bottom"&&i;o[u.id]=s-Number(f)*d.height,s+=(f?-1:1)*d.height}),o}),N7=H(oi,Kt,P7,Eh,Ph,(e,t,r,n,i)=>{var o={},s;return r.forEach(u=>{var d=A7(t,u);s==null&&(s=j7(t,n,e));var f=n==="left"&&!i||n==="right"&&i;o[u.id]=s-Number(f)*d.width,s+=(f?-1:1)*d.width}),o}),I7=(e,t)=>{var r=ui(e,t);if(r!=null)return _7(e,r.orientation,r.mirror)},M7=H([Kt,ui,I7,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),T7=(e,t)=>{var r=ci(e,t);if(r!=null)return N7(e,r.orientation,r.mirror)},D7=H([Kt,ci,T7,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),R7=H(Kt,ci,(e,t)=>{var r=typeof t.width=="number"?t.width:Au;return{width:r,height:e.height}}),vj=(e,t,r,n)=>{if(r!=null){var i=r.allowDuplicatedCategory,o=r.type,s=r.dataKey,u=Tn(e,n),d=t.map(h=>h.value),f=d.filter(h=>h!=null);if(s&&u&&o==="category"&&i&&u2(f))return d}},d0=H([ot,Ru,or,It],vj),tE=H([ot,KU,Tl,Sh,d0,c0,$u,s0,It],(e,t,r,n,i,o,s,u,d)=>{if(t!=null){var f=Tn(e,d);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:d,categoricalDomain:o,duplicateDomain:i,isCategorical:f,niceTicks:u,range:s,realScaleType:r,scale:n}}}),$7=(e,t,r,n,i,o,s,u,d)=>{if(!(t==null||n==null)){var f=Tn(e,d),h=t.type,m=t.ticks,v=t.tickCount,b=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,S=h==="category"&&n.bandwidth?n.bandwidth()/b:0;S=d==="angleAxis"&&o!=null&&o.length>=2?Lr(o[0]-o[1])*2*S:S;var k=m||i;return k?k.map((E,P)=>{var j=s?s.indexOf(E):E,_=n.map(j);return Fe(_)?{index:P,coordinate:_+S,value:E,offset:S}:null}).filter(vr):f&&u?u.map((E,P)=>{var j=n.map(E);return Fe(j)?{coordinate:j+S,value:E,index:P,offset:S}:null}).filter(vr):n.ticks?n.ticks(v).map((E,P)=>{var j=n.map(E);return Fe(j)?{coordinate:j+S,value:E,index:P,offset:S}:null}).filter(vr):n.domain().map((E,P)=>{var j=n.map(E);return Fe(j)?{coordinate:j+S,value:s?s[E]:E,index:P,offset:S}:null}).filter(vr)}},gj=H([ot,Du,Tl,Sh,s0,$u,d0,c0,It],$7),L7=(e,t,r,n,i,o,s)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var u=Tn(e,s),d=t.tickCount,f=0;return f=s==="angleAxis"&&(n==null?void 0:n.length)>=2?Lr(n[0]-n[1])*2*f:f,u&&o?o.map((h,m)=>{var v=r.map(h);return Fe(v)?{coordinate:v+f,value:h,index:m,offset:f}:null}).filter(vr):r.ticks?r.ticks(d).map((h,m)=>{var v=r.map(h);return Fe(v)?{coordinate:v+f,value:h,index:m,offset:f}:null}).filter(vr):r.domain().map((h,m)=>{var v=r.map(h);return Fe(v)?{coordinate:v+f,value:i?i[h]:h,index:m,offset:f}:null}).filter(vr)}},yj=H([ot,Du,Sh,$u,d0,c0,It],L7),xj=H(or,Sh,(e,t)=>{if(!(e==null||t==null))return mf(mf({},e),{},{scale:t})}),z7=H([or,Tl,l0,fj],r0),F7=H([z7],Iy);H((e,t,r)=>n0(e,r),F7,(e,t)=>{if(!(e==null||t==null))return mf(mf({},e),{},{scale:t})});var B7=H([ot,eh,th],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),U7=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]};H([U7],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,i=e[0];for(var o of e){var s=Math.abs(o.coordinate-t);se.options.defaultTooltipEventType,wj=e=>e.options.validateTooltipEventTypes;function kj(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Lu(e,t){var r=bj(e),n=wj(e);return kj(t,r,n)}function W7(e){return Ee(t=>Lu(t,e))}var Sj=(e,t)=>{var r,n=Number(t);if(!(jn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0},H7=e=>e.tooltip.settings,Fi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},K7={itemInteraction:{click:Fi,hover:Fi},axisInteraction:{click:Fi,hover:Fi},keyboardInteraction:Fi,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},Ej=Jt({name:"tooltip",initialState:K7,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:rt()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=zr(e).tooltipItemPayloads.indexOf(n);o>-1&&(e.tooltipItemPayloads[o]=i)},prepare:rt()},removeTooltipEntrySettings:{reducer(e,t){var r=zr(e).tooltipItemPayloads.indexOf(t.payload);r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:rt()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Vr=Ej.actions,V7=Vr.addTooltipEntrySettings,q7=Vr.replaceTooltipEntrySettings,G7=Vr.removeTooltipEntrySettings,Y7=Vr.setTooltipSettingsState,Q7=Vr.setActiveMouseOverItemIndex;Vr.mouseLeaveItem;var Pj=Vr.mouseLeaveChart;Vr.setActiveClickItemIndex;var Aj=Vr.setMouseOverAxisIndex,X7=Vr.setMouseClickAxisIndex,Bs=Vr.setSyncInteraction,gf=Vr.setKeyboardInteraction,Z7=Ej.reducer;function rE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function vd(e){for(var t=1;t{if(t==null)return Fi;var i=r9(e,t,r);if(i==null)return Fi;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(n9(i)){if(o)return vd(vd({},i),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return vd(vd({},Fi),{},{coordinate:i.coordinate})};function i9(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function a9(e,t){var r=i9(e),n=t[0],i=t[1];if(r===void 0)return!1;var o=Math.min(n,i),s=Math.max(n,i);return r>=o&&r<=s}function o9(e,t,r){if(r==null||t==null)return!0;var n=Nt(e,t);return n==null||!On(r)?!0:a9(n,r)}var Ws=(e,t,r,n)=>{var i=e==null?void 0:e.index;if(i==null)return null;var o=Number(i);if(!Fe(o))return i;var s=0,u=1/0;t.length>0&&(u=t.length-1);var d=Math.max(s,Math.min(o,u)),f=t[d];return f==null||o9(f,r,n)?String(d):null},Cj=(e,t,r,n,i,o,s)=>{if(o!=null){var u=s[0],d=u==null?void 0:u.getPosition(o);if(d!=null)return d;var f=i==null?void 0:i[Number(o)];if(f)switch(r){case"horizontal":return{x:f.coordinate,y:(n.top+t)/2};default:return{x:(n.left+e)/2,y:f.coordinate}}}},jj=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(r==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(n!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(s=>{var u;return((u=s.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},_j=e=>e.options.tooltipPayloadSearcher,Dl=e=>e.tooltip;function nE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function iE(e){for(var t=1;te(t)}function aE(e){if(typeof e=="string")return e}function h9(e){if(!(e==null||typeof e!="object")){var t="name"in e?c9(e.name):void 0,r="unit"in e?d9(e.unit):void 0,n="dataKey"in e?f9(e.dataKey):void 0,i="payload"in e?e.payload:void 0,o="color"in e?aE(e.color):void 0,s="fill"in e?aE(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:i,color:o,fill:s}}}function p9(e,t){return e??t}var Nj=(e,t,r,n,i,o,s)=>{if(!(t==null||o==null)){var u=r.chartData,d=r.computedData,f=r.dataStartIndex,h=r.dataEndIndex,m=[];return e.reduce((v,b)=>{var S,k=b.dataDefinedOnItem,E=b.settings,P=p9(k,u),j=Array.isArray(P)?rO(P,f,h):P,_=(S=E==null?void 0:E.dataKey)!==null&&S!==void 0?S:n,O=E==null?void 0:E.nameKey,N;if(n&&Array.isArray(j)&&!Array.isArray(j[0])&&s==="axis"?N=c2(j,n,i):N=o(j,t,d,O),Array.isArray(N))N.forEach(R=>{var z,F,V=h9(R),Q=V==null?void 0:V.name,B=V==null?void 0:V.dataKey,ue=V==null?void 0:V.payload,G=iE(iE({},E),{},{name:Q,unit:V==null?void 0:V.unit,color:(z=V==null?void 0:V.color)!==null&&z!==void 0?z:E==null?void 0:E.color,fill:(F=V==null?void 0:V.fill)!==null&&F!==void 0?F:E==null?void 0:E.fill});v.push(Jw({tooltipEntrySettings:G,dataKey:B,payload:ue,value:Nt(ue,B),name:Q==null?void 0:String(Q)}))});else{var C;v.push(Jw({tooltipEntrySettings:E,dataKey:_,payload:N,value:Nt(N,_),name:(C=Nt(N,O))!==null&&C!==void 0?C:E==null?void 0:E.name}))}return v},m)}},f0=H([Pt,RC,Ey],NC),m9=H([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),v9=H([Mt,_l],$C),ro=H([m9,Pt,v9],zC,{memoizeOptions:{resultEqualityCheck:vh}}),g9=H([ro],e=>e.filter(Ny)),Ij=H([ro],UC,{memoizeOptions:{resultEqualityCheck:vh}}),y9=H([ro],e=>e.some(t=>!t.data)),Qa=H([Ij,dn],HC),x9=H([g9,dn,Pt],QO),h0=H([Qa,Pt,ro,dn,y9,Ij],KC),Mj=H([Pt],a0),b9=H([Pt],e=>e.allowDataOverflow),Tj=H([Mj,b9],IO),w9=H([ro],e=>e.filter(Ny)),k9=H([x9,w9,ch,WO],qC),S9=H([k9,dn,Mt,Tj],YC),E9=H([ro],BC),P9=H([Qa,Pt,E9,o0,Mt,T6],ZC,{memoizeOptions:{resultEqualityCheck:mh}}),A9=H([JC,Mt,_l],Ml),O9=H([A9,Mt],rj),C9=H([ej,Mt,_l],Ml),j9=H([C9,Mt],nj),_9=H([tj,Mt,_l],Ml),N9=H([_9,Mt],ij),I9=H([O9,N9,j9],vf),M9=H([Pt,Mj,Tj,S9,P9,I9,ot,Mt],aj),wl=H([Pt,ot,Qa,h0,ch,Mt,M9],oj),T9=H([wl,Pt,f0],lj),D9=H([Pt,wl,T9,Mt],sj),Dj=e=>{var t=Mt(e),r=_l(e),n=!1;return $u(e,t,r,n)},Rj=H([Pt,Dj],dh),R9=H([Pt,f0,D9,Rj],r0),$j=H([R9],Iy),$9=H([ot,h0,Pt,Mt],vj),L9=H([ot,h0,Pt,Mt],hj),z9=(e,t,r,n,i,o,s,u)=>{if(t){var d=t.type,f=Tn(e,u);if(n){var h=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,m=d==="category"&&n.bandwidth?n.bandwidth()/h:0;return m=u==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?Lr(i[0]-i[1])*2*m:m,f&&s?s.map((v,b)=>{var S=n.map(v);return Fe(S)?{coordinate:S+m,value:v,index:b,offset:m}:null}).filter(vr):n.domain().map((v,b)=>{var S=n.map(v);return Fe(S)?{coordinate:S+m,value:o?o[v]:v,index:b,offset:m}:null}).filter(vr)}}},di=H([ot,Pt,f0,$j,Dj,$9,L9,Mt],z9),p0=H([bj,wj,H7],(e,t,r)=>kj(r.shared,e,t)),Lj=e=>e.tooltip.settings.trigger,m0=e=>e.tooltip.settings.defaultIndex,zu=H([Dl,p0,Lj,m0],Oj),du=H([zu,Qa,bl,wl],Ws),zj=H([di,du],Sj),F9=H([zu],e=>{if(e)return e.dataKey}),B9=H([zu],e=>{if(e)return e.graphicalItemId}),Fj=H([Dl,p0,Lj,m0],jj),U9=H([oi,li,ot,Kt,di,m0,Fj],Cj),W9=H([zu,U9],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),H9=H([zu],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),K9=H([Fj,du,dn,bl,zj,_j,p0],Nj),V9=H([K9],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function oE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function lE(e){for(var t=1;tEe(Pt),X9=()=>{var e=Q9(),t=Ee(di),r=Ee($j);return Vd(!e||!r?void 0:lE(lE({},e),{},{scale:r}),t)};function sE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function $o(e){for(var t=1;t{var i=t.find(o=>o&&o.index===r);if(i){if(e==="horizontal")return{x:i.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:i.coordinate}}return{x:0,y:0}},rW=(e,t,r,n)=>{var i=t.find(f=>f&&f.index===r);if(i){if(e==="centric"){var o=i.coordinate,s=n.radius;return $o($o($o({},n),Bt(n.cx,n.cy,s,o)),{},{angle:o,radius:s})}var u=i.coordinate,d=n.angle;return $o($o($o({},n),Bt(n.cx,n.cy,u,d)),{},{angle:d,radius:u})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function nW(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var Bj=(e,t,r,n,i)=>{var o,s=(o=t==null?void 0:t.length)!==null&&o!==void 0?o:0;if(s<=1||e==null)return 0;if(n==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u0?(d=r[u-1])===null||d===void 0?void 0:d.coordinate:(f=r[s-1])===null||f===void 0?void 0:f.coordinate,S=(h=r[u])===null||h===void 0?void 0:h.coordinate,k=u>=s-1?(m=r[0])===null||m===void 0?void 0:m.coordinate:(v=r[u+1])===null||v===void 0?void 0:v.coordinate,E=void 0;if(!(b==null||S==null||k==null))if(Lr(S-b)!==Lr(k-S)){var P=[];if(Lr(k-S)===Lr(i[1]-i[0])){E=k;var j=S+i[1]-i[0];P[0]=Math.min(j,(j+b)/2),P[1]=Math.max(j,(j+b)/2)}else{E=b;var _=k+i[1]-i[0];P[0]=Math.min(S,(_+S)/2),P[1]=Math.max(S,(_+S)/2)}var O=[Math.min(S,(E+S)/2),Math.max(S,(E+S)/2)];if(e>O[0]&&e<=O[1]||e>=P[0]&&e<=P[1]){var N;return(N=r[u])===null||N===void 0?void 0:N.index}}else{var C=Math.min(b,k),R=Math.max(b,k);if(e>(C+S)/2&&e<=(R+S)/2){var z;return(z=r[u])===null||z===void 0?void 0:z.index}}}else if(t)for(var F=0;F(V.coordinate+B.coordinate)/2||F>0&&F(V.coordinate+B.coordinate)/2&&e<=(V.coordinate+Q.coordinate)/2)return V.index}}return-1},Uj=()=>Ee(Ey),v0=(e,t)=>t,Wj=(e,t,r)=>r,g0=(e,t,r,n)=>n,iW=H(di,e=>Wf(e,t=>t.coordinate)),y0=H([Dl,v0,Wj,g0],Oj),x0=H([y0,Qa,bl,wl],Ws),aW=(e,t,r)=>{if(t!=null){var n=Dl(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Hj=H([Dl,v0,Wj,g0],jj),yf=H([oi,li,ot,Kt,di,g0,Hj],Cj),oW=H([y0,yf],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),Kj=H([di,x0],Sj),lW=H([Hj,x0,dn,bl,Kj,_j,v0],Nj),sW=H([y0,x0],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),uW=(e,t,r,n,i,o,s)=>{if(!(!e||!r||!n||!i)&&nW(e,s)){var u=kL(e,t),d=Bj(u,o,i,r,n),f=tW(t,i,d,e);return{activeIndex:String(d),activeCoordinate:f}}},cW=(e,t,r,n,i,o,s)=>{if(!(!e||!n||!i||!o||!r)){var u=P6(e,r);if(u){var d=SL(u,t),f=Bj(d,s,o,n,i),h=rW(t,o,f,u);return{activeIndex:String(f),activeCoordinate:h}}}},dW=(e,t,r,n,i,o,s,u)=>{if(!(!e||!t||!n||!i||!o))return t==="horizontal"||t==="vertical"?uW(e,t,n,i,o,s,u):cW(e,t,r,n,i,o,s)},fW=H(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),hW=H(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(nr)),r=Array.from(new Set(t));return r.sort((n,i)=>n-i)},{memoizeOptions:{resultEqualityCheck:r8}});function uE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cE(e){for(var t=1;tcE(cE({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),gW)},xW=new Set(Object.values(nr));function bW(e){return xW.has(e)}var Vj=Jt({name:"zIndex",initialState:yW,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:rt()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!bW(r)&&delete e.zIndexMap[r])},prepare:rt()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,i=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=i:e.zIndexMap[n].element=i:e.zIndexMap[n]={consumers:0,element:o?void 0:i,panoramaElement:o?i:void 0}},prepare:rt()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:rt()}}}),Ah=Vj.actions,wW=Ah.registerZIndexPortal,lv=Ah.unregisterZIndexPortal,kW=Ah.registerZIndexPortalElement,SW=Ah.unregisterZIndexPortalElement,EW=Vj.reducer;function fi(e){var t=e.zIndex,r=e.children,n=lz(),i=n&&t!==void 0&&t!==0,o=yr(),s=y.useRef(void 0),u=y.useRef(new Set),d=xt(),f=Ee(m=>fW(m,t,o));if(y.useLayoutEffect(()=>{if(!i){var m=u.current;m.forEach(b=>{d(lv({zIndex:b}))}),m.clear(),s.current=void 0;return}if(u.current.has(t)||(d(wW({zIndex:t})),u.current.add(t)),f){s.current=f;var v=u.current;v.forEach(b=>{b!==t&&(d(lv({zIndex:b})),v.delete(b))})}},[d,t,i,f]),y.useLayoutEffect(()=>{var m=u.current;return()=>{m.forEach(v=>{d(lv({zIndex:v}))}),m.clear()}},[d]),!i)return r;var h=f??s.current;return h?Tf.createPortal(r,h):null}function Sg(){return Sg=Object.assign?Object.assign.bind():function(e){for(var t=1;ty.useContext(qj),sv={exports:{}},fE;function IW(){return fE||(fE=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(d,f,h){this.fn=d,this.context=f,this.once=h||!1}function o(d,f,h,m,v){if(typeof h!="function")throw new TypeError("The listener must be a function");var b=new i(h,m||d,v),S=r?r+f:f;return d._events[S]?d._events[S].fn?d._events[S]=[d._events[S],b]:d._events[S].push(b):(d._events[S]=b,d._eventsCount++),d}function s(d,f){--d._eventsCount===0?d._events=new n:delete d._events[f]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var f=[],h,m;if(this._eventsCount===0)return f;for(m in h=this._events)t.call(h,m)&&f.push(r?m.slice(1):m);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(h)):f},u.prototype.listeners=function(f){var h=r?r+f:f,m=this._events[h];if(!m)return[];if(m.fn)return[m.fn];for(var v=0,b=m.length,S=new Array(b);v{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!jn(r))return e[r]}},RW={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},Gj=Jt({name:"options",initialState:RW,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),$W=Gj.reducer,LW=Gj.actions.createEventEmitter;function zW(e){return e.tooltip.syncInteraction}var FW={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},Yj=Jt({name:"chartData",initialState:FW,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,i=r.endIndex;n!=null&&(e.dataStartIndex=n),i!=null&&(e.dataEndIndex=i)}}}),b0=Yj.actions,pE=b0.setChartData,BW=b0.setDataStartEndIndexes;b0.setComputedData;var UW=Yj.reducer,WW=["x","y"];function mE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Lo(e){for(var t=1;td.rootProps.className);y.useEffect(()=>{if(e==null)return Al;var d=(f,h,m)=>{if(t!==m&&e===f){if(h.payload.active===!1){r(Bs({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var v;if(s&&h!==null&&h!==void 0&&(v=h.payload)!==null&&v!==void 0&&v.coordinate&&h.payload.sourceViewBox){var b=h.payload.coordinate,S=b.x,k=b.y,E=qW(b,WW),P=h.payload.sourceViewBox,j=P.x,_=P.y,O=P.width,N=P.height,C=Lo(Lo({},E),{},{x:s.x+(O?(S-j)/O:0)*s.width,y:s.y+(N?(k-_)/N:0)*s.height});r(Lo(Lo({},h),{},{payload:Lo(Lo({},h.payload),{},{coordinate:C})}))}else r(h);return}if(i!=null){var R;if(typeof n=="function"){var z={activeTooltipIndex:h.payload.index==null?void 0:Number(h.payload.index),isTooltipActive:h.payload.active,activeIndex:h.payload.index==null?void 0:Number(h.payload.index),activeLabel:h.payload.label,activeDataKey:h.payload.dataKey,activeCoordinate:h.payload.coordinate},F=n(i,z);R=i[F]}else n==="value"&&(R=i.find(de=>String(de.value)===h.payload.label));var V=h.payload.coordinate;if(V==null||s==null){r(Bs({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(R==null){r(Bs({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:h.payload.sourceViewBox,graphicalItemId:void 0}));return}var Q=V.x,B=V.y,ue=Math.min(Q,s.x+s.width),G=Math.min(B,s.y+s.height),le={x:o==="horizontal"?R.coordinate:ue,y:o==="horizontal"?G:R.coordinate},fe=Bs({active:h.payload.active,coordinate:le,dataKey:h.payload.dataKey,index:String(R.index),label:h.payload.label,sourceViewBox:h.payload.sourceViewBox,graphicalItemId:h.payload.graphicalItemId});r(fe)}}};return fu.on(Eg,d),()=>{fu.off(Eg,d)}},[u,r,t,e,n,i,o,s])}function QW(){var e=Ee(Py),t=Ee(Ay),r=xt();y.useEffect(()=>{if(e==null)return Al;var n=(i,o,s)=>{t!==s&&e===i&&r(BW(o))};return fu.on(hE,n),()=>{fu.off(hE,n)}},[r,t,e])}function XW(){var e=xt();y.useEffect(()=>{e(LW())},[e]),YW(),QW()}function ZW(e,t,r,n,i,o){var s=Ee(S=>aW(S,e,t)),u=Ee(B9),d=Ee(Ay),f=Ee(Py),h=Ee(HO),m=Ee(zW),v=(m==null?void 0:m.sourceViewBox)!=null,b=ih();y.useEffect(()=>{if(!v&&f!=null&&d!=null){var S=Bs({active:o,coordinate:r,dataKey:s,index:i,label:typeof n=="number"?String(n):n,sourceViewBox:b,graphicalItemId:u});fu.emit(Eg,f,S,d)}},[v,r,s,u,i,n,d,f,h,o,b])}function vE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function gE(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{R(Y7({shared:j,trigger:_,axisId:C,active:i,defaultIndex:z}))},[R,j,_,C,i,z]);var F=ih(),V=SO(),Q=W7(j),B=(t=Ee(Ae=>sW(Ae,Q,_,z)))!==null&&t!==void 0?t:{},ue=B.activeIndex,G=B.isActive,le=Ee(Ae=>lW(Ae,Q,_,z)),fe=Ee(Ae=>Kj(Ae,Q,_,z)),de=Ee(Ae=>oW(Ae,Q,_,z)),Y=le,ae=NW(),X=(r=i??G)!==null&&r!==void 0?r:!1,M=s$([Y,X]),T=rH(M,2),Z=T[0],se=T[1],te=Q==="axis"?fe:void 0;ZW(Q,_,de,te,ue,X);var ce=N??ae;if(ce==null||F==null||Q==null)return null;var ge=Y??xE;X||(ge=xE),f&&ge.length&&(ge=N4(ge.filter(Ae=>Ae.value!=null&&(Ae.hide!==!0||n.includeHidden)),v,lH));var _e=ge.length>0,J=gE(gE({},n),{},{payload:ge,label:te,active:X,activeIndex:ue,coordinate:de,accessibilityLayer:V}),we=y.createElement(xF,{allowEscapeViewBox:o,animationDuration:s,animationEasing:u,isAnimationActive:h,active:X,coordinate:de,hasPayload:_e,offset:m,position:b,reverseDirection:S,useTranslate3d:k,viewBox:F,wrapperStyle:E,lastBoundingBox:Z,innerRef:se,hasPortalFromProps:!!N},sH(d,J));return y.createElement(y.Fragment,null,Tf.createPortal(we,ce),X&&y.createElement(_W,{cursor:P,tooltipEventType:Q,coordinate:de,payload:ge,index:ue}))}function dH(e,t,r){return(t=fH(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fH(e){var t=hH(e,"string");return typeof t=="symbol"?t:t+""}function hH(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class pH{constructor(t){dH(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}}function bE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mH(e){for(var t=1;t{try{var r=document.getElementById(kE);r||(r=document.createElement("span"),r.setAttribute("id",kE),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,bH,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},Hs=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||_u.isSsr)return{width:0,height:0};if(!Qj.enableCache)return SE(t,r);var n=wH(t,r),i=wE.get(n);if(i)return i;var o=SE(t,r);return wE.set(n,o),o},Xj;function xf(e,t){return PH(e)||EH(e,t)||SH(e,t)||kH()}function kH(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function SH(e,t){if(e){if(typeof e=="string")return EE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?EE(e,t):void 0}}function EE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var i=[];Ut(t)||(r?i=t.toString().split(""):i=t.toString().split(Jj));var o=i.map(u=>({word:u,width:Hs(u,n).width})),s=r?0:Hs(" ",n).width;return{wordsWithComputedWidth:o,spaceWidth:s}}catch{return null}};function t_(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function KH(e){return Ut(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var r_=(e,t,r,n)=>e.reduce((i,o)=>{var s=o.word,u=o.width,d=i[i.length-1];if(d&&u!=null&&(t==null||n||d.width+u+re.reduce((t,r)=>t.width>r.width?t:r),VH="…",NE=(e,t,r,n,i,o,s,u)=>{var d=e.slice(0,t),f=e_({breakAll:r,style:n,children:d+VH});if(!f)return[!1,[]];var h=r_(f.wordsWithComputedWidth,o,s,u),m=h.length>i||n_(h).width>Number(o);return[m,h]},qH=(e,t,r,n,i)=>{var o=e.maxLines,s=e.children,u=e.style,d=e.breakAll,f=be(o),h=String(s),m=r_(t,n,r,i);if(!f||i)return m;var v=m.length>o||n_(m).width>Number(n);if(!v)return m;for(var b=0,S=h.length-1,k=0,E;b<=S&&k<=h.length-1;){var P=Math.floor((b+S)/2),j=P-1,_=NE(h,j,d,u,o,n,r,i),O=jE(_,2),N=O[0],C=O[1],R=NE(h,P,d,u,o,n,r,i),z=jE(R,1),F=z[0];if(!N&&!F&&(b=P+1),N&&F&&(S=P-1),!N&&F){E=C;break}k++}return E||m},IE=e=>{var t=Ut(e)?[]:e.toString().split(Jj);return[{words:t,width:void 0}]},GH=e=>{var t=e.width,r=e.scaleToFit,n=e.children,i=e.style,o=e.breakAll,s=e.maxLines;if((t||r)&&!_u.isSsr){var u,d,f=e_({breakAll:o,children:n,style:i});if(f){var h=f.wordsWithComputedWidth,m=f.spaceWidth;u=h,d=m}else return IE(n);return qH({breakAll:o,children:n,maxLines:s,style:i},u,d,t,!!r)}return IE(n)},i_="#808080",YH={angle:0,breakAll:!1,capHeight:"0.71em",fill:i_,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},w0=y.forwardRef((e,t)=>{var r=Hr(e,YH),n=r.x,i=r.y,o=r.lineHeight,s=r.capHeight,u=r.fill,d=r.scaleToFit,f=r.textAnchor,h=r.verticalAnchor,m=CE(r,LH),v=y.useMemo(()=>GH({breakAll:m.breakAll,children:m.children,maxLines:m.maxLines,scaleToFit:d,style:m.style,width:m.width}),[m.breakAll,m.children,m.maxLines,d,m.style,m.width]),b=m.dx,S=m.dy,k=m.angle,E=m.className,P=m.breakAll,j=CE(m,zH);if(!_n(n)||!_n(i)||v.length===0)return null;var _=Number(n)+(be(b)?b:0),O=Number(i)+(be(S)?S:0);if(!Fe(_)||!Fe(O))return null;var N;switch(h){case"start":N=uv("calc(".concat(s,")"));break;case"middle":N=uv("calc(".concat((v.length-1)/2," * -").concat(o," + (").concat(s," / 2))"));break;default:N=uv("calc(".concat(v.length-1," * -").concat(o,")"));break}var C=[],R=v[0];if(d&&R!=null){var z=R.width,F=m.width;C.push("scale(".concat(be(F)&&be(z)?F/z:1,")"))}return k&&C.push("rotate(".concat(k,", ").concat(_,", ").concat(O,")")),C.length&&(j.transform=C.join(" ")),y.createElement("text",Pg({},Br(j),{ref:t,x:_,y:O,className:Xe("recharts-text",E),textAnchor:f,fill:u.includes("url")?i_:u}),v.map((V,Q)=>{var B=V.words.join(P?"":" ");return y.createElement("tspan",{x:_,dy:Q===0?N:o,key:"".concat(B,"-").concat(Q)},B)}))});w0.displayName="Text";function ME(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bn(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,i=n===void 0?0:n,o=e.parentViewBox,s=my(t),u=s.x,d=s.y,f=s.height,h=s.upperWidth,m=s.lowerWidth,v=u,b=u+(h-m)/2,S=(v+b)/2,k=(h+m)/2,E=v+h/2,P=f>=0?1:-1,j=P*i,_=P>0?"end":"start",O=P>0?"start":"end",N=h>=0?1:-1,C=N*i,R=N>0?"end":"start",z=N>0?"start":"end",F=o;if(r==="top"){var V={x:v+h/2,y:d-j,horizontalAnchor:"middle",verticalAnchor:_};return F&&(V.height=Math.max(d-F.y,0),V.width=h),V}if(r==="bottom"){var Q={x:b+m/2,y:d+f+j,horizontalAnchor:"middle",verticalAnchor:O};return F&&(Q.height=Math.max(F.y+F.height-(d+f),0),Q.width=m),Q}if(r==="left"){var B={x:S-C,y:d+f/2,horizontalAnchor:R,verticalAnchor:"middle"};return F&&(B.width=Math.max(B.x-F.x,0),B.height=f),B}if(r==="right"){var ue={x:S+k+C,y:d+f/2,horizontalAnchor:z,verticalAnchor:"middle"};return F&&(ue.width=Math.max(F.x+F.width-ue.x,0),ue.height=f),ue}var G=F?{width:k,height:f}:{};return r==="insideLeft"?bn({x:S+C,y:d+f/2,horizontalAnchor:z,verticalAnchor:"middle"},G):r==="insideRight"?bn({x:S+k-C,y:d+f/2,horizontalAnchor:R,verticalAnchor:"middle"},G):r==="insideTop"?bn({x:v+h/2,y:d+j,horizontalAnchor:"middle",verticalAnchor:O},G):r==="insideBottom"?bn({x:b+m/2,y:d+f-j,horizontalAnchor:"middle",verticalAnchor:_},G):r==="insideTopLeft"?bn({x:v+C,y:d+j,horizontalAnchor:z,verticalAnchor:O},G):r==="insideTopRight"?bn({x:v+h-C,y:d+j,horizontalAnchor:R,verticalAnchor:O},G):r==="insideBottomLeft"?bn({x:b+C,y:d+f-j,horizontalAnchor:z,verticalAnchor:_},G):r==="insideBottomRight"?bn({x:b+m-C,y:d+f-j,horizontalAnchor:R,verticalAnchor:_},G):r&&typeof r=="object"&&(be(r.x)||Ka(r.x))&&(be(r.y)||Ka(r.y))?bn({x:u+ta(r.x,k),y:d+ta(r.y,f),horizontalAnchor:"end",verticalAnchor:"end"},G):bn({x:E,y:d+f/2,horizontalAnchor:"middle",verticalAnchor:"middle"},G)},eK=["labelRef"],tK=["content"];function TE(e,t){if(e==null)return{};var r,n,i=rK(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,i=e.lowerWidth,o=e.width,s=e.height,u=e.children,d=y.useMemo(()=>({x:t,y:r,upperWidth:n,lowerWidth:i,width:o,height:s}),[t,r,n,i,o,s]);return y.createElement(a_.Provider,{value:d},u)},o_=()=>{var e=y.useContext(a_),t=ih();return e||(t?my(t):void 0)},lK=y.createContext(null),sK=()=>{var e=y.useContext(lK),t=Ee(YO);return e||t},uK=e=>{var t=e.value,r=e.formatter,n=Ut(e.children)?t:e.children;return typeof r=="function"?r(n):n},k0=e=>e!=null&&typeof e=="function",cK=(e,t)=>{var r=Lr(t-e),n=Math.min(Math.abs(t-e),360);return r*n},dK=(e,t,r,n,i)=>{var o=e.offset,s=e.className,u=i.cx,d=i.cy,f=i.innerRadius,h=i.outerRadius,m=i.startAngle,v=i.endAngle,b=i.clockWise,S=(f+h)/2,k=cK(m,v),E=k>=0?1:-1,P,j;switch(t){case"insideStart":P=m+E*o,j=b;break;case"insideEnd":P=v-E*o,j=!b;break;case"end":P=v+E*o,j=b;break;default:throw new Error("Unsupported position ".concat(t))}j=k<=0?j:!j;var _=Bt(u,d,S,P),O=Bt(u,d,S,P+(j?1:-1)*359),N="M".concat(_.x,",").concat(_.y,` A`).concat(S,",").concat(S,",0,1,").concat(j?0:1,`, - `).concat(O.x,",").concat(O.y),C=Ut(e.id)?Zs("recharts-radial-line-"):e.id;return y.createElement("text",Yn({},n,{dominantBaseline:"central",className:Xe("recharts-radial-bar-label",s)}),y.createElement("defs",null,y.createElement("path",{id:C,d:N})),y.createElement("textPath",{xlinkHref:"#".concat(C)},r))},dK=(e,t,r)=>{var n=e.cx,i=e.cy,o=e.innerRadius,s=e.outerRadius,u=e.startAngle,d=e.endAngle,f=(u+d)/2;if(r==="outside"){var h=Bt(n,i,s+t,f),m=h.x,v=h.y;return{x:m,y:v,textAnchor:m>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"end"};var b=(o+s)/2,S=Bt(n,i,b,f),k=S.x,E=S.y;return{x:k,y:E,textAnchor:"middle",verticalAnchor:"middle"}},jd=e=>e!=null&&"cx"in e&&be(e.cx),fK={angle:0,offset:5,zIndex:nr.label,position:"middle",textBreakAll:!1};function hK(e){if(!jd(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,i=n*2;return{x:t-n,y:r-n,width:i,upperWidth:i,lowerWidth:i,height:i}}function zi(e){var t=Hr(e,fK),r=t.viewBox,n=t.parentViewBox,i=t.position,o=t.value,s=t.children,u=t.content,d=t.className,f=d===void 0?"":d,h=t.textBreakAll,m=t.labelRef,v=lK(),b=o_(),S=i==="center"?b:v??b,k,E,P;r==null?k=S:jd(r)?k=r:k=my(r);var j=hK(k);if(!k||Ut(o)&&Ut(s)&&!y.isValidElement(u)&&typeof u!="function")return null;var _=Us(Us({},t),{},{viewBox:k});if(y.isValidElement(u)){_.labelRef;var O=TE(_,JH);return y.cloneElement(u,O)}if(typeof u=="function"){_.content;var N=TE(_,eK);if(E=y.createElement(u,N),y.isValidElement(E))return E}else E=sK(t);var C=Br(t);if(jd(k)){if(i==="insideStart"||i==="insideEnd"||i==="end")return cK(t,i,E,C,k);P=dK(k,t.offset,t.position)}else{if(!j)return null;var R=ZH({viewBox:j,position:i,offset:t.offset,parentViewBox:jd(n)?void 0:n});P=Us(Us({x:R.x,y:R.y,textAnchor:R.horizontalAnchor,verticalAnchor:R.verticalAnchor},R.width!==void 0?{width:R.width}:{}),R.height!==void 0?{height:R.height}:{})}return y.createElement(fi,{zIndex:t.zIndex},y.createElement(w0,Yn({ref:m,className:Xe("recharts-label",f)},C,P,{textAnchor:t_(C.textAnchor)?C.textAnchor:P.textAnchor,breakAll:h}),E))}zi.displayName="Label";var pK=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?y.createElement(zi,Yn({key:"label-implicit"},n)):jn(e)?y.createElement(zi,Yn({key:"label-implicit",value:e},n)):y.isValidElement(e)?e.type===zi?y.cloneElement(e,Us({key:"label-implicit"},n)):y.createElement(zi,Yn({key:"label-implicit",content:e},n)):k0(e)?y.createElement(zi,Yn({key:"label-implicit",content:e},n)):e&&typeof e=="object"?y.createElement(zi,Yn({},e,{key:"label-implicit"},n)):null};function mK(e){var t=e.label,r=e.labelRef,n=o_();return pK(t,n,r)||null}var vK=["valueAccessor"],gK=["dataKey","clockWise","id","textBreakAll","zIndex"];function bf(){return bf=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(HH(t))return t},l_=y.createContext(void 0),bK=l_.Provider,s_=y.createContext(void 0);s_.Provider;function wK(){return y.useContext(l_)}function kK(){return y.useContext(s_)}function _d(e){var t=e.valueAccessor,r=t===void 0?xK:t,n=RE(e,vK),i=n.dataKey;n.clockWise;var o=n.id,s=n.textBreakAll,u=n.zIndex,d=RE(n,gK),f=wK(),h=kK(),m=f||h;return!m||!m.length?null:y.createElement(fi,{zIndex:u??nr.label},y.createElement(Ur,{className:"recharts-label-list"},m.map((v,b)=>{var S,k=Ut(i)?r(v,b):Nt(v.payload,i),E=Ut(o)?{}:{id:"".concat(o,"-").concat(b)};return y.createElement(zi,bf({key:"label-".concat(b)},Br(v),d,E,{fill:(S=n.fill)!==null&&S!==void 0?S:v.fill,parentViewBox:v.parentViewBox,value:k,textBreakAll:s,viewBox:v.viewBox,index:b,zIndex:0}))})))}_d.displayName="LabelList";function SK(e){var t=e.label;return t?t===!0?y.createElement(_d,{key:"labelList-implicit"}):y.isValidElement(t)||k0(t)?y.createElement(_d,{key:"labelList-implicit",content:t}):typeof t=="object"?y.createElement(_d,bf({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function Ag(){return Ag=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,i=e.className,o=Xe("recharts-dot",i);return be(t)&&be(r)&&be(n)?y.createElement("circle",Ag({},ln(e),ay(e),{className:o,cx:t,cy:r,r:n})):null},EK={radiusAxis:{},angleAxis:{}},c_=Jt({name:"polarAxis",initialState:EK,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Oh=c_.actions;Oh.addRadiusAxis;Oh.removeRadiusAxis;Oh.addAngleAxis;Oh.removeAngleAxis;var PK=c_.reducer;function AK(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var d_=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function $E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function LE(e){for(var t=1;t{n||(i.current===null?r(K7(t)):i.current!==t&&r(V7({prev:i.current,next:t})),i.current=t)},[t,r,n]),y.useLayoutEffect(()=>()=>{i.current&&(r(q7(i.current)),i.current=null)},[r]),null}function RK(e){var t=e.legendPayload,r=xt(),n=yr(),i=y.useRef(null);return y.useLayoutEffect(()=>{n||(i.current===null?r(xz(t)):i.current!==t&&r(bz({prev:i.current,next:t})),i.current=t)},[r,n,t]),y.useLayoutEffect(()=>()=>{i.current&&(r(wz(i.current)),i.current=null)},[r]),null}function $K(e,t){return BK(e)||FK(e,t)||zK(e,t)||LK()}function LK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zK(e,t){if(e){if(typeof e=="string")return zE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zE(e,t):void 0}}function zE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var i of r)n.push({status:"removed",prev:i});for(var o=0;oe[Math.floor(o*r)]);return E0(n,t)}function HK(e,t){var r=t.map((n,i)=>e[i]);return E0(r,t)}function KK(e,t){for(var r=new Map,n=0;n{var b=r(m,v);if(b!=null){var S=n.get(b);if(S!==void 0)return i.add(b),S}}),s=[];for(var u of n){var d=$K(u,2),f=d[0],h=d[1];i.has(f)||s.push(h)}return E0(o,t,s)}function Og(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===S0?WK(e,t):r===UK?HK(e,t):VK(e,t,r)}function h_(e,t){var r=y.useRef(e),n=y.useRef(t.current),i=y.useRef(!0);r.current!==e&&(r.current=e,n.current=t.current,i.current=!1);var o=y.useCallback(function(s,u){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(u===0){i.current=!0;return}u===1&&(n.current=s),u>0&&i.current&&d&&(t.current=s)},[t]);return{startValue:n.current,syncStepValue:o}}function qK(e,t){return XK(e)||QK(e,t)||YK(e,t)||GK()}function GK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YK(e,t){if(e){if(typeof e=="string")return FE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?FE(e,t):void 0}}function FE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),u=y.useCallback(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:i,handleAnimationStart:s,handleAnimationEnd:u}}function JK(e){var t,r=e.animationInput,n=e.animationIdPrefix,i=e.items,o=e.previousItemsRef,s=e.isAnimationActive,u=e.animationBegin,d=e.animationDuration,f=e.animationEasing,h=e.onAnimationStart,m=e.onAnimationEnd,v=e.animationInterpolateFn,b=e.animationMatchBy,S=e.shouldUpdatePreviousRef,k=e.children,E=e.layout,P=CO(r,n),j=h_(P,o),_=(t=j.startValue)!==null&&t!==void 0?t:null,O=Og(_,i,b??S0);return y.createElement(OO,{animationId:P,begin:u,duration:d,isActive:s,easing:f,onAnimationEnd:m,onAnimationStart:h,key:P},N=>{var C=_==null,R=i==null?i:v(O,N,E),z=S?S(N):N>0;return j.syncStepValue(R,N,z),R==null?null:k(R,N,C)})}var cv;function eV(e,t){return iV(e)||nV(e,t)||rV(e,t)||tV()}function tV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rV(e,t){if(e){if(typeof e=="string")return BE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?BE(e,t):void 0}}function BE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=y.useState(()=>Zs("uid-")),t=eV(e,1),r=t[0];return r},p_=(cv=jf.useId)!==null&&cv!==void 0?cv:aV;function oV(e,t){var r=p_();return t||(e?"".concat(e,"-").concat(r):r)}var lV=y.createContext(void 0),sV=e=>{var t=e.id,r=e.type,n=e.children,i=oV("recharts-".concat(r),t);return y.createElement(lV.Provider,{value:i},n(i))},uV={cartesianItems:[],polarItems:[]},m_=Jt({name:"graphicalItems",initialState:uV,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:rt()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=zr(e).cartesianItems.indexOf(n);o>-1&&(e.cartesianItems[o]=i)},prepare:rt()},removeCartesianGraphicalItem:{reducer(e,t){var r=zr(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:rt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:rt()},removePolarGraphicalItem:{reducer(e,t){var r=zr(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:rt()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=zr(e).polarItems.indexOf(n);o>-1&&(e.polarItems[o]=i)},prepare:rt()}}}),Rl=m_.actions,cV=Rl.addCartesianGraphicalItem,dV=Rl.replaceCartesianGraphicalItem,fV=Rl.removeCartesianGraphicalItem;Rl.addPolarGraphicalItem;Rl.removePolarGraphicalItem;Rl.replacePolarGraphicalItem;var hV=m_.reducer,pV=e=>{var t=xt(),r=y.useRef(null);return y.useLayoutEffect(()=>{r.current===null?t(cV(e)):r.current!==e&&t(dV({prev:r.current,next:e})),r.current=e},[t,e]),y.useLayoutEffect(()=>()=>{r.current&&(t(fV(r.current)),r.current=null)},[t]),null},mV=y.memo(pV),vV=["points"];function UE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dv(e){for(var t=1;t{var P,j,_=dv(dv(dv({r:3},s),v),{},{index:E,cx:(P=k.x)!==null&&P!==void 0?P:void 0,cy:(j=k.y)!==null&&j!==void 0?j:void 0,dataKey:o,value:k.value,payload:k.payload,points:t});return y.createElement(kV,{key:"dot-".concat(E),option:r,dotProps:_,className:i})}),S={};return u&&d!=null&&(S.clipPath="url(#clipPath-".concat(m?"":"dots-").concat(d,")")),y.createElement(fi,{zIndex:h},y.createElement(Ur,wf({className:n},S),b))}function WE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function HE(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),LV=H([$V,oi,li],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),P0=()=>Ee(LV),zV=()=>Ee(K9);function KE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fv(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,i=e.activeDot,o=e.dataKey,s=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var u={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},d=fv(fv(fv({},u),Ff(i)),ay(i)),f;return y.isValidElement(i)?f=y.cloneElement(i,d):typeof i=="function"?f=i(d):f=y.createElement(u_,d),y.createElement(Ur,{className:"recharts-active-dot",clipPath:s},f)};function VE(e){var t=e.points,r=e.mainColor,n=e.activeDot,i=e.itemDataKey,o=e.clipPath,s=e.zIndex,u=s===void 0?nr.activeDot:s,d=Ee(du),f=zV();if(t==null||f==null)return null;var h=t.find(m=>f.includes(m.payload));return Ut(h)?null:y.createElement(fi,{zIndex:u},y.createElement(WV,{point:h,childIndex:Number(d),mainColor:r,dataKey:i,activeDot:n,clipPath:o}))}var HV=e=>{var t=e.chartData,r=xt(),n=yr();return y.useEffect(()=>n?()=>{}:(r(pE(t)),()=>{r(pE(void 0))}),[t,r,n]),null},qE={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},y_=Jt({name:"brush",initialState:qE,reducers:{setBrushSettings(e,t){return t.payload==null?qE:t.payload}}});y_.actions.setBrushSettings;var KV=y_.reducer;function VV(e){return(e%180+180)%180}var qV=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=VV(i),s=o*Math.PI/180,u=Math.atan(n/r),d=s>u&&s{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=zr(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=zr(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=zr(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),$l=x_.actions;$l.addDot;$l.removeDot;$l.addArea;$l.removeArea;$l.addLine;$l.removeLine;var YV=x_.reducer;function QV(e,t){return eq(e)||JV(e,t)||ZV(e,t)||XV()}function XV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZV(e,t){if(e){if(typeof e=="string")return GE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?GE(e,t):void 0}}function GE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=y.useState("".concat(Zs("recharts"),"-clip")),n=QV(r,1),i=n[0],o=P0();if(o==null)return null;var s=o.x,u=o.y,d=o.width,f=o.height;return y.createElement(tq.Provider,{value:i},y.createElement("defs",null,y.createElement("clipPath",{id:i},y.createElement("rect",{x:s,y:u,height:f,width:d}))),t)};function b_(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;ne*i)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-i)<=0}function aq(e,t){return b_(e,t+1)}function oq(e,t,r,n,i){for(var o=(n||[]).slice(),s=t.start,u=t.end,d=0,f=1,h=s,m=function(){var S=n==null?void 0:n[d];if(S===void 0)return{v:b_(n,f)};var k=d,E,P=()=>(E===void 0&&(E=r(S,k)),E),j=S.coordinate,_=d===0||hu(e,j,P,h,u);_||(d=0,h=s,f+=1),_&&(h=j+e*(P()/2+i),d+=f)},v;f<=o.length;)if(v=m(),v)return v.v;return[]}function lq(e,t,r,n,i){var o=(n||[]).slice(),s=o.length;if(s===0)return[];for(var u=t.start,d=t.end,f=1;f<=s;f++){for(var h=(s-1)%f,m=u,v=!0,b=function(){var O=n[k];if(O==null)return 0;var N=k,C,R=()=>(C===void 0&&(C=r(O,N)),C),z=O.coordinate,F=k===h||hu(e,z,R,m,d);if(!F)return v=!1,1;F&&(m=z+e*(R()/2+i))},S,k=h;k(k===void 0&&(k=r(b,v)),k);if(v===s-1){var P=e*(S.coordinate+e*E()/2-d);o[v]=S=Xt(Xt({},S),{},{tickCoord:P>0?S.coordinate-P*e:S.coordinate})}else o[v]=S=Xt(Xt({},S),{},{tickCoord:S.coordinate});if(S.tickCoord!=null){var j=hu(e,S.tickCoord,E,u,d);j&&(d=S.tickCoord-e*(E()/2+i),o[v]=Xt(Xt({},S),{},{isShow:!0}))}},h=s-1;h>=0;h--)f(h);return o}function fq(e,t,r,n,i,o){var s=(n||[]).slice(),u=s.length,d=t.start,f=t.end;if(o){var h=n[u-1];if(h!=null){var m=r(h,u-1),v=e*(h.coordinate+e*m/2-f);if(s[u-1]=h=Xt(Xt({},h),{},{tickCoord:v>0?h.coordinate-v*e:h.coordinate}),h.tickCoord!=null){var b=hu(e,h.tickCoord,()=>m,d,f);b&&(f=h.tickCoord-e*(m/2+i),s[u-1]=Xt(Xt({},h),{},{isShow:!0}))}}}for(var S=o?u-1:u,k=function(j){var _=s[j];if(_==null)return 1;var O=_,N,C=()=>(N===void 0&&(N=r(_,j)),N);if(j===0){var R=e*(O.coordinate-e*C()/2-d);s[j]=O=Xt(Xt({},O),{},{tickCoord:R<0?O.coordinate-R*e:O.coordinate})}else s[j]=O=Xt(Xt({},O),{},{tickCoord:O.coordinate});if(O.tickCoord!=null){var z=hu(e,O.tickCoord,C,d,f);z&&(d=O.tickCoord+e*(C()/2+i),s[j]=Xt(Xt({},O),{},{isShow:!0}))}},E=0;E{var R=typeof f=="function"?f(N.value,C):N.value;return S==="width"?nq(Hs(R,{fontSize:t,letterSpacing:r}),k,m):Hs(R,{fontSize:t,letterSpacing:r})[S]},P=i[0],j=i[1],_=i.length>=2&&P!=null&&j!=null?Lr(j.coordinate-P.coordinate):1,O=iq(o,_,S);return d==="equidistantPreserveStart"?oq(_,O,E,i,s):d==="equidistantPreserveEnd"?lq(_,O,E,i,s):(d==="preserveStart"||d==="preserveStartEnd"?b=fq(_,O,E,i,s,d==="preserveStartEnd"):b=dq(_,O,E,i,s),b.filter(N=>N.isShow))}var hq=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,i=n,o=e.tickSize,s=o===void 0?0:o,u=e.tickMargin,d=u===void 0?0:u,f=0;if(t){Array.from(t).forEach(b=>{if(b){var S=b.getBoundingClientRect();S.width>f&&(f=S.width)}});var h=r?r.getBoundingClientRect().width:0,m=s+d,v=f+m+h+(r?i:0);return Math.round(v)}return 0},pq={xAxis:{},yAxis:{}},w_=Jt({name:"renderedTicks",initialState:pq,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId,o=r.ticks;e[n][i]=o},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId;delete e[n][i]}}}),k_=w_.actions,mq=k_.setRenderedTicks,vq=k_.removeRenderedTicks,gq=w_.reducer,yq=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function QE(e,t){return kq(e)||wq(e,t)||bq(e,t)||xq()}function xq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bq(e,t){if(e){if(typeof e=="string")return XE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?XE(e,t):void 0}}function XE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n==null||r==null)return Al;var o=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index}));return i(mq({ticks:o,axisId:n,axisType:r})),()=>{i(vq({axisId:n,axisType:r}))}},[i,t,n,r]),null}var Tq=y.forwardRef((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,i=e.tick,o=e.tickLine,s=e.stroke,u=e.tickFormatter,d=e.unit,f=e.padding,h=e.tickTextProps,m=e.orientation,v=e.mirror,b=e.x,S=e.y,k=e.width,E=e.height,P=e.tickSize,j=e.tickMargin,_=e.fontSize,O=e.letterSpacing,N=e.getTicksConfig,C=e.events,R=e.axisType,z=e.axisId,F=A0(ht(ht({},N),{},{ticks:n}),_,O),V=ln(N),Q=Ff(i),B=t_(V.textAnchor)?V.textAnchor:_q(m,v),ue=Nq(m,v),G={};typeof o=="object"&&(G=o);var le=ht(ht({},V),{},{fill:"none"},G),fe=F.map(ae=>ht({entry:ae},jq(ae,b,S,k,E,m,P,v,j))),de=fe.map(ae=>{var X=ae.entry,M=ae.line;return y.createElement(Ur,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(X.value,"-").concat(X.coordinate,"-").concat(X.tickCoord)},o&&y.createElement("line",Xa({},le,M,{className:Xe("recharts-cartesian-axis-tick-line",Ja(o,"className"))})))}),Y=fe.map((ae,X)=>{var M,T,Z=ae.entry,se=ae.tick,te=ht(ht(ht(ht({verticalAnchor:ue},V),{},{textAnchor:B,stroke:"none",fill:s},se),{},{index:X,payload:Z,visibleTicksCount:F.length,tickFormatter:u,padding:f},h),{},{angle:(M=(T=h==null?void 0:h.angle)!==null&&T!==void 0?T:V.angle)!==null&&M!==void 0?M:0}),ce=ht(ht({},te),Q);return y.createElement(Ur,Xa({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Z.value,"-").concat(Z.coordinate,"-").concat(Z.tickCoord)},L5(C,Z,X)),i&&y.createElement(Iq,{option:i,tickProps:ce,value:"".concat(typeof u=="function"?u(Z.value,X):Z.value).concat(d||"")}))});return y.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(R,"-ticks")},y.createElement(Mq,{ticks:F,axisId:z,axisType:R}),Y.length>0&&y.createElement(fi,{zIndex:nr.label},y.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(R,"-tick-labels"),ref:t},Y)),de.length>0&&y.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(R,"-tick-lines")},de))}),Dq=y.forwardRef((e,t)=>{var r=e.axisLine,n=e.width,i=e.height,o=e.className,s=e.hide,u=e.ticks,d=e.axisType,f=e.axisId,h=Sq(e,yq),m=y.useState(""),v=QE(m,2),b=v[0],S=v[1],k=y.useState(""),E=QE(k,2),P=E[0],j=E[1],_=y.useRef(null);y.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var N;return hq({ticks:_.current,label:(N=e.labelRef)===null||N===void 0?void 0:N.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var O=y.useCallback(N=>{if(N){var C=N.getElementsByClassName("recharts-cartesian-axis-tick-value");_.current=C;var R=C[0];if(R){var z=window.getComputedStyle(R),F=z.fontSize,V=z.letterSpacing;(F!==b||V!==P)&&(S(F),j(V))}}},[b,P]);return s||n!=null&&n<=0||i!=null&&i<=0?null:y.createElement(fi,{zIndex:e.zIndex},y.createElement(Ur,{className:Xe("recharts-cartesian-axis",o)},y.createElement(Cq,{x:e.x,y:e.y,width:n,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:ln(e)}),y.createElement(Tq,{ref:O,axisType:d,events:h,fontSize:b,getTicksConfig:e,height:e.height,letterSpacing:P,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:u,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:f}),y.createElement(aK,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},y.createElement(mK,{label:e.label,labelRef:e.labelRef}),e.children)))}),O0=y.forwardRef((e,t)=>{var r=Hr(e,ti);return y.createElement(Dq,Xa({},r,{ref:t}))});O0.displayName="CartesianAxis";var Rq=["x1","y1","x2","y2","key"],$q=["offset"],Lq=["xAxisId","yAxisId"],zq=["xAxisId","yAxisId"];function JE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zt(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,i=e.y,o=e.width,s=e.height,u=e.ry;return y.createElement("rect",{x:n,y:i,ry:u,width:o,height:s,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function S_(e){var t=e.option,r=e.lineItemProps,n;if(y.isValidElement(t))n=y.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var i,o=r.x1,s=r.y1,u=r.x2,d=r.y2,f=r.key,h=kf(r,Rq),m=(i=ln(h))!==null&&i!==void 0?i:{};m.offset;var v=kf(m,$q);n=y.createElement("line",ja({},v,{x1:o,y1:s,x2:u,y2:d,fill:"none",key:f}))}return n}function Kq(e){var t=e.x,r=e.width,n=e.horizontal,i=n===void 0?!0:n,o=e.horizontalPoints;if(!i||!o||!o.length)return null;e.xAxisId,e.yAxisId;var s=kf(e,Lq),u=o.map((d,f)=>{var h=Zt(Zt({},s),{},{x1:t,y1:d,x2:t+r,y2:d,key:"line-".concat(f),index:f});return y.createElement(S_,{key:"line-".concat(f),option:i,lineItemProps:h})});return y.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Vq(e){var t=e.y,r=e.height,n=e.vertical,i=n===void 0?!0:n,o=e.verticalPoints;if(!i||!o||!o.length)return null;e.xAxisId,e.yAxisId;var s=kf(e,zq),u=o.map((d,f)=>{var h=Zt(Zt({},s),{},{x1:d,y1:t,x2:d,y2:t+r,key:"line-".concat(f),index:f});return y.createElement(S_,{option:i,lineItemProps:h,key:"line-".concat(f)})});return y.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function qq(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,i=e.y,o=e.width,s=e.height,u=e.horizontalPoints,d=e.horizontal,f=d===void 0?!0:d;if(!f||!t||!t.length||u==null)return null;var h=u.map(v=>Math.round(v+i-i)).sort((v,b)=>v-b);i!==h[0]&&h.unshift(0);var m=h.map((v,b)=>{var S=h[b+1],k=S==null,E=k?i+s-v:S-v;if(E<=0)return null;var P=b%t.length;return y.createElement("rect",{key:"react-".concat(b),y:v,x:n,height:E,width:o,stroke:"none",fill:t[P],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return y.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},m)}function Gq(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,i=e.fillOpacity,o=e.x,s=e.y,u=e.width,d=e.height,f=e.verticalPoints;if(!r||!n||!n.length)return null;var h=f.map(v=>Math.round(v+o-o)).sort((v,b)=>v-b);o!==h[0]&&h.unshift(0);var m=h.map((v,b)=>{var S=h[b+1],k=S==null,E=k?o+u-v:S-v;if(E<=0)return null;var P=b%n.length;return y.createElement("rect",{key:"react-".concat(b),x:v,y:s,width:E,height:d,stroke:"none",fill:n[P],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return y.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},m)}var Yq=(e,t)=>{var r=e.xAxis,n=e.width,i=e.height,o=e.offset;return nO(A0(Zt(Zt(Zt({},ti),r),{},{ticks:iO(r),viewBox:{x:0,y:0,width:n,height:i}})),o.left,o.left+o.width,t)},Qq=(e,t)=>{var r=e.yAxis,n=e.width,i=e.height,o=e.offset;return nO(A0(Zt(Zt(Zt({},ti),r),{},{ticks:iO(r),viewBox:{x:0,y:0,width:n,height:i}})),o.top,o.top+o.height,t)},Xq={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:nr.grid};function E_(e){var t=fO(),r=hO(),n=dO(),i=Zt(Zt({},Hr(e,Xq)),{},{x:be(e.x)?e.x:n.left,y:be(e.y)?e.y:n.top,width:be(e.width)?e.width:n.width,height:be(e.height)?e.height:n.height}),o=i.xAxisId,s=i.yAxisId,u=i.x,d=i.y,f=i.width,h=i.height,m=i.syncWithTicks,v=i.horizontalValues,b=i.verticalValues,S=yr(),k=Ee(F=>tE(F,"xAxis",o,S)),E=Ee(F=>tE(F,"yAxis",s,S));if(!_n(f)||!_n(h)||!be(u)||!be(d))return null;var P=i.verticalCoordinatesGenerator||Yq,j=i.horizontalCoordinatesGenerator||Qq,_=i.horizontalPoints,O=i.verticalPoints;if((!_||!_.length)&&typeof j=="function"){var N=v&&v.length,C=j({yAxis:E?Zt(Zt({},E),{},{ticks:N?v:E.ticks}):void 0,width:t??f,height:r??h,offset:n},N?!0:m);qd(Array.isArray(C),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof C,"]")),Array.isArray(C)&&(_=C)}if((!O||!O.length)&&typeof P=="function"){var R=b&&b.length,z=P({xAxis:k?Zt(Zt({},k),{},{ticks:R?b:k.ticks}):void 0,width:t??f,height:r??h,offset:n},R?!0:m);qd(Array.isArray(z),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof z,"]")),Array.isArray(z)&&(O=z)}return y.createElement(fi,{zIndex:i.zIndex},y.createElement("g",{className:"recharts-cartesian-grid"},y.createElement(Hq,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),y.createElement(qq,ja({},i,{horizontalPoints:_})),y.createElement(Gq,ja({},i,{verticalPoints:O})),y.createElement(Kq,ja({},i,{offset:n,horizontalPoints:_,xAxis:k,yAxis:E})),y.createElement(Vq,ja({},i,{offset:n,verticalPoints:O,xAxis:k,yAxis:E}))))}E_.displayName="CartesianGrid";var Zq={},P_=Jt({name:"errorBars",initialState:Zq,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]||(e[n]=[]),e[n].push(i)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.prev,o=r.next;e[n]&&(e[n]=e[n].map(s=>s.dataKey===i.dataKey&&s.direction===i.direction?o:s))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==i.dataKey||o.direction!==i.direction))}}}),C0=P_.actions;C0.addErrorBar;C0.replaceErrorBar;C0.removeErrorBar;var Jq=P_.reducer;function A_(e,t){var r,n,i=Ee(f=>ui(f,e)),o=Ee(f=>ci(f,t)),s=(r=i==null?void 0:i.allowDataOverflow)!==null&&r!==void 0?r:kt.allowDataOverflow,u=(n=o==null?void 0:o.allowDataOverflow)!==null&&n!==void 0?n:St.allowDataOverflow,d=s||u;return{needClip:d,needClipX:s,needClipY:u}}function eG(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,i=P0(),o=A_(t,r),s=o.needClipX,u=o.needClipY,d=o.needClip,f=Ee(_=>cj(_,t,!1)),h=Ee(_=>dj(_,r,!1));if(!d||!i)return null;var m=i.x,v=i.y,b=i.width,S=i.height,k=s&&f?Math.min(f[0],f[1]):m-b/2,E=u&&h?Math.min(h[0],h[1]):v-S/2,P=s&&f?Math.abs(f[1]-f[0]):b*2,j=u&&h?Math.abs(h[1]-h[0]):S*2;return y.createElement("clipPath",{id:"clipPath-".concat(n)},y.createElement("rect",{x:k,y:E,width:P,height:j}))}function tG(e){var t=Ff(e),r=3,n=2;if(t!=null){var i=t.r,o=t.strokeWidth,s=Number(i),u=Number(o);return(Number.isNaN(s)||s<0)&&(s=r),(Number.isNaN(u)||u<0)&&(u=n),{r:s,strokeWidth:u}}return{r,strokeWidth:n}}function j0(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:v_}function _0(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:v_}var O_=(e,t,r)=>xj(e,"xAxis",j0(e,t),r),C_=(e,t,r)=>yj(e,"xAxis",j0(e,t),r),j_=(e,t,r)=>xj(e,"yAxis",_0(e,t),r),__=(e,t,r)=>yj(e,"yAxis",_0(e,t),r),rG=H([ot,O_,j_,C_,__],(e,t,r,n,i)=>Tn(e,"xAxis")?Vd(t,n,!1):Vd(r,i,!1)),nG=(e,t)=>t,N_=H([LC,nG],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),I_=e=>{var t=ot(e),r=Tn(t,"xAxis");return r?"yAxis":"xAxis"},iG=(e,t)=>{var r=I_(e);return r==="yAxis"?_0(e,t):j0(e,t)},aG=(e,t,r)=>GC(e,I_(e),iG(e,t),r),oG=H([N_,aG],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,i=_y(e);if(!(n==null||i==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,s=o==null?void 0:o.find(u=>u.key===i);if(s!=null)return s.map(u=>[u[0],u[1]])}}}),lG=H([ot,O_,j_,C_,__,oG,N6,rG,N_,G6],(e,t,r,n,i,o,s,u,d,f)=>{var h=s.chartData,m=s.dataStartIndex,v=s.dataEndIndex;if(!(d==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||i==null||n.length===0||i.length===0||u==null)){var b=d.data,S;if(b&&b.length>0?S=b:S=h==null?void 0:h.slice(m,v+1),S!=null)return MG({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataStartIndex:m,areaSettings:d,stackedData:o,displayedData:S,chartBaseValue:f,bandSize:u})}}),sG=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],uG=["id","baseLine"];function Ks(){return Ks=Object.assign?Object.assign.bind():function(e){for(var t=1;tm.y||0));return be(i)?h=Math.max(i,h):i&&Array.isArray(i)&&i.length&&(h=Math.max(...i.map(m=>m.y||0),h)),be(h)?y.createElement("rect",{x:um.x||0));return be(i)?h=Math.max(i,h):i&&Array.isArray(i)&&i.length&&(h=Math.max(...i.map(m=>m.x||0),h)),be(h)?y.createElement("rect",{x:0,y:ue==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[kl(kl({},r.next),{},{x:Qn(r.prev.x,r.next.x,t),y:Qn(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),T_={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:S0,animationInterpolateFn:wG,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:pG,xAxisId:0,yAxisId:0,zIndex:nr.area};function Ef(e,t){return e&&e!=="none"?e:t}var kG=e=>{var t=e.dataKey,r=e.name,n=e.stroke,i=e.fill,o=e.legendType,s=e.hide;return[{inactive:s,dataKey:t,type:o,color:Ef(n,i),value:aO(r,t),payload:e}]},SG=y.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,i=e.strokeWidth,o=e.fill,s=e.name,u=e.hide,d=e.unit,f=e.tooltipType,h=e.id,m={dataDefinedOnItem:r,getPosition:Al,settings:{stroke:n,strokeWidth:i,fill:o,dataKey:t,nameKey:void 0,name:aO(s,t),hide:u,type:f,color:Ef(n,o),unit:d,graphicalItemId:h}};return y.createElement(DK,{tooltipEntrySettings:m})});function EG(e){var t=e.clipPathId,r=e.points,n=e.props,i=n.needClip,o=n.dot,s=n.dataKey,u=ln(n);return y.createElement(EV,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:s,baseProps:u,needClip:i,clipPathId:t})}function PG(e){var t=e.showLabels,r=e.children,n=e.points,i=n.map(o=>{var s,u,d={x:(s=o.x)!==null&&s!==void 0?s:0,y:(u=o.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return kl(kl({},d),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return y.createElement(bK,{value:t?i:void 0},r)}function AG(e){var t=e.points,r=e.baseLine,n=e.needClip,i=e.clipPathId,o=e.props,s=e.animationElapsedTime,u=e.isAnimating,d=e.isEntrance,f=o.layout,h=o.type,m=o.stroke,v=o.connectNulls,b=o.isRange,S=o.shape,k=o.id,E=M_(o,mG),P=Br(E),j=kl(kl({},P),{},{id:k,points:t,connectNulls:v,type:h,baseLine:r,layout:f,stroke:m,isRange:b,animationElapsedTime:s,isAnimating:u,isEntrance:d});return y.createElement(y.Fragment,null,(t==null?void 0:t.length)>1&&y.createElement(Ur,{clipPath:n?"url(#clipPath-".concat(i,")"):void 0},y.createElement(TK,{option:S,DefaultShape:T_.shape,shapeProps:j})),y.createElement(EG,{points:t,props:E,clipPathId:i}))}function OG(e,t,r){if(be(e)){var n=be(t)?t:void 0;return Qn(n,e,r)}if(Ut(e)||Cn(e)){var i=be(t)?t:void 0;return Qn(i,0,r)}return e}function CG(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=e.previousPointsRef,o=e.previousBaselineRef,s=n.points,u=n.baseLine,d=n.isAnimationActive,f=n.animationBegin,h=n.animationDuration,m=n.animationEasing,v=n.animationMatchBy,b=n.animationInterpolateFn,S=y.useMemo(()=>({points:s,baseLine:u}),[s,u]),k=h_(S,o),E=vy(),P=ZK(n.onAnimationStart,n.onAnimationEnd),j=P.isAnimating,_=P.handleAnimationStart,O=P.handleAnimationEnd,N=k.startValue;if(E==null)return null;var C;return Array.isArray(u)&&Array.isArray(N)?C=Og(N,u,v):Array.isArray(u)?C=Og(null,u,v):C=null,y.createElement(JK,{animationInput:S,animationIdPrefix:"recharts-area-",items:s,previousItemsRef:i,isAnimationActive:d,animationBegin:f,animationDuration:h,animationEasing:m,onAnimationStart:_,onAnimationEnd:O,animationInterpolateFn:b,animationMatchBy:v,layout:E},(R,z,F)=>{var V;return z===1?V=u:Array.isArray(u)?V=b(C,z,E):V=F?u:OG(u,N,z),k.syncStepValue(V,z),y.createElement(PG,{showLabels:!j,points:s},n.children,y.createElement(AG,{points:R,baseLine:V,needClip:t,clipPathId:r,props:n,animationElapsedTime:z,isAnimating:j||z<1,isEntrance:F}),y.createElement(SK,{label:n.label}))})}function jG(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=y.useRef(null),o=y.useRef();return y.createElement(CG,{needClip:t,clipPathId:r,props:n,previousPointsRef:i,previousBaselineRef:o})}class _G extends y.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,i=t.points,o=t.className,s=t.top,u=t.left,d=t.needClip,f=t.xAxisId,h=t.yAxisId,m=t.width,v=t.height,b=t.id,S=t.baseLine,k=t.zIndex;if(r)return null;var E=Xe("recharts-area",o),P=b,j=tG(n),_=j.r,O=j.strokeWidth,N=d_(n),C=_*2+O,R=d?"url(#clipPath-".concat(N?"":"dots-").concat(P,")"):void 0;return y.createElement(fi,{zIndex:k},y.createElement(Ur,{className:E},d&&y.createElement("defs",null,y.createElement(eG,{clipPathId:P,xAxisId:f,yAxisId:h}),!N&&y.createElement("clipPath",{id:"clipPath-dots-".concat(P)},y.createElement("rect",{x:u-C/2,y:s-C/2,width:m+C,height:v+C}))),y.createElement(jG,{needClip:d,clipPathId:P,props:this.props})),y.createElement(VE,{points:i,mainColor:Ef(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:R}),this.props.isRange&&Array.isArray(S)&&y.createElement(VE,{points:S,mainColor:Ef(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:R}))}}function NG(e){var t,r=e.activeDot,n=e.animationBegin,i=e.animationDuration,o=e.animationEasing,s=e.connectNulls,u=e.dot,d=e.fill,f=e.fillOpacity,h=e.hide,m=e.isAnimationActive,v=e.legendType,b=e.stroke,S=e.xAxisId,k=e.yAxisId,E=M_(e,vG),P=Ol(),j=Uj(),_=A_(S,k),O=_.needClip,N=yr(),C=(t=Ee(le=>lG(le,e.id,N)))!==null&&t!==void 0?t:{},R=C.points,z=C.isRange,F=C.baseLine,V=P0();if(P!=="horizontal"&&P!=="vertical"||V==null||j!=="AreaChart"&&j!=="ComposedChart")return null;var Q=V.height,B=V.width,ue=V.x,G=V.y;return!R||!R.length?null:y.createElement(_G,Sf({},E,{activeDot:r,animationBegin:n,animationDuration:i,animationEasing:o,baseLine:F,connectNulls:s,dot:u,fill:d,fillOpacity:f,height:Q,hide:h,layout:P,isAnimationActive:m,isRange:z,legendType:v,needClip:O,points:R,stroke:b,width:B,left:ue,top:G,xAxisId:S,yAxisId:k}))}var IG=(e,t,r,n,i)=>{var o=r??t;if(be(o))return o;var s=e==="horizontal"?i:n,u=s.scale.domain();if(s.type==="number"){var d=Math.max(u[0],u[1]),f=Math.min(u[0],u[1]);return o==="dataMin"?f:o==="dataMax"||d<0?d:Math.max(Math.min(u[0],u[1]),0)}return o==="dataMin"?u[0]:o==="dataMax"?u[1]:u[0]};function MG(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,i=t.dataKey,o=e.stackedData,s=e.layout,u=e.chartBaseValue,d=e.xAxis,f=e.yAxis,h=e.displayedData,m=e.dataStartIndex,v=e.xAxisTicks,b=e.yAxisTicks,S=e.bandSize,k=o&&o.length,E=IG(s,u,n,d,f),P=s==="horizontal",j=!1,_=h.map((N,C)=>{var R,z,F,V;if(k)V=o[m+C];else{var Q=Nt(N,i);Array.isArray(Q)?(V=Q,j=!0):V=[E,Q]}var B=(R=(z=V)===null||z===void 0?void 0:z[1])!==null&&R!==void 0?R:null,ue=B==null||k&&!r&&Nt(N,i)==null;if(P){var G;return{x:Qw({axis:d,ticks:v,bandSize:S,entry:N,index:C}),y:ue?null:(G=f.scale.map(B))!==null&&G!==void 0?G:null,value:V,payload:N}}return{x:ue?null:(F=d.scale.map(B))!==null&&F!==void 0?F:null,y:Qw({axis:f,ticks:b,bandSize:S,entry:N,index:C}),value:V,payload:N}}),O;return k||j?O=_.map(N=>{var C,R=Array.isArray(N.value)?N.value[0]:null;if(P){var z;return{x:N.x,y:R!=null&&N.y!=null&&(z=f.scale.map(R))!==null&&z!==void 0?z:null,payload:N.payload}}return{x:R!=null&&(C=d.scale.map(R))!==null&&C!==void 0?C:null,y:N.y,payload:N.payload}}):O=P?f.scale.map(E):d.scale.map(E),{points:_,baseLine:O??0,isRange:j}}function TG(e){var t=Hr(e,T_),r=yr();return y.createElement(sV,{id:t.id,type:"area"},n=>y.createElement(y.Fragment,null,y.createElement(RK,{legendPayload:kG(t)}),y.createElement(SG,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),y.createElement(mV,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:gL(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),y.createElement(NG,Sf({},t,{id:n}))))}var D_=y.memo(TG,sh);D_.displayName="Area";var DG=["domain","range"],RG=["domain","range"];function rP(e,t){if(e==null)return{};var r,n,i=$G(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(s!=null)return aP(aP({},o),{},{type:s})},[o,s]);return y.useLayoutEffect(()=>{u!=null&&(r.current===null?t(jV(u)):r.current!==u&&t(_V({prev:r.current,next:u})),r.current=u)},[u,t]),y.useLayoutEffect(()=>()=>{r.current&&(t(NV(r.current)),r.current=null)},[t]),null}var VG=e=>{var t=e.xAxisId,r=e.className,n=Ee(lO),i=yr(),o="xAxis",s=Ee(v=>gj(v,o,t,i)),u=Ee(v=>A7(v,t)),d=Ee(v=>I7(v,t)),f=Ee(v=>TC(v,t));if(u==null||d==null||f==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var h=jg(e,zG);f.id,f.scale;var m=jg(f,FG);return y.createElement(O0,Cg({},h,m,{x:d.x,y:d.y,width:u.width,height:u.height,className:Xe("recharts-".concat(o," ").concat(o),r),viewBox:n,ticks:s,axisType:o,axisId:t}))},qG={allowDataOverflow:kt.allowDataOverflow,allowDecimals:kt.allowDecimals,allowDuplicatedCategory:kt.allowDuplicatedCategory,angle:kt.angle,axisLine:ti.axisLine,height:kt.height,hide:!1,includeHidden:kt.includeHidden,interval:kt.interval,label:!1,minTickGap:kt.minTickGap,mirror:kt.mirror,orientation:kt.orientation,padding:kt.padding,reversed:kt.reversed,scale:kt.scale,tick:kt.tick,tickCount:kt.tickCount,tickLine:ti.tickLine,tickSize:ti.tickSize,type:kt.type,niceTicks:kt.niceTicks,xAxisId:0},GG=e=>{var t=Hr(e,qG);return y.createElement(y.Fragment,null,y.createElement(KG,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),y.createElement(VG,t))},_g=y.memo(GG,R_);_g.displayName="XAxis";var YG=["type"],QG=["dangerouslySetInnerHTML","ticks","scale"],XG=["id","scale"];function Ng(){return Ng=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(s!=null)return lP(lP({},o),{},{type:s})},[s,o]);return y.useLayoutEffect(()=>{u!=null&&(r.current===null?t(IV(u)):r.current!==u&&t(MV({prev:r.current,next:u})),r.current=u)},[u,t]),y.useLayoutEffect(()=>()=>{r.current&&(t(TV(r.current)),r.current=null)},[t]),null}function nY(e){var t=e.yAxisId,r=e.className,n=e.width,i=e.label,o=y.useRef(null),s=y.useRef(null),u=Ee(lO),d=yr(),f=xt(),h="yAxis",m=Ee(P=>D7(P,t)),v=Ee(P=>T7(P,t)),b=Ee(P=>gj(P,h,t,d)),S=Ee(P=>DC(P,t));if(y.useLayoutEffect(()=>{if(!(n!=="auto"||!m||k0(i)||y.isValidElement(i)||S==null)){var P=o.current;if(P){var j=P.getCalculatedWidth();Math.round(m.width)!==Math.round(j)&&f(DV({id:t,width:j}))}}},[b,m,f,i,t,n,S]),m==null||v==null||S==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var k=Ig(e,QG);S.id,S.scale;var E=Ig(S,XG);return y.createElement(O0,Ng({},k,E,{ref:o,labelRef:s,x:v.x,y:v.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:m.width,height:m.height,className:Xe("recharts-".concat(h," ").concat(h),r),viewBox:u,ticks:b,axisType:h,axisId:t}))}var iY={allowDataOverflow:St.allowDataOverflow,allowDecimals:St.allowDecimals,allowDuplicatedCategory:St.allowDuplicatedCategory,angle:St.angle,axisLine:ti.axisLine,hide:!1,includeHidden:St.includeHidden,interval:St.interval,label:!1,minTickGap:St.minTickGap,mirror:St.mirror,orientation:St.orientation,padding:St.padding,reversed:St.reversed,scale:St.scale,tick:St.tick,tickCount:St.tickCount,tickLine:ti.tickLine,tickSize:ti.tickSize,type:St.type,niceTicks:St.niceTicks,width:St.width,yAxisId:0},aY=e=>{var t=Hr(e,iY);return y.createElement(y.Fragment,null,y.createElement(rY,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),y.createElement(nY,t))},$_=y.memo(aY,R_);$_.displayName="YAxis";var oY=(e,t)=>t,N0=H([oY,ot,YO,Mt,Rj,di,nW,Kt],cW);function lY(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function I0(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(lY(e)){var i=e.currentTarget.getBBox();r=i.width>0?t.width/i.width:1,n=i.height>0?t.height/i.height:1}else{var o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var s=(u,d)=>({relativeX:Math.round((u-t.left)/r),relativeY:Math.round((d-t.top)/n)});return"touches"in e?Array.from(e.touches).map(u=>s(u.clientX,u.clientY)):s(e.clientX,e.clientY)}var L_=Cr("mouseClick"),z_=Pu();z_.startListening({actionCreator:L_,effect:(e,t)=>{var r=e.payload,n=N0(t.getState(),I0(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(Q7({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var Mg=Cr("mouseMove"),F_=Pu(),zo=null,ya=null,hv=null;F_.startListening({actionCreator:Mg,effect:(e,t)=>{var r=e.payload,n=t.getState(),i=n.eventSettings,o=i.throttleDelay,s=i.throttledEvents,u=s==="all"||(s==null?void 0:s.includes("mousemove"));zo!==null&&(cancelAnimationFrame(zo),zo=null),ya!==null&&(typeof o!="number"||!u)&&(clearTimeout(ya),ya=null),hv=I0(r);var d=()=>{var f=t.getState(),h=Lu(f,f.tooltip.settings.shared);if(!hv){zo=null,ya=null;return}if(h==="axis"){var m=N0(f,hv);(m==null?void 0:m.activeIndex)!=null?t.dispatch(Aj({activeIndex:m.activeIndex,activeDataKey:void 0,activeCoordinate:m.activeCoordinate})):t.dispatch(Pj())}zo=null,ya=null};if(!u){d();return}o==="raf"?zo=requestAnimationFrame(d):typeof o=="number"&&ya===null&&(ya=setTimeout(d,o))}});function sY(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var sP={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},B_=Jt({name:"rootProps",initialState:sP,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:sP.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),uY=B_.reducer,cY=B_.actions.updateOptions,dY=null,fY={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},U_=Jt({name:"polarOptions",initialState:dY,reducers:fY});U_.actions.updatePolarOptions;var hY=U_.reducer,W_=Cr("keyDown"),H_=Cr("focus"),K_=Cr("blur"),Ch=Pu(),Fo=null,xa=null,yd=null;Ch.startListening({actionCreator:W_,effect:(e,t)=>{yd=e.payload,Fo!==null&&(cancelAnimationFrame(Fo),Fo=null);var r=t.getState(),n=r.eventSettings,i=n.throttleDelay,o=n.throttledEvents,s=o==="all"||o.includes("keydown");xa!==null&&(typeof i!="number"||!s)&&(clearTimeout(xa),xa=null);var u=()=>{try{var d=t.getState(),f=d.rootProps.accessibilityLayer!==!1;if(!f)return;var h=d.tooltip.keyboardInteraction,m=yd;if(m!=="ArrowRight"&&m!=="ArrowLeft"&&m!=="Enter")return;var v=Ws(h,Qa(d),bl(d),wl(d)),b=v==null?-1:Number(v),S=!Number.isFinite(b)||b<0,k=di(d),E=Qa(d),P=Lu(d,d.tooltip.settings.shared);if(m==="Enter"){if(S)return;var j=yf(d,P,"hover",String(h.index));t.dispatch(gf({active:!h.active,activeIndex:h.index,activeCoordinate:j}));return}var _=F7(d),O=_==="left-to-right"?1:-1,N=m==="ArrowRight"?1:-1,C;if(S){var R=bl(d),z=wl(d),F=N*O,V=le=>({active:!1,index:String(le),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(C=-1,F>0){for(var Q=0;Q=0;B--)if(Ws(V(B),E,R,z)!=null){C=B;break}if(C<0)return}else{C=b+N*O;var ue=(k==null?void 0:k.length)||E.length;if(ue===0||C>=ue||C<0)return}var G=yf(d,P,"hover",String(C));t.dispatch(gf({active:!0,activeIndex:C.toString(),activeCoordinate:G}))}finally{Fo=null,xa=null}};if(!s){u();return}i==="raf"?Fo=requestAnimationFrame(u):typeof i=="number"&&xa===null&&(u(),yd=null,xa=setTimeout(()=>{yd?u():(xa=null,Fo=null)},i))}});Ch.startListening({actionCreator:H_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;if(!i.active&&i.index==null){var o="0",s=Lu(r,r.tooltip.settings.shared),u=yf(r,s,"hover",String(o));t.dispatch(gf({active:!0,activeIndex:o,activeCoordinate:u}))}}}});Ch.startListening({actionCreator:K_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;i.active&&t.dispatch(gf({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function V_(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var i=Reflect.get(r,n);return typeof i=="function"?i.bind(r):i}})}var Rr=Cr("externalEvent"),q_=Pu(),xd=new Map,$s=new Map,pv=new Map;q_.startListening({actionCreator:Rr,effect:(e,t)=>{var r=e.payload,n=r.handler,i=r.reactEvent;if(n!=null){var o=i.type,s=V_(i);pv.set(o,{handler:n,reactEvent:s});var u=xd.get(o);u!==void 0&&(cancelAnimationFrame(u),xd.delete(o));var d=t.getState(),f=d.eventSettings,h=f.throttleDelay,m=f.throttledEvents,v=m,b=v==="all"||(v==null?void 0:v.includes(o)),S=$s.get(o);S!==void 0&&(typeof h!="number"||!b)&&(clearTimeout(S),$s.delete(o));var k=()=>{var j=pv.get(o);try{if(!j)return;var _=j.handler,O=j.reactEvent,N=t.getState(),C={activeCoordinate:U9(N),activeDataKey:z9(N),activeIndex:du(N),activeLabel:zj(N),activeTooltipIndex:du(N),isTooltipActive:W9(N)};_&&_(C,O)}finally{xd.delete(o),$s.delete(o),pv.delete(o)}};if(!b){k();return}if(h==="raf"){var E=requestAnimationFrame(k);xd.set(o,E)}else if(typeof h=="number"){if(!$s.has(o)){k();var P=setTimeout(k,h);$s.set(o,P)}}else k()}}});var pY=H([Dl],e=>e.tooltipItemPayloads),mY=H([pY,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var i=n.getPosition;if(i!=null)return i(t)}}}),G_=Cr("touchMove"),Y_=Pu(),ba=null,Di=null,uP=null,Ls=null;Y_.startListening({actionCreator:G_,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){Ls=V_(r);var n=t.getState(),i=n.eventSettings,o=i.throttleDelay,s=i.throttledEvents,u=s==="all"||s.includes("touchmove");ba!==null&&(cancelAnimationFrame(ba),ba=null),Di!==null&&(typeof o!="number"||!u)&&(clearTimeout(Di),Di=null),uP=Array.from(r.touches).map(f=>I0({clientX:f.clientX,clientY:f.clientY,currentTarget:r.currentTarget}));var d=()=>{if(Ls!=null){var f=t.getState(),h=Lu(f,f.tooltip.settings.shared);if(h==="axis"){var m,v=(m=uP)===null||m===void 0?void 0:m[0];if(v==null){ba=null,Di=null;return}var b=N0(f,v);(b==null?void 0:b.activeIndex)!=null&&t.dispatch(Aj({activeIndex:b.activeIndex,activeDataKey:void 0,activeCoordinate:b.activeCoordinate}))}else if(h==="item"){var S,k=Ls.touches[0];if(document.elementFromPoint==null||k==null)return;var E=document.elementFromPoint(k.clientX,k.clientY);if(!E||!E.getAttribute)return;var P=E.getAttribute(EL),j=(S=E.getAttribute(PL))!==null&&S!==void 0?S:void 0,_=ro(f).find(C=>C.id===j);if(P==null||_==null||j==null)return;var O=_.dataKey,N=mY(f,P,j);t.dispatch(Y7({activeDataKey:O,activeIndex:P,activeCoordinate:N,activeGraphicalItemId:j}))}ba=null,Di=null}};if(!u){d();return}o==="raf"?ba=requestAnimationFrame(d):typeof o=="number"&&Di===null&&(d(),Ls=null,Di=setTimeout(()=>{Ls?d():(Di=null,ba=null)},o))}}});var Q_={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},X_=Jt({name:"eventSettings",initialState:Q_,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),vY=X_.actions.setEventSettings,gY=X_.reducer,yY=C2({brush:KV,cartesianAxis:RV,chartData:BW,errorBars:Jq,eventSettings:gY,graphicalItems:hV,layout:sL,legend:kz,options:RW,polarAxis:PK,polarOptions:hY,referenceElements:YV,renderedTicks:gq,rootProps:uY,tooltip:X7,zIndex:SW}),xY=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return M$({reducer:yY,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([z_.middleware,F_.middleware,Ch.middleware,q_.middleware,Y_.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat(W2({type:"raf"}))},devTools:{serialize:{replacer:sY},name:"recharts-".concat(r)}})};function bY(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,i=yr(),o=y.useRef(null);if(i)return r;o.current==null&&(o.current=xY(t,n));var s=ly;return y.createElement(Lz,{context:s,store:o.current},r)}function wY(e){var t=e.layout,r=e.margin,n=xt(),i=yr();return y.useEffect(()=>{i||(n(aL(t)),n(iL(r)))},[n,i,t,r]),null}var kY=y.memo(wY,sh);function SY(e){var t=xt();return y.useEffect(()=>{t(cY(e))},[t,e]),null}var EY=e=>{var t=xt();return y.useEffect(()=>{t(vY(e))},[t,e]),null},PY=y.memo(EY,sh);function cP(e){var t=e.zIndex,r=e.isPanorama,n=y.useRef(null),i=xt();return y.useLayoutEffect(()=>(n.current&&i(wW({zIndex:t,element:n.current,isPanorama:r})),()=>{i(kW({zIndex:t,isPanorama:r}))}),[i,t,r]),y.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function dP(e){var t=e.children,r=e.isPanorama,n=Ee(fW);if(!n||n.length===0)return t;var i=n.filter(s=>s<0),o=n.filter(s=>s>0);return y.createElement(y.Fragment,null,i.map(s=>y.createElement(cP,{key:s,zIndex:s,isPanorama:r})),t,o.map(s=>y.createElement(cP,{key:s,zIndex:s,isPanorama:r})))}var AY=["children"];function OY(e,t){if(e==null)return{};var r,n,i=CY(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=fO(),n=hO(),i=SO();if(!_n(r)||!_n(n))return null;var o=e.children,s=e.otherAttributes,u=e.title,d=e.desc,f,h;return s!=null&&(typeof s.tabIndex=="number"?f=s.tabIndex:f=i?0:void 0,typeof s.role=="string"?h=s.role:h=i?"application":void 0),y.createElement(VA,Pf({},s,{title:u,desc:d,role:h,tabIndex:f,width:r,height:n,style:jY,ref:t}),o)}),NY=e=>{var t=e.children,r=Ee(nh);if(!r)return null;var n=r.width,i=r.height,o=r.y,s=r.x;return y.createElement(VA,{width:n,height:i,x:s,y:o},t)},fP=y.forwardRef((e,t)=>{var r=e.children,n=OY(e,AY),i=yr();return i?y.createElement(NY,null,y.createElement(dP,{isPanorama:!0},r)):y.createElement(_Y,Pf({ref:t},n),y.createElement(dP,{isPanorama:!1},r))});function IY(e,t){return RY(e)||DY(e,t)||TY(e,t)||MY()}function MY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TY(e,t){if(e){if(typeof e=="string")return hP(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hP(e,t):void 0}}function hP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var s=n.getBoundingClientRect(),u=s.width/n.offsetWidth;Fe(u)&&u!==o&&e(lL(u))}},[n,e,o]),i}function pP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function LY(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(QW(),null);function Of(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var qY=y.forwardRef((e,t)=>{var r,n,i=y.useRef(null),o=y.useState({containerWidth:Of((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:Of((n=e.style)===null||n===void 0?void 0:n.height)}),s=Af(o,2),u=s[0],d=s[1],f=y.useCallback((m,v)=>{d(b=>{var S=Math.round(m),k=Math.round(v);return b.containerWidth===S&&b.containerHeight===k?b:{containerWidth:S,containerHeight:k}})},[]),h=y.useCallback(m=>{if(typeof t=="function"&&t(m),i.current!=null&&(i.current.disconnect(),i.current=null),m!=null&&typeof ResizeObserver<"u"){var v=m.getBoundingClientRect(),b=v.width,S=v.height;f(b,S);var k=P=>{var j=P[0];if(j!=null){var _=j.contentRect,O=_.width,N=_.height;f(O,N)}},E=new ResizeObserver(k);E.observe(m),i.current=E}},[t,f]);return y.useEffect(()=>()=>{var m=i.current;m!=null&&m.disconnect()},[f]),y.createElement(y.Fragment,null,y.createElement(Ou,{width:u.containerWidth,height:u.containerHeight}),y.createElement("div",Ji({ref:h},e)))}),GY=y.forwardRef((e,t)=>{var r=e.width,n=e.height,i=y.useState({containerWidth:Of(r),containerHeight:Of(n)}),o=Af(i,2),s=o[0],u=o[1],d=y.useCallback((h,m)=>{u(v=>{var b=Math.round(h),S=Math.round(m);return v.containerWidth===b&&v.containerHeight===S?v:{containerWidth:b,containerHeight:S}})},[]),f=y.useCallback(h=>{if(typeof t=="function"&&t(h),h!=null){var m=h.getBoundingClientRect(),v=m.width,b=m.height;d(v,b)}},[t,d]);return y.createElement(y.Fragment,null,y.createElement(Ou,{width:s.containerWidth,height:s.containerHeight}),y.createElement("div",Ji({ref:f},e)))}),YY=y.forwardRef((e,t)=>{var r=e.width,n=e.height;return y.createElement(y.Fragment,null,y.createElement(Ou,{width:r,height:n}),y.createElement("div",Ji({ref:t},e)))}),QY=y.forwardRef((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?y.createElement(GY,Ji({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?y.createElement(YY,Ji({},e,{width:r,height:n,ref:t})):y.createElement(y.Fragment,null,y.createElement(Ou,{width:r,height:n}),y.createElement("div",Ji({ref:t},e)))});function XY(e){return e?qY:QY}var ZY=y.forwardRef((e,t)=>{var r=e.children,n=e.className,i=e.height,o=e.onClick,s=e.onContextMenu,u=e.onDoubleClick,d=e.onMouseDown,f=e.onMouseEnter,h=e.onMouseLeave,m=e.onMouseMove,v=e.onMouseUp,b=e.onTouchEnd,S=e.onTouchMove,k=e.onTouchStart,E=e.style,P=e.width,j=e.responsive,_=e.dispatchTouchEvents,O=_===void 0?!0:_,N=y.useRef(null),C=xt(),R=y.useState(null),z=Af(R,2),F=z[0],V=z[1],Q=y.useState(null),B=Af(Q,2),ue=B[0],G=B[1],le=$Y(),fe=py(),de=(fe==null?void 0:fe.width)>0?fe.width:P,Y=(fe==null?void 0:fe.height)>0?fe.height:i,ae=y.useCallback(Pe=>{le(Pe),typeof t=="function"&&t(Pe),V(Pe),G(Pe),Pe!=null&&(N.current=Pe)},[le,t,V,G]),X=y.useCallback(Pe=>{C(L_(Pe)),C(Rr({handler:o,reactEvent:Pe}))},[C,o]),M=y.useCallback(Pe=>{C(Mg(Pe)),C(Rr({handler:f,reactEvent:Pe}))},[C,f]),T=y.useCallback(Pe=>{C(Pj()),C(Rr({handler:h,reactEvent:Pe}))},[C,h]),Z=y.useCallback(Pe=>{C(Mg(Pe)),C(Rr({handler:m,reactEvent:Pe}))},[C,m]),se=y.useCallback(()=>{C(H_())},[C]),te=y.useCallback(()=>{C(K_())},[C]),ce=y.useCallback(Pe=>{C(W_(Pe.key))},[C]),ge=y.useCallback(Pe=>{C(Rr({handler:s,reactEvent:Pe}))},[C,s]),_e=y.useCallback(Pe=>{C(Rr({handler:u,reactEvent:Pe}))},[C,u]),J=y.useCallback(Pe=>{C(Rr({handler:d,reactEvent:Pe}))},[C,d]),we=y.useCallback(Pe=>{C(Rr({handler:v,reactEvent:Pe}))},[C,v]),Ae=y.useCallback(Pe=>{C(Rr({handler:k,reactEvent:Pe}))},[C,k]),ne=y.useCallback(Pe=>{O&&C(G_(Pe)),C(Rr({handler:S,reactEvent:Pe}))},[C,O,S]),lt=y.useCallback(Pe=>{C(Rr({handler:b,reactEvent:Pe}))},[C,b]),$e=XY(j);return y.createElement(qj.Provider,{value:F},y.createElement(f5.Provider,{value:ue},y.createElement($e,{width:de??(E==null?void 0:E.width),height:Y??(E==null?void 0:E.height),className:Xe("recharts-wrapper",n),style:LY({position:"relative",cursor:"default",width:de,height:Y},E),onClick:X,onContextMenu:ge,onDoubleClick:_e,onFocus:se,onBlur:te,onKeyDown:ce,onMouseDown:J,onMouseEnter:M,onMouseLeave:T,onMouseMove:Z,onMouseUp:we,onTouchEnd:lt,onTouchMove:ne,onTouchStart:Ae,ref:ae},y.createElement(VY,null),r)))}),JY=["width","height","responsive","children","className","style","compact","title","desc"];function eQ(e,t){if(e==null)return{};var r,n,i=tQ(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,i=e.responsive,o=e.children,s=e.className,u=e.style,d=e.compact,f=e.title,h=e.desc,m=eQ(e,JY),v=ln(m);return d?y.createElement(y.Fragment,null,y.createElement(Ou,{width:r,height:n}),y.createElement(fP,{otherAttributes:v,title:f,desc:h},o)):y.createElement(ZY,{className:s,style:u,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},y.createElement(fP,{otherAttributes:v,title:f,desc:h,ref:t},y.createElement(rq,null,o)))});function Tg(){return Tg=Object.assign?Object.assign.bind():function(e){for(var t=1;ty.createElement(uQ,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:cQ,tooltipPayloadSearcher:TW,categoricalChartProps:e,ref:t}));const fQ="rgba(130,130,150,0.14)",mv="rgba(130,130,150,0.85)";function hQ(e){if(e<=0)return 10;const t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=5?5:10)*t}function Z_(e,t){return`${t==="%"?Math.round(e):e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString()}${t}`}function pQ({active:e,payload:t,unit:r,label:n}){return!e||!(t!=null&&t.length)?null:x.jsxs("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:[Number.isFinite(n)&&x.jsx("div",{className:"mb-1 border-b border-border/40 pb-1 font-mono text-[10px] text-muted-foreground/80",children:new Date(n).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),x.jsx("div",{className:"space-y-1",children:t.map(i=>x.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[x.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:i.color}}),x.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:i.name}),x.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:Z_(i.value,r)})]},i.dataKey))})]})}function J_({data:e,series:t,unit:r="%",yMode:n="percent",height:i=176,showTime:o=!1}){var h,m;const s=e.reduce((v,b)=>t.reduce((S,k)=>Math.max(S,Number(b[k.key])||0),v),0),u=n==="percent"?Math.min(100,Math.max(25,Math.ceil(s*1.2/25)*25)):Math.max(hQ(s*1.15),10),d=e.length>1?Number((h=e[e.length-1])==null?void 0:h.t)-Number((m=e[0])==null?void 0:m.t):0,f=v=>new Date(v).toLocaleTimeString("de-DE",d<=10*6e4?{hour:"2-digit",minute:"2-digit",second:"2-digit"}:{hour:"2-digit",minute:"2-digit"});return x.jsx("div",{style:{height:i},className:"w-full",children:x.jsx(iz,{width:"100%",height:"100%",children:x.jsxs(dQ,{data:e,margin:{top:8,right:6,bottom:0,left:-12},children:[x.jsx("defs",{children:t.map(v=>x.jsxs("linearGradient",{id:`grad-${v.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[x.jsx("stop",{offset:"0%",stopColor:v.color,stopOpacity:.22}),x.jsx("stop",{offset:"100%",stopColor:v.color,stopOpacity:0})]},v.key))}),x.jsx(E_,{vertical:!1,stroke:fQ}),o?x.jsx(_g,{dataKey:"t",type:"number",domain:["dataMin","dataMax"],tickFormatter:f,tickCount:5,minTickGap:40,interval:"preserveStartEnd",axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:mv},height:18}):x.jsx(_g,{dataKey:"t",hide:!0}),x.jsx($_,{domain:[0,u],ticks:[0,u/2,u],tickFormatter:v=>Z_(v,r),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:mv}}),x.jsx(uH,{content:x.jsx(pQ,{unit:r}),cursor:{stroke:mv,strokeOpacity:.4,strokeDasharray:"3 3"}}),t.map(v=>x.jsx(D_,{type:"monotone",dataKey:v.key,name:v.label,stroke:v.color,strokeWidth:2,fill:`url(#grad-${v.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},v.key))]})})})}const eN={"1h":60,"24h":1440},gP={live:"Live","1h":"1 h","24h":"24 h"};function tN({value:e,onChange:t}){return x.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:Object.keys(gP).map(r=>x.jsx("button",{onClick:()=>t(r),className:Re("rounded-md px-2 py-0.5 text-[9px] font-bold uppercase tracking-wide transition-all cursor-pointer",e===r?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:gP[r]},r))})}const mQ=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function vQ(){var h,m,v,b;const{sys:e,hist:t}=t5(),[r,n]=y.useState("live"),i=LA(r==="live"?60:eN[r],r!=="live"),o=y.useMemo(()=>{var S;return r==="live"?t:(((S=i.data)==null?void 0:S.points)??[]).map(k=>({t:k.t*1e3,cpu:k.cpu,ram:k.ram,gpu:k.gpu,disk:k.disk}))},[r,t,i.data]),s=!!(e!=null&&e.gpu&&e.gpu.busy_percent!=null&&e.gpu.gtt_used!=null&&e.gpu.gtt_total!=null),u=mQ.filter(S=>S.key!=="gpu"||s),d={cpu:(h=e==null?void 0:e.cpu)==null?void 0:h.percent,ram:(m=e==null?void 0:e.ram)==null?void 0:m.percent,gpu:s?e.gpu.busy_percent:null,disk:(v=e==null?void 0:e.disk)==null?void 0:v.percent},f={cpu:(b=e==null?void 0:e.cpu)!=null&&b.cores?`${e.cpu.cores} Cores`:"",ram:e?`${Io(e.ram.used)}/${Io(e.ram.total)} GB`:"",gpu:s?`${Io(e.gpu.gtt_used)}/${Io(e.gpu.gtt_total)} GB`:"",disk:e!=null&&e.disk?`${Io(e.disk.used)}/${Io(e.disk.total)} GB`:""};return x.jsxs("div",{className:"flex flex-col justify-between mc-card p-5",children:[x.jsxs("div",{children:[x.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[x.jsx(qP,{className:"h-4.5 w-4.5 text-primary"}),x.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),r==="live"&&x.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[x.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]}),x.jsx("div",{className:"ml-auto",children:x.jsx(tN,{value:r,onChange:n})})]}),e?x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:u.map(S=>x.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[x.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:S.color}}),x.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:S.label}),x.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(d[S.key]??0),"%"]}),f[S.key]&&x.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:f[S.key]})]},S.key))}),r!=="live"&&o.length===0&&x.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:i.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}),(r==="live"||o.length>0)&&x.jsx(J_,{data:o,series:u,unit:"%",yMode:"percent",height:176,showTime:!0})]}):x.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(e==null?void 0:e.temp)&&(e.temp.cpu||e.temp.gpu)&&x.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[e.temp.cpu!=null&&x.jsxs("span",{children:["CPU Temp: ",e.temp.cpu," °C"]}),e.temp.gpu!=null&&x.jsxs("span",{children:["GPU Temp: ",e.temp.gpu," °C"]})]})]})}const yP=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function gQ(){const{data:e}=FA(),t=G3(),[r,n]=y.useState("live"),i=LA(r==="live"?60:eN[r],r!=="live"),o=y.useMemo(()=>{var h;if(r==="live")return t;const d=((h=i.data)==null?void 0:h.points)??[],f=[];for(let m=1;mx.jsxs("div",{className:"flex items-center gap-1.5",children:[x.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:d.color}}),x.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:d.label}),x.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((s==null?void 0:s[d.key])??0)})]},d.key))})]})]}),r!=="live"&&o.length===0?x.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:i.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}):e?x.jsx(J_,{data:o,series:yP,unit:" tok/s",yMode:"auto",height:150,showTime:!0}):x.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),x.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}const Sl=[{key:"stt_ms",label:"STT",color:"#f59e0b"},{key:"vision_ms",label:"Sehen",color:"#a78bfa"},{key:"hirn_ms",label:"Hirn",color:"#2dd4bf"},{key:"gen_ms",label:"Antwort",color:"#60a5fa"}],_a=e=>e==null?"–":`${(e/1e3).toLocaleString("de-DE",{minimumFractionDigits:1,maximumFractionDigits:1})} s`;function yQ(e){const t=Math.max(0,Date.now()/1e3-e);return t<60?`vor ${Math.round(t)} s`:t<3600?`vor ${Math.round(t/60)} min`:`vor ${Math.round(t/3600)} h`}function Dg(e){return Sl.reduce((t,r)=>t+(e[r.key]??0),0)}function xQ(e){let t=null;for(const r of Sl){const n=e[r.key];n!=null&&(t==null||n>t.ms)&&(t={label:r.label,color:r.color,ms:n})}return t}function bQ({t:e,scale:t}){const r=Sl.map(n=>`${n.label} ${_a(e[n.key])}`).join(" · ")+(e.mem0_ms!=null?` (davon Mem0 ${_a(e.mem0_ms)})`:"");return x.jsxs("div",{className:"flex items-center gap-2.5",children:[x.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:yQ(e.ts)}),x.jsxs("div",{className:"relative h-4 flex-1 overflow-hidden rounded-sm bg-muted/25",title:r,children:[x.jsx("div",{className:"absolute inset-0 flex",children:Sl.map(n=>{const i=e[n.key];return!i||i<=0?null:x.jsx("div",{style:{width:`${i/t*100}%`,background:n.color},className:"h-full first:rounded-l-sm"},n.key)})}),e.error&&x.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-rose-500/15 text-[10px] font-semibold text-rose-300",children:"Fehler"})]}),x.jsx("span",{className:"w-12 shrink-0 text-right font-mono text-[11px] font-semibold tabular-nums text-foreground",children:e.error?"–":_a(Dg(e))})]})}function wQ(){const{data:e}=_3(12),t=e??[],r=Math.max(1,...t.map(o=>Dg(o))),n=t[0],i=n?xQ(n):null;return x.jsxs("div",{className:"mc-card p-5",children:[x.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[x.jsxs("div",{children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(fT,{className:"h-4.5 w-4.5 text-primary"}),x.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Latenz je Turn"}),x.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[x.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),n?x.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[x.jsx("span",{className:`font-space text-3xl font-bold tracking-tight tabular-nums ${n.error?"text-rose-400":"text-foreground"}`,children:n.error?"Fehler":_a(Dg(n))}),x.jsxs("span",{className:"text-xs text-muted-foreground",children:["letzter Turn",!n.error&&i&&x.jsxs(x.Fragment,{children:[" · Täter: ",x.jsx("span",{style:{color:i.color},className:"font-semibold",children:i.label})," ",_a(i.ms)]})]})]}):x.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Noch kein Voice-Turn aufgezeichnet."}),n&&!n.error&&x.jsxs("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground/70",children:[Sl.filter(o=>n[o.key]!=null).map(o=>`${o.label} ${_a(n[o.key])}`).join(" · "),n.mem0_ms!=null&&x.jsxs("span",{className:"text-muted-foreground/50",children:[" · davon Mem0 ",_a(n.mem0_ms)]})]})]}),x.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1 pt-1",children:Sl.map(o=>x.jsxs("div",{className:"flex items-center gap-1.5",children:[x.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:o.color}}),x.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:o.label})]},o.key))})]}),t.length>0?x.jsx("div",{className:"space-y-1.5",children:t.map(o=>x.jsx(bQ,{t:o,scale:r},o.id))}):x.jsx("div",{className:"flex h-[120px] items-center justify-center px-6 text-center text-xs text-muted-foreground",children:"Sprich einmal mit Lucy — dann erscheint hier der Zeit-Wasserfall pro Turn, damit man den einen Hänger sofort sieht."}),x.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:'„Hirn" = Zeit bis zum ersten Wort (Agent + Mem0-Suche + Modell); Tool-Runden stecken in „Antwort". Reine Telegram-Turns laufen an MC2 vorbei und erscheinen hier nicht.'})]})}const en=e=>e==null?"–":e.toLocaleString("de-DE");function kQ(e){const t=Math.max(0,Date.now()/1e3-e);return t<60?`vor ${Math.round(t)} s`:t<3600?`vor ${Math.round(t/60)} min`:`vor ${Math.round(t/3600)} h`}const SQ={passthrough:{label:"frei",tone:"text-emerald-400"},defer:{label:"wartet",tone:"text-amber-400"},soft:{label:"Savepoint",tone:"text-amber-400"},hard:{label:"STOPP",tone:"text-rose-400"}};function EQ(e){return!(e!=null&&e.est)||!(e!=null&&e.exact)?null:(e.est-e.exact)/e.exact*100}function PQ(){const{data:e}=N3();if(!(e!=null&&e.reachable))return x.jsxs("div",{className:"mc-card p-5",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(V1,{className:"h-4.5 w-4.5 text-muted-foreground"}),x.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Wächter"})]}),x.jsxs("div",{className:"mt-3 text-xs text-muted-foreground",children:["Nicht erreichbar. Die Coding-Sitzungen laufen dann ohne Sitzungs-Bremse.",x.jsx("div",{className:"mt-1 font-mono text-[10px] text-muted-foreground/60",children:(e==null?void 0:e.error)??"keine Antwort von :8100"})]})]});const t=e.soft??0,r=e.hard??null,n=e.recent??[],i=n.find(m=>!(e.exempt_models??[]).includes(m.model)),o=(i==null?void 0:i.exact)??(i==null?void 0:i.est)??0,s=Math.max(r??t*1.2,t*1.2,o),u=Math.min(100,o/s*100),d=EQ(n.find(m=>m.est!=null&&m.exact!=null)),f=e.counters,h=r&&o>=r?"bg-rose-500":o>=t?"bg-amber-500":"bg-emerald-500";return x.jsxs("div",{className:"mc-card p-5",children:[x.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[x.jsxs("div",{children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(V1,{className:"h-4.5 w-4.5 text-primary"}),x.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Wächter"}),x.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[x.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),x.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[x.jsx("span",{className:"font-space text-3xl font-bold tracking-tight tabular-nums text-foreground",children:en(o)}),x.jsx("span",{className:"text-xs text-muted-foreground",children:"Tokens in der letzten Bau-Anfrage"})]})]}),x.jsxs("div",{className:"shrink-0 pt-1 text-right",children:[x.jsxs("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-amber-400",children:["Savepoint ab ",en(t)]}),r!=null&&x.jsxs("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-rose-400",children:["Stopp ab ",en(r)]})]})]}),x.jsxs("div",{className:"relative h-3 overflow-hidden rounded-sm bg-muted/25",children:[x.jsx("div",{className:`h-full ${h} transition-all`,style:{width:`${u}%`}}),x.jsx("div",{className:"absolute inset-y-0 w-px bg-amber-400/80",style:{left:`${Math.min(100,t/s*100)}%`},title:`Savepoint-Marke ${en(t)}`}),r!=null&&x.jsx("div",{className:"absolute inset-y-0 w-px bg-rose-400/80",style:{left:`${Math.min(100,r/s*100)}%`},title:`Harter Stopp ${en(r)}`})]}),x.jsx("div",{className:"mt-3 grid grid-cols-4 gap-2 text-center",children:[{k:"Anfragen",v:en(f==null?void 0:f.chat)},{k:"Savepoints",v:en(f==null?void 0:f.soft)},{k:"Stopps",v:en(f==null?void 0:f.hard)},{k:"Tokens ges.",v:en(f==null?void 0:f.tokens_prompt)}].map(m=>x.jsxs("div",{className:"rounded-sm bg-muted/20 py-1.5",children:[x.jsx("div",{className:"font-mono text-sm font-semibold tabular-nums text-foreground",children:m.v}),x.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/70",children:m.k})]},m.k))}),d!=null&&x.jsxs("div",{className:"mt-3 flex items-center gap-2 rounded-sm bg-muted/15 px-2.5 py-1.5",children:[Math.abs(d)<15?x.jsx(KP,{className:"h-3.5 w-3.5 shrink-0 text-emerald-400"}):x.jsx(Mf,{className:"h-3.5 w-3.5 shrink-0 text-amber-400"}),x.jsxs("span",{className:"text-[11px] text-muted-foreground",children:["Schätzung lag"," ",x.jsxs("span",{className:Math.abs(d)<15?"font-semibold text-emerald-400":"font-semibold text-amber-400",children:[d>0?"+":"",d.toFixed(1)," %"]})," ","neben der Wahrheit — er kalibriert sich aus jeder Antwort selbst nach."]})]}),n.length>0&&x.jsx("div",{className:"mt-3 space-y-1",children:n.slice(0,5).map((m,v)=>{const b=SQ[m.action]??{label:m.action,tone:"text-muted-foreground"};return x.jsxs("div",{className:"flex items-center gap-2 text-[11px]",children:[x.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:kQ(m.t)}),x.jsx("span",{className:"w-20 shrink-0 truncate font-medium text-foreground",children:m.model||"?"}),x.jsxs("span",{className:"flex-1 font-mono tabular-nums text-muted-foreground",children:[en(m.exact??m.est),m.exact!=null&&m.est!=null&&x.jsxs("span",{className:"text-muted-foreground/50",children:[" (geschätzt ",en(m.est),")"]})]}),x.jsx("span",{className:`shrink-0 font-semibold ${b.tone}`,children:b.label})]},`${m.t}-${v}`)})}),x.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:"Alle Coding-Agenten laufen durch den Wächter (:8100). Lucys Alltagsmodelle sind ausgenommen — ein Gespräch ist keine Bau-Sitzung und wird nie unterbrochen."})]})}const Cf=e=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:e}}));function AQ({onNavigate:e}){var de,Y,ae,X;const{data:t}=zA(),{data:r}=Jg(),{data:n}=BA(),{data:i}=D3(),{data:o}=M3(),{data:s}=T3(),{data:u}=P3(),{data:d}=A3(),f=Q3(),{showAlert:h,dialogElement:m}=Zg(),v=bu(),[b,S]=y.useState({});async function k(M,T){S(Z=>({...Z,[M]:!0}));try{if(T.kind==="loadModel")await Ie(`/api/models/${encodeURIComponent(T.model)}/load`,{method:"POST"});else{const Z=await Ie("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:T.service})});Z.ok||h("Reparatur nicht ganz geklappt",(Z.err||"Unbekannter Fehler")+(T.needsSudo?` + `).concat(O.x,",").concat(O.y),C=Ut(e.id)?Zs("recharts-radial-line-"):e.id;return y.createElement("text",Yn({},n,{dominantBaseline:"central",className:Xe("recharts-radial-bar-label",s)}),y.createElement("defs",null,y.createElement("path",{id:C,d:N})),y.createElement("textPath",{xlinkHref:"#".concat(C)},r))},fK=(e,t,r)=>{var n=e.cx,i=e.cy,o=e.innerRadius,s=e.outerRadius,u=e.startAngle,d=e.endAngle,f=(u+d)/2;if(r==="outside"){var h=Bt(n,i,s+t,f),m=h.x,v=h.y;return{x:m,y:v,textAnchor:m>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"end"};var b=(o+s)/2,S=Bt(n,i,b,f),k=S.x,E=S.y;return{x:k,y:E,textAnchor:"middle",verticalAnchor:"middle"}},jd=e=>e!=null&&"cx"in e&&be(e.cx),hK={angle:0,offset:5,zIndex:nr.label,position:"middle",textBreakAll:!1};function pK(e){if(!jd(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,i=n*2;return{x:t-n,y:r-n,width:i,upperWidth:i,lowerWidth:i,height:i}}function zi(e){var t=Hr(e,hK),r=t.viewBox,n=t.parentViewBox,i=t.position,o=t.value,s=t.children,u=t.content,d=t.className,f=d===void 0?"":d,h=t.textBreakAll,m=t.labelRef,v=sK(),b=o_(),S=i==="center"?b:v??b,k,E,P;r==null?k=S:jd(r)?k=r:k=my(r);var j=pK(k);if(!k||Ut(o)&&Ut(s)&&!y.isValidElement(u)&&typeof u!="function")return null;var _=Us(Us({},t),{},{viewBox:k});if(y.isValidElement(u)){_.labelRef;var O=TE(_,eK);return y.cloneElement(u,O)}if(typeof u=="function"){_.content;var N=TE(_,tK);if(E=y.createElement(u,N),y.isValidElement(E))return E}else E=uK(t);var C=Br(t);if(jd(k)){if(i==="insideStart"||i==="insideEnd"||i==="end")return dK(t,i,E,C,k);P=fK(k,t.offset,t.position)}else{if(!j)return null;var R=JH({viewBox:j,position:i,offset:t.offset,parentViewBox:jd(n)?void 0:n});P=Us(Us({x:R.x,y:R.y,textAnchor:R.horizontalAnchor,verticalAnchor:R.verticalAnchor},R.width!==void 0?{width:R.width}:{}),R.height!==void 0?{height:R.height}:{})}return y.createElement(fi,{zIndex:t.zIndex},y.createElement(w0,Yn({ref:m,className:Xe("recharts-label",f)},C,P,{textAnchor:t_(C.textAnchor)?C.textAnchor:P.textAnchor,breakAll:h}),E))}zi.displayName="Label";var mK=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?y.createElement(zi,Yn({key:"label-implicit"},n)):_n(e)?y.createElement(zi,Yn({key:"label-implicit",value:e},n)):y.isValidElement(e)?e.type===zi?y.cloneElement(e,Us({key:"label-implicit"},n)):y.createElement(zi,Yn({key:"label-implicit",content:e},n)):k0(e)?y.createElement(zi,Yn({key:"label-implicit",content:e},n)):e&&typeof e=="object"?y.createElement(zi,Yn({},e,{key:"label-implicit"},n)):null};function vK(e){var t=e.label,r=e.labelRef,n=o_();return mK(t,n,r)||null}var gK=["valueAccessor"],yK=["dataKey","clockWise","id","textBreakAll","zIndex"];function bf(){return bf=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(KH(t))return t},l_=y.createContext(void 0),wK=l_.Provider,s_=y.createContext(void 0);s_.Provider;function kK(){return y.useContext(l_)}function SK(){return y.useContext(s_)}function _d(e){var t=e.valueAccessor,r=t===void 0?bK:t,n=RE(e,gK),i=n.dataKey;n.clockWise;var o=n.id,s=n.textBreakAll,u=n.zIndex,d=RE(n,yK),f=kK(),h=SK(),m=f||h;return!m||!m.length?null:y.createElement(fi,{zIndex:u??nr.label},y.createElement(Ur,{className:"recharts-label-list"},m.map((v,b)=>{var S,k=Ut(i)?r(v,b):Nt(v.payload,i),E=Ut(o)?{}:{id:"".concat(o,"-").concat(b)};return y.createElement(zi,bf({key:"label-".concat(b)},Br(v),d,E,{fill:(S=n.fill)!==null&&S!==void 0?S:v.fill,parentViewBox:v.parentViewBox,value:k,textBreakAll:s,viewBox:v.viewBox,index:b,zIndex:0}))})))}_d.displayName="LabelList";function EK(e){var t=e.label;return t?t===!0?y.createElement(_d,{key:"labelList-implicit"}):y.isValidElement(t)||k0(t)?y.createElement(_d,{key:"labelList-implicit",content:t}):typeof t=="object"?y.createElement(_d,bf({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function Ag(){return Ag=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,i=e.className,o=Xe("recharts-dot",i);return be(t)&&be(r)&&be(n)?y.createElement("circle",Ag({},ln(e),ay(e),{className:o,cx:t,cy:r,r:n})):null},PK={radiusAxis:{},angleAxis:{}},c_=Jt({name:"polarAxis",initialState:PK,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Oh=c_.actions;Oh.addRadiusAxis;Oh.removeRadiusAxis;Oh.addAngleAxis;Oh.removeAngleAxis;var AK=c_.reducer;function OK(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var d_=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function $E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function LE(e){for(var t=1;t{n||(i.current===null?r(V7(t)):i.current!==t&&r(q7({prev:i.current,next:t})),i.current=t)},[t,r,n]),y.useLayoutEffect(()=>()=>{i.current&&(r(G7(i.current)),i.current=null)},[r]),null}function $K(e){var t=e.legendPayload,r=xt(),n=yr(),i=y.useRef(null);return y.useLayoutEffect(()=>{n||(i.current===null?r(bz(t)):i.current!==t&&r(wz({prev:i.current,next:t})),i.current=t)},[r,n,t]),y.useLayoutEffect(()=>()=>{i.current&&(r(kz(i.current)),i.current=null)},[r]),null}function LK(e,t){return UK(e)||BK(e,t)||FK(e,t)||zK()}function zK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function FK(e,t){if(e){if(typeof e=="string")return zE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zE(e,t):void 0}}function zE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var i of r)n.push({status:"removed",prev:i});for(var o=0;oe[Math.floor(o*r)]);return E0(n,t)}function KK(e,t){var r=t.map((n,i)=>e[i]);return E0(r,t)}function VK(e,t){for(var r=new Map,n=0;n{var b=r(m,v);if(b!=null){var S=n.get(b);if(S!==void 0)return i.add(b),S}}),s=[];for(var u of n){var d=LK(u,2),f=d[0],h=d[1];i.has(f)||s.push(h)}return E0(o,t,s)}function Og(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===S0?HK(e,t):r===WK?KK(e,t):qK(e,t,r)}function h_(e,t){var r=y.useRef(e),n=y.useRef(t.current),i=y.useRef(!0);r.current!==e&&(r.current=e,n.current=t.current,i.current=!1);var o=y.useCallback(function(s,u){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(u===0){i.current=!0;return}u===1&&(n.current=s),u>0&&i.current&&d&&(t.current=s)},[t]);return{startValue:n.current,syncStepValue:o}}function GK(e,t){return ZK(e)||XK(e,t)||QK(e,t)||YK()}function YK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function QK(e,t){if(e){if(typeof e=="string")return FE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?FE(e,t):void 0}}function FE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),u=y.useCallback(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:i,handleAnimationStart:s,handleAnimationEnd:u}}function eV(e){var t,r=e.animationInput,n=e.animationIdPrefix,i=e.items,o=e.previousItemsRef,s=e.isAnimationActive,u=e.animationBegin,d=e.animationDuration,f=e.animationEasing,h=e.onAnimationStart,m=e.onAnimationEnd,v=e.animationInterpolateFn,b=e.animationMatchBy,S=e.shouldUpdatePreviousRef,k=e.children,E=e.layout,P=CO(r,n),j=h_(P,o),_=(t=j.startValue)!==null&&t!==void 0?t:null,O=Og(_,i,b??S0);return y.createElement(OO,{animationId:P,begin:u,duration:d,isActive:s,easing:f,onAnimationEnd:m,onAnimationStart:h,key:P},N=>{var C=_==null,R=i==null?i:v(O,N,E),z=S?S(N):N>0;return j.syncStepValue(R,N,z),R==null?null:k(R,N,C)})}var cv;function tV(e,t){return aV(e)||iV(e,t)||nV(e,t)||rV()}function rV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nV(e,t){if(e){if(typeof e=="string")return BE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?BE(e,t):void 0}}function BE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=y.useState(()=>Zs("uid-")),t=tV(e,1),r=t[0];return r},p_=(cv=jf.useId)!==null&&cv!==void 0?cv:oV;function lV(e,t){var r=p_();return t||(e?"".concat(e,"-").concat(r):r)}var sV=y.createContext(void 0),uV=e=>{var t=e.id,r=e.type,n=e.children,i=lV("recharts-".concat(r),t);return y.createElement(sV.Provider,{value:i},n(i))},cV={cartesianItems:[],polarItems:[]},m_=Jt({name:"graphicalItems",initialState:cV,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:rt()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=zr(e).cartesianItems.indexOf(n);o>-1&&(e.cartesianItems[o]=i)},prepare:rt()},removeCartesianGraphicalItem:{reducer(e,t){var r=zr(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:rt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:rt()},removePolarGraphicalItem:{reducer(e,t){var r=zr(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:rt()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=zr(e).polarItems.indexOf(n);o>-1&&(e.polarItems[o]=i)},prepare:rt()}}}),Rl=m_.actions,dV=Rl.addCartesianGraphicalItem,fV=Rl.replaceCartesianGraphicalItem,hV=Rl.removeCartesianGraphicalItem;Rl.addPolarGraphicalItem;Rl.removePolarGraphicalItem;Rl.replacePolarGraphicalItem;var pV=m_.reducer,mV=e=>{var t=xt(),r=y.useRef(null);return y.useLayoutEffect(()=>{r.current===null?t(dV(e)):r.current!==e&&t(fV({prev:r.current,next:e})),r.current=e},[t,e]),y.useLayoutEffect(()=>()=>{r.current&&(t(hV(r.current)),r.current=null)},[t]),null},vV=y.memo(mV),gV=["points"];function UE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dv(e){for(var t=1;t{var P,j,_=dv(dv(dv({r:3},s),v),{},{index:E,cx:(P=k.x)!==null&&P!==void 0?P:void 0,cy:(j=k.y)!==null&&j!==void 0?j:void 0,dataKey:o,value:k.value,payload:k.payload,points:t});return y.createElement(SV,{key:"dot-".concat(E),option:r,dotProps:_,className:i})}),S={};return u&&d!=null&&(S.clipPath="url(#clipPath-".concat(m?"":"dots-").concat(d,")")),y.createElement(fi,{zIndex:h},y.createElement(Ur,wf({className:n},S),b))}function WE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function HE(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),zV=H([LV,oi,li],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),P0=()=>Ee(zV),FV=()=>Ee(V9);function KE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fv(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,i=e.activeDot,o=e.dataKey,s=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var u={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},d=fv(fv(fv({},u),Ff(i)),ay(i)),f;return y.isValidElement(i)?f=y.cloneElement(i,d):typeof i=="function"?f=i(d):f=y.createElement(u_,d),y.createElement(Ur,{className:"recharts-active-dot",clipPath:s},f)};function VE(e){var t=e.points,r=e.mainColor,n=e.activeDot,i=e.itemDataKey,o=e.clipPath,s=e.zIndex,u=s===void 0?nr.activeDot:s,d=Ee(du),f=FV();if(t==null||f==null)return null;var h=t.find(m=>f.includes(m.payload));return Ut(h)?null:y.createElement(fi,{zIndex:u},y.createElement(HV,{point:h,childIndex:Number(d),mainColor:r,dataKey:i,activeDot:n,clipPath:o}))}var KV=e=>{var t=e.chartData,r=xt(),n=yr();return y.useEffect(()=>n?()=>{}:(r(pE(t)),()=>{r(pE(void 0))}),[t,r,n]),null},qE={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},y_=Jt({name:"brush",initialState:qE,reducers:{setBrushSettings(e,t){return t.payload==null?qE:t.payload}}});y_.actions.setBrushSettings;var VV=y_.reducer;function qV(e){return(e%180+180)%180}var GV=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=qV(i),s=o*Math.PI/180,u=Math.atan(n/r),d=s>u&&s{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=zr(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=zr(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=zr(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),$l=x_.actions;$l.addDot;$l.removeDot;$l.addArea;$l.removeArea;$l.addLine;$l.removeLine;var QV=x_.reducer;function XV(e,t){return tq(e)||eq(e,t)||JV(e,t)||ZV()}function ZV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JV(e,t){if(e){if(typeof e=="string")return GE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?GE(e,t):void 0}}function GE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=y.useState("".concat(Zs("recharts"),"-clip")),n=XV(r,1),i=n[0],o=P0();if(o==null)return null;var s=o.x,u=o.y,d=o.width,f=o.height;return y.createElement(rq.Provider,{value:i},y.createElement("defs",null,y.createElement("clipPath",{id:i},y.createElement("rect",{x:s,y:u,height:f,width:d}))),t)};function b_(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;ne*i)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-i)<=0}function oq(e,t){return b_(e,t+1)}function lq(e,t,r,n,i){for(var o=(n||[]).slice(),s=t.start,u=t.end,d=0,f=1,h=s,m=function(){var S=n==null?void 0:n[d];if(S===void 0)return{v:b_(n,f)};var k=d,E,P=()=>(E===void 0&&(E=r(S,k)),E),j=S.coordinate,_=d===0||hu(e,j,P,h,u);_||(d=0,h=s,f+=1),_&&(h=j+e*(P()/2+i),d+=f)},v;f<=o.length;)if(v=m(),v)return v.v;return[]}function sq(e,t,r,n,i){var o=(n||[]).slice(),s=o.length;if(s===0)return[];for(var u=t.start,d=t.end,f=1;f<=s;f++){for(var h=(s-1)%f,m=u,v=!0,b=function(){var O=n[k];if(O==null)return 0;var N=k,C,R=()=>(C===void 0&&(C=r(O,N)),C),z=O.coordinate,F=k===h||hu(e,z,R,m,d);if(!F)return v=!1,1;F&&(m=z+e*(R()/2+i))},S,k=h;k(k===void 0&&(k=r(b,v)),k);if(v===s-1){var P=e*(S.coordinate+e*E()/2-d);o[v]=S=Xt(Xt({},S),{},{tickCoord:P>0?S.coordinate-P*e:S.coordinate})}else o[v]=S=Xt(Xt({},S),{},{tickCoord:S.coordinate});if(S.tickCoord!=null){var j=hu(e,S.tickCoord,E,u,d);j&&(d=S.tickCoord-e*(E()/2+i),o[v]=Xt(Xt({},S),{},{isShow:!0}))}},h=s-1;h>=0;h--)f(h);return o}function hq(e,t,r,n,i,o){var s=(n||[]).slice(),u=s.length,d=t.start,f=t.end;if(o){var h=n[u-1];if(h!=null){var m=r(h,u-1),v=e*(h.coordinate+e*m/2-f);if(s[u-1]=h=Xt(Xt({},h),{},{tickCoord:v>0?h.coordinate-v*e:h.coordinate}),h.tickCoord!=null){var b=hu(e,h.tickCoord,()=>m,d,f);b&&(f=h.tickCoord-e*(m/2+i),s[u-1]=Xt(Xt({},h),{},{isShow:!0}))}}}for(var S=o?u-1:u,k=function(j){var _=s[j];if(_==null)return 1;var O=_,N,C=()=>(N===void 0&&(N=r(_,j)),N);if(j===0){var R=e*(O.coordinate-e*C()/2-d);s[j]=O=Xt(Xt({},O),{},{tickCoord:R<0?O.coordinate-R*e:O.coordinate})}else s[j]=O=Xt(Xt({},O),{},{tickCoord:O.coordinate});if(O.tickCoord!=null){var z=hu(e,O.tickCoord,C,d,f);z&&(d=O.tickCoord+e*(C()/2+i),s[j]=Xt(Xt({},O),{},{isShow:!0}))}},E=0;E{var R=typeof f=="function"?f(N.value,C):N.value;return S==="width"?iq(Hs(R,{fontSize:t,letterSpacing:r}),k,m):Hs(R,{fontSize:t,letterSpacing:r})[S]},P=i[0],j=i[1],_=i.length>=2&&P!=null&&j!=null?Lr(j.coordinate-P.coordinate):1,O=aq(o,_,S);return d==="equidistantPreserveStart"?lq(_,O,E,i,s):d==="equidistantPreserveEnd"?sq(_,O,E,i,s):(d==="preserveStart"||d==="preserveStartEnd"?b=hq(_,O,E,i,s,d==="preserveStartEnd"):b=fq(_,O,E,i,s),b.filter(N=>N.isShow))}var pq=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,i=n,o=e.tickSize,s=o===void 0?0:o,u=e.tickMargin,d=u===void 0?0:u,f=0;if(t){Array.from(t).forEach(b=>{if(b){var S=b.getBoundingClientRect();S.width>f&&(f=S.width)}});var h=r?r.getBoundingClientRect().width:0,m=s+d,v=f+m+h+(r?i:0);return Math.round(v)}return 0},mq={xAxis:{},yAxis:{}},w_=Jt({name:"renderedTicks",initialState:mq,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId,o=r.ticks;e[n][i]=o},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId;delete e[n][i]}}}),k_=w_.actions,vq=k_.setRenderedTicks,gq=k_.removeRenderedTicks,yq=w_.reducer,xq=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function QE(e,t){return Sq(e)||kq(e,t)||wq(e,t)||bq()}function bq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wq(e,t){if(e){if(typeof e=="string")return XE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?XE(e,t):void 0}}function XE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n==null||r==null)return Al;var o=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index}));return i(vq({ticks:o,axisId:n,axisType:r})),()=>{i(gq({axisId:n,axisType:r}))}},[i,t,n,r]),null}var Dq=y.forwardRef((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,i=e.tick,o=e.tickLine,s=e.stroke,u=e.tickFormatter,d=e.unit,f=e.padding,h=e.tickTextProps,m=e.orientation,v=e.mirror,b=e.x,S=e.y,k=e.width,E=e.height,P=e.tickSize,j=e.tickMargin,_=e.fontSize,O=e.letterSpacing,N=e.getTicksConfig,C=e.events,R=e.axisType,z=e.axisId,F=A0(ht(ht({},N),{},{ticks:n}),_,O),V=ln(N),Q=Ff(i),B=t_(V.textAnchor)?V.textAnchor:Nq(m,v),ue=Iq(m,v),G={};typeof o=="object"&&(G=o);var le=ht(ht({},V),{},{fill:"none"},G),fe=F.map(ae=>ht({entry:ae},_q(ae,b,S,k,E,m,P,v,j))),de=fe.map(ae=>{var X=ae.entry,M=ae.line;return y.createElement(Ur,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(X.value,"-").concat(X.coordinate,"-").concat(X.tickCoord)},o&&y.createElement("line",Xa({},le,M,{className:Xe("recharts-cartesian-axis-tick-line",Ja(o,"className"))})))}),Y=fe.map((ae,X)=>{var M,T,Z=ae.entry,se=ae.tick,te=ht(ht(ht(ht({verticalAnchor:ue},V),{},{textAnchor:B,stroke:"none",fill:s},se),{},{index:X,payload:Z,visibleTicksCount:F.length,tickFormatter:u,padding:f},h),{},{angle:(M=(T=h==null?void 0:h.angle)!==null&&T!==void 0?T:V.angle)!==null&&M!==void 0?M:0}),ce=ht(ht({},te),Q);return y.createElement(Ur,Xa({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Z.value,"-").concat(Z.coordinate,"-").concat(Z.tickCoord)},z5(C,Z,X)),i&&y.createElement(Mq,{option:i,tickProps:ce,value:"".concat(typeof u=="function"?u(Z.value,X):Z.value).concat(d||"")}))});return y.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(R,"-ticks")},y.createElement(Tq,{ticks:F,axisId:z,axisType:R}),Y.length>0&&y.createElement(fi,{zIndex:nr.label},y.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(R,"-tick-labels"),ref:t},Y)),de.length>0&&y.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(R,"-tick-lines")},de))}),Rq=y.forwardRef((e,t)=>{var r=e.axisLine,n=e.width,i=e.height,o=e.className,s=e.hide,u=e.ticks,d=e.axisType,f=e.axisId,h=Eq(e,xq),m=y.useState(""),v=QE(m,2),b=v[0],S=v[1],k=y.useState(""),E=QE(k,2),P=E[0],j=E[1],_=y.useRef(null);y.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var N;return pq({ticks:_.current,label:(N=e.labelRef)===null||N===void 0?void 0:N.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var O=y.useCallback(N=>{if(N){var C=N.getElementsByClassName("recharts-cartesian-axis-tick-value");_.current=C;var R=C[0];if(R){var z=window.getComputedStyle(R),F=z.fontSize,V=z.letterSpacing;(F!==b||V!==P)&&(S(F),j(V))}}},[b,P]);return s||n!=null&&n<=0||i!=null&&i<=0?null:y.createElement(fi,{zIndex:e.zIndex},y.createElement(Ur,{className:Xe("recharts-cartesian-axis",o)},y.createElement(jq,{x:e.x,y:e.y,width:n,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:ln(e)}),y.createElement(Dq,{ref:O,axisType:d,events:h,fontSize:b,getTicksConfig:e,height:e.height,letterSpacing:P,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:u,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:f}),y.createElement(oK,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},y.createElement(vK,{label:e.label,labelRef:e.labelRef}),e.children)))}),O0=y.forwardRef((e,t)=>{var r=Hr(e,ti);return y.createElement(Rq,Xa({},r,{ref:t}))});O0.displayName="CartesianAxis";var $q=["x1","y1","x2","y2","key"],Lq=["offset"],zq=["xAxisId","yAxisId"],Fq=["xAxisId","yAxisId"];function JE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zt(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,i=e.y,o=e.width,s=e.height,u=e.ry;return y.createElement("rect",{x:n,y:i,ry:u,width:o,height:s,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function S_(e){var t=e.option,r=e.lineItemProps,n;if(y.isValidElement(t))n=y.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var i,o=r.x1,s=r.y1,u=r.x2,d=r.y2,f=r.key,h=kf(r,$q),m=(i=ln(h))!==null&&i!==void 0?i:{};m.offset;var v=kf(m,Lq);n=y.createElement("line",ja({},v,{x1:o,y1:s,x2:u,y2:d,fill:"none",key:f}))}return n}function Vq(e){var t=e.x,r=e.width,n=e.horizontal,i=n===void 0?!0:n,o=e.horizontalPoints;if(!i||!o||!o.length)return null;e.xAxisId,e.yAxisId;var s=kf(e,zq),u=o.map((d,f)=>{var h=Zt(Zt({},s),{},{x1:t,y1:d,x2:t+r,y2:d,key:"line-".concat(f),index:f});return y.createElement(S_,{key:"line-".concat(f),option:i,lineItemProps:h})});return y.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function qq(e){var t=e.y,r=e.height,n=e.vertical,i=n===void 0?!0:n,o=e.verticalPoints;if(!i||!o||!o.length)return null;e.xAxisId,e.yAxisId;var s=kf(e,Fq),u=o.map((d,f)=>{var h=Zt(Zt({},s),{},{x1:d,y1:t,x2:d,y2:t+r,key:"line-".concat(f),index:f});return y.createElement(S_,{option:i,lineItemProps:h,key:"line-".concat(f)})});return y.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Gq(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,i=e.y,o=e.width,s=e.height,u=e.horizontalPoints,d=e.horizontal,f=d===void 0?!0:d;if(!f||!t||!t.length||u==null)return null;var h=u.map(v=>Math.round(v+i-i)).sort((v,b)=>v-b);i!==h[0]&&h.unshift(0);var m=h.map((v,b)=>{var S=h[b+1],k=S==null,E=k?i+s-v:S-v;if(E<=0)return null;var P=b%t.length;return y.createElement("rect",{key:"react-".concat(b),y:v,x:n,height:E,width:o,stroke:"none",fill:t[P],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return y.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},m)}function Yq(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,i=e.fillOpacity,o=e.x,s=e.y,u=e.width,d=e.height,f=e.verticalPoints;if(!r||!n||!n.length)return null;var h=f.map(v=>Math.round(v+o-o)).sort((v,b)=>v-b);o!==h[0]&&h.unshift(0);var m=h.map((v,b)=>{var S=h[b+1],k=S==null,E=k?o+u-v:S-v;if(E<=0)return null;var P=b%n.length;return y.createElement("rect",{key:"react-".concat(b),x:v,y:s,width:E,height:d,stroke:"none",fill:n[P],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return y.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},m)}var Qq=(e,t)=>{var r=e.xAxis,n=e.width,i=e.height,o=e.offset;return nO(A0(Zt(Zt(Zt({},ti),r),{},{ticks:iO(r),viewBox:{x:0,y:0,width:n,height:i}})),o.left,o.left+o.width,t)},Xq=(e,t)=>{var r=e.yAxis,n=e.width,i=e.height,o=e.offset;return nO(A0(Zt(Zt(Zt({},ti),r),{},{ticks:iO(r),viewBox:{x:0,y:0,width:n,height:i}})),o.top,o.top+o.height,t)},Zq={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:nr.grid};function E_(e){var t=fO(),r=hO(),n=dO(),i=Zt(Zt({},Hr(e,Zq)),{},{x:be(e.x)?e.x:n.left,y:be(e.y)?e.y:n.top,width:be(e.width)?e.width:n.width,height:be(e.height)?e.height:n.height}),o=i.xAxisId,s=i.yAxisId,u=i.x,d=i.y,f=i.width,h=i.height,m=i.syncWithTicks,v=i.horizontalValues,b=i.verticalValues,S=yr(),k=Ee(F=>tE(F,"xAxis",o,S)),E=Ee(F=>tE(F,"yAxis",s,S));if(!Nn(f)||!Nn(h)||!be(u)||!be(d))return null;var P=i.verticalCoordinatesGenerator||Qq,j=i.horizontalCoordinatesGenerator||Xq,_=i.horizontalPoints,O=i.verticalPoints;if((!_||!_.length)&&typeof j=="function"){var N=v&&v.length,C=j({yAxis:E?Zt(Zt({},E),{},{ticks:N?v:E.ticks}):void 0,width:t??f,height:r??h,offset:n},N?!0:m);qd(Array.isArray(C),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof C,"]")),Array.isArray(C)&&(_=C)}if((!O||!O.length)&&typeof P=="function"){var R=b&&b.length,z=P({xAxis:k?Zt(Zt({},k),{},{ticks:R?b:k.ticks}):void 0,width:t??f,height:r??h,offset:n},R?!0:m);qd(Array.isArray(z),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof z,"]")),Array.isArray(z)&&(O=z)}return y.createElement(fi,{zIndex:i.zIndex},y.createElement("g",{className:"recharts-cartesian-grid"},y.createElement(Kq,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),y.createElement(Gq,ja({},i,{horizontalPoints:_})),y.createElement(Yq,ja({},i,{verticalPoints:O})),y.createElement(Vq,ja({},i,{offset:n,horizontalPoints:_,xAxis:k,yAxis:E})),y.createElement(qq,ja({},i,{offset:n,verticalPoints:O,xAxis:k,yAxis:E}))))}E_.displayName="CartesianGrid";var Jq={},P_=Jt({name:"errorBars",initialState:Jq,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]||(e[n]=[]),e[n].push(i)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.prev,o=r.next;e[n]&&(e[n]=e[n].map(s=>s.dataKey===i.dataKey&&s.direction===i.direction?o:s))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==i.dataKey||o.direction!==i.direction))}}}),C0=P_.actions;C0.addErrorBar;C0.replaceErrorBar;C0.removeErrorBar;var eG=P_.reducer;function A_(e,t){var r,n,i=Ee(f=>ui(f,e)),o=Ee(f=>ci(f,t)),s=(r=i==null?void 0:i.allowDataOverflow)!==null&&r!==void 0?r:kt.allowDataOverflow,u=(n=o==null?void 0:o.allowDataOverflow)!==null&&n!==void 0?n:St.allowDataOverflow,d=s||u;return{needClip:d,needClipX:s,needClipY:u}}function tG(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,i=P0(),o=A_(t,r),s=o.needClipX,u=o.needClipY,d=o.needClip,f=Ee(_=>cj(_,t,!1)),h=Ee(_=>dj(_,r,!1));if(!d||!i)return null;var m=i.x,v=i.y,b=i.width,S=i.height,k=s&&f?Math.min(f[0],f[1]):m-b/2,E=u&&h?Math.min(h[0],h[1]):v-S/2,P=s&&f?Math.abs(f[1]-f[0]):b*2,j=u&&h?Math.abs(h[1]-h[0]):S*2;return y.createElement("clipPath",{id:"clipPath-".concat(n)},y.createElement("rect",{x:k,y:E,width:P,height:j}))}function rG(e){var t=Ff(e),r=3,n=2;if(t!=null){var i=t.r,o=t.strokeWidth,s=Number(i),u=Number(o);return(Number.isNaN(s)||s<0)&&(s=r),(Number.isNaN(u)||u<0)&&(u=n),{r:s,strokeWidth:u}}return{r,strokeWidth:n}}function j0(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:v_}function _0(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:v_}var O_=(e,t,r)=>xj(e,"xAxis",j0(e,t),r),C_=(e,t,r)=>yj(e,"xAxis",j0(e,t),r),j_=(e,t,r)=>xj(e,"yAxis",_0(e,t),r),__=(e,t,r)=>yj(e,"yAxis",_0(e,t),r),nG=H([ot,O_,j_,C_,__],(e,t,r,n,i)=>Tn(e,"xAxis")?Vd(t,n,!1):Vd(r,i,!1)),iG=(e,t)=>t,N_=H([LC,iG],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),I_=e=>{var t=ot(e),r=Tn(t,"xAxis");return r?"yAxis":"xAxis"},aG=(e,t)=>{var r=I_(e);return r==="yAxis"?_0(e,t):j0(e,t)},oG=(e,t,r)=>GC(e,I_(e),aG(e,t),r),lG=H([N_,oG],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,i=_y(e);if(!(n==null||i==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,s=o==null?void 0:o.find(u=>u.key===i);if(s!=null)return s.map(u=>[u[0],u[1]])}}}),sG=H([ot,O_,j_,C_,__,lG,I6,nG,N_,Y6],(e,t,r,n,i,o,s,u,d,f)=>{var h=s.chartData,m=s.dataStartIndex,v=s.dataEndIndex;if(!(d==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||i==null||n.length===0||i.length===0||u==null)){var b=d.data,S;if(b&&b.length>0?S=b:S=h==null?void 0:h.slice(m,v+1),S!=null)return TG({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataStartIndex:m,areaSettings:d,stackedData:o,displayedData:S,chartBaseValue:f,bandSize:u})}}),uG=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],cG=["id","baseLine"];function Ks(){return Ks=Object.assign?Object.assign.bind():function(e){for(var t=1;tm.y||0));return be(i)?h=Math.max(i,h):i&&Array.isArray(i)&&i.length&&(h=Math.max(...i.map(m=>m.y||0),h)),be(h)?y.createElement("rect",{x:um.x||0));return be(i)?h=Math.max(i,h):i&&Array.isArray(i)&&i.length&&(h=Math.max(...i.map(m=>m.x||0),h)),be(h)?y.createElement("rect",{x:0,y:ue==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[kl(kl({},r.next),{},{x:Qn(r.prev.x,r.next.x,t),y:Qn(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),T_={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:S0,animationInterpolateFn:kG,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:mG,xAxisId:0,yAxisId:0,zIndex:nr.area};function Ef(e,t){return e&&e!=="none"?e:t}var SG=e=>{var t=e.dataKey,r=e.name,n=e.stroke,i=e.fill,o=e.legendType,s=e.hide;return[{inactive:s,dataKey:t,type:o,color:Ef(n,i),value:aO(r,t),payload:e}]},EG=y.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,i=e.strokeWidth,o=e.fill,s=e.name,u=e.hide,d=e.unit,f=e.tooltipType,h=e.id,m={dataDefinedOnItem:r,getPosition:Al,settings:{stroke:n,strokeWidth:i,fill:o,dataKey:t,nameKey:void 0,name:aO(s,t),hide:u,type:f,color:Ef(n,o),unit:d,graphicalItemId:h}};return y.createElement(RK,{tooltipEntrySettings:m})});function PG(e){var t=e.clipPathId,r=e.points,n=e.props,i=n.needClip,o=n.dot,s=n.dataKey,u=ln(n);return y.createElement(PV,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:s,baseProps:u,needClip:i,clipPathId:t})}function AG(e){var t=e.showLabels,r=e.children,n=e.points,i=n.map(o=>{var s,u,d={x:(s=o.x)!==null&&s!==void 0?s:0,y:(u=o.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return kl(kl({},d),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return y.createElement(wK,{value:t?i:void 0},r)}function OG(e){var t=e.points,r=e.baseLine,n=e.needClip,i=e.clipPathId,o=e.props,s=e.animationElapsedTime,u=e.isAnimating,d=e.isEntrance,f=o.layout,h=o.type,m=o.stroke,v=o.connectNulls,b=o.isRange,S=o.shape,k=o.id,E=M_(o,vG),P=Br(E),j=kl(kl({},P),{},{id:k,points:t,connectNulls:v,type:h,baseLine:r,layout:f,stroke:m,isRange:b,animationElapsedTime:s,isAnimating:u,isEntrance:d});return y.createElement(y.Fragment,null,(t==null?void 0:t.length)>1&&y.createElement(Ur,{clipPath:n?"url(#clipPath-".concat(i,")"):void 0},y.createElement(DK,{option:S,DefaultShape:T_.shape,shapeProps:j})),y.createElement(PG,{points:t,props:E,clipPathId:i}))}function CG(e,t,r){if(be(e)){var n=be(t)?t:void 0;return Qn(n,e,r)}if(Ut(e)||jn(e)){var i=be(t)?t:void 0;return Qn(i,0,r)}return e}function jG(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=e.previousPointsRef,o=e.previousBaselineRef,s=n.points,u=n.baseLine,d=n.isAnimationActive,f=n.animationBegin,h=n.animationDuration,m=n.animationEasing,v=n.animationMatchBy,b=n.animationInterpolateFn,S=y.useMemo(()=>({points:s,baseLine:u}),[s,u]),k=h_(S,o),E=vy(),P=JK(n.onAnimationStart,n.onAnimationEnd),j=P.isAnimating,_=P.handleAnimationStart,O=P.handleAnimationEnd,N=k.startValue;if(E==null)return null;var C;return Array.isArray(u)&&Array.isArray(N)?C=Og(N,u,v):Array.isArray(u)?C=Og(null,u,v):C=null,y.createElement(eV,{animationInput:S,animationIdPrefix:"recharts-area-",items:s,previousItemsRef:i,isAnimationActive:d,animationBegin:f,animationDuration:h,animationEasing:m,onAnimationStart:_,onAnimationEnd:O,animationInterpolateFn:b,animationMatchBy:v,layout:E},(R,z,F)=>{var V;return z===1?V=u:Array.isArray(u)?V=b(C,z,E):V=F?u:CG(u,N,z),k.syncStepValue(V,z),y.createElement(AG,{showLabels:!j,points:s},n.children,y.createElement(OG,{points:R,baseLine:V,needClip:t,clipPathId:r,props:n,animationElapsedTime:z,isAnimating:j||z<1,isEntrance:F}),y.createElement(EK,{label:n.label}))})}function _G(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=y.useRef(null),o=y.useRef();return y.createElement(jG,{needClip:t,clipPathId:r,props:n,previousPointsRef:i,previousBaselineRef:o})}class NG extends y.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,i=t.points,o=t.className,s=t.top,u=t.left,d=t.needClip,f=t.xAxisId,h=t.yAxisId,m=t.width,v=t.height,b=t.id,S=t.baseLine,k=t.zIndex;if(r)return null;var E=Xe("recharts-area",o),P=b,j=rG(n),_=j.r,O=j.strokeWidth,N=d_(n),C=_*2+O,R=d?"url(#clipPath-".concat(N?"":"dots-").concat(P,")"):void 0;return y.createElement(fi,{zIndex:k},y.createElement(Ur,{className:E},d&&y.createElement("defs",null,y.createElement(tG,{clipPathId:P,xAxisId:f,yAxisId:h}),!N&&y.createElement("clipPath",{id:"clipPath-dots-".concat(P)},y.createElement("rect",{x:u-C/2,y:s-C/2,width:m+C,height:v+C}))),y.createElement(_G,{needClip:d,clipPathId:P,props:this.props})),y.createElement(VE,{points:i,mainColor:Ef(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:R}),this.props.isRange&&Array.isArray(S)&&y.createElement(VE,{points:S,mainColor:Ef(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:R}))}}function IG(e){var t,r=e.activeDot,n=e.animationBegin,i=e.animationDuration,o=e.animationEasing,s=e.connectNulls,u=e.dot,d=e.fill,f=e.fillOpacity,h=e.hide,m=e.isAnimationActive,v=e.legendType,b=e.stroke,S=e.xAxisId,k=e.yAxisId,E=M_(e,gG),P=Ol(),j=Uj(),_=A_(S,k),O=_.needClip,N=yr(),C=(t=Ee(le=>sG(le,e.id,N)))!==null&&t!==void 0?t:{},R=C.points,z=C.isRange,F=C.baseLine,V=P0();if(P!=="horizontal"&&P!=="vertical"||V==null||j!=="AreaChart"&&j!=="ComposedChart")return null;var Q=V.height,B=V.width,ue=V.x,G=V.y;return!R||!R.length?null:y.createElement(NG,Sf({},E,{activeDot:r,animationBegin:n,animationDuration:i,animationEasing:o,baseLine:F,connectNulls:s,dot:u,fill:d,fillOpacity:f,height:Q,hide:h,layout:P,isAnimationActive:m,isRange:z,legendType:v,needClip:O,points:R,stroke:b,width:B,left:ue,top:G,xAxisId:S,yAxisId:k}))}var MG=(e,t,r,n,i)=>{var o=r??t;if(be(o))return o;var s=e==="horizontal"?i:n,u=s.scale.domain();if(s.type==="number"){var d=Math.max(u[0],u[1]),f=Math.min(u[0],u[1]);return o==="dataMin"?f:o==="dataMax"||d<0?d:Math.max(Math.min(u[0],u[1]),0)}return o==="dataMin"?u[0]:o==="dataMax"?u[1]:u[0]};function TG(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,i=t.dataKey,o=e.stackedData,s=e.layout,u=e.chartBaseValue,d=e.xAxis,f=e.yAxis,h=e.displayedData,m=e.dataStartIndex,v=e.xAxisTicks,b=e.yAxisTicks,S=e.bandSize,k=o&&o.length,E=MG(s,u,n,d,f),P=s==="horizontal",j=!1,_=h.map((N,C)=>{var R,z,F,V;if(k)V=o[m+C];else{var Q=Nt(N,i);Array.isArray(Q)?(V=Q,j=!0):V=[E,Q]}var B=(R=(z=V)===null||z===void 0?void 0:z[1])!==null&&R!==void 0?R:null,ue=B==null||k&&!r&&Nt(N,i)==null;if(P){var G;return{x:Qw({axis:d,ticks:v,bandSize:S,entry:N,index:C}),y:ue?null:(G=f.scale.map(B))!==null&&G!==void 0?G:null,value:V,payload:N}}return{x:ue?null:(F=d.scale.map(B))!==null&&F!==void 0?F:null,y:Qw({axis:f,ticks:b,bandSize:S,entry:N,index:C}),value:V,payload:N}}),O;return k||j?O=_.map(N=>{var C,R=Array.isArray(N.value)?N.value[0]:null;if(P){var z;return{x:N.x,y:R!=null&&N.y!=null&&(z=f.scale.map(R))!==null&&z!==void 0?z:null,payload:N.payload}}return{x:R!=null&&(C=d.scale.map(R))!==null&&C!==void 0?C:null,y:N.y,payload:N.payload}}):O=P?f.scale.map(E):d.scale.map(E),{points:_,baseLine:O??0,isRange:j}}function DG(e){var t=Hr(e,T_),r=yr();return y.createElement(uV,{id:t.id,type:"area"},n=>y.createElement(y.Fragment,null,y.createElement($K,{legendPayload:SG(t)}),y.createElement(EG,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),y.createElement(vV,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:yL(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),y.createElement(IG,Sf({},t,{id:n}))))}var D_=y.memo(DG,sh);D_.displayName="Area";var RG=["domain","range"],$G=["domain","range"];function rP(e,t){if(e==null)return{};var r,n,i=LG(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(s!=null)return aP(aP({},o),{},{type:s})},[o,s]);return y.useLayoutEffect(()=>{u!=null&&(r.current===null?t(_V(u)):r.current!==u&&t(NV({prev:r.current,next:u})),r.current=u)},[u,t]),y.useLayoutEffect(()=>()=>{r.current&&(t(IV(r.current)),r.current=null)},[t]),null}var qG=e=>{var t=e.xAxisId,r=e.className,n=Ee(lO),i=yr(),o="xAxis",s=Ee(v=>gj(v,o,t,i)),u=Ee(v=>O7(v,t)),d=Ee(v=>M7(v,t)),f=Ee(v=>TC(v,t));if(u==null||d==null||f==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var h=jg(e,FG);f.id,f.scale;var m=jg(f,BG);return y.createElement(O0,Cg({},h,m,{x:d.x,y:d.y,width:u.width,height:u.height,className:Xe("recharts-".concat(o," ").concat(o),r),viewBox:n,ticks:s,axisType:o,axisId:t}))},GG={allowDataOverflow:kt.allowDataOverflow,allowDecimals:kt.allowDecimals,allowDuplicatedCategory:kt.allowDuplicatedCategory,angle:kt.angle,axisLine:ti.axisLine,height:kt.height,hide:!1,includeHidden:kt.includeHidden,interval:kt.interval,label:!1,minTickGap:kt.minTickGap,mirror:kt.mirror,orientation:kt.orientation,padding:kt.padding,reversed:kt.reversed,scale:kt.scale,tick:kt.tick,tickCount:kt.tickCount,tickLine:ti.tickLine,tickSize:ti.tickSize,type:kt.type,niceTicks:kt.niceTicks,xAxisId:0},YG=e=>{var t=Hr(e,GG);return y.createElement(y.Fragment,null,y.createElement(VG,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),y.createElement(qG,t))},_g=y.memo(YG,R_);_g.displayName="XAxis";var QG=["type"],XG=["dangerouslySetInnerHTML","ticks","scale"],ZG=["id","scale"];function Ng(){return Ng=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(s!=null)return lP(lP({},o),{},{type:s})},[s,o]);return y.useLayoutEffect(()=>{u!=null&&(r.current===null?t(MV(u)):r.current!==u&&t(TV({prev:r.current,next:u})),r.current=u)},[u,t]),y.useLayoutEffect(()=>()=>{r.current&&(t(DV(r.current)),r.current=null)},[t]),null}function iY(e){var t=e.yAxisId,r=e.className,n=e.width,i=e.label,o=y.useRef(null),s=y.useRef(null),u=Ee(lO),d=yr(),f=xt(),h="yAxis",m=Ee(P=>R7(P,t)),v=Ee(P=>D7(P,t)),b=Ee(P=>gj(P,h,t,d)),S=Ee(P=>DC(P,t));if(y.useLayoutEffect(()=>{if(!(n!=="auto"||!m||k0(i)||y.isValidElement(i)||S==null)){var P=o.current;if(P){var j=P.getCalculatedWidth();Math.round(m.width)!==Math.round(j)&&f(RV({id:t,width:j}))}}},[b,m,f,i,t,n,S]),m==null||v==null||S==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var k=Ig(e,XG);S.id,S.scale;var E=Ig(S,ZG);return y.createElement(O0,Ng({},k,E,{ref:o,labelRef:s,x:v.x,y:v.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:m.width,height:m.height,className:Xe("recharts-".concat(h," ").concat(h),r),viewBox:u,ticks:b,axisType:h,axisId:t}))}var aY={allowDataOverflow:St.allowDataOverflow,allowDecimals:St.allowDecimals,allowDuplicatedCategory:St.allowDuplicatedCategory,angle:St.angle,axisLine:ti.axisLine,hide:!1,includeHidden:St.includeHidden,interval:St.interval,label:!1,minTickGap:St.minTickGap,mirror:St.mirror,orientation:St.orientation,padding:St.padding,reversed:St.reversed,scale:St.scale,tick:St.tick,tickCount:St.tickCount,tickLine:ti.tickLine,tickSize:ti.tickSize,type:St.type,niceTicks:St.niceTicks,width:St.width,yAxisId:0},oY=e=>{var t=Hr(e,aY);return y.createElement(y.Fragment,null,y.createElement(nY,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),y.createElement(iY,t))},$_=y.memo(oY,R_);$_.displayName="YAxis";var lY=(e,t)=>t,N0=H([lY,ot,YO,Mt,Rj,di,iW,Kt],dW);function sY(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function I0(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(sY(e)){var i=e.currentTarget.getBBox();r=i.width>0?t.width/i.width:1,n=i.height>0?t.height/i.height:1}else{var o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var s=(u,d)=>({relativeX:Math.round((u-t.left)/r),relativeY:Math.round((d-t.top)/n)});return"touches"in e?Array.from(e.touches).map(u=>s(u.clientX,u.clientY)):s(e.clientX,e.clientY)}var L_=Cr("mouseClick"),z_=Pu();z_.startListening({actionCreator:L_,effect:(e,t)=>{var r=e.payload,n=N0(t.getState(),I0(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(X7({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var Mg=Cr("mouseMove"),F_=Pu(),zo=null,ya=null,hv=null;F_.startListening({actionCreator:Mg,effect:(e,t)=>{var r=e.payload,n=t.getState(),i=n.eventSettings,o=i.throttleDelay,s=i.throttledEvents,u=s==="all"||(s==null?void 0:s.includes("mousemove"));zo!==null&&(cancelAnimationFrame(zo),zo=null),ya!==null&&(typeof o!="number"||!u)&&(clearTimeout(ya),ya=null),hv=I0(r);var d=()=>{var f=t.getState(),h=Lu(f,f.tooltip.settings.shared);if(!hv){zo=null,ya=null;return}if(h==="axis"){var m=N0(f,hv);(m==null?void 0:m.activeIndex)!=null?t.dispatch(Aj({activeIndex:m.activeIndex,activeDataKey:void 0,activeCoordinate:m.activeCoordinate})):t.dispatch(Pj())}zo=null,ya=null};if(!u){d();return}o==="raf"?zo=requestAnimationFrame(d):typeof o=="number"&&ya===null&&(ya=setTimeout(d,o))}});function uY(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var sP={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},B_=Jt({name:"rootProps",initialState:sP,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:sP.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),cY=B_.reducer,dY=B_.actions.updateOptions,fY=null,hY={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},U_=Jt({name:"polarOptions",initialState:fY,reducers:hY});U_.actions.updatePolarOptions;var pY=U_.reducer,W_=Cr("keyDown"),H_=Cr("focus"),K_=Cr("blur"),Ch=Pu(),Fo=null,xa=null,yd=null;Ch.startListening({actionCreator:W_,effect:(e,t)=>{yd=e.payload,Fo!==null&&(cancelAnimationFrame(Fo),Fo=null);var r=t.getState(),n=r.eventSettings,i=n.throttleDelay,o=n.throttledEvents,s=o==="all"||o.includes("keydown");xa!==null&&(typeof i!="number"||!s)&&(clearTimeout(xa),xa=null);var u=()=>{try{var d=t.getState(),f=d.rootProps.accessibilityLayer!==!1;if(!f)return;var h=d.tooltip.keyboardInteraction,m=yd;if(m!=="ArrowRight"&&m!=="ArrowLeft"&&m!=="Enter")return;var v=Ws(h,Qa(d),bl(d),wl(d)),b=v==null?-1:Number(v),S=!Number.isFinite(b)||b<0,k=di(d),E=Qa(d),P=Lu(d,d.tooltip.settings.shared);if(m==="Enter"){if(S)return;var j=yf(d,P,"hover",String(h.index));t.dispatch(gf({active:!h.active,activeIndex:h.index,activeCoordinate:j}));return}var _=B7(d),O=_==="left-to-right"?1:-1,N=m==="ArrowRight"?1:-1,C;if(S){var R=bl(d),z=wl(d),F=N*O,V=le=>({active:!1,index:String(le),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(C=-1,F>0){for(var Q=0;Q=0;B--)if(Ws(V(B),E,R,z)!=null){C=B;break}if(C<0)return}else{C=b+N*O;var ue=(k==null?void 0:k.length)||E.length;if(ue===0||C>=ue||C<0)return}var G=yf(d,P,"hover",String(C));t.dispatch(gf({active:!0,activeIndex:C.toString(),activeCoordinate:G}))}finally{Fo=null,xa=null}};if(!s){u();return}i==="raf"?Fo=requestAnimationFrame(u):typeof i=="number"&&xa===null&&(u(),yd=null,xa=setTimeout(()=>{yd?u():(xa=null,Fo=null)},i))}});Ch.startListening({actionCreator:H_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;if(!i.active&&i.index==null){var o="0",s=Lu(r,r.tooltip.settings.shared),u=yf(r,s,"hover",String(o));t.dispatch(gf({active:!0,activeIndex:o,activeCoordinate:u}))}}}});Ch.startListening({actionCreator:K_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;i.active&&t.dispatch(gf({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function V_(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var i=Reflect.get(r,n);return typeof i=="function"?i.bind(r):i}})}var Rr=Cr("externalEvent"),q_=Pu(),xd=new Map,$s=new Map,pv=new Map;q_.startListening({actionCreator:Rr,effect:(e,t)=>{var r=e.payload,n=r.handler,i=r.reactEvent;if(n!=null){var o=i.type,s=V_(i);pv.set(o,{handler:n,reactEvent:s});var u=xd.get(o);u!==void 0&&(cancelAnimationFrame(u),xd.delete(o));var d=t.getState(),f=d.eventSettings,h=f.throttleDelay,m=f.throttledEvents,v=m,b=v==="all"||(v==null?void 0:v.includes(o)),S=$s.get(o);S!==void 0&&(typeof h!="number"||!b)&&(clearTimeout(S),$s.delete(o));var k=()=>{var j=pv.get(o);try{if(!j)return;var _=j.handler,O=j.reactEvent,N=t.getState(),C={activeCoordinate:W9(N),activeDataKey:F9(N),activeIndex:du(N),activeLabel:zj(N),activeTooltipIndex:du(N),isTooltipActive:H9(N)};_&&_(C,O)}finally{xd.delete(o),$s.delete(o),pv.delete(o)}};if(!b){k();return}if(h==="raf"){var E=requestAnimationFrame(k);xd.set(o,E)}else if(typeof h=="number"){if(!$s.has(o)){k();var P=setTimeout(k,h);$s.set(o,P)}}else k()}}});var mY=H([Dl],e=>e.tooltipItemPayloads),vY=H([mY,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var i=n.getPosition;if(i!=null)return i(t)}}}),G_=Cr("touchMove"),Y_=Pu(),ba=null,Di=null,uP=null,Ls=null;Y_.startListening({actionCreator:G_,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){Ls=V_(r);var n=t.getState(),i=n.eventSettings,o=i.throttleDelay,s=i.throttledEvents,u=s==="all"||s.includes("touchmove");ba!==null&&(cancelAnimationFrame(ba),ba=null),Di!==null&&(typeof o!="number"||!u)&&(clearTimeout(Di),Di=null),uP=Array.from(r.touches).map(f=>I0({clientX:f.clientX,clientY:f.clientY,currentTarget:r.currentTarget}));var d=()=>{if(Ls!=null){var f=t.getState(),h=Lu(f,f.tooltip.settings.shared);if(h==="axis"){var m,v=(m=uP)===null||m===void 0?void 0:m[0];if(v==null){ba=null,Di=null;return}var b=N0(f,v);(b==null?void 0:b.activeIndex)!=null&&t.dispatch(Aj({activeIndex:b.activeIndex,activeDataKey:void 0,activeCoordinate:b.activeCoordinate}))}else if(h==="item"){var S,k=Ls.touches[0];if(document.elementFromPoint==null||k==null)return;var E=document.elementFromPoint(k.clientX,k.clientY);if(!E||!E.getAttribute)return;var P=E.getAttribute(PL),j=(S=E.getAttribute(AL))!==null&&S!==void 0?S:void 0,_=ro(f).find(C=>C.id===j);if(P==null||_==null||j==null)return;var O=_.dataKey,N=vY(f,P,j);t.dispatch(Q7({activeDataKey:O,activeIndex:P,activeCoordinate:N,activeGraphicalItemId:j}))}ba=null,Di=null}};if(!u){d();return}o==="raf"?ba=requestAnimationFrame(d):typeof o=="number"&&Di===null&&(d(),Ls=null,Di=setTimeout(()=>{Ls?d():(Di=null,ba=null)},o))}}});var Q_={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},X_=Jt({name:"eventSettings",initialState:Q_,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),gY=X_.actions.setEventSettings,yY=X_.reducer,xY=C2({brush:VV,cartesianAxis:$V,chartData:UW,errorBars:eG,eventSettings:yY,graphicalItems:pV,layout:uL,legend:Sz,options:$W,polarAxis:AK,polarOptions:pY,referenceElements:QV,renderedTicks:yq,rootProps:cY,tooltip:Z7,zIndex:EW}),bY=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return T$({reducer:xY,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([z_.middleware,F_.middleware,Ch.middleware,q_.middleware,Y_.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat(W2({type:"raf"}))},devTools:{serialize:{replacer:uY},name:"recharts-".concat(r)}})};function wY(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,i=yr(),o=y.useRef(null);if(i)return r;o.current==null&&(o.current=bY(t,n));var s=ly;return y.createElement(zz,{context:s,store:o.current},r)}function kY(e){var t=e.layout,r=e.margin,n=xt(),i=yr();return y.useEffect(()=>{i||(n(oL(t)),n(aL(r)))},[n,i,t,r]),null}var SY=y.memo(kY,sh);function EY(e){var t=xt();return y.useEffect(()=>{t(dY(e))},[t,e]),null}var PY=e=>{var t=xt();return y.useEffect(()=>{t(gY(e))},[t,e]),null},AY=y.memo(PY,sh);function cP(e){var t=e.zIndex,r=e.isPanorama,n=y.useRef(null),i=xt();return y.useLayoutEffect(()=>(n.current&&i(kW({zIndex:t,element:n.current,isPanorama:r})),()=>{i(SW({zIndex:t,isPanorama:r}))}),[i,t,r]),y.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function dP(e){var t=e.children,r=e.isPanorama,n=Ee(hW);if(!n||n.length===0)return t;var i=n.filter(s=>s<0),o=n.filter(s=>s>0);return y.createElement(y.Fragment,null,i.map(s=>y.createElement(cP,{key:s,zIndex:s,isPanorama:r})),t,o.map(s=>y.createElement(cP,{key:s,zIndex:s,isPanorama:r})))}var OY=["children"];function CY(e,t){if(e==null)return{};var r,n,i=jY(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=fO(),n=hO(),i=SO();if(!Nn(r)||!Nn(n))return null;var o=e.children,s=e.otherAttributes,u=e.title,d=e.desc,f,h;return s!=null&&(typeof s.tabIndex=="number"?f=s.tabIndex:f=i?0:void 0,typeof s.role=="string"?h=s.role:h=i?"application":void 0),y.createElement(VA,Pf({},s,{title:u,desc:d,role:h,tabIndex:f,width:r,height:n,style:_Y,ref:t}),o)}),IY=e=>{var t=e.children,r=Ee(nh);if(!r)return null;var n=r.width,i=r.height,o=r.y,s=r.x;return y.createElement(VA,{width:n,height:i,x:s,y:o},t)},fP=y.forwardRef((e,t)=>{var r=e.children,n=CY(e,OY),i=yr();return i?y.createElement(IY,null,y.createElement(dP,{isPanorama:!0},r)):y.createElement(NY,Pf({ref:t},n),y.createElement(dP,{isPanorama:!1},r))});function MY(e,t){return $Y(e)||RY(e,t)||DY(e,t)||TY()}function TY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DY(e,t){if(e){if(typeof e=="string")return hP(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hP(e,t):void 0}}function hP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var s=n.getBoundingClientRect(),u=s.width/n.offsetWidth;Fe(u)&&u!==o&&e(sL(u))}},[n,e,o]),i}function pP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function zY(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(XW(),null);function Of(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var GY=y.forwardRef((e,t)=>{var r,n,i=y.useRef(null),o=y.useState({containerWidth:Of((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:Of((n=e.style)===null||n===void 0?void 0:n.height)}),s=Af(o,2),u=s[0],d=s[1],f=y.useCallback((m,v)=>{d(b=>{var S=Math.round(m),k=Math.round(v);return b.containerWidth===S&&b.containerHeight===k?b:{containerWidth:S,containerHeight:k}})},[]),h=y.useCallback(m=>{if(typeof t=="function"&&t(m),i.current!=null&&(i.current.disconnect(),i.current=null),m!=null&&typeof ResizeObserver<"u"){var v=m.getBoundingClientRect(),b=v.width,S=v.height;f(b,S);var k=P=>{var j=P[0];if(j!=null){var _=j.contentRect,O=_.width,N=_.height;f(O,N)}},E=new ResizeObserver(k);E.observe(m),i.current=E}},[t,f]);return y.useEffect(()=>()=>{var m=i.current;m!=null&&m.disconnect()},[f]),y.createElement(y.Fragment,null,y.createElement(Ou,{width:u.containerWidth,height:u.containerHeight}),y.createElement("div",Ji({ref:h},e)))}),YY=y.forwardRef((e,t)=>{var r=e.width,n=e.height,i=y.useState({containerWidth:Of(r),containerHeight:Of(n)}),o=Af(i,2),s=o[0],u=o[1],d=y.useCallback((h,m)=>{u(v=>{var b=Math.round(h),S=Math.round(m);return v.containerWidth===b&&v.containerHeight===S?v:{containerWidth:b,containerHeight:S}})},[]),f=y.useCallback(h=>{if(typeof t=="function"&&t(h),h!=null){var m=h.getBoundingClientRect(),v=m.width,b=m.height;d(v,b)}},[t,d]);return y.createElement(y.Fragment,null,y.createElement(Ou,{width:s.containerWidth,height:s.containerHeight}),y.createElement("div",Ji({ref:f},e)))}),QY=y.forwardRef((e,t)=>{var r=e.width,n=e.height;return y.createElement(y.Fragment,null,y.createElement(Ou,{width:r,height:n}),y.createElement("div",Ji({ref:t},e)))}),XY=y.forwardRef((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?y.createElement(YY,Ji({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?y.createElement(QY,Ji({},e,{width:r,height:n,ref:t})):y.createElement(y.Fragment,null,y.createElement(Ou,{width:r,height:n}),y.createElement("div",Ji({ref:t},e)))});function ZY(e){return e?GY:XY}var JY=y.forwardRef((e,t)=>{var r=e.children,n=e.className,i=e.height,o=e.onClick,s=e.onContextMenu,u=e.onDoubleClick,d=e.onMouseDown,f=e.onMouseEnter,h=e.onMouseLeave,m=e.onMouseMove,v=e.onMouseUp,b=e.onTouchEnd,S=e.onTouchMove,k=e.onTouchStart,E=e.style,P=e.width,j=e.responsive,_=e.dispatchTouchEvents,O=_===void 0?!0:_,N=y.useRef(null),C=xt(),R=y.useState(null),z=Af(R,2),F=z[0],V=z[1],Q=y.useState(null),B=Af(Q,2),ue=B[0],G=B[1],le=LY(),fe=py(),de=(fe==null?void 0:fe.width)>0?fe.width:P,Y=(fe==null?void 0:fe.height)>0?fe.height:i,ae=y.useCallback(Pe=>{le(Pe),typeof t=="function"&&t(Pe),V(Pe),G(Pe),Pe!=null&&(N.current=Pe)},[le,t,V,G]),X=y.useCallback(Pe=>{C(L_(Pe)),C(Rr({handler:o,reactEvent:Pe}))},[C,o]),M=y.useCallback(Pe=>{C(Mg(Pe)),C(Rr({handler:f,reactEvent:Pe}))},[C,f]),T=y.useCallback(Pe=>{C(Pj()),C(Rr({handler:h,reactEvent:Pe}))},[C,h]),Z=y.useCallback(Pe=>{C(Mg(Pe)),C(Rr({handler:m,reactEvent:Pe}))},[C,m]),se=y.useCallback(()=>{C(H_())},[C]),te=y.useCallback(()=>{C(K_())},[C]),ce=y.useCallback(Pe=>{C(W_(Pe.key))},[C]),ge=y.useCallback(Pe=>{C(Rr({handler:s,reactEvent:Pe}))},[C,s]),_e=y.useCallback(Pe=>{C(Rr({handler:u,reactEvent:Pe}))},[C,u]),J=y.useCallback(Pe=>{C(Rr({handler:d,reactEvent:Pe}))},[C,d]),we=y.useCallback(Pe=>{C(Rr({handler:v,reactEvent:Pe}))},[C,v]),Ae=y.useCallback(Pe=>{C(Rr({handler:k,reactEvent:Pe}))},[C,k]),ne=y.useCallback(Pe=>{O&&C(G_(Pe)),C(Rr({handler:S,reactEvent:Pe}))},[C,O,S]),lt=y.useCallback(Pe=>{C(Rr({handler:b,reactEvent:Pe}))},[C,b]),$e=ZY(j);return y.createElement(qj.Provider,{value:F},y.createElement(h5.Provider,{value:ue},y.createElement($e,{width:de??(E==null?void 0:E.width),height:Y??(E==null?void 0:E.height),className:Xe("recharts-wrapper",n),style:zY({position:"relative",cursor:"default",width:de,height:Y},E),onClick:X,onContextMenu:ge,onDoubleClick:_e,onFocus:se,onBlur:te,onKeyDown:ce,onMouseDown:J,onMouseEnter:M,onMouseLeave:T,onMouseMove:Z,onMouseUp:we,onTouchEnd:lt,onTouchMove:ne,onTouchStart:Ae,ref:ae},y.createElement(qY,null),r)))}),eQ=["width","height","responsive","children","className","style","compact","title","desc"];function tQ(e,t){if(e==null)return{};var r,n,i=rQ(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,i=e.responsive,o=e.children,s=e.className,u=e.style,d=e.compact,f=e.title,h=e.desc,m=tQ(e,eQ),v=ln(m);return d?y.createElement(y.Fragment,null,y.createElement(Ou,{width:r,height:n}),y.createElement(fP,{otherAttributes:v,title:f,desc:h},o)):y.createElement(JY,{className:s,style:u,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},y.createElement(fP,{otherAttributes:v,title:f,desc:h,ref:t},y.createElement(nq,null,o)))});function Tg(){return Tg=Object.assign?Object.assign.bind():function(e){for(var t=1;ty.createElement(cQ,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:dQ,tooltipPayloadSearcher:DW,categoricalChartProps:e,ref:t}));const hQ="rgba(130,130,150,0.14)",mv="rgba(130,130,150,0.85)";function pQ(e){if(e<=0)return 10;const t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=5?5:10)*t}function Z_(e,t){return`${t==="%"?Math.round(e):e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString()}${t}`}function mQ({active:e,payload:t,unit:r,label:n}){return!e||!(t!=null&&t.length)?null:x.jsxs("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:[Number.isFinite(n)&&x.jsx("div",{className:"mb-1 border-b border-border/40 pb-1 font-mono text-[10px] text-muted-foreground/80",children:new Date(n).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),x.jsx("div",{className:"space-y-1",children:t.map(i=>x.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[x.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:i.color}}),x.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:i.name}),x.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:Z_(i.value,r)})]},i.dataKey))})]})}function J_({data:e,series:t,unit:r="%",yMode:n="percent",height:i=176,showTime:o=!1}){var h,m;const s=e.reduce((v,b)=>t.reduce((S,k)=>Math.max(S,Number(b[k.key])||0),v),0),u=n==="percent"?Math.min(100,Math.max(25,Math.ceil(s*1.2/25)*25)):Math.max(pQ(s*1.15),10),d=e.length>1?Number((h=e[e.length-1])==null?void 0:h.t)-Number((m=e[0])==null?void 0:m.t):0,f=v=>new Date(v).toLocaleTimeString("de-DE",d<=10*6e4?{hour:"2-digit",minute:"2-digit",second:"2-digit"}:{hour:"2-digit",minute:"2-digit"});return x.jsx("div",{style:{height:i},className:"w-full",children:x.jsx(az,{width:"100%",height:"100%",children:x.jsxs(fQ,{data:e,margin:{top:8,right:6,bottom:0,left:-12},children:[x.jsx("defs",{children:t.map(v=>x.jsxs("linearGradient",{id:`grad-${v.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[x.jsx("stop",{offset:"0%",stopColor:v.color,stopOpacity:.22}),x.jsx("stop",{offset:"100%",stopColor:v.color,stopOpacity:0})]},v.key))}),x.jsx(E_,{vertical:!1,stroke:hQ}),o?x.jsx(_g,{dataKey:"t",type:"number",domain:["dataMin","dataMax"],tickFormatter:f,tickCount:5,minTickGap:40,interval:"preserveStartEnd",axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:mv},height:18}):x.jsx(_g,{dataKey:"t",hide:!0}),x.jsx($_,{domain:[0,u],ticks:[0,u/2,u],tickFormatter:v=>Z_(v,r),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:mv}}),x.jsx(cH,{content:x.jsx(mQ,{unit:r}),cursor:{stroke:mv,strokeOpacity:.4,strokeDasharray:"3 3"}}),t.map(v=>x.jsx(D_,{type:"monotone",dataKey:v.key,name:v.label,stroke:v.color,strokeWidth:2,fill:`url(#grad-${v.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},v.key))]})})})}const eN={"1h":60,"24h":1440},gP={live:"Live","1h":"1 h","24h":"24 h"};function tN({value:e,onChange:t}){return x.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:Object.keys(gP).map(r=>x.jsx("button",{onClick:()=>t(r),className:Re("rounded-md px-2 py-0.5 text-[9px] font-bold uppercase tracking-wide transition-all cursor-pointer",e===r?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:gP[r]},r))})}const vQ=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function gQ(){var h,m,v,b;const{sys:e,hist:t}=r5(),[r,n]=y.useState("live"),i=LA(r==="live"?60:eN[r],r!=="live"),o=y.useMemo(()=>{var S;return r==="live"?t:(((S=i.data)==null?void 0:S.points)??[]).map(k=>({t:k.t*1e3,cpu:k.cpu,ram:k.ram,gpu:k.gpu,disk:k.disk}))},[r,t,i.data]),s=!!(e!=null&&e.gpu&&e.gpu.busy_percent!=null&&e.gpu.gtt_used!=null&&e.gpu.gtt_total!=null),u=vQ.filter(S=>S.key!=="gpu"||s),d={cpu:(h=e==null?void 0:e.cpu)==null?void 0:h.percent,ram:(m=e==null?void 0:e.ram)==null?void 0:m.percent,gpu:s?e.gpu.busy_percent:null,disk:(v=e==null?void 0:e.disk)==null?void 0:v.percent},f={cpu:(b=e==null?void 0:e.cpu)!=null&&b.cores?`${e.cpu.cores} Cores`:"",ram:e?`${Io(e.ram.used)}/${Io(e.ram.total)} GB`:"",gpu:s?`${Io(e.gpu.gtt_used)}/${Io(e.gpu.gtt_total)} GB`:"",disk:e!=null&&e.disk?`${Io(e.disk.used)}/${Io(e.disk.total)} GB`:""};return x.jsxs("div",{className:"flex flex-col justify-between mc-card p-5",children:[x.jsxs("div",{children:[x.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[x.jsx(qP,{className:"h-4.5 w-4.5 text-primary"}),x.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),r==="live"&&x.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[x.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]}),x.jsx("div",{className:"ml-auto",children:x.jsx(tN,{value:r,onChange:n})})]}),e?x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:u.map(S=>x.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[x.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:S.color}}),x.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:S.label}),x.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(d[S.key]??0),"%"]}),f[S.key]&&x.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:f[S.key]})]},S.key))}),r!=="live"&&o.length===0&&x.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:i.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}),(r==="live"||o.length>0)&&x.jsx(J_,{data:o,series:u,unit:"%",yMode:"percent",height:176,showTime:!0})]}):x.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(e==null?void 0:e.temp)&&(e.temp.cpu||e.temp.gpu)&&x.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[e.temp.cpu!=null&&x.jsxs("span",{children:["CPU Temp: ",e.temp.cpu," °C"]}),e.temp.gpu!=null&&x.jsxs("span",{children:["GPU Temp: ",e.temp.gpu," °C"]})]})]})}const yP=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function yQ(){const{data:e}=FA(),t=Y3(),[r,n]=y.useState("live"),i=LA(r==="live"?60:eN[r],r!=="live"),o=y.useMemo(()=>{var h;if(r==="live")return t;const d=((h=i.data)==null?void 0:h.points)??[],f=[];for(let m=1;mx.jsxs("div",{className:"flex items-center gap-1.5",children:[x.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:d.color}}),x.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:d.label}),x.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((s==null?void 0:s[d.key])??0)})]},d.key))})]})]}),r!=="live"&&o.length===0?x.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:i.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}):e?x.jsx(J_,{data:o,series:yP,unit:" tok/s",yMode:"auto",height:150,showTime:!0}):x.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),x.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}const Sl=[{key:"stt_ms",label:"STT",color:"#f59e0b"},{key:"vision_ms",label:"Sehen",color:"#a78bfa"},{key:"hirn_ms",label:"Hirn",color:"#2dd4bf"},{key:"gen_ms",label:"Antwort",color:"#60a5fa"}],_a=e=>e==null?"–":`${(e/1e3).toLocaleString("de-DE",{minimumFractionDigits:1,maximumFractionDigits:1})} s`;function xQ(e){const t=Math.max(0,Date.now()/1e3-e);return t<60?`vor ${Math.round(t)} s`:t<3600?`vor ${Math.round(t/60)} min`:`vor ${Math.round(t/3600)} h`}function Dg(e){return Sl.reduce((t,r)=>t+(e[r.key]??0),0)}function bQ(e){let t=null;for(const r of Sl){const n=e[r.key];n!=null&&(t==null||n>t.ms)&&(t={label:r.label,color:r.color,ms:n})}return t}function wQ({t:e,scale:t}){const r=Sl.map(n=>`${n.label} ${_a(e[n.key])}`).join(" · ")+(e.mem0_ms!=null?` (davon Mem0 ${_a(e.mem0_ms)})`:"");return x.jsxs("div",{className:"flex items-center gap-2.5",children:[x.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:xQ(e.ts)}),x.jsxs("div",{className:"relative h-4 flex-1 overflow-hidden rounded-sm bg-muted/25",title:r,children:[x.jsx("div",{className:"absolute inset-0 flex",children:Sl.map(n=>{const i=e[n.key];return!i||i<=0?null:x.jsx("div",{style:{width:`${i/t*100}%`,background:n.color},className:"h-full first:rounded-l-sm"},n.key)})}),e.error&&x.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-rose-500/15 text-[10px] font-semibold text-rose-300",children:"Fehler"})]}),x.jsx("span",{className:"w-12 shrink-0 text-right font-mono text-[11px] font-semibold tabular-nums text-foreground",children:e.error?"–":_a(Dg(e))})]})}function kQ(){const{data:e}=N3(12),t=e??[],r=Math.max(1,...t.map(o=>Dg(o))),n=t[0],i=n?bQ(n):null;return x.jsxs("div",{className:"mc-card p-5",children:[x.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[x.jsxs("div",{children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(fT,{className:"h-4.5 w-4.5 text-primary"}),x.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Latenz je Turn"}),x.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[x.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),n?x.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[x.jsx("span",{className:`font-space text-3xl font-bold tracking-tight tabular-nums ${n.error?"text-rose-400":"text-foreground"}`,children:n.error?"Fehler":_a(Dg(n))}),x.jsxs("span",{className:"text-xs text-muted-foreground",children:["letzter Turn",!n.error&&i&&x.jsxs(x.Fragment,{children:[" · Täter: ",x.jsx("span",{style:{color:i.color},className:"font-semibold",children:i.label})," ",_a(i.ms)]})]})]}):x.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Noch kein Voice-Turn aufgezeichnet."}),n&&!n.error&&x.jsxs("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground/70",children:[Sl.filter(o=>n[o.key]!=null).map(o=>`${o.label} ${_a(n[o.key])}`).join(" · "),n.mem0_ms!=null&&x.jsxs("span",{className:"text-muted-foreground/50",children:[" · davon Mem0 ",_a(n.mem0_ms)]})]})]}),x.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1 pt-1",children:Sl.map(o=>x.jsxs("div",{className:"flex items-center gap-1.5",children:[x.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:o.color}}),x.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:o.label})]},o.key))})]}),t.length>0?x.jsx("div",{className:"space-y-1.5",children:t.map(o=>x.jsx(wQ,{t:o,scale:r},o.id))}):x.jsx("div",{className:"flex h-[120px] items-center justify-center px-6 text-center text-xs text-muted-foreground",children:"Sprich einmal mit Lucy — dann erscheint hier der Zeit-Wasserfall pro Turn, damit man den einen Hänger sofort sieht."}),x.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:'„Hirn" = Zeit bis zum ersten Wort (Agent + Mem0-Suche + Modell); Tool-Runden stecken in „Antwort". Reine Telegram-Turns laufen an MC2 vorbei und erscheinen hier nicht.'})]})}const en=e=>e==null?"–":e.toLocaleString("de-DE");function SQ(e){const t=Math.max(0,Date.now()/1e3-e);return t<60?`vor ${Math.round(t)} s`:t<3600?`vor ${Math.round(t/60)} min`:`vor ${Math.round(t/3600)} h`}const EQ={passthrough:{label:"frei",tone:"text-emerald-400"},defer:{label:"wartet",tone:"text-amber-400"},soft:{label:"Savepoint",tone:"text-amber-400"},hard:{label:"STOPP",tone:"text-rose-400"}};function PQ(e){return!(e!=null&&e.est)||!(e!=null&&e.exact)?null:(e.est-e.exact)/e.exact*100}function AQ(){const{data:e}=I3();if(!(e!=null&&e.reachable))return x.jsxs("div",{className:"mc-card p-5",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(V1,{className:"h-4.5 w-4.5 text-muted-foreground"}),x.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Wächter"})]}),x.jsxs("div",{className:"mt-3 text-xs text-muted-foreground",children:["Nicht erreichbar. Die Coding-Sitzungen laufen dann ohne Sitzungs-Bremse.",x.jsx("div",{className:"mt-1 font-mono text-[10px] text-muted-foreground/60",children:(e==null?void 0:e.error)??"keine Antwort von :8100"})]})]});const t=e.soft??0,r=e.hard??null,n=e.recent??[],i=n.find(m=>!(e.exempt_models??[]).includes(m.model)),o=(i==null?void 0:i.exact)??(i==null?void 0:i.est)??0,s=Math.max(r??t*1.2,t*1.2,o),u=Math.min(100,o/s*100),d=PQ(n.find(m=>m.est!=null&&m.exact!=null)),f=e.counters,h=r&&o>=r?"bg-rose-500":o>=t?"bg-amber-500":"bg-emerald-500";return x.jsxs("div",{className:"mc-card p-5",children:[x.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[x.jsxs("div",{children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(V1,{className:"h-4.5 w-4.5 text-primary"}),x.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Wächter"}),x.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[x.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),x.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[x.jsx("span",{className:"font-space text-3xl font-bold tracking-tight tabular-nums text-foreground",children:en(o)}),x.jsx("span",{className:"text-xs text-muted-foreground",children:"Tokens in der letzten Bau-Anfrage"})]})]}),x.jsxs("div",{className:"shrink-0 pt-1 text-right",children:[x.jsxs("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-amber-400",children:["Savepoint ab ",en(t)]}),r!=null&&x.jsxs("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-rose-400",children:["Stopp ab ",en(r)]})]})]}),x.jsxs("div",{className:"relative h-3 overflow-hidden rounded-sm bg-muted/25",children:[x.jsx("div",{className:`h-full ${h} transition-all`,style:{width:`${u}%`}}),x.jsx("div",{className:"absolute inset-y-0 w-px bg-amber-400/80",style:{left:`${Math.min(100,t/s*100)}%`},title:`Savepoint-Marke ${en(t)}`}),r!=null&&x.jsx("div",{className:"absolute inset-y-0 w-px bg-rose-400/80",style:{left:`${Math.min(100,r/s*100)}%`},title:`Harter Stopp ${en(r)}`})]}),x.jsx("div",{className:"mt-3 grid grid-cols-4 gap-2 text-center",children:[{k:"Anfragen",v:en(f==null?void 0:f.chat)},{k:"Savepoints",v:en(f==null?void 0:f.soft)},{k:"Stopps",v:en(f==null?void 0:f.hard)},{k:"Tokens ges.",v:en(f==null?void 0:f.tokens_prompt)}].map(m=>x.jsxs("div",{className:"rounded-sm bg-muted/20 py-1.5",children:[x.jsx("div",{className:"font-mono text-sm font-semibold tabular-nums text-foreground",children:m.v}),x.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/70",children:m.k})]},m.k))}),d!=null&&x.jsxs("div",{className:"mt-3 flex items-center gap-2 rounded-sm bg-muted/15 px-2.5 py-1.5",children:[Math.abs(d)<15?x.jsx(KP,{className:"h-3.5 w-3.5 shrink-0 text-emerald-400"}):x.jsx(Mf,{className:"h-3.5 w-3.5 shrink-0 text-amber-400"}),x.jsxs("span",{className:"text-[11px] text-muted-foreground",children:["Schätzung lag"," ",x.jsxs("span",{className:Math.abs(d)<15?"font-semibold text-emerald-400":"font-semibold text-amber-400",children:[d>0?"+":"",d.toFixed(1)," %"]})," ","neben der Wahrheit — er kalibriert sich aus jeder Antwort selbst nach."]})]}),n.length>0&&x.jsx("div",{className:"mt-3 space-y-1",children:n.slice(0,5).map((m,v)=>{const b=EQ[m.action]??{label:m.action,tone:"text-muted-foreground"};return x.jsxs("div",{className:"flex items-center gap-2 text-[11px]",children:[x.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:SQ(m.t)}),x.jsx("span",{className:"w-20 shrink-0 truncate font-medium text-foreground",children:m.model||"?"}),x.jsxs("span",{className:"flex-1 font-mono tabular-nums text-muted-foreground",children:[en(m.exact??m.est),m.exact!=null&&m.est!=null&&x.jsxs("span",{className:"text-muted-foreground/50",children:[" (geschätzt ",en(m.est),")"]})]}),x.jsx("span",{className:`shrink-0 font-semibold ${b.tone}`,children:b.label})]},`${m.t}-${v}`)})}),x.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:"Alle Coding-Agenten laufen durch den Wächter (:8100). Lucys Alltagsmodelle sind ausgenommen — ein Gespräch ist keine Bau-Sitzung und wird nie unterbrochen."})]})}const Cf=e=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:e}}));function OQ({onNavigate:e}){var de,Y,ae,X;const{data:t}=zA(),{data:r}=Jg(),{data:n}=BA(),{data:i}=R3(),{data:o}=T3(),{data:s}=D3(),{data:u}=A3(),{data:d}=O3(),f=X3(),{showAlert:h,dialogElement:m}=Zg(),v=bu(),[b,S]=y.useState({});async function k(M,T){S(Z=>({...Z,[M]:!0}));try{if(T.kind==="loadModel")await Ie(`/api/models/${encodeURIComponent(T.model)}/load`,{method:"POST"});else{const Z=await Ie("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:T.service})});Z.ok||h("Reparatur nicht ganz geklappt",(Z.err||"Unbekannter Fehler")+(T.needsSudo?` -Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}v.invalidateQueries({queryKey:De.health}),v.invalidateQueries({queryKey:De.services}),v.invalidateQueries({queryKey:De.models})}catch(Z){h("Reparatur fehlgeschlagen",String((Z==null?void 0:Z.message)||Z))}finally{S(Z=>({...Z,[M]:!1}))}}const E=((de=t==null?void 0:t.running)==null?void 0:de.length)??0,P=(r==null?void 0:r.services.filter(M=>M.ok).length)??0,j=(r==null?void 0:r.services.length)??0,_=j-P,O=(i==null?void 0:i.length)??0,N=(n?(n.os>0?1:0)+(n.engine>0?1:0)+(n.swap>0?1:0)+(n.models>0?1:0):0)+(((Y=n==null?void 0:n.components)==null?void 0:Y.filter(M=>M.update===!0).length)??0),C=u!=null&&u.available?u.open_count:0,R=d!=null&&d.available?d.items.filter(M=>M.status==="blocked").length:0,z=s?[s.gateway,s.memory,s.desktop_gateway]:[],F=z.filter(M=>M==null?void 0:M.ok).length,V=s?s.gateway.ok?s.memory.ok?s.desktop_gateway.ok?"":"Desktop-Gateway":"Gedächtnis-Leitung":"Modell-Leitung":"",Q=(ae=t==null?void 0:t.models)==null?void 0:ae.find(M=>M.role==="hermes"),B=Q!=null&&Q.name?(X=Q.name.split("/").pop())==null?void 0:X.replace(/\.gguf$/i,""):"",ue=i?i.filter(M=>["auto","agent","hermes"].includes(M.source)).length:0,G=r==null?void 0:r.services.filter(M=>!M.ok).map(M=>M.name).join(", "),le=n?[n.os>0&&"OS",n.engine>0&&"Engine",n.swap>0&&"Swap",n.models>0&&"Modelle"].filter(Boolean):[],fe=le.length>0?le.join(" + "):"";return x.jsxs("div",{className:"space-y-6",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Cockpit"}),x.jsx("p",{className:"text-sm text-muted-foreground",children:"Deine Box auf einen Blick — Details hinter jeder Kachel."})]}),x.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-start",children:[x.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[x.jsx(OQ,{verdict:f.verdict,memory:f.memory,warns:f.warns,problems:f.problems}),x.jsx(J3,{}),x.jsxs("section",{children:[x.jsx(bd,{children:"Leistung"}),x.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[x.jsx(vQ,{}),x.jsx(gQ,{})]}),x.jsx("div",{className:"mt-4",children:x.jsx(wQ,{})}),x.jsx("div",{className:"mt-4",children:x.jsx(PQ,{})})]}),x.jsxs("section",{children:[x.jsx(bd,{children:"Bereiche"}),x.jsxs("div",{className:"grid gap-4 grid-cols-2 md:grid-cols-3",children:[x.jsx(Mo,{icon:Hg,title:"Auftragsbuch",value:u!=null&&u.available?C:"—",unit:C===1?"Vorschlag":"Vorschläge",tone:u?R>0||C>0?"warn":"ok":"loading",hint:R>0?`${R} Karte${R===1?"":"n"} wartet auf deine Antwort`:C>0?`${C} offene Patches`:"Keine ausstehenden Vorschläge",onClick:()=>e("auftraege")}),x.jsx(Mo,{icon:HP,title:"Modelle",value:E,unit:"warm",tone:E>0?"ok":"muted",hint:B?`Hirn: ${B}`:"Kein Hermes-Modell geladen",onClick:()=>e("models")}),x.jsx(Mo,{icon:Wg,title:"Gedächtnis",value:i?O:"…",unit:"Notizen",tone:i?"ok":"loading",hint:i?`${O} Fakten (${ue} auto gelernt)`:"Gedächtnis-Pool laden...",onClick:()=>e("memory")}),x.jsx(Mo,{icon:If,title:"Dienste",value:r?`${P}/${j}`:"…",unit:"laufen",tone:r?_>0?"warn":"ok":"loading",hint:G?`Ausfall: ${G}`:"Alle Dienste online",onClick:()=>Cf("maintenance")}),x.jsx(Mo,{icon:Mf,title:"Updates",value:n?N>0?N:"0":"…",unit:N>0?"bereit":"aktuell",tone:n?N>0?"warn":"ok":"loading",hint:N>0?`Verfügbar: ${fe}`:"Alles auf dem neuesten Stand",onClick:()=>Cf("maintenance")}),x.jsx(Mo,{icon:Kg,title:"Verbinden",value:s?`${F}/${z.length}`:"…",unit:"Leitungen",tone:s?F===z.length?"ok":"warn":"loading",hint:V?`Gestört: ${V}`:"Hermes Desktop & IDEs bereit",onClick:()=>e("connect")})]})]})]}),x.jsxs("div",{className:"space-y-6",children:[x.jsx(CQ,{problems:f.problems,pendingCount:N,openAuftraege:C,blockedIdeen:R,busy:b,onRepair:k,onNavigate:e}),x.jsxs("section",{children:[x.jsx(bd,{children:"Anstehendes"}),x.jsx(e5,{})]}),x.jsxs("section",{children:[x.jsx(bd,{children:"Werkzeuge & Diagnose"}),x.jsx(jQ,{agent:o,svcErrors:_,onNavigate:e})]})]})]}),m]})}function bd({children:e}){return x.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:e})}function OQ({verdict:e,memory:t,warns:r,problems:n}){const i=r.length?`${r[0].label}: ${r[0].detail}${r.length>1?` (+${r.length-1} weitere)`:""}`:t.status==="full"?t.text:"Nichts Schlimmes — nur ein Hinweis.",o=n.length?`${n[0].label}: ${n[0].detail}${n.length>1?` (+${n.length-1} weitere)`:""}`:"Ein wichtiger Dienst hakt.",s={loading:{ring:"border-border/60 bg-card/45",icon:Nf,iconCls:"text-muted-foreground animate-spin",title:"Box wird geprüft …",sub:"Einen Moment."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:mT,iconCls:"text-emerald-400",title:"Box gesund",sub:"Alle wichtigen Dienste laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:Ys,iconCls:"text-amber-400",title:"Kleinigkeit an der Box",sub:i},problem:{ring:"border-red-500/50 bg-red-500/5",icon:Ys,iconCls:"text-red-400",title:"Box braucht Hilfe",sub:o}}[e],u=s.icon,d={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[t.status],f={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[t.status];return x.jsxs("div",{className:Re("flex flex-col gap-4 rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors sm:flex-row sm:items-center sm:justify-between h-full",s.ring),children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:x.jsx(u,{className:Re("h-6 w-6",s.iconCls)})}),x.jsxs("div",{className:"min-w-0",children:[x.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:s.title}),x.jsx("p",{className:"text-xs text-muted-foreground",children:s.sub})]})]}),x.jsxs("div",{className:"w-full max-w-[16rem] rounded-xl border border-border/30 bg-background/20 p-3",children:[x.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[x.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[x.jsx(pT,{className:"h-3.5 w-3.5"})," Speicher"]}),x.jsx("span",{className:Re("font-mono font-bold",d),children:t.status==="unknown"?"—":`${t.usedGb.toFixed(1)} / ${t.totalGb.toFixed(1)} GB`})]}),x.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:x.jsx("div",{className:Re("h-full rounded-full transition-all duration-500",f),style:{width:`${t.pct}%`}})})]})]})}function CQ({problems:e,pendingCount:t,openAuftraege:r,blockedIdeen:n,busy:i,onRepair:o,onNavigate:s}){const u=t>0,d=r>0,f=n>0,h=e.length===0&&!u&&!d&&!f;return x.jsx("div",{className:"h-full flex flex-col justify-between",children:h?x.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-4 h-full",children:[x.jsx(KP,{className:"h-5 w-5 shrink-0 text-emerald-400"}),x.jsxs("div",{children:[x.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu tun"}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"Alles läuft. Du musst gerade nichts abnicken."})]})]}):x.jsxs("div",{className:"space-y-2 h-full flex flex-col justify-center",children:[e.map(m=>x.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-2xl border border-red-500/25 bg-red-500/5 p-4",children:[x.jsxs("div",{className:"flex min-w-0 items-center gap-3 w-full",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:x.jsx(m.icon,{className:"h-4.5 w-4.5"})}),x.jsxs("div",{className:"min-w-0 flex-1",children:[x.jsx("p",{className:"text-sm font-bold text-foreground",children:m.label}),x.jsx("p",{className:"truncate text-xs text-muted-foreground",children:m.detail})]})]}),m.repair&&x.jsxs("button",{onClick:()=>m.repair&&o(m.id,m.repair),disabled:!!i[m.id],className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-60 w-full sm:w-auto justify-center",children:[i[m.id]?x.jsx(Nf,{className:"h-3.5 w-3.5 animate-spin"}):x.jsx(NT,{className:"h-3.5 w-3.5"}),m.repair.label]})]},m.id)),f&&x.jsxs("button",{onClick:()=>s("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:bg-red-500/10 cursor-pointer",children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:x.jsx(VP,{className:"h-4.5 w-4.5"})}),x.jsxs("div",{children:[x.jsxs("p",{className:"text-sm font-bold text-foreground",children:[n," Karte",n===1?"":"n"," braucht deine Antwort"]}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"Die Box hängt an einer Frage und wartet auf dich."})]})]}),x.jsx(Vo,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),d&&x.jsxs("button",{onClick:()=>s("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-primary/30 bg-primary/5 p-4 text-left transition-all hover:bg-primary/10 cursor-pointer",children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/30 bg-background/30 text-primary",children:x.jsx(Hg,{className:"h-4.5 w-4.5"})}),x.jsxs("div",{children:[x.jsxs("p",{className:"text-sm font-bold text-foreground",children:[r," Vorschl",r===1?"ag":"äge"," im Auftragsbuch"]}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"Annehmen oder ablehnen."})]})]}),x.jsx(Vo,{className:"h-4 w-4 shrink-0 text-primary/70"})]}),u&&x.jsxs("button",{onClick:()=>Cf("maintenance"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-left transition-all hover:bg-amber-500/10 cursor-pointer",children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-amber-500/30 bg-background/30 text-amber-300",children:x.jsx(Mf,{className:"h-4.5 w-4.5"})}),x.jsxs("div",{children:[x.jsxs("p",{className:"text-sm font-bold text-foreground",children:[t," Update",t===1?"":"s"," bereit"]}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"Ansehen und entscheiden."})]})]}),x.jsx(Vo,{className:"h-4 w-4 shrink-0 text-amber-300/70"})]})]})})}function jQ({agent:e,svcErrors:t,onNavigate:r}){const n=[{label:"Hermes Agent",status:e?e.gateway_reachable?"Bereit":"Offline":"…",tone:e?e.gateway_reachable?"ok":"alert":"loading",action:()=>r("agent")},{label:"Konsole (Box-Shell)",status:e?e.box_console_reachable?"Bereit":"Offline":"…",tone:e?e.box_console_reachable?"ok":"warn":"loading",action:()=>r("konsole")},{label:"Systemlogs & Diagnose",status:t>0?`${t} Fehler`:"Keine Fehler",tone:t>0?"alert":"ok",action:()=>Cf("logs")},{label:"Wissens-Vault",status:"Öffnen",tone:"muted",action:()=>r("wissen")},{label:"Chronik & Zeitmaschine",status:"Öffnen",tone:"muted",action:()=>r("chronik")}];return x.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/30 p-4 space-y-3 shadow-sm",children:x.jsx("div",{className:"divide-y divide-border/20",children:n.map((i,o)=>{const s={loading:"bg-muted-foreground/45 animate-pulse",ok:"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]",warn:"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.4)]",alert:"bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.4)]",muted:"bg-muted-foreground/30"}[i.tone];return x.jsxs("button",{onClick:i.action,className:"w-full py-2.5 px-1.5 flex items-center justify-between text-left hover:bg-card/45 rounded-lg transition-all group cursor-pointer text-xs",children:[x.jsx("span",{className:"text-muted-foreground group-hover:text-foreground transition-colors font-medium",children:i.label}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("span",{className:Re("text-[10px] font-semibold font-mono",i.tone==="ok"?"text-emerald-400":i.tone==="warn"?"text-amber-400":i.tone==="alert"?"text-red-400":"text-muted-foreground/60"),children:i.status}),x.jsx("span",{className:Re("h-1.5 w-1.5 rounded-full",s)})]})]},o)})})})}const _Q=y.lazy(()=>Mn(()=>import("./ModelsView-Bsoj7OqE.js"),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.ModelsView}))),NQ=y.lazy(()=>Mn(()=>import("./ConnectView-B-235oA9.js"),__vite__mapDeps([5,6,7,8])).then(e=>({default:e.ConnectView}))),IQ=y.lazy(()=>Mn(()=>import("./MemoryView-AUt0KtVe.js"),__vite__mapDeps([9,8,10,11])).then(e=>({default:e.MemoryView}))),MQ=y.lazy(()=>Mn(()=>import("./AgentView-W3iUOtpb.js"),[]).then(e=>({default:e.AgentView}))),TQ=y.lazy(()=>Mn(()=>import("./KonsoleView-hPDX_m6T.js"),[]).then(e=>({default:e.KonsoleView}))),DQ=y.lazy(()=>Mn(()=>import("./GuideView-DEBn7OhW.js"),__vite__mapDeps([12,11,3,4,13])).then(e=>({default:e.GuideView}))),RQ=y.lazy(()=>Mn(()=>import("./AuftragsbuchView-BsRuFLIV.js"),__vite__mapDeps([14,13,1,10,4,2])).then(e=>({default:e.AuftragsbuchView}))),$Q=y.lazy(()=>Mn(()=>import("./ChronikView-B6tlWXa3.js"),__vite__mapDeps([15,2])).then(e=>({default:e.ChronikView}))),LQ=y.lazy(()=>Mn(()=>import("./EigenlebenView-bzbGyOGE.js"),__vite__mapDeps([16,11,7])).then(e=>({default:e.EigenlebenView}))),zQ=y.lazy(()=>Mn(()=>import("./WissenView-CU4iziB4.js"),__vite__mapDeps([17,6])).then(e=>({default:e.WissenView})));function FQ(){return x.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:x.jsx(Nf,{className:"h-5 w-5 animate-spin","aria-label":"Lädt …"})})}const BQ=/Mac|iPhone|iPad/.test(navigator.platform);function UQ(){Y3(),E3();const[e,t]=y.useState(()=>{const k=window.location.hash.slice(1);return Go.some(E=>E.id===k)?k:"dashboard"}),r=y.useCallback(k=>{window.location.hash.slice(1)===k?t(k):window.location.hash=k},[]),[n,i]=y.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[o,s]=y.useState(!1),[u,d]=y.useState(!1),[f,h]=y.useState("maintenance"),{data:m,isError:v}=$A(),{data:b}=zf();y.useEffect(()=>{document.documentElement.classList.add("dark")},[]),y.useEffect(()=>{const k=E=>{var j;h(((j=E.detail)==null?void 0:j.tab)||"maintenance"),d(!0)};return window.addEventListener("open-system-drawer",k),()=>window.removeEventListener("open-system-drawer",k)},[]),y.useEffect(()=>{const k=E=>{var j;const P=(j=E.detail)==null?void 0:j.view;P&&r(P)};return window.addEventListener("mc-navigate",k),()=>window.removeEventListener("mc-navigate",k)},[r]),y.useEffect(()=>{const k=()=>{const E=window.location.hash.slice(1);Go.some(P=>P.id===E)&&t(E)};return window.addEventListener("hashchange",k),()=>window.removeEventListener("hashchange",k)},[]),y.useEffect(()=>{s(!1)},[e]);const S=Go.find(k=>k.id===e);return x.jsxs("div",{className:"flex h-full relative",children:[x.jsx("div",{className:"fixed inset-0 -z-50 pointer-events-none",style:{backgroundColor:"hsl(224,30%,6%)",backgroundImage:["radial-gradient(45% 40% at 12% 8%, hsl(172 72% 50% / 0.10), transparent 70%)","radial-gradient(50% 45% at 88% 92%, hsl(270 70% 60% / 0.10), transparent 70%)","radial-gradient(40% 35% at 75% 30%, hsl(239 70% 62% / 0.07), transparent 70%)"].join(", ")}}),x.jsx(zR,{onNavigate:r}),x.jsx(H3,{open:u,onClose:()=>d(!1),defaultTab:f}),x.jsx("aside",{className:Re("hidden md:flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",n?"w-16":"w-60"),children:x.jsx(xP,{collapsed:n,onToggleCollapse:()=>{i(k=>{const E=!k;return localStorage.setItem("mc_sidebar_collapsed",E.toString()),E})},view:e,health:m,backendDown:v,sysStatus:b})}),x.jsxs("div",{className:Re("md:hidden fixed inset-0 z-50 transition-opacity duration-200",o?"opacity-100":"pointer-events-none opacity-0"),"aria-hidden":!o,children:[x.jsx("div",{className:"absolute inset-0 bg-black/60",onClick:()=>s(!1)}),x.jsx("aside",{className:Re("absolute inset-y-0 left-0 flex w-72 max-w-[85vw] flex-col border-r border-border/40 bg-[hsl(224,28%,8%)] transition-transform duration-300 ease-in-out",o?"translate-x-0":"-translate-x-full"),children:x.jsx(xP,{collapsed:!1,onClose:()=>s(!1),view:e,health:m,backendDown:v,sysStatus:b})})]}),x.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[x.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between gap-3 border-b border-border/40 px-4 md:px-6 bg-card/20 backdrop-blur-sm",children:[x.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[x.jsx("button",{onClick:()=>s(!0),className:"md:hidden p-1.5 -ml-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation öffnen",children:x.jsx(bT,{className:"h-5 w-5","aria-hidden":"true"})}),x.jsx("div",{className:"truncate text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:S.hint})]}),x.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[x.jsx(w3,{}),x.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"hidden sm:flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),x.jsxs("button",{onClick:()=>{const k=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(k)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[x.jsx(uT,{className:"h-3.5 w-3.5"}),x.jsx("span",{className:"hidden sm:inline",children:"Suchen"}),x.jsx("kbd",{className:"hidden sm:inline rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:BQ?"⌘K":"Strg+K"})]})]})]}),x.jsx("main",{className:"flex-1 overflow-y-auto p-4 md:p-6 scrollbar-thin",children:x.jsxs(y.Suspense,{fallback:x.jsx(FQ,{}),children:[e==="dashboard"&&x.jsx(AQ,{onNavigate:k=>r(k)}),e==="auftraege"&&x.jsx(RQ,{}),e==="models"&&x.jsx(_Q,{}),e==="connect"&&x.jsx(NQ,{}),e==="memory"&&x.jsx(IQ,{}),e==="wissen"&&x.jsx(zQ,{}),e==="chronik"&&x.jsx($Q,{}),e==="eigenleben"&&x.jsx(LQ,{}),e==="agent"&&x.jsx(MQ,{}),e==="konsole"&&x.jsx(TQ,{}),e==="guide"&&x.jsx(DQ,{})]})})]})]})}function xP({collapsed:e,onToggleCollapse:t,onClose:r,view:n,health:i,backendDown:o,sysStatus:s}){var u,d,f,h,m;return x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:Re("flex items-center py-4 border-b border-border/40 shrink-0",e?"flex-col gap-3 px-2":"justify-between px-5"),children:[x.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[x.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!e&&x.jsxs("div",{className:"leading-tight",children:[x.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),x.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),t&&x.jsx("button",{onClick:t,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":e?"Seitenleiste ausklappen":"Seitenleiste einklappen",title:e?"Maximieren":"Minimieren",children:e?x.jsx(Vo,{className:"h-4 w-4","aria-hidden":"true"}):x.jsx(aT,{className:"h-4 w-4","aria-hidden":"true"})}),r&&x.jsx("button",{onClick:r,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation schließen",children:x.jsx(wu,{className:"h-4 w-4","aria-hidden":"true"})})]}),x.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:(()=>{let v=null;return Go.map(b=>{const S=b.group!==v;return v=b.group,x.jsxs("div",{className:"space-y-1",children:[S&&(e?v!==Go[0].group&&x.jsx("div",{className:"my-3 border-t border-border/30"}):x.jsx("div",{className:"mt-5 mb-1.5 px-3 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/40 first:mt-0 select-none",children:b.group})),x.jsxs("a",{href:`#${b.id}`,onClick:r,"aria-current":n===b.id?"page":void 0,className:Re("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",e?"justify-center p-2.5":"gap-3 px-3 py-2",n===b.id?e?"nav-active-collapsed":"nav-active":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:e?b.label:void 0,"aria-label":e?b.label:void 0,children:[x.jsx(b.icon,{className:"h-4.5 w-4.5 shrink-0","aria-hidden":"true"}),!e&&x.jsx("span",{className:"truncate",children:b.label})]})]},b.id)})})()}),x.jsx("div",{className:Re("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",e?"px-2 text-center":"px-5"),children:e?x.jsx("div",{className:"flex justify-center",children:x.jsx("span",{className:Re("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",o||!i?"bg-red-500":i.engine_reachable?i.brain&&!i.brain.ready?"bg-amber-500 animate-pulse":"bg-emerald-500 animate-pulse":"bg-amber-500"),title:o?"Zentrale antwortet nicht — Anzeigen evtl. veraltet":i?i.engine_reachable?i.brain&&!i.brain.ready?`Hirn offline (${i.brain.model??"fast"})`:"Engine + Hirn online":"Engine offline":"Backend offline"})}):x.jsxs("div",{className:"space-y-2 text-left",children:[o?x.jsxs("span",{className:"flex items-center gap-2 text-red-400",children:[x.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500 animate-pulse"}),x.jsx("span",{className:"truncate",children:"Zentrale antwortet nicht"})]}):i?x.jsxs(x.Fragment,{children:[x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{className:Re("h-2 w-2 rounded-full animate-pulse",i.engine_reachable?"bg-emerald-500":"bg-amber-500")}),x.jsxs("span",{className:"truncate",children:["Engine ",i.engine_reachable?"online":"offline"]})]}),i.brain&&!i.brain.ready&&x.jsxs("span",{className:"flex items-center gap-2 text-amber-400",title:`Agent-Hirn '${i.brain.model??"fast"}' lädt nicht/abgestürzt`,children:[x.jsx("span",{className:"h-2 w-2 rounded-full bg-amber-500 animate-pulse"}),x.jsxs("span",{className:"truncate",children:["Hirn offline",i.brain.model?` (${i.brain.model})`:""]})]})]}):x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",x.jsx("span",{className:"truncate",children:"Backend offline"})]}),(s==null?void 0:s.versions)&&x.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[x.jsxs("div",{className:"truncate",title:s.versions.mc2?`${s.versions.mc2.branch}-${s.versions.mc2.hash}${s.versions.mc2.dirty?"*":""} (${s.versions.mc2.date})`:"nicht gefunden",children:[x.jsx("strong",{children:"MC2:"})," ",s.versions.mc2?`${s.versions.mc2.hash}${s.versions.mc2.dirty?"*":""}`:"—"]}),x.jsxs("div",{className:"truncate",title:((u=s.versions.engine)==null?void 0:u.type)==="git"?`${s.versions.engine.branch}-${s.versions.engine.hash}${s.versions.engine.dirty?"*":""} (${s.versions.engine.date})`:((d=s.versions.engine)==null?void 0:d.version_text)||"unbekannt",children:[x.jsx("strong",{children:"Engine:"})," ",((f=s.versions.engine)==null?void 0:f.type)==="git"?`${s.versions.engine.hash}${s.versions.engine.dirty?"*":""}`:((m=(h=s.versions.engine)==null?void 0:h.version_text)==null?void 0:m.split(" ").pop())||"—"]}),x.jsxs("div",{className:"truncate",title:s.versions.hermes_agent?`${s.versions.hermes_agent.branch}-${s.versions.hermes_agent.hash}${s.versions.hermes_agent.dirty?"*":""} (${s.versions.hermes_agent.date})`:"nicht gefunden",children:[x.jsx("strong",{children:"Hermes Agent:"})," ",s.versions.hermes_agent?`${s.versions.hermes_agent.hash}${s.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]})}class WQ extends Lg.Component{constructor(){super(...arguments);ks(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}componentDidCatch(r,n){console.error("Unbehandelter UI-Fehler:",r,n.componentStack)}render(){return this.state.error?x.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-950 text-neutral-200 p-8",children:x.jsxs("div",{className:"max-w-lg space-y-4 text-center",children:[x.jsx("div",{className:"text-2xl",children:"Da ist etwas schiefgelaufen."}),x.jsx("div",{className:"text-sm text-neutral-400 break-all",children:this.state.error.message}),x.jsx("button",{className:"px-4 py-2 rounded-lg bg-neutral-800 hover:bg-neutral-700 border border-neutral-700",onClick:()=>window.location.reload(),children:"Neu laden"})]})}):this.props.children}}const HQ=new DM({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});uM.createRoot(document.getElementById("root")).render(x.jsx(Lg.StrictMode,{children:x.jsx(WQ,{children:x.jsx(RM,{client:HQ,children:x.jsx(UQ,{})})})}));export{VQ as $,_T as A,Wg as B,KP as C,iT as D,_v as E,rX as F,BA as G,pT as H,iX as I,T3 as J,H1 as K,Nf as L,Vo as M,oT as N,D3 as O,G1 as P,ZQ as Q,jT as R,PT as S,Ys as T,YP as U,lT as V,Vg as W,wu as X,M3 as Y,cT as Z,Mn as _,I3 as a,_f as a0,JM as a1,NT as a2,qo as a3,CT as a4,Os as a5,If as a6,HP as a7,Kg as a8,fT as a9,P3 as aa,A3 as ab,YQ as ac,Hg as ad,dT as ae,VP as af,O3 as ag,vT as ah,eT as ai,kT as aj,Mf as ak,mT as al,C3 as am,XQ as an,q1 as ao,QQ as ap,xT as aq,sf as ar,Lg as as,uu as at,AS as au,F8 as av,Ty as aw,gS as ax,vS as ay,$g as az,Zg as b,Se as c,oX as d,Re as e,Dm as f,Ie as g,eX as h,GQ as i,x as j,tT as k,zA as l,JQ as m,zf as n,tX as o,aX as p,De as q,y as r,qQ as s,nX as t,bu as u,Io as v,UR as w,qP as x,ST as y,lX as z}; +Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}v.invalidateQueries({queryKey:De.health}),v.invalidateQueries({queryKey:De.services}),v.invalidateQueries({queryKey:De.models})}catch(Z){h("Reparatur fehlgeschlagen",String((Z==null?void 0:Z.message)||Z))}finally{S(Z=>({...Z,[M]:!1}))}}const E=((de=t==null?void 0:t.running)==null?void 0:de.length)??0,P=(r==null?void 0:r.services.filter(M=>M.ok).length)??0,j=(r==null?void 0:r.services.length)??0,_=j-P,O=(i==null?void 0:i.length)??0,N=(n?(n.os>0?1:0)+(n.engine>0?1:0)+(n.swap>0?1:0)+(n.models>0?1:0):0)+(((Y=n==null?void 0:n.components)==null?void 0:Y.filter(M=>M.update===!0).length)??0),C=u!=null&&u.available?u.open_count:0,R=d!=null&&d.available?d.items.filter(M=>M.status==="blocked").length:0,z=s?[s.gateway,s.memory,s.desktop_gateway]:[],F=z.filter(M=>M==null?void 0:M.ok).length,V=s?s.gateway.ok?s.memory.ok?s.desktop_gateway.ok?"":"Desktop-Gateway":"Gedächtnis-Leitung":"Modell-Leitung":"",Q=(ae=t==null?void 0:t.models)==null?void 0:ae.find(M=>M.role==="hermes"),B=Q!=null&&Q.name?(X=Q.name.split("/").pop())==null?void 0:X.replace(/\.gguf$/i,""):"",ue=i?i.filter(M=>["auto","agent","hermes"].includes(M.source)).length:0,G=r==null?void 0:r.services.filter(M=>!M.ok).map(M=>M.name).join(", "),le=n?[n.os>0&&"OS",n.engine>0&&"Engine",n.swap>0&&"Swap",n.models>0&&"Modelle"].filter(Boolean):[],fe=le.length>0?le.join(" + "):"";return x.jsxs("div",{className:"space-y-6",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Cockpit"}),x.jsx("p",{className:"text-sm text-muted-foreground",children:"Deine Box auf einen Blick — Details hinter jeder Kachel."})]}),x.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-start",children:[x.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[x.jsx(CQ,{verdict:f.verdict,memory:f.memory,warns:f.warns,problems:f.problems}),x.jsx(e5,{}),x.jsxs("section",{children:[x.jsx(bd,{children:"Leistung"}),x.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[x.jsx(gQ,{}),x.jsx(yQ,{})]}),x.jsx("div",{className:"mt-4",children:x.jsx(kQ,{})}),x.jsx("div",{className:"mt-4",children:x.jsx(AQ,{})})]}),x.jsxs("section",{children:[x.jsx(bd,{children:"Bereiche"}),x.jsxs("div",{className:"grid gap-4 grid-cols-2 md:grid-cols-3",children:[x.jsx(Mo,{icon:Hg,title:"Auftragsbuch",value:u!=null&&u.available?C:"—",unit:C===1?"Vorschlag":"Vorschläge",tone:u?R>0||C>0?"warn":"ok":"loading",hint:R>0?`${R} Karte${R===1?"":"n"} wartet auf deine Antwort`:C>0?`${C} offene Patches`:"Keine ausstehenden Vorschläge",onClick:()=>e("auftraege")}),x.jsx(Mo,{icon:HP,title:"Modelle",value:E,unit:"warm",tone:E>0?"ok":"muted",hint:B?`Hirn: ${B}`:"Kein Hermes-Modell geladen",onClick:()=>e("models")}),x.jsx(Mo,{icon:Wg,title:"Gedächtnis",value:i?O:"…",unit:"Notizen",tone:i?"ok":"loading",hint:i?`${O} Fakten (${ue} auto gelernt)`:"Gedächtnis-Pool laden...",onClick:()=>e("memory")}),x.jsx(Mo,{icon:If,title:"Dienste",value:r?`${P}/${j}`:"…",unit:"laufen",tone:r?_>0?"warn":"ok":"loading",hint:G?`Ausfall: ${G}`:"Alle Dienste online",onClick:()=>Cf("maintenance")}),x.jsx(Mo,{icon:Mf,title:"Updates",value:n?N>0?N:"0":"…",unit:N>0?"bereit":"aktuell",tone:n?N>0?"warn":"ok":"loading",hint:N>0?`Verfügbar: ${fe}`:"Alles auf dem neuesten Stand",onClick:()=>Cf("maintenance")}),x.jsx(Mo,{icon:Kg,title:"Verbinden",value:s?`${F}/${z.length}`:"…",unit:"Leitungen",tone:s?F===z.length?"ok":"warn":"loading",hint:V?`Gestört: ${V}`:"Hermes Desktop & IDEs bereit",onClick:()=>e("connect")})]})]})]}),x.jsxs("div",{className:"space-y-6",children:[x.jsx(jQ,{problems:f.problems,pendingCount:N,openAuftraege:C,blockedIdeen:R,busy:b,onRepair:k,onNavigate:e}),x.jsxs("section",{children:[x.jsx(bd,{children:"Anstehendes"}),x.jsx(t5,{})]}),x.jsxs("section",{children:[x.jsx(bd,{children:"Werkzeuge & Diagnose"}),x.jsx(_Q,{agent:o,svcErrors:_,onNavigate:e})]})]})]}),m]})}function bd({children:e}){return x.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:e})}function CQ({verdict:e,memory:t,warns:r,problems:n}){const i=r.length?`${r[0].label}: ${r[0].detail}${r.length>1?` (+${r.length-1} weitere)`:""}`:t.status==="full"?t.text:"Nichts Schlimmes — nur ein Hinweis.",o=n.length?`${n[0].label}: ${n[0].detail}${n.length>1?` (+${n.length-1} weitere)`:""}`:"Ein wichtiger Dienst hakt.",s={loading:{ring:"border-border/60 bg-card/45",icon:Nf,iconCls:"text-muted-foreground animate-spin",title:"Box wird geprüft …",sub:"Einen Moment."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:mT,iconCls:"text-emerald-400",title:"Box gesund",sub:"Alle wichtigen Dienste laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:Ys,iconCls:"text-amber-400",title:"Kleinigkeit an der Box",sub:i},problem:{ring:"border-red-500/50 bg-red-500/5",icon:Ys,iconCls:"text-red-400",title:"Box braucht Hilfe",sub:o}}[e],u=s.icon,d={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[t.status],f={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[t.status];return x.jsxs("div",{className:Re("flex flex-col gap-4 rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors sm:flex-row sm:items-center sm:justify-between h-full",s.ring),children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:x.jsx(u,{className:Re("h-6 w-6",s.iconCls)})}),x.jsxs("div",{className:"min-w-0",children:[x.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:s.title}),x.jsx("p",{className:"text-xs text-muted-foreground",children:s.sub})]})]}),x.jsxs("div",{className:"w-full max-w-[16rem] rounded-xl border border-border/30 bg-background/20 p-3",children:[x.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[x.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[x.jsx(pT,{className:"h-3.5 w-3.5"})," Speicher"]}),x.jsx("span",{className:Re("font-mono font-bold",d),children:t.status==="unknown"?"—":`${t.usedGb.toFixed(1)} / ${t.totalGb.toFixed(1)} GB`})]}),x.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:x.jsx("div",{className:Re("h-full rounded-full transition-all duration-500",f),style:{width:`${t.pct}%`}})})]})]})}function jQ({problems:e,pendingCount:t,openAuftraege:r,blockedIdeen:n,busy:i,onRepair:o,onNavigate:s}){const u=t>0,d=r>0,f=n>0,h=e.length===0&&!u&&!d&&!f;return x.jsx("div",{className:"h-full flex flex-col justify-between",children:h?x.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-4 h-full",children:[x.jsx(KP,{className:"h-5 w-5 shrink-0 text-emerald-400"}),x.jsxs("div",{children:[x.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu tun"}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"Alles läuft. Du musst gerade nichts abnicken."})]})]}):x.jsxs("div",{className:"space-y-2 h-full flex flex-col justify-center",children:[e.map(m=>x.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-2xl border border-red-500/25 bg-red-500/5 p-4",children:[x.jsxs("div",{className:"flex min-w-0 items-center gap-3 w-full",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:x.jsx(m.icon,{className:"h-4.5 w-4.5"})}),x.jsxs("div",{className:"min-w-0 flex-1",children:[x.jsx("p",{className:"text-sm font-bold text-foreground",children:m.label}),x.jsx("p",{className:"truncate text-xs text-muted-foreground",children:m.detail})]})]}),m.repair&&x.jsxs("button",{onClick:()=>m.repair&&o(m.id,m.repair),disabled:!!i[m.id],className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-60 w-full sm:w-auto justify-center",children:[i[m.id]?x.jsx(Nf,{className:"h-3.5 w-3.5 animate-spin"}):x.jsx(IT,{className:"h-3.5 w-3.5"}),m.repair.label]})]},m.id)),f&&x.jsxs("button",{onClick:()=>s("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:bg-red-500/10 cursor-pointer",children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:x.jsx(VP,{className:"h-4.5 w-4.5"})}),x.jsxs("div",{children:[x.jsxs("p",{className:"text-sm font-bold text-foreground",children:[n," Karte",n===1?"":"n"," braucht deine Antwort"]}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"Die Box hängt an einer Frage und wartet auf dich."})]})]}),x.jsx(Vo,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),d&&x.jsxs("button",{onClick:()=>s("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-primary/30 bg-primary/5 p-4 text-left transition-all hover:bg-primary/10 cursor-pointer",children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/30 bg-background/30 text-primary",children:x.jsx(Hg,{className:"h-4.5 w-4.5"})}),x.jsxs("div",{children:[x.jsxs("p",{className:"text-sm font-bold text-foreground",children:[r," Vorschl",r===1?"ag":"äge"," im Auftragsbuch"]}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"Annehmen oder ablehnen."})]})]}),x.jsx(Vo,{className:"h-4 w-4 shrink-0 text-primary/70"})]}),u&&x.jsxs("button",{onClick:()=>Cf("maintenance"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-left transition-all hover:bg-amber-500/10 cursor-pointer",children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-amber-500/30 bg-background/30 text-amber-300",children:x.jsx(Mf,{className:"h-4.5 w-4.5"})}),x.jsxs("div",{children:[x.jsxs("p",{className:"text-sm font-bold text-foreground",children:[t," Update",t===1?"":"s"," bereit"]}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"Ansehen und entscheiden."})]})]}),x.jsx(Vo,{className:"h-4 w-4 shrink-0 text-amber-300/70"})]})]})})}function _Q({agent:e,svcErrors:t,onNavigate:r}){const n=[{label:"Hermes Agent",status:e?e.gateway_reachable?"Bereit":"Offline":"…",tone:e?e.gateway_reachable?"ok":"alert":"loading",action:()=>r("agent")},{label:"Konsole (Box-Shell)",status:e?e.box_console_reachable?"Bereit":"Offline":"…",tone:e?e.box_console_reachable?"ok":"warn":"loading",action:()=>r("konsole")},{label:"Systemlogs & Diagnose",status:t>0?`${t} Fehler`:"Keine Fehler",tone:t>0?"alert":"ok",action:()=>Cf("logs")},{label:"Wissens-Vault",status:"Öffnen",tone:"muted",action:()=>r("wissen")},{label:"Chronik & Zeitmaschine",status:"Öffnen",tone:"muted",action:()=>r("chronik")}];return x.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/30 p-4 space-y-3 shadow-sm",children:x.jsx("div",{className:"divide-y divide-border/20",children:n.map((i,o)=>{const s={loading:"bg-muted-foreground/45 animate-pulse",ok:"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]",warn:"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.4)]",alert:"bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.4)]",muted:"bg-muted-foreground/30"}[i.tone];return x.jsxs("button",{onClick:i.action,className:"w-full py-2.5 px-1.5 flex items-center justify-between text-left hover:bg-card/45 rounded-lg transition-all group cursor-pointer text-xs",children:[x.jsx("span",{className:"text-muted-foreground group-hover:text-foreground transition-colors font-medium",children:i.label}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("span",{className:Re("text-[10px] font-semibold font-mono",i.tone==="ok"?"text-emerald-400":i.tone==="warn"?"text-amber-400":i.tone==="alert"?"text-red-400":"text-muted-foreground/60"),children:i.status}),x.jsx("span",{className:Re("h-1.5 w-1.5 rounded-full",s)})]})]},o)})})})}const NQ=y.lazy(()=>un(()=>import("./ModelsView-DTzsjlIt.js"),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.ModelsView}))),IQ=y.lazy(()=>un(()=>import("./ConnectView-DjuUKBvu.js"),__vite__mapDeps([5,6,7,8])).then(e=>({default:e.ConnectView}))),MQ=y.lazy(()=>un(()=>import("./MemoryView-Dr_9tmOV.js"),__vite__mapDeps([9,8,10,11])).then(e=>({default:e.MemoryView}))),TQ=y.lazy(()=>un(()=>import("./AgentView-DvxkXocP.js"),[]).then(e=>({default:e.AgentView}))),DQ=y.lazy(()=>un(()=>import("./KonsoleView-BlZ5qbFv.js"),[]).then(e=>({default:e.KonsoleView}))),RQ=y.lazy(()=>un(()=>import("./GuideView-CbNoyHTt.js"),__vite__mapDeps([12,11,3,4])).then(e=>({default:e.GuideView}))),$Q=y.lazy(()=>un(()=>import("./AuftragsbuchView-BZWvV2pd.js"),__vite__mapDeps([13,14])).then(e=>({default:e.AuftragsbuchView}))),LQ=y.lazy(()=>un(()=>import("./IdeenView-CKZJTCd1.js"),__vite__mapDeps([15,14,1,10,4,2])).then(e=>({default:e.IdeenView}))),zQ=y.lazy(()=>un(()=>import("./ChronikView-05lPMfKs.js"),__vite__mapDeps([16,2])).then(e=>({default:e.ChronikView}))),FQ=y.lazy(()=>un(()=>import("./EigenlebenView-BuEpk3oK.js"),__vite__mapDeps([17,11,7])).then(e=>({default:e.EigenlebenView}))),BQ=y.lazy(()=>un(()=>import("./WissenView-BGvgpLaU.js"),__vite__mapDeps([18,6])).then(e=>({default:e.WissenView})));function UQ(){return x.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:x.jsx(Nf,{className:"h-5 w-5 animate-spin","aria-label":"Lädt …"})})}const WQ=/Mac|iPhone|iPad/.test(navigator.platform);function HQ(){Q3(),P3();const[e,t]=y.useState(()=>{const k=window.location.hash.slice(1);return Go.some(E=>E.id===k)?k:"dashboard"}),r=y.useCallback(k=>{window.location.hash.slice(1)===k?t(k):window.location.hash=k},[]),[n,i]=y.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[o,s]=y.useState(!1),[u,d]=y.useState(!1),[f,h]=y.useState("maintenance"),{data:m,isError:v}=$A(),{data:b}=zf();y.useEffect(()=>{document.documentElement.classList.add("dark")},[]),y.useEffect(()=>{const k=E=>{var j;h(((j=E.detail)==null?void 0:j.tab)||"maintenance"),d(!0)};return window.addEventListener("open-system-drawer",k),()=>window.removeEventListener("open-system-drawer",k)},[]),y.useEffect(()=>{const k=E=>{var j;const P=(j=E.detail)==null?void 0:j.view;P&&r(P)};return window.addEventListener("mc-navigate",k),()=>window.removeEventListener("mc-navigate",k)},[r]),y.useEffect(()=>{const k=()=>{const E=window.location.hash.slice(1);Go.some(P=>P.id===E)&&t(E)};return window.addEventListener("hashchange",k),()=>window.removeEventListener("hashchange",k)},[]),y.useEffect(()=>{s(!1)},[e]);const S=Go.find(k=>k.id===e);return x.jsxs("div",{className:"flex h-full relative",children:[x.jsx("div",{className:"fixed inset-0 -z-50 pointer-events-none",style:{backgroundColor:"hsl(224,30%,6%)",backgroundImage:["radial-gradient(45% 40% at 12% 8%, hsl(172 72% 50% / 0.10), transparent 70%)","radial-gradient(50% 45% at 88% 92%, hsl(270 70% 60% / 0.10), transparent 70%)","radial-gradient(40% 35% at 75% 30%, hsl(239 70% 62% / 0.07), transparent 70%)"].join(", ")}}),x.jsx(FR,{onNavigate:r}),x.jsx(K3,{open:u,onClose:()=>d(!1),defaultTab:f}),x.jsx("aside",{className:Re("hidden md:flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",n?"w-16":"w-60"),children:x.jsx(xP,{collapsed:n,onToggleCollapse:()=>{i(k=>{const E=!k;return localStorage.setItem("mc_sidebar_collapsed",E.toString()),E})},view:e,health:m,backendDown:v,sysStatus:b})}),x.jsxs("div",{className:Re("md:hidden fixed inset-0 z-50 transition-opacity duration-200",o?"opacity-100":"pointer-events-none opacity-0"),"aria-hidden":!o,children:[x.jsx("div",{className:"absolute inset-0 bg-black/60",onClick:()=>s(!1)}),x.jsx("aside",{className:Re("absolute inset-y-0 left-0 flex w-72 max-w-[85vw] flex-col border-r border-border/40 bg-[hsl(224,28%,8%)] transition-transform duration-300 ease-in-out",o?"translate-x-0":"-translate-x-full"),children:x.jsx(xP,{collapsed:!1,onClose:()=>s(!1),view:e,health:m,backendDown:v,sysStatus:b})})]}),x.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[x.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between gap-3 border-b border-border/40 px-4 md:px-6 bg-card/20 backdrop-blur-sm",children:[x.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[x.jsx("button",{onClick:()=>s(!0),className:"md:hidden p-1.5 -ml-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation öffnen",children:x.jsx(wT,{className:"h-5 w-5","aria-hidden":"true"})}),x.jsx("div",{className:"truncate text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:S.hint})]}),x.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[x.jsx(k3,{}),x.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"hidden sm:flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),x.jsxs("button",{onClick:()=>{const k=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(k)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[x.jsx(uT,{className:"h-3.5 w-3.5"}),x.jsx("span",{className:"hidden sm:inline",children:"Suchen"}),x.jsx("kbd",{className:"hidden sm:inline rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:WQ?"⌘K":"Strg+K"})]})]})]}),x.jsx("main",{className:"flex-1 overflow-y-auto p-4 md:p-6 scrollbar-thin",children:x.jsxs(y.Suspense,{fallback:x.jsx(UQ,{}),children:[e==="dashboard"&&x.jsx(OQ,{onNavigate:k=>r(k)}),e==="ideen"&&x.jsx(LQ,{}),e==="auftraege"&&x.jsx($Q,{}),e==="models"&&x.jsx(NQ,{}),e==="connect"&&x.jsx(IQ,{}),e==="memory"&&x.jsx(MQ,{}),e==="wissen"&&x.jsx(BQ,{}),e==="chronik"&&x.jsx(zQ,{}),e==="eigenleben"&&x.jsx(FQ,{}),e==="agent"&&x.jsx(TQ,{}),e==="konsole"&&x.jsx(DQ,{}),e==="guide"&&x.jsx(RQ,{})]})})]})]})}function xP({collapsed:e,onToggleCollapse:t,onClose:r,view:n,health:i,backendDown:o,sysStatus:s}){var u,d,f,h,m;return x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:Re("flex items-center py-4 border-b border-border/40 shrink-0",e?"flex-col gap-3 px-2":"justify-between px-5"),children:[x.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[x.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!e&&x.jsxs("div",{className:"leading-tight",children:[x.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),x.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),t&&x.jsx("button",{onClick:t,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":e?"Seitenleiste ausklappen":"Seitenleiste einklappen",title:e?"Maximieren":"Minimieren",children:e?x.jsx(Vo,{className:"h-4 w-4","aria-hidden":"true"}):x.jsx(aT,{className:"h-4 w-4","aria-hidden":"true"})}),r&&x.jsx("button",{onClick:r,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation schließen",children:x.jsx(wu,{className:"h-4 w-4","aria-hidden":"true"})})]}),x.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:(()=>{let v=null;return Go.map(b=>{const S=b.group!==v;return v=b.group,x.jsxs("div",{className:"space-y-1",children:[S&&(e?v!==Go[0].group&&x.jsx("div",{className:"my-3 border-t border-border/30"}):x.jsx("div",{className:"mt-5 mb-1.5 px-3 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/40 first:mt-0 select-none",children:b.group})),x.jsxs("a",{href:`#${b.id}`,onClick:r,"aria-current":n===b.id?"page":void 0,className:Re("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",e?"justify-center p-2.5":"gap-3 px-3 py-2",n===b.id?e?"nav-active-collapsed":"nav-active":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:e?b.label:void 0,"aria-label":e?b.label:void 0,children:[x.jsx(b.icon,{className:"h-4.5 w-4.5 shrink-0","aria-hidden":"true"}),!e&&x.jsx("span",{className:"truncate",children:b.label})]})]},b.id)})})()}),x.jsx("div",{className:Re("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",e?"px-2 text-center":"px-5"),children:e?x.jsx("div",{className:"flex justify-center",children:x.jsx("span",{className:Re("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",o||!i?"bg-red-500":i.engine_reachable?i.brain&&!i.brain.ready?"bg-amber-500 animate-pulse":"bg-emerald-500 animate-pulse":"bg-amber-500"),title:o?"Zentrale antwortet nicht — Anzeigen evtl. veraltet":i?i.engine_reachable?i.brain&&!i.brain.ready?`Hirn offline (${i.brain.model??"fast"})`:"Engine + Hirn online":"Engine offline":"Backend offline"})}):x.jsxs("div",{className:"space-y-2 text-left",children:[o?x.jsxs("span",{className:"flex items-center gap-2 text-red-400",children:[x.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500 animate-pulse"}),x.jsx("span",{className:"truncate",children:"Zentrale antwortet nicht"})]}):i?x.jsxs(x.Fragment,{children:[x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{className:Re("h-2 w-2 rounded-full animate-pulse",i.engine_reachable?"bg-emerald-500":"bg-amber-500")}),x.jsxs("span",{className:"truncate",children:["Engine ",i.engine_reachable?"online":"offline"]})]}),i.brain&&!i.brain.ready&&x.jsxs("span",{className:"flex items-center gap-2 text-amber-400",title:`Agent-Hirn '${i.brain.model??"fast"}' lädt nicht/abgestürzt`,children:[x.jsx("span",{className:"h-2 w-2 rounded-full bg-amber-500 animate-pulse"}),x.jsxs("span",{className:"truncate",children:["Hirn offline",i.brain.model?` (${i.brain.model})`:""]})]})]}):x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",x.jsx("span",{className:"truncate",children:"Backend offline"})]}),(s==null?void 0:s.versions)&&x.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[x.jsxs("div",{className:"truncate",title:s.versions.mc2?`${s.versions.mc2.branch}-${s.versions.mc2.hash}${s.versions.mc2.dirty?"*":""} (${s.versions.mc2.date})`:"nicht gefunden",children:[x.jsx("strong",{children:"MC2:"})," ",s.versions.mc2?`${s.versions.mc2.hash}${s.versions.mc2.dirty?"*":""}`:"—"]}),x.jsxs("div",{className:"truncate",title:((u=s.versions.engine)==null?void 0:u.type)==="git"?`${s.versions.engine.branch}-${s.versions.engine.hash}${s.versions.engine.dirty?"*":""} (${s.versions.engine.date})`:((d=s.versions.engine)==null?void 0:d.version_text)||"unbekannt",children:[x.jsx("strong",{children:"Engine:"})," ",((f=s.versions.engine)==null?void 0:f.type)==="git"?`${s.versions.engine.hash}${s.versions.engine.dirty?"*":""}`:((m=(h=s.versions.engine)==null?void 0:h.version_text)==null?void 0:m.split(" ").pop())||"—"]}),x.jsxs("div",{className:"truncate",title:s.versions.hermes_agent?`${s.versions.hermes_agent.branch}-${s.versions.hermes_agent.hash}${s.versions.hermes_agent.dirty?"*":""} (${s.versions.hermes_agent.date})`:"nicht gefunden",children:[x.jsx("strong",{children:"Hermes Agent:"})," ",s.versions.hermes_agent?`${s.versions.hermes_agent.hash}${s.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]})}class KQ extends Lg.Component{constructor(){super(...arguments);ks(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}componentDidCatch(r,n){console.error("Unbehandelter UI-Fehler:",r,n.componentStack)}render(){return this.state.error?x.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-950 text-neutral-200 p-8",children:x.jsxs("div",{className:"max-w-lg space-y-4 text-center",children:[x.jsx("div",{className:"text-2xl",children:"Da ist etwas schiefgelaufen."}),x.jsx("div",{className:"text-sm text-neutral-400 break-all",children:this.state.error.message}),x.jsx("button",{className:"px-4 py-2 rounded-lg bg-neutral-800 hover:bg-neutral-700 border border-neutral-700",onClick:()=>window.location.reload(),children:"Neu laden"})]})}):this.props.children}}const VQ=new DM({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});uM.createRoot(document.getElementById("root")).render(x.jsx(Lg.StrictMode,{children:x.jsx(KQ,{children:x.jsx(RM,{client:VQ,children:x.jsx(HQ,{})})})}));export{GQ as $,NT as A,Wg as B,KP as C,iT as D,_v as E,iX as F,BA as G,pT as H,oX as I,D3 as J,H1 as K,Nf as L,Vo as M,oT as N,R3 as O,G1 as P,eX as Q,_T as R,AT as S,Ys as T,YP as U,lT as V,Vg as W,wu as X,T3 as Y,cT as Z,un as _,M3 as a,_f as a0,JM as a1,IT as a2,qo as a3,jT as a4,Os as a5,If as a6,HP as a7,Kg as a8,bT as a9,vS as aA,$g as aB,fT as aa,A3 as ab,O3 as ac,cX as ad,Hg as ae,XQ as af,dT as ag,VP as ah,C3 as ai,vT as aj,eT as ak,ST as al,Mf as am,mT as an,j3 as ao,JQ as ap,q1 as aq,ZQ as ar,xT as as,sf as at,Lg as au,uu as av,AS as aw,B8 as ax,Ty as ay,gS as az,Zg as b,Se as c,sX as d,Re as e,Dm as f,Ie as g,rX as h,QQ as i,x as j,tT as k,zA as l,tX as m,zf as n,nX as o,lX as p,De as q,y as r,YQ as s,aX as t,bu as u,Io as v,WR as w,qP as x,ET as y,uX as z}; diff --git a/frontend/dist/assets/index-DJ-m2OOM.css b/frontend/dist/assets/index-DJ-m2OOM.css new file mode 100644 index 0000000..c1cfcf3 --- /dev/null +++ b/frontend/dist/assets/index-DJ-m2OOM.css @@ -0,0 +1 @@ +/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-cyrillic-ext-300-normal-CgCALhwJ.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-300-normal-RId2JxDB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-cyrillic-300-normal-BnqRxXuy.woff2)format("woff2"),url(/assets/inter-cyrillic-300-normal-LR1W_oT8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-greek-ext-300-normal-l2DDyC6M.woff2)format("woff2"),url(/assets/inter-greek-ext-300-normal-DLbbeei1.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-greek-300-normal-DmGD3g_f.woff2)format("woff2"),url(/assets/inter-greek-300-normal-BrhSP0vQ.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-vietnamese-300-normal-Bdr24Bqb.woff2)format("woff2"),url(/assets/inter-vietnamese-300-normal-DDGmYYdT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-ext-300-normal-CPgO9Ksf.woff2)format("woff2"),url(/assets/inter-latin-ext-300-normal-Dp1L8vcn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-300-normal-BVlfKGgI.woff2)format("woff2"),url(/assets/inter-latin-300-normal-i8F0SvXL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAA/IABAAAAAALMwAAA9mAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUTACDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUeB4xODAcbFCYzA/aDkxp0RMXmTMH/IcEUkaXZhe7qAVQoRhtRmOhkzaUYXs3lyzTUlwptwwNGy28PLP/oZewn39g4Jjp8YusISWZ9eNpW788MNQMI7jZprgsqRiJ7imCBYlEWIBhgoWjj7uJGcddednnRIQ/fX77n7i8NtLf08UwEQl3jq59XJCShypU4lMyz3Hb3X0omkAkZCYVNhfN/c3Pmf1nJcDqnj2VE35fYAx+8WYIJhZj4znn1Qbjp9+f4Pab0wOi7JSECzG0o6DRWu/MBgfu/NdPu5O8cUssKSJ1wUyTjq6oWZic7nUsKuIEySsIkzXvdKzArVNkCwvP1lQCgK4yu0BVWFp6vrWVm/6Nt7H82JGhxDyAteCbHZLRdzTsxJqNEUxb+txHysoxjwQzz2p8tU5uFtC4RmcGouCRX3v1195cCAYgBAECRIWSIVNsQCiqEhh6RpxRRzogwaUTYdSCc3AivAcSQCcSkacSCBbQlcbQ9DqAddgyNAFiZilAX9c1OSB/6ZyYgxQCwDgGQoVQGIYAIRvVlRAiR7Ax+jsqKIDacjVExNGWA/MQLk8VzJshTmOztrVbySNyHVnaAiUVpcgdvmnh9FNeAYYXkMl4AqisEoDtIZK0zs6lsSM8yAboEhZ5CFVqD23kNfor49QgAGWwFBeRAIZRCLdigBbqPFSIF+ABeQAfotUU0g+rL1gCMOnSNn4S0PWEL5Nw2QBqyIVvBT2Fe9wCSYDa3QH3Vt4cSaWSAug+NT0JKDgAKQOMLa96EFIKf/gOUWDQiE3EFgAB4aACxikhFAAwKZZ8DgHeiRQixRghm5n4HrCOOSrQAtqJU3LzpFAr/6TAHnDo8QQgszNHZ77FXwgom85JfwQOqMC8Ae/gYkSsURQ1AgQgAQAutAAoAALCdA3gIkv619L//vwb0H8nVgjz+bwLUlFoDaPGQkfqBjQcpc4R8ODxDAPwurhVJMbRRa7ksFTJAUJERK+RXgDxDi8az0D39NBJmMjGZP5MWgyH5+mYXeZg0kZOdJEIu5k1OaIYW0Rnqv/S2DtQxKCIjOSRMLuKNDjpwIXDRE0Y407zODF3/W/ovnvbiAz6YIOC0nZKaVrpMADK9/g8sQDORaaLiVmpCNj+DsAUJUg1SNBKpxbESqyNRj2XB2IWvmkANITOe42zRZqt223RIZbdRi00cNmu1QTMlFwWnTH2y+Gh4pemWrkeGXlpddgjYKUgnRG9Ajn55huQbViCiyKhiY0qMKzSiwpRykyrFGE0jSCIFAJwLADkD0AtMDvBegHkHug0AoFGJVK2qhCXG61AIrWWr8aYYT2zhWkVVD6EX62dQyHJqVGLicdAyTQtFjJgVi1Olw0wdI6eouC1SZjvL3umikG5h3BSHrTOMQKpkUgQu/aGoVC5VKLOjXKBIrWSy2FqmlB+dTKAUcDwJE5TwBkbFnJ/rY92ss4dzXxKbV1/T9hAJvBUu+bwOaq/XWDeXTEKvBMv+HYDYtSMXHI8lErBlDv1FvCF2yDfJcie3f1oWe+wCtb9HCZdshHBIfLC9FrNf60J4HGMKYkfC5TJ+lSNHd3NdZ5dNZ96o6OG8lOvpt5IcR3r2z61suaFBNQmrT0wrCXkvwKkNWenURddyk4+u1FuSiQRtRvQxxhEfxFo411PBvfbTQ1aCPSbA0yIczRIJRXEEQyYS4ocX/of1WiiyaY7SI3Z54u6pUe8m+30ZXB4f13V23XbupYoeLhwa5QqcRIKRdhwtDjdHX7sj8SSWqhgd2s25/B7OuTu4WLdz9FgQLtG55HhMlbFN/J5rrmGPXQWwZOVVLnn31VevgnPrfKt+IsHWeS5ZYVnCJZ9HIqem3z+aeAsjx92cK+7hnPGyVcarN47i9QctdADS864Xl+f2cM6E6W7jwyDLmWTlDNfAWRtN3eLupy1VuUoXA0Y9nDMwDm0aWWy8vkY6yniPTKmax1mFMSPTY+OyNo5gvPrMaWh+d6Yocqzobrh2BM+xO665gj12WQPSixm3X325OHNpey4+FiI+ViG4n+0mtkeDT6J77bK1vsLcqur1aMyF/u63T4xFx/V3vXhzq+VXFL7ypKwjPz+l4w2I7O1b21+wrz3XGCkzhqwKi3EwUtbo7w+YrLVVCuM8U1MAvrXrA5YXtX7tt5YAgoHTtp8WWF0eGHqRNVhUEjBba0v8h+bWaAV+c525JPC7Y/GXH19hrUyWl51baa04D0cn7Sp5qsze1VrwV7OyZHfSiyJTsZB0TFoerSjfW97MUD0Yt59oL3Kd4SNndY35u+St5yYTG575P1cpvWf3hskypgS/yB30tjjC3t6zi/Om4l/vjtYRYdOcpyc4FXQtRAZTN5h66vUdRpsxv/FMnSRHdzIYUWcg6vcHAtFOq8NmDm+l9r49tjYS2RI2O2zqvuITK5wVJxaXLhudxmXyUWt/K/Qiy0BJqb/mZHOpb6DEYg2VlPrMQWf+rheNhpOjo1zdfIfKkm6qMhsrTeZd234B2oMPB68Kyh+7OQi90BoqLvWbT6wt9YWKrdEKfLUnmkv9J2fxld9XeaLx3vKyZ40nVj6HfU/YdfKw79i9rQU1lSWHXuzBSScKzcZC3WPdlRcUl9xQeTh2aC6G9md6xnorxgsKd1f0dvkr/e7KQtNT/YHYFK691fHqc7z5WGnoTXPhm6HR0mnubTCFnYEJf7bfP+G0Ouw1k4QvuOw/rPsO97uflSxXKCuWS0rjlcrKePHlrYZWnH9AY9VoL03tATMa+kB/IGO1LLqakbF6sqvQHJhOLowm8cyBSHJmMonogaPJATpOOOweE/o99p7WWmfms1k7ns101lZHxtRBTefZMzIJkSsaNIZ6PReT/ohVl1uGg2e7ml3474DkI8kGTVtDZOe2TO2ONujXMk7TagqPrtGehm2f5GksNUqWOMsAC1JpXVMB8a265dwCWrecb+qjmcuF3pKhX/qEodrl80v5RPPuq9xGdUu9x3B2pnqrdvnB6Pe2BBpN7ap0nS5d1W7yN56QiB0YXTzQIWMqsVit2E1IJJ65TsI+KzVZbHmN6dJzkiro99t7Gqscyl/8nbTSUVWdjOByTedCSCZdr0kNW3MHcrWWxWmp1cp+yE6c98d0jC0lz4gdGXjRaLO92ffUHysp8pF3giv+eOcGjvsbGa11hkiW+PB5hmPdht38S67pmA9my+IbNmXULvS3VG07Lq136q4xnKz01oPhuZGJueMWrK31JofKklae1qlqKba7vg5yWnz3hzAuBOeGe+aQ8ur03gWhSNxQ3a/htqUcWzqxZsgptuwTcY3NaGzZLlTUKP8UW4zHk6oxHFFf9+F9MrFUwq/n52j06vNeGlmS9eyJU7A8ejA8F5uYO2Oh2i5K+uDcaxPRubvf6vbTxu85m5WnWqo9WbdqJUcOf3tSoNvCbrn09HJ9io6MjZ4Xny5qb2puApUNggl8KLVU1ACQTpMomG2HoEriLLkaejrIM8gzIx90Is8iz8bnjGNjNLQADHJcM4VcEXqXkOUhG7nIA5BvNJ+N9MKmYbuN05Tq5ZrWhcjqhmQ1IzdINamW1V4WrBhk29RG6FoDqfIt9wjkbNfvcq4XYOw1PHUJmquCZ03r3q6PSYNswHBLUJbKWbcHWUaWQZUN89AnAsi+EPxQrrIlEJnJIlUJM7HMcyIb2WdiwCYYhdkKuBjZ5gUYSBu2TYSNZEBQZ/dsLMogZAlqcMnlTpcszNOWC7LHy0oMpAd7JmhjAL8NbmRdayAVvDU+WxL5XR70AowhbINbkc7/KgLwLmPqTfwNBEUHCMBxmUhdQj6WUlkZlKnxu6pO1d9/v//3Q7rw+///2fMjAAB6oDb0HaH0b6GUJU8Y0eR64ojqUqm14Od8duRDHPKhFfZpiGupUNnzetjxdgRbK/5+l4IJ5JeSir8t3R+1IaFaa9AZitANXTvqUxavQ2TYeNmrYwP4det2tGuWgFpDejL9euYAfQfK28gGGIvbgQRcpXesotZIABUK/LoCMgX5tBzoUFiWbADfCNfMu98PsCghbdyeq6jgel07qoCDJjjsyIFY7MAODSYL1alQ9phCIRt3Ri4tbQVgE5dpkfhjGAkZMAWRYzPLNioh68Amvwwd4zGzodCRGaTlUjZqVdaBTSBDfJ6vWzoqG6lZhQKbFK6EAKgz5unB00f9KabfIE1/CcA764pzcPbvSz+DTdl+/xcAHwUACHwM3JK6lBL+d88HxAVfFHh3m1b6a8TWqK9qwVrRVjPaq6WqFSbUXqOOqrXXCkfN6KhWPgnndsCsD3CdZzHpoEPOX6wjz67FHso9aAqWW+ynpyeAc+VhtGMQgKDhk7pBGKUsAnBflEhlCV2wnFLxv2VpRo+QTFme7a4qy5cjUVaqjK2sjFJ+GTmx9FYE4M2hvDRKwSyXLSegQ9S4fhOazOT8YyJCPAaHHhY2o8XyD4iYNc7mNKNWTL+ICdO0Go+aiFqsGZM3ZyMDg2khMRGTZqrMfNN8LD/nqJhhBq3qNXN2r8LzGkBuHpMgYmkV2dpFChUKu08Vm1pVR9TBh+FjevSxMYZr7aNbRE1aFJsrvS1RcG1pOS9ocBJ8rTYx4yMuQj6W2WwW4VnSDJFz5tU/LKK0ZgWXCD2/qRmKRWuYh+47US6adX1FAOIfwbmATE+T2t4wLVab3eF0uT1eXz6MQKLQGCyuGE8gVpLIFCqNzmCy2Bwur54vEIrEEqlM3qxQqtTdSrU6vcFoMlusNjsz0q+WhVWdeg0aNfUmG7vmOrRwaNWmXYdOTi5uHl5deXXr0auPj19Av2C9QgYMGor2C4sYMWrMuAlRk6bETJsxa868BYuWxC3bbY+9EjhBUjTDcrwgSih88/y+eq/C13kHnXKhbTUDgISUCgNDoABXKLCL+2X27E/c2jAAQEKsFigx1qgLEbSeu+NyhcJGIECQNm9L567c3l7uZ5Wo3pkx4tYOhJANKw9dEonovRqVDb5dMKz515Ng+hci23hm4UQEs8eChwPB0BZYOBINbH3Erw0HECzUaokWa42eyGD3PIBIMBSOrfryBQ3G4oHQKi+/kEA0tuaDV40GP3h0+wuAAgXTKy0v5428xUDwksfm538juY9ni9fz2Ggy4iWLMz4qLklle7kcZvOLwy5bXp7fdYrRJlP4l5NDdZPiKVeLnJV7Ohg2VAs/aQwZNVtodX2jki6RU1e/j6GkgZbgAmmogZafuF4mZlb1t+COUyrcnF/CCZzS4MO/dX1T6QQAAAA=)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.bottom-3{bottom:calc(var(--spacing) * 3)}.-left-\[23px\]{left:-23px}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-50{z-index:-50}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[99\]{z-index:99}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-5\.5{height:calc(var(--spacing) * 5.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-44{height:calc(var(--spacing) * 44)}.h-64{height:calc(var(--spacing) * 64)}.h-\[120px\]{height:120px}.h-\[150px\]{height:150px}.h-\[480px\]{height:480px}.h-\[500px\]{height:500px}.h-\[calc\(100vh-8\.5rem\)\]{height:calc(100vh - 8.5rem)}.h-full{height:100%}.h-screen{height:100vh}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[28rem\]{max-height:28rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-\[16rem\]{min-height:16rem}.min-h-\[58vh\]{min-height:58vh}.min-h-\[300px\]{min-height:300px}.min-h-\[620px\]{min-height:620px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[16rem\]{max-width:16rem}.max-w-\[85vw\]{max-width:85vw}.max-w-\[250px\]{max-width:250px}.max-w-\[280px\]{max-width:280px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3ch\]{min-width:3ch}.min-w-\[680px\]{min-width:680px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.scrollbar-none{scrollbar-width:none}.scrollbar-thin{scrollbar-width:thin}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-border\/20>:not(:last-child)){border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/20>:not(:last-child)){border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/25{border-color:color-mix(in oklab,var(--color-amber-500) 25%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500) 40%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-border,.border-border\/20{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/20{border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.border-border\/70{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,hsl(var(--border)) 70%,transparent)}}.border-border\/80{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/80{border-color:color-mix(in oklab,hsl(var(--border)) 80%,transparent)}}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.border-cyan-500\/25{border-color:#00b7d740}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/25{border-color:color-mix(in oklab,var(--color-cyan-500) 25%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500) 30%,transparent)}}.border-emerald-500\/10{border-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/10{border-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-emerald-500\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-fuchsia-500\/25{border-color:#e12afb40}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/25{border-color:color-mix(in oklab,var(--color-fuchsia-500) 25%,transparent)}}.border-fuchsia-500\/30{border-color:#e12afb4d}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/30{border-color:color-mix(in oklab,var(--color-fuchsia-500) 30%,transparent)}}.border-indigo-500\/25{border-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/25{border-color:color-mix(in oklab,var(--color-indigo-500) 25%,transparent)}}.border-indigo-500\/40{border-color:#625fff66}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/40{border-color:color-mix(in oklab,var(--color-indigo-500) 40%,transparent)}}.border-lime-500\/25{border-color:#80cd0040}@supports (color:color-mix(in lab,red,red)){.border-lime-500\/25{border-color:color-mix(in oklab,var(--color-lime-500) 25%,transparent)}}.border-neutral-700{border-color:var(--color-neutral-700)}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-pink-500\/25{border-color:#f6339a40}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/25{border-color:color-mix(in oklab,var(--color-pink-500) 25%,transparent)}}.border-pink-500\/40{border-color:#f6339a66}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/40{border-color:color-mix(in oklab,var(--color-pink-500) 40%,transparent)}}.border-primary,.border-primary\/20{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.border-primary\/25{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/25{border-color:color-mix(in oklab,hsl(var(--primary)) 25%,transparent)}}.border-primary\/30{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.border-primary\/40{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.border-primary\/60{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,hsl(var(--primary)) 60%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500) 30%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.border-red-500\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab,red,red)){.border-red-500\/60{border-color:color-mix(in oklab,var(--color-red-500) 60%,transparent)}}.border-sky-500\/25{border-color:#00a5ef40}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/25{border-color:color-mix(in oklab,var(--color-sky-500) 25%,transparent)}}.border-sky-500\/30{border-color:#00a5ef4d}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/30{border-color:color-mix(in oklab,var(--color-sky-500) 30%,transparent)}}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/40{border-color:color-mix(in oklab,var(--color-sky-500) 40%,transparent)}}.border-slate-500\/25{border-color:#62748e40}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/25{border-color:color-mix(in oklab,var(--color-slate-500) 25%,transparent)}}.border-slate-500\/30{border-color:#62748e4d}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/30{border-color:color-mix(in oklab,var(--color-slate-500) 30%,transparent)}}.border-teal-500\/25{border-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.border-teal-500\/25{border-color:color-mix(in oklab,var(--color-teal-500) 25%,transparent)}}.border-transparent{border-color:#0000}.border-violet-500\/15{border-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/15{border-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/20{border-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.border-violet-500\/25{border-color:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/25{border-color:color-mix(in oklab,var(--color-violet-500) 25%,transparent)}}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/30{border-color:color-mix(in oklab,var(--color-violet-500) 30%,transparent)}}.border-violet-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/40{border-color:color-mix(in oklab,var(--color-violet-500) 40%,transparent)}}.border-t-emerald-500\/70{border-top-color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.border-t-emerald-500\/70{border-top-color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.border-t-primary\/70{border-top-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-t-primary\/70{border-top-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.border-t-violet-500\/70{border-top-color:#8d54ffb3}@supports (color:color-mix(in lab,red,red)){.border-t-violet-500\/70{border-top-color:color-mix(in oklab,var(--color-violet-500) 70%,transparent)}}.border-l-amber-500\/80{border-left-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.border-l-amber-500\/80{border-left-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.border-l-cyan-500\/80{border-left-color:#00b7d7cc}@supports (color:color-mix(in lab,red,red)){.border-l-cyan-500\/80{border-left-color:color-mix(in oklab,var(--color-cyan-500) 80%,transparent)}}.border-l-indigo-500\/80{border-left-color:#625fffcc}@supports (color:color-mix(in lab,red,red)){.border-l-indigo-500\/80{border-left-color:color-mix(in oklab,var(--color-indigo-500) 80%,transparent)}}.border-l-muted{border-left-color:hsl(var(--muted))}.border-l-violet-500\/80{border-left-color:#8d54ffcc}@supports (color:color-mix(in lab,red,red)){.border-l-violet-500\/80{border-left-color:color-mix(in oklab,var(--color-violet-500) 80%,transparent)}}.bg-\[\#030712\]{background-color:#030712}.bg-\[hsl\(224\,28\%\,8\%\)\]{background-color:#0f121a}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-400\/80{background-color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/80{background-color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/5{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-amber-500\/80{background-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/80{background-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.bg-amber-500\/\[0\.06\]{background-color:#f99c000f}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-amber-500) 6%,transparent)}}.bg-background\/10{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--background)) 10%,transparent)}}.bg-background\/20{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/20{background-color:color-mix(in oklab,hsl(var(--background)) 20%,transparent)}}.bg-background\/25{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/25{background-color:color-mix(in oklab,hsl(var(--background)) 25%,transparent)}}.bg-background\/30{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/30{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.bg-background\/35{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/35{background-color:color-mix(in oklab,hsl(var(--background)) 35%,transparent)}}.bg-background\/40{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background)) 50%,transparent)}}.bg-background\/60{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-border{background-color:hsl(var(--border))}.bg-card,.bg-card\/10{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/10{background-color:color-mix(in oklab,hsl(var(--card)) 10%,transparent)}}.bg-card\/20{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,hsl(var(--card)) 20%,transparent)}}.bg-card\/30{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.bg-card\/40{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,hsl(var(--card)) 40%,transparent)}}.bg-card\/45{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/45{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.bg-card\/50{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,hsl(var(--card)) 50%,transparent)}}.bg-card\/60{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/60{background-color:color-mix(in oklab,hsl(var(--card)) 60%,transparent)}}.bg-card\/70{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,hsl(var(--card)) 70%,transparent)}}.bg-card\/85{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/85{background-color:color-mix(in oklab,hsl(var(--card)) 85%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500) 10%,transparent)}}.bg-cyan-500\/15{background-color:#00b7d726}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/15{background-color:color-mix(in oklab,var(--color-cyan-500) 15%,transparent)}}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-emerald-500\/80{background-color:#00bb7fcc}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/80{background-color:color-mix(in oklab,var(--color-emerald-500) 80%,transparent)}}.bg-foreground\/10{background-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--foreground)) 10%,transparent)}}.bg-fuchsia-500{background-color:var(--color-fuchsia-500)}.bg-fuchsia-500\/10{background-color:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/10{background-color:color-mix(in oklab,var(--color-fuchsia-500) 10%,transparent)}}.bg-fuchsia-500\/15{background-color:#e12afb26}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/15{background-color:color-mix(in oklab,var(--color-fuchsia-500) 15%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500) 10%,transparent)}}.bg-indigo-500\/15{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/15{background-color:color-mix(in oklab,var(--color-indigo-500) 15%,transparent)}}.bg-lime-500{background-color:var(--color-lime-500)}.bg-lime-500\/15{background-color:#80cd0026}@supports (color:color-mix(in lab,red,red)){.bg-lime-500\/15{background-color:color-mix(in oklab,var(--color-lime-500) 15%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.bg-muted-foreground\/45{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/45{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 45%,transparent)}}.bg-muted\/10{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/10{background-color:color-mix(in oklab,hsl(var(--muted)) 10%,transparent)}}.bg-muted\/15{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/15{background-color:color-mix(in oklab,hsl(var(--muted)) 15%,transparent)}}.bg-muted\/20{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,hsl(var(--muted)) 20%,transparent)}}.bg-muted\/25{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,hsl(var(--muted)) 25%,transparent)}}.bg-muted\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-950{background-color:var(--color-neutral-950)}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.bg-pink-500{background-color:var(--color-pink-500)}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500) 10%,transparent)}}.bg-pink-500\/15{background-color:#f6339a26}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/15{background-color:color-mix(in oklab,var(--color-pink-500) 15%,transparent)}}.bg-popover,.bg-popover\/95{background-color:hsl(var(--popover))}@supports (color:color-mix(in lab,red,red)){.bg-popover\/95{background-color:color-mix(in oklab,hsl(var(--popover)) 95%,transparent)}}.bg-primary,.bg-primary\/5{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-primary\/15{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.bg-primary\/70{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/70{background-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-primary\/\[0\.06\]{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/\[0\.06\]{background-color:color-mix(in oklab,hsl(var(--primary)) 6%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500) 80%,transparent)}}.bg-rose-400\/80{background-color:#ff667fcc}@supports (color:color-mix(in lab,red,red)){.bg-rose-400\/80{background-color:color-mix(in oklab,var(--color-rose-400) 80%,transparent)}}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-500\/15{background-color:#ff235726}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/15{background-color:color-mix(in oklab,var(--color-rose-500) 15%,transparent)}}.bg-sky-500\/5{background-color:#00a5ef0d}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/5{background-color:color-mix(in oklab,var(--color-sky-500) 5%,transparent)}}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/10{background-color:color-mix(in oklab,var(--color-sky-500) 10%,transparent)}}.bg-sky-500\/15{background-color:#00a5ef26}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/15{background-color:color-mix(in oklab,var(--color-sky-500) 15%,transparent)}}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-500\/15{background-color:#62748e26}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/15{background-color:color-mix(in oklab,var(--color-slate-500) 15%,transparent)}}.bg-slate-500\/20{background-color:#62748e33}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/20{background-color:color-mix(in oklab,var(--color-slate-500) 20%,transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500) 10%,transparent)}}.bg-teal-500\/15{background-color:#00baa726}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/15{background-color:color-mix(in oklab,var(--color-teal-500) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/5{background-color:color-mix(in oklab,var(--color-violet-500) 5%,transparent)}}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.bg-violet-500\/\[0\.04\]{background-color:#8d54ff0a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-violet-500) 4%,transparent)}}.bg-violet-500\/\[0\.05\]{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-violet-500) 5%,transparent)}}.bg-zinc-500{background-color:var(--color-zinc-500)}.bg-zinc-500\/10{background-color:#71717b1a}@supports (color:color-mix(in lab,red,red)){.bg-zinc-500\/10{background-color:color-mix(in oklab,var(--color-zinc-500) 10%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-foreground{--tw-gradient-from:hsl(var(--foreground));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-foreground{--tw-gradient-via:hsl(var(--foreground));--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-primary{--tw-gradient-to:hsl(var(--primary));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.fill-primary\/20{fill:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.fill-primary\/20{fill:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.font-space{font-family:Space Grotesk,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-300\/70{color:#ffd236b3}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/70{color:color-mix(in oklab,var(--color-amber-300) 70%,transparent)}}.text-amber-300\/90{color:#ffd236e6}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/90{color:color-mix(in oklab,var(--color-amber-300) 90%,transparent)}}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400) 90%,transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-cyan-200\/90{color:#a2f4fde6}@supports (color:color-mix(in lab,red,red)){.text-cyan-200\/90{color:color-mix(in oklab,var(--color-cyan-200) 90%,transparent)}}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-300\/80{color:#53eafdcc}@supports (color:color-mix(in lab,red,red)){.text-cyan-300\/80{color:color-mix(in oklab,var(--color-cyan-300) 80%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-300\/70{color:#5ee9b5b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/70{color:color-mix(in oklab,var(--color-emerald-300) 70%,transparent)}}.text-emerald-300\/80{color:#5ee9b5cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/80{color:color-mix(in oklab,var(--color-emerald-300) 80%,transparent)}}.text-emerald-300\/90{color:#5ee9b5e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/90{color:color-mix(in oklab,var(--color-emerald-300) 90%,transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/70{color:color-mix(in oklab,var(--color-emerald-400) 70%,transparent)}}.text-emerald-400\/90{color:#00d294e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/90{color:color-mix(in oklab,var(--color-emerald-400) 90%,transparent)}}.text-foreground,.text-foreground\/70{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,hsl(var(--foreground)) 70%,transparent)}}.text-foreground\/75{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/75{color:color-mix(in oklab,hsl(var(--foreground)) 75%,transparent)}}.text-foreground\/80{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.text-foreground\/85{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,hsl(var(--foreground)) 85%,transparent)}}.text-foreground\/90{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,hsl(var(--foreground)) 90%,transparent)}}.text-fuchsia-300{color:var(--color-fuchsia-300)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-lime-400{color:var(--color-lime-400)}.text-muted-foreground,.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.text-muted-foreground\/55{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/55{color:color-mix(in oklab,hsl(var(--muted-foreground)) 55%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.text-muted-foreground\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.text-muted-foreground\/75{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/75{color:color-mix(in oklab,hsl(var(--muted-foreground)) 75%,transparent)}}.text-muted-foreground\/80{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,hsl(var(--muted-foreground)) 80%,transparent)}}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-orange-300{color:var(--color-orange-300)}.text-pink-300{color:var(--color-pink-300)}.text-pink-400{color:var(--color-pink-400)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/70{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.text-primary\/80{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.text-purple-300{color:var(--color-purple-300)}.text-red-200{color:var(--color-red-200)}.text-red-200\/90{color:#ffcacae6}@supports (color:color-mix(in lab,red,red)){.text-red-200\/90{color:color-mix(in oklab,var(--color-red-200) 90%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-300\/70{color:#ffa3a3b3}@supports (color:color-mix(in lab,red,red)){.text-red-300\/70{color:color-mix(in oklab,var(--color-red-300) 70%,transparent)}}.text-red-300\/90{color:#ffa3a3e6}@supports (color:color-mix(in lab,red,red)){.text-red-300\/90{color:color-mix(in oklab,var(--color-red-300) 90%,transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-sky-200\/80{color:#b8e6fecc}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/80{color:color-mix(in oklab,var(--color-sky-200) 80%,transparent)}}.text-sky-300{color:var(--color-sky-300)}.text-sky-300\/80{color:#77d4ffcc}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/80{color:color-mix(in oklab,var(--color-sky-300) 80%,transparent)}}.text-sky-300\/90{color:#77d4ffe6}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/90{color:color-mix(in oklab,var(--color-sky-300) 90%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-slate-300{color:var(--color-slate-300)}.text-teal-300{color:var(--color-teal-300)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-violet-200\/90{color:#ddd6ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-200\/90{color:color-mix(in oklab,var(--color-violet-200) 90%,transparent)}}.text-violet-300{color:var(--color-violet-300)}.text-violet-300\/70{color:#c4b4ffb3}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/70{color:color-mix(in oklab,var(--color-violet-300) 70%,transparent)}}.text-violet-300\/80{color:#c4b4ffcc}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/80{color:color-mix(in oklab,var(--color-violet-300) 80%,transparent)}}.text-violet-300\/90{color:#c4b4ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/90{color:color-mix(in oklab,var(--color-violet-300) 90%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-zinc-400{color:var(--color-zinc-400)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-primary\/40{-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.decoration-primary\/40{-webkit-text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent);text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-primary{accent-color:hsl(var(--primary))}.\[color-scheme\:dark\]{color-scheme:dark}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(16\,185\,129\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#10b98166);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(245\,158\,11\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#f59e0b66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-amber-500\/10{--tw-shadow-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.shadow-amber-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/15{--tw-shadow-color:#00000026}@supports (color:color-mix(in lab,red,red)){.shadow-black\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/25{--tw-shadow-color:#00000040}@supports (color:color-mix(in lab,red,red)){.shadow-black\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/5{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/10{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-background\/60{--tw-ring-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.ring-background\/60{--tw-ring-color:color-mix(in oklab, hsl(var(--background)) 60%, transparent)}}.ring-black\/40{--tw-ring-color:#0006}@supports (color:color-mix(in lab,red,red)){.ring-black\/40{--tw-ring-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.ring-white\/70{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.ring-white\/70{--tw-ring-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-foreground:is(:where(.group):hover *){color:hsl(var(--foreground))}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.first\:mt-0:first-child{margin-top:0}.first\:rounded-l-sm:first-child{border-top-left-radius:calc(var(--radius) - 4px);border-bottom-left-radius:calc(var(--radius) - 4px)}@media(hover:hover){.hover\:border-amber-500\/50:hover{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-500\/50:hover{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.hover\:border-border:hover,.hover\:border-border\/60:hover{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/60:hover{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.hover\:border-emerald-500\/40:hover{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/40:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.hover\:border-primary\/45:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/45:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 45%,transparent)}}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.hover\:border-red-500\/50:hover{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/50:hover{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-400:hover{background-color:var(--color-amber-400)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.hover\:bg-amber-500\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.hover\:bg-background\/40:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/40:hover{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.hover\:bg-background\/60:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.hover\:bg-background\/80:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/80:hover{background-color:color-mix(in oklab,hsl(var(--background)) 80%,transparent)}}.hover\:bg-card\/45:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/45:hover{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.hover\:bg-card\/75:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/75:hover{background-color:color-mix(in oklab,hsl(var(--card)) 75%,transparent)}}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.hover\:bg-emerald-500\/15:hover{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/15:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-primary\/95:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/95:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 95%,transparent)}}.hover\:bg-red-500\/5:hover{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/5:hover{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:bg-red-500\/15:hover{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/15:hover{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-sky-500\/20:hover{background-color:#00a5ef33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sky-500\/20:hover{background-color:color-mix(in oklab,var(--color-sky-500) 20%,transparent)}}.hover\:bg-violet-500\/20:hover{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-500\/20:hover{background-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-foreground:hover,.hover\:text-foreground\/80:hover{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:text-foreground\/80:hover{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.hover\:text-primary:hover,.hover\:text-primary\/80:hover{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-violet-200:hover{color:var(--color-violet-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-primary:focus,.focus\:border-primary\/50:focus{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.focus\:border-red-400\/50:focus{border-color:#ff656880}@supports (color:color-mix(in lab,red,red)){.focus\:border-red-400\/50:focus{border-color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.focus\:border-sky-400\/50:focus{border-color:#00bcfe80}@supports (color:color-mix(in lab,red,red)){.focus\:border-sky-400\/50:focus{border-color:color-mix(in oklab,var(--color-sky-400) 50%,transparent)}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary\/50:focus{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab, hsl(var(--primary)) 50%, transparent)}}.focus\:ring-violet-500\/50:focus{--tw-ring-color:#8d54ff80}@supports (color:color-mix(in lab,red,red)){.focus\:ring-violet-500\/50:focus{--tw-ring-color:color-mix(in oklab, var(--color-violet-500) 50%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-\[640px\]{width:640px}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:p-10{padding:calc(var(--spacing) * 10)}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[170px_1fr\]{grid-template-columns:170px 1fr}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:absolute{position:absolute}.lg\:top-4{top:calc(var(--spacing) * 4)}.lg\:top-6{top:calc(var(--spacing) * 6)}.lg\:right-4{right:calc(var(--spacing) * 4)}.lg\:right-6{right:calc(var(--spacing) * 6)}.lg\:bottom-4{bottom:calc(var(--spacing) * 4)}.lg\:bottom-6{bottom:calc(var(--spacing) * 6)}.lg\:left-4{left:calc(var(--spacing) * 4)}.lg\:left-6{left:calc(var(--spacing) * 6)}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[calc\(100\%-2rem\)\]{height:calc(100% - 2rem)}.lg\:h-\[calc\(100\%-3rem\)\]{height:calc(100% - 3rem)}.lg\:w-40{width:calc(var(--spacing) * 40)}.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:w-80{width:calc(var(--spacing) * 80)}.lg\:w-96{width:calc(var(--spacing) * 96)}.lg\:flex-none{flex:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:flex-row{flex-direction:row}.lg\:items-stretch{align-items:stretch}.lg\:rounded-xl{border-radius:var(--radius-xl)}.lg\:border{border-style:var(--tw-border-style);border-width:1px}.lg\:border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.lg\:border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.lg\:bg-background\/65{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.lg\:bg-background\/65{background-color:color-mix(in oklab,hsl(var(--background)) 65%,transparent)}}.lg\:p-4{padding:calc(var(--spacing) * 4)}.lg\:shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.lg\:shadow-black\/50{--tw-shadow-color:#00000080}@supports (color:color-mix(in lab,red,red)){.lg\:shadow-black\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.lg\:backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}}:root{--background:224 30% 6%;--foreground:210 20% 92%;--card:224 25% 10%;--card-foreground:210 20% 94%;--popover:224 28% 9%;--popover-foreground:210 20% 94%;--primary:172 72% 50%;--primary-foreground:224 47% 8%;--muted:220 16% 14%;--muted-foreground:215 14% 64%;--accent:220 16% 16%;--accent-foreground:210 20% 94%;--border:222 18% 23%;--input:222 18% 23%;--ring:172 72% 50%;--radius:.75rem;color-scheme:dark}html,body,#root{height:100%;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}*{border-color:hsl(var(--border) / .85);outline-color:hsl(var(--primary) / .5)}:focus-visible{outline:2px solid hsl(var(--primary) / .7);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--primary) / .25);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.mc-card{border:1px solid hsl(var(--border) / .95);background-color:hsl(var(--card) / .85);border-radius:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 30px -15px #00000073,inset 0 1px #ffffff0d}.mc-card:before{content:"";background:linear-gradient(90deg,hsl(var(--primary)),#6366f1,#a855f7);opacity:.75;height:3.5px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.mc-card:hover{background-color:hsl(var(--card) / .92);border-color:hsl(var(--primary) / .35);box-shadow:0 20px 40px -20px #000000a6,0 0 18px 2px hsl(var(--primary) / .05);transform:translateY(-3px)}.mc-card:hover:before{opacity:1}.mc-card-sm{border:1px solid hsl(var(--border) / .9);background-color:hsl(var(--card) / .88);border-radius:.75rem;transition:background-color .2s,border-color .2s}.mc-card-sm:hover{background-color:hsl(var(--card) / .95);border-color:hsl(var(--primary) / .3)}.nav-active{background:linear-gradient(90deg,hsl(var(--primary) / .18),#6366f11f);color:hsl(var(--primary));border-left:3.5px solid hsl(var(--primary));border-radius:0 var(--radius) var(--radius) 0;padding-left:calc(.75rem - 3.5px);box-shadow:inset 0 1px #ffffff05}.nav-active-collapsed{background:hsl(var(--primary) / .18);color:hsl(var(--primary));box-shadow:0 0 12px 1px hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3)}@keyframes flow-cyan{0%{stroke-dasharray:6 3;stroke-dashoffset:18px}to{stroke-dasharray:6 3;stroke-dashoffset:0}}.animate-flow-cyan{animation:1.2s linear infinite flow-cyan}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(min-width:1440px){html{font-size:16.5px}}@media(min-width:1920px){html{font-size:17.5px}}@media(min-width:2560px){html{font-size:19px}}@media(min-width:3440px){html{font-size:20px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}} diff --git a/frontend/dist/assets/layers-CKJvqHFy.js b/frontend/dist/assets/layers-Dh094O1c.js similarity index 91% rename from frontend/dist/assets/layers-CKJvqHFy.js rename to frontend/dist/assets/layers-Dh094O1c.js index 513f5c1..dc4776e 100644 --- a/frontend/dist/assets/layers-CKJvqHFy.js +++ b/frontend/dist/assets/layers-Dh094O1c.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-Cm0NCQeJ.js";/** +import{c as a}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/lightbulb-CBiiGPIh.js b/frontend/dist/assets/lightbulb-CBiiGPIh.js deleted file mode 100644 index 058a718..0000000 --- a/frontend/dist/assets/lightbulb-CBiiGPIh.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as t}from"./index-Cm0NCQeJ.js";/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const e=t("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);export{e as L}; diff --git a/frontend/dist/assets/rotate-ccw-DQJileoK.js b/frontend/dist/assets/rotate-ccw-BHsRFGD7.js similarity index 88% rename from frontend/dist/assets/rotate-ccw-DQJileoK.js rename to frontend/dist/assets/rotate-ccw-BHsRFGD7.js index 9cb37dd..e19c86a 100644 --- a/frontend/dist/assets/rotate-ccw-DQJileoK.js +++ b/frontend/dist/assets/rotate-ccw-BHsRFGD7.js @@ -1,4 +1,4 @@ -import{c as t}from"./index-Cm0NCQeJ.js";/** +import{c as t}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/send-Bc-GXqQz.js b/frontend/dist/assets/send-Dt2f8lfr.js similarity index 90% rename from frontend/dist/assets/send-Bc-GXqQz.js rename to frontend/dist/assets/send-Dt2f8lfr.js index ce26b8f..7971868 100644 --- a/frontend/dist/assets/send-Bc-GXqQz.js +++ b/frontend/dist/assets/send-Dt2f8lfr.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-Cm0NCQeJ.js";/** +import{c as a}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/zap-BOjMx7d9.js b/frontend/dist/assets/zap-TiNENPLo.js similarity index 96% rename from frontend/dist/assets/zap-BOjMx7d9.js rename to frontend/dist/assets/zap-TiNENPLo.js index 722a6fc..bcaabda 100644 --- a/frontend/dist/assets/zap-BOjMx7d9.js +++ b/frontend/dist/assets/zap-TiNENPLo.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-Cm0NCQeJ.js";/** +import{c as a}from"./index-CoRdA_gp.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/index.html b/frontend/dist/index.html index c0f54d5..9cd6ae8 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -7,8 +7,8 @@ Mission Control 2.0 - - + +
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 3893346..4444beb 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -20,6 +20,7 @@ const AgentView = lazy(() => import("@/views/AgentView").then((m) => ({ default: const KonsoleView = lazy(() => import("@/views/KonsoleView").then((m) => ({ default: m.KonsoleView }))) const GuideView = lazy(() => import("@/views/GuideView").then((m) => ({ default: m.GuideView }))) const AuftragsbuchView = lazy(() => import("@/views/AuftragsbuchView").then((m) => ({ default: m.AuftragsbuchView }))) +const IdeenView = lazy(() => import("@/views/IdeenView").then((m) => ({ default: m.IdeenView }))) const ChronikView = lazy(() => import("@/views/ChronikView").then((m) => ({ default: m.ChronikView }))) const EigenlebenView = lazy(() => import("@/views/EigenlebenView").then((m) => ({ default: m.EigenlebenView }))) const WissenView = lazy(() => import("@/views/WissenView").then((m) => ({ default: m.WissenView }))) @@ -201,6 +202,7 @@ export default function App() {
}> {view === "dashboard" && navigate(v as ViewId)} />} + {view === "ideen" && } {view === "auftraege" && } {view === "models" && } {view === "connect" && } diff --git a/frontend/src/components/ui/SectionLabel.tsx b/frontend/src/components/ui/SectionLabel.tsx new file mode 100644 index 0000000..7b9475e --- /dev/null +++ b/frontend/src/components/ui/SectionLabel.tsx @@ -0,0 +1,12 @@ +import type { LucideIcon } from "lucide-react" + +// Kleine Abschnitts-Überschrift innerhalb einer Seite. Lag vorher in AuftragsbuchView; +// seit der Ideen-Queue eine eigene Seite hat (25.07.2026) brauchen beide sie — also +// einmal hier statt zweimal dupliziert. +export function SectionLabel({ icon: Icon, children }: { icon: LucideIcon; children: React.ReactNode }) { + return ( +

+ {children} +

+ ) +} diff --git a/frontend/src/lib/format.ts b/frontend/src/lib/format.ts index 63f9949..e39aa7e 100644 --- a/frontend/src/lib/format.ts +++ b/frontend/src/lib/format.ts @@ -30,3 +30,9 @@ export function fmtEta(s?: number): string { export function fmtCtx(c: number | null): string { return c ? `${Math.round(c / 1024)}k` : "—" } + +/** Unix-Sekunden → "25.07., 21:04"; "—" bei 0/null/undefined. */ +export function fmtWhen(ts: number | null | undefined): string { + if (!ts) return "—" + return new Date(ts * 1000).toLocaleString("de-DE", { day: "2-digit", month: "2-digit", hour: "2-digit", minute: "2-digit" }) +} diff --git a/frontend/src/nav.ts b/frontend/src/nav.ts index 8a8f4a8..066cdc5 100644 --- a/frontend/src/nav.ts +++ b/frontend/src/nav.ts @@ -10,10 +10,11 @@ import { Sparkles, SquareTerminal, HelpCircle, + Lightbulb, type LucideIcon, } from "lucide-react" -export type ViewId = "dashboard" | "auftraege" | "eigenleben" | "models" | "memory" | "wissen" | "chronik" | "connect" | "agent" | "konsole" | "guide" +export type ViewId = "dashboard" | "ideen" | "auftraege" | "eigenleben" | "models" | "memory" | "wissen" | "chronik" | "connect" | "agent" | "konsole" | "guide" export type NavGroup = "Operativ" | "Wissen" | "Werkzeuge" | "Wartung" @@ -28,6 +29,9 @@ export interface NavItem { // Eine Quelle der Wahrheit für Sidebar UND Command-Palette. export const NAV: NavItem[] = [ { id: "dashboard", label: "Cockpit", hint: "Deine Box auf einen Blick", icon: LayoutDashboard, group: "Operativ" }, + // Der Haupteingang: Idee → Konzept → Repo → Zed. Steht bewusst direkt unter dem + // Cockpit — hier fängt jede Arbeit an (eigene Seite seit 25.07.2026). + { id: "ideen", label: "Ideen", hint: "Idee eingeben — die Box legt Konzept und Repo an", icon: Lightbulb, group: "Operativ" }, { id: "auftraege", label: "Auftragsbuch", hint: "Vorschläge der Box — annehmen oder ablehnen", icon: Inbox, group: "Operativ" }, { id: "eigenleben", label: "Skills", hint: "Fähigkeiten der Box — aktiv/inaktiv, Herkunft & Vorschlags-Bilanz", icon: Sparkles, group: "Operativ" }, { id: "chronik", label: "Chronik", hint: "Was die Box von allein getan hat + Zeitmaschine", icon: History, group: "Operativ" }, diff --git a/frontend/src/views/AuftragsbuchView.tsx b/frontend/src/views/AuftragsbuchView.tsx index 4f0e3a9..32b4c33 100644 --- a/frontend/src/views/AuftragsbuchView.tsx +++ b/frontend/src/views/AuftragsbuchView.tsx @@ -1,14 +1,14 @@ -import { useEffect, useState } from "react" +import { useState } from "react" import { Inbox, Check, X, GitBranch, FileDiff, Loader2, AlertTriangle, Sparkles, - ChevronDown, ChevronRight, Clock, ClipboardCheck, Hammer, RefreshCw, Layers, Lightbulb, Send, HelpCircle, - RotateCcw, Square, ArrowUp, ArrowDown, Code2, FileText, GitFork, + ChevronDown, ChevronRight, Clock, Hammer, RefreshCw, Lightbulb, ArrowRight, } from "lucide-react" -import { api, type AuftragItem, type IdeenErgebnis, type IdeenItem, type IdeenKonzept, type IdeenProjekt, type SkillKandidat } from "@/lib/api" -import { Markdown } from "@/lib/markdown" -import { useAuftragsbuch, useIdeen, useIdeenLog, useQueryClient, qk } from "@/lib/queries" +import { api, type AuftragItem, type SkillKandidat } from "@/lib/api" +import { useAuftragsbuch, useIdeen, useQueryClient, qk } from "@/lib/queries" import { useDialog } from "@/lib/useDialog" import { cn } from "@/lib/utils" +import { fmtWhen } from "@/lib/format" +import { SectionLabel } from "@/components/ui/SectionLabel" // Auftragsbuch = die Vorschlags-Inbox der Box. Werkstatt/Orchestrator liefern propose-only- // Branches, der Traum liefert Skill-Kandidaten — hier fällt die Entscheidung per Klick. @@ -31,10 +31,6 @@ const STATE_UI: Record = abgelehnt: { label: "abgelehnt", cls: "text-muted-foreground border-border/60 bg-background/30" }, } -function fmtWhen(ts: number | null | undefined): string { - if (!ts) return "—" - return new Date(ts * 1000).toLocaleString("de-DE", { day: "2-digit", month: "2-digit", hour: "2-digit", minute: "2-digit" }) -} export function AuftragsbuchView() { const { data, isLoading, refetch, isFetching } = useAuftragsbuch() @@ -62,8 +58,11 @@ export function AuftragsbuchView() { const items = data?.items ?? [] const kandidaten = data?.skill_kandidaten ?? [] + // Hängende Ideen leben seit 25.07. auf der eigenen Ideen-Seite. Das grüne „Nichts zu + // entscheiden" darf trotzdem nicht behaupten, alles sei erledigt — es zeigt jetzt einen + // Querverweis statt die Karte selbst (vorher stand sie direkt darunter). const blockedIdeen = ideenData?.available ? ideenData.items.filter((i) => i.status === "blocked").length : 0 - const empty = items.length === 0 && kandidaten.length === 0 && blockedIdeen === 0 + const empty = items.length === 0 && kandidaten.length === 0 return (
@@ -104,7 +103,20 @@ export function AuftragsbuchView() {
)} - + {blockedIdeen > 0 && ( + + )} {items.length > 0 && (
@@ -129,759 +141,6 @@ export function AuftragsbuchView() { ) } -function SectionLabel({ icon: Icon, children }: { icon: any; children: React.ReactNode }) { - return ( -

- {children} -

- ) -} - -// ── Ideen-Queue (natives Hermes-Kanban) ────────────────────────────────────── -// Eine Queue, drei Türen (Zentrale/Telegram/Lucy). Idee rein → die Box arbeitet sie -// selbst aus (Specifier) und baut (Werkstatt-Profil) → Code kommt als Karte zurück. - -const IDEEN_STATE: Record = { - triage: { label: "wird ausgearbeitet …", cls: "text-violet-300 border-violet-500/40 bg-violet-500/10", spin: true }, - todo: { label: "wartet", cls: "text-muted-foreground border-border/60 bg-background/30" }, - scheduled: { label: "geplant", cls: "text-muted-foreground border-border/60 bg-background/30" }, - ready: { label: "gleich dran", cls: "text-sky-300/80 border-sky-500/30 bg-sky-500/5" }, - running: { label: "in Arbeit …", cls: "text-sky-300 border-sky-500/40 bg-sky-500/10", spin: true }, - review: { label: "im Review", cls: "text-amber-300 border-amber-500/40 bg-amber-500/10" }, - blocked: { label: "hängt — braucht dich", cls: "text-red-300 border-red-500/40 bg-red-500/10" }, - done: { label: "fertig ✓", cls: "text-emerald-300 border-emerald-500/40 bg-emerald-500/10" }, -} - -// Welche Welt hat die Karte durchlaufen? Vorher stand auf Idee UND IDE-Projekt dasselbe -// „IDE" — man sah der fertigen Karte nicht an, ob sie nur durchdacht oder als Repo -// vorbereitet wurde (User 21.07.). Jetzt drei ehrliche Marken. -const ART_UI: Record = { - box: { - label: "BOX", icon: Hammer, - cls: "border-border/60 bg-background/40 text-muted-foreground", - title: "Box-Welt: die Werkstatt baut das selbst. Das Ergebnis kommt als Patch-Vorschlag zurück — nichts geht ohne deinen Klick live.", - }, - idee: { - label: "IDEE", icon: Lightbulb, - cls: "border-sky-500/40 bg-sky-500/10 text-sky-300", - title: "Nur durchdacht: die Box hat die Produkt-Idee mit voller Denk-Kaskade zu einem Konzept ausgearbeitet. Kein Gerüst, kein Bau — du liest es und entscheidest, ob ein Projekt draus wird.", - }, - projekt: { - label: "IDE", icon: Code2, - cls: "border-violet-500/40 bg-violet-500/10 text-violet-300", - title: "IDE-Welt: die Box bereitet nur vor (Konzept + Repo + Doku, kein Code). Gebaut wird von dir in Zed.", - }, -} - -// Wie die Frage einer hängenden Karte eingeleitet wird — je nach Block-Grund des Workers. -const FRAGE_HINT: Record = { - needs_input: "Die Box hat eine Frage:", - capability: "Die Box kam hier nicht weiter:", - transient: "Die Aufgabe hakt:", -} - -function IdeenSection() { - const { data, isLoading } = useIdeen() - const qc = useQueryClient() - const { showAlert, showConfirm, dialogElement } = useDialog() - const [text, setText] = useState("") - // Intake-Modus: Box baut · Idee (nur durchdenken) · IDE simpel/gründlich (Projekt vorbereiten). - const [modus, setModus] = useState<"box" | "idee" | "simpel" | "gruendlich">("box") - const isIdee = modus === "idee" // Produkt-Idee prüfen - const isProjekt = modus === "simpel" || modus === "gruendlich" // Projekt für Zed - const isIde = isIdee || isProjekt // beides → projektstart - // Ziel-Plattform des Projekts (nur IDE-Welt): läuft es als LXC-Dienst oder in Docker? - const [ziel, setZiel] = useState<"lxc" | "docker">("lxc") - const [sending, setSending] = useState(false) - const [busy, setBusy] = useState>({}) - const [openLog, setOpenLog] = useState(null) - const [openKonzept, setOpenKonzept] = useState(null) - const [antworten, setAntworten] = useState>({}) - - const items = data?.items ?? [] - const reload = () => qc.invalidateQueries({ queryKey: qk.ideen }) - - // Polling-Log nur aktivieren, wenn Idee triage/running und geöffnet - const logEnabled = openLog !== null && (data?.items.find((i) => i.id === openLog)?.status === "triage" || data?.items.find((i) => i.id === openLog)?.status === "running") - const logData = useIdeenLog(openLog ?? "", logEnabled) - - async function submit() { - const t = text.trim() - if (t.length < 3 || sending) return - setSending(true) - try { - // Lange Eingaben: Kurzfassung als Titel, alles als Notiz — der Specifier der Box - // macht daraus ohnehin einen sauberen Auftrag. - const titel = t.length > 160 ? t.slice(0, 157) + "…" : t - await api("/api/ideen", { method: "POST", body: JSON.stringify({ - titel, notiz: t.length > 160 ? t : "", - welt: isIde ? "ide" : "box", - tiefe: isProjekt ? modus : "", - ziel: isProjekt ? ziel : "", // eine Idee braucht noch keine Plattform - art: isIdee ? "idee" : "projekt", - }) }) - setText("") - reload() - } catch (e: any) { - showAlert("Das hat nicht geklappt", String(e?.message || e)) - } finally { - setSending(false) - } - } - - async function archive(id: string) { - setBusy((b) => ({ ...b, [id]: true })) - try { - await api("/api/ideen/archivieren", { method: "POST", body: JSON.stringify({ id }) }) - reload() - } catch (e: any) { - showAlert("Das hat nicht geklappt", String(e?.message || e)) - } finally { - setBusy((b) => ({ ...b, [id]: false })) - } - } - - // Karten-Steuerung (Stopp / Neuer Versuch / Prio) — ein Helfer für alle drei Endpunkte. - async function steuer(prefix: string, id: string, pfad: string, body: object) { - setBusy((b) => ({ ...b, [prefix + id]: true })) - try { - await api(pfad, { method: "POST", body: JSON.stringify(body) }) - reload() - } catch (e: any) { - showAlert("Das hat nicht geklappt", String(e?.message || e)) - } finally { - setBusy((b) => ({ ...b, [prefix + id]: false })) - } - } - - // Hängende Aufgabe beantworten: die Antwort geht als Kommentar an die Karte, der Worker - // macht damit weiter (Ausweg aus der Sackgasse „fragt, aber niemand kann antworten"). - async function answer(id: string) { - const t = (antworten[id] || "").trim() - if (t.length < 1 || busy["ans:" + id]) return - setBusy((b) => ({ ...b, ["ans:" + id]: true })) - try { - await api("/api/ideen/antwort", { method: "POST", body: JSON.stringify({ id, antwort: t }) }) - setAntworten((a) => ({ ...a, [id]: "" })) - reload() - } catch (e: any) { - showAlert("Das hat nicht geklappt", String(e?.message || e)) - } finally { - setBusy((b) => ({ ...b, ["ans:" + id]: false })) - } - } - - // EINE Zeilen-Darstellung für alle Sichten (Projekt-Gruppen + Einzelkarten) — damit - // Antwortfeld, Live-Log und Ergebnis-Panel überall identisch funktionieren. - const zeile = (it: IdeenItem) => { - const ui = IDEEN_STATE[it.status] ?? { label: it.status, cls: "text-muted-foreground border-border/60 bg-background/30" } - const isOpen = openLog === it.id - // Aufklappbar: laufende Karten zeigen das Live-Log, FERTIGE das Ergebnis - // (User-Wunsch 15.07.: „Dinge werden getestet, ich sehe das Ergebnis nicht"). - const canOpen = it.status === "triage" || it.status === "running" || it.status === "done" - const blocked = it.status === "blocked" - const answering = !!busy["ans:" + it.id] - // Hänger-Verdacht: läuft, aber seit >10 min kein Lebenszeichen (Heartbeat) — der - // Prozess kann trotzdem „leben" (wartet z. B. auf einen selbst gestarteten Server). - const haengt = it.status === "running" && (it.puls_alter ?? 0) > 600 - const wartend = it.status === "todo" || it.status === "ready" || it.status === "scheduled" - return ( -
  • -
    - - {ui.spin && } - {ui.label} - - {haengt && ( - - {Math.round((it.puls_alter ?? 0) / 60)} min ohne Regung - - )} - {(it.prio ?? 0) !== 0 && ( - P{it.prio} - )} - {(() => { - const a = ART_UI[it.art || (it.welt === "ide" ? "projekt" : "box")] - if (!a) return null - const Icon = a.icon - return ( - - {a.label} - - ) - })()} - {/* Tooltip = der volle TITEL (der ist abgeschnitten), nicht der Auftragstext — - der beginnt mit Vorspann-Textbausteinen und half beim Lesen nie. */} - {it.titel} - {fmtWhen(it.erstellt)} - {wartend && ( - - - - - )} - {(it.status === "running" || blocked) && ( - - )} - {(it.status === "running" || wartend || it.status === "triage") && ( - - )} - {(it.status === "done" || blocked) && ( - - )} - {it.welt === "ide" && (it.status === "running" || it.status === "done") && ( - - )} - {canOpen && ( - - )} -
    - - {openKonzept === it.id && ( - - )} - - {it.status === "running" && it.notiz && ( -

    - „{it.notiz}“ -

    - )} - {(it.status === "todo" || it.status === "scheduled" || it.status === "ready") && (it.wartet_auf?.length ?? 0) > 0 && ( -

    - → wartet auf: {it.wartet_auf!.join(" · ")} -

    - )} - - {blocked && ( -
    -

    - - - {FRAGE_HINT[it.frage_kind || ""] ?? "Die Aufgabe hängt und wartet auf dich:"}{" "} - {it.frage - ? {it.frage} - : kein genauer Grund hinterlegt — antworte einfach mit einer Entscheidung, dann läuft sie weiter.} - -

    -
    - setAntworten((a) => ({ ...a, [it.id]: e.target.value }))} - onKeyDown={(e) => { if (e.key === "Enter") answer(it.id) }} - placeholder="Deine Antwort — die Box macht damit weiter" - maxLength={2000} - className="h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none" - /> - -
    -
    - )} - - {isOpen && canOpen && it.status !== "done" && ( -
    -
    - {logEnabled && logData.isLoading ? ( -

    Log wird geladen …

    - ) : logData.error ? ( -

    Log nicht ladbar

    - ) : logData.data?.available && logData.data.lines.length > 0 ? ( -
    -                  {logData.data.lines.join("\n")}
    -                
    - ) : ( -

    Kein Log verfügbar

    - )} -
    -
    - )} - - {isOpen && it.status === "done" && } -
  • - ) - } - - // Windows-Dev / Queue nicht verfügbar → Sektion still weglassen (wie der Rest der Seite). - if (data && !data.available) return null - - return ( -
    - - Ideen-Queue{data ? ` — ${data.offen} offen` : ""} - -
    -
    - setText(e.target.value)} - onKeyDown={(e) => { if (e.key === "Enter") submit() }} - placeholder="Neue Idee — einfach hinschreiben, die Box macht den Rest" - className="h-9 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/50 px-3 text-sm text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none" - /> - -
    -
    - Modus -
    - - - - -
    -
    - {/* Immer sichtbare Orientierung — der Text darunter erklärt nur den GEWÄHLTEN - Modus, die Wahl selbst muss man aber vorher treffen können (User 21.07.). */} -

    - Box, wenn die Box es selbst bauen soll (dein Heimlabor, - MC2, Lucy — Ergebnis kommt als Patch-Vorschlag zurück). ·{" "} - Idee, wenn du noch nicht weißt, ob es das überhaupt wert - ist — erst durchdenken, entscheiden kannst du danach. ·{" "} - IDE, wenn du es selbst in Zed bauen willst und dafür - ein startklares Repo brauchst. -

    - {isProjekt && ( -
    - Ziel -
    - - -
    - - {ziel === "lxc" ? "Dienst im Proxmox-Container (deine Heimat)" : "natives Docker, portabel & pipeline-tauglich"} - -
    - )} -

    - {isIdee ? ( - <> - Idee durchdenken: Die Box arbeitet deine Produkt-Idee - mit Produkt-Blick aus — was ist es genau, für wen, was gibt es dafür schon, was wäre der - kleinste sinnvolle Wurf und was spricht dagegen. Volle Denk-Kaskade mit Kritiker, Ergebnis - ist nur ein Konzept (kein Gerüst, keine Roadmap, kein Bau-Druck) — du liest es hier - und entscheidest danach, ob ein Projekt draus wird. - - ) : isProjekt ? ( - <> - IDE-Welt{modus === "gruendlich" ? " · gründlich" : " · simpel"}:{" "} - Die Box denkt das Konzept durch{modus === "gruendlich" - ? " — volle Kaskade: mehrere Fach-Rollen, bis zu 3 Denk-Runden, mehrfacher Kritiker-Härtetest (für große/ambitionierte Projekte, dauert entsprechend)" - : " — schlank: 2 Rollen, 1 Denk-Runde (für kleine, klar umrissene Projekte, ein paar Minuten)"}, legt - ein leeres Gitea-Repo an und füllt es nur mit den wichtigen Dokumenten (Konzept, Roadmap, AGENTS.md, - .aiexclude) — kein Code. Danach öffnest du das Repo in Zed und baust selbst. - - ) : ( - <> - Eine Queue, alle Türen: hier, per Telegram oder im Gespräch mit Lucy. Die Box arbeitet Ideen selbst - aus und baut — Code-Ergebnisse erscheinen als Karte unter „Patch-Vorschläge“, nichts davon geht ohne - deinen Klick live. Nur reine Doku-Bagatellen zieht die Box nachts selbst ein (mit Fangnetz und Meldung). - - )} -

    - - {isLoading && ( -

    Queue wird geladen …

    - )} - {data?.fehler && ( -

    Queue gerade nicht lesbar — neuer Versuch läuft.

    - )} - - {items.length > 0 && ( -
    - {(data?.projekte ?? []).map((p) => ( - i.projekt === p.key)} zeile={zeile} /> - ))} - {(() => { - // Einzelkarten (keine Kette) — die klassische flache Liste wie bisher. - const keys = new Set((data?.projekte ?? []).map((p) => p.key)) - const einzeln = items.filter((i) => !i.projekt || !keys.has(i.projekt)) - return einzeln.length > 0 ?
      {einzeln.map((it) => zeile(it))}
    : null - })()} -
    - )} - {data?.available && !isLoading && items.length === 0 && ( -

    Queue ist leer — wirf der Box eine Idee zu.

    - )} -
    - {dialogElement} -
    - ) -} - -// Karten-Familie (verkettete Karten = ein Projekt) als Block: Fortschritt oben, dann die -// AKTIVEN Karten in Ausführungs-Reihenfolge, Wartende und Fertige zusammengeklappt. -// Ersetzt für Ketten die flache Erstellzeit-Liste (User: „Reihenfolge komplett durcheinander"). -const AKTIV_RANG: Record = { blocked: 0, running: 1, review: 2, ready: 3, triage: 4 } - -function ProjektGruppe({ projekt, karten, zeile }: { - projekt: IdeenProjekt - karten: IdeenItem[] - zeile: (it: IdeenItem) => React.ReactNode -}) { - const [zeigWartende, setZeigWartende] = useState(false) - const [zeigFertige, setZeigFertige] = useState(false) - const aktiv = karten - .filter((i) => AKTIV_RANG[i.status] !== undefined) - .sort((a, b) => (AKTIV_RANG[a.status] - AKTIV_RANG[b.status]) || ((a.erstellt ?? 0) - (b.erstellt ?? 0))) - const wartend = karten - .filter((i) => i.status === "todo" || i.status === "scheduled") - .sort((a, b) => ((a.wartet_auf?.length ? 1 : 0) - (b.wartet_auf?.length ? 1 : 0)) || ((a.erstellt ?? 0) - (b.erstellt ?? 0))) - const fertig = karten - .filter((i) => i.status === "done") - .sort((a, b) => (b.fertig ?? 0) - (a.fertig ?? 0)) - const anteil = projekt.gesamt > 0 ? Math.round((projekt.fertig / projekt.gesamt) * 100) : 0 - return ( -
    -
    - -

    {projekt.titel}

    - {projekt.fertig} von {projekt.gesamt} fertig -
    -
    -
    -
    - {aktiv.length > 0 &&
      {aktiv.map((it) => zeile(it))}
    } - {wartend.length > 0 && ( -
    - - {zeigWartende &&
      {wartend.map((it) => zeile(it))}
    } -
    - )} - {fertig.length > 0 && ( -
    - - {zeigFertige &&
      {fertig.map((it) => zeile(it))}
    } -
    - )} -
    - ) -} - -// Konzept einer IDE-Karte: holt es aus dem Gitea-Repo — oder, wenn der Worker keins -// angelegt hat, aus seiner Datei in ~/konzepte (Bug-Fund 21.07.: dann stand hier vorher -// „noch kein Repo hinterlegt", obwohl das Konzept längst fertig war). -// Bei einer fertig durchdachten IDEE hängt unten der Weg nach vorn: „Gefällt mir". -function KonzeptPanel({ id, istIdee, onWeiter }: { - id: string - istIdee?: boolean - onWeiter?: () => void -}) { - const [data, setData] = useState(null) - const [fehler, setFehler] = useState(false) - const [versuch, setVersuch] = useState(0) - useEffect(() => { - let weg = false - setData(null); setFehler(false) - api(`/api/ideen/${id}/konzept`) - .then((r) => { if (!weg) setData(r) }) - .catch(() => { if (!weg) setFehler(true) }) - return () => { weg = true } - }, [id, versuch]) - return ( -
    -
    -
    -

    - Konzept -

    - {data?.repo && ( - - {data.repo} - - )} - {!data?.repo && data?.quelle === "datei" && ( - - {data.pfad} - - )} - -
    - {fehler ? ( -

    Konzept nicht ladbar — später nochmal versuchen.

    - ) : data === null ? ( -

    Konzept wird geladen …

    - ) : data.konzept ? ( -
    - -
    - ) : ( -

    - {data.error || "Noch kein Konzept — das Projekt wird gerade vorbereitet."} -

    - )} - {istIdee && data?.konzept && } -
    -
    - ) -} - -// Was nach dem Lesen passieren kann. Zwei Wege, bewusst nebeneinander statt hintereinander: -// nachschärfen (ein Punkt passt nicht — häufiger Fall, darum oben und offen) oder annehmen. -function WeiterLeiste({ id, onFertig }: { id: string; onFertig?: () => void }) { - const [ziel, setZiel] = useState<"lxc" | "docker">("lxc") - const [tiefe, setTiefe] = useState<"simpel" | "gruendlich">("simpel") - const [busy, setBusy] = useState(false) - const [neu, setNeu] = useState<{ id: string; art: "projekt" | "runde" } | null>(null) - const [fehler, setFehler] = useState("") - const [hinweis, setHinweis] = useState("") - const ruf = async (pfad: string, rumpf: object, art: "projekt" | "runde") => { - setBusy(true); setFehler("") - try { - const r = await api<{ id: string }>(pfad, { method: "POST", body: JSON.stringify(rumpf) }) - setNeu({ id: r.id, art }) - onFertig?.() - } catch (e: any) { - setFehler(String(e?.message || e)) - } finally { - setBusy(false) - } - } - if (neu) { - return ( -

    - {neu.art === "projekt" ? ( - <>Projekt-Karte {neu.id} ist angelegt — die Box bereitet - das Repo vor (Konzept übernimmt sie, sie denkt es nicht neu). Danach öffnest du es in Zed. - ) : ( - <>Überarbeitung {neu.id} läuft — die Box arbeitet deine - Rückmeldung ein und schreibt die neue Fassung an dieselbe Stelle. Danach hier wieder - „Konzept" öffnen. - )} -

    - ) - } - return ( -
    -
    -

    - Passt etwas nicht? Schreib hin, was anders werden soll — - die Box arbeitet es ein und lässt den Rest stehen. Beliebig oft wiederholbar. -

    -
    - setHinweis(e.target.value)} - onKeyDown={(e) => { if (e.key === "Enter" && hinweis.trim().length >= 3 && !busy) ruf("/api/ideen/nachschaerfen", { id, hinweis }, "runde") }} - placeholder="z. B. „Punkt 3: kein WebSocket, das ist mir zu fragil — nimm Polling“" - maxLength={2000} - className="h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-sky-400/50 focus:outline-none" - /> - -
    -
    -

    - Passt es so? Dann macht die Box daraus ein startklares - Repo — Konzept wird übernommen (nicht neu gedacht), dazu Roadmap, AGENTS.md & Co. - Gebaut wird danach von dir in Zed. -

    -
    - Ziel -
    - {(["lxc", "docker"] as const).map((z) => ( - - ))} -
    - Aufwand -
    - {(["simpel", "gruendlich"] as const).map((t) => ( - - ))} -
    - -
    - {fehler &&

    {fehler}

    } -
    - ) -} - -// Ergebnis einer FERTIGEN Queue-Aufgabe: die Abschluss-Zusammenfassung des Workers -// (kanban_complete). Lazy — wird erst beim Aufklappen geladen, ändert sich nie mehr. -function ErgebnisPanel({ id }: { id: string }) { - const [erg, setErg] = useState(null) - const [fehler, setFehler] = useState(false) - // Fehler darf nicht kleben: fällt der erste Versuch in ein Deploy-Fenster - // (Zentrale startet gerade neu), muss ein Klick neu laden können (Vorfall 16.07.). - const [versuch, setVersuch] = useState(0) - useEffect(() => { - let weg = false - setFehler(false) - setErg(null) - api(`/api/ideen/${id}/ergebnis`) - .then((r) => { if (!weg) setErg(r) }) - .catch(() => { if (!weg) setFehler(true) }) - return () => { weg = true } - }, [id, versuch]) - const text = erg ? (erg.summary || erg.result) : "" - return ( -
    -
    -

    - Ergebnis des Workers -

    - {fehler ? ( - - ) : erg === null ? ( -

    Wird geladen …

    - ) : text ? ( -

    {text}

    - ) : ( -

    - Der Worker hat keine Abschluss-Zusammenfassung hinterlassen (ältere Karte oder Protokollverstoß). -

    - )} -
    -
    - ) -} function StateBadge({ item }: { item: AuftragItem }) { const st = item.status diff --git a/frontend/src/views/IdeenView.tsx b/frontend/src/views/IdeenView.tsx new file mode 100644 index 0000000..763caa6 --- /dev/null +++ b/frontend/src/views/IdeenView.tsx @@ -0,0 +1,828 @@ +import { useEffect, useState } from "react" +import { + Loader2, AlertTriangle, ChevronDown, ChevronRight, Clock, Hammer, Lightbulb, Send, + HelpCircle, RotateCcw, Square, ArrowUp, ArrowDown, Code2, FileText, GitFork, X, Layers, + RefreshCw, ClipboardCheck, Check, +} from "lucide-react" +import { api, type IdeenErgebnis, type IdeenItem, type IdeenKonzept, type IdeenProjekt } from "@/lib/api" +import { Markdown } from "@/lib/markdown" +import { useIdeen, useIdeenLog, useQueryClient, qk } from "@/lib/queries" +import { useDialog } from "@/lib/useDialog" +import { cn } from "@/lib/utils" +import { fmtWhen } from "@/lib/format" +import { SectionLabel } from "@/components/ui/SectionLabel" + +// Ideen-Queue (natives Hermes-Kanban) — eigene Seite seit 25.07.2026. +// Vorher steckte sie als 703-Zeilen-Abschnitt in der Auftragsbuch-Ansicht und war damit +// die MEHRHEIT einer Seite, die nach etwas anderem benannt war. Die beiden laufen in +// entgegengesetzte Richtungen: Auftragsbuch = die Box schlaegt DIR vor (Eingang), +// Ideen = DU beauftragst die Box (Ausgang). Seit dem Umbau ist dieser Weg der +// Haupteingang des Systems (Idee -> Konzept -> Repo -> Zed) und gehoert nach vorn. + +// ── Ideen-Queue (natives Hermes-Kanban) ────────────────────────────────────── +// Eine Queue, drei Türen (Zentrale/Telegram/Lucy). Idee rein → die Box arbeitet sie +// selbst aus (Specifier) und baut (Werkstatt-Profil) → Code kommt als Karte zurück. + +const IDEEN_STATE: Record = { + triage: { label: "wird ausgearbeitet …", cls: "text-violet-300 border-violet-500/40 bg-violet-500/10", spin: true }, + todo: { label: "wartet", cls: "text-muted-foreground border-border/60 bg-background/30" }, + scheduled: { label: "geplant", cls: "text-muted-foreground border-border/60 bg-background/30" }, + ready: { label: "gleich dran", cls: "text-sky-300/80 border-sky-500/30 bg-sky-500/5" }, + running: { label: "in Arbeit …", cls: "text-sky-300 border-sky-500/40 bg-sky-500/10", spin: true }, + review: { label: "im Review", cls: "text-amber-300 border-amber-500/40 bg-amber-500/10" }, + blocked: { label: "hängt — braucht dich", cls: "text-red-300 border-red-500/40 bg-red-500/10" }, + done: { label: "fertig ✓", cls: "text-emerald-300 border-emerald-500/40 bg-emerald-500/10" }, +} + +// Welche Welt hat die Karte durchlaufen? Vorher stand auf Idee UND IDE-Projekt dasselbe +// „IDE" — man sah der fertigen Karte nicht an, ob sie nur durchdacht oder als Repo +// vorbereitet wurde (User 21.07.). Jetzt drei ehrliche Marken. +const ART_UI: Record = { + box: { + label: "BOX", icon: Hammer, + cls: "border-border/60 bg-background/40 text-muted-foreground", + title: "Box-Welt: die Werkstatt baut das selbst. Das Ergebnis kommt als Patch-Vorschlag zurück — nichts geht ohne deinen Klick live.", + }, + idee: { + label: "IDEE", icon: Lightbulb, + cls: "border-sky-500/40 bg-sky-500/10 text-sky-300", + title: "Nur durchdacht: die Box hat die Produkt-Idee mit voller Denk-Kaskade zu einem Konzept ausgearbeitet. Kein Gerüst, kein Bau — du liest es und entscheidest, ob ein Projekt draus wird.", + }, + projekt: { + label: "IDE", icon: Code2, + cls: "border-violet-500/40 bg-violet-500/10 text-violet-300", + title: "IDE-Welt: die Box bereitet nur vor (Konzept + Repo + Doku, kein Code). Gebaut wird von dir in Zed.", + }, +} + +// Wie die Frage einer hängenden Karte eingeleitet wird — je nach Block-Grund des Workers. +const FRAGE_HINT: Record = { + needs_input: "Die Box hat eine Frage:", + capability: "Die Box kam hier nicht weiter:", + transient: "Die Aufgabe hakt:", +} + +function IdeenSection() { + const { data, isLoading } = useIdeen() + const qc = useQueryClient() + const { showAlert, showConfirm, dialogElement } = useDialog() + const [text, setText] = useState("") + // Intake-Modus: Box baut · Idee (nur durchdenken) · IDE simpel/gründlich (Projekt vorbereiten). + const [modus, setModus] = useState<"box" | "idee" | "simpel" | "gruendlich">("box") + const isIdee = modus === "idee" // Produkt-Idee prüfen + const isProjekt = modus === "simpel" || modus === "gruendlich" // Projekt für Zed + const isIde = isIdee || isProjekt // beides → projektstart + // Ziel-Plattform des Projekts (nur IDE-Welt): läuft es als LXC-Dienst oder in Docker? + const [ziel, setZiel] = useState<"lxc" | "docker">("lxc") + const [sending, setSending] = useState(false) + const [busy, setBusy] = useState>({}) + const [openLog, setOpenLog] = useState(null) + const [openKonzept, setOpenKonzept] = useState(null) + const [antworten, setAntworten] = useState>({}) + + const items = data?.items ?? [] + const reload = () => qc.invalidateQueries({ queryKey: qk.ideen }) + + // Polling-Log nur aktivieren, wenn Idee triage/running und geöffnet + const logEnabled = openLog !== null && (data?.items.find((i) => i.id === openLog)?.status === "triage" || data?.items.find((i) => i.id === openLog)?.status === "running") + const logData = useIdeenLog(openLog ?? "", logEnabled) + + async function submit() { + const t = text.trim() + if (t.length < 3 || sending) return + setSending(true) + try { + // Lange Eingaben: Kurzfassung als Titel, alles als Notiz — der Specifier der Box + // macht daraus ohnehin einen sauberen Auftrag. + const titel = t.length > 160 ? t.slice(0, 157) + "…" : t + await api("/api/ideen", { method: "POST", body: JSON.stringify({ + titel, notiz: t.length > 160 ? t : "", + welt: isIde ? "ide" : "box", + tiefe: isProjekt ? modus : "", + ziel: isProjekt ? ziel : "", // eine Idee braucht noch keine Plattform + art: isIdee ? "idee" : "projekt", + }) }) + setText("") + reload() + } catch (e: any) { + showAlert("Das hat nicht geklappt", String(e?.message || e)) + } finally { + setSending(false) + } + } + + async function archive(id: string) { + setBusy((b) => ({ ...b, [id]: true })) + try { + await api("/api/ideen/archivieren", { method: "POST", body: JSON.stringify({ id }) }) + reload() + } catch (e: any) { + showAlert("Das hat nicht geklappt", String(e?.message || e)) + } finally { + setBusy((b) => ({ ...b, [id]: false })) + } + } + + // Karten-Steuerung (Stopp / Neuer Versuch / Prio) — ein Helfer für alle drei Endpunkte. + async function steuer(prefix: string, id: string, pfad: string, body: object) { + setBusy((b) => ({ ...b, [prefix + id]: true })) + try { + await api(pfad, { method: "POST", body: JSON.stringify(body) }) + reload() + } catch (e: any) { + showAlert("Das hat nicht geklappt", String(e?.message || e)) + } finally { + setBusy((b) => ({ ...b, [prefix + id]: false })) + } + } + + // Hängende Aufgabe beantworten: die Antwort geht als Kommentar an die Karte, der Worker + // macht damit weiter (Ausweg aus der Sackgasse „fragt, aber niemand kann antworten"). + async function answer(id: string) { + const t = (antworten[id] || "").trim() + if (t.length < 1 || busy["ans:" + id]) return + setBusy((b) => ({ ...b, ["ans:" + id]: true })) + try { + await api("/api/ideen/antwort", { method: "POST", body: JSON.stringify({ id, antwort: t }) }) + setAntworten((a) => ({ ...a, [id]: "" })) + reload() + } catch (e: any) { + showAlert("Das hat nicht geklappt", String(e?.message || e)) + } finally { + setBusy((b) => ({ ...b, ["ans:" + id]: false })) + } + } + + // EINE Zeilen-Darstellung für alle Sichten (Projekt-Gruppen + Einzelkarten) — damit + // Antwortfeld, Live-Log und Ergebnis-Panel überall identisch funktionieren. + const zeile = (it: IdeenItem) => { + const ui = IDEEN_STATE[it.status] ?? { label: it.status, cls: "text-muted-foreground border-border/60 bg-background/30" } + const isOpen = openLog === it.id + // Aufklappbar: laufende Karten zeigen das Live-Log, FERTIGE das Ergebnis + // (User-Wunsch 15.07.: „Dinge werden getestet, ich sehe das Ergebnis nicht"). + const canOpen = it.status === "triage" || it.status === "running" || it.status === "done" + const blocked = it.status === "blocked" + const answering = !!busy["ans:" + it.id] + // Hänger-Verdacht: läuft, aber seit >10 min kein Lebenszeichen (Heartbeat) — der + // Prozess kann trotzdem „leben" (wartet z. B. auf einen selbst gestarteten Server). + const haengt = it.status === "running" && (it.puls_alter ?? 0) > 600 + const wartend = it.status === "todo" || it.status === "ready" || it.status === "scheduled" + return ( +
  • +
    + + {ui.spin && } + {ui.label} + + {haengt && ( + + {Math.round((it.puls_alter ?? 0) / 60)} min ohne Regung + + )} + {(it.prio ?? 0) !== 0 && ( + P{it.prio} + )} + {(() => { + const a = ART_UI[it.art || (it.welt === "ide" ? "projekt" : "box")] + if (!a) return null + const Icon = a.icon + return ( + + {a.label} + + ) + })()} + {/* Tooltip = der volle TITEL (der ist abgeschnitten), nicht der Auftragstext — + der beginnt mit Vorspann-Textbausteinen und half beim Lesen nie. */} + {it.titel} + {fmtWhen(it.erstellt)} + {wartend && ( + + + + + )} + {(it.status === "running" || blocked) && ( + + )} + {(it.status === "running" || wartend || it.status === "triage") && ( + + )} + {(it.status === "done" || blocked) && ( + + )} + {it.welt === "ide" && (it.status === "running" || it.status === "done") && ( + + )} + {canOpen && ( + + )} +
    + + {openKonzept === it.id && ( + + )} + + {it.status === "running" && it.notiz && ( +

    + „{it.notiz}“ +

    + )} + {(it.status === "todo" || it.status === "scheduled" || it.status === "ready") && (it.wartet_auf?.length ?? 0) > 0 && ( +

    + → wartet auf: {it.wartet_auf!.join(" · ")} +

    + )} + + {blocked && ( +
    +

    + + + {FRAGE_HINT[it.frage_kind || ""] ?? "Die Aufgabe hängt und wartet auf dich:"}{" "} + {it.frage + ? {it.frage} + : kein genauer Grund hinterlegt — antworte einfach mit einer Entscheidung, dann läuft sie weiter.} + +

    +
    + setAntworten((a) => ({ ...a, [it.id]: e.target.value }))} + onKeyDown={(e) => { if (e.key === "Enter") answer(it.id) }} + placeholder="Deine Antwort — die Box macht damit weiter" + maxLength={2000} + className="h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none" + /> + +
    +
    + )} + + {isOpen && canOpen && it.status !== "done" && ( +
    +
    + {logEnabled && logData.isLoading ? ( +

    Log wird geladen …

    + ) : logData.error ? ( +

    Log nicht ladbar

    + ) : logData.data?.available && logData.data.lines.length > 0 ? ( +
    +                  {logData.data.lines.join("\n")}
    +                
    + ) : ( +

    Kein Log verfügbar

    + )} +
    +
    + )} + + {isOpen && it.status === "done" && } +
  • + ) + } + + // Windows-Dev / Queue nicht verfügbar → Sektion still weglassen (wie der Rest der Seite). + if (data && !data.available) return null + + return ( +
    + {/* Kopfzeile sagt in einem Blick, was DICH betrifft — vorher stand hier nur eine + Gesamtzahl „offen", die nichts darüber verriet, ob etwas auf dich wartet. */} + + {(() => { + if (!data) return "Ideen-Queue" + const n = (s: string[]) => items.filter((i) => s.includes(i.status)).length + const teile = [ + n(["blocked"]) > 0 ? `${n(["blocked"])} braucht dich` : "", + n(["running", "triage", "review"]) > 0 ? `${n(["running", "triage", "review"])} in Arbeit` : "", + n(["todo", "scheduled", "ready"]) > 0 ? `${n(["todo", "scheduled", "ready"])} wartet` : "", + n(["done"]) > 0 ? `${n(["done"])} fertig` : "", + ].filter(Boolean) + return `Ideen-Queue${teile.length ? " — " + teile.join(" · ") : ""}` + })()} + +
    +
    + setText(e.target.value)} + onKeyDown={(e) => { if (e.key === "Enter") submit() }} + placeholder="Neue Idee — einfach hinschreiben, die Box macht den Rest" + className="h-9 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/50 px-3 text-sm text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none" + /> + +
    +
    + Modus +
    + + + + +
    +
    + {/* Immer sichtbare Orientierung — der Text darunter erklärt nur den GEWÄHLTEN + Modus, die Wahl selbst muss man aber vorher treffen können (User 21.07.). */} +

    + Box, wenn die Box es selbst bauen soll (dein Heimlabor, + MC2, Lucy — Ergebnis kommt als Patch-Vorschlag zurück). ·{" "} + Idee, wenn du noch nicht weißt, ob es das überhaupt wert + ist — erst durchdenken, entscheiden kannst du danach. ·{" "} + IDE, wenn du es selbst in Zed bauen willst und dafür + ein startklares Repo brauchst. +

    + {isProjekt && ( +
    + Ziel +
    + + +
    + + {ziel === "lxc" ? "Dienst im Proxmox-Container (deine Heimat)" : "natives Docker, portabel & pipeline-tauglich"} + +
    + )} +

    + {isIdee ? ( + <> + Idee durchdenken: Die Box arbeitet deine Produkt-Idee + mit Produkt-Blick aus — was ist es genau, für wen, was gibt es dafür schon, was wäre der + kleinste sinnvolle Wurf und was spricht dagegen. Volle Denk-Kaskade mit Kritiker, Ergebnis + ist nur ein Konzept (kein Gerüst, keine Roadmap, kein Bau-Druck) — du liest es hier + und entscheidest danach, ob ein Projekt draus wird. + + ) : isProjekt ? ( + <> + IDE-Welt{modus === "gruendlich" ? " · gründlich" : " · simpel"}:{" "} + Die Box denkt das Konzept durch{modus === "gruendlich" + ? " — volle Kaskade: mehrere Fach-Rollen, bis zu 3 Denk-Runden, mehrfacher Kritiker-Härtetest (für große/ambitionierte Projekte, dauert entsprechend)" + : " — schlank: 2 Rollen, 1 Denk-Runde (für kleine, klar umrissene Projekte, ein paar Minuten)"}, legt + ein leeres Gitea-Repo an und füllt es nur mit den wichtigen Dokumenten (Konzept, Roadmap, AGENTS.md, + .aiexclude) — kein Code. Danach öffnest du das Repo in Zed und baust selbst. + + ) : ( + <> + Eine Queue, alle Türen: hier, per Telegram oder im Gespräch mit Lucy. Die Box arbeitet Ideen selbst + aus und baut — Code-Ergebnisse erscheinen als Karte unter „Patch-Vorschläge“, nichts davon geht ohne + deinen Klick live. Nur reine Doku-Bagatellen zieht die Box nachts selbst ein (mit Fangnetz und Meldung). + + )} +

    + + {isLoading && ( +

    Queue wird geladen …

    + )} + {data?.fehler && ( +

    Queue gerade nicht lesbar — neuer Versuch läuft.

    + )} + + {items.length > 0 && ( +
    + {(data?.projekte ?? []).map((p) => ( + i.projekt === p.key)} zeile={zeile} /> + ))} + {(() => { + // Einzelkarten (keine Kette). Bis 25.07. eine flache Erstellzeit-Liste — bei + // 19 Karten, davon 16 fertig, gingen die drei relevanten darin unter. Jetzt + // dieselbe Ordnung, die ProjektGruppe für Ketten längst benutzt: aktiv zuerst + // nach AKTIV_RANG, Wartende darunter, Fertige eingeklappt. + const keys = new Set((data?.projekte ?? []).map((p) => p.key)) + const einzeln = items.filter((i) => !i.projekt || !keys.has(i.projekt)) + if (einzeln.length === 0) return null + const aktiv = einzeln + .filter((i) => AKTIV_RANG[i.status] !== undefined) + .sort((a, b) => (AKTIV_RANG[a.status] - AKTIV_RANG[b.status]) || ((a.erstellt ?? 0) - (b.erstellt ?? 0))) + const wartend = einzeln.filter((i) => ["todo", "scheduled"].includes(i.status)) + const fertig = einzeln.filter((i) => i.status === "done") + return ( +
    + {aktiv.length > 0 &&
      {aktiv.map((it) => zeile(it))}
    } + {wartend.length > 0 && ( +
    + + + Wartet ({wartend.length}) + +
      {wartend.map((it) => zeile(it))}
    +
    + )} + {fertig.length > 0 && ( +
    + + + Fertig ({fertig.length}) + +
      {fertig.map((it) => zeile(it))}
    +
    + )} +
    + ) + })()} +
    + )} + {data?.available && !isLoading && items.length === 0 && ( +

    Queue ist leer — wirf der Box eine Idee zu.

    + )} +
    + {dialogElement} +
    + ) +} + +// Karten-Familie (verkettete Karten = ein Projekt) als Block: Fortschritt oben, dann die +// AKTIVEN Karten in Ausführungs-Reihenfolge, Wartende und Fertige zusammengeklappt. +// Ersetzt für Ketten die flache Erstellzeit-Liste (User: „Reihenfolge komplett durcheinander"). +const AKTIV_RANG: Record = { blocked: 0, running: 1, review: 2, ready: 3, triage: 4 } + +function ProjektGruppe({ projekt, karten, zeile }: { + projekt: IdeenProjekt + karten: IdeenItem[] + zeile: (it: IdeenItem) => React.ReactNode +}) { + const [zeigWartende, setZeigWartende] = useState(false) + const [zeigFertige, setZeigFertige] = useState(false) + const aktiv = karten + .filter((i) => AKTIV_RANG[i.status] !== undefined) + .sort((a, b) => (AKTIV_RANG[a.status] - AKTIV_RANG[b.status]) || ((a.erstellt ?? 0) - (b.erstellt ?? 0))) + const wartend = karten + .filter((i) => i.status === "todo" || i.status === "scheduled") + .sort((a, b) => ((a.wartet_auf?.length ? 1 : 0) - (b.wartet_auf?.length ? 1 : 0)) || ((a.erstellt ?? 0) - (b.erstellt ?? 0))) + const fertig = karten + .filter((i) => i.status === "done") + .sort((a, b) => (b.fertig ?? 0) - (a.fertig ?? 0)) + const anteil = projekt.gesamt > 0 ? Math.round((projekt.fertig / projekt.gesamt) * 100) : 0 + return ( +
    +
    + +

    {projekt.titel}

    + {projekt.fertig} von {projekt.gesamt} fertig +
    +
    +
    +
    + {aktiv.length > 0 &&
      {aktiv.map((it) => zeile(it))}
    } + {wartend.length > 0 && ( +
    + + {zeigWartende &&
      {wartend.map((it) => zeile(it))}
    } +
    + )} + {fertig.length > 0 && ( +
    + + {zeigFertige &&
      {fertig.map((it) => zeile(it))}
    } +
    + )} +
    + ) +} + +// Konzept einer IDE-Karte: holt es aus dem Gitea-Repo — oder, wenn der Worker keins +// angelegt hat, aus seiner Datei in ~/konzepte (Bug-Fund 21.07.: dann stand hier vorher +// „noch kein Repo hinterlegt", obwohl das Konzept längst fertig war). +// Bei einer fertig durchdachten IDEE hängt unten der Weg nach vorn: „Gefällt mir". +function KonzeptPanel({ id, istIdee, onWeiter }: { + id: string + istIdee?: boolean + onWeiter?: () => void +}) { + const [data, setData] = useState(null) + const [fehler, setFehler] = useState(false) + const [versuch, setVersuch] = useState(0) + useEffect(() => { + let weg = false + setData(null); setFehler(false) + api(`/api/ideen/${id}/konzept`) + .then((r) => { if (!weg) setData(r) }) + .catch(() => { if (!weg) setFehler(true) }) + return () => { weg = true } + }, [id, versuch]) + return ( +
    +
    +
    +

    + Konzept +

    + {data?.repo && ( + + {data.repo} + + )} + {!data?.repo && data?.quelle === "datei" && ( + + {data.pfad} + + )} + +
    + {fehler ? ( +

    Konzept nicht ladbar — später nochmal versuchen.

    + ) : data === null ? ( +

    Konzept wird geladen …

    + ) : data.konzept ? ( +
    + +
    + ) : ( +

    + {data.error || "Noch kein Konzept — das Projekt wird gerade vorbereitet."} +

    + )} + {istIdee && data?.konzept && } +
    +
    + ) +} + +// Was nach dem Lesen passieren kann. Zwei Wege, bewusst nebeneinander statt hintereinander: +// nachschärfen (ein Punkt passt nicht — häufiger Fall, darum oben und offen) oder annehmen. +function WeiterLeiste({ id, onFertig }: { id: string; onFertig?: () => void }) { + const [ziel, setZiel] = useState<"lxc" | "docker">("lxc") + const [tiefe, setTiefe] = useState<"simpel" | "gruendlich">("simpel") + const [busy, setBusy] = useState(false) + const [neu, setNeu] = useState<{ id: string; art: "projekt" | "runde" } | null>(null) + const [fehler, setFehler] = useState("") + const [hinweis, setHinweis] = useState("") + const ruf = async (pfad: string, rumpf: object, art: "projekt" | "runde") => { + setBusy(true); setFehler("") + try { + const r = await api<{ id: string }>(pfad, { method: "POST", body: JSON.stringify(rumpf) }) + setNeu({ id: r.id, art }) + onFertig?.() + } catch (e: any) { + setFehler(String(e?.message || e)) + } finally { + setBusy(false) + } + } + if (neu) { + return ( +

    + {neu.art === "projekt" ? ( + <>Projekt-Karte {neu.id} ist angelegt — die Box bereitet + das Repo vor (Konzept übernimmt sie, sie denkt es nicht neu). Danach öffnest du es in Zed. + ) : ( + <>Überarbeitung {neu.id} läuft — die Box arbeitet deine + Rückmeldung ein und schreibt die neue Fassung an dieselbe Stelle. Danach hier wieder + „Konzept" öffnen. + )} +

    + ) + } + return ( +
    +
    +

    + Passt etwas nicht? Schreib hin, was anders werden soll — + die Box arbeitet es ein und lässt den Rest stehen. Beliebig oft wiederholbar. +

    +
    + setHinweis(e.target.value)} + onKeyDown={(e) => { if (e.key === "Enter" && hinweis.trim().length >= 3 && !busy) ruf("/api/ideen/nachschaerfen", { id, hinweis }, "runde") }} + placeholder="z. B. „Punkt 3: kein WebSocket, das ist mir zu fragil — nimm Polling“" + maxLength={2000} + className="h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-sky-400/50 focus:outline-none" + /> + +
    +
    +

    + Passt es so? Dann macht die Box daraus ein startklares + Repo — Konzept wird übernommen (nicht neu gedacht), dazu Roadmap, AGENTS.md & Co. + Gebaut wird danach von dir in Zed. +

    +
    + Ziel +
    + {(["lxc", "docker"] as const).map((z) => ( + + ))} +
    + Aufwand +
    + {(["simpel", "gruendlich"] as const).map((t) => ( + + ))} +
    + +
    + {fehler &&

    {fehler}

    } +
    + ) +} + +// Ergebnis einer FERTIGEN Queue-Aufgabe: die Abschluss-Zusammenfassung des Workers +// (kanban_complete). Lazy — wird erst beim Aufklappen geladen, ändert sich nie mehr. +function ErgebnisPanel({ id }: { id: string }) { + const [erg, setErg] = useState(null) + const [fehler, setFehler] = useState(false) + // Fehler darf nicht kleben: fällt der erste Versuch in ein Deploy-Fenster + // (Zentrale startet gerade neu), muss ein Klick neu laden können (Vorfall 16.07.). + const [versuch, setVersuch] = useState(0) + useEffect(() => { + let weg = false + setFehler(false) + setErg(null) + api(`/api/ideen/${id}/ergebnis`) + .then((r) => { if (!weg) setErg(r) }) + .catch(() => { if (!weg) setFehler(true) }) + return () => { weg = true } + }, [id, versuch]) + const text = erg ? (erg.summary || erg.result) : "" + return ( +
    +
    +

    + Ergebnis des Workers +

    + {fehler ? ( + + ) : erg === null ? ( +

    Wird geladen …

    + ) : text ? ( +

    {text}

    + ) : ( +

    + Der Worker hat keine Abschluss-Zusammenfassung hinterlassen (ältere Karte oder Protokollverstoß). +

    + )} +
    +
    + ) +} + +// Die Seite selbst: Kopf + die Queue. Bewusst duenn — die Logik lebt unveraendert in +// IdeenSection, damit dieser Umzug reines Verschieben bleibt und nichts still kippt. +export function IdeenView() { + return ( +
    +
    +

    + Ideen +

    +

    + Schreib hin, was entstehen soll — die Box arbeitet es aus. Je nach Modus baut sie es selbst, + denkt es nur durch, oder legt dir ein startklares Repo fuer Zed an. +

    +
    + +
    + ) +}