@vibeflow-tools/cli 0.12.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/cli/index.js +23 -23
- package/dist/cli/review-gate-MGMU7CIR.js +2 -0
- package/dist/client/kanban-browser.js +15 -15
- package/dist/index.js +23 -23
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as ue,b as zt,c as Dt,d as $t,g as Ft}from"./chunk-TTWEWSD3.js";import{a as de,c as Mt}from"./chunk-KJ5LYG6A.js";import{c as Y,d as
|
|
2
|
+
import{a as ue,b as zt,c as Dt,d as $t,g as Ft}from"./chunk-TTWEWSD3.js";import{a as de,c as Mt}from"./chunk-KJ5LYG6A.js";import{c as Y,d as Et}from"./chunk-YMBPKWZ4.js";import{a as Lt,b as Te,c as qe,d as Ot,g as At}from"./chunk-PFOVGF7M.js";import{a as A}from"./chunk-BZDBSBRV.js";import{d as Be,e as It,g as Rt,j as ee,k as He,l as Nt,m as Pt,n as Ce}from"./chunk-BBIA4IIO.js";import{a as oe,c as ye,d as Ue,e as We}from"./chunk-WKEMBLJR.js";import{c as rt,e as he,g as V,k as _e,l as ve,m as K,n as ce,o as q,p as Fe,q as Ct,r as Tt,s as Oe,t as jt}from"./chunk-Q7MEW67Z.js";import{a as J,b as be,d as Z,e as Pe,g as Le}from"./chunk-XHZXHACL.js";import{Command as ho}from"commander";import{execSync as Er,execFileSync as St}from"child_process";import{readFileSync as ma,readdirSync as ba,statSync as ha,existsSync as mt,writeFileSync as jn,mkdirSync as En,unlinkSync as On}from"fs";import{join as Q,resolve as va,basename as se,extname as ya,dirname as xa}from"path";import{createServer as ka}from"http";import{execSync as An}from"child_process";import{networkInterfaces as wa}from"os";import me from"express";import{WebSocketServer as Sa,WebSocket as _a}from"ws";import f from"chalk";import{createExpressMiddleware as Ca}from"@trpc/server/adapters/express";import{StreamableHTTPServerTransport as Br}from"@modelcontextprotocol/sdk/server/streamableHttp.js";import{McpServer as Pr}from"@modelcontextprotocol/sdk/server/mcp.js";import{execSync as Bt}from"child_process";function ie(t){try{let e=Bt("git config user.name",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),n=Bt("git config user.email",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();return{name:e||"Unknown",email:n||""}}catch{return{name:"Unknown",email:""}}}import{z as v}from"zod";var Ut=v.object({status:v.enum(J).optional(),type:v.enum(["Task","Bug","Feature","Enhancement","Research"]).optional(),user:v.string().optional(),tag:v.array(v.string()).optional(),limit:v.number().min(0).default(5),fields:v.array(v.string()).optional()}),Wt=v.object({id:v.string().min(1),fields:v.array(v.string()).optional()}),qt=v.object({title:v.string().min(1),description:v.string().optional(),status:v.enum(J).default("todo"),type:v.enum(["Task","Bug","Feature","Enhancement","Research"]).default("Task"),priority:v.enum(["Critical","High","Medium","Low"]).default("Medium"),tags:v.array(v.string()).optional(),url:v.string().optional(),selector:v.string().default("/"),cssSelector:v.string().optional()}),Vt=v.object({id:v.string().min(1),status:v.enum(J).optional(),title:v.string().min(1).optional(),description:v.string().optional(),branch:v.string().optional(),comment:v.string().optional(),commitMessage:v.string().optional(),skipVerify:v.boolean().default(!1),dryRun:v.boolean().default(!1)}),Kt=v.object({type:v.enum(["Task","Bug","Feature","Enhancement","Research"]).optional(),user:v.string().optional(),tag:v.array(v.string()).optional(),dryRun:v.boolean().default(!1)}),Yt=v.object({id:v.string().min(1),text:v.string().min(1),author:v.enum(["agent","user"]).default("agent")}),Qt=v.object({id:v.string().min(1),filename:v.string().min(1),contentB64:v.string().min(1)}),Gt=v.object({id:v.string().optional(),ids:v.array(v.string()).optional(),format:v.enum(["markdown","json"]).default("markdown")}),Xt=v.object({id:v.string().min(1),url:v.string().url().optional(),timeoutMs:v.number().min(1e3).max(3e5).default(6e4)}),Jt=v.object({workspace:v.string().optional(),keepLocalFiles:v.boolean().default(!0),dryRun:v.boolean().default(!1)});async function Zt(t,e){try{let{listTasks:n}=await import("./tasks-5X5AAK2N.js"),l=n(t.projectDir);e.status&&(l=l.filter(o=>o.status===e.status)),e.type&&(l=l.filter(o=>o.type===e.type)),e.user&&(l=l.filter(o=>o.author===e.user)),e.tag&&e.tag.length>0&&(l=l.filter(o=>o.tags&&e.tag.every(i=>o.tags.includes(i))));let a=l.length;if(e.limit>0&&(l=l.slice(0,e.limit)),e.fields&&e.fields.length>0){let o=new Set(e.fields);l=l.map(i=>{let s={};for(let c of Object.keys(i))o.has(c)&&(s[c]=i[c]);return s})}return{ok:!0,data:{tasks:l,total:a}}}catch(n){return{ok:!1,error:{code:"LIST_TASKS_ERROR",message:n instanceof Error?n.message:"Failed to list tasks"}}}}async function en(t,e){try{let{findTaskFilePath:n,readTaskFile:l}=await import("./tasks-5X5AAK2N.js"),a=n(t.projectDir,e.id);if(!a)return{ok:!1,error:{code:"TASK_NOT_FOUND",message:`Task not found: ${e.id}`,suggestion:"Check the task ID and try again"}};let o=l(a);if(!o)return{ok:!1,error:{code:"TASK_READ_ERROR",message:`Failed to read task: ${e.id}`}};if(e.fields&&e.fields.length>0){let i=new Set(e.fields),s={};for(let c of Object.keys(o))i.has(c)&&(s[c]=o[c]);return{ok:!0,data:s}}return{ok:!0,data:o}}catch(n){return{ok:!1,error:{code:"GET_TASK_ERROR",message:n instanceof Error?n.message:"Failed to get task"}}}}async function tn(t,e){try{if(t.dryRun)return{ok:!0,data:{id:"dry-run",title:e.title,description:e.description??"",status:e.status,selector:e.selector,created:new Date().toISOString()},steps:["Dry run: task would be created"]};let{createTask:n}=await import("./tasks-5X5AAK2N.js");return{ok:!0,data:n(t.projectDir,{title:e.title,description:e.description??"",status:e.status,type:e.type,priority:e.priority,tags:e.tags,url:e.url,selector:e.selector,cssSelector:e.cssSelector})}}catch(n){return{ok:!1,error:{code:"CREATE_TASK_ERROR",message:n instanceof Error?n.message:"Failed to create task"}}}}async function nn(t,e){try{let{findTaskFilePath:n,readTaskFile:l}=await import("./tasks-5X5AAK2N.js"),a=n(t.projectDir,e.id),o=a?l(a):null;if(!o)return{ok:!1,error:{code:"TASK_NOT_FOUND",message:`Task not found: ${e.id}`}};if(e.status==="review"){let{loadSettings:g}=await import("./settings-PYRZJJ4H.js"),{checkReviewTransition:p}=await import("./review-gate-MGMU7CIR.js"),w=g(t.projectDir),_=p(t.projectDir,e.id,{comment:e.comment,commitMessage:e.commitMessage,skipVerify:e.skipVerify},{projectDir:t.projectDir,settings:w});if(!_.ok)return{ok:!1,error:{code:_.code,message:_.message,suggestion:_.suggestion}}}if(t.dryRun)return{ok:!0,data:o,steps:["Dry run: task would be updated"]};let{updateTask:i}=await import("./tasks-5X5AAK2N.js"),s={};e.status&&(s.status=e.status),e.title&&(s.title=e.title),e.description!==void 0&&(s.description=e.description),e.branch&&(s.branchName=e.branch),e.status==="in-progress"&&(s.verified=!1);let c=i(t.projectDir,e.id,s);if(!c)return{ok:!1,error:{code:"TASK_NOT_FOUND",message:`Task not found: ${e.id}`}};if(e.comment){let{addComment:g}=await import("./comments-TQHWMRB4.js");g(t.projectDir,e.id,"agent",e.comment)}let u=[];if(e.status==="review"&&e.commitMessage){let{loadSettings:g}=await import("./settings-PYRZJJ4H.js"),{commitTaskChanges:p}=await import("./git-NH6PGXOM.js");if(g(t.projectDir).autoCommit){let _=p(t.projectDir,c.id,e.commitMessage);_.ok?u.push(`Committed: ${_.sha}`):u.push(`Commit failed: ${_.error}`)}}return{ok:!0,data:c,steps:u.length>0?u:void 0}}catch(n){return{ok:!1,error:{code:"UPDATE_TASK_ERROR",message:n instanceof Error?n.message:"Failed to update task"}}}}async function rn(t,e){try{if(t.dryRun){let{listTasks:l}=await import("./tasks-5X5AAK2N.js"),a=l(t.projectDir);return a=a.filter(o=>o.status==="todo"),e.type&&(a=a.filter(o=>o.type===e.type)),e.tag&&e.tag.length>0&&(a=a.filter(o=>o.tags&&e.tag.every(i=>o.tags.includes(i)))),a.length===0?{ok:!1,error:{code:"NO_TASKS_AVAILABLE",message:"No tasks available to claim"}}:{ok:!0,data:a[0],steps:["Dry run: task would be claimed"]}}let n=(await import("./tasks-5X5AAK2N.js")).claimNextTaskAtomic(t.projectDir,{type:e.type,user:e.user,tag:e.tag,author:t.userId});return n?{ok:!0,data:n}:{ok:!1,error:{code:"NO_TASKS_AVAILABLE",message:"No tasks available to claim"}}}catch(n){return{ok:!1,error:{code:"CLAIM_TASK_ERROR",message:n instanceof Error?n.message:"Failed to claim task"}}}}async function an(t,e){try{let{addComment:n}=await import("./comments-TQHWMRB4.js");return{ok:!0,data:await n(t.projectDir,e.id,e.author,e.text)}}catch(n){return{ok:!1,error:{code:"ADD_COMMENT_ERROR",message:n instanceof Error?n.message:"Failed to add comment"}}}}async function on(t,e){try{let{saveFile:n,validateFilename:l}=await import("./files-R6BRCQQX.js"),a=Buffer.from(e.contentB64,"base64"),o=l(e.filename,a.length);return o.valid?{ok:!0,data:n(t.projectDir,e.id,e.filename,a)}:{ok:!1,error:{code:o.errorCode,message:o.errorMessage}}}catch(n){return{ok:!1,error:{code:"ATTACH_FILE_ERROR",message:n instanceof Error?n.message:"Failed to attach file"}}}}async function ln(t,e){try{let{listTasks:n,renderTaskForAgent:l,findTaskFilePath:a,readTaskFile:o}=await import("./tasks-5X5AAK2N.js"),{listComments:i}=await import("./comments-TQHWMRB4.js"),{listFiles:s}=await import("./files-R6BRCQQX.js");if(e.id){let g=a(t.projectDir,e.id);if(!g)return{ok:!1,error:{code:"TASK_NOT_FOUND",message:`Task not found: ${e.id}`}};let p=o(g);if(!p)return{ok:!1,error:{code:"TASK_READ_ERROR",message:`Failed to read task: ${e.id}`}};let w=i(t.projectDir,e.id),_=s(t.projectDir,e.id);return{ok:!0,data:l(p,g,w,_,t.projectDir)}}if(e.ids&&e.ids.length>0){let g=[];for(let p of e.ids){let w=a(t.projectDir,p);if(!w)continue;let _=o(w);if(!_)continue;let z=i(t.projectDir,p),$=s(t.projectDir,p);g.push(l(_,w,z,$,t.projectDir))}return{ok:!0,data:g.join(`
|
|
3
3
|
|
|
4
4
|
`)}}let c=n(t.projectDir),u=[];for(let g of c){let p=a(t.projectDir,g.id);if(!p)continue;let w=i(t.projectDir,g.id),_=s(t.projectDir,g.id);u.push(l(g,p,w,_,t.projectDir))}return{ok:!0,data:u.join(`
|
|
5
5
|
|
|
6
|
-
`)}}catch(n){return{ok:!1,error:{code:"EXPORT_PROMPT_ERROR",message:n instanceof Error?n.message:"Failed to export prompt"}}}}var Ht=Promise.resolve();function Nr(t){let e=Ht.then(t,t);return Ht=e.catch(()=>{}),e}async function sn(t,e){return Nr(async()=>{let{verifyTask:n,addVerifySystemComment:l}=await import("./verify-ZOAIUNRD.js"),a=e.timeoutMs??6e4,o=new AbortController,i=setTimeout(()=>o.abort(),a);i.unref?.();try{let s=await n(t.projectDir,e.id,{url:e.url,signal:o.signal});return await l(t.projectDir,e.id,s),{ok:!0,data:s}}catch(s){let c=s instanceof Error&&"code"in s?s:null;if(c)return{ok:!1,error:{code:c.code,message:c.message,suggestion:c.suggestion}};let u=s instanceof Error?s.message:String(s);return u==="VERIFY_TIMEOUT"||o.signal.aborted?{ok:!1,error:{code:"VERIFY_TIMEOUT",message:`Verification timed out after ${e.timeoutMs}ms`,suggestion:"Increase timeoutMs or check that the app is running."}}:{ok:!1,error:{code:"VERIFY_TASK_ERROR",message:u}}}finally{clearTimeout(i)}})}async function cn(t,e){try{let{push:n}=await import("./push-5NNA77B2.js");return{ok:!0,data:await n(t.projectDir,{workspace:e.workspace,keepLocalFiles:e.keepLocalFiles,dryRun:e.dryRun})}}catch(n){return{ok:!1,error:{code:"PUSH_TASKS_ERROR",message:n instanceof Error?n.message:"Failed to push tasks"}}}}var un=[{name:"list_tasks",title:"List tasks",description:"List tasks with optional filters. Returns task list with configurable fields.",cliRef:{command:"tasks",flags:["--status","--type","--user","--tag","--limit","--fields"]},category:"task-read",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},input:Ut.shape,run:(t,e)=>Zt(t,e)},{name:"get_task",title:"Get task",description:"Get a single task by ID with full details including comments and files.",cliRef:{command:"tasks",flags:["--get"]},category:"task-read",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},input:Wt.shape,run:(t,e)=>en(t,e)},{name:"create_task",title:"Create task",description:"Create a new task with title, description, and metadata.",cliRef:{command:"tasks",flags:["--add","--title","--description","--type","--priority","--tag"]},category:"task-write",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},input:
|
|
6
|
+
`)}}catch(n){return{ok:!1,error:{code:"EXPORT_PROMPT_ERROR",message:n instanceof Error?n.message:"Failed to export prompt"}}}}var Ht=Promise.resolve();function Nr(t){let e=Ht.then(t,t);return Ht=e.catch(()=>{}),e}async function sn(t,e){return Nr(async()=>{let{verifyTask:n,addVerifySystemComment:l}=await import("./verify-ZOAIUNRD.js"),a=e.timeoutMs??6e4,o=new AbortController,i=setTimeout(()=>o.abort(),a);i.unref?.();try{let s=await n(t.projectDir,e.id,{url:e.url,signal:o.signal});return await l(t.projectDir,e.id,s),{ok:!0,data:s}}catch(s){let c=s instanceof Error&&"code"in s?s:null;if(c)return{ok:!1,error:{code:c.code,message:c.message,suggestion:c.suggestion}};let u=s instanceof Error?s.message:String(s);return u==="VERIFY_TIMEOUT"||o.signal.aborted?{ok:!1,error:{code:"VERIFY_TIMEOUT",message:`Verification timed out after ${e.timeoutMs}ms`,suggestion:"Increase timeoutMs or check that the app is running."}}:{ok:!1,error:{code:"VERIFY_TASK_ERROR",message:u}}}finally{clearTimeout(i)}})}async function cn(t,e){try{let{push:n}=await import("./push-5NNA77B2.js");return{ok:!0,data:await n(t.projectDir,{workspace:e.workspace,keepLocalFiles:e.keepLocalFiles,dryRun:e.dryRun})}}catch(n){return{ok:!1,error:{code:"PUSH_TASKS_ERROR",message:n instanceof Error?n.message:"Failed to push tasks"}}}}var un=[{name:"list_tasks",title:"List tasks",description:"List tasks with optional filters. Returns task list with configurable fields.",cliRef:{command:"tasks",flags:["--status","--type","--user","--tag","--limit","--fields"]},category:"task-read",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},input:Ut.shape,run:(t,e)=>Zt(t,e)},{name:"get_task",title:"Get task",description:"Get a single task by ID with full details including comments and files.",cliRef:{command:"tasks",flags:["--get"]},category:"task-read",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},input:Wt.shape,run:(t,e)=>en(t,e)},{name:"create_task",title:"Create task",description:"Create a new task with title, description, and metadata.",cliRef:{command:"tasks",flags:["--add","--title","--description","--type","--priority","--tag"]},category:"task-write",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},input:qt.shape,run:(t,e)=>tn(t,e)},{name:"update_task",title:"Update task",description:"Update an existing task. Supports status changes, title/description updates, and adding comments.",cliRef:{command:"tasks",flags:["--edit","--set-status","--title","--description","--branch","--comment","--commit-message","--skip-verify"]},category:"task-mutate",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},input:Vt.shape,run:(t,e)=>nn(t,e)},{name:"claim_next_task",title:"Claim next task",description:"Claim the highest-priority todo task and set it to in-progress.",cliRef:{command:"tasks",flags:["--next","--type","--tag"]},category:"task-mutate",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},input:Kt.shape,run:(t,e)=>rn(t,e)},{name:"add_comment",title:"Add comment",description:"Add a comment to a task.",cliRef:{command:"tasks",flags:["--comment"]},category:"task-write",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},input:Yt.shape,run:(t,e)=>an(t,e)},{name:"attach_file",title:"Attach file",description:"Attach a file to a task (content as base64).",cliRef:{command:"tasks",flags:["--report-file"]},category:"task-write",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},input:Qt.shape,run:(t,e)=>on(t,e)},{name:"export_prompt",title:"Export prompt",description:"Export task(s) as formatted prompt for LLM consumption.",cliRef:{command:"tasks",flags:["--get","--json"]},category:"task-read",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},input:Gt.shape,run:(t,e)=>ln(t,e)},{name:"verify_task",title:"Verify task",description:"Run visual verification on a task. Captures baseline and compares.",cliRef:{command:"verify",flags:["--json","--url"]},category:"task-mutate",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},input:Xt.shape,run:(t,e)=>sn(t,e)},{name:"push_tasks",title:"Push tasks",description:"Push local tasks to the SaaS server.",cliRef:{command:"push",flags:["--workspace","--keep-local-files"]},category:"admin",annotations:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},input:Jt.shape,run:(t,e)=>cn(t,e)}];function dn(t,e="local"){let n=new Pr({name:"vibeflow",version:"0.1.0"}),l={projectDir:t,mode:e,userId:ie(t).name};for(let a of un)n.tool(a.name,a.description,a.input,async o=>{let i=await a.run(l,o);return Lr(i)});return n}function Lr(t){return t.ok?{content:[{type:"text",text:JSON.stringify(t.data,null,2)}]}:{content:[{type:"text",text:JSON.stringify({error:t.error?.code??"UNKNOWN_ERROR",message:t.error?.message??"An unknown error occurred",suggestion:t.error?.suggestion},null,2)}]}}import{existsSync as Or,readFileSync as Ar}from"fs";import{join as zr}from"path";import{homedir as Mr}from"os";import{createHash as pn,timingSafeEqual as Dr}from"crypto";function $r(){try{let t=zr(Mr(),".vibeflow","auth.json");if(!Or(t))return null;let e=Ar(t,"utf-8");return JSON.parse(e).token??null}catch{return null}}function Fr(t,e){let n=pn("sha256").update(t).digest(),l=pn("sha256").update(e).digest();return Dr(n,l)}function fn(t,e,n){let l=t.ip??t.socket.remoteAddress??"",a=l==="127.0.0.1"||l==="::1"||l==="::ffff:127.0.0.1",o=$r();if(!o){if(a){n();return}e.status(401).json({error:"Unauthorized",message:"MCP requires authentication for non-loopback connections"});return}let i=t.headers.authorization;if(!i?.startsWith("Bearer ")){e.status(401).json({error:"Unauthorized",message:"Missing or invalid Authorization header"});return}let s=i.slice(7);if(!Fr(s,o)){e.status(403).json({error:"Forbidden",message:"Invalid authentication token"});return}n()}import Hr from"crypto";var le=new Map,Ur=1800*1e3,je=null;function Wr(){let t=Date.now();for(let[e,n]of le)t-n.lastSeen>Ur&&(n.transport.close().catch(()=>{}),le.delete(e))}function qr(){je||(je=setInterval(Wr,300*1e3),je.unref())}function gn(t){let e=le.get(t);e&&(e.lastSeen=Date.now())}function mn(t,e,n="local"){qr(),t.use("/api/mcp",(l,a,o)=>{if(a.setHeader("Access-Control-Allow-Origin","http://localhost:3700"),a.setHeader("Access-Control-Allow-Methods","GET, POST, DELETE, OPTIONS"),a.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization, mcp-session-id"),l.method==="OPTIONS"){a.status(204).end();return}o()}),t.use("/api/mcp",fn),t.all("/api/mcp",async(l,a)=>{try{let o=l.headers["mcp-session-id"];if(l.method==="POST")if(o){let i=le.get(o);if(!i){a.status(404).json({error:"Session not found"});return}gn(o),await i.transport.handleRequest(l,a,l.body)}else{let i=dn(e,n),s=new Br({sessionIdGenerator:()=>Hr.randomUUID(),enableJsonResponse:!0});await i.connect(s),await s.handleRequest(l,a,l.body);let c=s.sessionId;if(!c){a.status(500).json({error:"Failed to create session"});return}let u=Date.now();le.set(c,{server:i,transport:s,createdAt:u,lastSeen:u})}else if(l.method==="GET"){if(!o){a.status(400).json({error:"Session ID required for GET"});return}let i=le.get(o);if(!i){a.status(404).json({error:"Session not found"});return}gn(o),await i.transport.handleRequest(l,a,l.body)}else if(l.method==="DELETE"){if(!o){a.status(400).json({error:"Session ID required for DELETE"});return}let i=le.get(o);i&&(await i.transport.close(),le.delete(o)),a.status(200).json({ok:!0})}}catch(o){console.error("[MCP] Request error:",o),a.headersSent||a.status(500).json({error:"Internal server error",message:o instanceof Error?o.message:"Unknown error"})}})}function at(){je&&(clearInterval(je),je=null);for(let[,t]of le)t.transport.close().catch(()=>{});le.clear()}import*as Vr from"cheerio";import{readdirSync as Go,statSync as Xo}from"fs";import{join as Zo,extname as ei}from"path";function bn(t,e){let n=`<script data-vibeflow-overlay>${e}</script>`,l=t.lastIndexOf("</body>");return l!==-1?t.slice(0,l)+n+`
|
|
7
7
|
`+t.slice(l):t+`
|
|
8
8
|
`+n}import{watch as Kr}from"chokidar";function ot(t,e){let n=Kr(t,{persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}});return n.on("change",l=>{e.onChange(l)}),e.onAdd&&n.on("add",e.onAdd),e.onUnlink&&n.on("unlink",e.onUnlink),n}function Ae(t,e){return ot(t,{onChange:e.onChanged,onAdd:e.onChanged,onUnlink:e.onDeleted})}var it=`"use strict";(()=>{var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_react_production_min=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js"(exports){"use strict";var l=Symbol.for("react.element"),n=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),t=Symbol.for("react.provider"),u=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),z=Symbol.iterator;function A(a){return a===null||typeof a!="object"?null:(a=z&&a[z]||a["@@iterator"],typeof a=="function"?a:null)}var B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a,this.context=b,this.refs=D,this.updater=e||B}E.prototype.isReactComponent={};E.prototype.setState=function(a,b){if(typeof a!="object"&&typeof a!="function"&&a!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,a,b,"setState")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a,this.context=b,this.refs=D,this.updater=e||B}var H=G.prototype=new F;H.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function M(a,b,e){var d,c={},k=null,h=null;if(b!=null)for(d in b.ref!==void 0&&(h=b.ref),b.key!==void 0&&(k=""+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(g===1)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)c[d]===void 0&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}function N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return typeof a=="object"&&a!==null&&a.$$typeof===l}function escape(a){var b={"=":"=0",":":"=2"};return"$"+a.replace(/[=:]/g,function(a2){return b[a2]})}var P=/\\/+/g;function Q(a,b){return typeof a=="object"&&a!==null&&a.key!=null?escape(""+a.key):b.toString(36)}function R(a,b,e,d,c){var k=typeof a;(k==="undefined"||k==="boolean")&&(a=null);var h=!1;if(a===null)h=!0;else switch(k){case"string":case"number":h=!0;break;case"object":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=d===""?"."+Q(h,0):d,I(c)?(e="",a!=null&&(e=a.replace(P,"$&/")+"/"),R(c,b,e,"",function(a2){return a2})):c!=null&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?"":(""+c.key).replace(P,"$&/")+"/")+a)),b.push(c)),1;if(h=0,d=d===""?".":d+":",I(a))for(var g=0;g<a.length;g++){k=a[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),typeof f=="function")for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(k==="object")throw b=String(a),Error("Objects are not valid as a React child (found: "+(b==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":b)+"). If you meant to render a collection of children, use an array instead.");return h}function S(a,b,e){if(a==null)return a;var d=[],c=0;return R(a,d,"","",function(a2){return b.call(e,a2,c++)}),d}function T(a){if(a._status===-1){var b=a._result;b=b(),b.then(function(b2){(a._status===0||a._status===-1)&&(a._status=1,a._result=b2)},function(b2){(a._status===0||a._status===-1)&&(a._status=2,a._result=b2)}),a._status===-1&&(a._status=0,a._result=b)}if(a._status===1)return a._result.default;throw a._result}var U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error("act(...) is not supported in production builds of React.")}exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;return S(a,function(){b++}),b},toArray:function(a){return S(a,function(a2){return a2})||[]},only:function(a){if(!O(a))throw Error("React.Children.only expected to receive a single React element child.");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;exports.cloneElement=function(a,b,e){if(a==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+a+".");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(b!=null){if(b.ref!==void 0&&(k=b.ref,h=K.current),b.key!==void 0&&(c=""+b.key),a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=b[f]===void 0&&g!==void 0?g[f]:b[f])}var f=arguments.length-2;if(f===1)d.children=e;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){return a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},a.Provider={$$typeof:t,_context:a},a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);return b.type=a,b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:b===void 0?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version="18.3.1"}});var require_react=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js"(exports,module){"use strict";module.exports=require_react_production_min()}});var require_react_jsx_runtime_production_min=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js"(exports){"use strict";var f=require_react(),k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q}});var require_jsx_runtime=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js"(exports,module){"use strict";module.exports=require_react_jsx_runtime_production_min()}});var require_scheduler_production_min=__commonJS({"../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js"(exports){"use strict";function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return a.length===0?null:a[0]}function k(a){if(a.length===0)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}function g(a,b){var c=a.sortIndex-b.sortIndex;return c!==0?c:a.id-b.id}typeof performance=="object"&&typeof performance.now=="function"?(l=performance,exports.unstable_now=function(){return l.now()}):(p=Date,q=p.now(),exports.unstable_now=function(){return p.now()-q});var l,p,q,r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);b!==null;){if(b.callback===null)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){if(B=!1,G(a),!A)if(h(r)!==null)A=!0,I(J);else{var b=h(t);b!==null&&K(H,b.startTime-a)}}function J(a,b){A=!1,B&&(B=!1,E(L),L=-1),z=!0;var c=y;try{for(G(b),v=h(r);v!==null&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(typeof d=="function"){v.callback=null,y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now(),typeof e=="function"?v.callback=e:v===h(r)&&k(r),G(b)}else k(r);v=h(r)}if(v!==null)var w=!0;else{var m=h(t);m!==null&&K(H,m.startTime-b),w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;function M(){return!(exports.unstable_now()-Q<P)}function R(){if(O!==null){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;typeof F=="function"?S=function(){F(R)}:typeof MessageChannel<"u"?(T=new MessageChannel,U=T.port2,T.port1.onmessage=R,S=function(){U.postMessage(null)}):S=function(){D(R,0)};var T,U;function I(a){O=a,N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<a?Math.floor(1e3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};exports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();switch(typeof c=="object"&&c!==null?(c=c.delay,c=typeof c=="number"&&0<c?d+c:d):c=d,a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1e4;break;default:e=5e3}return e=c+e,a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1},c>d?(a.sortIndex=c,f(t,a),h(r)===null&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J))),a};exports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}}}});var require_scheduler=__commonJS({"../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js"(exports,module){"use strict";module.exports=require_scheduler_production_min()}});var require_react_dom_production_min=__commonJS({"../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js"(exports){"use strict";var aa=require_react(),ca=require_scheduler();function p(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++)b+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var da=new Set,ea={};function fa(a,b){ha(a,b),ha(a+"Capture",b)}function ha(a,b){for(ea[a]=b,a=0;a<b.length;a++)da.add(b[a])}var ia=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la={},ma={};function oa(a){return ja.call(ma,a)?!0:ja.call(la,a)?!1:ka.test(a)?ma[a]=!0:(la[a]=!0,!1)}function pa(a,b,c,d){if(c!==null&&c.type===0)return!1;switch(typeof b){case"function":case"symbol":return!0;case"boolean":return d?!1:c!==null?!c.acceptsBooleans:(a=a.toLowerCase().slice(0,5),a!=="data-"&&a!=="aria-");default:return!1}}function qa(a,b,c,d){if(b===null||typeof b>"u"||pa(a,b,c,d))return!0;if(d)return!1;if(c!==null)switch(c.type){case 3:return!b;case 4:return b===!1;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=b===2||b===3||b===4,this.attributeName=d,this.attributeNamespace=e,this.mustUseProperty=c,this.propertyName=a,this.type=b,this.sanitizeURL=f,this.removeEmptyString=g}var z={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});z.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});function ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;(e!==null?e.type!==0:d||!(2<b.length)||b[0]!=="o"&&b[0]!=="O"||b[1]!=="n"&&b[1]!=="N")&&(qa(b,c,e,d)&&(c=null),d||e===null?oa(b)&&(c===null?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=c===null?e.type===3?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,c===null?a.removeAttribute(b):(e=e.type,c=e===3||e===4&&c===!0?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}var ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for("react.element"),wa=Symbol.for("react.portal"),ya=Symbol.for("react.fragment"),za=Symbol.for("react.strict_mode"),Aa=Symbol.for("react.profiler"),Ba=Symbol.for("react.provider"),Ca=Symbol.for("react.context"),Da=Symbol.for("react.forward_ref"),Ea=Symbol.for("react.suspense"),Fa=Symbol.for("react.suspense_list"),Ga=Symbol.for("react.memo"),Ha=Symbol.for("react.lazy"),Ia=Symbol.for("react.offscreen"),Ja=Symbol.iterator;function Ka(a){return a===null||typeof a!="object"?null:(a=Ja&&a[Ja]||a["@@iterator"],typeof a=="function"?a:null)}var A=Object.assign,La;function Ma(a){if(La===void 0)try{throw Error()}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||""}return\`
|
|
9
9
|
\`+La+a}var Na=!1;function Oa(a,b){if(!a||Na)return"";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error()},Object.defineProperty(b.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error()}catch(l){d=l}a()}}catch(l){if(l&&d&&typeof l.stack=="string"){for(var e=l.stack.split(\`
|
|
@@ -1697,8 +1697,8 @@ var PROTO_CONFIG = {
|
|
|
1697
1697
|
screenshotsUrl: _vfOrigin + '/screenshots/'
|
|
1698
1698
|
};
|
|
1699
1699
|
`+it}function hn(t){return`var PROTO_CONFIG = ${JSON.stringify({port:0,wsUrl:"",apiUrl:`${t}/api/overlay/tasks`,pagesUrl:"",screenshotsUrl:""})};
|
|
1700
|
-
`+it}import{existsSync as Yr,readFileSync as
|
|
1701
|
-
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-0\\.5{margin-bottom:.125rem}.ml-1\\.5{margin-left:.375rem}.mr-0\\.5{margin-right:.125rem}.mt-0\\.5{margin-top:.125rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.min-h-\\[30px\\]{min-height:30px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-full{width:100%}.min-w-\\[100px\\]{min-width:100px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-text{cursor:text}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/60{border-color:rgba(51,65,85,.6)}.border-slate-800\\/60{border-color:rgba(30,41,59,.6)}.border-violet-700\\/50{border-color:rgba(109,40,217,.5)}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-900\\/30{background-color:rgba(76,29,149,.3)}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\\[10px\\]{font-size:10px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--p-bg:#020c1b;--p-surface:#080f1e;--p-card:#0a0f1e;--p-input:#050d1a;--p-hover:#0d1f38;--p-border:#1e293b;--p-border-s:#1e3a5f;--p-border-t:#334155;--p-text:#e2e8f0;--p-text-sub:#cbd5e1;--p-text-m:#94a3b8;--p-text-f:#64748b;--p-text-g:#475569;--p-white:#fff;--p-blue:#2563eb;--p-blue-700:#1d4ed8;--p-blue-300:#60a5fa;--p-blue-200:#93c5fd;--p-purple:#a78bfa;--p-purple-300:#c4b5fd;--p-cyan-300:#7dd3fc;--p-amber:#f59e0b;--p-amber-300:#fcd34d;--p-green:#22c55e;--p-green-300:#6ee7b7;--p-red:#f87171;--p-red-500:#ef4444;--p-bg-2:#0f172a;--p-bg-3:#1e293b;--p-shadow-lg:0 8px 24px rgba(2,6,23,.28);--p-overlay:rgba(15,23,42,.2)}body,html{height:100%;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--p-bg);color:var(--p-text)}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--p-border-t) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--p-border-t);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--p-text-g)}#kanban-board{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden}#kanban-board::-webkit-scrollbar{display:none}#kanban-scroll-track{position:fixed;bottom:0;left:0;right:0;height:6px;background:transparent;z-index:40;pointer-events:none}#kanban-scroll-thumb{position:absolute;top:1px;height:4px;border-radius:2px;background:var(--p-border-t);cursor:pointer;pointer-events:auto;transition:background .15s}#kanban-scroll-thumb.dragging,#kanban-scroll-thumb:hover{background:var(--p-text-g)}.board-column{flex:0 0 280px;width:280px;display:flex;flex-direction:column;gap:6px;min-height:0}.column-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--p-surface);border:1px solid var(--p-border)}.column-scroll{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:5px;padding-bottom:8px}.column-scroll[data-status=done]{overflow-y:hidden}.task-card{background:var(--p-card);border:1px solid var(--p-border);border-radius:10px;padding:11px 13px;cursor:grab;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s;display:flex;flex-direction:column;gap:7px}.task-card:hover{border-color:var(--p-border-s);background:var(--p-hover);box-shadow:0 4px 16px rgba(0,0,0,.3);transform:translateY(-1px)}.task-card:active{cursor:grabbing;transform:scale(.98)}.task-card.dragging{opacity:.4}.drag-over{outline:2px dashed rgba(59,130,246,.5);outline-offset:-3px;border-radius:10px;background:rgba(59,130,246,.04)}.file-compact-actions{opacity:0}.group\\/file-compact:hover .file-compact-actions{opacity:1}.file-normal-actions,.group\\/file-compact:hover .file-compact-ts{opacity:0}.group\\/file:hover .file-normal-actions{opacity:1}.group\\/file:hover{background:rgba(30,41,59,.6)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sd-backlog{background:#475569}.sd-todo{background:#f59e0b}.sd-inprogress{background:#3b82f6;animation:pulse-prog 2s ease-in-out infinite}.sd-review{background:#a855f7}.sd-done{background:#22c55e}@keyframes pulse-prog{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.5)}50%{box-shadow:0 0 0 4px rgba(59,130,246,0)}}.type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:500;border:1px solid}.type-bug{color:#fca5a5;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25)}.type-feature{color:#86efac;background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}.type-enhancement{color:#93c5fd;background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2)}.type-task{color:#cbd5e1;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2)}.type-research{color:#c4b5fd;background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2)}.source-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:JetBrains Mono,monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;cursor:pointer;text-decoration:none;transition:background .1s,border-color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:11px;height:11px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:spin .7s linear infinite}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--p-card);border:1px solid var(--p-border);border-radius:14px;width:520px;max-width:95vw;overflow:hidden;display:flex;flex-direction:column}.type-picker{display:flex;align-items:center;gap:6px}.type-picker-trigger{display:flex;align-items:center;gap:4px;width:auto;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);font-size:13px;cursor:pointer;white-space:nowrap}.type-picker-label{font-size:11px;font-weight:500;color:var(--p-text-m);letter-spacing:.02em}.type-picker-trigger:hover{border-color:var(--p-text-g);color:var(--p-text)}.type-picker-options{display:none;align-items:center;gap:4px}.type-picker-options.open{display:flex}.type-picker-option{width:28px;height:28px;border-radius:7px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px}.type-picker-option:hover{border-color:#60a5fa;color:#bfdbfe}#detail-panel-container{min-width:360px;max-width:min(860px,100%);position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid #1e293b;animation:panel-slide-in .18s ease-out}#detail-panel-container.resizing{box-shadow:-12px 0 32px rgba(2,8,23,.6)}#detail-panel-resize-handle{position:absolute;left:0;top:0;width:12px;height:100%;cursor:ew-resize;z-index:5}#detail-panel-resize-handle:hover{background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(59,130,246,0))}body.proto-resizing-panel{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}#detail-panel{flex:1;background:var(--p-card);display:flex;flex-direction:column;overflow:hidden}@keyframes panel-slide-in{0%{width:0;opacity:0}to{width:420px;opacity:1}}.dp-header{padding:14px 16px 10px}.dp-header,.dp-tabs{border-bottom:1px solid var(--p-border);background:var(--p-surface);flex-shrink:0}.dp-tabs{display:flex;gap:0}.dp-tab{padding:8px 14px;font-size:12px;font-weight:500;color:var(--p-text-g);cursor:pointer;transition:color .12s,border-color .12s;background:none;border:none;border-bottom:2px solid transparent}.dp-tab:hover{color:var(--p-text-m)}.dp-tab.active{color:#93c5fd;border-bottom-color:#3b82f6}.dp-body{overflow:hidden}.dp-body,.dp-body>.dp-pane{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}.dp-body>.dp-pane{padding:14px 16px}#dp-details-pane,.dp-body>.dp-pane{overflow-y:auto;background:var(--p-card)}.dp-footer{padding:10px 16px 12px;border-top:1px solid var(--p-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--p-card)}.dp-source-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;white-space:nowrap}.dp-source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}.dp-status-btn{padding:3px 10px;border-radius:6px;font-size:10px;font-weight:500;border:1px solid var(--p-border-t);color:var(--p-text-f);background:transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.dp-status-btn:hover{border-color:var(--p-text-g);color:var(--p-text-m)}.dp-status-btn.active-backlog{border-color:#475569;background:rgba(100,116,139,.1);color:#94a3b8}.dp-status-btn.active-todo{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.1);color:#f59e0b}.dp-status-btn.active-in-progress{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.1);color:#60a5fa}.dp-status-btn.active-review{border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.1);color:#a855f7}.dp-status-btn.active-done{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08);color:#22c55e}.dp-input{width:100%;padding:7px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:13px;font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;box-sizing:border-box}.dp-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-input::-moz-placeholder{color:var(--p-border-t)}.dp-input::placeholder{color:var(--p-border-t)}.dp-textarea{width:100%;padding:8px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:12px;font-family:monospace;line-height:1.6;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.dp-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-textarea::-moz-placeholder{color:var(--p-border-t)}.dp-textarea::placeholder{color:var(--p-border-t)}.dp-meta-label{font-size:10px;font-weight:600;color:var(--p-text-g);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 4px rgba(74,222,128,0)}}@keyframes agent-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes away-glow{0%,to{box-shadow:0 0 0 0 rgba(37,99,235,.45),0 0 24px rgba(37,99,235,.1);border-color:rgba(37,99,235,.35)}50%{box-shadow:0 0 0 14px rgba(37,99,235,0),0 0 48px rgba(37,99,235,.2);border-color:rgba(96,165,250,.6)}}@keyframes away-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.focus-within\\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\\:bg-red-900\\/40:hover{background-color:rgba(127,29,29,.4)}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/50:hover{background-color:rgba(51,65,85,.5)}.hover\\:bg-slate-700\\/60:hover{background-color:rgba(51,65,85,.6)}.hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\\:bg-violet-800\\/30:hover{background-color:rgba(91,33,182,.3)}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\\:underline:hover{text-decoration-line:underline}.group\\/comment:hover .group-hover\\/comment\\:opacity-100{opacity:1}`;var st='"use strict";(()=>{var Lg=Object.create;var Rd=Object.defineProperty;var Sg=Object.getOwnPropertyDescriptor;var Ig=Object.getOwnPropertyNames;var Cg=Object.getPrototypeOf,wg=Object.prototype.hasOwnProperty;var sa=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var kg=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ig(t))!wg.call(e,o)&&o!==a&&Rd(e,o,{get:()=>t[o],enumerable:!(r=Sg(t,o))||r.enumerable});return e};var A=(e,t,a)=>(a=e!=null?Lg(Cg(e)):{},kg(t||!e||!e.__esModule?Rd(a,"default",{value:e,enumerable:!0}):a,e));var _d=sa(ne=>{"use strict";var ko=Symbol.for("react.element"),bg=Symbol.for("react.portal"),Pg=Symbol.for("react.fragment"),Tg=Symbol.for("react.strict_mode"),Rg=Symbol.for("react.profiler"),Mg=Symbol.for("react.provider"),Ag=Symbol.for("react.context"),Dg=Symbol.for("react.forward_ref"),Eg=Symbol.for("react.suspense"),Fg=Symbol.for("react.memo"),Bg=Symbol.for("react.lazy"),Md=Symbol.iterator;function Og(e){return e===null||typeof e!="object"?null:(e=Md&&e[Md]||e["@@iterator"],typeof e=="function"?e:null)}var Ed={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Fd=Object.assign,Bd={};function Rr(e,t,a){this.props=e,this.context=t,this.refs=Bd,this.updater=a||Ed}Rr.prototype.isReactComponent={};Rr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Rr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Od(){}Od.prototype=Rr.prototype;function Ns(e,t,a){this.props=e,this.context=t,this.refs=Bd,this.updater=a||Ed}var Hs=Ns.prototype=new Od;Hs.constructor=Ns;Fd(Hs,Rr.prototype);Hs.isPureReactComponent=!0;var Ad=Array.isArray,zd=Object.prototype.hasOwnProperty,Us={current:null},Nd={key:!0,ref:!0,__self:!0,__source:!0};function Hd(e,t,a){var r,o={},n=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(n=""+t.key),t)zd.call(t,r)&&!Nd.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=a;else if(1<s){for(var u=Array(s),d=0;d<s;d++)u[d]=arguments[d+2];o.children=u}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)o[r]===void 0&&(o[r]=s[r]);return{$$typeof:ko,type:e,key:n,ref:l,props:o,_owner:Us.current}}function zg(e,t){return{$$typeof:ko,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function _s(e){return typeof e=="object"&&e!==null&&e.$$typeof===ko}function Ng(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var Dd=/\\/+/g;function zs(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Ng(""+e.key):t.toString(36)}function Qn(e,t,a,r,o){var n=typeof e;(n==="undefined"||n==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(n){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case ko:case bg:l=!0}}if(l)return l=e,o=o(l),e=r===""?"."+zs(l,0):r,Ad(o)?(a="",e!=null&&(a=e.replace(Dd,"$&/")+"/"),Qn(o,t,a,"",function(d){return d})):o!=null&&(_s(o)&&(o=zg(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(Dd,"$&/")+"/")+e)),t.push(o)),1;if(l=0,r=r===""?".":r+":",Ad(e))for(var s=0;s<e.length;s++){n=e[s];var u=r+zs(n,s);l+=Qn(n,t,a,u,o)}else if(u=Og(e),typeof u=="function")for(e=u.call(e),s=0;!(n=e.next()).done;)n=n.value,u=r+zs(n,s++),l+=Qn(n,t,a,u,o);else if(n==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function Xn(e,t,a){if(e==null)return e;var r=[],o=0;return Qn(e,r,"","",function(n){return t.call(a,n,o++)}),r}function Hg(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Qe={current:null},Yn={transition:null},Ug={ReactCurrentDispatcher:Qe,ReactCurrentBatchConfig:Yn,ReactCurrentOwner:Us};function Ud(){throw Error("act(...) is not supported in production builds of React.")}ne.Children={map:Xn,forEach:function(e,t,a){Xn(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return Xn(e,function(){t++}),t},toArray:function(e){return Xn(e,function(t){return t})||[]},only:function(e){if(!_s(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ne.Component=Rr;ne.Fragment=Pg;ne.Profiler=Rg;ne.PureComponent=Ns;ne.StrictMode=Tg;ne.Suspense=Eg;ne.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ug;ne.act=Ud;ne.cloneElement=function(e,t,a){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=Fd({},e.props),o=e.key,n=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(n=t.ref,l=Us.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)zd.call(t,u)&&!Nd.hasOwnProperty(u)&&(r[u]=t[u]===void 0&&s!==void 0?s[u]:t[u])}var u=arguments.length-2;if(u===1)r.children=a;else if(1<u){s=Array(u);for(var d=0;d<u;d++)s[d]=arguments[d+2];r.children=s}return{$$typeof:ko,type:e.type,key:o,ref:n,props:r,_owner:l}};ne.createContext=function(e){return e={$$typeof:Ag,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Mg,_context:e},e.Consumer=e};ne.createElement=Hd;ne.createFactory=function(e){var t=Hd.bind(null,e);return t.type=e,t};ne.createRef=function(){return{current:null}};ne.forwardRef=function(e){return{$$typeof:Dg,render:e}};ne.isValidElement=_s;ne.lazy=function(e){return{$$typeof:Bg,_payload:{_status:-1,_result:e},_init:Hg}};ne.memo=function(e,t){return{$$typeof:Fg,type:e,compare:t===void 0?null:t}};ne.startTransition=function(e){var t=Yn.transition;Yn.transition={};try{e()}finally{Yn.transition=t}};ne.unstable_act=Ud;ne.useCallback=function(e,t){return Qe.current.useCallback(e,t)};ne.useContext=function(e){return Qe.current.useContext(e)};ne.useDebugValue=function(){};ne.useDeferredValue=function(e){return Qe.current.useDeferredValue(e)};ne.useEffect=function(e,t){return Qe.current.useEffect(e,t)};ne.useId=function(){return Qe.current.useId()};ne.useImperativeHandle=function(e,t,a){return Qe.current.useImperativeHandle(e,t,a)};ne.useInsertionEffect=function(e,t){return Qe.current.useInsertionEffect(e,t)};ne.useLayoutEffect=function(e,t){return Qe.current.useLayoutEffect(e,t)};ne.useMemo=function(e,t){return Qe.current.useMemo(e,t)};ne.useReducer=function(e,t,a){return Qe.current.useReducer(e,t,a)};ne.useRef=function(e){return Qe.current.useRef(e)};ne.useState=function(e){return Qe.current.useState(e)};ne.useSyncExternalStore=function(e,t,a){return Qe.current.useSyncExternalStore(e,t,a)};ne.useTransition=function(){return Qe.current.useTransition()};ne.version="18.3.1"});var Se=sa((ey,qd)=>{"use strict";qd.exports=_d()});var Jd=sa(ye=>{"use strict";function Vs(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,o=e[r];if(0<Jn(o,t))e[r]=t,e[a]=o,a=r;else break e}}function Bt(e){return e.length===0?null:e[0]}function el(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,o=e.length,n=o>>>1;r<n;){var l=2*(r+1)-1,s=e[l],u=l+1,d=e[u];if(0>Jn(s,a))u<o&&0>Jn(d,s)?(e[r]=d,e[u]=a,r=u):(e[r]=s,e[l]=a,r=l);else if(u<o&&0>Jn(d,a))e[r]=d,e[u]=a,r=u;else break e}}return t}function Jn(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Wd=performance,ye.unstable_now=function(){return Wd.now()}):(qs=Date,$d=qs.now(),ye.unstable_now=function(){return qs.now()-$d});var Wd,qs,$d,jt=[],Ia=[],_g=1,It=null,$e=3,tl=!1,er=!1,Po=!1,Gd=typeof setTimeout=="function"?setTimeout:null,jd=typeof clearTimeout=="function"?clearTimeout:null,Vd=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Ks(e){for(var t=Bt(Ia);t!==null;){if(t.callback===null)el(Ia);else if(t.startTime<=e)el(Ia),t.sortIndex=t.expirationTime,Vs(jt,t);else break;t=Bt(Ia)}}function Gs(e){if(Po=!1,Ks(e),!er)if(Bt(jt)!==null)er=!0,Xs(js);else{var t=Bt(Ia);t!==null&&Qs(Gs,t.startTime-e)}}function js(e,t){er=!1,Po&&(Po=!1,jd(To),To=-1),tl=!0;var a=$e;try{for(Ks(t),It=Bt(jt);It!==null&&(!(It.expirationTime>t)||e&&!Yd());){var r=It.callback;if(typeof r=="function"){It.callback=null,$e=It.priorityLevel;var o=r(It.expirationTime<=t);t=ye.unstable_now(),typeof o=="function"?It.callback=o:It===Bt(jt)&&el(jt),Ks(t)}else el(jt);It=Bt(jt)}if(It!==null)var n=!0;else{var l=Bt(Ia);l!==null&&Qs(Gs,l.startTime-t),n=!1}return n}finally{It=null,$e=a,tl=!1}}var al=!1,Zn=null,To=-1,Xd=5,Qd=-1;function Yd(){return!(ye.unstable_now()-Qd<Xd)}function Ws(){if(Zn!==null){var e=ye.unstable_now();Qd=e;var t=!0;try{t=Zn(!0,e)}finally{t?bo():(al=!1,Zn=null)}}else al=!1}var bo;typeof Vd=="function"?bo=function(){Vd(Ws)}:typeof MessageChannel<"u"?($s=new MessageChannel,Kd=$s.port2,$s.port1.onmessage=Ws,bo=function(){Kd.postMessage(null)}):bo=function(){Gd(Ws,0)};var $s,Kd;function Xs(e){Zn=e,al||(al=!0,bo())}function Qs(e,t){To=Gd(function(){e(ye.unstable_now())},t)}ye.unstable_IdlePriority=5;ye.unstable_ImmediatePriority=1;ye.unstable_LowPriority=4;ye.unstable_NormalPriority=3;ye.unstable_Profiling=null;ye.unstable_UserBlockingPriority=2;ye.unstable_cancelCallback=function(e){e.callback=null};ye.unstable_continueExecution=function(){er||tl||(er=!0,Xs(js))};ye.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Xd=0<e?Math.floor(1e3/e):5};ye.unstable_getCurrentPriorityLevel=function(){return $e};ye.unstable_getFirstCallbackNode=function(){return Bt(jt)};ye.unstable_next=function(e){switch($e){case 1:case 2:case 3:var t=3;break;default:t=$e}var a=$e;$e=t;try{return e()}finally{$e=a}};ye.unstable_pauseExecution=function(){};ye.unstable_requestPaint=function(){};ye.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=$e;$e=e;try{return t()}finally{$e=a}};ye.unstable_scheduleCallback=function(e,t,a){var r=ye.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=a+o,e={id:_g++,callback:t,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>r?(e.sortIndex=a,Vs(Ia,e),Bt(jt)===null&&e===Bt(Ia)&&(Po?(jd(To),To=-1):Po=!0,Qs(Gs,a-r))):(e.sortIndex=o,Vs(jt,e),er||tl||(er=!0,Xs(js))),e};ye.unstable_shouldYield=Yd;ye.unstable_wrapCallback=function(e){var t=$e;return function(){var a=$e;$e=t;try{return e.apply(this,arguments)}finally{$e=a}}}});var ef=sa((ay,Zd)=>{"use strict";Zd.exports=Jd()});var nm=sa(Lt=>{"use strict";var qg=Se(),vt=ef();function R(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var uc=new Set,Qo={};function pr(e,t){Qr(e,t),Qr(e+"Capture",t)}function Qr(e,t){for(Qo[e]=t,e=0;e<t.length;e++)uc.add(t[e])}var pa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),yu=Object.prototype.hasOwnProperty,Wg=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,tf={},af={};function $g(e){return yu.call(af,e)?!0:yu.call(tf,e)?!1:Wg.test(e)?af[e]=!0:(tf[e]=!0,!1)}function Vg(e,t,a,r){if(a!==null&&a.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Kg(e,t,a,r){if(t===null||typeof t>"u"||Vg(e,t,a,r))return!0;if(r)return!1;if(a!==null)switch(a.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ze(e,t,a,r,o,n,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=l}var _e={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){_e[e]=new Ze(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];_e[t]=new Ze(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){_e[e]=new Ze(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_e[e]=new Ze(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){_e[e]=new Ze(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){_e[e]=new Ze(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){_e[e]=new Ze(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){_e[e]=new Ze(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){_e[e]=new Ze(e,5,!1,e.toLowerCase(),null,!1,!1)});var fi=/[\\-:]([a-z])/g;function ci(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(fi,ci);_e[t]=new Ze(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(fi,ci);_e[t]=new Ze(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(fi,ci);_e[t]=new Ze(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){_e[e]=new Ze(e,1,!1,e.toLowerCase(),null,!1,!1)});_e.xlinkHref=new Ze("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){_e[e]=new Ze(e,1,!1,e.toLowerCase(),null,!0,!0)});function pi(e,t,a,r){var o=_e.hasOwnProperty(t)?_e[t]:null;(o!==null?o.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Kg(t,a,o,r)&&(a=null),r||o===null?$g(t)&&(a===null?e.removeAttribute(t):e.setAttribute(t,""+a)):o.mustUseProperty?e[o.propertyName]=a===null?o.type===3?!1:"":a:(t=o.attributeName,r=o.attributeNamespace,a===null?e.removeAttribute(t):(o=o.type,a=o===3||o===4&&a===!0?"":""+a,r?e.setAttributeNS(r,t,a):e.setAttribute(t,a))))}var xa=qg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,rl=Symbol.for("react.element"),Dr=Symbol.for("react.portal"),Er=Symbol.for("react.fragment"),mi=Symbol.for("react.strict_mode"),Lu=Symbol.for("react.profiler"),ic=Symbol.for("react.provider"),dc=Symbol.for("react.context"),gi=Symbol.for("react.forward_ref"),Su=Symbol.for("react.suspense"),Iu=Symbol.for("react.suspense_list"),hi=Symbol.for("react.memo"),wa=Symbol.for("react.lazy"),fc=Symbol.for("react.offscreen"),rf=Symbol.iterator;function Ro(e){return e===null||typeof e!="object"?null:(e=rf&&e[rf]||e["@@iterator"],typeof e=="function"?e:null)}var Pe=Object.assign,Ys;function zo(e){if(Ys===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\\n( *(at )?)/);Ys=t&&t[1]||""}return`\n`+Ys+e}var Js=!1;function Zs(e,t){if(!e||Js)return"";Js=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var r=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){r=d}e.call(t.prototype)}else{try{throw Error()}catch(d){r=d}e()}}catch(d){if(d&&r&&typeof d.stack=="string"){for(var o=d.stack.split(`\n`),n=r.stack.split(`\n`),l=o.length-1,s=n.length-1;1<=l&&0<=s&&o[l]!==n[s];)s--;for(;1<=l&&0<=s;l--,s--)if(o[l]!==n[s]){if(l!==1||s!==1)do if(l--,s--,0>s||o[l]!==n[s]){var u=`\n`+o[l].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),u}while(1<=l&&0<=s);break}}}finally{Js=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?zo(e):""}function Gg(e){switch(e.tag){case 5:return zo(e.type);case 16:return zo("Lazy");case 13:return zo("Suspense");case 19:return zo("SuspenseList");case 0:case 2:case 15:return e=Zs(e.type,!1),e;case 11:return e=Zs(e.type.render,!1),e;case 1:return e=Zs(e.type,!0),e;default:return""}}function Cu(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Er:return"Fragment";case Dr:return"Portal";case Lu:return"Profiler";case mi:return"StrictMode";case Su:return"Suspense";case Iu:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case dc:return(e.displayName||"Context")+".Consumer";case ic:return(e._context.displayName||"Context")+".Provider";case gi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case hi:return t=e.displayName||null,t!==null?t:Cu(e.type)||"Memo";case wa:t=e._payload,e=e._init;try{return Cu(e(t))}catch{}}return null}function jg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Cu(t);case 8:return t===mi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Na(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function cc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Xg(e){var t=cc(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var o=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){r=""+l,n.call(this,l)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ol(e){e._valueTracker||(e._valueTracker=Xg(e))}function pc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=cc(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function Dl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function wu(e,t){var a=t.checked;return Pe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function of(e,t){var a=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;a=Na(t.value!=null?t.value:a),e._wrapperState={initialChecked:r,initialValue:a,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function mc(e,t){t=t.checked,t!=null&&pi(e,"checked",t,!1)}function ku(e,t){mc(e,t);var a=Na(t.value),r=t.type;if(a!=null)r==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?bu(e,t.type,a):t.hasOwnProperty("defaultValue")&&bu(e,t.type,Na(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function nf(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function bu(e,t,a){(t!=="number"||Dl(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var No=Array.isArray;function $r(e,t,a,r){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&r&&(e[a].defaultSelected=!0)}else{for(a=""+Na(a),t=null,o=0;o<e.length;o++){if(e[o].value===a){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Pu(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(R(91));return Pe({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function lf(e,t){var a=t.value;if(a==null){if(a=t.children,t=t.defaultValue,a!=null){if(t!=null)throw Error(R(92));if(No(a)){if(1<a.length)throw Error(R(93));a=a[0]}t=a}t==null&&(t=""),a=t}e._wrapperState={initialValue:Na(a)}}function gc(e,t){var a=Na(t.value),r=Na(t.defaultValue);a!=null&&(a=""+a,a!==e.value&&(e.value=a),t.defaultValue==null&&e.defaultValue!==a&&(e.defaultValue=a)),r!=null&&(e.defaultValue=""+r)}function sf(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function hc(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Tu(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?hc(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var nl,xc=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,a,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,a,r,o)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(nl=nl||document.createElement("div"),nl.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=nl.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Yo(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var _o={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qg=["Webkit","ms","Moz","O"];Object.keys(_o).forEach(function(e){Qg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_o[t]=_o[e]})});function vc(e,t,a){return t==null||typeof t=="boolean"||t===""?"":a||typeof t!="number"||t===0||_o.hasOwnProperty(e)&&_o[e]?(""+t).trim():t+"px"}function yc(e,t){e=e.style;for(var a in t)if(t.hasOwnProperty(a)){var r=a.indexOf("--")===0,o=vc(a,t[a],r);a==="float"&&(a="cssFloat"),r?e.setProperty(a,o):e[a]=o}}var Yg=Pe({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ru(e,t){if(t){if(Yg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(R(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(R(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(R(61))}if(t.style!=null&&typeof t.style!="object")throw Error(R(62))}}function Mu(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Au=null;function xi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Du=null,Vr=null,Kr=null;function uf(e){if(e=hn(e)){if(typeof Du!="function")throw Error(R(280));var t=e.stateNode;t&&(t=ls(t),Du(e.stateNode,e.type,t))}}function Lc(e){Vr?Kr?Kr.push(e):Kr=[e]:Vr=e}function Sc(){if(Vr){var e=Vr,t=Kr;if(Kr=Vr=null,uf(e),t)for(e=0;e<t.length;e++)uf(t[e])}}function Ic(e,t){return e(t)}function Cc(){}var eu=!1;function wc(e,t,a){if(eu)return e(t,a);eu=!0;try{return Ic(e,t,a)}finally{eu=!1,(Vr!==null||Kr!==null)&&(Cc(),Sc())}}function Jo(e,t){var a=e.stateNode;if(a===null)return null;var r=ls(a);if(r===null)return null;a=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(R(231,t,typeof a));return a}var Eu=!1;if(pa)try{Mr={},Object.defineProperty(Mr,"passive",{get:function(){Eu=!0}}),window.addEventListener("test",Mr,Mr),window.removeEventListener("test",Mr,Mr)}catch{Eu=!1}var Mr;function Jg(e,t,a,r,o,n,l,s,u){var d=Array.prototype.slice.call(arguments,3);try{t.apply(a,d)}catch(g){this.onError(g)}}var qo=!1,El=null,Fl=!1,Fu=null,Zg={onError:function(e){qo=!0,El=e}};function eh(e,t,a,r,o,n,l,s,u){qo=!1,El=null,Jg.apply(Zg,arguments)}function th(e,t,a,r,o,n,l,s,u){if(eh.apply(this,arguments),qo){if(qo){var d=El;qo=!1,El=null}else throw Error(R(198));Fl||(Fl=!0,Fu=d)}}function mr(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function kc(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function df(e){if(mr(e)!==e)throw Error(R(188))}function ah(e){var t=e.alternate;if(!t){if(t=mr(e),t===null)throw Error(R(188));return t!==e?null:e}for(var a=e,r=t;;){var o=a.return;if(o===null)break;var n=o.alternate;if(n===null){if(r=o.return,r!==null){a=r;continue}break}if(o.child===n.child){for(n=o.child;n;){if(n===a)return df(o),e;if(n===r)return df(o),t;n=n.sibling}throw Error(R(188))}if(a.return!==r.return)a=o,r=n;else{for(var l=!1,s=o.child;s;){if(s===a){l=!0,a=o,r=n;break}if(s===r){l=!0,r=o,a=n;break}s=s.sibling}if(!l){for(s=n.child;s;){if(s===a){l=!0,a=n,r=o;break}if(s===r){l=!0,r=n,a=o;break}s=s.sibling}if(!l)throw Error(R(189))}}if(a.alternate!==r)throw Error(R(190))}if(a.tag!==3)throw Error(R(188));return a.stateNode.current===a?e:t}function bc(e){return e=ah(e),e!==null?Pc(e):null}function Pc(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Pc(e);if(t!==null)return t;e=e.sibling}return null}var Tc=vt.unstable_scheduleCallback,ff=vt.unstable_cancelCallback,rh=vt.unstable_shouldYield,oh=vt.unstable_requestPaint,Me=vt.unstable_now,nh=vt.unstable_getCurrentPriorityLevel,vi=vt.unstable_ImmediatePriority,Rc=vt.unstable_UserBlockingPriority,Bl=vt.unstable_NormalPriority,lh=vt.unstable_LowPriority,Mc=vt.unstable_IdlePriority,as=null,Jt=null;function sh(e){if(Jt&&typeof Jt.onCommitFiberRoot=="function")try{Jt.onCommitFiberRoot(as,e,void 0,(e.current.flags&128)===128)}catch{}}var Ut=Math.clz32?Math.clz32:dh,uh=Math.log,ih=Math.LN2;function dh(e){return e>>>=0,e===0?32:31-(uh(e)/ih|0)|0}var ll=64,sl=4194304;function Ho(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ol(e,t){var a=e.pendingLanes;if(a===0)return 0;var r=0,o=e.suspendedLanes,n=e.pingedLanes,l=a&268435455;if(l!==0){var s=l&~o;s!==0?r=Ho(s):(n&=l,n!==0&&(r=Ho(n)))}else l=a&~o,l!==0?r=Ho(l):n!==0&&(r=Ho(n));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,n=t&-t,o>=n||o===16&&(n&4194240)!==0))return t;if((r&4)!==0&&(r|=a&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)a=31-Ut(t),o=1<<a,r|=e[a],t&=~o;return r}function fh(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ch(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,n=e.pendingLanes;0<n;){var l=31-Ut(n),s=1<<l,u=o[l];u===-1?((s&a)===0||(s&r)!==0)&&(o[l]=fh(s,t)):u<=t&&(e.expiredLanes|=s),n&=~s}}function Bu(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Ac(){var e=ll;return ll<<=1,(ll&4194240)===0&&(ll=64),e}function tu(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function mn(e,t,a){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ut(t),e[t]=a}function ph(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<a;){var o=31-Ut(a),n=1<<o;t[o]=0,r[o]=-1,e[o]=-1,a&=~n}}function yi(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-Ut(a),o=1<<r;o&t|e[r]&t&&(e[r]|=t),a&=~o}}var xe=0;function Dc(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var Ec,Li,Fc,Bc,Oc,Ou=!1,ul=[],Ma=null,Aa=null,Da=null,Zo=new Map,en=new Map,ba=[],mh="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function cf(e,t){switch(e){case"focusin":case"focusout":Ma=null;break;case"dragenter":case"dragleave":Aa=null;break;case"mouseover":case"mouseout":Da=null;break;case"pointerover":case"pointerout":Zo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":en.delete(t.pointerId)}}function Mo(e,t,a,r,o,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:n,targetContainers:[o]},t!==null&&(t=hn(t),t!==null&&Li(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function gh(e,t,a,r,o){switch(t){case"focusin":return Ma=Mo(Ma,e,t,a,r,o),!0;case"dragenter":return Aa=Mo(Aa,e,t,a,r,o),!0;case"mouseover":return Da=Mo(Da,e,t,a,r,o),!0;case"pointerover":var n=o.pointerId;return Zo.set(n,Mo(Zo.get(n)||null,e,t,a,r,o)),!0;case"gotpointercapture":return n=o.pointerId,en.set(n,Mo(en.get(n)||null,e,t,a,r,o)),!0}return!1}function zc(e){var t=rr(e.target);if(t!==null){var a=mr(t);if(a!==null){if(t=a.tag,t===13){if(t=kc(a),t!==null){e.blockedOn=t,Oc(e.priority,function(){Fc(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Il(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=zu(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);Au=r,a.target.dispatchEvent(r),Au=null}else return t=hn(a),t!==null&&Li(t),e.blockedOn=a,!1;t.shift()}return!0}function pf(e,t,a){Il(e)&&a.delete(t)}function hh(){Ou=!1,Ma!==null&&Il(Ma)&&(Ma=null),Aa!==null&&Il(Aa)&&(Aa=null),Da!==null&&Il(Da)&&(Da=null),Zo.forEach(pf),en.forEach(pf)}function Ao(e,t){e.blockedOn===t&&(e.blockedOn=null,Ou||(Ou=!0,vt.unstable_scheduleCallback(vt.unstable_NormalPriority,hh)))}function tn(e){function t(o){return Ao(o,e)}if(0<ul.length){Ao(ul[0],e);for(var a=1;a<ul.length;a++){var r=ul[a];r.blockedOn===e&&(r.blockedOn=null)}}for(Ma!==null&&Ao(Ma,e),Aa!==null&&Ao(Aa,e),Da!==null&&Ao(Da,e),Zo.forEach(t),en.forEach(t),a=0;a<ba.length;a++)r=ba[a],r.blockedOn===e&&(r.blockedOn=null);for(;0<ba.length&&(a=ba[0],a.blockedOn===null);)zc(a),a.blockedOn===null&&ba.shift()}var Gr=xa.ReactCurrentBatchConfig,zl=!0;function xh(e,t,a,r){var o=xe,n=Gr.transition;Gr.transition=null;try{xe=1,Si(e,t,a,r)}finally{xe=o,Gr.transition=n}}function vh(e,t,a,r){var o=xe,n=Gr.transition;Gr.transition=null;try{xe=4,Si(e,t,a,r)}finally{xe=o,Gr.transition=n}}function Si(e,t,a,r){if(zl){var o=zu(e,t,a,r);if(o===null)uu(e,t,r,Nl,a),cf(e,r);else if(gh(o,e,t,a,r))r.stopPropagation();else if(cf(e,r),t&4&&-1<mh.indexOf(e)){for(;o!==null;){var n=hn(o);if(n!==null&&Ec(n),n=zu(e,t,a,r),n===null&&uu(e,t,r,Nl,a),n===o)break;o=n}o!==null&&r.stopPropagation()}else uu(e,t,r,null,a)}}var Nl=null;function zu(e,t,a,r){if(Nl=null,e=xi(r),e=rr(e),e!==null)if(t=mr(e),t===null)e=null;else if(a=t.tag,a===13){if(e=kc(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Nl=e,null}function Nc(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(nh()){case vi:return 1;case Rc:return 4;case Bl:case lh:return 16;case Mc:return 536870912;default:return 16}default:return 16}}var Ta=null,Ii=null,Cl=null;function Hc(){if(Cl)return Cl;var e,t=Ii,a=t.length,r,o="value"in Ta?Ta.value:Ta.textContent,n=o.length;for(e=0;e<a&&t[e]===o[e];e++);var l=a-e;for(r=1;r<=l&&t[a-r]===o[n-r];r++);return Cl=o.slice(e,1<r?1-r:void 0)}function wl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function il(){return!0}function mf(){return!1}function yt(e){function t(a,r,o,n,l){this._reactName=a,this._targetInst=o,this.type=r,this.nativeEvent=n,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(a=e[s],this[s]=a?a(n):n[s]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?il:mf,this.isPropagationStopped=mf,this}return Pe(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=il)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=il)},persist:function(){},isPersistent:il}),t}var ro={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ci=yt(ro),gn=Pe({},ro,{view:0,detail:0}),yh=yt(gn),au,ru,Do,rs=Pe({},gn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wi,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Do&&(Do&&e.type==="mousemove"?(au=e.screenX-Do.screenX,ru=e.screenY-Do.screenY):ru=au=0,Do=e),au)},movementY:function(e){return"movementY"in e?e.movementY:ru}}),gf=yt(rs),Lh=Pe({},rs,{dataTransfer:0}),Sh=yt(Lh),Ih=Pe({},gn,{relatedTarget:0}),ou=yt(Ih),Ch=Pe({},ro,{animationName:0,elapsedTime:0,pseudoElement:0}),wh=yt(Ch),kh=Pe({},ro,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),bh=yt(kh),Ph=Pe({},ro,{data:0}),hf=yt(Ph),Th={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Rh={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Mh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ah(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Mh[e])?!!t[e]:!1}function wi(){return Ah}var Dh=Pe({},gn,{key:function(e){if(e.key){var t=Th[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=wl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Rh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wi,charCode:function(e){return e.type==="keypress"?wl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?wl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Eh=yt(Dh),Fh=Pe({},rs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),xf=yt(Fh),Bh=Pe({},gn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wi}),Oh=yt(Bh),zh=Pe({},ro,{propertyName:0,elapsedTime:0,pseudoElement:0}),Nh=yt(zh),Hh=Pe({},rs,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Uh=yt(Hh),_h=[9,13,27,32],ki=pa&&"CompositionEvent"in window,Wo=null;pa&&"documentMode"in document&&(Wo=document.documentMode);var qh=pa&&"TextEvent"in window&&!Wo,Uc=pa&&(!ki||Wo&&8<Wo&&11>=Wo),vf=" ",yf=!1;function _c(e,t){switch(e){case"keyup":return _h.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fr=!1;function Wh(e,t){switch(e){case"compositionend":return qc(t);case"keypress":return t.which!==32?null:(yf=!0,vf);case"textInput":return e=t.data,e===vf&&yf?null:e;default:return null}}function $h(e,t){if(Fr)return e==="compositionend"||!ki&&_c(e,t)?(e=Hc(),Cl=Ii=Ta=null,Fr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Uc&&t.locale!=="ko"?null:t.data;default:return null}}var Vh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Lf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Vh[e.type]:t==="textarea"}function Wc(e,t,a,r){Lc(r),t=Hl(t,"onChange"),0<t.length&&(a=new Ci("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var $o=null,an=null;function Kh(e){ep(e,0)}function os(e){var t=zr(e);if(pc(t))return e}function Gh(e,t){if(e==="change")return t}var $c=!1;pa&&(pa?(fl="oninput"in document,fl||(nu=document.createElement("div"),nu.setAttribute("oninput","return;"),fl=typeof nu.oninput=="function"),dl=fl):dl=!1,$c=dl&&(!document.documentMode||9<document.documentMode));var dl,fl,nu;function Sf(){$o&&($o.detachEvent("onpropertychange",Vc),an=$o=null)}function Vc(e){if(e.propertyName==="value"&&os(an)){var t=[];Wc(t,an,e,xi(e)),wc(Kh,t)}}function jh(e,t,a){e==="focusin"?(Sf(),$o=t,an=a,$o.attachEvent("onpropertychange",Vc)):e==="focusout"&&Sf()}function Xh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return os(an)}function Qh(e,t){if(e==="click")return os(t)}function Yh(e,t){if(e==="input"||e==="change")return os(t)}function Jh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var qt=typeof Object.is=="function"?Object.is:Jh;function rn(e,t){if(qt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var o=a[r];if(!yu.call(t,o)||!qt(e[o],t[o]))return!1}return!0}function If(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Cf(e,t){var a=If(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=If(a)}}function Kc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Kc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Gc(){for(var e=window,t=Dl();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Dl(e.document)}return t}function bi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Zh(e){var t=Gc(),a=e.focusedElem,r=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&Kc(a.ownerDocument.documentElement,a)){if(r!==null&&bi(a)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if(e=(t=a.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=a.textContent.length,n=Math.min(r.start,o);r=r.end===void 0?n:Math.min(r.end,o),!e.extend&&n>r&&(o=r,r=n,n=o),o=Cf(a,n);var l=Cf(a,r);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),n>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=a;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<t.length;a++)e=t[a],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var ex=pa&&"documentMode"in document&&11>=document.documentMode,Br=null,Nu=null,Vo=null,Hu=!1;function wf(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Hu||Br==null||Br!==Dl(r)||(r=Br,"selectionStart"in r&&bi(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Vo&&rn(Vo,r)||(Vo=r,r=Hl(Nu,"onSelect"),0<r.length&&(t=new Ci("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=Br)))}function cl(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Or={animationend:cl("Animation","AnimationEnd"),animationiteration:cl("Animation","AnimationIteration"),animationstart:cl("Animation","AnimationStart"),transitionend:cl("Transition","TransitionEnd")},lu={},jc={};pa&&(jc=document.createElement("div").style,"AnimationEvent"in window||(delete Or.animationend.animation,delete Or.animationiteration.animation,delete Or.animationstart.animation),"TransitionEvent"in window||delete Or.transitionend.transition);function ns(e){if(lu[e])return lu[e];if(!Or[e])return e;var t=Or[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in jc)return lu[e]=t[a];return e}var Xc=ns("animationend"),Qc=ns("animationiteration"),Yc=ns("animationstart"),Jc=ns("transitionend"),Zc=new Map,kf="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ua(e,t){Zc.set(e,t),pr(t,[e])}for(pl=0;pl<kf.length;pl++)ml=kf[pl],bf=ml.toLowerCase(),Pf=ml[0].toUpperCase()+ml.slice(1),Ua(bf,"on"+Pf);var ml,bf,Pf,pl;Ua(Xc,"onAnimationEnd");Ua(Qc,"onAnimationIteration");Ua(Yc,"onAnimationStart");Ua("dblclick","onDoubleClick");Ua("focusin","onFocus");Ua("focusout","onBlur");Ua(Jc,"onTransitionEnd");Qr("onMouseEnter",["mouseout","mouseover"]);Qr("onMouseLeave",["mouseout","mouseover"]);Qr("onPointerEnter",["pointerout","pointerover"]);Qr("onPointerLeave",["pointerout","pointerover"]);pr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));pr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));pr("onBeforeInput",["compositionend","keypress","textInput","paste"]);pr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));pr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));pr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Uo="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),tx=new Set("cancel close invalid load scroll toggle".split(" ").concat(Uo));function Tf(e,t,a){var r=e.type||"unknown-event";e.currentTarget=a,th(r,t,void 0,e),e.currentTarget=null}function ep(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],o=r.event;r=r.listeners;e:{var n=void 0;if(t)for(var l=r.length-1;0<=l;l--){var s=r[l],u=s.instance,d=s.currentTarget;if(s=s.listener,u!==n&&o.isPropagationStopped())break e;Tf(o,s,d),n=u}else for(l=0;l<r.length;l++){if(s=r[l],u=s.instance,d=s.currentTarget,s=s.listener,u!==n&&o.isPropagationStopped())break e;Tf(o,s,d),n=u}}}if(Fl)throw e=Fu,Fl=!1,Fu=null,e}function Ie(e,t){var a=t[$u];a===void 0&&(a=t[$u]=new Set);var r=e+"__bubble";a.has(r)||(tp(t,e,2,!1),a.add(r))}function su(e,t,a){var r=0;t&&(r|=4),tp(a,e,r,t)}var gl="_reactListening"+Math.random().toString(36).slice(2);function on(e){if(!e[gl]){e[gl]=!0,uc.forEach(function(a){a!=="selectionchange"&&(tx.has(a)||su(a,!1,e),su(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[gl]||(t[gl]=!0,su("selectionchange",!1,t))}}function tp(e,t,a,r){switch(Nc(t)){case 1:var o=xh;break;case 4:o=vh;break;default:o=Si}a=o.bind(null,t,a,e),o=void 0,!Eu||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):o!==void 0?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function uu(e,t,a,r,o){var n=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var l=r.tag;if(l===3||l===4){var s=r.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(l===4)for(l=r.return;l!==null;){var u=l.tag;if((u===3||u===4)&&(u=l.stateNode.containerInfo,u===o||u.nodeType===8&&u.parentNode===o))return;l=l.return}for(;s!==null;){if(l=rr(s),l===null)return;if(u=l.tag,u===5||u===6){r=n=l;continue e}s=s.parentNode}}r=r.return}wc(function(){var d=n,g=xi(a),m=[];e:{var c=Zc.get(e);if(c!==void 0){var y=Ci,x=e;switch(e){case"keypress":if(wl(a)===0)break e;case"keydown":case"keyup":y=Eh;break;case"focusin":x="focus",y=ou;break;case"focusout":x="blur",y=ou;break;case"beforeblur":case"afterblur":y=ou;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":y=gf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":y=Sh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":y=Oh;break;case Xc:case Qc:case Yc:y=wh;break;case Jc:y=Nh;break;case"scroll":y=yh;break;case"wheel":y=Uh;break;case"copy":case"cut":case"paste":y=bh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":y=xf}var C=(t&4)!==0,O=!C&&e==="scroll",f=C?c!==null?c+"Capture":null:c;C=[];for(var i=d,p;i!==null;){p=i;var L=p.stateNode;if(p.tag===5&&L!==null&&(p=L,f!==null&&(L=Jo(i,f),L!=null&&C.push(nn(i,L,p)))),O)break;i=i.return}0<C.length&&(c=new y(c,x,null,a,g),m.push({event:c,listeners:C}))}}if((t&7)===0){e:{if(c=e==="mouseover"||e==="pointerover",y=e==="mouseout"||e==="pointerout",c&&a!==Au&&(x=a.relatedTarget||a.fromElement)&&(rr(x)||x[ma]))break e;if((y||c)&&(c=g.window===g?g:(c=g.ownerDocument)?c.defaultView||c.parentWindow:window,y?(x=a.relatedTarget||a.toElement,y=d,x=x?rr(x):null,x!==null&&(O=mr(x),x!==O||x.tag!==5&&x.tag!==6)&&(x=null)):(y=null,x=d),y!==x)){if(C=gf,L="onMouseLeave",f="onMouseEnter",i="mouse",(e==="pointerout"||e==="pointerover")&&(C=xf,L="onPointerLeave",f="onPointerEnter",i="pointer"),O=y==null?c:zr(y),p=x==null?c:zr(x),c=new C(L,i+"leave",y,a,g),c.target=O,c.relatedTarget=p,L=null,rr(g)===d&&(C=new C(f,i+"enter",x,a,g),C.target=p,C.relatedTarget=O,L=C),O=L,y&&x)t:{for(C=y,f=x,i=0,p=C;p;p=Ar(p))i++;for(p=0,L=f;L;L=Ar(L))p++;for(;0<i-p;)C=Ar(C),i--;for(;0<p-i;)f=Ar(f),p--;for(;i--;){if(C===f||f!==null&&C===f.alternate)break t;C=Ar(C),f=Ar(f)}C=null}else C=null;y!==null&&Rf(m,c,y,C,!1),x!==null&&O!==null&&Rf(m,O,x,C,!0)}}e:{if(c=d?zr(d):window,y=c.nodeName&&c.nodeName.toLowerCase(),y==="select"||y==="input"&&c.type==="file")var I=Gh;else if(Lf(c))if($c)I=Yh;else{I=Xh;var P=jh}else(y=c.nodeName)&&y.toLowerCase()==="input"&&(c.type==="checkbox"||c.type==="radio")&&(I=Qh);if(I&&(I=I(e,d))){Wc(m,I,a,g);break e}P&&P(e,c,d),e==="focusout"&&(P=c._wrapperState)&&P.controlled&&c.type==="number"&&bu(c,"number",c.value)}switch(P=d?zr(d):window,e){case"focusin":(Lf(P)||P.contentEditable==="true")&&(Br=P,Nu=d,Vo=null);break;case"focusout":Vo=Nu=Br=null;break;case"mousedown":Hu=!0;break;case"contextmenu":case"mouseup":case"dragend":Hu=!1,wf(m,a,g);break;case"selectionchange":if(ex)break;case"keydown":case"keyup":wf(m,a,g)}var v;if(ki)e:{switch(e){case"compositionstart":var S="onCompositionStart";break e;case"compositionend":S="onCompositionEnd";break e;case"compositionupdate":S="onCompositionUpdate";break e}S=void 0}else Fr?_c(e,a)&&(S="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(S="onCompositionStart");S&&(Uc&&a.locale!=="ko"&&(Fr||S!=="onCompositionStart"?S==="onCompositionEnd"&&Fr&&(v=Hc()):(Ta=g,Ii="value"in Ta?Ta.value:Ta.textContent,Fr=!0)),P=Hl(d,S),0<P.length&&(S=new hf(S,e,null,a,g),m.push({event:S,listeners:P}),v?S.data=v:(v=qc(a),v!==null&&(S.data=v)))),(v=qh?Wh(e,a):$h(e,a))&&(d=Hl(d,"onBeforeInput"),0<d.length&&(g=new hf("onBeforeInput","beforeinput",null,a,g),m.push({event:g,listeners:d}),g.data=v))}ep(m,t)})}function nn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Hl(e,t){for(var a=t+"Capture",r=[];e!==null;){var o=e,n=o.stateNode;o.tag===5&&n!==null&&(o=n,n=Jo(e,a),n!=null&&r.unshift(nn(e,n,o)),n=Jo(e,t),n!=null&&r.push(nn(e,n,o))),e=e.return}return r}function Ar(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Rf(e,t,a,r,o){for(var n=t._reactName,l=[];a!==null&&a!==r;){var s=a,u=s.alternate,d=s.stateNode;if(u!==null&&u===r)break;s.tag===5&&d!==null&&(s=d,o?(u=Jo(a,n),u!=null&&l.unshift(nn(a,u,s))):o||(u=Jo(a,n),u!=null&&l.push(nn(a,u,s)))),a=a.return}l.length!==0&&e.push({event:t,listeners:l})}var ax=/\\r\\n?/g,rx=/\\u0000|\\uFFFD/g;function Mf(e){return(typeof e=="string"?e:""+e).replace(ax,`\n`).replace(rx,"")}function hl(e,t,a){if(t=Mf(t),Mf(e)!==t&&a)throw Error(R(425))}function Ul(){}var Uu=null,_u=null;function qu(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wu=typeof setTimeout=="function"?setTimeout:void 0,ox=typeof clearTimeout=="function"?clearTimeout:void 0,Af=typeof Promise=="function"?Promise:void 0,nx=typeof queueMicrotask=="function"?queueMicrotask:typeof Af<"u"?function(e){return Af.resolve(null).then(e).catch(lx)}:Wu;function lx(e){setTimeout(function(){throw e})}function iu(e,t){var a=t,r=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&o.nodeType===8)if(a=o.data,a==="/$"){if(r===0){e.removeChild(o),tn(t);return}r--}else a!=="$"&&a!=="$?"&&a!=="$!"||r++;a=o}while(a);tn(t)}function Ea(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(t===0)return e;t--}else a==="/$"&&t++}e=e.previousSibling}return null}var oo=Math.random().toString(36).slice(2),Yt="__reactFiber$"+oo,ln="__reactProps$"+oo,ma="__reactContainer$"+oo,$u="__reactEvents$"+oo,sx="__reactListeners$"+oo,ux="__reactHandles$"+oo;function rr(e){var t=e[Yt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[ma]||a[Yt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Df(e);e!==null;){if(a=e[Yt])return a;e=Df(e)}return t}e=a,a=e.parentNode}return null}function hn(e){return e=e[Yt]||e[ma],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function zr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(R(33))}function ls(e){return e[ln]||null}var Vu=[],Nr=-1;function _a(e){return{current:e}}function Ce(e){0>Nr||(e.current=Vu[Nr],Vu[Nr]=null,Nr--)}function Le(e,t){Nr++,Vu[Nr]=e.current,e.current=t}var Ha={},je=_a(Ha),ut=_a(!1),ur=Ha;function Yr(e,t){var a=e.type.contextTypes;if(!a)return Ha;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},n;for(n in a)o[n]=t[n];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function it(e){return e=e.childContextTypes,e!=null}function _l(){Ce(ut),Ce(je)}function Ef(e,t,a){if(je.current!==Ha)throw Error(R(168));Le(je,t),Le(ut,a)}function ap(e,t,a){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return a;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(R(108,jg(e)||"Unknown",o));return Pe({},a,r)}function ql(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ha,ur=je.current,Le(je,e),Le(ut,ut.current),!0}function Ff(e,t,a){var r=e.stateNode;if(!r)throw Error(R(169));a?(e=ap(e,t,ur),r.__reactInternalMemoizedMergedChildContext=e,Ce(ut),Ce(je),Le(je,e)):Ce(ut),Le(ut,a)}var ia=null,ss=!1,du=!1;function rp(e){ia===null?ia=[e]:ia.push(e)}function ix(e){ss=!0,rp(e)}function qa(){if(!du&&ia!==null){du=!0;var e=0,t=xe;try{var a=ia;for(xe=1;e<a.length;e++){var r=a[e];do r=r(!0);while(r!==null)}ia=null,ss=!1}catch(o){throw ia!==null&&(ia=ia.slice(e+1)),Tc(vi,qa),o}finally{xe=t,du=!1}}return null}var Hr=[],Ur=0,Wl=null,$l=0,Ct=[],wt=0,ir=null,da=1,fa="";function tr(e,t){Hr[Ur++]=$l,Hr[Ur++]=Wl,Wl=e,$l=t}function op(e,t,a){Ct[wt++]=da,Ct[wt++]=fa,Ct[wt++]=ir,ir=e;var r=da;e=fa;var o=32-Ut(r)-1;r&=~(1<<o),a+=1;var n=32-Ut(t)+o;if(30<n){var l=o-o%5;n=(r&(1<<l)-1).toString(32),r>>=l,o-=l,da=1<<32-Ut(t)+o|a<<o|r,fa=n+e}else da=1<<n|a<<o|r,fa=e}function Pi(e){e.return!==null&&(tr(e,1),op(e,1,0))}function Ti(e){for(;e===Wl;)Wl=Hr[--Ur],Hr[Ur]=null,$l=Hr[--Ur],Hr[Ur]=null;for(;e===ir;)ir=Ct[--wt],Ct[wt]=null,fa=Ct[--wt],Ct[wt]=null,da=Ct[--wt],Ct[wt]=null}var xt=null,ht=null,we=!1,Ht=null;function np(e,t){var a=kt(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,t=e.deletions,t===null?(e.deletions=[a],e.flags|=16):t.push(a)}function Bf(e,t){switch(e.tag){case 5:var a=e.type;return t=t.nodeType!==1||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,xt=e,ht=Ea(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,xt=e,ht=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=ir!==null?{id:da,overflow:fa}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=kt(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,xt=e,ht=null,!0):!1;default:return!1}}function Ku(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Gu(e){if(we){var t=ht;if(t){var a=t;if(!Bf(e,t)){if(Ku(e))throw Error(R(418));t=Ea(a.nextSibling);var r=xt;t&&Bf(e,t)?np(r,a):(e.flags=e.flags&-4097|2,we=!1,xt=e)}}else{if(Ku(e))throw Error(R(418));e.flags=e.flags&-4097|2,we=!1,xt=e}}}function Of(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;xt=e}function xl(e){if(e!==xt)return!1;if(!we)return Of(e),we=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!qu(e.type,e.memoizedProps)),t&&(t=ht)){if(Ku(e))throw lp(),Error(R(418));for(;t;)np(e,t),t=Ea(t.nextSibling)}if(Of(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(R(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){ht=Ea(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}ht=null}}else ht=xt?Ea(e.stateNode.nextSibling):null;return!0}function lp(){for(var e=ht;e;)e=Ea(e.nextSibling)}function Jr(){ht=xt=null,we=!1}function Ri(e){Ht===null?Ht=[e]:Ht.push(e)}var dx=xa.ReactCurrentBatchConfig;function Eo(e,t,a){if(e=a.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(R(309));var r=a.stateNode}if(!r)throw Error(R(147,e));var o=r,n=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===n?t.ref:(t=function(l){var s=o.refs;l===null?delete s[n]:s[n]=l},t._stringRef=n,t)}if(typeof e!="string")throw Error(R(284));if(!a._owner)throw Error(R(290,e))}return e}function vl(e,t){throw e=Object.prototype.toString.call(t),Error(R(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function zf(e){var t=e._init;return t(e._payload)}function sp(e){function t(f,i){if(e){var p=f.deletions;p===null?(f.deletions=[i],f.flags|=16):p.push(i)}}function a(f,i){if(!e)return null;for(;i!==null;)t(f,i),i=i.sibling;return null}function r(f,i){for(f=new Map;i!==null;)i.key!==null?f.set(i.key,i):f.set(i.index,i),i=i.sibling;return f}function o(f,i){return f=za(f,i),f.index=0,f.sibling=null,f}function n(f,i,p){return f.index=p,e?(p=f.alternate,p!==null?(p=p.index,p<i?(f.flags|=2,i):p):(f.flags|=2,i)):(f.flags|=1048576,i)}function l(f){return e&&f.alternate===null&&(f.flags|=2),f}function s(f,i,p,L){return i===null||i.tag!==6?(i=xu(p,f.mode,L),i.return=f,i):(i=o(i,p),i.return=f,i)}function u(f,i,p,L){var I=p.type;return I===Er?g(f,i,p.props.children,L,p.key):i!==null&&(i.elementType===I||typeof I=="object"&&I!==null&&I.$$typeof===wa&&zf(I)===i.type)?(L=o(i,p.props),L.ref=Eo(f,i,p),L.return=f,L):(L=Al(p.type,p.key,p.props,null,f.mode,L),L.ref=Eo(f,i,p),L.return=f,L)}function d(f,i,p,L){return i===null||i.tag!==4||i.stateNode.containerInfo!==p.containerInfo||i.stateNode.implementation!==p.implementation?(i=vu(p,f.mode,L),i.return=f,i):(i=o(i,p.children||[]),i.return=f,i)}function g(f,i,p,L,I){return i===null||i.tag!==7?(i=sr(p,f.mode,L,I),i.return=f,i):(i=o(i,p),i.return=f,i)}function m(f,i,p){if(typeof i=="string"&&i!==""||typeof i=="number")return i=xu(""+i,f.mode,p),i.return=f,i;if(typeof i=="object"&&i!==null){switch(i.$$typeof){case rl:return p=Al(i.type,i.key,i.props,null,f.mode,p),p.ref=Eo(f,null,i),p.return=f,p;case Dr:return i=vu(i,f.mode,p),i.return=f,i;case wa:var L=i._init;return m(f,L(i._payload),p)}if(No(i)||Ro(i))return i=sr(i,f.mode,p,null),i.return=f,i;vl(f,i)}return null}function c(f,i,p,L){var I=i!==null?i.key:null;if(typeof p=="string"&&p!==""||typeof p=="number")return I!==null?null:s(f,i,""+p,L);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case rl:return p.key===I?u(f,i,p,L):null;case Dr:return p.key===I?d(f,i,p,L):null;case wa:return I=p._init,c(f,i,I(p._payload),L)}if(No(p)||Ro(p))return I!==null?null:g(f,i,p,L,null);vl(f,p)}return null}function y(f,i,p,L,I){if(typeof L=="string"&&L!==""||typeof L=="number")return f=f.get(p)||null,s(i,f,""+L,I);if(typeof L=="object"&&L!==null){switch(L.$$typeof){case rl:return f=f.get(L.key===null?p:L.key)||null,u(i,f,L,I);case Dr:return f=f.get(L.key===null?p:L.key)||null,d(i,f,L,I);case wa:var P=L._init;return y(f,i,p,P(L._payload),I)}if(No(L)||Ro(L))return f=f.get(p)||null,g(i,f,L,I,null);vl(i,L)}return null}function x(f,i,p,L){for(var I=null,P=null,v=i,S=i=0,_=null;v!==null&&S<p.length;S++){v.index>S?(_=v,v=null):_=v.sibling;var k=c(f,v,p[S],L);if(k===null){v===null&&(v=_);break}e&&v&&k.alternate===null&&t(f,v),i=n(k,i,S),P===null?I=k:P.sibling=k,P=k,v=_}if(S===p.length)return a(f,v),we&&tr(f,S),I;if(v===null){for(;S<p.length;S++)v=m(f,p[S],L),v!==null&&(i=n(v,i,S),P===null?I=v:P.sibling=v,P=v);return we&&tr(f,S),I}for(v=r(f,v);S<p.length;S++)_=y(v,f,S,p[S],L),_!==null&&(e&&_.alternate!==null&&v.delete(_.key===null?S:_.key),i=n(_,i,S),P===null?I=_:P.sibling=_,P=_);return e&&v.forEach(function(M){return t(f,M)}),we&&tr(f,S),I}function C(f,i,p,L){var I=Ro(p);if(typeof I!="function")throw Error(R(150));if(p=I.call(p),p==null)throw Error(R(151));for(var P=I=null,v=i,S=i=0,_=null,k=p.next();v!==null&&!k.done;S++,k=p.next()){v.index>S?(_=v,v=null):_=v.sibling;var M=c(f,v,k.value,L);if(M===null){v===null&&(v=_);break}e&&v&&M.alternate===null&&t(f,v),i=n(M,i,S),P===null?I=M:P.sibling=M,P=M,v=_}if(k.done)return a(f,v),we&&tr(f,S),I;if(v===null){for(;!k.done;S++,k=p.next())k=m(f,k.value,L),k!==null&&(i=n(k,i,S),P===null?I=k:P.sibling=k,P=k);return we&&tr(f,S),I}for(v=r(f,v);!k.done;S++,k=p.next())k=y(v,f,S,k.value,L),k!==null&&(e&&k.alternate!==null&&v.delete(k.key===null?S:k.key),i=n(k,i,S),P===null?I=k:P.sibling=k,P=k);return e&&v.forEach(function(U){return t(f,U)}),we&&tr(f,S),I}function O(f,i,p,L){if(typeof p=="object"&&p!==null&&p.type===Er&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case rl:e:{for(var I=p.key,P=i;P!==null;){if(P.key===I){if(I=p.type,I===Er){if(P.tag===7){a(f,P.sibling),i=o(P,p.props.children),i.return=f,f=i;break e}}else if(P.elementType===I||typeof I=="object"&&I!==null&&I.$$typeof===wa&&zf(I)===P.type){a(f,P.sibling),i=o(P,p.props),i.ref=Eo(f,P,p),i.return=f,f=i;break e}a(f,P);break}else t(f,P);P=P.sibling}p.type===Er?(i=sr(p.props.children,f.mode,L,p.key),i.return=f,f=i):(L=Al(p.type,p.key,p.props,null,f.mode,L),L.ref=Eo(f,i,p),L.return=f,f=L)}return l(f);case Dr:e:{for(P=p.key;i!==null;){if(i.key===P)if(i.tag===4&&i.stateNode.containerInfo===p.containerInfo&&i.stateNode.implementation===p.implementation){a(f,i.sibling),i=o(i,p.children||[]),i.return=f,f=i;break e}else{a(f,i);break}else t(f,i);i=i.sibling}i=vu(p,f.mode,L),i.return=f,f=i}return l(f);case wa:return P=p._init,O(f,i,P(p._payload),L)}if(No(p))return x(f,i,p,L);if(Ro(p))return C(f,i,p,L);vl(f,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,i!==null&&i.tag===6?(a(f,i.sibling),i=o(i,p),i.return=f,f=i):(a(f,i),i=xu(p,f.mode,L),i.return=f,f=i),l(f)):a(f,i)}return O}var Zr=sp(!0),up=sp(!1),Vl=_a(null),Kl=null,_r=null,Mi=null;function Ai(){Mi=_r=Kl=null}function Di(e){var t=Vl.current;Ce(Vl),e._currentValue=t}function ju(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function jr(e,t){Kl=e,Mi=_r=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(st=!0),e.firstContext=null)}function Pt(e){var t=e._currentValue;if(Mi!==e)if(e={context:e,memoizedValue:t,next:null},_r===null){if(Kl===null)throw Error(R(308));_r=e,Kl.dependencies={lanes:0,firstContext:e}}else _r=_r.next=e;return t}var or=null;function Ei(e){or===null?or=[e]:or.push(e)}function ip(e,t,a,r){var o=t.interleaved;return o===null?(a.next=a,Ei(t)):(a.next=o.next,o.next=a),t.interleaved=a,ga(e,r)}function ga(e,t){e.lanes|=t;var a=e.alternate;for(a!==null&&(a.lanes|=t),a=e,e=e.return;e!==null;)e.childLanes|=t,a=e.alternate,a!==null&&(a.childLanes|=t),a=e,e=e.return;return a.tag===3?a.stateNode:null}var ka=!1;function Fi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function dp(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ca(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Fa(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(pe&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,ga(e,a)}return o=r.interleaved,o===null?(t.next=t,Ei(r)):(t.next=o.next,o.next=t),r.interleaved=t,ga(e,a)}function kl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,yi(e,a)}}function Nf(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var o=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var l={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};n===null?o=n=l:n=n.next=l,a=a.next}while(a!==null);n===null?o=n=t:n=n.next=t}else o=n=t;a={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:n,shared:r.shared,effects:r.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Gl(e,t,a,r){var o=e.updateQueue;ka=!1;var n=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var u=s,d=u.next;u.next=null,l===null?n=d:l.next=d,l=u;var g=e.alternate;g!==null&&(g=g.updateQueue,s=g.lastBaseUpdate,s!==l&&(s===null?g.firstBaseUpdate=d:s.next=d,g.lastBaseUpdate=u))}if(n!==null){var m=o.baseState;l=0,g=d=u=null,s=n;do{var c=s.lane,y=s.eventTime;if((r&c)===c){g!==null&&(g=g.next={eventTime:y,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var x=e,C=s;switch(c=t,y=a,C.tag){case 1:if(x=C.payload,typeof x=="function"){m=x.call(y,m,c);break e}m=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=C.payload,c=typeof x=="function"?x.call(y,m,c):x,c==null)break e;m=Pe({},m,c);break e;case 2:ka=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,c=o.effects,c===null?o.effects=[s]:c.push(s))}else y={eventTime:y,lane:c,tag:s.tag,payload:s.payload,callback:s.callback,next:null},g===null?(d=g=y,u=m):g=g.next=y,l|=c;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;c=s,s=c.next,c.next=null,o.lastBaseUpdate=c,o.shared.pending=null}}while(!0);if(g===null&&(u=m),o.baseState=u,o.firstBaseUpdate=d,o.lastBaseUpdate=g,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else n===null&&(o.shared.lanes=0);fr|=l,e.lanes=l,e.memoizedState=m}}function Hf(e,t,a){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(o!==null){if(r.callback=null,r=a,typeof o!="function")throw Error(R(191,o));o.call(r)}}}var xn={},Zt=_a(xn),sn=_a(xn),un=_a(xn);function nr(e){if(e===xn)throw Error(R(174));return e}function Bi(e,t){switch(Le(un,t),Le(sn,e),Le(Zt,xn),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Tu(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Tu(t,e)}Ce(Zt),Le(Zt,t)}function eo(){Ce(Zt),Ce(sn),Ce(un)}function fp(e){nr(un.current);var t=nr(Zt.current),a=Tu(t,e.type);t!==a&&(Le(sn,e),Le(Zt,a))}function Oi(e){sn.current===e&&(Ce(Zt),Ce(sn))}var ke=_a(0);function jl(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var fu=[];function zi(){for(var e=0;e<fu.length;e++)fu[e]._workInProgressVersionPrimary=null;fu.length=0}var bl=xa.ReactCurrentDispatcher,cu=xa.ReactCurrentBatchConfig,dr=0,be=null,Fe=null,Oe=null,Xl=!1,Ko=!1,dn=0,fx=0;function Ve(){throw Error(R(321))}function Ni(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!qt(e[a],t[a]))return!1;return!0}function Hi(e,t,a,r,o,n){if(dr=n,be=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,bl.current=e===null||e.memoizedState===null?gx:hx,e=a(r,o),Ko){n=0;do{if(Ko=!1,dn=0,25<=n)throw Error(R(301));n+=1,Oe=Fe=null,t.updateQueue=null,bl.current=xx,e=a(r,o)}while(Ko)}if(bl.current=Ql,t=Fe!==null&&Fe.next!==null,dr=0,Oe=Fe=be=null,Xl=!1,t)throw Error(R(300));return e}function Ui(){var e=dn!==0;return dn=0,e}function Qt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Oe===null?be.memoizedState=Oe=e:Oe=Oe.next=e,Oe}function Tt(){if(Fe===null){var e=be.alternate;e=e!==null?e.memoizedState:null}else e=Fe.next;var t=Oe===null?be.memoizedState:Oe.next;if(t!==null)Oe=t,Fe=e;else{if(e===null)throw Error(R(310));Fe=e,e={memoizedState:Fe.memoizedState,baseState:Fe.baseState,baseQueue:Fe.baseQueue,queue:Fe.queue,next:null},Oe===null?be.memoizedState=Oe=e:Oe=Oe.next=e}return Oe}function fn(e,t){return typeof t=="function"?t(e):t}function pu(e){var t=Tt(),a=t.queue;if(a===null)throw Error(R(311));a.lastRenderedReducer=e;var r=Fe,o=r.baseQueue,n=a.pending;if(n!==null){if(o!==null){var l=o.next;o.next=n.next,n.next=l}r.baseQueue=o=n,a.pending=null}if(o!==null){n=o.next,r=r.baseState;var s=l=null,u=null,d=n;do{var g=d.lane;if((dr&g)===g)u!==null&&(u=u.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var m={lane:g,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};u===null?(s=u=m,l=r):u=u.next=m,be.lanes|=g,fr|=g}d=d.next}while(d!==null&&d!==n);u===null?l=r:u.next=s,qt(r,t.memoizedState)||(st=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=u,a.lastRenderedState=r}if(e=a.interleaved,e!==null){o=e;do n=o.lane,be.lanes|=n,fr|=n,o=o.next;while(o!==e)}else o===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function mu(e){var t=Tt(),a=t.queue;if(a===null)throw Error(R(311));a.lastRenderedReducer=e;var r=a.dispatch,o=a.pending,n=t.memoizedState;if(o!==null){a.pending=null;var l=o=o.next;do n=e(n,l.action),l=l.next;while(l!==o);qt(n,t.memoizedState)||(st=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function cp(){}function pp(e,t){var a=be,r=Tt(),o=t(),n=!qt(r.memoizedState,o);if(n&&(r.memoizedState=o,st=!0),r=r.queue,_i(hp.bind(null,a,r,e),[e]),r.getSnapshot!==t||n||Oe!==null&&Oe.memoizedState.tag&1){if(a.flags|=2048,cn(9,gp.bind(null,a,r,o,t),void 0,null),ze===null)throw Error(R(349));(dr&30)!==0||mp(a,t,o)}return o}function mp(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=be.updateQueue,t===null?(t={lastEffect:null,stores:null},be.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function gp(e,t,a,r){t.value=a,t.getSnapshot=r,xp(t)&&vp(e)}function hp(e,t,a){return a(function(){xp(t)&&vp(e)})}function xp(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!qt(e,a)}catch{return!0}}function vp(e){var t=ga(e,1);t!==null&&_t(t,e,1,-1)}function Uf(e){var t=Qt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:e},t.queue=e,e=e.dispatch=mx.bind(null,be,e),[t.memoizedState,e]}function cn(e,t,a,r){return e={tag:e,create:t,destroy:a,deps:r,next:null},t=be.updateQueue,t===null?(t={lastEffect:null,stores:null},be.updateQueue=t,t.lastEffect=e.next=e):(a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e)),e}function yp(){return Tt().memoizedState}function Pl(e,t,a,r){var o=Qt();be.flags|=e,o.memoizedState=cn(1|t,a,void 0,r===void 0?null:r)}function us(e,t,a,r){var o=Tt();r=r===void 0?null:r;var n=void 0;if(Fe!==null){var l=Fe.memoizedState;if(n=l.destroy,r!==null&&Ni(r,l.deps)){o.memoizedState=cn(t,a,n,r);return}}be.flags|=e,o.memoizedState=cn(1|t,a,n,r)}function _f(e,t){return Pl(8390656,8,e,t)}function _i(e,t){return us(2048,8,e,t)}function Lp(e,t){return us(4,2,e,t)}function Sp(e,t){return us(4,4,e,t)}function Ip(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Cp(e,t,a){return a=a!=null?a.concat([e]):null,us(4,4,Ip.bind(null,t,e),a)}function qi(){}function wp(e,t){var a=Tt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&Ni(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function kp(e,t){var a=Tt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&Ni(t,r[1])?r[0]:(e=e(),a.memoizedState=[e,t],e)}function bp(e,t,a){return(dr&21)===0?(e.baseState&&(e.baseState=!1,st=!0),e.memoizedState=a):(qt(a,t)||(a=Ac(),be.lanes|=a,fr|=a,e.baseState=!0),t)}function cx(e,t){var a=xe;xe=a!==0&&4>a?a:4,e(!0);var r=cu.transition;cu.transition={};try{e(!1),t()}finally{xe=a,cu.transition=r}}function Pp(){return Tt().memoizedState}function px(e,t,a){var r=Oa(e);if(a={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null},Tp(e))Rp(t,a);else if(a=ip(e,t,a,r),a!==null){var o=Je();_t(a,e,r,o),Mp(a,t,r)}}function mx(e,t,a){var r=Oa(e),o={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null};if(Tp(e))Rp(t,o);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var l=t.lastRenderedState,s=n(l,a);if(o.hasEagerState=!0,o.eagerState=s,qt(s,l)){var u=t.interleaved;u===null?(o.next=o,Ei(t)):(o.next=u.next,u.next=o),t.interleaved=o;return}}catch{}a=ip(e,t,o,r),a!==null&&(o=Je(),_t(a,e,r,o),Mp(a,t,r))}}function Tp(e){var t=e.alternate;return e===be||t!==null&&t===be}function Rp(e,t){Ko=Xl=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Mp(e,t,a){if((a&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,yi(e,a)}}var Ql={readContext:Pt,useCallback:Ve,useContext:Ve,useEffect:Ve,useImperativeHandle:Ve,useInsertionEffect:Ve,useLayoutEffect:Ve,useMemo:Ve,useReducer:Ve,useRef:Ve,useState:Ve,useDebugValue:Ve,useDeferredValue:Ve,useTransition:Ve,useMutableSource:Ve,useSyncExternalStore:Ve,useId:Ve,unstable_isNewReconciler:!1},gx={readContext:Pt,useCallback:function(e,t){return Qt().memoizedState=[e,t===void 0?null:t],e},useContext:Pt,useEffect:_f,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,Pl(4194308,4,Ip.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Pl(4194308,4,e,t)},useInsertionEffect:function(e,t){return Pl(4,2,e,t)},useMemo:function(e,t){var a=Qt();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var r=Qt();return t=a!==void 0?a(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=px.bind(null,be,e),[r.memoizedState,e]},useRef:function(e){var t=Qt();return e={current:e},t.memoizedState=e},useState:Uf,useDebugValue:qi,useDeferredValue:function(e){return Qt().memoizedState=e},useTransition:function(){var e=Uf(!1),t=e[0];return e=cx.bind(null,e[1]),Qt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var r=be,o=Qt();if(we){if(a===void 0)throw Error(R(407));a=a()}else{if(a=t(),ze===null)throw Error(R(349));(dr&30)!==0||mp(r,t,a)}o.memoizedState=a;var n={value:a,getSnapshot:t};return o.queue=n,_f(hp.bind(null,r,n,e),[e]),r.flags|=2048,cn(9,gp.bind(null,r,n,a,t),void 0,null),a},useId:function(){var e=Qt(),t=ze.identifierPrefix;if(we){var a=fa,r=da;a=(r&~(1<<32-Ut(r)-1)).toString(32)+a,t=":"+t+"R"+a,a=dn++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=fx++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},hx={readContext:Pt,useCallback:wp,useContext:Pt,useEffect:_i,useImperativeHandle:Cp,useInsertionEffect:Lp,useLayoutEffect:Sp,useMemo:kp,useReducer:pu,useRef:yp,useState:function(){return pu(fn)},useDebugValue:qi,useDeferredValue:function(e){var t=Tt();return bp(t,Fe.memoizedState,e)},useTransition:function(){var e=pu(fn)[0],t=Tt().memoizedState;return[e,t]},useMutableSource:cp,useSyncExternalStore:pp,useId:Pp,unstable_isNewReconciler:!1},xx={readContext:Pt,useCallback:wp,useContext:Pt,useEffect:_i,useImperativeHandle:Cp,useInsertionEffect:Lp,useLayoutEffect:Sp,useMemo:kp,useReducer:mu,useRef:yp,useState:function(){return mu(fn)},useDebugValue:qi,useDeferredValue:function(e){var t=Tt();return Fe===null?t.memoizedState=e:bp(t,Fe.memoizedState,e)},useTransition:function(){var e=mu(fn)[0],t=Tt().memoizedState;return[e,t]},useMutableSource:cp,useSyncExternalStore:pp,useId:Pp,unstable_isNewReconciler:!1};function zt(e,t){if(e&&e.defaultProps){t=Pe({},t),e=e.defaultProps;for(var a in e)t[a]===void 0&&(t[a]=e[a]);return t}return t}function Xu(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:Pe({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var is={isMounted:function(e){return(e=e._reactInternals)?mr(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var r=Je(),o=Oa(e),n=ca(r,o);n.payload=t,a!=null&&(n.callback=a),t=Fa(e,n,o),t!==null&&(_t(t,e,o,r),kl(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=Je(),o=Oa(e),n=ca(r,o);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=Fa(e,n,o),t!==null&&(_t(t,e,o,r),kl(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Je(),r=Oa(e),o=ca(a,r);o.tag=2,t!=null&&(o.callback=t),t=Fa(e,o,r),t!==null&&(_t(t,e,r,a),kl(t,e,r))}};function qf(e,t,a,r,o,n,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,n,l):t.prototype&&t.prototype.isPureReactComponent?!rn(a,r)||!rn(o,n):!0}function Ap(e,t,a){var r=!1,o=Ha,n=t.contextType;return typeof n=="object"&&n!==null?n=Pt(n):(o=it(t)?ur:je.current,r=t.contextTypes,n=(r=r!=null)?Yr(e,o):Ha),t=new t(a,n),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=is,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=n),t}function Wf(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&is.enqueueReplaceState(t,t.state,null)}function Qu(e,t,a,r){var o=e.stateNode;o.props=a,o.state=e.memoizedState,o.refs={},Fi(e);var n=t.contextType;typeof n=="object"&&n!==null?o.context=Pt(n):(n=it(t)?ur:je.current,o.context=Yr(e,n)),o.state=e.memoizedState,n=t.getDerivedStateFromProps,typeof n=="function"&&(Xu(e,t,n,a),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&is.enqueueReplaceState(o,o.state,null),Gl(e,a,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function to(e,t){try{var a="",r=t;do a+=Gg(r),r=r.return;while(r);var o=a}catch(n){o=`\nError generating stack: `+n.message+`\n`+n.stack}return{value:e,source:t,stack:o,digest:null}}function gu(e,t,a){return{value:e,source:null,stack:a??null,digest:t??null}}function Yu(e,t){try{console.error(t.value)}catch(a){setTimeout(function(){throw a})}}var vx=typeof WeakMap=="function"?WeakMap:Map;function Dp(e,t,a){a=ca(-1,a),a.tag=3,a.payload={element:null};var r=t.value;return a.callback=function(){Jl||(Jl=!0,si=r),Yu(e,t)},a}function Ep(e,t,a){a=ca(-1,a),a.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var o=t.value;a.payload=function(){return r(o)},a.callback=function(){Yu(e,t)}}var n=e.stateNode;return n!==null&&typeof n.componentDidCatch=="function"&&(a.callback=function(){Yu(e,t),typeof r!="function"&&(Ba===null?Ba=new Set([this]):Ba.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),a}function $f(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new vx;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(a)||(o.add(a),e=Dx.bind(null,e,t,a),t.then(e,e))}function Vf(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Kf(e,t,a,r,o){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(t=ca(-1,1),t.tag=2,Fa(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var yx=xa.ReactCurrentOwner,st=!1;function Ye(e,t,a,r){t.child=e===null?up(t,null,a,r):Zr(t,e.child,a,r)}function Gf(e,t,a,r,o){a=a.render;var n=t.ref;return jr(t,o),r=Hi(e,t,a,r,n,o),a=Ui(),e!==null&&!st?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ha(e,t,o)):(we&&a&&Pi(t),t.flags|=1,Ye(e,t,r,o),t.child)}function jf(e,t,a,r,o){if(e===null){var n=a.type;return typeof n=="function"&&!Qi(n)&&n.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(t.tag=15,t.type=n,Fp(e,t,n,r,o)):(e=Al(a.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,(e.lanes&o)===0){var l=n.memoizedProps;if(a=a.compare,a=a!==null?a:rn,a(l,r)&&e.ref===t.ref)return ha(e,t,o)}return t.flags|=1,e=za(n,r),e.ref=t.ref,e.return=t,t.child=e}function Fp(e,t,a,r,o){if(e!==null){var n=e.memoizedProps;if(rn(n,r)&&e.ref===t.ref)if(st=!1,t.pendingProps=r=n,(e.lanes&o)!==0)(e.flags&131072)!==0&&(st=!0);else return t.lanes=e.lanes,ha(e,t,o)}return Ju(e,t,a,r,o)}function Bp(e,t,a){var r=t.pendingProps,o=r.children,n=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Le(Wr,gt),gt|=a;else{if((a&1073741824)===0)return e=n!==null?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Le(Wr,gt),gt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=n!==null?n.baseLanes:a,Le(Wr,gt),gt|=r}else n!==null?(r=n.baseLanes|a,t.memoizedState=null):r=a,Le(Wr,gt),gt|=r;return Ye(e,t,o,a),t.child}function Op(e,t){var a=t.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function Ju(e,t,a,r,o){var n=it(a)?ur:je.current;return n=Yr(t,n),jr(t,o),a=Hi(e,t,a,r,n,o),r=Ui(),e!==null&&!st?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ha(e,t,o)):(we&&r&&Pi(t),t.flags|=1,Ye(e,t,a,o),t.child)}function Xf(e,t,a,r,o){if(it(a)){var n=!0;ql(t)}else n=!1;if(jr(t,o),t.stateNode===null)Tl(e,t),Ap(t,a,r),Qu(t,a,r,o),r=!0;else if(e===null){var l=t.stateNode,s=t.memoizedProps;l.props=s;var u=l.context,d=a.contextType;typeof d=="object"&&d!==null?d=Pt(d):(d=it(a)?ur:je.current,d=Yr(t,d));var g=a.getDerivedStateFromProps,m=typeof g=="function"||typeof l.getSnapshotBeforeUpdate=="function";m||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==r||u!==d)&&Wf(t,l,r,d),ka=!1;var c=t.memoizedState;l.state=c,Gl(t,r,l,o),u=t.memoizedState,s!==r||c!==u||ut.current||ka?(typeof g=="function"&&(Xu(t,a,g,r),u=t.memoizedState),(s=ka||qf(t,a,s,r,c,u,d))?(m||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),l.props=r,l.state=u,l.context=d,r=s):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{l=t.stateNode,dp(e,t),s=t.memoizedProps,d=t.type===t.elementType?s:zt(t.type,s),l.props=d,m=t.pendingProps,c=l.context,u=a.contextType,typeof u=="object"&&u!==null?u=Pt(u):(u=it(a)?ur:je.current,u=Yr(t,u));var y=a.getDerivedStateFromProps;(g=typeof y=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==m||c!==u)&&Wf(t,l,r,u),ka=!1,c=t.memoizedState,l.state=c,Gl(t,r,l,o);var x=t.memoizedState;s!==m||c!==x||ut.current||ka?(typeof y=="function"&&(Xu(t,a,y,r),x=t.memoizedState),(d=ka||qf(t,a,d,r,c,x,u)||!1)?(g||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(r,x,u),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(r,x,u)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&c===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&c===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=x),l.props=r,l.state=x,l.context=u,r=d):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&c===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&c===e.memoizedState||(t.flags|=1024),r=!1)}return Zu(e,t,a,r,n,o)}function Zu(e,t,a,r,o,n){Op(e,t);var l=(t.flags&128)!==0;if(!r&&!l)return o&&Ff(t,a,!1),ha(e,t,n);r=t.stateNode,yx.current=t;var s=l&&typeof a.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&l?(t.child=Zr(t,e.child,null,n),t.child=Zr(t,null,s,n)):Ye(e,t,s,n),t.memoizedState=r.state,o&&Ff(t,a,!0),t.child}function zp(e){var t=e.stateNode;t.pendingContext?Ef(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Ef(e,t.context,!1),Bi(e,t.containerInfo)}function Qf(e,t,a,r,o){return Jr(),Ri(o),t.flags|=256,Ye(e,t,a,r),t.child}var ei={dehydrated:null,treeContext:null,retryLane:0};function ti(e){return{baseLanes:e,cachePool:null,transitions:null}}function Np(e,t,a){var r=t.pendingProps,o=ke.current,n=!1,l=(t.flags&128)!==0,s;if((s=l)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(n=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),Le(ke,o&1),e===null)return Gu(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(l=r.children,e=r.fallback,n?(r=t.mode,n=t.child,l={mode:"hidden",children:l},(r&1)===0&&n!==null?(n.childLanes=0,n.pendingProps=l):n=cs(l,r,0,null),e=sr(e,r,a,null),n.return=t,e.return=t,n.sibling=e,t.child=n,t.child.memoizedState=ti(a),t.memoizedState=ei,e):Wi(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return Lx(e,t,l,r,s,o,a);if(n){n=r.fallback,l=t.mode,o=e.child,s=o.sibling;var u={mode:"hidden",children:r.children};return(l&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=u,t.deletions=null):(r=za(o,u),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?n=za(s,n):(n=sr(n,l,a,null),n.flags|=2),n.return=t,r.return=t,r.sibling=n,t.child=r,r=n,n=t.child,l=e.child.memoizedState,l=l===null?ti(a):{baseLanes:l.baseLanes|a,cachePool:null,transitions:l.transitions},n.memoizedState=l,n.childLanes=e.childLanes&~a,t.memoizedState=ei,r}return n=e.child,e=n.sibling,r=za(n,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=a),r.return=t,r.sibling=null,e!==null&&(a=t.deletions,a===null?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=r,t.memoizedState=null,r}function Wi(e,t){return t=cs({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function yl(e,t,a,r){return r!==null&&Ri(r),Zr(t,e.child,null,a),e=Wi(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Lx(e,t,a,r,o,n,l){if(a)return t.flags&256?(t.flags&=-257,r=gu(Error(R(422))),yl(e,t,l,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(n=r.fallback,o=t.mode,r=cs({mode:"visible",children:r.children},o,0,null),n=sr(n,o,l,null),n.flags|=2,r.return=t,n.return=t,r.sibling=n,t.child=r,(t.mode&1)!==0&&Zr(t,e.child,null,l),t.child.memoizedState=ti(l),t.memoizedState=ei,n);if((t.mode&1)===0)return yl(e,t,l,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,n=Error(R(419)),r=gu(n,r,void 0),yl(e,t,l,r)}if(s=(l&e.childLanes)!==0,st||s){if(r=ze,r!==null){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|l))!==0?0:o,o!==0&&o!==n.retryLane&&(n.retryLane=o,ga(e,o),_t(r,e,o,-1))}return Xi(),r=gu(Error(R(421))),yl(e,t,l,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=Ex.bind(null,e),o._reactRetry=t,null):(e=n.treeContext,ht=Ea(o.nextSibling),xt=t,we=!0,Ht=null,e!==null&&(Ct[wt++]=da,Ct[wt++]=fa,Ct[wt++]=ir,da=e.id,fa=e.overflow,ir=t),t=Wi(t,r.children),t.flags|=4096,t)}function Yf(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ju(e.return,t,a)}function hu(e,t,a,r,o){var n=e.memoizedState;n===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:o}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=r,n.tail=a,n.tailMode=o)}function Hp(e,t,a){var r=t.pendingProps,o=r.revealOrder,n=r.tail;if(Ye(e,t,r.children,a),r=ke.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Yf(e,a,t);else if(e.tag===19)Yf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Le(ke,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(a=t.child,o=null;a!==null;)e=a.alternate,e!==null&&jl(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),hu(t,!1,o,a,n);break;case"backwards":for(a=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&jl(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}hu(t,!0,a,null,n);break;case"together":hu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Tl(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ha(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),fr|=t.lanes,(a&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(R(153));if(t.child!==null){for(e=t.child,a=za(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=za(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Sx(e,t,a){switch(t.tag){case 3:zp(t),Jr();break;case 5:fp(t);break;case 1:it(t.type)&&ql(t);break;case 4:Bi(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Le(Vl,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Le(ke,ke.current&1),t.flags|=128,null):(a&t.child.childLanes)!==0?Np(e,t,a):(Le(ke,ke.current&1),e=ha(e,t,a),e!==null?e.sibling:null);Le(ke,ke.current&1);break;case 19:if(r=(a&t.childLanes)!==0,(e.flags&128)!==0){if(r)return Hp(e,t,a);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),Le(ke,ke.current),r)break;return null;case 22:case 23:return t.lanes=0,Bp(e,t,a)}return ha(e,t,a)}var Up,ai,_p,qp;Up=function(e,t){for(var a=t.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}};ai=function(){};_p=function(e,t,a,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,nr(Zt.current);var n=null;switch(a){case"input":o=wu(e,o),r=wu(e,r),n=[];break;case"select":o=Pe({},o,{value:void 0}),r=Pe({},r,{value:void 0}),n=[];break;case"textarea":o=Pu(e,o),r=Pu(e,r),n=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Ul)}Ru(a,r);var l;a=null;for(d in o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&o[d]!=null)if(d==="style"){var s=o[d];for(l in s)s.hasOwnProperty(l)&&(a||(a={}),a[l]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(Qo.hasOwnProperty(d)?n||(n=[]):(n=n||[]).push(d,null));for(d in r){var u=r[d];if(s=o!=null?o[d]:void 0,r.hasOwnProperty(d)&&u!==s&&(u!=null||s!=null))if(d==="style")if(s){for(l in s)!s.hasOwnProperty(l)||u&&u.hasOwnProperty(l)||(a||(a={}),a[l]="");for(l in u)u.hasOwnProperty(l)&&s[l]!==u[l]&&(a||(a={}),a[l]=u[l])}else a||(n||(n=[]),n.push(d,a)),a=u;else d==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,s=s?s.__html:void 0,u!=null&&s!==u&&(n=n||[]).push(d,u)):d==="children"?typeof u!="string"&&typeof u!="number"||(n=n||[]).push(d,""+u):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(Qo.hasOwnProperty(d)?(u!=null&&d==="onScroll"&&Ie("scroll",e),n||s===u||(n=[])):(n=n||[]).push(d,u))}a&&(n=n||[]).push("style",a);var d=n;(t.updateQueue=d)&&(t.flags|=4)}};qp=function(e,t,a,r){a!==r&&(t.flags|=4)};function Fo(e,t){if(!we)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ke(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function Ix(e,t,a){var r=t.pendingProps;switch(Ti(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ke(t),null;case 1:return it(t.type)&&_l(),Ke(t),null;case 3:return r=t.stateNode,eo(),Ce(ut),Ce(je),zi(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(xl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ht!==null&&(di(Ht),Ht=null))),ai(e,t),Ke(t),null;case 5:Oi(t);var o=nr(un.current);if(a=t.type,e!==null&&t.stateNode!=null)_p(e,t,a,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(R(166));return Ke(t),null}if(e=nr(Zt.current),xl(t)){r=t.stateNode,a=t.type;var n=t.memoizedProps;switch(r[Yt]=t,r[ln]=n,e=(t.mode&1)!==0,a){case"dialog":Ie("cancel",r),Ie("close",r);break;case"iframe":case"object":case"embed":Ie("load",r);break;case"video":case"audio":for(o=0;o<Uo.length;o++)Ie(Uo[o],r);break;case"source":Ie("error",r);break;case"img":case"image":case"link":Ie("error",r),Ie("load",r);break;case"details":Ie("toggle",r);break;case"input":of(r,n),Ie("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!n.multiple},Ie("invalid",r);break;case"textarea":lf(r,n),Ie("invalid",r)}Ru(a,n),o=null;for(var l in n)if(n.hasOwnProperty(l)){var s=n[l];l==="children"?typeof s=="string"?r.textContent!==s&&(n.suppressHydrationWarning!==!0&&hl(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(n.suppressHydrationWarning!==!0&&hl(r.textContent,s,e),o=["children",""+s]):Qo.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&Ie("scroll",r)}switch(a){case"input":ol(r),nf(r,n,!0);break;case"textarea":ol(r),sf(r);break;case"select":case"option":break;default:typeof n.onClick=="function"&&(r.onclick=Ul)}r=o,t.updateQueue=r,r!==null&&(t.flags|=4)}else{l=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=hc(a)),e==="http://www.w3.org/1999/xhtml"?a==="script"?(e=l.createElement("div"),e.innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(a,{is:r.is}):(e=l.createElement(a),a==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,a),e[Yt]=t,e[ln]=r,Up(e,t,!1,!1),t.stateNode=e;e:{switch(l=Mu(a,r),a){case"dialog":Ie("cancel",e),Ie("close",e),o=r;break;case"iframe":case"object":case"embed":Ie("load",e),o=r;break;case"video":case"audio":for(o=0;o<Uo.length;o++)Ie(Uo[o],e);o=r;break;case"source":Ie("error",e),o=r;break;case"img":case"image":case"link":Ie("error",e),Ie("load",e),o=r;break;case"details":Ie("toggle",e),o=r;break;case"input":of(e,r),o=wu(e,r),Ie("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=Pe({},r,{value:void 0}),Ie("invalid",e);break;case"textarea":lf(e,r),o=Pu(e,r),Ie("invalid",e);break;default:o=r}Ru(a,o),s=o;for(n in s)if(s.hasOwnProperty(n)){var u=s[n];n==="style"?yc(e,u):n==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&xc(e,u)):n==="children"?typeof u=="string"?(a!=="textarea"||u!=="")&&Yo(e,u):typeof u=="number"&&Yo(e,""+u):n!=="suppressContentEditableWarning"&&n!=="suppressHydrationWarning"&&n!=="autoFocus"&&(Qo.hasOwnProperty(n)?u!=null&&n==="onScroll"&&Ie("scroll",e):u!=null&&pi(e,n,u,l))}switch(a){case"input":ol(e),nf(e,r,!1);break;case"textarea":ol(e),sf(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Na(r.value));break;case"select":e.multiple=!!r.multiple,n=r.value,n!=null?$r(e,!!r.multiple,n,!1):r.defaultValue!=null&&$r(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=Ul)}switch(a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Ke(t),null;case 6:if(e&&t.stateNode!=null)qp(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(R(166));if(a=nr(un.current),nr(Zt.current),xl(t)){if(r=t.stateNode,a=t.memoizedProps,r[Yt]=t,(n=r.nodeValue!==a)&&(e=xt,e!==null))switch(e.tag){case 3:hl(r.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&hl(r.nodeValue,a,(e.mode&1)!==0)}n&&(t.flags|=4)}else r=(a.nodeType===9?a:a.ownerDocument).createTextNode(r),r[Yt]=t,t.stateNode=r}return Ke(t),null;case 13:if(Ce(ke),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(we&&ht!==null&&(t.mode&1)!==0&&(t.flags&128)===0)lp(),Jr(),t.flags|=98560,n=!1;else if(n=xl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(R(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(R(317));n[Yt]=t}else Jr(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),n=!1}else Ht!==null&&(di(Ht),Ht=null),n=!0;if(!n)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=a,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(ke.current&1)!==0?Be===0&&(Be=3):Xi())),t.updateQueue!==null&&(t.flags|=4),Ke(t),null);case 4:return eo(),ai(e,t),e===null&&on(t.stateNode.containerInfo),Ke(t),null;case 10:return Di(t.type._context),Ke(t),null;case 17:return it(t.type)&&_l(),Ke(t),null;case 19:if(Ce(ke),n=t.memoizedState,n===null)return Ke(t),null;if(r=(t.flags&128)!==0,l=n.rendering,l===null)if(r)Fo(n,!1);else{if(Be!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(l=jl(e),l!==null){for(t.flags|=128,Fo(n,!1),r=l.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=a,a=t.child;a!==null;)n=a,e=r,n.flags&=14680066,l=n.alternate,l===null?(n.childLanes=0,n.lanes=e,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=l.childLanes,n.lanes=l.lanes,n.child=l.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=l.memoizedProps,n.memoizedState=l.memoizedState,n.updateQueue=l.updateQueue,n.type=l.type,e=l.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return Le(ke,ke.current&1|2),t.child}e=e.sibling}n.tail!==null&&Me()>ao&&(t.flags|=128,r=!0,Fo(n,!1),t.lanes=4194304)}else{if(!r)if(e=jl(l),e!==null){if(t.flags|=128,r=!0,a=e.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),Fo(n,!0),n.tail===null&&n.tailMode==="hidden"&&!l.alternate&&!we)return Ke(t),null}else 2*Me()-n.renderingStartTime>ao&&a!==1073741824&&(t.flags|=128,r=!0,Fo(n,!1),t.lanes=4194304);n.isBackwards?(l.sibling=t.child,t.child=l):(a=n.last,a!==null?a.sibling=l:t.child=l,n.last=l)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Me(),t.sibling=null,a=ke.current,Le(ke,r?a&1|2:a&1),t):(Ke(t),null);case 22:case 23:return ji(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(gt&1073741824)!==0&&(Ke(t),t.subtreeFlags&6&&(t.flags|=8192)):Ke(t),null;case 24:return null;case 25:return null}throw Error(R(156,t.tag))}function Cx(e,t){switch(Ti(t),t.tag){case 1:return it(t.type)&&_l(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return eo(),Ce(ut),Ce(je),zi(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Oi(t),null;case 13:if(Ce(ke),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(R(340));Jr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ce(ke),null;case 4:return eo(),null;case 10:return Di(t.type._context),null;case 22:case 23:return ji(),null;case 24:return null;default:return null}}var Ll=!1,Ge=!1,wx=typeof WeakSet=="function"?WeakSet:Set,N=null;function qr(e,t){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(r){Te(e,t,r)}else a.current=null}function ri(e,t,a){try{a()}catch(r){Te(e,t,r)}}var Jf=!1;function kx(e,t){if(Uu=zl,e=Gc(),bi(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var o=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break e}var l=0,s=-1,u=-1,d=0,g=0,m=e,c=null;t:for(;;){for(var y;m!==a||o!==0&&m.nodeType!==3||(s=l+o),m!==n||r!==0&&m.nodeType!==3||(u=l+r),m.nodeType===3&&(l+=m.nodeValue.length),(y=m.firstChild)!==null;)c=m,m=y;for(;;){if(m===e)break t;if(c===a&&++d===o&&(s=l),c===n&&++g===r&&(u=l),(y=m.nextSibling)!==null)break;m=c,c=m.parentNode}m=y}a=s===-1||u===-1?null:{start:s,end:u}}else a=null}a=a||{start:0,end:0}}else a=null;for(_u={focusedElem:e,selectionRange:a},zl=!1,N=t;N!==null;)if(t=N,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,N=e;else for(;N!==null;){t=N;try{var x=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var C=x.memoizedProps,O=x.memoizedState,f=t.stateNode,i=f.getSnapshotBeforeUpdate(t.elementType===t.type?C:zt(t.type,C),O);f.__reactInternalSnapshotBeforeUpdate=i}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(R(163))}}catch(L){Te(t,t.return,L)}if(e=t.sibling,e!==null){e.return=t.return,N=e;break}N=t.return}return x=Jf,Jf=!1,x}function Go(e,t,a){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var n=o.destroy;o.destroy=void 0,n!==void 0&&ri(t,a,n)}o=o.next}while(o!==r)}}function ds(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var a=t=t.next;do{if((a.tag&e)===e){var r=a.create;a.destroy=r()}a=a.next}while(a!==t)}}function oi(e){var t=e.ref;if(t!==null){var a=e.stateNode;e.tag,e=a,typeof t=="function"?t(e):t.current=e}}function Wp(e){var t=e.alternate;t!==null&&(e.alternate=null,Wp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Yt],delete t[ln],delete t[$u],delete t[sx],delete t[ux])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $p(e){return e.tag===5||e.tag===3||e.tag===4}function Zf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$p(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ni(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.nodeType===8?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(a.nodeType===8?(t=a.parentNode,t.insertBefore(e,a)):(t=a,t.appendChild(e)),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Ul));else if(r!==4&&(e=e.child,e!==null))for(ni(e,t,a),e=e.sibling;e!==null;)ni(e,t,a),e=e.sibling}function li(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(li(e,t,a),e=e.sibling;e!==null;)li(e,t,a),e=e.sibling}var He=null,Nt=!1;function Ca(e,t,a){for(a=a.child;a!==null;)Vp(e,t,a),a=a.sibling}function Vp(e,t,a){if(Jt&&typeof Jt.onCommitFiberUnmount=="function")try{Jt.onCommitFiberUnmount(as,a)}catch{}switch(a.tag){case 5:Ge||qr(a,t);case 6:var r=He,o=Nt;He=null,Ca(e,t,a),He=r,Nt=o,He!==null&&(Nt?(e=He,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):He.removeChild(a.stateNode));break;case 18:He!==null&&(Nt?(e=He,a=a.stateNode,e.nodeType===8?iu(e.parentNode,a):e.nodeType===1&&iu(e,a),tn(e)):iu(He,a.stateNode));break;case 4:r=He,o=Nt,He=a.stateNode.containerInfo,Nt=!0,Ca(e,t,a),He=r,Nt=o;break;case 0:case 11:case 14:case 15:if(!Ge&&(r=a.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var n=o,l=n.destroy;n=n.tag,l!==void 0&&((n&2)!==0||(n&4)!==0)&&ri(a,t,l),o=o.next}while(o!==r)}Ca(e,t,a);break;case 1:if(!Ge&&(qr(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=a.memoizedProps,r.state=a.memoizedState,r.componentWillUnmount()}catch(s){Te(a,t,s)}Ca(e,t,a);break;case 21:Ca(e,t,a);break;case 22:a.mode&1?(Ge=(r=Ge)||a.memoizedState!==null,Ca(e,t,a),Ge=r):Ca(e,t,a);break;default:Ca(e,t,a)}}function ec(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new wx),t.forEach(function(r){var o=Fx.bind(null,e,r);a.has(r)||(a.add(r),r.then(o,o))})}}function Ot(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var o=a[r];try{var n=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 5:He=s.stateNode,Nt=!1;break e;case 3:He=s.stateNode.containerInfo,Nt=!0;break e;case 4:He=s.stateNode.containerInfo,Nt=!0;break e}s=s.return}if(He===null)throw Error(R(160));Vp(n,l,o),He=null,Nt=!1;var u=o.alternate;u!==null&&(u.return=null),o.return=null}catch(d){Te(o,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Kp(t,e),t=t.sibling}function Kp(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ot(t,e),Xt(e),r&4){try{Go(3,e,e.return),ds(3,e)}catch(C){Te(e,e.return,C)}try{Go(5,e,e.return)}catch(C){Te(e,e.return,C)}}break;case 1:Ot(t,e),Xt(e),r&512&&a!==null&&qr(a,a.return);break;case 5:if(Ot(t,e),Xt(e),r&512&&a!==null&&qr(a,a.return),e.flags&32){var o=e.stateNode;try{Yo(o,"")}catch(C){Te(e,e.return,C)}}if(r&4&&(o=e.stateNode,o!=null)){var n=e.memoizedProps,l=a!==null?a.memoizedProps:n,s=e.type,u=e.updateQueue;if(e.updateQueue=null,u!==null)try{s==="input"&&n.type==="radio"&&n.name!=null&&mc(o,n),Mu(s,l);var d=Mu(s,n);for(l=0;l<u.length;l+=2){var g=u[l],m=u[l+1];g==="style"?yc(o,m):g==="dangerouslySetInnerHTML"?xc(o,m):g==="children"?Yo(o,m):pi(o,g,m,d)}switch(s){case"input":ku(o,n);break;case"textarea":gc(o,n);break;case"select":var c=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!n.multiple;var y=n.value;y!=null?$r(o,!!n.multiple,y,!1):c!==!!n.multiple&&(n.defaultValue!=null?$r(o,!!n.multiple,n.defaultValue,!0):$r(o,!!n.multiple,n.multiple?[]:"",!1))}o[ln]=n}catch(C){Te(e,e.return,C)}}break;case 6:if(Ot(t,e),Xt(e),r&4){if(e.stateNode===null)throw Error(R(162));o=e.stateNode,n=e.memoizedProps;try{o.nodeValue=n}catch(C){Te(e,e.return,C)}}break;case 3:if(Ot(t,e),Xt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{tn(t.containerInfo)}catch(C){Te(e,e.return,C)}break;case 4:Ot(t,e),Xt(e);break;case 13:Ot(t,e),Xt(e),o=e.child,o.flags&8192&&(n=o.memoizedState!==null,o.stateNode.isHidden=n,!n||o.alternate!==null&&o.alternate.memoizedState!==null||(Ki=Me())),r&4&&ec(e);break;case 22:if(g=a!==null&&a.memoizedState!==null,e.mode&1?(Ge=(d=Ge)||g,Ot(t,e),Ge=d):Ot(t,e),Xt(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!g&&(e.mode&1)!==0)for(N=e,g=e.child;g!==null;){for(m=N=g;N!==null;){switch(c=N,y=c.child,c.tag){case 0:case 11:case 14:case 15:Go(4,c,c.return);break;case 1:qr(c,c.return);var x=c.stateNode;if(typeof x.componentWillUnmount=="function"){r=c,a=c.return;try{t=r,x.props=t.memoizedProps,x.state=t.memoizedState,x.componentWillUnmount()}catch(C){Te(r,a,C)}}break;case 5:qr(c,c.return);break;case 22:if(c.memoizedState!==null){ac(m);continue}}y!==null?(y.return=c,N=y):ac(m)}g=g.sibling}e:for(g=null,m=e;;){if(m.tag===5){if(g===null){g=m;try{o=m.stateNode,d?(n=o.style,typeof n.setProperty=="function"?n.setProperty("display","none","important"):n.display="none"):(s=m.stateNode,u=m.memoizedProps.style,l=u!=null&&u.hasOwnProperty("display")?u.display:null,s.style.display=vc("display",l))}catch(C){Te(e,e.return,C)}}}else if(m.tag===6){if(g===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(C){Te(e,e.return,C)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;g===m&&(g=null),m=m.return}g===m&&(g=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:Ot(t,e),Xt(e),r&4&&ec(e);break;case 21:break;default:Ot(t,e),Xt(e)}}function Xt(e){var t=e.flags;if(t&2){try{e:{for(var a=e.return;a!==null;){if($p(a)){var r=a;break e}a=a.return}throw Error(R(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&(Yo(o,""),r.flags&=-33);var n=Zf(e);li(e,n,o);break;case 3:case 4:var l=r.stateNode.containerInfo,s=Zf(e);ni(e,s,l);break;default:throw Error(R(161))}}catch(u){Te(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function bx(e,t,a){N=e,Gp(e,t,a)}function Gp(e,t,a){for(var r=(e.mode&1)!==0;N!==null;){var o=N,n=o.child;if(o.tag===22&&r){var l=o.memoizedState!==null||Ll;if(!l){var s=o.alternate,u=s!==null&&s.memoizedState!==null||Ge;s=Ll;var d=Ge;if(Ll=l,(Ge=u)&&!d)for(N=o;N!==null;)l=N,u=l.child,l.tag===22&&l.memoizedState!==null?rc(o):u!==null?(u.return=l,N=u):rc(o);for(;n!==null;)N=n,Gp(n,t,a),n=n.sibling;N=o,Ll=s,Ge=d}tc(e,t,a)}else(o.subtreeFlags&8772)!==0&&n!==null?(n.return=o,N=n):tc(e,t,a)}}function tc(e){for(;N!==null;){var t=N;if((t.flags&8772)!==0){var a=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:Ge||ds(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!Ge)if(a===null)r.componentDidMount();else{var o=t.elementType===t.type?a.memoizedProps:zt(t.type,a.memoizedProps);r.componentDidUpdate(o,a.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var n=t.updateQueue;n!==null&&Hf(t,n,r);break;case 3:var l=t.updateQueue;if(l!==null){if(a=null,t.child!==null)switch(t.child.tag){case 5:a=t.child.stateNode;break;case 1:a=t.child.stateNode}Hf(t,l,a)}break;case 5:var s=t.stateNode;if(a===null&&t.flags&4){a=s;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&a.focus();break;case"img":u.src&&(a.src=u.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var g=d.memoizedState;if(g!==null){var m=g.dehydrated;m!==null&&tn(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(R(163))}Ge||t.flags&512&&oi(t)}catch(c){Te(t,t.return,c)}}if(t===e){N=null;break}if(a=t.sibling,a!==null){a.return=t.return,N=a;break}N=t.return}}function ac(e){for(;N!==null;){var t=N;if(t===e){N=null;break}var a=t.sibling;if(a!==null){a.return=t.return,N=a;break}N=t.return}}function rc(e){for(;N!==null;){var t=N;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{ds(4,t)}catch(u){Te(t,a,u)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var o=t.return;try{r.componentDidMount()}catch(u){Te(t,o,u)}}var n=t.return;try{oi(t)}catch(u){Te(t,n,u)}break;case 5:var l=t.return;try{oi(t)}catch(u){Te(t,l,u)}}}catch(u){Te(t,t.return,u)}if(t===e){N=null;break}var s=t.sibling;if(s!==null){s.return=t.return,N=s;break}N=t.return}}var Px=Math.ceil,Yl=xa.ReactCurrentDispatcher,$i=xa.ReactCurrentOwner,bt=xa.ReactCurrentBatchConfig,pe=0,ze=null,De=null,Ue=0,gt=0,Wr=_a(0),Be=0,pn=null,fr=0,fs=0,Vi=0,jo=null,lt=null,Ki=0,ao=1/0,ua=null,Jl=!1,si=null,Ba=null,Sl=!1,Ra=null,Zl=0,Xo=0,ui=null,Rl=-1,Ml=0;function Je(){return(pe&6)!==0?Me():Rl!==-1?Rl:Rl=Me()}function Oa(e){return(e.mode&1)===0?1:(pe&2)!==0&&Ue!==0?Ue&-Ue:dx.transition!==null?(Ml===0&&(Ml=Ac()),Ml):(e=xe,e!==0||(e=window.event,e=e===void 0?16:Nc(e.type)),e)}function _t(e,t,a,r){if(50<Xo)throw Xo=0,ui=null,Error(R(185));mn(e,a,r),((pe&2)===0||e!==ze)&&(e===ze&&((pe&2)===0&&(fs|=a),Be===4&&Pa(e,Ue)),dt(e,r),a===1&&pe===0&&(t.mode&1)===0&&(ao=Me()+500,ss&&qa()))}function dt(e,t){var a=e.callbackNode;ch(e,t);var r=Ol(e,e===ze?Ue:0);if(r===0)a!==null&&ff(a),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(a!=null&&ff(a),t===1)e.tag===0?ix(oc.bind(null,e)):rp(oc.bind(null,e)),nx(function(){(pe&6)===0&&qa()}),a=null;else{switch(Dc(r)){case 1:a=vi;break;case 4:a=Rc;break;case 16:a=Bl;break;case 536870912:a=Mc;break;default:a=Bl}a=tm(a,jp.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function jp(e,t){if(Rl=-1,Ml=0,(pe&6)!==0)throw Error(R(327));var a=e.callbackNode;if(Xr()&&e.callbackNode!==a)return null;var r=Ol(e,e===ze?Ue:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=es(e,r);else{t=r;var o=pe;pe|=2;var n=Qp();(ze!==e||Ue!==t)&&(ua=null,ao=Me()+500,lr(e,t));do try{Mx();break}catch(s){Xp(e,s)}while(!0);Ai(),Yl.current=n,pe=o,De!==null?t=0:(ze=null,Ue=0,t=Be)}if(t!==0){if(t===2&&(o=Bu(e),o!==0&&(r=o,t=ii(e,o))),t===1)throw a=pn,lr(e,0),Pa(e,r),dt(e,Me()),a;if(t===6)Pa(e,r);else{if(o=e.current.alternate,(r&30)===0&&!Tx(o)&&(t=es(e,r),t===2&&(n=Bu(e),n!==0&&(r=n,t=ii(e,n))),t===1))throw a=pn,lr(e,0),Pa(e,r),dt(e,Me()),a;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(R(345));case 2:ar(e,lt,ua);break;case 3:if(Pa(e,r),(r&130023424)===r&&(t=Ki+500-Me(),10<t)){if(Ol(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){Je(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Wu(ar.bind(null,e,lt,ua),t);break}ar(e,lt,ua);break;case 4:if(Pa(e,r),(r&4194240)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-Ut(r);n=1<<l,l=t[l],l>o&&(o=l),r&=~n}if(r=o,r=Me()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Px(r/1960))-r,10<r){e.timeoutHandle=Wu(ar.bind(null,e,lt,ua),r);break}ar(e,lt,ua);break;case 5:ar(e,lt,ua);break;default:throw Error(R(329))}}}return dt(e,Me()),e.callbackNode===a?jp.bind(null,e):null}function ii(e,t){var a=jo;return e.current.memoizedState.isDehydrated&&(lr(e,t).flags|=256),e=es(e,t),e!==2&&(t=lt,lt=a,t!==null&&di(t)),e}function di(e){lt===null?lt=e:lt.push.apply(lt,e)}function Tx(e){for(var t=e;;){if(t.flags&16384){var a=t.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var r=0;r<a.length;r++){var o=a[r],n=o.getSnapshot;o=o.value;try{if(!qt(n(),o))return!1}catch{return!1}}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Pa(e,t){for(t&=~Vi,t&=~fs,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-Ut(t),r=1<<a;e[a]=-1,t&=~r}}function oc(e){if((pe&6)!==0)throw Error(R(327));Xr();var t=Ol(e,0);if((t&1)===0)return dt(e,Me()),null;var a=es(e,t);if(e.tag!==0&&a===2){var r=Bu(e);r!==0&&(t=r,a=ii(e,r))}if(a===1)throw a=pn,lr(e,0),Pa(e,t),dt(e,Me()),a;if(a===6)throw Error(R(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ar(e,lt,ua),dt(e,Me()),null}function Gi(e,t){var a=pe;pe|=1;try{return e(t)}finally{pe=a,pe===0&&(ao=Me()+500,ss&&qa())}}function cr(e){Ra!==null&&Ra.tag===0&&(pe&6)===0&&Xr();var t=pe;pe|=1;var a=bt.transition,r=xe;try{if(bt.transition=null,xe=1,e)return e()}finally{xe=r,bt.transition=a,pe=t,(pe&6)===0&&qa()}}function ji(){gt=Wr.current,Ce(Wr)}function lr(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,ox(a)),De!==null)for(a=De.return;a!==null;){var r=a;switch(Ti(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&_l();break;case 3:eo(),Ce(ut),Ce(je),zi();break;case 5:Oi(r);break;case 4:eo();break;case 13:Ce(ke);break;case 19:Ce(ke);break;case 10:Di(r.type._context);break;case 22:case 23:ji()}a=a.return}if(ze=e,De=e=za(e.current,null),Ue=gt=t,Be=0,pn=null,Vi=fs=fr=0,lt=jo=null,or!==null){for(t=0;t<or.length;t++)if(a=or[t],r=a.interleaved,r!==null){a.interleaved=null;var o=r.next,n=a.pending;if(n!==null){var l=n.next;n.next=o,r.next=l}a.pending=r}or=null}return e}function Xp(e,t){do{var a=De;try{if(Ai(),bl.current=Ql,Xl){for(var r=be.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}Xl=!1}if(dr=0,Oe=Fe=be=null,Ko=!1,dn=0,$i.current=null,a===null||a.return===null){Be=1,pn=t,De=null;break}e:{var n=e,l=a.return,s=a,u=t;if(t=Ue,s.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){var d=u,g=s,m=g.tag;if((g.mode&1)===0&&(m===0||m===11||m===15)){var c=g.alternate;c?(g.updateQueue=c.updateQueue,g.memoizedState=c.memoizedState,g.lanes=c.lanes):(g.updateQueue=null,g.memoizedState=null)}var y=Vf(l);if(y!==null){y.flags&=-257,Kf(y,l,s,n,t),y.mode&1&&$f(n,d,t),t=y,u=d;var x=t.updateQueue;if(x===null){var C=new Set;C.add(u),t.updateQueue=C}else x.add(u);break e}else{if((t&1)===0){$f(n,d,t),Xi();break e}u=Error(R(426))}}else if(we&&s.mode&1){var O=Vf(l);if(O!==null){(O.flags&65536)===0&&(O.flags|=256),Kf(O,l,s,n,t),Ri(to(u,s));break e}}n=u=to(u,s),Be!==4&&(Be=2),jo===null?jo=[n]:jo.push(n),n=l;do{switch(n.tag){case 3:n.flags|=65536,t&=-t,n.lanes|=t;var f=Dp(n,u,t);Nf(n,f);break e;case 1:s=u;var i=n.type,p=n.stateNode;if((n.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(Ba===null||!Ba.has(p)))){n.flags|=65536,t&=-t,n.lanes|=t;var L=Ep(n,s,t);Nf(n,L);break e}}n=n.return}while(n!==null)}Jp(a)}catch(I){t=I,De===a&&a!==null&&(De=a=a.return);continue}break}while(!0)}function Qp(){var e=Yl.current;return Yl.current=Ql,e===null?Ql:e}function Xi(){(Be===0||Be===3||Be===2)&&(Be=4),ze===null||(fr&268435455)===0&&(fs&268435455)===0||Pa(ze,Ue)}function es(e,t){var a=pe;pe|=2;var r=Qp();(ze!==e||Ue!==t)&&(ua=null,lr(e,t));do try{Rx();break}catch(o){Xp(e,o)}while(!0);if(Ai(),pe=a,Yl.current=r,De!==null)throw Error(R(261));return ze=null,Ue=0,Be}function Rx(){for(;De!==null;)Yp(De)}function Mx(){for(;De!==null&&!rh();)Yp(De)}function Yp(e){var t=em(e.alternate,e,gt);e.memoizedProps=e.pendingProps,t===null?Jp(e):De=t,$i.current=null}function Jp(e){var t=e;do{var a=t.alternate;if(e=t.return,(t.flags&32768)===0){if(a=Ix(a,t,gt),a!==null){De=a;return}}else{if(a=Cx(a,t),a!==null){a.flags&=32767,De=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Be=6,De=null;return}}if(t=t.sibling,t!==null){De=t;return}De=t=e}while(t!==null);Be===0&&(Be=5)}function ar(e,t,a){var r=xe,o=bt.transition;try{bt.transition=null,xe=1,Ax(e,t,a,r)}finally{bt.transition=o,xe=r}return null}function Ax(e,t,a,r){do Xr();while(Ra!==null);if((pe&6)!==0)throw Error(R(327));a=e.finishedWork;var o=e.finishedLanes;if(a===null)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(R(177));e.callbackNode=null,e.callbackPriority=0;var n=a.lanes|a.childLanes;if(ph(e,n),e===ze&&(De=ze=null,Ue=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||Sl||(Sl=!0,tm(Bl,function(){return Xr(),null})),n=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||n){n=bt.transition,bt.transition=null;var l=xe;xe=1;var s=pe;pe|=4,$i.current=null,kx(e,a),Kp(a,e),Zh(_u),zl=!!Uu,_u=Uu=null,e.current=a,bx(a,e,o),oh(),pe=s,xe=l,bt.transition=n}else e.current=a;if(Sl&&(Sl=!1,Ra=e,Zl=o),n=e.pendingLanes,n===0&&(Ba=null),sh(a.stateNode,r),dt(e,Me()),t!==null)for(r=e.onRecoverableError,a=0;a<t.length;a++)o=t[a],r(o.value,{componentStack:o.stack,digest:o.digest});if(Jl)throw Jl=!1,e=si,si=null,e;return(Zl&1)!==0&&e.tag!==0&&Xr(),n=e.pendingLanes,(n&1)!==0?e===ui?Xo++:(Xo=0,ui=e):Xo=0,qa(),null}function Xr(){if(Ra!==null){var e=Dc(Zl),t=bt.transition,a=xe;try{if(bt.transition=null,xe=16>e?16:e,Ra===null)var r=!1;else{if(e=Ra,Ra=null,Zl=0,(pe&6)!==0)throw Error(R(331));var o=pe;for(pe|=4,N=e.current;N!==null;){var n=N,l=n.child;if((N.flags&16)!==0){var s=n.deletions;if(s!==null){for(var u=0;u<s.length;u++){var d=s[u];for(N=d;N!==null;){var g=N;switch(g.tag){case 0:case 11:case 15:Go(8,g,n)}var m=g.child;if(m!==null)m.return=g,N=m;else for(;N!==null;){g=N;var c=g.sibling,y=g.return;if(Wp(g),g===d){N=null;break}if(c!==null){c.return=y,N=c;break}N=y}}}var x=n.alternate;if(x!==null){var C=x.child;if(C!==null){x.child=null;do{var O=C.sibling;C.sibling=null,C=O}while(C!==null)}}N=n}}if((n.subtreeFlags&2064)!==0&&l!==null)l.return=n,N=l;else e:for(;N!==null;){if(n=N,(n.flags&2048)!==0)switch(n.tag){case 0:case 11:case 15:Go(9,n,n.return)}var f=n.sibling;if(f!==null){f.return=n.return,N=f;break e}N=n.return}}var i=e.current;for(N=i;N!==null;){l=N;var p=l.child;if((l.subtreeFlags&2064)!==0&&p!==null)p.return=l,N=p;else e:for(l=i;N!==null;){if(s=N,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:ds(9,s)}}catch(I){Te(s,s.return,I)}if(s===l){N=null;break e}var L=s.sibling;if(L!==null){L.return=s.return,N=L;break e}N=s.return}}if(pe=o,qa(),Jt&&typeof Jt.onPostCommitFiberRoot=="function")try{Jt.onPostCommitFiberRoot(as,e)}catch{}r=!0}return r}finally{xe=a,bt.transition=t}}return!1}function nc(e,t,a){t=to(a,t),t=Dp(e,t,1),e=Fa(e,t,1),t=Je(),e!==null&&(mn(e,1,t),dt(e,t))}function Te(e,t,a){if(e.tag===3)nc(e,e,a);else for(;t!==null;){if(t.tag===3){nc(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Ba===null||!Ba.has(r))){e=to(a,e),e=Ep(t,e,1),t=Fa(t,e,1),e=Je(),t!==null&&(mn(t,1,e),dt(t,e));break}}t=t.return}}function Dx(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),t=Je(),e.pingedLanes|=e.suspendedLanes&a,ze===e&&(Ue&a)===a&&(Be===4||Be===3&&(Ue&130023424)===Ue&&500>Me()-Ki?lr(e,0):Vi|=a),dt(e,t)}function Zp(e,t){t===0&&((e.mode&1)===0?t=1:(t=sl,sl<<=1,(sl&130023424)===0&&(sl=4194304)));var a=Je();e=ga(e,t),e!==null&&(mn(e,t,a),dt(e,a))}function Ex(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Zp(e,a)}function Fx(e,t){var a=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(a=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(R(314))}r!==null&&r.delete(t),Zp(e,a)}var em;em=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||ut.current)st=!0;else{if((e.lanes&a)===0&&(t.flags&128)===0)return st=!1,Sx(e,t,a);st=(e.flags&131072)!==0}else st=!1,we&&(t.flags&1048576)!==0&&op(t,$l,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Tl(e,t),e=t.pendingProps;var o=Yr(t,je.current);jr(t,a),o=Hi(null,t,r,e,o,a);var n=Ui();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,it(r)?(n=!0,ql(t)):n=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Fi(t),o.updater=is,t.stateNode=o,o._reactInternals=t,Qu(t,r,e,a),t=Zu(null,t,r,!0,n,a)):(t.tag=0,we&&n&&Pi(t),Ye(null,t,o,a),t=t.child),t;case 16:r=t.elementType;e:{switch(Tl(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Ox(r),e=zt(r,e),o){case 0:t=Ju(null,t,r,e,a);break e;case 1:t=Xf(null,t,r,e,a);break e;case 11:t=Gf(null,t,r,e,a);break e;case 14:t=jf(null,t,r,zt(r.type,e),a);break e}throw Error(R(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:zt(r,o),Ju(e,t,r,o,a);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:zt(r,o),Xf(e,t,r,o,a);case 3:e:{if(zp(t),e===null)throw Error(R(387));r=t.pendingProps,n=t.memoizedState,o=n.element,dp(e,t),Gl(t,r,null,a);var l=t.memoizedState;if(r=l.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){o=to(Error(R(423)),t),t=Qf(e,t,r,a,o);break e}else if(r!==o){o=to(Error(R(424)),t),t=Qf(e,t,r,a,o);break e}else for(ht=Ea(t.stateNode.containerInfo.firstChild),xt=t,we=!0,Ht=null,a=up(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Jr(),r===o){t=ha(e,t,a);break e}Ye(e,t,r,a)}t=t.child}return t;case 5:return fp(t),e===null&&Gu(t),r=t.type,o=t.pendingProps,n=e!==null?e.memoizedProps:null,l=o.children,qu(r,o)?l=null:n!==null&&qu(r,n)&&(t.flags|=32),Op(e,t),Ye(e,t,l,a),t.child;case 6:return e===null&&Gu(t),null;case 13:return Np(e,t,a);case 4:return Bi(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Zr(t,null,r,a):Ye(e,t,r,a),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:zt(r,o),Gf(e,t,r,o,a);case 7:return Ye(e,t,t.pendingProps,a),t.child;case 8:return Ye(e,t,t.pendingProps.children,a),t.child;case 12:return Ye(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,n=t.memoizedProps,l=o.value,Le(Vl,r._currentValue),r._currentValue=l,n!==null)if(qt(n.value,l)){if(n.children===o.children&&!ut.current){t=ha(e,t,a);break e}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var s=n.dependencies;if(s!==null){l=n.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(n.tag===1){u=ca(-1,a&-a),u.tag=2;var d=n.updateQueue;if(d!==null){d=d.shared;var g=d.pending;g===null?u.next=u:(u.next=g.next,g.next=u),d.pending=u}}n.lanes|=a,u=n.alternate,u!==null&&(u.lanes|=a),ju(n.return,a,t),s.lanes|=a;break}u=u.next}}else if(n.tag===10)l=n.type===t.type?null:n.child;else if(n.tag===18){if(l=n.return,l===null)throw Error(R(341));l.lanes|=a,s=l.alternate,s!==null&&(s.lanes|=a),ju(l,a,t),l=n.sibling}else l=n.child;if(l!==null)l.return=n;else for(l=n;l!==null;){if(l===t){l=null;break}if(n=l.sibling,n!==null){n.return=l.return,l=n;break}l=l.return}n=l}Ye(e,t,o.children,a),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,jr(t,a),o=Pt(o),r=r(o),t.flags|=1,Ye(e,t,r,a),t.child;case 14:return r=t.type,o=zt(r,t.pendingProps),o=zt(r.type,o),jf(e,t,r,o,a);case 15:return Fp(e,t,t.type,t.pendingProps,a);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:zt(r,o),Tl(e,t),t.tag=1,it(r)?(e=!0,ql(t)):e=!1,jr(t,a),Ap(t,r,o),Qu(t,r,o,a),Zu(null,t,r,!0,e,a);case 19:return Hp(e,t,a);case 22:return Bp(e,t,a)}throw Error(R(156,t.tag))};function tm(e,t){return Tc(e,t)}function Bx(e,t,a,r){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kt(e,t,a,r){return new Bx(e,t,a,r)}function Qi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ox(e){if(typeof e=="function")return Qi(e)?1:0;if(e!=null){if(e=e.$$typeof,e===gi)return 11;if(e===hi)return 14}return 2}function za(e,t){var a=e.alternate;return a===null?(a=kt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function Al(e,t,a,r,o,n){var l=2;if(r=e,typeof e=="function")Qi(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case Er:return sr(a.children,o,n,t);case mi:l=8,o|=8;break;case Lu:return e=kt(12,a,t,o|2),e.elementType=Lu,e.lanes=n,e;case Su:return e=kt(13,a,t,o),e.elementType=Su,e.lanes=n,e;case Iu:return e=kt(19,a,t,o),e.elementType=Iu,e.lanes=n,e;case fc:return cs(a,o,n,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ic:l=10;break e;case dc:l=9;break e;case gi:l=11;break e;case hi:l=14;break e;case wa:l=16,r=null;break e}throw Error(R(130,e==null?e:typeof e,""))}return t=kt(l,a,t,o),t.elementType=e,t.type=r,t.lanes=n,t}function sr(e,t,a,r){return e=kt(7,e,r,t),e.lanes=a,e}function cs(e,t,a,r){return e=kt(22,e,r,t),e.elementType=fc,e.lanes=a,e.stateNode={isHidden:!1},e}function xu(e,t,a){return e=kt(6,e,null,t),e.lanes=a,e}function vu(e,t,a){return t=kt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zx(e,t,a,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=tu(0),this.expirationTimes=tu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=tu(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Yi(e,t,a,r,o,n,l,s,u){return e=new zx(e,t,a,s,u),t===1?(t=1,n===!0&&(t|=8)):t=0,n=kt(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:r,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},Fi(n),e}function Nx(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Dr,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}function am(e){if(!e)return Ha;e=e._reactInternals;e:{if(mr(e)!==e||e.tag!==1)throw Error(R(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(it(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(R(171))}if(e.tag===1){var a=e.type;if(it(a))return ap(e,a,t)}return t}function rm(e,t,a,r,o,n,l,s,u){return e=Yi(a,r,!0,e,o,n,l,s,u),e.context=am(null),a=e.current,r=Je(),o=Oa(a),n=ca(r,o),n.callback=t??null,Fa(a,n,o),e.current.lanes=o,mn(e,o,r),dt(e,r),e}function ps(e,t,a,r){var o=t.current,n=Je(),l=Oa(o);return a=am(a),t.context===null?t.context=a:t.pendingContext=a,t=ca(n,l),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Fa(o,t,l),e!==null&&(_t(e,o,l,n),kl(e,o,l)),l}function ts(e){return e=e.current,e.child?(e.child.tag===5,e.child.stateNode):null}function lc(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Ji(e,t){lc(e,t),(e=e.alternate)&&lc(e,t)}function Hx(){return null}var om=typeof reportError=="function"?reportError:function(e){console.error(e)};function Zi(e){this._internalRoot=e}ms.prototype.render=Zi.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(R(409));ps(e,t,null,null)};ms.prototype.unmount=Zi.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;cr(function(){ps(null,e,null,null)}),t[ma]=null}};function ms(e){this._internalRoot=e}ms.prototype.unstable_scheduleHydration=function(e){if(e){var t=Bc();e={blockedOn:null,target:e,priority:t};for(var a=0;a<ba.length&&t!==0&&t<ba[a].priority;a++);ba.splice(a,0,e),a===0&&zc(e)}};function ed(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function gs(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function sc(){}function Ux(e,t,a,r,o){if(o){if(typeof r=="function"){var n=r;r=function(){var d=ts(l);n.call(d)}}var l=rm(t,r,e,0,null,!1,!1,"",sc);return e._reactRootContainer=l,e[ma]=l.current,on(e.nodeType===8?e.parentNode:e),cr(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var d=ts(u);s.call(d)}}var u=Yi(e,0,!1,null,null,!1,!1,"",sc);return e._reactRootContainer=u,e[ma]=u.current,on(e.nodeType===8?e.parentNode:e),cr(function(){ps(t,u,a,r)}),u}function hs(e,t,a,r,o){var n=a._reactRootContainer;if(n){var l=n;if(typeof o=="function"){var s=o;o=function(){var u=ts(l);s.call(u)}}ps(t,l,e,o)}else l=Ux(a,t,e,o,r);return ts(l)}Ec=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=Ho(t.pendingLanes);a!==0&&(yi(t,a|1),dt(t,Me()),(pe&6)===0&&(ao=Me()+500,qa()))}break;case 13:cr(function(){var r=ga(e,1);if(r!==null){var o=Je();_t(r,e,1,o)}}),Ji(e,1)}};Li=function(e){if(e.tag===13){var t=ga(e,134217728);if(t!==null){var a=Je();_t(t,e,134217728,a)}Ji(e,134217728)}};Fc=function(e){if(e.tag===13){var t=Oa(e),a=ga(e,t);if(a!==null){var r=Je();_t(a,e,t,r)}Ji(e,t)}};Bc=function(){return xe};Oc=function(e,t){var a=xe;try{return xe=e,t()}finally{xe=a}};Du=function(e,t,a){switch(t){case"input":if(ku(e,a),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var o=ls(r);if(!o)throw Error(R(90));pc(r),ku(r,o)}}}break;case"textarea":gc(e,a);break;case"select":t=a.value,t!=null&&$r(e,!!a.multiple,t,!1)}};Ic=Gi;Cc=cr;var _x={usingClientEntryPoint:!1,Events:[hn,zr,ls,Lc,Sc,Gi]},Bo={findFiberByHostInstance:rr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},qx={bundleType:Bo.bundleType,version:Bo.version,rendererPackageName:Bo.rendererPackageName,rendererConfig:Bo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:xa.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=bc(e),e===null?null:e.stateNode},findFiberByHostInstance:Bo.findFiberByHostInstance||Hx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Oo=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Oo.isDisabled&&Oo.supportsFiber))try{as=Oo.inject(qx),Jt=Oo}catch{}var Oo;Lt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_x;Lt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!ed(t))throw Error(R(200));return Nx(e,t,null,a)};Lt.createRoot=function(e,t){if(!ed(e))throw Error(R(299));var a=!1,r="",o=om;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Yi(e,1,!1,null,null,a,!1,r,o),e[ma]=t.current,on(e.nodeType===8?e.parentNode:e),new Zi(t)};Lt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(R(188)):(e=Object.keys(e).join(","),Error(R(268,e)));return e=bc(t),e=e===null?null:e.stateNode,e};Lt.flushSync=function(e){return cr(e)};Lt.hydrate=function(e,t,a){if(!gs(t))throw Error(R(200));return hs(null,e,t,!0,a)};Lt.hydrateRoot=function(e,t,a){if(!ed(e))throw Error(R(405));var r=a!=null&&a.hydratedSources||null,o=!1,n="",l=om;if(a!=null&&(a.unstable_strictMode===!0&&(o=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onRecoverableError!==void 0&&(l=a.onRecoverableError)),t=rm(t,null,e,1,a??null,o,!1,n,l),e[ma]=t.current,on(e),r)for(e=0;e<r.length;e++)a=r[e],o=a._getVersion,o=o(a._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[a,o]:t.mutableSourceEagerHydrationData.push(a,o);return new ms(t)};Lt.render=function(e,t,a){if(!gs(t))throw Error(R(200));return hs(null,e,t,!1,a)};Lt.unmountComponentAtNode=function(e){if(!gs(e))throw Error(R(40));return e._reactRootContainer?(cr(function(){hs(null,null,e,!1,function(){e._reactRootContainer=null,e[ma]=null})}),!0):!1};Lt.unstable_batchedUpdates=Gi;Lt.unstable_renderSubtreeIntoContainer=function(e,t,a,r){if(!gs(a))throw Error(R(200));if(e==null||e._reactInternals===void 0)throw Error(R(38));return hs(e,t,a,!1,r)};Lt.version="18.3.1-next-f1338f8080-20240426"});var no=sa((oy,sm)=>{"use strict";function lm(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(lm)}catch(e){console.error(e)}}lm(),sm.exports=nm()});var im=sa(td=>{"use strict";var um=no();td.createRoot=um.createRoot,td.hydrateRoot=um.hydrateRoot;var ny});var gm=sa(Cs=>{"use strict";var Kx=Se(),Gx=Symbol.for("react.element"),jx=Symbol.for("react.fragment"),Xx=Object.prototype.hasOwnProperty,Qx=Kx.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Yx={key:!0,ref:!0,__self:!0,__source:!0};function mm(e,t,a){var r,o={},n=null,l=null;a!==void 0&&(n=""+a),t.key!==void 0&&(n=""+t.key),t.ref!==void 0&&(l=t.ref);for(r in t)Xx.call(t,r)&&!Yx.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:Gx,type:e,key:n,ref:l,props:o,_owner:Qx.current}}Cs.Fragment=jx;Cs.jsx=mm;Cs.jsxs=mm});var $=sa((BL,hm)=>{"use strict";hm.exports=gm()});var og=A(im(),1);var te=A(Se(),1),eg=A(no(),1);function dm(e){return e.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(a=>a.trim())}function Wx(e){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(e)}function $x(e){let t=e.split(`\n`),a=[],r=0;for(;r<t.length;){let o=t[r]??"",n=t[r+1]??"";if(o.includes("|")&&Wx(n)){let l=dm(o),s=[];for(r+=2;r<t.length&&t[r].includes("|")&&t[r].trim()!=="";)s.push(dm(t[r])),r+=1;let u=`<tr>${l.map(g=>`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">${g}</th>`).join("")}</tr>`,d=s.map(g=>`<tr>${g.map(m=>`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">${m}</td>`).join("")}</tr>`).join("");a.push(`<div style="overflow-x:auto;margin:0.65em 0;"><table style="border-collapse:collapse;min-width:360px;width:100%;font-size:12px;"><thead>${u}</thead><tbody>${d}</tbody></table></div>`);continue}a.push(t[r]),r+=1}return a.join(`\n`)}function xs(e){if(!e)return\'<span style="color:#475569;font-style:italic;">No description yet</span>\';let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return $x(t).replace(/^### (.+)$/gm,\'<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>\').replace(/^## (.+)$/gm,\'<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>\').replace(/^# (.+)$/gm,\'<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>\').replace(/[*][*]([^\\n]+?)[*][*]/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/__([^\\n]+?)__/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/[*]([^\\n*]+?)[*]/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/`(.+?)`/g,\'<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>\').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g,\'<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>\').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"\']+)/g,\'$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>\').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi,\'$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>\').replace(/^[-*] (.+)$/gm,\'<li style="margin:0.2em 0;display:list-item;">$1</li>\').replace(/^---$/gm,\'<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">\').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g,r=>`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">${r}</ul>`).replace(/^(?!<[a-z]|$).+$/gm,r=>`<p style="margin:0.5em 0;">${r}</p>`)}var Vx="proto-comments-seen";function ad(e,t){try{let a=localStorage.getItem(Vx),r=a?JSON.parse(a):{};return t>(r[e]??0)}catch{return!1}}function rd(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function ft(e){try{return new Date(e).toLocaleString()}catch{return e}}var od=16,lo=1000000n,Ls=BigInt("9".repeat(od));function Rt(e){return(e<0n?0n:e>Ls?Ls:e).toString().padStart(od,"0")}function vs(e){let t=e.split(".")[0];return/^\\d+$/.test(t)?BigInt(t):Ls}function ys(e){let t=e.indexOf(".");return t>=0?e.slice(t+1):null}function gr(e,t){if(t===null){if(e===null)return Rt(lo);let l=vs(e);if(l<Ls-lo)return Rt(l+lo);let s=ys(e)??"0".repeat(od);return Rt(l)+"."+gr(s,null)}if(e===null){let l=vs(t),s=ys(t);return l>lo?Rt(l-lo):s!==null?Rt(l)+"."+gr(null,s):l>0n?Rt(l/2n):Rt(0n)+".0"}let a=vs(e),r=vs(t),o=ys(e),n=ys(t);return r>a+1n?Rt((a+r)/2n):r===a+1n?Rt(a)+"."+gr(o,null):o===null&&n===null?Rt(a)+"."+Rt(lo):Rt(a)+"."+gr(o,n)}function vn(e,t){return e.sortKey&&t.sortKey?e.sortKey<t.sortKey?-1:e.sortKey>t.sortKey?1:0:e.sortKey?-1:t.sortKey?1:(e.updatedAt??e.createdAt??"").localeCompare(t.updatedAt??t.createdAt??"")}function nd(e,t,a,r){let o=new Map,n=null;for(let m of e)m.sortKey&&m.sortKey!=="n"&&(o.set(m.id,m.sortKey),n=m.sortKey);let l=[],s=e.filter(m=>!m.sortKey||m.sortKey==="n");if(s.length>0){let m=n;for(let c of s){let y=gr(m,null);o.set(c.id,y),m=y,c.id!==t&&l.push({id:c.id,sortKey:y})}}let u=a?o.get(a)??null:null,d=r?o.get(r)??null:null;return{newSortKey:gr(u,d),normalizationPatches:l}}var et=A(Se(),1);var Is=A(Se());var fm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ss=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var yn=A(Se());var cm={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var pm=(0,yn.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:l,...s},u)=>(0,yn.createElement)("svg",{ref:u,...cm,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Ss("lucide",o),...s},[...l.map(([d,g])=>(0,yn.createElement)(d,g)),...Array.isArray(n)?n:[n]]));var ee=(e,t)=>{let a=(0,Is.forwardRef)(({className:r,...o},n)=>(0,Is.createElement)(pm,{ref:n,iconNode:t,className:Ss(`lucide-${fm(e)}`,r),...o}));return a.displayName=`${e}`,a};var hr=ee("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var Ln=ee("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var Wa=ee("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var xr=ee("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var Sn=ee("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var so=ee("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var In=ee("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]);var Cn=ee("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var wn=ee("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);var kn=ee("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var vr=ee("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);var $a=ee("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);var yr=ee("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var bn=ee("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var Va=ee("Rows3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);var Pn=ee("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var Lr=ee("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var Tn=ee("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var uo=ee("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var Ka=ee("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var io=ee("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var Rn=ee("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var Ne=ee("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var co=A(Se(),1),Pm=A(no(),1);var ym=A($(),1),xm={Bug:{background:"rgba(239,68,68,0.12)",color:"#f87171",border:"rgba(239,68,68,0.25)"},Research:{background:"rgba(192,132,252,0.12)",color:"#c084fc",border:"rgba(139,92,246,0.2)"},Task:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function vm({type:e,style:t}){let a=typeof e=="string"&&e.trim()&&e!=="[object Object]"&&xm[e]?e:"Task",r=xm[a];return(0,ym.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:r.background,color:r.color,border:`1px solid ${r.border}`,lineHeight:"1.5",...t},children:a})}var Im=A($(),1),Lm={Critical:{background:"rgba(239,68,68,0.15)",color:"#f87171",border:"rgba(239,68,68,0.3)"},High:{background:"rgba(249,115,22,0.12)",color:"#fb923c",border:"rgba(249,115,22,0.25)"},Medium:{background:"rgba(234,179,8,0.12)",color:"#facc15",border:"rgba(234,179,8,0.25)"},Low:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function Sm({priority:e,style:t}){if(!e||!Lm[e])return null;let a=Lm[e];return(0,Im.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:a.background,color:a.color,border:`1px solid ${a.border}`,lineHeight:"1.5",...t},children:e})}var Sr=[{value:"Task",icon:"\\u2611",label:"Task",css:"type-task",tooltip:"A general task or feature to implement."},{value:"Bug",icon:"\\u{1F41E}",label:"Bug",css:"type-bug",tooltip:"A defect \\u2014 annotator collects page errors and console logs to help reproduce it."},{value:"Research",icon:"\\u{1F52C}",label:"Research",css:"type-research",tooltip:"A research task \\u2014 agent will NOT write code but must attach a findings report."}],NL=Sr.map(e=>e.value),wm=Object.fromEntries(Sr.map(e=>[e.value,e.icon])),HL=Object.fromEntries(Sr.map(e=>[e.value,e.css])),Cm={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function Mn(e){return Cm[e??"Task"]??Cm.Task}var km=[{bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",text:"var(--p-blue-200)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-green) 14%, transparent)",text:"var(--p-green-300)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",text:"var(--p-purple-300)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",text:"var(--p-amber-300)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},{bg:"color-mix(in srgb, #f472b6 14%, transparent)",text:"#f9a8d4",border:"color-mix(in srgb, #f472b6 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-cyan) 14%, transparent)",text:"var(--p-cyan-300)",border:"color-mix(in srgb, var(--p-cyan) 30%, transparent)"},{bg:"color-mix(in srgb, #f87171 14%, transparent)",text:"#fca5a5",border:"color-mix(in srgb, #f87171 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",text:"var(--p-text-m)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"}];function Jx(e){let t=0;for(let a=0;a<e.length;a++)t=t*31+e.charCodeAt(a)>>>0;return t%km.length}function Wt(e){return km[Jx(e)]}var An=A($(),1);function fo({tags:e,onRemove:t,size:a="sm"}){if(!e.length)return null;let r=a==="xs"?"1px 6px":"2px 7px",o=a==="xs"?9:10;return(0,An.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:e.map(n=>{let{bg:l,text:s,border:u}=Wt(n);return(0,An.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding:r,borderRadius:100,background:l,border:`1px solid ${u}`,color:s,fontSize:o,fontWeight:600,whiteSpace:"nowrap"},children:[n,t&&(0,An.jsx)("button",{type:"button",onClick:d=>{d.stopPropagation(),t(n)},style:{display:"flex",background:"none",border:"none",color:s,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:d=>{d.currentTarget.style.opacity="1"},onMouseLeave:d=>{d.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},n)})})}var le=A($(),1);function Zx(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function Tm(e,t){if(!/^#[0-9a-fA-F]{6}$/.test(e))return;let a=Math.max(0,Math.min(1,t)),r=Math.round(a*255).toString(16).padStart(2,"0");return`${e}${r}`}function Rm(e,t){return Tm(e,t==="Critical"?.36:t==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function ev(e){return Tm(e,.1)??"transparent"}var tv={padding:"7px 8px",gap:4,opacity:1,userSelect:"none"},av={display:"flex",alignItems:"center",gap:5},rv={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},ov={fontSize:11.5,fontWeight:600,color:"var(--p-text-m)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},nv={fontSize:9,fontWeight:700,color:"#22c55e",background:"rgba(34,197,94,0.12)",border:"1px solid rgba(34,197,94,0.3)",borderRadius:4,padding:"1px 5px",marginLeft:6,flexShrink:0,letterSpacing:.5},lv={display:"flex",alignItems:"center",gap:5,minWidth:0},sv={flexShrink:0},uv={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},iv={display:"flex",alignItems:"flex-start",gap:8},dv={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},fv={position:"relative",flexShrink:0},cv={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},pv={display:"flex",alignItems:"center",gap:2,marginTop:1},mv={flex:1},ld=co.default.memo(function({task:t,col:a,liveActivity:r,compact:o,onOpen:n,onDragStart:l}){var _;let s=a.id==="in-progress",u=a.id==="done",[d,g]=co.default.useState(!1),[m,c]=co.default.useState(null),y=co.default.useRef(null),x=t.commentCount??0,C=t.fileCount??0,O=x>0&&ad(t.id,x),f=Rm(a.color,t.priority),i=Mn(t.type),p=ev(i),L=(_=t.files)==null?void 0:_.find(k=>Zx(k.name)),I=L?`/api/tasks/${t.id}/files/${encodeURIComponent(L.name)}`:null;function P(k){l(k,t.id),k.currentTarget.classList.add("dragging")}function v(k){k.currentTarget.classList.remove("dragging")}function S(){n(t)}if(o||u){let k=a.id==="in-progress"?"sd-inprogress":`sd-${a.id}`;return(0,le.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":t.id,"data-compact":o?"true":void 0,style:{...tv},onDragStart:P,onDragEnd:v,onClick:S,children:(0,le.jsxs)("div",{style:av,children:[u?(0,le.jsx)(Wa,{style:rv}):(0,le.jsx)("span",{className:k,style:{flexShrink:0}}),(0,le.jsx)("span",{style:{...ov,...u?{}:{color:"var(--p-text)"}},children:t.title}),!o&&!u&&t.tags&&t.tags.length>0&&(0,le.jsx)(fo,{tags:t.tags,size:"xs"}),!o&&!u&&(x>0||C>0)&&(0,le.jsxs)("span",{style:{fontSize:9,color:"var(--p-text-m)",flexShrink:0},children:[x>0&&`\\u{1F4AC}${x}`,x>0&&C>0&&" ",C>0&&`\\u{1F4CE}${C}`]}),u&&t.verified&&(0,le.jsx)("span",{style:nv,children:"\\u2713 VERIFIED"})]})})}return(0,le.jsxs)("article",{className:`task-card${r?" task-live-edit":""}`,draggable:!0,"data-task-id":t.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:r?"rgba(59,130,246,0.08)":p,border:r?"1px solid rgba(59,130,246,0.5)":f?`1px solid ${f}`:void 0,...r?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{}},onDragStart:P,onDragEnd:v,onClick:S,children:[(0,le.jsxs)("div",{style:lv,children:[s&&(0,le.jsx)("span",{className:"spinner",style:sv}),(0,le.jsx)("span",{style:uv,children:t.title})]}),(t.description||I)&&(0,le.jsxs)("div",{style:iv,children:[t.description&&(0,le.jsx)("div",{style:dv,children:t.description}),I&&(0,le.jsxs)("div",{style:fv,onMouseEnter:()=>{if(y.current){let k=y.current.getBoundingClientRect();c({top:k.top,right:k.right})}g(!0)},onMouseLeave:()=>{g(!1),c(null)},children:[(0,le.jsx)("img",{ref:y,src:I,alt:"Task screenshot","data-role":"task-thumb",style:cv}),d&&m&&Pm.default.createPortal((0,le.jsx)("img",{src:I,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-m.right,bottom:window.innerHeight-m.top+8,width:220,height:138,borderRadius:8,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 96%, transparent)",boxShadow:"0 10px 24px color-mix(in srgb, var(--p-bg) 75%, transparent)",pointerEvents:"none",zIndex:9999,background:"var(--p-bg)"}}),document.body)]})]}),(0,le.jsxs)("div",{className:"flex items-center",style:pv,children:[(0,le.jsx)(vm,{type:t.type}),t.priority&&(0,le.jsx)(Sm,{priority:t.priority}),s&&t.assigneeName&&(0,le.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:80},children:t.assigneeName}),t.tags&&t.tags.length>0&&(0,le.jsx)(fo,{tags:t.tags,size:"xs"}),(0,le.jsx)("div",{style:mv}),r&&(0,le.jsx)(sd,{activity:r}),(0,le.jsx)(bm,{icon:(0,le.jsx)(vr,{style:{width:9,height:9}}),label:x>0?String(x):"",color:O?"var(--p-purple)":x>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:O?"var(--p-purple-300)":"var(--p-text)",title:x>0?`${x} comment(s)`:"Add comment",badge:O,badgeColor:"var(--p-purple)",onClick:k=>{k.stopPropagation(),n(t,"comments")}}),(0,le.jsx)(bm,{icon:(0,le.jsx)(yr,{style:{width:9,height:9}}),label:C>0?String(C):"",color:C>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:C>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:C>0?`${C} file(s) attached`:"Files",onClick:k=>{k.stopPropagation(),n(t,"files")}})]})]})});function bm({icon:e,label:t,color:a,hoverColor:r,title:o,badge:n,badgeColor:l,onClick:s}){let[u,d]=co.default.useState(!1);return(0,le.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:u?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:u?r:a,transition:"color .1s, background .1s"},title:o,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:s,children:[e,t&&(0,le.jsx)("span",{children:t}),n&&(0,le.jsx)("span",{style:{width:4,height:4,background:l??a,borderRadius:"50%",flexShrink:0}})]})}function sd({activity:e}){let t=e.state==="locked"||e.state==="editing",a=t?(0,le.jsx)(kn,{style:{width:8,height:8}}):(0,le.jsx)(Sn,{style:{width:8,height:8}}),r=t?`Locked by ${e.user}`:`${e.user} viewing`;return(0,le.jsxs)("span",{style:t?{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"}:{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(59,130,246,0.35)",color:"#93c5fd",background:"rgba(30,58,138,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"},title:r,"data-testid":"live-activity-badge",children:[a,(0,le.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:e.user})]})}var ge=A($(),1),Ga=[{id:"backlog",label:"Backlog",color:"var(--p-text-f)",accent:"color-mix(in srgb, var(--p-text-g) 25%, transparent)"},{id:"todo",label:"Todo",color:"var(--p-amber)",accent:"color-mix(in srgb, var(--p-amber) 18%, transparent)"},{id:"in-progress",label:"In Progress",color:"var(--p-blue)",accent:"color-mix(in srgb, var(--p-blue) 18%, transparent)",glow:!0},{id:"review",label:"Review",color:"var(--p-purple)",accent:"color-mix(in srgb, var(--p-purple) 18%, transparent)"},{id:"done",label:"Done",color:"var(--p-green)",accent:"color-mix(in srgb, var(--p-green) 18%, transparent)"}];var gv=3;function hv(){return(0,ge.jsxs)("div",{style:{borderRadius:8,border:"1px solid var(--p-border-t)",padding:"10px 12px",background:"var(--p-bg-2)",marginBottom:6,animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,ge.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"75%",marginBottom:8}}),(0,ge.jsx)("div",{style:{height:10,borderRadius:4,background:"var(--p-border-s)",width:"50%",marginBottom:8}}),(0,ge.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,ge.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:48}}),(0,ge.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})]})}function ud({tasks:e,visibleCols:t,searchQuery:a,isLoading:r,liveActivities:o,compact:n,onOpenPanel:l,onDrop:s,onReorder:u}){let d=et.default.useRef(null),g=et.default.useRef(null),[m,c]=et.default.useState(null),[y,x]=et.default.useState(null),[C,O]=et.default.useState(null),f=et.default.useRef(null),i=et.default.useRef(null),p=a?e.filter(k=>(k.title??"").toLowerCase().includes(a.toLowerCase())||(k.description??"").toLowerCase().includes(a.toLowerCase())):e,L=Ga.filter(k=>t.includes(k.id));et.default.useEffect(()=>{let k=d.current,M=g.current;if(!k||!M)return;function U(){if(!k||!M)return;let j=k.scrollWidth>k.clientWidth?k.clientWidth/k.scrollWidth:1,se=Math.max(40,k.clientWidth*j);M.style.width=`${se}px`;let qe=k.scrollWidth-k.clientWidth,at=k.clientWidth-se;M.style.left=`${qe>0?k.scrollLeft/qe*at:0}px`,M.style.opacity=j<1?"1":"0"}k.addEventListener("scroll",U);let z=new ResizeObserver(U);z.observe(k),U();let V=!1,ae=0,T=0;function K(j){V=!0,ae=j.clientX,T=k.scrollLeft,M.classList.add("dragging"),document.addEventListener("mousemove",re),document.addEventListener("mouseup",J)}function re(j){if(!V||!k||!M)return;let se=k.scrollWidth>k.clientWidth?k.scrollWidth/k.clientWidth:1;k.scrollLeft=T+(j.clientX-ae)*se}function J(){V=!1,M==null||M.classList.remove("dragging"),document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",J)}return M.addEventListener("mousedown",K),()=>{k.removeEventListener("scroll",U),z.disconnect(),M.removeEventListener("mousedown",K)}},[L.length]);function I(k,M){f.current=M,c(M),k.dataTransfer.effectAllowed="move"}function P(k,M){k.preventDefault(),x(M)}function v(k,M){k.preventDefault(),k.stopPropagation();let U=k.currentTarget.getBoundingClientRect(),z=k.clientY<U.top+U.height/2?"before":"after",V={taskId:M,position:z};i.current=V,O(ae=>(ae==null?void 0:ae.taskId)===M&&ae.position===z?ae:V)}function S(k,M,U){k.preventDefault(),x(null);let z=i.current;i.current=null,O(null);let V=f.current;if(f.current=null,c(null),!!V)if(u&&z){let ae=U.findIndex(re=>re.id===z.taskId),T=null,K=null;z.position==="before"?(K=z.taskId,T=ae>0?U[ae-1].id:null):(T=z.taskId,K=ae<U.length-1?U[ae+1].id:null),u(V,M,T,K)}else s(V,M)}function _(){f.current=null,c(null),x(null),i.current=null,O(null)}return(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)("main",{id:"kanban-board",ref:d,className:"flex-1 flex overflow-x-auto overflow-y-hidden",style:{padding:"16px 20px",gap:16},onDragEnd:_,children:L.map(k=>{let M=r?[]:p.filter(z=>z.status===k.id).sort(vn),U=k.id==="done"?[...M].reverse():M;return(0,ge.jsx)(xv,{col:k,tasks:U,isLoading:r,liveActivities:o,compact:n,isDragOver:y===k.id&&!C,onDragOver:z=>P(z,k.id),onDrop:z=>S(z,k.id,M),onDragLeave:z=>{let V=z.relatedTarget;V&&z.currentTarget.contains(V)||(x(null),i.current=null,O(null))},onStatusChange:(z,V)=>s(z,V),onAddTask:()=>l(null,"details",k.id),onOpenTask:l,onDragStart:I,onCardDragOver:v,cardDropTarget:C,isDragging:m!==null},k.id)})}),(0,ge.jsx)("div",{id:"kanban-scroll-track",style:{position:"fixed",bottom:0,left:0,right:0,height:6,background:"transparent",zIndex:40,pointerEvents:"none"},children:(0,ge.jsx)("div",{id:"kanban-scroll-thumb",ref:g,style:{position:"absolute",top:1,height:4,borderRadius:2,background:"var(--p-border-t)",cursor:"pointer",pointerEvents:"auto",transition:"background 0.15s",opacity:0},onMouseEnter:k=>{k.currentTarget.style.background="var(--p-text-g)"},onMouseLeave:k=>{k.currentTarget.classList.contains("dragging")||(k.currentTarget.style.background="var(--p-border-t)")}})})]})}function xv({col:e,tasks:t,isLoading:a,liveActivities:r,isDragOver:o,onDragOver:n,onDrop:l,onDragLeave:s,onStatusChange:u,onAddTask:d,onOpenTask:g,onDragStart:m,onCardDragOver:c,cardDropTarget:y,compact:x,isDragging:C}){let[O,f]=et.default.useState(!1),i=et.default.useRef(null),[p,L]=et.default.useState(0),[I,P]=et.default.useState(0);et.default.useEffect(()=>{if(e.id!=="done")return;let T=i.current;if(!T)return;L(J=>J===T.clientHeight?J:T.clientHeight);let K=0,re=new ResizeObserver(()=>{cancelAnimationFrame(K),K=requestAnimationFrame(()=>{L(J=>J===T.clientHeight?J:T.clientHeight)})});return re.observe(T),()=>{cancelAnimationFrame(K),re.disconnect()}},[]),et.default.useEffect(()=>{if(e.id!=="done"||C||a||t.length===0)return;let T=requestAnimationFrame(()=>{let K=i.current;if(!K)return;let re=K.querySelector("[data-task-id]");!re||re.offsetHeight<=0||P(J=>J===re.offsetHeight?J:re.offsetHeight)});return()=>cancelAnimationFrame(T)},[t.length,C,a]);let v=e.id==="in-progress"?"sd-inprogress":`sd-${e.id}`,S=10,_=e.id==="done",k=34,M=5,z=_&&I>0&&p>0&&!C&&!a?Math.max(1,Math.floor(Math.max(0,p-k+M)/(I+M))):S,V=_?t.slice(0,z):t,ae=t.length-V.length;return(0,ge.jsxs)("section",{className:"board-column","data-column-id":e.id,style:{outline:o?`2px dashed ${e.color}66`:void 0,outlineOffset:-2,borderRadius:8},onDragOver:n,onDragLeave:s,onDrop:l,children:[(0,ge.jsxs)("div",{className:"column-header",style:{background:e.accent,borderColor:`color-mix(in srgb, ${e.color} 30%, transparent)`},children:[(0,ge.jsx)("div",{className:`status-dot ${v}`}),(0,ge.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:e.id==="done"?`${e.color}b3`:e.color},children:[e.label,a?"":` \\xB7 ${t.length}`]}),(0,ge.jsx)("span",{style:{marginLeft:"auto"}}),(0,ge.jsx)("button",{type:"button",title:`Add task to ${e.label}`,style:{width:20,height:20,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"none",background:"transparent",color:O?e.color:"var(--p-text-g)",cursor:"pointer",transition:"color .15s",padding:0},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),onClick:d,children:(0,ge.jsx)(bn,{style:{width:14,height:14}})})]}),(0,ge.jsx)("div",{className:"column-scroll","data-status":e.id,ref:i,children:a?Array.from({length:gv}).map((T,K)=>(0,ge.jsx)(hv,{},K)):t.length===0?(0,ge.jsxs)("div",{style:{border:"1px dashed var(--p-border-t)",borderRadius:8,padding:"10px 8px",fontSize:11,color:"var(--p-text-f)",textAlign:"center"},children:["No tasks in ",e.label.toLowerCase(),"."]}):(0,ge.jsxs)(ge.Fragment,{children:[V.map(T=>(0,ge.jsxs)("div",{style:{position:"relative"},onDragOver:K=>c(K,T.id),children:[(y==null?void 0:y.taskId)===T.id&&y.position==="before"&&(0,ge.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}}),(0,ge.jsx)(ld,{task:T,col:e,liveActivity:r==null?void 0:r.get(T.id),compact:x,onOpen:g,onDragStart:m}),(y==null?void 0:y.taskId)===T.id&&y.position==="after"&&(0,ge.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}})]},T.id)),ae>0&&(0,ge.jsxs)("div",{"data-fit-chip":!0,style:{background:"var(--p-card)",border:"2px dashed var(--p-border-t)",borderRadius:10,padding:"11px 13px",fontSize:12,color:"var(--p-text-g)",textAlign:"center",lineHeight:1.4,opacity:.7},children:["+",ae," more"]})]})})]})}var Ir=A(Se(),1);var oe=A($(),1),Mm={backlog:{text:"var(--p-text-m)",bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"},todo:{text:"var(--p-amber-300)",bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},"in-progress":{text:"var(--p-blue-200)",bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},review:{text:"var(--p-purple-300)",bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},done:{text:"var(--p-green-300)",bg:"color-mix(in srgb, var(--p-green) 12%, transparent)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"}},vv=wm,Am={Critical:"var(--p-red)",High:"var(--p-amber-300)",Medium:"var(--p-text-m)",Low:"var(--p-text-f)"},id=["todo","in-progress","review","backlog","done"];function yv(){return(0,oe.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,border:"1px solid var(--p-border-t)",background:"var(--p-bg-2)",animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,oe.jsx)("div",{style:{width:14,height:14,borderRadius:3,background:"var(--p-border-s)"}}),(0,oe.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"60%"}}),(0,oe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:44}}),(0,oe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})}function dd({tasks:e,searchQuery:t,isLoading:a,liveActivities:r,onOpenPanel:o,onAddTask:n,onDrop:l}){let[s,u]=Ir.default.useState(null),[d,g]=Ir.default.useState(null),[m,c]=Ir.default.useState(null),[y,x]=Ir.default.useState({backlog:!1,todo:!1,"in-progress":!1,review:!1,done:!1}),C=t?e.filter(f=>(f.title??"").toLowerCase().includes(t.toLowerCase())||(f.description??"").toLowerCase().includes(t.toLowerCase())):e,O=Ir.default.useMemo(()=>{let f=new Map;for(let i of id)f.set(i,[]);for(let i of C)(f.get(i.status)??[]).push(i);return f},[C]);return(0,oe.jsxs)("div",{id:"kanban-list-view",style:{flex:1,overflowY:"auto",padding:"16px 24px",minHeight:0},children:[a?id.slice(0,3).map(f=>{let i=Mm[f];return(0,oe.jsxs)("div",{style:{marginBottom:24},children:[(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,oe.jsx)("div",{style:{width:18,height:18,borderRadius:5,background:"var(--p-border-s)",animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,oe.jsx)("div",{style:{height:18,borderRadius:6,background:i.bg,border:`1px solid ${i.border}`,width:72,animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,oe.jsx)("div",{style:{height:14,borderRadius:4,background:"var(--p-border-s)",width:16,animation:"skeleton-pulse 1.5s ease-in-out infinite"}})]}),(0,oe.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:3}).map((p,L)=>(0,oe.jsx)(yv,{},L))})]},f)}):id.map(f=>{let i=O.get(f)??[];if(i.length===0)return null;let p=Mm[f];return(0,oe.jsxs)("div",{style:{marginBottom:24},children:[(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,padding:"4px 6px",borderRadius:6,transition:"background .1s",background:d===f?p.bg:"transparent",outline:d===f?`1px dashed ${p.border}`:void 0},onDragOver:L=>{L.preventDefault(),g(f)},onDragLeave:()=>g(null),onDrop:L=>{L.preventDefault(),g(null),c(null),s&&l(s,f),u(null)},children:[(0,oe.jsx)("button",{type:"button",title:y[f]?"Expand":"Collapse",onClick:L=>{L.stopPropagation(),x(I=>({...I,[f]:!I[f]}))},style:{width:18,height:18,borderRadius:5,border:"1px solid var(--p-border-t)",background:"var(--p-surface)",color:"var(--p-text-m)",fontSize:10,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:y[f]?"+":"\\u2212"}),(0,oe.jsx)("span",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"2px 8px",borderRadius:6,background:p.bg,border:`1px solid ${p.border}`,color:p.text},children:f}),(0,oe.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:i.length}),(0,oe.jsx)("button",{type:"button",title:`Add task to ${f}`,onClick:L=>{L.stopPropagation(),n(f)},style:{marginLeft:"auto",width:22,height:22,borderRadius:7,border:`1px solid ${p.border}`,background:p.bg,color:p.text,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:600},children:"+"})]}),(0,oe.jsx)("div",{style:{display:y[f]?"none":"flex",flexDirection:"column",gap:2},children:i.map(L=>(0,oe.jsx)(Lv,{task:L,liveActivity:r==null?void 0:r.get(L.id),onOpen:o,onDragStart:I=>u(I),dragOver:m===L.id,onDragOver:()=>c(L.id),onDragLeave:()=>c(I=>I===L.id?null:I),onDropToStatus:()=>{s&&l(s,L.status),u(null),c(null)}},L.id))})]},f)}),!a&&C.length===0&&(0,oe.jsx)("div",{style:{textAlign:"center",color:"var(--p-text-g)",fontSize:13,marginTop:60},children:"No tasks found"})]})}function Lv({task:e,liveActivity:t,onOpen:a,onDragStart:r,dragOver:o,onDragOver:n,onDragLeave:l,onDropToStatus:s}){let[u,d]=Ir.default.useState(!1),g=vv[e.type??"Task"]??"\\u2611",m=e.commentCount??0,c=e.fileCount??0;return(0,oe.jsxs)("div",{"data-task-id":e.id,"data-proto-id":"list-row",draggable:!0,style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,background:o?"color-mix(in srgb, var(--p-blue) 10%, transparent)":u?"var(--p-hover)":"transparent",border:`1px solid ${o?"color-mix(in srgb, var(--p-blue) 40%, transparent)":u?"var(--p-border)":"transparent"}`,cursor:"grab",transition:"background .1s,border-color .1s",userSelect:"none"},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:()=>a(e),onDragStart:y=>{y.dataTransfer.effectAllowed="move",r(e.id),y.currentTarget.style.opacity="0.4"},onDragEnd:y=>{y.currentTarget.style.opacity="1"},onDragOver:y=>{y.preventDefault(),n()},onDragLeave:l,onDrop:y=>{y.preventDefault(),s()},children:[(0,oe.jsx)("span",{style:{fontSize:12,textAlign:"center",flexShrink:0},children:g}),(0,oe.jsxs)("div",{style:{minWidth:0},children:[(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,oe.jsx)("span",{style:{fontSize:13,fontWeight:500,color:"var(--p-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.title}),e.priority&&Am[e.priority]&&(0,oe.jsx)(In,{className:"w-2.5 h-2.5 flex-shrink-0",style:{color:Am[e.priority]}}),e.component&&(0,oe.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:10,background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 30%, transparent)",color:"var(--p-purple-300)",flexShrink:0,fontFamily:"monospace"},children:e.component})]}),e.description&&(0,oe.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1,maxWidth:"100%"},children:e.description.replace(/\\s+/g," ").trim()})]}),(0,oe.jsxs)("button",{title:m>0?`${m} comment(s)`:"Add comment",style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:m>0?"var(--p-text-m)":"var(--p-border-t)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:y=>{y.stopPropagation(),a(e,"comments")},children:[(0,oe.jsx)(vr,{className:"w-3 h-3"}),m>0&&(0,oe.jsx)("span",{children:m})]}),c>0&&(0,oe.jsxs)("button",{title:`${c} file(s)`,style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:y=>{y.stopPropagation(),a(e,"files")},children:[(0,oe.jsx)(yr,{className:"w-3 h-3"}),(0,oe.jsx)("span",{children:c})]}),t&&(0,oe.jsx)(sd,{activity:t})]})}var mo=A(Se(),1);var ja=A($(),1);function Dm({size:e=32,style:t,className:a}){return(0,ja.jsxs)("svg",{width:e,height:e,viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,className:a,"aria-label":"Vibeflow",role:"img",children:[(0,ja.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,ja.jsx)("rect",{x:"2.5",y:"4",width:"2.5",height:"10",rx:"1",fill:"white",opacity:"0.9"}),(0,ja.jsx)("rect",{x:"6.5",y:"3",width:"2.5",height:"12",rx:"1",fill:"white"}),(0,ja.jsx)("rect",{x:"10.5",y:"5",width:"2.5",height:"8",rx:"1",fill:"white",opacity:"0.8"}),(0,ja.jsx)("rect",{x:"14.5",y:"6",width:"2.5",height:"6",rx:"1",fill:"white",opacity:"0.6"})]})}var ws=A($(),1);function po({id:e,title:t,onClick:a,label:r,icon:o,variant:n="neutral"}){return(0,ws.jsxs)("button",{id:e,onClick:a,title:t,className:`h-7 inline-flex items-center justify-center rounded-lg border transition-colors ${n==="accent"?"border-violet-700/50 bg-violet-900/30 text-violet-300 hover:bg-violet-800/30":"border-slate-700/60 bg-slate-800 text-slate-400 hover:bg-slate-700/50 hover:text-slate-200"} ${r?"gap-1.5 px-3 text-xs font-medium":"w-7"}`,type:"button",children:[o,r&&(0,ws.jsx)("span",{children:r})]})}var X=A($(),1);function fd({projectName:e,projectIcon:t,missingProjectIconStyle:a="initial",wsConnected:r,port:o,searchQuery:n,isLoading:l,filterTags:s,allTags:u,onToggleTag:d,backHref:g,backLabel:m,onSearchChange:c,onSettings:y,extraActions:x,taskSummary:C}){let[O,f]=mo.default.useState(!1),[i,p]=mo.default.useState(0),L=mo.default.useRef(null),I=mo.default.useRef(null),P=n.match(/(?:^|\\s)#(\\S*)$/),v=P?P[1]:null,S=s??[],_=(u??[]).filter(T=>!S.includes(T)),k=v===null?[]:_.filter(T=>T.toLowerCase().includes(v.toLowerCase()));mo.default.useEffect(()=>{p(0)},[k.length]);function M(T){var re;let K=n.replace(/\\s*#\\S*$/,"");c(K),d==null||d(T),(re=L.current)==null||re.focus()}function U(T){if(T.key==="Backspace"&&n===""&&S.length>0){T.preventDefault(),d==null||d(S[S.length-1]);return}if(!(v===null||k.length===0)){if(T.key==="ArrowDown")T.preventDefault(),p(K=>Math.min(K+1,k.length-1));else if(T.key==="ArrowUp")T.preventDefault(),p(K=>Math.max(K-1,0));else if(T.key==="Enter")T.preventDefault(),k[i]&&M(k[i]);else if(T.key==="Escape"){let K=n.replace(/\\s*#\\S*$/,"");c(K)}}}let z=(t??"").trim(),V=e?e.charAt(0).toUpperCase()+e.slice(1):"Vibeflow Board",ae=n||S.length>0;return(0,X.jsxs)("header",{className:"px-5 py-3 flex items-center gap-3 border-b border-slate-800/60 flex-shrink-0",children:[(0,X.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[g&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)("a",{id:"header-back-link",href:g,className:"text-xs text-slate-400 hover:text-slate-200 transition-colors no-underline",style:{textDecoration:"none",fontWeight:500},children:m??"Back"}),(0,X.jsx)(Ln,{className:"w-3 h-3 text-slate-600 flex-shrink-0"})]}),(0,X.jsx)("div",{className:"flex-shrink-0",style:{width:32,height:32,display:"flex",alignItems:"center",justifyContent:"center",...z?{fontSize:20}:void 0},children:z||(a==="vibeflow"?(0,X.jsx)(Dm,{size:32}):(0,X.jsx)("div",{style:{width:32,height:32,borderRadius:8,flexShrink:0,background:"linear-gradient(135deg, #1e3a5f 0%, #1e293b 100%)",border:"1px solid rgba(37,99,235,0.3)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700,color:"#93c5fd",letterSpacing:"-0.01em"},title:V,children:V.charAt(0).toUpperCase()}))}),(0,X.jsxs)("div",{children:[(0,X.jsxs)("div",{className:"flex items-center gap-2",children:[(0,X.jsx)("h1",{id:"header-project-name",className:"text-sm font-semibold text-white leading-tight",children:V}),r&&(0,X.jsxs)("div",{id:"header-live-pill",className:"flex items-center gap-1.5 rounded-full px-2 py-0.5",style:{background:"color-mix(in srgb, var(--p-green) 30%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 28%, transparent)"},children:[(0,X.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-green-400",style:{animation:"pulse-live 2s ease-in-out infinite"}}),(0,X.jsxs)("span",{className:"text-[10px] font-medium text-green-400",children:["live \\xB7 :",o]})]})]}),(0,X.jsxs)("p",{className:"text-[10px] text-slate-500 font-mono mt-0.5",children:[C,l&&(0,X.jsx)("span",{id:"header-loading-indicator",className:"inline-block ml-1.5 w-1 h-1 rounded-full bg-blue-400",style:{animation:"pulse-live 1.4s ease-in-out infinite",verticalAlign:"middle"}})]})]})]}),(0,X.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,X.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,X.jsxs)("div",{className:"flex flex-wrap items-center gap-1 w-full min-h-[30px] rounded-lg bg-slate-800 border border-slate-700/60 px-2 py-1 cursor-text transition-colors focus-within:border-blue-500",onClick:()=>{var T;return(T=L.current)==null?void 0:T.focus()},children:[(0,X.jsx)(Pn,{className:"w-3.5 h-3.5 text-slate-500 flex-shrink-0 mr-0.5"}),S.map(T=>{let{bg:K,text:re,border:J}=Wt(T);return(0,X.jsxs)("span",{style:{background:K,color:re,border:`1px solid ${J}`,display:"inline-flex",alignItems:"center",gap:3,padding:"1px 7px",borderRadius:100,fontSize:11,fontWeight:500,whiteSpace:"nowrap"},children:[T,(0,X.jsx)("button",{onClick:j=>{j.stopPropagation(),d==null||d(T)},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,display:"flex"},children:(0,X.jsx)(Ne,{style:{width:9,height:9}})})]},T)}),(0,X.jsx)("input",{ref:L,id:"global-search",type:"text",placeholder:S.length===0?"Search\\u2026 or type #tag":"#tag or search\\u2026",value:n,onChange:T=>c(T.target.value),onKeyDown:U,className:"flex-1 min-w-[100px] bg-transparent border-none outline-none text-xs text-slate-200 placeholder-slate-500",autoComplete:"off",spellCheck:!1}),ae&&(0,X.jsx)("button",{id:"global-search-clear",onClick:()=>{c(""),S.forEach(T=>d==null?void 0:d(T))},className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 flex",title:"Clear search and tag filters",children:(0,X.jsx)(Ne,{className:"w-3.5 h-3.5"})})]}),v!==null&&k.length>0&&(0,X.jsxs)("div",{ref:I,style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.3)",zIndex:50,overflow:"hidden"},children:[(0,X.jsx)("div",{style:{padding:"5px 10px",fontSize:10,textTransform:"uppercase",letterSpacing:"0.06em",color:"var(--p-text-g)",borderBottom:"1px solid var(--p-border)"},children:"Tags"}),k.map((T,K)=>{let{bg:re,text:J,border:j}=Wt(T);return(0,X.jsxs)("button",{onMouseDown:se=>{se.preventDefault(),M(T)},onMouseEnter:()=>p(K),style:{width:"100%",textAlign:"left",display:"flex",alignItems:"center",gap:8,padding:"7px 12px",background:K===i?"var(--p-hover)":"none",border:"none",cursor:"pointer"},children:[(0,X.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:J,flexShrink:0}}),(0,X.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:T}),(0,X.jsx)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",padding:"1px 7px",borderRadius:100,fontSize:10,background:re,color:J,border:`1px solid ${j}`},children:"tag"})]},T)}),(0,X.jsx)("div",{style:{padding:"5px 10px",fontSize:10,color:"var(--p-text-g)",borderTop:"1px solid var(--p-border)"},children:"\\u2191\\u2193 navigate \\xB7 Enter select \\xB7 Esc close"})]})]})}),(0,X.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[x,(0,X.jsx)(po,{id:"header-shortcuts-hint",title:"Click to see keyboard shortcuts",onClick:()=>f(!0),label:"? shortcuts"}),(0,X.jsx)(po,{id:"btn-settings",title:"Settings",onClick:y,icon:(0,X.jsx)(Lr,{className:"w-3.5 h-3.5"})})]}),O&&(0,X.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(2,12,27,0.80)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",zIndex:200,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>f(!1),children:(0,X.jsxs)("div",{id:"shortcuts-modal",style:{background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:14,padding:"20px 24px",minWidth:320,maxWidth:420,boxShadow:"var(--p-shadow-lg)"},onClick:T=>T.stopPropagation(),children:[(0,X.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[(0,X.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--p-text)"},children:"Keyboard Shortcuts"}),(0,X.jsx)("button",{onClick:()=>f(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--p-text-f)",padding:2},children:(0,X.jsx)(Ne,{style:{width:14,height:14}})})]}),(0,X.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[["Alt+N","Open new task panel"],["Esc","Close panel / modal"],["?","Show this shortcuts overlay"],["Alt+F","Focus task search"]].map(([T,K])=>(0,X.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,X.jsx)("kbd",{style:{fontSize:10,fontFamily:"monospace",background:"var(--p-surface)",border:"1px solid var(--p-border-t)",borderRadius:4,padding:"2px 7px",color:"var(--p-text-sub)",flexShrink:0},children:T}),(0,X.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:K})]},T))})]})})]})}var Q=A(Se(),1);var ks=A(Se(),1);var ea=A($(),1);function bs({id:e,value:t,onChange:a,disabled:r}){let[o,n]=ks.default.useState(!1),l=ks.default.useRef(null),s=Sr.find(u=>u.value===t)??Sr[0];return ks.default.useEffect(()=>{let u=d=>{var g;(g=l.current)!=null&&g.contains(d.target)||n(!1)};return document.addEventListener("click",u),()=>document.removeEventListener("click",u)},[]),(0,ea.jsxs)("div",{id:e,ref:l,style:{position:"relative",display:"inline-block"},children:[(0,ea.jsxs)("button",{type:"button",title:s==null?void 0:s.tooltip,onClick:u=>{u.preventDefault(),r||n(d=>!d)},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"3px 8px",borderRadius:6,border:"1px solid var(--p-border, rgba(255,255,255,0.08))",background:"var(--p-hover, rgba(255,255,255,0.05))",color:"var(--p-text-m, rgba(255,255,255,0.7))",fontSize:12,cursor:"pointer",whiteSpace:"nowrap"},children:[(0,ea.jsx)("span",{style:{fontSize:13},children:s==null?void 0:s.icon}),(0,ea.jsx)("span",{children:s==null?void 0:s.label})]}),o&&(0,ea.jsx)("div",{style:{position:"absolute",top:"100%",left:0,marginTop:4,background:"var(--p-card, #1e293b)",border:"1px solid var(--p-border-s, rgba(255,255,255,0.12))",borderRadius:8,padding:"4px 0",zIndex:200,minWidth:140,boxShadow:"0 8px 24px rgba(0,0,0,0.4)"},children:Sr.map(u=>(0,ea.jsxs)("button",{type:"button",title:u.tooltip,onClick:()=>{a(u.value),n(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 12px",border:"none",background:u.value===t?"var(--p-hover, rgba(255,255,255,0.06))":"transparent",color:u.value===t?"var(--p-text, #fff)":"var(--p-text-f, rgba(255,255,255,0.55))",fontSize:12,cursor:"pointer",textAlign:"left"},children:[(0,ea.jsx)("span",{style:{fontSize:14,lineHeight:1},children:u.icon}),(0,ea.jsx)("span",{children:u.label})]},u.value))})]})}var tt=A(Se(),1);var Dn=A(Se(),1);var Xa=A($(),1);function ta({markdown:e,className:t,style:a}){let r=Dn.default.useRef(null),o=Dn.default.useRef({}),[n,l]=Dn.default.useState(null);return Dn.default.useEffect(()=>{let s=r.current;if(!s)return;function u(){l(null)}async function d(m){let c=m.target,y=c==null?void 0:c.closest("a[data-task-ref]");if(!y){u();return}m.preventDefault();let x=y.getAttribute("data-task-ref");if(!x)return;let C=y.getBoundingClientRect(),O=o.current[x];if(O){l({id:x,title:O.title,status:O.status,x:C.left,y:C.bottom+6});return}try{let i=await(await fetch(`/api/tasks/${x}`)).json(),p={title:i.title??`Task ${x}`,status:i.status??"unknown"};o.current[x]=p,l({id:x,title:p.title,status:p.status,x:C.left,y:C.bottom+6})}catch{l({id:x,title:`Task ${x}`,status:"unknown",x:C.left,y:C.bottom+6})}}function g(m){var x,C;let c=(C=(x=m.target)==null?void 0:x.closest)==null?void 0:C.call(x,"a[data-task-ref]");if(!c)return;let y=c.getAttribute("data-task-ref");y&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId:y}}))}return s.addEventListener("mouseover",d),s.addEventListener("mouseleave",u),s.addEventListener("click",g),()=>{s.removeEventListener("mouseover",d),s.removeEventListener("mouseleave",u),s.removeEventListener("click",g)}},[]),(0,Xa.jsxs)("div",{style:{position:"relative"},children:[(0,Xa.jsx)("div",{ref:r,className:t,style:a,dangerouslySetInnerHTML:{__html:xs(e)}}),n&&(0,Xa.jsxs)("div",{style:{position:"fixed",left:n.x,top:n.y,background:"#0f172a",border:"1px solid rgba(59,130,246,0.4)",color:"#e2e8f0",borderRadius:8,padding:"8px 10px",fontSize:11,boxShadow:"0 10px 24px rgba(2,6,23,0.55)",zIndex:60,pointerEvents:"none",minWidth:180},children:[(0,Xa.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",n.id]}),(0,Xa.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:n.title}),(0,Xa.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",n.status]})]})]})}var En=A(Se(),1),Em=A($(),1),go=En.default.forwardRef(function({value:t,onChange:a,baseRows:r=4,maxRows:o,style:n,...l},s){let u=En.default.useRef(null),d=o??r*2,g=En.default.useCallback(()=>{let m=u.current;if(!m)return;m.style.height="auto";let c=window.getComputedStyle(m),y=Number.parseFloat(c.lineHeight||"0")||18,x=Number.parseFloat(c.paddingTop||"0")+Number.parseFloat(c.paddingBottom||"0"),C=Number.parseFloat(c.borderTopWidth||"0")+Number.parseFloat(c.borderBottomWidth||"0"),O=r*y+x+C,f=d*y+x+C,i=Math.max(O,Math.min(m.scrollHeight,f));m.style.height=`${i}px`,m.style.overflowY=m.scrollHeight>f?"auto":"hidden"},[r,d]);return En.default.useLayoutEffect(()=>{g()},[t,g]),(0,Em.jsx)("textarea",{...l,ref:m=>{u.current=m,typeof s=="function"?s(m):s&&(s.current=m)},rows:r,value:t,onChange:m=>a(m.target.value),style:{...n,resize:"none"}})});var Om=A(Se(),1);var Fm=A(Se(),1),Bm=A(no(),1),aa=A($(),1);function va({open:e,onClose:t,icon:a,title:r,headerActions:o,width:n,maxHeight:l,id:s,children:u,footer:d,boxStyle:g,onKeyDown:m}){if(Fm.default.useEffect(()=>{if(!e)return;function x(C){C.key==="Escape"&&t(),m==null||m(C)}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[e,t,m]),!e)return null;let c=!!(a||r||o),y=(0,aa.jsx)("div",{id:s,className:"modal-backdrop",onClick:x=>{x.target===x.currentTarget&&t()},onMouseDown:x=>x.stopPropagation(),children:(0,aa.jsxs)("div",{className:"modal-box",style:{width:n??"min(420px, 95vw)",maxHeight:l,...g},children:[c&&(0,aa.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--p-border)",flexShrink:0},children:[a&&(0,aa.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a}),r&&(0,aa.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1,minWidth:0},children:r}),o&&(0,aa.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0,marginLeft:"auto"},children:o})]}),(0,aa.jsx)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:u}),d&&(0,aa.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"10px 18px",borderTop:"1px solid var(--p-border)",flexShrink:0},children:d})]})});return(0,Bm.createPortal)(y,document.body)}var Mt=A($(),1);function ra({open:e,message:t,title:a="Confirm",confirmLabel:r="Delete",cancelLabel:o="Cancel",loading:n,error:l,onConfirm:s,onCancel:u}){let d=Om.default.useCallback(g=>{g.key==="Enter"&&s()},[s]);return(0,Mt.jsx)(va,{open:e,onClose:u,id:"confirm-modal",width:"min(380px, 95vw)",icon:(0,Mt.jsx)(Ka,{style:{width:20,height:20,color:"#f87171"}}),title:a,onKeyDown:d,footer:(0,Mt.jsxs)(Mt.Fragment,{children:[(0,Mt.jsx)("button",{id:"confirm-modal-cancel",onClick:u,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer",transition:"background 0.15s"},children:o}),(0,Mt.jsx)("button",{id:"confirm-modal-confirm",onClick:s,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"#dc2626",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:n?"wait":"pointer",opacity:n?.6:1,transition:"background 0.15s"},children:n?"Deleting\\u2026":r})]}),children:(0,Mt.jsxs)("div",{style:{padding:"16px 18px"},children:[typeof t=="string"?(0,Mt.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:t}):t,l&&(0,Mt.jsx)("p",{style:{margin:"8px 0 0",fontSize:12,color:"var(--p-red)"},children:l})]})})}var Ee=A($(),1);function zm(e){return e.linkedPath?"\\u{1F517}":/\\.(png|jpe?g|gif|webp|svg)$/i.test(e.name)?"\\u{1F5BC}\\uFE0F":/\\.html?$/i.test(e.name)?"\\u{1F310}":/\\.md$/i.test(e.name)||/\\.pdf$/i.test(e.name)?"\\u{1F4C4}":"\\u{1F4CE}"}function Sv(e){return/\\.(png|jpe?g|gif|webp|svg|html?)$/i.test(e.name)}function Iv(e){return/\\.html?$/i.test(e.name)}function Ps({file:e,url:t,variant:a,onPreview:r,onDelete:o}){let n=Sv(e),l=Iv(e);function s(){r?r(e,t):window.open(t,"_blank")}return a==="compact"?(0,Ee.jsxs)("div",{className:"group/file-compact",style:{display:"flex",alignItems:"center",gap:8,padding:"4px 8px",borderRadius:8,background:"var(--p-card)",border:"1px solid var(--p-border)",position:"relative"},children:[(0,Ee.jsx)("span",{style:{fontSize:14,flexShrink:0},children:zm(e)}),(0,Ee.jsx)("div",{style:{flex:1,minWidth:0},children:(0,Ee.jsx)("button",{onClick:s,style:{fontSize:12,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:0,textAlign:"left",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},title:e.name,children:e.name})}),(0,Ee.jsx)("span",{className:"file-compact-ts",style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:e.createdAt?ft(e.createdAt):"attached"}),(0,Ee.jsxs)("div",{className:"file-compact-actions",style:{position:"absolute",right:6,top:0,bottom:0,display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s",background:"var(--p-card)",paddingLeft:8},children:[n&&(0,Ee.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ee.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:u=>u.stopPropagation(),children:"\\u2193"}),o&&(0,Ee.jsx)("button",{onClick:()=>{o(e)},style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]}):(0,Ee.jsxs)("div",{className:"group/file",style:{display:"flex",alignItems:"center",gap:10,padding:8,borderRadius:8,border:"1px solid var(--p-border)",transition:"background 0.15s",position:"relative"},children:[(0,Ee.jsx)("span",{style:{fontSize:18,flexShrink:0},children:zm(e)}),(0,Ee.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,Ee.jsx)("p",{style:{fontSize:12,fontWeight:500,color:"var(--p-text)",margin:0,cursor:"pointer",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,onClick:s,children:e.name}),(0,Ee.jsx)("p",{style:{fontSize:10,color:"var(--p-text-f)",margin:0},children:e.linkedPath?`linked: ${e.linkedPath}`:rd(e.size??0)})]}),(0,Ee.jsxs)("div",{className:"file-normal-actions",style:{display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s"},children:[n&&(0,Ee.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ee.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:u=>u.stopPropagation(),children:"\\u2193"}),o&&(0,Ee.jsx)("button",{onClick:()=>{o(e)},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]})}var B=A($(),1);function Nm({source:e}){return e!=="cli"?null:(0,B.jsx)("span",{title:"Via CLI (agent)",style:{fontSize:9,color:"var(--p-green-300)",background:"rgba(34,197,94,0.1)",border:"1px solid rgba(34,197,94,0.2)",borderRadius:4,padding:"0 4px",fontFamily:"monospace",lineHeight:"16px",flexShrink:0},children:">_"})}function Cv(e,t){if(e.kind==="lifecycle")return e.author??null;if(e.kind==="comment"){let a=e.comment;return a.type==="system"?null:a.author==="agent"?"\\u{1F916} Agent":a.authorName??t}return e.kind==="change"?e.actor:null}function wv(e,t){let a=[];for(let r of e){let o=Cv(r,t),n=a[a.length-1];o&&n&&n.author===o?(n.items.push(r),r.sortKey>n.newestSortKey&&(n.newestSortKey=r.sortKey),r.sortKey<n.oldestSortKey&&(n.oldestSortKey=r.sortKey)):a.push({author:o,newestSortKey:r.sortKey,oldestSortKey:r.sortKey,items:[r]})}return a}function cd({comments:e,files:t=[],localChanges:a=[],loading:r,error:o,gitUserName:n="You",taskAuthorName:l,baseUrl:s="",taskId:u,taskCreatedAt:d,taskUpdatedAt:g,onEdit:m,onDelete:c,onDeleteFile:y,onFilePreview:x}){let C=tt.default.useRef(null),O=tt.default.useRef(null),[f,i]=tt.default.useState(null),[p,L]=tt.default.useState(""),[I,P]=tt.default.useState(null),[v,S]=tt.default.useState(null),[_,k]=tt.default.useState(()=>{try{return localStorage.getItem("vibeflow-show-updates")!=="false"}catch{return!0}}),M=tt.default.useRef(r),U=tt.default.useMemo(()=>{let T=[];d&&T.push({kind:"lifecycle",sortKey:d,label:"Task created",icon:"\\u2726",author:l??n}),g&&g!==d&&T.push({kind:"lifecycle",sortKey:g,label:"Task edited",icon:"\\u270E"});let K=e.map(j=>({kind:"comment",sortKey:j.createdAt,comment:j})),re=t.map(j=>{let se=j.url.startsWith("http")?j.url:`${s}${j.url}`;return{kind:"file",sortKey:j.createdAt??"9999",file:j,url:se}}),J=a.map(j=>({kind:"change",sortKey:j.timestamp,field:j.field,from:j.from,to:j.to,actor:j.actor,source:j.source}));return[...T,...K,...re,...J].sort((j,se)=>se.sortKey.localeCompare(j.sortKey))},[e,t,a,s,d,g]),z=tt.default.useMemo(()=>U.filter(T=>T.kind==="lifecycle"||T.kind==="change").length,[U]),V=tt.default.useMemo(()=>_?U:U.filter(T=>T.kind==="comment"||T.kind==="file"),[U,_]),ae=tt.default.useMemo(()=>wv(V,n),[V,n]);return tt.default.useEffect(()=>{let T=M.current&&!r;M.current=r,C.current&&T&&requestAnimationFrame(()=>{C.current&&(C.current.scrollTop=0)})},[r]),tt.default.useEffect(()=>{f&&O.current&&(O.current.focus(),O.current.scrollIntoView({block:"nearest"}))},[f]),r?(0,B.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):o?(0,B.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):U.length===0?(0,B.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No activity yet."}):(0,B.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[z>0&&(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"4px 0 4px",flexShrink:0,borderBottom:"1px solid var(--p-border)",marginBottom:4},children:[(0,B.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",flex:1,letterSpacing:"0.04em"},children:_?"":`${z} system event${z!==1?"s":""} hidden`}),(0,B.jsx)("button",{id:"dp-toggle-updates",onClick:()=>k(T=>{let K=!T;try{localStorage.setItem("vibeflow-show-updates",String(K))}catch{}return K}),style:{all:"unset",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,color:_?"var(--p-text-m)":"var(--p-text-g)",transition:"color .12s, background .12s"},title:_?"Hide system events":`Show ${z} system event${z!==1?"s":""}`,onMouseEnter:T=>{T.currentTarget.style.color="var(--p-text)",T.currentTarget.style.background="var(--p-hover)"},onMouseLeave:T=>{T.currentTarget.style.color=_?"var(--p-text-m)":"var(--p-text-g)",T.currentTarget.style.background="transparent"},children:_?(0,B.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,B.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,B.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,B.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,B.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,B.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})})]}),(0,B.jsx)("div",{ref:C,style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:ae.map((T,K)=>{let re=T.author!==null&&T.items.length>1,J=re,j=T.author==="\\u{1F916} Agent";return(0,B.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[J&&(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 0 2px",marginTop:4},children:[(0,B.jsx)("span",{style:{fontSize:11,fontWeight:600,color:j?"var(--p-purple)":"var(--p-blue-300)",flexShrink:0},children:T.author}),(0,B.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",flexShrink:0},children:`${ft(T.oldestSortKey)} \\u2013 ${ft(T.newestSortKey)}`}),(0,B.jsxs)("span",{style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:["(",T.items.length," activities)"]})]}),(0,B.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:re?4:8,paddingLeft:re?8:0,borderLeft:re?"1.5px solid var(--p-border)":"none",marginLeft:re?4:0},children:T.items.map((se,qe)=>kv(se,qe,K,re,n,f,p,O,i,L,m,P,y?S:null,x))})]},`group-${K}`)})}),(0,B.jsx)(ra,{open:I!==null,message:"Delete this comment? This action cannot be undone.",onConfirm:()=>{I&&c(I),P(null)},onCancel:()=>P(null)}),y&&(0,B.jsx)(ra,{open:v!==null,message:v?`Delete "${v.name}"? This action cannot be undone.`:"",onConfirm:()=>{v&&y(v),S(null)},onCancel:()=>S(null)})]})}function kv(e,t,a,r,o,n,l,s,u,d,g,m,c,y){if(e.kind==="lifecycle")return(0,B.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-purple)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:e.icon}),(0,B.jsx)("div",{style:{flex:1,minWidth:0},children:(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)",fontStyle:"italic"},children:e.label}),!r&&(0,B.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:ft(e.sortKey)})]})})]},`lifecycle-${e.sortKey}-${a}-${t}`);if(e.kind==="change"){let I=e.from.length>28?e.from.slice(0,28)+"\\u2026":e.from,P=e.to.length>28?e.to.slice(0,28)+"\\u2026":e.to,v=e.from.length>28||e.to.length>28;return(0,B.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-blue)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:"\\u270E"}),(0,B.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[!r&&(0,B.jsxs)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-blue-300)"},children:["\\u{1F464} ",e.actor]}),!r&&(0,B.jsx)(Nm,{source:e.source}),(0,B.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:["changed ",(0,B.jsx)("strong",{style:{color:"var(--p-text)"},children:e.field})]}),!r&&(0,B.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:ft(e.sortKey)})]}),(0,B.jsxs)("div",{title:v?`${e.from} \\u2192 ${e.to}`:void 0,style:{marginTop:2,fontSize:11,color:"var(--p-text-g)",display:"flex",alignItems:"center",gap:4,cursor:v?"help":"default"},children:[(0,B.jsx)("span",{style:{color:"var(--p-red)",background:"rgba(239,68,68,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:I}),(0,B.jsx)("span",{style:{color:"var(--p-text-g)"},children:"\\u2192"}),(0,B.jsx)("span",{style:{color:"var(--p-green)",background:"rgba(34,197,94,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:P})]})]})]},`change-${e.sortKey}-${a}-${t}`)}if(e.kind==="file"){let{file:L,url:I}=e;return(0,B.jsx)(Ps,{file:L,url:I,variant:"compact",onPreview:y?(P,v)=>y(P.name,v):void 0,onDelete:c?P=>(c(P),Promise.resolve()):void 0},`file-${L.name}-${a}-${t}`)}let x=e.comment,C=x.author==="agent",O=x.type==="system",f=x.deleted===!0,i=!!x.id&&!C&&!O&&!f&&x.isOwnComment!==!1,p=n===x.id;return O?(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"2px 0",fontSize:11,color:"var(--p-text-g)",fontStyle:"italic"},children:[(0,B.jsx)("span",{style:{opacity:.6},children:"\\u2B21"}),(0,B.jsx)("span",{children:x.text}),!r&&(0,B.jsx)("span",{style:{marginLeft:"auto",flexShrink:0,opacity:.6},children:ft(x.createdAt)})]},x.id):(0,B.jsxs)("div",{className:"flex flex-col gap-1 group/comment",style:{paddingTop:r?2:4},children:[!r&&(0,B.jsxs)("div",{className:"flex items-center justify-between gap-1.5 text-xs mb-0.5",children:[(0,B.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,B.jsx)("span",{style:{color:f?"var(--p-text-g)":C?"var(--p-purple)":"var(--p-blue-300)"},children:C?"\\u{1F916} Agent":`\\u{1F464} ${x.authorName??o}`}),(0,B.jsx)(Nm,{source:x.source}),(0,B.jsxs)("span",{style:{color:"var(--p-text-g)"},children:[ft(x.createdAt),!f&&x.updatedAt?" \\xB7 edited":"",f?" \\xB7 deleted":""]})]}),i&&(0,B.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,B.jsx)("button",{onClick:()=>{u(x.id),d(x.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,B.jsx)("button",{onClick:()=>m(x),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),r&&(0,B.jsxs)("div",{className:"flex items-center justify-between gap-1.5",style:{marginBottom:2},children:[(0,B.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-g)"},children:[ft(x.createdAt),!f&&x.updatedAt?" \\xB7 edited":"",f?" \\xB7 deleted":""]}),i&&(0,B.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,B.jsx)("button",{onClick:()=>{u(x.id),d(x.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,B.jsx)("button",{onClick:()=>m(x),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),p?(0,B.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,B.jsx)(go,{ref:s,value:l,onChange:d,baseRows:4,maxRows:12,onKeyDown:L=>{L.key==="Enter"&&(L.ctrlKey||L.metaKey)&&(L.preventDefault(),g(x,l).then(()=>u(null)))},style:{width:"100%",background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:6,padding:"8px 10px",fontSize:12,color:"var(--p-text)",outline:"none",fontFamily:"inherit",boxSizing:"border-box"}}),(0,B.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,B.jsx)("button",{onClick:()=>u(null),style:{padding:"4px 10px",background:"var(--p-surface)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-text-sub)",cursor:"pointer"},children:"Cancel"}),(0,B.jsx)("button",{onClick:async()=>{await g(x,l),u(null)},style:{padding:"4px 10px",background:"var(--p-blue)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-white)",cursor:"pointer"},children:"Save"})]})]}):f?(0,B.jsx)("div",{style:{padding:"8px 14px",fontSize:12,color:"var(--p-text-g)",fontStyle:"italic",background:"var(--p-input)",border:"1px dashed var(--p-border)",borderRadius:8},children:"Comment deleted"}):(0,B.jsx)(ta,{markdown:x.text,style:{background:"var(--p-input)",border:"1px solid var(--p-border)",borderRadius:8,padding:"10px 14px",fontSize:12,color:"var(--p-text-sub)",lineHeight:1.6}})]},x.id)}var Hm=A(Se(),1);var Qa=A($(),1);function pd({files:e,loading:t,error:a,baseUrl:r,onPreview:o,onDelete:n}){let[l,s]=Hm.default.useState(null);return t?(0,Qa.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):a?(0,Qa.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):e.length===0?(0,Qa.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No files attached."}):(0,Qa.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[e.map(u=>{let d=u.url??`${r}/api/files/${encodeURIComponent(u.name)}`;return(0,Qa.jsx)(Ps,{file:u,url:d,variant:"normal",onPreview:g=>o(g),onDelete:n?g=>(s(g),Promise.resolve()):void 0},u.name)}),n&&(0,Qa.jsx)(ra,{open:l!==null,message:l?`Delete "${l.name}"? This action cannot be undone.`:"",onConfirm:()=>{l&&n(l),s(null)},onCancel:()=>s(null)})]})}var hd=A(Se(),1);var ho=A(Se(),1),Um=A(no(),1);var $t=A($(),1);function Fn({value:e,onChange:t,previewValue:a,showPreview:r,setShowPreview:o,previewId:n,textareaId:l,placeholder:s,previewEmptyText:u,previewMinHeight:d=54,previewMaxHeight:g=220,baseRows:m=5,maxRows:c=12,autoFocus:y=!1,textareaRef:x,onKeyDown:C,afterTextarea:O,onBlur:f}){let i=ho.default.useRef(null),[p,L]=ho.default.useState([]),[I,P]=ho.default.useState(null),[v,S]=ho.default.useState(null);ho.default.useEffect(()=>{let M=!0;return fetch("/api/tasks").then(U=>U.json()).then(U=>{if(!M)return;let z=(U.tasks??[]).map(V=>({id:String(V.id??""),title:String(V.title??"")})).filter(V=>V.id.length>0);L(z)}).catch(()=>{}),()=>{M=!1}},[]);function _(M){let U=i.current;if(!U){P(null);return}let z=U.selectionStart??M.length,V=M.slice(0,z),ae=-1;for(let J=V.length-1;J>=0;J--){if(V[J]!=="#")continue;let j=J>0?V[J-1]:"";if(j&&!/\\s/.test(j))continue;let se=V.slice(J+1);if(!se.includes("#")){if(se.length>80)return;ae=J;break}}if(ae===-1){P(null);return}let T=V.slice(ae+1).trim().toLowerCase(),K=p.filter(J=>{if(!T)return!0;let j=J.id.toLowerCase(),se=J.title.toLowerCase();return j.includes(T)||se.includes(T)}).sort((J,j)=>{let se=J.id.toLowerCase().startsWith(T)?1:0,qe=j.id.toLowerCase().startsWith(T)?1:0;if(se!==qe)return qe-se;let at=J.title.toLowerCase().startsWith(T)?1:0,Kt=j.title.toLowerCase().startsWith(T)?1:0;return at!==Kt?Kt-at:J.id.localeCompare(j.id)}).slice(0,6);if(!K.length){P(null),S(null);return}let re=U.getBoundingClientRect();S({top:re.top,left:re.left,width:re.width}),P({queryStart:ae,queryEnd:z,items:K})}function k(M){let U=I;if(!U)return;let z=`${e.slice(0,U.queryStart)}#${M} ${e.slice(U.queryEnd)}`;t(z),P(null),S(null),requestAnimationFrame(()=>{let V=i.current;if(!V)return;let ae=U.queryStart+M.length+2;V.focus(),V.setSelectionRange(ae,ae)})}return r?(0,$t.jsx)("div",{id:n,onClick:M=>{M.target.closest("a")||o(!1)},title:"Click to edit",style:{cursor:"text",minHeight:d,background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:10,fontSize:12,color:"var(--p-text-sub)",lineHeight:1.7,overflow:"auto",maxHeight:g},children:(a??e).trim()?(0,$t.jsx)(ta,{markdown:a??e}):(0,$t.jsx)("span",{style:{color:"var(--p-border-t)"},children:u??s})}):(0,$t.jsxs)("div",{style:{position:"relative"},children:[(0,$t.jsx)(go,{id:l,ref:M=>{i.current=M,x&&(x.current=M)},className:"dp-textarea",placeholder:s,value:e,onChange:M=>{t(M),_(M)},onFocus:()=>o(!1),onBlur:()=>{P(null),S(null),o(!0),f==null||f()},baseRows:m,maxRows:c,autoFocus:y,onKeyDown:M=>{M.key==="Escape"&&(P(null),S(null)),C==null||C(M)}}),I&&v&&(0,Um.createPortal)((0,$t.jsx)("div",{"data-task-ref-suggest":"true",style:{position:"fixed",left:v.left+8,width:v.width-16,top:v.top,transform:"translateY(-100%)",border:"1px solid var(--p-border-s)",background:"var(--p-card)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",overflow:"hidden",zIndex:9999},children:I.items.map(M=>(0,$t.jsxs)("button",{type:"button",onMouseDown:U=>{U.preventDefault(),k(M.id)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,textAlign:"left",border:"none",borderBottom:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-sub)",padding:"7px 10px",fontSize:11,cursor:"pointer"},onMouseEnter:U=>{U.currentTarget.style.background="var(--p-hover)"},onMouseLeave:U=>{U.currentTarget.style.background="transparent"},children:[(0,$t.jsxs)("span",{style:{fontFamily:"monospace",color:"var(--p-blue-300)"},children:["#",M.id]}),(0,$t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:M.title})]},M.id))}),document.body),O]})}var Cr=A(Se(),1);var At=A($(),1);function md({tags:e,allTags:t,onChange:a,disabled:r}){let[o,n]=Cr.default.useState(""),[l,s]=Cr.default.useState(!1),u=Cr.default.useRef(null),d=Cr.default.useRef(null),g=o.trim().toLowerCase(),m=Cr.default.useMemo(()=>t.filter(p=>!e.includes(p)&&p.toLowerCase().includes(g)).slice(0,8),[t,e,g]),c=g.length>0&&!t.some(i=>i.toLowerCase()===g)&&!e.some(i=>i.toLowerCase()===g),y=g.length>0&&t.some(i=>i.toLowerCase()===g)&&!e.some(i=>i.toLowerCase()===g);function x(i){var L;let p=i.trim();!p||e.includes(p)||(a([...e,p]),n(""),s(!1),(L=u.current)==null||L.focus())}function C(i){a(e.filter(p=>p!==i))}function O(i){if(i.key==="Enter")if(i.preventDefault(),c||y){let p=t.find(L=>L.toLowerCase()===g);x(p??o.trim())}else m.length>0&&x(m[0]);i.key==="Escape"&&(s(!1),n("")),i.key==="Backspace"&&!o&&e.length>0&&C(e[e.length-1])}Cr.default.useEffect(()=>{function i(p){d.current&&!d.current.contains(p.target)&&s(!1)}return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[]);let f=l&&(m.length>0||c);return(0,At.jsxs)("div",{ref:d,style:{position:"relative"},children:[(0,At.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center",padding:"5px 8px",borderRadius:8,border:`1px solid ${l?"var(--p-blue)":"var(--p-border)"}`,background:"var(--p-input)",cursor:r?"not-allowed":"text",opacity:r?.6:1,minHeight:34,transition:"border-color .12s"},onClick:()=>{var i;r||(i=u.current)==null||i.focus()},children:[(0,At.jsx)(fo,{tags:e,onRemove:r?void 0:C,size:"sm"}),!r&&(0,At.jsx)("input",{ref:u,type:"text",value:o,placeholder:e.length?"":"Add tags\\u2026",onChange:i=>{n(i.target.value),s(!0)},onFocus:()=>s(!0),onKeyDown:O,style:{background:"none",border:"none",outline:"none",fontSize:12,color:"var(--p-text)",minWidth:80,flex:1,padding:0,lineHeight:"1.4"}})]}),f&&(0,At.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onMouseDown:i=>i.preventDefault(),children:[m.map(i=>{let{bg:p,text:L,border:I}=Wt(i);return(0,At.jsxs)("button",{type:"button",onClick:()=>x(i),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-m)"},onMouseEnter:P=>{P.currentTarget.style.background="var(--p-hover)"},onMouseLeave:P=>{P.currentTarget.style.background="none"},children:[(0,At.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:L,border:`1px solid ${I}`,flexShrink:0}}),i]},i)}),c&&(0,At.jsxs)("button",{type:"button",onClick:()=>x(o.trim()),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:m.length>0?"1px solid var(--p-border)":"none",borderLeft:"none",borderRight:"none",borderBottom:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-g)"},onMouseEnter:i=>{i.currentTarget.style.background="var(--p-hover)",i.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:i=>{i.currentTarget.style.background="none",i.currentTarget.style.color="var(--p-text-g)"},children:[(0,At.jsx)("span",{style:{fontSize:14,lineHeight:1},children:"+"}),\'Create "\',(0,At.jsx)("strong",{style:{color:"var(--p-text)"},children:o.trim()}),\'"\']})]})]})}var W=A($(),1);function xd({task:e,description:t,setDescription:a,showDescPreview:r,setShowDescPreview:o,priority:n,setPriority:l,onDescriptionBlur:s,onDescriptionDiscard:u,originalDescription:d,onPriorityChange:g,githubUrl:m,onFilePreview:c,onPatch:y,onDeleteScreenshot:x,liveFiles:C,allTags:O=[],overrideTags:f,onTagsChange:i}){var U;let p=(e==null?void 0:e.files)??[],L=C?C.map(z=>({name:z.name,linkedPath:z.linkedPath,addedAt:z.createdAt,url:z.url})):p,I=L==null?void 0:L.find(z=>/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(z.name)),P=e&&I?I.url||`/api/tasks/${e.id}/files/${encodeURIComponent(I.name)}`:null,v=hd.default.useRef(null),[S,_]=hd.default.useState(null),{userPart:k,consolePart:M}=Tv(t);return(0,W.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:"Description"}),(0,W.jsx)(Fn,{value:t,previewValue:M?k:void 0,onChange:a,onBlur:s,showPreview:r,setShowPreview:o,previewId:"dp-desc-preview",textareaId:"dp-desc",placeholder:"Description (markdown)\\u2026",previewMinHeight:80,previewMaxHeight:220,baseRows:6,maxRows:12,autoFocus:!0,textareaRef:v,afterTextarea:u&&d!==void 0&&t!==d?(0,W.jsx)("button",{type:"button",onMouseDown:z=>{z.preventDefault(),u()},title:"Discard changes and restore saved description",style:{marginTop:4,display:"flex",alignItems:"center",gap:4,fontSize:11,color:"var(--p-text-g)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:6,padding:"3px 8px",cursor:"pointer",transition:"color .12s, border-color .12s"},onMouseEnter:z=>{z.currentTarget.style.color="var(--p-amber-300)",z.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:z=>{z.currentTarget.style.color="var(--p-text-g)",z.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9 Discard changes"}):void 0})]}),M&&(0,W.jsx)(Rv,{logs:M}),e&&I&&P&&(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"dp-meta-label",children:"Screenshot"}),(0,W.jsxs)("div",{id:"dp-screenshot-preview",style:{border:"1px solid color-mix(in srgb, var(--p-border-t) 70%, transparent)",borderRadius:10,overflow:"hidden",background:"var(--p-card)"},children:[(0,W.jsx)("button",{onClick:()=>c(I.name,P),style:{width:"100%",height:112,border:"none",padding:0,background:"linear-gradient(135deg, var(--p-border), var(--p-bg))",cursor:"pointer",display:"block",overflow:"hidden"},title:"Preview screenshot",children:(0,W.jsx)("img",{src:P,alt:"Task screenshot",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})}),(0,W.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderTop:"1px solid var(--p-border)",background:"var(--p-surface)"},children:[(0,W.jsx)("span",{style:{fontSize:10,color:"var(--p-text-f)",flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:I.addedAt?`Captured ${ft(I.addedAt)}`:"Screenshot attached"}),(0,W.jsx)("button",{onClick:()=>c(I.name,P),style:{fontSize:10,color:"var(--p-text-m)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Preview screenshot",children:"Preview"}),(0,W.jsx)("button",{onClick:()=>_(I.name),style:{fontSize:10,color:"var(--p-red)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Remove screenshot",children:"Remove"})]})]})]}),(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,W.jsx)(md,{tags:f??(e==null?void 0:e.tags)??[],allTags:O,disabled:!e&&!i,onChange:z=>{i?i(z):e&&y(e.id,{tags:z})}})]}),(0,W.jsxs)("div",{children:[(0,W.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,W.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:z=>{let V=z.target.value;l(V),g==null||g(V)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,W.jsx)("option",{value:"",children:"\\u2014"}),(0,W.jsx)("option",{value:"Critical",children:"Critical"}),(0,W.jsx)("option",{value:"High",children:"High"}),(0,W.jsx)("option",{value:"Medium",children:"Medium"}),(0,W.jsx)("option",{value:"Low",children:"Low"})]})]}),e&&(0,W.jsxs)("div",{id:"dp-metadata",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,W.jsx)(gd,{label:"Created",id:"dp-created",children:e.createdAt?ft(e.createdAt):"\\u2014"}),(0,W.jsx)(gd,{label:"ID",id:"dp-id",children:(0,W.jsx)("span",{style:{fontFamily:"monospace"},children:e.id})}),(0,W.jsx)(gd,{label:"Author",id:"dp-author",children:e.authorName??e.author??"\\u2014"}),(e.commit||((U=e.commits)==null?void 0:U.length))&&(0,W.jsx)(bv,{task:e,githubUrl:m}),e.branchName&&(0,W.jsx)(Pv,{branchName:e.branchName}),e.annotatedElementText&&(0,W.jsxs)("div",{id:"dp-annotated-text",style:{gridColumn:"1 / -1",background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,W.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Annotated element text"}),(0,W.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",fontStyle:"italic",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.annotatedElementText})]})]}),(0,W.jsx)(ra,{open:S!==null,message:"Remove this screenshot? This action cannot be undone.",confirmLabel:"Remove",onConfirm:()=>{S&&x(S),_(null)},onCancel:()=>_(null)})]})}function gd({label:e,id:t,children:a}){return(0,W.jsxs)("div",{id:t,style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,W.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:e}),(0,W.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",borderBottom:"1px solid var(--p-border)",paddingBottom:4,display:"flex",alignItems:"center",minHeight:16},children:a})]})}function bv({task:e,githubUrl:t}){var n;let a=(n=e.commits)!=null&&n.length?e.commits:[{sha:e.commit,message:e.title??"",timestamp:e.createdAt??""}],r=a[a.length-1],o=a.map(l=>`${l.sha.slice(0,8)} ${l.timestamp?new Date(l.timestamp).toLocaleString():""} ${l.message.slice(0,60)}`).join(`\n`);return(0,W.jsxs)("div",{id:"dp-commit",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:a.length>1?`All commits:\n${o}`:`${r.sha}\n${r.message}`,children:[(0,W.jsxs)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:["Commit",a.length>1?"s":""]}),(0,W.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[t&&e.commitPushed!==!1?(0,W.jsxs)("a",{href:`${t}/commit/${r.sha}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"var(--p-blue-300)",fontFamily:"monospace",textDecoration:"none"},title:"Open diff on GitHub",onClick:l=>l.stopPropagation(),children:[r.sha.slice(0,8)," \\u2197"]}):(0,W.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-f)",fontFamily:"monospace"},title:e.commitPushed===!1?"Commit not pushed to remote yet":void 0,children:[r.sha.slice(0,8),e.commitPushed===!1?" \\u23F3":""]}),a.length>1&&(0,W.jsxs)("span",{style:{fontSize:9,color:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 25%, transparent)",borderRadius:10,padding:"0 5px",fontWeight:600},children:["+",a.length-1]})]})]})}function Pv({branchName:e}){return(0,W.jsxs)("div",{id:"dp-branch",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:`Branch: ${e}`,children:[(0,W.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Branch"}),(0,W.jsxs)("div",{style:{fontSize:10,color:"var(--p-green-300)",fontFamily:"monospace"},children:["\\u2387 ",e]})]})}function Tv(e){let a=e.indexOf(`\n---\n**Console logs**`);return a===-1?{userPart:e,consolePart:null}:{userPart:e.slice(0,a).trim(),consolePart:e.slice(a+1).trim()}}function Rv({logs:e}){let t=e.replace(/^---\\s*\\n/,"").split(`\n`).filter(a=>a.trim());return(0,W.jsxs)("div",{id:"dp-console-logs",style:{borderRadius:8,border:"1px solid color-mix(in srgb, var(--p-red) 30%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 4%, var(--p-card))",overflow:"hidden"},children:[(0,W.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 10px",borderBottom:"1px solid color-mix(in srgb, var(--p-red) 20%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 8%, var(--p-card))"},children:[(0,W.jsx)("span",{style:{fontSize:10,fontWeight:700,color:"color-mix(in srgb, var(--p-red) 80%, var(--p-text-sub))",letterSpacing:"0.05em",textTransform:"uppercase"},children:"Console Logs"}),(0,W.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",marginLeft:"auto"},children:"captured at submission"})]}),(0,W.jsxs)("div",{style:{padding:"6px 10px",maxHeight:200,overflowY:"auto",display:"flex",flexDirection:"column",gap:3},children:[t.map((a,r)=>{let o=a.includes("\\u{1F534}"),n=a.includes("\\u{1F7E1}"),l=a.replace(/^[-*]\\s*/,"");return(0,W.jsx)("div",{style:{fontFamily:"Menlo, monospace",fontSize:10,lineHeight:1.5,color:o?"var(--p-red)":n?"var(--p-amber-300)":"var(--p-text-f)",wordBreak:"break-all"},children:l},r)}),t.length===0&&(0,W.jsx)("div",{style:{fontSize:10,color:"var(--p-text-g)",fontStyle:"italic"},children:"No log entries captured."})]})]})}var xo=A($(),1);function vd({commentInput:e,setCommentInput:t,commentSubmitting:a,onSubmit:r,baseRows:o=4}){return(0,xo.jsx)("div",{id:"dp-comment-input-area",children:(0,xo.jsx)(Fn,{value:e,onChange:t,showPreview:!1,setShowPreview:()=>{},previewId:"dp-comment-tab-edit",textareaId:"dp-comment-input",placeholder:"Add a comment\\u2026 (markdown)",previewEmptyText:"Leave a comment (markdown)\\u2026",previewMinHeight:o<=2?36:54,previewMaxHeight:140,baseRows:o,maxRows:10,autoFocus:!0,onKeyDown:n=>{n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(n.preventDefault(),r())},afterTextarea:(0,xo.jsx)("button",{id:"dp-comment-submit",disabled:a,onMouseDown:n=>{n.preventDefault(),r()},title:"Send (Ctrl+Enter)",style:{position:"absolute",bottom:16,right:8,width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--p-blue)",border:"none",borderRadius:6,cursor:"pointer",color:"var(--p-white)",transition:"background .15s"},children:(0,xo.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"block"},children:(0,xo.jsx)("path",{d:"M2 8L14 2L10 8L14 14L2 8Z",fill:"currentColor"})})})})})}var E=A($(),1),Mv="vibeflow-paste-hint-dismissed";function Av({storageKey:e=Mv}){let[t,a]=Q.default.useState(()=>{try{return!localStorage.getItem(e)}catch{return!0}});if(!t)return null;function r(){try{localStorage.setItem(e,"1")}catch{}a(!1)}return(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",margin:"0 0 6px",borderRadius:6,background:"rgba(37,99,235,0.08)",border:"1px solid rgba(37,99,235,0.18)",fontSize:11,color:"var(--p-blue-300)",flexShrink:0},children:[(0,E.jsxs)("span",{style:{flex:1,lineHeight:1.4},children:["\\u{1F4A1} ",(0,E.jsx)("strong",{children:"Tip:"})," Paste screenshots or files anywhere in this panel \\u2014 they attach automatically."]}),(0,E.jsx)("button",{onClick:r,title:"Dismiss",style:{flexShrink:0,background:"none",border:"none",cursor:"pointer",padding:2,color:"var(--p-blue-300)",opacity:.7,display:"flex",alignItems:"center"},onMouseEnter:o=>{o.currentTarget.style.opacity="1"},onMouseLeave:o=>{o.currentTarget.style.opacity="0.7"},children:(0,E.jsx)(Ne,{style:{width:12,height:12}})})]})}var Dv=[{id:"backlog",label:"backlog"},{id:"todo",label:"todo"},{id:"in-progress",label:"in-progress"},{id:"review",label:"review"},{id:"done",label:"done"}],Ev=5*1024*1024;function yd(e,t=.8){return new Promise((a,r)=>{let o=new Image,n=URL.createObjectURL(e);o.onload=()=>{let l=document.createElement("canvas");l.width=o.naturalWidth,l.height=o.naturalHeight;let s=l.getContext("2d");if(!s){URL.revokeObjectURL(n),r(new Error("canvas unavailable"));return}s.drawImage(o,0,0),URL.revokeObjectURL(n),l.toBlob(u=>{u?a(u):r(new Error("canvas.toBlob failed"))},"image/jpeg",t)},o.onerror=()=>{URL.revokeObjectURL(n),r(new Error("image load failed"))},o.src=n})}function Ld({open:e,task:t,tab:a,addColumnId:r="todo",gitUserName:o="You",githubUrl:n,baseUrl:l,isResizing:s,api:u,onClose:d,onSave:g,onCreate:m,onDelete:c,onPatch:y,onFilePreview:x,onActivityChange:C,externalLocalChanges:O=[],showLockIndicator:f=!0,lockedByUser:i,onGoBack:p,navBackLabel:L,commentVersion:I,allTasks:P=[],createBranch:v}){let S=!t,_=t?Mn(t.type):Mn("Task"),k=Q.default.useRef(null),[M,U]=Q.default.useState([]),z=Q.default.useRef(!1),V=Q.default.useRef(""),ae=Q.default.useRef(""),T=Q.default.useMemo(()=>{let w=new Set;for(let H of P)for(let G of H.tags??[])w.add(G);return[...w].sort()},[P]),[K,re]=Q.default.useState(a),[J,j]=Q.default.useState(""),[se,qe]=Q.default.useState(""),[at,Kt]=Q.default.useState(r),[rt,Gt]=Q.default.useState("Task"),[Et,oa]=Q.default.useState(""),[Lo,ot]=Q.default.useState(!1),[zn,So]=Q.default.useState(!1),[kr,We]=Q.default.useState(!1),[ct,Io]=Q.default.useState(""),[Nn,Ya]=Q.default.useState(!1),na=Q.default.useRef(null),[Es,Hn]=Q.default.useState([]),[Un,Ja]=Q.default.useState(!1),[Fs,_n]=Q.default.useState(null),[La,la]=Q.default.useState(""),[Bs,qn]=Q.default.useState(!1),[br,Wn]=Q.default.useState([]),[$n,Vn]=Q.default.useState(!1),[Kn,Gn]=Q.default.useState(null),[Co,Pr]=Q.default.useState(0),h=Q.default.useRef(0),[b,D]=Q.default.useState(0),[q,ce]=Q.default.useState(null),[ue,ie]=Q.default.useState([]),[de,Xe]=Q.default.useState([]),Ae=Q.default.useRef(null),Re=Q.default.useRef(()=>{}),F=Q.default.useRef(""),pt=Q.default.useRef(!1);Q.default.useEffect(()=>{F.current=La},[La]),Q.default.useEffect(()=>{pt.current=kr},[kr]),Q.default.useEffect(()=>{z.current=s??!1},[s]),Q.default.useEffect(()=>{e||C==null||C(null,"viewing")},[e]),Q.default.useEffect(()=>{if(!e||!t)return;J!==V.current||se!==ae.current?C==null||C(t.id,"locked"):C==null||C(t.id,"viewing")},[J,se,e,t==null?void 0:t.id]),Q.default.useEffect(()=>{if(!e)return;function w(H){var G,ve,he,Ft;if(!z.current&&!((ve=(G=H.target)==null?void 0:G.closest)!=null&&ve.call(G,"[data-task-ref-suggest]"))&&!((Ft=(he=H.target)==null?void 0:he.closest)!=null&&Ft.call(he,".modal-backdrop"))&&k.current&&!k.current.contains(H.target)){if(pt.current)return;if(F.current.trim().length>0){Re.current(),We(!0);return}Re.current(),d()}}return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[e,d]),Q.default.useEffect(()=>{if(!e)return;function w(H){if(H.key==="Escape"){if(pt.current){We(!1),H.stopPropagation();return}if(F.current.trim().length>0){H.stopPropagation(),Re.current(),We(!0);return}}}return document.addEventListener("keydown",w,{capture:!0}),()=>document.removeEventListener("keydown",w,{capture:!0})},[e]),Q.default.useEffect(()=>{if(e){if(re(a),ot(!!t),la(""),Hn([]),Wn([]),Pr(0),D(0),ie([]),Xe([]),Io((t==null?void 0:t.branchName)??""),Ya(!1),na.current=null,t){let w=(t.title??"").trim(),H=(t.description??"").trim();j(w),qe(H),Kt(t.status),Gt(t.type??"Task"),oa(t.priority??""),V.current=w,ae.current=H,C==null||C(t.id,"viewing")}else j(""),qe(""),Kt(r),Gt("Task"),oa("");t&&(nt(t.id),St(t.id)),setTimeout(()=>{var w;return(w=Ae.current)==null?void 0:w.focus()},50)}},[e,t==null?void 0:t.id,a]),Q.default.useEffect(()=>{!e||!t||(K==="comments"?(mt(t.id),St(t.id)):K==="files"&&St(t.id))},[K,e,t==null?void 0:t.id]),Q.default.useEffect(()=>{if(!e||!t||J!==V.current||se!==ae.current)return;let H=(t.title??"").trim(),G=(t.description??"").trim();(H!==V.current||G!==ae.current)&&(j(H),qe(G),V.current=H,ae.current=G),t.status&&t.status!==at&&Kt(t.status),t.type&&t.type!==rt&&Gt(t.type),t.priority!==void 0&&t.priority!==Et&&oa(t.priority??"");let ve=t.branchName??"";ve!==ct&&Io(ve)},[t==null?void 0:t.title,t==null?void 0:t.description,t==null?void 0:t.status,t==null?void 0:t.type,t==null?void 0:t.priority,t==null?void 0:t.branchName]),Q.default.useEffect(()=>{!e||!t||I===void 0||(K==="comments"?mt(t.id):nt(t.id))},[I]);async function nt(w){var H,G;try{let[ve,he]=await Promise.all([u.getComments(w),u.getFiles(w)]);Pr(((H=ve.comments)==null?void 0:H.length)??0),D(((G=he.files)==null?void 0:G.length)??0)}catch{}}async function mt(w){var G;let H=++h.current;Ja(!0),_n(null);try{let ve=await u.getComments(w);if(h.current!==H)return;Hn(ve.comments??[]),Pr(((G=ve.comments)==null?void 0:G.length)??0)}catch{if(h.current!==H)return;_n("failed")}finally{h.current===H&&Ja(!1)}}async function St(w){var H;Vn(!0),Gn(null);try{let G=await u.getFiles(w);Wn(G.files??[]),D(((H=G.files)==null?void 0:H.length)??0)}catch{Gn("failed")}finally{Vn(!1)}}async function wo(){var w;if(!J.trim()){(w=Ae.current)==null||w.focus();return}if(!S&&La.trim()&&await Os(),S){let H=await m({title:J.trim(),description:se.trim()||J.trim(),status:at,type:rt,priority:Et||void 0,selector:"/",tags:de.length>0?de:void 0});if(H&&M.length>0){for(let G of M)await u.uploadFile(H,G).catch(()=>null);U([])}d()}else Za()}function Za(){if(!t||S)return;let w=J.trim();if(!w)return;let H=V.current,G=ae.current,ve=w!==H,he=se.trim()!==G;!ve&&!he||(ve&&jn("title",H,w),he&&jn("description",G,se.trim()),y(t.id,{title:w,description:se.trim(),type:rt,priority:Et||void 0}),V.current=w,ae.current=se.trim())}Re.current=Za;function jn(w,H,G){H!==G&&ie(ve=>[...ve,{field:w,from:H,to:G,actor:o,timestamp:new Date().toISOString()}])}async function Os(){if(!(!t||!La.trim())){qn(!0);try{await u.addComment(t.id,La.trim()),la(""),await mt(t.id)}finally{qn(!1)}}}async function lg(w,H){t&&(await u.updateComment(t.id,w.id,H),await mt(t.id))}async function sg(w){t&&(await u.deleteComment(t.id,w.id),await mt(t.id))}async function ug(w){if(!t)return;let H=t.id;ce(null);for(let G of Array.from(w.target.files??[])){if(!G.type.startsWith("image/")&&G.size>Ev){ce(`"${G.name}" exceeds the 5 MB limit and was skipped.`);continue}let ve;if(G.type.startsWith("image/")){let he=await yd(G),Ft=G.name.replace(/\\.(png|bmp|gif|webp|tiff?)$/i,".jpg");ve=new File([he],Ft,{type:"image/jpeg"})}else ve=G;await u.uploadFile(H,ve)}w.target.value="",await St(H),nt(H)}async function ig(w){if(!t)return;ce(null);let H=await yd(w),ve=`paste-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.jpg`,he=new File([H],ve,{type:"image/jpeg"});await u.uploadFile(t.id,he),await St(t.id),nt(t.id)}async function dg(w){if(!t)return;let H=Array.from(w.items),G=H.find(he=>he.type.startsWith("image/"));if(G){let he=G.getAsFile();he&&await ig(he);return}let ve=H.filter(he=>he.kind==="file"&&!he.type.startsWith("image/"));if(ve.length>0){for(let he of ve){let Ft=he.getAsFile();Ft&&await u.uploadFile(t.id,Ft)}await St(t.id),nt(t.id);return}}Q.default.useEffect(()=>{if(!e)return;function w(H){if(!H.clipboardData)return;let G=H.target;if(!((G.tagName==="TEXTAREA"||G.tagName==="INPUT"||G.isContentEditable)&&!Array.from(H.clipboardData.items).some(Tr=>Tr.kind==="file"))){if(H.preventDefault(),!t){let Ft=Array.from(H.clipboardData.items).find(Tr=>Tr.type.startsWith("image/"));if(Ft){let Tr=Ft.getAsFile();Tr&&(async()=>{let hg=await yd(Tr),xg=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),vg=new File([hg],`paste-${xg}.jpg`,{type:"image/jpeg"});U(yg=>[...yg,vg])})()}return}dg(H.clipboardData)}}return document.addEventListener("paste",w),()=>document.removeEventListener("paste",w)},[e,t==null?void 0:t.id]);async function kd(w){t&&(await u.deleteFile(t.id,w.name),await St(t.id),nt(t.id))}async function fg(w){if(!t)return;await u.deleteFile(t.id,w);let H=(t.files??[]).filter(G=>G.name!==w);y(t.id,{files:H}),await St(t.id),nt(t.id)}function cg(w){if(Nn&&w!=="review"&&(Ya(!1),na.current=null),Kt(w),S||!t)return;if(v&&w==="review"&&!ct.trim()){na.current={taskId:t.id,patch:{status:w}},Ya(!0);return}let H={status:w};ct.trim()&&(H.branchName=ct.trim()),y(t.id,H)}function bd(){if(!na.current||!t||!ct.trim())return;let w={...na.current.patch,branchName:ct.trim()};y(t.id,w),Ya(!1),na.current=null}function Pd(){Ya(!1),na.current=null,t&&Kt(t.status)}let pg=w=>w!==at?"dp-status-btn":`dp-status-btn active-${w}`;function Td(){if(!pt.current){if(F.current.trim().length>0){Re.current(),We(!0);return}Re.current(),d()}}let mg=e&&t!=null&&(J!==V.current||se!==ae.current),gg=Q.default.useMemo(()=>{let w=[...O,...ue].sort((G,ve)=>new Date(G.timestamp).getTime()-new Date(ve.timestamp).getTime()),H=[];for(let G of w)H.some(he=>he.field===G.field&&he.from.toLowerCase()===G.from.toLowerCase()&&he.to.toLowerCase()===G.to.toLowerCase()&&he.actor===G.actor&&Math.abs(new Date(he.timestamp).getTime()-new Date(G.timestamp).getTime())<=3e3)||H.push(G);return H},[O,ue]),Sa=!S&&!!i;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)("aside",{id:"detail-panel",className:"open",ref:k,children:[Sa&&(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(234,88,12,0.12)",border:"1px solid rgba(234,88,12,0.25)",borderRadius:6,margin:"8px 12px 0",fontSize:12,color:"#f97316",fontWeight:500},children:["\\u{1F512} Locked by ",(0,E.jsx)("strong",{children:i})," \\u2014 editing disabled until they finish."]}),(0,E.jsxs)("div",{className:"dp-header",children:[(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[p&&(0,E.jsx)("button",{id:"dp-back",onClick:p,title:L?`Back to: ${L}`:"Go back",style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"1px solid var(--p-border-t)",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",fontSize:14,lineHeight:1},onMouseOver:w=>{w.currentTarget.style.background="var(--p-border)",w.currentTarget.style.color="var(--p-blue-300)",w.currentTarget.style.borderColor="var(--p-blue)"},onMouseOut:w=>{w.currentTarget.style.background="transparent",w.currentTarget.style.color="var(--p-text-g)",w.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u2190"}),(0,E.jsx)(bs,{id:"dp-type-picker",value:rt,disabled:Sa,onChange:w=>{!S&&t&&w!==rt&&jn("type",rt,w),Gt(w),!S&&t&&y(t.id,{type:w})}}),(0,E.jsx)("input",{id:"dp-title",ref:Ae,className:"dp-input",type:"text",placeholder:"Task title\\u2026",value:J,readOnly:Sa,onChange:w=>j(w.target.value),onKeyDown:w=>{w.key==="Escape"&&(w.stopPropagation(),Td()),w.key==="Enter"&&S&&wo()},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",borderColor:"transparent",background:"transparent"},onFocus:w=>{w.currentTarget.style.borderColor="var(--p-blue)",w.currentTarget.style.background="var(--p-input)"},onBlur:w=>{w.currentTarget.style.borderColor="transparent",w.currentTarget.style.background="transparent",S||Za()}}),!S&&J!==V.current&&J.trim()!==""&&(0,E.jsx)("button",{type:"button",title:"Discard title changes",onMouseDown:w=>{w.preventDefault(),j(V.current)},style:{width:20,height:20,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"1px solid var(--p-border-t)",background:"none",color:"var(--p-text-g)",cursor:"pointer",fontSize:13,lineHeight:1},onMouseEnter:w=>{w.currentTarget.style.color="var(--p-amber-300)",w.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:w=>{w.currentTarget.style.color="var(--p-text-g)",w.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9"}),(0,E.jsx)("button",{id:"dp-close",onClick:Td,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",pointerEvents:"auto"},onMouseOver:w=>{w.currentTarget.style.background="var(--p-border)",w.currentTarget.style.color="var(--p-text-m)"},onMouseOut:w=>{w.currentTarget.style.background="transparent",w.currentTarget.style.color="var(--p-text-g)"},children:(0,E.jsx)(Ne,{style:{width:14,height:14}})}),f&&mg&&t&&(0,E.jsx)("span",{id:"dp-lock-indicator",title:`Locked by ${o} \\u2014 unsaved changes`,style:{display:"inline-flex",alignItems:"center",gap:3,flexShrink:0,borderRadius:999,padding:"2px 7px",fontSize:10,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)"},children:"\\u{1F512} Locked"})]}),(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",...Sa?{pointerEvents:"none",opacity:.6}:{}},children:[(0,E.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Status"}),Dv.map(w=>(0,E.jsx)("button",{className:pg(w.id),"data-status":w.id,onClick:()=>cg(w.id),children:w.label},w.id))]}),Nn&&!Sa&&(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8,padding:"8px 10px",borderRadius:8,background:"rgba(139,92,246,0.08)",border:"1px solid rgba(139,92,246,0.2)",fontSize:12},children:[(0,E.jsx)("span",{style:{color:"var(--p-purple-300)",fontWeight:500,whiteSpace:"nowrap"},children:"Branch name:"}),(0,E.jsx)("input",{id:"dp-branch-name",type:"text",placeholder:"e.g. feat/add-hover-effect",value:ct,onChange:w=>Io(w.target.value),onKeyDown:w=>{w.key==="Enter"&&ct.trim()&&bd(),w.key==="Escape"&&Pd()},autoFocus:!0,style:{flex:1,fontSize:12,padding:"4px 8px",borderRadius:6,border:"1px solid var(--p-border)",background:"var(--p-input)",color:"var(--p-text)",fontFamily:"monospace"}}),(0,E.jsx)("button",{onClick:bd,disabled:!ct.trim(),style:{padding:"4px 12px",borderRadius:6,border:"1px solid var(--p-purple)",background:ct.trim()?"var(--p-purple)":"var(--p-border)",color:"#fff",fontSize:11,fontWeight:600,cursor:ct.trim()?"pointer":"not-allowed",transition:"background .12s"},children:"Apply & Review"}),(0,E.jsx)("button",{onClick:Pd,style:{padding:"4px 10px",borderRadius:6,border:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-g)",fontSize:11,cursor:"pointer"},children:"Cancel"})]})]}),!S&&(0,E.jsxs)("div",{className:"dp-tabs",id:"dp-tabs-row",children:[(0,E.jsx)("button",{className:`dp-tab${K==="details"?" active":""}`,id:"dp-tab-details",onClick:()=>re("details"),children:"Details"}),(0,E.jsxs)("button",{className:`dp-tab${K==="comments"?" active":""}`,id:"dp-tab-activity",onClick:()=>re("comments"),children:["Activity ",Co>0&&(0,E.jsxs)("span",{id:"dp-activity-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",Co,")"]})]}),(0,E.jsxs)("button",{className:`dp-tab${K==="files"?" active":""}`,id:"dp-tab-files",onClick:()=>re("files"),children:["Files ",b>0&&(0,E.jsxs)("span",{id:"dp-file-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",b,")"]})]})]}),(0,E.jsxs)("div",{className:"dp-body",children:[!S&&(0,E.jsx)(Av,{}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-details-pane",style:{display:!t||K==="details"?"":"none"},children:[(0,E.jsx)("div",{style:Sa?{pointerEvents:"none",opacity:.6,flexShrink:0}:{flexShrink:0},children:(0,E.jsx)(xd,{task:t,description:se,setDescription:qe,showDescPreview:Lo,setShowDescPreview:ot,priority:Et,setPriority:oa,onDescriptionBlur:S?void 0:Za,onDescriptionDiscard:S?void 0:()=>{qe(ae.current),ot(!0)},originalDescription:S?void 0:ae.current,onPriorityChange:S?void 0:w=>{t&&(w!==Et&&jn("priority",Et||"\\u2014",w||"\\u2014"),y(t.id,{priority:w||void 0}))},githubUrl:n,onFilePreview:x,onDeleteScreenshot:fg,onPatch:y,liveFiles:br.length>0||$n?br:void 0,allTags:T,overrideTags:S?de:void 0,onTagsChange:S?Xe:void 0})}),!S&&t&&(0,E.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",flexShrink:0,marginTop:12,borderTop:"1px solid var(--p-border)",paddingTop:10},children:(0,E.jsx)(Fv,{task:t})})]}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-activity-pane",style:{display:K==="comments"&&!S?"":"none"},children:[(0,E.jsx)("div",{style:{borderBottom:"1px solid var(--p-border)",paddingBottom:8,flexShrink:0},children:(0,E.jsx)(vd,{commentInput:La,setCommentInput:la,commentSubmitting:Bs,onSubmit:()=>{Os()},baseRows:2})}),(0,E.jsx)(cd,{comments:Es,files:br,localChanges:gg,loading:Un,error:Fs,gitUserName:o,taskAuthorName:t==null?void 0:t.authorName,baseUrl:l,taskId:t==null?void 0:t.id,taskCreatedAt:t==null?void 0:t.createdAt,taskUpdatedAt:t==null?void 0:t.updatedAt,onEdit:lg,onDelete:sg,onDeleteFile:kd,onFilePreview:x})]}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-files-pane",style:{display:K==="files"&&!S?"":"none"},children:[(0,E.jsx)(pd,{files:br,loading:$n,error:Kn,baseUrl:l,onPreview:w=>x(w.name,w.linkedPath?`${l}/api/tasks/${t==null?void 0:t.id}/files/${encodeURIComponent(w.name)}`:`${l}${w.url}`),onDelete:Sa?void 0:kd}),(0,E.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:8,flexShrink:0,display:"flex",gap:8,flexWrap:"wrap",alignItems:"center",...Sa?{pointerEvents:"none",opacity:.5}:{}},children:[q&&(0,E.jsx)("div",{style:{width:"100%",fontSize:11,color:"var(--p-red)",background:"rgba(255,80,80,0.08)",border:"1px solid rgba(255,80,80,0.2)",borderRadius:5,padding:"4px 8px"},children:q}),(0,E.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",padding:"6px 10px",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,color:"var(--p-text-m)",fontSize:12,transition:"all .15s"},onMouseOver:w=>{w.currentTarget.style.borderColor="var(--p-border-t)",w.currentTarget.style.color="var(--p-text)"},onMouseOut:w=>{w.currentTarget.style.borderColor="var(--p-border)",w.currentTarget.style.color="var(--p-text-m)"},children:[(0,E.jsx)(io,{style:{width:12,height:12}}),"Upload",(0,E.jsx)("input",{id:"dp-file-upload",type:"file",style:{display:"none"},multiple:!0,onChange:ug})]}),(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-border-t)",marginLeft:"auto"},children:"or paste image"})]})]})]}),(0,E.jsxs)("div",{className:"dp-footer",children:[!S&&(0,E.jsx)("button",{id:"dp-delete",onClick:()=>So(!0),style:{color:"var(--p-red)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:7,padding:"5px 12px",fontSize:12,cursor:"pointer",fontFamily:"inherit",transition:"all .15s"},onMouseOver:w=>{w.currentTarget.style.borderColor="var(--p-red)"},onMouseOut:w=>{w.currentTarget.style.borderColor="var(--p-border-t)"},children:"Delete"}),(0,E.jsx)("div",{style:{flex:1}}),S?(0,E.jsxs)(E.Fragment,{children:[M.length>0&&(0,E.jsxs)("span",{style:{fontSize:11,color:"var(--p-blue-300)",marginRight:8,background:"rgba(37,99,235,0.1)",border:"1px solid rgba(37,99,235,0.25)",borderRadius:6,padding:"3px 8px"},children:["\\u{1F4CE} ",M.length," screenshot",M.length!==1?"s":""," will attach on save"]}),(0,E.jsx)("button",{id:"dp-cancel",onClick:d,style:{padding:"5px 14px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-border-t)",background:"var(--p-border)",color:"var(--p-text-sub)",fontFamily:"inherit",transition:"all .15s"},onMouseOver:w=>{w.currentTarget.style.borderColor="var(--p-text-g)"},onMouseOut:w=>{w.currentTarget.style.borderColor="var(--p-border-t)"},children:"Cancel"}),(0,E.jsx)("button",{id:"dp-save",onClick:()=>{wo()},style:{padding:"5px 18px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-blue-700)",background:"var(--p-blue)",color:"var(--p-white)",fontFamily:"inherit",transition:"background .15s"},onMouseOver:w=>{w.currentTarget.style.background="var(--p-blue-700)"},onMouseOut:w=>{w.currentTarget.style.background="var(--p-blue)"},children:"Add Task"})]}):(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)",padding:"5px 4px"},children:"Changes are saved automatically"})]}),(0,E.jsx)(ra,{open:zn,title:"Delete task?",message:`You are about to permanently delete "${(t==null?void 0:t.title)||"this task"}". This action cannot be undone.`,confirmLabel:"Delete task",onConfirm:()=>{So(!1),c(t.id),d()},onCancel:()=>So(!1)})]}),kr&&(0,E.jsx)("div",{style:{position:"fixed",inset:0,zIndex:201,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",background:"rgba(2,12,27,0.80)"},children:(0,E.jsxs)("div",{style:{background:"var(--p-surface)",border:"1px solid var(--p-border-s)",borderRadius:16,padding:"28px 32px",width:"100%",maxWidth:480,boxShadow:"var(--p-shadow-lg)",position:"relative"},children:[(0,E.jsx)("div",{style:{width:44,height:44,borderRadius:12,background:"rgba(139,92,246,0.12)",border:"1px solid rgba(139,92,246,0.25)",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:16},children:(0,E.jsx)(io,{style:{width:20,height:20,color:"var(--p-purple)"}})}),(0,E.jsx)("h2",{style:{margin:"0 0 8px",fontSize:17,fontWeight:700,color:"var(--p-text)"},children:"Send comment?"}),(0,E.jsx)("p",{style:{margin:"0 0 22px",fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:"You have an unsent comment. Do you want to send it before closing?"}),(0,E.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,E.jsx)("button",{onClick:()=>{We(!1),Os().then(()=>d())},style:{flex:1,padding:"9px 14px",borderRadius:8,background:"var(--p-purple)",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:"Send & Close"}),(0,E.jsx)("button",{type:"button",onClick:()=>{We(!1),la(""),d()},style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Discard & Close"}),(0,E.jsx)("button",{type:"button",onClick:()=>We(!1),style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Keep editing"})]})]})})]})}function Fv({task:e}){let t=[];if(e.component&&t.push((0,E.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 36%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)",fontFamily:"monospace"},children:["\\u2B21 ",e.component]},"component")),e.file||e.selector&&e.selector!=="/"||e.cssSelector){let r=e.file??"";e.line!=null&&(r+=`:${e.line}`),e.col!=null&&(r+=`:${e.col}`);let o=e.cssSelector??(e.selector&&e.selector!=="/"?e.selector:""),n=r||o;if(n){let l=n.length>40?`\\u2026${n.slice(-40)}`:n,s=e.url?e.url.length>30?`\\u2026${e.url.slice(-30)}`:e.url:"";t.push((0,E.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:0,borderRadius:6,overflow:"hidden",border:"1px solid color-mix(in srgb, var(--p-blue) 15%, transparent)",fontSize:10,fontFamily:"monospace",whiteSpace:"nowrap"},children:[(0,E.jsx)("span",{title:[r,o].filter(Boolean).join(" \\xB7 "),style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)"},children:l}),s&&(0,E.jsx)("span",{title:e.url,style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-border) 72%, transparent)",color:"var(--p-text-g)",borderLeft:"1px solid color-mix(in srgb, var(--p-blue) 18%, transparent)"},children:s})]},"source"))}}else if(e.url){let r=e.url.length>40?`\\u2026${e.url.slice(-40)}`:e.url;t.push((0,E.jsx)("span",{className:"dp-source-pill",title:e.url,children:r},"url"))}return e.reportBack&&t.push((0,E.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)"},children:"\\u21A9 report back"},"rb")),(0,E.jsx)("div",{id:"dp-meta-row",style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",flex:1},children:t})}var wr=A(Se(),1);var Z=A($(),1),Bv=[{id:"all",label:"All",dot:""},{id:"todo",label:"Todo",dot:"var(--p-amber)"},{id:"in-progress",label:"In Progress",dot:"var(--p-blue)"},{id:"review",label:"Review",dot:"var(--p-purple)"}],Ov={todo:{background:"color-mix(in srgb, var(--p-amber) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-amber) 38%, transparent)",color:"var(--p-amber-300)"},"in-progress":{background:"color-mix(in srgb, var(--p-blue) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 38%, transparent)",color:"var(--p-blue-200)"},review:{background:"color-mix(in srgb, var(--p-purple) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 38%, transparent)",color:"var(--p-purple-300)"},done:{background:"color-mix(in srgb, var(--p-green) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 32%, transparent)",color:"var(--p-green-300)"},backlog:{background:"color-mix(in srgb, var(--p-text-g) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-text-g) 32%, transparent)",color:"var(--p-text-m)"},all:{background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 32%, transparent)",color:"var(--p-blue-200)"}};function Sd({tasks:e,filter:t,onFilter:a,view:r="board",onViewChange:o,activityCounter:n}){let[l,s]=wr.default.useState(!1),[u,d]=wr.default.useState(!1),[g,m]=wr.default.useState(!1),c=wr.default.useMemo(()=>[...new Set(e.map(v=>v.type).filter(Boolean))].sort(),[e]),y=wr.default.useMemo(()=>[...new Set(e.map(v=>v.author).filter(Boolean))].sort(),[e]),x=wr.default.useMemo(()=>{let v=new Set;for(let S of e)for(let _ of S.tags??[])v.add(_);return[...v].sort()},[e]);function C(v){return e.filter(S=>S.status===v).length}function O(v){a({...t,status:v}),s(!1),d(!1),m(!1)}function f(v){a({...t,type:v}),s(!1)}function i(v){a({...t,user:v}),d(!1)}function p(v){let S=t.tags??[],_=S.includes(v)?S.filter(k=>k!==v):[...S,v];a({...t,tags:_})}function L(v){v.stopPropagation();let S=v.currentTarget.dataset.status;S&&O(S)}let I={display:"flex",alignItems:"center",gap:5,padding:"3px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid transparent",background:"transparent",color:"var(--p-text-f)",transition:"all .12s",fontFamily:"inherit",fontWeight:500},P={...I,background:"var(--p-card)",border:"1px solid var(--p-border)",color:"var(--p-text-f)",padding:"3px 10px",position:"relative"};return(0,Z.jsxs)("div",{"data-proto-id":"filter-bar",style:{display:"flex",alignItems:"center",gap:6,padding:"7px 16px",background:"var(--p-surface)",borderBottom:"1px solid var(--p-border)",flexShrink:0},onClick:()=>{s(!1),d(!1),m(!1)},children:[(0,Z.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2},children:Bv.map(v=>{let S=t.status===v.id,_=v.id!=="all"?C(v.id):null,k=S?Ov[v.id]:{};return(0,Z.jsxs)("button",{"data-status":v.id,style:{...I,...k},onMouseOver:M=>{S||(M.currentTarget.style.background="var(--p-hover)",M.currentTarget.style.color="var(--p-text-m)")},onMouseOut:M=>{S||(M.currentTarget.style.background="transparent",M.currentTarget.style.color="var(--p-text-f)")},onClick:L,children:[v.dot&&(0,Z.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:v.dot,flexShrink:0,display:"inline-block"}}),v.label,_!=null&&(0,Z.jsx)("span",{style:{color:S?"inherit":"var(--p-border-t)",fontSize:10,opacity:.8},children:_})]},v.id)})}),(0,Z.jsx)("div",{style:{flex:1}}),n,t.user&&(0,Z.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",fontSize:10,color:"var(--p-purple-300)"},children:[t.user,(0,Z.jsx)("button",{onClick:()=>i(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-purple-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,Z.jsx)(Ne,{style:{width:10,height:10}})})]}),t.type&&(0,Z.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 24%, transparent)",fontSize:10,color:"var(--p-cyan-300)"},children:[t.type,(0,Z.jsx)("button",{onClick:()=>f(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-cyan-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,Z.jsx)(Ne,{style:{width:10,height:10}})})]}),(t.tags??[]).map(v=>{let{bg:S,text:_,border:k}=Wt(v);return(0,Z.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:S,border:`1px solid ${k}`,fontSize:10,color:_,fontWeight:600},children:[v,(0,Z.jsx)("button",{onClick:()=>p(v),style:{display:"flex",background:"none",border:"none",color:_,cursor:"pointer",padding:0,lineHeight:1},children:(0,Z.jsx)(Ne,{style:{width:10,height:10}})})]},v)}),(0,Z.jsxs)("div",{style:{position:"relative"},children:[(0,Z.jsxs)("button",{style:{...P,color:(t.tags??[]).length?"var(--p-green-300)":"var(--p-text-f)",borderColor:(t.tags??[]).length?"color-mix(in srgb, var(--p-green) 36%, transparent)":"var(--p-border)",opacity:x.length?1:.55},onClick:v=>{v.stopPropagation(),x.length&&(d(!1),s(!1),m(S=>!S))},children:[(0,Z.jsx)(uo,{style:{width:12,height:12}}),"Tags",(t.tags??[]).length>0&&(0,Z.jsx)("span",{style:{fontSize:9,background:"color-mix(in srgb, var(--p-green) 20%, transparent)",color:"var(--p-green-300)",borderRadius:100,padding:"0 4px"},children:(t.tags??[]).length}),(0,Z.jsx)(hr,{style:{width:12,height:12}})]}),g&&x.length>0&&(0,Z.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(t.tags??[]).length>0&&(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>a({...t,tags:[]}),children:"Clear tag filters"}),x.map(v=>{let{bg:S,text:_,border:k}=Wt(v),M=(t.tags??[]).includes(v);return(0,Z.jsxs)("button",{style:{width:"100%",textAlign:"left",padding:"6px 12px",fontSize:11,color:"var(--p-text-m)",background:M?"var(--p-hover)":"none",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:6},onMouseEnter:U=>{U.currentTarget.style.background="var(--p-hover)"},onMouseLeave:U=>{U.currentTarget.style.background=M?"var(--p-hover)":"none"},onClick:()=>p(v),children:[(0,Z.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:_,border:`1px solid ${k}`,flexShrink:0}}),(0,Z.jsx)("span",{style:{flex:1},children:v}),M&&(0,Z.jsx)("span",{style:{color:_,fontSize:12,lineHeight:1},children:"\\u2713"})]},v)})]})]}),(0,Z.jsxs)("div",{style:{position:"relative"},children:[(0,Z.jsxs)("button",{style:{...P,color:t.user?"var(--p-purple-300)":"var(--p-text-f)",borderColor:t.user?"color-mix(in srgb, var(--p-purple) 36%, transparent)":"var(--p-border)",opacity:y.length?1:.55},onClick:v=>{v.stopPropagation(),y.length&&(s(!1),d(S=>!S))},children:[(0,Z.jsx)(Rn,{style:{width:12,height:12}}),"User",(0,Z.jsx)(hr,{style:{width:12,height:12}})]}),u&&y.length>0&&(0,Z.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>i(null),children:"All users"}),y.map(v=>(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.user===v?"var(--p-purple-300)":"var(--p-text-m)",background:t.user===v?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:S=>{t.user!==v&&(S.currentTarget.style.background="var(--p-hover)")},onMouseOut:S=>{t.user!==v&&(S.currentTarget.style.background="none")},onClick:()=>i(v),children:v},v))]})]}),(0,Z.jsxs)("div",{style:{position:"relative"},children:[(0,Z.jsxs)("button",{style:{...P,color:t.type?"var(--p-cyan-300)":"var(--p-text-f)",borderColor:t.type?"color-mix(in srgb, var(--p-blue) 36%, transparent)":"var(--p-border)",opacity:c.length?1:.55},onClick:v=>{v.stopPropagation(),c.length&&s(S=>!S)},children:[(0,Z.jsx)(uo,{style:{width:12,height:12}}),"Type",(0,Z.jsx)(hr,{style:{width:12,height:12}})]}),l&&c.length>0&&(0,Z.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:140,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>f(null),children:"All types"}),c.map(v=>(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.type===v?"var(--p-cyan-300)":"var(--p-text-m)",background:t.type===v?"color-mix(in srgb, var(--p-blue) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:S=>{t.type!==v&&(S.currentTarget.style.background="var(--p-hover)")},onMouseOut:S=>{t.type!==v&&(S.currentTarget.style.background="none")},onClick:()=>f(v),children:v},v))]})]}),(0,Z.jsxs)("div",{style:{display:"flex",alignItems:"center",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,padding:2,gap:0},children:[(0,Z.jsx)("button",{title:"Board view",style:{padding:"4px 7px",borderRadius:5,background:r==="board"?"var(--p-surface)":"none",color:r==="board"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:v=>{v.stopPropagation(),o==null||o("board")},children:(0,Z.jsx)(Cn,{style:{width:13,height:13}})}),(0,Z.jsx)("button",{title:"Compact view",style:{padding:"4px 7px",borderRadius:5,background:r==="compact"?"var(--p-surface)":"none",color:r==="compact"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:v=>{v.stopPropagation(),o==null||o("compact")},children:(0,Z.jsx)(Va,{style:{width:13,height:13}})}),(0,Z.jsx)("button",{title:"List view",style:{padding:"4px 7px",borderRadius:5,background:r==="list"?"var(--p-surface)":"none",color:r==="list"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:v=>{v.stopPropagation(),o==null||o("list")},children:(0,Z.jsx)(wn,{style:{width:13,height:13}})})]})]})}var ya=A(Se(),1);var fe=A($(),1),zv=[{id:"board",label:"Board",icon:(0,fe.jsx)($a,{className:"w-3.5 h-3.5"})},{id:"enforcement",label:"Enforcement",icon:(0,fe.jsx)(Tn,{className:"w-3.5 h-3.5"})}];function Id({open:e,visibleCols:t,settings:a,onClose:r,onSave:o}){let[n,l]=ya.default.useState("board"),[s,u]=ya.default.useState({}),[d,g]=ya.default.useState(a.autoCommit??!1),[m,c]=ya.default.useState(a.autoComment??!1),[y,x]=ya.default.useState(a.autoPush??!1),[C,O]=ya.default.useState(a.createBranch??!1),[f,i]=ya.default.useState(a.requireVerifyBeforeReview??!1);ya.default.useEffect(()=>{if(!e)return;let I={};Ga.forEach(P=>{I[P.id]=t.includes(P.id)}),u(I),g(a.autoCommit??!1),c(a.autoComment??!1),x(a.autoPush??!1),O(a.createBranch??!1),i(a.requireVerifyBeforeReview??!1),l("board")},[e,t,a]);function p(){let I=Ga.filter(P=>s[P.id]).map(P=>P.id);o(I,{autoCommit:d,autoComment:m,autoPush:y,createBranch:C,requireVerifyBeforeReview:f}),r()}function L(I){u(P=>({...P,[I]:!P[I]}))}return(0,fe.jsxs)(va,{open:e,onClose:r,id:"settings-modal",width:"min(460px, 95vw)",icon:(0,fe.jsx)(Lr,{style:{width:14,height:14,color:"var(--p-text-g)"}}),title:"Settings",headerActions:(0,fe.jsx)("button",{id:"settings-close",onClick:r,style:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s"},onMouseOver:I=>{I.currentTarget.style.background="var(--p-surface)",I.currentTarget.style.color="var(--p-text-m)"},onMouseOut:I=>{I.currentTarget.style.background="transparent",I.currentTarget.style.color="var(--p-text-g)"},children:(0,fe.jsx)(Ne,{style:{width:14,height:14}})}),footer:(0,fe.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,fe.jsx)("button",{id:"settings-cancel",onClick:r,className:"dp-status-btn",style:{padding:"5px 14px",fontSize:12},children:"Cancel"}),(0,fe.jsx)("button",{id:"settings-apply",onClick:p,style:{padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:6,border:"1px solid color-mix(in srgb, var(--p-purple) 55%, transparent)",background:"color-mix(in srgb, var(--p-purple) 18%, transparent)",color:"var(--p-purple-300)",cursor:"pointer",transition:"background .12s"},onMouseOver:I=>{I.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 28%, transparent)"},onMouseOut:I=>{I.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 18%, transparent)"},children:"Apply"})]}),children:[(0,fe.jsx)("div",{className:"dp-tabs",children:zv.map(I=>(0,fe.jsxs)("button",{onClick:()=>l(I.id),className:`dp-tab${n===I.id?" active":""}`,style:{display:"flex",alignItems:"center",gap:6},children:[I.icon,I.label]},I.id))}),n==="board"&&(0,fe.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,fe.jsx)("div",{className:"dp-meta-label",children:"Visible Columns"}),Ga.map(I=>(0,fe.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none"},children:[(0,fe.jsx)("input",{id:`settings-col-${I.id}`,type:"checkbox",checked:s[I.id]??!0,onChange:()=>L(I.id),style:{width:14,height:14,accentColor:I.color,cursor:"pointer"}}),(0,fe.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:I.color,flexShrink:0}}),(0,fe.jsx)("span",{style:{fontSize:13,color:"var(--p-text-m)"},children:I.label})]},I.id))]}),n==="enforcement"&&(0,fe.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:16},children:[(0,fe.jsx)(Bn,{id:"settings-verify-before-review",label:"Require verify before review",description:"CLI enforces vibeflow verify before setting status to review (skipped for tasks without URL/selector). The \'verified\' flag persists until the task is moved back to in-progress.",value:f,onChange:i}),(0,fe.jsx)(Bn,{id:"settings-auto-comment",label:"Require comment on review",description:"CLI enforces an implementation report when setting task status to review.",value:m,onChange:c}),(0,fe.jsx)("div",{style:{height:1,background:"var(--p-border)",marginTop:-4,marginBottom:-4}}),(0,fe.jsx)(Bn,{id:"settings-create-branch",label:"Require branch per task",description:"CLI enforces a dedicated branch name when setting task status to review.",value:C,onChange:O}),(0,fe.jsx)(Bn,{id:"settings-auto-commit",label:"Auto-commit on review",description:"CLI automatically commits staged changes when setting task status to review.",value:d,onChange:g}),(0,fe.jsx)(Bn,{id:"settings-auto-push",label:"Auto-push after commit",description:`CLI pushes after auto-commit. Requires \'Auto-commit\' to be ON.${d?"":" (Enable Auto-commit first)"}`,value:y&&d,onChange:I=>x(I&&d)})]})]})}function Bn({id:e,label:t,description:a,value:r,onChange:o}){return(0,fe.jsxs)("div",{children:[(0,fe.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:t}),(0,fe.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:a}),(0,fe.jsxs)("div",{id:e,style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer"},onClick:()=>o(!r),children:[(0,fe.jsxs)("div",{style:{position:"relative",width:36,height:20,flexShrink:0},children:[(0,fe.jsx)("div",{style:{width:36,height:20,borderRadius:10,background:r?"var(--p-purple)":"var(--p-card)",border:`1px solid ${r?"var(--p-purple-300)":"var(--p-border)"}`,transition:"all .15s"}}),(0,fe.jsx)("div",{style:{position:"absolute",top:3,left:r?18:3,width:14,height:14,borderRadius:"50%",background:r?"var(--p-purple-300)":"var(--p-text-muted)",transition:"all .15s"}})]}),(0,fe.jsx)("span",{style:{fontSize:12,color:"var(--p-text-g)"},children:r?"On":"Off"})]})]})}var vo=A(Se(),1);var me=A($(),1);function _m(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function Ts(e){return/\\.md$/i.test(e)}function On(e){return/\\.json$/i.test(e)}function Nv(e){let t=[],a=0;for(;a<e.length;){let r=e.slice(a).match(/^(\\s+)/);if(r){t.push({type:"punct",value:r[1]}),a+=r[1].length;continue}let o=e.slice(a).match(/^([{}[\\]:,])/);if(o){t.push({type:"punct",value:o[1]}),a+=1;continue}let n=e.slice(a).match(/^"([^"\\\\]|\\\\.)*"/);if(n){let d=n[0],g=e[a+d.length]===":",c=d.slice(1,-1).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");t.push({type:g?"key":"string",value:c}),a+=d.length;continue}let l=e.slice(a).match(/^(-?\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)/);if(l){t.push({type:"number",value:l[1]}),a+=l[1].length;continue}let s=e.slice(a).match(/^(true|false)/);if(s){t.push({type:"bool",value:s[1]}),a+=s[1].length;continue}let u=e.slice(a).match(/^(null)/);if(u){t.push({type:"null",value:u[1]}),a+=1;continue}t.push({type:"punct",value:e[a]}),a++}return t}var Hv={key:{color:"#c084fc"},string:{color:"#86efac"},number:{color:"#67e8f9"},bool:{color:"#fb923c"},null:{color:"#f87171"},punct:{color:"inherit"}};function Uv({tokens:e}){return(0,me.jsx)("div",{children:e.map((t,a)=>(0,me.jsx)("span",{style:Hv[t.type],children:t.value},a))})}function Cd({open:e,name:t,url:a,onClose:r}){let[o,n]=vo.default.useState(null),[l,s]=vo.default.useState(null),[u,d]=vo.default.useState(!1),[g,m]=vo.default.useState(!1);return vo.default.useEffect(()=>{!e||!a||(d(!1),Ts(t)?(m(!0),n(null),fetch(a).then(c=>c.text()).then(c=>{n(c),m(!1)}).catch(()=>{n("Error loading file."),m(!1)})):On(t)?(m(!0),s(null),fetch(a).then(c=>c.text()).then(c=>{try{let y=JSON.parse(c),C=JSON.stringify(y,null,2).split(`\n`).map(Nv);s(C)}catch{d(!0)}m(!1)}).catch(()=>{d(!0),m(!1)})):(n(null),s(null)))},[e,t,a]),(0,me.jsx)(va,{open:e,onClose:r,id:"file-preview-modal",width:"min(1100px, 95vw)",maxHeight:"88vh",boxStyle:{display:"flex",flexDirection:"column"},icon:(0,me.jsx)(so,{className:"w-4 h-4 text-slate-400"}),title:t,headerActions:(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)("a",{href:a,download:t,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Download",children:(0,me.jsx)(xr,{className:"w-4 h-4"})}),(0,me.jsx)("button",{id:"file-preview-close",onClick:r,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Close",children:(0,me.jsx)(Ne,{className:"w-4 h-4"})})]}),footer:(0,me.jsxs)(me.Fragment,{children:[(0,me.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-3 py-1.5 rounded-lg transition-colors",children:[(0,me.jsx)(xr,{className:"w-3.5 h-3.5"}),"Download"]}),(0,me.jsx)("button",{id:"file-preview-close-footer",onClick:r,className:"border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-4 py-1.5 rounded-lg transition-colors",children:"Close"})]}),children:(0,me.jsxs)("div",{className:"flex-1 overflow-auto",style:{minHeight:0,padding:"16px 20px"},children:[_m(t)&&(0,me.jsx)("div",{style:{borderRadius:8,overflow:"hidden",border:"1px solid var(--p-border)",background:"var(--p-card)",display:"inline-block",width:"100%"},children:(0,me.jsx)("img",{src:a,alt:t,style:{maxWidth:"100%",display:"block",margin:"0 auto",objectFit:"contain"}})}),Ts(t)&&g&&(0,me.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),Ts(t)&&!g&&o!==null&&(0,me.jsx)("div",{id:"file-preview-md",style:{background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:"10px 14px",fontSize:13,color:"var(--p-text-sub)",lineHeight:1.65},children:(0,me.jsx)(ta,{markdown:o})}),On(t)&&g&&(0,me.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),On(t)&&!g&&u&&(0,me.jsx)("p",{className:"text-xs text-red-400 py-4",children:"Error loading or parsing JSON file."}),On(t)&&!g&&l!==null&&(0,me.jsx)("pre",{id:"file-preview-json",style:{background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:"12px 16px",fontSize:12,lineHeight:1.6,overflow:"auto",maxHeight:"70vh",margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"},children:l.map((c,y)=>(0,me.jsx)(Uv,{tokens:c},y))}),!_m(t)&&!Ts(t)&&!On(t)&&(0,me.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-slate-500",children:[(0,me.jsx)(so,{className:"w-10 h-10 opacity-40"}),(0,me.jsx)("p",{className:"text-sm",children:"Preview not available for this file type."}),(0,me.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 text-violet-400 hover:text-violet-300 hover:underline text-sm transition-colors",children:[(0,me.jsx)(xr,{className:"w-3.5 h-3.5"}),"Download file"]})]})]})})}var Rs=window.location.origin,Vt=`${Rs}/api/tasks`,Dt={async getTasks(){return(await fetch(`${Vt}?_=${Date.now()}`,{cache:"no-store"})).json()},async createTask(e){return(await fetch(Vt,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()},async updateTask(e,t){return(await fetch(`${Vt}/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()},async deleteTask(e){await fetch(`${Vt}/${e}`,{method:"DELETE"})},async getComments(e){return(await fetch(`${Vt}/${e}/comments`)).json()},async addComment(e,t){await fetch(`${Vt}/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"user",text:t,source:"web"})})},async updateComment(e,t,a){await fetch(`${Vt}/${e}/comments/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})})},async deleteComment(e,t){await fetch(`${Vt}/${e}/comments/${t}`,{method:"DELETE"})},async getFiles(e){return(await fetch(`${Vt}/${e}/files`)).json()},async uploadFile(e,t){let a=await t.arrayBuffer();await fetch(`${Vt}/${e}/files/${encodeURIComponent(t.name)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:a})},async deleteFile(e,t){await fetch(`${Vt}/${e}/files/${encodeURIComponent(t)}`,{method:"DELETE"})},async getProject(){return(await fetch(`${Rs}/api/project`)).json()},async getSettings(){return(await fetch(`${Rs}/api/settings`,{cache:"no-store"})).json()},async saveSettings(e){await fetch(`${Rs}/api/settings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})},wsUrl(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`}};var qm=["display","visibility","opacity","position","overflow","overflow-x","overflow-y","width","min-width","max-width","height","min-height","max-height","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-width","border-style","border-color","border-radius","background-color","background-image","color","font-size","font-weight","font-style","font-family","line-height","letter-spacing","text-align","text-decoration","text-overflow","white-space","flex-direction","flex-wrap","flex","justify-content","align-items","gap","row-gap","column-gap","grid-template-columns","grid-template-rows","z-index","box-shadow","transform","transition","cursor","user-select","pointer-events","top","left","right","bottom"];function _v(e){let t=[],a=e;for(;a&&a!==document.documentElement;){let r=1,o=a.previousElementSibling;for(;o;)o.tagName===a.tagName&&r++,o=o.previousElementSibling;let n=a.tagName.toLowerCase();t.unshift(`${n}[${r}]`),a=a.parentElement}return"/"+t.join("/")}function qv(e){let t=e.parentElement;if(!t||t===document.body)return;let a=t.outerHTML;return a.length<=500?a:a.slice(0,500)+"\\u2026"}function Wv(){return navigator.userAgent}function $v(e){let t=e.getBoundingClientRect(),a="auto",r="static",o,n=e;for(;n&&n!==document.documentElement;){let l=window.getComputedStyle(n),s=l.position,u=l.zIndex;if(s!=="static"||u!=="auto"){if(n===e)r=s,a=u;else if(o===void 0){o=u;break}}if(s!=="static")break;n=n.parentElement}return{boundingBox:{x:t.x,y:t.y,width:t.width,height:t.height},scrollPosition:{x:window.scrollX,y:window.scrollY},viewport:{width:window.innerWidth,height:window.innerHeight,dpr:window.devicePixelRatio},stackingContext:{zIndex:a,position:r,parentZIndex:o}}}function Vv(e){let t=window.getComputedStyle(e),a={};for(let r of qm)a[r]=t.getPropertyValue(r);return a}function Wm(e,t,a=[]){return{outerHTML:e.outerHTML,computedStyles:Vv(e),selector:t,xpath:_v(e),position:$v(e),parentSnippet:qv(e),browser:Wv(),consoleErrors:a,capturedAt:new Date().toISOString()}}async function $m(e,t){if(!(!t||t==="/"||t==="body"||t==="html"))try{let a=document.querySelector(t);if(!a){console.warn(`[Vibeflow] Cannot capture baseline: element not found for selector "${t}"`);return}let r=Wm(a,t),o=`/api/tasks/${e}/baseline`;await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseline:r})})}catch(a){console.error("[Vibeflow] Failed to store baseline:",a)}}var Ds=A(Se(),1);var Vm="vibeflow-last-seen-version";function Kv(e,t){let a=d=>d.replace(/[^0-9.]/g,"").split(".").map(Number),[r=0,o=0,n=0]=a(e),[l=0,s=0,u=0]=a(t);return r!==l?r>l:o!==s?o>s:n>u}function Km(e,t){return!t||!e?!1:Kv(t,e)}function Gm(){try{return localStorage.getItem(Vm)}catch{return null}}function Ms(e){try{localStorage.setItem(Vm,e)}catch{}}function jm(e,t){return e.find(r=>r.version===t)??e[0]??null}function wd(e){return e?`## ${e.version}\n\n${e.markdown}`:""}function Xm(e){return e.map(t=>wd(t)).join(`\n\n`)}async function As(){try{let e=await fetch(`${window.location.origin}/api/changelog?_=${Date.now()}`,{cache:"no-store"});if(!e.ok)return[];let t=await e.json();return Array.isArray(t.sections)?t.sections:[]}catch{return[]}}var yo=A($(),1);function Qm({open:e,sections:t,version:a,startMode:r,onClose:o}){let[n,l]=Ds.default.useState(r);Ds.default.useEffect(()=>{e&&l(r)},[e,r]);let s=Ds.default.useMemo(()=>jm(t,a),[t,a]),u=n==="full"?Xm(t):wd(s);return(0,yo.jsx)(va,{open:e,onClose:o,id:"whats-new-modal",width:"min(680px, 95vw)",maxHeight:"80vh",title:n==="full"?"Changelog":"What\'s new in Vibeflow",headerActions:(0,yo.jsx)("button",{id:"whats-new-toggle",onClick:()=>l(d=>d==="full"?"whatsnew":"full"),style:{fontSize:12,color:"#60a5fa",background:"transparent",border:"none",cursor:"pointer",whiteSpace:"nowrap"},children:n==="full"?"What\'s new":"View full changelog"}),footer:(0,yo.jsx)("button",{id:"whats-new-close",onClick:o,style:{padding:"7px 16px",borderRadius:8,background:"#2563eb",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:"pointer"},children:n==="full"?"Close":"Got it"}),children:(0,yo.jsx)("div",{style:{padding:"14px 18px",overflowY:"auto",flex:1,minHeight:0,fontSize:13,color:"var(--p-text-f)"},children:(0,yo.jsx)(ta,{markdown:u})})})}var Y=A($(),1),Gv=window.__PORT__??3700,jv=window.__SAAS_MODE__??!1,Ym=window.__BOARD_URL__??"",Xv=window.__BOARD_NAME__??"",tg=window.__IS_ADMIN__??!1,Jm=window.__CLI_VERSION__??"";function Qv({onClose:e}){let t=window.location.origin,[a,r]=te.default.useState("idle"),[o,n]=te.default.useState(!0),[l,s]=te.default.useState(null),[u,d]=te.default.useState("");async function g(){r("pushing"),d("");try{let c=await fetch(`${t}/api/push`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepLocalFiles:o})}),y=await c.json();if(!c.ok){d(y.error??"Push failed"),r("error");return}s({imported:y.imported??0,skipped:y.skipped}),r("done")}catch(c){d(c instanceof Error?c.message:"Network error"),r("error")}}let m=a==="pushing";return(0,Y.jsx)("div",{style:{position:"fixed",inset:0,zIndex:9999,background:"rgba(5, 8, 18, 0.72)",backdropFilter:"blur(10px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,fontFamily:"Inter, system-ui, -apple-system, sans-serif"},children:(0,Y.jsxs)("div",{style:{background:"#101827",border:"1px solid rgba(255,255,255,0.07)",borderRadius:24,maxWidth:380,width:"100%",boxShadow:"0 0 0 1px rgba(59,130,246,0.07), 0 40px 80px rgba(0,0,0,0.75)",overflow:"hidden",position:"relative"},children:[(0,Y.jsx)("div",{style:{position:"absolute",top:0,left:"20%",right:"20%",height:1,background:"linear-gradient(90deg, transparent, rgba(59,130,246,0.5), transparent)"}}),(0,Y.jsxs)("div",{style:{padding:"36px 36px 20px",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center"},children:[(0,Y.jsx)("div",{style:{position:"relative",width:52,height:52,marginBottom:22},children:(0,Y.jsxs)("svg",{width:"52",height:"52",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Y.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,Y.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"white",opacity:"0.7"}),(0,Y.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"white"}),(0,Y.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"white",opacity:"0.7"}),(0,Y.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"white",opacity:"0.85"})]})}),(0,Y.jsx)("h1",{style:{fontSize:18,fontWeight:700,color:"#f1f5f9",letterSpacing:"-0.3px",margin:"0 0 7px"},children:"Online Mode Active"}),(0,Y.jsxs)("p",{style:{fontSize:12,color:"rgba(255,255,255,0.36)",lineHeight:1.5,margin:0},children:["Connected to"," ",(0,Y.jsx)("strong",{style:{color:"rgba(255,255,255,0.55)",fontWeight:500},children:Xv||"Vibeflow SaaS"})]})]}),a==="done"&&l&&(0,Y.jsxs)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(16,185,129,0.08)",border:"1px solid rgba(16,185,129,0.18)",color:"#34d399"},children:[(0,Y.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",children:(0,Y.jsx)("path",{d:"M13 5L6.5 11.5 3 8",stroke:"#34d399",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})}),l.imported," task",l.imported===1?"":"s"," ","pushed to board",l.skipped!=null&&l.skipped>0?` \\xB7 ${l.skipped} already existed`:""]}),a==="error"&&u&&(0,Y.jsx)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.18)",color:"#f87171"},children:u}),(0,Y.jsxs)("div",{style:{padding:"20px 24px 28px",display:"flex",flexDirection:"column",gap:8},children:[Ym&&(0,Y.jsx)("a",{href:Ym,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:14,background:"#2563eb",border:"none",borderRadius:12,color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer",textDecoration:"none",letterSpacing:"-0.1px",transition:"background 0.15s, transform 0.1s"},onMouseEnter:c=>{c.currentTarget.style.background="#3b82f6",c.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:c=>{c.currentTarget.style.background="#2563eb",c.currentTarget.style.transform="none"},children:"Open Web App \\u2192"}),a!=="done"&&(0,Y.jsx)("button",{onClick:()=>{g()},disabled:m,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:12,background:"transparent",border:"1px solid rgba(255,255,255,0.08)",borderRadius:12,color:m?"rgba(255,255,255,0.25)":"rgba(255,255,255,0.4)",fontSize:13,fontWeight:500,cursor:m?"not-allowed":"pointer",transition:"border-color 0.15s, color 0.15s, background 0.15s"},onMouseEnter:c=>{m||(c.currentTarget.style.borderColor="rgba(255,255,255,0.15)",c.currentTarget.style.color="rgba(255,255,255,0.65)",c.currentTarget.style.background="rgba(255,255,255,0.03)")},onMouseLeave:c=>{m||(c.currentTarget.style.borderColor="rgba(255,255,255,0.08)",c.currentTarget.style.color="rgba(255,255,255,0.4)",c.currentTarget.style.background="transparent")},children:m?"\\u23F3 Pushing\\u2026":"\\u2191 Push local tasks"})]}),(0,Y.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 24px 20px"},children:[(0,Y.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:7,cursor:"pointer"},children:[(0,Y.jsx)("input",{type:"checkbox",checked:o,onChange:c=>n(c.target.checked),style:{accentColor:"#2563eb",width:13,height:13,cursor:"pointer"}}),(0,Y.jsx)("span",{style:{fontSize:11.5,color:"rgba(255,255,255,0.28)"},children:"Keep local files"})]}),tg&&e&&(0,Y.jsx)("button",{onClick:e,style:{fontSize:11,color:"rgba(255,255,255,0.2)",background:"none",border:"none",cursor:"pointer",textDecoration:"underline",textUnderlineOffset:2,transition:"color 0.15s"},onMouseEnter:c=>{c.currentTarget.style.color="rgba(255,255,255,0.45)"},onMouseLeave:c=>{c.currentTarget.style.color="rgba(255,255,255,0.2)"},children:"Dismiss (admin)"})]})]})})}var Zm={backlog:"Backlog",todo:"Todo","in-progress":"In Progress",review:"Review",done:"Done"};function Yv(e,t,a){let r=a?e.filter(s=>{var u,d;return((u=s.title)==null?void 0:u.toLowerCase().includes(a))||((d=s.description)==null?void 0:d.toLowerCase().includes(a))}):e;if(a)return`${r.length} of ${e.length} tasks`;let o=r.filter(s=>s.status!=="done").length,n=r.filter(s=>s.status==="in-progress").length,l=r.filter(s=>s.status==="review").length;return`${o} open \\xB7 ${n} in-progress \\xB7 ${l} in review`}function ag(){var Co,Pr;let[e,t]=te.default.useState([]),[a,r]=te.default.useState(!0),[o,n]=te.default.useState(!1),[l,s]=te.default.useState({open:!1,task:null,tab:"details"}),[u,d]=te.default.useState("board"),[g,m]=te.default.useState(!1),[c,y]=te.default.useState({open:!1,startMode:"whatsnew",sections:[],version:""}),[x,C]=te.default.useState({open:!1,name:"",url:""}),[O,f]=te.default.useState(420),[i,p]=te.default.useState(!1),[L,I]=te.default.useState(""),[P,v]=te.default.useState(Ga.map(h=>h.id)),[S,_]=te.default.useState({status:"all",component:null,type:null,user:null,tags:[]}),[k,M]=te.default.useState("Proto Board"),[U,z]=te.default.useState(!1),[V,ae]=te.default.useState(!1),[T,K]=te.default.useState("You"),[re,J]=te.default.useState(null),[j,se]=te.default.useState({}),qe=te.default.useRef(null),at=te.default.useRef(null),Kt=te.default.useRef(0),rt=te.default.useRef(null),Gt=te.default.useRef(null),[Et,oa]=te.default.useState([]),Lo=te.default.useRef(!1),ot=te.default.useRef([]),[zn,So]=te.default.useState([]);te.default.useEffect(()=>(We(),Io(),Hn(),Nn(),Ya(),Un(),()=>{var h;at.current&&clearTimeout(at.current),(h=qe.current)==null||h.close()}),[]),te.default.useEffect(()=>{if(U){rt.current&&(clearInterval(rt.current),rt.current=null);return}return rt.current=setInterval(()=>{We()},5e3),()=>{rt.current&&(clearInterval(rt.current),rt.current=null)}},[U]),te.default.useEffect(()=>{document.body.setAttribute("data-theme","dark")},[]),te.default.useEffect(()=>{function h(){let D=window.location.hash.match(/^#task-([a-f0-9]{30})$/i);if(!D){Gt.current=null;return}let q=D[1].toLowerCase();if(Gt.current===q)return;let ce=e.find(ue=>ue.id.toLowerCase()===q);ce&&(Gt.current=q,Lo.current?s(ue=>({...ue,open:!0,task:ce,tab:"details"})):s(ue=>(ue.task&&ue.task.id!==ce.id&&oa(ie=>[...ie,ue.task]),{...ue,open:!0,task:ce,tab:"details"})),Lo.current=!1)}h();let b=()=>{Gt.current=null,h()};return window.addEventListener("hashchange",b),()=>{window.removeEventListener("hashchange",b)}},[e]),te.default.useEffect(()=>{if(!l.open||!l.task)return;let h=e.find(q=>q.id===l.task.id);if(!h)return;let b=l.task;Object.keys(h).some(q=>h[q]!==b[q])&&s(q=>({...q,task:h}))},[e,l.open,(Co=l.task)==null?void 0:Co.id]),te.default.useEffect(()=>{function h(b){var ce,ue,ie;let D=(ce=b.target)==null?void 0:ce.tagName,q=D==="INPUT"||D==="TEXTAREA"||((ue=b.target)==null?void 0:ue.isContentEditable);if(b.key==="Escape"){if(x.open){C(de=>({...de,open:!1}));return}if(l.open){s(de=>({...de,open:!1}));return}if(g){m(!1);return}}if(!q&&((b.key==="?"||b.key==="/"&&b.shiftKey)&&((ie=document.getElementById("header-shortcuts-hint"))==null||ie.click()),b.altKey&&!b.ctrlKey&&!b.metaKey&&(b.key==="n"||b.key==="N")&&(b.preventDefault(),la(null,"details")),b.altKey&&!b.ctrlKey&&!b.metaKey&&(b.key==="f"||b.key==="F"))){b.preventDefault();let de=document.getElementById("global-search");de==null||de.focus(),de==null||de.select()}}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[x.open,l.open,g]);function kr(h,b,D,q,ce){let ue=new Date().toISOString(),ie=Zm[b]??b,de=Zm[D]??D,Xe=Date.now()-3e3;So(Ae=>Ae.some(F=>F.taskId===h&&F.to===de&&new Date(F.timestamp).getTime()>Xe)?Ae:[...Ae,{taskId:h,field:"status",from:ie,to:de,actor:q,timestamp:ue,source:ce}].slice(-500))}async function We(){try{let h=await Dt.getTasks();ot.current=h.tasks??[],t(h.tasks??[])}catch{}finally{r(!1)}}let ct=te.default.useCallback((h,b,D)=>{let q=String(h.id??"");if(!q)return;let ce=h.created??h.createdAt,ue=h.updated?String(h.updated):void 0,ie=Array.isArray(h.comments)?h.comments.filter(Re=>!Re.deleted).length:void 0,de=typeof h.fileCount=="number"?h.fileCount:Array.isArray(h.files)?h.files.length:void 0,Xe=h.status?String(h.status):void 0,Ae=ot.current.find(Re=>Re.id===q);Xe&&Ae&&Ae.status!==Xe&&kr(q,Ae.status,Xe,b??"Someone",D),t(Re=>{let F=Re.find(mt=>mt.id===q),pt={id:q,title:h.title?String(h.title):(F==null?void 0:F.title)??"Untitled",description:h.description==null?(F==null?void 0:F.description)??"":String(h.description),status:Xe??(F==null?void 0:F.status)??"todo",type:h.type?String(h.type):F==null?void 0:F.type,priority:h.priority?String(h.priority):F==null?void 0:F.priority,selector:h.selector?String(h.selector):F==null?void 0:F.selector,cssSelector:h.cssSelector?String(h.cssSelector):F==null?void 0:F.cssSelector,file:h.file?String(h.file):F==null?void 0:F.file,line:typeof h.line=="number"?h.line:F==null?void 0:F.line,col:typeof h.col=="number"?h.col:F==null?void 0:F.col,component:h.component?String(h.component):F==null?void 0:F.component,url:h.url?String(h.url):F==null?void 0:F.url,reportBack:h.reportBack===!0||(F==null?void 0:F.reportBack)===!0,commit:h.commit?String(h.commit):F==null?void 0:F.commit,commits:Array.isArray(h.commits)?h.commits:F==null?void 0:F.commits,commentCount:ie??(F==null?void 0:F.commentCount),fileCount:de??(F==null?void 0:F.fileCount),createdAt:ce?String(ce):(F==null?void 0:F.createdAt)??new Date().toISOString(),updatedAt:ue??(F==null?void 0:F.updatedAt),author:h.author?String(h.author):F==null?void 0:F.author,tags:Array.isArray(h.tags)?h.tags:F==null?void 0:F.tags,sortKey:h.sortKey?String(h.sortKey):F==null?void 0:F.sortKey},nt=Re.filter(mt=>mt.id!==q);return nt.push(pt),nt.sort((mt,St)=>{let wo=new Date(mt.updatedAt??mt.createdAt??"").getTime(),Za=new Date(St.updatedAt??St.createdAt??"").getTime();return wo===Za?mt.id.localeCompare(St.id):Za-wo}),ot.current=nt,nt})},[]);async function Io(){try{let h=await Dt.getProject();h.name&&M(h.name),h.gitUserName&&K(h.gitUserName)}catch{}}async function Nn(){try{let h=await fetch("/api/github-url").then(b=>b.json());J(h.githubUrl??null)}catch{}}async function Ya(){var ce;let h=Gm(),b=Jm,D=null;if(b||(D=await As(),b=((ce=D[0])==null?void 0:ce.version)??""),!b)return;if(!h){Ms(b);return}if(!Km(h,b))return;let q=D??await As();if(q.length===0){Ms(b);return}y({open:!0,startMode:"whatsnew",sections:q,version:b})}async function na(){var D;let h=c.sections.length?c.sections:await As(),b=Jm||((D=h[0])==null?void 0:D.version)||c.version;y({open:!0,startMode:"full",sections:h,version:b})}function Es(){c.version&&Ms(c.version),y(h=>({...h,open:!1}))}async function Hn(){var h;try{let D=await Dt.getSettings();se(D),(h=D.visibleCols)!=null&&h.length&&v(D.visibleCols),D.viewMode&&d(D.viewMode==="condensed"?"compact":D.viewMode),D.panelWidth&&D.panelWidth>=280&&D.panelWidth<=900&&f(D.panelWidth)}catch{}}function Un(){let b=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,D=new WebSocket(b);qe.current=D,D.addEventListener("open",()=>{z(!0),ae(!0),Kt.current=0,We()}),D.addEventListener("close",()=>{z(!1),at.current&&clearTimeout(at.current),at.current=setTimeout(Un,2e3)}),D.addEventListener("error",()=>{}),D.addEventListener("message",ce=>{var ue;try{let ie=JSON.parse(ce.data);if(ie.type==="tasks-updated"||(ue=ie.type)!=null&&ue.startsWith("task:")){We();return}if(ie.type==="task-changed"&&ie.task){let de=ie.task,Xe=typeof de.alteredBy=="string"?de.alteredBy:typeof de.author=="string"?de.author:"Someone",Ae=ie.source==="cli"?"cli":void 0;ct(de,Xe,Ae);return}if(ie.type==="task-deleted"&&ie.taskId){let de=String(ie.taskId);t(Xe=>{let Ae=Xe.filter(Re=>Re.id!==de);return ot.current=Ae,Ae})}}catch{}});let q=setInterval(()=>{D.readyState===WebSocket.OPEN&&D.send(JSON.stringify({type:"ping"}))},2e4);D.addEventListener("close",()=>clearInterval(q)),D.addEventListener("error",()=>{})}async function Ja(h,b){let D=ot.current.find(q=>q.id===h);t(q=>{let ce=q.map(ue=>ue.id===h?{...ue,...b}:ue);return ot.current=ce,ce}),b.status&&(D!=null&&D.status)&&b.status!==D.status&&kr(h,D.status,b.status,T);try{let q=await Dt.updateTask(h,b);q.task&&t(ce=>{let ue=ce.map(ie=>ie.id===h?q.task:ie);return ot.current=ue,ue})}catch{We()}}async function Fs(h,b,D,q,ce){let ue=ot.current.filter(Ae=>Ae.status===b).sort(vn),ie=nd(ue,h,D,q),de=ce??ie.newSortKey,Xe=ie.normalizationPatches;t(Ae=>{let Re=new Map;for(let{id:pt,sortKey:nt}of Xe)Re.set(pt,{sortKey:nt});Re.set(h,{status:b,sortKey:de});let F=Ae.map(pt=>Re.has(pt.id)?{...pt,...Re.get(pt.id)}:pt);return ot.current=F,F}),await Dt.updateTask(h,{status:b,sortKey:de}).catch(()=>{We()})}async function _n(h){t(b=>{let D=b.filter(q=>q.id!==h);return ot.current=D,D});try{await Dt.deleteTask(h)}catch{We()}}async function La(h){var b,D;try{let q=await Dt.createTask(h);return await We(),(b=q==null?void 0:q.task)!=null&&b.id&&h.selector&&$m(q.task.id,h.selector),(D=q==null?void 0:q.task)==null?void 0:D.id}catch{}}function la(h,b="details",D){oa([]),s({open:!0,task:h,tab:b,addColumnId:D})}function Bs(){oa(h=>{if(h.length===0)return h;let b=h[h.length-1],D=h.slice(0,-1);return Lo.current=!0,Gt.current=null,window.location.hash=`#task-${b.id}`,s(q=>({...q,open:!0,task:b,tab:"details"})),D})}function qn(h,b){if(b.startsWith("/")&&!b.startsWith("//")||b.startsWith(window.location.origin+"/")){if(/\\.html?$/i.test(h)){window.open(b,"_blank","noopener,noreferrer");return}C({open:!0,name:h,url:b})}}let br=Yv(e,P,L.toLowerCase()),Wn=window.location.origin,$n=te.default.useMemo(()=>{let h=new Set;return e.forEach(b=>(b.tags??[]).forEach(D=>h.add(D))),Array.from(h).sort()},[e]),Vn=te.default.useMemo(()=>{var b;let h=(b=l.task)==null?void 0:b.id;return h?zn.filter(D=>D.taskId===h).map(({field:D,from:q,to:ce,actor:ue,timestamp:ie,source:de})=>({field:D,from:q,to:ce,actor:ue,timestamp:ie,source:de})):[]},[(Pr=l.task)==null?void 0:Pr.id,zn]),Kn=te.default.useMemo(()=>{let h=e;return S.status!=="all"&&(h=h.filter(b=>b.status===S.status)),S.component&&(h=h.filter(b=>b.component===S.component)),S.type&&(h=h.filter(b=>b.type===S.type)),S.user&&(h=h.filter(b=>b.author===S.user)),S.tags&&S.tags.length>0&&(h=h.filter(b=>S.tags.every(D=>(b.tags??[]).includes(D)))),h},[e,S]),Gn=V&&!U;return(0,Y.jsxs)(Y.Fragment,{children:[jv&&!o&&(0,Y.jsx)(Qv,{onClose:tg?()=>n(!0):void 0}),(0,Y.jsx)(fd,{projectName:k,missingProjectIconStyle:"vibeflow",wsConnected:U,port:Gv,searchQuery:L,filterTags:S.tags,allTags:$n,onToggleTag:h=>{let b=S.tags??[],D=b.includes(h)?b.filter(q=>q!==h):[...b,h];_(q=>({...q,tags:D}))},isLoading:a,taskSummary:br,onSearchChange:I,onSettings:()=>m(!0),extraActions:(0,Y.jsx)(po,{id:"changelog-btn",title:"View changelog",onClick:()=>{na()},label:"Changelog"})}),(0,Y.jsx)(Sd,{tasks:e,filter:S,view:u,onFilter:_,onViewChange:h=>{d(h),Dt.saveSettings({...j,viewMode:h}),se(b=>({...b,viewMode:h}))}}),(0,Y.jsxs)("div",{className:"flex flex-1 overflow-hidden",style:{minHeight:0,position:"relative"},children:[u==="list"?(0,Y.jsx)(dd,{tasks:Kn,searchQuery:L,isLoading:a,onOpenPanel:(h,b)=>la(h,b),onAddTask:h=>la(null,"details",h),onDrop:(h,b)=>Ja(h,{status:b})}):(0,Y.jsx)(ud,{tasks:Kn,visibleCols:P,searchQuery:L,isLoading:a,compact:u==="compact",onOpenPanel:(h,b,D)=>la(h,b,D),onDrop:(h,b)=>Ja(h,{status:b}),onReorder:Fs}),l.open&&(0,Y.jsxs)("div",{id:"detail-panel-container",style:{width:O,zIndex:i?30:10},className:i?"resizing":"",children:[(0,Y.jsx)("div",{id:"detail-panel-resize-handle",onMouseDown:h=>{h.preventDefault(),p(!0),document.body.classList.add("vibeflow-resizing-panel");let b=h.clientX,D=O,q=ue=>{let ie=D-(ue.clientX-b);f(Math.max(360,Math.min(860,ie)))},ce=ue=>{p(!1),document.body.classList.remove("vibeflow-resizing-panel");let ie=Math.max(360,Math.min(860,D-(ue.clientX-b)));Dt.saveSettings({...j,panelWidth:ie}),se(de=>({...de,panelWidth:ie})),window.removeEventListener("mousemove",q),window.removeEventListener("mouseup",ce)};window.addEventListener("mousemove",q),window.addEventListener("mouseup",ce)}}),(0,Y.jsx)(Ld,{open:l.open,task:l.task,tab:l.tab,showLockIndicator:!1,addColumnId:l.addColumnId,gitUserName:T,githubUrl:re,baseUrl:Wn,isResizing:i,api:Dt,onClose:()=>{oa([]),s(h=>({...h,open:!1}))},onSave:async h=>{l.task&&await Ja(l.task.id,h),s(b=>({...b,open:!1}))},onCreate:async h=>{let b=await La(h);return s(D=>({...D,open:!1})),b},onDelete:async h=>{await _n(h),s(b=>({...b,open:!1}))},onPatch:Ja,onFilePreview:qn,onGoBack:Et.length>0?Bs:void 0,navBackLabel:Et.length>0?Et[Et.length-1].title:void 0,externalLocalChanges:Vn,allTasks:e,createBranch:j.createBranch})]})]}),Gn&&(0,eg.createPortal)((0,Y.jsx)("div",{id:"ws-lost-overlay",style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:99999,background:"rgba(2, 6, 23, 0.88)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,pointerEvents:"all",cursor:"not-allowed"},children:(0,Y.jsxs)("div",{style:{width:"min(420px, 92vw)",borderRadius:14,border:"1px solid var(--p-border-s)",background:"var(--p-card)",boxShadow:"0 16px 40px rgba(2,6,23,0.7)",padding:"20px 22px",display:"flex",flexDirection:"column",gap:10,cursor:"default",pointerEvents:"auto"},children:[(0,Y.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,Y.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"var(--p-text-m)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{animation:"spin 1.1s linear infinite",flexShrink:0},children:(0,Y.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),(0,Y.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--p-text)"},children:"Connection Lost"})]}),(0,Y.jsx)("div",{style:{fontSize:12,color:"var(--p-text-m)",lineHeight:1.6},children:"Real-time connection to the server was interrupted. Reconnecting in the background\\u2026"})]})}),document.body),(0,Y.jsx)(Id,{open:g,visibleCols:P,settings:j,onClose:()=>m(!1),onSave:(h,b)=>{v(h);let D={...j,...b,visibleCols:h};se(D),Dt.saveSettings(D)}}),(0,Y.jsx)(Cd,{open:x.open,name:x.name,url:x.url,onClose:()=>C(h=>({...h,open:!1}))}),(0,Y.jsx)(Qm,{open:c.open,sections:c.sections,version:c.version,startMode:c.startMode,onClose:Es})]})}var ng=A($(),1),rg=document.getElementById("root");rg&&(0,og.createRoot)(rg).render((0,ng.jsx)(ag,{}));})();\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.min.js:\n (**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/chevron-down.js:\nlucide-react/dist/esm/icons/chevron-right.js:\nlucide-react/dist/esm/icons/circle-check-big.js:\nlucide-react/dist/esm/icons/download.js:\nlucide-react/dist/esm/icons/eye.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/flag.js:\nlucide-react/dist/esm/icons/layout-dashboard.js:\nlucide-react/dist/esm/icons/list.js:\nlucide-react/dist/esm/icons/lock.js:\nlucide-react/dist/esm/icons/message-circle.js:\nlucide-react/dist/esm/icons/panels-top-left.js:\nlucide-react/dist/esm/icons/paperclip.js:\nlucide-react/dist/esm/icons/plus.js:\nlucide-react/dist/esm/icons/rows-3.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/settings.js:\nlucide-react/dist/esm/icons/shield-check.js:\nlucide-react/dist/esm/icons/tag.js:\nlucide-react/dist/esm/icons/triangle-alert.js:\nlucide-react/dist/esm/icons/upload.js:\nlucide-react/dist/esm/icons/user.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n';var Jr=Xr(import.meta.url),Zr=Qr(Jr),ea=[ct(Zr,"kanban-template.html"),ct(process.cwd(),"src","server","kanban-template.html"),ct(process.cwd(),"dist","server","kanban-template.html")];function ta(t){let e=ea.find(n=>Yr(n));if(!e)throw new Error("kanban-template.html not found in expected locations");return Gr(e,"utf8").replaceAll("__PORT__",String(t))}function na(t){return t.saasMode?`window.__SAAS_MODE__ = true; window.__BOARD_URL__ = ${JSON.stringify(t.boardUrl??"")}; window.__BOARD_NAME__ = ${JSON.stringify(t.boardName??"")}; window.__IS_ADMIN__ = ${t.isAdmin?"true":"false"};`:""}var ra="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iNCIgZmlsbD0iIzI1NjNlYiIvPjxyZWN0IHg9IjIuNSIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iOCIgcng9IjEiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjciLz48cmVjdCB4PSI2LjUiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0IiByeD0iMSIgZmlsbD0id2hpdGUiLz48cmVjdCB4PSIxMC41IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSI2IiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuNyIvPjxyZWN0IHg9IjE0LjUiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjEwIiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuODUiLz48L3N2Zz4=";function aa(t){return`<!DOCTYPE html>
|
|
1700
|
+
`+it}import{existsSync as Yr,readFileSync as Qr}from"fs";import{dirname as Gr,join as ct}from"path";import{fileURLToPath as Xr}from"url";var vn=`*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
1701
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-0\\.5{margin-bottom:.125rem}.ml-1\\.5{margin-left:.375rem}.mr-0\\.5{margin-right:.125rem}.mt-0\\.5{margin-top:.125rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.min-h-\\[30px\\]{min-height:30px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-full{width:100%}.min-w-\\[100px\\]{min-width:100px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-text{cursor:text}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/60{border-color:rgba(51,65,85,.6)}.border-slate-800\\/60{border-color:rgba(30,41,59,.6)}.border-violet-700\\/50{border-color:rgba(109,40,217,.5)}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-900\\/30{background-color:rgba(76,29,149,.3)}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\\[10px\\]{font-size:10px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--p-bg:#020c1b;--p-surface:#080f1e;--p-card:#0a0f1e;--p-input:#050d1a;--p-hover:#0d1f38;--p-border:#1e293b;--p-border-s:#1e3a5f;--p-border-t:#334155;--p-text:#e2e8f0;--p-text-sub:#cbd5e1;--p-text-m:#94a3b8;--p-text-f:#64748b;--p-text-g:#475569;--p-white:#fff;--p-blue:#2563eb;--p-blue-700:#1d4ed8;--p-blue-300:#60a5fa;--p-blue-200:#93c5fd;--p-purple:#a78bfa;--p-purple-300:#c4b5fd;--p-cyan-300:#7dd3fc;--p-amber:#f59e0b;--p-amber-300:#fcd34d;--p-green:#22c55e;--p-green-300:#6ee7b7;--p-red:#f87171;--p-red-500:#ef4444;--p-bg-2:#0f172a;--p-bg-3:#1e293b;--p-shadow-lg:0 8px 24px rgba(2,6,23,.28);--p-overlay:rgba(15,23,42,.2)}body,html{height:100%;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--p-bg);color:var(--p-text)}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--p-border-t) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--p-border-t);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--p-text-g)}#kanban-board{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden}#kanban-board::-webkit-scrollbar{display:none}#kanban-scroll-track{position:fixed;bottom:0;left:0;right:0;height:6px;background:transparent;z-index:40;pointer-events:none}#kanban-scroll-thumb{position:absolute;top:1px;height:4px;border-radius:2px;background:var(--p-border-t);cursor:pointer;pointer-events:auto;transition:background .15s}#kanban-scroll-thumb.dragging,#kanban-scroll-thumb:hover{background:var(--p-text-g)}.board-column{flex:0 0 280px;width:280px;display:flex;flex-direction:column;gap:6px;min-height:0}.column-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--p-surface);border:1px solid var(--p-border)}.column-scroll{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:5px;padding-bottom:8px}.column-scroll[data-status=done]{overflow-y:hidden}.task-card{background:var(--p-card);border:1px solid var(--p-border);border-radius:10px;padding:11px 13px;cursor:grab;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s;display:flex;flex-direction:column;gap:7px}.task-card:hover{border-color:var(--p-border-s);background:var(--p-hover);box-shadow:0 4px 16px rgba(0,0,0,.3);transform:translateY(-1px)}.task-card:active{cursor:grabbing;transform:scale(.98)}.task-card.dragging{opacity:.4}.drag-over{outline:2px dashed rgba(59,130,246,.5);outline-offset:-3px;border-radius:10px;background:rgba(59,130,246,.04)}.file-compact-actions{opacity:0}.group\\/file-compact:hover .file-compact-actions{opacity:1}.file-normal-actions,.group\\/file-compact:hover .file-compact-ts{opacity:0}.group\\/file:hover .file-normal-actions{opacity:1}.group\\/file:hover{background:rgba(30,41,59,.6)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sd-backlog{background:#475569}.sd-todo{background:#f59e0b}.sd-inprogress{background:#3b82f6;animation:pulse-prog 2s ease-in-out infinite}.sd-review{background:#a855f7}.sd-done{background:#22c55e}@keyframes pulse-prog{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.5)}50%{box-shadow:0 0 0 4px rgba(59,130,246,0)}}.type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:500;border:1px solid}.type-bug{color:#fca5a5;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25)}.type-feature{color:#86efac;background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}.type-enhancement{color:#93c5fd;background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2)}.type-task{color:#cbd5e1;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2)}.type-research{color:#c4b5fd;background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2)}.source-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:JetBrains Mono,monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;cursor:pointer;text-decoration:none;transition:background .1s,border-color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:11px;height:11px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:spin .7s linear infinite}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--p-card);border:1px solid var(--p-border);border-radius:14px;width:520px;max-width:95vw;overflow:hidden;display:flex;flex-direction:column}.type-picker{display:flex;align-items:center;gap:6px}.type-picker-trigger{display:flex;align-items:center;gap:4px;width:auto;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);font-size:13px;cursor:pointer;white-space:nowrap}.type-picker-label{font-size:11px;font-weight:500;color:var(--p-text-m);letter-spacing:.02em}.type-picker-trigger:hover{border-color:var(--p-text-g);color:var(--p-text)}.type-picker-options{display:none;align-items:center;gap:4px}.type-picker-options.open{display:flex}.type-picker-option{width:28px;height:28px;border-radius:7px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px}.type-picker-option:hover{border-color:#60a5fa;color:#bfdbfe}#detail-panel-container{min-width:360px;max-width:min(860px,100%);position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid #1e293b;animation:panel-slide-in .18s ease-out}#detail-panel-container.resizing{box-shadow:-12px 0 32px rgba(2,8,23,.6)}#detail-panel-resize-handle{position:absolute;left:0;top:0;width:12px;height:100%;cursor:ew-resize;z-index:5}#detail-panel-resize-handle:hover{background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(59,130,246,0))}body.proto-resizing-panel{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}#detail-panel{flex:1;background:var(--p-card);display:flex;flex-direction:column;overflow:hidden}@keyframes panel-slide-in{0%{width:0;opacity:0}to{width:420px;opacity:1}}.dp-header{padding:14px 16px 10px}.dp-header,.dp-tabs{border-bottom:1px solid var(--p-border);background:var(--p-surface);flex-shrink:0}.dp-tabs{display:flex;gap:0}.dp-tab{padding:8px 14px;font-size:12px;font-weight:500;color:var(--p-text-g);cursor:pointer;transition:color .12s,border-color .12s;background:none;border:none;border-bottom:2px solid transparent}.dp-tab:hover{color:var(--p-text-m)}.dp-tab.active{color:#93c5fd;border-bottom-color:#3b82f6}.dp-body{overflow:hidden}.dp-body,.dp-body>.dp-pane{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}.dp-body>.dp-pane{padding:14px 16px}#dp-details-pane,.dp-body>.dp-pane{overflow-y:auto;background:var(--p-card)}.dp-footer{padding:10px 16px 12px;border-top:1px solid var(--p-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--p-card)}.dp-source-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;white-space:nowrap}.dp-source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}.dp-status-btn{padding:3px 10px;border-radius:6px;font-size:10px;font-weight:500;border:1px solid var(--p-border-t);color:var(--p-text-f);background:transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.dp-status-btn:hover{border-color:var(--p-text-g);color:var(--p-text-m)}.dp-status-btn.active-backlog{border-color:#475569;background:rgba(100,116,139,.1);color:#94a3b8}.dp-status-btn.active-todo{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.1);color:#f59e0b}.dp-status-btn.active-in-progress{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.1);color:#60a5fa}.dp-status-btn.active-review{border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.1);color:#a855f7}.dp-status-btn.active-done{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08);color:#22c55e}.dp-input{width:100%;padding:7px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:13px;font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;box-sizing:border-box}.dp-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-input::-moz-placeholder{color:var(--p-border-t)}.dp-input::placeholder{color:var(--p-border-t)}.dp-textarea{width:100%;padding:8px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:12px;font-family:monospace;line-height:1.6;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.dp-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-textarea::-moz-placeholder{color:var(--p-border-t)}.dp-textarea::placeholder{color:var(--p-border-t)}.dp-meta-label{font-size:10px;font-weight:600;color:var(--p-text-g);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 4px rgba(74,222,128,0)}}@keyframes agent-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes away-glow{0%,to{box-shadow:0 0 0 0 rgba(37,99,235,.45),0 0 24px rgba(37,99,235,.1);border-color:rgba(37,99,235,.35)}50%{box-shadow:0 0 0 14px rgba(37,99,235,0),0 0 48px rgba(37,99,235,.2);border-color:rgba(96,165,250,.6)}}@keyframes away-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.focus-within\\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\\:bg-red-900\\/40:hover{background-color:rgba(127,29,29,.4)}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/50:hover{background-color:rgba(51,65,85,.5)}.hover\\:bg-slate-700\\/60:hover{background-color:rgba(51,65,85,.6)}.hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\\:bg-violet-800\\/30:hover{background-color:rgba(91,33,182,.3)}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\\:underline:hover{text-decoration-line:underline}.group\\/comment:hover .group-hover\\/comment\\:opacity-100{opacity:1}`;var st='"use strict";(()=>{var Sg=Object.create;var Md=Object.defineProperty;var Ig=Object.getOwnPropertyDescriptor;var Cg=Object.getOwnPropertyNames;var wg=Object.getPrototypeOf,kg=Object.prototype.hasOwnProperty;var ia=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var bg=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Cg(t))!kg.call(e,o)&&o!==a&&Md(e,o,{get:()=>t[o],enumerable:!(r=Ig(t,o))||r.enumerable});return e};var A=(e,t,a)=>(a=e!=null?Sg(wg(e)):{},bg(t||!e||!e.__esModule?Md(a,"default",{value:e,enumerable:!0}):a,e));var qd=ia(ne=>{"use strict";var ko=Symbol.for("react.element"),Pg=Symbol.for("react.portal"),Tg=Symbol.for("react.fragment"),Rg=Symbol.for("react.strict_mode"),Mg=Symbol.for("react.profiler"),Ag=Symbol.for("react.provider"),Dg=Symbol.for("react.context"),Eg=Symbol.for("react.forward_ref"),Fg=Symbol.for("react.suspense"),Bg=Symbol.for("react.memo"),Og=Symbol.for("react.lazy"),Ad=Symbol.iterator;function zg(e){return e===null||typeof e!="object"?null:(e=Ad&&e[Ad]||e["@@iterator"],typeof e=="function"?e:null)}var Fd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bd=Object.assign,Od={};function Rr(e,t,a){this.props=e,this.context=t,this.refs=Od,this.updater=a||Fd}Rr.prototype.isReactComponent={};Rr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Rr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function zd(){}zd.prototype=Rr.prototype;function Us(e,t,a){this.props=e,this.context=t,this.refs=Od,this.updater=a||Fd}var _s=Us.prototype=new zd;_s.constructor=Us;Bd(_s,Rr.prototype);_s.isPureReactComponent=!0;var Dd=Array.isArray,Nd=Object.prototype.hasOwnProperty,qs={current:null},Hd={key:!0,ref:!0,__self:!0,__source:!0};function Ud(e,t,a){var r,o={},n=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(n=""+t.key),t)Nd.call(t,r)&&!Hd.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=a;else if(1<s){for(var i=Array(s),d=0;d<s;d++)i[d]=arguments[d+2];o.children=i}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)o[r]===void 0&&(o[r]=s[r]);return{$$typeof:ko,type:e,key:n,ref:l,props:o,_owner:qs.current}}function Ng(e,t){return{$$typeof:ko,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Ws(e){return typeof e=="object"&&e!==null&&e.$$typeof===ko}function Hg(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var Ed=/\\/+/g;function Hs(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Hg(""+e.key):t.toString(36)}function Qn(e,t,a,r,o){var n=typeof e;(n==="undefined"||n==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(n){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case ko:case Pg:l=!0}}if(l)return l=e,o=o(l),e=r===""?"."+Hs(l,0):r,Dd(o)?(a="",e!=null&&(a=e.replace(Ed,"$&/")+"/"),Qn(o,t,a,"",function(d){return d})):o!=null&&(Ws(o)&&(o=Ng(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(Ed,"$&/")+"/")+e)),t.push(o)),1;if(l=0,r=r===""?".":r+":",Dd(e))for(var s=0;s<e.length;s++){n=e[s];var i=r+Hs(n,s);l+=Qn(n,t,a,i,o)}else if(i=zg(e),typeof i=="function")for(e=i.call(e),s=0;!(n=e.next()).done;)n=n.value,i=r+Hs(n,s++),l+=Qn(n,t,a,i,o);else if(n==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function Xn(e,t,a){if(e==null)return e;var r=[],o=0;return Qn(e,r,"","",function(n){return t.call(a,n,o++)}),r}function Ug(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Qe={current:null},Yn={transition:null},_g={ReactCurrentDispatcher:Qe,ReactCurrentBatchConfig:Yn,ReactCurrentOwner:qs};function _d(){throw Error("act(...) is not supported in production builds of React.")}ne.Children={map:Xn,forEach:function(e,t,a){Xn(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return Xn(e,function(){t++}),t},toArray:function(e){return Xn(e,function(t){return t})||[]},only:function(e){if(!Ws(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ne.Component=Rr;ne.Fragment=Tg;ne.Profiler=Mg;ne.PureComponent=Us;ne.StrictMode=Rg;ne.Suspense=Fg;ne.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_g;ne.act=_d;ne.cloneElement=function(e,t,a){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=Bd({},e.props),o=e.key,n=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(n=t.ref,l=qs.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(i in t)Nd.call(t,i)&&!Hd.hasOwnProperty(i)&&(r[i]=t[i]===void 0&&s!==void 0?s[i]:t[i])}var i=arguments.length-2;if(i===1)r.children=a;else if(1<i){s=Array(i);for(var d=0;d<i;d++)s[d]=arguments[d+2];r.children=s}return{$$typeof:ko,type:e.type,key:o,ref:n,props:r,_owner:l}};ne.createContext=function(e){return e={$$typeof:Dg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Ag,_context:e},e.Consumer=e};ne.createElement=Ud;ne.createFactory=function(e){var t=Ud.bind(null,e);return t.type=e,t};ne.createRef=function(){return{current:null}};ne.forwardRef=function(e){return{$$typeof:Eg,render:e}};ne.isValidElement=Ws;ne.lazy=function(e){return{$$typeof:Og,_payload:{_status:-1,_result:e},_init:Ug}};ne.memo=function(e,t){return{$$typeof:Bg,type:e,compare:t===void 0?null:t}};ne.startTransition=function(e){var t=Yn.transition;Yn.transition={};try{e()}finally{Yn.transition=t}};ne.unstable_act=_d;ne.useCallback=function(e,t){return Qe.current.useCallback(e,t)};ne.useContext=function(e){return Qe.current.useContext(e)};ne.useDebugValue=function(){};ne.useDeferredValue=function(e){return Qe.current.useDeferredValue(e)};ne.useEffect=function(e,t){return Qe.current.useEffect(e,t)};ne.useId=function(){return Qe.current.useId()};ne.useImperativeHandle=function(e,t,a){return Qe.current.useImperativeHandle(e,t,a)};ne.useInsertionEffect=function(e,t){return Qe.current.useInsertionEffect(e,t)};ne.useLayoutEffect=function(e,t){return Qe.current.useLayoutEffect(e,t)};ne.useMemo=function(e,t){return Qe.current.useMemo(e,t)};ne.useReducer=function(e,t,a){return Qe.current.useReducer(e,t,a)};ne.useRef=function(e){return Qe.current.useRef(e)};ne.useState=function(e){return Qe.current.useState(e)};ne.useSyncExternalStore=function(e,t,a){return Qe.current.useSyncExternalStore(e,t,a)};ne.useTransition=function(){return Qe.current.useTransition()};ne.version="18.3.1"});var Se=ia((ty,Wd)=>{"use strict";Wd.exports=qd()});var Zd=ia(ye=>{"use strict";function Gs(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,o=e[r];if(0<Jn(o,t))e[r]=t,e[a]=o,a=r;else break e}}function Ot(e){return e.length===0?null:e[0]}function el(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,o=e.length,n=o>>>1;r<n;){var l=2*(r+1)-1,s=e[l],i=l+1,d=e[i];if(0>Jn(s,a))i<o&&0>Jn(d,s)?(e[r]=d,e[i]=a,r=i):(e[r]=s,e[l]=a,r=l);else if(i<o&&0>Jn(d,a))e[r]=d,e[i]=a,r=i;else break e}}return t}function Jn(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?($d=performance,ye.unstable_now=function(){return $d.now()}):($s=Date,Vd=$s.now(),ye.unstable_now=function(){return $s.now()-Vd});var $d,$s,Vd,Xt=[],Ca=[],qg=1,Ct=null,$e=3,tl=!1,er=!1,Po=!1,jd=typeof setTimeout=="function"?setTimeout:null,Xd=typeof clearTimeout=="function"?clearTimeout:null,Kd=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function js(e){for(var t=Ot(Ca);t!==null;){if(t.callback===null)el(Ca);else if(t.startTime<=e)el(Ca),t.sortIndex=t.expirationTime,Gs(Xt,t);else break;t=Ot(Ca)}}function Xs(e){if(Po=!1,js(e),!er)if(Ot(Xt)!==null)er=!0,Ys(Qs);else{var t=Ot(Ca);t!==null&&Js(Xs,t.startTime-e)}}function Qs(e,t){er=!1,Po&&(Po=!1,Xd(To),To=-1),tl=!0;var a=$e;try{for(js(t),Ct=Ot(Xt);Ct!==null&&(!(Ct.expirationTime>t)||e&&!Jd());){var r=Ct.callback;if(typeof r=="function"){Ct.callback=null,$e=Ct.priorityLevel;var o=r(Ct.expirationTime<=t);t=ye.unstable_now(),typeof o=="function"?Ct.callback=o:Ct===Ot(Xt)&&el(Xt),js(t)}else el(Xt);Ct=Ot(Xt)}if(Ct!==null)var n=!0;else{var l=Ot(Ca);l!==null&&Js(Xs,l.startTime-t),n=!1}return n}finally{Ct=null,$e=a,tl=!1}}var al=!1,Zn=null,To=-1,Qd=5,Yd=-1;function Jd(){return!(ye.unstable_now()-Yd<Qd)}function Vs(){if(Zn!==null){var e=ye.unstable_now();Yd=e;var t=!0;try{t=Zn(!0,e)}finally{t?bo():(al=!1,Zn=null)}}else al=!1}var bo;typeof Kd=="function"?bo=function(){Kd(Vs)}:typeof MessageChannel<"u"?(Ks=new MessageChannel,Gd=Ks.port2,Ks.port1.onmessage=Vs,bo=function(){Gd.postMessage(null)}):bo=function(){jd(Vs,0)};var Ks,Gd;function Ys(e){Zn=e,al||(al=!0,bo())}function Js(e,t){To=jd(function(){e(ye.unstable_now())},t)}ye.unstable_IdlePriority=5;ye.unstable_ImmediatePriority=1;ye.unstable_LowPriority=4;ye.unstable_NormalPriority=3;ye.unstable_Profiling=null;ye.unstable_UserBlockingPriority=2;ye.unstable_cancelCallback=function(e){e.callback=null};ye.unstable_continueExecution=function(){er||tl||(er=!0,Ys(Qs))};ye.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Qd=0<e?Math.floor(1e3/e):5};ye.unstable_getCurrentPriorityLevel=function(){return $e};ye.unstable_getFirstCallbackNode=function(){return Ot(Xt)};ye.unstable_next=function(e){switch($e){case 1:case 2:case 3:var t=3;break;default:t=$e}var a=$e;$e=t;try{return e()}finally{$e=a}};ye.unstable_pauseExecution=function(){};ye.unstable_requestPaint=function(){};ye.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=$e;$e=e;try{return t()}finally{$e=a}};ye.unstable_scheduleCallback=function(e,t,a){var r=ye.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=a+o,e={id:qg++,callback:t,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>r?(e.sortIndex=a,Gs(Ca,e),Ot(Xt)===null&&e===Ot(Ca)&&(Po?(Xd(To),To=-1):Po=!0,Js(Xs,a-r))):(e.sortIndex=o,Gs(Xt,e),er||tl||(er=!0,Ys(Qs))),e};ye.unstable_shouldYield=Jd;ye.unstable_wrapCallback=function(e){var t=$e;return function(){var a=$e;$e=t;try{return e.apply(this,arguments)}finally{$e=a}}}});var tf=ia((ry,ef)=>{"use strict";ef.exports=Zd()});var lm=ia(St=>{"use strict";var Wg=Se(),yt=tf();function R(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var uc=new Set,Qo={};function pr(e,t){Qr(e,t),Qr(e+"Capture",t)}function Qr(e,t){for(Qo[e]=t,e=0;e<t.length;e++)uc.add(t[e])}var ma=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Si=Object.prototype.hasOwnProperty,$g=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,af={},rf={};function Vg(e){return Si.call(rf,e)?!0:Si.call(af,e)?!1:$g.test(e)?rf[e]=!0:(af[e]=!0,!1)}function Kg(e,t,a,r){if(a!==null&&a.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Gg(e,t,a,r){if(t===null||typeof t>"u"||Kg(e,t,a,r))return!0;if(r)return!1;if(a!==null)switch(a.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ze(e,t,a,r,o,n,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=l}var _e={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){_e[e]=new Ze(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];_e[t]=new Ze(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){_e[e]=new Ze(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_e[e]=new Ze(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){_e[e]=new Ze(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){_e[e]=new Ze(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){_e[e]=new Ze(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){_e[e]=new Ze(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){_e[e]=new Ze(e,5,!1,e.toLowerCase(),null,!1,!1)});var pu=/[\\-:]([a-z])/g;function mu(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(pu,mu);_e[t]=new Ze(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(pu,mu);_e[t]=new Ze(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(pu,mu);_e[t]=new Ze(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){_e[e]=new Ze(e,1,!1,e.toLowerCase(),null,!1,!1)});_e.xlinkHref=new Ze("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){_e[e]=new Ze(e,1,!1,e.toLowerCase(),null,!0,!0)});function gu(e,t,a,r){var o=_e.hasOwnProperty(t)?_e[t]:null;(o!==null?o.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Gg(t,a,o,r)&&(a=null),r||o===null?Vg(t)&&(a===null?e.removeAttribute(t):e.setAttribute(t,""+a)):o.mustUseProperty?e[o.propertyName]=a===null?o.type===3?!1:"":a:(t=o.attributeName,r=o.attributeNamespace,a===null?e.removeAttribute(t):(o=o.type,a=o===3||o===4&&a===!0?"":""+a,r?e.setAttributeNS(r,t,a):e.setAttribute(t,a))))}var va=Wg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,rl=Symbol.for("react.element"),Dr=Symbol.for("react.portal"),Er=Symbol.for("react.fragment"),hu=Symbol.for("react.strict_mode"),Ii=Symbol.for("react.profiler"),dc=Symbol.for("react.provider"),fc=Symbol.for("react.context"),xu=Symbol.for("react.forward_ref"),Ci=Symbol.for("react.suspense"),wi=Symbol.for("react.suspense_list"),vu=Symbol.for("react.memo"),ka=Symbol.for("react.lazy"),cc=Symbol.for("react.offscreen"),of=Symbol.iterator;function Ro(e){return e===null||typeof e!="object"?null:(e=of&&e[of]||e["@@iterator"],typeof e=="function"?e:null)}var Pe=Object.assign,Zs;function zo(e){if(Zs===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\\n( *(at )?)/);Zs=t&&t[1]||""}return`\n`+Zs+e}var ei=!1;function ti(e,t){if(!e||ei)return"";ei=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var r=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){r=d}e.call(t.prototype)}else{try{throw Error()}catch(d){r=d}e()}}catch(d){if(d&&r&&typeof d.stack=="string"){for(var o=d.stack.split(`\n`),n=r.stack.split(`\n`),l=o.length-1,s=n.length-1;1<=l&&0<=s&&o[l]!==n[s];)s--;for(;1<=l&&0<=s;l--,s--)if(o[l]!==n[s]){if(l!==1||s!==1)do if(l--,s--,0>s||o[l]!==n[s]){var i=`\n`+o[l].replace(" at new "," at ");return e.displayName&&i.includes("<anonymous>")&&(i=i.replace("<anonymous>",e.displayName)),i}while(1<=l&&0<=s);break}}}finally{ei=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?zo(e):""}function jg(e){switch(e.tag){case 5:return zo(e.type);case 16:return zo("Lazy");case 13:return zo("Suspense");case 19:return zo("SuspenseList");case 0:case 2:case 15:return e=ti(e.type,!1),e;case 11:return e=ti(e.type.render,!1),e;case 1:return e=ti(e.type,!0),e;default:return""}}function ki(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Er:return"Fragment";case Dr:return"Portal";case Ii:return"Profiler";case hu:return"StrictMode";case Ci:return"Suspense";case wi:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case fc:return(e.displayName||"Context")+".Consumer";case dc:return(e._context.displayName||"Context")+".Provider";case xu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case vu:return t=e.displayName||null,t!==null?t:ki(e.type)||"Memo";case ka:t=e._payload,e=e._init;try{return ki(e(t))}catch{}}return null}function Xg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ki(t);case 8:return t===hu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ha(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function pc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Qg(e){var t=pc(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var o=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){r=""+l,n.call(this,l)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ol(e){e._valueTracker||(e._valueTracker=Qg(e))}function mc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=pc(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function Dl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function bi(e,t){var a=t.checked;return Pe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function nf(e,t){var a=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;a=Ha(t.value!=null?t.value:a),e._wrapperState={initialChecked:r,initialValue:a,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function gc(e,t){t=t.checked,t!=null&&gu(e,"checked",t,!1)}function Pi(e,t){gc(e,t);var a=Ha(t.value),r=t.type;if(a!=null)r==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Ti(e,t.type,a):t.hasOwnProperty("defaultValue")&&Ti(e,t.type,Ha(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function lf(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function Ti(e,t,a){(t!=="number"||Dl(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var No=Array.isArray;function $r(e,t,a,r){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&r&&(e[a].defaultSelected=!0)}else{for(a=""+Ha(a),t=null,o=0;o<e.length;o++){if(e[o].value===a){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Ri(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(R(91));return Pe({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function sf(e,t){var a=t.value;if(a==null){if(a=t.children,t=t.defaultValue,a!=null){if(t!=null)throw Error(R(92));if(No(a)){if(1<a.length)throw Error(R(93));a=a[0]}t=a}t==null&&(t=""),a=t}e._wrapperState={initialValue:Ha(a)}}function hc(e,t){var a=Ha(t.value),r=Ha(t.defaultValue);a!=null&&(a=""+a,a!==e.value&&(e.value=a),t.defaultValue==null&&e.defaultValue!==a&&(e.defaultValue=a)),r!=null&&(e.defaultValue=""+r)}function uf(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function xc(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Mi(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?xc(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var nl,vc=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,a,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,a,r,o)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(nl=nl||document.createElement("div"),nl.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=nl.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Yo(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var _o={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Yg=["Webkit","ms","Moz","O"];Object.keys(_o).forEach(function(e){Yg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_o[t]=_o[e]})});function yc(e,t,a){return t==null||typeof t=="boolean"||t===""?"":a||typeof t!="number"||t===0||_o.hasOwnProperty(e)&&_o[e]?(""+t).trim():t+"px"}function Lc(e,t){e=e.style;for(var a in t)if(t.hasOwnProperty(a)){var r=a.indexOf("--")===0,o=yc(a,t[a],r);a==="float"&&(a="cssFloat"),r?e.setProperty(a,o):e[a]=o}}var Jg=Pe({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ai(e,t){if(t){if(Jg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(R(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(R(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(R(61))}if(t.style!=null&&typeof t.style!="object")throw Error(R(62))}}function Di(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ei=null;function yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Fi=null,Vr=null,Kr=null;function df(e){if(e=hn(e)){if(typeof Fi!="function")throw Error(R(280));var t=e.stateNode;t&&(t=ls(t),Fi(e.stateNode,e.type,t))}}function Sc(e){Vr?Kr?Kr.push(e):Kr=[e]:Vr=e}function Ic(){if(Vr){var e=Vr,t=Kr;if(Kr=Vr=null,df(e),t)for(e=0;e<t.length;e++)df(t[e])}}function Cc(e,t){return e(t)}function wc(){}var ai=!1;function kc(e,t,a){if(ai)return e(t,a);ai=!0;try{return Cc(e,t,a)}finally{ai=!1,(Vr!==null||Kr!==null)&&(wc(),Ic())}}function Jo(e,t){var a=e.stateNode;if(a===null)return null;var r=ls(a);if(r===null)return null;a=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(R(231,t,typeof a));return a}var Bi=!1;if(ma)try{Mr={},Object.defineProperty(Mr,"passive",{get:function(){Bi=!0}}),window.addEventListener("test",Mr,Mr),window.removeEventListener("test",Mr,Mr)}catch{Bi=!1}var Mr;function Zg(e,t,a,r,o,n,l,s,i){var d=Array.prototype.slice.call(arguments,3);try{t.apply(a,d)}catch(g){this.onError(g)}}var qo=!1,El=null,Fl=!1,Oi=null,eh={onError:function(e){qo=!0,El=e}};function th(e,t,a,r,o,n,l,s,i){qo=!1,El=null,Zg.apply(eh,arguments)}function ah(e,t,a,r,o,n,l,s,i){if(th.apply(this,arguments),qo){if(qo){var d=El;qo=!1,El=null}else throw Error(R(198));Fl||(Fl=!0,Oi=d)}}function mr(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function bc(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function ff(e){if(mr(e)!==e)throw Error(R(188))}function rh(e){var t=e.alternate;if(!t){if(t=mr(e),t===null)throw Error(R(188));return t!==e?null:e}for(var a=e,r=t;;){var o=a.return;if(o===null)break;var n=o.alternate;if(n===null){if(r=o.return,r!==null){a=r;continue}break}if(o.child===n.child){for(n=o.child;n;){if(n===a)return ff(o),e;if(n===r)return ff(o),t;n=n.sibling}throw Error(R(188))}if(a.return!==r.return)a=o,r=n;else{for(var l=!1,s=o.child;s;){if(s===a){l=!0,a=o,r=n;break}if(s===r){l=!0,r=o,a=n;break}s=s.sibling}if(!l){for(s=n.child;s;){if(s===a){l=!0,a=n,r=o;break}if(s===r){l=!0,r=n,a=o;break}s=s.sibling}if(!l)throw Error(R(189))}}if(a.alternate!==r)throw Error(R(190))}if(a.tag!==3)throw Error(R(188));return a.stateNode.current===a?e:t}function Pc(e){return e=rh(e),e!==null?Tc(e):null}function Tc(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Tc(e);if(t!==null)return t;e=e.sibling}return null}var Rc=yt.unstable_scheduleCallback,cf=yt.unstable_cancelCallback,oh=yt.unstable_shouldYield,nh=yt.unstable_requestPaint,Me=yt.unstable_now,lh=yt.unstable_getCurrentPriorityLevel,Lu=yt.unstable_ImmediatePriority,Mc=yt.unstable_UserBlockingPriority,Bl=yt.unstable_NormalPriority,sh=yt.unstable_LowPriority,Ac=yt.unstable_IdlePriority,as=null,Zt=null;function ih(e){if(Zt&&typeof Zt.onCommitFiberRoot=="function")try{Zt.onCommitFiberRoot(as,e,void 0,(e.current.flags&128)===128)}catch{}}var _t=Math.clz32?Math.clz32:fh,uh=Math.log,dh=Math.LN2;function fh(e){return e>>>=0,e===0?32:31-(uh(e)/dh|0)|0}var ll=64,sl=4194304;function Ho(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ol(e,t){var a=e.pendingLanes;if(a===0)return 0;var r=0,o=e.suspendedLanes,n=e.pingedLanes,l=a&268435455;if(l!==0){var s=l&~o;s!==0?r=Ho(s):(n&=l,n!==0&&(r=Ho(n)))}else l=a&~o,l!==0?r=Ho(l):n!==0&&(r=Ho(n));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,n=t&-t,o>=n||o===16&&(n&4194240)!==0))return t;if((r&4)!==0&&(r|=a&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)a=31-_t(t),o=1<<a,r|=e[a],t&=~o;return r}function ch(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ph(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,n=e.pendingLanes;0<n;){var l=31-_t(n),s=1<<l,i=o[l];i===-1?((s&a)===0||(s&r)!==0)&&(o[l]=ch(s,t)):i<=t&&(e.expiredLanes|=s),n&=~s}}function zi(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Dc(){var e=ll;return ll<<=1,(ll&4194240)===0&&(ll=64),e}function ri(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function mn(e,t,a){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-_t(t),e[t]=a}function mh(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<a;){var o=31-_t(a),n=1<<o;t[o]=0,r[o]=-1,e[o]=-1,a&=~n}}function Su(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-_t(a),o=1<<r;o&t|e[r]&t&&(e[r]|=t),a&=~o}}var xe=0;function Ec(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var Fc,Iu,Bc,Oc,zc,Ni=!1,il=[],Aa=null,Da=null,Ea=null,Zo=new Map,en=new Map,Pa=[],gh="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function pf(e,t){switch(e){case"focusin":case"focusout":Aa=null;break;case"dragenter":case"dragleave":Da=null;break;case"mouseover":case"mouseout":Ea=null;break;case"pointerover":case"pointerout":Zo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":en.delete(t.pointerId)}}function Mo(e,t,a,r,o,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:n,targetContainers:[o]},t!==null&&(t=hn(t),t!==null&&Iu(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function hh(e,t,a,r,o){switch(t){case"focusin":return Aa=Mo(Aa,e,t,a,r,o),!0;case"dragenter":return Da=Mo(Da,e,t,a,r,o),!0;case"mouseover":return Ea=Mo(Ea,e,t,a,r,o),!0;case"pointerover":var n=o.pointerId;return Zo.set(n,Mo(Zo.get(n)||null,e,t,a,r,o)),!0;case"gotpointercapture":return n=o.pointerId,en.set(n,Mo(en.get(n)||null,e,t,a,r,o)),!0}return!1}function Nc(e){var t=rr(e.target);if(t!==null){var a=mr(t);if(a!==null){if(t=a.tag,t===13){if(t=bc(a),t!==null){e.blockedOn=t,zc(e.priority,function(){Bc(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Il(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Hi(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);Ei=r,a.target.dispatchEvent(r),Ei=null}else return t=hn(a),t!==null&&Iu(t),e.blockedOn=a,!1;t.shift()}return!0}function mf(e,t,a){Il(e)&&a.delete(t)}function xh(){Ni=!1,Aa!==null&&Il(Aa)&&(Aa=null),Da!==null&&Il(Da)&&(Da=null),Ea!==null&&Il(Ea)&&(Ea=null),Zo.forEach(mf),en.forEach(mf)}function Ao(e,t){e.blockedOn===t&&(e.blockedOn=null,Ni||(Ni=!0,yt.unstable_scheduleCallback(yt.unstable_NormalPriority,xh)))}function tn(e){function t(o){return Ao(o,e)}if(0<il.length){Ao(il[0],e);for(var a=1;a<il.length;a++){var r=il[a];r.blockedOn===e&&(r.blockedOn=null)}}for(Aa!==null&&Ao(Aa,e),Da!==null&&Ao(Da,e),Ea!==null&&Ao(Ea,e),Zo.forEach(t),en.forEach(t),a=0;a<Pa.length;a++)r=Pa[a],r.blockedOn===e&&(r.blockedOn=null);for(;0<Pa.length&&(a=Pa[0],a.blockedOn===null);)Nc(a),a.blockedOn===null&&Pa.shift()}var Gr=va.ReactCurrentBatchConfig,zl=!0;function vh(e,t,a,r){var o=xe,n=Gr.transition;Gr.transition=null;try{xe=1,Cu(e,t,a,r)}finally{xe=o,Gr.transition=n}}function yh(e,t,a,r){var o=xe,n=Gr.transition;Gr.transition=null;try{xe=4,Cu(e,t,a,r)}finally{xe=o,Gr.transition=n}}function Cu(e,t,a,r){if(zl){var o=Hi(e,t,a,r);if(o===null)di(e,t,r,Nl,a),pf(e,r);else if(hh(o,e,t,a,r))r.stopPropagation();else if(pf(e,r),t&4&&-1<gh.indexOf(e)){for(;o!==null;){var n=hn(o);if(n!==null&&Fc(n),n=Hi(e,t,a,r),n===null&&di(e,t,r,Nl,a),n===o)break;o=n}o!==null&&r.stopPropagation()}else di(e,t,r,null,a)}}var Nl=null;function Hi(e,t,a,r){if(Nl=null,e=yu(r),e=rr(e),e!==null)if(t=mr(e),t===null)e=null;else if(a=t.tag,a===13){if(e=bc(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Nl=e,null}function Hc(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(lh()){case Lu:return 1;case Mc:return 4;case Bl:case sh:return 16;case Ac:return 536870912;default:return 16}default:return 16}}var Ra=null,wu=null,Cl=null;function Uc(){if(Cl)return Cl;var e,t=wu,a=t.length,r,o="value"in Ra?Ra.value:Ra.textContent,n=o.length;for(e=0;e<a&&t[e]===o[e];e++);var l=a-e;for(r=1;r<=l&&t[a-r]===o[n-r];r++);return Cl=o.slice(e,1<r?1-r:void 0)}function wl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function ul(){return!0}function gf(){return!1}function Lt(e){function t(a,r,o,n,l){this._reactName=a,this._targetInst=o,this.type=r,this.nativeEvent=n,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(a=e[s],this[s]=a?a(n):n[s]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?ul:gf,this.isPropagationStopped=gf,this}return Pe(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=ul)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=ul)},persist:function(){},isPersistent:ul}),t}var ro={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ku=Lt(ro),gn=Pe({},ro,{view:0,detail:0}),Lh=Lt(gn),oi,ni,Do,rs=Pe({},gn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:bu,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Do&&(Do&&e.type==="mousemove"?(oi=e.screenX-Do.screenX,ni=e.screenY-Do.screenY):ni=oi=0,Do=e),oi)},movementY:function(e){return"movementY"in e?e.movementY:ni}}),hf=Lt(rs),Sh=Pe({},rs,{dataTransfer:0}),Ih=Lt(Sh),Ch=Pe({},gn,{relatedTarget:0}),li=Lt(Ch),wh=Pe({},ro,{animationName:0,elapsedTime:0,pseudoElement:0}),kh=Lt(wh),bh=Pe({},ro,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Ph=Lt(bh),Th=Pe({},ro,{data:0}),xf=Lt(Th),Rh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Mh={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Ah={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Dh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Ah[e])?!!t[e]:!1}function bu(){return Dh}var Eh=Pe({},gn,{key:function(e){if(e.key){var t=Rh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=wl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Mh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:bu,charCode:function(e){return e.type==="keypress"?wl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?wl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Fh=Lt(Eh),Bh=Pe({},rs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),vf=Lt(Bh),Oh=Pe({},gn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:bu}),zh=Lt(Oh),Nh=Pe({},ro,{propertyName:0,elapsedTime:0,pseudoElement:0}),Hh=Lt(Nh),Uh=Pe({},rs,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),_h=Lt(Uh),qh=[9,13,27,32],Pu=ma&&"CompositionEvent"in window,Wo=null;ma&&"documentMode"in document&&(Wo=document.documentMode);var Wh=ma&&"TextEvent"in window&&!Wo,_c=ma&&(!Pu||Wo&&8<Wo&&11>=Wo),yf=" ",Lf=!1;function qc(e,t){switch(e){case"keyup":return qh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fr=!1;function $h(e,t){switch(e){case"compositionend":return Wc(t);case"keypress":return t.which!==32?null:(Lf=!0,yf);case"textInput":return e=t.data,e===yf&&Lf?null:e;default:return null}}function Vh(e,t){if(Fr)return e==="compositionend"||!Pu&&qc(e,t)?(e=Uc(),Cl=wu=Ra=null,Fr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return _c&&t.locale!=="ko"?null:t.data;default:return null}}var Kh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Sf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Kh[e.type]:t==="textarea"}function $c(e,t,a,r){Sc(r),t=Hl(t,"onChange"),0<t.length&&(a=new ku("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var $o=null,an=null;function Gh(e){tp(e,0)}function os(e){var t=zr(e);if(mc(t))return e}function jh(e,t){if(e==="change")return t}var Vc=!1;ma&&(ma?(fl="oninput"in document,fl||(si=document.createElement("div"),si.setAttribute("oninput","return;"),fl=typeof si.oninput=="function"),dl=fl):dl=!1,Vc=dl&&(!document.documentMode||9<document.documentMode));var dl,fl,si;function If(){$o&&($o.detachEvent("onpropertychange",Kc),an=$o=null)}function Kc(e){if(e.propertyName==="value"&&os(an)){var t=[];$c(t,an,e,yu(e)),kc(Gh,t)}}function Xh(e,t,a){e==="focusin"?(If(),$o=t,an=a,$o.attachEvent("onpropertychange",Kc)):e==="focusout"&&If()}function Qh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return os(an)}function Yh(e,t){if(e==="click")return os(t)}function Jh(e,t){if(e==="input"||e==="change")return os(t)}function Zh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Wt=typeof Object.is=="function"?Object.is:Zh;function rn(e,t){if(Wt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var o=a[r];if(!Si.call(t,o)||!Wt(e[o],t[o]))return!1}return!0}function Cf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function wf(e,t){var a=Cf(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Cf(a)}}function Gc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Gc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function jc(){for(var e=window,t=Dl();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Dl(e.document)}return t}function Tu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function ex(e){var t=jc(),a=e.focusedElem,r=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&Gc(a.ownerDocument.documentElement,a)){if(r!==null&&Tu(a)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if(e=(t=a.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=a.textContent.length,n=Math.min(r.start,o);r=r.end===void 0?n:Math.min(r.end,o),!e.extend&&n>r&&(o=r,r=n,n=o),o=wf(a,n);var l=wf(a,r);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),n>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=a;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<t.length;a++)e=t[a],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var tx=ma&&"documentMode"in document&&11>=document.documentMode,Br=null,Ui=null,Vo=null,_i=!1;function kf(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;_i||Br==null||Br!==Dl(r)||(r=Br,"selectionStart"in r&&Tu(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Vo&&rn(Vo,r)||(Vo=r,r=Hl(Ui,"onSelect"),0<r.length&&(t=new ku("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=Br)))}function cl(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Or={animationend:cl("Animation","AnimationEnd"),animationiteration:cl("Animation","AnimationIteration"),animationstart:cl("Animation","AnimationStart"),transitionend:cl("Transition","TransitionEnd")},ii={},Xc={};ma&&(Xc=document.createElement("div").style,"AnimationEvent"in window||(delete Or.animationend.animation,delete Or.animationiteration.animation,delete Or.animationstart.animation),"TransitionEvent"in window||delete Or.transitionend.transition);function ns(e){if(ii[e])return ii[e];if(!Or[e])return e;var t=Or[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Xc)return ii[e]=t[a];return e}var Qc=ns("animationend"),Yc=ns("animationiteration"),Jc=ns("animationstart"),Zc=ns("transitionend"),ep=new Map,bf="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function _a(e,t){ep.set(e,t),pr(t,[e])}for(pl=0;pl<bf.length;pl++)ml=bf[pl],Pf=ml.toLowerCase(),Tf=ml[0].toUpperCase()+ml.slice(1),_a(Pf,"on"+Tf);var ml,Pf,Tf,pl;_a(Qc,"onAnimationEnd");_a(Yc,"onAnimationIteration");_a(Jc,"onAnimationStart");_a("dblclick","onDoubleClick");_a("focusin","onFocus");_a("focusout","onBlur");_a(Zc,"onTransitionEnd");Qr("onMouseEnter",["mouseout","mouseover"]);Qr("onMouseLeave",["mouseout","mouseover"]);Qr("onPointerEnter",["pointerout","pointerover"]);Qr("onPointerLeave",["pointerout","pointerover"]);pr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));pr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));pr("onBeforeInput",["compositionend","keypress","textInput","paste"]);pr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));pr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));pr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Uo="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),ax=new Set("cancel close invalid load scroll toggle".split(" ").concat(Uo));function Rf(e,t,a){var r=e.type||"unknown-event";e.currentTarget=a,ah(r,t,void 0,e),e.currentTarget=null}function tp(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],o=r.event;r=r.listeners;e:{var n=void 0;if(t)for(var l=r.length-1;0<=l;l--){var s=r[l],i=s.instance,d=s.currentTarget;if(s=s.listener,i!==n&&o.isPropagationStopped())break e;Rf(o,s,d),n=i}else for(l=0;l<r.length;l++){if(s=r[l],i=s.instance,d=s.currentTarget,s=s.listener,i!==n&&o.isPropagationStopped())break e;Rf(o,s,d),n=i}}}if(Fl)throw e=Oi,Fl=!1,Oi=null,e}function Ie(e,t){var a=t[Ki];a===void 0&&(a=t[Ki]=new Set);var r=e+"__bubble";a.has(r)||(ap(t,e,2,!1),a.add(r))}function ui(e,t,a){var r=0;t&&(r|=4),ap(a,e,r,t)}var gl="_reactListening"+Math.random().toString(36).slice(2);function on(e){if(!e[gl]){e[gl]=!0,uc.forEach(function(a){a!=="selectionchange"&&(ax.has(a)||ui(a,!1,e),ui(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[gl]||(t[gl]=!0,ui("selectionchange",!1,t))}}function ap(e,t,a,r){switch(Hc(t)){case 1:var o=vh;break;case 4:o=yh;break;default:o=Cu}a=o.bind(null,t,a,e),o=void 0,!Bi||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):o!==void 0?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function di(e,t,a,r,o){var n=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var l=r.tag;if(l===3||l===4){var s=r.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(l===4)for(l=r.return;l!==null;){var i=l.tag;if((i===3||i===4)&&(i=l.stateNode.containerInfo,i===o||i.nodeType===8&&i.parentNode===o))return;l=l.return}for(;s!==null;){if(l=rr(s),l===null)return;if(i=l.tag,i===5||i===6){r=n=l;continue e}s=s.parentNode}}r=r.return}kc(function(){var d=n,g=yu(a),m=[];e:{var c=ep.get(e);if(c!==void 0){var y=ku,h=e;switch(e){case"keypress":if(wl(a)===0)break e;case"keydown":case"keyup":y=Fh;break;case"focusin":h="focus",y=li;break;case"focusout":h="blur",y=li;break;case"beforeblur":case"afterblur":y=li;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":y=hf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":y=Ih;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":y=zh;break;case Qc:case Yc:case Jc:y=kh;break;case Zc:y=Hh;break;case"scroll":y=Lh;break;case"wheel":y=_h;break;case"copy":case"cut":case"paste":y=Ph;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":y=vf}var I=(t&4)!==0,z=!I&&e==="scroll",f=I?c!==null?c+"Capture":null:c;I=[];for(var u=d,p;u!==null;){p=u;var S=p.stateNode;if(p.tag===5&&S!==null&&(p=S,f!==null&&(S=Jo(u,f),S!=null&&I.push(nn(u,S,p)))),z)break;u=u.return}0<I.length&&(c=new y(c,h,null,a,g),m.push({event:c,listeners:I}))}}if((t&7)===0){e:{if(c=e==="mouseover"||e==="pointerover",y=e==="mouseout"||e==="pointerout",c&&a!==Ei&&(h=a.relatedTarget||a.fromElement)&&(rr(h)||h[ga]))break e;if((y||c)&&(c=g.window===g?g:(c=g.ownerDocument)?c.defaultView||c.parentWindow:window,y?(h=a.relatedTarget||a.toElement,y=d,h=h?rr(h):null,h!==null&&(z=mr(h),h!==z||h.tag!==5&&h.tag!==6)&&(h=null)):(y=null,h=d),y!==h)){if(I=hf,S="onMouseLeave",f="onMouseEnter",u="mouse",(e==="pointerout"||e==="pointerover")&&(I=vf,S="onPointerLeave",f="onPointerEnter",u="pointer"),z=y==null?c:zr(y),p=h==null?c:zr(h),c=new I(S,u+"leave",y,a,g),c.target=z,c.relatedTarget=p,S=null,rr(g)===d&&(I=new I(f,u+"enter",h,a,g),I.target=p,I.relatedTarget=z,S=I),z=S,y&&h)t:{for(I=y,f=h,u=0,p=I;p;p=Ar(p))u++;for(p=0,S=f;S;S=Ar(S))p++;for(;0<u-p;)I=Ar(I),u--;for(;0<p-u;)f=Ar(f),p--;for(;u--;){if(I===f||f!==null&&I===f.alternate)break t;I=Ar(I),f=Ar(f)}I=null}else I=null;y!==null&&Mf(m,c,y,I,!1),h!==null&&z!==null&&Mf(m,z,h,I,!0)}}e:{if(c=d?zr(d):window,y=c.nodeName&&c.nodeName.toLowerCase(),y==="select"||y==="input"&&c.type==="file")var w=jh;else if(Sf(c))if(Vc)w=Jh;else{w=Qh;var T=Xh}else(y=c.nodeName)&&y.toLowerCase()==="input"&&(c.type==="checkbox"||c.type==="radio")&&(w=Yh);if(w&&(w=w(e,d))){$c(m,w,a,g);break e}T&&T(e,c,d),e==="focusout"&&(T=c._wrapperState)&&T.controlled&&c.type==="number"&&Ti(c,"number",c.value)}switch(T=d?zr(d):window,e){case"focusin":(Sf(T)||T.contentEditable==="true")&&(Br=T,Ui=d,Vo=null);break;case"focusout":Vo=Ui=Br=null;break;case"mousedown":_i=!0;break;case"contextmenu":case"mouseup":case"dragend":_i=!1,kf(m,a,g);break;case"selectionchange":if(tx)break;case"keydown":case"keyup":kf(m,a,g)}var v;if(Pu)e:{switch(e){case"compositionstart":var L="onCompositionStart";break e;case"compositionend":L="onCompositionEnd";break e;case"compositionupdate":L="onCompositionUpdate";break e}L=void 0}else Fr?qc(e,a)&&(L="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(L="onCompositionStart");L&&(_c&&a.locale!=="ko"&&(Fr||L!=="onCompositionStart"?L==="onCompositionEnd"&&Fr&&(v=Uc()):(Ra=g,wu="value"in Ra?Ra.value:Ra.textContent,Fr=!0)),T=Hl(d,L),0<T.length&&(L=new xf(L,e,null,a,g),m.push({event:L,listeners:T}),v?L.data=v:(v=Wc(a),v!==null&&(L.data=v)))),(v=Wh?$h(e,a):Vh(e,a))&&(d=Hl(d,"onBeforeInput"),0<d.length&&(g=new xf("onBeforeInput","beforeinput",null,a,g),m.push({event:g,listeners:d}),g.data=v))}tp(m,t)})}function nn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Hl(e,t){for(var a=t+"Capture",r=[];e!==null;){var o=e,n=o.stateNode;o.tag===5&&n!==null&&(o=n,n=Jo(e,a),n!=null&&r.unshift(nn(e,n,o)),n=Jo(e,t),n!=null&&r.push(nn(e,n,o))),e=e.return}return r}function Ar(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Mf(e,t,a,r,o){for(var n=t._reactName,l=[];a!==null&&a!==r;){var s=a,i=s.alternate,d=s.stateNode;if(i!==null&&i===r)break;s.tag===5&&d!==null&&(s=d,o?(i=Jo(a,n),i!=null&&l.unshift(nn(a,i,s))):o||(i=Jo(a,n),i!=null&&l.push(nn(a,i,s)))),a=a.return}l.length!==0&&e.push({event:t,listeners:l})}var rx=/\\r\\n?/g,ox=/\\u0000|\\uFFFD/g;function Af(e){return(typeof e=="string"?e:""+e).replace(rx,`\n`).replace(ox,"")}function hl(e,t,a){if(t=Af(t),Af(e)!==t&&a)throw Error(R(425))}function Ul(){}var qi=null,Wi=null;function $i(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Vi=typeof setTimeout=="function"?setTimeout:void 0,nx=typeof clearTimeout=="function"?clearTimeout:void 0,Df=typeof Promise=="function"?Promise:void 0,lx=typeof queueMicrotask=="function"?queueMicrotask:typeof Df<"u"?function(e){return Df.resolve(null).then(e).catch(sx)}:Vi;function sx(e){setTimeout(function(){throw e})}function fi(e,t){var a=t,r=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&o.nodeType===8)if(a=o.data,a==="/$"){if(r===0){e.removeChild(o),tn(t);return}r--}else a!=="$"&&a!=="$?"&&a!=="$!"||r++;a=o}while(a);tn(t)}function Fa(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Ef(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(t===0)return e;t--}else a==="/$"&&t++}e=e.previousSibling}return null}var oo=Math.random().toString(36).slice(2),Jt="__reactFiber$"+oo,ln="__reactProps$"+oo,ga="__reactContainer$"+oo,Ki="__reactEvents$"+oo,ix="__reactListeners$"+oo,ux="__reactHandles$"+oo;function rr(e){var t=e[Jt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[ga]||a[Jt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Ef(e);e!==null;){if(a=e[Jt])return a;e=Ef(e)}return t}e=a,a=e.parentNode}return null}function hn(e){return e=e[Jt]||e[ga],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function zr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(R(33))}function ls(e){return e[ln]||null}var Gi=[],Nr=-1;function qa(e){return{current:e}}function Ce(e){0>Nr||(e.current=Gi[Nr],Gi[Nr]=null,Nr--)}function Le(e,t){Nr++,Gi[Nr]=e.current,e.current=t}var Ua={},je=qa(Ua),ut=qa(!1),ir=Ua;function Yr(e,t){var a=e.type.contextTypes;if(!a)return Ua;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},n;for(n in a)o[n]=t[n];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function dt(e){return e=e.childContextTypes,e!=null}function _l(){Ce(ut),Ce(je)}function Ff(e,t,a){if(je.current!==Ua)throw Error(R(168));Le(je,t),Le(ut,a)}function rp(e,t,a){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return a;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(R(108,Xg(e)||"Unknown",o));return Pe({},a,r)}function ql(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ua,ir=je.current,Le(je,e),Le(ut,ut.current),!0}function Bf(e,t,a){var r=e.stateNode;if(!r)throw Error(R(169));a?(e=rp(e,t,ir),r.__reactInternalMemoizedMergedChildContext=e,Ce(ut),Ce(je),Le(je,e)):Ce(ut),Le(ut,a)}var da=null,ss=!1,ci=!1;function op(e){da===null?da=[e]:da.push(e)}function dx(e){ss=!0,op(e)}function Wa(){if(!ci&&da!==null){ci=!0;var e=0,t=xe;try{var a=da;for(xe=1;e<a.length;e++){var r=a[e];do r=r(!0);while(r!==null)}da=null,ss=!1}catch(o){throw da!==null&&(da=da.slice(e+1)),Rc(Lu,Wa),o}finally{xe=t,ci=!1}}return null}var Hr=[],Ur=0,Wl=null,$l=0,wt=[],kt=0,ur=null,fa=1,ca="";function tr(e,t){Hr[Ur++]=$l,Hr[Ur++]=Wl,Wl=e,$l=t}function np(e,t,a){wt[kt++]=fa,wt[kt++]=ca,wt[kt++]=ur,ur=e;var r=fa;e=ca;var o=32-_t(r)-1;r&=~(1<<o),a+=1;var n=32-_t(t)+o;if(30<n){var l=o-o%5;n=(r&(1<<l)-1).toString(32),r>>=l,o-=l,fa=1<<32-_t(t)+o|a<<o|r,ca=n+e}else fa=1<<n|a<<o|r,ca=e}function Ru(e){e.return!==null&&(tr(e,1),np(e,1,0))}function Mu(e){for(;e===Wl;)Wl=Hr[--Ur],Hr[Ur]=null,$l=Hr[--Ur],Hr[Ur]=null;for(;e===ur;)ur=wt[--kt],wt[kt]=null,ca=wt[--kt],wt[kt]=null,fa=wt[--kt],wt[kt]=null}var vt=null,xt=null,we=!1,Ut=null;function lp(e,t){var a=bt(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,t=e.deletions,t===null?(e.deletions=[a],e.flags|=16):t.push(a)}function Of(e,t){switch(e.tag){case 5:var a=e.type;return t=t.nodeType!==1||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,vt=e,xt=Fa(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,vt=e,xt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=ur!==null?{id:fa,overflow:ca}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=bt(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,vt=e,xt=null,!0):!1;default:return!1}}function ji(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Xi(e){if(we){var t=xt;if(t){var a=t;if(!Of(e,t)){if(ji(e))throw Error(R(418));t=Fa(a.nextSibling);var r=vt;t&&Of(e,t)?lp(r,a):(e.flags=e.flags&-4097|2,we=!1,vt=e)}}else{if(ji(e))throw Error(R(418));e.flags=e.flags&-4097|2,we=!1,vt=e}}}function zf(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;vt=e}function xl(e){if(e!==vt)return!1;if(!we)return zf(e),we=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!$i(e.type,e.memoizedProps)),t&&(t=xt)){if(ji(e))throw sp(),Error(R(418));for(;t;)lp(e,t),t=Fa(t.nextSibling)}if(zf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(R(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){xt=Fa(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}xt=null}}else xt=vt?Fa(e.stateNode.nextSibling):null;return!0}function sp(){for(var e=xt;e;)e=Fa(e.nextSibling)}function Jr(){xt=vt=null,we=!1}function Au(e){Ut===null?Ut=[e]:Ut.push(e)}var fx=va.ReactCurrentBatchConfig;function Eo(e,t,a){if(e=a.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(R(309));var r=a.stateNode}if(!r)throw Error(R(147,e));var o=r,n=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===n?t.ref:(t=function(l){var s=o.refs;l===null?delete s[n]:s[n]=l},t._stringRef=n,t)}if(typeof e!="string")throw Error(R(284));if(!a._owner)throw Error(R(290,e))}return e}function vl(e,t){throw e=Object.prototype.toString.call(t),Error(R(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Nf(e){var t=e._init;return t(e._payload)}function ip(e){function t(f,u){if(e){var p=f.deletions;p===null?(f.deletions=[u],f.flags|=16):p.push(u)}}function a(f,u){if(!e)return null;for(;u!==null;)t(f,u),u=u.sibling;return null}function r(f,u){for(f=new Map;u!==null;)u.key!==null?f.set(u.key,u):f.set(u.index,u),u=u.sibling;return f}function o(f,u){return f=Na(f,u),f.index=0,f.sibling=null,f}function n(f,u,p){return f.index=p,e?(p=f.alternate,p!==null?(p=p.index,p<u?(f.flags|=2,u):p):(f.flags|=2,u)):(f.flags|=1048576,u)}function l(f){return e&&f.alternate===null&&(f.flags|=2),f}function s(f,u,p,S){return u===null||u.tag!==6?(u=yi(p,f.mode,S),u.return=f,u):(u=o(u,p),u.return=f,u)}function i(f,u,p,S){var w=p.type;return w===Er?g(f,u,p.props.children,S,p.key):u!==null&&(u.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===ka&&Nf(w)===u.type)?(S=o(u,p.props),S.ref=Eo(f,u,p),S.return=f,S):(S=Al(p.type,p.key,p.props,null,f.mode,S),S.ref=Eo(f,u,p),S.return=f,S)}function d(f,u,p,S){return u===null||u.tag!==4||u.stateNode.containerInfo!==p.containerInfo||u.stateNode.implementation!==p.implementation?(u=Li(p,f.mode,S),u.return=f,u):(u=o(u,p.children||[]),u.return=f,u)}function g(f,u,p,S,w){return u===null||u.tag!==7?(u=sr(p,f.mode,S,w),u.return=f,u):(u=o(u,p),u.return=f,u)}function m(f,u,p){if(typeof u=="string"&&u!==""||typeof u=="number")return u=yi(""+u,f.mode,p),u.return=f,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case rl:return p=Al(u.type,u.key,u.props,null,f.mode,p),p.ref=Eo(f,null,u),p.return=f,p;case Dr:return u=Li(u,f.mode,p),u.return=f,u;case ka:var S=u._init;return m(f,S(u._payload),p)}if(No(u)||Ro(u))return u=sr(u,f.mode,p,null),u.return=f,u;vl(f,u)}return null}function c(f,u,p,S){var w=u!==null?u.key:null;if(typeof p=="string"&&p!==""||typeof p=="number")return w!==null?null:s(f,u,""+p,S);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case rl:return p.key===w?i(f,u,p,S):null;case Dr:return p.key===w?d(f,u,p,S):null;case ka:return w=p._init,c(f,u,w(p._payload),S)}if(No(p)||Ro(p))return w!==null?null:g(f,u,p,S,null);vl(f,p)}return null}function y(f,u,p,S,w){if(typeof S=="string"&&S!==""||typeof S=="number")return f=f.get(p)||null,s(u,f,""+S,w);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case rl:return f=f.get(S.key===null?p:S.key)||null,i(u,f,S,w);case Dr:return f=f.get(S.key===null?p:S.key)||null,d(u,f,S,w);case ka:var T=S._init;return y(f,u,p,T(S._payload),w)}if(No(S)||Ro(S))return f=f.get(p)||null,g(u,f,S,w,null);vl(u,S)}return null}function h(f,u,p,S){for(var w=null,T=null,v=u,L=u=0,q=null;v!==null&&L<p.length;L++){v.index>L?(q=v,v=null):q=v.sibling;var b=c(f,v,p[L],S);if(b===null){v===null&&(v=q);break}e&&v&&b.alternate===null&&t(f,v),u=n(b,u,L),T===null?w=b:T.sibling=b,T=b,v=q}if(L===p.length)return a(f,v),we&&tr(f,L),w;if(v===null){for(;L<p.length;L++)v=m(f,p[L],S),v!==null&&(u=n(v,u,L),T===null?w=v:T.sibling=v,T=v);return we&&tr(f,L),w}for(v=r(f,v);L<p.length;L++)q=y(v,f,L,p[L],S),q!==null&&(e&&q.alternate!==null&&v.delete(q.key===null?L:q.key),u=n(q,u,L),T===null?w=q:T.sibling=q,T=q);return e&&v.forEach(function(M){return t(f,M)}),we&&tr(f,L),w}function I(f,u,p,S){var w=Ro(p);if(typeof w!="function")throw Error(R(150));if(p=w.call(p),p==null)throw Error(R(151));for(var T=w=null,v=u,L=u=0,q=null,b=p.next();v!==null&&!b.done;L++,b=p.next()){v.index>L?(q=v,v=null):q=v.sibling;var M=c(f,v,b.value,S);if(M===null){v===null&&(v=q);break}e&&v&&M.alternate===null&&t(f,v),u=n(M,u,L),T===null?w=M:T.sibling=M,T=M,v=q}if(b.done)return a(f,v),we&&tr(f,L),w;if(v===null){for(;!b.done;L++,b=p.next())b=m(f,b.value,S),b!==null&&(u=n(b,u,L),T===null?w=b:T.sibling=b,T=b);return we&&tr(f,L),w}for(v=r(f,v);!b.done;L++,b=p.next())b=y(v,f,L,b.value,S),b!==null&&(e&&b.alternate!==null&&v.delete(b.key===null?L:b.key),u=n(b,u,L),T===null?w=b:T.sibling=b,T=b);return e&&v.forEach(function(_){return t(f,_)}),we&&tr(f,L),w}function z(f,u,p,S){if(typeof p=="object"&&p!==null&&p.type===Er&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case rl:e:{for(var w=p.key,T=u;T!==null;){if(T.key===w){if(w=p.type,w===Er){if(T.tag===7){a(f,T.sibling),u=o(T,p.props.children),u.return=f,f=u;break e}}else if(T.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===ka&&Nf(w)===T.type){a(f,T.sibling),u=o(T,p.props),u.ref=Eo(f,T,p),u.return=f,f=u;break e}a(f,T);break}else t(f,T);T=T.sibling}p.type===Er?(u=sr(p.props.children,f.mode,S,p.key),u.return=f,f=u):(S=Al(p.type,p.key,p.props,null,f.mode,S),S.ref=Eo(f,u,p),S.return=f,f=S)}return l(f);case Dr:e:{for(T=p.key;u!==null;){if(u.key===T)if(u.tag===4&&u.stateNode.containerInfo===p.containerInfo&&u.stateNode.implementation===p.implementation){a(f,u.sibling),u=o(u,p.children||[]),u.return=f,f=u;break e}else{a(f,u);break}else t(f,u);u=u.sibling}u=Li(p,f.mode,S),u.return=f,f=u}return l(f);case ka:return T=p._init,z(f,u,T(p._payload),S)}if(No(p))return h(f,u,p,S);if(Ro(p))return I(f,u,p,S);vl(f,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,u!==null&&u.tag===6?(a(f,u.sibling),u=o(u,p),u.return=f,f=u):(a(f,u),u=yi(p,f.mode,S),u.return=f,f=u),l(f)):a(f,u)}return z}var Zr=ip(!0),up=ip(!1),Vl=qa(null),Kl=null,_r=null,Du=null;function Eu(){Du=_r=Kl=null}function Fu(e){var t=Vl.current;Ce(Vl),e._currentValue=t}function Qi(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function jr(e,t){Kl=e,Du=_r=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(it=!0),e.firstContext=null)}function Tt(e){var t=e._currentValue;if(Du!==e)if(e={context:e,memoizedValue:t,next:null},_r===null){if(Kl===null)throw Error(R(308));_r=e,Kl.dependencies={lanes:0,firstContext:e}}else _r=_r.next=e;return t}var or=null;function Bu(e){or===null?or=[e]:or.push(e)}function dp(e,t,a,r){var o=t.interleaved;return o===null?(a.next=a,Bu(t)):(a.next=o.next,o.next=a),t.interleaved=a,ha(e,r)}function ha(e,t){e.lanes|=t;var a=e.alternate;for(a!==null&&(a.lanes|=t),a=e,e=e.return;e!==null;)e.childLanes|=t,a=e.alternate,a!==null&&(a.childLanes|=t),a=e,e=e.return;return a.tag===3?a.stateNode:null}var ba=!1;function Ou(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fp(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function pa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(pe&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,ha(e,a)}return o=r.interleaved,o===null?(t.next=t,Bu(r)):(t.next=o.next,o.next=t),r.interleaved=t,ha(e,a)}function kl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Su(e,a)}}function Hf(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var o=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var l={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};n===null?o=n=l:n=n.next=l,a=a.next}while(a!==null);n===null?o=n=t:n=n.next=t}else o=n=t;a={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:n,shared:r.shared,effects:r.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Gl(e,t,a,r){var o=e.updateQueue;ba=!1;var n=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var i=s,d=i.next;i.next=null,l===null?n=d:l.next=d,l=i;var g=e.alternate;g!==null&&(g=g.updateQueue,s=g.lastBaseUpdate,s!==l&&(s===null?g.firstBaseUpdate=d:s.next=d,g.lastBaseUpdate=i))}if(n!==null){var m=o.baseState;l=0,g=d=i=null,s=n;do{var c=s.lane,y=s.eventTime;if((r&c)===c){g!==null&&(g=g.next={eventTime:y,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var h=e,I=s;switch(c=t,y=a,I.tag){case 1:if(h=I.payload,typeof h=="function"){m=h.call(y,m,c);break e}m=h;break e;case 3:h.flags=h.flags&-65537|128;case 0:if(h=I.payload,c=typeof h=="function"?h.call(y,m,c):h,c==null)break e;m=Pe({},m,c);break e;case 2:ba=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,c=o.effects,c===null?o.effects=[s]:c.push(s))}else y={eventTime:y,lane:c,tag:s.tag,payload:s.payload,callback:s.callback,next:null},g===null?(d=g=y,i=m):g=g.next=y,l|=c;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;c=s,s=c.next,c.next=null,o.lastBaseUpdate=c,o.shared.pending=null}}while(!0);if(g===null&&(i=m),o.baseState=i,o.firstBaseUpdate=d,o.lastBaseUpdate=g,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else n===null&&(o.shared.lanes=0);fr|=l,e.lanes=l,e.memoizedState=m}}function Uf(e,t,a){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(o!==null){if(r.callback=null,r=a,typeof o!="function")throw Error(R(191,o));o.call(r)}}}var xn={},ea=qa(xn),sn=qa(xn),un=qa(xn);function nr(e){if(e===xn)throw Error(R(174));return e}function zu(e,t){switch(Le(un,t),Le(sn,e),Le(ea,xn),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Mi(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Mi(t,e)}Ce(ea),Le(ea,t)}function eo(){Ce(ea),Ce(sn),Ce(un)}function cp(e){nr(un.current);var t=nr(ea.current),a=Mi(t,e.type);t!==a&&(Le(sn,e),Le(ea,a))}function Nu(e){sn.current===e&&(Ce(ea),Ce(sn))}var ke=qa(0);function jl(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var pi=[];function Hu(){for(var e=0;e<pi.length;e++)pi[e]._workInProgressVersionPrimary=null;pi.length=0}var bl=va.ReactCurrentDispatcher,mi=va.ReactCurrentBatchConfig,dr=0,be=null,Fe=null,Oe=null,Xl=!1,Ko=!1,dn=0,cx=0;function Ve(){throw Error(R(321))}function Uu(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Wt(e[a],t[a]))return!1;return!0}function _u(e,t,a,r,o,n){if(dr=n,be=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,bl.current=e===null||e.memoizedState===null?hx:xx,e=a(r,o),Ko){n=0;do{if(Ko=!1,dn=0,25<=n)throw Error(R(301));n+=1,Oe=Fe=null,t.updateQueue=null,bl.current=vx,e=a(r,o)}while(Ko)}if(bl.current=Ql,t=Fe!==null&&Fe.next!==null,dr=0,Oe=Fe=be=null,Xl=!1,t)throw Error(R(300));return e}function qu(){var e=dn!==0;return dn=0,e}function Yt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Oe===null?be.memoizedState=Oe=e:Oe=Oe.next=e,Oe}function Rt(){if(Fe===null){var e=be.alternate;e=e!==null?e.memoizedState:null}else e=Fe.next;var t=Oe===null?be.memoizedState:Oe.next;if(t!==null)Oe=t,Fe=e;else{if(e===null)throw Error(R(310));Fe=e,e={memoizedState:Fe.memoizedState,baseState:Fe.baseState,baseQueue:Fe.baseQueue,queue:Fe.queue,next:null},Oe===null?be.memoizedState=Oe=e:Oe=Oe.next=e}return Oe}function fn(e,t){return typeof t=="function"?t(e):t}function gi(e){var t=Rt(),a=t.queue;if(a===null)throw Error(R(311));a.lastRenderedReducer=e;var r=Fe,o=r.baseQueue,n=a.pending;if(n!==null){if(o!==null){var l=o.next;o.next=n.next,n.next=l}r.baseQueue=o=n,a.pending=null}if(o!==null){n=o.next,r=r.baseState;var s=l=null,i=null,d=n;do{var g=d.lane;if((dr&g)===g)i!==null&&(i=i.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var m={lane:g,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};i===null?(s=i=m,l=r):i=i.next=m,be.lanes|=g,fr|=g}d=d.next}while(d!==null&&d!==n);i===null?l=r:i.next=s,Wt(r,t.memoizedState)||(it=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=i,a.lastRenderedState=r}if(e=a.interleaved,e!==null){o=e;do n=o.lane,be.lanes|=n,fr|=n,o=o.next;while(o!==e)}else o===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function hi(e){var t=Rt(),a=t.queue;if(a===null)throw Error(R(311));a.lastRenderedReducer=e;var r=a.dispatch,o=a.pending,n=t.memoizedState;if(o!==null){a.pending=null;var l=o=o.next;do n=e(n,l.action),l=l.next;while(l!==o);Wt(n,t.memoizedState)||(it=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function pp(){}function mp(e,t){var a=be,r=Rt(),o=t(),n=!Wt(r.memoizedState,o);if(n&&(r.memoizedState=o,it=!0),r=r.queue,Wu(xp.bind(null,a,r,e),[e]),r.getSnapshot!==t||n||Oe!==null&&Oe.memoizedState.tag&1){if(a.flags|=2048,cn(9,hp.bind(null,a,r,o,t),void 0,null),ze===null)throw Error(R(349));(dr&30)!==0||gp(a,t,o)}return o}function gp(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=be.updateQueue,t===null?(t={lastEffect:null,stores:null},be.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function hp(e,t,a,r){t.value=a,t.getSnapshot=r,vp(t)&&yp(e)}function xp(e,t,a){return a(function(){vp(t)&&yp(e)})}function vp(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Wt(e,a)}catch{return!0}}function yp(e){var t=ha(e,1);t!==null&&qt(t,e,1,-1)}function _f(e){var t=Yt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:e},t.queue=e,e=e.dispatch=gx.bind(null,be,e),[t.memoizedState,e]}function cn(e,t,a,r){return e={tag:e,create:t,destroy:a,deps:r,next:null},t=be.updateQueue,t===null?(t={lastEffect:null,stores:null},be.updateQueue=t,t.lastEffect=e.next=e):(a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e)),e}function Lp(){return Rt().memoizedState}function Pl(e,t,a,r){var o=Yt();be.flags|=e,o.memoizedState=cn(1|t,a,void 0,r===void 0?null:r)}function is(e,t,a,r){var o=Rt();r=r===void 0?null:r;var n=void 0;if(Fe!==null){var l=Fe.memoizedState;if(n=l.destroy,r!==null&&Uu(r,l.deps)){o.memoizedState=cn(t,a,n,r);return}}be.flags|=e,o.memoizedState=cn(1|t,a,n,r)}function qf(e,t){return Pl(8390656,8,e,t)}function Wu(e,t){return is(2048,8,e,t)}function Sp(e,t){return is(4,2,e,t)}function Ip(e,t){return is(4,4,e,t)}function Cp(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function wp(e,t,a){return a=a!=null?a.concat([e]):null,is(4,4,Cp.bind(null,t,e),a)}function $u(){}function kp(e,t){var a=Rt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&Uu(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function bp(e,t){var a=Rt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&Uu(t,r[1])?r[0]:(e=e(),a.memoizedState=[e,t],e)}function Pp(e,t,a){return(dr&21)===0?(e.baseState&&(e.baseState=!1,it=!0),e.memoizedState=a):(Wt(a,t)||(a=Dc(),be.lanes|=a,fr|=a,e.baseState=!0),t)}function px(e,t){var a=xe;xe=a!==0&&4>a?a:4,e(!0);var r=mi.transition;mi.transition={};try{e(!1),t()}finally{xe=a,mi.transition=r}}function Tp(){return Rt().memoizedState}function mx(e,t,a){var r=za(e);if(a={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null},Rp(e))Mp(t,a);else if(a=dp(e,t,a,r),a!==null){var o=Je();qt(a,e,r,o),Ap(a,t,r)}}function gx(e,t,a){var r=za(e),o={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null};if(Rp(e))Mp(t,o);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var l=t.lastRenderedState,s=n(l,a);if(o.hasEagerState=!0,o.eagerState=s,Wt(s,l)){var i=t.interleaved;i===null?(o.next=o,Bu(t)):(o.next=i.next,i.next=o),t.interleaved=o;return}}catch{}a=dp(e,t,o,r),a!==null&&(o=Je(),qt(a,e,r,o),Ap(a,t,r))}}function Rp(e){var t=e.alternate;return e===be||t!==null&&t===be}function Mp(e,t){Ko=Xl=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Ap(e,t,a){if((a&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Su(e,a)}}var Ql={readContext:Tt,useCallback:Ve,useContext:Ve,useEffect:Ve,useImperativeHandle:Ve,useInsertionEffect:Ve,useLayoutEffect:Ve,useMemo:Ve,useReducer:Ve,useRef:Ve,useState:Ve,useDebugValue:Ve,useDeferredValue:Ve,useTransition:Ve,useMutableSource:Ve,useSyncExternalStore:Ve,useId:Ve,unstable_isNewReconciler:!1},hx={readContext:Tt,useCallback:function(e,t){return Yt().memoizedState=[e,t===void 0?null:t],e},useContext:Tt,useEffect:qf,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,Pl(4194308,4,Cp.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Pl(4194308,4,e,t)},useInsertionEffect:function(e,t){return Pl(4,2,e,t)},useMemo:function(e,t){var a=Yt();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var r=Yt();return t=a!==void 0?a(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=mx.bind(null,be,e),[r.memoizedState,e]},useRef:function(e){var t=Yt();return e={current:e},t.memoizedState=e},useState:_f,useDebugValue:$u,useDeferredValue:function(e){return Yt().memoizedState=e},useTransition:function(){var e=_f(!1),t=e[0];return e=px.bind(null,e[1]),Yt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var r=be,o=Yt();if(we){if(a===void 0)throw Error(R(407));a=a()}else{if(a=t(),ze===null)throw Error(R(349));(dr&30)!==0||gp(r,t,a)}o.memoizedState=a;var n={value:a,getSnapshot:t};return o.queue=n,qf(xp.bind(null,r,n,e),[e]),r.flags|=2048,cn(9,hp.bind(null,r,n,a,t),void 0,null),a},useId:function(){var e=Yt(),t=ze.identifierPrefix;if(we){var a=ca,r=fa;a=(r&~(1<<32-_t(r)-1)).toString(32)+a,t=":"+t+"R"+a,a=dn++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=cx++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},xx={readContext:Tt,useCallback:kp,useContext:Tt,useEffect:Wu,useImperativeHandle:wp,useInsertionEffect:Sp,useLayoutEffect:Ip,useMemo:bp,useReducer:gi,useRef:Lp,useState:function(){return gi(fn)},useDebugValue:$u,useDeferredValue:function(e){var t=Rt();return Pp(t,Fe.memoizedState,e)},useTransition:function(){var e=gi(fn)[0],t=Rt().memoizedState;return[e,t]},useMutableSource:pp,useSyncExternalStore:mp,useId:Tp,unstable_isNewReconciler:!1},vx={readContext:Tt,useCallback:kp,useContext:Tt,useEffect:Wu,useImperativeHandle:wp,useInsertionEffect:Sp,useLayoutEffect:Ip,useMemo:bp,useReducer:hi,useRef:Lp,useState:function(){return hi(fn)},useDebugValue:$u,useDeferredValue:function(e){var t=Rt();return Fe===null?t.memoizedState=e:Pp(t,Fe.memoizedState,e)},useTransition:function(){var e=hi(fn)[0],t=Rt().memoizedState;return[e,t]},useMutableSource:pp,useSyncExternalStore:mp,useId:Tp,unstable_isNewReconciler:!1};function Nt(e,t){if(e&&e.defaultProps){t=Pe({},t),e=e.defaultProps;for(var a in e)t[a]===void 0&&(t[a]=e[a]);return t}return t}function Yi(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:Pe({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var us={isMounted:function(e){return(e=e._reactInternals)?mr(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var r=Je(),o=za(e),n=pa(r,o);n.payload=t,a!=null&&(n.callback=a),t=Ba(e,n,o),t!==null&&(qt(t,e,o,r),kl(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=Je(),o=za(e),n=pa(r,o);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=Ba(e,n,o),t!==null&&(qt(t,e,o,r),kl(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Je(),r=za(e),o=pa(a,r);o.tag=2,t!=null&&(o.callback=t),t=Ba(e,o,r),t!==null&&(qt(t,e,r,a),kl(t,e,r))}};function Wf(e,t,a,r,o,n,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,n,l):t.prototype&&t.prototype.isPureReactComponent?!rn(a,r)||!rn(o,n):!0}function Dp(e,t,a){var r=!1,o=Ua,n=t.contextType;return typeof n=="object"&&n!==null?n=Tt(n):(o=dt(t)?ir:je.current,r=t.contextTypes,n=(r=r!=null)?Yr(e,o):Ua),t=new t(a,n),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=us,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=n),t}function $f(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&us.enqueueReplaceState(t,t.state,null)}function Ji(e,t,a,r){var o=e.stateNode;o.props=a,o.state=e.memoizedState,o.refs={},Ou(e);var n=t.contextType;typeof n=="object"&&n!==null?o.context=Tt(n):(n=dt(t)?ir:je.current,o.context=Yr(e,n)),o.state=e.memoizedState,n=t.getDerivedStateFromProps,typeof n=="function"&&(Yi(e,t,n,a),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&us.enqueueReplaceState(o,o.state,null),Gl(e,a,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function to(e,t){try{var a="",r=t;do a+=jg(r),r=r.return;while(r);var o=a}catch(n){o=`\nError generating stack: `+n.message+`\n`+n.stack}return{value:e,source:t,stack:o,digest:null}}function xi(e,t,a){return{value:e,source:null,stack:a??null,digest:t??null}}function Zi(e,t){try{console.error(t.value)}catch(a){setTimeout(function(){throw a})}}var yx=typeof WeakMap=="function"?WeakMap:Map;function Ep(e,t,a){a=pa(-1,a),a.tag=3,a.payload={element:null};var r=t.value;return a.callback=function(){Jl||(Jl=!0,uu=r),Zi(e,t)},a}function Fp(e,t,a){a=pa(-1,a),a.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var o=t.value;a.payload=function(){return r(o)},a.callback=function(){Zi(e,t)}}var n=e.stateNode;return n!==null&&typeof n.componentDidCatch=="function"&&(a.callback=function(){Zi(e,t),typeof r!="function"&&(Oa===null?Oa=new Set([this]):Oa.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),a}function Vf(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new yx;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(a)||(o.add(a),e=Ex.bind(null,e,t,a),t.then(e,e))}function Kf(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Gf(e,t,a,r,o){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(t=pa(-1,1),t.tag=2,Ba(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var Lx=va.ReactCurrentOwner,it=!1;function Ye(e,t,a,r){t.child=e===null?up(t,null,a,r):Zr(t,e.child,a,r)}function jf(e,t,a,r,o){a=a.render;var n=t.ref;return jr(t,o),r=_u(e,t,a,r,n,o),a=qu(),e!==null&&!it?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,xa(e,t,o)):(we&&a&&Ru(t),t.flags|=1,Ye(e,t,r,o),t.child)}function Xf(e,t,a,r,o){if(e===null){var n=a.type;return typeof n=="function"&&!Ju(n)&&n.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(t.tag=15,t.type=n,Bp(e,t,n,r,o)):(e=Al(a.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,(e.lanes&o)===0){var l=n.memoizedProps;if(a=a.compare,a=a!==null?a:rn,a(l,r)&&e.ref===t.ref)return xa(e,t,o)}return t.flags|=1,e=Na(n,r),e.ref=t.ref,e.return=t,t.child=e}function Bp(e,t,a,r,o){if(e!==null){var n=e.memoizedProps;if(rn(n,r)&&e.ref===t.ref)if(it=!1,t.pendingProps=r=n,(e.lanes&o)!==0)(e.flags&131072)!==0&&(it=!0);else return t.lanes=e.lanes,xa(e,t,o)}return eu(e,t,a,r,o)}function Op(e,t,a){var r=t.pendingProps,o=r.children,n=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Le(Wr,ht),ht|=a;else{if((a&1073741824)===0)return e=n!==null?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Le(Wr,ht),ht|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=n!==null?n.baseLanes:a,Le(Wr,ht),ht|=r}else n!==null?(r=n.baseLanes|a,t.memoizedState=null):r=a,Le(Wr,ht),ht|=r;return Ye(e,t,o,a),t.child}function zp(e,t){var a=t.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function eu(e,t,a,r,o){var n=dt(a)?ir:je.current;return n=Yr(t,n),jr(t,o),a=_u(e,t,a,r,n,o),r=qu(),e!==null&&!it?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,xa(e,t,o)):(we&&r&&Ru(t),t.flags|=1,Ye(e,t,a,o),t.child)}function Qf(e,t,a,r,o){if(dt(a)){var n=!0;ql(t)}else n=!1;if(jr(t,o),t.stateNode===null)Tl(e,t),Dp(t,a,r),Ji(t,a,r,o),r=!0;else if(e===null){var l=t.stateNode,s=t.memoizedProps;l.props=s;var i=l.context,d=a.contextType;typeof d=="object"&&d!==null?d=Tt(d):(d=dt(a)?ir:je.current,d=Yr(t,d));var g=a.getDerivedStateFromProps,m=typeof g=="function"||typeof l.getSnapshotBeforeUpdate=="function";m||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==r||i!==d)&&$f(t,l,r,d),ba=!1;var c=t.memoizedState;l.state=c,Gl(t,r,l,o),i=t.memoizedState,s!==r||c!==i||ut.current||ba?(typeof g=="function"&&(Yi(t,a,g,r),i=t.memoizedState),(s=ba||Wf(t,a,s,r,c,i,d))?(m||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=i),l.props=r,l.state=i,l.context=d,r=s):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{l=t.stateNode,fp(e,t),s=t.memoizedProps,d=t.type===t.elementType?s:Nt(t.type,s),l.props=d,m=t.pendingProps,c=l.context,i=a.contextType,typeof i=="object"&&i!==null?i=Tt(i):(i=dt(a)?ir:je.current,i=Yr(t,i));var y=a.getDerivedStateFromProps;(g=typeof y=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==m||c!==i)&&$f(t,l,r,i),ba=!1,c=t.memoizedState,l.state=c,Gl(t,r,l,o);var h=t.memoizedState;s!==m||c!==h||ut.current||ba?(typeof y=="function"&&(Yi(t,a,y,r),h=t.memoizedState),(d=ba||Wf(t,a,d,r,c,h,i)||!1)?(g||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(r,h,i),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(r,h,i)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&c===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&c===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),l.props=r,l.state=h,l.context=i,r=d):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&c===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&c===e.memoizedState||(t.flags|=1024),r=!1)}return tu(e,t,a,r,n,o)}function tu(e,t,a,r,o,n){zp(e,t);var l=(t.flags&128)!==0;if(!r&&!l)return o&&Bf(t,a,!1),xa(e,t,n);r=t.stateNode,Lx.current=t;var s=l&&typeof a.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&l?(t.child=Zr(t,e.child,null,n),t.child=Zr(t,null,s,n)):Ye(e,t,s,n),t.memoizedState=r.state,o&&Bf(t,a,!0),t.child}function Np(e){var t=e.stateNode;t.pendingContext?Ff(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Ff(e,t.context,!1),zu(e,t.containerInfo)}function Yf(e,t,a,r,o){return Jr(),Au(o),t.flags|=256,Ye(e,t,a,r),t.child}var au={dehydrated:null,treeContext:null,retryLane:0};function ru(e){return{baseLanes:e,cachePool:null,transitions:null}}function Hp(e,t,a){var r=t.pendingProps,o=ke.current,n=!1,l=(t.flags&128)!==0,s;if((s=l)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(n=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),Le(ke,o&1),e===null)return Xi(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(l=r.children,e=r.fallback,n?(r=t.mode,n=t.child,l={mode:"hidden",children:l},(r&1)===0&&n!==null?(n.childLanes=0,n.pendingProps=l):n=cs(l,r,0,null),e=sr(e,r,a,null),n.return=t,e.return=t,n.sibling=e,t.child=n,t.child.memoizedState=ru(a),t.memoizedState=au,e):Vu(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return Sx(e,t,l,r,s,o,a);if(n){n=r.fallback,l=t.mode,o=e.child,s=o.sibling;var i={mode:"hidden",children:r.children};return(l&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=i,t.deletions=null):(r=Na(o,i),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?n=Na(s,n):(n=sr(n,l,a,null),n.flags|=2),n.return=t,r.return=t,r.sibling=n,t.child=r,r=n,n=t.child,l=e.child.memoizedState,l=l===null?ru(a):{baseLanes:l.baseLanes|a,cachePool:null,transitions:l.transitions},n.memoizedState=l,n.childLanes=e.childLanes&~a,t.memoizedState=au,r}return n=e.child,e=n.sibling,r=Na(n,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=a),r.return=t,r.sibling=null,e!==null&&(a=t.deletions,a===null?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=r,t.memoizedState=null,r}function Vu(e,t){return t=cs({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function yl(e,t,a,r){return r!==null&&Au(r),Zr(t,e.child,null,a),e=Vu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Sx(e,t,a,r,o,n,l){if(a)return t.flags&256?(t.flags&=-257,r=xi(Error(R(422))),yl(e,t,l,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(n=r.fallback,o=t.mode,r=cs({mode:"visible",children:r.children},o,0,null),n=sr(n,o,l,null),n.flags|=2,r.return=t,n.return=t,r.sibling=n,t.child=r,(t.mode&1)!==0&&Zr(t,e.child,null,l),t.child.memoizedState=ru(l),t.memoizedState=au,n);if((t.mode&1)===0)return yl(e,t,l,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,n=Error(R(419)),r=xi(n,r,void 0),yl(e,t,l,r)}if(s=(l&e.childLanes)!==0,it||s){if(r=ze,r!==null){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|l))!==0?0:o,o!==0&&o!==n.retryLane&&(n.retryLane=o,ha(e,o),qt(r,e,o,-1))}return Yu(),r=xi(Error(R(421))),yl(e,t,l,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=Fx.bind(null,e),o._reactRetry=t,null):(e=n.treeContext,xt=Fa(o.nextSibling),vt=t,we=!0,Ut=null,e!==null&&(wt[kt++]=fa,wt[kt++]=ca,wt[kt++]=ur,fa=e.id,ca=e.overflow,ur=t),t=Vu(t,r.children),t.flags|=4096,t)}function Jf(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Qi(e.return,t,a)}function vi(e,t,a,r,o){var n=e.memoizedState;n===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:o}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=r,n.tail=a,n.tailMode=o)}function Up(e,t,a){var r=t.pendingProps,o=r.revealOrder,n=r.tail;if(Ye(e,t,r.children,a),r=ke.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Jf(e,a,t);else if(e.tag===19)Jf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Le(ke,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(a=t.child,o=null;a!==null;)e=a.alternate,e!==null&&jl(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),vi(t,!1,o,a,n);break;case"backwards":for(a=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&jl(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}vi(t,!0,a,null,n);break;case"together":vi(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Tl(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function xa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),fr|=t.lanes,(a&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(R(153));if(t.child!==null){for(e=t.child,a=Na(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=Na(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Ix(e,t,a){switch(t.tag){case 3:Np(t),Jr();break;case 5:cp(t);break;case 1:dt(t.type)&&ql(t);break;case 4:zu(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Le(Vl,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Le(ke,ke.current&1),t.flags|=128,null):(a&t.child.childLanes)!==0?Hp(e,t,a):(Le(ke,ke.current&1),e=xa(e,t,a),e!==null?e.sibling:null);Le(ke,ke.current&1);break;case 19:if(r=(a&t.childLanes)!==0,(e.flags&128)!==0){if(r)return Up(e,t,a);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),Le(ke,ke.current),r)break;return null;case 22:case 23:return t.lanes=0,Op(e,t,a)}return xa(e,t,a)}var _p,ou,qp,Wp;_p=function(e,t){for(var a=t.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}};ou=function(){};qp=function(e,t,a,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,nr(ea.current);var n=null;switch(a){case"input":o=bi(e,o),r=bi(e,r),n=[];break;case"select":o=Pe({},o,{value:void 0}),r=Pe({},r,{value:void 0}),n=[];break;case"textarea":o=Ri(e,o),r=Ri(e,r),n=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Ul)}Ai(a,r);var l;a=null;for(d in o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&o[d]!=null)if(d==="style"){var s=o[d];for(l in s)s.hasOwnProperty(l)&&(a||(a={}),a[l]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(Qo.hasOwnProperty(d)?n||(n=[]):(n=n||[]).push(d,null));for(d in r){var i=r[d];if(s=o!=null?o[d]:void 0,r.hasOwnProperty(d)&&i!==s&&(i!=null||s!=null))if(d==="style")if(s){for(l in s)!s.hasOwnProperty(l)||i&&i.hasOwnProperty(l)||(a||(a={}),a[l]="");for(l in i)i.hasOwnProperty(l)&&s[l]!==i[l]&&(a||(a={}),a[l]=i[l])}else a||(n||(n=[]),n.push(d,a)),a=i;else d==="dangerouslySetInnerHTML"?(i=i?i.__html:void 0,s=s?s.__html:void 0,i!=null&&s!==i&&(n=n||[]).push(d,i)):d==="children"?typeof i!="string"&&typeof i!="number"||(n=n||[]).push(d,""+i):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(Qo.hasOwnProperty(d)?(i!=null&&d==="onScroll"&&Ie("scroll",e),n||s===i||(n=[])):(n=n||[]).push(d,i))}a&&(n=n||[]).push("style",a);var d=n;(t.updateQueue=d)&&(t.flags|=4)}};Wp=function(e,t,a,r){a!==r&&(t.flags|=4)};function Fo(e,t){if(!we)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ke(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function Cx(e,t,a){var r=t.pendingProps;switch(Mu(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ke(t),null;case 1:return dt(t.type)&&_l(),Ke(t),null;case 3:return r=t.stateNode,eo(),Ce(ut),Ce(je),Hu(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(xl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ut!==null&&(cu(Ut),Ut=null))),ou(e,t),Ke(t),null;case 5:Nu(t);var o=nr(un.current);if(a=t.type,e!==null&&t.stateNode!=null)qp(e,t,a,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(R(166));return Ke(t),null}if(e=nr(ea.current),xl(t)){r=t.stateNode,a=t.type;var n=t.memoizedProps;switch(r[Jt]=t,r[ln]=n,e=(t.mode&1)!==0,a){case"dialog":Ie("cancel",r),Ie("close",r);break;case"iframe":case"object":case"embed":Ie("load",r);break;case"video":case"audio":for(o=0;o<Uo.length;o++)Ie(Uo[o],r);break;case"source":Ie("error",r);break;case"img":case"image":case"link":Ie("error",r),Ie("load",r);break;case"details":Ie("toggle",r);break;case"input":nf(r,n),Ie("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!n.multiple},Ie("invalid",r);break;case"textarea":sf(r,n),Ie("invalid",r)}Ai(a,n),o=null;for(var l in n)if(n.hasOwnProperty(l)){var s=n[l];l==="children"?typeof s=="string"?r.textContent!==s&&(n.suppressHydrationWarning!==!0&&hl(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(n.suppressHydrationWarning!==!0&&hl(r.textContent,s,e),o=["children",""+s]):Qo.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&Ie("scroll",r)}switch(a){case"input":ol(r),lf(r,n,!0);break;case"textarea":ol(r),uf(r);break;case"select":case"option":break;default:typeof n.onClick=="function"&&(r.onclick=Ul)}r=o,t.updateQueue=r,r!==null&&(t.flags|=4)}else{l=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=xc(a)),e==="http://www.w3.org/1999/xhtml"?a==="script"?(e=l.createElement("div"),e.innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(a,{is:r.is}):(e=l.createElement(a),a==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,a),e[Jt]=t,e[ln]=r,_p(e,t,!1,!1),t.stateNode=e;e:{switch(l=Di(a,r),a){case"dialog":Ie("cancel",e),Ie("close",e),o=r;break;case"iframe":case"object":case"embed":Ie("load",e),o=r;break;case"video":case"audio":for(o=0;o<Uo.length;o++)Ie(Uo[o],e);o=r;break;case"source":Ie("error",e),o=r;break;case"img":case"image":case"link":Ie("error",e),Ie("load",e),o=r;break;case"details":Ie("toggle",e),o=r;break;case"input":nf(e,r),o=bi(e,r),Ie("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=Pe({},r,{value:void 0}),Ie("invalid",e);break;case"textarea":sf(e,r),o=Ri(e,r),Ie("invalid",e);break;default:o=r}Ai(a,o),s=o;for(n in s)if(s.hasOwnProperty(n)){var i=s[n];n==="style"?Lc(e,i):n==="dangerouslySetInnerHTML"?(i=i?i.__html:void 0,i!=null&&vc(e,i)):n==="children"?typeof i=="string"?(a!=="textarea"||i!=="")&&Yo(e,i):typeof i=="number"&&Yo(e,""+i):n!=="suppressContentEditableWarning"&&n!=="suppressHydrationWarning"&&n!=="autoFocus"&&(Qo.hasOwnProperty(n)?i!=null&&n==="onScroll"&&Ie("scroll",e):i!=null&&gu(e,n,i,l))}switch(a){case"input":ol(e),lf(e,r,!1);break;case"textarea":ol(e),uf(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Ha(r.value));break;case"select":e.multiple=!!r.multiple,n=r.value,n!=null?$r(e,!!r.multiple,n,!1):r.defaultValue!=null&&$r(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=Ul)}switch(a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Ke(t),null;case 6:if(e&&t.stateNode!=null)Wp(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(R(166));if(a=nr(un.current),nr(ea.current),xl(t)){if(r=t.stateNode,a=t.memoizedProps,r[Jt]=t,(n=r.nodeValue!==a)&&(e=vt,e!==null))switch(e.tag){case 3:hl(r.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&hl(r.nodeValue,a,(e.mode&1)!==0)}n&&(t.flags|=4)}else r=(a.nodeType===9?a:a.ownerDocument).createTextNode(r),r[Jt]=t,t.stateNode=r}return Ke(t),null;case 13:if(Ce(ke),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(we&&xt!==null&&(t.mode&1)!==0&&(t.flags&128)===0)sp(),Jr(),t.flags|=98560,n=!1;else if(n=xl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(R(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(R(317));n[Jt]=t}else Jr(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),n=!1}else Ut!==null&&(cu(Ut),Ut=null),n=!0;if(!n)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=a,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(ke.current&1)!==0?Be===0&&(Be=3):Yu())),t.updateQueue!==null&&(t.flags|=4),Ke(t),null);case 4:return eo(),ou(e,t),e===null&&on(t.stateNode.containerInfo),Ke(t),null;case 10:return Fu(t.type._context),Ke(t),null;case 17:return dt(t.type)&&_l(),Ke(t),null;case 19:if(Ce(ke),n=t.memoizedState,n===null)return Ke(t),null;if(r=(t.flags&128)!==0,l=n.rendering,l===null)if(r)Fo(n,!1);else{if(Be!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(l=jl(e),l!==null){for(t.flags|=128,Fo(n,!1),r=l.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=a,a=t.child;a!==null;)n=a,e=r,n.flags&=14680066,l=n.alternate,l===null?(n.childLanes=0,n.lanes=e,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=l.childLanes,n.lanes=l.lanes,n.child=l.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=l.memoizedProps,n.memoizedState=l.memoizedState,n.updateQueue=l.updateQueue,n.type=l.type,e=l.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return Le(ke,ke.current&1|2),t.child}e=e.sibling}n.tail!==null&&Me()>ao&&(t.flags|=128,r=!0,Fo(n,!1),t.lanes=4194304)}else{if(!r)if(e=jl(l),e!==null){if(t.flags|=128,r=!0,a=e.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),Fo(n,!0),n.tail===null&&n.tailMode==="hidden"&&!l.alternate&&!we)return Ke(t),null}else 2*Me()-n.renderingStartTime>ao&&a!==1073741824&&(t.flags|=128,r=!0,Fo(n,!1),t.lanes=4194304);n.isBackwards?(l.sibling=t.child,t.child=l):(a=n.last,a!==null?a.sibling=l:t.child=l,n.last=l)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Me(),t.sibling=null,a=ke.current,Le(ke,r?a&1|2:a&1),t):(Ke(t),null);case 22:case 23:return Qu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(ht&1073741824)!==0&&(Ke(t),t.subtreeFlags&6&&(t.flags|=8192)):Ke(t),null;case 24:return null;case 25:return null}throw Error(R(156,t.tag))}function wx(e,t){switch(Mu(t),t.tag){case 1:return dt(t.type)&&_l(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return eo(),Ce(ut),Ce(je),Hu(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Nu(t),null;case 13:if(Ce(ke),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(R(340));Jr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ce(ke),null;case 4:return eo(),null;case 10:return Fu(t.type._context),null;case 22:case 23:return Qu(),null;case 24:return null;default:return null}}var Ll=!1,Ge=!1,kx=typeof WeakSet=="function"?WeakSet:Set,N=null;function qr(e,t){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(r){Te(e,t,r)}else a.current=null}function nu(e,t,a){try{a()}catch(r){Te(e,t,r)}}var Zf=!1;function bx(e,t){if(qi=zl,e=jc(),Tu(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var o=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break e}var l=0,s=-1,i=-1,d=0,g=0,m=e,c=null;t:for(;;){for(var y;m!==a||o!==0&&m.nodeType!==3||(s=l+o),m!==n||r!==0&&m.nodeType!==3||(i=l+r),m.nodeType===3&&(l+=m.nodeValue.length),(y=m.firstChild)!==null;)c=m,m=y;for(;;){if(m===e)break t;if(c===a&&++d===o&&(s=l),c===n&&++g===r&&(i=l),(y=m.nextSibling)!==null)break;m=c,c=m.parentNode}m=y}a=s===-1||i===-1?null:{start:s,end:i}}else a=null}a=a||{start:0,end:0}}else a=null;for(Wi={focusedElem:e,selectionRange:a},zl=!1,N=t;N!==null;)if(t=N,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,N=e;else for(;N!==null;){t=N;try{var h=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var I=h.memoizedProps,z=h.memoizedState,f=t.stateNode,u=f.getSnapshotBeforeUpdate(t.elementType===t.type?I:Nt(t.type,I),z);f.__reactInternalSnapshotBeforeUpdate=u}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(R(163))}}catch(S){Te(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,N=e;break}N=t.return}return h=Zf,Zf=!1,h}function Go(e,t,a){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var n=o.destroy;o.destroy=void 0,n!==void 0&&nu(t,a,n)}o=o.next}while(o!==r)}}function ds(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var a=t=t.next;do{if((a.tag&e)===e){var r=a.create;a.destroy=r()}a=a.next}while(a!==t)}}function lu(e){var t=e.ref;if(t!==null){var a=e.stateNode;e.tag,e=a,typeof t=="function"?t(e):t.current=e}}function $p(e){var t=e.alternate;t!==null&&(e.alternate=null,$p(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Jt],delete t[ln],delete t[Ki],delete t[ix],delete t[ux])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Vp(e){return e.tag===5||e.tag===3||e.tag===4}function ec(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Vp(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function su(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.nodeType===8?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(a.nodeType===8?(t=a.parentNode,t.insertBefore(e,a)):(t=a,t.appendChild(e)),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Ul));else if(r!==4&&(e=e.child,e!==null))for(su(e,t,a),e=e.sibling;e!==null;)su(e,t,a),e=e.sibling}function iu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(iu(e,t,a),e=e.sibling;e!==null;)iu(e,t,a),e=e.sibling}var He=null,Ht=!1;function wa(e,t,a){for(a=a.child;a!==null;)Kp(e,t,a),a=a.sibling}function Kp(e,t,a){if(Zt&&typeof Zt.onCommitFiberUnmount=="function")try{Zt.onCommitFiberUnmount(as,a)}catch{}switch(a.tag){case 5:Ge||qr(a,t);case 6:var r=He,o=Ht;He=null,wa(e,t,a),He=r,Ht=o,He!==null&&(Ht?(e=He,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):He.removeChild(a.stateNode));break;case 18:He!==null&&(Ht?(e=He,a=a.stateNode,e.nodeType===8?fi(e.parentNode,a):e.nodeType===1&&fi(e,a),tn(e)):fi(He,a.stateNode));break;case 4:r=He,o=Ht,He=a.stateNode.containerInfo,Ht=!0,wa(e,t,a),He=r,Ht=o;break;case 0:case 11:case 14:case 15:if(!Ge&&(r=a.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var n=o,l=n.destroy;n=n.tag,l!==void 0&&((n&2)!==0||(n&4)!==0)&&nu(a,t,l),o=o.next}while(o!==r)}wa(e,t,a);break;case 1:if(!Ge&&(qr(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=a.memoizedProps,r.state=a.memoizedState,r.componentWillUnmount()}catch(s){Te(a,t,s)}wa(e,t,a);break;case 21:wa(e,t,a);break;case 22:a.mode&1?(Ge=(r=Ge)||a.memoizedState!==null,wa(e,t,a),Ge=r):wa(e,t,a);break;default:wa(e,t,a)}}function tc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new kx),t.forEach(function(r){var o=Bx.bind(null,e,r);a.has(r)||(a.add(r),r.then(o,o))})}}function zt(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var o=a[r];try{var n=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 5:He=s.stateNode,Ht=!1;break e;case 3:He=s.stateNode.containerInfo,Ht=!0;break e;case 4:He=s.stateNode.containerInfo,Ht=!0;break e}s=s.return}if(He===null)throw Error(R(160));Kp(n,l,o),He=null,Ht=!1;var i=o.alternate;i!==null&&(i.return=null),o.return=null}catch(d){Te(o,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Gp(t,e),t=t.sibling}function Gp(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(zt(t,e),Qt(e),r&4){try{Go(3,e,e.return),ds(3,e)}catch(I){Te(e,e.return,I)}try{Go(5,e,e.return)}catch(I){Te(e,e.return,I)}}break;case 1:zt(t,e),Qt(e),r&512&&a!==null&&qr(a,a.return);break;case 5:if(zt(t,e),Qt(e),r&512&&a!==null&&qr(a,a.return),e.flags&32){var o=e.stateNode;try{Yo(o,"")}catch(I){Te(e,e.return,I)}}if(r&4&&(o=e.stateNode,o!=null)){var n=e.memoizedProps,l=a!==null?a.memoizedProps:n,s=e.type,i=e.updateQueue;if(e.updateQueue=null,i!==null)try{s==="input"&&n.type==="radio"&&n.name!=null&&gc(o,n),Di(s,l);var d=Di(s,n);for(l=0;l<i.length;l+=2){var g=i[l],m=i[l+1];g==="style"?Lc(o,m):g==="dangerouslySetInnerHTML"?vc(o,m):g==="children"?Yo(o,m):gu(o,g,m,d)}switch(s){case"input":Pi(o,n);break;case"textarea":hc(o,n);break;case"select":var c=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!n.multiple;var y=n.value;y!=null?$r(o,!!n.multiple,y,!1):c!==!!n.multiple&&(n.defaultValue!=null?$r(o,!!n.multiple,n.defaultValue,!0):$r(o,!!n.multiple,n.multiple?[]:"",!1))}o[ln]=n}catch(I){Te(e,e.return,I)}}break;case 6:if(zt(t,e),Qt(e),r&4){if(e.stateNode===null)throw Error(R(162));o=e.stateNode,n=e.memoizedProps;try{o.nodeValue=n}catch(I){Te(e,e.return,I)}}break;case 3:if(zt(t,e),Qt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{tn(t.containerInfo)}catch(I){Te(e,e.return,I)}break;case 4:zt(t,e),Qt(e);break;case 13:zt(t,e),Qt(e),o=e.child,o.flags&8192&&(n=o.memoizedState!==null,o.stateNode.isHidden=n,!n||o.alternate!==null&&o.alternate.memoizedState!==null||(ju=Me())),r&4&&tc(e);break;case 22:if(g=a!==null&&a.memoizedState!==null,e.mode&1?(Ge=(d=Ge)||g,zt(t,e),Ge=d):zt(t,e),Qt(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!g&&(e.mode&1)!==0)for(N=e,g=e.child;g!==null;){for(m=N=g;N!==null;){switch(c=N,y=c.child,c.tag){case 0:case 11:case 14:case 15:Go(4,c,c.return);break;case 1:qr(c,c.return);var h=c.stateNode;if(typeof h.componentWillUnmount=="function"){r=c,a=c.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(I){Te(r,a,I)}}break;case 5:qr(c,c.return);break;case 22:if(c.memoizedState!==null){rc(m);continue}}y!==null?(y.return=c,N=y):rc(m)}g=g.sibling}e:for(g=null,m=e;;){if(m.tag===5){if(g===null){g=m;try{o=m.stateNode,d?(n=o.style,typeof n.setProperty=="function"?n.setProperty("display","none","important"):n.display="none"):(s=m.stateNode,i=m.memoizedProps.style,l=i!=null&&i.hasOwnProperty("display")?i.display:null,s.style.display=yc("display",l))}catch(I){Te(e,e.return,I)}}}else if(m.tag===6){if(g===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(I){Te(e,e.return,I)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;g===m&&(g=null),m=m.return}g===m&&(g=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:zt(t,e),Qt(e),r&4&&tc(e);break;case 21:break;default:zt(t,e),Qt(e)}}function Qt(e){var t=e.flags;if(t&2){try{e:{for(var a=e.return;a!==null;){if(Vp(a)){var r=a;break e}a=a.return}throw Error(R(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&(Yo(o,""),r.flags&=-33);var n=ec(e);iu(e,n,o);break;case 3:case 4:var l=r.stateNode.containerInfo,s=ec(e);su(e,s,l);break;default:throw Error(R(161))}}catch(i){Te(e,e.return,i)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Px(e,t,a){N=e,jp(e,t,a)}function jp(e,t,a){for(var r=(e.mode&1)!==0;N!==null;){var o=N,n=o.child;if(o.tag===22&&r){var l=o.memoizedState!==null||Ll;if(!l){var s=o.alternate,i=s!==null&&s.memoizedState!==null||Ge;s=Ll;var d=Ge;if(Ll=l,(Ge=i)&&!d)for(N=o;N!==null;)l=N,i=l.child,l.tag===22&&l.memoizedState!==null?oc(o):i!==null?(i.return=l,N=i):oc(o);for(;n!==null;)N=n,jp(n,t,a),n=n.sibling;N=o,Ll=s,Ge=d}ac(e,t,a)}else(o.subtreeFlags&8772)!==0&&n!==null?(n.return=o,N=n):ac(e,t,a)}}function ac(e){for(;N!==null;){var t=N;if((t.flags&8772)!==0){var a=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:Ge||ds(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!Ge)if(a===null)r.componentDidMount();else{var o=t.elementType===t.type?a.memoizedProps:Nt(t.type,a.memoizedProps);r.componentDidUpdate(o,a.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var n=t.updateQueue;n!==null&&Uf(t,n,r);break;case 3:var l=t.updateQueue;if(l!==null){if(a=null,t.child!==null)switch(t.child.tag){case 5:a=t.child.stateNode;break;case 1:a=t.child.stateNode}Uf(t,l,a)}break;case 5:var s=t.stateNode;if(a===null&&t.flags&4){a=s;var i=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":i.autoFocus&&a.focus();break;case"img":i.src&&(a.src=i.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var g=d.memoizedState;if(g!==null){var m=g.dehydrated;m!==null&&tn(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(R(163))}Ge||t.flags&512&&lu(t)}catch(c){Te(t,t.return,c)}}if(t===e){N=null;break}if(a=t.sibling,a!==null){a.return=t.return,N=a;break}N=t.return}}function rc(e){for(;N!==null;){var t=N;if(t===e){N=null;break}var a=t.sibling;if(a!==null){a.return=t.return,N=a;break}N=t.return}}function oc(e){for(;N!==null;){var t=N;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{ds(4,t)}catch(i){Te(t,a,i)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var o=t.return;try{r.componentDidMount()}catch(i){Te(t,o,i)}}var n=t.return;try{lu(t)}catch(i){Te(t,n,i)}break;case 5:var l=t.return;try{lu(t)}catch(i){Te(t,l,i)}}}catch(i){Te(t,t.return,i)}if(t===e){N=null;break}var s=t.sibling;if(s!==null){s.return=t.return,N=s;break}N=t.return}}var Tx=Math.ceil,Yl=va.ReactCurrentDispatcher,Ku=va.ReactCurrentOwner,Pt=va.ReactCurrentBatchConfig,pe=0,ze=null,De=null,Ue=0,ht=0,Wr=qa(0),Be=0,pn=null,fr=0,fs=0,Gu=0,jo=null,st=null,ju=0,ao=1/0,ua=null,Jl=!1,uu=null,Oa=null,Sl=!1,Ma=null,Zl=0,Xo=0,du=null,Rl=-1,Ml=0;function Je(){return(pe&6)!==0?Me():Rl!==-1?Rl:Rl=Me()}function za(e){return(e.mode&1)===0?1:(pe&2)!==0&&Ue!==0?Ue&-Ue:fx.transition!==null?(Ml===0&&(Ml=Dc()),Ml):(e=xe,e!==0||(e=window.event,e=e===void 0?16:Hc(e.type)),e)}function qt(e,t,a,r){if(50<Xo)throw Xo=0,du=null,Error(R(185));mn(e,a,r),((pe&2)===0||e!==ze)&&(e===ze&&((pe&2)===0&&(fs|=a),Be===4&&Ta(e,Ue)),ft(e,r),a===1&&pe===0&&(t.mode&1)===0&&(ao=Me()+500,ss&&Wa()))}function ft(e,t){var a=e.callbackNode;ph(e,t);var r=Ol(e,e===ze?Ue:0);if(r===0)a!==null&&cf(a),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(a!=null&&cf(a),t===1)e.tag===0?dx(nc.bind(null,e)):op(nc.bind(null,e)),lx(function(){(pe&6)===0&&Wa()}),a=null;else{switch(Ec(r)){case 1:a=Lu;break;case 4:a=Mc;break;case 16:a=Bl;break;case 536870912:a=Ac;break;default:a=Bl}a=am(a,Xp.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function Xp(e,t){if(Rl=-1,Ml=0,(pe&6)!==0)throw Error(R(327));var a=e.callbackNode;if(Xr()&&e.callbackNode!==a)return null;var r=Ol(e,e===ze?Ue:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=es(e,r);else{t=r;var o=pe;pe|=2;var n=Yp();(ze!==e||Ue!==t)&&(ua=null,ao=Me()+500,lr(e,t));do try{Ax();break}catch(s){Qp(e,s)}while(!0);Eu(),Yl.current=n,pe=o,De!==null?t=0:(ze=null,Ue=0,t=Be)}if(t!==0){if(t===2&&(o=zi(e),o!==0&&(r=o,t=fu(e,o))),t===1)throw a=pn,lr(e,0),Ta(e,r),ft(e,Me()),a;if(t===6)Ta(e,r);else{if(o=e.current.alternate,(r&30)===0&&!Rx(o)&&(t=es(e,r),t===2&&(n=zi(e),n!==0&&(r=n,t=fu(e,n))),t===1))throw a=pn,lr(e,0),Ta(e,r),ft(e,Me()),a;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(R(345));case 2:ar(e,st,ua);break;case 3:if(Ta(e,r),(r&130023424)===r&&(t=ju+500-Me(),10<t)){if(Ol(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){Je(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Vi(ar.bind(null,e,st,ua),t);break}ar(e,st,ua);break;case 4:if(Ta(e,r),(r&4194240)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-_t(r);n=1<<l,l=t[l],l>o&&(o=l),r&=~n}if(r=o,r=Me()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Tx(r/1960))-r,10<r){e.timeoutHandle=Vi(ar.bind(null,e,st,ua),r);break}ar(e,st,ua);break;case 5:ar(e,st,ua);break;default:throw Error(R(329))}}}return ft(e,Me()),e.callbackNode===a?Xp.bind(null,e):null}function fu(e,t){var a=jo;return e.current.memoizedState.isDehydrated&&(lr(e,t).flags|=256),e=es(e,t),e!==2&&(t=st,st=a,t!==null&&cu(t)),e}function cu(e){st===null?st=e:st.push.apply(st,e)}function Rx(e){for(var t=e;;){if(t.flags&16384){var a=t.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var r=0;r<a.length;r++){var o=a[r],n=o.getSnapshot;o=o.value;try{if(!Wt(n(),o))return!1}catch{return!1}}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ta(e,t){for(t&=~Gu,t&=~fs,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-_t(t),r=1<<a;e[a]=-1,t&=~r}}function nc(e){if((pe&6)!==0)throw Error(R(327));Xr();var t=Ol(e,0);if((t&1)===0)return ft(e,Me()),null;var a=es(e,t);if(e.tag!==0&&a===2){var r=zi(e);r!==0&&(t=r,a=fu(e,r))}if(a===1)throw a=pn,lr(e,0),Ta(e,t),ft(e,Me()),a;if(a===6)throw Error(R(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ar(e,st,ua),ft(e,Me()),null}function Xu(e,t){var a=pe;pe|=1;try{return e(t)}finally{pe=a,pe===0&&(ao=Me()+500,ss&&Wa())}}function cr(e){Ma!==null&&Ma.tag===0&&(pe&6)===0&&Xr();var t=pe;pe|=1;var a=Pt.transition,r=xe;try{if(Pt.transition=null,xe=1,e)return e()}finally{xe=r,Pt.transition=a,pe=t,(pe&6)===0&&Wa()}}function Qu(){ht=Wr.current,Ce(Wr)}function lr(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,nx(a)),De!==null)for(a=De.return;a!==null;){var r=a;switch(Mu(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&_l();break;case 3:eo(),Ce(ut),Ce(je),Hu();break;case 5:Nu(r);break;case 4:eo();break;case 13:Ce(ke);break;case 19:Ce(ke);break;case 10:Fu(r.type._context);break;case 22:case 23:Qu()}a=a.return}if(ze=e,De=e=Na(e.current,null),Ue=ht=t,Be=0,pn=null,Gu=fs=fr=0,st=jo=null,or!==null){for(t=0;t<or.length;t++)if(a=or[t],r=a.interleaved,r!==null){a.interleaved=null;var o=r.next,n=a.pending;if(n!==null){var l=n.next;n.next=o,r.next=l}a.pending=r}or=null}return e}function Qp(e,t){do{var a=De;try{if(Eu(),bl.current=Ql,Xl){for(var r=be.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}Xl=!1}if(dr=0,Oe=Fe=be=null,Ko=!1,dn=0,Ku.current=null,a===null||a.return===null){Be=1,pn=t,De=null;break}e:{var n=e,l=a.return,s=a,i=t;if(t=Ue,s.flags|=32768,i!==null&&typeof i=="object"&&typeof i.then=="function"){var d=i,g=s,m=g.tag;if((g.mode&1)===0&&(m===0||m===11||m===15)){var c=g.alternate;c?(g.updateQueue=c.updateQueue,g.memoizedState=c.memoizedState,g.lanes=c.lanes):(g.updateQueue=null,g.memoizedState=null)}var y=Kf(l);if(y!==null){y.flags&=-257,Gf(y,l,s,n,t),y.mode&1&&Vf(n,d,t),t=y,i=d;var h=t.updateQueue;if(h===null){var I=new Set;I.add(i),t.updateQueue=I}else h.add(i);break e}else{if((t&1)===0){Vf(n,d,t),Yu();break e}i=Error(R(426))}}else if(we&&s.mode&1){var z=Kf(l);if(z!==null){(z.flags&65536)===0&&(z.flags|=256),Gf(z,l,s,n,t),Au(to(i,s));break e}}n=i=to(i,s),Be!==4&&(Be=2),jo===null?jo=[n]:jo.push(n),n=l;do{switch(n.tag){case 3:n.flags|=65536,t&=-t,n.lanes|=t;var f=Ep(n,i,t);Hf(n,f);break e;case 1:s=i;var u=n.type,p=n.stateNode;if((n.flags&128)===0&&(typeof u.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(Oa===null||!Oa.has(p)))){n.flags|=65536,t&=-t,n.lanes|=t;var S=Fp(n,s,t);Hf(n,S);break e}}n=n.return}while(n!==null)}Zp(a)}catch(w){t=w,De===a&&a!==null&&(De=a=a.return);continue}break}while(!0)}function Yp(){var e=Yl.current;return Yl.current=Ql,e===null?Ql:e}function Yu(){(Be===0||Be===3||Be===2)&&(Be=4),ze===null||(fr&268435455)===0&&(fs&268435455)===0||Ta(ze,Ue)}function es(e,t){var a=pe;pe|=2;var r=Yp();(ze!==e||Ue!==t)&&(ua=null,lr(e,t));do try{Mx();break}catch(o){Qp(e,o)}while(!0);if(Eu(),pe=a,Yl.current=r,De!==null)throw Error(R(261));return ze=null,Ue=0,Be}function Mx(){for(;De!==null;)Jp(De)}function Ax(){for(;De!==null&&!oh();)Jp(De)}function Jp(e){var t=tm(e.alternate,e,ht);e.memoizedProps=e.pendingProps,t===null?Zp(e):De=t,Ku.current=null}function Zp(e){var t=e;do{var a=t.alternate;if(e=t.return,(t.flags&32768)===0){if(a=Cx(a,t,ht),a!==null){De=a;return}}else{if(a=wx(a,t),a!==null){a.flags&=32767,De=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Be=6,De=null;return}}if(t=t.sibling,t!==null){De=t;return}De=t=e}while(t!==null);Be===0&&(Be=5)}function ar(e,t,a){var r=xe,o=Pt.transition;try{Pt.transition=null,xe=1,Dx(e,t,a,r)}finally{Pt.transition=o,xe=r}return null}function Dx(e,t,a,r){do Xr();while(Ma!==null);if((pe&6)!==0)throw Error(R(327));a=e.finishedWork;var o=e.finishedLanes;if(a===null)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(R(177));e.callbackNode=null,e.callbackPriority=0;var n=a.lanes|a.childLanes;if(mh(e,n),e===ze&&(De=ze=null,Ue=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||Sl||(Sl=!0,am(Bl,function(){return Xr(),null})),n=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||n){n=Pt.transition,Pt.transition=null;var l=xe;xe=1;var s=pe;pe|=4,Ku.current=null,bx(e,a),Gp(a,e),ex(Wi),zl=!!qi,Wi=qi=null,e.current=a,Px(a,e,o),nh(),pe=s,xe=l,Pt.transition=n}else e.current=a;if(Sl&&(Sl=!1,Ma=e,Zl=o),n=e.pendingLanes,n===0&&(Oa=null),ih(a.stateNode,r),ft(e,Me()),t!==null)for(r=e.onRecoverableError,a=0;a<t.length;a++)o=t[a],r(o.value,{componentStack:o.stack,digest:o.digest});if(Jl)throw Jl=!1,e=uu,uu=null,e;return(Zl&1)!==0&&e.tag!==0&&Xr(),n=e.pendingLanes,(n&1)!==0?e===du?Xo++:(Xo=0,du=e):Xo=0,Wa(),null}function Xr(){if(Ma!==null){var e=Ec(Zl),t=Pt.transition,a=xe;try{if(Pt.transition=null,xe=16>e?16:e,Ma===null)var r=!1;else{if(e=Ma,Ma=null,Zl=0,(pe&6)!==0)throw Error(R(331));var o=pe;for(pe|=4,N=e.current;N!==null;){var n=N,l=n.child;if((N.flags&16)!==0){var s=n.deletions;if(s!==null){for(var i=0;i<s.length;i++){var d=s[i];for(N=d;N!==null;){var g=N;switch(g.tag){case 0:case 11:case 15:Go(8,g,n)}var m=g.child;if(m!==null)m.return=g,N=m;else for(;N!==null;){g=N;var c=g.sibling,y=g.return;if($p(g),g===d){N=null;break}if(c!==null){c.return=y,N=c;break}N=y}}}var h=n.alternate;if(h!==null){var I=h.child;if(I!==null){h.child=null;do{var z=I.sibling;I.sibling=null,I=z}while(I!==null)}}N=n}}if((n.subtreeFlags&2064)!==0&&l!==null)l.return=n,N=l;else e:for(;N!==null;){if(n=N,(n.flags&2048)!==0)switch(n.tag){case 0:case 11:case 15:Go(9,n,n.return)}var f=n.sibling;if(f!==null){f.return=n.return,N=f;break e}N=n.return}}var u=e.current;for(N=u;N!==null;){l=N;var p=l.child;if((l.subtreeFlags&2064)!==0&&p!==null)p.return=l,N=p;else e:for(l=u;N!==null;){if(s=N,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:ds(9,s)}}catch(w){Te(s,s.return,w)}if(s===l){N=null;break e}var S=s.sibling;if(S!==null){S.return=s.return,N=S;break e}N=s.return}}if(pe=o,Wa(),Zt&&typeof Zt.onPostCommitFiberRoot=="function")try{Zt.onPostCommitFiberRoot(as,e)}catch{}r=!0}return r}finally{xe=a,Pt.transition=t}}return!1}function lc(e,t,a){t=to(a,t),t=Ep(e,t,1),e=Ba(e,t,1),t=Je(),e!==null&&(mn(e,1,t),ft(e,t))}function Te(e,t,a){if(e.tag===3)lc(e,e,a);else for(;t!==null;){if(t.tag===3){lc(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Oa===null||!Oa.has(r))){e=to(a,e),e=Fp(t,e,1),t=Ba(t,e,1),e=Je(),t!==null&&(mn(t,1,e),ft(t,e));break}}t=t.return}}function Ex(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),t=Je(),e.pingedLanes|=e.suspendedLanes&a,ze===e&&(Ue&a)===a&&(Be===4||Be===3&&(Ue&130023424)===Ue&&500>Me()-ju?lr(e,0):Gu|=a),ft(e,t)}function em(e,t){t===0&&((e.mode&1)===0?t=1:(t=sl,sl<<=1,(sl&130023424)===0&&(sl=4194304)));var a=Je();e=ha(e,t),e!==null&&(mn(e,t,a),ft(e,a))}function Fx(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),em(e,a)}function Bx(e,t){var a=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(a=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(R(314))}r!==null&&r.delete(t),em(e,a)}var tm;tm=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||ut.current)it=!0;else{if((e.lanes&a)===0&&(t.flags&128)===0)return it=!1,Ix(e,t,a);it=(e.flags&131072)!==0}else it=!1,we&&(t.flags&1048576)!==0&&np(t,$l,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Tl(e,t),e=t.pendingProps;var o=Yr(t,je.current);jr(t,a),o=_u(null,t,r,e,o,a);var n=qu();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,dt(r)?(n=!0,ql(t)):n=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Ou(t),o.updater=us,t.stateNode=o,o._reactInternals=t,Ji(t,r,e,a),t=tu(null,t,r,!0,n,a)):(t.tag=0,we&&n&&Ru(t),Ye(null,t,o,a),t=t.child),t;case 16:r=t.elementType;e:{switch(Tl(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=zx(r),e=Nt(r,e),o){case 0:t=eu(null,t,r,e,a);break e;case 1:t=Qf(null,t,r,e,a);break e;case 11:t=jf(null,t,r,e,a);break e;case 14:t=Xf(null,t,r,Nt(r.type,e),a);break e}throw Error(R(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Nt(r,o),eu(e,t,r,o,a);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Nt(r,o),Qf(e,t,r,o,a);case 3:e:{if(Np(t),e===null)throw Error(R(387));r=t.pendingProps,n=t.memoizedState,o=n.element,fp(e,t),Gl(t,r,null,a);var l=t.memoizedState;if(r=l.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){o=to(Error(R(423)),t),t=Yf(e,t,r,a,o);break e}else if(r!==o){o=to(Error(R(424)),t),t=Yf(e,t,r,a,o);break e}else for(xt=Fa(t.stateNode.containerInfo.firstChild),vt=t,we=!0,Ut=null,a=up(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Jr(),r===o){t=xa(e,t,a);break e}Ye(e,t,r,a)}t=t.child}return t;case 5:return cp(t),e===null&&Xi(t),r=t.type,o=t.pendingProps,n=e!==null?e.memoizedProps:null,l=o.children,$i(r,o)?l=null:n!==null&&$i(r,n)&&(t.flags|=32),zp(e,t),Ye(e,t,l,a),t.child;case 6:return e===null&&Xi(t),null;case 13:return Hp(e,t,a);case 4:return zu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Zr(t,null,r,a):Ye(e,t,r,a),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Nt(r,o),jf(e,t,r,o,a);case 7:return Ye(e,t,t.pendingProps,a),t.child;case 8:return Ye(e,t,t.pendingProps.children,a),t.child;case 12:return Ye(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,n=t.memoizedProps,l=o.value,Le(Vl,r._currentValue),r._currentValue=l,n!==null)if(Wt(n.value,l)){if(n.children===o.children&&!ut.current){t=xa(e,t,a);break e}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var s=n.dependencies;if(s!==null){l=n.child;for(var i=s.firstContext;i!==null;){if(i.context===r){if(n.tag===1){i=pa(-1,a&-a),i.tag=2;var d=n.updateQueue;if(d!==null){d=d.shared;var g=d.pending;g===null?i.next=i:(i.next=g.next,g.next=i),d.pending=i}}n.lanes|=a,i=n.alternate,i!==null&&(i.lanes|=a),Qi(n.return,a,t),s.lanes|=a;break}i=i.next}}else if(n.tag===10)l=n.type===t.type?null:n.child;else if(n.tag===18){if(l=n.return,l===null)throw Error(R(341));l.lanes|=a,s=l.alternate,s!==null&&(s.lanes|=a),Qi(l,a,t),l=n.sibling}else l=n.child;if(l!==null)l.return=n;else for(l=n;l!==null;){if(l===t){l=null;break}if(n=l.sibling,n!==null){n.return=l.return,l=n;break}l=l.return}n=l}Ye(e,t,o.children,a),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,jr(t,a),o=Tt(o),r=r(o),t.flags|=1,Ye(e,t,r,a),t.child;case 14:return r=t.type,o=Nt(r,t.pendingProps),o=Nt(r.type,o),Xf(e,t,r,o,a);case 15:return Bp(e,t,t.type,t.pendingProps,a);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Nt(r,o),Tl(e,t),t.tag=1,dt(r)?(e=!0,ql(t)):e=!1,jr(t,a),Dp(t,r,o),Ji(t,r,o,a),tu(null,t,r,!0,e,a);case 19:return Up(e,t,a);case 22:return Op(e,t,a)}throw Error(R(156,t.tag))};function am(e,t){return Rc(e,t)}function Ox(e,t,a,r){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function bt(e,t,a,r){return new Ox(e,t,a,r)}function Ju(e){return e=e.prototype,!(!e||!e.isReactComponent)}function zx(e){if(typeof e=="function")return Ju(e)?1:0;if(e!=null){if(e=e.$$typeof,e===xu)return 11;if(e===vu)return 14}return 2}function Na(e,t){var a=e.alternate;return a===null?(a=bt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function Al(e,t,a,r,o,n){var l=2;if(r=e,typeof e=="function")Ju(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case Er:return sr(a.children,o,n,t);case hu:l=8,o|=8;break;case Ii:return e=bt(12,a,t,o|2),e.elementType=Ii,e.lanes=n,e;case Ci:return e=bt(13,a,t,o),e.elementType=Ci,e.lanes=n,e;case wi:return e=bt(19,a,t,o),e.elementType=wi,e.lanes=n,e;case cc:return cs(a,o,n,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case dc:l=10;break e;case fc:l=9;break e;case xu:l=11;break e;case vu:l=14;break e;case ka:l=16,r=null;break e}throw Error(R(130,e==null?e:typeof e,""))}return t=bt(l,a,t,o),t.elementType=e,t.type=r,t.lanes=n,t}function sr(e,t,a,r){return e=bt(7,e,r,t),e.lanes=a,e}function cs(e,t,a,r){return e=bt(22,e,r,t),e.elementType=cc,e.lanes=a,e.stateNode={isHidden:!1},e}function yi(e,t,a){return e=bt(6,e,null,t),e.lanes=a,e}function Li(e,t,a){return t=bt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Nx(e,t,a,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ri(0),this.expirationTimes=ri(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ri(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Zu(e,t,a,r,o,n,l,s,i){return e=new Nx(e,t,a,s,i),t===1?(t=1,n===!0&&(t|=8)):t=0,n=bt(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:r,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ou(n),e}function Hx(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Dr,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}function rm(e){if(!e)return Ua;e=e._reactInternals;e:{if(mr(e)!==e||e.tag!==1)throw Error(R(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(dt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(R(171))}if(e.tag===1){var a=e.type;if(dt(a))return rp(e,a,t)}return t}function om(e,t,a,r,o,n,l,s,i){return e=Zu(a,r,!0,e,o,n,l,s,i),e.context=rm(null),a=e.current,r=Je(),o=za(a),n=pa(r,o),n.callback=t??null,Ba(a,n,o),e.current.lanes=o,mn(e,o,r),ft(e,r),e}function ps(e,t,a,r){var o=t.current,n=Je(),l=za(o);return a=rm(a),t.context===null?t.context=a:t.pendingContext=a,t=pa(n,l),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Ba(o,t,l),e!==null&&(qt(e,o,l,n),kl(e,o,l)),l}function ts(e){return e=e.current,e.child?(e.child.tag===5,e.child.stateNode):null}function sc(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function ed(e,t){sc(e,t),(e=e.alternate)&&sc(e,t)}function Ux(){return null}var nm=typeof reportError=="function"?reportError:function(e){console.error(e)};function td(e){this._internalRoot=e}ms.prototype.render=td.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(R(409));ps(e,t,null,null)};ms.prototype.unmount=td.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;cr(function(){ps(null,e,null,null)}),t[ga]=null}};function ms(e){this._internalRoot=e}ms.prototype.unstable_scheduleHydration=function(e){if(e){var t=Oc();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Pa.length&&t!==0&&t<Pa[a].priority;a++);Pa.splice(a,0,e),a===0&&Nc(e)}};function ad(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function gs(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function ic(){}function _x(e,t,a,r,o){if(o){if(typeof r=="function"){var n=r;r=function(){var d=ts(l);n.call(d)}}var l=om(t,r,e,0,null,!1,!1,"",ic);return e._reactRootContainer=l,e[ga]=l.current,on(e.nodeType===8?e.parentNode:e),cr(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var d=ts(i);s.call(d)}}var i=Zu(e,0,!1,null,null,!1,!1,"",ic);return e._reactRootContainer=i,e[ga]=i.current,on(e.nodeType===8?e.parentNode:e),cr(function(){ps(t,i,a,r)}),i}function hs(e,t,a,r,o){var n=a._reactRootContainer;if(n){var l=n;if(typeof o=="function"){var s=o;o=function(){var i=ts(l);s.call(i)}}ps(t,l,e,o)}else l=_x(a,t,e,o,r);return ts(l)}Fc=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=Ho(t.pendingLanes);a!==0&&(Su(t,a|1),ft(t,Me()),(pe&6)===0&&(ao=Me()+500,Wa()))}break;case 13:cr(function(){var r=ha(e,1);if(r!==null){var o=Je();qt(r,e,1,o)}}),ed(e,1)}};Iu=function(e){if(e.tag===13){var t=ha(e,134217728);if(t!==null){var a=Je();qt(t,e,134217728,a)}ed(e,134217728)}};Bc=function(e){if(e.tag===13){var t=za(e),a=ha(e,t);if(a!==null){var r=Je();qt(a,e,t,r)}ed(e,t)}};Oc=function(){return xe};zc=function(e,t){var a=xe;try{return xe=e,t()}finally{xe=a}};Fi=function(e,t,a){switch(t){case"input":if(Pi(e,a),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var o=ls(r);if(!o)throw Error(R(90));mc(r),Pi(r,o)}}}break;case"textarea":hc(e,a);break;case"select":t=a.value,t!=null&&$r(e,!!a.multiple,t,!1)}};Cc=Xu;wc=cr;var qx={usingClientEntryPoint:!1,Events:[hn,zr,ls,Sc,Ic,Xu]},Bo={findFiberByHostInstance:rr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Wx={bundleType:Bo.bundleType,version:Bo.version,rendererPackageName:Bo.rendererPackageName,rendererConfig:Bo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:va.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Pc(e),e===null?null:e.stateNode},findFiberByHostInstance:Bo.findFiberByHostInstance||Ux,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Oo=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Oo.isDisabled&&Oo.supportsFiber))try{as=Oo.inject(Wx),Zt=Oo}catch{}var Oo;St.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=qx;St.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!ad(t))throw Error(R(200));return Hx(e,t,null,a)};St.createRoot=function(e,t){if(!ad(e))throw Error(R(299));var a=!1,r="",o=nm;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Zu(e,1,!1,null,null,a,!1,r,o),e[ga]=t.current,on(e.nodeType===8?e.parentNode:e),new td(t)};St.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(R(188)):(e=Object.keys(e).join(","),Error(R(268,e)));return e=Pc(t),e=e===null?null:e.stateNode,e};St.flushSync=function(e){return cr(e)};St.hydrate=function(e,t,a){if(!gs(t))throw Error(R(200));return hs(null,e,t,!0,a)};St.hydrateRoot=function(e,t,a){if(!ad(e))throw Error(R(405));var r=a!=null&&a.hydratedSources||null,o=!1,n="",l=nm;if(a!=null&&(a.unstable_strictMode===!0&&(o=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onRecoverableError!==void 0&&(l=a.onRecoverableError)),t=om(t,null,e,1,a??null,o,!1,n,l),e[ga]=t.current,on(e),r)for(e=0;e<r.length;e++)a=r[e],o=a._getVersion,o=o(a._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[a,o]:t.mutableSourceEagerHydrationData.push(a,o);return new ms(t)};St.render=function(e,t,a){if(!gs(t))throw Error(R(200));return hs(null,e,t,!1,a)};St.unmountComponentAtNode=function(e){if(!gs(e))throw Error(R(40));return e._reactRootContainer?(cr(function(){hs(null,null,e,!1,function(){e._reactRootContainer=null,e[ga]=null})}),!0):!1};St.unstable_batchedUpdates=Xu;St.unstable_renderSubtreeIntoContainer=function(e,t,a,r){if(!gs(a))throw Error(R(200));if(e==null||e._reactInternals===void 0)throw Error(R(38));return hs(e,t,a,!1,r)};St.version="18.3.1-next-f1338f8080-20240426"});var no=ia((ny,im)=>{"use strict";function sm(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(sm)}catch(e){console.error(e)}}sm(),im.exports=lm()});var dm=ia(rd=>{"use strict";var um=no();rd.createRoot=um.createRoot,rd.hydrateRoot=um.hydrateRoot;var ly});var hm=ia(Cs=>{"use strict";var Gx=Se(),jx=Symbol.for("react.element"),Xx=Symbol.for("react.fragment"),Qx=Object.prototype.hasOwnProperty,Yx=Gx.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Jx={key:!0,ref:!0,__self:!0,__source:!0};function gm(e,t,a){var r,o={},n=null,l=null;a!==void 0&&(n=""+a),t.key!==void 0&&(n=""+t.key),t.ref!==void 0&&(l=t.ref);for(r in t)Qx.call(t,r)&&!Jx.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:jx,type:e,key:n,ref:l,props:o,_owner:Yx.current}}Cs.Fragment=Xx;Cs.jsx=gm;Cs.jsxs=gm});var V=ia((OL,xm)=>{"use strict";xm.exports=hm()});var ng=A(dm(),1);var ae=A(Se(),1),tg=A(no(),1);function fm(e){return e.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(a=>a.trim())}function $x(e){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(e)}function Vx(e){let t=e.split(`\n`),a=[],r=0;for(;r<t.length;){let o=t[r]??"",n=t[r+1]??"";if(o.includes("|")&&$x(n)){let l=fm(o),s=[];for(r+=2;r<t.length&&t[r].includes("|")&&t[r].trim()!=="";)s.push(fm(t[r])),r+=1;let i=`<tr>${l.map(g=>`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">${g}</th>`).join("")}</tr>`,d=s.map(g=>`<tr>${g.map(m=>`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">${m}</td>`).join("")}</tr>`).join("");a.push(`<div style="overflow-x:auto;margin:0.65em 0;"><table style="border-collapse:collapse;min-width:360px;width:100%;font-size:12px;"><thead>${i}</thead><tbody>${d}</tbody></table></div>`);continue}a.push(t[r]),r+=1}return a.join(`\n`)}function xs(e){if(!e)return\'<span style="color:#475569;font-style:italic;">No description yet</span>\';let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return Vx(t).replace(/^### (.+)$/gm,\'<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>\').replace(/^## (.+)$/gm,\'<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>\').replace(/^# (.+)$/gm,\'<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>\').replace(/[*][*]([^\\n]+?)[*][*]/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/__([^\\n]+?)__/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/[*]([^\\n*]+?)[*]/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/`(.+?)`/g,\'<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>\').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g,\'<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>\').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"\']+)/g,\'$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>\').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi,\'$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>\').replace(/^[-*] (.+)$/gm,\'<li style="margin:0.2em 0;display:list-item;">$1</li>\').replace(/^---$/gm,\'<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">\').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g,r=>`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">${r}</ul>`).replace(/^(?!<[a-z]|$).+$/gm,r=>`<p style="margin:0.5em 0;">${r}</p>`)}var Kx="proto-comments-seen";function od(e,t){try{let a=localStorage.getItem(Kx),r=a?JSON.parse(a):{};return t>(r[e]??0)}catch{return!1}}function nd(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function ct(e){try{return new Date(e).toLocaleString()}catch{return e}}var ld=16,lo=1000000n,Ls=BigInt("9".repeat(ld));function Mt(e){return(e<0n?0n:e>Ls?Ls:e).toString().padStart(ld,"0")}function vs(e){let t=e.split(".")[0];return/^\\d+$/.test(t)?BigInt(t):Ls}function ys(e){let t=e.indexOf(".");return t>=0?e.slice(t+1):null}function gr(e,t){if(t===null){if(e===null)return Mt(lo);let l=vs(e);if(l<Ls-lo)return Mt(l+lo);let s=ys(e)??"0".repeat(ld);return Mt(l)+"."+gr(s,null)}if(e===null){let l=vs(t),s=ys(t);return l>lo?Mt(l-lo):s!==null?Mt(l)+"."+gr(null,s):l>0n?Mt(l/2n):Mt(0n)+".0"}let a=vs(e),r=vs(t),o=ys(e),n=ys(t);return r>a+1n?Mt((a+r)/2n):r===a+1n?Mt(a)+"."+gr(o,null):o===null&&n===null?Mt(a)+"."+Mt(lo):Mt(a)+"."+gr(o,n)}function vn(e,t){return e.sortKey&&t.sortKey?e.sortKey<t.sortKey?-1:e.sortKey>t.sortKey?1:0:e.sortKey?-1:t.sortKey?1:(e.updatedAt??e.createdAt??"").localeCompare(t.updatedAt??t.createdAt??"")}function sd(e,t,a,r){let o=new Map,n=null;for(let m of e)m.sortKey&&m.sortKey!=="n"&&(o.set(m.id,m.sortKey),n=m.sortKey);let l=[],s=e.filter(m=>!m.sortKey||m.sortKey==="n");if(s.length>0){let m=n;for(let c of s){let y=gr(m,null);o.set(c.id,y),m=y,c.id!==t&&l.push({id:c.id,sortKey:y})}}let i=a?o.get(a)??null:null,d=r?o.get(r)??null:null;return{newSortKey:gr(i,d),normalizationPatches:l}}var et=A(Se(),1);var Is=A(Se());var cm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ss=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var yn=A(Se());var pm={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var mm=(0,yn.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:l,...s},i)=>(0,yn.createElement)("svg",{ref:i,...pm,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Ss("lucide",o),...s},[...l.map(([d,g])=>(0,yn.createElement)(d,g)),...Array.isArray(n)?n:[n]]));var ee=(e,t)=>{let a=(0,Is.forwardRef)(({className:r,...o},n)=>(0,Is.createElement)(mm,{ref:n,iconNode:t,className:Ss(`lucide-${cm(e)}`,r),...o}));return a.displayName=`${e}`,a};var hr=ee("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var Ln=ee("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var $a=ee("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var xr=ee("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var Sn=ee("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var so=ee("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var In=ee("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]);var Cn=ee("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var wn=ee("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);var kn=ee("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var vr=ee("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);var Va=ee("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);var yr=ee("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var bn=ee("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var Ka=ee("Rows3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);var Pn=ee("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var Lr=ee("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var Tn=ee("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var io=ee("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var Ga=ee("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var uo=ee("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var Rn=ee("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var Ne=ee("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var co=A(Se(),1),Tm=A(no(),1);var Lm=A(V(),1),vm={Bug:{background:"rgba(239,68,68,0.12)",color:"#f87171",border:"rgba(239,68,68,0.25)"},Research:{background:"rgba(192,132,252,0.12)",color:"#c084fc",border:"rgba(139,92,246,0.2)"},Task:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function ym({type:e,style:t}){let a=typeof e=="string"&&e.trim()&&e!=="[object Object]"&&vm[e]?e:"Task",r=vm[a];return(0,Lm.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:r.background,color:r.color,border:`1px solid ${r.border}`,lineHeight:"1.5",...t},children:a})}var Cm=A(V(),1),Sm={Critical:{background:"rgba(239,68,68,0.15)",color:"#f87171",border:"rgba(239,68,68,0.3)"},High:{background:"rgba(249,115,22,0.12)",color:"#fb923c",border:"rgba(249,115,22,0.25)"},Medium:{background:"rgba(234,179,8,0.12)",color:"#facc15",border:"rgba(234,179,8,0.25)"},Low:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function Im({priority:e,style:t}){if(!e||!Sm[e])return null;let a=Sm[e];return(0,Cm.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:a.background,color:a.color,border:`1px solid ${a.border}`,lineHeight:"1.5",...t},children:e})}var Sr=[{value:"Task",icon:"\\u2611",label:"Task",css:"type-task",tooltip:"A general task or feature to implement."},{value:"Bug",icon:"\\u{1F41E}",label:"Bug",css:"type-bug",tooltip:"A defect \\u2014 annotator collects page errors and console logs to help reproduce it."},{value:"Research",icon:"\\u{1F52C}",label:"Research",css:"type-research",tooltip:"A research task \\u2014 agent will NOT write code but must attach a findings report."}],HL=Sr.map(e=>e.value),km=Object.fromEntries(Sr.map(e=>[e.value,e.icon])),UL=Object.fromEntries(Sr.map(e=>[e.value,e.css])),wm={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function Mn(e){return wm[e??"Task"]??wm.Task}var bm=[{bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",text:"var(--p-blue-200)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-green) 14%, transparent)",text:"var(--p-green-300)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",text:"var(--p-purple-300)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",text:"var(--p-amber-300)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},{bg:"color-mix(in srgb, #f472b6 14%, transparent)",text:"#f9a8d4",border:"color-mix(in srgb, #f472b6 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-cyan) 14%, transparent)",text:"var(--p-cyan-300)",border:"color-mix(in srgb, var(--p-cyan) 30%, transparent)"},{bg:"color-mix(in srgb, #f87171 14%, transparent)",text:"#fca5a5",border:"color-mix(in srgb, #f87171 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",text:"var(--p-text-m)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"}];function Zx(e){let t=0;for(let a=0;a<e.length;a++)t=t*31+e.charCodeAt(a)>>>0;return t%bm.length}function $t(e){return bm[Zx(e)]}var An=A(V(),1);function fo({tags:e,onRemove:t,size:a="sm"}){if(!e.length)return null;let r=a==="xs"?"1px 6px":"2px 7px",o=a==="xs"?9:10;return(0,An.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:e.map(n=>{let{bg:l,text:s,border:i}=$t(n);return(0,An.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding:r,borderRadius:100,background:l,border:`1px solid ${i}`,color:s,fontSize:o,fontWeight:600,whiteSpace:"nowrap"},children:[n,t&&(0,An.jsx)("button",{type:"button",onClick:d=>{d.stopPropagation(),t(n)},style:{display:"flex",background:"none",border:"none",color:s,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:d=>{d.currentTarget.style.opacity="1"},onMouseLeave:d=>{d.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},n)})})}var le=A(V(),1);function ev(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function Rm(e,t){if(!/^#[0-9a-fA-F]{6}$/.test(e))return;let a=Math.max(0,Math.min(1,t)),r=Math.round(a*255).toString(16).padStart(2,"0");return`${e}${r}`}function Mm(e,t){return Rm(e,t==="Critical"?.36:t==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function tv(e){return Rm(e,.1)??"transparent"}var av={padding:"7px 8px",gap:4,opacity:1,userSelect:"none"},rv={display:"flex",alignItems:"center",gap:5},ov={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},nv={fontSize:11.5,fontWeight:600,color:"var(--p-text-m)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},lv={fontSize:9,fontWeight:700,color:"#22c55e",background:"rgba(34,197,94,0.12)",border:"1px solid rgba(34,197,94,0.3)",borderRadius:4,padding:"1px 5px",marginLeft:6,flexShrink:0,letterSpacing:.5},sv={display:"flex",alignItems:"center",gap:5,minWidth:0},iv={flexShrink:0},uv={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},dv={display:"flex",alignItems:"flex-start",gap:8},fv={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},cv={position:"relative",flexShrink:0},pv={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},mv={display:"flex",alignItems:"center",gap:2,marginTop:1},gv={flex:1},id=co.default.memo(function({task:t,col:a,liveActivity:r,compact:o,onOpen:n,onDragStart:l}){var q;let s=a.id==="in-progress",i=a.id==="done",[d,g]=co.default.useState(!1),[m,c]=co.default.useState(null),y=co.default.useRef(null),h=t.commentCount??0,I=t.fileCount??0,z=h>0&&od(t.id,h),f=Mm(a.color,t.priority),u=Mn(t.type),p=tv(u),S=(q=t.files)==null?void 0:q.find(b=>ev(b.name)),w=S?`/api/tasks/${t.id}/files/${encodeURIComponent(S.name)}`:null;function T(b){l(b,t.id),b.currentTarget.classList.add("dragging")}function v(b){b.currentTarget.classList.remove("dragging")}function L(){n(t)}if(o||i){let b=a.id==="in-progress"?"sd-inprogress":`sd-${a.id}`;return(0,le.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":t.id,"data-compact":o?"true":void 0,style:{...av},onDragStart:T,onDragEnd:v,onClick:L,children:(0,le.jsxs)("div",{style:rv,children:[i?(0,le.jsx)($a,{style:ov}):(0,le.jsx)("span",{className:b,style:{flexShrink:0}}),(0,le.jsx)("span",{style:{...nv,...i?{}:{color:"var(--p-text)"}},children:t.title}),!o&&!i&&t.tags&&t.tags.length>0&&(0,le.jsx)(fo,{tags:t.tags,size:"xs"}),!o&&!i&&(h>0||I>0)&&(0,le.jsxs)("span",{style:{fontSize:9,color:"var(--p-text-m)",flexShrink:0},children:[h>0&&`\\u{1F4AC}${h}`,h>0&&I>0&&" ",I>0&&`\\u{1F4CE}${I}`]}),i&&t.verified&&(0,le.jsx)("span",{style:lv,children:"\\u2713 VERIFIED"})]})})}return(0,le.jsxs)("article",{className:`task-card${r?" task-live-edit":""}`,draggable:!0,"data-task-id":t.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:r?"rgba(59,130,246,0.08)":p,border:r?"1px solid rgba(59,130,246,0.5)":f?`1px solid ${f}`:void 0,...r?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{}},onDragStart:T,onDragEnd:v,onClick:L,children:[(0,le.jsxs)("div",{style:sv,children:[s&&(0,le.jsx)("span",{className:"spinner",style:iv}),(0,le.jsx)("span",{style:uv,children:t.title})]}),(t.description||w)&&(0,le.jsxs)("div",{style:dv,children:[t.description&&(0,le.jsx)("div",{style:fv,children:t.description}),w&&(0,le.jsxs)("div",{style:cv,onMouseEnter:()=>{if(y.current){let b=y.current.getBoundingClientRect();c({top:b.top,right:b.right})}g(!0)},onMouseLeave:()=>{g(!1),c(null)},children:[(0,le.jsx)("img",{ref:y,src:w,alt:"Task screenshot","data-role":"task-thumb",style:pv}),d&&m&&Tm.default.createPortal((0,le.jsx)("img",{src:w,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-m.right,bottom:window.innerHeight-m.top+8,width:220,height:138,borderRadius:8,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 96%, transparent)",boxShadow:"0 10px 24px color-mix(in srgb, var(--p-bg) 75%, transparent)",pointerEvents:"none",zIndex:9999,background:"var(--p-bg)"}}),document.body)]})]}),(0,le.jsxs)("div",{className:"flex items-center",style:mv,children:[(0,le.jsx)(ym,{type:t.type}),t.priority&&(0,le.jsx)(Im,{priority:t.priority}),s&&t.assigneeName&&(0,le.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:80},children:t.assigneeName}),t.tags&&t.tags.length>0&&(0,le.jsx)(fo,{tags:t.tags,size:"xs"}),(0,le.jsx)("div",{style:gv}),r&&(0,le.jsx)(ud,{activity:r}),(0,le.jsx)(Pm,{icon:(0,le.jsx)(vr,{style:{width:9,height:9}}),label:h>0?String(h):"",color:z?"var(--p-purple)":h>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:z?"var(--p-purple-300)":"var(--p-text)",title:h>0?`${h} comment(s)`:"Add comment",badge:z,badgeColor:"var(--p-purple)",onClick:b=>{b.stopPropagation(),n(t,"comments")}}),(0,le.jsx)(Pm,{icon:(0,le.jsx)(yr,{style:{width:9,height:9}}),label:I>0?String(I):"",color:I>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:I>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:I>0?`${I} file(s) attached`:"Files",onClick:b=>{b.stopPropagation(),n(t,"files")}})]})]})});function Pm({icon:e,label:t,color:a,hoverColor:r,title:o,badge:n,badgeColor:l,onClick:s}){let[i,d]=co.default.useState(!1);return(0,le.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:i?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:i?r:a,transition:"color .1s, background .1s"},title:o,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:s,children:[e,t&&(0,le.jsx)("span",{children:t}),n&&(0,le.jsx)("span",{style:{width:4,height:4,background:l??a,borderRadius:"50%",flexShrink:0}})]})}function ud({activity:e}){let t=e.state==="locked"||e.state==="editing",a=t?(0,le.jsx)(kn,{style:{width:8,height:8}}):(0,le.jsx)(Sn,{style:{width:8,height:8}}),r=t?`Locked by ${e.user}`:`${e.user} viewing`;return(0,le.jsxs)("span",{style:t?{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"}:{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(59,130,246,0.35)",color:"#93c5fd",background:"rgba(30,58,138,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"},title:r,"data-testid":"live-activity-badge",children:[a,(0,le.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:e.user})]})}var ge=A(V(),1),ja=[{id:"backlog",label:"Backlog",color:"var(--p-text-f)",accent:"color-mix(in srgb, var(--p-text-g) 25%, transparent)"},{id:"todo",label:"Todo",color:"var(--p-amber)",accent:"color-mix(in srgb, var(--p-amber) 18%, transparent)"},{id:"in-progress",label:"In Progress",color:"var(--p-blue)",accent:"color-mix(in srgb, var(--p-blue) 18%, transparent)",glow:!0},{id:"review",label:"Review",color:"var(--p-purple)",accent:"color-mix(in srgb, var(--p-purple) 18%, transparent)"},{id:"done",label:"Done",color:"var(--p-green)",accent:"color-mix(in srgb, var(--p-green) 18%, transparent)"}];var hv=3;function xv(){return(0,ge.jsxs)("div",{style:{borderRadius:8,border:"1px solid var(--p-border-t)",padding:"10px 12px",background:"var(--p-bg-2)",marginBottom:6,animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,ge.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"75%",marginBottom:8}}),(0,ge.jsx)("div",{style:{height:10,borderRadius:4,background:"var(--p-border-s)",width:"50%",marginBottom:8}}),(0,ge.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,ge.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:48}}),(0,ge.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})]})}function dd({tasks:e,visibleCols:t,searchQuery:a,isLoading:r,liveActivities:o,compact:n,onOpenPanel:l,onDrop:s,onReorder:i}){let d=et.default.useRef(null),g=et.default.useRef(null),[m,c]=et.default.useState(null),[y,h]=et.default.useState(null),[I,z]=et.default.useState(null),f=et.default.useRef(null),u=et.default.useRef(null),p=a?e.filter(b=>(b.title??"").toLowerCase().includes(a.toLowerCase())||(b.description??"").toLowerCase().includes(a.toLowerCase())):e,S=ja.filter(b=>t.includes(b.id));et.default.useEffect(()=>{let b=d.current,M=g.current;if(!b||!M)return;function _(){if(!b||!M)return;let G=b.scrollWidth>b.clientWidth?b.clientWidth/b.scrollWidth:1,se=Math.max(40,b.clientWidth*G);M.style.width=`${se}px`;let qe=b.scrollWidth-b.clientWidth,rt=b.clientWidth-se;M.style.left=`${qe>0?b.scrollLeft/qe*rt:0}px`,M.style.opacity=G<1?"1":"0"}b.addEventListener("scroll",_);let Y=new ResizeObserver(_);Y.observe(b),_();let $=!1,te=0,k=0;function H(G){$=!0,te=G.clientX,k=b.scrollLeft,M.classList.add("dragging"),document.addEventListener("mousemove",re),document.addEventListener("mouseup",J)}function re(G){if(!$||!b||!M)return;let se=b.scrollWidth>b.clientWidth?b.scrollWidth/b.clientWidth:1;b.scrollLeft=k+(G.clientX-te)*se}function J(){$=!1,M==null||M.classList.remove("dragging"),document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",J)}return M.addEventListener("mousedown",H),()=>{b.removeEventListener("scroll",_),Y.disconnect(),M.removeEventListener("mousedown",H)}},[S.length]);function w(b,M){f.current=M,c(M),b.dataTransfer.effectAllowed="move"}function T(b,M){b.preventDefault(),h(M)}function v(b,M){b.preventDefault(),b.stopPropagation();let _=b.currentTarget.getBoundingClientRect(),Y=b.clientY<_.top+_.height/2?"before":"after",$={taskId:M,position:Y};u.current=$,z(te=>(te==null?void 0:te.taskId)===M&&te.position===Y?te:$)}function L(b,M,_){b.preventDefault(),h(null);let Y=u.current;u.current=null,z(null);let $=f.current;if(f.current=null,c(null),!!$)if(i&&Y){let te=_.findIndex(re=>re.id===Y.taskId),k=null,H=null;Y.position==="before"?(H=Y.taskId,k=te>0?_[te-1].id:null):(k=Y.taskId,H=te<_.length-1?_[te+1].id:null),i($,M,k,H)}else s($,M)}function q(){f.current=null,c(null),h(null),u.current=null,z(null)}return(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)("main",{id:"kanban-board",ref:d,className:"flex-1 flex overflow-x-auto overflow-y-hidden",style:{padding:"16px 20px",gap:16},onDragEnd:q,children:S.map(b=>{let M=r?[]:p.filter(Y=>Y.status===b.id).sort(vn),_=b.id==="done"?[...M].reverse():M;return(0,ge.jsx)(vv,{col:b,tasks:_,isLoading:r,liveActivities:o,compact:n,isDragOver:y===b.id&&!I,onDragOver:Y=>T(Y,b.id),onDrop:Y=>L(Y,b.id,M),onDragLeave:Y=>{let $=Y.relatedTarget;$&&Y.currentTarget.contains($)||(h(null),u.current=null,z(null))},onStatusChange:(Y,$)=>s(Y,$),onAddTask:()=>l(null,"details",b.id),onOpenTask:l,onDragStart:w,onCardDragOver:v,cardDropTarget:I,isDragging:m!==null},b.id)})}),(0,ge.jsx)("div",{id:"kanban-scroll-track",style:{position:"fixed",bottom:0,left:0,right:0,height:6,background:"transparent",zIndex:40,pointerEvents:"none"},children:(0,ge.jsx)("div",{id:"kanban-scroll-thumb",ref:g,style:{position:"absolute",top:1,height:4,borderRadius:2,background:"var(--p-border-t)",cursor:"pointer",pointerEvents:"auto",transition:"background 0.15s",opacity:0},onMouseEnter:b=>{b.currentTarget.style.background="var(--p-text-g)"},onMouseLeave:b=>{b.currentTarget.classList.contains("dragging")||(b.currentTarget.style.background="var(--p-border-t)")}})})]})}function vv({col:e,tasks:t,isLoading:a,liveActivities:r,isDragOver:o,onDragOver:n,onDrop:l,onDragLeave:s,onStatusChange:i,onAddTask:d,onOpenTask:g,onDragStart:m,onCardDragOver:c,cardDropTarget:y,compact:h,isDragging:I}){let[z,f]=et.default.useState(!1),u=et.default.useRef(null),[p,S]=et.default.useState(0),[w,T]=et.default.useState(0);et.default.useEffect(()=>{if(e.id!=="done")return;let k=u.current;if(!k)return;S(J=>J===k.clientHeight?J:k.clientHeight);let H=0,re=new ResizeObserver(()=>{cancelAnimationFrame(H),H=requestAnimationFrame(()=>{S(J=>J===k.clientHeight?J:k.clientHeight)})});return re.observe(k),()=>{cancelAnimationFrame(H),re.disconnect()}},[]),et.default.useEffect(()=>{if(e.id!=="done"||I||a||t.length===0)return;let k=requestAnimationFrame(()=>{let H=u.current;if(!H)return;let re=H.querySelector("[data-task-id]");!re||re.offsetHeight<=0||T(J=>J===re.offsetHeight?J:re.offsetHeight)});return()=>cancelAnimationFrame(k)},[t.length,I,a]);let v=e.id==="in-progress"?"sd-inprogress":`sd-${e.id}`,L=10,q=e.id==="done",b=34,M=5,Y=q&&w>0&&p>0&&!I&&!a?Math.max(1,Math.floor(Math.max(0,p-b+M)/(w+M))):L,$=q?t.slice(0,Y):t,te=t.length-$.length;return(0,ge.jsxs)("section",{className:"board-column","data-column-id":e.id,style:{outline:o?`2px dashed ${e.color}66`:void 0,outlineOffset:-2,borderRadius:8},onDragOver:n,onDragLeave:s,onDrop:l,children:[(0,ge.jsxs)("div",{className:"column-header",style:{background:e.accent,borderColor:`color-mix(in srgb, ${e.color} 30%, transparent)`},children:[(0,ge.jsx)("div",{className:`status-dot ${v}`}),(0,ge.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:e.id==="done"?`${e.color}b3`:e.color},children:[e.label,a?"":` \\xB7 ${t.length}`]}),(0,ge.jsx)("span",{style:{marginLeft:"auto"}}),(0,ge.jsx)("button",{type:"button",title:`Add task to ${e.label}`,style:{width:20,height:20,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"none",background:"transparent",color:z?e.color:"var(--p-text-g)",cursor:"pointer",transition:"color .15s",padding:0},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),onClick:d,children:(0,ge.jsx)(bn,{style:{width:14,height:14}})})]}),(0,ge.jsx)("div",{className:"column-scroll","data-status":e.id,ref:u,children:a?Array.from({length:hv}).map((k,H)=>(0,ge.jsx)(xv,{},H)):t.length===0?(0,ge.jsxs)("div",{style:{border:"1px dashed var(--p-border-t)",borderRadius:8,padding:"10px 8px",fontSize:11,color:"var(--p-text-f)",textAlign:"center"},children:["No tasks in ",e.label.toLowerCase(),"."]}):(0,ge.jsxs)(ge.Fragment,{children:[$.map(k=>(0,ge.jsxs)("div",{style:{position:"relative"},onDragOver:H=>c(H,k.id),children:[(y==null?void 0:y.taskId)===k.id&&y.position==="before"&&(0,ge.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}}),(0,ge.jsx)(id,{task:k,col:e,liveActivity:r==null?void 0:r.get(k.id),compact:h,onOpen:g,onDragStart:m}),(y==null?void 0:y.taskId)===k.id&&y.position==="after"&&(0,ge.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}})]},k.id)),te>0&&(0,ge.jsxs)("div",{"data-fit-chip":!0,style:{background:"var(--p-card)",border:"2px dashed var(--p-border-t)",borderRadius:10,padding:"11px 13px",fontSize:12,color:"var(--p-text-g)",textAlign:"center",lineHeight:1.4,opacity:.7},children:["+",te," more"]})]})})]})}var Ir=A(Se(),1);var oe=A(V(),1),Am={backlog:{text:"var(--p-text-m)",bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"},todo:{text:"var(--p-amber-300)",bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},"in-progress":{text:"var(--p-blue-200)",bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},review:{text:"var(--p-purple-300)",bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},done:{text:"var(--p-green-300)",bg:"color-mix(in srgb, var(--p-green) 12%, transparent)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"}},yv=km,Dm={Critical:"var(--p-red)",High:"var(--p-amber-300)",Medium:"var(--p-text-m)",Low:"var(--p-text-f)"},fd=["todo","in-progress","review","backlog","done"];function Lv(){return(0,oe.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,border:"1px solid var(--p-border-t)",background:"var(--p-bg-2)",animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,oe.jsx)("div",{style:{width:14,height:14,borderRadius:3,background:"var(--p-border-s)"}}),(0,oe.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"60%"}}),(0,oe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:44}}),(0,oe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})}function cd({tasks:e,searchQuery:t,isLoading:a,liveActivities:r,onOpenPanel:o,onAddTask:n,onDrop:l}){let[s,i]=Ir.default.useState(null),[d,g]=Ir.default.useState(null),[m,c]=Ir.default.useState(null),[y,h]=Ir.default.useState({backlog:!1,todo:!1,"in-progress":!1,review:!1,done:!1}),I=t?e.filter(f=>(f.title??"").toLowerCase().includes(t.toLowerCase())||(f.description??"").toLowerCase().includes(t.toLowerCase())):e,z=Ir.default.useMemo(()=>{let f=new Map;for(let u of fd)f.set(u,[]);for(let u of I)(f.get(u.status)??[]).push(u);return f},[I]);return(0,oe.jsxs)("div",{id:"kanban-list-view",style:{flex:1,overflowY:"auto",padding:"16px 24px",minHeight:0},children:[a?fd.slice(0,3).map(f=>{let u=Am[f];return(0,oe.jsxs)("div",{style:{marginBottom:24},children:[(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,oe.jsx)("div",{style:{width:18,height:18,borderRadius:5,background:"var(--p-border-s)",animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,oe.jsx)("div",{style:{height:18,borderRadius:6,background:u.bg,border:`1px solid ${u.border}`,width:72,animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,oe.jsx)("div",{style:{height:14,borderRadius:4,background:"var(--p-border-s)",width:16,animation:"skeleton-pulse 1.5s ease-in-out infinite"}})]}),(0,oe.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:3}).map((p,S)=>(0,oe.jsx)(Lv,{},S))})]},f)}):fd.map(f=>{let u=z.get(f)??[];if(u.length===0)return null;let p=Am[f];return(0,oe.jsxs)("div",{style:{marginBottom:24},children:[(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,padding:"4px 6px",borderRadius:6,transition:"background .1s",background:d===f?p.bg:"transparent",outline:d===f?`1px dashed ${p.border}`:void 0},onDragOver:S=>{S.preventDefault(),g(f)},onDragLeave:()=>g(null),onDrop:S=>{S.preventDefault(),g(null),c(null),s&&l(s,f),i(null)},children:[(0,oe.jsx)("button",{type:"button",title:y[f]?"Expand":"Collapse",onClick:S=>{S.stopPropagation(),h(w=>({...w,[f]:!w[f]}))},style:{width:18,height:18,borderRadius:5,border:"1px solid var(--p-border-t)",background:"var(--p-surface)",color:"var(--p-text-m)",fontSize:10,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:y[f]?"+":"\\u2212"}),(0,oe.jsx)("span",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"2px 8px",borderRadius:6,background:p.bg,border:`1px solid ${p.border}`,color:p.text},children:f}),(0,oe.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:u.length}),(0,oe.jsx)("button",{type:"button",title:`Add task to ${f}`,onClick:S=>{S.stopPropagation(),n(f)},style:{marginLeft:"auto",width:22,height:22,borderRadius:7,border:`1px solid ${p.border}`,background:p.bg,color:p.text,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:600},children:"+"})]}),(0,oe.jsx)("div",{style:{display:y[f]?"none":"flex",flexDirection:"column",gap:2},children:u.map(S=>(0,oe.jsx)(Sv,{task:S,liveActivity:r==null?void 0:r.get(S.id),onOpen:o,onDragStart:w=>i(w),dragOver:m===S.id,onDragOver:()=>c(S.id),onDragLeave:()=>c(w=>w===S.id?null:w),onDropToStatus:()=>{s&&l(s,S.status),i(null),c(null)}},S.id))})]},f)}),!a&&I.length===0&&(0,oe.jsx)("div",{style:{textAlign:"center",color:"var(--p-text-g)",fontSize:13,marginTop:60},children:"No tasks found"})]})}function Sv({task:e,liveActivity:t,onOpen:a,onDragStart:r,dragOver:o,onDragOver:n,onDragLeave:l,onDropToStatus:s}){let[i,d]=Ir.default.useState(!1),g=yv[e.type??"Task"]??"\\u2611",m=e.commentCount??0,c=e.fileCount??0;return(0,oe.jsxs)("div",{"data-task-id":e.id,"data-proto-id":"list-row",draggable:!0,style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,background:o?"color-mix(in srgb, var(--p-blue) 10%, transparent)":i?"var(--p-hover)":"transparent",border:`1px solid ${o?"color-mix(in srgb, var(--p-blue) 40%, transparent)":i?"var(--p-border)":"transparent"}`,cursor:"grab",transition:"background .1s,border-color .1s",userSelect:"none"},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:()=>a(e),onDragStart:y=>{y.dataTransfer.effectAllowed="move",r(e.id),y.currentTarget.style.opacity="0.4"},onDragEnd:y=>{y.currentTarget.style.opacity="1"},onDragOver:y=>{y.preventDefault(),n()},onDragLeave:l,onDrop:y=>{y.preventDefault(),s()},children:[(0,oe.jsx)("span",{style:{fontSize:12,textAlign:"center",flexShrink:0},children:g}),(0,oe.jsxs)("div",{style:{minWidth:0},children:[(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,oe.jsx)("span",{style:{fontSize:13,fontWeight:500,color:"var(--p-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.title}),e.priority&&Dm[e.priority]&&(0,oe.jsx)(In,{className:"w-2.5 h-2.5 flex-shrink-0",style:{color:Dm[e.priority]}}),e.component&&(0,oe.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:10,background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 30%, transparent)",color:"var(--p-purple-300)",flexShrink:0,fontFamily:"monospace"},children:e.component})]}),e.description&&(0,oe.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1,maxWidth:"100%"},children:e.description.replace(/\\s+/g," ").trim()})]}),(0,oe.jsxs)("button",{title:m>0?`${m} comment(s)`:"Add comment",style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:m>0?"var(--p-text-m)":"var(--p-border-t)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:y=>{y.stopPropagation(),a(e,"comments")},children:[(0,oe.jsx)(vr,{className:"w-3 h-3"}),m>0&&(0,oe.jsx)("span",{children:m})]}),c>0&&(0,oe.jsxs)("button",{title:`${c} file(s)`,style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:y=>{y.stopPropagation(),a(e,"files")},children:[(0,oe.jsx)(yr,{className:"w-3 h-3"}),(0,oe.jsx)("span",{children:c})]}),t&&(0,oe.jsx)(ud,{activity:t})]})}var mo=A(Se(),1);var Xa=A(V(),1);function Em({size:e=32,style:t,className:a}){return(0,Xa.jsxs)("svg",{width:e,height:e,viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,className:a,"aria-label":"Vibeflow",role:"img",children:[(0,Xa.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,Xa.jsx)("rect",{x:"2.5",y:"4",width:"2.5",height:"10",rx:"1",fill:"white",opacity:"0.9"}),(0,Xa.jsx)("rect",{x:"6.5",y:"3",width:"2.5",height:"12",rx:"1",fill:"white"}),(0,Xa.jsx)("rect",{x:"10.5",y:"5",width:"2.5",height:"8",rx:"1",fill:"white",opacity:"0.8"}),(0,Xa.jsx)("rect",{x:"14.5",y:"6",width:"2.5",height:"6",rx:"1",fill:"white",opacity:"0.6"})]})}var ws=A(V(),1);function po({id:e,title:t,onClick:a,label:r,icon:o,variant:n="neutral"}){return(0,ws.jsxs)("button",{id:e,onClick:a,title:t,className:`h-7 inline-flex items-center justify-center rounded-lg border transition-colors ${n==="accent"?"border-violet-700/50 bg-violet-900/30 text-violet-300 hover:bg-violet-800/30":"border-slate-700/60 bg-slate-800 text-slate-400 hover:bg-slate-700/50 hover:text-slate-200"} ${r?"gap-1.5 px-3 text-xs font-medium":"w-7"}`,type:"button",children:[o,r&&(0,ws.jsx)("span",{children:r})]})}var j=A(V(),1);function pd({projectName:e,projectIcon:t,missingProjectIconStyle:a="initial",wsConnected:r,port:o,searchQuery:n,isLoading:l,filterTags:s,allTags:i,onToggleTag:d,backHref:g,backLabel:m,onSearchChange:c,onSettings:y,extraActions:h,taskSummary:I}){let[z,f]=mo.default.useState(!1),[u,p]=mo.default.useState(0),S=mo.default.useRef(null),w=mo.default.useRef(null),T=n.match(/(?:^|\\s)#(\\S*)$/),v=T?T[1]:null,L=s??[],q=(i??[]).filter(k=>!L.includes(k)),b=v===null?[]:q.filter(k=>k.toLowerCase().includes(v.toLowerCase()));mo.default.useEffect(()=>{p(0)},[b.length]);function M(k){var re;let H=n.replace(/\\s*#\\S*$/,"");c(H),d==null||d(k),(re=S.current)==null||re.focus()}function _(k){if(k.key==="Backspace"&&n===""&&L.length>0){k.preventDefault(),d==null||d(L[L.length-1]);return}if(!(v===null||b.length===0)){if(k.key==="ArrowDown")k.preventDefault(),p(H=>Math.min(H+1,b.length-1));else if(k.key==="ArrowUp")k.preventDefault(),p(H=>Math.max(H-1,0));else if(k.key==="Enter")k.preventDefault(),b[u]&&M(b[u]);else if(k.key==="Escape"){let H=n.replace(/\\s*#\\S*$/,"");c(H)}}}let Y=(t??"").trim(),$=e?e.charAt(0).toUpperCase()+e.slice(1):"Vibeflow Board",te=n||L.length>0;return(0,j.jsxs)("header",{className:"px-5 py-3 flex items-center gap-3 border-b border-slate-800/60 flex-shrink-0",children:[(0,j.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[g&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("a",{id:"header-back-link",href:g,className:"text-xs text-slate-400 hover:text-slate-200 transition-colors no-underline",style:{textDecoration:"none",fontWeight:500},children:m??"Back"}),(0,j.jsx)(Ln,{className:"w-3 h-3 text-slate-600 flex-shrink-0"})]}),(0,j.jsx)("div",{className:"flex-shrink-0",style:{width:32,height:32,display:"flex",alignItems:"center",justifyContent:"center",...Y?{fontSize:20}:void 0},children:Y||(a==="vibeflow"?(0,j.jsx)(Em,{size:32}):(0,j.jsx)("div",{style:{width:32,height:32,borderRadius:8,flexShrink:0,background:"linear-gradient(135deg, #1e3a5f 0%, #1e293b 100%)",border:"1px solid rgba(37,99,235,0.3)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700,color:"#93c5fd",letterSpacing:"-0.01em"},title:$,children:$.charAt(0).toUpperCase()}))}),(0,j.jsxs)("div",{children:[(0,j.jsxs)("div",{className:"flex items-center gap-2",children:[(0,j.jsx)("h1",{id:"header-project-name",className:"text-sm font-semibold text-white leading-tight",children:$}),r&&(0,j.jsxs)("div",{id:"header-live-pill",className:"flex items-center gap-1.5 rounded-full px-2 py-0.5",style:{background:"color-mix(in srgb, var(--p-green) 30%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 28%, transparent)"},children:[(0,j.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-green-400",style:{animation:"pulse-live 2s ease-in-out infinite"}}),(0,j.jsxs)("span",{className:"text-[10px] font-medium text-green-400",children:["live \\xB7 :",o]})]})]}),(0,j.jsxs)("p",{className:"text-[10px] text-slate-500 font-mono mt-0.5",children:[I,l&&(0,j.jsx)("span",{id:"header-loading-indicator",className:"inline-block ml-1.5 w-1 h-1 rounded-full bg-blue-400",style:{animation:"pulse-live 1.4s ease-in-out infinite",verticalAlign:"middle"}})]})]})]}),(0,j.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,j.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,j.jsxs)("div",{className:"flex flex-wrap items-center gap-1 w-full min-h-[30px] rounded-lg bg-slate-800 border border-slate-700/60 px-2 py-1 cursor-text transition-colors focus-within:border-blue-500",onClick:()=>{var k;return(k=S.current)==null?void 0:k.focus()},children:[(0,j.jsx)(Pn,{className:"w-3.5 h-3.5 text-slate-500 flex-shrink-0 mr-0.5"}),L.map(k=>{let{bg:H,text:re,border:J}=$t(k);return(0,j.jsxs)("span",{style:{background:H,color:re,border:`1px solid ${J}`,display:"inline-flex",alignItems:"center",gap:3,padding:"1px 7px",borderRadius:100,fontSize:11,fontWeight:500,whiteSpace:"nowrap"},children:[k,(0,j.jsx)("button",{onClick:G=>{G.stopPropagation(),d==null||d(k)},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,display:"flex"},children:(0,j.jsx)(Ne,{style:{width:9,height:9}})})]},k)}),(0,j.jsx)("input",{ref:S,id:"global-search",type:"text",placeholder:L.length===0?"Search\\u2026 or type #tag":"#tag or search\\u2026",value:n,onChange:k=>c(k.target.value),onKeyDown:_,className:"flex-1 min-w-[100px] bg-transparent border-none outline-none text-xs text-slate-200 placeholder-slate-500",autoComplete:"off",spellCheck:!1}),te&&(0,j.jsx)("button",{id:"global-search-clear",onClick:()=>{c(""),L.forEach(k=>d==null?void 0:d(k))},className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 flex",title:"Clear search and tag filters",children:(0,j.jsx)(Ne,{className:"w-3.5 h-3.5"})})]}),v!==null&&b.length>0&&(0,j.jsxs)("div",{ref:w,style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.3)",zIndex:50,overflow:"hidden"},children:[(0,j.jsx)("div",{style:{padding:"5px 10px",fontSize:10,textTransform:"uppercase",letterSpacing:"0.06em",color:"var(--p-text-g)",borderBottom:"1px solid var(--p-border)"},children:"Tags"}),b.map((k,H)=>{let{bg:re,text:J,border:G}=$t(k);return(0,j.jsxs)("button",{onMouseDown:se=>{se.preventDefault(),M(k)},onMouseEnter:()=>p(H),style:{width:"100%",textAlign:"left",display:"flex",alignItems:"center",gap:8,padding:"7px 12px",background:H===u?"var(--p-hover)":"none",border:"none",cursor:"pointer"},children:[(0,j.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:J,flexShrink:0}}),(0,j.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:k}),(0,j.jsx)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",padding:"1px 7px",borderRadius:100,fontSize:10,background:re,color:J,border:`1px solid ${G}`},children:"tag"})]},k)}),(0,j.jsx)("div",{style:{padding:"5px 10px",fontSize:10,color:"var(--p-text-g)",borderTop:"1px solid var(--p-border)"},children:"\\u2191\\u2193 navigate \\xB7 Enter select \\xB7 Esc close"})]})]})}),(0,j.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[h,(0,j.jsx)(po,{id:"header-shortcuts-hint",title:"Click to see keyboard shortcuts",onClick:()=>f(!0),label:"? shortcuts"}),(0,j.jsx)(po,{id:"btn-settings",title:"Settings",onClick:y,icon:(0,j.jsx)(Lr,{className:"w-3.5 h-3.5"})})]}),z&&(0,j.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(2,12,27,0.80)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",zIndex:200,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>f(!1),children:(0,j.jsxs)("div",{id:"shortcuts-modal",style:{background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:14,padding:"20px 24px",minWidth:320,maxWidth:420,boxShadow:"var(--p-shadow-lg)"},onClick:k=>k.stopPropagation(),children:[(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[(0,j.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--p-text)"},children:"Keyboard Shortcuts"}),(0,j.jsx)("button",{onClick:()=>f(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--p-text-f)",padding:2},children:(0,j.jsx)(Ne,{style:{width:14,height:14}})})]}),(0,j.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[["Alt+N","Open new task panel"],["Esc","Close panel / modal"],["?","Show this shortcuts overlay"],["Alt+F","Focus task search"]].map(([k,H])=>(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,j.jsx)("kbd",{style:{fontSize:10,fontFamily:"monospace",background:"var(--p-surface)",border:"1px solid var(--p-border-t)",borderRadius:4,padding:"2px 7px",color:"var(--p-text-sub)",flexShrink:0},children:k}),(0,j.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:H})]},k))})]})})]})}var X=A(Se(),1);var ks=A(Se(),1);var ta=A(V(),1);function bs({id:e,value:t,onChange:a,disabled:r}){let[o,n]=ks.default.useState(!1),l=ks.default.useRef(null),s=Sr.find(i=>i.value===t)??Sr[0];return ks.default.useEffect(()=>{let i=d=>{var g;(g=l.current)!=null&&g.contains(d.target)||n(!1)};return document.addEventListener("click",i),()=>document.removeEventListener("click",i)},[]),(0,ta.jsxs)("div",{id:e,ref:l,style:{position:"relative",display:"inline-block"},children:[(0,ta.jsxs)("button",{type:"button",title:s==null?void 0:s.tooltip,onClick:i=>{i.preventDefault(),r||n(d=>!d)},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"3px 8px",borderRadius:6,border:"1px solid var(--p-border, rgba(255,255,255,0.08))",background:"var(--p-hover, rgba(255,255,255,0.05))",color:"var(--p-text-m, rgba(255,255,255,0.7))",fontSize:12,cursor:"pointer",whiteSpace:"nowrap"},children:[(0,ta.jsx)("span",{style:{fontSize:13},children:s==null?void 0:s.icon}),(0,ta.jsx)("span",{children:s==null?void 0:s.label})]}),o&&(0,ta.jsx)("div",{style:{position:"absolute",top:"100%",left:0,marginTop:4,background:"var(--p-card, #1e293b)",border:"1px solid var(--p-border-s, rgba(255,255,255,0.12))",borderRadius:8,padding:"4px 0",zIndex:200,minWidth:140,boxShadow:"0 8px 24px rgba(0,0,0,0.4)"},children:Sr.map(i=>(0,ta.jsxs)("button",{type:"button",title:i.tooltip,onClick:()=>{a(i.value),n(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 12px",border:"none",background:i.value===t?"var(--p-hover, rgba(255,255,255,0.06))":"transparent",color:i.value===t?"var(--p-text, #fff)":"var(--p-text-f, rgba(255,255,255,0.55))",fontSize:12,cursor:"pointer",textAlign:"left"},children:[(0,ta.jsx)("span",{style:{fontSize:14,lineHeight:1},children:i.icon}),(0,ta.jsx)("span",{children:i.label})]},i.value))})]})}var tt=A(Se(),1);var Dn=A(Se(),1);var Qa=A(V(),1);function aa({markdown:e,className:t,style:a}){let r=Dn.default.useRef(null),o=Dn.default.useRef({}),[n,l]=Dn.default.useState(null);return Dn.default.useEffect(()=>{let s=r.current;if(!s)return;function i(){l(null)}async function d(m){let c=m.target,y=c==null?void 0:c.closest("a[data-task-ref]");if(!y){i();return}m.preventDefault();let h=y.getAttribute("data-task-ref");if(!h)return;let I=y.getBoundingClientRect(),z=o.current[h];if(z){l({id:h,title:z.title,status:z.status,x:I.left,y:I.bottom+6});return}try{let u=await(await fetch(`/api/tasks/${h}`)).json(),p={title:u.title??`Task ${h}`,status:u.status??"unknown"};o.current[h]=p,l({id:h,title:p.title,status:p.status,x:I.left,y:I.bottom+6})}catch{l({id:h,title:`Task ${h}`,status:"unknown",x:I.left,y:I.bottom+6})}}function g(m){var h,I;let c=(I=(h=m.target)==null?void 0:h.closest)==null?void 0:I.call(h,"a[data-task-ref]");if(!c)return;let y=c.getAttribute("data-task-ref");y&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId:y}}))}return s.addEventListener("mouseover",d),s.addEventListener("mouseleave",i),s.addEventListener("click",g),()=>{s.removeEventListener("mouseover",d),s.removeEventListener("mouseleave",i),s.removeEventListener("click",g)}},[]),(0,Qa.jsxs)("div",{style:{position:"relative"},children:[(0,Qa.jsx)("div",{ref:r,className:t,style:a,dangerouslySetInnerHTML:{__html:xs(e)}}),n&&(0,Qa.jsxs)("div",{style:{position:"fixed",left:n.x,top:n.y,background:"#0f172a",border:"1px solid rgba(59,130,246,0.4)",color:"#e2e8f0",borderRadius:8,padding:"8px 10px",fontSize:11,boxShadow:"0 10px 24px rgba(2,6,23,0.55)",zIndex:60,pointerEvents:"none",minWidth:180},children:[(0,Qa.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",n.id]}),(0,Qa.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:n.title}),(0,Qa.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",n.status]})]})]})}var En=A(Se(),1),Fm=A(V(),1),go=En.default.forwardRef(function({value:t,onChange:a,baseRows:r=4,maxRows:o,style:n,...l},s){let i=En.default.useRef(null),d=o??r*2,g=En.default.useCallback(()=>{let m=i.current;if(!m)return;m.style.height="auto";let c=window.getComputedStyle(m),y=Number.parseFloat(c.lineHeight||"0")||18,h=Number.parseFloat(c.paddingTop||"0")+Number.parseFloat(c.paddingBottom||"0"),I=Number.parseFloat(c.borderTopWidth||"0")+Number.parseFloat(c.borderBottomWidth||"0"),z=r*y+h+I,f=d*y+h+I,u=Math.max(z,Math.min(m.scrollHeight,f));m.style.height=`${u}px`,m.style.overflowY=m.scrollHeight>f?"auto":"hidden"},[r,d]);return En.default.useLayoutEffect(()=>{g()},[t,g]),(0,Fm.jsx)("textarea",{...l,ref:m=>{i.current=m,typeof s=="function"?s(m):s&&(s.current=m)},rows:r,value:t,onChange:m=>a(m.target.value),style:{...n,resize:"none"}})});var zm=A(Se(),1);var Bm=A(Se(),1),Om=A(no(),1),ra=A(V(),1);function ya({open:e,onClose:t,icon:a,title:r,headerActions:o,width:n,maxHeight:l,id:s,children:i,footer:d,boxStyle:g,onKeyDown:m}){if(Bm.default.useEffect(()=>{if(!e)return;function h(I){I.key==="Escape"&&t(),m==null||m(I)}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[e,t,m]),!e)return null;let c=!!(a||r||o),y=(0,ra.jsx)("div",{id:s,className:"modal-backdrop",onClick:h=>{h.target===h.currentTarget&&t()},onMouseDown:h=>h.stopPropagation(),children:(0,ra.jsxs)("div",{className:"modal-box",style:{width:n??"min(420px, 95vw)",maxHeight:l,...g},children:[c&&(0,ra.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--p-border)",flexShrink:0},children:[a&&(0,ra.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a}),r&&(0,ra.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1,minWidth:0},children:r}),o&&(0,ra.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0,marginLeft:"auto"},children:o})]}),(0,ra.jsx)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:i}),d&&(0,ra.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"10px 18px",borderTop:"1px solid var(--p-border)",flexShrink:0},children:d})]})});return(0,Om.createPortal)(y,document.body)}var At=A(V(),1);function oa({open:e,message:t,title:a="Confirm",confirmLabel:r="Delete",cancelLabel:o="Cancel",loading:n,error:l,onConfirm:s,onCancel:i}){let d=zm.default.useCallback(g=>{g.key==="Enter"&&s()},[s]);return(0,At.jsx)(ya,{open:e,onClose:i,id:"confirm-modal",width:"min(380px, 95vw)",icon:(0,At.jsx)(Ga,{style:{width:20,height:20,color:"#f87171"}}),title:a,onKeyDown:d,footer:(0,At.jsxs)(At.Fragment,{children:[(0,At.jsx)("button",{id:"confirm-modal-cancel",onClick:i,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer",transition:"background 0.15s"},children:o}),(0,At.jsx)("button",{id:"confirm-modal-confirm",onClick:s,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"#dc2626",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:n?"wait":"pointer",opacity:n?.6:1,transition:"background 0.15s"},children:n?"Deleting\\u2026":r})]}),children:(0,At.jsxs)("div",{style:{padding:"16px 18px"},children:[typeof t=="string"?(0,At.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:t}):t,l&&(0,At.jsx)("p",{style:{margin:"8px 0 0",fontSize:12,color:"var(--p-red)"},children:l})]})})}var Ee=A(V(),1);function Nm(e){return e.linkedPath?"\\u{1F517}":/\\.(png|jpe?g|gif|webp|svg)$/i.test(e.name)?"\\u{1F5BC}\\uFE0F":/\\.html?$/i.test(e.name)?"\\u{1F310}":/\\.md$/i.test(e.name)||/\\.pdf$/i.test(e.name)?"\\u{1F4C4}":"\\u{1F4CE}"}function Iv(e){return/\\.(png|jpe?g|gif|webp|svg|html?)$/i.test(e.name)}function Cv(e){return/\\.html?$/i.test(e.name)}function Ps({file:e,url:t,variant:a,onPreview:r,onDelete:o}){let n=Iv(e),l=Cv(e);function s(){r?r(e,t):window.open(t,"_blank")}return a==="compact"?(0,Ee.jsxs)("div",{className:"group/file-compact",style:{display:"flex",alignItems:"center",gap:8,padding:"4px 8px",borderRadius:8,background:"var(--p-card)",border:"1px solid var(--p-border)",position:"relative"},children:[(0,Ee.jsx)("span",{style:{fontSize:14,flexShrink:0},children:Nm(e)}),(0,Ee.jsx)("div",{style:{flex:1,minWidth:0},children:(0,Ee.jsx)("button",{onClick:s,style:{fontSize:12,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:0,textAlign:"left",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},title:e.name,children:e.name})}),(0,Ee.jsx)("span",{className:"file-compact-ts",style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:e.createdAt?ct(e.createdAt):"attached"}),(0,Ee.jsxs)("div",{className:"file-compact-actions",style:{position:"absolute",right:6,top:0,bottom:0,display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s",background:"var(--p-card)",paddingLeft:8},children:[n&&(0,Ee.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ee.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:i=>i.stopPropagation(),children:"\\u2193"}),o&&(0,Ee.jsx)("button",{onClick:()=>{o(e)},style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]}):(0,Ee.jsxs)("div",{className:"group/file",style:{display:"flex",alignItems:"center",gap:10,padding:8,borderRadius:8,border:"1px solid var(--p-border)",transition:"background 0.15s",position:"relative"},children:[(0,Ee.jsx)("span",{style:{fontSize:18,flexShrink:0},children:Nm(e)}),(0,Ee.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,Ee.jsx)("p",{style:{fontSize:12,fontWeight:500,color:"var(--p-text)",margin:0,cursor:"pointer",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,onClick:s,children:e.name}),(0,Ee.jsx)("p",{style:{fontSize:10,color:"var(--p-text-f)",margin:0},children:e.linkedPath?`linked: ${e.linkedPath}`:nd(e.size??0)})]}),(0,Ee.jsxs)("div",{className:"file-normal-actions",style:{display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s"},children:[n&&(0,Ee.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ee.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:i=>i.stopPropagation(),children:"\\u2193"}),o&&(0,Ee.jsx)("button",{onClick:()=>{o(e)},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]})}var O=A(V(),1);function Hm({source:e}){return e!=="cli"?null:(0,O.jsx)("span",{title:"Via CLI (agent)",style:{fontSize:9,color:"var(--p-green-300)",background:"rgba(34,197,94,0.1)",border:"1px solid rgba(34,197,94,0.2)",borderRadius:4,padding:"0 4px",fontFamily:"monospace",lineHeight:"16px",flexShrink:0},children:">_"})}function wv(e,t){if(e.kind==="lifecycle")return e.author??null;if(e.kind==="comment"){let a=e.comment;return a.type==="system"?null:a.author==="agent"?"\\u{1F916} Agent":a.authorName??t}return e.kind==="change"?e.actor:null}function kv(e,t){let a=[];for(let r of e){let o=wv(r,t),n=a[a.length-1];o&&n&&n.author===o?(n.items.push(r),r.sortKey>n.newestSortKey&&(n.newestSortKey=r.sortKey),r.sortKey<n.oldestSortKey&&(n.oldestSortKey=r.sortKey)):a.push({author:o,newestSortKey:r.sortKey,oldestSortKey:r.sortKey,items:[r]})}return a}function md({comments:e,files:t=[],localChanges:a=[],loading:r,error:o,gitUserName:n="You",taskAuthorName:l,baseUrl:s="",taskId:i,taskCreatedAt:d,taskUpdatedAt:g,onEdit:m,onDelete:c,onDeleteFile:y,onFilePreview:h}){let I=tt.default.useRef(null),z=tt.default.useRef(null),[f,u]=tt.default.useState(null),[p,S]=tt.default.useState(""),[w,T]=tt.default.useState(null),[v,L]=tt.default.useState(null),[q,b]=tt.default.useState(()=>{try{return localStorage.getItem("vibeflow-show-updates")!=="false"}catch{return!0}}),M=tt.default.useRef(r),_=tt.default.useMemo(()=>{let k=[];d&&k.push({kind:"lifecycle",sortKey:d,label:"Task created",icon:"\\u2726",author:l??n}),g&&g!==d&&k.push({kind:"lifecycle",sortKey:g,label:"Task edited",icon:"\\u270E"});let H=e.map(G=>({kind:"comment",sortKey:G.createdAt,comment:G})),re=t.map(G=>{let se=G.url.startsWith("http")?G.url:`${s}${G.url}`;return{kind:"file",sortKey:G.createdAt??"9999",file:G,url:se}}),J=a.map(G=>({kind:"change",sortKey:G.timestamp,field:G.field,from:G.from,to:G.to,actor:G.actor,source:G.source}));return[...k,...H,...re,...J].sort((G,se)=>se.sortKey.localeCompare(G.sortKey))},[e,t,a,s,d,g]),Y=tt.default.useMemo(()=>_.filter(k=>k.kind==="lifecycle"||k.kind==="change").length,[_]),$=tt.default.useMemo(()=>q?_:_.filter(k=>k.kind==="comment"||k.kind==="file"),[_,q]),te=tt.default.useMemo(()=>kv($,n),[$,n]);return tt.default.useEffect(()=>{let k=M.current&&!r;M.current=r,I.current&&k&&requestAnimationFrame(()=>{I.current&&(I.current.scrollTop=0)})},[r]),tt.default.useEffect(()=>{f&&z.current&&(z.current.focus(),z.current.scrollIntoView({block:"nearest"}))},[f]),r?(0,O.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):o?(0,O.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):_.length===0?(0,O.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No activity yet."}):(0,O.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[Y>0&&(0,O.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"4px 0 4px",flexShrink:0,borderBottom:"1px solid var(--p-border)",marginBottom:4},children:[(0,O.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",flex:1,letterSpacing:"0.04em"},children:q?"":`${Y} system event${Y!==1?"s":""} hidden`}),(0,O.jsx)("button",{id:"dp-toggle-updates",onClick:()=>b(k=>{let H=!k;try{localStorage.setItem("vibeflow-show-updates",String(H))}catch{}return H}),style:{all:"unset",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,color:q?"var(--p-text-m)":"var(--p-text-g)",transition:"color .12s, background .12s"},title:q?"Hide system events":`Show ${Y} system event${Y!==1?"s":""}`,onMouseEnter:k=>{k.currentTarget.style.color="var(--p-text)",k.currentTarget.style.background="var(--p-hover)"},onMouseLeave:k=>{k.currentTarget.style.color=q?"var(--p-text-m)":"var(--p-text-g)",k.currentTarget.style.background="transparent"},children:q?(0,O.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,O.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,O.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,O.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,O.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,O.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})})]}),(0,O.jsx)("div",{ref:I,style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:te.map((k,H)=>{let re=k.author!==null&&k.items.length>1,J=re,G=k.author==="\\u{1F916} Agent";return(0,O.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[J&&(0,O.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 0 2px",marginTop:4},children:[(0,O.jsx)("span",{style:{fontSize:11,fontWeight:600,color:G?"var(--p-purple)":"var(--p-blue-300)",flexShrink:0},children:k.author}),(0,O.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",flexShrink:0},children:`${ct(k.oldestSortKey)} \\u2013 ${ct(k.newestSortKey)}`}),(0,O.jsxs)("span",{style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:["(",k.items.length," activities)"]})]}),(0,O.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:re?4:8,paddingLeft:re?8:0,borderLeft:re?"1.5px solid var(--p-border)":"none",marginLeft:re?4:0},children:k.items.map((se,qe)=>bv(se,qe,H,re,n,f,p,z,u,S,m,T,y?L:null,h))})]},`group-${H}`)})}),(0,O.jsx)(oa,{open:w!==null,message:"Delete this comment? This action cannot be undone.",onConfirm:()=>{w&&c(w),T(null)},onCancel:()=>T(null)}),y&&(0,O.jsx)(oa,{open:v!==null,message:v?`Delete "${v.name}"? This action cannot be undone.`:"",onConfirm:()=>{v&&y(v),L(null)},onCancel:()=>L(null)})]})}function bv(e,t,a,r,o,n,l,s,i,d,g,m,c,y){if(e.kind==="lifecycle")return(0,O.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,O.jsx)("span",{style:{fontSize:11,color:"var(--p-purple)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:e.icon}),(0,O.jsx)("div",{style:{flex:1,minWidth:0},children:(0,O.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,O.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)",fontStyle:"italic"},children:e.label}),!r&&(0,O.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:ct(e.sortKey)})]})})]},`lifecycle-${e.sortKey}-${a}-${t}`);if(e.kind==="change"){let w=e.from.length>28?e.from.slice(0,28)+"\\u2026":e.from,T=e.to.length>28?e.to.slice(0,28)+"\\u2026":e.to,v=e.from.length>28||e.to.length>28;return(0,O.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,O.jsx)("span",{style:{fontSize:11,color:"var(--p-blue)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:"\\u270E"}),(0,O.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,O.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[!r&&(0,O.jsxs)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-blue-300)"},children:["\\u{1F464} ",e.actor]}),!r&&(0,O.jsx)(Hm,{source:e.source}),(0,O.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:["changed ",(0,O.jsx)("strong",{style:{color:"var(--p-text)"},children:e.field})]}),!r&&(0,O.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:ct(e.sortKey)})]}),(0,O.jsxs)("div",{title:v?`${e.from} \\u2192 ${e.to}`:void 0,style:{marginTop:2,fontSize:11,color:"var(--p-text-g)",display:"flex",alignItems:"center",gap:4,cursor:v?"help":"default"},children:[(0,O.jsx)("span",{style:{color:"var(--p-red)",background:"rgba(239,68,68,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:w}),(0,O.jsx)("span",{style:{color:"var(--p-text-g)"},children:"\\u2192"}),(0,O.jsx)("span",{style:{color:"var(--p-green)",background:"rgba(34,197,94,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:T})]})]})]},`change-${e.sortKey}-${a}-${t}`)}if(e.kind==="file"){let{file:S,url:w}=e;return(0,O.jsx)(Ps,{file:S,url:w,variant:"compact",onPreview:y?(T,v)=>y(T.name,v):void 0,onDelete:c?T=>(c(T),Promise.resolve()):void 0},`file-${S.name}-${a}-${t}`)}let h=e.comment,I=h.author==="agent",z=h.type==="system",f=h.deleted===!0,u=!!h.id&&!I&&!z&&!f&&h.isOwnComment!==!1,p=n===h.id;return z?(0,O.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"2px 0",fontSize:11,color:"var(--p-text-g)",fontStyle:"italic"},children:[(0,O.jsx)("span",{style:{opacity:.6},children:"\\u2B21"}),(0,O.jsx)("span",{children:h.text}),!r&&(0,O.jsx)("span",{style:{marginLeft:"auto",flexShrink:0,opacity:.6},children:ct(h.createdAt)})]},h.id):(0,O.jsxs)("div",{className:"flex flex-col gap-1 group/comment",style:{paddingTop:r?2:4},children:[!r&&(0,O.jsxs)("div",{className:"flex items-center justify-between gap-1.5 text-xs mb-0.5",children:[(0,O.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,O.jsx)("span",{style:{color:f?"var(--p-text-g)":I?"var(--p-purple)":"var(--p-blue-300)"},children:I?"\\u{1F916} Agent":`\\u{1F464} ${h.authorName??o}`}),(0,O.jsx)(Hm,{source:h.source}),(0,O.jsxs)("span",{style:{color:"var(--p-text-g)"},children:[ct(h.createdAt),!f&&h.updatedAt?" \\xB7 edited":"",f?" \\xB7 deleted":""]})]}),u&&(0,O.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,O.jsx)("button",{onClick:()=>{i(h.id),d(h.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,O.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,O.jsx)("button",{onClick:()=>m(h),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,O.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),r&&(0,O.jsxs)("div",{className:"flex items-center justify-between gap-1.5",style:{marginBottom:2},children:[(0,O.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-g)"},children:[ct(h.createdAt),!f&&h.updatedAt?" \\xB7 edited":"",f?" \\xB7 deleted":""]}),u&&(0,O.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,O.jsx)("button",{onClick:()=>{i(h.id),d(h.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,O.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,O.jsx)("button",{onClick:()=>m(h),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,O.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),p?(0,O.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,O.jsx)(go,{ref:s,value:l,onChange:d,baseRows:4,maxRows:12,onKeyDown:S=>{S.key==="Enter"&&(S.ctrlKey||S.metaKey)&&(S.preventDefault(),g(h,l).then(()=>i(null)))},style:{width:"100%",background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:6,padding:"8px 10px",fontSize:12,color:"var(--p-text)",outline:"none",fontFamily:"inherit",boxSizing:"border-box"}}),(0,O.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,O.jsx)("button",{onClick:()=>i(null),style:{padding:"4px 10px",background:"var(--p-surface)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-text-sub)",cursor:"pointer"},children:"Cancel"}),(0,O.jsx)("button",{onClick:async()=>{await g(h,l),i(null)},style:{padding:"4px 10px",background:"var(--p-blue)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-white)",cursor:"pointer"},children:"Save"})]})]}):f?(0,O.jsx)("div",{style:{padding:"8px 14px",fontSize:12,color:"var(--p-text-g)",fontStyle:"italic",background:"var(--p-input)",border:"1px dashed var(--p-border)",borderRadius:8},children:"Comment deleted"}):(0,O.jsx)(aa,{markdown:h.text,style:{background:"var(--p-input)",border:"1px solid var(--p-border)",borderRadius:8,padding:"10px 14px",fontSize:12,color:"var(--p-text-sub)",lineHeight:1.6}})]},h.id)}var gd=A(Se(),1);var at=A(V(),1);function Um(e,t){return!!(/^baseline-.*\\.json$/i.test(e.name)||t&&e.name===`${t}.png`)}function hd({files:e,loading:t,error:a,baseUrl:r,taskId:o,onPreview:n,onDelete:l}){let[s,i]=gd.default.useState(null),[d,g]=gd.default.useState(!1);if(t)return(0,at.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"});if(a)return(0,at.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."});if(e.length===0)return(0,at.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No files attached."});let m=e.filter(h=>!Um(h,o)),c=e.filter(h=>Um(h,o));function y(h){let I=h.url??`${r}/api/files/${encodeURIComponent(h.name)}`;return(0,at.jsx)(Ps,{file:h,url:I,variant:"normal",onPreview:z=>n(z),onDelete:l?z=>(i(z),Promise.resolve()):void 0},h.name)}return(0,at.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[m.map(y),c.length>0&&(0,at.jsxs)("div",{style:{marginTop:4},children:[(0,at.jsxs)("button",{onClick:()=>g(h=>!h),style:{display:"flex",alignItems:"center",gap:6,background:"none",border:"1px solid var(--p-border)",borderRadius:8,padding:"6px 10px",width:"100%",cursor:"pointer",color:"var(--p-text-f)",fontSize:11,fontWeight:500},children:[(0,at.jsx)("span",{style:{fontSize:10,transition:"transform 0.15s",transform:d?"rotate(90deg)":"rotate(0deg)",display:"inline-block"},children:"\\u25B6"}),(0,at.jsx)("span",{style:{background:"var(--p-border)",borderRadius:4,padding:"1px 5px",fontSize:9,fontWeight:600,letterSpacing:.5,textTransform:"uppercase"},children:"SYSTEM"}),(0,at.jsxs)("span",{children:["Captured by Vibeflow (",c.length,")"]})]}),d&&(0,at.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,marginTop:6},children:[c.map(y),(0,at.jsx)("p",{style:{color:"var(--p-text-f)",fontSize:10,margin:"2px 0 0",fontStyle:"italic"},children:"DOM baselines & screenshots captured automatically \\u2014 re-captured on every verify run, safe to ignore."})]})]}),l&&(0,at.jsx)(oa,{open:s!==null,message:s?`Delete "${s.name}"? This action cannot be undone.`:"",onConfirm:()=>{s&&l(s),i(null)},onCancel:()=>i(null)})]})}var Rs=A(Se(),1);var ho=A(Se(),1),_m=A(no(),1);var Vt=A(V(),1);function Fn({value:e,onChange:t,previewValue:a,showPreview:r,setShowPreview:o,previewId:n,textareaId:l,placeholder:s,previewEmptyText:i,previewMinHeight:d=54,previewMaxHeight:g=220,baseRows:m=5,maxRows:c=12,autoFocus:y=!1,textareaRef:h,onKeyDown:I,afterTextarea:z,onBlur:f}){let u=ho.default.useRef(null),[p,S]=ho.default.useState([]),[w,T]=ho.default.useState(null),[v,L]=ho.default.useState(null);ho.default.useEffect(()=>{let M=!0;return fetch("/api/tasks").then(_=>_.json()).then(_=>{if(!M)return;let Y=(_.tasks??[]).map($=>({id:String($.id??""),title:String($.title??"")})).filter($=>$.id.length>0);S(Y)}).catch(()=>{}),()=>{M=!1}},[]);function q(M){let _=u.current;if(!_){T(null);return}let Y=_.selectionStart??M.length,$=M.slice(0,Y),te=-1;for(let J=$.length-1;J>=0;J--){if($[J]!=="#")continue;let G=J>0?$[J-1]:"";if(G&&!/\\s/.test(G))continue;let se=$.slice(J+1);if(!se.includes("#")){if(se.length>80)return;te=J;break}}if(te===-1){T(null);return}let k=$.slice(te+1).trim().toLowerCase(),H=p.filter(J=>{if(!k)return!0;let G=J.id.toLowerCase(),se=J.title.toLowerCase();return G.includes(k)||se.includes(k)}).sort((J,G)=>{let se=J.id.toLowerCase().startsWith(k)?1:0,qe=G.id.toLowerCase().startsWith(k)?1:0;if(se!==qe)return qe-se;let rt=J.title.toLowerCase().startsWith(k)?1:0,Gt=G.title.toLowerCase().startsWith(k)?1:0;return rt!==Gt?Gt-rt:J.id.localeCompare(G.id)}).slice(0,6);if(!H.length){T(null),L(null);return}let re=_.getBoundingClientRect();L({top:re.top,left:re.left,width:re.width}),T({queryStart:te,queryEnd:Y,items:H})}function b(M){let _=w;if(!_)return;let Y=`${e.slice(0,_.queryStart)}#${M} ${e.slice(_.queryEnd)}`;t(Y),T(null),L(null),requestAnimationFrame(()=>{let $=u.current;if(!$)return;let te=_.queryStart+M.length+2;$.focus(),$.setSelectionRange(te,te)})}return r?(0,Vt.jsx)("div",{id:n,onClick:M=>{M.target.closest("a")||o(!1)},title:"Click to edit",style:{cursor:"text",minHeight:d,background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:10,fontSize:12,color:"var(--p-text-sub)",lineHeight:1.7,overflow:"auto",maxHeight:g},children:(a??e).trim()?(0,Vt.jsx)(aa,{markdown:a??e}):(0,Vt.jsx)("span",{style:{color:"var(--p-border-t)"},children:i??s})}):(0,Vt.jsxs)("div",{style:{position:"relative"},children:[(0,Vt.jsx)(go,{id:l,ref:M=>{u.current=M,h&&(h.current=M)},className:"dp-textarea",placeholder:s,value:e,onChange:M=>{t(M),q(M)},onFocus:()=>o(!1),onBlur:()=>{T(null),L(null),o(!0),f==null||f()},baseRows:m,maxRows:c,autoFocus:y,onKeyDown:M=>{M.key==="Escape"&&(T(null),L(null)),I==null||I(M)}}),w&&v&&(0,_m.createPortal)((0,Vt.jsx)("div",{"data-task-ref-suggest":"true",style:{position:"fixed",left:v.left+8,width:v.width-16,top:v.top,transform:"translateY(-100%)",border:"1px solid var(--p-border-s)",background:"var(--p-card)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",overflow:"hidden",zIndex:9999},children:w.items.map(M=>(0,Vt.jsxs)("button",{type:"button",onMouseDown:_=>{_.preventDefault(),b(M.id)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,textAlign:"left",border:"none",borderBottom:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-sub)",padding:"7px 10px",fontSize:11,cursor:"pointer"},onMouseEnter:_=>{_.currentTarget.style.background="var(--p-hover)"},onMouseLeave:_=>{_.currentTarget.style.background="transparent"},children:[(0,Vt.jsxs)("span",{style:{fontFamily:"monospace",color:"var(--p-blue-300)"},children:["#",M.id]}),(0,Vt.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:M.title})]},M.id))}),document.body),z]})}var Cr=A(Se(),1);var Dt=A(V(),1);function Ts({tags:e,allTags:t,onChange:a,disabled:r}){let[o,n]=Cr.default.useState(""),[l,s]=Cr.default.useState(!1),i=Cr.default.useRef(null),d=Cr.default.useRef(null),g=o.trim().toLowerCase(),m=Cr.default.useMemo(()=>t.filter(p=>!e.includes(p)&&p.toLowerCase().includes(g)).slice(0,8),[t,e,g]),c=g.length>0&&!t.some(u=>u.toLowerCase()===g)&&!e.some(u=>u.toLowerCase()===g),y=g.length>0&&t.some(u=>u.toLowerCase()===g)&&!e.some(u=>u.toLowerCase()===g);function h(u){var S;let p=u.trim();!p||e.includes(p)||(a([...e,p]),n(""),s(!1),(S=i.current)==null||S.focus())}function I(u){a(e.filter(p=>p!==u))}function z(u){if(u.key==="Enter")if(u.preventDefault(),c||y){let p=t.find(S=>S.toLowerCase()===g);h(p??o.trim())}else m.length>0&&h(m[0]);u.key==="Escape"&&(s(!1),n("")),u.key==="Backspace"&&!o&&e.length>0&&I(e[e.length-1])}Cr.default.useEffect(()=>{function u(p){d.current&&!d.current.contains(p.target)&&s(!1)}return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]);let f=l&&(m.length>0||c);return(0,Dt.jsxs)("div",{ref:d,style:{position:"relative"},children:[(0,Dt.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center",padding:"5px 8px",borderRadius:8,border:`1px solid ${l?"var(--p-blue)":"var(--p-border)"}`,background:"var(--p-input)",cursor:r?"not-allowed":"text",opacity:r?.6:1,minHeight:34,transition:"border-color .12s"},onClick:()=>{var u;r||(u=i.current)==null||u.focus()},children:[(0,Dt.jsx)(fo,{tags:e,onRemove:r?void 0:I,size:"sm"}),!r&&(0,Dt.jsx)("input",{ref:i,type:"text",value:o,placeholder:e.length?"":"Add tags\\u2026",onChange:u=>{n(u.target.value),s(!0)},onFocus:()=>s(!0),onKeyDown:z,style:{background:"none",border:"none",outline:"none",fontSize:12,color:"var(--p-text)",minWidth:80,flex:1,padding:0,lineHeight:"1.4"}})]}),f&&(0,Dt.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onMouseDown:u=>u.preventDefault(),children:[m.map(u=>{let{bg:p,text:S,border:w}=$t(u);return(0,Dt.jsxs)("button",{type:"button",onClick:()=>h(u),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-m)"},onMouseEnter:T=>{T.currentTarget.style.background="var(--p-hover)"},onMouseLeave:T=>{T.currentTarget.style.background="none"},children:[(0,Dt.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:S,border:`1px solid ${w}`,flexShrink:0}}),u]},u)}),c&&(0,Dt.jsxs)("button",{type:"button",onClick:()=>h(o.trim()),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:m.length>0?"1px solid var(--p-border)":"none",borderLeft:"none",borderRight:"none",borderBottom:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-g)"},onMouseEnter:u=>{u.currentTarget.style.background="var(--p-hover)",u.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:u=>{u.currentTarget.style.background="none",u.currentTarget.style.color="var(--p-text-g)"},children:[(0,Dt.jsx)("span",{style:{fontSize:14,lineHeight:1},children:"+"}),\'Create "\',(0,Dt.jsx)("strong",{style:{color:"var(--p-text)"},children:o.trim()}),\'"\']})]})]})}var B=A(V(),1);function vd({task:e,description:t,setDescription:a,showDescPreview:r,setShowDescPreview:o,priority:n,setPriority:l,onDescriptionBlur:s,onDescriptionDiscard:i,originalDescription:d,onPriorityChange:g,githubUrl:m,onFilePreview:c,onPatch:y,onDeleteScreenshot:h,liveFiles:I,allTags:z=[],overrideTags:f,onTagsChange:u,isAdd:p=!1}){var te;let[S,w]=Rs.default.useState(!1),T=(e==null?void 0:e.files)??[],v=I?I.map(k=>({name:k.name,linkedPath:k.linkedPath,addedAt:k.createdAt,url:k.url})):T,L=v==null?void 0:v.find(k=>/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(k.name)),q=e&&L?L.url||`/api/tasks/${e.id}/files/${encodeURIComponent(L.name)}`:null,b=Rs.default.useRef(null),[M,_]=Rs.default.useState(null),{userPart:Y,consolePart:$}=Rv(t);return(0,B.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,B.jsxs)("div",{children:[(0,B.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:"Description"}),(0,B.jsx)(Fn,{value:t,previewValue:$?Y:void 0,onChange:a,onBlur:s,showPreview:r,setShowPreview:o,previewId:"dp-desc-preview",textareaId:"dp-desc",placeholder:"Description (markdown)\\u2026",previewMinHeight:80,previewMaxHeight:220,baseRows:6,maxRows:12,autoFocus:!0,textareaRef:b,afterTextarea:i&&d!==void 0&&t!==d?(0,B.jsx)("button",{type:"button",onMouseDown:k=>{k.preventDefault(),i()},title:"Discard changes and restore saved description",style:{marginTop:4,display:"flex",alignItems:"center",gap:4,fontSize:11,color:"var(--p-text-g)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:6,padding:"3px 8px",cursor:"pointer",transition:"color .12s, border-color .12s"},onMouseEnter:k=>{k.currentTarget.style.color="var(--p-amber-300)",k.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:k=>{k.currentTarget.style.color="var(--p-text-g)",k.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9 Discard changes"}):void 0})]}),$&&(0,B.jsx)(Mv,{logs:$}),e&&L&&q&&(0,B.jsxs)("div",{children:[(0,B.jsx)("div",{className:"dp-meta-label",children:"Screenshot"}),(0,B.jsxs)("div",{id:"dp-screenshot-preview",style:{border:"1px solid color-mix(in srgb, var(--p-border-t) 70%, transparent)",borderRadius:10,overflow:"hidden",background:"var(--p-card)"},children:[(0,B.jsx)("button",{onClick:()=>c(L.name,q),style:{width:"100%",height:112,border:"none",padding:0,background:"linear-gradient(135deg, var(--p-border), var(--p-bg))",cursor:"pointer",display:"block",overflow:"hidden"},title:"Preview screenshot",children:(0,B.jsx)("img",{src:q,alt:"Task screenshot",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})}),(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderTop:"1px solid var(--p-border)",background:"var(--p-surface)"},children:[(0,B.jsx)("span",{style:{fontSize:10,color:"var(--p-text-f)",flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:L.addedAt?`Captured ${ct(L.addedAt)}`:"Screenshot attached"}),(0,B.jsx)("button",{onClick:()=>c(L.name,q),style:{fontSize:10,color:"var(--p-text-m)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Preview screenshot",children:"Preview"}),(0,B.jsx)("button",{onClick:()=>_(L.name),style:{fontSize:10,color:"var(--p-red)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Remove screenshot",children:"Remove"})]})]})]}),p&&(0,B.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:8},children:[(0,B.jsxs)("button",{type:"button",onClick:()=>w(!S),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 0",background:"none",border:"none",cursor:"pointer",fontSize:11,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em",width:"100%",textAlign:"left"},onMouseEnter:k=>{k.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:k=>{k.currentTarget.style.color="var(--p-text-g)"},children:[(0,B.jsx)("span",{style:{fontSize:10,transform:S?"rotate(90deg)":"rotate(0deg)",transition:"transform .15s"},children:"\\u25B6"}),"Advanced"]}),S&&(0,B.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,paddingTop:8},children:[(0,B.jsxs)("div",{children:[(0,B.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,B.jsx)(Ts,{tags:f??(e==null?void 0:e.tags)??[],allTags:z,disabled:!e&&!u,onChange:k=>{u?u(k):e&&y(e.id,{tags:k})}})]}),(0,B.jsxs)("div",{children:[(0,B.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,B.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:k=>{let H=k.target.value;l(H),g==null||g(H)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,B.jsx)("option",{value:"",children:"\\u2014"}),(0,B.jsx)("option",{value:"Critical",children:"Critical"}),(0,B.jsx)("option",{value:"High",children:"High"}),(0,B.jsx)("option",{value:"Medium",children:"Medium"}),(0,B.jsx)("option",{value:"Low",children:"Low"})]})]})]})]}),!p&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)("div",{children:[(0,B.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,B.jsx)(Ts,{tags:f??(e==null?void 0:e.tags)??[],allTags:z,disabled:!e&&!u,onChange:k=>{u?u(k):e&&y(e.id,{tags:k})}})]}),(0,B.jsxs)("div",{children:[(0,B.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,B.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:k=>{let H=k.target.value;l(H),g==null||g(H)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,B.jsx)("option",{value:"",children:"\\u2014"}),(0,B.jsx)("option",{value:"Critical",children:"Critical"}),(0,B.jsx)("option",{value:"High",children:"High"}),(0,B.jsx)("option",{value:"Medium",children:"Medium"}),(0,B.jsx)("option",{value:"Low",children:"Low"})]})]})]}),e&&(0,B.jsxs)("div",{id:"dp-metadata",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,B.jsx)(xd,{label:"Created",id:"dp-created",children:e.createdAt?ct(e.createdAt):"\\u2014"}),(0,B.jsx)(xd,{label:"ID",id:"dp-id",children:(0,B.jsx)("span",{style:{fontFamily:"monospace"},children:e.id})}),(0,B.jsx)(xd,{label:"Author",id:"dp-author",children:e.authorName??e.author??"\\u2014"}),(e.commit||((te=e.commits)==null?void 0:te.length))&&(0,B.jsx)(Pv,{task:e,githubUrl:m}),e.branchName&&(0,B.jsx)(Tv,{branchName:e.branchName}),e.annotatedElementText&&(0,B.jsxs)("div",{id:"dp-annotated-text",style:{gridColumn:"1 / -1",background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,B.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Annotated element text"}),(0,B.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",fontStyle:"italic",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.annotatedElementText})]})]}),(0,B.jsx)(oa,{open:M!==null,message:"Remove this screenshot? This action cannot be undone.",confirmLabel:"Remove",onConfirm:()=>{M&&h(M),_(null)},onCancel:()=>_(null)})]})}function xd({label:e,id:t,children:a}){return(0,B.jsxs)("div",{id:t,style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,B.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:e}),(0,B.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",borderBottom:"1px solid var(--p-border)",paddingBottom:4,display:"flex",alignItems:"center",minHeight:16},children:a})]})}function Pv({task:e,githubUrl:t}){var n;let a=(n=e.commits)!=null&&n.length?e.commits:[{sha:e.commit,message:e.title??"",timestamp:e.createdAt??""}],r=a[a.length-1],o=a.map(l=>`${l.sha.slice(0,8)} ${l.timestamp?new Date(l.timestamp).toLocaleString():""} ${l.message.slice(0,60)}`).join(`\n`);return(0,B.jsxs)("div",{id:"dp-commit",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:a.length>1?`All commits:\n${o}`:`${r.sha}\n${r.message}`,children:[(0,B.jsxs)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:["Commit",a.length>1?"s":""]}),(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[t&&e.commitPushed!==!1?(0,B.jsxs)("a",{href:`${t}/commit/${r.sha}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"var(--p-blue-300)",fontFamily:"monospace",textDecoration:"none"},title:"Open diff on GitHub",onClick:l=>l.stopPropagation(),children:[r.sha.slice(0,8)," \\u2197"]}):(0,B.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-f)",fontFamily:"monospace"},title:e.commitPushed===!1?"Commit not pushed to remote yet":void 0,children:[r.sha.slice(0,8),e.commitPushed===!1?" \\u23F3":""]}),a.length>1&&(0,B.jsxs)("span",{style:{fontSize:9,color:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 25%, transparent)",borderRadius:10,padding:"0 5px",fontWeight:600},children:["+",a.length-1]})]})]})}function Tv({branchName:e}){return(0,B.jsxs)("div",{id:"dp-branch",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:`Branch: ${e}`,children:[(0,B.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Branch"}),(0,B.jsxs)("div",{style:{fontSize:10,color:"var(--p-green-300)",fontFamily:"monospace"},children:["\\u2387 ",e]})]})}function Rv(e){let a=e.indexOf(`\n---\n**Console logs**`);return a===-1?{userPart:e,consolePart:null}:{userPart:e.slice(0,a).trim(),consolePart:e.slice(a+1).trim()}}function Mv({logs:e}){let t=e.replace(/^---\\s*\\n/,"").split(`\n`).filter(a=>a.trim());return(0,B.jsxs)("div",{id:"dp-console-logs",style:{borderRadius:8,border:"1px solid color-mix(in srgb, var(--p-red) 30%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 4%, var(--p-card))",overflow:"hidden"},children:[(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 10px",borderBottom:"1px solid color-mix(in srgb, var(--p-red) 20%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 8%, var(--p-card))"},children:[(0,B.jsx)("span",{style:{fontSize:10,fontWeight:700,color:"color-mix(in srgb, var(--p-red) 80%, var(--p-text-sub))",letterSpacing:"0.05em",textTransform:"uppercase"},children:"Console Logs"}),(0,B.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",marginLeft:"auto"},children:"captured at submission"})]}),(0,B.jsxs)("div",{style:{padding:"6px 10px",maxHeight:200,overflowY:"auto",display:"flex",flexDirection:"column",gap:3},children:[t.map((a,r)=>{let o=a.includes("\\u{1F534}"),n=a.includes("\\u{1F7E1}"),l=a.replace(/^[-*]\\s*/,"");return(0,B.jsx)("div",{style:{fontFamily:"Menlo, monospace",fontSize:10,lineHeight:1.5,color:o?"var(--p-red)":n?"var(--p-amber-300)":"var(--p-text-f)",wordBreak:"break-all"},children:l},r)}),t.length===0&&(0,B.jsx)("div",{style:{fontSize:10,color:"var(--p-text-g)",fontStyle:"italic"},children:"No log entries captured."})]})]})}var xo=A(V(),1);function yd({commentInput:e,setCommentInput:t,commentSubmitting:a,onSubmit:r,baseRows:o=4}){return(0,xo.jsx)("div",{id:"dp-comment-input-area",children:(0,xo.jsx)(Fn,{value:e,onChange:t,showPreview:!1,setShowPreview:()=>{},previewId:"dp-comment-tab-edit",textareaId:"dp-comment-input",placeholder:"Add a comment\\u2026 (markdown)",previewEmptyText:"Leave a comment (markdown)\\u2026",previewMinHeight:o<=2?36:54,previewMaxHeight:140,baseRows:o,maxRows:10,autoFocus:!0,onKeyDown:n=>{n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(n.preventDefault(),r())},afterTextarea:(0,xo.jsx)("button",{id:"dp-comment-submit",disabled:a,onMouseDown:n=>{n.preventDefault(),r()},title:"Send (Ctrl+Enter)",style:{position:"absolute",bottom:16,right:8,width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--p-blue)",border:"none",borderRadius:6,cursor:"pointer",color:"var(--p-white)",transition:"background .15s"},children:(0,xo.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"block"},children:(0,xo.jsx)("path",{d:"M2 8L14 2L10 8L14 14L2 8Z",fill:"currentColor"})})})})})}var E=A(V(),1),Av="vibeflow-paste-hint-dismissed";function Dv({storageKey:e=Av}){let[t,a]=X.default.useState(()=>{try{return!localStorage.getItem(e)}catch{return!0}});if(!t)return null;function r(){try{localStorage.setItem(e,"1")}catch{}a(!1)}return(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",margin:"0 0 6px",borderRadius:6,background:"rgba(37,99,235,0.08)",border:"1px solid rgba(37,99,235,0.18)",fontSize:11,color:"var(--p-blue-300)",flexShrink:0},children:[(0,E.jsxs)("span",{style:{flex:1,lineHeight:1.4},children:["\\u{1F4A1} ",(0,E.jsx)("strong",{children:"Tip:"})," Paste screenshots or files anywhere in this panel \\u2014 they attach automatically."]}),(0,E.jsx)("button",{onClick:r,title:"Dismiss",style:{flexShrink:0,background:"none",border:"none",cursor:"pointer",padding:2,color:"var(--p-blue-300)",opacity:.7,display:"flex",alignItems:"center"},onMouseEnter:o=>{o.currentTarget.style.opacity="1"},onMouseLeave:o=>{o.currentTarget.style.opacity="0.7"},children:(0,E.jsx)(Ne,{style:{width:12,height:12}})})]})}var Ev=[{id:"backlog",label:"backlog"},{id:"todo",label:"todo"},{id:"in-progress",label:"in-progress"},{id:"review",label:"review"},{id:"done",label:"done"}],Fv=5*1024*1024;function Ld(e,t=.8){return new Promise((a,r)=>{let o=new Image,n=URL.createObjectURL(e);o.onload=()=>{let l=document.createElement("canvas");l.width=o.naturalWidth,l.height=o.naturalHeight;let s=l.getContext("2d");if(!s){URL.revokeObjectURL(n),r(new Error("canvas unavailable"));return}s.drawImage(o,0,0),URL.revokeObjectURL(n),l.toBlob(i=>{i?a(i):r(new Error("canvas.toBlob failed"))},"image/jpeg",t)},o.onerror=()=>{URL.revokeObjectURL(n),r(new Error("image load failed"))},o.src=n})}function Sd({open:e,task:t,tab:a,addColumnId:r="todo",gitUserName:o="You",githubUrl:n,baseUrl:l,isResizing:s,api:i,onClose:d,onSave:g,onCreate:m,onDelete:c,onPatch:y,onFilePreview:h,onActivityChange:I,externalLocalChanges:z=[],showLockIndicator:f=!0,lockedByUser:u,onGoBack:p,navBackLabel:S,commentVersion:w,allTasks:T=[],createBranch:v}){let L=!t,q=t?Mn(t.type):Mn("Task"),b=X.default.useRef(null),[M,_]=X.default.useState([]),Y=X.default.useRef(!1),$=X.default.useRef(""),te=X.default.useRef(""),k=X.default.useMemo(()=>{let C=new Set;for(let U of T)for(let K of U.tags??[])C.add(K);return[...C].sort()},[T]),[H,re]=X.default.useState(a),[J,G]=X.default.useState(""),[se,qe]=X.default.useState(""),[rt,Gt]=X.default.useState(r),[ot,jt]=X.default.useState("Task"),[Ft,na]=X.default.useState(""),[Lo,nt]=X.default.useState(!1),[zn,So]=X.default.useState(!1),[kr,We]=X.default.useState(!1),[pt,Io]=X.default.useState(""),[Nn,Ya]=X.default.useState(!1),la=X.default.useRef(null),[Bs,Hn]=X.default.useState([]),[Un,Ja]=X.default.useState(!1),[Os,_n]=X.default.useState(null),[Sa,sa]=X.default.useState(""),[zs,qn]=X.default.useState(!1),[br,Wn]=X.default.useState([]),[$n,Vn]=X.default.useState(!1),[Kn,Gn]=X.default.useState(null),[Co,Pr]=X.default.useState(0),x=X.default.useRef(0),[P,D]=X.default.useState(0),[W,ce]=X.default.useState(null),[ie,ue]=X.default.useState([]),[de,Xe]=X.default.useState([]),Ae=X.default.useRef(null),Re=X.default.useRef(()=>{}),F=X.default.useRef(""),mt=X.default.useRef(!1);X.default.useEffect(()=>{F.current=Sa},[Sa]),X.default.useEffect(()=>{mt.current=kr},[kr]),X.default.useEffect(()=>{Y.current=s??!1},[s]),X.default.useEffect(()=>{e||I==null||I(null,"viewing")},[e]),X.default.useEffect(()=>{if(!e||!t)return;J!==$.current||se!==te.current?I==null||I(t.id,"locked"):I==null||I(t.id,"viewing")},[J,se,e,t==null?void 0:t.id]),X.default.useEffect(()=>{if(!e)return;function C(U){var K,ve,he,Bt;if(!Y.current&&!((ve=(K=U.target)==null?void 0:K.closest)!=null&&ve.call(K,"[data-task-ref-suggest]"))&&!((Bt=(he=U.target)==null?void 0:he.closest)!=null&&Bt.call(he,".modal-backdrop"))&&b.current&&!b.current.contains(U.target)){if(mt.current)return;if(F.current.trim().length>0){Re.current(),We(!0);return}Re.current(),d()}}return document.addEventListener("mousedown",C),()=>document.removeEventListener("mousedown",C)},[e,d]),X.default.useEffect(()=>{if(!e)return;function C(U){if(U.key==="Escape"){if(mt.current){We(!1),U.stopPropagation();return}if(F.current.trim().length>0){U.stopPropagation(),Re.current(),We(!0);return}}}return document.addEventListener("keydown",C,{capture:!0}),()=>document.removeEventListener("keydown",C,{capture:!0})},[e]),X.default.useEffect(()=>{if(e){if(re(a),nt(!!t),sa(""),Hn([]),Wn([]),Pr(0),D(0),ue([]),Xe([]),Io((t==null?void 0:t.branchName)??""),Ya(!1),la.current=null,t){let C=(t.title??"").trim(),U=(t.description??"").trim();G(C),qe(U),Gt(t.status),jt(t.type??"Task"),na(t.priority??""),$.current=C,te.current=U,I==null||I(t.id,"viewing")}else G(""),qe(""),Gt(r),jt("Task"),na("");t&&(lt(t.id),It(t.id)),setTimeout(()=>{var C;return(C=Ae.current)==null?void 0:C.focus()},50)}},[e,t==null?void 0:t.id,a]),X.default.useEffect(()=>{!e||!t||(H==="comments"?(gt(t.id),It(t.id)):H==="files"&&It(t.id))},[H,e,t==null?void 0:t.id]),X.default.useEffect(()=>{if(!e||!t||J!==$.current||se!==te.current)return;let U=(t.title??"").trim(),K=(t.description??"").trim();(U!==$.current||K!==te.current)&&(G(U),qe(K),$.current=U,te.current=K),t.status&&t.status!==rt&&Gt(t.status),t.type&&t.type!==ot&&jt(t.type),t.priority!==void 0&&t.priority!==Ft&&na(t.priority??"");let ve=t.branchName??"";ve!==pt&&Io(ve)},[t==null?void 0:t.title,t==null?void 0:t.description,t==null?void 0:t.status,t==null?void 0:t.type,t==null?void 0:t.priority,t==null?void 0:t.branchName]),X.default.useEffect(()=>{!e||!t||w===void 0||(H==="comments"?gt(t.id):lt(t.id))},[w]);async function lt(C){var U,K;try{let[ve,he]=await Promise.all([i.getComments(C),i.getFiles(C)]);Pr(((U=ve.comments)==null?void 0:U.length)??0),D(((K=he.files)==null?void 0:K.length)??0)}catch{}}async function gt(C){var K;let U=++x.current;Ja(!0),_n(null);try{let ve=await i.getComments(C);if(x.current!==U)return;Hn(ve.comments??[]),Pr(((K=ve.comments)==null?void 0:K.length)??0)}catch{if(x.current!==U)return;_n("failed")}finally{x.current===U&&Ja(!1)}}async function It(C){var U;Vn(!0),Gn(null);try{let K=await i.getFiles(C);Wn(K.files??[]),D(((U=K.files)==null?void 0:U.length)??0)}catch{Gn("failed")}finally{Vn(!1)}}async function wo(){var C;if(!J.trim()){(C=Ae.current)==null||C.focus();return}if(!L&&Sa.trim()&&await Ns(),L){let U=await m({title:J.trim(),description:se.trim()||J.trim(),status:rt,type:ot,priority:Ft||void 0,selector:"/",tags:de.length>0?de:void 0});if(U&&M.length>0){for(let K of M)await i.uploadFile(U,K).catch(()=>null);_([])}d()}else Za()}function Za(){if(!t||L)return;let C=J.trim();if(!C)return;let U=$.current,K=te.current,ve=C!==U,he=se.trim()!==K;!ve&&!he||(ve&&jn("title",U,C),he&&jn("description",K,se.trim()),y(t.id,{title:C,description:se.trim(),type:ot,priority:Ft||void 0}),$.current=C,te.current=se.trim())}Re.current=Za;function jn(C,U,K){U!==K&&ue(ve=>[...ve,{field:C,from:U,to:K,actor:o,timestamp:new Date().toISOString()}])}async function Ns(){if(!(!t||!Sa.trim())){qn(!0);try{await i.addComment(t.id,Sa.trim()),sa(""),await gt(t.id)}finally{qn(!1)}}}async function sg(C,U){t&&(await i.updateComment(t.id,C.id,U),await gt(t.id))}async function ig(C){t&&(await i.deleteComment(t.id,C.id),await gt(t.id))}async function ug(C){if(!t)return;let U=t.id;ce(null);for(let K of Array.from(C.target.files??[])){if(!K.type.startsWith("image/")&&K.size>Fv){ce(`"${K.name}" exceeds the 5 MB limit and was skipped.`);continue}let ve;if(K.type.startsWith("image/")){let he=await Ld(K),Bt=K.name.replace(/\\.(png|bmp|gif|webp|tiff?)$/i,".jpg");ve=new File([he],Bt,{type:"image/jpeg"})}else ve=K;await i.uploadFile(U,ve)}C.target.value="",await It(U),lt(U)}async function dg(C){if(!t)return;ce(null);let U=await Ld(C),ve=`paste-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.jpg`,he=new File([U],ve,{type:"image/jpeg"});await i.uploadFile(t.id,he),await It(t.id),lt(t.id)}async function fg(C){if(!t)return;let U=Array.from(C.items),K=U.find(he=>he.type.startsWith("image/"));if(K){let he=K.getAsFile();he&&await dg(he);return}let ve=U.filter(he=>he.kind==="file"&&!he.type.startsWith("image/"));if(ve.length>0){for(let he of ve){let Bt=he.getAsFile();Bt&&await i.uploadFile(t.id,Bt)}await It(t.id),lt(t.id);return}}X.default.useEffect(()=>{if(!e)return;function C(U){if(!U.clipboardData)return;let K=U.target;if(!((K.tagName==="TEXTAREA"||K.tagName==="INPUT"||K.isContentEditable)&&!Array.from(U.clipboardData.items).some(Tr=>Tr.kind==="file"))){if(U.preventDefault(),!t){let Bt=Array.from(U.clipboardData.items).find(Tr=>Tr.type.startsWith("image/"));if(Bt){let Tr=Bt.getAsFile();Tr&&(async()=>{let xg=await Ld(Tr),vg=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),yg=new File([xg],`paste-${vg}.jpg`,{type:"image/jpeg"});_(Lg=>[...Lg,yg])})()}return}fg(U.clipboardData)}}return document.addEventListener("paste",C),()=>document.removeEventListener("paste",C)},[e,t==null?void 0:t.id]);async function bd(C){t&&(await i.deleteFile(t.id,C.name),await It(t.id),lt(t.id))}async function cg(C){if(!t)return;await i.deleteFile(t.id,C);let U=(t.files??[]).filter(K=>K.name!==C);y(t.id,{files:U}),await It(t.id),lt(t.id)}function pg(C){if(Nn&&C!=="review"&&(Ya(!1),la.current=null),Gt(C),L||!t)return;if(v&&C==="review"&&!pt.trim()){la.current={taskId:t.id,patch:{status:C}},Ya(!0);return}let U={status:C};pt.trim()&&(U.branchName=pt.trim()),y(t.id,U)}function Pd(){if(!la.current||!t||!pt.trim())return;let C={...la.current.patch,branchName:pt.trim()};y(t.id,C),Ya(!1),la.current=null}function Td(){Ya(!1),la.current=null,t&&Gt(t.status)}let mg=C=>C!==rt?"dp-status-btn":`dp-status-btn active-${C}`;function Rd(){if(!mt.current){if(F.current.trim().length>0){Re.current(),We(!0);return}Re.current(),d()}}let gg=e&&t!=null&&(J!==$.current||se!==te.current),hg=X.default.useMemo(()=>{let C=[...z,...ie].sort((K,ve)=>new Date(K.timestamp).getTime()-new Date(ve.timestamp).getTime()),U=[];for(let K of C)U.some(he=>he.field===K.field&&he.from.toLowerCase()===K.from.toLowerCase()&&he.to.toLowerCase()===K.to.toLowerCase()&&he.actor===K.actor&&Math.abs(new Date(he.timestamp).getTime()-new Date(K.timestamp).getTime())<=3e3)||U.push(K);return U},[z,ie]),Ia=!L&&!!u;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)("aside",{id:"detail-panel",className:"open",ref:b,children:[Ia&&(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(234,88,12,0.12)",border:"1px solid rgba(234,88,12,0.25)",borderRadius:6,margin:"8px 12px 0",fontSize:12,color:"#f97316",fontWeight:500},children:["\\u{1F512} Locked by ",(0,E.jsx)("strong",{children:u})," \\u2014 editing disabled until they finish."]}),(0,E.jsxs)("div",{className:"dp-header",children:[(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[p&&(0,E.jsx)("button",{id:"dp-back",onClick:p,title:S?`Back to: ${S}`:"Go back",style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"1px solid var(--p-border-t)",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",fontSize:14,lineHeight:1},onMouseOver:C=>{C.currentTarget.style.background="var(--p-border)",C.currentTarget.style.color="var(--p-blue-300)",C.currentTarget.style.borderColor="var(--p-blue)"},onMouseOut:C=>{C.currentTarget.style.background="transparent",C.currentTarget.style.color="var(--p-text-g)",C.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u2190"}),(0,E.jsx)(bs,{id:"dp-type-picker",value:ot,disabled:Ia,onChange:C=>{!L&&t&&C!==ot&&jn("type",ot,C),jt(C),!L&&t&&y(t.id,{type:C})}}),(0,E.jsx)("input",{id:"dp-title",ref:Ae,className:"dp-input",type:"text",placeholder:"Task title\\u2026",value:J,readOnly:Ia,onChange:C=>G(C.target.value),onKeyDown:C=>{C.key==="Escape"&&(C.stopPropagation(),Rd()),C.key==="Enter"&&L&&wo()},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",borderColor:"transparent",background:"transparent"},onFocus:C=>{C.currentTarget.style.borderColor="var(--p-blue)",C.currentTarget.style.background="var(--p-input)"},onBlur:C=>{C.currentTarget.style.borderColor="transparent",C.currentTarget.style.background="transparent",L||Za()}}),!L&&J!==$.current&&J.trim()!==""&&(0,E.jsx)("button",{type:"button",title:"Discard title changes",onMouseDown:C=>{C.preventDefault(),G($.current)},style:{width:20,height:20,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"1px solid var(--p-border-t)",background:"none",color:"var(--p-text-g)",cursor:"pointer",fontSize:13,lineHeight:1},onMouseEnter:C=>{C.currentTarget.style.color="var(--p-amber-300)",C.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:C=>{C.currentTarget.style.color="var(--p-text-g)",C.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9"}),(0,E.jsx)("button",{id:"dp-close",onClick:Rd,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",pointerEvents:"auto"},onMouseOver:C=>{C.currentTarget.style.background="var(--p-border)",C.currentTarget.style.color="var(--p-text-m)"},onMouseOut:C=>{C.currentTarget.style.background="transparent",C.currentTarget.style.color="var(--p-text-g)"},children:(0,E.jsx)(Ne,{style:{width:14,height:14}})}),f&&gg&&t&&(0,E.jsx)("span",{id:"dp-lock-indicator",title:`Locked by ${o} \\u2014 unsaved changes`,style:{display:"inline-flex",alignItems:"center",gap:3,flexShrink:0,borderRadius:999,padding:"2px 7px",fontSize:10,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)"},children:"\\u{1F512} Locked"})]}),(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",...Ia?{pointerEvents:"none",opacity:.6}:{}},children:[(0,E.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Status"}),Ev.map(C=>(0,E.jsx)("button",{className:mg(C.id),"data-status":C.id,onClick:()=>pg(C.id),children:C.label},C.id))]}),Nn&&!Ia&&(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8,padding:"8px 10px",borderRadius:8,background:"rgba(139,92,246,0.08)",border:"1px solid rgba(139,92,246,0.2)",fontSize:12},children:[(0,E.jsx)("span",{style:{color:"var(--p-purple-300)",fontWeight:500,whiteSpace:"nowrap"},children:"Branch name:"}),(0,E.jsx)("input",{id:"dp-branch-name",type:"text",placeholder:"e.g. feat/add-hover-effect",value:pt,onChange:C=>Io(C.target.value),onKeyDown:C=>{C.key==="Enter"&&pt.trim()&&Pd(),C.key==="Escape"&&Td()},autoFocus:!0,style:{flex:1,fontSize:12,padding:"4px 8px",borderRadius:6,border:"1px solid var(--p-border)",background:"var(--p-input)",color:"var(--p-text)",fontFamily:"monospace"}}),(0,E.jsx)("button",{onClick:Pd,disabled:!pt.trim(),style:{padding:"4px 12px",borderRadius:6,border:"1px solid var(--p-purple)",background:pt.trim()?"var(--p-purple)":"var(--p-border)",color:"#fff",fontSize:11,fontWeight:600,cursor:pt.trim()?"pointer":"not-allowed",transition:"background .12s"},children:"Apply & Review"}),(0,E.jsx)("button",{onClick:Td,style:{padding:"4px 10px",borderRadius:6,border:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-g)",fontSize:11,cursor:"pointer"},children:"Cancel"})]})]}),!L&&(0,E.jsxs)("div",{className:"dp-tabs",id:"dp-tabs-row",children:[(0,E.jsx)("button",{className:`dp-tab${H==="details"?" active":""}`,id:"dp-tab-details",onClick:()=>re("details"),children:"Details"}),(0,E.jsxs)("button",{className:`dp-tab${H==="comments"?" active":""}`,id:"dp-tab-activity",onClick:()=>re("comments"),children:["Activity"," ",Co>0&&(0,E.jsxs)("span",{id:"dp-activity-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",Co,")"]})]}),(0,E.jsxs)("button",{className:`dp-tab${H==="files"?" active":""}`,id:"dp-tab-files",onClick:()=>re("files"),children:["Files"," ",P>0&&(0,E.jsxs)("span",{id:"dp-file-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",P,")"]})]})]}),(0,E.jsxs)("div",{className:"dp-body",children:[!L&&(0,E.jsx)(Dv,{}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-details-pane",style:{display:!t||H==="details"?"":"none"},children:[(0,E.jsx)("div",{style:Ia?{pointerEvents:"none",opacity:.6,flexShrink:0}:{flexShrink:0},children:(0,E.jsx)(vd,{task:t,description:se,setDescription:qe,showDescPreview:Lo,setShowDescPreview:nt,priority:Ft,setPriority:na,onDescriptionBlur:L?void 0:Za,onDescriptionDiscard:L?void 0:()=>{qe(te.current),nt(!0)},originalDescription:L?void 0:te.current,onPriorityChange:L?void 0:C=>{t&&(C!==Ft&&jn("priority",Ft||"\\u2014",C||"\\u2014"),y(t.id,{priority:C||void 0}))},githubUrl:n,onFilePreview:h,onDeleteScreenshot:cg,onPatch:y,liveFiles:br.length>0||$n?br:void 0,allTags:k,overrideTags:L?de:void 0,onTagsChange:L?Xe:void 0,isAdd:L})}),!L&&t&&(0,E.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",flexShrink:0,marginTop:12,borderTop:"1px solid var(--p-border)",paddingTop:10},children:(0,E.jsx)(Bv,{task:t})})]}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-activity-pane",style:{display:H==="comments"&&!L?"":"none"},children:[(0,E.jsx)("div",{style:{borderBottom:"1px solid var(--p-border)",paddingBottom:8,flexShrink:0},children:(0,E.jsx)(yd,{commentInput:Sa,setCommentInput:sa,commentSubmitting:zs,onSubmit:()=>{Ns()},baseRows:2})}),(0,E.jsx)(md,{comments:Bs,files:br,localChanges:hg,loading:Un,error:Os,gitUserName:o,taskAuthorName:t==null?void 0:t.authorName,baseUrl:l,taskId:t==null?void 0:t.id,taskCreatedAt:t==null?void 0:t.createdAt,taskUpdatedAt:t==null?void 0:t.updatedAt,onEdit:sg,onDelete:ig,onDeleteFile:bd,onFilePreview:h})]}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-files-pane",style:{display:H==="files"&&!L?"":"none"},children:[(0,E.jsx)(hd,{files:br,loading:$n,error:Kn,baseUrl:l,taskId:t==null?void 0:t.id,onPreview:C=>h(C.name,C.linkedPath?`${l}/api/tasks/${t==null?void 0:t.id}/files/${encodeURIComponent(C.name)}`:`${l}${C.url}`),onDelete:Ia?void 0:bd}),(0,E.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:8,flexShrink:0,display:"flex",gap:8,flexWrap:"wrap",alignItems:"center",...Ia?{pointerEvents:"none",opacity:.5}:{}},children:[W&&(0,E.jsx)("div",{style:{width:"100%",fontSize:11,color:"var(--p-red)",background:"rgba(255,80,80,0.08)",border:"1px solid rgba(255,80,80,0.2)",borderRadius:5,padding:"4px 8px"},children:W}),(0,E.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",padding:"6px 10px",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,color:"var(--p-text-m)",fontSize:12,transition:"all .15s"},onMouseOver:C=>{C.currentTarget.style.borderColor="var(--p-border-t)",C.currentTarget.style.color="var(--p-text)"},onMouseOut:C=>{C.currentTarget.style.borderColor="var(--p-border)",C.currentTarget.style.color="var(--p-text-m)"},children:[(0,E.jsx)(uo,{style:{width:12,height:12}}),"Upload",(0,E.jsx)("input",{id:"dp-file-upload",type:"file",style:{display:"none"},multiple:!0,onChange:ug})]}),(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-border-t)",marginLeft:"auto"},children:"or paste image"})]})]})]}),(0,E.jsxs)("div",{className:"dp-footer",children:[!L&&(0,E.jsx)("button",{id:"dp-delete",onClick:()=>So(!0),style:{color:"var(--p-red)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:7,padding:"5px 12px",fontSize:12,cursor:"pointer",fontFamily:"inherit",transition:"all .15s"},onMouseOver:C=>{C.currentTarget.style.borderColor="var(--p-red)"},onMouseOut:C=>{C.currentTarget.style.borderColor="var(--p-border-t)"},children:"Delete"}),(0,E.jsx)("div",{style:{flex:1}}),L?(0,E.jsxs)(E.Fragment,{children:[M.length>0&&(0,E.jsxs)("span",{style:{fontSize:11,color:"var(--p-blue-300)",marginRight:8,background:"rgba(37,99,235,0.1)",border:"1px solid rgba(37,99,235,0.25)",borderRadius:6,padding:"3px 8px"},children:["\\u{1F4CE} ",M.length," screenshot",M.length!==1?"s":""," will attach on save"]}),(0,E.jsx)("button",{id:"dp-cancel",onClick:d,style:{padding:"5px 14px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-border-t)",background:"var(--p-border)",color:"var(--p-text-sub)",fontFamily:"inherit",transition:"all .15s"},onMouseOver:C=>{C.currentTarget.style.borderColor="var(--p-text-g)"},onMouseOut:C=>{C.currentTarget.style.borderColor="var(--p-border-t)"},children:"Cancel"}),(0,E.jsx)("button",{id:"dp-save",onClick:()=>{wo()},style:{padding:"5px 18px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-blue-700)",background:"var(--p-blue)",color:"var(--p-white)",fontFamily:"inherit",transition:"background .15s"},onMouseOver:C=>{C.currentTarget.style.background="var(--p-blue-700)"},onMouseOut:C=>{C.currentTarget.style.background="var(--p-blue)"},children:"Add Task"})]}):(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)",padding:"5px 4px"},children:"Changes are saved automatically"})]}),(0,E.jsx)(oa,{open:zn,title:"Delete task?",message:`You are about to permanently delete "${(t==null?void 0:t.title)||"this task"}". This action cannot be undone.`,confirmLabel:"Delete task",onConfirm:()=>{So(!1),c(t.id),d()},onCancel:()=>So(!1)})]}),kr&&(0,E.jsx)("div",{style:{position:"fixed",inset:0,zIndex:201,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",background:"rgba(2,12,27,0.80)"},children:(0,E.jsxs)("div",{style:{background:"var(--p-surface)",border:"1px solid var(--p-border-s)",borderRadius:16,padding:"28px 32px",width:"100%",maxWidth:480,boxShadow:"var(--p-shadow-lg)",position:"relative"},children:[(0,E.jsx)("div",{style:{width:44,height:44,borderRadius:12,background:"rgba(139,92,246,0.12)",border:"1px solid rgba(139,92,246,0.25)",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:16},children:(0,E.jsx)(uo,{style:{width:20,height:20,color:"var(--p-purple)"}})}),(0,E.jsx)("h2",{style:{margin:"0 0 8px",fontSize:17,fontWeight:700,color:"var(--p-text)"},children:"Send comment?"}),(0,E.jsx)("p",{style:{margin:"0 0 22px",fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:"You have an unsent comment. Do you want to send it before closing?"}),(0,E.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,E.jsx)("button",{onClick:()=>{We(!1),Ns().then(()=>d())},style:{flex:1,padding:"9px 14px",borderRadius:8,background:"var(--p-purple)",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:"Send & Close"}),(0,E.jsx)("button",{type:"button",onClick:()=>{We(!1),sa(""),d()},style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Discard & Close"}),(0,E.jsx)("button",{type:"button",onClick:()=>We(!1),style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Keep editing"})]})]})})]})}function Bv({task:e}){let t=[];if(e.component&&t.push((0,E.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 36%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)",fontFamily:"monospace"},children:["\\u2B21 ",e.component]},"component")),e.file||e.selector&&e.selector!=="/"||e.cssSelector){let r=e.file??"";e.line!=null&&(r+=`:${e.line}`),e.col!=null&&(r+=`:${e.col}`);let o=e.cssSelector??(e.selector&&e.selector!=="/"?e.selector:""),n=r||o;if(n){let l=n.length>40?`\\u2026${n.slice(-40)}`:n,s=e.url?e.url.length>30?`\\u2026${e.url.slice(-30)}`:e.url:"";t.push((0,E.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:0,borderRadius:6,overflow:"hidden",border:"1px solid color-mix(in srgb, var(--p-blue) 15%, transparent)",fontSize:10,fontFamily:"monospace",whiteSpace:"nowrap"},children:[(0,E.jsx)("span",{title:[r,o].filter(Boolean).join(" \\xB7 "),style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)"},children:l}),s&&(0,E.jsx)("span",{title:e.url,style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-border) 72%, transparent)",color:"var(--p-text-g)",borderLeft:"1px solid color-mix(in srgb, var(--p-blue) 18%, transparent)"},children:s})]},"source"))}}else if(e.url){let r=e.url.length>40?`\\u2026${e.url.slice(-40)}`:e.url;t.push((0,E.jsx)("span",{className:"dp-source-pill",title:e.url,children:r},"url"))}return e.reportBack&&t.push((0,E.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)"},children:"\\u21A9 report back"},"rb")),(0,E.jsx)("div",{id:"dp-meta-row",style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",flex:1},children:t})}var wr=A(Se(),1);var Z=A(V(),1),Ov=[{id:"all",label:"All",dot:""},{id:"todo",label:"Todo",dot:"var(--p-amber)"},{id:"in-progress",label:"In Progress",dot:"var(--p-blue)"},{id:"review",label:"Review",dot:"var(--p-purple)"}],zv={todo:{background:"color-mix(in srgb, var(--p-amber) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-amber) 38%, transparent)",color:"var(--p-amber-300)"},"in-progress":{background:"color-mix(in srgb, var(--p-blue) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 38%, transparent)",color:"var(--p-blue-200)"},review:{background:"color-mix(in srgb, var(--p-purple) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 38%, transparent)",color:"var(--p-purple-300)"},done:{background:"color-mix(in srgb, var(--p-green) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 32%, transparent)",color:"var(--p-green-300)"},backlog:{background:"color-mix(in srgb, var(--p-text-g) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-text-g) 32%, transparent)",color:"var(--p-text-m)"},all:{background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 32%, transparent)",color:"var(--p-blue-200)"}};function Id({tasks:e,filter:t,onFilter:a,view:r="board",onViewChange:o,activityCounter:n}){let[l,s]=wr.default.useState(!1),[i,d]=wr.default.useState(!1),[g,m]=wr.default.useState(!1),c=wr.default.useMemo(()=>[...new Set(e.map(v=>v.type).filter(Boolean))].sort(),[e]),y=wr.default.useMemo(()=>[...new Set(e.map(v=>v.author).filter(Boolean))].sort(),[e]),h=wr.default.useMemo(()=>{let v=new Set;for(let L of e)for(let q of L.tags??[])v.add(q);return[...v].sort()},[e]);function I(v){return e.filter(L=>L.status===v).length}function z(v){a({...t,status:v}),s(!1),d(!1),m(!1)}function f(v){a({...t,type:v}),s(!1)}function u(v){a({...t,user:v}),d(!1)}function p(v){let L=t.tags??[],q=L.includes(v)?L.filter(b=>b!==v):[...L,v];a({...t,tags:q})}function S(v){v.stopPropagation();let L=v.currentTarget.dataset.status;L&&z(L)}let w={display:"flex",alignItems:"center",gap:5,padding:"3px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid transparent",background:"transparent",color:"var(--p-text-f)",transition:"all .12s",fontFamily:"inherit",fontWeight:500},T={...w,background:"var(--p-card)",border:"1px solid var(--p-border)",color:"var(--p-text-f)",padding:"3px 10px",position:"relative"};return(0,Z.jsxs)("div",{"data-proto-id":"filter-bar",style:{display:"flex",alignItems:"center",gap:6,padding:"7px 16px",background:"var(--p-surface)",borderBottom:"1px solid var(--p-border)",flexShrink:0},onClick:()=>{s(!1),d(!1),m(!1)},children:[(0,Z.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2},children:Ov.map(v=>{let L=t.status===v.id,q=v.id!=="all"?I(v.id):null,b=L?zv[v.id]:{};return(0,Z.jsxs)("button",{"data-status":v.id,style:{...w,...b},onMouseOver:M=>{L||(M.currentTarget.style.background="var(--p-hover)",M.currentTarget.style.color="var(--p-text-m)")},onMouseOut:M=>{L||(M.currentTarget.style.background="transparent",M.currentTarget.style.color="var(--p-text-f)")},onClick:S,children:[v.dot&&(0,Z.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:v.dot,flexShrink:0,display:"inline-block"}}),v.label,q!=null&&(0,Z.jsx)("span",{style:{color:L?"inherit":"var(--p-border-t)",fontSize:10,opacity:.8},children:q})]},v.id)})}),(0,Z.jsx)("div",{style:{flex:1}}),n,t.user&&(0,Z.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",fontSize:10,color:"var(--p-purple-300)"},children:[t.user,(0,Z.jsx)("button",{onClick:()=>u(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-purple-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,Z.jsx)(Ne,{style:{width:10,height:10}})})]}),t.type&&(0,Z.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 24%, transparent)",fontSize:10,color:"var(--p-cyan-300)"},children:[t.type,(0,Z.jsx)("button",{onClick:()=>f(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-cyan-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,Z.jsx)(Ne,{style:{width:10,height:10}})})]}),(t.tags??[]).map(v=>{let{bg:L,text:q,border:b}=$t(v);return(0,Z.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:L,border:`1px solid ${b}`,fontSize:10,color:q,fontWeight:600},children:[v,(0,Z.jsx)("button",{onClick:()=>p(v),style:{display:"flex",background:"none",border:"none",color:q,cursor:"pointer",padding:0,lineHeight:1},children:(0,Z.jsx)(Ne,{style:{width:10,height:10}})})]},v)}),(0,Z.jsxs)("div",{style:{position:"relative"},children:[(0,Z.jsxs)("button",{style:{...T,color:(t.tags??[]).length?"var(--p-green-300)":"var(--p-text-f)",borderColor:(t.tags??[]).length?"color-mix(in srgb, var(--p-green) 36%, transparent)":"var(--p-border)",opacity:h.length?1:.55},onClick:v=>{v.stopPropagation(),h.length&&(d(!1),s(!1),m(L=>!L))},children:[(0,Z.jsx)(io,{style:{width:12,height:12}}),"Tags",(t.tags??[]).length>0&&(0,Z.jsx)("span",{style:{fontSize:9,background:"color-mix(in srgb, var(--p-green) 20%, transparent)",color:"var(--p-green-300)",borderRadius:100,padding:"0 4px"},children:(t.tags??[]).length}),(0,Z.jsx)(hr,{style:{width:12,height:12}})]}),g&&h.length>0&&(0,Z.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(t.tags??[]).length>0&&(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>a({...t,tags:[]}),children:"Clear tag filters"}),h.map(v=>{let{bg:L,text:q,border:b}=$t(v),M=(t.tags??[]).includes(v);return(0,Z.jsxs)("button",{style:{width:"100%",textAlign:"left",padding:"6px 12px",fontSize:11,color:"var(--p-text-m)",background:M?"var(--p-hover)":"none",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:6},onMouseEnter:_=>{_.currentTarget.style.background="var(--p-hover)"},onMouseLeave:_=>{_.currentTarget.style.background=M?"var(--p-hover)":"none"},onClick:()=>p(v),children:[(0,Z.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:q,border:`1px solid ${b}`,flexShrink:0}}),(0,Z.jsx)("span",{style:{flex:1},children:v}),M&&(0,Z.jsx)("span",{style:{color:q,fontSize:12,lineHeight:1},children:"\\u2713"})]},v)})]})]}),(0,Z.jsxs)("div",{style:{position:"relative"},children:[(0,Z.jsxs)("button",{style:{...T,color:t.user?"var(--p-purple-300)":"var(--p-text-f)",borderColor:t.user?"color-mix(in srgb, var(--p-purple) 36%, transparent)":"var(--p-border)",opacity:y.length?1:.55},onClick:v=>{v.stopPropagation(),y.length&&(s(!1),d(L=>!L))},children:[(0,Z.jsx)(Rn,{style:{width:12,height:12}}),"User",(0,Z.jsx)(hr,{style:{width:12,height:12}})]}),i&&y.length>0&&(0,Z.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>u(null),children:"All users"}),y.map(v=>(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.user===v?"var(--p-purple-300)":"var(--p-text-m)",background:t.user===v?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:L=>{t.user!==v&&(L.currentTarget.style.background="var(--p-hover)")},onMouseOut:L=>{t.user!==v&&(L.currentTarget.style.background="none")},onClick:()=>u(v),children:v},v))]})]}),(0,Z.jsxs)("div",{style:{position:"relative"},children:[(0,Z.jsxs)("button",{style:{...T,color:t.type?"var(--p-cyan-300)":"var(--p-text-f)",borderColor:t.type?"color-mix(in srgb, var(--p-blue) 36%, transparent)":"var(--p-border)",opacity:c.length?1:.55},onClick:v=>{v.stopPropagation(),c.length&&s(L=>!L)},children:[(0,Z.jsx)(io,{style:{width:12,height:12}}),"Type",(0,Z.jsx)(hr,{style:{width:12,height:12}})]}),l&&c.length>0&&(0,Z.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:140,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>f(null),children:"All types"}),c.map(v=>(0,Z.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.type===v?"var(--p-cyan-300)":"var(--p-text-m)",background:t.type===v?"color-mix(in srgb, var(--p-blue) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:L=>{t.type!==v&&(L.currentTarget.style.background="var(--p-hover)")},onMouseOut:L=>{t.type!==v&&(L.currentTarget.style.background="none")},onClick:()=>f(v),children:v},v))]})]}),(0,Z.jsxs)("div",{style:{display:"flex",alignItems:"center",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,padding:2,gap:0},children:[(0,Z.jsx)("button",{title:"Board view",style:{padding:"4px 7px",borderRadius:5,background:r==="board"?"var(--p-surface)":"none",color:r==="board"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:v=>{v.stopPropagation(),o==null||o("board")},children:(0,Z.jsx)(Cn,{style:{width:13,height:13}})}),(0,Z.jsx)("button",{title:"Compact view",style:{padding:"4px 7px",borderRadius:5,background:r==="compact"?"var(--p-surface)":"none",color:r==="compact"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:v=>{v.stopPropagation(),o==null||o("compact")},children:(0,Z.jsx)(Ka,{style:{width:13,height:13}})}),(0,Z.jsx)("button",{title:"List view",style:{padding:"4px 7px",borderRadius:5,background:r==="list"?"var(--p-surface)":"none",color:r==="list"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:v=>{v.stopPropagation(),o==null||o("list")},children:(0,Z.jsx)(wn,{style:{width:13,height:13}})})]})]})}var La=A(Se(),1);var fe=A(V(),1),Nv=[{id:"board",label:"Board",icon:(0,fe.jsx)(Va,{className:"w-3.5 h-3.5"})},{id:"enforcement",label:"Enforcement",icon:(0,fe.jsx)(Tn,{className:"w-3.5 h-3.5"})}];function Cd({open:e,visibleCols:t,settings:a,onClose:r,onSave:o}){let[n,l]=La.default.useState("board"),[s,i]=La.default.useState({}),[d,g]=La.default.useState(a.autoCommit??!1),[m,c]=La.default.useState(a.autoComment??!1),[y,h]=La.default.useState(a.autoPush??!1),[I,z]=La.default.useState(a.createBranch??!1),[f,u]=La.default.useState(a.requireVerifyBeforeReview??!1);La.default.useEffect(()=>{if(!e)return;let w={};ja.forEach(T=>{w[T.id]=t.includes(T.id)}),i(w),g(a.autoCommit??!1),c(a.autoComment??!1),h(a.autoPush??!1),z(a.createBranch??!1),u(a.requireVerifyBeforeReview??!1),l("board")},[e,t,a]);function p(){let w=ja.filter(T=>s[T.id]).map(T=>T.id);o(w,{autoCommit:d,autoComment:m,autoPush:y,createBranch:I,requireVerifyBeforeReview:f}),r()}function S(w){i(T=>({...T,[w]:!T[w]}))}return(0,fe.jsxs)(ya,{open:e,onClose:r,id:"settings-modal",width:"min(460px, 95vw)",icon:(0,fe.jsx)(Lr,{style:{width:14,height:14,color:"var(--p-text-g)"}}),title:"Settings",headerActions:(0,fe.jsx)("button",{id:"settings-close",onClick:r,style:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s"},onMouseOver:w=>{w.currentTarget.style.background="var(--p-surface)",w.currentTarget.style.color="var(--p-text-m)"},onMouseOut:w=>{w.currentTarget.style.background="transparent",w.currentTarget.style.color="var(--p-text-g)"},children:(0,fe.jsx)(Ne,{style:{width:14,height:14}})}),footer:(0,fe.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,fe.jsx)("button",{id:"settings-cancel",onClick:r,className:"dp-status-btn",style:{padding:"5px 14px",fontSize:12},children:"Cancel"}),(0,fe.jsx)("button",{id:"settings-apply",onClick:p,style:{padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:6,border:"1px solid color-mix(in srgb, var(--p-purple) 55%, transparent)",background:"color-mix(in srgb, var(--p-purple) 18%, transparent)",color:"var(--p-purple-300)",cursor:"pointer",transition:"background .12s"},onMouseOver:w=>{w.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 28%, transparent)"},onMouseOut:w=>{w.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 18%, transparent)"},children:"Apply"})]}),children:[(0,fe.jsx)("div",{className:"dp-tabs",children:Nv.map(w=>(0,fe.jsxs)("button",{onClick:()=>l(w.id),className:`dp-tab${n===w.id?" active":""}`,style:{display:"flex",alignItems:"center",gap:6},children:[w.icon,w.label]},w.id))}),n==="board"&&(0,fe.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,fe.jsx)("div",{className:"dp-meta-label",children:"Visible Columns"}),ja.map(w=>(0,fe.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none"},children:[(0,fe.jsx)("input",{id:`settings-col-${w.id}`,type:"checkbox",checked:s[w.id]??!0,onChange:()=>S(w.id),style:{width:14,height:14,accentColor:w.color,cursor:"pointer"}}),(0,fe.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:w.color,flexShrink:0}}),(0,fe.jsx)("span",{style:{fontSize:13,color:"var(--p-text-m)"},children:w.label})]},w.id))]}),n==="enforcement"&&(0,fe.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:16},children:[(0,fe.jsx)(Bn,{id:"settings-verify-before-review",label:"Require verify before review",description:"CLI enforces vibeflow verify before setting status to review (skipped for tasks without URL/selector). The \'verified\' flag persists until the task is moved back to in-progress.",value:f,onChange:u}),(0,fe.jsx)(Bn,{id:"settings-auto-comment",label:"Require comment on review",description:"CLI enforces an implementation report when setting task status to review.",value:m,onChange:c}),(0,fe.jsx)("div",{style:{height:1,background:"var(--p-border)",marginTop:-4,marginBottom:-4}}),(0,fe.jsx)(Bn,{id:"settings-create-branch",label:"Require branch per task",description:"CLI enforces a dedicated branch name when setting task status to review.",value:I,onChange:z}),(0,fe.jsx)(Bn,{id:"settings-auto-commit",label:"Auto-commit on review",description:"CLI automatically commits staged changes when setting task status to review.",value:d,onChange:g}),(0,fe.jsx)(Bn,{id:"settings-auto-push",label:"Auto-push after commit",description:`CLI pushes after auto-commit. Requires \'Auto-commit\' to be ON.${d?"":" (Enable Auto-commit first)"}`,value:y&&d,onChange:w=>h(w&&d)})]})]})}function Bn({id:e,label:t,description:a,value:r,onChange:o}){return(0,fe.jsxs)("div",{children:[(0,fe.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:t}),(0,fe.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:a}),(0,fe.jsxs)("div",{id:e,style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer"},onClick:()=>o(!r),children:[(0,fe.jsxs)("div",{style:{position:"relative",width:36,height:20,flexShrink:0},children:[(0,fe.jsx)("div",{style:{width:36,height:20,borderRadius:10,background:r?"var(--p-purple)":"var(--p-card)",border:`1px solid ${r?"var(--p-purple-300)":"var(--p-border)"}`,transition:"all .15s"}}),(0,fe.jsx)("div",{style:{position:"absolute",top:3,left:r?18:3,width:14,height:14,borderRadius:"50%",background:r?"var(--p-purple-300)":"var(--p-text-muted)",transition:"all .15s"}})]}),(0,fe.jsx)("span",{style:{fontSize:12,color:"var(--p-text-g)"},children:r?"On":"Off"})]})]})}var vo=A(Se(),1);var me=A(V(),1);function qm(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function Ms(e){return/\\.md$/i.test(e)}function On(e){return/\\.json$/i.test(e)}function Hv(e){let t=[],a=0;for(;a<e.length;){let r=e.slice(a).match(/^(\\s+)/);if(r){t.push({type:"punct",value:r[1]}),a+=r[1].length;continue}let o=e.slice(a).match(/^([{}[\\]:,])/);if(o){t.push({type:"punct",value:o[1]}),a+=1;continue}let n=e.slice(a).match(/^"([^"\\\\]|\\\\.)*"/);if(n){let d=n[0],g=e[a+d.length]===":",c=d.slice(1,-1).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");t.push({type:g?"key":"string",value:c}),a+=d.length;continue}let l=e.slice(a).match(/^(-?\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)/);if(l){t.push({type:"number",value:l[1]}),a+=l[1].length;continue}let s=e.slice(a).match(/^(true|false)/);if(s){t.push({type:"bool",value:s[1]}),a+=s[1].length;continue}let i=e.slice(a).match(/^(null)/);if(i){t.push({type:"null",value:i[1]}),a+=1;continue}t.push({type:"punct",value:e[a]}),a++}return t}var Uv={key:{color:"#c084fc"},string:{color:"#86efac"},number:{color:"#67e8f9"},bool:{color:"#fb923c"},null:{color:"#f87171"},punct:{color:"inherit"}};function _v({tokens:e}){return(0,me.jsx)("div",{children:e.map((t,a)=>(0,me.jsx)("span",{style:Uv[t.type],children:t.value},a))})}function wd({open:e,name:t,url:a,onClose:r}){let[o,n]=vo.default.useState(null),[l,s]=vo.default.useState(null),[i,d]=vo.default.useState(!1),[g,m]=vo.default.useState(!1);return vo.default.useEffect(()=>{!e||!a||(d(!1),Ms(t)?(m(!0),n(null),fetch(a).then(c=>c.text()).then(c=>{n(c),m(!1)}).catch(()=>{n("Error loading file."),m(!1)})):On(t)?(m(!0),s(null),fetch(a).then(c=>c.text()).then(c=>{try{let y=JSON.parse(c),I=JSON.stringify(y,null,2).split(`\n`).map(Hv);s(I)}catch{d(!0)}m(!1)}).catch(()=>{d(!0),m(!1)})):(n(null),s(null)))},[e,t,a]),(0,me.jsx)(ya,{open:e,onClose:r,id:"file-preview-modal",width:"min(1100px, 95vw)",maxHeight:"88vh",boxStyle:{display:"flex",flexDirection:"column"},icon:(0,me.jsx)(so,{className:"w-4 h-4 text-slate-400"}),title:t,headerActions:(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)("a",{href:a,download:t,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Download",children:(0,me.jsx)(xr,{className:"w-4 h-4"})}),(0,me.jsx)("button",{id:"file-preview-close",onClick:r,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Close",children:(0,me.jsx)(Ne,{className:"w-4 h-4"})})]}),footer:(0,me.jsxs)(me.Fragment,{children:[(0,me.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-3 py-1.5 rounded-lg transition-colors",children:[(0,me.jsx)(xr,{className:"w-3.5 h-3.5"}),"Download"]}),(0,me.jsx)("button",{id:"file-preview-close-footer",onClick:r,className:"border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-4 py-1.5 rounded-lg transition-colors",children:"Close"})]}),children:(0,me.jsxs)("div",{className:"flex-1 overflow-auto",style:{minHeight:0,padding:"16px 20px"},children:[qm(t)&&(0,me.jsx)("div",{style:{borderRadius:8,overflow:"hidden",border:"1px solid var(--p-border)",background:"var(--p-card)",display:"inline-block",width:"100%"},children:(0,me.jsx)("img",{src:a,alt:t,style:{maxWidth:"100%",display:"block",margin:"0 auto",objectFit:"contain"}})}),Ms(t)&&g&&(0,me.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),Ms(t)&&!g&&o!==null&&(0,me.jsx)("div",{id:"file-preview-md",style:{background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:"10px 14px",fontSize:13,color:"var(--p-text-sub)",lineHeight:1.65},children:(0,me.jsx)(aa,{markdown:o})}),On(t)&&g&&(0,me.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),On(t)&&!g&&i&&(0,me.jsx)("p",{className:"text-xs text-red-400 py-4",children:"Error loading or parsing JSON file."}),On(t)&&!g&&l!==null&&(0,me.jsx)("pre",{id:"file-preview-json",style:{background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:"12px 16px",fontSize:12,lineHeight:1.6,overflow:"auto",maxHeight:"70vh",margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"},children:l.map((c,y)=>(0,me.jsx)(_v,{tokens:c},y))}),!qm(t)&&!Ms(t)&&!On(t)&&(0,me.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-slate-500",children:[(0,me.jsx)(so,{className:"w-10 h-10 opacity-40"}),(0,me.jsx)("p",{className:"text-sm",children:"Preview not available for this file type."}),(0,me.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 text-violet-400 hover:text-violet-300 hover:underline text-sm transition-colors",children:[(0,me.jsx)(xr,{className:"w-3.5 h-3.5"}),"Download file"]})]})]})})}var As=window.location.origin,Kt=`${As}/api/tasks`,Et={async getTasks(){return(await fetch(`${Kt}?_=${Date.now()}`,{cache:"no-store"})).json()},async createTask(e){return(await fetch(Kt,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()},async updateTask(e,t){return(await fetch(`${Kt}/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()},async deleteTask(e){await fetch(`${Kt}/${e}`,{method:"DELETE"})},async getComments(e){return(await fetch(`${Kt}/${e}/comments`)).json()},async addComment(e,t){await fetch(`${Kt}/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"user",text:t,source:"web"})})},async updateComment(e,t,a){await fetch(`${Kt}/${e}/comments/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})})},async deleteComment(e,t){await fetch(`${Kt}/${e}/comments/${t}`,{method:"DELETE"})},async getFiles(e){return(await fetch(`${Kt}/${e}/files`)).json()},async uploadFile(e,t){let a=await t.arrayBuffer();await fetch(`${Kt}/${e}/files/${encodeURIComponent(t.name)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:a})},async deleteFile(e,t){await fetch(`${Kt}/${e}/files/${encodeURIComponent(t)}`,{method:"DELETE"})},async getProject(){return(await fetch(`${As}/api/project`)).json()},async getSettings(){return(await fetch(`${As}/api/settings`,{cache:"no-store"})).json()},async saveSettings(e){await fetch(`${As}/api/settings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})},wsUrl(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`}};var Wm=["display","visibility","opacity","position","overflow","overflow-x","overflow-y","width","min-width","max-width","height","min-height","max-height","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-width","border-style","border-color","border-radius","background-color","background-image","color","font-size","font-weight","font-style","font-family","line-height","letter-spacing","text-align","text-decoration","text-overflow","white-space","flex-direction","flex-wrap","flex","justify-content","align-items","gap","row-gap","column-gap","grid-template-columns","grid-template-rows","z-index","box-shadow","transform","transition","cursor","user-select","pointer-events","top","left","right","bottom"];function qv(e){let t=[],a=e;for(;a&&a!==document.documentElement;){let r=1,o=a.previousElementSibling;for(;o;)o.tagName===a.tagName&&r++,o=o.previousElementSibling;let n=a.tagName.toLowerCase();t.unshift(`${n}[${r}]`),a=a.parentElement}return"/"+t.join("/")}function Wv(e){let t=e.parentElement;if(!t||t===document.body)return;let a=t.outerHTML;return a.length<=500?a:a.slice(0,500)+"\\u2026"}function $v(){return navigator.userAgent}function Vv(e){let t=e.getBoundingClientRect(),a="auto",r="static",o,n=e;for(;n&&n!==document.documentElement;){let l=window.getComputedStyle(n),s=l.position,i=l.zIndex;if(s!=="static"||i!=="auto"){if(n===e)r=s,a=i;else if(o===void 0){o=i;break}}if(s!=="static")break;n=n.parentElement}return{boundingBox:{x:t.x,y:t.y,width:t.width,height:t.height},scrollPosition:{x:window.scrollX,y:window.scrollY},viewport:{width:window.innerWidth,height:window.innerHeight,dpr:window.devicePixelRatio},stackingContext:{zIndex:a,position:r,parentZIndex:o}}}function Kv(e){let t=window.getComputedStyle(e),a={};for(let r of Wm)a[r]=t.getPropertyValue(r);return a}function $m(e,t,a=[]){return{outerHTML:e.outerHTML,computedStyles:Kv(e),selector:t,xpath:qv(e),position:Vv(e),parentSnippet:Wv(e),browser:$v(),consoleErrors:a,capturedAt:new Date().toISOString()}}async function Vm(e,t){if(!(!t||t==="/"||t==="body"||t==="html"))try{let a=document.querySelector(t);if(!a){console.warn(`[Vibeflow] Cannot capture baseline: element not found for selector "${t}"`);return}let r=$m(a,t),o=`/api/tasks/${e}/baseline`;await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseline:r})})}catch(a){console.error("[Vibeflow] Failed to store baseline:",a)}}var Fs=A(Se(),1);var Km="vibeflow-last-seen-version";function Gv(e,t){let a=d=>d.replace(/[^0-9.]/g,"").split(".").map(Number),[r=0,o=0,n=0]=a(e),[l=0,s=0,i=0]=a(t);return r!==l?r>l:o!==s?o>s:n>i}function Gm(e,t){return!t||!e?!1:Gv(t,e)}function jm(){try{return localStorage.getItem(Km)}catch{return null}}function Ds(e){try{localStorage.setItem(Km,e)}catch{}}function Xm(e,t){return e.find(r=>r.version===t)??e[0]??null}function kd(e){return e?`## ${e.version}\n\n${e.markdown}`:""}function Qm(e){return e.map(t=>kd(t)).join(`\n\n`)}async function Es(){try{let e=await fetch(`${window.location.origin}/api/changelog?_=${Date.now()}`,{cache:"no-store"});if(!e.ok)return[];let t=await e.json();return Array.isArray(t.sections)?t.sections:[]}catch{return[]}}var yo=A(V(),1);function Ym({open:e,sections:t,version:a,startMode:r,onClose:o}){let[n,l]=Fs.default.useState(r);Fs.default.useEffect(()=>{e&&l(r)},[e,r]);let s=Fs.default.useMemo(()=>Xm(t,a),[t,a]),i=n==="full"?Qm(t):kd(s);return(0,yo.jsx)(ya,{open:e,onClose:o,id:"whats-new-modal",width:"min(680px, 95vw)",maxHeight:"80vh",title:n==="full"?"Changelog":"What\'s new in Vibeflow",headerActions:(0,yo.jsx)("button",{id:"whats-new-toggle",onClick:()=>l(d=>d==="full"?"whatsnew":"full"),style:{fontSize:12,color:"#60a5fa",background:"transparent",border:"none",cursor:"pointer",whiteSpace:"nowrap"},children:n==="full"?"What\'s new":"View full changelog"}),footer:(0,yo.jsx)("button",{id:"whats-new-close",onClick:o,style:{padding:"7px 16px",borderRadius:8,background:"#2563eb",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:"pointer"},children:n==="full"?"Close":"Got it"}),children:(0,yo.jsx)("div",{style:{padding:"14px 18px",overflowY:"auto",flex:1,minHeight:0,fontSize:13,color:"var(--p-text-f)"},children:(0,yo.jsx)(aa,{markdown:i})})})}var Q=A(V(),1),jv=window.__PORT__??3700,Xv=window.__SAAS_MODE__??!1,Jm=window.__BOARD_URL__??"",Qv=window.__BOARD_NAME__??"",ag=window.__IS_ADMIN__??!1,Zm=window.__CLI_VERSION__??"";function Yv({onClose:e}){let t=window.location.origin,[a,r]=ae.default.useState("idle"),[o,n]=ae.default.useState(!0),[l,s]=ae.default.useState(null),[i,d]=ae.default.useState("");async function g(){r("pushing"),d("");try{let c=await fetch(`${t}/api/push`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepLocalFiles:o})}),y=await c.json();if(!c.ok){d(y.error??"Push failed"),r("error");return}s({imported:y.imported??0,skipped:y.skipped}),r("done")}catch(c){d(c instanceof Error?c.message:"Network error"),r("error")}}let m=a==="pushing";return(0,Q.jsx)("div",{style:{position:"fixed",inset:0,zIndex:9999,background:"rgba(5, 8, 18, 0.72)",backdropFilter:"blur(10px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,fontFamily:"Inter, system-ui, -apple-system, sans-serif"},children:(0,Q.jsxs)("div",{style:{background:"#101827",border:"1px solid rgba(255,255,255,0.07)",borderRadius:24,maxWidth:380,width:"100%",boxShadow:"0 0 0 1px rgba(59,130,246,0.07), 0 40px 80px rgba(0,0,0,0.75)",overflow:"hidden",position:"relative"},children:[(0,Q.jsx)("div",{style:{position:"absolute",top:0,left:"20%",right:"20%",height:1,background:"linear-gradient(90deg, transparent, rgba(59,130,246,0.5), transparent)"}}),(0,Q.jsxs)("div",{style:{padding:"36px 36px 20px",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center"},children:[(0,Q.jsx)("div",{style:{position:"relative",width:52,height:52,marginBottom:22},children:(0,Q.jsxs)("svg",{width:"52",height:"52",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Q.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,Q.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"white",opacity:"0.7"}),(0,Q.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"white"}),(0,Q.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"white",opacity:"0.7"}),(0,Q.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"white",opacity:"0.85"})]})}),(0,Q.jsx)("h1",{style:{fontSize:18,fontWeight:700,color:"#f1f5f9",letterSpacing:"-0.3px",margin:"0 0 7px"},children:"Online Mode Active"}),(0,Q.jsxs)("p",{style:{fontSize:12,color:"rgba(255,255,255,0.36)",lineHeight:1.5,margin:0},children:["Connected to"," ",(0,Q.jsx)("strong",{style:{color:"rgba(255,255,255,0.55)",fontWeight:500},children:Qv||"Vibeflow SaaS"})]})]}),a==="done"&&l&&(0,Q.jsxs)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(16,185,129,0.08)",border:"1px solid rgba(16,185,129,0.18)",color:"#34d399"},children:[(0,Q.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",children:(0,Q.jsx)("path",{d:"M13 5L6.5 11.5 3 8",stroke:"#34d399",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})}),l.imported," task",l.imported===1?"":"s"," ","pushed to board",l.skipped!=null&&l.skipped>0?` \\xB7 ${l.skipped} already existed`:""]}),a==="error"&&i&&(0,Q.jsx)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.18)",color:"#f87171"},children:i}),(0,Q.jsxs)("div",{style:{padding:"20px 24px 28px",display:"flex",flexDirection:"column",gap:8},children:[Jm&&(0,Q.jsx)("a",{href:Jm,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:14,background:"#2563eb",border:"none",borderRadius:12,color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer",textDecoration:"none",letterSpacing:"-0.1px",transition:"background 0.15s, transform 0.1s"},onMouseEnter:c=>{c.currentTarget.style.background="#3b82f6",c.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:c=>{c.currentTarget.style.background="#2563eb",c.currentTarget.style.transform="none"},children:"Open Web App \\u2192"}),a!=="done"&&(0,Q.jsx)("button",{onClick:()=>{g()},disabled:m,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:12,background:"transparent",border:"1px solid rgba(255,255,255,0.08)",borderRadius:12,color:m?"rgba(255,255,255,0.25)":"rgba(255,255,255,0.4)",fontSize:13,fontWeight:500,cursor:m?"not-allowed":"pointer",transition:"border-color 0.15s, color 0.15s, background 0.15s"},onMouseEnter:c=>{m||(c.currentTarget.style.borderColor="rgba(255,255,255,0.15)",c.currentTarget.style.color="rgba(255,255,255,0.65)",c.currentTarget.style.background="rgba(255,255,255,0.03)")},onMouseLeave:c=>{m||(c.currentTarget.style.borderColor="rgba(255,255,255,0.08)",c.currentTarget.style.color="rgba(255,255,255,0.4)",c.currentTarget.style.background="transparent")},children:m?"\\u23F3 Pushing\\u2026":"\\u2191 Push local tasks"})]}),(0,Q.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 24px 20px"},children:[(0,Q.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:7,cursor:"pointer"},children:[(0,Q.jsx)("input",{type:"checkbox",checked:o,onChange:c=>n(c.target.checked),style:{accentColor:"#2563eb",width:13,height:13,cursor:"pointer"}}),(0,Q.jsx)("span",{style:{fontSize:11.5,color:"rgba(255,255,255,0.28)"},children:"Keep local files"})]}),ag&&e&&(0,Q.jsx)("button",{onClick:e,style:{fontSize:11,color:"rgba(255,255,255,0.2)",background:"none",border:"none",cursor:"pointer",textDecoration:"underline",textUnderlineOffset:2,transition:"color 0.15s"},onMouseEnter:c=>{c.currentTarget.style.color="rgba(255,255,255,0.45)"},onMouseLeave:c=>{c.currentTarget.style.color="rgba(255,255,255,0.2)"},children:"Dismiss (admin)"})]})]})})}var eg={backlog:"Backlog",todo:"Todo","in-progress":"In Progress",review:"Review",done:"Done"};function Jv(e,t,a){let r=a?e.filter(s=>{var i,d;return((i=s.title)==null?void 0:i.toLowerCase().includes(a))||((d=s.description)==null?void 0:d.toLowerCase().includes(a))}):e;if(a)return`${r.length} of ${e.length} tasks`;let o=r.filter(s=>s.status!=="done").length,n=r.filter(s=>s.status==="in-progress").length,l=r.filter(s=>s.status==="review").length;return`${o} open \\xB7 ${n} in-progress \\xB7 ${l} in review`}function rg(){var Co,Pr;let[e,t]=ae.default.useState([]),[a,r]=ae.default.useState(!0),[o,n]=ae.default.useState(!1),[l,s]=ae.default.useState({open:!1,task:null,tab:"details"}),[i,d]=ae.default.useState("board"),[g,m]=ae.default.useState(!1),[c,y]=ae.default.useState({open:!1,startMode:"whatsnew",sections:[],version:""}),[h,I]=ae.default.useState({open:!1,name:"",url:""}),[z,f]=ae.default.useState(420),[u,p]=ae.default.useState(!1),[S,w]=ae.default.useState(""),[T,v]=ae.default.useState(ja.map(x=>x.id)),[L,q]=ae.default.useState({status:"all",component:null,type:null,user:null,tags:[]}),[b,M]=ae.default.useState("Proto Board"),[_,Y]=ae.default.useState(!1),[$,te]=ae.default.useState(!1),[k,H]=ae.default.useState("You"),[re,J]=ae.default.useState(null),[G,se]=ae.default.useState({}),qe=ae.default.useRef(null),rt=ae.default.useRef(null),Gt=ae.default.useRef(0),ot=ae.default.useRef(null),jt=ae.default.useRef(null),[Ft,na]=ae.default.useState([]),Lo=ae.default.useRef(!1),nt=ae.default.useRef([]),[zn,So]=ae.default.useState([]);ae.default.useEffect(()=>(We(),Io(),Hn(),Nn(),Ya(),Un(),()=>{var x;rt.current&&clearTimeout(rt.current),(x=qe.current)==null||x.close()}),[]),ae.default.useEffect(()=>{if(_){ot.current&&(clearInterval(ot.current),ot.current=null);return}return ot.current=setInterval(()=>{We()},5e3),()=>{ot.current&&(clearInterval(ot.current),ot.current=null)}},[_]),ae.default.useEffect(()=>{document.body.setAttribute("data-theme","dark")},[]),ae.default.useEffect(()=>{function x(){let D=window.location.hash.match(/^#task-([a-f0-9]{30})$/i);if(!D){jt.current=null;return}let W=D[1].toLowerCase();if(jt.current===W)return;let ce=e.find(ie=>ie.id.toLowerCase()===W);ce&&(jt.current=W,Lo.current?s(ie=>({...ie,open:!0,task:ce,tab:"details"})):s(ie=>(ie.task&&ie.task.id!==ce.id&&na(ue=>[...ue,ie.task]),{...ie,open:!0,task:ce,tab:"details"})),Lo.current=!1)}x();let P=()=>{jt.current=null,x()};return window.addEventListener("hashchange",P),()=>{window.removeEventListener("hashchange",P)}},[e]),ae.default.useEffect(()=>{if(!l.open||!l.task)return;let x=e.find(W=>W.id===l.task.id);if(!x)return;let P=l.task;Object.keys(x).some(W=>x[W]!==P[W])&&s(W=>({...W,task:x}))},[e,l.open,(Co=l.task)==null?void 0:Co.id]),ae.default.useEffect(()=>{function x(P){var ce,ie,ue;let D=(ce=P.target)==null?void 0:ce.tagName,W=D==="INPUT"||D==="TEXTAREA"||((ie=P.target)==null?void 0:ie.isContentEditable);if(P.key==="Escape"){if(h.open){I(de=>({...de,open:!1}));return}if(l.open){s(de=>({...de,open:!1}));return}if(g){m(!1);return}}if(!W&&((P.key==="?"||P.key==="/"&&P.shiftKey)&&((ue=document.getElementById("header-shortcuts-hint"))==null||ue.click()),P.altKey&&!P.ctrlKey&&!P.metaKey&&(P.key==="n"||P.key==="N")&&(P.preventDefault(),sa(null,"details")),P.altKey&&!P.ctrlKey&&!P.metaKey&&(P.key==="f"||P.key==="F"))){P.preventDefault();let de=document.getElementById("global-search");de==null||de.focus(),de==null||de.select()}}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[h.open,l.open,g]);function kr(x,P,D,W,ce){let ie=new Date().toISOString(),ue=eg[P]??P,de=eg[D]??D,Xe=Date.now()-3e3;So(Ae=>Ae.some(F=>F.taskId===x&&F.to===de&&new Date(F.timestamp).getTime()>Xe)?Ae:[...Ae,{taskId:x,field:"status",from:ue,to:de,actor:W,timestamp:ie,source:ce}].slice(-500))}async function We(){try{let x=await Et.getTasks();nt.current=x.tasks??[],t(x.tasks??[])}catch{}finally{r(!1)}}let pt=ae.default.useCallback((x,P,D)=>{let W=String(x.id??"");if(!W)return;let ce=x.created??x.createdAt,ie=x.updated?String(x.updated):void 0,ue=Array.isArray(x.comments)?x.comments.filter(Re=>!Re.deleted).length:void 0,de=typeof x.fileCount=="number"?x.fileCount:Array.isArray(x.files)?x.files.length:void 0,Xe=x.status?String(x.status):void 0,Ae=nt.current.find(Re=>Re.id===W);Xe&&Ae&&Ae.status!==Xe&&kr(W,Ae.status,Xe,P??"Someone",D),t(Re=>{let F=Re.find(gt=>gt.id===W),mt={id:W,title:x.title?String(x.title):(F==null?void 0:F.title)??"Untitled",description:x.description==null?(F==null?void 0:F.description)??"":String(x.description),status:Xe??(F==null?void 0:F.status)??"todo",type:x.type?String(x.type):F==null?void 0:F.type,priority:x.priority?String(x.priority):F==null?void 0:F.priority,selector:x.selector?String(x.selector):F==null?void 0:F.selector,cssSelector:x.cssSelector?String(x.cssSelector):F==null?void 0:F.cssSelector,file:x.file?String(x.file):F==null?void 0:F.file,line:typeof x.line=="number"?x.line:F==null?void 0:F.line,col:typeof x.col=="number"?x.col:F==null?void 0:F.col,component:x.component?String(x.component):F==null?void 0:F.component,url:x.url?String(x.url):F==null?void 0:F.url,reportBack:x.reportBack===!0||(F==null?void 0:F.reportBack)===!0,commit:x.commit?String(x.commit):F==null?void 0:F.commit,commits:Array.isArray(x.commits)?x.commits:F==null?void 0:F.commits,commentCount:ue??(F==null?void 0:F.commentCount),fileCount:de??(F==null?void 0:F.fileCount),createdAt:ce?String(ce):(F==null?void 0:F.createdAt)??new Date().toISOString(),updatedAt:ie??(F==null?void 0:F.updatedAt),author:x.author?String(x.author):F==null?void 0:F.author,tags:Array.isArray(x.tags)?x.tags:F==null?void 0:F.tags,sortKey:x.sortKey?String(x.sortKey):F==null?void 0:F.sortKey},lt=Re.filter(gt=>gt.id!==W);return lt.push(mt),lt.sort((gt,It)=>{let wo=new Date(gt.updatedAt??gt.createdAt??"").getTime(),Za=new Date(It.updatedAt??It.createdAt??"").getTime();return wo===Za?gt.id.localeCompare(It.id):Za-wo}),nt.current=lt,lt})},[]);async function Io(){try{let x=await Et.getProject();x.name&&M(x.name),x.gitUserName&&H(x.gitUserName)}catch{}}async function Nn(){try{let x=await fetch("/api/github-url").then(P=>P.json());J(x.githubUrl??null)}catch{}}async function Ya(){var ce;let x=jm(),P=Zm,D=null;if(P||(D=await Es(),P=((ce=D[0])==null?void 0:ce.version)??""),!P)return;if(!x){Ds(P);return}if(!Gm(x,P))return;let W=D??await Es();if(W.length===0){Ds(P);return}y({open:!0,startMode:"whatsnew",sections:W,version:P})}async function la(){var D;let x=c.sections.length?c.sections:await Es(),P=Zm||((D=x[0])==null?void 0:D.version)||c.version;y({open:!0,startMode:"full",sections:x,version:P})}function Bs(){c.version&&Ds(c.version),y(x=>({...x,open:!1}))}async function Hn(){var x;try{let D=await Et.getSettings();se(D),(x=D.visibleCols)!=null&&x.length&&v(D.visibleCols),D.viewMode&&d(D.viewMode==="condensed"?"compact":D.viewMode),D.panelWidth&&D.panelWidth>=280&&D.panelWidth<=900&&f(D.panelWidth)}catch{}}function Un(){let P=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,D=new WebSocket(P);qe.current=D,D.addEventListener("open",()=>{Y(!0),te(!0),Gt.current=0,We()}),D.addEventListener("close",()=>{Y(!1),rt.current&&clearTimeout(rt.current),rt.current=setTimeout(Un,2e3)}),D.addEventListener("error",()=>{}),D.addEventListener("message",ce=>{var ie;try{let ue=JSON.parse(ce.data);if(ue.type==="tasks-updated"||(ie=ue.type)!=null&&ie.startsWith("task:")){We();return}if(ue.type==="task-changed"&&ue.task){let de=ue.task,Xe=typeof de.alteredBy=="string"?de.alteredBy:typeof de.author=="string"?de.author:"Someone",Ae=ue.source==="cli"?"cli":void 0;pt(de,Xe,Ae);return}if(ue.type==="task-deleted"&&ue.taskId){let de=String(ue.taskId);t(Xe=>{let Ae=Xe.filter(Re=>Re.id!==de);return nt.current=Ae,Ae})}}catch{}});let W=setInterval(()=>{D.readyState===WebSocket.OPEN&&D.send(JSON.stringify({type:"ping"}))},2e4);D.addEventListener("close",()=>clearInterval(W)),D.addEventListener("error",()=>{})}async function Ja(x,P){let D=nt.current.find(W=>W.id===x);t(W=>{let ce=W.map(ie=>ie.id===x?{...ie,...P}:ie);return nt.current=ce,ce}),P.status&&(D!=null&&D.status)&&P.status!==D.status&&kr(x,D.status,P.status,k);try{let W=await Et.updateTask(x,P);W.task&&t(ce=>{let ie=ce.map(ue=>ue.id===x?W.task:ue);return nt.current=ie,ie})}catch{We()}}async function Os(x,P,D,W,ce){let ie=nt.current.filter(Ae=>Ae.status===P).sort(vn),ue=sd(ie,x,D,W),de=ce??ue.newSortKey,Xe=ue.normalizationPatches;t(Ae=>{let Re=new Map;for(let{id:mt,sortKey:lt}of Xe)Re.set(mt,{sortKey:lt});Re.set(x,{status:P,sortKey:de});let F=Ae.map(mt=>Re.has(mt.id)?{...mt,...Re.get(mt.id)}:mt);return nt.current=F,F}),await Et.updateTask(x,{status:P,sortKey:de}).catch(()=>{We()})}async function _n(x){t(P=>{let D=P.filter(W=>W.id!==x);return nt.current=D,D});try{await Et.deleteTask(x)}catch{We()}}async function Sa(x){var P,D;try{let W=await Et.createTask(x);return await We(),(P=W==null?void 0:W.task)!=null&&P.id&&x.selector&&Vm(W.task.id,x.selector),(D=W==null?void 0:W.task)==null?void 0:D.id}catch{}}function sa(x,P="details",D){na([]),s({open:!0,task:x,tab:P,addColumnId:D})}function zs(){na(x=>{if(x.length===0)return x;let P=x[x.length-1],D=x.slice(0,-1);return Lo.current=!0,jt.current=null,window.location.hash=`#task-${P.id}`,s(W=>({...W,open:!0,task:P,tab:"details"})),D})}function qn(x,P){if(P.startsWith("/")&&!P.startsWith("//")||P.startsWith(window.location.origin+"/")){if(/\\.html?$/i.test(x)){window.open(P,"_blank","noopener,noreferrer");return}I({open:!0,name:x,url:P})}}let br=Jv(e,T,S.toLowerCase()),Wn=window.location.origin,$n=ae.default.useMemo(()=>{let x=new Set;return e.forEach(P=>(P.tags??[]).forEach(D=>x.add(D))),Array.from(x).sort()},[e]),Vn=ae.default.useMemo(()=>{var P;let x=(P=l.task)==null?void 0:P.id;return x?zn.filter(D=>D.taskId===x).map(({field:D,from:W,to:ce,actor:ie,timestamp:ue,source:de})=>({field:D,from:W,to:ce,actor:ie,timestamp:ue,source:de})):[]},[(Pr=l.task)==null?void 0:Pr.id,zn]),Kn=ae.default.useMemo(()=>{let x=e;return L.status!=="all"&&(x=x.filter(P=>P.status===L.status)),L.component&&(x=x.filter(P=>P.component===L.component)),L.type&&(x=x.filter(P=>P.type===L.type)),L.user&&(x=x.filter(P=>P.author===L.user)),L.tags&&L.tags.length>0&&(x=x.filter(P=>L.tags.every(D=>(P.tags??[]).includes(D)))),x},[e,L]),Gn=$&&!_;return(0,Q.jsxs)(Q.Fragment,{children:[Xv&&!o&&(0,Q.jsx)(Yv,{onClose:ag?()=>n(!0):void 0}),(0,Q.jsx)(pd,{projectName:b,missingProjectIconStyle:"vibeflow",wsConnected:_,port:jv,searchQuery:S,filterTags:L.tags,allTags:$n,onToggleTag:x=>{let P=L.tags??[],D=P.includes(x)?P.filter(W=>W!==x):[...P,x];q(W=>({...W,tags:D}))},isLoading:a,taskSummary:br,onSearchChange:w,onSettings:()=>m(!0),extraActions:(0,Q.jsx)(po,{id:"changelog-btn",title:"View changelog",onClick:()=>{la()},label:"Changelog"})}),(0,Q.jsx)(Id,{tasks:e,filter:L,view:i,onFilter:q,onViewChange:x=>{d(x),Et.saveSettings({...G,viewMode:x}),se(P=>({...P,viewMode:x}))}}),(0,Q.jsxs)("div",{className:"flex flex-1 overflow-hidden",style:{minHeight:0,position:"relative"},children:[i==="list"?(0,Q.jsx)(cd,{tasks:Kn,searchQuery:S,isLoading:a,onOpenPanel:(x,P)=>sa(x,P),onAddTask:x=>sa(null,"details",x),onDrop:(x,P)=>Ja(x,{status:P})}):(0,Q.jsx)(dd,{tasks:Kn,visibleCols:T,searchQuery:S,isLoading:a,compact:i==="compact",onOpenPanel:(x,P,D)=>sa(x,P,D),onDrop:(x,P)=>Ja(x,{status:P}),onReorder:Os}),l.open&&(0,Q.jsxs)("div",{id:"detail-panel-container",style:{width:z,zIndex:u?30:10},className:u?"resizing":"",children:[(0,Q.jsx)("div",{id:"detail-panel-resize-handle",onMouseDown:x=>{x.preventDefault(),p(!0),document.body.classList.add("vibeflow-resizing-panel");let P=x.clientX,D=z,W=ie=>{let ue=D-(ie.clientX-P);f(Math.max(360,Math.min(860,ue)))},ce=ie=>{p(!1),document.body.classList.remove("vibeflow-resizing-panel");let ue=Math.max(360,Math.min(860,D-(ie.clientX-P)));Et.saveSettings({...G,panelWidth:ue}),se(de=>({...de,panelWidth:ue})),window.removeEventListener("mousemove",W),window.removeEventListener("mouseup",ce)};window.addEventListener("mousemove",W),window.addEventListener("mouseup",ce)}}),(0,Q.jsx)(Sd,{open:l.open,task:l.task,tab:l.tab,showLockIndicator:!1,addColumnId:l.addColumnId,gitUserName:k,githubUrl:re,baseUrl:Wn,isResizing:u,api:Et,onClose:()=>{na([]),s(x=>({...x,open:!1}))},onSave:async x=>{l.task&&await Ja(l.task.id,x),s(P=>({...P,open:!1}))},onCreate:async x=>{let P=await Sa(x);return s(D=>({...D,open:!1})),P},onDelete:async x=>{await _n(x),s(P=>({...P,open:!1}))},onPatch:Ja,onFilePreview:qn,onGoBack:Ft.length>0?zs:void 0,navBackLabel:Ft.length>0?Ft[Ft.length-1].title:void 0,externalLocalChanges:Vn,allTasks:e,createBranch:G.createBranch})]})]}),Gn&&(0,tg.createPortal)((0,Q.jsx)("div",{id:"ws-lost-overlay",style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:99999,background:"rgba(2, 6, 23, 0.88)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,pointerEvents:"all",cursor:"not-allowed"},children:(0,Q.jsxs)("div",{style:{width:"min(420px, 92vw)",borderRadius:14,border:"1px solid var(--p-border-s)",background:"var(--p-card)",boxShadow:"0 16px 40px rgba(2,6,23,0.7)",padding:"20px 22px",display:"flex",flexDirection:"column",gap:10,cursor:"default",pointerEvents:"auto"},children:[(0,Q.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,Q.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"var(--p-text-m)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{animation:"spin 1.1s linear infinite",flexShrink:0},children:(0,Q.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),(0,Q.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--p-text)"},children:"Connection Lost"})]}),(0,Q.jsx)("div",{style:{fontSize:12,color:"var(--p-text-m)",lineHeight:1.6},children:"Real-time connection to the server was interrupted. Reconnecting in the background\\u2026"})]})}),document.body),(0,Q.jsx)(Cd,{open:g,visibleCols:T,settings:G,onClose:()=>m(!1),onSave:(x,P)=>{v(x);let D={...G,...P,visibleCols:x};se(D),Et.saveSettings(D)}}),(0,Q.jsx)(wd,{open:h.open,name:h.name,url:h.url,onClose:()=>I(x=>({...x,open:!1}))}),(0,Q.jsx)(Ym,{open:c.open,sections:c.sections,version:c.version,startMode:c.startMode,onClose:Bs})]})}var lg=A(V(),1),og=document.getElementById("root");og&&(0,ng.createRoot)(og).render((0,lg.jsx)(rg,{}));})();\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.min.js:\n (**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/chevron-down.js:\nlucide-react/dist/esm/icons/chevron-right.js:\nlucide-react/dist/esm/icons/circle-check-big.js:\nlucide-react/dist/esm/icons/download.js:\nlucide-react/dist/esm/icons/eye.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/flag.js:\nlucide-react/dist/esm/icons/layout-dashboard.js:\nlucide-react/dist/esm/icons/list.js:\nlucide-react/dist/esm/icons/lock.js:\nlucide-react/dist/esm/icons/message-circle.js:\nlucide-react/dist/esm/icons/panels-top-left.js:\nlucide-react/dist/esm/icons/paperclip.js:\nlucide-react/dist/esm/icons/plus.js:\nlucide-react/dist/esm/icons/rows-3.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/settings.js:\nlucide-react/dist/esm/icons/shield-check.js:\nlucide-react/dist/esm/icons/tag.js:\nlucide-react/dist/esm/icons/triangle-alert.js:\nlucide-react/dist/esm/icons/upload.js:\nlucide-react/dist/esm/icons/user.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n';var Jr=Xr(import.meta.url),Zr=Gr(Jr),ea=[ct(Zr,"kanban-template.html"),ct(process.cwd(),"src","server","kanban-template.html"),ct(process.cwd(),"dist","server","kanban-template.html")];function ta(t){let e=ea.find(n=>Yr(n));if(!e)throw new Error("kanban-template.html not found in expected locations");return Qr(e,"utf8").replaceAll("__PORT__",String(t))}function na(t){return t.saasMode?`window.__SAAS_MODE__ = true; window.__BOARD_URL__ = ${JSON.stringify(t.boardUrl??"")}; window.__BOARD_NAME__ = ${JSON.stringify(t.boardName??"")}; window.__IS_ADMIN__ = ${t.isAdmin?"true":"false"};`:""}var ra="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iNCIgZmlsbD0iIzI1NjNlYiIvPjxyZWN0IHg9IjIuNSIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iOCIgcng9IjEiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjciLz48cmVjdCB4PSI2LjUiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0IiByeD0iMSIgZmlsbD0id2hpdGUiLz48cmVjdCB4PSIxMC41IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSI2IiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuNyIvPjxyZWN0IHg9IjE0LjUiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjEwIiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuODUiLz48L3N2Zz4=";function aa(t){return`<!DOCTYPE html>
|
|
1702
1702
|
<html lang="en" class="dark">
|
|
1703
1703
|
<head>
|
|
1704
1704
|
<meta charset="UTF-8">
|
|
@@ -1715,10 +1715,10 @@ var PROTO_CONFIG = {
|
|
|
1715
1715
|
</body>
|
|
1716
1716
|
</html>`}function ut(t){let e=typeof t=="number"?{port:t}:t;return st?aa(e):ta(e.port)}import{existsSync as oa,readFileSync as ia}from"fs";import{dirname as la,join as yn}from"path";import{fileURLToPath as sa}from"url";import dt from"chalk";var ca=la(sa(import.meta.url));function xn(t){let e=/^## (\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)[ \t]*$/gm,n=[...t.matchAll(e)],l=[];for(let a=0;a<n.length;a++){let o=n[a];if(!o)continue;let i=(o.index??0)+o[0].length,s=n[a+1],c=s?s.index??t.length:t.length;l.push({version:o[1]??"",markdown:t.slice(i,c).trim()})}return l}function ua(t){return t[0]??null}function da(t){let e=[` ${dt.bold(`What's new in ${t.version}`)}`,""];for(let n of t.markdown.split(`
|
|
1717
1717
|
`)){let l=/^### (.+)$/.exec(n);l?e.push(` ${dt.bold.underline(l[1]??"")}`):e.push(` ${dt.dim(n.trimEnd())}`)}return e.join(`
|
|
1718
|
-
`)}function
|
|
1718
|
+
`)}function Ve(t,e={}){let n=xn(t);return n.length===0?"":(e.all?n:n.slice(0,1)).map(a=>da(a)).join(`
|
|
1719
1719
|
|
|
1720
|
-
`)}function pa(t){return[yn(t,"..","CHANGELOG.md"),yn(t,"..","..","CHANGELOG.md")]}function
|
|
1721
|
-
`):[]);return Rn.set(t,{shas:a,fetchedAt:Date.now()}),a}catch{return new Set}}function Pn(t,e){return t?e.has(t):null}function $n(t,e,n){t.get("/api/project",(a,o)=>{o.json({name:Ve(e),projectDir:e,branch:Ot(e),gitUserName:ie(e).name})}),t.get("/api/health",(a,o)=>{o.json({ok:!0})}),t.get("/api/changelog",(a,o)=>{o.json(kn(je()))}),t.get("/api/tasks",(a,o)=>{let i=K(e),s=Nn(e),c=a.query.status;c&&typeof c=="string"&&(i=i.filter(p=>p.status===c));let u=a.query.limit;if(u){let p=parseInt(u,10);!isNaN(p)&&p>0&&(i=i.slice(0,p))}let g=i.map(p=>{let w=p.commits?.length?p.commits[p.commits.length-1].sha:void 0;return{...p,createdAt:p.created,commentCount:(p.comments??[]).filter(_=>!_.deleted).length,fileCount:Ce(e,p.id),commitPushed:Pn(w,s)}});o.json({tasks:g})}),t.param("id",(a,o,i,s)=>{if(!bt(s)){o.status(400).json({error:"Invalid task id"});return}i()}),t.param("commentId",(a,o,i,s)=>{if(!Ta(s)){o.status(400).json({error:"Invalid comment id"});return}i()}),t.get("/api/tasks/:id",(a,o)=>{let{id:i}=a.params,s=q(e,i),c=s?ve(s):null;if(!c){o.status(404).json({error:"Task not found"});return}let u=Nn(e),g=c.commits?.length?c.commits[c.commits.length-1].sha:void 0;o.json({...c,commitPushed:Pn(g,u)})}),t.post("/api/tasks",(a,o)=>{let{title:i,description:s,selector:c,cssSelector:u,url:g,type:p,priority:w,file:_,line:z,col:$,component:M,status:d,agent:m,model:b,screenshot:R,annotatedElementText:y,tags:j,sortKey:L}=a.body;if(!i||!c){o.status(400).json({error:"Missing required fields: title, selector"});return}let I=ie(e),N=_e(e,{title:i,description:s||"",selector:c,cssSelector:u||void 0,url:g||void 0,status:ja.includes(d)?d:"todo",file:_||void 0,line:z==null?void 0:Number(z),col:$==null?void 0:Number($),component:M||void 0,type:p||void 0,priority:w||void 0,author:I.name,agent:m||void 0,model:b||void 0,annotatedElementText:y?String(y).slice(0,300):void 0,tags:Array.isArray(j)?j.filter(C=>typeof C=="string"&&C.length>0):void 0,sortKey:L?String(L):void 0});if(R){let C=G(e,Z,Le);jn(C,{recursive:!0});let h=`${N.id}.png`;En(G(C,h),Buffer.from(R,"base64")),V(e,N.id,{screenshot:h}),N.screenshot=h}console.log(`[Vibeflow] Task created: "${N.title}" (${N.id})`),n({type:"tasks-updated"}),o.json({success:!0,task:N})}),t.patch("/api/tasks/:id",(a,o)=>{let{id:i}=a.params,s=new Set(["status","title","description","type","priority","reportBack","agent","model","tags","sortKey","branchName"]),c=Object.fromEntries(Object.entries(a.body).filter(([g])=>s.has(g)));if(c.status!==void 0&&!J.includes(c.status)){o.status(400).json({error:`Invalid status: ${c.status}`});return}if(c.status==="review"){let g=ve(q(e,i)??"");if(g&&(g.type??"").toLowerCase()==="research"&&!ee(e,i).some(_=>/\.md$/i.test(_.name))){o.status(422).json({error:"RESEARCH_REPORT_REQUIRED"});return}}let u=V(e,i,c);if(!u){o.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task updated: "${u.title}" (${u.id}) \u2192 status:${u.status}`),n({type:"task-changed",taskId:u.id,action:"update",task:{...u,fileCount:Ce(e,u.id)}}),o.json({success:!0,task:u})}),t.delete("/api/tasks/:id",(a,o)=>{let{id:i}=a.params;if(!Fe(e,i)){o.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task deleted: ${i}`),n({type:"task-deleted",taskId:i}),o.json({success:!0})}),t.get("/api/tasks/:id/comments",(a,o)=>{let{id:i}=a.params,s=oe(e,i);o.json({comments:s})}),t.post("/api/tasks/:id/comments",(a,o)=>{let{id:i}=a.params,{author:s,text:c,files:u,source:g}=a.body;if(!c||!c.trim()){o.status(400).json({error:"Missing required field: text"});return}let p=s==="agent"?"agent":"user",w=g==="cli"?"cli":"web",_=ye(e,i,p,c.trim(),Array.isArray(u)?u:void 0,void 0,w);ge(n,i),o.json({success:!0,comment:_})}),t.patch("/api/tasks/:id/comments/:commentId",(a,o)=>{let{id:i,commentId:s}=a.params,{text:c}=a.body;if(!c||!c.trim()){o.status(400).json({error:"Missing required field: text"});return}let u=Ue(e,i,s,c.trim());if(!u){o.status(404).json({error:"Comment not found"});return}ge(n,i),o.json({success:!0,comment:u})}),t.delete("/api/tasks/:id/comments/:commentId",(a,o)=>{let{id:i,commentId:s}=a.params;if(!We(e,i,s)){o.status(404).json({error:"Comment not found"});return}ge(n,i),o.json({success:!0})}),t.get("/api/tasks/:id/files",(a,o)=>{let{id:i}=a.params,s=ee(e,i);o.json({files:s})}),t.get("/api/tasks/:id/files/:filename",(a,o)=>{let{id:i,filename:s}=a.params;if(!Be(s)){o.status(400).json({error:"Invalid filename"});return}let c=Pt(e,i,s);if(!c){o.status(404).json({error:"File not found"});return}o.sendFile(c)}),t.post("/api/tasks/:id/files/:filename",me.raw({type:"*/*",limit:"50mb"}),(a,o)=>{let{id:i,filename:s}=a.params;if(!Be(s)){o.status(400).json({error:"Invalid filename"});return}if(!It(s)){o.status(415).json({error:"File type not allowed"});return}let c=a.body;if(!Buffer.isBuffer(c)||c.length===0){o.status(400).json({error:"Empty file body"});return}let u=He(e,i,s,c);ge(n,i),o.json({success:!0,file:u})}),t.delete("/api/tasks/:id/files/:filename",(a,o)=>{let{id:i,filename:s}=a.params;if(!Be(s)){o.status(400).json({error:"Invalid filename"});return}if(!Nt(e,i,s)){o.status(404).json({error:"File not found"});return}ye(e,i,"user",`\u{1F5D1}\uFE0F File removed: \`${s}\``,void 0,"system","web"),ge(n,i),o.json({success:!0})});let l=G(e,Z,Le);t.post("/api/tasks/:id/screenshot",me.json(),(a,o)=>{let{id:i}=a.params,{screenshot:s}=a.body;if(!q(e,i)){o.status(404).json({error:"Task not found"});return}if(!s){o.status(400).json({error:"Missing screenshot"});return}jn(l,{recursive:!0});let c=`${i}.png`;En(G(l,c),Buffer.from(s,"base64")),V(e,i,{screenshot:c}),ge(n,i),o.json({success:!0,screenshot:c})}),t.delete("/api/tasks/:id/screenshot",(a,o)=>{let{id:i}=a.params;if(!q(e,i)){o.status(404).json({error:"Task not found"});return}let s=`${i}.png`,c=G(l,s);mt(c)&&On(c),V(e,i,{screenshot:void 0}),ge(n,i),o.json({success:!0})}),t.post("/api/tasks/:id/auth-state",me.json(),async(a,o)=>{let{id:i}=a.params,{authState:s,taskAuthor:c}=a.body;if(!q(e,i)){o.status(404).json({error:"Task not found"});return}if(!s||!c){o.status(400).json({error:"Missing required fields: authState, taskAuthor"});return}try{let g=Lt(s,c);V(e,i,{authStateEnc:JSON.stringify(g)}),console.log(`[Vibeflow] Auth state stored for task ${i}`),o.json({success:!0})}catch(g){let p=g instanceof Error?g.message:String(g);console.error(`[Vibeflow] Failed to store auth state for ${i}: ${p}`),o.status(500).json({error:"Failed to store auth state"})}}),t.post("/api/tasks/:id/baseline",me.json(),(a,o)=>{let{id:i}=a.params,{baseline:s}=a.body;if(!q(e,i)){o.status(404).json({error:"Task not found"});return}if(!s||!s.selector||!s.outerHTML){o.status(400).json({error:"Missing required fields: baseline.selector, baseline.outerHTML"});return}try{let c="baseline-element.json";He(e,i,c,Buffer.from(JSON.stringify(s,null,2))),V(e,i,{baselineElementFile:c}),console.log(`[Vibeflow] Baseline snapshot stored for task ${i} (${c})`),o.json({success:!0})}catch(c){let u=c instanceof Error?c.message:String(c);console.error(`[Vibeflow] Failed to store baseline for ${i}: ${u}`),o.status(500).json({error:"Failed to store baseline"})}}),t.post("/api/tasks/:id/baseline-page",me.json({limit:"10mb"}),(a,o)=>{let{id:i}=a.params,{page:s}=a.body;if(!q(e,i)){o.status(404).json({error:"Task not found"});return}if(!s||s.version!==1||!s.elements){o.status(400).json({error:"Missing required fields: page.version, page.elements"});return}try{let c="baseline-page.json";He(e,i,c,Buffer.from(JSON.stringify(s,null,2))),V(e,i,{baselineFile:c}),console.log(`[Vibeflow] Page baseline stored for task ${i} (${c})`),o.json({success:!0})}catch(c){let u=c instanceof Error?c.message:String(c);console.error(`[Vibeflow] Failed to store page baseline for ${i}: ${u}`),o.status(500).json({error:"Failed to store page baseline"})}})}function Fn(t,e,n){t.get("/api/user",(l,a)=>{a.json(ie(e))}),t.get("/api/settings",(l,a)=>{a.json(Y(e))}),t.post("/api/settings",(l,a)=>{if(!Ea(l,a))return;let o=new Set(["visibleCols","viewMode","panelWidth","autoCommit","autoComment","autoPush","createBranch","requireVerifyBeforeReview"]),i=Object.fromEntries(Object.entries(l.body).filter(([c])=>o.has(c))),s=jt(e,i);a.json({success:!0,settings:s})}),t.get("/api/push/workspaces",async(l,a)=>{let o=await ue().catch(()=>null);if(!o){a.status(401).json({error:"Not logged in"});return}let i=process.env.VIBEFLOW_API_URL??"http://localhost:3000";try{let s=await fetch(`${i}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${o}`}});if(!s.ok){let u=(await s.json().catch(()=>({}))).error??`HTTP ${s.status} from ${i}`;console.error(`[Vibeflow] GET /api/push/workspaces failed: ${u}`),a.status(s.status).json({error:u});return}a.json(await s.json())}catch(s){let c=s instanceof Error?s.message:String(s);console.error(`[Vibeflow] GET /api/push/workspaces network error: ${c}`),a.status(502).json({error:`Network error contacting SaaS API: ${c}`})}}),t.post("/api/push",me.json(),async(l,a)=>{let{workspaceId:o,keepLocalFiles:i}=l.body,s=await ue().catch(()=>null);if(!s){a.status(401).json({error:"Not logged in"});return}let c=ce(e);if(c.length===0){a.json({imported:0,message:"No local tasks found"});return}let u=process.env.VIBEFLOW_API_URL??"http://localhost:3000",g={tasks:c};try{let p=await fetch(`${u}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`},body:JSON.stringify(g)});if(!p.ok){let _=await p.json().catch(()=>({}));a.status(p.status).json({error:_.error??"Import failed"});return}let w=await p.json();if(!i){for(let _ of c)try{On(_.filePath)}catch{}n&&ge(n)}a.json({imported:w.imported,skipped:w.skipped??0,workspaceId:w.workspaceId,boardId:w.boardId})}catch(p){let w=p instanceof Error?p.message:String(p);console.error(`[Vibeflow] POST /api/push network error: ${w}`),a.status(502).json({error:`Network error contacting SaaS API: ${w}`})}}),t.get("/api/github-url",(l,a)=>{try{let o=An("git remote get-url origin",{cwd:e,timeout:3e3}).toString().trim(),i=o.match(/^git@github\.com:(.+?)(?:\.git)?$/);if(i){a.json({githubUrl:`https://github.com/${i[1]}`});return}let s=o.match(/^(https?:\/\/github\.com\/[^/]+\/[^/]+?)(?:\.git)?$/);if(s){a.json({githubUrl:s[1]});return}}catch{}a.json({githubUrl:null})})}function Bn(t,e){let n=process.env.VIBEFLOW_ADMIN_EMAIL??"",l=process.env.VIBEFLOW_API_URL??"http://localhost:3000";t.get("/kanban",async(a,o)=>{let i=await ue().catch(()=>null);if(!i){o.type("html").send(ut({port:e,cliVersion:In}));return}let s=await de().catch(()=>null),c=!1;if(n)try{let g=await fetch(`${l}/api/cli/profile`,{headers:{Authorization:`Bearer ${i}`}}).catch(()=>null);g?.ok&&(c=(await g.json()).email===n)}catch{}let u={port:e,cliVersion:In,saasMode:!0,boardUrl:s?.url??`${l}/kanban`,boardName:s?.name,isAdmin:c};o.type("html").send(ut(u))})}var Na=`*{box-sizing:border-box;margin:0;padding:0}
|
|
1720
|
+
`)}function pa(t){return[yn(t,"..","CHANGELOG.md"),yn(t,"..","..","CHANGELOG.md")]}function Ee(t=ca){try{for(let e of pa(t))if(oa(e))return ia(e,"utf8");return null}catch{return null}}function kn(t){let e=xn(t??"");return{version:ua(e)?.version??null,sections:e}}import{initTRPC as fa,TRPCError as pt}from"@trpc/server";import{z as j}from"zod";var _n=fa.context().create(),ga=_n.router,te=_n.procedure,wn=j.enum(J),ze=j.string().regex(/^[a-f0-9]{30}$/,"Invalid task ID"),Sn=j.string().regex(/^[a-f0-9]{16}$/,"Invalid comment ID"),ft=j.object({id:ze}),Cn=ga({project:te.query(({ctx:t})=>({name:qe(t.projectDir),projectDir:t.projectDir,gitUserName:ie(t.projectDir).name})),tasks:te.query(({ctx:t})=>({tasks:K(t.projectDir).map(l=>({...l,createdAt:l.created,commentCount:(l.comments??[]).filter(a=>!a.deleted).length,fileCount:Ce(t.projectDir,l.id)}))})),searchTasks:te.input(j.object({query:j.string().min(1),limit:j.number().int().min(1).max(100).optional()})).query(({ctx:t,input:e})=>{let n=K(t.projectDir),l=Math.max(1,e.limit??10),a=e.query.toLowerCase();return{results:n.filter(i=>`${i.title} ${i.description??""} ${i.type??""} ${i.component??""}`.toLowerCase().includes(a)).slice(0,l).map(i=>({score:1,task:i,commentCount:(i.comments??[]).filter(s=>!s.deleted).length,fileCount:Ce(t.projectDir,i.id)}))}}),createTask:te.input(j.object({title:j.string().min(1),selector:j.string().min(1),description:j.string().optional(),cssSelector:j.string().optional(),url:j.string().optional(),type:j.string().optional(),priority:j.string().optional(),file:j.string().optional(),line:j.number().int().positive().optional(),col:j.number().int().positive().optional(),component:j.string().optional(),status:wn.optional(),agent:j.string().optional(),model:j.string().optional(),author:j.string().optional(),annotatedElementText:j.string().max(300).optional()})).mutation(({ctx:t,input:e})=>{let n=_e(t.projectDir,{title:e.title,description:e.description??"",selector:e.selector,cssSelector:e.cssSelector,url:e.url,status:e.status??"todo",screenshot:void 0,file:e.file,line:e.line,col:e.col,component:e.component,type:e.type,priority:e.priority,author:e.author??"Unknown",agent:e.agent,model:e.model,annotatedElementText:e.annotatedElementText});return t.broadcast({type:"tasks-updated"}),{success:!0,task:n}}),updateTask:te.input(j.object({id:ze,updates:j.object({status:wn.optional(),title:j.string().min(1).optional(),description:j.string().optional(),type:j.string().optional(),priority:j.string().optional(),reportBack:j.boolean().optional(),agent:j.string().optional(),model:j.string().optional(),tags:j.array(j.string().max(50)).max(20).optional(),sortKey:j.string().optional(),branchName:j.string().optional()})})).mutation(({ctx:t,input:e})=>{let n=q(t.projectDir,e.id,e.updates);if(!n)throw new pt({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0,task:n}}),deleteTask:te.input(ft).mutation(({ctx:t,input:e})=>{if(!Fe(t.projectDir,e.id))throw new pt({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0}}),comments:te.input(ft).query(({ctx:t,input:e})=>({comments:oe(t.projectDir,e.id)})),addComment:te.input(j.object({taskId:ze,text:j.string().trim().min(1,"Comment text is required"),author:j.enum(["user","agent"]).optional().default("user"),files:j.array(j.string()).optional(),source:j.enum(["cli","web"]).optional().default("web")})).mutation(async({ctx:t,input:e})=>{let n=await ye(t.projectDir,e.taskId,e.author,e.text.trim(),e.files,void 0,e.source);return t.broadcast({type:"tasks-updated"}),{success:!0,comment:n}}),updateComment:te.input(j.object({taskId:ze,commentId:Sn,text:j.string().min(1)})).mutation(async({ctx:t,input:e})=>{let n=await Ue(t.projectDir,e.taskId,e.commentId,e.text.trim());if(!n)throw new pt({code:"NOT_FOUND",message:"Comment not found"});return t.broadcast({type:"tasks-updated"}),{success:!0,comment:n}}),deleteComment:te.input(j.object({taskId:ze,commentId:Sn})).mutation(async({ctx:t,input:e})=>(await We(t.projectDir,e.taskId,e.commentId),t.broadcast({type:"tasks-updated"}),{success:!0})),files:te.input(ft).query(({ctx:t,input:e})=>({files:ee(t.projectDir,e.id)}))});function Tn(t){try{let e=new URL(t);return(e.protocol==="http:"||e.protocol==="https:")&&(e.hostname==="localhost"||e.hostname==="127.0.0.1"||e.hostname==="[::1]"||e.hostname==="::1")}catch{return!1}}function bt(t){return/^[a-f0-9]{30}$/.test(t)}function Ta(t){return/^[a-f0-9]{16}$/.test(t)}function ja(t,e){let n=t.headers.origin;return n&&!Tn(n)?(e.status(403).json({error:"Forbidden"}),!1):!0}var Ea=J,Ia=new Set(["https://app.vibeflow.tools"]);function Ra(t){if(!t)return null;try{let e=new URL(t).origin;return Ia.has(e)?e:null}catch{return null}}function ge(t,e){t({type:"tasks-updated",...e&&{taskId:e}})}var In="0.12.1";function zn(){for(let t of Object.values(wa()))for(let e of t??[])if(e.family==="IPv4"&&!e.internal)return e.address;return null}function pe(t,e,n,l=""){return t?f.dim(" ".repeat(n)+l)+f.cyan(`${t}${e}`):null}function Mn(t,e){return t?f.dim(" ".repeat(e)+"or: ")+f.yellow(`<script src="${t}/vibeflow-overlay.js" data-vibeflow-overlay></script>`):null}function Dn(t,e){t.get("/api/pages",(n,l)=>{l.json({pages:e})})}var Rn=new Map;function Nn(t){let n=Rn.get(t);if(n&&Date.now()-n.fetchedAt<3e5)return n.shas;try{let l=An("git log --remotes --format=%H",{cwd:t,timeout:5e3}).toString().trim(),a=new Set(l?l.split(`
|
|
1721
|
+
`):[]);return Rn.set(t,{shas:a,fetchedAt:Date.now()}),a}catch{return new Set}}function Pn(t,e){return t?e.has(t):null}function $n(t,e,n){t.get("/api/project",(a,o)=>{o.json({name:qe(e),projectDir:e,branch:Ot(e),gitUserName:ie(e).name})}),t.get("/api/health",(a,o)=>{o.json({ok:!0})}),t.get("/api/changelog",(a,o)=>{o.json(kn(Ee()))}),t.get("/api/tasks",(a,o)=>{let i=K(e),s=Nn(e),c=a.query.status;c&&typeof c=="string"&&(i=i.filter(p=>p.status===c));let u=a.query.limit;if(u){let p=parseInt(u,10);!isNaN(p)&&p>0&&(i=i.slice(0,p))}let g=i.map(p=>{let w=p.commits?.length?p.commits[p.commits.length-1].sha:void 0;return{...p,createdAt:p.created,commentCount:(p.comments??[]).filter(_=>!_.deleted).length,fileCount:Ce(e,p.id),commitPushed:Pn(w,s)}});o.json({tasks:g})}),t.param("id",(a,o,i,s)=>{if(!bt(s)){o.status(400).json({error:"Invalid task id"});return}i()}),t.param("commentId",(a,o,i,s)=>{if(!Ta(s)){o.status(400).json({error:"Invalid comment id"});return}i()}),t.get("/api/tasks/:id",(a,o)=>{let{id:i}=a.params,s=V(e,i),c=s?ve(s):null;if(!c){o.status(404).json({error:"Task not found"});return}let u=Nn(e),g=c.commits?.length?c.commits[c.commits.length-1].sha:void 0;o.json({...c,commitPushed:Pn(g,u)})}),t.post("/api/tasks",(a,o)=>{let{title:i,description:s,selector:c,cssSelector:u,url:g,type:p,priority:w,file:_,line:z,col:$,component:M,status:d,agent:m,model:b,screenshot:R,annotatedElementText:y,tags:E,sortKey:L}=a.body;if(!i||!c){o.status(400).json({error:"Missing required fields: title, selector"});return}let I=ie(e),N=_e(e,{title:i,description:s||"",selector:c,cssSelector:u||void 0,url:g||void 0,status:Ea.includes(d)?d:"todo",file:_||void 0,line:z==null?void 0:Number(z),col:$==null?void 0:Number($),component:M||void 0,type:p||void 0,priority:w||void 0,author:I.name,agent:m||void 0,model:b||void 0,annotatedElementText:y?String(y).slice(0,300):void 0,tags:Array.isArray(E)?E.filter(C=>typeof C=="string"&&C.length>0):void 0,sortKey:L?String(L):void 0});if(R){let C=Q(e,Z,Le);En(C,{recursive:!0});let h=`${N.id}.png`;jn(Q(C,h),Buffer.from(R,"base64")),q(e,N.id,{screenshot:h}),N.screenshot=h}console.log(`[Vibeflow] Task created: "${N.title}" (${N.id})`),n({type:"tasks-updated"}),o.json({success:!0,task:N})}),t.patch("/api/tasks/:id",(a,o)=>{let{id:i}=a.params,s=new Set(["status","title","description","type","priority","reportBack","agent","model","tags","sortKey","branchName"]),c=Object.fromEntries(Object.entries(a.body).filter(([g])=>s.has(g)));if(c.status!==void 0&&!J.includes(c.status)){o.status(400).json({error:`Invalid status: ${c.status}`});return}if(c.status==="review"){let g=ve(V(e,i)??"");if(g&&(g.type??"").toLowerCase()==="research"&&!ee(e,i).some(_=>/\.md$/i.test(_.name))){o.status(422).json({error:"RESEARCH_REPORT_REQUIRED"});return}}let u=q(e,i,c);if(!u){o.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task updated: "${u.title}" (${u.id}) \u2192 status:${u.status}`),n({type:"task-changed",taskId:u.id,action:"update",task:{...u,fileCount:Ce(e,u.id)}}),o.json({success:!0,task:u})}),t.delete("/api/tasks/:id",(a,o)=>{let{id:i}=a.params;if(!Fe(e,i)){o.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task deleted: ${i}`),n({type:"task-deleted",taskId:i}),o.json({success:!0})}),t.get("/api/tasks/:id/comments",(a,o)=>{let{id:i}=a.params,s=oe(e,i);o.json({comments:s})}),t.post("/api/tasks/:id/comments",(a,o)=>{let{id:i}=a.params,{author:s,text:c,files:u,source:g}=a.body;if(!c||!c.trim()){o.status(400).json({error:"Missing required field: text"});return}let p=s==="agent"?"agent":"user",w=g==="cli"?"cli":"web",_=ye(e,i,p,c.trim(),Array.isArray(u)?u:void 0,void 0,w);ge(n,i),o.json({success:!0,comment:_})}),t.patch("/api/tasks/:id/comments/:commentId",(a,o)=>{let{id:i,commentId:s}=a.params,{text:c}=a.body;if(!c||!c.trim()){o.status(400).json({error:"Missing required field: text"});return}let u=Ue(e,i,s,c.trim());if(!u){o.status(404).json({error:"Comment not found"});return}ge(n,i),o.json({success:!0,comment:u})}),t.delete("/api/tasks/:id/comments/:commentId",(a,o)=>{let{id:i,commentId:s}=a.params;if(!We(e,i,s)){o.status(404).json({error:"Comment not found"});return}ge(n,i),o.json({success:!0})}),t.get("/api/tasks/:id/files",(a,o)=>{let{id:i}=a.params,s=ee(e,i);o.json({files:s})}),t.get("/api/tasks/:id/files/:filename",(a,o)=>{let{id:i,filename:s}=a.params;if(!Be(s)){o.status(400).json({error:"Invalid filename"});return}let c=Pt(e,i,s);if(!c){o.status(404).json({error:"File not found"});return}o.sendFile(c)}),t.post("/api/tasks/:id/files/:filename",me.raw({type:"*/*",limit:"50mb"}),(a,o)=>{let{id:i,filename:s}=a.params;if(!Be(s)){o.status(400).json({error:"Invalid filename"});return}if(!It(s)){o.status(415).json({error:"File type not allowed"});return}let c=a.body;if(!Buffer.isBuffer(c)||c.length===0){o.status(400).json({error:"Empty file body"});return}let u=He(e,i,s,c);ge(n,i),o.json({success:!0,file:u})}),t.delete("/api/tasks/:id/files/:filename",(a,o)=>{let{id:i,filename:s}=a.params;if(!Be(s)){o.status(400).json({error:"Invalid filename"});return}if(!Nt(e,i,s)){o.status(404).json({error:"File not found"});return}ye(e,i,"user",`\u{1F5D1}\uFE0F File removed: \`${s}\``,void 0,"system","web"),ge(n,i),o.json({success:!0})});let l=Q(e,Z,Le);t.post("/api/tasks/:id/screenshot",me.json(),(a,o)=>{let{id:i}=a.params,{screenshot:s}=a.body;if(!V(e,i)){o.status(404).json({error:"Task not found"});return}if(!s){o.status(400).json({error:"Missing screenshot"});return}En(l,{recursive:!0});let c=`${i}.png`;jn(Q(l,c),Buffer.from(s,"base64")),q(e,i,{screenshot:c}),ge(n,i),o.json({success:!0,screenshot:c})}),t.delete("/api/tasks/:id/screenshot",(a,o)=>{let{id:i}=a.params;if(!V(e,i)){o.status(404).json({error:"Task not found"});return}let s=`${i}.png`,c=Q(l,s);mt(c)&&On(c),q(e,i,{screenshot:void 0}),ge(n,i),o.json({success:!0})}),t.post("/api/tasks/:id/auth-state",me.json(),async(a,o)=>{let{id:i}=a.params,{authState:s,taskAuthor:c}=a.body;if(!V(e,i)){o.status(404).json({error:"Task not found"});return}if(!s||!c){o.status(400).json({error:"Missing required fields: authState, taskAuthor"});return}try{let g=Lt(s,c);q(e,i,{authStateEnc:JSON.stringify(g)}),console.log(`[Vibeflow] Auth state stored for task ${i}`),o.json({success:!0})}catch(g){let p=g instanceof Error?g.message:String(g);console.error(`[Vibeflow] Failed to store auth state for ${i}: ${p}`),o.status(500).json({error:"Failed to store auth state"})}}),t.post("/api/tasks/:id/baseline",me.json(),(a,o)=>{let{id:i}=a.params,{baseline:s}=a.body;if(!V(e,i)){o.status(404).json({error:"Task not found"});return}if(!s||!s.selector||!s.outerHTML){o.status(400).json({error:"Missing required fields: baseline.selector, baseline.outerHTML"});return}try{let c="baseline-element.json";He(e,i,c,Buffer.from(JSON.stringify(s,null,2))),q(e,i,{baselineElementFile:c}),console.log(`[Vibeflow] Baseline snapshot stored for task ${i} (${c})`),o.json({success:!0})}catch(c){let u=c instanceof Error?c.message:String(c);console.error(`[Vibeflow] Failed to store baseline for ${i}: ${u}`),o.status(500).json({error:"Failed to store baseline"})}}),t.post("/api/tasks/:id/baseline-page",me.json({limit:"10mb"}),(a,o)=>{let{id:i}=a.params,{page:s}=a.body;if(!V(e,i)){o.status(404).json({error:"Task not found"});return}if(!s||s.version!==1||!s.elements){o.status(400).json({error:"Missing required fields: page.version, page.elements"});return}try{let c="baseline-page.json";He(e,i,c,Buffer.from(JSON.stringify(s,null,2))),q(e,i,{baselineFile:c}),console.log(`[Vibeflow] Page baseline stored for task ${i} (${c})`),o.json({success:!0})}catch(c){let u=c instanceof Error?c.message:String(c);console.error(`[Vibeflow] Failed to store page baseline for ${i}: ${u}`),o.status(500).json({error:"Failed to store page baseline"})}})}function Fn(t,e,n){t.get("/api/user",(l,a)=>{a.json(ie(e))}),t.get("/api/settings",(l,a)=>{a.json(Y(e))}),t.post("/api/settings",(l,a)=>{if(!ja(l,a))return;let o=new Set(["visibleCols","viewMode","panelWidth","autoCommit","autoComment","autoPush","createBranch","requireVerifyBeforeReview"]),i=Object.fromEntries(Object.entries(l.body).filter(([c])=>o.has(c))),s=Et(e,i);a.json({success:!0,settings:s})}),t.get("/api/push/workspaces",async(l,a)=>{let o=await ue().catch(()=>null);if(!o){a.status(401).json({error:"Not logged in"});return}let i=process.env.VIBEFLOW_API_URL??"http://localhost:3000";try{let s=await fetch(`${i}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${o}`}});if(!s.ok){let u=(await s.json().catch(()=>({}))).error??`HTTP ${s.status} from ${i}`;console.error(`[Vibeflow] GET /api/push/workspaces failed: ${u}`),a.status(s.status).json({error:u});return}a.json(await s.json())}catch(s){let c=s instanceof Error?s.message:String(s);console.error(`[Vibeflow] GET /api/push/workspaces network error: ${c}`),a.status(502).json({error:`Network error contacting SaaS API: ${c}`})}}),t.post("/api/push",me.json(),async(l,a)=>{let{workspaceId:o,keepLocalFiles:i}=l.body,s=await ue().catch(()=>null);if(!s){a.status(401).json({error:"Not logged in"});return}let c=ce(e);if(c.length===0){a.json({imported:0,message:"No local tasks found"});return}let u=process.env.VIBEFLOW_API_URL??"http://localhost:3000",g={tasks:c};try{let p=await fetch(`${u}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`},body:JSON.stringify(g)});if(!p.ok){let _=await p.json().catch(()=>({}));a.status(p.status).json({error:_.error??"Import failed"});return}let w=await p.json();if(!i){for(let _ of c)try{On(_.filePath)}catch{}n&&ge(n)}a.json({imported:w.imported,skipped:w.skipped??0,workspaceId:w.workspaceId,boardId:w.boardId})}catch(p){let w=p instanceof Error?p.message:String(p);console.error(`[Vibeflow] POST /api/push network error: ${w}`),a.status(502).json({error:`Network error contacting SaaS API: ${w}`})}}),t.get("/api/github-url",(l,a)=>{try{let o=An("git remote get-url origin",{cwd:e,timeout:3e3}).toString().trim(),i=o.match(/^git@github\.com:(.+?)(?:\.git)?$/);if(i){a.json({githubUrl:`https://github.com/${i[1]}`});return}let s=o.match(/^(https?:\/\/github\.com\/[^/]+\/[^/]+?)(?:\.git)?$/);if(s){a.json({githubUrl:s[1]});return}}catch{}a.json({githubUrl:null})})}function Bn(t,e){let n=process.env.VIBEFLOW_ADMIN_EMAIL??"",l=process.env.VIBEFLOW_API_URL??"http://localhost:3000";t.get("/kanban",async(a,o)=>{let i=await ue().catch(()=>null);if(!i){o.type("html").send(ut({port:e,cliVersion:In}));return}let s=await de().catch(()=>null),c=!1;if(n)try{let g=await fetch(`${l}/api/cli/profile`,{headers:{Authorization:`Bearer ${i}`}}).catch(()=>null);g?.ok&&(c=(await g.json()).email===n)}catch{}let u={port:e,cliVersion:In,saasMode:!0,boardUrl:s?.url??`${l}/kanban`,boardName:s?.name,isAdmin:c};o.type("html").send(ut(u))})}var Na=`*{box-sizing:border-box;margin:0;padding:0}
|
|
1722
1722
|
body{font-family:system-ui,sans-serif;background:#0f172a;color:#e2e8f0;padding:32px;max-width:700px;margin:0 auto}
|
|
1723
1723
|
h1{font-size:22px;font-weight:700;color:#f1f5f9;margin-bottom:6px}
|
|
1724
1724
|
h2{font-size:14px;font-weight:600;color:#94a3b8;margin:24px 0 8px;text-transform:uppercase;letter-spacing:.06em}
|
|
@@ -1756,29 +1756,29 @@ ${e.join(`
|
|
|
1756
1756
|
<pre>${gt(s)}</pre>
|
|
1757
1757
|
<div class="note">Requires the proto server to be running at port ${e}. Works without the Chrome extension.</div></div>`,`<h2>Option 3 \u2014 Browser console</h2>
|
|
1758
1758
|
<div class="card"><p>Open browser DevTools console and paste:</p>
|
|
1759
|
-
<pre>var s=document.createElement('script');s.src='${o}';s.setAttribute('data-vibeflow-overlay','');${a?`s.setAttribute('data-board-id','${a}');`:""}document.head.appendChild(s);</pre></div>`,'<div class="note" style="margin-top:20px">\u2699\uFE0F <strong>CSP note:</strong> If your app sets a strict Content-Security-Policy, use the Chrome extension instead \u2014 it bypasses CSP by injecting in the main world.</div>']))})}function Un(t,e,n){t.use("/trpc",Ca({router:Cn,createContext:()=>({projectDir:e,broadcast:n})}))}function Wn(t){t.use((e,n,l,a)=>{console.error("[Vibeflow] Unhandled error:",e.message),l.status(500).json({error:"Internal server error"})})}function La(t){t.use((e,n,l)=>{let a=e.headers.origin??"*",o=/^https?:\/\/localhost(:\d+)?$/i.test(a)||/^https?:\/\/127\.0\.0\.1(:\d+)?$/i.test(a);if(n.setHeader("Access-Control-Allow-Origin",o?a:"http://localhost:3700"),n.setHeader("Access-Control-Allow-Methods","GET, POST, PATCH, DELETE, OPTIONS"),n.setHeader("Access-Control-Allow-Headers","Content-Type"),e.method==="OPTIONS"){n.status(204).end();return}l()})}function Oa(t){t.disable("x-powered-by"),t.use((e,n,l)=>{n.setHeader("Content-Security-Policy",["default-src 'self'","script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: https://cdn.tailwindcss.com https://unpkg.com","style-src 'self' 'unsafe-inline' https://fonts.googleapis.com","font-src 'self' https://fonts.gstatic.com","img-src 'self' data: blob:","connect-src 'self' ws://localhost:* ws://127.0.0.1:* wss://localhost:* wss://127.0.0.1:*","frame-ancestors 'none'","object-src 'none'","base-uri 'self'","form-action 'self'","worker-src 'self' blob:"].join("; ")),n.setHeader("Permissions-Policy","camera=(), microphone=(), geolocation=()"),n.setHeader("X-Content-Type-Options","nosniff"),n.setHeader("X-Frame-Options","DENY"),n.setHeader("Referrer-Policy","strict-origin-when-cross-origin"),n.setHeader("Cross-Origin-Embedder-Policy","unsafe-none"),n.setHeader("Cross-Origin-Opener-Policy","same-origin"),l()})}function
|
|
1759
|
+
<pre>var s=document.createElement('script');s.src='${o}';s.setAttribute('data-vibeflow-overlay','');${a?`s.setAttribute('data-board-id','${a}');`:""}document.head.appendChild(s);</pre></div>`,'<div class="note" style="margin-top:20px">\u2699\uFE0F <strong>CSP note:</strong> If your app sets a strict Content-Security-Policy, use the Chrome extension instead \u2014 it bypasses CSP by injecting in the main world.</div>']))})}function Un(t,e,n){t.use("/trpc",Ca({router:Cn,createContext:()=>({projectDir:e,broadcast:n})}))}function Wn(t){t.use((e,n,l,a)=>{console.error("[Vibeflow] Unhandled error:",e.message),l.status(500).json({error:"Internal server error"})})}function La(t){t.use((e,n,l)=>{let a=e.headers.origin??"*",o=/^https?:\/\/localhost(:\d+)?$/i.test(a)||/^https?:\/\/127\.0\.0\.1(:\d+)?$/i.test(a);if(n.setHeader("Access-Control-Allow-Origin",o?a:"http://localhost:3700"),n.setHeader("Access-Control-Allow-Methods","GET, POST, PATCH, DELETE, OPTIONS"),n.setHeader("Access-Control-Allow-Headers","Content-Type"),e.method==="OPTIONS"){n.status(204).end();return}l()})}function Oa(t){t.disable("x-powered-by"),t.use((e,n,l)=>{n.setHeader("Content-Security-Policy",["default-src 'self'","script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: https://cdn.tailwindcss.com https://unpkg.com","style-src 'self' 'unsafe-inline' https://fonts.googleapis.com","font-src 'self' https://fonts.gstatic.com","img-src 'self' data: blob:","connect-src 'self' ws://localhost:* ws://127.0.0.1:* wss://localhost:* wss://127.0.0.1:*","frame-ancestors 'none'","object-src 'none'","base-uri 'self'","form-action 'self'","worker-src 'self' blob:"].join("; ")),n.setHeader("Permissions-Policy","camera=(), microphone=(), geolocation=()"),n.setHeader("X-Content-Type-Options","nosniff"),n.setHeader("X-Frame-Options","DENY"),n.setHeader("Referrer-Policy","strict-origin-when-cross-origin"),n.setHeader("Cross-Origin-Embedder-Policy","unsafe-none"),n.setHeader("Cross-Origin-Opener-Policy","same-origin"),l()})}function qn(){let t=me();La(t),Oa(t),t.use(me.json({limit:"10mb"}));let e=ka(t),n=new Sa({server:e}),l=a=>{let o=JSON.stringify(a);for(let i of n.clients)i.readyState===_a.OPEN&&i.send(o)};return n.on("connection",a=>{a.on("message",o=>{try{JSON.parse(o.toString()).type==="ping"&&a.send(JSON.stringify({type:"pong"}))}catch{}})}),{app:t,httpServer:e,wss:n,broadcast:l}}async function Aa(t,e){let n=e._testToken===void 0?await ue().catch(()=>null):e._testToken,l=e._testWorkspace===void 0?n?await de().catch(()=>null):null:e._testWorkspace,a=!!(n&&l),{app:o,httpServer:i,wss:s,broadcast:c}=qn(),u=Ra(l?.url)??process.env.VIBEFLOW_API_URL??"http://localhost:3000";if(a){o.use(["/api/tasks","/api/push","/trpc"],(w,_)=>{_.status(503).json({error:"Online mode active \u2014 local task API is disabled. All task operations go through the SaaS backend."})});let p=hn(u);o.get("/vibeflow-overlay.js",(w,_)=>{_.type("application/javascript").send(p)})}else{he(t);let p=lt(e.port);o.get("/vibeflow-overlay.js",(_,z)=>{z.type("application/javascript").send(p)});let w=Q(t,Z,Le);o.get("/screenshots/:filename",(_,z)=>{let{filename:$}=_.params,M=se($,".png");if(!bt(M)){z.status(400).end();return}let d=Q(w,`${M}.png`);if(!mt(d)){z.status(404).end();return}z.sendFile(d)}),Dn(o,[]),$n(o,t,c),Un(o,t,c),Fn(o,t,c),mn(o,t,"local")}Bn(o,e.port),Hn(o,e.port,a?l?.id:void 0,a?u:void 0);let g=a?null:Ae(Q(t,Z,Pe),{onChanged:p=>{let w=ve(p);c(w?{type:"task-changed",taskId:w.id,action:"update",task:w,source:"cli"}:{type:"tasks-updated"})},onDeleted:p=>{let w=se(p,".json");c({type:"task-deleted",taskId:w})}});return Wn(o),new Promise((p,w)=>{let _=e.host??"localhost";i.listen(e.port,_,()=>{let $=`http://${_==="0.0.0.0"?zn()??"localhost":_}:${e.port}`,M=_==="0.0.0.0"?`http://localhost:${e.port}`:null,d=f.dim(" "+"\u2500".repeat(62));if(console.log(),console.log(f.green(" \u2713 Vibeflow running")+f.dim(" \xB7 ")+f.cyan($)),M&&console.log(f.dim(" Local: ")+f.cyan(M)),console.log(d),a){console.log(f.dim(" Mode: ")+f.green("\u25CF Online")+f.dim(" \u2014 connected to Vibeflow SaaS")),console.log(f.dim(" Board: ")+f.white(l.name??"your board")),console.log(f.dim(" Web: ")+f.cyan(l.url)),console.log(d),console.log(f.dim(" Overlay script: ")+f.cyan(`${$}/vibeflow-overlay.js`));let m=pe(M,"/vibeflow-overlay.js",19);m&&console.log(m),console.log(),console.log(f.dim(" \u250C\u2500 Add to your HTML ")+f.dim("\u2500".repeat(43)+"\u2510")),console.log(f.dim(" \u2502 ")+f.yellow(`<script src="${$}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)+f.dim(" \u2502")),M&&console.log(f.dim(" \u2502 or: ")+f.yellow(`<script src="${M}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)+f.dim(" \u2502")),console.log(f.dim(" \u2502 ")+f.dim("Or drag the bookmarklet: ")+f.cyan(`${$}/inject`)+f.dim(" \u2502")),M&&console.log(f.dim(" \u2502 or: ")+f.cyan(`${M}/inject`)+f.dim(" \u2502")),console.log(f.dim(" \u2514"+"\u2500".repeat(63)+"\u2518"))}else{console.log(f.dim(" Mode: ")+f.yellow("\u25CE Local")+f.dim(" \u2014 no account needed")),console.log(d),console.log(f.bold.white(" BOARDS & APIS")),console.log(f.dim(" Kanban board ")+f.cyan(`${$}/kanban`));let m=pe(M,"/kanban",18);m&&console.log(m),console.log(f.dim(" Task API ")+f.cyan(`${$}/api/tasks`));let b=pe(M,"/api/tasks",18);b&&console.log(b),console.log(d),console.log(f.bold.white(" INTEGRATE INTO YOUR APP")+f.dim(` (full guide: ${$}/inject)`));let R=pe(M,"/inject",40);R&&console.log(R),console.log(f.dim(" 1. Add this script tag to your HTML:")),console.log(f.dim(" ")+f.yellow(`<script src="${$}/vibeflow-overlay.js" data-vibeflow-overlay></script>`));let y=Mn(M,5);y&&console.log(y),console.log(f.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(f.dim(" 3. Click anything to annotate it.")),console.log(d),console.log(f.dim(" Bookmarklet \u2014 no code changes needed:")),console.log(f.dim(" Visit and drag the bookmarklet from ")+f.cyan(`${$}/inject`)+f.dim(" to your bookmarks bar."));let E=pe(M,"/inject",2,"or: ");E&&console.log(E)}console.log(),e.noCtrlCHint||(console.log(f.dim(" Press Ctrl+C to stop")),console.log()),p({url:$,localUrl:M,close:async()=>{g&&await g.close(),at(),s.close(),await new Promise(m=>i.close(()=>m()))}})}),i.on("error",w)})}async function ht(t,e){if(!t)return Aa(e.projectDir??process.cwd(),e);if(t.startsWith("http://")||t.startsWith("https://"))throw new Error(`Proxy mode is no longer supported.
|
|
1760
1760
|
To annotate an existing app, run: proto serve (API-only mode)
|
|
1761
|
-
Then install the Chrome extension and navigate to your app.`);let n=va(t),a=ha(n).isDirectory(),o=a?ba(n).filter(d=>ya(d)===".html").map(d=>
|
|
1761
|
+
Then install the Chrome extension and navigate to your app.`);let n=va(t),a=ha(n).isDirectory(),o=a?ba(n).filter(d=>ya(d)===".html").map(d=>Q(n,d)):[n];if(o.length===0)throw new Error("No HTML files found at "+t);let i=a?n:xa(n);he(i);let{app:s,httpServer:c,wss:u,broadcast:g}=qn(),p=e.noOverlay?null:lt(e.port);p&&s.get("/vibeflow-overlay.js",(d,m)=>{m.type("application/javascript").send(p)});let w=Q(i,Z,Le);s.get("/screenshots/:filename",(d,m)=>{let{filename:b}=d.params,R=se(b,".png");if(!bt(R)){m.status(400).end();return}let y=Q(w,`${R}.png`);if(!mt(y)){m.status(404).end();return}m.sendFile(y)}),a&&s.get("/",(d,m)=>{let b=o.map(R=>{let y=se(R);return`<li><a href="/${y}">${y}</a></li>`}).join(`
|
|
1762
1762
|
`);m.send(`<!DOCTYPE html><html><head><title>Vibeflow Studio</title>
|
|
1763
1763
|
<style>body{font-family:system-ui;max-width:600px;margin:40px auto;padding:0 20px}
|
|
1764
1764
|
a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}
|
|
1765
1765
|
li{margin:8px 0}</style></head>
|
|
1766
1766
|
<body><h1>Vibeflow Studio</h1>
|
|
1767
1767
|
<p>Select a prototype to review:</p>
|
|
1768
|
-
<ul>${b}</ul></body></html>`)});for(let d of o){let m=a?`/${se(d)}`:"/";s.get(m,(b,R)=>{let y=ma(d,"utf-8"),
|
|
1768
|
+
<ul>${b}</ul></body></html>`)});for(let d of o){let m=a?`/${se(d)}`:"/";s.get(m,(b,R)=>{let y=ma(d,"utf-8"),E=p?bn(y,p):y;R.type("html").send(E)})}let _=o.map(d=>`/${se(d)}`);Dn(s,a?_:[]),$n(s,i,g),Un(s,i,g),Fn(s,i,g),Bn(s,e.port),Hn(s,e.port);let z=null;z=ot(n,{onChange:d=>{let m=se(d);console.log(f.dim(` File changed: ${m}`)),g({type:"reload",file:m})}});let $=Q(i,Z,Pe),M=Ae($,{onChanged:d=>{let m=ve(d);g(m?{type:"task-changed",taskId:m.id,action:"update",task:m,source:"cli"}:{type:"tasks-updated"})},onDeleted:d=>{let m=se(d,".json");g({type:"task-deleted",taskId:m})}});return Wn(s),new Promise((d,m)=>{let b=e.host??"localhost";c.listen(e.port,b,()=>{let y=`http://${b==="0.0.0.0"?zn()??"localhost":b}:${e.port}`,E=b==="0.0.0.0"?`http://localhost:${e.port}`:null,L=f.dim(" "+"\u2500".repeat(62));console.log(),console.log(f.green(" \u2713 Vibeflow running")+f.dim(" \xB7 ")+f.cyan(y)),E&&console.log(f.dim(" Local: ")+f.cyan(E)),console.log(L);for(let S of o){let x=a?`/${se(S)}`:"/";console.log(f.dim(" File: ")+f.cyan(`${y}${x}`)+f.dim(` (${se(S)})`));let k=pe(E,x,17);k&&console.log(k)}console.log(f.dim(" Kanban board: ")+f.cyan(`${y}/kanban`));let I=pe(E,"/kanban",17);I&&console.log(I),console.log(f.dim(" Task API: ")+f.cyan(`${y}/api/tasks`));let N=pe(E,"/api/tasks",17);N&&console.log(N),console.log(L),console.log(f.bold.white(" INTEGRATE INTO YOUR APP")+f.dim(` (full guide: ${y}/inject)`));let C=pe(E,"/inject",40);C&&console.log(C),console.log(f.dim(" 1. Add this script tag to your HTML:")),console.log(f.dim(" ")+f.yellow(`<script src="${y}/vibeflow-overlay.js" data-vibeflow-overlay></script>`));let h=Mn(E,5);h&&console.log(h),console.log(f.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(f.dim(" 3. Click anything to annotate it.")),console.log(),console.log(f.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(S=>S.default(y)).catch(()=>{}),d({url:y,localUrl:E,close:async()=>{at(),z&&await z.close(),await M.close(),u.close(),await new Promise(S=>c.close(()=>S()))}})}),c.on("error",m)})}async function xe(){return await ue()?"saas":"local"}import za from"chalk";async function Vn(){await Promise.all([zt(),Mt()]),console.log(za.green(" Logged out. Now operating in local mode."))}import H from"chalk";import{basename as Kn,resolve as Ma,join as Da}from"path";import{existsSync as $a,statSync as Fa}from"fs";function Ba(t,e){return t===void 0?"new":t!=="todo"&&e==="todo"?"moved-to-todo":null}function Ha(t,e){try{let n=ce(t).find(i=>i.id===e);if(!n)return null;let l=Te(t),a=oe(t,e),o=ee(t,e).map(i=>({...i,url:`http://localhost:${l.port}${i.url}`}));return Oe(n,n.filePath,a,o,t)}catch{return null}}function Yn(t){let e=Ma(t);if(!$a(e)){console.error(H.red(` Error: directory does not exist: ${e}`)),process.exitCode=A.USAGE;return}if(!Fa(e).isDirectory()){console.error(H.red(` Error: not a directory: ${e}`)),process.exitCode=A.USAGE;return}he(e);let n=Da(e,Z,Pe),l=new Map;for(let i of ce(e))l.set(i.id,i.status);let a=(i,s)=>{try{let c=Ha(e,s);if(!c)return;console.log(),console.log(i==="new"?H.green.bold("\u{1F195} NEW TASK"):H.blue.bold("\u25B6 MOVED TO TODO")),console.log(H.dim("\u2500".repeat(62)));for(let u of c.split(`
|
|
1769
1769
|
`))console.log(H.dim(u));console.log(H.dim("\u2500".repeat(62)))}catch(c){console.error(H.red(` Error rendering task ${s}:`),c)}},o=Ae(n,{onChanged:i=>{try{let s=ve(i);if(!s)return;let c=l.get(s.id),u=Ba(c,s.status);l.set(s.id,s.status),u&&a(u,s.id)}catch(s){console.error(H.red(` Error processing ${Kn(i)}:`),s)}},onDeleted:i=>{l.delete(Kn(i,".json"))}});o.on("error",i=>{console.error(H.red(" Watcher error:"),i)}),console.log(),console.log(H.bold(" Vibeflow \u2014 watching for task updates")),console.log(H.dim(` ${n}`)),console.log(H.dim(" Notifies on: new tasks, tasks moved to todo.")),console.log(H.dim(" Press Ctrl+C to stop.")),console.log(),process.once("SIGINT",()=>{o.close().then(()=>{console.log(H.dim(`
|
|
1770
|
-
Watch stopped.`)),process.exit(0)},()=>process.exit(0))}),process.once("SIGTERM",()=>{o.close().then(()=>process.exit(0),()=>process.exit(0))})}import Ke from"chalk";function
|
|
1770
|
+
Watch stopped.`)),process.exit(0)},()=>process.exit(0))}),process.once("SIGTERM",()=>{o.close().then(()=>process.exit(0),()=>process.exit(0))})}import Ke from"chalk";function Qn(t={}){let e=Ve(Ee()??"",t);if(!e){console.log(Ke.dim(" No changelog found for this installation."));return}console.log(),console.log(e),console.log(),t.all||(console.log(Ke.dim(" Run ")+Ke.cyan("vibeflow changelog --all")+Ke.dim(" to see every release.")),console.log())}import{readdirSync as Ua,unlinkSync as Wa,existsSync as qa,statSync as Va}from"fs";import{join as Gn}from"path";var Xn="auth-state.",Jn=".enc";function Zn(t){let e=Gn(t,Z);if(!qa(e))return[];try{return Ua(e).filter(n=>n.startsWith(Xn)&&n.endsWith(Jn)).map(n=>Gn(e,n))}catch{return[]}}function er(t){let e=Zn(t),n=0;for(let l of e)try{Wa(l),n++}catch{}return n}function tr(t){let e=Zn(t),n=[];for(let l of e){let o=(l.split("/").pop()??"").slice(Xn.length,-Jn.length);if(!o)continue;let i="unknown";try{let s=Va(l),c=Date.now()-s.mtimeMs,u=Math.floor(c/(1e3*60*60));u<1?i=`${Math.floor(c/6e4)}m`:u<24?i=`${u}h`:i=`${Math.floor(u/24)}d`}catch{}n.push({taskId:o,path:l,age:i})}return n}import{readFileSync as ir,existsSync as lr}from"fs";import{join as sr}from"path";import{resolve as Ka}from"path";function rr(t,e){let n=[];for(let[l,a]of Object.entries(e.elements)){let o=t.elements[l];if(!o)continue;let i=o.childCount,s=a.childCount;if(i===s)continue;let c=[],u=Math.max(0,s-i);if(i>s){let p=new Set(o.childSignature),w=new Set(a.childSignature);for(let _ of p)w.has(_)||c.push(_)}let g=[`children: ${i} \u2192 ${s}`,c.length?`removed: ${c.join(", ")}`:"",u?`added: ${u} element(s)`:""].filter(Boolean).join("; ");n.push({selector:a.selector,details:g})}return{queryType:"children",matches:n}}function ar(t,e){let n=[];for(let[l,a]of Object.entries(e.elements)){let o=t.elements[l];o&&o.text!==a.text&&n.push({selector:a.selector,details:`text: "${nr(o.text,60)}" \u2192 "${nr(a.text,60)}"`})}return{queryType:"text",matches:n}}function or(t,e){let n=[];for(let[l,a]of Object.entries(e.elements)){let o=t.elements[l];if(!o)continue;let i=new Set([...Object.keys(o.dataAttrs),...Object.keys(a.dataAttrs)]),s=[];for(let c of i){let u=o.dataAttrs[c]??"",g=a.dataAttrs[c]??"";u!==g&&s.push(`${c}: "${u}" \u2192 "${g}"`)}s.length>0&&n.push({selector:a.selector,details:s.join("; ")})}return{queryType:"attributes",matches:n}}function nr(t,e){return t.length<=e?t:t.slice(0,e-1)+"\u2026"}var cr=new Set(["style_query","style_diff","element_info","html_diff","html_query"]);async function Ya(t,e){let n=Rt(t,e),l=p=>{let w=sr(n,p);if(!lr(w))return null;try{return JSON.parse(ir(w,"utf-8"))}catch{return null}},a=p=>{let w=sr(n,p);if(!lr(w))return null;try{return ir(w,"utf-8")}catch{return null}},o=l("baseline.json"),i=l("verify-after.json"),s=l("verify-diff.json"),c=a("verify-console.txt"),u=l("verify-all-styles.json"),g=l("baseline-page.json");if(u?.elements&&g?.elements)for(let[p,w]of Object.entries(u.elements)){let _=g.elements[p];_?.after&&(w.baseline=_.after)}return{taskId:e,baseline:o?.computedStyles??null,after:i?.computedStyles??null,diff:s?.stylesChanged??null,consoleText:c,baselineHtml:o?.outerHTML??null,afterHtml:i?.outerHTML??null,selector:i?.selector??null,position:i?.position??null,allStyles:u,pageBaseline:g}}function Qa(t,e){if(t.allStyles){let o=t.allStyles,i=[];for(let[,s]of Object.entries(o.elements)){let c=s.baseline?.[e]??null,u=s.after?.[e]??null;c!==u&&(c!==null||u!==null)&&i.push({selector:s.selector,tag:s.tag,childCount:s.childCount,from:c??"(not set)",to:u??"(not set)",isRelevant:!!(c==="hidden"&&u==="auto"||c==="visible"&&u==="auto"||c==="line-through"&&u==="none"||c==="none"&&u&&u!=="none")})}return{ok:!0,tool:"style_query",taskId:t.taskId,property:e,matches:i}}if(!t.after)return{ok:!1,error:"No verify-after.json found. Run 'vibeflow verify <task-id>' first."};let n=t.baseline?.[e]??t.baseline?.[vt(e)]??null,l=t.after?.[e]??t.after?.[vt(e)]??null,a=t.diff?.[e]!==void 0||t.diff?.[vt(e)]!==void 0;return{ok:!0,tool:"style_query",taskId:t.taskId,property:e,baseline:n,after:l,changed:a}}function Ga(t,e){if(!t.diff)return{ok:!1,error:"No verify-diff.json found. Run 'vibeflow verify <task-id>' first."};let n=Object.entries(t.diff),l=e?n.filter(([o])=>o.toLowerCase().includes(e.toLowerCase())):n,a=Object.fromEntries(l);return{ok:!0,tool:"style_diff",taskId:t.taskId,filter:e??null,total:n.length,matched:l.length,styles:a}}function Xa(t){if(!t.after)return{ok:!1,error:"No verify-after.json found. Run 'vibeflow verify <task-id>' first."};let e=t.consoleText&&!t.consoleText.includes("no console errors")&&t.consoleText.trim().length>0;return{ok:!0,tool:"element_info",taskId:t.taskId,selector:t.selector,position:t.position,consoleErrors:e?t.consoleText.split(`
|
|
1771
1771
|
`).filter(Boolean):[]}}function Ja(t){if(!t.afterHtml)return{ok:!1,error:"No after HTML found. Run 'vibeflow verify <task-id>' first."};let e=t.baselineHtml!==t.afterHtml;return{ok:!0,tool:"html_diff",taskId:t.taskId,htmlChanged:e,baselineChars:t.baselineHtml?.length??0,afterChars:t.afterHtml?.length??0,baselineHtml:t.baselineHtml,afterHtml:t.afterHtml}}async function ur(t,e,n,l={}){let a=Ka(t),o=n[0];if(!o){let u=`Usage: vibeflow verify ${e} <task-id> ${e==="style_query"?"<property>":""}`;l.json?console.log(JSON.stringify({ok:!1,error:u})):process.stderr.write(`\u2717 ${u}
|
|
1772
|
-
`),process.exitCode=1;return}if(!
|
|
1773
|
-
`),process.exitCode=1;return}let s=await Ya(a,o),c;switch(e){case"style_query":{let u=n[1];if(!u){c={ok:!1,error:"Usage: vibeflow verify style_query <task-id> <property>"};break}c=
|
|
1774
|
-
`);return}console.log(JSON.stringify(c,null,2))}}function Za(t,e){if(!t.allStyles)return{ok:!1,error:"No verify-all-styles.json found. Run 'vibeflow verify <task-id>' first."};let n=t.allStyles,l=t.pageBaseline?t.pageBaseline:{version:1,capturedAt:n.capturedAt,truncated:!1,elements:{}},a;switch(e){case"children":a=rr(l,n);break;case"text":a=ar(l,n);break;case"attributes":a=or(l,n);break}return{ok:!0,tool:"html_query",taskId:t.taskId,...a}}function vt(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}var yt="https://app.vibeflow.tools";function Ye(){let t=process.env.VIBEFLOW_API_URL??yt;try{let e=new URL(t);return e.protocol!=="https:"&&e.protocol!=="http:"?yt:t.replace(/\/+$/,"")}catch{return yt}}var eo={backlog:"backlog",todo:"todo","in-progress":"in_progress",review:"review",done:"done"},to={backlog:"backlog",todo:"todo",in_progress:"in-progress",review:"review",done:"done",cancelled:"done"};function fe(t){return to[t]??"todo"}function no(t){return eo[t]??"todo"}async function
|
|
1775
|
-
`))n.startsWith("Agent instructions")?console.log(r.bold(n)):n.startsWith(" \u26A0")?console.log(r.yellow(n)):n.startsWith(" CRITICAL:")?console.log(r.red(n)):console.log(r.dim(n))}var Tr=["Task","Bug","Feature","Enhancement","Research"];function U(t,e){switch(t){case"add":return["set status to in-progress before implementation","add a description"];case"set-status:in-progress":return["implement the change","run tests",`commit with vibeflow tasks --commit --task ${e} --message "..."`,"set review status"];case"set-status:review":return["only humans mark done after reviewing"];case"commit":return['set review status with vibeflow tasks --edit <id> --set-status review --comment "what changed and why"']}}function wt(t,e){if(e.length===0)return t;let n={};for(let l of e)l in t&&(n[l]=t[l]);return n}function re(t){let e=t.slice(0,3).join(", ");console.log(r.cyan(` \u2192 Next: ${e}`))}var
|
|
1772
|
+
`),process.exitCode=1;return}if(!V(a,o)){let u=`Task not found: ${o}`;l.json?console.log(JSON.stringify({ok:!1,error:u})):process.stderr.write(`\u2717 ${u}
|
|
1773
|
+
`),process.exitCode=1;return}let s=await Ya(a,o),c;switch(e){case"style_query":{let u=n[1];if(!u){c={ok:!1,error:"Usage: vibeflow verify style_query <task-id> <property>"};break}c=Qa(s,u);break}case"style_diff":c=Ga(s,l.filter);break;case"element_info":c=Xa(s);break;case"html_diff":c=Ja(s);break;case"html_query":{let u=n[1];if(!u||!["children","text","attributes"].includes(u)){c={ok:!1,error:"Usage: vibeflow verify html_query <task-id> children|text|attributes"};break}c=Za(s,u);break}default:c={ok:!1,error:`Unknown tool: ${e}`};break}if(l.json)console.log(JSON.stringify(c,null,2));else{if(!c.ok){process.stderr.write(`\u2717 ${c.error}
|
|
1774
|
+
`);return}console.log(JSON.stringify(c,null,2))}}function Za(t,e){if(!t.allStyles)return{ok:!1,error:"No verify-all-styles.json found. Run 'vibeflow verify <task-id>' first."};let n=t.allStyles,l=t.pageBaseline?t.pageBaseline:{version:1,capturedAt:n.capturedAt,truncated:!1,elements:{}},a;switch(e){case"children":a=rr(l,n);break;case"text":a=ar(l,n);break;case"attributes":a=or(l,n);break}return{ok:!0,tool:"html_query",taskId:t.taskId,...a}}function vt(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}var yt="https://app.vibeflow.tools";function Ye(){let t=process.env.VIBEFLOW_API_URL??yt;try{let e=new URL(t);return e.protocol!=="https:"&&e.protocol!=="http:"?yt:t.replace(/\/+$/,"")}catch{return yt}}var eo={backlog:"backlog",todo:"todo","in-progress":"in_progress",review:"review",done:"done"},to={backlog:"backlog",todo:"todo",in_progress:"in-progress",review:"review",done:"done",cancelled:"done"};function fe(t){return to[t]??"todo"}function no(t){return eo[t]??"todo"}async function Qe(){let t=await ue();return t?{Authorization:`Bearer ${t}`}:null}async function Ie(t){let e=await Qe();if(!e)return{ok:!1,error:{code:"NOT_AUTHENTICATED",message:"Not logged in"}};let n=Ye(),l=new URL(`${n}/api/cli/tasks`);t&&l.searchParams.set("boardId",t);try{let a=await fetch(l.toString(),{headers:e});return a.ok?{ok:!0,data:await a.json()}:{ok:!1,error:{code:"HTTP_ERROR",message:`HTTP ${a.status}`,status:a.status}}}catch(a){return{ok:!1,error:{code:"NETWORK_ERROR",message:a instanceof Error?a.message:String(a)}}}}async function dr(t){let e=await Ie();return e.ok?e.data.tasks.find(n=>n.id===t)??null:null}async function xt(t,e){let n=await Qe();if(!n)return{ok:!1,error:{code:"NOT_AUTHENTICATED",message:"Not logged in"}};let l={};e.status!==void 0&&(l.status=no(e.status)),e.title!==void 0&&(l.title=e.title),e.description!==void 0&&(l.description=e.description),e.priority!==void 0&&(l.priority=e.priority),e.branchName!==void 0&&(l.branchName=e.branchName);try{let a=await fetch(`${Ye()}/api/cli/tasks/${encodeURIComponent(t)}`,{method:"PATCH",headers:{...n,"Content-Type":"application/json"},body:JSON.stringify(l)});if(!a.ok)return{ok:!1,error:{code:"HTTP_ERROR",message:(await a.json().catch(()=>({}))).error??`HTTP ${a.status}`,status:a.status}};let o=await a.json();return{ok:!0,data:{task:o.task,warning:o.warning}}}catch(a){return{ok:!1,error:{code:"NETWORK_ERROR",message:a instanceof Error?a.message:String(a)}}}}async function pr(t,e){let n=await Qe();if(!n)return{ok:!1,error:{code:"NOT_AUTHENTICATED",message:"Not logged in"}};try{let l=await fetch(`${Ye()}/api/cli/tasks/${encodeURIComponent(t)}/comments`,{method:"POST",headers:{...n,"Content-Type":"application/json"},body:JSON.stringify({body:e})});return l.ok?{ok:!0,data:(await l.json()).comment}:{ok:!1,error:{code:"HTTP_ERROR",message:(await l.json().catch(()=>({}))).error??`HTTP ${l.status}`,status:l.status}}}catch(l){return{ok:!1,error:{code:"NETWORK_ERROR",message:l instanceof Error?l.message:String(l)}}}}async function fr(t){let e=await Qe();if(!e)return{ok:!1,error:{code:"NOT_AUTHENTICATED",message:"Not logged in"}};try{let n=await fetch(`${Ye()}/api/cli/tasks`,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify(t)});return n.ok?{ok:!0,data:(await n.json()).task}:{ok:!1,error:{code:"HTTP_ERROR",message:(await n.json().catch(()=>({}))).error??`HTTP ${n.status}`,status:n.status}}}catch(n){return{ok:!1,error:{code:"NETWORK_ERROR",message:n instanceof Error?n.message:String(n)}}}}import{readFileSync as Ir,existsSync as Rr,unlinkSync as vo}from"fs";import{resolve as B,join as yo,basename as kr}from"path";import r from"chalk";import{createHash as ro,randomUUID as ao}from"crypto";import{existsSync as oo,readFileSync as io,writeFileSync as lo,mkdirSync as so,renameSync as co}from"fs";import{join as gr}from"path";import mr from"os";import{PostHog as uo}from"posthog-node";var po="phc_C9AUV3rnayLfVvxgHtvj6AXcwsd8FKWUfJ9262zWsCvM",fo="https://eu.i.posthog.com";function br(){return gr(process.env.HOME??mr.homedir(),".vibeflow")}function hr(){return gr(br(),"config.json")}function Ge(){try{return JSON.parse(io(hr(),"utf-8"))}catch{return{}}}function vr(t){let e=br();oo(e)||so(e,{recursive:!0});let n=Ge(),l=hr(),a=l+".tmp";lo(a,JSON.stringify({...n,...t},null,2),"utf-8"),co(a,l)}function yr(){return process.env.VIBEFLOW_TELEMETRY==="0"?!1:Ge().disabled!==!0}function kt(t){vr({disabled:!t})}function xr(){let t=yr(),e=Ge();return{enabled:t,anonymousId:e.anonymousId??null}}function go(){let t=Ge();if(t.anonymousId)return t.anonymousId;let e=ao();return vr({anonymousId:e}),e}function mo(){let t=mr.userInfo().username;return ro("sha256").update(t).digest("hex").slice(0,16)}var Re=null;function bo(){return yr()?(Re||(Re=new uo(po,{host:fo,flushAt:1,flushInterval:0})),Re):null}function ne(t,e){let n=bo();if(!n)return;let l=go();n.capture({distinctId:l,event:t,properties:{...e,$user_id:mo()}})}async function G(){if(!Re)return;let t=Re;Re=null;try{await t.shutdown(2e3)}catch{}}function xo(t,e){let n=u=>u.replace(/[^0-9.]/g,"").split(".").map(Number),[l=0,a=0,o=0]=n(t),[i=0,s=0,c=0]=n(e);return l!==i?l>i:a!==s?a>s:o>c}var wr=!1;function ko(){if(!wr){wr=!0;try{let t=Ve(Ee()??"");t&&(console.log(t),console.log())}catch{}}}function wo(t=!0){let e="0.12.1";if(!e)return;let n="@vibeflow-tools/cli";import("https").then(({default:l})=>{let a=l.get(`https://registry.npmjs.org/${encodeURIComponent(n)}/latest`,{timeout:5e3},o=>{let i="";o.on("data",s=>{i+=s.toString()}),o.on("end",()=>{try{let{version:s}=JSON.parse(i);s&&xo(s,e)&&(console.log(),console.log(r.bgYellow.black.bold(` \u2191 Update available: ${e} \u2192 ${s} `)),console.log(r.dim(" Run: ")+r.cyan(`npm install -g ${n}@${s}`)+r.dim(" to update")),console.log(),t&&ko())}catch{}})});a.on("error",()=>{}),a.on("timeout",()=>{a.destroy()})}).catch(()=>{})}Dt();var we={backlog:r.gray,todo:r.yellow,"in-progress":r.blue,review:r.magenta,done:r.green},So=new Set(["Task","Bug","Research"]),Xe=J,ke=(t,e)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime();function Sr(t){let e=n=>t.filter(l=>l.status===n).length;return` Total: ${t.length} | Backlog: ${e("backlog")} | Todo: ${e("todo")} | In Progress: ${e("in-progress")} | Review: ${e("review")} | Done: ${e("done")}`}function _o(t){if(t){for(let e of So)if(e.toLowerCase()===t.toLowerCase())return e}}var _r=["in-progress","review","todo","backlog","done"];function Je(t){let e=_r.indexOf(t);return e===-1?_r.length:e}function Cr(t){try{return St("git",["push"],{cwd:t,stdio:"inherit"}),{ok:!0}}catch{try{let e=Er("git rev-parse --abbrev-ref HEAD",{cwd:t}).toString().trim();return St("git",["push","--set-upstream","origin",e],{cwd:t,stdio:"inherit"}),{ok:!0}}catch(e){return{ok:!1,error:(e instanceof Error?e.message:String(e)).slice(0,220)}}}}function Ne(t){let e=jt(t);for(let n of e.split(`
|
|
1775
|
+
`))n.startsWith("Agent instructions")?console.log(r.bold(n)):n.startsWith(" \u26A0")?console.log(r.yellow(n)):n.startsWith(" CRITICAL:")?console.log(r.red(n)):console.log(r.dim(n))}var Tr=["Task","Bug","Feature","Enhancement","Research"];function U(t,e){switch(t){case"add":return["set status to in-progress before implementation","add a description"];case"set-status:in-progress":return["implement the change","run tests",`commit with vibeflow tasks --commit --task ${e} --message "..."`,"set review status"];case"set-status:review":return["only humans mark done after reviewing"];case"commit":return['set review status with vibeflow tasks --edit <id> --set-status review --comment "what changed and why"']}}function wt(t,e){if(e.length===0)return t;let n={};for(let l of e)l in t&&(n[l]=t[l]);return n}function re(t){let e=t.slice(0,3).join(", ");console.log(r.cyan(` \u2192 Next: ${e}`))}var jr=t=>t.trim().toLowerCase();function Ze(t){if(t.json){let e={ok:!1,error:{code:t.code,message:t.message,retryable:t.retryable??!1,...t.suggestion?{suggestion:t.suggestion}:{}}};process.stderr.write(JSON.stringify(e)+`
|
|
1776
1776
|
`)}else process.stderr.write(r.red(`\u2717 ${t.message}
|
|
1777
1777
|
`)),t.suggestion&&process.stderr.write(r.dim(` ${t.suggestion}
|
|
1778
|
-
`))}function De(t,e){let n=
|
|
1778
|
+
`))}function De(t,e){let n=jr(e);return n?jr(t??"")===n:!0}function Co(t){return[...new Set(t.map(e=>e.author?.trim()).filter(e=>!!e))].sort((e,n)=>e.localeCompare(n))}function et(t){return Tr.map(e=>e.toLowerCase()).includes(t.toLowerCase())?!0:(console.log(r.red(`\u2717 Invalid type filter: "${t}"`)),console.log(r.yellow(` Available types: ${Tr.join(" | ")}`)),console.log(r.dim(" Type filter is exact (example: --type Bug)")),process.exitCode=A.USAGE,!1)}function Me(t,e){let n=Co(e);return n.length===0?(console.log(r.red("\u2717 Cannot filter by user: no task authors are available on this board.")),process.exitCode=A.USAGE,!1):n.some(l=>De(l,t))?!0:(console.log(r.red(`\u2717 User not found: "${t}"`)),console.log(r.yellow(` Available users: ${n.join(" | ")}`)),console.log(r.dim(" User filter is exact email match (case-insensitive).")),process.exitCode=A.USAGE,!1)}function To(t,e,n,l,a){let o=we[t.status]??r.white;if(console.log(` ${r.dim(`${n+1}.`)} ${o(`[${e.status}]`)} ${e.title}`),console.log(r.dim(` id: ${e.id}`)),console.log(r.dim(` file: ${t.filePath}`)),e.file&&console.log(r.dim(` source: ${e.file}${e.line==null?"":`:${e.line}`}${e.col==null?"":`:${e.col}`}`)),e.component&&console.log(r.dim(` component: ${e.component}`)),console.log(r.dim(` selector: ${e.selector}`)),t.cssSelector&&console.log(r.dim(` css: ${t.cssSelector}`)),e.url&&console.log(r.dim(` url: ${e.url}`)),t.screenshot&&console.log(r.dim(` screenshot: http://localhost:${l}/screenshots/${t.screenshot}`)),t.commits&&t.commits.length>0)if(t.commits.length===1)console.log(r.dim(` commit: ${t.commits[0].sha}`));else{console.log(r.dim(` commits (${t.commits.length}):`));for(let i of t.commits)console.log(r.dim(` ${i.sha.slice(0,8)} ${i.timestamp} ${i.message.slice(0,60)}`))}if(t.branchName&&console.log(r.dim(` branch: ${t.branchName}`)),console.log(r.dim(` created: ${e.created}`)),e.type&&console.log(r.dim(` type: ${e.type}`)),e.priority&&console.log(r.dim(` priority: ${e.priority}`)),e.description){console.log(r.dim(" description:"));for(let i of e.description.split(`
|
|
1779
1779
|
`))console.log(r.dim(` ${i}`))}if(e.structuredComments&&e.structuredComments.length>0){console.log(r.dim(` comments (${e.structuredComments.length}):`));for(let i of e.structuredComments){let s=i.updatedAt?` (edited ${i.updatedAt})`:"";console.log(r.dim(` [${i.author??"agent"}] ${i.createdAt}${s}`));for(let c of i.text.split(`
|
|
1780
1780
|
`))console.log(r.dim(` ${c}`))}}if(e.linkedFiles&&e.linkedFiles.length>0){console.log(r.dim(` linked files (${e.linkedFiles.length}):`));for(let i of e.linkedFiles){let s=i.linkedPath??yo(a,".vibeflow","files",t.id,i.name);if(console.log(r.dim(` - ${i.name} ${i.url}`)),/\.(md|txt)$/i.test(i.name)&&i.size<1e5&&Rr(s))try{let c=Ir(s,"utf-8");console.log(r.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let u of c.split(`
|
|
1781
|
-
`))console.log(r.dim(` \u2502 ${u}`));console.log(r.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}catch{}}}console.log()}var W=new ho;W.name("vibeflow").description("Vibeflow \u2014 CLI tool for frontend prototyping with LLM assistance").version("0.12.
|
|
1781
|
+
`))console.log(r.dim(` \u2502 ${u}`));console.log(r.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}catch{}}}console.log()}var W=new ho;W.name("vibeflow").description("Vibeflow \u2014 CLI tool for frontend prototyping with LLM assistance").version("0.12.1");W.addHelpText("after",`
|
|
1782
1782
|
${"\u2500".repeat(60)}
|
|
1783
1783
|
For coding agents \u2014 quick reference:
|
|
1784
1784
|
|
|
@@ -1813,17 +1813,17 @@ File attachments:
|
|
|
1813
1813
|
<file binary body>
|
|
1814
1814
|
List: GET /api/tasks/<id>/files
|
|
1815
1815
|
Delete: DELETE /api/tasks/<id>/files/<filename>
|
|
1816
|
-
`);W.command("serve").description("Serve HTML prototype(s) with live overlay, or start API-only task server for existing apps").argument("[target]","HTML file or directory of HTML files").option("-p, --port <port>","Port number","3700").option("--host <host>","Bind hostname (default: localhost; use 0.0.0.0 for LAN sharing)").option("--no-open","Do not open browser automatically").action(async(t,e)=>{ne("command_run",{command:"serve"}),await
|
|
1816
|
+
`);W.command("serve").description("Serve HTML prototype(s) with live overlay, or start API-only task server for existing apps").argument("[target]","HTML file or directory of HTML files").option("-p, --port <port>","Port number","3700").option("--host <host>","Bind hostname (default: localhost; use 0.0.0.0 for LAN sharing)").option("--no-open","Do not open browser automatically").action(async(t,e)=>{ne("command_run",{command:"serve"}),await G(),await ht(t,{port:parseInt(e.port,10),host:e.host,open:e.open})});W.command("kanban").description("Start the Vibeflow server and open the live Kanban board in the browser").argument("[dir]","Project root directory",".").option("-p, --port <port>","Port number","3700").option("--host <host>","Bind hostname (default: localhost; use 0.0.0.0 for LAN sharing)").option("--no-open","Do not open browser automatically").option("--no-changelog","Do not show the changelog with the update notice").action(async(t,e)=>{ne("command_run",{command:"kanban"}),await G();let n=parseInt(e.port,10),l=await ht(void 0,{port:n,host:e.host,open:!1,projectDir:B(t),noCtrlCHint:!0}),a=l.url+"/kanban";console.log(),console.log(r.green(" \u2713 Kanban board ready")),console.log(r.dim(" ")+r.cyan(a)),l.localUrl&&console.log(r.dim(" ")+r.cyan(`${l.localUrl}/kanban`)),console.log(),console.log(r.bold("Agent prompt:")),console.log(r.dim(" Get new tasks and implement them, once done check again for new ones:")),console.log(r.dim(" ")+r.green("npx @vibeflow-tools/cli tasks --next")),console.log(),console.log(r.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(o=>o.default(a)).catch(()=>{console.log(r.dim(" Visit: ")+r.cyan(a))}),wo(e.changelog!==!1)});W.command("tasks").description("List or edit tasks in the project").argument("[dir]","Project root directory",".").option("--status <status>","Filter by status (backlog, todo, in-progress, review, done)").option("--type <type>","Filter by type (Task, Bug, Feature, Enhancement, Research)").option("--user <user>","Filter by exact task author email (case-insensitive)").option("--edit [task-id]","Edit a task by ID (LLM-friendly). Omit task-id to see usage instructions.").option("--add","Create a task (requires --title)").option("--title <title>","New title for the task (use with --edit)").option("--set-status <status>","New status: backlog | todo | in-progress | review | done (use with --edit)").option("--description <text>","New description for the task (use with --edit)").option("--json","Output machine-readable JSON").option("--commit","Commit staged changes and link the commit SHA to a task (use with --task)").option("--task <task-id>","Task ID to link with the commit (use with --commit)").option("--message <msg>","Commit message (use with --commit; task ID is appended automatically)").option("--comment <text>","Implementation report comment (required when setting status to review)").option("--commit-message <msg>","Commit message for auto-commit on review (required when auto-commit setting is ON)").option("--get <task-id>","Get full details of a single task by ID (supports partial ID prefix)").option("--next","Pick the next available todo task, move it to in-progress, and output it ready to work on").option("--tag <tag>","Filter by tag (can be specified multiple times for AND matching)",(t,e)=>[...e,t],[]).option("--report-file <path>","Path to a local .md file to upload as the research report (use with --set-status review on Research tasks; file is uploaded and deleted locally)").option("--branch <name>","Git branch name for the task (required when createBranch setting is ON and setting status to review)").option("--skip-verify","Skip the verify-before-review gate (for non-UI tasks, the gate is automatically skipped)").option("--limit <n>","Limit how many tasks are returned in list mode (default: 5; use 0 for unlimited)").option("--dry-run","Preview what would change without modifying anything (mutations only)").option("--fields <fields>","Comma-separated list of fields to include in output (list/get modes)").option("--priority <priority>","Task priority (Critical, High, Medium, Low) \u2014 use with --add").action((t,e)=>{async function n(){let a=e.add?"add":e.next?"next":e.edit?"edit":e.get?"get":"list";if(ne("command_run",{command:"tasks",subcommand:a}),e.get){if(await xe()==="saas"){let k=await de(),P=await Ie(k?.id);if(!P.ok){console.log(r.red("\u2717 Unable to reach the online backend.")),process.exitCode=A.GENERAL;return}let T=P.data.tasks.find(F=>F.id===e.get||F.id.startsWith(e.get));if(!T){console.log(r.red(`\u2717 Task not found: ${e.get}`)),process.exitCode=A.NOT_FOUND;return}let D=fe(T.status);if(e.json){console.log(JSON.stringify({...T,status:D},null,2));return}let _t=we[D]??r.white;if(console.log(` ${_t(`[${D}]`)} ${r.bold(T.title)}`),console.log(r.dim(` id: ${T.id}`)),console.log(r.dim(" selector: /")),T.type&&console.log(r.dim(` type: ${T.type}`)),T.priority&&console.log(r.dim(` priority: ${T.priority}`)),console.log(r.dim(` created: ${T.createdAt}`)),T.description){console.log(r.dim(" description:"));for(let F of T.description.split(`
|
|
1817
1817
|
`))console.log(r.dim(` ${F}`))}T.annotatedElementText&&console.log(r.dim(` element text: ${T.annotatedElementText}`)),T.branchName&&console.log(r.dim(` branch: ${T.branchName}`));let Se=[...T.comments??[]].sort(ke);if(Se.length>0){console.log(r.dim(` comments (${Se.length}):`));for(let F of Se){console.log(r.dim(` [${F.author??"agent"}] ${F.createdAt}`));for(let O of F.body.split(`
|
|
1818
1818
|
`))console.log(r.dim(` ${O}`))}}if(T.files&&T.files.length>0){console.log(r.dim(` linked files (${T.files.length}):`));for(let F of T.files){let O=F.url??`${process.env.VIBEFLOW_API_URL??"https://app.vibeflow.tools"}/api/tasks/${T.id}/files/${encodeURIComponent(F.name)}`;if(console.log(r.dim(` - ${F.name} ${O}`)),F.content){console.log(r.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let ae of F.content.split(`
|
|
1819
|
-
`))console.log(r.dim(` \u2502 ${ae}`));console.log(r.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}let X=Y(B(t)),tt=(T.type??"").toLowerCase()==="research",nt=(T.type??"").toLowerCase()==="bug";Ne({hasResearchTasks:tt,hasBugTasks:nt,autoCommit:X.autoCommit,autoPush:X.autoPush,autoComment:X.autoComment,createBranch:X.createBranch,requireVerifyBeforeReview:X.requireVerifyBeforeReview});return}let m=B(t),b=Te(m),y=ce(m).find(k=>k.id===e.get||k.id.startsWith(e.get));if(!y){Ze({code:"E_NOT_FOUND",message:`Task not found: ${e.get}`,suggestion:"Run 'vibeflow tasks' to see available task IDs.",json:e.json}),process.exitCode=A.NOT_FOUND;return}let
|
|
1819
|
+
`))console.log(r.dim(` \u2502 ${ae}`));console.log(r.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}let X=Y(B(t)),tt=(T.type??"").toLowerCase()==="research",nt=(T.type??"").toLowerCase()==="bug";Ne({hasResearchTasks:tt,hasBugTasks:nt,autoCommit:X.autoCommit,autoPush:X.autoPush,autoComment:X.autoComment,createBranch:X.createBranch,requireVerifyBeforeReview:X.requireVerifyBeforeReview});return}let m=B(t),b=Te(m),y=ce(m).find(k=>k.id===e.get||k.id.startsWith(e.get));if(!y){Ze({code:"E_NOT_FOUND",message:`Task not found: ${e.get}`,suggestion:"Run 'vibeflow tasks' to see available task IDs.",json:e.json}),process.exitCode=A.NOT_FOUND;return}let E=oe(m,y.id).sort(ke),L=ee(m,y.id).map(k=>({...k,url:`http://localhost:${b.port}${k.url}`}));if(e.json){let k=e.fields?e.fields.split(",").map(P=>P.trim()).filter(Boolean):[];console.log(JSON.stringify(wt({...y,comments:E,files:L},k),null,2));return}let I=we[y.status]??r.white,C=Oe(y,y.filePath,E,L,m).split(`
|
|
1820
1820
|
`);if(C.length>0){let k=C[0],P=k.match(/^\[(\w+)\]\s+(.+)$/);console.log(P?` ${I(`[${P[1]}]`)} ${r.bold(P[2])}`:r.dim(k));for(let T=1;T<C.length;T++)console.log(r.dim(C[T]))}let h=Y(m),S=(y.type??"").toLowerCase()==="research",x=(y.type??"").toLowerCase()==="bug";Ne({hasResearchTasks:S,hasBugTasks:x,autoCommit:h.autoCommit,autoPush:h.autoPush,autoComment:h.autoComment,createBranch:h.createBranch,requireVerifyBeforeReview:h.requireVerifyBeforeReview});return}if(e.next){if(await xe()==="saas"){let k=await de(),P=await Ie(k?.id);if(!P.ok){console.log(r.red("\u2717 Unable to reach the online backend.")),process.exitCode=A.GENERAL;return}if(e.type&&!et(e.type))return;let T=P.data.tasks.map(O=>({...O,status:fe(O.status)})).filter(O=>O.status==="todo");if(e.type&&(T=T.filter(O=>(O.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Me(e.user,T))return;if(e.user&&(T=T.filter(O=>De(O.author,e.user))),e.tag&&e.tag.length>0&&(T=T.filter(O=>e.tag.every(ae=>(O.tags??[]).includes(ae)))),T=T.sort((O,ae)=>{let $e=be(O.priority??void 0)-be(ae.priority??void 0);return $e!==0?$e:ke(O,ae)}),T.length===0){let O=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),ae=O.length>0?` matching ${O.join(" ")}`:"";console.log(r.dim(`No todo tasks found${ae}. Nothing to work on.`));return}let D=T[0];if(!await xt(D.id,{status:"in-progress"})){console.log(r.red(`\u2717 Failed to move task to in-progress: ${D.id}`)),process.exitCode=A.GENERAL;return}let Se=U("set-status:in-progress",D.id);if(e.json){console.log(JSON.stringify({success:!0,task:{...D,status:"in-progress"},next_actions:Se},null,2));return}let X=Y(B(t)),tt=(D.type??"").toLowerCase()==="research",nt=(D.type??"").toLowerCase()==="bug";if(Ne({hasResearchTasks:tt,hasBugTasks:nt,autoCommit:X.autoCommit,autoPush:X.autoPush,autoComment:X.autoComment,createBranch:X.createBranch,requireVerifyBeforeReview:X.requireVerifyBeforeReview}),console.log(r.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log(),console.log(` ${r.blue("[in-progress]")} ${r.bold(D.title)}`),console.log(r.dim(` id: ${D.id}`)),D.type&&console.log(r.dim(` type: ${D.type}`)),D.priority&&console.log(r.dim(` priority: ${D.priority}`)),console.log(r.dim(` created: ${D.createdAt}`)),D.description){console.log(r.dim(" description:"));for(let O of D.description.split(`
|
|
1821
1821
|
`))console.log(r.dim(` ${O}`))}let F=[...D.comments??[]].sort(ke);if(F.length>0){console.log(r.dim(` comments (${F.length}):`));for(let O of F){let ae=O.authorId?`user:${O.authorId.slice(0,8)}`:"agent";console.log(r.dim(` [${ae}] ${O.createdAt}`));for(let $e of O.body.split(`
|
|
1822
|
-
`))console.log(r.dim(` ${$e}`))}}console.log(),console.log(r.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done.")),re(Se);return}let m=B(t);if(e.type&&!et(e.type)||e.user&&!Me(e.user,[]))return;let b=Ct(m,{type:e.type,user:e.user,tag:e.tag,author:ie(m).name});if(!b){let k=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),P=k.length>0?` matching ${k.join(" ")}`:"";console.log(r.dim(`No todo tasks found${P}. Nothing to work on.`));return}let R=U("set-status:in-progress",b.id);if(e.json){console.log(JSON.stringify({success:!0,task:b,next_actions:R},null,2));return}let y=Y(m),
|
|
1823
|
-
`);if(x.length>0){let k=x[0].match(/^\[(\w+)\]\s+(.+)$/);console.log(k?` ${r.blue(`[${k[1]}]`)} ${r.bold(k[2])}`:r.dim(x[0]));for(let P=1;P<x.length;P++)console.log(r.dim(x[P]))}console.log(),console.log(r.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done.")),re(R);return}if(e.add){if(!e.title?.trim()){Ze({code:"E_USAGE",message:"--title is required with --add",suggestion:'Example: vibeflow tasks --add --title "Fix CTA spacing" --description "Button overflows on mobile"',json:e.json}),process.exitCode=A.USAGE;return}if(await xe()==="saas"){let L=await de(),N=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",C=rt();if(e.dryRun){let k={id:C,title:e.title.trim(),description:e.description?.trim()??"",status:N,boardId:L?.id};e.json?console.log(JSON.stringify({dryRun:!0,action:"create",task:k,next_actions:U("add",C)},null,2)):(console.log(r.yellow(" [dry-run] Would create task:")),console.log(r.dim(` title: ${k.title}`)),console.log(r.dim(` status: ${k.status}`)),k.description&&console.log(r.dim(` description: ${k.description}`)),re(U("add",C)));return}let h=await fr({id:C,title:e.title.trim(),description:e.description?.trim(),status:N,boardId:L?.id});if(!h.ok){console.log(r.red("\u2717 Failed to create task in online board.")),console.log(r.yellow(" Check your connection or run 'vibeflow login'.")),process.exitCode=A.GENERAL;return}let S=h.data,x=U("add",S.id);e.json?console.log(JSON.stringify({success:!0,task:S,next_actions:x},null,2)):(console.log(r.green(`\u2713 Task created: ${S.title}`)),console.log(r.dim(` id: ${S.id} | status: ${fe(S.status)}`)),re(x));return}let m=B(t);he(m);let R=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo";if(e.dryRun){let L=rt(),I={id:L,title:e.title.trim(),description:e.description?.trim()??"",status:R,selector:"/"};e.json?console.log(JSON.stringify({dryRun:!0,action:"create",task:I,next_actions:U("add",L)},null,2)):(console.log(r.yellow(" [dry-run] Would create task:")),console.log(r.dim(` title: ${I.title}`)),console.log(r.dim(` status: ${I.status}`)),I.description&&console.log(r.dim(` description: ${I.description}`)),re(U("add",L)));return}let y=_e(m,{title:e.title.trim(),description:e.description?.trim()??"",status:R,selector:"/",...e.type?{type:e.type}:{},...e.priority?{priority:e.priority}:{},...e.tag?.length?{tags:e.tag}:{}}),j=U("add",y.id);e.json?console.log(JSON.stringify({success:!0,task:y,next_actions:j},null,2)):(console.log(r.green(`\u2713 Task created: ${y.title}`)),console.log(r.dim(` id: ${y.id} | status: ${y.status}`)),re(j));return}if(e.commit){if(!e.task){Ze({code:"E_USAGE",message:"--task <task-id> is required with --commit",suggestion:'Example: vibeflow tasks --commit --task abc12345 --message "fix button alignment"',json:e.json}),process.exitCode=A.USAGE;return}let d=B(t),b=K(d).find(j=>j.id===e.task||j.id.startsWith(e.task));if(!b){Ze({code:"E_NOT_FOUND",message:`Task not found: ${e.task}`,suggestion:"Run 'vibeflow tasks' to see available task IDs.",json:e.json}),process.exitCode=A.NOT_FOUND;return}let R=e.message?.trim()||b.title;if(e.dryRun){let j=`${R} [proto:${b.id}]`;e.json?console.log(JSON.stringify({dryRun:!0,action:"commit",message:j,taskId:b.id,next_actions:U("commit",b.id)},null,2)):(console.log(r.yellow(" [dry-run] Would commit:")),console.log(r.dim(` message: ${j}`)),console.log(r.dim(` task: ${b.id}`)),re(U("commit",b.id)));return}(b.type??"").toLowerCase()==="research"&&(console.log(r.yellow("\u26A0 WARNING: This is a Research task. Research tasks must NOT produce code changes.")),console.log(r.yellow(" Only commit research report files (.md). Do not commit code changes.")),console.log());let y=`${R} [proto:${b.id}]`;try{St("git",["commit","-m",y],{cwd:d,stdio:"inherit"});let j=jr("git rev-parse HEAD",{cwd:d}).toString().trim(),L={sha:j,message:R,timestamp:new Date().toISOString()},I=b.commits??[];V(d,b.id,{commits:[...I,L]});let N=U("commit",b.id);if(e.json?console.log(JSON.stringify({success:!0,commit:j,next_actions:N},null,2)):(console.log(r.green(`\u2713 Committed and linked to task: ${b.title}`)),console.log(r.dim(` commit: ${j}`)),console.log(r.dim(` proto: ${b.id}`)),re(N)),Y(d).autoPush){console.log(r.dim(" auto-push: pushing commit to remote..."));let h=Cr(d);h.ok?console.log(r.green("\u2713 Auto-push complete")):(console.log(r.yellow("\u26A0 Auto-push failed. Commit is local; run 'git push' manually.")),h.error&&console.log(r.dim(` reason: ${h.error}`)))}}catch{console.log(r.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=A.GENERAL}return}if(e.edit!==void 0){let d=typeof e.edit=="string"?e.edit:void 0,m=e.title||e.setStatus||e.description;if(!d||!m){if(e.type&&!et(e.type))return;let h=K(t);if(e.status&&(h=h.filter(S=>S.status===e.status)),e.type&&(h=h.filter(S=>(S.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Me(e.user,h))return;if(e.user&&(h=h.filter(S=>De(S.author,e.user))),e.tag&&e.tag.length>0&&(h=h.filter(S=>e.tag.every(x=>(S.tags??[]).includes(x)))),console.log(r.bold("vibeflow tasks --edit \u2014 LLM Usage Instructions")),console.log(),console.log("Edit a task:"),console.log(r.cyan(' vibeflow tasks [dir] --edit <task-id> [--title "new title"] [--set-status backlog|todo|in-progress|review|done] [--description "new description"]')),console.log(),console.log("Examples:"),console.log(r.dim(" vibeflow tasks --edit abc12345 --set-status done")),console.log(r.dim(" vibeflow tasks --edit abc12345 --set-status in-progress")),console.log(r.dim(' vibeflow tasks --edit abc12345 --title "Updated title" --description "More detail"')),console.log(),h.length===0)console.log(r.dim("No tasks found."));else{console.log("Available tasks:");for(let S of h){let x=we[S.status]??r.white;console.log(` ${x(`[${S.status}]`)} ${r.bold(S.id)} \u2014 ${S.title}`)}}return}if(e.setStatus==="done"&&(console.log(r.yellow('\u26A0 WARNING: Agents should NEVER set a task status to "done".')),console.log(r.yellow(" Only humans should mark tasks as done after reviewing.")),console.log(r.dim(" If you are an agent, use --set-status review instead.")),console.log()),e.setStatus&&!Xe.includes(e.setStatus)){console.log(r.red(`\u2717 Invalid status: "${e.setStatus}"`)),console.log(r.yellow(` Valid statuses: ${Xe.join(" | ")}`)),console.log(r.dim(` Example: vibeflow tasks --edit ${d} --set-status in-progress`)),process.exitCode=A.USAGE;return}if(e.setStatus==="review"&&!e.comment?.trim()){console.log(r.red("\u2717 --comment is required when setting status to review")),console.log(r.dim(" Provide a concise implementation report explaining:")),console.log(r.dim(" \xB7 what was changed and why")),console.log(r.dim(" \xB7 key decisions and trade-offs")),console.log(r.dim(" \xB7 anything future agents should know")),console.log(r.dim(` Example: vibeflow tasks --edit ${d} --set-status review --comment "Implemented X by doing Y. Key decision: Z."`)),process.exitCode=A.USAGE;return}let b=await xe(),R=B(t),y=Y(R);if(e.setStatus==="review"&&e.reportFile){let S=K(R).find(x=>x.id===d||x.id.startsWith(d));if(S&&(S.type??"").toLowerCase()==="research"){let x=B(e.reportFile);if(!Rr(x)){console.log(r.red(`\u2717 Report file not found: ${x}`)),process.exitCode=A.NOT_FOUND;return}if(!/\.md$/i.test(x)){console.log(r.red("\u2717 Report file must be a Markdown (.md) file")),process.exitCode=A.USAGE;return}let k=Ir(x),{saveFile:P}=await import("./files-R6BRCQQX.js");P(R,S.id,kr(x),k),vo(x),console.log(r.green(`\u2713 Report uploaded: ${kr(x)} (local file removed)`))}}if(e.setStatus==="review"){let{checkReviewTransition:h}=await import("./review-gate-QR2E4REN.js"),S=h(R,d,{comment:e.comment,commitMessage:e.commitMessage,branch:e.branch,skipVerify:e.skipVerify},{projectDir:R,settings:y});if(!S.ok){console.log(r.red(`\u2717 ${S.message}`)),S.suggestion&&console.log(r.dim(` ${S.suggestion}`)),process.exitCode=A.USAGE;return}}if(b==="saas"){let h={};if(e.setStatus&&(h.status=e.setStatus),e.title&&(h.title=e.title),e.description&&(h.description=e.description),e.branch&&(h.branchName=e.branch),e.setStatus==="in-progress"){let P=await dr(d);if(P&&fe(P.status)==="in-progress"){let T=P.author??"another user";console.log(r.yellow(`\u26A0 Task is already in-progress (last updated by: ${T})`)),console.log(r.yellow(" Another agent or user may be working on this task.")),console.log(r.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}let S=await xt(d,h);if(!S.ok){console.log(r.red(`\u2717 Failed to update task: ${d}`)),console.log(r.yellow(" Ensure you are connected and the task ID exists in the online board.")),process.exitCode=A.GENERAL;return}let x=S.data;x.warning&&console.log(r.yellow(`\u26A0 Server warning: ${x.warning}`)),e.setStatus==="review"&&e.comment?.trim()&&(await pr(d,e.comment.trim())).ok&&console.log(r.dim(" comment: added"));let k=e.setStatus?U(e.setStatus==="review"?"set-status:review":"set-status:in-progress",d):[];e.json?console.log(JSON.stringify({success:!0,task:x.task,next_actions:k},null,2)):(console.log(r.green(`\u2713 Task updated: ${x.task.title}`)),console.log(r.dim(` id: ${x.task.id} | status: ${fe(x.task.status)}`)),k.length>0&&re(k));return}let j=B(t),L=K(j).find(h=>h.id===d||h.id.startsWith(d))?.id??d;if(e.dryRun){let h={};if(e.title&&(h.title=e.title),e.setStatus&&(h.status=e.setStatus),e.description&&(h.description=e.description),e.branch&&(h.branchName=e.branch),e.json)console.log(JSON.stringify({dryRun:!0,action:"update",taskId:L,updates:h,next_actions:e.setStatus?U(e.setStatus==="review"?"set-status:review":"set-status:in-progress",L):[]},null,2));else{console.log(r.yellow(" [dry-run] Would update task:")),console.log(r.dim(` id: ${L}`));for(let[S,x]of Object.entries(h))console.log(r.dim(` ${S}: ${x}`));e.setStatus&&re(U(e.setStatus==="review"?"set-status:review":"set-status:in-progress",L))}return}let I={};if(e.title&&(I.title=e.title),e.setStatus&&(I.status=e.setStatus),e.description&&(I.description=e.description),e.branch&&(I.branchName=e.branch),e.setStatus==="in-progress"){let h=B(t),x=K(h).find(k=>k.id===d||k.id.startsWith(d));if(x&&((x.type??"").toLowerCase()==="research"&&(console.log(r.yellow("\u26A0 WARNING: This is a Research task. Policy: do NOT implement code.")),console.log(r.yellow(" Research only \u2014 attach a .md report file, leave a summary comment, mark as review.")),console.log()),x.status==="in-progress")){let k=x.updated?new Date(x.updated).toLocaleString():"unknown",P=x.author??"another user";console.log(r.yellow(`\u26A0 Task is already in-progress (author: ${P}, last updated: ${k})`)),console.log(r.yellow(" Another agent or user may be working on this task.")),console.log(r.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}e.setStatus==="in-progress"&&(I.verified=!1);let N=V(t,L,I);if(!N){console.log(r.red(`\u2717 Task not found: ${d}`)),console.log(r.yellow(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=A.NOT_FOUND;return}e.setStatus==="review"&&e.comment?.trim()&&(ye(B(t),L,"agent",e.comment.trim()),console.log(r.dim(" comment: added")));let C=e.setStatus?U(e.setStatus==="review"?"set-status:review":"set-status:in-progress",L):[];if(e.json?console.log(JSON.stringify({success:!0,task:N,next_actions:C},null,2)):(console.log(r.green(`\u2713 Task updated: ${N.title}`)),console.log(r.dim(` id: ${N.id} | status: ${N.status}`)),C.length>0&&re(C)),e.setStatus==="review"){let h=B(t),S=Y(h);if(S.autoCommit&&e.commitMessage?.trim()){let k=K(h).find(P=>P.id===d||P.id.startsWith(d));if(k){let{commitTaskChanges:P}=await import("./git-NH6PGXOM.js"),T=P(h,k.id,e.commitMessage.trim());if(T.ok){if(console.log(r.green(`\u2713 Committed: ${e.commitMessage.trim()} [proto:${k.id}]`)),console.log(r.dim(` sha: ${T.sha}`)),S.autoPush){console.log(r.dim(" pushing..."));let D=Cr(h);D.ok?console.log(r.green("\u2713 Pushed")):(console.log(r.yellow("\u26A0 Push failed. Run 'git push' manually.")),D.error&&console.log(r.dim(` reason: ${D.error}`)))}}else console.log(r.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=A.GENERAL}}}return}if(e.status&&!Xe.includes(e.status)){console.log(r.red(`\u2717 Invalid status filter: "${e.status}"`)),console.log(r.yellow(` Valid statuses: ${Xe.join(" | ")}`)),console.log(r.dim(" Example: vibeflow tasks --status todo")),process.exitCode=A.USAGE;return}if(e.type&&!et(e.type))return;let o=e.fields?e.fields.split(",").map(d=>d.trim()).filter(Boolean):[];if(await xe()==="saas"){let d=await de(),m=await Ie(d?.id);if(!m.ok){console.log(r.red("\u2717 Unable to reach the online backend.")),console.log(r.yellow(" Check your connection or run 'vibeflow login' if your session expired.")),process.exitCode=A.GENERAL;return}let b=m.data.tasks.map(I=>({...I,status:fe(I.status)}));if(e.status&&(b=b.filter(I=>I.status===e.status)),e.type&&(b=b.filter(I=>(I.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Me(e.user,b))return;e.user&&(b=b.filter(I=>De(I.author,e.user))),e.tag&&e.tag.length>0&&(b=b.filter(I=>e.tag.every(N=>(I.tags??[]).includes(N))));let R=e.limit===void 0?5:parseInt(e.limit,10);if(!isNaN(R)&&R>0&&(b=b.slice(0,R)),e.json){console.log(JSON.stringify(b.map(I=>wt(I,o)),null,2));return}let y=b.some(I=>(I.type??"").toLowerCase()==="research"),j=b.some(I=>(I.type??"").toLowerCase()==="bug"),L=Y(B(t));if(Ne({hasResearchTasks:y,hasBugTasks:j,autoCommit:L.autoCommit,autoPush:L.autoPush,autoComment:L.autoComment,createBranch:L.createBranch,requireVerifyBeforeReview:L.requireVerifyBeforeReview}),b.length===0)console.log(r.dim("No tasks found."));else{b=b.sort((N,C)=>{let h=Je(N.status)-Je(C.status);if(h!==0)return h;let S=be(N.priority??void 0)-be(C.priority??void 0);return S!==0?S:new Date(C.updatedAt).getTime()-new Date(N.updatedAt).getTime()});for(let[N,C]of b.entries()){let h=we[C.status]??r.white,S=_o(C.type);if(console.log(` ${r.dim(`${N+1}.`)} ${h(`[${C.status}]`)} ${C.title}`),console.log(r.dim(` id: ${C.id}`)),console.log(r.dim(" selector: /")),S&&console.log(r.dim(` type: ${S}`)),C.priority&&console.log(r.dim(` priority: ${C.priority}`)),console.log(r.dim(` created: ${C.createdAt}`)),C.description){console.log(r.dim(" description:"));for(let x of C.description.split(`
|
|
1822
|
+
`))console.log(r.dim(` ${$e}`))}}console.log(),console.log(r.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done.")),re(Se);return}let m=B(t);if(e.type&&!et(e.type)||e.user&&!Me(e.user,[]))return;let b=Ct(m,{type:e.type,user:e.user,tag:e.tag,author:ie(m).name});if(!b){let k=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),P=k.length>0?` matching ${k.join(" ")}`:"";console.log(r.dim(`No todo tasks found${P}. Nothing to work on.`));return}let R=U("set-status:in-progress",b.id);if(e.json){console.log(JSON.stringify({success:!0,task:b,next_actions:R},null,2));return}let y=Y(m),E=(b.type??"").toLowerCase()==="research",L=(b.type??"").toLowerCase()==="bug";Ne({hasResearchTasks:E,hasBugTasks:L,autoCommit:y.autoCommit,autoPush:y.autoPush,autoComment:y.autoComment,createBranch:y.createBranch,requireVerifyBeforeReview:y.requireVerifyBeforeReview});let I=Te(m),N=oe(m,b.id).sort(ke),C=ee(m,b.id).map(k=>({...k,url:`http://localhost:${I.port}${k.url}`})),h=V(m,b.id)??"",S=Oe(b,h,N,C,m);console.log(r.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log();let x=S.split(`
|
|
1823
|
+
`);if(x.length>0){let k=x[0].match(/^\[(\w+)\]\s+(.+)$/);console.log(k?` ${r.blue(`[${k[1]}]`)} ${r.bold(k[2])}`:r.dim(x[0]));for(let P=1;P<x.length;P++)console.log(r.dim(x[P]))}console.log(),console.log(r.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done.")),re(R);return}if(e.add){if(!e.title?.trim()){Ze({code:"E_USAGE",message:"--title is required with --add",suggestion:'Example: vibeflow tasks --add --title "Fix CTA spacing" --description "Button overflows on mobile"',json:e.json}),process.exitCode=A.USAGE;return}if(await xe()==="saas"){let L=await de(),N=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",C=rt();if(e.dryRun){let k={id:C,title:e.title.trim(),description:e.description?.trim()??"",status:N,boardId:L?.id};e.json?console.log(JSON.stringify({dryRun:!0,action:"create",task:k,next_actions:U("add",C)},null,2)):(console.log(r.yellow(" [dry-run] Would create task:")),console.log(r.dim(` title: ${k.title}`)),console.log(r.dim(` status: ${k.status}`)),k.description&&console.log(r.dim(` description: ${k.description}`)),re(U("add",C)));return}let h=await fr({id:C,title:e.title.trim(),description:e.description?.trim(),status:N,boardId:L?.id});if(!h.ok){console.log(r.red("\u2717 Failed to create task in online board.")),console.log(r.yellow(" Check your connection or run 'vibeflow login'.")),process.exitCode=A.GENERAL;return}let S=h.data,x=U("add",S.id);e.json?console.log(JSON.stringify({success:!0,task:S,next_actions:x},null,2)):(console.log(r.green(`\u2713 Task created: ${S.title}`)),console.log(r.dim(` id: ${S.id} | status: ${fe(S.status)}`)),re(x));return}let m=B(t);he(m);let R=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo";if(e.dryRun){let L=rt(),I={id:L,title:e.title.trim(),description:e.description?.trim()??"",status:R,selector:"/"};e.json?console.log(JSON.stringify({dryRun:!0,action:"create",task:I,next_actions:U("add",L)},null,2)):(console.log(r.yellow(" [dry-run] Would create task:")),console.log(r.dim(` title: ${I.title}`)),console.log(r.dim(` status: ${I.status}`)),I.description&&console.log(r.dim(` description: ${I.description}`)),re(U("add",L)));return}let y=_e(m,{title:e.title.trim(),description:e.description?.trim()??"",status:R,selector:"/",...e.type?{type:e.type}:{},...e.priority?{priority:e.priority}:{},...e.tag?.length?{tags:e.tag}:{}}),E=U("add",y.id);e.json?console.log(JSON.stringify({success:!0,task:y,next_actions:E},null,2)):(console.log(r.green(`\u2713 Task created: ${y.title}`)),console.log(r.dim(` id: ${y.id} | status: ${y.status}`)),re(E));return}if(e.commit){if(!e.task){Ze({code:"E_USAGE",message:"--task <task-id> is required with --commit",suggestion:'Example: vibeflow tasks --commit --task abc12345 --message "fix button alignment"',json:e.json}),process.exitCode=A.USAGE;return}let d=B(t),b=K(d).find(E=>E.id===e.task||E.id.startsWith(e.task));if(!b){Ze({code:"E_NOT_FOUND",message:`Task not found: ${e.task}`,suggestion:"Run 'vibeflow tasks' to see available task IDs.",json:e.json}),process.exitCode=A.NOT_FOUND;return}let R=e.message?.trim()||b.title;if(e.dryRun){let E=`${R} [proto:${b.id}]`;e.json?console.log(JSON.stringify({dryRun:!0,action:"commit",message:E,taskId:b.id,next_actions:U("commit",b.id)},null,2)):(console.log(r.yellow(" [dry-run] Would commit:")),console.log(r.dim(` message: ${E}`)),console.log(r.dim(` task: ${b.id}`)),re(U("commit",b.id)));return}(b.type??"").toLowerCase()==="research"&&(console.log(r.yellow("\u26A0 WARNING: This is a Research task. Research tasks must NOT produce code changes.")),console.log(r.yellow(" Only commit research report files (.md). Do not commit code changes.")),console.log());let y=`${R} [proto:${b.id}]`;try{St("git",["commit","-m",y],{cwd:d,stdio:"inherit"});let E=Er("git rev-parse HEAD",{cwd:d}).toString().trim(),L={sha:E,message:R,timestamp:new Date().toISOString()},I=b.commits??[];q(d,b.id,{commits:[...I,L]});let N=U("commit",b.id);if(e.json?console.log(JSON.stringify({success:!0,commit:E,next_actions:N},null,2)):(console.log(r.green(`\u2713 Committed and linked to task: ${b.title}`)),console.log(r.dim(` commit: ${E}`)),console.log(r.dim(` proto: ${b.id}`)),re(N)),Y(d).autoPush){console.log(r.dim(" auto-push: pushing commit to remote..."));let h=Cr(d);h.ok?console.log(r.green("\u2713 Auto-push complete")):(console.log(r.yellow("\u26A0 Auto-push failed. Commit is local; run 'git push' manually.")),h.error&&console.log(r.dim(` reason: ${h.error}`)))}}catch{console.log(r.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=A.GENERAL}return}if(e.edit!==void 0){let d=typeof e.edit=="string"?e.edit:void 0,m=e.title||e.setStatus||e.description;if(!d||!m){if(e.type&&!et(e.type))return;let h=K(t);if(e.status&&(h=h.filter(S=>S.status===e.status)),e.type&&(h=h.filter(S=>(S.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Me(e.user,h))return;if(e.user&&(h=h.filter(S=>De(S.author,e.user))),e.tag&&e.tag.length>0&&(h=h.filter(S=>e.tag.every(x=>(S.tags??[]).includes(x)))),console.log(r.bold("vibeflow tasks --edit \u2014 LLM Usage Instructions")),console.log(),console.log("Edit a task:"),console.log(r.cyan(' vibeflow tasks [dir] --edit <task-id> [--title "new title"] [--set-status backlog|todo|in-progress|review|done] [--description "new description"]')),console.log(),console.log("Examples:"),console.log(r.dim(" vibeflow tasks --edit abc12345 --set-status done")),console.log(r.dim(" vibeflow tasks --edit abc12345 --set-status in-progress")),console.log(r.dim(' vibeflow tasks --edit abc12345 --title "Updated title" --description "More detail"')),console.log(),h.length===0)console.log(r.dim("No tasks found."));else{console.log("Available tasks:");for(let S of h){let x=we[S.status]??r.white;console.log(` ${x(`[${S.status}]`)} ${r.bold(S.id)} \u2014 ${S.title}`)}}return}if(e.setStatus==="done"&&(console.log(r.yellow('\u26A0 WARNING: Agents should NEVER set a task status to "done".')),console.log(r.yellow(" Only humans should mark tasks as done after reviewing.")),console.log(r.dim(" If you are an agent, use --set-status review instead.")),console.log()),e.setStatus&&!Xe.includes(e.setStatus)){console.log(r.red(`\u2717 Invalid status: "${e.setStatus}"`)),console.log(r.yellow(` Valid statuses: ${Xe.join(" | ")}`)),console.log(r.dim(` Example: vibeflow tasks --edit ${d} --set-status in-progress`)),process.exitCode=A.USAGE;return}if(e.setStatus==="review"&&!e.comment?.trim()){console.log(r.red("\u2717 --comment is required when setting status to review")),console.log(r.dim(" Provide a concise implementation report explaining:")),console.log(r.dim(" \xB7 what was changed and why")),console.log(r.dim(" \xB7 key decisions and trade-offs")),console.log(r.dim(" \xB7 anything future agents should know")),console.log(r.dim(` Example: vibeflow tasks --edit ${d} --set-status review --comment "Implemented X by doing Y. Key decision: Z."`)),process.exitCode=A.USAGE;return}let b=await xe(),R=B(t),y=Y(R);if(e.setStatus==="review"&&e.reportFile){let S=K(R).find(x=>x.id===d||x.id.startsWith(d));if(S&&(S.type??"").toLowerCase()==="research"){let x=B(e.reportFile);if(!Rr(x)){console.log(r.red(`\u2717 Report file not found: ${x}`)),process.exitCode=A.NOT_FOUND;return}if(!/\.md$/i.test(x)){console.log(r.red("\u2717 Report file must be a Markdown (.md) file")),process.exitCode=A.USAGE;return}let k=Ir(x),{saveFile:P}=await import("./files-R6BRCQQX.js");P(R,S.id,kr(x),k),vo(x),console.log(r.green(`\u2713 Report uploaded: ${kr(x)} (local file removed)`))}}if(e.setStatus==="review"){let{checkReviewTransition:h}=await import("./review-gate-MGMU7CIR.js"),S=h(R,d,{comment:e.comment,commitMessage:e.commitMessage,branch:e.branch,skipVerify:e.skipVerify},{projectDir:R,settings:y});if(!S.ok){console.log(r.red(`\u2717 ${S.message}`)),S.suggestion&&console.log(r.dim(` ${S.suggestion}`)),process.exitCode=A.USAGE;return}}if(b==="saas"){let h={};if(e.setStatus&&(h.status=e.setStatus),e.title&&(h.title=e.title),e.description&&(h.description=e.description),e.branch&&(h.branchName=e.branch),e.setStatus==="in-progress"){let P=await dr(d);if(P&&fe(P.status)==="in-progress"){let T=P.author??"another user";console.log(r.yellow(`\u26A0 Task is already in-progress (last updated by: ${T})`)),console.log(r.yellow(" Another agent or user may be working on this task.")),console.log(r.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}let S=await xt(d,h);if(!S.ok){console.log(r.red(`\u2717 Failed to update task: ${d}`)),console.log(r.yellow(" Ensure you are connected and the task ID exists in the online board.")),process.exitCode=A.GENERAL;return}let x=S.data;x.warning&&console.log(r.yellow(`\u26A0 Server warning: ${x.warning}`)),e.setStatus==="review"&&e.comment?.trim()&&(await pr(d,e.comment.trim())).ok&&console.log(r.dim(" comment: added"));let k=e.setStatus?U(e.setStatus==="review"?"set-status:review":"set-status:in-progress",d):[];e.json?console.log(JSON.stringify({success:!0,task:x.task,next_actions:k},null,2)):(console.log(r.green(`\u2713 Task updated: ${x.task.title}`)),console.log(r.dim(` id: ${x.task.id} | status: ${fe(x.task.status)}`)),k.length>0&&re(k));return}let E=B(t),L=K(E).find(h=>h.id===d||h.id.startsWith(d))?.id??d;if(e.dryRun){let h={};if(e.title&&(h.title=e.title),e.setStatus&&(h.status=e.setStatus),e.description&&(h.description=e.description),e.branch&&(h.branchName=e.branch),e.json)console.log(JSON.stringify({dryRun:!0,action:"update",taskId:L,updates:h,next_actions:e.setStatus?U(e.setStatus==="review"?"set-status:review":"set-status:in-progress",L):[]},null,2));else{console.log(r.yellow(" [dry-run] Would update task:")),console.log(r.dim(` id: ${L}`));for(let[S,x]of Object.entries(h))console.log(r.dim(` ${S}: ${x}`));e.setStatus&&re(U(e.setStatus==="review"?"set-status:review":"set-status:in-progress",L))}return}let I={};if(e.title&&(I.title=e.title),e.setStatus&&(I.status=e.setStatus),e.description&&(I.description=e.description),e.branch&&(I.branchName=e.branch),e.setStatus==="in-progress"){let h=B(t),x=K(h).find(k=>k.id===d||k.id.startsWith(d));if(x&&((x.type??"").toLowerCase()==="research"&&(console.log(r.yellow("\u26A0 WARNING: This is a Research task. Policy: do NOT implement code.")),console.log(r.yellow(" Research only \u2014 attach a .md report file, leave a summary comment, mark as review.")),console.log()),x.status==="in-progress")){let k=x.updated?new Date(x.updated).toLocaleString():"unknown",P=x.author??"another user";console.log(r.yellow(`\u26A0 Task is already in-progress (author: ${P}, last updated: ${k})`)),console.log(r.yellow(" Another agent or user may be working on this task.")),console.log(r.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}e.setStatus==="in-progress"&&(I.verified=!1);let N=q(t,L,I);if(!N){console.log(r.red(`\u2717 Task not found: ${d}`)),console.log(r.yellow(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=A.NOT_FOUND;return}e.setStatus==="review"&&e.comment?.trim()&&(ye(B(t),L,"agent",e.comment.trim()),console.log(r.dim(" comment: added")));let C=e.setStatus?U(e.setStatus==="review"?"set-status:review":"set-status:in-progress",L):[];if(e.json?console.log(JSON.stringify({success:!0,task:N,next_actions:C},null,2)):(console.log(r.green(`\u2713 Task updated: ${N.title}`)),console.log(r.dim(` id: ${N.id} | status: ${N.status}`)),C.length>0&&re(C)),e.setStatus==="review"){let h=B(t),S=Y(h);if(S.autoCommit&&e.commitMessage?.trim()){let k=K(h).find(P=>P.id===d||P.id.startsWith(d));if(k){let{commitTaskChanges:P}=await import("./git-NH6PGXOM.js"),T=P(h,k.id,e.commitMessage.trim());if(T.ok){if(console.log(r.green(`\u2713 Committed: ${e.commitMessage.trim()} [proto:${k.id}]`)),console.log(r.dim(` sha: ${T.sha}`)),S.autoPush){console.log(r.dim(" pushing..."));let D=Cr(h);D.ok?console.log(r.green("\u2713 Pushed")):(console.log(r.yellow("\u26A0 Push failed. Run 'git push' manually.")),D.error&&console.log(r.dim(` reason: ${D.error}`)))}}else console.log(r.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=A.GENERAL}}}return}if(e.status&&!Xe.includes(e.status)){console.log(r.red(`\u2717 Invalid status filter: "${e.status}"`)),console.log(r.yellow(` Valid statuses: ${Xe.join(" | ")}`)),console.log(r.dim(" Example: vibeflow tasks --status todo")),process.exitCode=A.USAGE;return}if(e.type&&!et(e.type))return;let o=e.fields?e.fields.split(",").map(d=>d.trim()).filter(Boolean):[];if(await xe()==="saas"){let d=await de(),m=await Ie(d?.id);if(!m.ok){console.log(r.red("\u2717 Unable to reach the online backend.")),console.log(r.yellow(" Check your connection or run 'vibeflow login' if your session expired.")),process.exitCode=A.GENERAL;return}let b=m.data.tasks.map(I=>({...I,status:fe(I.status)}));if(e.status&&(b=b.filter(I=>I.status===e.status)),e.type&&(b=b.filter(I=>(I.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Me(e.user,b))return;e.user&&(b=b.filter(I=>De(I.author,e.user))),e.tag&&e.tag.length>0&&(b=b.filter(I=>e.tag.every(N=>(I.tags??[]).includes(N))));let R=e.limit===void 0?5:parseInt(e.limit,10);if(!isNaN(R)&&R>0&&(b=b.slice(0,R)),e.json){console.log(JSON.stringify(b.map(I=>wt(I,o)),null,2));return}let y=b.some(I=>(I.type??"").toLowerCase()==="research"),E=b.some(I=>(I.type??"").toLowerCase()==="bug"),L=Y(B(t));if(Ne({hasResearchTasks:y,hasBugTasks:E,autoCommit:L.autoCommit,autoPush:L.autoPush,autoComment:L.autoComment,createBranch:L.createBranch,requireVerifyBeforeReview:L.requireVerifyBeforeReview}),b.length===0)console.log(r.dim("No tasks found."));else{b=b.sort((N,C)=>{let h=Je(N.status)-Je(C.status);if(h!==0)return h;let S=be(N.priority??void 0)-be(C.priority??void 0);return S!==0?S:new Date(C.updatedAt).getTime()-new Date(N.updatedAt).getTime()});for(let[N,C]of b.entries()){let h=we[C.status]??r.white,S=_o(C.type);if(console.log(` ${r.dim(`${N+1}.`)} ${h(`[${C.status}]`)} ${C.title}`),console.log(r.dim(` id: ${C.id}`)),console.log(r.dim(" selector: /")),S&&console.log(r.dim(` type: ${S}`)),C.priority&&console.log(r.dim(` priority: ${C.priority}`)),console.log(r.dim(` created: ${C.createdAt}`)),C.description){console.log(r.dim(" description:"));for(let x of C.description.split(`
|
|
1824
1824
|
`))console.log(r.dim(` ${x}`))}if(C.comments&&C.comments.length>0){let x=[...C.comments].sort(ke);console.log(r.dim(` comments (${x.length}):`));for(let k of x){let P=k.authorId?`user:${k.authorId.slice(0,8)}`:"agent";console.log(r.dim(` [${P}] ${k.createdAt}`));for(let T of k.body.split(`
|
|
1825
1825
|
`))console.log(r.dim(` ${T}`))}}if(C.files&&C.files.length>0){console.log(r.dim(` linked files (${C.files.length}):`));for(let x of C.files){let k=x.url??`${process.env.VIBEFLOW_API_URL??"https://app.vibeflow.tools"}/api/tasks/${C.id}/files/${encodeURIComponent(x.name)}`;if(console.log(r.dim(` - ${x.name} ${k}`)),x.content){console.log(r.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let P of x.content.split(`
|
|
1826
|
-
`))console.log(r.dim(` \u2502 ${P}`));console.log(r.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}console.log()}let I=m.data.tasks.map(N=>({...N,status:fe(N.status)}));console.log(r.dim(Sr(I)))}return}let s=ce(t);if(e.user&&!Me(e.user,s))return;let c=e.status?s.filter(d=>d.status===e.status):s;e.type&&(c=c.filter(d=>(d.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&(c=c.filter(d=>De(d.author,e.user))),e.tag&&e.tag.length>0&&(c=c.filter(d=>e.tag.every(m=>(d.tags??[]).includes(m))));let u=e.limit===void 0?5:parseInt(e.limit,10);if(e.json){console.log(JSON.stringify(c.map(d=>wt(d,o)),null,2));return}c=c.sort((d,m)=>{let b=Je(d.status)-Je(m.status);if(b!==0)return b;let R=be(d.priority)-be(m.priority);if(R!==0)return R;let y=new Date(d.updated??d.created).getTime(),
|
|
1826
|
+
`))console.log(r.dim(` \u2502 ${P}`));console.log(r.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}console.log()}let I=m.data.tasks.map(N=>({...N,status:fe(N.status)}));console.log(r.dim(Sr(I)))}return}let s=ce(t);if(e.user&&!Me(e.user,s))return;let c=e.status?s.filter(d=>d.status===e.status):s;e.type&&(c=c.filter(d=>(d.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&(c=c.filter(d=>De(d.author,e.user))),e.tag&&e.tag.length>0&&(c=c.filter(d=>e.tag.every(m=>(d.tags??[]).includes(m))));let u=e.limit===void 0?5:parseInt(e.limit,10);if(e.json){console.log(JSON.stringify(c.map(d=>wt(d,o)),null,2));return}c=c.sort((d,m)=>{let b=Je(d.status)-Je(m.status);if(b!==0)return b;let R=be(d.priority)-be(m.priority);if(R!==0)return R;let y=new Date(d.updated??d.created).getTime(),E=new Date(m.updated??m.created).getTime();return y!==E?E-y:d.id.localeCompare(m.id)});let g=c.length;if(!isNaN(u)&&u>0&&(c=c.slice(0,u)),c.length===0){console.log(r.dim("No tasks found."));return}let p=B(t),w=c.some(d=>(d.type??"").toLowerCase()==="research"),_=c.some(d=>(d.type??"").toLowerCase()==="bug"),z=Y(p);Ne({hasResearchTasks:w,hasBugTasks:_,autoCommit:z.autoCommit,autoPush:z.autoPush,autoComment:z.autoComment,createBranch:z.createBranch,requireVerifyBeforeReview:z.requireVerifyBeforeReview});let $=Te(p);for(let[d,m]of c.entries()){let b=oe(p,m.id).sort(ke),R=ee(p,m.id).map(E=>({...E,url:`http://localhost:${$.port}${E.url}`})),y=Tt(m,b,R);To(m,y,d,$.port,p)}let M=!isNaN(u)&&u>0&&g>u?r.yellow(` (showing ${u} of ${g} matching \u2014 use --limit 0 for all)`):"";console.log(r.dim(Sr(s))+M)}async function l(){try{await n()}finally{await G()}}l()});W.command("login",{hidden:!0}).description("Authenticate CLI against the Vibeflow SaaS backend (device flow)").action(async()=>{ne("command_run",{command:"login"}),await G(),await $t()});W.command("logout",{hidden:!0}).description("Remove stored auth token and switch to local mode").action(async()=>{ne("command_run",{command:"logout"}),await G(),await Vn()});W.command("status",{hidden:!0}).description("Show login status, connection info, and task statistics").action(async()=>{if(await xe()==="local"){console.log(r.yellow("\u25CF Not logged in")+r.dim(" (local mode)")),console.log(r.dim(" Run ")+r.cyan("vibeflow login")+r.dim(" to connect to the Vibeflow cloud.")),console.log();let o=B("."),i=ce(o);if(i.length>0){let s=i.reduce((c,u)=>(c[u.status]=(c[u.status]??0)+1,c),{});console.log(r.bold(" Local task statistics:"));for(let[c,u]of Object.entries(s)){let g=we[c]??r.white;console.log(` ${g(c.padEnd(12))} ${u}`)}console.log(r.dim(` ${"total".padEnd(12)} ${i.length}`))}else console.log(r.dim(" No local tasks found."));return}let e=await de();console.log(r.green("\u25CF Online")+r.dim(" (SaaS mode)")),e&&(console.log(r.dim(` Board: ${e.icon?`${e.icon} `:""}${e.name}`)),e.email&&console.log(r.dim(` Email: ${e.email}`)),console.log(r.dim(" URL: ")+r.cyan(e.url))),console.log();let n=await Ie(e?.id);if(!n.ok){console.log(r.yellow(" \u26A0 Could not reach SaaS backend. Check your connection."));return}let l=n.data.tasks.map(o=>({...o,status:fe(o.status)}));if(l.length===0){console.log(r.dim(" No tasks found."));return}let a=l.reduce((o,i)=>(o[i.status]=(o[i.status]??0)+1,o),{});console.log(r.bold(" Task statistics:"));for(let[o,i]of Object.entries(a)){let s=we[o]??r.white;console.log(` ${s(o.padEnd(12))} ${i}`)}console.log(r.dim(` ${"total".padEnd(12)} ${l.length}`))});W.command("push",{hidden:!0}).description("Push all local tasks to the Vibeflow SaaS app and delete them locally").argument("[dir]","Project root directory",".").option("--workspace <id>","Target workspace ID (defaults to your first workspace)").option("--keep-local-files","Keep local task files after pushing (do not delete them)").option("--dry-run","Preview what would be pushed without making any changes").action(async(t,e)=>{ne("command_run",{command:"push"}),await Ft(t,e),await G()});W.command("watch").description("Watch the task store and print ticket details for important updates (new tasks, tasks moved to todo)").argument("[dir]","Project root directory",".").action(async t=>{ne("command_run",{command:"watch"}),await G(),Yn(t)});W.command("telemetry").description("Manage CLI usage telemetry (opt-out at any time)").option("--enable","Enable usage telemetry (default)").option("--disable","Disable usage telemetry").option("--status","Show current telemetry status").action(async t=>{if(t.disable){kt(!1),console.log(r.yellow("Telemetry disabled. No usage data will be collected.")),console.log(r.dim("Run `vibeflow telemetry --enable` to re-enable at any time."));return}if(t.enable){kt(!0),console.log(r.green("Telemetry enabled. Thank you for helping improve Vibeflow!"));return}let{enabled:e,anonymousId:n}=xr(),l=process.env.VIBEFLOW_TELEMETRY==="0";console.log(r.bold("Telemetry status:")),console.log(` Enabled: ${e?r.green("yes"):r.yellow("no")}`),l&&console.log(r.dim(" (disabled via VIBEFLOW_TELEMETRY=0 environment variable)")),n&&console.log(r.dim(` Anonymous ID: ${n}`)),console.log(),console.log(r.dim(" vibeflow telemetry --disable Opt out of usage tracking")),console.log(r.dim(" vibeflow telemetry --enable Opt back in")),console.log(r.dim(" No PII is ever collected. User identity is hashed."))});W.command("auth").description("Manage stored auth state (encrypted cookies for Playwright verification)").option("--clear","Delete all per-task encrypted auth state files").option("--list","List stored auth state files and their age").action(async t=>{ne("command_run",{command:"auth"}),await G();let e=B(".");if(t.clear){let n=er(e);console.log(n===0?r.dim(" No auth state files found. Nothing to clear."):r.green(` \u2713 Cleared ${n} auth state file(s)`));return}if(t.list){let n=tr(e);if(n.length===0){console.log(r.dim(" No auth state files found."));return}console.log(r.bold(` Auth state files (${n.length}):`));for(let l of n)console.log(r.dim(` ${l.taskId} age: ${l.age} path: ${l.path}`));return}console.log(r.bold("Auth management:")),console.log(r.dim(" vibeflow auth --clear Delete all per-task encrypted auth state files")),console.log(r.dim(" vibeflow auth --list List stored auth state files and their age"))});W.command("verify").description("Verify a task against its baseline snapshot, or explore captured evidence").argument("[args...]","task-id, or a tool: style_query | style_diff | element_info | html_diff").option("--json","Output machine-readable JSON").option("--url <url>","Override target URL (same-origin port changes only)").option("--filter <pattern>","Filter style properties by substring (style_diff only)").action(async(t,e)=>{ne("command_run",{command:"verify"});let[n,...l]=t;if(n&&cr.has(n)){await ur(".",n,l,e),await G();return}if(!n){process.stderr.write(r.red(`\u2717 Task ID required.
|
|
1827
1827
|
`)),process.stderr.write(r.dim(` Usage: vibeflow verify <task-id>
|
|
1828
1828
|
`)),process.stderr.write(r.dim(` Tools: vibeflow verify <tool> <task-id> [...]
|
|
1829
|
-
`)),process.exitCode=1;return}await At(".",n,e),await
|
|
1829
|
+
`)),process.exitCode=1;return}await At(".",n,e),await G()});W.command("changelog").description("Show the changelog \u2014 latest version by default").option("--all","Show the full changelog for every version").action(async t=>{ne("command_run",{command:"changelog"}),await G(),Qn({all:t.all===!0})});W.parse();
|