clitrigger 0.2.65 → 0.2.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +120 -184
- package/README_KR.md +116 -180
- package/dist/client/assets/{AnalyticsPanel-BILFB_-1.js → AnalyticsPanel-DQ9grCp0.js} +1 -1
- package/dist/client/assets/CalendarGrid-Fk99r9nq.js +16 -0
- package/dist/client/assets/DiscussionDetail-HcG3ohsQ.js +8 -0
- package/dist/client/assets/DiscussionForm-BZfnK2EV.js +34 -0
- package/dist/client/assets/EmptyState-GADfcNs7.js +1 -0
- package/dist/client/assets/FloatingComposerController-5A3GJtK4-CTCqYxNF.js +1 -0
- package/dist/client/assets/LogViewer-Di7SxByZ.js +6 -0
- package/dist/client/assets/MarkdownContent-WshMOH5P.js +29 -0
- package/dist/client/assets/PersonalAgenda-DrfVGibs.js +7 -0
- package/dist/client/assets/{PlannerPageEditor-Qiwpi1s4.js → PlannerPageEditor-B2m5SwtT.js} +6 -6
- package/dist/client/assets/ProjectDetail-B96iIeaz.js +183 -0
- package/dist/client/assets/ProjectList-D2tf2Kfp.js +6 -0
- package/dist/client/assets/ReviewQueue-UrhgwrGk.js +11 -0
- package/dist/client/assets/TaskGraph-Bp62pL5V.js +2 -0
- package/dist/client/assets/{VaultLayout-0umIr6Qr.js → VaultLayout-ClyLfQdP.js} +20 -20
- package/dist/client/assets/folder-git-2-CntWBh-U.js +6 -0
- package/dist/client/assets/index-DB7C6wx1.js +427 -0
- package/dist/client/assets/index-gug7OXWO.css +32 -0
- package/dist/client/assets/rotate-ccw-DRnyCt5y.js +11 -0
- package/dist/client/assets/{style-X9FtoKKq.js → style-DcT-60Dn.js} +1 -1
- package/dist/client/assets/{with-selector-DyExB9Zl.js → with-selector-QmxTx8WM.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/db/queries.d.ts +4 -1
- package/dist/server/db/queries.d.ts.map +1 -1
- package/dist/server/db/queries.js +9 -0
- package/dist/server/db/queries.js.map +1 -1
- package/dist/server/db/schema.d.ts.map +1 -1
- package/dist/server/db/schema.js +2 -0
- package/dist/server/db/schema.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/discussions.d.ts.map +1 -1
- package/dist/server/routes/discussions.js +1 -0
- package/dist/server/routes/discussions.js.map +1 -1
- package/dist/server/routes/execution.d.ts.map +1 -1
- package/dist/server/routes/execution.js +2 -0
- package/dist/server/routes/execution.js.map +1 -1
- package/dist/server/routes/logs.d.ts.map +1 -1
- package/dist/server/routes/logs.js +4 -2
- package/dist/server/routes/logs.js.map +1 -1
- package/dist/server/routes/projects.d.ts.map +1 -1
- package/dist/server/routes/projects.js +7 -2
- package/dist/server/routes/projects.js.map +1 -1
- package/dist/server/services/claude-manager.d.ts +0 -4
- package/dist/server/services/claude-manager.d.ts.map +1 -1
- package/dist/server/services/claude-manager.js +2 -22
- package/dist/server/services/claude-manager.js.map +1 -1
- package/dist/server/services/log-streamer.d.ts.map +1 -1
- package/dist/server/services/log-streamer.js +2 -0
- package/dist/server/services/log-streamer.js.map +1 -1
- package/dist/server/services/orchestrator.d.ts.map +1 -1
- package/dist/server/services/orchestrator.js +12 -0
- package/dist/server/services/orchestrator.js.map +1 -1
- package/dist/server/services/session-manager.d.ts.map +1 -1
- package/dist/server/services/session-manager.js +8 -0
- package/dist/server/services/session-manager.js.map +1 -1
- package/dist/server/services/worktree-manager.d.ts +8 -0
- package/dist/server/services/worktree-manager.d.ts.map +1 -1
- package/dist/server/services/worktree-manager.js +28 -0
- package/dist/server/services/worktree-manager.js.map +1 -1
- package/package.json +2 -2
- package/dist/client/assets/FloatingComposerController-5A3GJtK4-BWTTg1eK.js +0 -1
- package/dist/client/assets/TaskGraph-7R6N_9W4.js +0 -2
- package/dist/client/assets/index-C0pXRm5D.css +0 -32
- package/dist/client/assets/index-D7UChvET.js +0 -715
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as F,r as n,u as W,a as $,b as R,d as q,g as B,e as H,f as y,h as S,j as e,P as O,S as U,i,F as X,k as G,L as J,I as K,X as Q,T as V,l as Y,m as Z,n as ee}from"./index-DB7C6wx1.js";import{E as te}from"./EmptyState-GADfcNs7.js";/**
|
|
2
|
+
* @license lucide-react v1.8.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const se=[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]],ae=F("list-todo",se);function oe({onEvent:N}){const[w,u]=n.useState([]),[E,b]=n.useState({}),[p,v]=n.useState({sessions:[],todos:[]}),[L,x]=n.useState(!1),[M,z]=n.useState(!0),[h,T]=n.useState(""),l=n.useRef(null),k=W(),{t:c}=$(),{error:g}=R(),{confirm:C}=q();n.useEffect(()=>{B().then(t=>{u(t),t.forEach(s=>{H(s.id).then(a=>{b(r=>({...r,[s.id]:a}))}).catch(()=>{})})}).catch(t=>g(y(t,c("errors.projectsLoad")))).finally(()=>z(!1)),S().then(v).catch(()=>{})},[]),n.useEffect(()=>{const t=N(s=>{s.type==="project:status-changed"&&s.projectId&&b(a=>({...a,[s.projectId]:{running:s.running??0,completed:s.completed??0,total:s.total??0}})),(s.type==="session:status-changed"||s.type==="todo:status-changed"||s.type==="project:status-changed")&&(l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{S().then(v).catch(()=>{})},300))});return()=>{t(),l.current&&clearTimeout(l.current)}},[N]);const D=n.useMemo(()=>{var s,a;const t={};for(const r of p.sessions)(t[s=r.project_id]??(t[s]={sessions:[],todos:[]})).sessions.push(r);for(const r of p.todos)(t[a=r.project_id]??(t[a]={sessions:[],todos:[]})).todos.push(r);return t},[p]),I=async(t,s)=>{try{const a=await Z({name:t,path:s});u(r=>[...r,a]),x(!1),window.dispatchEvent(new Event("projects:changed"))}catch(a){g(y(a,c("errors.projectCreate")))}},P=async(t,s,a=!1)=>{if(s.preventDefault(),s.stopPropagation(),!(!a&&!await C({message:c("projects.deleteConfirm"),danger:!0})))try{await ee(t),u(r=>r.filter(d=>d.id!==t)),window.dispatchEvent(new Event("projects:changed"))}catch(r){g(y(r,c("errors.projectDelete")))}},f=h?w.filter(t=>t.name.toLowerCase().includes(h.toLowerCase())||t.path.toLowerCase().includes(h.toLowerCase())):w;return e.jsx("div",{className:"px-6 py-6 sm:px-8 sm:py-8 min-h-full",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold tracking-tight text-primary",children:c("projects.title")}),e.jsxs("p",{className:"text-sm mt-1 text-secondary",children:[f.length," ",c("projects.tasks")]})]}),e.jsxs("button",{onClick:()=>x(!0),className:"btn-primary",children:[e.jsx(O,{size:20}),e.jsx("span",{className:"hidden sm:inline font-bold",children:c("projects.new")})]})]}),e.jsxs("div",{className:"mb-8 relative group",children:[e.jsx(U,{className:"absolute left-4 top-1/2 -translate-y-1/2 text-muted group-focus-within:text-accent transition-colors",size:20}),e.jsx("input",{type:"text",value:h,onChange:t=>T(t.target.value),placeholder:c("projects.search"),className:"input-field pl-12 py-3 text-base shadow-soft"})]}),M?e.jsx("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:[...Array(6)].map((t,s)=>e.jsxs("div",{className:"card p-5 space-y-3",children:[e.jsx(i,{className:"h-5 w-2/3"}),e.jsx(i,{className:"h-3 w-full"}),e.jsx("div",{className:"flex gap-2",children:e.jsx(i,{className:"h-5 w-12 rounded-full"})}),e.jsxs("div",{className:"flex gap-2 pt-2",children:[e.jsx(i,{className:"h-6 w-16"}),e.jsx(i,{className:"h-6 w-16"})]}),e.jsx(i,{className:"h-1 w-full mt-2"})]},s))}):f.length===0?e.jsx(te,{icon:X,title:c("projects.empty"),description:c("projects.emptyHint"),size:"lg"}):e.jsx("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:f.map((t,s)=>{const a=E[t.id]||{total:0,completed:0,running:0},r=t.path_exists===!1,d=G(t),j=D[t.id],_=r?"div":J,A=r?{onClick:async o=>{await C({message:c("projects.pathMissingConfirm"),danger:!0})&&P(t.id,o,!0)},className:"card card-tagged group block p-5 opacity-50 relative cursor-pointer"}:{to:`/projects/${t.id}`,className:"card card-tagged group block p-5 relative"};return e.jsxs(_,{...A,style:{"--tag-color":d},children:[e.jsx(K,{onClick:o=>P(t.id,o),label:c("projects.delete"),size:"sm",variant:"danger",className:"absolute top-3 right-3 opacity-0 group-hover:opacity-100 focus-visible:opacity-100",children:e.jsx(Q,{size:14})}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-9 h-9 rounded-lg flex items-center justify-center text-sm font-bold flex-shrink-0 bg-theme-bg-tertiary text-theme-text-secondary",children:t.name.charAt(0).toUpperCase()}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("h3",{className:"text-sm font-semibold truncate text-theme-text",children:t.name}),e.jsx("p",{className:"text-2xs font-mono truncate text-theme-muted",children:t.path.split(/[/\\]/).slice(-2).join("/")})]})]}),e.jsxs("div",{className:"mt-4 flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[a.running>0&&e.jsxs("span",{className:"inline-flex items-center gap-1 text-status-running font-medium",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-status-running"}),a.running]}),e.jsxs("span",{className:"text-theme-muted",children:[a.completed,"/",a.total]})]}),a.total>0&&e.jsxs("span",{className:"text-2xs font-medium text-theme-muted",children:[Math.round(a.completed/a.total*100),"%"]})]}),a.total>0&&e.jsx("div",{className:"mt-1.5 h-1 rounded-full overflow-hidden bg-theme-bg-tertiary",children:e.jsx("div",{className:"h-full rounded-full transition-all duration-500 bg-accent",style:{width:`${a.completed/a.total*100}%`}})}),j&&e.jsxs("div",{className:"mt-3 pt-3 border-t border-theme-border space-y-1.5",children:[j.sessions.map(o=>e.jsxs("button",{onClick:m=>{m.preventDefault(),m.stopPropagation(),k(`/projects/${t.id}?tab=sessions`)},className:"flex w-full items-center gap-2 text-xs text-theme-text-secondary hover:text-theme-text transition-colors",title:o.title,children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full flex-shrink-0",style:{background:d}}),e.jsx(V,{size:12,className:"flex-shrink-0 text-theme-muted"}),e.jsx("span",{className:"truncate",children:o.title})]},o.id)),j.todos.map(o=>e.jsxs("button",{onClick:m=>{m.preventDefault(),m.stopPropagation(),k(`/projects/${t.id}`)},className:"flex w-full items-center gap-2 text-xs text-theme-text-secondary hover:text-theme-text transition-colors",title:o.title,children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full flex-shrink-0",style:{background:d}}),e.jsx(ae,{size:12,className:"flex-shrink-0 text-theme-muted"}),e.jsx("span",{className:"truncate",children:o.title})]},o.id))]})]},t.id)})}),L&&e.jsx(Y,{onSubmit:(t,s)=>I(t,s),onCancel:()=>x(!1)})]})})}export{oe as default};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{c as Q,a as V,r as l,b5 as X,b6 as H,j as e,G as U,C as J,v as Y,J as O,ad as Z,ae as ee,b7 as se,b8 as te,D as re,d as ae,b as le,b9 as oe,ba as ie,bb as W,R as ne,i as z,X as ce}from"./index-DB7C6wx1.js";import{m as de,n as ue,l as xe,i as fe,a as he,L as me}from"./LogViewer-Di7SxByZ.js";import{F as pe}from"./folder-git-2-CntWBh-U.js";import"./MarkdownContent-WshMOH5P.js";/**
|
|
2
|
+
* @license lucide-react v1.8.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const ve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]],ge=Q("circle-minus",ve),ye={low:{dot:"bg-status-success",label:"review.risk.low"},medium:{dot:"bg-status-warning",label:"review.risk.medium"},high:{dot:"bg-status-error",label:"review.risk.high"}};function we(t){return t?t<.01?"<$0.01":`$${t.toFixed(2)}`:"$0.00"}function be(t,o){const n=Date.now()-new Date(t).getTime();if(n<0)return o("review.justNow");const x=Math.floor(n/6e4);if(x<1)return o("review.justNow");if(x<60)return`${x}${o("review.minAgo")}`;const m=Math.floor(x/60);return m<24?`${m}${o("review.hourAgo")}`:`${Math.floor(m/24)}${o("review.dayAgo")}`}function je({status:t}){return t==="completed"?e.jsx(se,{size:14,className:"text-status-success"}):t==="failed"?e.jsx(te,{size:14,className:"text-status-error"}):t==="stopped"?e.jsx(ge,{size:14,className:"text-status-warning"}):e.jsx(re,{size:14,className:"text-status-warning"})}function ke(t){switch(t){case"todo-not-found":return"review.diff.notFound";case"no-branch":return"review.diff.noBranch";case"branch-missing":return"review.diff.branchMissing";case"base-branch-missing":return"review.diff.baseBranchMissing"}}function Ne({item:t,focused:o,expanded:n,onFocus:x,onToggleExpand:m,onOpen:L,onApprove:k,onContinue:M,onDiscard:S,busy:v}){const{t:i}=V(),[R,g]=l.useState(!1),[N,h]=l.useState(""),y=ye[t.risk],[c,I]=l.useState(null),[w,C]=l.useState(!1),[b,$]=l.useState(null),[T,_]=l.useState(""),[F,E]=l.useState(!1),D=t.status==="completed"&&!!t.branch_name&&!!t.worktree_path,f=t.status==="completed"&&!!t.worktree_path;l.useEffect(()=>{if(!n||c!==null)return;let a=!1;return C(!0),X(t.id).then(p=>{a||(I(p),p.available&&p.files.length>0&&$(p.files[0].path))}).catch(()=>{a||I({available:!1,reason:"branch-missing"})}).finally(()=>{a||C(!1)}),()=>{a=!0}},[n,c,t.id]),l.useEffect(()=>{if(!n||!b)return;let a=!1;return E(!0),_(""),H(t.id,b).then(p=>{a||_(p.available?p.diff:"")}).catch(()=>{a||_("")}).finally(()=>{a||E(!1)}),()=>{a=!0}},[n,b,t.id]);const A=l.useCallback(()=>{x(),m()},[x,m]),j=c!=null&&c.available?c.files.map(a=>({path:a.path,status:a.status,additions:a.insertions,deletions:a.deletions})):[];return e.jsxs("div",{onClick:A,className:`card p-4 cursor-pointer transition-all ${o?"ring-2":""}`,style:{borderColor:o?"var(--color-accent)":void 0,boxShadow:o?"var(--shadow-soft)":void 0},children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:`mt-1.5 w-2 h-2 rounded-full flex-shrink-0 ${y.dot}`,title:i(y.label)}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 text-2xs tracking-wide mb-0.5",style:{color:"var(--color-text-muted)"},children:[e.jsx(pe,{size:12}),e.jsx("span",{className:"truncate",children:t.project_name}),t.branch_name&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"·"}),e.jsx(U,{size:12}),e.jsx("span",{className:"truncate font-mono",children:t.branch_name})]})]}),e.jsxs("h3",{className:"font-medium truncate flex items-center gap-1.5",style:{color:"var(--color-text-primary)"},children:[n?e.jsx(J,{size:14,className:"flex-shrink-0 opacity-60"}):e.jsx(Y,{size:14,className:"flex-shrink-0 opacity-60"}),e.jsx("span",{className:"truncate",children:t.title})]})]}),e.jsxs("div",{className:"flex-shrink-0 flex items-center gap-1.5 text-xs",style:{color:"var(--color-text-tertiary)"},children:[e.jsx(je,{status:t.status}),e.jsx("span",{children:be(t.updated_at,i)})]})]}),t.summary&&e.jsx("p",{className:"mt-2 text-sm line-clamp-2",style:{color:"var(--color-text-secondary)"},children:t.summary}),e.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",style:{color:"var(--color-text-tertiary)"},children:[e.jsx("span",{children:t.cli_tool||"claude"}),e.jsx("span",{children:"·"}),e.jsx("span",{children:we(t.total_cost_usd)}),(t.diff_files||0)>0&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"·"}),e.jsxs("span",{children:[t.diff_files," ",i("review.files"),", +",Math.max(0,t.diff_lines??0)," ",i("review.lines")]})]}),t.round_count&&t.round_count>1&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"·"}),e.jsxs("span",{children:[i("review.rounds")," ",t.round_count]})]})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[e.jsx("button",{onClick:a=>{a.stopPropagation(),L()},className:"btn-ghost text-xs px-3 py-1.5",children:i("review.viewDetails")}),D&&e.jsx("button",{onClick:a=>{a.stopPropagation(),k()},disabled:v,className:"btn-primary text-xs px-3 py-1.5 disabled:opacity-50",children:v?e.jsx(O,{size:12,className:"animate-spin"}):i("review.approve")}),f&&e.jsx("button",{onClick:a=>{a.stopPropagation(),g(p=>!p)},className:"btn-ghost text-xs px-3 py-1.5",children:i("review.requestChanges")}),e.jsx("button",{onClick:a=>{a.stopPropagation(),S()},disabled:v,className:"btn-ghost text-xs px-3 py-1.5 ml-auto text-status-error hover:text-status-error",children:i("review.discard")})]}),R&&f&&e.jsxs("div",{className:"mt-3 space-y-2",onClick:a=>a.stopPropagation(),children:[e.jsx("textarea",{value:N,onChange:a=>h(a.target.value),placeholder:i("review.continuePlaceholder"),rows:3,className:"w-full text-sm rounded-lg p-2 resize-y",style:{backgroundColor:"var(--color-bg-secondary)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)"}}),e.jsxs("div",{className:"flex gap-2 justify-end",children:[e.jsx("button",{onClick:()=>{g(!1),h("")},className:"btn-ghost text-xs px-3 py-1.5",children:i("review.cancel")}),e.jsx("button",{onClick:async()=>{const a=N.trim();a&&(await M(a),h(""),g(!1))},disabled:v||!N.trim(),className:"btn-primary text-xs px-3 py-1.5 disabled:opacity-50",children:v?e.jsx(O,{size:12,className:"animate-spin"}):i("review.send")})]})]}),n&&e.jsx("div",{className:"mt-3 rounded-lg overflow-hidden",style:{border:"1px solid var(--color-border)",backgroundColor:"var(--color-bg-primary)"},onClick:a=>a.stopPropagation(),children:!c||w?e.jsx("div",{className:"h-24 flex items-center justify-center",children:e.jsx(O,{size:16,className:"animate-spin",style:{color:"var(--color-text-muted)"}})}):c.available?c.files.length===0?e.jsx("div",{className:"px-4 py-6 text-center text-sm",style:{color:"var(--color-text-muted)"},children:i("review.diff.empty")}):e.jsxs("div",{className:"flex",style:{height:384},children:[e.jsx("div",{className:"w-56 shrink-0 border-r overflow-hidden",style:{borderColor:"var(--color-border)"},children:e.jsx(Z,{files:j,loading:!1,selectedFile:b,onFileClick:a=>$(a)})}),e.jsx("div",{className:"flex-1 min-w-0 overflow-hidden bg-warm-900",children:e.jsx(ee,{diff:T,loading:F,selectedFile:b})})]}):e.jsxs("div",{className:"px-4 py-6 space-y-2 text-sm",style:{color:"var(--color-text-muted)"},children:[e.jsx("div",{className:"text-center",children:i(ke(c.reason))}),c.debug&&e.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap break-all p-2 rounded-md",style:{backgroundColor:"var(--color-bg-secondary)",color:"var(--color-text-tertiary)"},children:`worktree_path: ${c.debug.worktree_path??"(null)"}
|
|
7
|
+
worktree_exists: ${c.debug.worktree_exists}
|
|
8
|
+
branch_name: ${c.debug.branch_name??"(null)"}
|
|
9
|
+
project_path: ${c.debug.project_path??"(null)"}
|
|
10
|
+
default_branch: ${c.debug.default_branch??"(null)"}
|
|
11
|
+
resolved_base: ${c.debug.resolved_base??"(null)"}`})]})})]})}const Ce=[{hours:12,key:"review.window.12h"},{hours:24,key:"review.window.24h"},{hours:168,key:"review.window.7d"}],_e=[{id:"all",key:"review.filter.all"},{id:"risky",key:"review.filter.risky"},{id:"quickWins",key:"review.filter.quickWins"},{id:"failed",key:"review.filter.failed"}];function K(t){return t?t<1e3?String(t):t<1e6?`${(t/1e3).toFixed(t<1e4?1:0)}K`:`${(t/1e6).toFixed(t<1e7?1:0)}M`:"0"}function Se(t,o){switch(o){case"all":return t;case"risky":return t.filter(n=>n.risk==="high"||n.status==="failed");case"quickWins":return t.filter(n=>n.risk==="low"&&n.status==="completed"&&(n.total_cost_usd??0)<1);case"failed":return t.filter(n=>n.status==="failed"||n.status==="stopped")}}function Le({onEvent:t}){const{t:o}=V(),{confirm:n}=ae(),{error:x}=le(),[m,L]=l.useState(24),[k,M]=l.useState("all"),[S,v]=l.useState([]),[i,R]=l.useState(null),[g,N]=l.useState(!0),[h,y]=l.useState(0),[c,I]=l.useState({}),[w,C]=l.useState(null),[b,$]=l.useState([]),[T,_]=l.useState(!1),[F,E]=l.useState(null),D=l.useCallback(s=>{E(r=>r===s?null:s)},[]),f=l.useMemo(()=>Se(S,k),[S,k]),A=s=>{s&&s.scrollIntoView({block:"nearest",behavior:"smooth"})},j=l.useCallback(async()=>{N(!0);try{const[s,r]=await Promise.all([oe({hours:m}),ie({hours:m})]);v(s.items),R(r)}catch{}finally{N(!1)}},[m]);l.useEffect(()=>{j()},[j]),l.useEffect(()=>{h>=f.length&&y(Math.max(0,f.length-1))},[f.length,h]),l.useEffect(()=>t(s=>{s.type==="todo:status-changed"&&j()}),[t,j]);const a=(s,r)=>{I(u=>({...u,[s]:r}))},p=s=>{v(r=>r.filter(u=>u.id!==s)),window.dispatchEvent(new Event("review:changed"))},P=l.useCallback(async s=>{a(s.id,!0);try{await de(s.id),p(s.id)}catch(r){const u=r instanceof Error?r.message:String(r);x(`${o("review.mergeFailed")}: ${u}`)}finally{a(s.id,!1)}},[o,x]),G=l.useCallback(async(s,r)=>{a(s.id,!0);try{await ue(s.id,r)}catch(u){const d=u instanceof Error?u.message:String(u);x(`${o("review.continueFailed")}: ${d}`)}finally{a(s.id,!1)}},[o,x]),q=l.useCallback(async s=>{if(await n({message:o("review.discardConfirm"),danger:!0})){a(s.id,!0);try{await xe(s.id,!0),await fe(s.id),p(s.id)}catch(r){const u=r instanceof Error?r.message:String(r);x(`${o("review.discardFailed")}: ${u}`)}finally{a(s.id,!1)}}},[o,n,x]),B=l.useCallback(async s=>{C(s),$([]),_(!0);try{const r=await he(s.id);$(r)}catch{}finally{_(!1)}},[]);return l.useEffect(()=>{function s(r){const u=r.target;if(!(u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.isContentEditable))){if(r.key==="j"||r.key==="ArrowDown")r.preventDefault(),y(d=>Math.min(f.length-1,d+1));else if(r.key==="k"||r.key==="ArrowUp")r.preventDefault(),y(d=>Math.max(0,d-1));else if(r.key==="Enter"){const d=f[h];d&&B(d)}else if(r.key===" "||r.key==="ArrowRight"){r.preventDefault();const d=f[h];d&&D(d.id)}else if(r.key==="Escape")w?C(null):F&&E(null);else if(r.key==="m"){const d=f[h];d&&d.status==="completed"&&d.branch_name&&P(d)}else if(r.key==="d"){const d=f[h];d&&q(d)}}}return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[f,h,w,F,D,P,q,B]),e.jsxs("div",{className:"flex h-full overflow-hidden",children:[e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[e.jsxs("div",{className:"px-6 pt-6 pb-3 flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-xl font-semibold flex items-center gap-2",style:{color:"var(--color-text-primary)"},children:[e.jsx(W,{size:20}),o("review.title")]}),e.jsx("p",{className:"text-xs mt-0.5",style:{color:"var(--color-text-muted)"},children:o("review.subtitle")})]}),e.jsxs("button",{onClick:j,className:"btn-ghost text-xs px-3 py-1.5 flex items-center gap-1.5",disabled:g,children:[e.jsx(ne,{size:12,className:g?"animate-spin":""}),o("review.refresh")]})]}),e.jsxs("div",{className:"mx-6 mb-3 rounded-xl px-4 py-3 flex items-center flex-wrap gap-x-6 gap-y-2",style:{backgroundColor:"var(--color-bg-secondary)",border:"1px solid var(--color-border)"},children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-2xs uppercase tracking-wider",style:{color:"var(--color-text-muted)"},children:o("review.tokens.total")}),e.jsx("div",{className:"text-lg font-semibold",style:{color:"var(--color-text-primary)"},children:i?K(i.total_tokens):"—"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xs uppercase tracking-wider",style:{color:"var(--color-text-muted)"},children:o("review.tokens.todos")}),e.jsx("div",{className:"text-lg font-semibold",style:{color:"var(--color-text-primary)"},children:(i==null?void 0:i.total_todos)??"—"})]}),i&&i.by_cli.length>0&&e.jsxs("div",{className:"flex-1 min-w-[200px]",children:[e.jsx("div",{className:"text-2xs uppercase tracking-wider mb-1",style:{color:"var(--color-text-muted)"},children:o("review.tokens.byCli")}),e.jsx("div",{className:"flex gap-3 text-xs flex-wrap",children:i.by_cli.map(s=>e.jsxs("span",{style:{color:"var(--color-text-secondary)"},children:[s.cli_tool,": ",e.jsx("strong",{children:K(s.total_tokens)})," (",s.count,")"]},s.cli_tool))})]})]}),e.jsxs("div",{className:"px-6 pb-3 flex items-center justify-between flex-wrap gap-3",children:[e.jsx("div",{className:"flex gap-1",children:Ce.map(s=>e.jsx("button",{onClick:()=>L(s.hours),className:`text-xs px-3 py-1.5 rounded-lg transition-colors ${m===s.hours?"font-medium":""}`,style:m===s.hours?{backgroundColor:"var(--color-bg-hover)",color:"var(--color-text-primary)"}:{color:"var(--color-text-tertiary)"},children:o(s.key)},s.hours))}),e.jsx("div",{className:"flex gap-1",children:_e.map(s=>e.jsx("button",{onClick:()=>M(s.id),className:`text-xs px-3 py-1.5 rounded-lg transition-colors ${k===s.id?"font-medium":""}`,style:k===s.id?{backgroundColor:"var(--color-bg-hover)",color:"var(--color-text-primary)"}:{color:"var(--color-text-tertiary)"},children:o(s.key)},s.id))})]}),e.jsx("div",{className:"flex-1 overflow-y-auto px-6 pb-6",id:"review-queue-stack",children:g&&S.length===0?e.jsx("div",{className:"space-y-3",children:[...Array(4)].map((s,r)=>e.jsx(z,{className:"h-24 w-full rounded-xl"},r))}):f.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center py-20 text-center",children:[e.jsx(W,{size:48,style:{color:"var(--color-text-faint)"}}),e.jsx("p",{className:"mt-3 text-sm",style:{color:"var(--color-text-muted)"},children:o("review.empty")})]}):e.jsx("div",{className:"space-y-3",children:f.map((s,r)=>e.jsx("div",{"data-focus-idx":r,ref:r===h?A:null,children:e.jsx(Ne,{item:s,focused:r===h,expanded:F===s.id,onFocus:()=>y(r),onToggleExpand:()=>D(s.id),onOpen:()=>B(s),onApprove:()=>P(s),onContinue:u=>G(s,u),onDiscard:()=>q(s),busy:!!c[s.id]})},s.id))})})]}),w&&e.jsxs("div",{className:"w-[480px] flex-shrink-0 flex flex-col border-l overflow-hidden animate-slide-in-right",style:{borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-primary)"},children:[e.jsxs("div",{className:"px-4 py-3 border-b flex items-center justify-between",style:{borderColor:"var(--color-border)"},children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-2xs uppercase tracking-wider",style:{color:"var(--color-text-muted)"},children:w.project_name}),e.jsx("div",{className:"font-medium truncate",style:{color:"var(--color-text-primary)"},children:w.title})]}),e.jsx("button",{onClick:()=>C(null),className:"btn-ghost p-1.5",title:o("review.closeDetails"),children:e.jsx(ce,{size:16})})]}),e.jsx("div",{className:"flex-1 overflow-hidden",children:T?e.jsxs("div",{className:"p-4 space-y-2",children:[e.jsx(z,{className:"h-4 w-full"}),e.jsx(z,{className:"h-4 w-5/6"}),e.jsx(z,{className:"h-4 w-4/6"})]}):e.jsx(me,{logs:b,embedded:!0,fillHeight:!0})})]})]})}export{Le as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{bl as Ve,bc as Nh,r as z,a as Os,j as E,N as jh,O as Ph,Q as kh,U as Lh,z as Mh,X as Fh,Y as Dh,bk as Gh,P as Bh,M as Uh}from"./index-DB7C6wx1.js";import{H as Zs,P as Js,M as zh,u as Hh,a as Vh,i as Kh,B as Wh,b as $h,C as Yh,c as Xh}from"./style-DcT-60Dn.js";import{S as Al,g as Tl,c as Zh,T as Ol,d as Jh,e as Qh}from"./ProjectDetail-B96iIeaz.js";import{G as ev}from"./DiscussionForm-BZfnK2EV.js";import{R as rv}from"./rotate-ccw-DRnyCt5y.js";import{a as nv,b as tv,T as Qs,p as eu,u as av,d as iv,g as ru,L as sv,c as uv}from"./LogViewer-Di7SxByZ.js";import"./value-BTdN53H7.js";import"./with-selector-QmxTx8WM.js";import"./CalendarGrid-Fk99r9nq.js";import"./EmptyState-GADfcNs7.js";import"./MarkdownContent-WshMOH5P.js";function Ns(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var lr,nu;function ov(){if(nu)return lr;nu=1;function e(){this.__data__=[],this.size=0}return lr=e,lr}var hr,tu;function Oe(){if(tu)return hr;tu=1;function e(a,r){return a===r||a!==a&&r!==r}return hr=e,hr}var vr,au;function We(){if(au)return vr;au=1;var e=Oe();function a(r,t){for(var n=r.length;n--;)if(e(r[n][0],t))return n;return-1}return vr=a,vr}var pr,iu;function fv(){if(iu)return pr;iu=1;var e=We(),a=Array.prototype,r=a.splice;function t(n){var i=this.__data__,u=e(i,n);if(u<0)return!1;var s=i.length-1;return u==s?i.pop():r.call(i,u,1),--this.size,!0}return pr=t,pr}var gr,su;function cv(){if(su)return gr;su=1;var e=We();function a(r){var t=this.__data__,n=e(t,r);return n<0?void 0:t[n][1]}return gr=a,gr}var _r,uu;function dv(){if(uu)return _r;uu=1;var e=We();function a(r){return e(this.__data__,r)>-1}return _r=a,_r}var br,ou;function lv(){if(ou)return br;ou=1;var e=We();function a(r,t){var n=this.__data__,i=e(n,r);return i<0?(++this.size,n.push([r,t])):n[i][1]=t,this}return br=a,br}var mr,fu;function $e(){if(fu)return mr;fu=1;var e=ov(),a=fv(),r=cv(),t=dv(),n=lv();function i(u){var s=-1,o=u==null?0:u.length;for(this.clear();++s<o;){var c=u[s];this.set(c[0],c[1])}}return i.prototype.clear=e,i.prototype.delete=a,i.prototype.get=r,i.prototype.has=t,i.prototype.set=n,mr=i,mr}var yr,cu;function hv(){if(cu)return yr;cu=1;var e=$e();function a(){this.__data__=new e,this.size=0}return yr=a,yr}var qr,du;function vv(){if(du)return qr;du=1;function e(a){var r=this.__data__,t=r.delete(a);return this.size=r.size,t}return qr=e,qr}var xr,lu;function pv(){if(lu)return xr;lu=1;function e(a){return this.__data__.get(a)}return xr=e,xr}var wr,hu;function gv(){if(hu)return wr;hu=1;function e(a){return this.__data__.has(a)}return wr=e,wr}var Rr,vu;function Nl(){if(vu)return Rr;vu=1;var e=typeof Ve=="object"&&Ve&&Ve.Object===Object&&Ve;return Rr=e,Rr}var Er,pu;function he(){if(pu)return Er;pu=1;var e=Nl(),a=typeof self=="object"&&self&&self.Object===Object&&self,r=e||a||Function("return this")();return Er=r,Er}var Cr,gu;function Ne(){if(gu)return Cr;gu=1;var e=he(),a=e.Symbol;return Cr=a,Cr}var Sr,_u;function _v(){if(_u)return Sr;_u=1;var e=Ne(),a=Object.prototype,r=a.hasOwnProperty,t=a.toString,n=e?e.toStringTag:void 0;function i(u){var s=r.call(u,n),o=u[n];try{u[n]=void 0;var c=!0}catch{}var f=t.call(u);return c&&(s?u[n]=o:delete u[n]),f}return Sr=i,Sr}var Ir,bu;function bv(){if(bu)return Ir;bu=1;var e=Object.prototype,a=e.toString;function r(t){return a.call(t)}return Ir=r,Ir}var Ar,mu;function Se(){if(mu)return Ar;mu=1;var e=Ne(),a=_v(),r=bv(),t="[object Null]",n="[object Undefined]",i=e?e.toStringTag:void 0;function u(s){return s==null?s===void 0?n:t:i&&i in Object(s)?a(s):r(s)}return Ar=u,Ar}var Tr,yu;function oe(){if(yu)return Tr;yu=1;function e(a){var r=typeof a;return a!=null&&(r=="object"||r=="function")}return Tr=e,Tr}var Or,qu;function De(){if(qu)return Or;qu=1;var e=Se(),a=oe(),r="[object AsyncFunction]",t="[object Function]",n="[object GeneratorFunction]",i="[object Proxy]";function u(s){if(!a(s))return!1;var o=e(s);return o==t||o==n||o==r||o==i}return Or=u,Or}var Nr,xu;function mv(){if(xu)return Nr;xu=1;var e=he(),a=e["__core-js_shared__"];return Nr=a,Nr}var jr,wu;function yv(){if(wu)return jr;wu=1;var e=mv(),a=(function(){var t=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function r(t){return!!a&&a in t}return jr=r,jr}var Pr,Ru;function jl(){if(Ru)return Pr;Ru=1;var e=Function.prototype,a=e.toString;function r(t){if(t!=null){try{return a.call(t)}catch{}try{return t+""}catch{}}return""}return Pr=r,Pr}var kr,Eu;function qv(){if(Eu)return kr;Eu=1;var e=De(),a=yv(),r=oe(),t=jl(),n=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,u=Function.prototype,s=Object.prototype,o=u.toString,c=s.hasOwnProperty,f=RegExp("^"+o.call(c).replace(n,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function d(l){if(!r(l)||a(l))return!1;var h=e(l)?f:i;return h.test(t(l))}return kr=d,kr}var Lr,Cu;function xv(){if(Cu)return Lr;Cu=1;function e(a,r){return a==null?void 0:a[r]}return Lr=e,Lr}var Mr,Su;function Ie(){if(Su)return Mr;Su=1;var e=qv(),a=xv();function r(t,n){var i=a(t,n);return e(i)?i:void 0}return Mr=r,Mr}var Fr,Iu;function js(){if(Iu)return Fr;Iu=1;var e=Ie(),a=he(),r=e(a,"Map");return Fr=r,Fr}var Dr,Au;function Ye(){if(Au)return Dr;Au=1;var e=Ie(),a=e(Object,"create");return Dr=a,Dr}var Gr,Tu;function wv(){if(Tu)return Gr;Tu=1;var e=Ye();function a(){this.__data__=e?e(null):{},this.size=0}return Gr=a,Gr}var Br,Ou;function Rv(){if(Ou)return Br;Ou=1;function e(a){var r=this.has(a)&&delete this.__data__[a];return this.size-=r?1:0,r}return Br=e,Br}var Ur,Nu;function Ev(){if(Nu)return Ur;Nu=1;var e=Ye(),a="__lodash_hash_undefined__",r=Object.prototype,t=r.hasOwnProperty;function n(i){var u=this.__data__;if(e){var s=u[i];return s===a?void 0:s}return t.call(u,i)?u[i]:void 0}return Ur=n,Ur}var zr,ju;function Cv(){if(ju)return zr;ju=1;var e=Ye(),a=Object.prototype,r=a.hasOwnProperty;function t(n){var i=this.__data__;return e?i[n]!==void 0:r.call(i,n)}return zr=t,zr}var Hr,Pu;function Sv(){if(Pu)return Hr;Pu=1;var e=Ye(),a="__lodash_hash_undefined__";function r(t,n){var i=this.__data__;return this.size+=this.has(t)?0:1,i[t]=e&&n===void 0?a:n,this}return Hr=r,Hr}var Vr,ku;function Iv(){if(ku)return Vr;ku=1;var e=wv(),a=Rv(),r=Ev(),t=Cv(),n=Sv();function i(u){var s=-1,o=u==null?0:u.length;for(this.clear();++s<o;){var c=u[s];this.set(c[0],c[1])}}return i.prototype.clear=e,i.prototype.delete=a,i.prototype.get=r,i.prototype.has=t,i.prototype.set=n,Vr=i,Vr}var Kr,Lu;function Av(){if(Lu)return Kr;Lu=1;var e=Iv(),a=$e(),r=js();function t(){this.size=0,this.__data__={hash:new e,map:new(r||a),string:new e}}return Kr=t,Kr}var Wr,Mu;function Tv(){if(Mu)return Wr;Mu=1;function e(a){var r=typeof a;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?a!=="__proto__":a===null}return Wr=e,Wr}var $r,Fu;function Xe(){if(Fu)return $r;Fu=1;var e=Tv();function a(r,t){var n=r.__data__;return e(t)?n[typeof t=="string"?"string":"hash"]:n.map}return $r=a,$r}var Yr,Du;function Ov(){if(Du)return Yr;Du=1;var e=Xe();function a(r){var t=e(this,r).delete(r);return this.size-=t?1:0,t}return Yr=a,Yr}var Xr,Gu;function Nv(){if(Gu)return Xr;Gu=1;var e=Xe();function a(r){return e(this,r).get(r)}return Xr=a,Xr}var Zr,Bu;function jv(){if(Bu)return Zr;Bu=1;var e=Xe();function a(r){return e(this,r).has(r)}return Zr=a,Zr}var Jr,Uu;function Pv(){if(Uu)return Jr;Uu=1;var e=Xe();function a(r,t){var n=e(this,r),i=n.size;return n.set(r,t),this.size+=n.size==i?0:1,this}return Jr=a,Jr}var Qr,zu;function Ps(){if(zu)return Qr;zu=1;var e=Av(),a=Ov(),r=Nv(),t=jv(),n=Pv();function i(u){var s=-1,o=u==null?0:u.length;for(this.clear();++s<o;){var c=u[s];this.set(c[0],c[1])}}return i.prototype.clear=e,i.prototype.delete=a,i.prototype.get=r,i.prototype.has=t,i.prototype.set=n,Qr=i,Qr}var en,Hu;function kv(){if(Hu)return en;Hu=1;var e=$e(),a=js(),r=Ps(),t=200;function n(i,u){var s=this.__data__;if(s instanceof e){var o=s.__data__;if(!a||o.length<t-1)return o.push([i,u]),this.size=++s.size,this;s=this.__data__=new r(o)}return s.set(i,u),this.size=s.size,this}return en=n,en}var rn,Vu;function Ze(){if(Vu)return rn;Vu=1;var e=$e(),a=hv(),r=vv(),t=pv(),n=gv(),i=kv();function u(s){var o=this.__data__=new e(s);this.size=o.size}return u.prototype.clear=a,u.prototype.delete=r,u.prototype.get=t,u.prototype.has=n,u.prototype.set=i,rn=u,rn}var nn,Ku;function ks(){if(Ku)return nn;Ku=1;function e(a,r){for(var t=-1,n=a==null?0:a.length;++t<n&&r(a[t],t,a)!==!1;);return a}return nn=e,nn}var tn,Wu;function Pl(){if(Wu)return tn;Wu=1;var e=Ie(),a=(function(){try{var r=e(Object,"defineProperty");return r({},"",{}),r}catch{}})();return tn=a,tn}var an,$u;function Je(){if($u)return an;$u=1;var e=Pl();function a(r,t,n){t=="__proto__"&&e?e(r,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):r[t]=n}return an=a,an}var sn,Yu;function Qe(){if(Yu)return sn;Yu=1;var e=Je(),a=Oe(),r=Object.prototype,t=r.hasOwnProperty;function n(i,u,s){var o=i[u];(!(t.call(i,u)&&a(o,s))||s===void 0&&!(u in i))&&e(i,u,s)}return sn=n,sn}var un,Xu;function Ge(){if(Xu)return un;Xu=1;var e=Qe(),a=Je();function r(t,n,i,u){var s=!i;i||(i={});for(var o=-1,c=n.length;++o<c;){var f=n[o],d=u?u(i[f],t[f],f,i,t):void 0;d===void 0&&(d=t[f]),s?a(i,f,d):e(i,f,d)}return i}return un=r,un}var on,Zu;function Lv(){if(Zu)return on;Zu=1;function e(a,r){for(var t=-1,n=Array(a);++t<a;)n[t]=r(t);return n}return on=e,on}var fn,Ju;function pe(){if(Ju)return fn;Ju=1;function e(a){return a!=null&&typeof a=="object"}return fn=e,fn}var cn,Qu;function Mv(){if(Qu)return cn;Qu=1;var e=Se(),a=pe(),r="[object Arguments]";function t(n){return a(n)&&e(n)==r}return cn=t,cn}var dn,eo;function Be(){if(eo)return dn;eo=1;var e=Mv(),a=pe(),r=Object.prototype,t=r.hasOwnProperty,n=r.propertyIsEnumerable,i=e((function(){return arguments})())?e:function(u){return a(u)&&t.call(u,"callee")&&!n.call(u,"callee")};return dn=i,dn}var ln,ro;function X(){if(ro)return ln;ro=1;var e=Array.isArray;return ln=e,ln}var Le={exports:{}},hn,no;function Fv(){if(no)return hn;no=1;function e(){return!1}return hn=e,hn}Le.exports;var to;function je(){return to||(to=1,(function(e,a){var r=he(),t=Fv(),n=a&&!a.nodeType&&a,i=n&&!0&&e&&!e.nodeType&&e,u=i&&i.exports===n,s=u?r.Buffer:void 0,o=s?s.isBuffer:void 0,c=o||t;e.exports=c})(Le,Le.exports)),Le.exports}var vn,ao;function er(){if(ao)return vn;ao=1;var e=9007199254740991,a=/^(?:0|[1-9]\d*)$/;function r(t,n){var i=typeof t;return n=n??e,!!n&&(i=="number"||i!="symbol"&&a.test(t))&&t>-1&&t%1==0&&t<n}return vn=r,vn}var pn,io;function Ls(){if(io)return pn;io=1;var e=9007199254740991;function a(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return pn=a,pn}var gn,so;function Dv(){if(so)return gn;so=1;var e=Se(),a=Ls(),r=pe(),t="[object Arguments]",n="[object Array]",i="[object Boolean]",u="[object Date]",s="[object Error]",o="[object Function]",c="[object Map]",f="[object Number]",d="[object Object]",l="[object RegExp]",h="[object Set]",y="[object String]",_="[object WeakMap]",v="[object ArrayBuffer]",g="[object DataView]",p="[object Float32Array]",b="[object Float64Array]",m="[object Int8Array]",q="[object Int16Array]",x="[object Int32Array]",w="[object Uint8Array]",A="[object Uint8ClampedArray]",I="[object Uint16Array]",T="[object Uint32Array]",O={};O[p]=O[b]=O[m]=O[q]=O[x]=O[w]=O[A]=O[I]=O[T]=!0,O[t]=O[n]=O[v]=O[i]=O[g]=O[u]=O[s]=O[o]=O[c]=O[f]=O[d]=O[l]=O[h]=O[y]=O[_]=!1;function P(L){return r(L)&&a(L.length)&&!!O[e(L)]}return gn=P,gn}var _n,uo;function rr(){if(uo)return _n;uo=1;function e(a){return function(r){return a(r)}}return _n=e,_n}var Me={exports:{}};Me.exports;var oo;function Ms(){return oo||(oo=1,(function(e,a){var r=Nl(),t=a&&!a.nodeType&&a,n=t&&!0&&e&&!e.nodeType&&e,i=n&&n.exports===t,u=i&&r.process,s=(function(){try{var o=n&&n.require&&n.require("util").types;return o||u&&u.binding&&u.binding("util")}catch{}})();e.exports=s})(Me,Me.exports)),Me.exports}var bn,fo;function Ue(){if(fo)return bn;fo=1;var e=Dv(),a=rr(),r=Ms(),t=r&&r.isTypedArray,n=t?a(t):e;return bn=n,bn}var mn,co;function kl(){if(co)return mn;co=1;var e=Lv(),a=Be(),r=X(),t=je(),n=er(),i=Ue(),u=Object.prototype,s=u.hasOwnProperty;function o(c,f){var d=r(c),l=!d&&a(c),h=!d&&!l&&t(c),y=!d&&!l&&!h&&i(c),_=d||l||h||y,v=_?e(c.length,String):[],g=v.length;for(var p in c)(f||s.call(c,p))&&!(_&&(p=="length"||h&&(p=="offset"||p=="parent")||y&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||n(p,g)))&&v.push(p);return v}return mn=o,mn}var yn,lo;function nr(){if(lo)return yn;lo=1;var e=Object.prototype;function a(r){var t=r&&r.constructor,n=typeof t=="function"&&t.prototype||e;return r===n}return yn=a,yn}var qn,ho;function Ll(){if(ho)return qn;ho=1;function e(a,r){return function(t){return a(r(t))}}return qn=e,qn}var xn,vo;function Gv(){if(vo)return xn;vo=1;var e=Ll(),a=e(Object.keys,Object);return xn=a,xn}var wn,po;function Fs(){if(po)return wn;po=1;var e=nr(),a=Gv(),r=Object.prototype,t=r.hasOwnProperty;function n(i){if(!e(i))return a(i);var u=[];for(var s in Object(i))t.call(i,s)&&s!="constructor"&&u.push(s);return u}return wn=n,wn}var Rn,go;function me(){if(go)return Rn;go=1;var e=De(),a=Ls();function r(t){return t!=null&&a(t.length)&&!e(t)}return Rn=r,Rn}var En,_o;function we(){if(_o)return En;_o=1;var e=kl(),a=Fs(),r=me();function t(n){return r(n)?e(n):a(n)}return En=t,En}var Cn,bo;function Bv(){if(bo)return Cn;bo=1;var e=Ge(),a=we();function r(t,n){return t&&e(n,a(n),t)}return Cn=r,Cn}var Sn,mo;function Uv(){if(mo)return Sn;mo=1;function e(a){var r=[];if(a!=null)for(var t in Object(a))r.push(t);return r}return Sn=e,Sn}var In,yo;function zv(){if(yo)return In;yo=1;var e=oe(),a=nr(),r=Uv(),t=Object.prototype,n=t.hasOwnProperty;function i(u){if(!e(u))return r(u);var s=a(u),o=[];for(var c in u)c=="constructor"&&(s||!n.call(u,c))||o.push(c);return o}return In=i,In}var An,qo;function Ae(){if(qo)return An;qo=1;var e=kl(),a=zv(),r=me();function t(n){return r(n)?e(n,!0):a(n)}return An=t,An}var Tn,xo;function Hv(){if(xo)return Tn;xo=1;var e=Ge(),a=Ae();function r(t,n){return t&&e(n,a(n),t)}return Tn=r,Tn}var Fe={exports:{}};Fe.exports;var wo;function Ml(){return wo||(wo=1,(function(e,a){var r=he(),t=a&&!a.nodeType&&a,n=t&&!0&&e&&!e.nodeType&&e,i=n&&n.exports===t,u=i?r.Buffer:void 0,s=u?u.allocUnsafe:void 0;function o(c,f){if(f)return c.slice();var d=c.length,l=s?s(d):new c.constructor(d);return c.copy(l),l}e.exports=o})(Fe,Fe.exports)),Fe.exports}var On,Ro;function Fl(){if(Ro)return On;Ro=1;function e(a,r){var t=-1,n=a.length;for(r||(r=Array(n));++t<n;)r[t]=a[t];return r}return On=e,On}var Nn,Eo;function Dl(){if(Eo)return Nn;Eo=1;function e(a,r){for(var t=-1,n=a==null?0:a.length,i=0,u=[];++t<n;){var s=a[t];r(s,t,a)&&(u[i++]=s)}return u}return Nn=e,Nn}var jn,Co;function Gl(){if(Co)return jn;Co=1;function e(){return[]}return jn=e,jn}var Pn,So;function Ds(){if(So)return Pn;So=1;var e=Dl(),a=Gl(),r=Object.prototype,t=r.propertyIsEnumerable,n=Object.getOwnPropertySymbols,i=n?function(u){return u==null?[]:(u=Object(u),e(n(u),function(s){return t.call(u,s)}))}:a;return Pn=i,Pn}var kn,Io;function Vv(){if(Io)return kn;Io=1;var e=Ge(),a=Ds();function r(t,n){return e(t,a(t),n)}return kn=r,kn}var Ln,Ao;function Gs(){if(Ao)return Ln;Ao=1;function e(a,r){for(var t=-1,n=r.length,i=a.length;++t<n;)a[i+t]=r[t];return a}return Ln=e,Ln}var Mn,To;function tr(){if(To)return Mn;To=1;var e=Ll(),a=e(Object.getPrototypeOf,Object);return Mn=a,Mn}var Fn,Oo;function Bl(){if(Oo)return Fn;Oo=1;var e=Gs(),a=tr(),r=Ds(),t=Gl(),n=Object.getOwnPropertySymbols,i=n?function(u){for(var s=[];u;)e(s,r(u)),u=a(u);return s}:t;return Fn=i,Fn}var Dn,No;function Kv(){if(No)return Dn;No=1;var e=Ge(),a=Bl();function r(t,n){return e(t,a(t),n)}return Dn=r,Dn}var Gn,jo;function Ul(){if(jo)return Gn;jo=1;var e=Gs(),a=X();function r(t,n,i){var u=n(t);return a(t)?u:e(u,i(t))}return Gn=r,Gn}var Bn,Po;function zl(){if(Po)return Bn;Po=1;var e=Ul(),a=Ds(),r=we();function t(n){return e(n,r,a)}return Bn=t,Bn}var Un,ko;function Wv(){if(ko)return Un;ko=1;var e=Ul(),a=Bl(),r=Ae();function t(n){return e(n,r,a)}return Un=t,Un}var zn,Lo;function $v(){if(Lo)return zn;Lo=1;var e=Ie(),a=he(),r=e(a,"DataView");return zn=r,zn}var Hn,Mo;function Yv(){if(Mo)return Hn;Mo=1;var e=Ie(),a=he(),r=e(a,"Promise");return Hn=r,Hn}var Vn,Fo;function Hl(){if(Fo)return Vn;Fo=1;var e=Ie(),a=he(),r=e(a,"Set");return Vn=r,Vn}var Kn,Do;function Xv(){if(Do)return Kn;Do=1;var e=Ie(),a=he(),r=e(a,"WeakMap");return Kn=r,Kn}var Wn,Go;function Pe(){if(Go)return Wn;Go=1;var e=$v(),a=js(),r=Yv(),t=Hl(),n=Xv(),i=Se(),u=jl(),s="[object Map]",o="[object Object]",c="[object Promise]",f="[object Set]",d="[object WeakMap]",l="[object DataView]",h=u(e),y=u(a),_=u(r),v=u(t),g=u(n),p=i;return(e&&p(new e(new ArrayBuffer(1)))!=l||a&&p(new a)!=s||r&&p(r.resolve())!=c||t&&p(new t)!=f||n&&p(new n)!=d)&&(p=function(b){var m=i(b),q=m==o?b.constructor:void 0,x=q?u(q):"";if(x)switch(x){case h:return l;case y:return s;case _:return c;case v:return f;case g:return d}return m}),Wn=p,Wn}var $n,Bo;function Zv(){if(Bo)return $n;Bo=1;var e=Object.prototype,a=e.hasOwnProperty;function r(t){var n=t.length,i=new t.constructor(n);return n&&typeof t[0]=="string"&&a.call(t,"index")&&(i.index=t.index,i.input=t.input),i}return $n=r,$n}var Yn,Uo;function Vl(){if(Uo)return Yn;Uo=1;var e=he(),a=e.Uint8Array;return Yn=a,Yn}var Xn,zo;function Bs(){if(zo)return Xn;zo=1;var e=Vl();function a(r){var t=new r.constructor(r.byteLength);return new e(t).set(new e(r)),t}return Xn=a,Xn}var Zn,Ho;function Jv(){if(Ho)return Zn;Ho=1;var e=Bs();function a(r,t){var n=t?e(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.byteLength)}return Zn=a,Zn}var Jn,Vo;function Qv(){if(Vo)return Jn;Vo=1;var e=/\w*$/;function a(r){var t=new r.constructor(r.source,e.exec(r));return t.lastIndex=r.lastIndex,t}return Jn=a,Jn}var Qn,Ko;function ep(){if(Ko)return Qn;Ko=1;var e=Ne(),a=e?e.prototype:void 0,r=a?a.valueOf:void 0;function t(n){return r?Object(r.call(n)):{}}return Qn=t,Qn}var et,Wo;function Kl(){if(Wo)return et;Wo=1;var e=Bs();function a(r,t){var n=t?e(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.length)}return et=a,et}var rt,$o;function rp(){if($o)return rt;$o=1;var e=Bs(),a=Jv(),r=Qv(),t=ep(),n=Kl(),i="[object Boolean]",u="[object Date]",s="[object Map]",o="[object Number]",c="[object RegExp]",f="[object Set]",d="[object String]",l="[object Symbol]",h="[object ArrayBuffer]",y="[object DataView]",_="[object Float32Array]",v="[object Float64Array]",g="[object Int8Array]",p="[object Int16Array]",b="[object Int32Array]",m="[object Uint8Array]",q="[object Uint8ClampedArray]",x="[object Uint16Array]",w="[object Uint32Array]";function A(I,T,O){var P=I.constructor;switch(T){case h:return e(I);case i:case u:return new P(+I);case y:return a(I,O);case _:case v:case g:case p:case b:case m:case q:case x:case w:return n(I,O);case s:return new P;case o:case d:return new P(I);case c:return r(I);case f:return new P;case l:return t(I)}}return rt=A,rt}var nt,Yo;function Wl(){if(Yo)return nt;Yo=1;var e=oe(),a=Object.create,r=(function(){function t(){}return function(n){if(!e(n))return{};if(a)return a(n);t.prototype=n;var i=new t;return t.prototype=void 0,i}})();return nt=r,nt}var tt,Xo;function $l(){if(Xo)return tt;Xo=1;var e=Wl(),a=tr(),r=nr();function t(n){return typeof n.constructor=="function"&&!r(n)?e(a(n)):{}}return tt=t,tt}var at,Zo;function np(){if(Zo)return at;Zo=1;var e=Pe(),a=pe(),r="[object Map]";function t(n){return a(n)&&e(n)==r}return at=t,at}var it,Jo;function tp(){if(Jo)return it;Jo=1;var e=np(),a=rr(),r=Ms(),t=r&&r.isMap,n=t?a(t):e;return it=n,it}var st,Qo;function ap(){if(Qo)return st;Qo=1;var e=Pe(),a=pe(),r="[object Set]";function t(n){return a(n)&&e(n)==r}return st=t,st}var ut,ef;function ip(){if(ef)return ut;ef=1;var e=ap(),a=rr(),r=Ms(),t=r&&r.isSet,n=t?a(t):e;return ut=n,ut}var ot,rf;function Yl(){if(rf)return ot;rf=1;var e=Ze(),a=ks(),r=Qe(),t=Bv(),n=Hv(),i=Ml(),u=Fl(),s=Vv(),o=Kv(),c=zl(),f=Wv(),d=Pe(),l=Zv(),h=rp(),y=$l(),_=X(),v=je(),g=tp(),p=oe(),b=ip(),m=we(),q=Ae(),x=1,w=2,A=4,I="[object Arguments]",T="[object Array]",O="[object Boolean]",P="[object Date]",L="[object Error]",B="[object Function]",F="[object GeneratorFunction]",V="[object Map]",te="[object Number]",ae="[object Object]",ve="[object RegExp]",ge="[object Set]",_e="[object String]",ce="[object Symbol]",ie="[object WeakMap]",R="[object ArrayBuffer]",C="[object DataView]",N="[object Float32Array]",S="[object Float64Array]",U="[object Int8Array]",H="[object Int16Array]",K="[object Int32Array]",Q="[object Uint8Array]",de="[object Uint8ClampedArray]",G="[object Uint16Array]",M="[object Uint32Array]",D={};D[I]=D[T]=D[R]=D[C]=D[O]=D[P]=D[N]=D[S]=D[U]=D[H]=D[K]=D[V]=D[te]=D[ae]=D[ve]=D[ge]=D[_e]=D[ce]=D[Q]=D[de]=D[G]=D[M]=!0,D[L]=D[B]=D[ie]=!1;function Y(k,ee,Z,Re,qe,ue){var J,Ee=ee&x,j=ee&w,W=ee&A;if(Z&&(J=qe?Z(k,Re,qe,ue):Z(k)),J!==void 0)return J;if(!p(k))return k;var re=_(k);if(re){if(J=l(k),!Ee)return u(k,J)}else{var se=d(k),Ce=se==B||se==F;if(v(k))return i(k,Ee);if(se==ae||se==I||Ce&&!qe){if(J=j||Ce?{}:y(k),!Ee)return j?o(k,n(J,k)):s(k,t(J,k))}else{if(!D[se])return qe?k:{};J=h(k,se,Ee)}}ue||(ue=new e);var He=ue.get(k);if(He)return He;ue.set(k,J),b(k)?k.forEach(function(be){J.add(Y(be,ee,Z,be,k,ue))}):g(k)&&k.forEach(function(be,xe){J.set(xe,Y(be,ee,Z,xe,k,ue))});var cr=W?j?f:c:j?q:m,dr=re?void 0:cr(k);return a(dr||k,function(be,xe){dr&&(xe=be,be=k[xe]),r(J,xe,Y(be,ee,Z,xe,k,ue))}),J}return ot=Y,ot}var ft,nf;function sp(){if(nf)return ft;nf=1;var e=Yl(),a=4;function r(t){return e(t,a)}return ft=r,ft}var ct,tf;function Us(){if(tf)return ct;tf=1;function e(a){return function(){return a}}return ct=e,ct}var dt,af;function up(){if(af)return dt;af=1;function e(a){return function(r,t,n){for(var i=-1,u=Object(r),s=n(r),o=s.length;o--;){var c=s[a?o:++i];if(t(u[c],c,u)===!1)break}return r}}return dt=e,dt}var lt,sf;function zs(){if(sf)return lt;sf=1;var e=up(),a=e();return lt=a,lt}var ht,uf;function Hs(){if(uf)return ht;uf=1;var e=zs(),a=we();function r(t,n){return t&&e(t,n,a)}return ht=r,ht}var vt,of;function op(){if(of)return vt;of=1;var e=me();function a(r,t){return function(n,i){if(n==null)return n;if(!e(n))return r(n,i);for(var u=n.length,s=t?u:-1,o=Object(n);(t?s--:++s<u)&&i(o[s],s,o)!==!1;);return n}}return vt=a,vt}var pt,ff;function ar(){if(ff)return pt;ff=1;var e=Hs(),a=op(),r=a(e);return pt=r,pt}var gt,cf;function Te(){if(cf)return gt;cf=1;function e(a){return a}return gt=e,gt}var _t,df;function Xl(){if(df)return _t;df=1;var e=Te();function a(r){return typeof r=="function"?r:e}return _t=a,_t}var bt,lf;function Zl(){if(lf)return bt;lf=1;var e=ks(),a=ar(),r=Xl(),t=X();function n(i,u){var s=t(i)?e:a;return s(i,r(u))}return bt=n,bt}var mt,hf;function Jl(){return hf||(hf=1,mt=Zl()),mt}var yt,vf;function fp(){if(vf)return yt;vf=1;var e=ar();function a(r,t){var n=[];return e(r,function(i,u,s){t(i,u,s)&&n.push(i)}),n}return yt=a,yt}var qt,pf;function cp(){if(pf)return qt;pf=1;var e="__lodash_hash_undefined__";function a(r){return this.__data__.set(r,e),this}return qt=a,qt}var xt,gf;function dp(){if(gf)return xt;gf=1;function e(a){return this.__data__.has(a)}return xt=e,xt}var wt,_f;function Ql(){if(_f)return wt;_f=1;var e=Ps(),a=cp(),r=dp();function t(n){var i=-1,u=n==null?0:n.length;for(this.__data__=new e;++i<u;)this.add(n[i])}return t.prototype.add=t.prototype.push=a,t.prototype.has=r,wt=t,wt}var Rt,bf;function lp(){if(bf)return Rt;bf=1;function e(a,r){for(var t=-1,n=a==null?0:a.length;++t<n;)if(r(a[t],t,a))return!0;return!1}return Rt=e,Rt}var Et,mf;function eh(){if(mf)return Et;mf=1;function e(a,r){return a.has(r)}return Et=e,Et}var Ct,yf;function rh(){if(yf)return Ct;yf=1;var e=Ql(),a=lp(),r=eh(),t=1,n=2;function i(u,s,o,c,f,d){var l=o&t,h=u.length,y=s.length;if(h!=y&&!(l&&y>h))return!1;var _=d.get(u),v=d.get(s);if(_&&v)return _==s&&v==u;var g=-1,p=!0,b=o&n?new e:void 0;for(d.set(u,s),d.set(s,u);++g<h;){var m=u[g],q=s[g];if(c)var x=l?c(q,m,g,s,u,d):c(m,q,g,u,s,d);if(x!==void 0){if(x)continue;p=!1;break}if(b){if(!a(s,function(w,A){if(!r(b,A)&&(m===w||f(m,w,o,c,d)))return b.push(A)})){p=!1;break}}else if(!(m===q||f(m,q,o,c,d))){p=!1;break}}return d.delete(u),d.delete(s),p}return Ct=i,Ct}var St,qf;function hp(){if(qf)return St;qf=1;function e(a){var r=-1,t=Array(a.size);return a.forEach(function(n,i){t[++r]=[i,n]}),t}return St=e,St}var It,xf;function Vs(){if(xf)return It;xf=1;function e(a){var r=-1,t=Array(a.size);return a.forEach(function(n){t[++r]=n}),t}return It=e,It}var At,wf;function vp(){if(wf)return At;wf=1;var e=Ne(),a=Vl(),r=Oe(),t=rh(),n=hp(),i=Vs(),u=1,s=2,o="[object Boolean]",c="[object Date]",f="[object Error]",d="[object Map]",l="[object Number]",h="[object RegExp]",y="[object Set]",_="[object String]",v="[object Symbol]",g="[object ArrayBuffer]",p="[object DataView]",b=e?e.prototype:void 0,m=b?b.valueOf:void 0;function q(x,w,A,I,T,O,P){switch(A){case p:if(x.byteLength!=w.byteLength||x.byteOffset!=w.byteOffset)return!1;x=x.buffer,w=w.buffer;case g:return!(x.byteLength!=w.byteLength||!O(new a(x),new a(w)));case o:case c:case l:return r(+x,+w);case f:return x.name==w.name&&x.message==w.message;case h:case _:return x==w+"";case d:var L=n;case y:var B=I&u;if(L||(L=i),x.size!=w.size&&!B)return!1;var F=P.get(x);if(F)return F==w;I|=s,P.set(x,w);var V=t(L(x),L(w),I,T,O,P);return P.delete(x),V;case v:if(m)return m.call(x)==m.call(w)}return!1}return At=q,At}var Tt,Rf;function pp(){if(Rf)return Tt;Rf=1;var e=zl(),a=1,r=Object.prototype,t=r.hasOwnProperty;function n(i,u,s,o,c,f){var d=s&a,l=e(i),h=l.length,y=e(u),_=y.length;if(h!=_&&!d)return!1;for(var v=h;v--;){var g=l[v];if(!(d?g in u:t.call(u,g)))return!1}var p=f.get(i),b=f.get(u);if(p&&b)return p==u&&b==i;var m=!0;f.set(i,u),f.set(u,i);for(var q=d;++v<h;){g=l[v];var x=i[g],w=u[g];if(o)var A=d?o(w,x,g,u,i,f):o(x,w,g,i,u,f);if(!(A===void 0?x===w||c(x,w,s,o,f):A)){m=!1;break}q||(q=g=="constructor")}if(m&&!q){var I=i.constructor,T=u.constructor;I!=T&&"constructor"in i&&"constructor"in u&&!(typeof I=="function"&&I instanceof I&&typeof T=="function"&&T instanceof T)&&(m=!1)}return f.delete(i),f.delete(u),m}return Tt=n,Tt}var Ot,Ef;function gp(){if(Ef)return Ot;Ef=1;var e=Ze(),a=rh(),r=vp(),t=pp(),n=Pe(),i=X(),u=je(),s=Ue(),o=1,c="[object Arguments]",f="[object Array]",d="[object Object]",l=Object.prototype,h=l.hasOwnProperty;function y(_,v,g,p,b,m){var q=i(_),x=i(v),w=q?f:n(_),A=x?f:n(v);w=w==c?d:w,A=A==c?d:A;var I=w==d,T=A==d,O=w==A;if(O&&u(_)){if(!u(v))return!1;q=!0,I=!1}if(O&&!I)return m||(m=new e),q||s(_)?a(_,v,g,p,b,m):r(_,v,w,g,p,b,m);if(!(g&o)){var P=I&&h.call(_,"__wrapped__"),L=T&&h.call(v,"__wrapped__");if(P||L){var B=P?_.value():_,F=L?v.value():v;return m||(m=new e),b(B,F,g,p,m)}}return O?(m||(m=new e),t(_,v,g,p,b,m)):!1}return Ot=y,Ot}var Nt,Cf;function nh(){if(Cf)return Nt;Cf=1;var e=gp(),a=pe();function r(t,n,i,u,s){return t===n?!0:t==null||n==null||!a(t)&&!a(n)?t!==t&&n!==n:e(t,n,i,u,r,s)}return Nt=r,Nt}var jt,Sf;function _p(){if(Sf)return jt;Sf=1;var e=Ze(),a=nh(),r=1,t=2;function n(i,u,s,o){var c=s.length,f=c,d=!o;if(i==null)return!f;for(i=Object(i);c--;){var l=s[c];if(d&&l[2]?l[1]!==i[l[0]]:!(l[0]in i))return!1}for(;++c<f;){l=s[c];var h=l[0],y=i[h],_=l[1];if(d&&l[2]){if(y===void 0&&!(h in i))return!1}else{var v=new e;if(o)var g=o(y,_,h,i,u,v);if(!(g===void 0?a(_,y,r|t,o,v):g))return!1}}return!0}return jt=n,jt}var Pt,If;function th(){if(If)return Pt;If=1;var e=oe();function a(r){return r===r&&!e(r)}return Pt=a,Pt}var kt,Af;function bp(){if(Af)return kt;Af=1;var e=th(),a=we();function r(t){for(var n=a(t),i=n.length;i--;){var u=n[i],s=t[u];n[i]=[u,s,e(s)]}return n}return kt=r,kt}var Lt,Tf;function ah(){if(Tf)return Lt;Tf=1;function e(a,r){return function(t){return t==null?!1:t[a]===r&&(r!==void 0||a in Object(t))}}return Lt=e,Lt}var Mt,Of;function mp(){if(Of)return Mt;Of=1;var e=_p(),a=bp(),r=ah();function t(n){var i=a(n);return i.length==1&&i[0][2]?r(i[0][0],i[0][1]):function(u){return u===n||e(u,n,i)}}return Mt=t,Mt}var Ft,Nf;function ke(){if(Nf)return Ft;Nf=1;var e=Se(),a=pe(),r="[object Symbol]";function t(n){return typeof n=="symbol"||a(n)&&e(n)==r}return Ft=t,Ft}var Dt,jf;function Ks(){if(jf)return Dt;jf=1;var e=X(),a=ke(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,t=/^\w*$/;function n(i,u){if(e(i))return!1;var s=typeof i;return s=="number"||s=="symbol"||s=="boolean"||i==null||a(i)?!0:t.test(i)||!r.test(i)||u!=null&&i in Object(u)}return Dt=n,Dt}var Gt,Pf;function yp(){if(Pf)return Gt;Pf=1;var e=Ps(),a="Expected a function";function r(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new TypeError(a);var i=function(){var u=arguments,s=n?n.apply(this,u):u[0],o=i.cache;if(o.has(s))return o.get(s);var c=t.apply(this,u);return i.cache=o.set(s,c)||o,c};return i.cache=new(r.Cache||e),i}return r.Cache=e,Gt=r,Gt}var Bt,kf;function qp(){if(kf)return Bt;kf=1;var e=yp(),a=500;function r(t){var n=e(t,function(u){return i.size===a&&i.clear(),u}),i=n.cache;return n}return Bt=r,Bt}var Ut,Lf;function xp(){if(Lf)return Ut;Lf=1;var e=qp(),a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,t=e(function(n){var i=[];return n.charCodeAt(0)===46&&i.push(""),n.replace(a,function(u,s,o,c){i.push(o?c.replace(r,"$1"):s||u)}),i});return Ut=t,Ut}var zt,Mf;function ir(){if(Mf)return zt;Mf=1;function e(a,r){for(var t=-1,n=a==null?0:a.length,i=Array(n);++t<n;)i[t]=r(a[t],t,a);return i}return zt=e,zt}var Ht,Ff;function wp(){if(Ff)return Ht;Ff=1;var e=Ne(),a=ir(),r=X(),t=ke(),n=e?e.prototype:void 0,i=n?n.toString:void 0;function u(s){if(typeof s=="string")return s;if(r(s))return a(s,u)+"";if(t(s))return i?i.call(s):"";var o=s+"";return o=="0"&&1/s==-1/0?"-0":o}return Ht=u,Ht}var Vt,Df;function ih(){if(Df)return Vt;Df=1;var e=wp();function a(r){return r==null?"":e(r)}return Vt=a,Vt}var Kt,Gf;function sr(){if(Gf)return Kt;Gf=1;var e=X(),a=Ks(),r=xp(),t=ih();function n(i,u){return e(i)?i:a(i,u)?[i]:r(t(i))}return Kt=n,Kt}var Wt,Bf;function ze(){if(Bf)return Wt;Bf=1;var e=ke();function a(r){if(typeof r=="string"||e(r))return r;var t=r+"";return t=="0"&&1/r==-1/0?"-0":t}return Wt=a,Wt}var $t,Uf;function ur(){if(Uf)return $t;Uf=1;var e=sr(),a=ze();function r(t,n){n=e(n,t);for(var i=0,u=n.length;t!=null&&i<u;)t=t[a(n[i++])];return i&&i==u?t:void 0}return $t=r,$t}var Yt,zf;function Rp(){if(zf)return Yt;zf=1;var e=ur();function a(r,t,n){var i=r==null?void 0:e(r,t);return i===void 0?n:i}return Yt=a,Yt}var Xt,Hf;function Ep(){if(Hf)return Xt;Hf=1;function e(a,r){return a!=null&&r in Object(a)}return Xt=e,Xt}var Zt,Vf;function sh(){if(Vf)return Zt;Vf=1;var e=sr(),a=Be(),r=X(),t=er(),n=Ls(),i=ze();function u(s,o,c){o=e(o,s);for(var f=-1,d=o.length,l=!1;++f<d;){var h=i(o[f]);if(!(l=s!=null&&c(s,h)))break;s=s[h]}return l||++f!=d?l:(d=s==null?0:s.length,!!d&&n(d)&&t(h,d)&&(r(s)||a(s)))}return Zt=u,Zt}var Jt,Kf;function uh(){if(Kf)return Jt;Kf=1;var e=Ep(),a=sh();function r(t,n){return t!=null&&a(t,n,e)}return Jt=r,Jt}var Qt,Wf;function Cp(){if(Wf)return Qt;Wf=1;var e=nh(),a=Rp(),r=uh(),t=Ks(),n=th(),i=ah(),u=ze(),s=1,o=2;function c(f,d){return t(f)&&n(d)?i(u(f),d):function(l){var h=a(l,f);return h===void 0&&h===d?r(l,f):e(d,h,s|o)}}return Qt=c,Qt}var ea,$f;function oh(){if($f)return ea;$f=1;function e(a){return function(r){return r==null?void 0:r[a]}}return ea=e,ea}var ra,Yf;function Sp(){if(Yf)return ra;Yf=1;var e=ur();function a(r){return function(t){return e(t,r)}}return ra=a,ra}var na,Xf;function Ip(){if(Xf)return na;Xf=1;var e=oh(),a=Sp(),r=Ks(),t=ze();function n(i){return r(i)?e(t(i)):a(i)}return na=n,na}var ta,Zf;function ye(){if(Zf)return ta;Zf=1;var e=mp(),a=Cp(),r=Te(),t=X(),n=Ip();function i(u){return typeof u=="function"?u:u==null?r:typeof u=="object"?t(u)?a(u[0],u[1]):e(u):n(u)}return ta=i,ta}var aa,Jf;function fh(){if(Jf)return aa;Jf=1;var e=Dl(),a=fp(),r=ye(),t=X();function n(i,u){var s=t(i)?e:a;return s(i,r(u,3))}return aa=n,aa}var ia,Qf;function Ap(){if(Qf)return ia;Qf=1;var e=Object.prototype,a=e.hasOwnProperty;function r(t,n){return t!=null&&a.call(t,n)}return ia=r,ia}var sa,ec;function ch(){if(ec)return sa;ec=1;var e=Ap(),a=sh();function r(t,n){return t!=null&&a(t,n,e)}return sa=r,sa}var ua,rc;function Tp(){if(rc)return ua;rc=1;var e=Fs(),a=Pe(),r=Be(),t=X(),n=me(),i=je(),u=nr(),s=Ue(),o="[object Map]",c="[object Set]",f=Object.prototype,d=f.hasOwnProperty;function l(h){if(h==null)return!0;if(n(h)&&(t(h)||typeof h=="string"||typeof h.splice=="function"||i(h)||s(h)||r(h)))return!h.length;var y=a(h);if(y==o||y==c)return!h.size;if(u(h))return!e(h).length;for(var _ in h)if(d.call(h,_))return!1;return!0}return ua=l,ua}var oa,nc;function dh(){if(nc)return oa;nc=1;function e(a){return a===void 0}return oa=e,oa}var fa,tc;function lh(){if(tc)return fa;tc=1;var e=ar(),a=me();function r(t,n){var i=-1,u=a(t)?Array(t.length):[];return e(t,function(s,o,c){u[++i]=n(s,o,c)}),u}return fa=r,fa}var ca,ac;function hh(){if(ac)return ca;ac=1;var e=ir(),a=ye(),r=lh(),t=X();function n(i,u){var s=t(i)?e:r;return s(i,a(u,3))}return ca=n,ca}var da,ic;function Op(){if(ic)return da;ic=1;function e(a,r,t,n){var i=-1,u=a==null?0:a.length;for(n&&u&&(t=a[++i]);++i<u;)t=r(t,a[i],i,a);return t}return da=e,da}var la,sc;function Np(){if(sc)return la;sc=1;function e(a,r,t,n,i){return i(a,function(u,s,o){t=n?(n=!1,u):r(t,u,s,o)}),t}return la=e,la}var ha,uc;function vh(){if(uc)return ha;uc=1;var e=Op(),a=ar(),r=ye(),t=Np(),n=X();function i(u,s,o){var c=n(u)?e:t,f=arguments.length<3;return c(u,r(s,4),o,f,a)}return ha=i,ha}var va,oc;function jp(){if(oc)return va;oc=1;var e=Se(),a=X(),r=pe(),t="[object String]";function n(i){return typeof i=="string"||!a(i)&&r(i)&&e(i)==t}return va=n,va}var pa,fc;function Pp(){if(fc)return pa;fc=1;var e=oh(),a=e("length");return pa=a,pa}var ga,cc;function kp(){if(cc)return ga;cc=1;var e="\\ud800-\\udfff",a="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",t="\\u20d0-\\u20ff",n=a+r+t,i="\\ufe0e\\ufe0f",u="\\u200d",s=RegExp("["+u+e+n+i+"]");function o(c){return s.test(c)}return ga=o,ga}var _a,dc;function Lp(){if(dc)return _a;dc=1;var e="\\ud800-\\udfff",a="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",t="\\u20d0-\\u20ff",n=a+r+t,i="\\ufe0e\\ufe0f",u="["+e+"]",s="["+n+"]",o="\\ud83c[\\udffb-\\udfff]",c="(?:"+s+"|"+o+")",f="[^"+e+"]",d="(?:\\ud83c[\\udde6-\\uddff]){2}",l="[\\ud800-\\udbff][\\udc00-\\udfff]",h="\\u200d",y=c+"?",_="["+i+"]?",v="(?:"+h+"(?:"+[f,d,l].join("|")+")"+_+y+")*",g=_+y+v,p="(?:"+[f+s+"?",s,d,l,u].join("|")+")",b=RegExp(o+"(?="+o+")|"+p+g,"g");function m(q){for(var x=b.lastIndex=0;b.test(q);)++x;return x}return _a=m,_a}var ba,lc;function Mp(){if(lc)return ba;lc=1;var e=Pp(),a=kp(),r=Lp();function t(n){return a(n)?r(n):e(n)}return ba=t,ba}var ma,hc;function Fp(){if(hc)return ma;hc=1;var e=Fs(),a=Pe(),r=me(),t=jp(),n=Mp(),i="[object Map]",u="[object Set]";function s(o){if(o==null)return 0;if(r(o))return t(o)?n(o):o.length;var c=a(o);return c==i||c==u?o.size:e(o).length}return ma=s,ma}var ya,vc;function Dp(){if(vc)return ya;vc=1;var e=ks(),a=Wl(),r=Hs(),t=ye(),n=tr(),i=X(),u=je(),s=De(),o=oe(),c=Ue();function f(d,l,h){var y=i(d),_=y||u(d)||c(d);if(l=t(l,4),h==null){var v=d&&d.constructor;_?h=y?new v:[]:o(d)?h=s(v)?a(n(d)):{}:h={}}return(_?e:r)(d,function(g,p,b){return l(h,g,p,b)}),h}return ya=f,ya}var qa,pc;function Gp(){if(pc)return qa;pc=1;var e=Ne(),a=Be(),r=X(),t=e?e.isConcatSpreadable:void 0;function n(i){return r(i)||a(i)||!!(t&&i&&i[t])}return qa=n,qa}var xa,gc;function Ws(){if(gc)return xa;gc=1;var e=Gs(),a=Gp();function r(t,n,i,u,s){var o=-1,c=t.length;for(i||(i=a),s||(s=[]);++o<c;){var f=t[o];n>0&&i(f)?n>1?r(f,n-1,i,u,s):e(s,f):u||(s[s.length]=f)}return s}return xa=r,xa}var wa,_c;function Bp(){if(_c)return wa;_c=1;function e(a,r,t){switch(t.length){case 0:return a.call(r);case 1:return a.call(r,t[0]);case 2:return a.call(r,t[0],t[1]);case 3:return a.call(r,t[0],t[1],t[2])}return a.apply(r,t)}return wa=e,wa}var Ra,bc;function ph(){if(bc)return Ra;bc=1;var e=Bp(),a=Math.max;function r(t,n,i){return n=a(n===void 0?t.length-1:n,0),function(){for(var u=arguments,s=-1,o=a(u.length-n,0),c=Array(o);++s<o;)c[s]=u[n+s];s=-1;for(var f=Array(n+1);++s<n;)f[s]=u[s];return f[n]=i(c),e(t,this,f)}}return Ra=r,Ra}var Ea,mc;function Up(){if(mc)return Ea;mc=1;var e=Us(),a=Pl(),r=Te(),t=a?function(n,i){return a(n,"toString",{configurable:!0,enumerable:!1,value:e(i),writable:!0})}:r;return Ea=t,Ea}var Ca,yc;function zp(){if(yc)return Ca;yc=1;var e=800,a=16,r=Date.now;function t(n){var i=0,u=0;return function(){var s=r(),o=a-(s-u);if(u=s,o>0){if(++i>=e)return arguments[0]}else i=0;return n.apply(void 0,arguments)}}return Ca=t,Ca}var Sa,qc;function gh(){if(qc)return Sa;qc=1;var e=Up(),a=zp(),r=a(e);return Sa=r,Sa}var Ia,xc;function or(){if(xc)return Ia;xc=1;var e=Te(),a=ph(),r=gh();function t(n,i){return r(a(n,i,e),n+"")}return Ia=t,Ia}var Aa,wc;function _h(){if(wc)return Aa;wc=1;function e(a,r,t,n){for(var i=a.length,u=t+(n?1:-1);n?u--:++u<i;)if(r(a[u],u,a))return u;return-1}return Aa=e,Aa}var Ta,Rc;function Hp(){if(Rc)return Ta;Rc=1;function e(a){return a!==a}return Ta=e,Ta}var Oa,Ec;function Vp(){if(Ec)return Oa;Ec=1;function e(a,r,t){for(var n=t-1,i=a.length;++n<i;)if(a[n]===r)return n;return-1}return Oa=e,Oa}var Na,Cc;function Kp(){if(Cc)return Na;Cc=1;var e=_h(),a=Hp(),r=Vp();function t(n,i,u){return i===i?r(n,i,u):e(n,a,u)}return Na=t,Na}var ja,Sc;function Wp(){if(Sc)return ja;Sc=1;var e=Kp();function a(r,t){var n=r==null?0:r.length;return!!n&&e(r,t,0)>-1}return ja=a,ja}var Pa,Ic;function $p(){if(Ic)return Pa;Ic=1;function e(a,r,t){for(var n=-1,i=a==null?0:a.length;++n<i;)if(t(r,a[n]))return!0;return!1}return Pa=e,Pa}var ka,Ac;function Yp(){if(Ac)return ka;Ac=1;function e(){}return ka=e,ka}var La,Tc;function Xp(){if(Tc)return La;Tc=1;var e=Hl(),a=Yp(),r=Vs(),t=1/0,n=e&&1/r(new e([,-0]))[1]==t?function(i){return new e(i)}:a;return La=n,La}var Ma,Oc;function Zp(){if(Oc)return Ma;Oc=1;var e=Ql(),a=Wp(),r=$p(),t=eh(),n=Xp(),i=Vs(),u=200;function s(o,c,f){var d=-1,l=a,h=o.length,y=!0,_=[],v=_;if(f)y=!1,l=r;else if(h>=u){var g=c?null:n(o);if(g)return i(g);y=!1,l=t,v=new e}else v=c?[]:_;e:for(;++d<h;){var p=o[d],b=c?c(p):p;if(p=f||p!==0?p:0,y&&b===b){for(var m=v.length;m--;)if(v[m]===b)continue e;c&&v.push(b),_.push(p)}else l(v,b,f)||(v!==_&&v.push(b),_.push(p))}return _}return Ma=s,Ma}var Fa,Nc;function bh(){if(Nc)return Fa;Nc=1;var e=me(),a=pe();function r(t){return a(t)&&e(t)}return Fa=r,Fa}var Da,jc;function Jp(){if(jc)return Da;jc=1;var e=Ws(),a=or(),r=Zp(),t=bh(),n=a(function(i){return r(e(i,1,t,!0))});return Da=n,Da}var Ga,Pc;function Qp(){if(Pc)return Ga;Pc=1;var e=ir();function a(r,t){return e(t,function(n){return r[n]})}return Ga=a,Ga}var Ba,kc;function mh(){if(kc)return Ba;kc=1;var e=Qp(),a=we();function r(t){return t==null?[]:e(t,a(t))}return Ba=r,Ba}var Ua,Lc;function fe(){if(Lc)return Ua;Lc=1;var e;if(typeof Ns=="function")try{e={clone:sp(),constant:Us(),each:Jl(),filter:fh(),has:ch(),isArray:X(),isEmpty:Tp(),isFunction:De(),isUndefined:dh(),keys:we(),map:hh(),reduce:vh(),size:Fp(),transform:Dp(),union:Jp(),values:mh()}}catch{}return e||(e=window._),Ua=e,Ua}var za,Mc;function $s(){if(Mc)return za;Mc=1;var e=fe();za=n;var a="\0",r="\0",t="";function n(f){this._isDirected=e.has(f,"directed")?f.directed:!0,this._isMultigraph=e.has(f,"multigraph")?f.multigraph:!1,this._isCompound=e.has(f,"compound")?f.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}n.prototype._nodeCount=0,n.prototype._edgeCount=0,n.prototype.isDirected=function(){return this._isDirected},n.prototype.isMultigraph=function(){return this._isMultigraph},n.prototype.isCompound=function(){return this._isCompound},n.prototype.setGraph=function(f){return this._label=f,this},n.prototype.graph=function(){return this._label},n.prototype.setDefaultNodeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultNodeLabelFn=f,this},n.prototype.nodeCount=function(){return this._nodeCount},n.prototype.nodes=function(){return e.keys(this._nodes)},n.prototype.sources=function(){var f=this;return e.filter(this.nodes(),function(d){return e.isEmpty(f._in[d])})},n.prototype.sinks=function(){var f=this;return e.filter(this.nodes(),function(d){return e.isEmpty(f._out[d])})},n.prototype.setNodes=function(f,d){var l=arguments,h=this;return e.each(f,function(y){l.length>1?h.setNode(y,d):h.setNode(y)}),this},n.prototype.setNode=function(f,d){return e.has(this._nodes,f)?(arguments.length>1&&(this._nodes[f]=d),this):(this._nodes[f]=arguments.length>1?d:this._defaultNodeLabelFn(f),this._isCompound&&(this._parent[f]=r,this._children[f]={},this._children[r][f]=!0),this._in[f]={},this._preds[f]={},this._out[f]={},this._sucs[f]={},++this._nodeCount,this)},n.prototype.node=function(f){return this._nodes[f]},n.prototype.hasNode=function(f){return e.has(this._nodes,f)},n.prototype.removeNode=function(f){var d=this;if(e.has(this._nodes,f)){var l=function(h){d.removeEdge(d._edgeObjs[h])};delete this._nodes[f],this._isCompound&&(this._removeFromParentsChildList(f),delete this._parent[f],e.each(this.children(f),function(h){d.setParent(h)}),delete this._children[f]),e.each(e.keys(this._in[f]),l),delete this._in[f],delete this._preds[f],e.each(e.keys(this._out[f]),l),delete this._out[f],delete this._sucs[f],--this._nodeCount}return this},n.prototype.setParent=function(f,d){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(d))d=r;else{d+="";for(var l=d;!e.isUndefined(l);l=this.parent(l))if(l===f)throw new Error("Setting "+d+" as parent of "+f+" would create a cycle");this.setNode(d)}return this.setNode(f),this._removeFromParentsChildList(f),this._parent[f]=d,this._children[d][f]=!0,this},n.prototype._removeFromParentsChildList=function(f){delete this._children[this._parent[f]][f]},n.prototype.parent=function(f){if(this._isCompound){var d=this._parent[f];if(d!==r)return d}},n.prototype.children=function(f){if(e.isUndefined(f)&&(f=r),this._isCompound){var d=this._children[f];if(d)return e.keys(d)}else{if(f===r)return this.nodes();if(this.hasNode(f))return[]}},n.prototype.predecessors=function(f){var d=this._preds[f];if(d)return e.keys(d)},n.prototype.successors=function(f){var d=this._sucs[f];if(d)return e.keys(d)},n.prototype.neighbors=function(f){var d=this.predecessors(f);if(d)return e.union(d,this.successors(f))},n.prototype.isLeaf=function(f){var d;return this.isDirected()?d=this.successors(f):d=this.neighbors(f),d.length===0},n.prototype.filterNodes=function(f){var d=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});d.setGraph(this.graph());var l=this;e.each(this._nodes,function(_,v){f(v)&&d.setNode(v,_)}),e.each(this._edgeObjs,function(_){d.hasNode(_.v)&&d.hasNode(_.w)&&d.setEdge(_,l.edge(_))});var h={};function y(_){var v=l.parent(_);return v===void 0||d.hasNode(v)?(h[_]=v,v):v in h?h[v]:y(v)}return this._isCompound&&e.each(d.nodes(),function(_){d.setParent(_,y(_))}),d},n.prototype.setDefaultEdgeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultEdgeLabelFn=f,this},n.prototype.edgeCount=function(){return this._edgeCount},n.prototype.edges=function(){return e.values(this._edgeObjs)},n.prototype.setPath=function(f,d){var l=this,h=arguments;return e.reduce(f,function(y,_){return h.length>1?l.setEdge(y,_,d):l.setEdge(y,_),_}),this},n.prototype.setEdge=function(){var f,d,l,h,y=!1,_=arguments[0];typeof _=="object"&&_!==null&&"v"in _?(f=_.v,d=_.w,l=_.name,arguments.length===2&&(h=arguments[1],y=!0)):(f=_,d=arguments[1],l=arguments[3],arguments.length>2&&(h=arguments[2],y=!0)),f=""+f,d=""+d,e.isUndefined(l)||(l=""+l);var v=s(this._isDirected,f,d,l);if(e.has(this._edgeLabels,v))return y&&(this._edgeLabels[v]=h),this;if(!e.isUndefined(l)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(f),this.setNode(d),this._edgeLabels[v]=y?h:this._defaultEdgeLabelFn(f,d,l);var g=o(this._isDirected,f,d,l);return f=g.v,d=g.w,Object.freeze(g),this._edgeObjs[v]=g,i(this._preds[d],f),i(this._sucs[f],d),this._in[d][v]=g,this._out[f][v]=g,this._edgeCount++,this},n.prototype.edge=function(f,d,l){var h=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,f,d,l);return this._edgeLabels[h]},n.prototype.hasEdge=function(f,d,l){var h=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,f,d,l);return e.has(this._edgeLabels,h)},n.prototype.removeEdge=function(f,d,l){var h=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,f,d,l),y=this._edgeObjs[h];return y&&(f=y.v,d=y.w,delete this._edgeLabels[h],delete this._edgeObjs[h],u(this._preds[d],f),u(this._sucs[f],d),delete this._in[d][h],delete this._out[f][h],this._edgeCount--),this},n.prototype.inEdges=function(f,d){var l=this._in[f];if(l){var h=e.values(l);return d?e.filter(h,function(y){return y.v===d}):h}},n.prototype.outEdges=function(f,d){var l=this._out[f];if(l){var h=e.values(l);return d?e.filter(h,function(y){return y.w===d}):h}},n.prototype.nodeEdges=function(f,d){var l=this.inEdges(f,d);if(l)return l.concat(this.outEdges(f,d))};function i(f,d){f[d]?f[d]++:f[d]=1}function u(f,d){--f[d]||delete f[d]}function s(f,d,l,h){var y=""+d,_=""+l;if(!f&&y>_){var v=y;y=_,_=v}return y+t+_+t+(e.isUndefined(h)?a:h)}function o(f,d,l,h){var y=""+d,_=""+l;if(!f&&y>_){var v=y;y=_,_=v}var g={v:y,w:_};return h&&(g.name=h),g}function c(f,d){return s(f,d.v,d.w,d.name)}return za}var Ha,Fc;function eg(){return Fc||(Fc=1,Ha="2.1.8"),Ha}var Va,Dc;function rg(){return Dc||(Dc=1,Va={Graph:$s(),version:eg()}),Va}var Ka,Gc;function ng(){if(Gc)return Ka;Gc=1;var e=fe(),a=$s();Ka={write:r,read:i};function r(u){var s={options:{directed:u.isDirected(),multigraph:u.isMultigraph(),compound:u.isCompound()},nodes:t(u),edges:n(u)};return e.isUndefined(u.graph())||(s.value=e.clone(u.graph())),s}function t(u){return e.map(u.nodes(),function(s){var o=u.node(s),c=u.parent(s),f={v:s};return e.isUndefined(o)||(f.value=o),e.isUndefined(c)||(f.parent=c),f})}function n(u){return e.map(u.edges(),function(s){var o=u.edge(s),c={v:s.v,w:s.w};return e.isUndefined(s.name)||(c.name=s.name),e.isUndefined(o)||(c.value=o),c})}function i(u){var s=new a(u.options).setGraph(u.value);return e.each(u.nodes,function(o){s.setNode(o.v,o.value),o.parent&&s.setParent(o.v,o.parent)}),e.each(u.edges,function(o){s.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),s}return Ka}var Wa,Bc;function tg(){if(Bc)return Wa;Bc=1;var e=fe();Wa=a;function a(r){var t={},n=[],i;function u(s){e.has(t,s)||(t[s]=!0,i.push(s),e.each(r.successors(s),u),e.each(r.predecessors(s),u))}return e.each(r.nodes(),function(s){i=[],u(s),i.length&&n.push(i)}),n}return Wa}var $a,Uc;function yh(){if(Uc)return $a;Uc=1;var e=fe();$a=a;function a(){this._arr=[],this._keyIndices={}}return a.prototype.size=function(){return this._arr.length},a.prototype.keys=function(){return this._arr.map(function(r){return r.key})},a.prototype.has=function(r){return e.has(this._keyIndices,r)},a.prototype.priority=function(r){var t=this._keyIndices[r];if(t!==void 0)return this._arr[t].priority},a.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},a.prototype.add=function(r,t){var n=this._keyIndices;if(r=String(r),!e.has(n,r)){var i=this._arr,u=i.length;return n[r]=u,i.push({key:r,priority:t}),this._decrease(u),!0}return!1},a.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},a.prototype.decrease=function(r,t){var n=this._keyIndices[r];if(t>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[n].priority+" New: "+t);this._arr[n].priority=t,this._decrease(n)},a.prototype._heapify=function(r){var t=this._arr,n=2*r,i=n+1,u=r;n<t.length&&(u=t[n].priority<t[u].priority?n:u,i<t.length&&(u=t[i].priority<t[u].priority?i:u),u!==r&&(this._swap(r,u),this._heapify(u)))},a.prototype._decrease=function(r){for(var t=this._arr,n=t[r].priority,i;r!==0&&(i=r>>1,!(t[i].priority<n));)this._swap(r,i),r=i},a.prototype._swap=function(r,t){var n=this._arr,i=this._keyIndices,u=n[r],s=n[t];n[r]=s,n[t]=u,i[s.key]=r,i[u.key]=t},$a}var Ya,zc;function qh(){if(zc)return Ya;zc=1;var e=fe(),a=yh();Ya=t;var r=e.constant(1);function t(i,u,s,o){return n(i,String(u),s||r,o||function(c){return i.outEdges(c)})}function n(i,u,s,o){var c={},f=new a,d,l,h=function(y){var _=y.v!==d?y.v:y.w,v=c[_],g=s(y),p=l.distance+g;if(g<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+y+" Weight: "+g);p<v.distance&&(v.distance=p,v.predecessor=d,f.decrease(_,p))};for(i.nodes().forEach(function(y){var _=y===u?0:Number.POSITIVE_INFINITY;c[y]={distance:_},f.add(y,_)});f.size()>0&&(d=f.removeMin(),l=c[d],l.distance!==Number.POSITIVE_INFINITY);)o(d).forEach(h);return c}return Ya}var Xa,Hc;function ag(){if(Hc)return Xa;Hc=1;var e=qh(),a=fe();Xa=r;function r(t,n,i){return a.transform(t.nodes(),function(u,s){u[s]=e(t,s,n,i)},{})}return Xa}var Za,Vc;function xh(){if(Vc)return Za;Vc=1;var e=fe();Za=a;function a(r){var t=0,n=[],i={},u=[];function s(o){var c=i[o]={onStack:!0,lowlink:t,index:t++};if(n.push(o),r.successors(o).forEach(function(l){e.has(i,l)?i[l].onStack&&(c.lowlink=Math.min(c.lowlink,i[l].index)):(s(l),c.lowlink=Math.min(c.lowlink,i[l].lowlink))}),c.lowlink===c.index){var f=[],d;do d=n.pop(),i[d].onStack=!1,f.push(d);while(o!==d);u.push(f)}}return r.nodes().forEach(function(o){e.has(i,o)||s(o)}),u}return Za}var Ja,Kc;function ig(){if(Kc)return Ja;Kc=1;var e=fe(),a=xh();Ja=r;function r(t){return e.filter(a(t),function(n){return n.length>1||n.length===1&&t.hasEdge(n[0],n[0])})}return Ja}var Qa,Wc;function sg(){if(Wc)return Qa;Wc=1;var e=fe();Qa=r;var a=e.constant(1);function r(n,i,u){return t(n,i||a,u||function(s){return n.outEdges(s)})}function t(n,i,u){var s={},o=n.nodes();return o.forEach(function(c){s[c]={},s[c][c]={distance:0},o.forEach(function(f){c!==f&&(s[c][f]={distance:Number.POSITIVE_INFINITY})}),u(c).forEach(function(f){var d=f.v===c?f.w:f.v,l=i(f);s[c][d]={distance:l,predecessor:c}})}),o.forEach(function(c){var f=s[c];o.forEach(function(d){var l=s[d];o.forEach(function(h){var y=l[c],_=f[h],v=l[h],g=y.distance+_.distance;g<v.distance&&(v.distance=g,v.predecessor=_.predecessor)})})}),s}return Qa}var ei,$c;function wh(){if($c)return ei;$c=1;var e=fe();ei=a,a.CycleException=r;function a(t){var n={},i={},u=[];function s(o){if(e.has(i,o))throw new r;e.has(n,o)||(i[o]=!0,n[o]=!0,e.each(t.predecessors(o),s),delete i[o],u.push(o))}if(e.each(t.sinks(),s),e.size(n)!==t.nodeCount())throw new r;return u}function r(){}return r.prototype=new Error,ei}var ri,Yc;function ug(){if(Yc)return ri;Yc=1;var e=wh();ri=a;function a(r){try{e(r)}catch(t){if(t instanceof e.CycleException)return!1;throw t}return!0}return ri}var ni,Xc;function Rh(){if(Xc)return ni;Xc=1;var e=fe();ni=a;function a(t,n,i){e.isArray(n)||(n=[n]);var u=(t.isDirected()?t.successors:t.neighbors).bind(t),s=[],o={};return e.each(n,function(c){if(!t.hasNode(c))throw new Error("Graph does not have node: "+c);r(t,c,i==="post",o,u,s)}),s}function r(t,n,i,u,s,o){e.has(u,n)||(u[n]=!0,i||o.push(n),e.each(s(n),function(c){r(t,c,i,u,s,o)}),i&&o.push(n))}return ni}var ti,Zc;function og(){if(Zc)return ti;Zc=1;var e=Rh();ti=a;function a(r,t){return e(r,t,"post")}return ti}var ai,Jc;function fg(){if(Jc)return ai;Jc=1;var e=Rh();ai=a;function a(r,t){return e(r,t,"pre")}return ai}var ii,Qc;function cg(){if(Qc)return ii;Qc=1;var e=fe(),a=$s(),r=yh();ii=t;function t(n,i){var u=new a,s={},o=new r,c;function f(l){var h=l.v===c?l.w:l.v,y=o.priority(h);if(y!==void 0){var _=i(l);_<y&&(s[h]=c,o.decrease(h,_))}}if(n.nodeCount()===0)return u;e.each(n.nodes(),function(l){o.add(l,Number.POSITIVE_INFINITY),u.setNode(l)}),o.decrease(n.nodes()[0],0);for(var d=!1;o.size()>0;){if(c=o.removeMin(),e.has(s,c))u.setEdge(c,s[c]);else{if(d)throw new Error("Input graph is not connected: "+n);d=!0}n.nodeEdges(c).forEach(f)}return u}return ii}var si,ed;function dg(){return ed||(ed=1,si={components:tg(),dijkstra:qh(),dijkstraAll:ag(),findCycles:ig(),floydWarshall:sg(),isAcyclic:ug(),postorder:og(),preorder:fg(),prim:cg(),tarjan:xh(),topsort:wh()}),si}var ui,rd;function lg(){if(rd)return ui;rd=1;var e=rg();return ui={Graph:e.Graph,json:ng(),alg:dg(),version:e.version},ui}var oi,nd;function le(){if(nd)return oi;nd=1;var e;if(typeof Ns=="function")try{e=lg()}catch{}return e||(e=window.graphlib),oi=e,oi}var fi,td;function hg(){if(td)return fi;td=1;var e=Yl(),a=1,r=4;function t(n){return e(n,a|r)}return fi=t,fi}var ci,ad;function fr(){if(ad)return ci;ad=1;var e=Oe(),a=me(),r=er(),t=oe();function n(i,u,s){if(!t(s))return!1;var o=typeof u;return(o=="number"?a(s)&&r(u,s.length):o=="string"&&u in s)?e(s[u],i):!1}return ci=n,ci}var di,id;function vg(){if(id)return di;id=1;var e=or(),a=Oe(),r=fr(),t=Ae(),n=Object.prototype,i=n.hasOwnProperty,u=e(function(s,o){s=Object(s);var c=-1,f=o.length,d=f>2?o[2]:void 0;for(d&&r(o[0],o[1],d)&&(f=1);++c<f;)for(var l=o[c],h=t(l),y=-1,_=h.length;++y<_;){var v=h[y],g=s[v];(g===void 0||a(g,n[v])&&!i.call(s,v))&&(s[v]=l[v])}return s});return di=u,di}var li,sd;function pg(){if(sd)return li;sd=1;var e=ye(),a=me(),r=we();function t(n){return function(i,u,s){var o=Object(i);if(!a(i)){var c=e(u,3);i=r(i),u=function(d){return c(o[d],d,o)}}var f=n(i,u,s);return f>-1?o[c?i[f]:f]:void 0}}return li=t,li}var hi,ud;function gg(){if(ud)return hi;ud=1;var e=/\s/;function a(r){for(var t=r.length;t--&&e.test(r.charAt(t)););return t}return hi=a,hi}var vi,od;function _g(){if(od)return vi;od=1;var e=gg(),a=/^\s+/;function r(t){return t&&t.slice(0,e(t)+1).replace(a,"")}return vi=r,vi}var pi,fd;function bg(){if(fd)return pi;fd=1;var e=_g(),a=oe(),r=ke(),t=NaN,n=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,u=/^0o[0-7]+$/i,s=parseInt;function o(c){if(typeof c=="number")return c;if(r(c))return t;if(a(c)){var f=typeof c.valueOf=="function"?c.valueOf():c;c=a(f)?f+"":f}if(typeof c!="string")return c===0?c:+c;c=e(c);var d=i.test(c);return d||u.test(c)?s(c.slice(2),d?2:8):n.test(c)?t:+c}return pi=o,pi}var gi,cd;function Eh(){if(cd)return gi;cd=1;var e=bg(),a=1/0,r=17976931348623157e292;function t(n){if(!n)return n===0?n:0;if(n=e(n),n===a||n===-a){var i=n<0?-1:1;return i*r}return n===n?n:0}return gi=t,gi}var _i,dd;function mg(){if(dd)return _i;dd=1;var e=Eh();function a(r){var t=e(r),n=t%1;return t===t?n?t-n:t:0}return _i=a,_i}var bi,ld;function yg(){if(ld)return bi;ld=1;var e=_h(),a=ye(),r=mg(),t=Math.max;function n(i,u,s){var o=i==null?0:i.length;if(!o)return-1;var c=s==null?0:r(s);return c<0&&(c=t(o+c,0)),e(i,a(u,3),c)}return bi=n,bi}var mi,hd;function qg(){if(hd)return mi;hd=1;var e=pg(),a=yg(),r=e(a);return mi=r,mi}var yi,vd;function Ch(){if(vd)return yi;vd=1;var e=Ws();function a(r){var t=r==null?0:r.length;return t?e(r,1):[]}return yi=a,yi}var qi,pd;function xg(){if(pd)return qi;pd=1;var e=zs(),a=Xl(),r=Ae();function t(n,i){return n==null?n:e(n,a(i),r)}return qi=t,qi}var xi,gd;function wg(){if(gd)return xi;gd=1;function e(a){var r=a==null?0:a.length;return r?a[r-1]:void 0}return xi=e,xi}var wi,_d;function Rg(){if(_d)return wi;_d=1;var e=Je(),a=Hs(),r=ye();function t(n,i){var u={};return i=r(i,3),a(n,function(s,o,c){e(u,o,i(s,o,c))}),u}return wi=t,wi}var Ri,bd;function Ys(){if(bd)return Ri;bd=1;var e=ke();function a(r,t,n){for(var i=-1,u=r.length;++i<u;){var s=r[i],o=t(s);if(o!=null&&(c===void 0?o===o&&!e(o):n(o,c)))var c=o,f=s}return f}return Ri=a,Ri}var Ei,md;function Eg(){if(md)return Ei;md=1;function e(a,r){return a>r}return Ei=e,Ei}var Ci,yd;function Cg(){if(yd)return Ci;yd=1;var e=Ys(),a=Eg(),r=Te();function t(n){return n&&n.length?e(n,r,a):void 0}return Ci=t,Ci}var Si,qd;function Sh(){if(qd)return Si;qd=1;var e=Je(),a=Oe();function r(t,n,i){(i!==void 0&&!a(t[n],i)||i===void 0&&!(n in t))&&e(t,n,i)}return Si=r,Si}var Ii,xd;function Sg(){if(xd)return Ii;xd=1;var e=Se(),a=tr(),r=pe(),t="[object Object]",n=Function.prototype,i=Object.prototype,u=n.toString,s=i.hasOwnProperty,o=u.call(Object);function c(f){if(!r(f)||e(f)!=t)return!1;var d=a(f);if(d===null)return!0;var l=s.call(d,"constructor")&&d.constructor;return typeof l=="function"&&l instanceof l&&u.call(l)==o}return Ii=c,Ii}var Ai,wd;function Ih(){if(wd)return Ai;wd=1;function e(a,r){if(!(r==="constructor"&&typeof a[r]=="function")&&r!="__proto__")return a[r]}return Ai=e,Ai}var Ti,Rd;function Ig(){if(Rd)return Ti;Rd=1;var e=Ge(),a=Ae();function r(t){return e(t,a(t))}return Ti=r,Ti}var Oi,Ed;function Ag(){if(Ed)return Oi;Ed=1;var e=Sh(),a=Ml(),r=Kl(),t=Fl(),n=$l(),i=Be(),u=X(),s=bh(),o=je(),c=De(),f=oe(),d=Sg(),l=Ue(),h=Ih(),y=Ig();function _(v,g,p,b,m,q,x){var w=h(v,p),A=h(g,p),I=x.get(A);if(I){e(v,p,I);return}var T=q?q(w,A,p+"",v,g,x):void 0,O=T===void 0;if(O){var P=u(A),L=!P&&o(A),B=!P&&!L&&l(A);T=A,P||L||B?u(w)?T=w:s(w)?T=t(w):L?(O=!1,T=a(A,!0)):B?(O=!1,T=r(A,!0)):T=[]:d(A)||i(A)?(T=w,i(w)?T=y(w):(!f(w)||c(w))&&(T=n(A))):O=!1}O&&(x.set(A,T),m(T,A,b,q,x),x.delete(A)),e(v,p,T)}return Oi=_,Oi}var Ni,Cd;function Tg(){if(Cd)return Ni;Cd=1;var e=Ze(),a=Sh(),r=zs(),t=Ag(),n=oe(),i=Ae(),u=Ih();function s(o,c,f,d,l){o!==c&&r(c,function(h,y){if(l||(l=new e),n(h))t(o,c,y,f,s,d,l);else{var _=d?d(u(o,y),h,y+"",o,c,l):void 0;_===void 0&&(_=h),a(o,y,_)}},i)}return Ni=s,Ni}var ji,Sd;function Og(){if(Sd)return ji;Sd=1;var e=or(),a=fr();function r(t){return e(function(n,i){var u=-1,s=i.length,o=s>1?i[s-1]:void 0,c=s>2?i[2]:void 0;for(o=t.length>3&&typeof o=="function"?(s--,o):void 0,c&&a(i[0],i[1],c)&&(o=s<3?void 0:o,s=1),n=Object(n);++u<s;){var f=i[u];f&&t(n,f,u,o)}return n})}return ji=r,ji}var Pi,Id;function Ng(){if(Id)return Pi;Id=1;var e=Tg(),a=Og(),r=a(function(t,n,i){e(t,n,i)});return Pi=r,Pi}var ki,Ad;function Ah(){if(Ad)return ki;Ad=1;function e(a,r){return a<r}return ki=e,ki}var Li,Td;function jg(){if(Td)return Li;Td=1;var e=Ys(),a=Ah(),r=Te();function t(n){return n&&n.length?e(n,r,a):void 0}return Li=t,Li}var Mi,Od;function Pg(){if(Od)return Mi;Od=1;var e=Ys(),a=ye(),r=Ah();function t(n,i){return n&&n.length?e(n,a(i,2),r):void 0}return Mi=t,Mi}var Fi,Nd;function kg(){if(Nd)return Fi;Nd=1;var e=he(),a=function(){return e.Date.now()};return Fi=a,Fi}var Di,jd;function Lg(){if(jd)return Di;jd=1;var e=Qe(),a=sr(),r=er(),t=oe(),n=ze();function i(u,s,o,c){if(!t(u))return u;s=a(s,u);for(var f=-1,d=s.length,l=d-1,h=u;h!=null&&++f<d;){var y=n(s[f]),_=o;if(y==="__proto__"||y==="constructor"||y==="prototype")return u;if(f!=l){var v=h[y];_=c?c(v,y,h):void 0,_===void 0&&(_=t(v)?v:r(s[f+1])?[]:{})}e(h,y,_),h=h[y]}return u}return Di=i,Di}var Gi,Pd;function Mg(){if(Pd)return Gi;Pd=1;var e=ur(),a=Lg(),r=sr();function t(n,i,u){for(var s=-1,o=i.length,c={};++s<o;){var f=i[s],d=e(n,f);u(d,f)&&a(c,r(f,n),d)}return c}return Gi=t,Gi}var Bi,kd;function Fg(){if(kd)return Bi;kd=1;var e=Mg(),a=uh();function r(t,n){return e(t,n,function(i,u){return a(t,u)})}return Bi=r,Bi}var Ui,Ld;function Dg(){if(Ld)return Ui;Ld=1;var e=Ch(),a=ph(),r=gh();function t(n){return r(a(n,void 0,e),n+"")}return Ui=t,Ui}var zi,Md;function Gg(){if(Md)return zi;Md=1;var e=Fg(),a=Dg(),r=a(function(t,n){return t==null?{}:e(t,n)});return zi=r,zi}var Hi,Fd;function Bg(){if(Fd)return Hi;Fd=1;var e=Math.ceil,a=Math.max;function r(t,n,i,u){for(var s=-1,o=a(e((n-t)/(i||1)),0),c=Array(o);o--;)c[u?o:++s]=t,t+=i;return c}return Hi=r,Hi}var Vi,Dd;function Ug(){if(Dd)return Vi;Dd=1;var e=Bg(),a=fr(),r=Eh();function t(n){return function(i,u,s){return s&&typeof s!="number"&&a(i,u,s)&&(u=s=void 0),i=r(i),u===void 0?(u=i,i=0):u=r(u),s=s===void 0?i<u?1:-1:r(s),e(i,u,s,n)}}return Vi=t,Vi}var Ki,Gd;function zg(){if(Gd)return Ki;Gd=1;var e=Ug(),a=e();return Ki=a,Ki}var Wi,Bd;function Hg(){if(Bd)return Wi;Bd=1;function e(a,r){var t=a.length;for(a.sort(r);t--;)a[t]=a[t].value;return a}return Wi=e,Wi}var $i,Ud;function Vg(){if(Ud)return $i;Ud=1;var e=ke();function a(r,t){if(r!==t){var n=r!==void 0,i=r===null,u=r===r,s=e(r),o=t!==void 0,c=t===null,f=t===t,d=e(t);if(!c&&!d&&!s&&r>t||s&&o&&f&&!c&&!d||i&&o&&f||!n&&f||!u)return 1;if(!i&&!s&&!d&&r<t||d&&n&&u&&!i&&!s||c&&n&&u||!o&&u||!f)return-1}return 0}return $i=a,$i}var Yi,zd;function Kg(){if(zd)return Yi;zd=1;var e=Vg();function a(r,t,n){for(var i=-1,u=r.criteria,s=t.criteria,o=u.length,c=n.length;++i<o;){var f=e(u[i],s[i]);if(f){if(i>=c)return f;var d=n[i];return f*(d=="desc"?-1:1)}}return r.index-t.index}return Yi=a,Yi}var Xi,Hd;function Wg(){if(Hd)return Xi;Hd=1;var e=ir(),a=ur(),r=ye(),t=lh(),n=Hg(),i=rr(),u=Kg(),s=Te(),o=X();function c(f,d,l){d.length?d=e(d,function(_){return o(_)?function(v){return a(v,_.length===1?_[0]:_)}:_}):d=[s];var h=-1;d=e(d,i(r));var y=t(f,function(_,v,g){var p=e(d,function(b){return b(_)});return{criteria:p,index:++h,value:_}});return n(y,function(_,v){return u(_,v,l)})}return Xi=c,Xi}var Zi,Vd;function $g(){if(Vd)return Zi;Vd=1;var e=Ws(),a=Wg(),r=or(),t=fr(),n=r(function(i,u){if(i==null)return[];var s=u.length;return s>1&&t(i,u[0],u[1])?u=[]:s>2&&t(u[0],u[1],u[2])&&(u=[u[0]]),a(i,e(u,1),[])});return Zi=n,Zi}var Ji,Kd;function Yg(){if(Kd)return Ji;Kd=1;var e=ih(),a=0;function r(t){var n=++a;return e(t)+n}return Ji=r,Ji}var Qi,Wd;function Xg(){if(Wd)return Qi;Wd=1;function e(a,r,t){for(var n=-1,i=a.length,u=r.length,s={};++n<i;){var o=n<u?r[n]:void 0;t(s,a[n],o)}return s}return Qi=e,Qi}var es,$d;function Zg(){if($d)return es;$d=1;var e=Qe(),a=Xg();function r(t,n){return a(t||[],n||[],e)}return es=r,es}var rs,Yd;function $(){if(Yd)return rs;Yd=1;var e;if(typeof Ns=="function")try{e={cloneDeep:hg(),constant:Us(),defaults:vg(),each:Jl(),filter:fh(),find:qg(),flatten:Ch(),forEach:Zl(),forIn:xg(),has:ch(),isUndefined:dh(),last:wg(),map:hh(),mapValues:Rg(),max:Cg(),merge:Ng(),min:jg(),minBy:Pg(),now:kg(),pick:Gg(),range:zg(),reduce:vh(),sortBy:$g(),uniqueId:Yg(),values:mh(),zipObject:Zg()}}catch{}return e||(e=window._),rs=e,rs}var ns,Xd;function Jg(){if(Xd)return ns;Xd=1,ns=e;function e(){var t={};t._next=t._prev=t,this._sentinel=t}e.prototype.dequeue=function(){var t=this._sentinel,n=t._prev;if(n!==t)return a(n),n},e.prototype.enqueue=function(t){var n=this._sentinel;t._prev&&t._next&&a(t),t._next=n._next,n._next._prev=t,n._next=t,t._prev=n},e.prototype.toString=function(){for(var t=[],n=this._sentinel,i=n._prev;i!==n;)t.push(JSON.stringify(i,r)),i=i._prev;return"["+t.join(", ")+"]"};function a(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function r(t,n){if(t!=="_next"&&t!=="_prev")return n}return ns}var ts,Zd;function Qg(){if(Zd)return ts;Zd=1;var e=$(),a=le().Graph,r=Jg();ts=n;var t=e.constant(1);function n(c,f){if(c.nodeCount()<=1)return[];var d=s(c,f||t),l=i(d.graph,d.buckets,d.zeroIdx);return e.flatten(e.map(l,function(h){return c.outEdges(h.v,h.w)}),!0)}function i(c,f,d){for(var l=[],h=f[f.length-1],y=f[0],_;c.nodeCount();){for(;_=y.dequeue();)u(c,f,d,_);for(;_=h.dequeue();)u(c,f,d,_);if(c.nodeCount()){for(var v=f.length-2;v>0;--v)if(_=f[v].dequeue(),_){l=l.concat(u(c,f,d,_,!0));break}}}return l}function u(c,f,d,l,h){var y=h?[]:void 0;return e.forEach(c.inEdges(l.v),function(_){var v=c.edge(_),g=c.node(_.v);h&&y.push({v:_.v,w:_.w}),g.out-=v,o(f,d,g)}),e.forEach(c.outEdges(l.v),function(_){var v=c.edge(_),g=_.w,p=c.node(g);p.in-=v,o(f,d,p)}),c.removeNode(l.v),y}function s(c,f){var d=new a,l=0,h=0;e.forEach(c.nodes(),function(v){d.setNode(v,{v,in:0,out:0})}),e.forEach(c.edges(),function(v){var g=d.edge(v.v,v.w)||0,p=f(v),b=g+p;d.setEdge(v.v,v.w,b),h=Math.max(h,d.node(v.v).out+=p),l=Math.max(l,d.node(v.w).in+=p)});var y=e.range(h+l+3).map(function(){return new r}),_=l+1;return e.forEach(d.nodes(),function(v){o(y,_,d.node(v))}),{graph:d,buckets:y,zeroIdx:_}}function o(c,f,d){d.out?d.in?c[d.out-d.in+f].enqueue(d):c[c.length-1].enqueue(d):c[0].enqueue(d)}return ts}var as,Jd;function e_(){if(Jd)return as;Jd=1;var e=$(),a=Qg();as={run:r,undo:n};function r(i){var u=i.graph().acyclicer==="greedy"?a(i,s(i)):t(i);e.forEach(u,function(o){var c=i.edge(o);i.removeEdge(o),c.forwardName=o.name,c.reversed=!0,i.setEdge(o.w,o.v,c,e.uniqueId("rev"))});function s(o){return function(c){return o.edge(c).weight}}}function t(i){var u=[],s={},o={};function c(f){e.has(o,f)||(o[f]=!0,s[f]=!0,e.forEach(i.outEdges(f),function(d){e.has(s,d.w)?u.push(d):c(d.w)}),delete s[f])}return e.forEach(i.nodes(),c),u}function n(i){e.forEach(i.edges(),function(u){var s=i.edge(u);if(s.reversed){i.removeEdge(u);var o=s.forwardName;delete s.reversed,delete s.forwardName,i.setEdge(u.w,u.v,s,o)}})}return as}var is,Qd;function ne(){if(Qd)return is;Qd=1;var e=$(),a=le().Graph;is={addDummyNode:r,simplify:t,asNonCompoundGraph:n,successorWeights:i,predecessorWeights:u,intersectRect:s,buildLayerMatrix:o,normalizeRanks:c,removeEmptyRanks:f,addBorderNode:d,maxRank:l,partition:h,time:y,notime:_};function r(v,g,p,b){var m;do m=e.uniqueId(b);while(v.hasNode(m));return p.dummy=g,v.setNode(m,p),m}function t(v){var g=new a().setGraph(v.graph());return e.forEach(v.nodes(),function(p){g.setNode(p,v.node(p))}),e.forEach(v.edges(),function(p){var b=g.edge(p.v,p.w)||{weight:0,minlen:1},m=v.edge(p);g.setEdge(p.v,p.w,{weight:b.weight+m.weight,minlen:Math.max(b.minlen,m.minlen)})}),g}function n(v){var g=new a({multigraph:v.isMultigraph()}).setGraph(v.graph());return e.forEach(v.nodes(),function(p){v.children(p).length||g.setNode(p,v.node(p))}),e.forEach(v.edges(),function(p){g.setEdge(p,v.edge(p))}),g}function i(v){var g=e.map(v.nodes(),function(p){var b={};return e.forEach(v.outEdges(p),function(m){b[m.w]=(b[m.w]||0)+v.edge(m).weight}),b});return e.zipObject(v.nodes(),g)}function u(v){var g=e.map(v.nodes(),function(p){var b={};return e.forEach(v.inEdges(p),function(m){b[m.v]=(b[m.v]||0)+v.edge(m).weight}),b});return e.zipObject(v.nodes(),g)}function s(v,g){var p=v.x,b=v.y,m=g.x-p,q=g.y-b,x=v.width/2,w=v.height/2;if(!m&&!q)throw new Error("Not possible to find intersection inside of the rectangle");var A,I;return Math.abs(q)*x>Math.abs(m)*w?(q<0&&(w=-w),A=w*m/q,I=w):(m<0&&(x=-x),A=x,I=x*q/m),{x:p+A,y:b+I}}function o(v){var g=e.map(e.range(l(v)+1),function(){return[]});return e.forEach(v.nodes(),function(p){var b=v.node(p),m=b.rank;e.isUndefined(m)||(g[m][b.order]=p)}),g}function c(v){var g=e.min(e.map(v.nodes(),function(p){return v.node(p).rank}));e.forEach(v.nodes(),function(p){var b=v.node(p);e.has(b,"rank")&&(b.rank-=g)})}function f(v){var g=e.min(e.map(v.nodes(),function(q){return v.node(q).rank})),p=[];e.forEach(v.nodes(),function(q){var x=v.node(q).rank-g;p[x]||(p[x]=[]),p[x].push(q)});var b=0,m=v.graph().nodeRankFactor;e.forEach(p,function(q,x){e.isUndefined(q)&&x%m!==0?--b:b&&e.forEach(q,function(w){v.node(w).rank+=b})})}function d(v,g,p,b){var m={width:0,height:0};return arguments.length>=4&&(m.rank=p,m.order=b),r(v,"border",m,g)}function l(v){return e.max(e.map(v.nodes(),function(g){var p=v.node(g).rank;if(!e.isUndefined(p))return p}))}function h(v,g){var p={lhs:[],rhs:[]};return e.forEach(v,function(b){g(b)?p.lhs.push(b):p.rhs.push(b)}),p}function y(v,g){var p=e.now();try{return g()}finally{console.log(v+" time: "+(e.now()-p)+"ms")}}function _(v,g){return g()}return is}var ss,el;function r_(){if(el)return ss;el=1;var e=$(),a=ne();ss={run:r,undo:n};function r(i){i.graph().dummyChains=[],e.forEach(i.edges(),function(u){t(i,u)})}function t(i,u){var s=u.v,o=i.node(s).rank,c=u.w,f=i.node(c).rank,d=u.name,l=i.edge(u),h=l.labelRank;if(f!==o+1){i.removeEdge(u);var y,_,v;for(v=0,++o;o<f;++v,++o)l.points=[],_={width:0,height:0,edgeLabel:l,edgeObj:u,rank:o},y=a.addDummyNode(i,"edge",_,"_d"),o===h&&(_.width=l.width,_.height=l.height,_.dummy="edge-label",_.labelpos=l.labelpos),i.setEdge(s,y,{weight:l.weight},d),v===0&&i.graph().dummyChains.push(y),s=y;i.setEdge(s,c,{weight:l.weight},d)}}function n(i){e.forEach(i.graph().dummyChains,function(u){var s=i.node(u),o=s.edgeLabel,c;for(i.setEdge(s.edgeObj,o);s.dummy;)c=i.successors(u)[0],i.removeNode(u),o.points.push({x:s.x,y:s.y}),s.dummy==="edge-label"&&(o.x=s.x,o.y=s.y,o.width=s.width,o.height=s.height),u=c,s=i.node(u)})}return ss}var us,rl;function Ke(){if(rl)return us;rl=1;var e=$();us={longestPath:a,slack:r};function a(t){var n={};function i(u){var s=t.node(u);if(e.has(n,u))return s.rank;n[u]=!0;var o=e.min(e.map(t.outEdges(u),function(c){return i(c.w)-t.edge(c).minlen}));return(o===Number.POSITIVE_INFINITY||o===void 0||o===null)&&(o=0),s.rank=o}e.forEach(t.sources(),i)}function r(t,n){return t.node(n.w).rank-t.node(n.v).rank-t.edge(n).minlen}return us}var os,nl;function Th(){if(nl)return os;nl=1;var e=$(),a=le().Graph,r=Ke().slack;os=t;function t(s){var o=new a({directed:!1}),c=s.nodes()[0],f=s.nodeCount();o.setNode(c,{});for(var d,l;n(o,s)<f;)d=i(o,s),l=o.hasNode(d.v)?r(s,d):-r(s,d),u(o,s,l);return o}function n(s,o){function c(f){e.forEach(o.nodeEdges(f),function(d){var l=d.v,h=f===l?d.w:l;!s.hasNode(h)&&!r(o,d)&&(s.setNode(h,{}),s.setEdge(f,h,{}),c(h))})}return e.forEach(s.nodes(),c),s.nodeCount()}function i(s,o){return e.minBy(o.edges(),function(c){if(s.hasNode(c.v)!==s.hasNode(c.w))return r(o,c)})}function u(s,o,c){e.forEach(s.nodes(),function(f){o.node(f).rank+=c})}return os}var fs,tl;function n_(){if(tl)return fs;tl=1;var e=$(),a=Th(),r=Ke().slack,t=Ke().longestPath,n=le().alg.preorder,i=le().alg.postorder,u=ne().simplify;fs=s,s.initLowLimValues=d,s.initCutValues=o,s.calcCutValue=f,s.leaveEdge=h,s.enterEdge=y,s.exchangeEdges=_;function s(b){b=u(b),t(b);var m=a(b);d(m),o(m,b);for(var q,x;q=h(m);)x=y(m,b,q),_(m,b,q,x)}function o(b,m){var q=i(b,b.nodes());q=q.slice(0,q.length-1),e.forEach(q,function(x){c(b,m,x)})}function c(b,m,q){var x=b.node(q),w=x.parent;b.edge(q,w).cutvalue=f(b,m,q)}function f(b,m,q){var x=b.node(q),w=x.parent,A=!0,I=m.edge(q,w),T=0;return I||(A=!1,I=m.edge(w,q)),T=I.weight,e.forEach(m.nodeEdges(q),function(O){var P=O.v===q,L=P?O.w:O.v;if(L!==w){var B=P===A,F=m.edge(O).weight;if(T+=B?F:-F,g(b,q,L)){var V=b.edge(q,L).cutvalue;T+=B?-V:V}}}),T}function d(b,m){arguments.length<2&&(m=b.nodes()[0]),l(b,{},1,m)}function l(b,m,q,x,w){var A=q,I=b.node(x);return m[x]=!0,e.forEach(b.neighbors(x),function(T){e.has(m,T)||(q=l(b,m,q,T,x))}),I.low=A,I.lim=q++,w?I.parent=w:delete I.parent,q}function h(b){return e.find(b.edges(),function(m){return b.edge(m).cutvalue<0})}function y(b,m,q){var x=q.v,w=q.w;m.hasEdge(x,w)||(x=q.w,w=q.v);var A=b.node(x),I=b.node(w),T=A,O=!1;A.lim>I.lim&&(T=I,O=!0);var P=e.filter(m.edges(),function(L){return O===p(b,b.node(L.v),T)&&O!==p(b,b.node(L.w),T)});return e.minBy(P,function(L){return r(m,L)})}function _(b,m,q,x){var w=q.v,A=q.w;b.removeEdge(w,A),b.setEdge(x.v,x.w,{}),d(b),o(b,m),v(b,m)}function v(b,m){var q=e.find(b.nodes(),function(w){return!m.node(w).parent}),x=n(b,q);x=x.slice(1),e.forEach(x,function(w){var A=b.node(w).parent,I=m.edge(w,A),T=!1;I||(I=m.edge(A,w),T=!0),m.node(w).rank=m.node(A).rank+(T?I.minlen:-I.minlen)})}function g(b,m,q){return b.hasEdge(m,q)}function p(b,m,q){return q.low<=m.lim&&m.lim<=q.lim}return fs}var cs,al;function t_(){if(al)return cs;al=1;var e=Ke(),a=e.longestPath,r=Th(),t=n_();cs=n;function n(o){switch(o.graph().ranker){case"network-simplex":s(o);break;case"tight-tree":u(o);break;case"longest-path":i(o);break;default:s(o)}}var i=a;function u(o){a(o),r(o)}function s(o){t(o)}return cs}var ds,il;function a_(){if(il)return ds;il=1;var e=$();ds=a;function a(n){var i=t(n);e.forEach(n.graph().dummyChains,function(u){for(var s=n.node(u),o=s.edgeObj,c=r(n,i,o.v,o.w),f=c.path,d=c.lca,l=0,h=f[l],y=!0;u!==o.w;){if(s=n.node(u),y){for(;(h=f[l])!==d&&n.node(h).maxRank<s.rank;)l++;h===d&&(y=!1)}if(!y){for(;l<f.length-1&&n.node(h=f[l+1]).minRank<=s.rank;)l++;h=f[l]}n.setParent(u,h),u=n.successors(u)[0]}})}function r(n,i,u,s){var o=[],c=[],f=Math.min(i[u].low,i[s].low),d=Math.max(i[u].lim,i[s].lim),l,h;l=u;do l=n.parent(l),o.push(l);while(l&&(i[l].low>f||d>i[l].lim));for(h=l,l=s;(l=n.parent(l))!==h;)c.push(l);return{path:o.concat(c.reverse()),lca:h}}function t(n){var i={},u=0;function s(o){var c=u;e.forEach(n.children(o),s),i[o]={low:c,lim:u++}}return e.forEach(n.children(),s),i}return ds}var ls,sl;function i_(){if(sl)return ls;sl=1;var e=$(),a=ne();ls={run:r,cleanup:u};function r(s){var o=a.addDummyNode(s,"root",{},"_root"),c=n(s),f=e.max(e.values(c))-1,d=2*f+1;s.graph().nestingRoot=o,e.forEach(s.edges(),function(h){s.edge(h).minlen*=d});var l=i(s)+1;e.forEach(s.children(),function(h){t(s,o,d,l,f,c,h)}),s.graph().nodeRankFactor=d}function t(s,o,c,f,d,l,h){var y=s.children(h);if(!y.length){h!==o&&s.setEdge(o,h,{weight:0,minlen:c});return}var _=a.addBorderNode(s,"_bt"),v=a.addBorderNode(s,"_bb"),g=s.node(h);s.setParent(_,h),g.borderTop=_,s.setParent(v,h),g.borderBottom=v,e.forEach(y,function(p){t(s,o,c,f,d,l,p);var b=s.node(p),m=b.borderTop?b.borderTop:p,q=b.borderBottom?b.borderBottom:p,x=b.borderTop?f:2*f,w=m!==q?1:d-l[h]+1;s.setEdge(_,m,{weight:x,minlen:w,nestingEdge:!0}),s.setEdge(q,v,{weight:x,minlen:w,nestingEdge:!0})}),s.parent(h)||s.setEdge(o,_,{weight:0,minlen:d+l[h]})}function n(s){var o={};function c(f,d){var l=s.children(f);l&&l.length&&e.forEach(l,function(h){c(h,d+1)}),o[f]=d}return e.forEach(s.children(),function(f){c(f,1)}),o}function i(s){return e.reduce(s.edges(),function(o,c){return o+s.edge(c).weight},0)}function u(s){var o=s.graph();s.removeNode(o.nestingRoot),delete o.nestingRoot,e.forEach(s.edges(),function(c){var f=s.edge(c);f.nestingEdge&&s.removeEdge(c)})}return ls}var hs,ul;function s_(){if(ul)return hs;ul=1;var e=$(),a=ne();hs=r;function r(n){function i(u){var s=n.children(u),o=n.node(u);if(s.length&&e.forEach(s,i),e.has(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var c=o.minRank,f=o.maxRank+1;c<f;++c)t(n,"borderLeft","_bl",u,o,c),t(n,"borderRight","_br",u,o,c)}}e.forEach(n.children(),i)}function t(n,i,u,s,o,c){var f={width:0,height:0,rank:c,borderType:i},d=o[i][c-1],l=a.addDummyNode(n,"border",f,u);o[i][c]=l,n.setParent(l,s),d&&n.setEdge(d,l,{weight:1})}return hs}var vs,ol;function u_(){if(ol)return vs;ol=1;var e=$();vs={adjust:a,undo:r};function a(c){var f=c.graph().rankdir.toLowerCase();(f==="lr"||f==="rl")&&t(c)}function r(c){var f=c.graph().rankdir.toLowerCase();(f==="bt"||f==="rl")&&i(c),(f==="lr"||f==="rl")&&(s(c),t(c))}function t(c){e.forEach(c.nodes(),function(f){n(c.node(f))}),e.forEach(c.edges(),function(f){n(c.edge(f))})}function n(c){var f=c.width;c.width=c.height,c.height=f}function i(c){e.forEach(c.nodes(),function(f){u(c.node(f))}),e.forEach(c.edges(),function(f){var d=c.edge(f);e.forEach(d.points,u),e.has(d,"y")&&u(d)})}function u(c){c.y=-c.y}function s(c){e.forEach(c.nodes(),function(f){o(c.node(f))}),e.forEach(c.edges(),function(f){var d=c.edge(f);e.forEach(d.points,o),e.has(d,"x")&&o(d)})}function o(c){var f=c.x;c.x=c.y,c.y=f}return vs}var ps,fl;function o_(){if(fl)return ps;fl=1;var e=$();ps=a;function a(r){var t={},n=e.filter(r.nodes(),function(c){return!r.children(c).length}),i=e.max(e.map(n,function(c){return r.node(c).rank})),u=e.map(e.range(i+1),function(){return[]});function s(c){if(!e.has(t,c)){t[c]=!0;var f=r.node(c);u[f.rank].push(c),e.forEach(r.successors(c),s)}}var o=e.sortBy(n,function(c){return r.node(c).rank});return e.forEach(o,s),u}return ps}var gs,cl;function f_(){if(cl)return gs;cl=1;var e=$();gs=a;function a(t,n){for(var i=0,u=1;u<n.length;++u)i+=r(t,n[u-1],n[u]);return i}function r(t,n,i){for(var u=e.zipObject(i,e.map(i,function(l,h){return h})),s=e.flatten(e.map(n,function(l){return e.sortBy(e.map(t.outEdges(l),function(h){return{pos:u[h.w],weight:t.edge(h).weight}}),"pos")}),!0),o=1;o<i.length;)o<<=1;var c=2*o-1;o-=1;var f=e.map(new Array(c),function(){return 0}),d=0;return e.forEach(s.forEach(function(l){var h=l.pos+o;f[h]+=l.weight;for(var y=0;h>0;)h%2&&(y+=f[h+1]),h=h-1>>1,f[h]+=l.weight;d+=l.weight*y})),d}return gs}var _s,dl;function c_(){if(dl)return _s;dl=1;var e=$();_s=a;function a(r,t){return e.map(t,function(n){var i=r.inEdges(n);if(i.length){var u=e.reduce(i,function(s,o){var c=r.edge(o),f=r.node(o.v);return{sum:s.sum+c.weight*f.order,weight:s.weight+c.weight}},{sum:0,weight:0});return{v:n,barycenter:u.sum/u.weight,weight:u.weight}}else return{v:n}})}return _s}var bs,ll;function d_(){if(ll)return bs;ll=1;var e=$();bs=a;function a(n,i){var u={};e.forEach(n,function(o,c){var f=u[o.v]={indegree:0,in:[],out:[],vs:[o.v],i:c};e.isUndefined(o.barycenter)||(f.barycenter=o.barycenter,f.weight=o.weight)}),e.forEach(i.edges(),function(o){var c=u[o.v],f=u[o.w];!e.isUndefined(c)&&!e.isUndefined(f)&&(f.indegree++,c.out.push(u[o.w]))});var s=e.filter(u,function(o){return!o.indegree});return r(s)}function r(n){var i=[];function u(c){return function(f){f.merged||(e.isUndefined(f.barycenter)||e.isUndefined(c.barycenter)||f.barycenter>=c.barycenter)&&t(c,f)}}function s(c){return function(f){f.in.push(c),--f.indegree===0&&n.push(f)}}for(;n.length;){var o=n.pop();i.push(o),e.forEach(o.in.reverse(),u(o)),e.forEach(o.out,s(o))}return e.map(e.filter(i,function(c){return!c.merged}),function(c){return e.pick(c,["vs","i","barycenter","weight"])})}function t(n,i){var u=0,s=0;n.weight&&(u+=n.barycenter*n.weight,s+=n.weight),i.weight&&(u+=i.barycenter*i.weight,s+=i.weight),n.vs=i.vs.concat(n.vs),n.barycenter=u/s,n.weight=s,n.i=Math.min(i.i,n.i),i.merged=!0}return bs}var ms,hl;function l_(){if(hl)return ms;hl=1;var e=$(),a=ne();ms=r;function r(i,u){var s=a.partition(i,function(_){return e.has(_,"barycenter")}),o=s.lhs,c=e.sortBy(s.rhs,function(_){return-_.i}),f=[],d=0,l=0,h=0;o.sort(n(!!u)),h=t(f,c,h),e.forEach(o,function(_){h+=_.vs.length,f.push(_.vs),d+=_.barycenter*_.weight,l+=_.weight,h=t(f,c,h)});var y={vs:e.flatten(f,!0)};return l&&(y.barycenter=d/l,y.weight=l),y}function t(i,u,s){for(var o;u.length&&(o=e.last(u)).i<=s;)u.pop(),i.push(o.vs),s++;return s}function n(i){return function(u,s){return u.barycenter<s.barycenter?-1:u.barycenter>s.barycenter?1:i?s.i-u.i:u.i-s.i}}return ms}var ys,vl;function h_(){if(vl)return ys;vl=1;var e=$(),a=c_(),r=d_(),t=l_();ys=n;function n(s,o,c,f){var d=s.children(o),l=s.node(o),h=l?l.borderLeft:void 0,y=l?l.borderRight:void 0,_={};h&&(d=e.filter(d,function(q){return q!==h&&q!==y}));var v=a(s,d);e.forEach(v,function(q){if(s.children(q.v).length){var x=n(s,q.v,c,f);_[q.v]=x,e.has(x,"barycenter")&&u(q,x)}});var g=r(v,c);i(g,_);var p=t(g,f);if(h&&(p.vs=e.flatten([h,p.vs,y],!0),s.predecessors(h).length)){var b=s.node(s.predecessors(h)[0]),m=s.node(s.predecessors(y)[0]);e.has(p,"barycenter")||(p.barycenter=0,p.weight=0),p.barycenter=(p.barycenter*p.weight+b.order+m.order)/(p.weight+2),p.weight+=2}return p}function i(s,o){e.forEach(s,function(c){c.vs=e.flatten(c.vs.map(function(f){return o[f]?o[f].vs:f}),!0)})}function u(s,o){e.isUndefined(s.barycenter)?(s.barycenter=o.barycenter,s.weight=o.weight):(s.barycenter=(s.barycenter*s.weight+o.barycenter*o.weight)/(s.weight+o.weight),s.weight+=o.weight)}return ys}var qs,pl;function v_(){if(pl)return qs;pl=1;var e=$(),a=le().Graph;qs=r;function r(n,i,u){var s=t(n),o=new a({compound:!0}).setGraph({root:s}).setDefaultNodeLabel(function(c){return n.node(c)});return e.forEach(n.nodes(),function(c){var f=n.node(c),d=n.parent(c);(f.rank===i||f.minRank<=i&&i<=f.maxRank)&&(o.setNode(c),o.setParent(c,d||s),e.forEach(n[u](c),function(l){var h=l.v===c?l.w:l.v,y=o.edge(h,c),_=e.isUndefined(y)?0:y.weight;o.setEdge(h,c,{weight:n.edge(l).weight+_})}),e.has(f,"minRank")&&o.setNode(c,{borderLeft:f.borderLeft[i],borderRight:f.borderRight[i]}))}),o}function t(n){for(var i;n.hasNode(i=e.uniqueId("_root")););return i}return qs}var xs,gl;function p_(){if(gl)return xs;gl=1;var e=$();xs=a;function a(r,t,n){var i={},u;e.forEach(n,function(s){for(var o=r.parent(s),c,f;o;){if(c=r.parent(o),c?(f=i[c],i[c]=o):(f=u,u=o),f&&f!==o){t.setEdge(f,o);return}o=c}})}return xs}var ws,_l;function g_(){if(_l)return ws;_l=1;var e=$(),a=o_(),r=f_(),t=h_(),n=v_(),i=p_(),u=le().Graph,s=ne();ws=o;function o(l){var h=s.maxRank(l),y=c(l,e.range(1,h+1),"inEdges"),_=c(l,e.range(h-1,-1,-1),"outEdges"),v=a(l);d(l,v);for(var g=Number.POSITIVE_INFINITY,p,b=0,m=0;m<4;++b,++m){f(b%2?y:_,b%4>=2),v=s.buildLayerMatrix(l);var q=r(l,v);q<g&&(m=0,p=e.cloneDeep(v),g=q)}d(l,p)}function c(l,h,y){return e.map(h,function(_){return n(l,_,y)})}function f(l,h){var y=new u;e.forEach(l,function(_){var v=_.graph().root,g=t(_,v,y,h);e.forEach(g.vs,function(p,b){_.node(p).order=b}),i(_,y,g.vs)})}function d(l,h){e.forEach(h,function(y){e.forEach(y,function(_,v){l.node(_).order=v})})}return ws}var Rs,bl;function __(){if(bl)return Rs;bl=1;var e=$(),a=le().Graph,r=ne();Rs={positionX:y,findType1Conflicts:t,findType2Conflicts:n,addConflict:u,hasConflict:s,verticalAlignment:o,horizontalCompaction:c,alignCoordinates:l,findSmallestWidthAlignment:d,balance:h};function t(g,p){var b={};function m(q,x){var w=0,A=0,I=q.length,T=e.last(x);return e.forEach(x,function(O,P){var L=i(g,O),B=L?g.node(L).order:I;(L||O===T)&&(e.forEach(x.slice(A,P+1),function(F){e.forEach(g.predecessors(F),function(V){var te=g.node(V),ae=te.order;(ae<w||B<ae)&&!(te.dummy&&g.node(F).dummy)&&u(b,V,F)})}),A=P+1,w=B)}),x}return e.reduce(p,m),b}function n(g,p){var b={};function m(x,w,A,I,T){var O;e.forEach(e.range(w,A),function(P){O=x[P],g.node(O).dummy&&e.forEach(g.predecessors(O),function(L){var B=g.node(L);B.dummy&&(B.order<I||B.order>T)&&u(b,L,O)})})}function q(x,w){var A=-1,I,T=0;return e.forEach(w,function(O,P){if(g.node(O).dummy==="border"){var L=g.predecessors(O);L.length&&(I=g.node(L[0]).order,m(w,T,P,A,I),T=P,A=I)}m(w,T,w.length,I,x.length)}),w}return e.reduce(p,q),b}function i(g,p){if(g.node(p).dummy)return e.find(g.predecessors(p),function(b){return g.node(b).dummy})}function u(g,p,b){if(p>b){var m=p;p=b,b=m}var q=g[p];q||(g[p]=q={}),q[b]=!0}function s(g,p,b){if(p>b){var m=p;p=b,b=m}return e.has(g[p],b)}function o(g,p,b,m){var q={},x={},w={};return e.forEach(p,function(A){e.forEach(A,function(I,T){q[I]=I,x[I]=I,w[I]=T})}),e.forEach(p,function(A){var I=-1;e.forEach(A,function(T){var O=m(T);if(O.length){O=e.sortBy(O,function(V){return w[V]});for(var P=(O.length-1)/2,L=Math.floor(P),B=Math.ceil(P);L<=B;++L){var F=O[L];x[T]===T&&I<w[F]&&!s(b,T,F)&&(x[F]=T,x[T]=q[T]=q[F],I=w[F])}}})}),{root:q,align:x}}function c(g,p,b,m,q){var x={},w=f(g,p,b,q),A=q?"borderLeft":"borderRight";function I(P,L){for(var B=w.nodes(),F=B.pop(),V={};F;)V[F]?P(F):(V[F]=!0,B.push(F),B=B.concat(L(F))),F=B.pop()}function T(P){x[P]=w.inEdges(P).reduce(function(L,B){return Math.max(L,x[B.v]+w.edge(B))},0)}function O(P){var L=w.outEdges(P).reduce(function(F,V){return Math.min(F,x[V.w]-w.edge(V))},Number.POSITIVE_INFINITY),B=g.node(P);L!==Number.POSITIVE_INFINITY&&B.borderType!==A&&(x[P]=Math.max(x[P],L))}return I(T,w.predecessors.bind(w)),I(O,w.successors.bind(w)),e.forEach(m,function(P){x[P]=x[b[P]]}),x}function f(g,p,b,m){var q=new a,x=g.graph(),w=_(x.nodesep,x.edgesep,m);return e.forEach(p,function(A){var I;e.forEach(A,function(T){var O=b[T];if(q.setNode(O),I){var P=b[I],L=q.edge(P,O);q.setEdge(P,O,Math.max(w(g,T,I),L||0))}I=T})}),q}function d(g,p){return e.minBy(e.values(p),function(b){var m=Number.NEGATIVE_INFINITY,q=Number.POSITIVE_INFINITY;return e.forIn(b,function(x,w){var A=v(g,w)/2;m=Math.max(x+A,m),q=Math.min(x-A,q)}),m-q})}function l(g,p){var b=e.values(p),m=e.min(b),q=e.max(b);e.forEach(["u","d"],function(x){e.forEach(["l","r"],function(w){var A=x+w,I=g[A],T;if(I!==p){var O=e.values(I);T=w==="l"?m-e.min(O):q-e.max(O),T&&(g[A]=e.mapValues(I,function(P){return P+T}))}})})}function h(g,p){return e.mapValues(g.ul,function(b,m){if(p)return g[p.toLowerCase()][m];var q=e.sortBy(e.map(g,m));return(q[1]+q[2])/2})}function y(g){var p=r.buildLayerMatrix(g),b=e.merge(t(g,p),n(g,p)),m={},q;e.forEach(["u","d"],function(w){q=w==="u"?p:e.values(p).reverse(),e.forEach(["l","r"],function(A){A==="r"&&(q=e.map(q,function(P){return e.values(P).reverse()}));var I=(w==="u"?g.predecessors:g.successors).bind(g),T=o(g,q,b,I),O=c(g,q,T.root,T.align,A==="r");A==="r"&&(O=e.mapValues(O,function(P){return-P})),m[w+A]=O})});var x=d(g,m);return l(m,x),h(m,g.graph().align)}function _(g,p,b){return function(m,q,x){var w=m.node(q),A=m.node(x),I=0,T;if(I+=w.width/2,e.has(w,"labelpos"))switch(w.labelpos.toLowerCase()){case"l":T=-w.width/2;break;case"r":T=w.width/2;break}if(T&&(I+=b?T:-T),T=0,I+=(w.dummy?p:g)/2,I+=(A.dummy?p:g)/2,I+=A.width/2,e.has(A,"labelpos"))switch(A.labelpos.toLowerCase()){case"l":T=A.width/2;break;case"r":T=-A.width/2;break}return T&&(I+=b?T:-T),T=0,I}}function v(g,p){return g.node(p).width}return Rs}var Es,ml;function b_(){if(ml)return Es;ml=1;var e=$(),a=ne(),r=__().positionX;Es=t;function t(i){i=a.asNonCompoundGraph(i),n(i),e.forEach(r(i),function(u,s){i.node(s).x=u})}function n(i){var u=a.buildLayerMatrix(i),s=i.graph().ranksep,o=0;e.forEach(u,function(c){var f=e.max(e.map(c,function(d){return i.node(d).height}));e.forEach(c,function(d){i.node(d).y=o+f/2}),o+=f+s})}return Es}var Cs,yl;function m_(){if(yl)return Cs;yl=1;var e=$(),a=e_(),r=r_(),t=t_(),n=ne().normalizeRanks,i=a_(),u=ne().removeEmptyRanks,s=i_(),o=s_(),c=u_(),f=g_(),d=b_(),l=ne(),h=le().Graph;Cs=y;function y(R,C){var N=C&&C.debugTiming?l.time:l.notime;N("layout",function(){var S=N(" buildLayoutGraph",function(){return I(R)});N(" runLayout",function(){_(S,N)}),N(" updateInputGraph",function(){v(R,S)})})}function _(R,C){C(" makeSpaceForEdgeLabels",function(){T(R)}),C(" removeSelfEdges",function(){ve(R)}),C(" acyclic",function(){a.run(R)}),C(" nestingGraph.run",function(){s.run(R)}),C(" rank",function(){t(l.asNonCompoundGraph(R))}),C(" injectEdgeLabelProxies",function(){O(R)}),C(" removeEmptyRanks",function(){u(R)}),C(" nestingGraph.cleanup",function(){s.cleanup(R)}),C(" normalizeRanks",function(){n(R)}),C(" assignRankMinMax",function(){P(R)}),C(" removeEdgeLabelProxies",function(){L(R)}),C(" normalize.run",function(){r.run(R)}),C(" parentDummyChains",function(){i(R)}),C(" addBorderSegments",function(){o(R)}),C(" order",function(){f(R)}),C(" insertSelfEdges",function(){ge(R)}),C(" adjustCoordinateSystem",function(){c.adjust(R)}),C(" position",function(){d(R)}),C(" positionSelfEdges",function(){_e(R)}),C(" removeBorderNodes",function(){ae(R)}),C(" normalize.undo",function(){r.undo(R)}),C(" fixupEdgeLabelCoords",function(){V(R)}),C(" undoCoordinateSystem",function(){c.undo(R)}),C(" translateGraph",function(){B(R)}),C(" assignNodeIntersects",function(){F(R)}),C(" reversePoints",function(){te(R)}),C(" acyclic.undo",function(){a.undo(R)})}function v(R,C){e.forEach(R.nodes(),function(N){var S=R.node(N),U=C.node(N);S&&(S.x=U.x,S.y=U.y,C.children(N).length&&(S.width=U.width,S.height=U.height))}),e.forEach(R.edges(),function(N){var S=R.edge(N),U=C.edge(N);S.points=U.points,e.has(U,"x")&&(S.x=U.x,S.y=U.y)}),R.graph().width=C.graph().width,R.graph().height=C.graph().height}var g=["nodesep","edgesep","ranksep","marginx","marginy"],p={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},b=["acyclicer","ranker","rankdir","align"],m=["width","height"],q={width:0,height:0},x=["minlen","weight","width","height","labeloffset"],w={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},A=["labelpos"];function I(R){var C=new h({multigraph:!0,compound:!0}),N=ie(R.graph());return C.setGraph(e.merge({},p,ce(N,g),e.pick(N,b))),e.forEach(R.nodes(),function(S){var U=ie(R.node(S));C.setNode(S,e.defaults(ce(U,m),q)),C.setParent(S,R.parent(S))}),e.forEach(R.edges(),function(S){var U=ie(R.edge(S));C.setEdge(S,e.merge({},w,ce(U,x),e.pick(U,A)))}),C}function T(R){var C=R.graph();C.ranksep/=2,e.forEach(R.edges(),function(N){var S=R.edge(N);S.minlen*=2,S.labelpos.toLowerCase()!=="c"&&(C.rankdir==="TB"||C.rankdir==="BT"?S.width+=S.labeloffset:S.height+=S.labeloffset)})}function O(R){e.forEach(R.edges(),function(C){var N=R.edge(C);if(N.width&&N.height){var S=R.node(C.v),U=R.node(C.w),H={rank:(U.rank-S.rank)/2+S.rank,e:C};l.addDummyNode(R,"edge-proxy",H,"_ep")}})}function P(R){var C=0;e.forEach(R.nodes(),function(N){var S=R.node(N);S.borderTop&&(S.minRank=R.node(S.borderTop).rank,S.maxRank=R.node(S.borderBottom).rank,C=e.max(C,S.maxRank))}),R.graph().maxRank=C}function L(R){e.forEach(R.nodes(),function(C){var N=R.node(C);N.dummy==="edge-proxy"&&(R.edge(N.e).labelRank=N.rank,R.removeNode(C))})}function B(R){var C=Number.POSITIVE_INFINITY,N=0,S=Number.POSITIVE_INFINITY,U=0,H=R.graph(),K=H.marginx||0,Q=H.marginy||0;function de(G){var M=G.x,D=G.y,Y=G.width,k=G.height;C=Math.min(C,M-Y/2),N=Math.max(N,M+Y/2),S=Math.min(S,D-k/2),U=Math.max(U,D+k/2)}e.forEach(R.nodes(),function(G){de(R.node(G))}),e.forEach(R.edges(),function(G){var M=R.edge(G);e.has(M,"x")&&de(M)}),C-=K,S-=Q,e.forEach(R.nodes(),function(G){var M=R.node(G);M.x-=C,M.y-=S}),e.forEach(R.edges(),function(G){var M=R.edge(G);e.forEach(M.points,function(D){D.x-=C,D.y-=S}),e.has(M,"x")&&(M.x-=C),e.has(M,"y")&&(M.y-=S)}),H.width=N-C+K,H.height=U-S+Q}function F(R){e.forEach(R.edges(),function(C){var N=R.edge(C),S=R.node(C.v),U=R.node(C.w),H,K;N.points?(H=N.points[0],K=N.points[N.points.length-1]):(N.points=[],H=U,K=S),N.points.unshift(l.intersectRect(S,H)),N.points.push(l.intersectRect(U,K))})}function V(R){e.forEach(R.edges(),function(C){var N=R.edge(C);if(e.has(N,"x"))switch((N.labelpos==="l"||N.labelpos==="r")&&(N.width-=N.labeloffset),N.labelpos){case"l":N.x-=N.width/2+N.labeloffset;break;case"r":N.x+=N.width/2+N.labeloffset;break}})}function te(R){e.forEach(R.edges(),function(C){var N=R.edge(C);N.reversed&&N.points.reverse()})}function ae(R){e.forEach(R.nodes(),function(C){if(R.children(C).length){var N=R.node(C),S=R.node(N.borderTop),U=R.node(N.borderBottom),H=R.node(e.last(N.borderLeft)),K=R.node(e.last(N.borderRight));N.width=Math.abs(K.x-H.x),N.height=Math.abs(U.y-S.y),N.x=H.x+N.width/2,N.y=S.y+N.height/2}}),e.forEach(R.nodes(),function(C){R.node(C).dummy==="border"&&R.removeNode(C)})}function ve(R){e.forEach(R.edges(),function(C){if(C.v===C.w){var N=R.node(C.v);N.selfEdges||(N.selfEdges=[]),N.selfEdges.push({e:C,label:R.edge(C)}),R.removeEdge(C)}})}function ge(R){var C=l.buildLayerMatrix(R);e.forEach(C,function(N){var S=0;e.forEach(N,function(U,H){var K=R.node(U);K.order=H+S,e.forEach(K.selfEdges,function(Q){l.addDummyNode(R,"selfedge",{width:Q.label.width,height:Q.label.height,rank:K.rank,order:H+ ++S,e:Q.e,label:Q.label},"_se")}),delete K.selfEdges})})}function _e(R){e.forEach(R.nodes(),function(C){var N=R.node(C);if(N.dummy==="selfedge"){var S=R.node(N.e.v),U=S.x+S.width/2,H=S.y,K=N.x-U,Q=S.height/2;R.setEdge(N.e,N.label),R.removeNode(C),N.label.points=[{x:U+2*K/3,y:H-Q},{x:U+5*K/6,y:H-Q},{x:U+K,y:H},{x:U+5*K/6,y:H+Q},{x:U+2*K/3,y:H+Q}],N.label.x=N.x,N.label.y=N.y}})}function ce(R,C){return e.mapValues(e.pick(R,C),Number)}function ie(R){var C={};return e.forEach(R,function(N,S){C[S.toLowerCase()]=N}),C}return Cs}var Ss,ql;function y_(){if(ql)return Ss;ql=1;var e=$(),a=ne(),r=le().Graph;Ss={debugOrdering:t};function t(n){var i=a.buildLayerMatrix(n),u=new r({compound:!0,multigraph:!0}).setGraph({});return e.forEach(n.nodes(),function(s){u.setNode(s,{label:s}),u.setParent(s,"layer"+n.node(s).rank)}),e.forEach(n.edges(),function(s){u.setEdge(s.v,s.w,{},s.name)}),e.forEach(i,function(s,o){var c="layer"+o;u.setNode(c,{rank:"same"}),e.reduce(s,function(f,d){return u.setEdge(f,d,{style:"invis"}),d})}),u}return Ss}var Is,xl;function q_(){return xl||(xl=1,Is="0.8.5"),Is}var As,wl;function x_(){return wl||(wl=1,As={graphlib:le(),layout:m_(),debug:y_(),util:{time:ne().time,notime:ne().notime},version:q_()}),As}var w_=x_();const Rl=Nh(w_),R_={pending:"#D4B896",running:"#2196F3",completed:"#4CAF50",failed:"#E53935",stopped:"#FF9800",merged:"#9C27B0"},E_={pending:"",running:"ring-2 ring-status-running/50 animate-pulse",completed:"",failed:"ring-1 ring-status-error/30",stopped:"",merged:""};function C_({data:e}){const a=e,{todo:r,allTodos:t,selected:n,onStart:i,onStop:u,onDelete:s,onMerge:o,onCleanup:c,onRetry:f,onSelect:d}=a,{t:l}=Os(),h=r.status==="pending"||r.status==="failed"||r.status==="stopped",y=r.status==="running",_=r.status==="completed",v=r.status!=="running"&&r.status!=="pending"&&(r.worktree_path||r.branch_name),g=r.status==="completed"||r.status==="failed"||r.status==="stopped",p=r.depends_on?t.find(q=>q.id===r.depends_on):null,b=!!p&&p.status!=="completed",m=R_[r.status];return E.jsxs("div",{className:`bg-theme-card rounded-xl shadow-card min-w-[240px] max-w-[280px] overflow-hidden transition-all duration-300 ${E_[r.status]} ${n?"ring-2 ring-accent shadow-elevated -translate-y-1":"hover:shadow-elevated hover:-translate-y-0.5"}`,style:{borderLeft:`4px solid ${m}`,position:"relative"},children:[E.jsx("div",{className:"absolute top-0 left-0 right-0 h-px bg-white/10 z-10 pointer-events-none"}),E.jsx(Zs,{type:"target",position:Js.Top,className:"!w-3 !h-3 !bg-theme-muted !border-2 !border-white !-top-1.5"}),E.jsxs("div",{className:"px-3 py-2.5 cursor-pointer hover:bg-warm-50 transition-colors",onClick:()=>d(r.id),children:[E.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[E.jsxs("span",{className:"text-2xs font-mono text-warm-400",children:["#",r.priority]}),E.jsx("span",{className:"flex-1 text-xs text-warm-800 font-medium truncate",title:r.title,children:r.title}),E.jsx(Al,{status:r.status})]}),E.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[r.cli_tool&&E.jsx("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-md text-[9px] font-mono font-medium bg-theme-bg-tertiary text-theme-muted",children:Tl(r.cli_tool||"claude").label}),p&&E.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded-md text-[9px] font-mono bg-theme-bg-tertiary text-theme-text-secondary",children:[E.jsx(jh,{size:12}),p.title.length>15?p.title.slice(0,15)+"...":p.title]})]})]}),E.jsxs("div",{className:"flex items-center justify-end gap-0 px-2 py-1.5 border-t border-warm-100 bg-warm-50/50",children:[h&&E.jsx("button",{onClick:q=>{q.stopPropagation(),i(r.id,"headless")},className:"p-1 text-theme-muted hover:text-accent hover:bg-theme-hover rounded-md transition-colors",title:l(b?"todo.startWithDependency":"todo.startHeadless"),children:E.jsx(Ph,{size:12})}),y&&E.jsx("button",{onClick:q=>{q.stopPropagation(),u(r.id)},className:"p-1 text-status-error/60 hover:text-status-error hover:bg-status-error/10 rounded-md transition-colors",title:l("todo.stop"),children:E.jsx(kh,{size:12})}),_&&E.jsx("button",{onClick:q=>{q.stopPropagation(),o(r.id)},className:"p-1 text-theme-muted hover:text-accent hover:bg-theme-hover rounded-md transition-colors",title:l("todo.merge"),children:E.jsx(ev,{size:12})}),v&&E.jsx("button",{onClick:q=>{q.stopPropagation(),c(r.id)},className:"p-1 text-theme-muted hover:text-theme-text hover:bg-theme-hover rounded-md transition-colors",title:l("todo.cleanup"),children:E.jsx(Zh,{size:12})}),g&&E.jsx("button",{onClick:q=>{q.stopPropagation(),f(r.id,"headless")},className:"p-1 text-theme-muted hover:text-accent hover:bg-theme-hover rounded-md transition-colors",title:l("todo.retry"),children:E.jsx(rv,{size:12})}),E.jsx("button",{onClick:q=>{q.stopPropagation(),s(r.id)},className:"p-1 text-warm-400 hover:text-status-error hover:bg-status-error/10 rounded-md transition-colors",title:l("todo.delete"),children:E.jsx(Lh,{size:12})})]}),E.jsx(Zs,{type:"source",position:Js.Bottom,className:"!w-3 !h-3 !bg-accent !border-2 !border-white !-bottom-1.5"})]})}const S_=z.memo(C_);function I_({todo:e,allTodos:a,projectIsGitRepo:r,projectUseWorktree:t,loopMode:n,onClose:i,onEdit:u,onStart:s,onStop:o,onMerge:c,onCleanup:f,onRetry:d,onContinue:l,onFix:h,onEvent:y,isInteractive:_,onSendInput:v,debugLogging:g,showTokenUsage:p}){const[b,m]=z.useState([]),[q,x]=z.useState(!1),[w,A]=z.useState(!1),[I,T]=z.useState(!1),[O,P]=z.useState(null),[L,B]=z.useState(!1),[F,V]=z.useState(null),[te,ae]=z.useState(!1),[ve,ge]=z.useState(!1),[_e,ce]=z.useState(""),[ie,R]=z.useState(!1),[C,N]=z.useState(null),{t:S}=Os(),U=e.status==="pending"||e.status==="failed"||e.status==="stopped",H=e.status==="running",K=e.status==="completed"||e.status==="stopped"||e.status==="merged",Q=e.status==="completed",de=e.status==="completed"||e.status==="failed"||e.status==="stopped",G=!!l&&e.status==="completed"&&!!e.worktree_path,M=e.status!=="running"&&e.status!=="pending"&&(e.worktree_path||e.branch_name),D=e.status==="completed"||e.status==="failed"||e.status==="stopped"||e.status==="merged",Y=e.images?JSON.parse(e.images):[],k=e.depends_on?a.find(j=>j.id===e.depends_on):null,ee=!!k&&k.status!=="completed",Z=a.find(j=>j.depends_on===e.id&&j.merged_from_branch);z.useEffect(()=>{m([]),x(!1),V(null),ae(!1),P(null),T(!1),nv(e.id).then(j=>{m(j),x(!0)}).catch(()=>{x(!0)})},[e.id]),z.useEffect(()=>{D&&!te&&tv(e.id).then(j=>{V(j),ae(!0)}).catch(()=>{ae(!0)})},[D,te,e.id]),z.useEffect(()=>y(j=>{if(j.type==="todo:log"&&j.todoId===e.id&&j.message){const W={id:`ws-${Date.now()}-${Math.random()}`,todo_id:e.id,log_type:j.logType||"output",message:j.message,created_at:new Date().toISOString()};m(re=>[...re.slice(1-Qs),W])}if(j.type==="todo:commit"&&j.todoId===e.id&&j.message){const W={id:`ws-commit-${Date.now()}-${Math.random()}`,todo_id:e.id,log_type:"commit",message:`${j.commitHash?`[${j.commitHash}] `:""}${j.message}`,created_at:new Date().toISOString()};m(re=>[...re.slice(1-Qs),W])}}),[y,e.id]);const Re=async()=>{if(I){T(!1);return}B(!0);try{const j=await uv(e.id);P(j),T(!0)}catch{}finally{B(!1)}},qe=async()=>{try{const{files:j}=await Dh(e.project_id,e.id);j.length>0&&window.open(`/api/projects/${e.project_id}/debug-logs/${encodeURIComponent(j[0].name)}`,"_blank")}catch{}},ue=j=>{if(j<60)return`${j}s`;const W=Math.floor(j/60),re=j%60;if(W<60)return re>0?`${W}m ${re}s`:`${W}m`;const se=Math.floor(W/60),Ce=W%60;return Ce>0?`${se}h ${Ce}m`:`${se}h`},J=j=>j>=1e6?`${(j/1e6).toFixed(1)}M`:j>=1e3?`${(j/1e3).toFixed(1)}k`:String(j),Ee=eu(e.loop_config);return w?E.jsx("div",{className:"w-[380px] border-l border-warm-200 bg-theme-card overflow-y-auto p-4",children:E.jsx(Ol,{initialTitle:e.title,initialDescription:e.description??void 0,initialCliTool:e.cli_tool??void 0,initialDependsOn:e.depends_on??void 0,initialMaxTurns:e.max_turns??void 0,initialUseWorktree:e.use_worktree??null,initialLoopConfig:eu(e.loop_config),loopMode:n,projectIsGitRepo:r,projectUseWorktree:t,existingImages:Y,todoId:e.id,availableTodos:a.filter(j=>j.id!==e.id),onDeleteImage:async j=>{await iv(e.id,j)},onSave:async(j,W,re,se,Ce,He,cr,dr,be,xe,Oh)=>{await u(e.id,j,W,re,Ce,He,cr,void 0,void 0,void 0,Oh),se&&se.length>0&&await av(e.id,se.map(Xs=>({name:Xs.name,data:Xs.data}))),A(!1)},onCancel:()=>A(!1)})}):E.jsxs("div",{className:"w-[380px] border-l border-warm-200 bg-theme-card overflow-y-auto",children:[E.jsxs("div",{className:"sticky top-0 bg-theme-card border-b border-warm-200 px-4 py-3 flex items-center gap-2 z-10",children:[E.jsx(Al,{status:e.status}),Ee&&E.jsxs("span",{className:"inline-flex items-center gap-0.5 text-2xs font-mono text-warm-400 flex-shrink-0",title:S("todoForm.loopEnable"),children:[E.jsx(Jh,{size:10}),e.round_count??1,"/",Ee.maxRounds]}),E.jsx("span",{className:"flex-1 text-sm font-medium text-warm-800 truncate",children:e.title}),E.jsx("button",{onClick:()=>A(!0),className:"p-1.5 text-warm-400 hover:text-accent hover:bg-accent/10 rounded-lg transition-colors",title:S("todo.edit"),children:E.jsx(Mh,{size:14})}),E.jsx("button",{onClick:i,className:"p-1.5 text-warm-400 hover:text-warm-600 hover:bg-warm-100 rounded-lg transition-colors",children:E.jsx(Fh,{size:16})})]}),E.jsxs("div",{className:"px-4 py-4 space-y-4",children:[E.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[U&&E.jsx(E.Fragment,{children:E.jsx("button",{onClick:()=>s(e.id,"headless"),className:"btn-ghost text-xs py-1.5",title:S(ee?"todo.startWithDependency":"todo.startHeadless"),children:S("todo.startHeadless")})}),H&&E.jsx("button",{onClick:()=>o(e.id),className:"btn-ghost text-xs py-1.5 text-status-error",children:S("todo.stop")}),K&&E.jsx("button",{onClick:Re,disabled:L,className:"btn-ghost text-xs py-1.5 text-status-info disabled:opacity-30",children:S("todo.viewDiff")}),g&&D&&E.jsx("button",{onClick:qe,className:"btn-ghost text-xs py-1.5",children:S("todo.viewDebugLog")}),Q&&E.jsx("button",{onClick:()=>c(e.id),className:"btn-ghost text-xs py-1.5",children:S("todo.merge")}),M&&E.jsx("button",{onClick:()=>f(e.id),className:"btn-ghost text-xs py-1.5",children:S("todo.cleanup")}),G&&E.jsx("button",{onClick:()=>{ge(j=>!j),N(null)},disabled:ie,className:"btn-ghost text-xs py-1.5",children:S("todo.continue")}),de&&E.jsx("button",{onClick:()=>d(e.id,"headless"),className:"btn-ghost text-xs py-1.5",children:S("todo.retry")})]}),ve&&l&&E.jsxs("div",{className:"border border-theme-border rounded-lg px-3 py-2 bg-theme-bg-secondary/50 space-y-2",children:[E.jsxs("label",{className:"text-xs font-medium text-theme-text-secondary",children:[S("todo.continuePromptLabel"),(e.round_count??1)>1&&E.jsxs("span",{className:"ml-2 text-theme-muted",children:["(",S("todo.roundLabel")," ",e.round_count,")"]})]}),E.jsx("textarea",{value:_e,onChange:j=>ce(j.target.value),placeholder:S("todo.continuePromptPlaceholder"),rows:3,disabled:ie,className:"w-full bg-theme-card border border-theme-border-strong rounded-lg px-2 py-1.5 text-xs text-warm-800 focus:border-accent focus:outline-none focus:ring-2 focus:ring-accent/20 resize-y"}),C&&E.jsx("p",{className:"text-xs text-status-error",children:C}),E.jsxs("div",{className:"flex items-center gap-2",children:[E.jsx("button",{onClick:async()=>{const j=_e.trim();if(!j){N(S("todo.continuePromptRequired"));return}R(!0),N(null);try{await l(e.id,j,"headless"),ge(!1),ce("")}catch(W){N(W instanceof Error?W.message:"Continue failed")}finally{R(!1)}},disabled:ie||!_e.trim(),className:"btn-primary text-xs py-1.5 disabled:opacity-30",children:S(ie?"todo.continuing":"todo.confirmContinue")}),E.jsx("button",{onClick:()=>{ge(!1),N(null)},disabled:ie,className:"btn-ghost text-xs py-1.5",children:S("scheduleForm.cancel")})]})]}),E.jsxs("div",{children:[E.jsx("h4",{className:"text-xs font-semibold text-warm-500 uppercase tracking-wider mb-1",children:S("todo.description")}),E.jsx("p",{className:"text-xs text-warm-600 whitespace-pre-wrap leading-relaxed",children:e.description||S("todo.noDescription")})]}),Y.length>0&&E.jsxs("div",{children:[E.jsxs("h4",{className:"text-xs font-semibold text-warm-500 uppercase tracking-wider mb-1",children:[S("todo.attachedImages")," (",Y.length,")"]}),E.jsx("div",{className:"flex flex-wrap gap-2",children:Y.map(j=>E.jsx("a",{href:ru(e.id,j.id),target:"_blank",rel:"noopener noreferrer",children:E.jsx("img",{src:ru(e.id,j.id),alt:j.originalName,className:"h-16 w-16 object-cover rounded-lg border border-warm-200 hover:border-accent transition-colors"})},j.id))})]}),E.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[E.jsxs("span",{className:"text-2xs font-mono text-warm-400 badge bg-warm-100",children:["#",e.priority]}),e.cli_tool&&E.jsx("span",{className:"badge text-2xs font-mono bg-warm-200/60 text-warm-600",children:Tl(e.cli_tool||"claude").label}),k&&E.jsxs("span",{className:"badge text-2xs font-mono bg-warm-200/60 text-warm-600",children:[S("todo.dependsOn"),": ",k.title.length>20?k.title.slice(0,20)+"...":k.title]})]}),e.branch_name&&E.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[E.jsxs("span",{className:"badge text-2xs bg-warm-200/60 text-warm-600",children:[S("todo.branch"),": ",e.branch_name]}),e.merged_from_branch&&E.jsxs("span",{className:"badge text-2xs bg-warm-200/60 text-warm-600",children:[S("todo.mergedFrom"),": ",e.merged_from_branch]}),!e.worktree_path&&Z&&E.jsxs("span",{className:"badge text-2xs bg-status-warning/10 text-status-warning",children:[S("todo.transferredTo"),": ",Z.title.length>20?Z.title.slice(0,20)+"...":Z.title]})]}),e.status==="failed"&&b.length>0&&(()=>{const j=b.filter(W=>W.log_type==="error");return j.length===0?null:E.jsxs("div",{className:"rounded-lg bg-status-error/5 overflow-hidden",children:[E.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-status-error/10",children:[E.jsx("h4",{className:"text-2xs font-semibold text-status-error uppercase tracking-wider",children:S("failure.title")}),h&&E.jsx("button",{onClick:()=>h(e,j),className:"text-2xs font-medium text-status-warning hover:text-status-warning",children:S("failure.fix")})]}),E.jsx("div",{className:"px-3 py-2 space-y-1 max-h-32 overflow-y-auto",children:j.map(W=>E.jsx("div",{className:"text-2xs font-mono text-status-error whitespace-pre-wrap break-all",children:W.message},W.id))})]})})(),D&&F&&E.jsxs("div",{className:"space-y-2",children:[E.jsxs("div",{className:"flex flex-wrap gap-2",children:[F.duration_seconds!==null&&E.jsx("span",{className:"text-2xs font-mono badge bg-warm-100 text-warm-600",children:ue(F.duration_seconds)}),F.commits.length>0&&E.jsxs("span",{className:"text-2xs font-mono badge bg-status-success/10 text-status-success",children:[F.commits.length," commits"]}),F.diff_stats.files_changed>0&&E.jsxs("span",{className:"text-2xs font-mono badge bg-status-info/10 text-status-info",children:[F.diff_stats.files_changed," files",E.jsxs("span",{className:"text-status-success ml-1",children:["+",F.diff_stats.insertions]}),E.jsxs("span",{className:"text-status-error ml-1",children:["-",F.diff_stats.deletions]})]}),p&&F.token_usage&&F.token_usage.input_tokens!==null&&E.jsxs("span",{className:"text-2xs font-mono badge bg-warm-200/60 text-warm-600",children:[J(F.token_usage.input_tokens)," in / ",J(F.token_usage.output_tokens??0)," out"]})]}),F.commits.length>0&&E.jsxs("div",{children:[E.jsx("h4",{className:"section-label mb-1",children:S("result.commitHistory")}),E.jsx("div",{className:"space-y-0.5",children:F.commits.map((j,W)=>E.jsxs("div",{className:"flex items-start gap-1.5 text-2xs",children:[E.jsx("span",{className:"font-mono text-status-info flex-shrink-0",children:j.hash.slice(0,7)}),E.jsx("span",{className:"text-warm-700 truncate",children:j.message})]},W))})]})]}),I&&O&&E.jsxs("div",{children:[E.jsxs("div",{className:"flex items-center justify-between mb-1",children:[E.jsx("h4",{className:"section-label",children:S("todo.diffOutput")}),E.jsxs("div",{className:"flex gap-2 text-2xs",children:[E.jsxs("span",{className:"text-status-success",children:["+",O.stats.insertions]}),E.jsxs("span",{className:"text-status-error",children:["-",O.stats.deletions]})]})]}),E.jsx("pre",{className:"h-48 overflow-auto bg-warm-800 rounded-lg p-3 font-mono text-2xs leading-relaxed",children:O.diff?O.diff.split(`
|
|
2
|
+
`).map((j,W)=>{let re="text-warm-100";return j.startsWith("+")&&!j.startsWith("+++")?re="text-warm-100 bg-green-500/20":j.startsWith("-")&&!j.startsWith("---")?re="text-warm-100 bg-red-500/20":j.startsWith("@@")?re="text-blue-400":j.startsWith("diff ")&&(re="text-amber-300 font-bold"),E.jsx("div",{className:re,children:j},W)}):E.jsx("span",{className:"text-warm-500 italic",children:S("log.noChanges")})})]}),E.jsxs("div",{children:[E.jsx("h4",{className:"section-label mb-1",children:S("todo.systemLog")}),E.jsx(sv,{logs:b,interactive:_&&e.status==="running",todoId:e.id,onSendInput:v})]})]})]})}const A_={taskNode:S_},El=260,Cl=100;function Sl(e){const a=new Rl.graphlib.Graph;a.setDefaultEdgeLabel(()=>({})),a.setGraph({rankdir:"TB",nodesep:60,ranksep:100});for(const t of e)a.setNode(t.id,{width:El,height:Cl});for(const t of e)t.depends_on&&a.setEdge(t.depends_on,t.id);Rl.layout(a);const r=new Map;for(const t of e){const n=a.node(t.id);n&&r.set(t.id,{x:n.x-El/2,y:n.y-Cl/2})}return{nodePositions:r}}function Il(e,a,r){let t=r;const n=new Set;for(;t;){if(t===a)return!0;if(n.has(t))return!1;n.add(t);const i=e.find(u=>u.id===t);t=(i==null?void 0:i.depends_on)??null}return!1}const Ts={running:"#2196F3",completed:"#4CAF50",failed:"#E53935",stopped:"#FF9800",merged:"#9C27B0",pending:"#B8A88A"};function B_({todos:e,projectId:a,projectCliTool:r,projectIsGitRepo:t,projectUseWorktree:n,projectLoopDefaults:i,loopMode:u="toggle",onAddTodo:s,onStartTodo:o,onStopTodo:c,onDeleteTodo:f,onEditTodo:d,onMergeTodo:l,onCleanupTodo:h,onRetryTodo:y,onContinueTodo:_,onFixTodo:v,onUpdateDependency:g,onUpdatePosition:p,onEvent:b,onSendInput:m,interactiveTodos:q,debugLogging:x,showTokenUsage:w}){const[A,I]=z.useState(null),[T,O]=z.useState(!1),{t:P}=Os(),{theme:L}=Gh(),B=L==="dark",F=z.useCallback(G=>{I(M=>M===G?null:G)},[]),{initialNodes:V,initialEdges:te}=z.useMemo(()=>{const M=e.some(k=>k.position_x==null||k.position_y==null)?Sl(e).nodePositions:null,D=e.map(k=>{var ee,Z;return{id:k.id,type:"taskNode",position:{x:k.position_x??((ee=M==null?void 0:M.get(k.id))==null?void 0:ee.x)??0,y:k.position_y??((Z=M==null?void 0:M.get(k.id))==null?void 0:Z.y)??0},data:{todo:k,allTodos:e,selected:k.id===A,onStart:o,onStop:c,onDelete:f,onMerge:l,onCleanup:h,onRetry:y,onFix:v,onSelect:F}}}),Y=e.filter(k=>k.depends_on).map(k=>{var Z;const ee=((Z=e.find(Re=>Re.id===k.depends_on))==null?void 0:Z.status)??"pending";return{id:`e-${k.depends_on}-${k.id}`,source:k.depends_on,target:k.id,type:"smoothstep",animated:ee==="running",style:{stroke:Ts[ee]??"#B8A88A",strokeWidth:2},markerEnd:{type:zh.ArrowClosed,width:16,height:16,color:Ts[ee]??"#B8A88A"}}});return{initialNodes:D,initialEdges:Y}},[e,A,o,c,f,l,h,y,v,F]),[ae,ve,ge]=Hh(V),[_e,ce,ie]=Vh(te);z.useEffect(()=>{ve(V),ce(te)},[V,te,ve,ce]);const R=z.useCallback(G=>{!G.source||!G.target||!g||Il(e,G.source,G.target)||g(G.target,G.source)},[e,g]),C=z.useCallback(G=>{if(g)for(const M of G)g(M.target,null)},[g]),N=z.useCallback((G,M)=>{p&&p(M.id,M.position.x,M.position.y)},[p]),S=z.useRef(!0),U=z.useCallback(()=>{S.current=!1},[]),H=z.useCallback((G,M)=>{S.current=!0,!(!g||!M.source||!M.target)&&(g(G.target,null),Il(e,M.source,M.target)||g(M.target,M.source))},[e,g]),K=z.useCallback((G,M)=>{!S.current&&g&&g(M.target,null),S.current=!0},[g]),Q=z.useCallback(()=>{const{nodePositions:G}=Sl(e);if(ve(M=>M.map(D=>{const Y=G.get(D.id);return Y?{...D,position:Y}:D})),p)for(const[M,D]of G)p(M,D.x,D.y)},[e,ve,p]),de=A?e.find(G=>G.id===A):null;return E.jsxs("div",{className:"flex gap-0 h-[600px]",children:[E.jsxs("div",{className:"flex-1 rounded-xl border border-warm-200 overflow-hidden bg-warm-50 ",children:[E.jsxs(Kh,{nodes:ae,edges:_e,onNodesChange:ge,onEdgesChange:ie,onConnect:R,onEdgesDelete:C,onReconnectStart:U,onReconnect:H,onReconnectEnd:K,onNodeDragStop:N,nodeTypes:A_,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:2,deleteKeyCode:"Delete",proOptions:{hideAttribution:!0},children:[E.jsx(Wh,{variant:$h.Dots,gap:20,size:1,color:B?"#4A4A60":"#D4B896",style:{opacity:.3}}),E.jsx(Yh,{showInteractive:!1,className:"!bg-theme-card !border-warm-200 !shadow-soft !rounded-lg"}),E.jsx(Xh,{nodeColor:G=>{var Y;const M=G.data,D=((Y=M==null?void 0:M.todo)==null?void 0:Y.status)??"pending";return Ts[D]??"#B8A88A"},maskColor:B?"rgba(23, 23, 31, 0.7)":"rgba(245, 241, 235, 0.7)",className:"!bg-theme-card !border-warm-200 !shadow-soft !rounded-lg"})]}),E.jsxs("div",{className:"absolute top-3 right-3 flex items-center gap-2 z-10",children:[E.jsxs("button",{onClick:Q,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium bg-theme-card border border-warm-200 rounded-lg shadow-soft hover:bg-warm-50 text-warm-600 transition-colors",title:P("graph.autoLayout"),children:[E.jsx(Qh,{size:14}),P("graph.autoLayout")]}),E.jsxs("button",{onClick:()=>O(!0),className:"btn-primary text-xs py-1.5",children:[E.jsx(Bh,{size:14}),P("todos.add")]})]})]}),de&&E.jsx(I_,{todo:de,allTodos:e,projectIsGitRepo:t,projectUseWorktree:n,loopMode:u,onClose:()=>I(null),onEdit:d,onStart:o,onStop:c,onMerge:l,onCleanup:h,onRetry:y,onContinue:_,onFix:v,onEvent:b,isInteractive:q.has(de.id),onSendInput:m,debugLogging:x,showTokenUsage:w}),T&&E.jsx(Uh,{open:!0,onClose:()=>O(!1),size:"lg",children:E.jsx(Ol,{projectId:a,projectCliTool:r,projectIsGitRepo:t,projectUseWorktree:n,projectLoopDefaults:i,loopMode:u,availableTodos:e,onSave:async(G,M,D,Y,k,ee,Z,Re,qe,ue,J)=>{await s(G,M,D,Y,k,ee,Z,Re,qe,ue,J),O(!1)},onCancel:()=>O(!1)})})]})}export{B_ as default};
|