@vibeflow-tools/cli 0.10.0 → 0.11.0

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/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
- import{a as F,b as ge,c as Te,d as Ct,e as nt,f as be,g as jt,h as ie,i as Tt,j as we,k as ne,l as Q,m as X,n as H,o as Ae,p as rt,q as Ee,r as Et,s as It,u as Y,v as Nt,w as Pt,x as Rt}from"./chunk-Y5ZURUI5.js";import{a as J,b as Lt,c as Ot}from"./chunk-KJ5LYG6A.js";import{Command as Wa}from"commander";import{execSync as _t,execFileSync as et}from"child_process";import{readFileSync as Dr,readdirSync as Fr,statSync as Br,existsSync as vt,writeFileSync as sn,mkdirSync as cn,unlinkSync as gn}from"fs";import{createRequire as Ur}from"module";import{join as ee,resolve as Hr,basename as oe,extname as bn,dirname as Wr}from"path";import{createServer as mn}from"http";import{spawn as qr,execSync as hn}from"child_process";import{networkInterfaces as Vr}from"os";import he from"express";import{WebSocketServer as vn,WebSocket as yn}from"ws";import v from"chalk";import{createExpressMiddleware as Kr}from"@trpc/server/adapters/express";import*as ar from"cheerio";import{readdirSync as eo,statSync as to}from"fs";import{join as ro,extname as ao}from"path";function zt(t,e){let r=`<script data-vibeflow-overlay>${e}</script>`,l=t.lastIndexOf("</body>");return l!==-1?t.slice(0,l)+r+`
3
- `+t.slice(l):t+`
4
- `+r}import{watch as or}from"chokidar";function at(t,e){let r=or(t,{persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}});return r.on("change",l=>{e.onChange(l)}),e.onAdd&&r.on("add",e.onAdd),e.onUnlink&&r.on("unlink",e.onUnlink),r}function Ie(t,e){return at(t,{onChange:e.onChanged,onAdd:e.onChanged,onUnlink:e.onDeleted})}var ot=`"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\`
2
+ import{a as U,b as Ce,c as ze,d as Ht,e as gt,f as Ee,g as Wt,h as V,i as Vt,j as Ne,k as ee,l as re,m as ae,n as B,o as Ve,p as qt,q as Me,r as Kt,s as Y,u as te,v as G,w as Yt,x as Pe}from"./chunk-TCTUG3QV.js";import{a as oe,b as Gt,c as Qt}from"./chunk-KJ5LYG6A.js";import{Command as bi}from"commander";import{execSync as Ut,execFileSync as ft}from"child_process";import{readFileSync as Va,readdirSync as qa,statSync as Ka,existsSync as Pt,writeFileSync as Nn,mkdirSync as Pn,unlinkSync as zn}from"fs";import{join as le,resolve as Ya,basename as fe,extname as Mn,dirname as Ga}from"path";import{createServer as Dn}from"http";import{spawn as Qa,execSync as Fn}from"child_process";import{networkInterfaces as Xa}from"os";import ge from"express";import{WebSocketServer as Bn,WebSocket as Un}from"ws";import S from"chalk";import{createExpressMiddleware as Ja}from"@trpc/server/adapters/express";import*as Zr from"cheerio";import{readdirSync as Ti,statSync as ji}from"fs";import{join as Ni,extname as Pi}from"path";function Xt(t,e){let n=`<script data-vibeflow-overlay>${e}</script>`,i=t.lastIndexOf("</body>");return i!==-1?t.slice(0,i)+n+`
3
+ `+t.slice(i):t+`
4
+ `+n}import{watch as ea}from"chokidar";function mt(t,e){let n=ea(t,{persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}});return n.on("change",i=>{e.onChange(i)}),e.onAdd&&n.on("add",e.onAdd),e.onUnlink&&n.on("unlink",e.onUnlink),n}function De(t,e){return mt(t,{onChange:e.onChanged,onAdd:e.onChanged,onUnlink:e.onDeleted})}var bt=`"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\`
5
5
  \`+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(\`
6
6
  \`),f=d.stack.split(\`
7
7
  \`),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(g!==1||h!==1)do if(g--,h--,0>h||e[g]!==f[h]){var k=\`
8
8
  \`+e[g].replace(" at new "," at ");return a.displayName&&k.includes("<anonymous>")&&(k=k.replace("<anonymous>",a.displayName)),k}while(1<=g&&0<=h);break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?Ma(a):""}function Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return""}}function Qa(a){if(a==null)return null;if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case Ca:return(a.displayName||"Context")+".Consumer";case Ba:return(a._context.displayName||"Context")+".Provider";case Da:var b=a.render;return a=a.displayName,a||(a=b.displayName||b.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case Ga:return b=a.displayName||null,b!==null?b:Qa(a.type)||"Memo";case Ha:b=a._payload,a=a._init;try{return Qa(a(b))}catch{}}return null}function Ra(a){var b=a.type;switch(a.tag){case 24:return"Cache";case 9:return(b.displayName||"Context")+".Consumer";case 10:return(b._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return a=b.render,a=a.displayName||a.name||"",b.displayName||(a!==""?"ForwardRef("+a+")":"ForwardRef");case 7:return"Fragment";case 5:return b;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa(b);case 8:return b===za?"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 b=="function")return b.displayName||b.name||null;if(typeof b=="string")return b}return null}function Sa(a){switch(typeof a){case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function Ta(a){var b=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(b==="checkbox"||b==="radio")}function Ua(a){var b=Ta(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var e=c.get,f=c.set;return Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a2){d=""+a2,f.call(this,a2)}}),Object.defineProperty(a,b,{enumerable:c.enumerable}),{getValue:function(){return d},setValue:function(a2){d=""+a2},stopTracking:function(){a._valueTracker=null,delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue(),d="";return a&&(d=Ta(a)?a.checked?"true":"false":a.value),a=d,a!==c?(b.setValue(a),!0):!1}function Xa(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}function Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c??a._wrapperState.initialChecked})}function Za(a,b){var c=b.defaultValue==null?"":b.defaultValue,d=b.checked!=null?b.checked:b.defaultChecked;c=Sa(b.value!=null?b.value:c),a._wrapperState={initialChecked:d,initialValue:c,controlled:b.type==="checkbox"||b.type==="radio"?b.checked!=null:b.value!=null}}function ab(a,b){b=b.checked,b!=null&&ta(a,"checked",b,!1)}function bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(c!=null)d==="number"?(c===0&&a.value===""||a.value!=c)&&(a.value=""+c):a.value!==""+c&&(a.value=""+c);else if(d==="submit"||d==="reset"){a.removeAttribute("value");return}b.hasOwnProperty("value")?cb(a,b.type,c):b.hasOwnProperty("defaultValue")&&cb(a,b.type,Sa(b.defaultValue)),b.checked==null&&b.defaultChecked!=null&&(a.defaultChecked=!!b.defaultChecked)}function db(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=b.type;if(!(d!=="submit"&&d!=="reset"||b.value!==void 0&&b.value!==null))return;b=""+a._wrapperState.initialValue,c||b===a.value||(a.value=b),a.defaultValue=b}c=a.name,c!==""&&(a.name=""),a.defaultChecked=!!a._wrapperState.initialChecked,c!==""&&(a.name=c)}function cb(a,b,c){(b!=="number"||Xa(a.ownerDocument)!==a)&&(c==null?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c))}var eb=Array.isArray;function fb(a,b,c,d){if(a=a.options,b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{for(c=""+Sa(c),b=null,e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0,d&&(a[e].defaultSelected=!0);return}b!==null||a[e].disabled||(b=a[e])}b!==null&&(b.selected=!0)}}function gb(a,b){if(b.dangerouslySetInnerHTML!=null)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(c==null){if(c=b.children,b=b.defaultValue,c!=null){if(b!=null)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}b==null&&(b=""),c=b}a._wrapperState={initialValue:Sa(c)}}function ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);c!=null&&(c=""+c,c!==a.value&&(a.value=c),b.defaultValue==null&&a.defaultValue!==c&&(a.defaultValue=c)),d!=null&&(a.defaultValue=""+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&b!==""&&b!==null&&(a.value=b)}function kb(a){switch(a){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 lb(a,b){return a==null||a==="http://www.w3.org/1999/xhtml"?kb(b):a==="http://www.w3.org/2000/svg"&&b==="foreignObject"?"http://www.w3.org/1999/xhtml":a}var mb,nb=(function(a){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a})(function(a,b){if(a.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in a)a.innerHTML=b;else{for(mb=mb||document.createElement("div"),mb.innerHTML="<svg>"+b.valueOf().toString()+"</svg>",b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});function ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&c.nodeType===3){c.nodeValue=b;return}}a.textContent=b}var pb={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},qb=["Webkit","ms","Moz","O"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1),pb[b]=pb[a]})});function rb(a,b,c){return b==null||typeof b=="boolean"||b===""?"":c||typeof b!="number"||b===0||pb.hasOwnProperty(a)&&pb[a]?(""+b).trim():b+"px"}function sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=c.indexOf("--")===0,e=rb(c,b[c],d);c==="float"&&(c="cssFloat"),d?a.setProperty(c,e):a[c]=e}}var tb=A({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 ub(a,b){if(b){if(tb[a]&&(b.children!=null||b.dangerouslySetInnerHTML!=null))throw Error(p(137,a));if(b.dangerouslySetInnerHTML!=null){if(b.children!=null)throw Error(p(60));if(typeof b.dangerouslySetInnerHTML!="object"||!("__html"in b.dangerouslySetInnerHTML))throw Error(p(61))}if(b.style!=null&&typeof b.style!="object")throw Error(p(62))}}function vb(a,b){if(a.indexOf("-")===-1)return typeof b.is=="string";switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),a.nodeType===3?a.parentNode:a}var yb=null,zb=null,Ab=null;function Bb(a){if(a=Cb(a)){if(typeof yb!="function")throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;if(Ab=zb=null,Bb(a),b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{Ib=!1,(zb!==null||Ab!==null)&&(Hb(),Fb())}}function Kb(a,b){var c=a.stateNode;if(c===null)return null;var d=Db(c);if(d===null)return null;c=d[b];a:switch(b){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(d=!d.disabled)||(a=a.type,d=!(a==="button"||a==="input"||a==="select"||a==="textarea")),a=!d;break a;default:a=!1}if(a)return null;if(c&&typeof c!="function")throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{Mb={},Object.defineProperty(Mb,"passive",{get:function(){Lb=!0}}),window.addEventListener("test",Mb,Mb),window.removeEventListener("test",Mb,Mb)}catch{Lb=!1}var Mb;function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0,Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1,Pb=null,Nb.apply(Sb,arguments)}function Ub(a,b,c,d,e,f,g,h,k){if(Tb.apply(this,arguments),Ob){if(Ob){var l=Pb;Ob=!1,Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,(b.flags&4098)!==0&&(c=b.return),a=b.return;while(a)}return b.tag===3?c:null}function Wb(a){if(a.tag===13){var b=a.memoizedState;if(b===null&&(a=a.alternate,a!==null&&(b=a.memoizedState)),b!==null)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188))}function Yb(a){var b=a.alternate;if(!b){if(b=Vb(a),b===null)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(e===null)break;var f=e.alternate;if(f===null){if(d=e.return,d!==null){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188))}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0,c=e,d=f;break}if(h===d){g=!0,d=e,c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0,c=f,d=e;break}if(h===d){g=!0,d=f,c=e;break}h=h.sibling}if(!g)throw Error(p(189))}}if(c.alternate!==d)throw Error(p(190))}if(c.tag!==3)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){return a=Yb(a),a!==null?$b(a):null}function $b(a){if(a.tag===5||a.tag===6)return a;for(a=a.child;a!==null;){var b=$b(a);if(b!==null)return b;a=a.sibling}return null}var ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&typeof lc.onCommitFiberRoot=="function")try{lc.onCommitFiberRoot(kc,a,void 0,(a.current.flags&128)===128)}catch{}}var oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){return a>>>=0,a===0?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;function tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function uc(a,b){var c=a.pendingLanes;if(c===0)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(g!==0){var h=g&~e;h!==0?d=tc(h):(f&=g,f!==0&&(d=tc(f)))}else g=c&~e,g!==0?d=tc(g):f!==0&&(d=tc(f));if(d===0)return 0;if(b!==0&&b!==d&&(b&e)===0&&(e=d&-d,f=b&-b,e>=f||e===16&&(f&4194240)!==0))return b;if((d&4)!==0&&(d|=c&16),b=a.entangledLanes,b!==0)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}function vc(a,b){switch(a){case 1:case 2:case 4:return b+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 b+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 wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];k===-1?((h&c)===0||(h&d)!==0)&&(e[g]=vc(h,b)):k<=b&&(a.expiredLanes|=h),f&=~h}}function xc(a){return a=a.pendingLanes&-1073741825,a!==0?a:a&1073741824?1073741824:0}function yc(){var a=rc;return rc<<=1,(rc&4194240)===0&&(rc=64),a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}function Ac(a,b,c){a.pendingLanes|=b,b!==536870912&&(a.suspendedLanes=0,a.pingedLanes=0),a=a.eventTimes,b=31-oc(b),a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b,a.suspendedLanes=0,a.pingedLanes=0,a.expiredLanes&=b,a.mutableReadLanes&=b,a.entangledLanes&=b,b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0,d[e]=-1,a[e]=-1,c&=~f}}function Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b),c&=~e}}var C=0;function Dc(a){return a&=-a,1<a?4<a?(a&268435455)!==0?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc="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 Sc(a,b){switch(a){case"focusin":case"focusout":Lc=null;break;case"dragenter":case"dragleave":Mc=null;break;case"mouseover":case"mouseout":Nc=null;break;case"pointerover":case"pointerout":Oc.delete(b.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pc.delete(b.pointerId)}}function Tc(a,b,c,d,e,f){return a===null||a.nativeEvent!==f?(a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},b!==null&&(b=Cb(b),b!==null&&Fc(b)),a):(a.eventSystemFlags|=d,b=a.targetContainers,e!==null&&b.indexOf(e)===-1&&b.push(e),a)}function Uc(a,b,c,d,e){switch(b){case"focusin":return Lc=Tc(Lc,a,b,c,d,e),!0;case"dragenter":return Mc=Tc(Mc,a,b,c,d,e),!0;case"mouseover":return Nc=Tc(Nc,a,b,c,d,e),!0;case"pointerover":var f=e.pointerId;return Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e)),!0;case"gotpointercapture":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}function Vc(a){var b=Wc(a.target);if(b!==null){var c=Vb(b);if(c!==null){if(b=c.tag,b===13){if(b=Wb(c),b!==null){a.blockedOn=b,Ic(a.priority,function(){Gc(c)});return}}else if(b===3&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=c.tag===3?c.stateNode.containerInfo:null;return}}}a.blockedOn=null}function Xc(a){if(a.blockedOn!==null)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(c===null){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d,c.target.dispatchEvent(d),wb=null}else return b=Cb(c),b!==null&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1,Lc!==null&&Xc(Lc)&&(Lc=null),Mc!==null&&Xc(Mc)&&(Mc=null),Nc!==null&&Xc(Nc)&&(Nc=null),Oc.forEach(Zc),Pc.forEach(Zc)}function ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}function bd(a){function b(b2){return ad(b2,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}for(Lc!==null&&ad(Lc,a),Mc!==null&&ad(Mc,a),Nc!==null&&ad(Nc,a),Oc.forEach(b),Pc.forEach(b),c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],c.blockedOn===null);)Vc(c),c.blockedOn===null&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;function ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(e===null)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;e!==null;){var f=Cb(e);if(f!==null&&Ec(f),f=Yc(a,b,c,d),f===null&&hd(a,b,d,id,c),f===e)break;e=f}e!==null&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;function Yc(a,b,c,d){if(id=null,a=xb(d),a=Wc(a),a!==null)if(b=Vb(a),b===null)a=null;else if(c=b.tag,c===13){if(a=Wb(b),a!==null)return a;a=null}else if(c===3){if(b.stateNode.current.memoizedState.isDehydrated)return b.tag===3?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);return id=a,null}function jd(a){switch(a){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(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e="value"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}function od(a){var b=a.keyCode;return"charCode"in a?(a=a.charCode,a===0&&b===13&&(a=13)):a=b,a===10&&(a=13),32<=a||a===13?a:0}function pd(){return!0}function qd(){return!1}function rd(a){function b(b2,d,e,f,g){this._reactName=b2,this._targetInst=e,this.type=d,this.nativeEvent=f,this.target=g,this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b2=a[c],this[c]=b2?b2(f):f[c]);return this.isDefaultPrevented=(f.defaultPrevented!=null?f.defaultPrevented:f.returnValue===!1)?pd:qd,this.isPropagationStopped=qd,this}return A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a2=this.nativeEvent;a2&&(a2.preventDefault?a2.preventDefault():typeof a2.returnValue!="unknown"&&(a2.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a2=this.nativeEvent;a2&&(a2.stopPropagation?a2.stopPropagation():typeof a2.cancelBubble!="unknown"&&(a2.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd}),b}var sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return a.relatedTarget===void 0?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){return"movementX"in a?a.movementX:(a!==yd&&(yd&&a.type==="mousemove"?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a),wd)},movementY:function(a){return"movementY"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Nd={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"},Od={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}var Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(b!=="Unidentified")return b}return a.type==="keypress"?(a=od(a),a===13?"Enter":String.fromCharCode(a)):a.type==="keydown"||a.type==="keyup"?Nd[a.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return a.type==="keypress"?od(a):0},keyCode:function(a){return a.type==="keydown"||a.type==="keyup"?a.keyCode:0},which:function(a){return a.type==="keypress"?od(a):a.type==="keydown"||a.type==="keyup"?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&"CompositionEvent"in window,be=null;ia&&"documentMode"in document&&(be=document.documentMode);var ce=ia&&"TextEvent"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=" ",fe=!1;function ge(a,b){switch(a){case"keyup":return $d.indexOf(b.keyCode)!==-1;case"keydown":return b.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case"compositionend":return he(b);case"keypress":return b.which!==32?null:(fe=!0,ee);case"textInput":return a=b.data,a===ee&&fe?null:a;default:return null}}function ke(a,b){if(ie)return a==="compositionend"||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case"compositionend":return de&&b.locale!=="ko"?null:b.data;default:return null}}var le={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 me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b==="input"?!!le[a.type]:b==="textarea"}function ne(a,b,c,d){Eb(d),b=oe(b,"onChange"),0<b.length&&(c=new td("onChange","change",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}function ve(a,b){if(a==="change")return b}var we=!1;ia&&(ia?(ye="oninput"in document,ye||(ze=document.createElement("div"),ze.setAttribute("oninput","return;"),ye=typeof ze.oninput=="function"),xe=ye):xe=!1,we=xe&&(!document.documentMode||9<document.documentMode));var xe,ye,ze;function Ae(){pe&&(pe.detachEvent("onpropertychange",Be),qe=pe=null)}function Be(a){if(a.propertyName==="value"&&te(qe)){var b=[];ne(b,qe,a,xb(a)),Jb(re,b)}}function Ce(a,b,c){a==="focusin"?(Ae(),pe=b,qe=c,pe.attachEvent("onpropertychange",Be)):a==="focusout"&&Ae()}function De(a){if(a==="selectionchange"||a==="keyup"||a==="keydown")return te(qe)}function Ee(a,b){if(a==="click")return te(b)}function Fe(a,b){if(a==="input"||a==="change")return te(b)}function Ge(a,b){return a===b&&(a!==0||1/a===1/b)||a!==a&&b!==b}var He=typeof Object.is=="function"?Object.is:Ge;function Ie(a,b){if(He(a,b))return!0;if(typeof a!="object"||a===null||typeof b!="object"||b===null)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(c.nodeType===3){if(d=a+c.textContent.length,a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&a.nodeType===3?!1:b&&b.nodeType===3?Le(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=typeof b.contentWindow.location.href=="string"}catch{c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(b==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||b==="textarea"||a.contentEditable==="true")}function Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(d!==null&&Ne(c)){if(b=d.start,a=d.end,a===void 0&&(a=b),"selectionStart"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=d.end===void 0?f:Math.min(d.end,e),!a.extend&&f>d&&(e=d,d=f,f=e),e=Ke(c,f);var g=Ke(c,d);e&&g&&(a.rangeCount!==1||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}}for(b=[],a=c;a=a.parentNode;)a.nodeType===1&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}var Pe=ia&&"documentMode"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(a,b,c){var d=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;Te||Qe==null||Qe!==Xa(d)||(d=Qe,"selectionStart"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,"onSelect"),0<d.length&&(b=new td("onSelect","select",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}function Ve(a,b){var c={};return c[a.toLowerCase()]=b.toLowerCase(),c["Webkit"+a]="webkit"+b,c["Moz"+a]="moz"+b,c}var We={animationend:Ve("Animation","AnimationEnd"),animationiteration:Ve("Animation","AnimationIteration"),animationstart:Ve("Animation","AnimationStart"),transitionend:Ve("Transition","TransitionEnd")},Xe={},Ye={};ia&&(Ye=document.createElement("div").style,"AnimationEvent"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),"TransitionEvent"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze("animationend"),af=Ze("animationiteration"),bf=Ze("animationstart"),cf=Ze("transitionend"),df=new Map,ef="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 ff(a,b){df.set(a,b),fa(b,[a])}for(gf=0;gf<ef.length;gf++)hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1),ff(jf,"on"+kf);var hf,jf,kf,gf;ff($e,"onAnimationEnd");ff(af,"onAnimationIteration");ff(bf,"onAnimationStart");ff("dblclick","onDoubleClick");ff("focusin","onFocus");ff("focusout","onBlur");ff(cf,"onTransitionEnd");ha("onMouseEnter",["mouseout","mouseover"]);ha("onMouseLeave",["mouseout","mouseover"]);ha("onPointerEnter",["pointerout","pointerover"]);ha("onPointerLeave",["pointerout","pointerover"]);fa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));fa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));fa("onBeforeInput",["compositionend","keypress","textInput","paste"]);fa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));fa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));fa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var lf="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(" "),mf=new Set("cancel close invalid load scroll toggle".split(" ").concat(lf));function nf(a,b,c){var d=a.type||"unknown-event";a.currentTarget=c,Ub(d,b,void 0,a),a.currentTarget=null}function se(a,b){b=(b&4)!==0;for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;if(h=h.listener,k!==f&&e.isPropagationStopped())break a;nf(e,h,l),f=k}else for(g=0;g<d.length;g++){if(h=d[g],k=h.instance,l=h.currentTarget,h=h.listener,k!==f&&e.isPropagationStopped())break a;nf(e,h,l),f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a}function D(a,b){var c=b[of];c===void 0&&(c=b[of]=new Set);var d=a+"__bubble";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4),pf(c,a,d,b)}var rf="_reactListening"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0,da.forEach(function(b2){b2!=="selectionchange"&&(mf.has(b2)||qf(b2,!1,a),qf(b2,!0,a))});var b=a.nodeType===9?a:a.ownerDocument;b===null||b[rf]||(b[rf]=!0,qf("selectionchange",!1,b))}}function pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a),e=void 0,!Lb||b!=="touchstart"&&b!=="touchmove"&&b!=="wheel"||(e=!0),d?e!==void 0?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):e!==void 0?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}function hd(a,b,c,d,e){var f=d;if((b&1)===0&&(b&2)===0&&d!==null)a:for(;;){if(d===null)return;var g=d.tag;if(g===3||g===4){var h=d.stateNode.containerInfo;if(h===e||h.nodeType===8&&h.parentNode===e)break;if(g===4)for(g=d.return;g!==null;){var k=g.tag;if((k===3||k===4)&&(k=g.stateNode.containerInfo,k===e||k.nodeType===8&&k.parentNode===e))return;g=g.return}for(;h!==null;){if(g=Wc(h),g===null)return;if(k=g.tag,k===5||k===6){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d2=f,e2=xb(c),g2=[];a:{var h2=df.get(a);if(h2!==void 0){var k2=td,n=a;switch(a){case"keypress":if(od(c)===0)break a;case"keydown":case"keyup":k2=Rd;break;case"focusin":n="focus",k2=Fd;break;case"focusout":n="blur",k2=Fd;break;case"beforeblur":case"afterblur":k2=Fd;break;case"click":if(c.button===2)break a;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":k2=Bd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":k2=Dd;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":k2=Vd;break;case $e:case af:case bf:k2=Hd;break;case cf:k2=Xd;break;case"scroll":k2=vd;break;case"wheel":k2=Zd;break;case"copy":case"cut":case"paste":k2=Jd;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":k2=Td}var t=(b&4)!==0,J=!t&&a==="scroll",x=t?h2!==null?h2+"Capture":null:h2;t=[];for(var w=d2,u;w!==null;){u=w;var F=u.stateNode;if(u.tag===5&&F!==null&&(u=F,x!==null&&(F=Kb(w,x),F!=null&&t.push(tf(w,F,u)))),J)break;w=w.return}0<t.length&&(h2=new k2(h2,n,null,c,e2),g2.push({event:h2,listeners:t}))}}if((b&7)===0){a:{if(h2=a==="mouseover"||a==="pointerover",k2=a==="mouseout"||a==="pointerout",h2&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if((k2||h2)&&(h2=e2.window===e2?e2:(h2=e2.ownerDocument)?h2.defaultView||h2.parentWindow:window,k2?(n=c.relatedTarget||c.toElement,k2=d2,n=n?Wc(n):null,n!==null&&(J=Vb(n),n!==J||n.tag!==5&&n.tag!==6)&&(n=null)):(k2=null,n=d2),k2!==n)){if(t=Bd,F="onMouseLeave",x="onMouseEnter",w="mouse",(a==="pointerout"||a==="pointerover")&&(t=Td,F="onPointerLeave",x="onPointerEnter",w="pointer"),J=k2==null?h2:ue(k2),u=n==null?h2:ue(n),h2=new t(F,w+"leave",k2,c,e2),h2.target=J,h2.relatedTarget=u,F=null,Wc(e2)===d2&&(t=new t(x,w+"enter",n,c,e2),t.target=u,t.relatedTarget=J,F=t),J=F,k2&&n)b:{for(t=k2,x=n,w=0,u=t;u;u=vf(u))w++;for(u=0,F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=vf(x),u--;for(;w--;){if(t===x||x!==null&&t===x.alternate)break b;t=vf(t),x=vf(x)}t=null}else t=null;k2!==null&&wf(g2,h2,k2,t,!1),n!==null&&J!==null&&wf(g2,J,n,t,!0)}}a:{if(h2=d2?ue(d2):window,k2=h2.nodeName&&h2.nodeName.toLowerCase(),k2==="select"||k2==="input"&&h2.type==="file")var na=ve;else if(me(h2))if(we)na=Fe;else{na=De;var xa=Ce}else(k2=h2.nodeName)&&k2.toLowerCase()==="input"&&(h2.type==="checkbox"||h2.type==="radio")&&(na=Ee);if(na&&(na=na(a,d2))){ne(g2,na,c,e2);break a}xa&&xa(a,h2,d2),a==="focusout"&&(xa=h2._wrapperState)&&xa.controlled&&h2.type==="number"&&cb(h2,"number",h2.value)}switch(xa=d2?ue(d2):window,a){case"focusin":(me(xa)||xa.contentEditable==="true")&&(Qe=xa,Re=d2,Se=null);break;case"focusout":Se=Re=Qe=null;break;case"mousedown":Te=!0;break;case"contextmenu":case"mouseup":case"dragend":Te=!1,Ue(g2,c,e2);break;case"selectionchange":if(Pe)break;case"keydown":case"keyup":Ue(g2,c,e2)}var $a;if(ae)b:{switch(a){case"compositionstart":var ba="onCompositionStart";break b;case"compositionend":ba="onCompositionEnd";break b;case"compositionupdate":ba="onCompositionUpdate";break b}ba=void 0}else ie?ge(a,c)&&(ba="onCompositionEnd"):a==="keydown"&&c.keyCode===229&&(ba="onCompositionStart");ba&&(de&&c.locale!=="ko"&&(ie||ba!=="onCompositionStart"?ba==="onCompositionEnd"&&ie&&($a=nd()):(kd=e2,ld="value"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d2,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e2),g2.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),$a!==null&&(ba.data=$a)))),($a=ce?je(a,c):ke(a,c))&&(d2=oe(d2,"onBeforeInput"),0<d2.length&&(e2=new Ld("onBeforeInput","beforeinput",null,c,e2),g2.push({event:e2,listeners:d2}),e2.data=$a))}se(g2,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+"Capture",d=[];a!==null;){var e=a,f=e.stateNode;e.tag===5&&f!==null&&(e=f,f=Kb(a,c),f!=null&&d.unshift(tf(a,f,e)),f=Kb(a,b),f!=null&&d.push(tf(a,f,e))),a=a.return}return d}function vf(a){if(a===null)return null;do a=a.return;while(a&&a.tag!==5);return a||null}function wf(a,b,c,d,e){for(var f=b._reactName,g=[];c!==null&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(k!==null&&k===d)break;h.tag===5&&l!==null&&(h=l,e?(k=Kb(c,f),k!=null&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),k!=null&&g.push(tf(c,k,h)))),c=c.return}g.length!==0&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(typeof a=="string"?a:""+a).replace(xf,\`
9
9
  \`).replace(yf,"")}function Af(a,b,c){if(b=zf(b),zf(a)!==b&&c)throw Error(p(425))}function Bf(){}var Cf=null,Df=null;function Ef(a,b){return a==="textarea"||a==="noscript"||typeof b.children=="string"||typeof b.children=="number"||typeof b.dangerouslySetInnerHTML=="object"&&b.dangerouslySetInnerHTML!==null&&b.dangerouslySetInnerHTML.__html!=null}var Ff=typeof setTimeout=="function"?setTimeout:void 0,Gf=typeof clearTimeout=="function"?clearTimeout:void 0,Hf=typeof Promise=="function"?Promise:void 0,Jf=typeof queueMicrotask=="function"?queueMicrotask:typeof Hf<"u"?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a})}function Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;if(a.removeChild(c),e&&e.nodeType===8)if(c=e.data,c==="/$"){if(d===0){a.removeChild(e),bd(b);return}d--}else c!=="$"&&c!=="$?"&&c!=="$!"||d++;c=e}while(c);bd(b)}function Lf(a){for(;a!=null;a=a.nextSibling){var b=a.nodeType;if(b===1||b===3)break;if(b===8){if(b=a.data,b==="$"||b==="$!"||b==="$?")break;if(b==="/$")return null}}return a}function Mf(a){a=a.previousSibling;for(var b=0;a;){if(a.nodeType===8){var c=a.data;if(c==="$"||c==="$!"||c==="$?"){if(b===0)return a;b--}else c==="/$"&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of="__reactFiber$"+Nf,Pf="__reactProps$"+Nf,uf="__reactContainer$"+Nf,of="__reactEvents$"+Nf,Qf="__reactListeners$"+Nf,Rf="__reactHandles$"+Nf;function Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){if(c=b.alternate,b.child!==null||c!==null&&c.child!==null)for(a=Mf(a);a!==null;){if(c=a[Of])return c;a=Mf(a)}return b}a=c,c=a.parentNode}return null}function Cb(a){return a=a[Of]||a[uf],!a||a.tag!==5&&a.tag!==6&&a.tag!==13&&a.tag!==3?null:a}function ue(a){if(a.tag===5||a.tag===6)return a.stateNode;throw Error(p(33))}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}function E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++,Sf[Tf]=a.current,a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];return d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e),e}function Zf(a){return a=a.childContextTypes,a!=null}function $f(){E(Wf),E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b),G(Wf,c)}function bg(a,b,c){var d=a.stateNode;if(b=b.childContextTypes,typeof d.getChildContext!="function")return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||"Unknown",e));return A({},c,d)}function cg(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,a),G(Wf,Wf.current),!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf),G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){eg===null?eg=[a]:eg.push(a)}function ig(a){fg=!0,hg(a)}function jg(){if(!gg&&eg!==null){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(d!==null)}eg=null,fg=!1}catch(e){throw eg!==null&&(eg=eg.slice(a+1)),ac(fc,jg),e}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg="";function tg(a,b){kg[lg++]=ng,kg[lg++]=mg,mg=a,ng=b}function ug(a,b,c){og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e),c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32),d>>=g,e-=g,rg=1<<32-oc(b)+e|c<<e|d,sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){a.return!==null&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;function Ag(a,b){var c=Bg(5,null,null,0);c.elementType="DELETED",c.stateNode=b,c.return=a,b=a.deletions,b===null?(a.deletions=[c],a.flags|=16):b.push(c)}function Cg(a,b){switch(a.tag){case 5:var c=a.type;return b=b.nodeType!==1||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b,b!==null?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=a.pendingProps===""||b.nodeType!==3?null:b,b!==null?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=b.nodeType!==8?null:b,b!==null?(c=qg!==null?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=null,!0):!1;default:return!1}}function Dg(a){return(a.mode&1)!==0&&(a.flags&128)===0}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2,I=!1,xg=a}}}function Fg(a){for(a=a.return;a!==null&&a.tag!==5&&a.tag!==3&&a.tag!==13;)a=a.return;xg=a}function Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;if((b=a.tag!==3)&&!(b=a.tag!==5)&&(b=a.type,b=b!=="head"&&b!=="body"&&!Ef(a.type,a.memoizedProps)),b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}if(Fg(a),a.tag===13){if(a=a.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(p(317));a:{for(a=a.nextSibling,b=0;a;){if(a.nodeType===8){var c=a.data;if(c==="/$"){if(b===0){yg=Lf(a.nextSibling);break a}b--}else c!=="$"&&c!=="$!"&&c!=="$?"||b++}a=a.nextSibling}yg=null}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null,I=!1}function Jg(a){zg===null?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b,c){if(a=c.ref,a!==null&&typeof a!="function"&&typeof a!="object"){if(c._owner){if(c=c._owner,c){if(c.tag!==1)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=""+a;return b!==null&&b.ref!==null&&typeof b.ref=="function"&&b.ref._stringRef===f?b.ref:(b=function(a2){var b2=e.refs;a2===null?delete b2[f]:b2[f]=a2},b._stringRef=f,b)}if(typeof a!="string")throw Error(p(284));if(!c._owner)throw Error(p(290,a))}return a}function Mg(a,b){throw a=Object.prototype.toString.call(b),Error(p(31,a==="[object Object]"?"object with keys {"+Object.keys(b).join(", ")+"}":a))}function Ng(a){var b=a._init;return b(a._payload)}function Og(a){function b(b2,c2){if(a){var d2=b2.deletions;d2===null?(b2.deletions=[c2],b2.flags|=16):d2.push(c2)}}function c(c2,d2){if(!a)return null;for(;d2!==null;)b(c2,d2),d2=d2.sibling;return null}function d(a2,b2){for(a2=new Map;b2!==null;)b2.key!==null?a2.set(b2.key,b2):a2.set(b2.index,b2),b2=b2.sibling;return a2}function e(a2,b2){return a2=Pg(a2,b2),a2.index=0,a2.sibling=null,a2}function f(b2,c2,d2){return b2.index=d2,a?(d2=b2.alternate,d2!==null?(d2=d2.index,d2<c2?(b2.flags|=2,c2):d2):(b2.flags|=2,c2)):(b2.flags|=1048576,c2)}function g(b2){return a&&b2.alternate===null&&(b2.flags|=2),b2}function h(a2,b2,c2,d2){return b2===null||b2.tag!==6?(b2=Qg(c2,a2.mode,d2),b2.return=a2,b2):(b2=e(b2,c2),b2.return=a2,b2)}function k(a2,b2,c2,d2){var f2=c2.type;return f2===ya?m(a2,b2,c2.props.children,d2,c2.key):b2!==null&&(b2.elementType===f2||typeof f2=="object"&&f2!==null&&f2.$$typeof===Ha&&Ng(f2)===b2.type)?(d2=e(b2,c2.props),d2.ref=Lg(a2,b2,c2),d2.return=a2,d2):(d2=Rg(c2.type,c2.key,c2.props,null,a2.mode,d2),d2.ref=Lg(a2,b2,c2),d2.return=a2,d2)}function l(a2,b2,c2,d2){return b2===null||b2.tag!==4||b2.stateNode.containerInfo!==c2.containerInfo||b2.stateNode.implementation!==c2.implementation?(b2=Sg(c2,a2.mode,d2),b2.return=a2,b2):(b2=e(b2,c2.children||[]),b2.return=a2,b2)}function m(a2,b2,c2,d2,f2){return b2===null||b2.tag!==7?(b2=Tg(c2,a2.mode,d2,f2),b2.return=a2,b2):(b2=e(b2,c2),b2.return=a2,b2)}function q(a2,b2,c2){if(typeof b2=="string"&&b2!==""||typeof b2=="number")return b2=Qg(""+b2,a2.mode,c2),b2.return=a2,b2;if(typeof b2=="object"&&b2!==null){switch(b2.$$typeof){case va:return c2=Rg(b2.type,b2.key,b2.props,null,a2.mode,c2),c2.ref=Lg(a2,null,b2),c2.return=a2,c2;case wa:return b2=Sg(b2,a2.mode,c2),b2.return=a2,b2;case Ha:var d2=b2._init;return q(a2,d2(b2._payload),c2)}if(eb(b2)||Ka(b2))return b2=Tg(b2,a2.mode,c2,null),b2.return=a2,b2;Mg(a2,b2)}return null}function r(a2,b2,c2,d2){var e2=b2!==null?b2.key:null;if(typeof c2=="string"&&c2!==""||typeof c2=="number")return e2!==null?null:h(a2,b2,""+c2,d2);if(typeof c2=="object"&&c2!==null){switch(c2.$$typeof){case va:return c2.key===e2?k(a2,b2,c2,d2):null;case wa:return c2.key===e2?l(a2,b2,c2,d2):null;case Ha:return e2=c2._init,r(a2,b2,e2(c2._payload),d2)}if(eb(c2)||Ka(c2))return e2!==null?null:m(a2,b2,c2,d2,null);Mg(a2,c2)}return null}function y(a2,b2,c2,d2,e2){if(typeof d2=="string"&&d2!==""||typeof d2=="number")return a2=a2.get(c2)||null,h(b2,a2,""+d2,e2);if(typeof d2=="object"&&d2!==null){switch(d2.$$typeof){case va:return a2=a2.get(d2.key===null?c2:d2.key)||null,k(b2,a2,d2,e2);case wa:return a2=a2.get(d2.key===null?c2:d2.key)||null,l(b2,a2,d2,e2);case Ha:var f2=d2._init;return y(a2,b2,c2,f2(d2._payload),e2)}if(eb(d2)||Ka(d2))return a2=a2.get(c2)||null,m(b2,a2,d2,e2,null);Mg(b2,d2)}return null}function n(e2,g2,h2,k2){for(var l2=null,m2=null,u=g2,w=g2=0,x=null;u!==null&&w<h2.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n2=r(e2,u,h2[w],k2);if(n2===null){u===null&&(u=x);break}a&&u&&n2.alternate===null&&b(e2,u),g2=f(n2,g2,w),m2===null?l2=n2:m2.sibling=n2,m2=n2,u=x}if(w===h2.length)return c(e2,u),I&&tg(e2,w),l2;if(u===null){for(;w<h2.length;w++)u=q(e2,h2[w],k2),u!==null&&(g2=f(u,g2,w),m2===null?l2=u:m2.sibling=u,m2=u);return I&&tg(e2,w),l2}for(u=d(e2,u);w<h2.length;w++)x=y(u,e2,w,h2[w],k2),x!==null&&(a&&x.alternate!==null&&u.delete(x.key===null?w:x.key),g2=f(x,g2,w),m2===null?l2=x:m2.sibling=x,m2=x);return a&&u.forEach(function(a2){return b(e2,a2)}),I&&tg(e2,w),l2}function t(e2,g2,h2,k2){var l2=Ka(h2);if(typeof l2!="function")throw Error(p(150));if(h2=l2.call(h2),h2==null)throw Error(p(151));for(var u=l2=null,m2=g2,w=g2=0,x=null,n2=h2.next();m2!==null&&!n2.done;w++,n2=h2.next()){m2.index>w?(x=m2,m2=null):x=m2.sibling;var t2=r(e2,m2,n2.value,k2);if(t2===null){m2===null&&(m2=x);break}a&&m2&&t2.alternate===null&&b(e2,m2),g2=f(t2,g2,w),u===null?l2=t2:u.sibling=t2,u=t2,m2=x}if(n2.done)return c(e2,m2),I&&tg(e2,w),l2;if(m2===null){for(;!n2.done;w++,n2=h2.next())n2=q(e2,n2.value,k2),n2!==null&&(g2=f(n2,g2,w),u===null?l2=n2:u.sibling=n2,u=n2);return I&&tg(e2,w),l2}for(m2=d(e2,m2);!n2.done;w++,n2=h2.next())n2=y(m2,e2,w,n2.value,k2),n2!==null&&(a&&n2.alternate!==null&&m2.delete(n2.key===null?w:n2.key),g2=f(n2,g2,w),u===null?l2=n2:u.sibling=n2,u=n2);return a&&m2.forEach(function(a2){return b(e2,a2)}),I&&tg(e2,w),l2}function J(a2,d2,f2,h2){if(typeof f2=="object"&&f2!==null&&f2.type===ya&&f2.key===null&&(f2=f2.props.children),typeof f2=="object"&&f2!==null){switch(f2.$$typeof){case va:a:{for(var k2=f2.key,l2=d2;l2!==null;){if(l2.key===k2){if(k2=f2.type,k2===ya){if(l2.tag===7){c(a2,l2.sibling),d2=e(l2,f2.props.children),d2.return=a2,a2=d2;break a}}else if(l2.elementType===k2||typeof k2=="object"&&k2!==null&&k2.$$typeof===Ha&&Ng(k2)===l2.type){c(a2,l2.sibling),d2=e(l2,f2.props),d2.ref=Lg(a2,l2,f2),d2.return=a2,a2=d2;break a}c(a2,l2);break}else b(a2,l2);l2=l2.sibling}f2.type===ya?(d2=Tg(f2.props.children,a2.mode,h2,f2.key),d2.return=a2,a2=d2):(h2=Rg(f2.type,f2.key,f2.props,null,a2.mode,h2),h2.ref=Lg(a2,d2,f2),h2.return=a2,a2=h2)}return g(a2);case wa:a:{for(l2=f2.key;d2!==null;){if(d2.key===l2)if(d2.tag===4&&d2.stateNode.containerInfo===f2.containerInfo&&d2.stateNode.implementation===f2.implementation){c(a2,d2.sibling),d2=e(d2,f2.children||[]),d2.return=a2,a2=d2;break a}else{c(a2,d2);break}else b(a2,d2);d2=d2.sibling}d2=Sg(f2,a2.mode,h2),d2.return=a2,a2=d2}return g(a2);case Ha:return l2=f2._init,J(a2,d2,l2(f2._payload),h2)}if(eb(f2))return n(a2,d2,f2,h2);if(Ka(f2))return t(a2,d2,f2,h2);Mg(a2,f2)}return typeof f2=="string"&&f2!==""||typeof f2=="number"?(f2=""+f2,d2!==null&&d2.tag===6?(c(a2,d2.sibling),d2=e(d2,f2),d2.return=a2,a2=d2):(c(a2,d2),d2=Qg(f2,a2.mode,h2),d2.return=a2,a2=d2),g(a2)):c(a2,d2)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg),a._currentValue=b}function bh(a,b,c){for(;a!==null;){var d=a.alternate;if((a.childLanes&b)!==b?(a.childLanes|=b,d!==null&&(d.childLanes|=b)):d!==null&&(d.childLanes&b)!==b&&(d.childLanes|=b),a===c)break;a=a.return}}function ch(a,b){Xg=a,Zg=Yg=null,a=a.dependencies,a!==null&&a.firstContext!==null&&((a.lanes&b)!==0&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},Yg===null){if(Xg===null)throw Error(p(308));Yg=a,Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){fh===null?fh=[a]:fh.push(a)}function hh(a,b,c,d){var e=b.interleaved;return e===null?(c.next=c,gh(b)):(c.next=e.next,e.next=c),b.interleaved=c,ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;for(c!==null&&(c.lanes|=b),c=a,a=a.return;a!==null;)a.childLanes|=b,c=a.alternate,c!==null&&(c.childLanes|=b),c=a,a=a.return;return c.tag===3?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lh(a,b){a=a.updateQueue,b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function nh(a,b,c){var d=a.updateQueue;if(d===null)return null;if(d=d.shared,(K&2)!==0){var e=d.pending;return e===null?b.next=b:(b.next=e.next,e.next=b),d.pending=b,ih(a,c)}return e=d.interleaved,e===null?(b.next=b,gh(d)):(b.next=e.next,e.next=b),d.interleaved=b,ih(a,c)}function oh(a,b,c){if(b=b.updateQueue,b!==null&&(b=b.shared,(c&4194240)!==0)){var d=b.lanes;d&=a.pendingLanes,c|=d,b.lanes=c,Cc(a,c)}}function ph(a,b){var c=a.updateQueue,d=a.alternate;if(d!==null&&(d=d.updateQueue,c===d)){var e=null,f=null;if(c=c.firstBaseUpdate,c!==null){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};f===null?e=f=g:f=f.next=g,c=c.next}while(c!==null);f===null?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects},a.updateQueue=c;return}a=c.lastBaseUpdate,a===null?c.firstBaseUpdate=b:a.next=b,c.lastBaseUpdate=b}function qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(h!==null){e.shared.pending=null;var k=h,l=k.next;k.next=null,g===null?f=l:g.next=l,g=k;var m=a.alternate;m!==null&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(h===null?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(f!==null){var q=e.baseState;g=0,m=l=k=null,h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){m!==null&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,next:null});a:{var n=a,t=h;switch(r=b,y=c,t.tag){case 1:if(n=t.payload,typeof n=="function"){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:if(n=t.payload,r=typeof n=="function"?n.call(y,q,r):n,r==null)break a;q=A({},q,r);break a;case 2:jh=!0}}h.callback!==null&&h.lane!==0&&(a.flags|=64,r=e.effects,r===null?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},m===null?(l=m=y,k=q):m=m.next=y,g|=r;if(h=h.next,h===null){if(h=e.shared.pending,h===null)break;r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}}while(!0);if(m===null&&(k=q),e.baseState=k,e.firstBaseUpdate=l,e.lastBaseUpdate=m,b=e.shared.interleaved,b!==null){e=b;do g|=e.lane,e=e.next;while(e!==b)}else f===null&&(e.shared.lanes=0);rh|=g,a.lanes=g,a.memoizedState=q}}function sh(a,b,c){if(a=b.effects,b.effects=null,a!==null)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(e!==null){if(d.callback=null,d=c,typeof e!="function")throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}function yh(a,b){switch(G(wh,b),G(vh,a),G(uh,th),a=b.nodeType,a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,"");break;default:a=a===8?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh),G(uh,b)}function zh(){E(uh),E(vh),E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current),c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);function Ch(a){for(var b=a;b!==null;){if(b.tag===13){var c=b.memoizedState;if(c!==null&&(c=c.dehydrated,c===null||c.data==="$?"||c.data==="$!"))return b}else if(b.tag===19&&b.memoizedProps.revealOrder!==void 0){if((b.flags&128)!==0)return b}else if(b.child!==null){b.child.return=b,b=b.child;continue}if(b===a)break;for(;b.sibling===null;){if(b.return===null||b.return===a)return null;b=b.return}b.sibling.return=b.return,b=b.sibling}return null}var Dh=[];function Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321))}function Mh(a,b){if(b===null)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}function Nh(a,b,c,d,e,f){if(Hh=f,M=b,b.memoizedState=null,b.updateQueue=null,b.lanes=0,Fh.current=a===null||a.memoizedState===null?Oh:Ph,a=c(d,e),Jh){f=0;do{if(Jh=!1,Kh=0,25<=f)throw Error(p(301));f+=1,O=N=null,b.updateQueue=null,Fh.current=Qh,a=c(d,e)}while(Jh)}if(Fh.current=Rh,b=N!==null&&N.next!==null,Hh=0,O=N=M=null,Ih=!1,b)throw Error(p(300));return a}function Sh(){var a=Kh!==0;return Kh=0,a}function Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return O===null?M.memoizedState=O=a:O=O.next=a,O}function Uh(){if(N===null){var a=M.alternate;a=a!==null?a.memoizedState:null}else a=N.next;var b=O===null?M.memoizedState:O.next;if(b!==null)O=b,N=a;else{if(a===null)throw Error(p(310));N=a,a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null},O===null?M.memoizedState=O=a:O=O.next=a}return O}function Vh(a,b){return typeof b=="function"?b(a):b}function Wh(a){var b=Uh(),c=b.queue;if(c===null)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(f!==null){if(e!==null){var g=e.next;e.next=f.next,f.next=g}d.baseQueue=e=f,c.pending=null}if(e!==null){f=e.next,d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)k!==null&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null};k===null?(h=k=q,g=d):k=k.next=q,M.lanes|=m,rh|=m}l=l.next}while(l!==null&&l!==f);k===null?g=d:k.next=h,He(d,b.memoizedState)||(dh=!0),b.memoizedState=d,b.baseState=g,b.baseQueue=k,c.lastRenderedState=d}if(a=c.interleaved,a!==null){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else e===null&&(c.lanes=0);return[b.memoizedState,c.dispatch]}function Xh(a){var b=Uh(),c=b.queue;if(c===null)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(e!==null){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0),b.memoizedState=f,b.baseQueue===null&&(b.baseState=f),c.lastRenderedState=f}return[f,d]}function Yh(){}function Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);if(f&&(d.memoizedState=e,dh=!0),d=d.queue,$h(ai.bind(null,c,d,a),[a]),d.getSnapshot!==b||f||O!==null&&O.memoizedState.tag&1){if(c.flags|=2048,bi(9,ci.bind(null,c,d,e,b),void 0,null),Q===null)throw Error(p(349));(Hh&30)!==0||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384,a={getSnapshot:b,value:c},b=M.updateQueue,b===null?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,c===null?b.stores=[a]:c.push(a))}function ci(a,b,c,d){b.value=c,b.getSnapshot=d,ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch{return!0}}function fi(a){var b=ih(a,1);b!==null&&gi(b,a,1,-1)}function hi(a){var b=Th();return typeof a=="function"&&(a=a()),b.memoizedState=b.baseState=a,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a},b.queue=a,a=a.dispatch=ii.bind(null,M,a),[b.memoizedState,a]}function bi(a,b,c,d){return a={tag:a,create:b,destroy:c,deps:d,next:null},b=M.updateQueue,b===null?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,c===null?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a)),a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a,e.memoizedState=bi(1|b,c,void 0,d===void 0?null:d)}function li(a,b,c,d){var e=Uh();d=d===void 0?null:d;var f=void 0;if(N!==null){var g=N.memoizedState;if(f=g.destroy,d!==null&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a,e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}function pi(a,b){if(typeof b=="function")return a=a(),b(a),function(){b(null)};if(b!=null)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){return c=c!=null?c.concat([a]):null,li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=b===void 0?null:b;var d=c.memoizedState;return d!==null&&b!==null&&Mh(b,d[1])?d[0]:(c.memoizedState=[a,b],a)}function ti(a,b){var c=Uh();b=b===void 0?null:b;var d=c.memoizedState;return d!==null&&b!==null&&Mh(b,d[1])?d[0]:(a=a(),c.memoizedState=[a,b],a)}function ui(a,b,c){return(Hh&21)===0?(a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c):(He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0),b)}function vi(a,b){var c=C;C=c!==0&&4>c?c:4,a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}function xi(a,b,c){var d=yi(a);if(c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null},zi(a))Ai(b,c);else if(c=hh(a,b,c,d),c!==null){var e=R();gi(c,a,d,e),Bi(c,b,d)}}function ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(a.lanes===0&&(f===null||f.lanes===0)&&(f=b.lastRenderedReducer,f!==null))try{var g=b.lastRenderedState,h=f(g,c);if(e.hasEagerState=!0,e.eagerState=h,He(h,g)){var k=b.interleaved;k===null?(e.next=e,gh(b)):(e.next=k.next,k.next=e),b.interleaved=e;return}}catch{}c=hh(a,b,e,d),c!==null&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}function zi(a){var b=a.alternate;return a===M||b!==null&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;c===null?b.next=b:(b.next=c.next,c.next=b),a.pending=b}function Bi(a,b,c){if((c&4194240)!==0){var d=b.lanes;d&=a.pendingLanes,c|=d,b.lanes=c,Cc(a,c)}}var Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){return Th().memoizedState=[a,b===void 0?null:b],a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){return c=c!=null?c.concat([a]):null,ki(4194308,4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();return b=b===void 0?null:b,a=a(),c.memoizedState=[a,b],a},useReducer:function(a,b,c){var d=Th();return b=c!==void 0?c(b):b,d.memoizedState=d.baseState=b,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b},d.queue=a,a=a.dispatch=xi.bind(null,M,a),[d.memoizedState,a]},useRef:function(a){var b=Th();return a={current:a},b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];return a=vi.bind(null,a[1]),Th().memoizedState=a,[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(c===void 0)throw Error(p(407));c=c()}else{if(c=b(),Q===null)throw Error(p(349));(Hh&30)!==0||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};return e.queue=f,mi(ai.bind(null,d,f,a),[a]),d.flags|=2048,bi(9,ci.bind(null,d,f,c,b),void 0,null),c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg,d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c,b=":"+b+"R"+c,c=Kh++,0<c&&(b+="H"+c.toString(32)),b+=":"}else c=Lh++,b=":"+b+"r"+c.toString(32)+":";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return N===null?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b),a=a.defaultProps;for(var c in a)b[c]===void 0&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState,c=c(d,b),c=c==null?b:A({},b,c),a.memoizedState=c,a.lanes===0&&(a.updateQueue.baseState=c)}var Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b,c!=null&&(f.callback=c),b=nh(a,f,e),b!==null&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1,f.payload=b,c!=null&&(f.callback=c),b=nh(a,f,e),b!==null&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=yi(a),e=mh(c,d);e.tag=2,b!=null&&(e.callback=b),b=nh(a,e,d),b!==null&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){return a=a.stateNode,typeof a.shouldComponentUpdate=="function"?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}function Gi(a,b,c){var d=!1,e=Vf,f=b.contextType;return typeof f=="object"&&f!==null?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=d!=null)?Yf(a,e):Vf),b=new b(c,f),a.memoizedState=b.state!==null&&b.state!==void 0?b.state:null,b.updater=Ei,a.stateNode=b,b._reactInternals=a,d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f),b}function Hi(a,b,c,d){a=b.state,typeof b.componentWillReceiveProps=="function"&&b.componentWillReceiveProps(c,d),typeof b.UNSAFE_componentWillReceiveProps=="function"&&b.UNSAFE_componentWillReceiveProps(c,d),b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}function Ii(a,b,c,d){var e=a.stateNode;e.props=c,e.state=a.memoizedState,e.refs={},kh(a);var f=b.contextType;typeof f=="object"&&f!==null?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f)),e.state=a.memoizedState,f=b.getDerivedStateFromProps,typeof f=="function"&&(Di(a,b,f,c),e.state=a.memoizedState),typeof b.getDerivedStateFromProps=="function"||typeof e.getSnapshotBeforeUpdate=="function"||typeof e.UNSAFE_componentWillMount!="function"&&typeof e.componentWillMount!="function"||(b=e.state,typeof e.componentWillMount=="function"&&e.componentWillMount(),typeof e.UNSAFE_componentWillMount=="function"&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState),typeof e.componentDidMount=="function"&&(a.flags|=4194308)}function Ji(a,b){try{var c="",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\`
10
10
  Error generating stack: \`+f.message+\`
11
- \`+f.stack}return{value:a,source:b,stack:e,digest:null}}function Ki(a,b,c){return{value:a,source:null,stack:c??null,digest:b??null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c})}}var Mi=typeof WeakMap=="function"?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c),c.tag=3,c.payload={element:null};var d=b.value;return c.callback=function(){Oi||(Oi=!0,Pi=d),Li(a,b)},c}function Qi(a,b,c){c=mh(-1,c),c.tag=3;var d=a.type.getDerivedStateFromError;if(typeof d=="function"){var e=b.value;c.payload=function(){return d(e)},c.callback=function(){Li(a,b)}}var f=a.stateNode;return f!==null&&typeof f.componentDidCatch=="function"&&(c.callback=function(){Li(a,b),typeof d!="function"&&(Ri===null?Ri=new Set([this]):Ri.add(this));var c2=b.stack;this.componentDidCatch(b.value,{componentStack:c2!==null?c2:""})}),c}function Si(a,b,c){var d=a.pingCache;if(d===null){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),e===void 0&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if((b=a.tag===13)&&(b=a.memoizedState,b=b!==null?b.dehydrated!==null:!0),b)return a;a=a.return}while(a!==null);return null}function Vi(a,b,c,d,e){return(a.mode&1)===0?(a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,c.tag===1&&(c.alternate===null?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a):(a.flags|=65536,a.lanes=e,a)}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=a===null?Vg(b,null,c,d):Ug(b,a.child,c,d)}function Yi(a,b,c,d,e){c=c.render;var f=b.ref;return ch(b,e),d=Nh(a,b,c,d,f,e),c=Sh(),a!==null&&!dh?(b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e)):(I&&c&&vg(b),b.flags|=1,Xi(a,b,d,e),b.child)}function $i(a,b,c,d,e){if(a===null){var f=c.type;return typeof f=="function"&&!aj(f)&&f.defaultProps===void 0&&c.compare===null&&c.defaultProps===void 0?(b.tag=15,b.type=f,bj(a,b,f,d,e)):(a=Rg(c.type,null,d,b,b.mode,e),a.ref=b.ref,a.return=b,b.child=a)}if(f=a.child,(a.lanes&e)===0){var g=f.memoizedProps;if(c=c.compare,c=c!==null?c:Ie,c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}return b.flags|=1,a=Pg(f,d),a.ref=b.ref,a.return=b,b.child=a}function bj(a,b,c,d,e){if(a!==null){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,(a.lanes&e)!==0)(a.flags&131072)!==0&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}function dj(a,b,c){var d=b.pendingProps,e=d.children,f=a!==null?a.memoizedState:null;if(d.mode==="hidden")if((b.mode&1)===0)b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if((c&1073741824)===0)return a=f!==null?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null},d=f!==null?f.baseLanes:c,G(ej,fj),fj|=d}else f!==null?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;return Xi(a,b,e,c),b.child}function gj(a,b){var c=b.ref;(a===null&&c!==null||a!==null&&a.ref!==c)&&(b.flags|=512,b.flags|=2097152)}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;return f=Yf(b,f),ch(b,e),c=Nh(a,b,c,d,f,e),d=Sh(),a!==null&&!dh?(b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e)):(I&&d&&vg(b),b.flags|=1,Xi(a,b,c,e),b.child)}function hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;if(ch(b,e),b.stateNode===null)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(a===null){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;typeof l=="object"&&l!==null?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=typeof m=="function"||typeof g.getSnapshotBeforeUpdate=="function";q||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(h!==d||k!==l)&&Hi(b,g,d,l),jh=!1;var r=b.memoizedState;g.state=r,qh(b,d,g,e),k=b.memoizedState,h!==d||r!==k||Wf.current||jh?(typeof m=="function"&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount()),typeof g.componentDidMount=="function"&&(b.flags|=4194308)):(typeof g.componentDidMount=="function"&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(typeof g.componentDidMount=="function"&&(b.flags|=4194308),d=!1)}else{g=b.stateNode,lh(a,b),h=b.memoizedProps,l=b.type===b.elementType?h:Ci(b.type,h),g.props=l,q=b.pendingProps,r=g.context,k=c.contextType,typeof k=="object"&&k!==null?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=typeof y=="function"||typeof g.getSnapshotBeforeUpdate=="function")||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(h!==q||r!==k)&&Hi(b,g,d,k),jh=!1,r=b.memoizedState,g.state=r,qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(typeof y=="function"&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||typeof g.UNSAFE_componentWillUpdate!="function"&&typeof g.componentWillUpdate!="function"||(typeof g.componentWillUpdate=="function"&&g.componentWillUpdate(d,n,k),typeof g.UNSAFE_componentWillUpdate=="function"&&g.UNSAFE_componentWillUpdate(d,n,k)),typeof g.componentDidUpdate=="function"&&(b.flags|=4),typeof g.getSnapshotBeforeUpdate=="function"&&(b.flags|=1024)):(typeof g.componentDidUpdate!="function"||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(typeof g.componentDidUpdate!="function"||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}function jj(a,b,c,d,e,f){gj(a,b);var g=(b.flags&128)!==0;if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode,Wi.current=b;var h=g&&typeof c.getDerivedStateFromError!="function"?null:d.render();return b.flags|=1,a!==null&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f),b.memoizedState=d.state,e&&dg(b,c,!0),b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1),yh(a,b.containerInfo)}function lj(a,b,c,d,e){return Ig(),Jg(e),b.flags|=256,Xi(a,b,c,d),b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}function oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=(b.flags&128)!==0,h;if((h=g)||(h=a!==null&&a.memoizedState===null?!1:(e&2)!==0),h?(f=!0,b.flags&=-129):(a===null||a.memoizedState!==null)&&(e|=1),G(L,e&1),a===null)return Eg(b),a=b.memoizedState,a!==null&&(a=a.dehydrated,a!==null)?((b.mode&1)===0?b.lanes=1:a.data==="$!"?b.lanes=8:b.lanes=1073741824,null):(g=d.children,a=d.fallback,f?(d=b.mode,f=b.child,g={mode:"hidden",children:g},(d&1)===0&&f!==null?(f.childLanes=0,f.pendingProps=g):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g));if(e=a.memoizedState,e!==null&&(h=e.dehydrated,h!==null))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback,g=b.mode,e=a.child,h=e.sibling;var k={mode:"hidden",children:d.children};return(g&1)===0&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064),h!==null?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2),f.return=b,d.return=b,d.sibling=f,b.child=d,d=f,f=b.child,g=a.child.memoizedState,g=g===null?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions},f.memoizedState=g,f.childLanes=a.childLanes&~c,b.memoizedState=mj,d}return f=a.child,a=f.sibling,d=Pg(f,{mode:"visible",children:d.children}),(b.mode&1)===0&&(d.lanes=c),d.return=b,d.sibling=null,a!==null&&(c=b.deletions,c===null?(b.deletions=[a],b.flags|=16):c.push(a)),b.child=d,b.memoizedState=null,d}function qj(a,b){return b=pj({mode:"visible",children:b},a.mode,0,null),b.return=a,a.child=b}function sj(a,b,c,d){return d!==null&&Jg(d),Ug(b,a.child,null,c),a=qj(b,b.pendingProps.children),a.flags|=2,b.memoizedState=null,a}function rj(a,b,c,d,e,f,g){if(c)return b.flags&256?(b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d)):b.memoizedState!==null?(b.child=a.child,b.flags|=128,null):(f=d.fallback,e=b.mode,d=pj({mode:"visible",children:d.children},e,0,null),f=Tg(f,e,g,null),f.flags|=2,d.return=b,f.return=b,d.sibling=f,b.child=d,(b.mode&1)!==0&&Ug(b,a.child,null,g),b.child.memoizedState=nj(g),b.memoizedState=mj,f);if((b.mode&1)===0)return sj(a,b,g,null);if(e.data==="$!"){if(d=e.nextSibling&&e.nextSibling.dataset,d)var h=d.dgst;return d=h,f=Error(p(419)),d=Ki(f,d,void 0),sj(a,b,g,d)}if(h=(g&a.childLanes)!==0,dh||h){if(d=Q,d!==null){switch(g&-g){case 4:e=2;break;case 16:e=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:e=32;break;case 536870912:e=268435456;break;default:e=0}e=(e&(d.suspendedLanes|g))!==0?0:e,e!==0&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}return tj(),d=Ki(Error(p(421))),sj(a,b,g,d)}return e.data==="$?"?(b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null):(a=f.treeContext,yg=Lf(e.nextSibling),xg=b,I=!0,zg=null,a!==null&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b),b=qj(b,d.children),b.flags|=4096,b)}function vj(a,b,c){a.lanes|=b;var d=a.alternate;d!==null&&(d.lanes|=b),bh(a.return,b,c)}function wj(a,b,c,d,e){var f=a.memoizedState;f===null?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}function xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;if(Xi(a,b,d.children,c),d=L.current,(d&2)!==0)d=d&1|2,b.flags|=128;else{if(a!==null&&(a.flags&128)!==0)a:for(a=b.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&vj(a,c,b);else if(a.tag===19)vj(a,c,b);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===b)break a;for(;a.sibling===null;){if(a.return===null||a.return===b)break a;a=a.return}a.sibling.return=a.return,a=a.sibling}d&=1}if(G(L,d),(b.mode&1)===0)b.memoizedState=null;else switch(e){case"forwards":for(c=b.child,e=null;c!==null;)a=c.alternate,a!==null&&Ch(a)===null&&(e=c),c=c.sibling;c=e,c===null?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null),wj(b,!1,e,c,f);break;case"backwards":for(c=null,e=b.child,b.child=null;e!==null;){if(a=e.alternate,a!==null&&Ch(a)===null){b.child=e;break}a=e.sibling,e.sibling=c,c=e,e=a}wj(b,!0,c,null,f);break;case"together":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}function ij(a,b){(b.mode&1)===0&&a!==null&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){if(a!==null&&(b.dependencies=a.dependencies),rh|=b.lanes,(c&b.childLanes)===0)return null;if(a!==null&&b.child!==a.child)throw Error(p(153));if(b.child!==null){for(a=b.child,c=Pg(a,a.pendingProps),b.child=c,c.return=b;a.sibling!==null;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}function yj(a,b,c){switch(b.tag){case 3:kj(b),Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue),d._currentValue=e;break;case 13:if(d=b.memoizedState,d!==null)return d.dehydrated!==null?(G(L,L.current&1),b.flags|=128,null):(c&b.child.childLanes)!==0?oj(a,b,c):(G(L,L.current&1),a=Zi(a,b,c),a!==null?a.sibling:null);G(L,L.current&1);break;case 19:if(d=(c&b.childLanes)!==0,(a.flags&128)!==0){if(d)return xj(a,b,c);b.flags|=128}if(e=b.memoizedState,e!==null&&(e.rendering=null,e.tail=null,e.lastEffect=null),G(L,L.current),d)break;return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;zj=function(a,b){for(var c=b.child;c!==null;){if(c.tag===5||c.tag===6)a.appendChild(c.stateNode);else if(c.tag!==4&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===b)break;for(;c.sibling===null;){if(c.return===null||c.return===b)return;c=c.return}c.sibling.return=c.return,c=c.sibling}};Aj=function(){};Bj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode,xh(uh.current);var f=null;switch(c){case"input":e=Ya(a,e),d=Ya(a,d),f=[];break;case"select":e=A({},e,{value:void 0}),d=A({},d,{value:void 0}),f=[];break;case"textarea":e=gb(a,e),d=gb(a,d),f=[];break;default:typeof e.onClick!="function"&&typeof d.onClick=="function"&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&e[l]!=null)if(l==="style"){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]="")}else l!=="dangerouslySetInnerHTML"&&l!=="children"&&l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&l!=="autoFocus"&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];if(h=e!=null?e[l]:void 0,d.hasOwnProperty(l)&&k!==h&&(k!=null||h!=null))if(l==="style")if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]="");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else l==="dangerouslySetInnerHTML"?(k=k?k.__html:void 0,h=h?h.__html:void 0,k!=null&&h!==k&&(f=f||[]).push(l,k)):l==="children"?typeof k!="string"&&typeof k!="number"||(f=f||[]).push(l,""+k):l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&(ea.hasOwnProperty(l)?(k!=null&&l==="onScroll"&&D("scroll",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push("style",c);var l=f;(b.updateQueue=l)&&(b.flags|=4)}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};function Dj(a,b){if(!I)switch(a.tailMode){case"hidden":b=a.tail;for(var c=null;b!==null;)b.alternate!==null&&(c=b),b=b.sibling;c===null?a.tail=null:c.sibling=null;break;case"collapsed":c=a.tail;for(var d=null;c!==null;)c.alternate!==null&&(d=c),c=c.sibling;d===null?b||a.tail===null?a.tail=null:a.tail.sibling=null:d.sibling=null}}function S(a){var b=a.alternate!==null&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;e!==null;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;e!==null;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;return a.subtreeFlags|=d,a.childLanes=c,b}function Ej(a,b,c){var d=b.pendingProps;switch(wg(b),b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:return d=b.stateNode,zh(),E(Wf),E(H),Eh(),d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null),(a===null||a.child===null)&&(Gg(b)?b.flags|=4:a===null||a.memoizedState.isDehydrated&&(b.flags&256)===0||(b.flags|=1024,zg!==null&&(Fj(zg),zg=null))),Aj(a,b),S(b),null;case 5:Bh(b);var e=xh(wh.current);if(c=b.type,a!==null&&b.stateNode!=null)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(b.stateNode===null)throw Error(p(166));return S(b),null}if(a=xh(uh.current),Gg(b)){d=b.stateNode,c=b.type;var f=b.memoizedProps;switch(d[Of]=b,d[Pf]=f,a=(b.mode&1)!==0,c){case"dialog":D("cancel",d),D("close",d);break;case"iframe":case"object":case"embed":D("load",d);break;case"video":case"audio":for(e=0;e<lf.length;e++)D(lf[e],d);break;case"source":D("error",d);break;case"img":case"image":case"link":D("error",d),D("load",d);break;case"details":D("toggle",d);break;case"input":Za(d,f),D("invalid",d);break;case"select":d._wrapperState={wasMultiple:!!f.multiple},D("invalid",d);break;case"textarea":hb(d,f),D("invalid",d)}ub(c,f),e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];g==="children"?typeof h=="string"?d.textContent!==h&&(f.suppressHydrationWarning!==!0&&Af(d.textContent,h,a),e=["children",h]):typeof h=="number"&&d.textContent!==""+h&&(f.suppressHydrationWarning!==!0&&Af(d.textContent,h,a),e=["children",""+h]):ea.hasOwnProperty(g)&&h!=null&&g==="onScroll"&&D("scroll",d)}switch(c){case"input":Va(d),db(d,f,!0);break;case"textarea":Va(d),jb(d);break;case"select":case"option":break;default:typeof f.onClick=="function"&&(d.onclick=Bf)}d=e,b.updateQueue=d,d!==null&&(b.flags|=4)}else{g=e.nodeType===9?e:e.ownerDocument,a==="http://www.w3.org/1999/xhtml"&&(a=kb(c)),a==="http://www.w3.org/1999/xhtml"?c==="script"?(a=g.createElement("div"),a.innerHTML="<script><\\/script>",a=a.removeChild(a.firstChild)):typeof d.is=="string"?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),c==="select"&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c),a[Of]=b,a[Pf]=d,zj(a,b,!1,!1),b.stateNode=a;a:{switch(g=vb(c,d),c){case"dialog":D("cancel",a),D("close",a),e=d;break;case"iframe":case"object":case"embed":D("load",a),e=d;break;case"video":case"audio":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case"source":D("error",a),e=d;break;case"img":case"image":case"link":D("error",a),D("load",a),e=d;break;case"details":D("toggle",a),e=d;break;case"input":Za(a,d),e=Ya(a,d),D("invalid",a);break;case"option":e=d;break;case"select":a._wrapperState={wasMultiple:!!d.multiple},e=A({},d,{value:void 0}),D("invalid",a);break;case"textarea":hb(a,d),e=gb(a,d),D("invalid",a);break;default:e=d}ub(c,e),h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];f==="style"?sb(a,k):f==="dangerouslySetInnerHTML"?(k=k?k.__html:void 0,k!=null&&nb(a,k)):f==="children"?typeof k=="string"?(c!=="textarea"||k!=="")&&ob(a,k):typeof k=="number"&&ob(a,""+k):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(ea.hasOwnProperty(f)?k!=null&&f==="onScroll"&&D("scroll",a):k!=null&&ta(a,f,k,g))}switch(c){case"input":Va(a),db(a,d,!1);break;case"textarea":Va(a),jb(a);break;case"option":d.value!=null&&a.setAttribute("value",""+Sa(d.value));break;case"select":a.multiple=!!d.multiple,f=d.value,f!=null?fb(a,!!d.multiple,f,!1):d.defaultValue!=null&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:typeof e.onClick=="function"&&(a.onclick=Bf)}switch(c){case"button":case"input":case"select":case"textarea":d=!!d.autoFocus;break a;case"img":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}b.ref!==null&&(b.flags|=512,b.flags|=2097152)}return S(b),null;case 6:if(a&&b.stateNode!=null)Cj(a,b,a.memoizedProps,d);else{if(typeof d!="string"&&b.stateNode===null)throw Error(p(166));if(c=xh(wh.current),xh(uh.current),Gg(b)){if(d=b.stateNode,c=b.memoizedProps,d[Of]=b,(f=d.nodeValue!==c)&&(a=xg,a!==null))switch(a.tag){case 3:Af(d.nodeValue,c,(a.mode&1)!==0);break;case 5:a.memoizedProps.suppressHydrationWarning!==!0&&Af(d.nodeValue,c,(a.mode&1)!==0)}f&&(b.flags|=4)}else d=(c.nodeType===9?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}return S(b),null;case 13:if(E(L),d=b.memoizedState,a===null||a.memoizedState!==null&&a.memoizedState.dehydrated!==null){if(I&&yg!==null&&(b.mode&1)!==0&&(b.flags&128)===0)Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),d!==null&&d.dehydrated!==null){if(a===null){if(!f)throw Error(p(318));if(f=b.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(p(317));f[Of]=b}else Ig(),(b.flags&128)===0&&(b.memoizedState=null),b.flags|=4;S(b),f=!1}else zg!==null&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}return(b.flags&128)!==0?(b.lanes=c,b):(d=d!==null,d!==(a!==null&&a.memoizedState!==null)&&d&&(b.child.flags|=8192,(b.mode&1)!==0&&(a===null||(L.current&1)!==0?T===0&&(T=3):tj())),b.updateQueue!==null&&(b.flags|=4),S(b),null);case 4:return zh(),Aj(a,b),a===null&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:if(E(L),f=b.memoizedState,f===null)return S(b),null;if(d=(b.flags&128)!==0,g=f.rendering,g===null)if(d)Dj(f,!1);else{if(T!==0||a!==null&&(a.flags&128)!==0)for(a=b.child;a!==null;){if(g=Ch(a),g!==null){for(b.flags|=128,Dj(f,!1),d=g.updateQueue,d!==null&&(b.updateQueue=d,b.flags|=4),b.subtreeFlags=0,d=c,c=b.child;c!==null;)f=c,a=d,f.flags&=14680066,g=f.alternate,g===null?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;return G(L,L.current&1|2),b.child}a=a.sibling}f.tail!==null&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),a!==null){if(b.flags|=128,d=!0,c=a.updateQueue,c!==null&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),f.tail===null&&f.tailMode==="hidden"&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&c!==1073741824&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,c!==null?c.sibling=g:b.child=g,f.last=g)}return f.tail!==null?(b=f.tail,f.rendering=b,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b):(S(b),null);case 22:case 23:return Hj(),d=b.memoizedState!==null,a!==null&&a.memoizedState!==null!==d&&(b.flags|=8192),d&&(b.mode&1)!==0?(fj&1073741824)!==0&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag))}function Ij(a,b){switch(wg(b),b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,(a&65536)!==0&&(a&128)===0?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:if(E(L),a=b.memoizedState,a!==null&&a.dehydrated!==null){if(b.alternate===null)throw Error(p(340));Ig()}return a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),null;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=typeof WeakSet=="function"?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;function Oj(a,b){if(Cf=dd,a=Me(),Ne(a)){if("selectionStart"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&d.rangeCount!==0){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch{c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;q!==c||e!==0&&q.nodeType!==3||(h=g+e),q!==f||d!==0&&q.nodeType!==3||(k=g+d),q.nodeType===3&&(g+=q.nodeValue.length),(y=q.firstChild)!==null;)r=q,q=y;for(;;){if(q===a)break b;if(r===c&&++l===e&&(h=g),r===f&&++m===d&&(k=g),(y=q.nextSibling)!==null)break;q=r,r=q.parentNode}q=y}c=h===-1||k===-1?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;for(Df={focusedElem:a,selectionRange:c},dd=!1,V=b;V!==null;)if(b=V,a=b.child,(b.subtreeFlags&1028)!==0&&a!==null)a.return=b,V=a;else for(;V!==null;){b=V;try{var n=b.alternate;if((b.flags&1024)!==0)switch(b.tag){case 0:case 11:case 15:break;case 1:if(n!==null){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;u.nodeType===1?u.textContent="":u.nodeType===9&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163))}}catch(F){W(b,b.return,F)}if(a=b.sibling,a!==null){a.return=b.return,V=a;break}V=b.return}return n=Nj,Nj=!1,n}function Pj(a,b,c){var d=b.updateQueue;if(d=d!==null?d.lastEffect:null,d!==null){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0,f!==void 0&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){if(b=b.updateQueue,b=b!==null?b.lastEffect:null,b!==null){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(b!==null){var c=a.stateNode;a.tag,a=c,typeof b=="function"?b(a):b.current=a}}function Sj(a){var b=a.alternate;b!==null&&(a.alternate=null,Sj(b)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(b=a.stateNode,b!==null&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf])),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function Tj(a){return a.tag===5||a.tag===3||a.tag===4}function Uj(a){a:for(;;){for(;a.sibling===null;){if(a.return===null||Tj(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue a;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function Vj(a,b,c){var d=a.tag;if(d===5||d===6)a=a.stateNode,b?c.nodeType===8?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(c.nodeType===8?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,c!=null||b.onclick!==null||(b.onclick=Bf));else if(d!==4&&(a=a.child,a!==null))for(Vj(a,b,c),a=a.sibling;a!==null;)Vj(a,b,c),a=a.sibling}function Wj(a,b,c){var d=a.tag;if(d===5||d===6)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(d!==4&&(a=a.child,a!==null))for(Wj(a,b,c),a=a.sibling;a!==null;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;c!==null;)Zj(a,b,c),c=c.sibling}function Zj(a,b,c){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,c)}catch{}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null,Yj(a,b,c),X=d,Xj=e,X!==null&&(Xj?(a=X,c=c.stateNode,a.nodeType===8?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:X!==null&&(Xj?(a=X,c=c.stateNode,a.nodeType===8?Kf(a.parentNode,c):a.nodeType===1&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X,e=Xj,X=c.stateNode.containerInfo,Xj=!0,Yj(a,b,c),X=d,Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,d!==null&&(d=d.lastEffect,d!==null))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag,g!==void 0&&((f&2)!==0||(f&4)!==0)&&Mj(c,b,g),e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,typeof d.componentWillUnmount=="function"))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||c.memoizedState!==null,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(b!==null){a.updateQueue=null;var c=a.stateNode;c===null&&(c=a.stateNode=new Kj),b.forEach(function(b2){var d=bk.bind(null,a,b2);c.has(b2)||(c.add(b2),b2.then(d,d))})}}function ck(a,b){var c=b.deletions;if(c!==null)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;h!==null;){switch(h.tag){case 5:X=h.stateNode,Xj=!1;break a;case 3:X=h.stateNode.containerInfo,Xj=!0;break a;case 4:X=h.stateNode.containerInfo,Xj=!0;break a}h=h.return}if(X===null)throw Error(p(160));Zj(f,g,e),X=null,Xj=!1;var k=e.alternate;k!==null&&(k.return=null),e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;b!==null;)dk(b,a),b=b.sibling}function dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:if(ck(b,a),ek(a),d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a),ek(a),d&512&&c!==null&&Lj(c,c.return);break;case 5:if(ck(b,a),ek(a),d&512&&c!==null&&Lj(c,c.return),a.flags&32){var e=a.stateNode;try{ob(e,"")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,e!=null)){var f=a.memoizedProps,g=c!==null?c.memoizedProps:f,h=a.type,k=a.updateQueue;if(a.updateQueue=null,k!==null)try{h==="input"&&f.type==="radio"&&f.name!=null&&ab(e,f),vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];m==="style"?sb(e,q):m==="dangerouslySetInnerHTML"?nb(e,q):m==="children"?ob(e,q):ta(e,m,q,l)}switch(h){case"input":bb(e,f);break;case"textarea":ib(e,f);break;case"select":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;y!=null?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(f.defaultValue!=null?fb(e,!!f.multiple,f.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:"",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:if(ck(b,a),ek(a),d&4){if(a.stateNode===null)throw Error(p(162));e=a.stateNode,f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:if(ck(b,a),ek(a),d&4&&c!==null&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a),ek(a);break;case 13:ck(b,a),ek(a),e=a.child,e.flags&8192&&(f=e.memoizedState!==null,e.stateNode.isHidden=f,!f||e.alternate!==null&&e.alternate.memoizedState!==null||(fk=B())),d&4&&ak(a);break;case 22:if(m=c!==null&&c.memoizedState!==null,a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a),ek(a),d&8192){if(l=a.memoizedState!==null,(a.stateNode.isHidden=l)&&!m&&(a.mode&1)!==0)for(V=a,m=a.child;m!==null;){for(q=V=m;V!==null;){switch(r=V,y=r.child,r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(typeof n.componentWillUnmount=="function"){d=r,c=r.return;try{b=d,n.props=b.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(r.memoizedState!==null){gk(q);continue}}y!==null?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(q.tag===5){if(m===null){m=q;try{e=q.stateNode,l?(f=e.style,typeof f.setProperty=="function"?f.setProperty("display","none","important"):f.display="none"):(h=q.stateNode,k=q.memoizedProps.style,g=k!=null&&k.hasOwnProperty("display")?k.display:null,h.style.display=rb("display",g))}catch(t){W(a,a.return,t)}}}else if(q.tag===6){if(m===null)try{q.stateNode.nodeValue=l?"":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((q.tag!==22&&q.tag!==23||q.memoizedState===null||q===a)&&q.child!==null){q.child.return=q,q=q.child;continue}if(q===a)break a;for(;q.sibling===null;){if(q.return===null||q.return===a)break a;m===q&&(m=null),q=q.return}m===q&&(m=null),q.sibling.return=q.return,q=q.sibling}}break;case 19:ck(b,a),ek(a),d&4&&ak(a);break;case 21:break;default:ck(b,a),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;c!==null;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160))}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,""),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161))}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a,ik(a,b,c)}function ik(a,b,c){for(var d=(a.mode&1)!==0;V!==null;){var e=V,f=e.child;if(e.tag===22&&d){var g=e.memoizedState!==null||Jj;if(!g){var h=e.alternate,k=h!==null&&h.memoizedState!==null||U;h=Jj;var l=U;if(Jj=g,(U=k)&&!l)for(V=e;V!==null;)g=V,k=g.child,g.tag===22&&g.memoizedState!==null?jk(e):k!==null?(k.return=g,V=k):jk(e);for(;f!==null;)V=f,ik(f,b,c),f=f.sibling;V=e,Jj=h,U=l}kk(a,b,c)}else(e.subtreeFlags&8772)!==0&&f!==null?(f.return=e,V=f):kk(a,b,c)}}function kk(a){for(;V!==null;){var b=V;if((b.flags&8772)!==0){var c=b.alternate;try{if((b.flags&8772)!==0)switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(c===null)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;f!==null&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(g!==null){if(c=null,b.child!==null)switch(b.child.tag){case 5:c=b.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(c===null&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case"button":case"input":case"select":case"textarea":k.autoFocus&&c.focus();break;case"img":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(b.memoizedState===null){var l=b.alternate;if(l!==null){var m=l.memoizedState;if(m!==null){var q=m.dehydrated;q!==null&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(p(163))}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}if(c=b.sibling,c!==null){c.return=b.return,V=c;break}V=b.return}}function gk(a){for(;V!==null;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(c!==null){c.return=b.return,V=c;break}V=b.return}}function jk(a){for(;V!==null;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(typeof d.componentDidMount=="function"){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(h!==null){h.return=b.return,V=h;break}V=b.return}}var lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=1/0,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return(K&6)!==0?B():Ak!==-1?Ak:Ak=B()}function yi(a){return(a.mode&1)===0?1:(K&2)!==0&&Z!==0?Z&-Z:Kg.transition!==null?(Bk===0&&(Bk=yc()),Bk):(a=C,a!==0||(a=window.event,a=a===void 0?16:jd(a.type)),a)}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d),((K&2)===0||a!==Q)&&(a===Q&&((K&2)===0&&(qk|=c),T===4&&Ck(a,Z)),Dk(a,d),c===1&&K===0&&(b.mode&1)===0&&(Gj=B()+500,fg&&jg()))}function Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(d===0)c!==null&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){if(c!=null&&bc(c),b===1)a.tag===0?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){(K&6)===0&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b,a.callbackNode=c}}function Gk(a,b){if(Ak=-1,Bk=0,(K&6)!==0)throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(d===0)return null;if((d&30)!==0||(d&a.expiredLanes)!==0||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();(Q!==a||Z!==b)&&(uk=null,Gj=B()+500,Kk(a,b));do try{Lk();break}catch(h){Mk(a,h)}while(!0);$g(),mk.current=f,K=e,Y!==null?b=0:(Q=null,Z=0,b=T)}if(b!==0){if(b===2&&(e=xc(a),e!==0&&(d=e,b=Nk(a,e))),b===1)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(b===6)Ck(a,d);else{if(e=a.current.alternate,(d&30)===0&&!Ok(e)&&(b=Ik(a,d),b===2&&(f=xc(a),f!==0&&(d=f,b=Nk(a,f))),b===1))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;switch(a.finishedWork=e,a.finishedLanes=d,b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:if(Ck(a,d),(d&130023424)===d&&(b=fk+500-B(),10<b)){if(uc(a,0)!==0)break;if(e=a.suspendedLanes,(e&d)!==d){R(),a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:if(Ck(a,d),(d&4194240)===d)break;for(b=a.eventTimes,e=-1;0<d;){var g=31-oc(d);f=1<<g,g=b[g],g>e&&(e=g),d&=~f}if(d=e,d=B()-d,d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3e3>d?3e3:4320>d?4320:1960*lk(d/1960))-d,10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329))}}}return Dk(a,B()),a.callbackNode===c?Gk.bind(null,a):null}function Nk(a,b){var c=sk;return a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256),a=Ik(a,b),a!==2&&(b=tk,tk=c,b!==null&&Fj(b)),a}function Fj(a){tk===null?tk=a:tk.push.apply(tk,a)}function Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(c!==null&&(c=c.stores,c!==null))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch{return!1}}}if(c=b.child,b.subtreeFlags&16384&&c!==null)c.return=b,b=c;else{if(b===a)break;for(;b.sibling===null;){if(b.return===null||b.return===a)return!0;b=b.return}b.sibling.return=b.return,b=b.sibling}}return!0}function Ck(a,b){for(b&=~rk,b&=~qk,a.suspendedLanes|=b,a.pingedLanes&=~b,a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1,b&=~d}}function Ek(a){if((K&6)!==0)throw Error(p(327));Hk();var b=uc(a,0);if((b&1)===0)return Dk(a,B()),null;var c=Ik(a,b);if(a.tag!==0&&c===2){var d=xc(a);d!==0&&(b=d,c=Nk(a,d))}if(c===1)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(c===6)throw Error(p(345));return a.finishedWork=a.current.alternate,a.finishedLanes=b,Pk(a,tk,uk),Dk(a,B()),null}function Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,K===0&&(Gj=B()+500,fg&&jg())}}function Rk(a){wk!==null&&wk.tag===0&&(K&6)===0&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,(K&6)===0&&jg()}}function Hj(){fj=ej.current,E(ej)}function Kk(a,b){a.finishedWork=null,a.finishedLanes=0;var c=a.timeoutHandle;if(c!==-1&&(a.timeoutHandle=-1,Gf(c)),Y!==null)for(c=Y.return;c!==null;){var d=c;switch(wg(d),d.tag){case 1:d=d.type.childContextTypes,d!=null&&$f();break;case 3:zh(),E(Wf),E(H),Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}if(Q=a,Y=a=Pg(a.current,null),Z=fj=b,T=0,pk=null,rk=qk=rh=0,tk=sk=null,fh!==null){for(b=0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,d!==null){c.interleaved=null;var e=d.next,f=c.pending;if(f!==null){var g=f.next;f.next=e,d.next=g}c.pending=d}fh=null}return a}function Mk(a,b){do{var c=Y;try{if($g(),Fh.current=Rh,Ih){for(var d=M.memoizedState;d!==null;){var e=d.queue;e!==null&&(e.pending=null),d=d.next}Ih=!1}if(Hh=0,O=N=M=null,Jh=!1,Kh=0,nk.current=null,c===null||c.return===null){T=1,pk=b,Y=null;break}a:{var f=a,g=c.return,h=c,k=b;if(b=Z,h.flags|=32768,k!==null&&typeof k=="object"&&typeof k.then=="function"){var l=k,m=h,q=m.tag;if((m.mode&1)===0&&(q===0||q===11||q===15)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,m.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(y!==null){y.flags&=-257,Vi(y,g,h,f,b),y.mode&1&&Si(f,l,b),b=y,k=l;var n=b.updateQueue;if(n===null){var t=new Set;t.add(k),b.updateQueue=t}else n.add(k);break a}else{if((b&1)===0){Si(f,l,b),tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(J!==null){(J.flags&65536)===0&&(J.flags|=256),Vi(J,g,h,f,b),Jg(Ji(k,h));break a}}f=k=Ji(k,h),T!==4&&(T=2),sk===null?sk=[f]:sk.push(f),f=g;do{switch(f.tag){case 3:f.flags|=65536,b&=-b,f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if((f.flags&128)===0&&(typeof w.getDerivedStateFromError=="function"||u!==null&&typeof u.componentDidCatch=="function"&&(Ri===null||!Ri.has(u)))){f.flags|=65536,b&=-b,f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(f!==null)}Sk(c)}catch(na){b=na,Y===c&&c!==null&&(Y=c=c.return);continue}break}while(!0)}function Jk(){var a=mk.current;return mk.current=Rh,a===null?Rh:a}function tj(){(T===0||T===3||T===2)&&(T=4),Q===null||(rh&268435455)===0&&(qk&268435455)===0||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();(Q!==a||Z!==b)&&(uk=null,Kk(a,b));do try{Tk();break}catch(e){Mk(a,e)}while(!0);if($g(),K=c,mk.current=d,Y!==null)throw Error(p(261));return Q=null,Z=0,T}function Tk(){for(;Y!==null;)Uk(Y)}function Lk(){for(;Y!==null&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps,b===null?Sk(a):Y=b,nk.current=null}function Sk(a){var b=a;do{var c=b.alternate;if(a=b.return,(b.flags&32768)===0){if(c=Ej(c,b,fj),c!==null){Y=c;return}}else{if(c=Ij(c,b),c!==null){c.flags&=32767,Y=c;return}if(a!==null)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6,Y=null;return}}if(b=b.sibling,b!==null){Y=b;return}Y=b=a}while(b!==null);T===0&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}function Wk(a,b,c,d){do Hk();while(wk!==null);if((K&6)!==0)throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(c===null)return null;if(a.finishedWork=null,a.finishedLanes=0,c===a.current)throw Error(p(177));a.callbackNode=null,a.callbackPriority=0;var f=c.lanes|c.childLanes;if(Bc(a,f),a===Q&&(Y=Q=null,Z=0),(c.subtreeFlags&2064)===0&&(c.flags&2064)===0||vk||(vk=!0,Fk(hc,function(){return Hk(),null})),f=(c.flags&15990)!==0,(c.subtreeFlags&15990)!==0||f){f=ok.transition,ok.transition=null;var g=C;C=1;var h=K;K|=4,nk.current=null,Oj(a,c),dk(c,a),Oe(Df),dd=!!Cf,Df=Cf=null,a.current=c,hk(c,a,e),dc(),K=h,C=g,ok.transition=f}else a.current=c;if(vk&&(vk=!1,wk=a,xk=e),f=a.pendingLanes,f===0&&(Ri=null),mc(c.stateNode,d),Dk(a,B()),b!==null)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;return(xk&1)!==0&&a.tag!==0&&Hk(),f=a.pendingLanes,(f&1)!==0?a===zk?yk++:(yk=0,zk=a):yk=0,jg(),null}function Hk(){if(wk!==null){var a=Dc(xk),b=ok.transition,c=C;try{if(ok.transition=null,C=16>a?16:a,wk===null)var d=!1;else{if(a=wk,wk=null,xk=0,(K&6)!==0)throw Error(p(331));var e=K;for(K|=4,V=a.current;V!==null;){var f=V,g=f.child;if((V.flags&16)!==0){var h=f.deletions;if(h!==null){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;V!==null;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(q!==null)q.return=m,V=q;else for(;V!==null;){m=V;var r=m.sibling,y=m.return;if(Sj(m),m===l){V=null;break}if(r!==null){r.return=y,V=r;break}V=y}}}var n=f.alternate;if(n!==null){var t=n.child;if(t!==null){n.child=null;do{var J=t.sibling;t.sibling=null,t=J}while(t!==null)}}V=f}}if((f.subtreeFlags&2064)!==0&&g!==null)g.return=f,V=g;else b:for(;V!==null;){if(f=V,(f.flags&2048)!==0)switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(x!==null){x.return=f.return,V=x;break b}V=f.return}}var w=a.current;for(V=w;V!==null;){g=V;var u=g.child;if((g.subtreeFlags&2064)!==0&&u!==null)u.return=g,V=u;else b:for(g=w;V!==null;){if(h=V,(h.flags&2048)!==0)try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(F!==null){F.return=h.return,V=F;break b}V=h.return}}if(K=e,jg(),lc&&typeof lc.onPostCommitFiberRoot=="function")try{lc.onPostCommitFiberRoot(kc,a)}catch{}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b),b=Ni(a,b,1),a=nh(a,b,1),b=R(),a!==null&&(Ac(a,1,b),Dk(a,b))}function W(a,b,c){if(a.tag===3)Xk(a,a,c);else for(;b!==null;){if(b.tag===3){Xk(b,a,c);break}else if(b.tag===1){var d=b.stateNode;if(typeof b.type.getDerivedStateFromError=="function"||typeof d.componentDidCatch=="function"&&(Ri===null||!Ri.has(d))){a=Ji(c,a),a=Qi(b,a,1),b=nh(b,a,1),a=R(),b!==null&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}function Ti(a,b,c){var d=a.pingCache;d!==null&&d.delete(b),b=R(),a.pingedLanes|=a.suspendedLanes&c,Q===a&&(Z&c)===c&&(T===4||T===3&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c),Dk(a,b)}function Yk(a,b){b===0&&((a.mode&1)===0?b=1:(b=sc,sc<<=1,(sc&130023424)===0&&(sc=4194304)));var c=R();a=ih(a,b),a!==null&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;b!==null&&(c=b.retryLane),Yk(a,c)}function bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode,e=a.memoizedState;e!==null&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314))}d!==null&&d.delete(b),Yk(a,c)}var Vk;Vk=function(a,b,c){if(a!==null)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if((a.lanes&c)===0&&(b.flags&128)===0)return dh=!1,yj(a,b,c);dh=(a.flags&131072)!==0}else dh=!1,I&&(b.flags&1048576)!==0&&ug(b,ng,b.index);switch(b.lanes=0,b.tag){case 2:var d=b.type;ij(a,b),a=b.pendingProps;var e=Yf(b,H.current);ch(b,c),e=Nh(null,b,d,a,e,c);var f=Sh();return b.flags|=1,typeof e=="object"&&e!==null&&typeof e.render=="function"&&e.$$typeof===void 0?(b.tag=1,b.memoizedState=null,b.updateQueue=null,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child),b;case 16:d=b.elementType;a:{switch(ij(a,b),a=b.pendingProps,e=d._init,d=e(d._payload),b.type=d,e=b.tag=Zk(d),a=Ci(d,a),e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,d,""))}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{if(kj(b),a===null)throw Error(p(387));d=b.pendingProps,f=b.memoizedState,e=f.element,lh(a,b),qh(b,d,null,c);var g=b.memoizedState;if(d=g.element,f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=f,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b),b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b),b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(Ig(),d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),a===null&&Eg(b),d=b.type,e=b.pendingProps,f=a!==null?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:f!==null&&Ef(d,f)&&(b.flags|=32),gj(a,b),Xi(a,b,g,c),b.child;case 6:return a===null&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,a===null?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{if(d=b.type._context,e=b.pendingProps,f=b.memoizedProps,g=e.value,G(Wg,d._currentValue),d._currentValue=g,f!==null)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,f!==null&&(f.return=b);f!==null;){var h=f.dependencies;if(h!==null){g=f.child;for(var k=h.firstContext;k!==null;){if(k.context===d){if(f.tag===1){k=mh(-1,c&-c),k.tag=2;var l=f.updateQueue;if(l!==null){l=l.shared;var m=l.pending;m===null?k.next=k:(k.next=m.next,m.next=k),l.pending=k}}f.lanes|=c,k=f.alternate,k!==null&&(k.lanes|=c),bh(f.return,c,b),h.lanes|=c;break}k=k.next}}else if(f.tag===10)g=f.type===b.type?null:f.child;else if(f.tag===18){if(g=f.return,g===null)throw Error(p(341));g.lanes|=c,h=g.alternate,h!==null&&(h.lanes|=c),bh(g,c,b),g=f.sibling}else g=f.child;if(g!==null)g.return=f;else for(g=f;g!==null;){if(g===b){g=null;break}if(f=g.sibling,f!==null){f.return=g.return,g=f;break}g=g.return}f=g}Xi(a,b,e.children,c),b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),b.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag))};function Fk(a,b){return ac(a,b)}function $k(a,b,c,d){this.tag=a,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=b,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=d,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){return a=a.prototype,!(!a||!a.isReactComponent)}function Zk(a){if(typeof a=="function")return aj(a)?1:0;if(a!=null){if(a=a.$$typeof,a===Da)return 11;if(a===Ga)return 14}return 2}function Pg(a,b){var c=a.alternate;return c===null?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=a.flags&14680064,c.childLanes=a.childLanes,c.lanes=a.lanes,c.child=a.child,c.memoizedProps=a.memoizedProps,c.memoizedState=a.memoizedState,c.updateQueue=a.updateQueue,b=a.dependencies,c.dependencies=b===null?null:{lanes:b.lanes,firstContext:b.firstContext},c.sibling=a.sibling,c.index=a.index,c.ref=a.ref,c}function Rg(a,b,c,d,e,f){var g=2;if(d=a,typeof a=="function")aj(a)&&(g=1);else if(typeof a=="string")g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8,e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;break a;case Ga:g=14;break a;case Ha:g=16,d=null;break a}throw Error(p(130,a==null?a:typeof a,""))}return b=Bg(g,c,b,e),b.elementType=a,b.type=d,b.lanes=f,b}function Tg(a,b,c,d){return a=Bg(7,a,d,b),a.lanes=c,a}function pj(a,b,c,d){return a=Bg(22,a,d,b),a.elementType=Ia,a.lanes=c,a.stateNode={isHidden:!1},a}function Qg(a,b,c){return a=Bg(6,a,null,b),a.lanes=c,a}function Sg(a,b,c){return b=Bg(4,a.children!==null?a.children:[],a.key,b),b.lanes=c,b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},b}function al(a,b,c,d,e){this.tag=b,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=d,this.onRecoverableError=e,this.mutableSourceEagerHydrationData=null}function bl(a,b,c,d,e,f,g,h,k){return a=new al(a,b,c,h,k),b===1?(b=1,f===!0&&(b|=8)):b=0,f=Bg(3,null,null,b),a.current=f,f.stateNode=a,f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},kh(f),a}function cl(a,b,c){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:wa,key:d==null?null:""+d,children:a,containerInfo:b,implementation:c}}function dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||a.tag!==1)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(b!==null);throw Error(p(171))}if(a.tag===1){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}function el2(a,b,c,d,e,f,g,h,k){return a=bl(c,d,!0,a,e,f,g,h,k),a.context=dl(null),c=a.current,d=R(),e=yi(c),f=mh(d,e),f.callback=b??null,nh(c,f,e),a.current.lanes=e,Ac(a,e,d),Dk(a,d),a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);return c=dl(c),b.context===null?b.context=c:b.pendingContext=c,b=mh(f,g),b.payload={element:a},d=d===void 0?null:d,d!==null&&(b.callback=d),a=nh(e,b,g),a!==null&&(gi(a,e,g,f),oh(a,e,g)),g}function gl(a){return a=a.current,a.child?(a.child.tag===5,a.child.stateNode):null}function hl(a,b){if(a=a.memoizedState,a!==null&&a.dehydrated!==null){var c=a.retryLane;a.retryLane=c!==0&&c<b?c:b}}function il(a,b){hl(a,b),(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=typeof reportError=="function"?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}ml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(b===null)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(a!==null){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)}),b[uf]=null}};function ml(a){this._internalRoot=a}ml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&b!==0&&b<Qc[c].priority;c++);Qc.splice(c,0,a),c===0&&Vc(a)}};function nl(a){return!(!a||a.nodeType!==1&&a.nodeType!==9&&a.nodeType!==11)}function ol(a){return!(!a||a.nodeType!==1&&a.nodeType!==9&&a.nodeType!==11&&(a.nodeType!==8||a.nodeValue!==" react-mount-point-unstable "))}function pl(){}function ql(a,b,c,d,e){if(e){if(typeof d=="function"){var f=d;d=function(){var a2=gl(g);f.call(a2)}}var g=el2(b,d,a,0,null,!1,!1,"",pl);return a._reactRootContainer=g,a[uf]=g.current,sf(a.nodeType===8?a.parentNode:a),Rk(),g}for(;e=a.lastChild;)a.removeChild(e);if(typeof d=="function"){var h=d;d=function(){var a2=gl(k);h.call(a2)}}var k=bl(a,0,!1,null,null,!1,!1,"",pl);return a._reactRootContainer=k,a[uf]=k.current,sf(a.nodeType===8?a.parentNode:a),Rk(function(){fl(b,k,c,d)}),k}function rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(typeof e=="function"){var h=e;e=function(){var a2=gl(g);h.call(a2)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);c!==0&&(Cc(b,c|1),Dk(b,B()),(K&6)===0&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b2=ih(a,1);if(b2!==null){var c2=R();gi(b2,a,1,c2)}}),il(a,1)}};Fc=function(a){if(a.tag===13){var b=ih(a,134217728);if(b!==null){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(a.tag===13){var b=yi(a),c=ih(a,b);if(c!==null){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};yb=function(a,b,c){switch(b){case"input":if(bb(a,c),b=c.name,c.type==="radio"&&b!=null){for(c=a;c.parentNode;)c=c.parentNode;for(c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]'),b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d),bb(d,e)}}}break;case"textarea":ib(a,c);break;case"select":b=c.value,b!=null&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;var sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){return a=Zb(a),a===null?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||jl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(vl=__REACT_DEVTOOLS_GLOBAL_HOOK__,!vl.isDisabled&&vl.supportsFiber))try{kc=vl.inject(ul),lc=vl}catch{}var vl;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;exports.createPortal=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d="",e=kl;return b!=null&&(b.unstable_strictMode===!0&&(c=!0),b.identifierPrefix!==void 0&&(d=b.identifierPrefix),b.onRecoverableError!==void 0&&(e=b.onRecoverableError)),b=bl(a,1,!1,null,null,c,!1,d,e),a[uf]=b.current,sf(a.nodeType===8?a.parentNode:a),new ll(b)};exports.findDOMNode=function(a){if(a==null)return null;if(a.nodeType===1)return a;var b=a._reactInternals;if(b===void 0)throw typeof a.render=="function"?Error(p(188)):(a=Object.keys(a).join(","),Error(p(268,a)));return a=Zb(b),a=a===null?null:a.stateNode,a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};exports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=c!=null&&c.hydratedSources||null,e=!1,f="",g=kl;if(c!=null&&(c.unstable_strictMode===!0&&(e=!0),c.identifierPrefix!==void 0&&(f=c.identifierPrefix),c.onRecoverableError!==void 0&&(g=c.onRecoverableError)),b=el2(b,null,a,1,c??null,e,!1,f,g),a[uf]=b.current,sf(a),d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),b.mutableSourceEagerHydrationData==null?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,e);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null,a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;exports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(a==null||a._reactInternals===void 0)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version="18.3.1-next-f1338f8080-20240426"}});var require_react_dom=__commonJS({"../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/index.js"(exports,module){"use strict";function checkDCE(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(err){console.error(err)}}checkDCE(),module.exports=require_react_dom_production_min()}});var require_client=__commonJS({"../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js"(exports){"use strict";var m=require_react_dom();exports.createRoot=m.createRoot,exports.hydrateRoot=m.hydrateRoot;var i}});var state={tasks:[],theme:"dark",annotationMode:!1,sidebar:null,popover:null,contextMenu:null,editModal:null,sidebarPinned:!1,activeTooltip:null,indicatorRafId:null,indicatorsVisible:!1,sidebarShowDone:!0,showAllPages:!1,tooltipPinned:!1,hoverTarget:null,annotateHighlightTarget:null,currentHref:"",host:null,root:null,status:null,indicatorContainer:null,edgeTrigger:null,pageSwitcher:null,pages:[],ws:null,reconnectAttempt:0,reconnectTimer:null,pingInterval:null,projectName:null,disabled:!1,onTasksFetched:null,onTasksUpdatedMessage:null},PREFS_KEY="vibeflow-studio-prefs",RECONNECT_BASE=1e3,RECONNECT_MAX=3e4,PING_INTERVAL=25e3;var OVERLAY_CSS=\` :host {
11
+ \`+f.stack}return{value:a,source:b,stack:e,digest:null}}function Ki(a,b,c){return{value:a,source:null,stack:c??null,digest:b??null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c})}}var Mi=typeof WeakMap=="function"?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c),c.tag=3,c.payload={element:null};var d=b.value;return c.callback=function(){Oi||(Oi=!0,Pi=d),Li(a,b)},c}function Qi(a,b,c){c=mh(-1,c),c.tag=3;var d=a.type.getDerivedStateFromError;if(typeof d=="function"){var e=b.value;c.payload=function(){return d(e)},c.callback=function(){Li(a,b)}}var f=a.stateNode;return f!==null&&typeof f.componentDidCatch=="function"&&(c.callback=function(){Li(a,b),typeof d!="function"&&(Ri===null?Ri=new Set([this]):Ri.add(this));var c2=b.stack;this.componentDidCatch(b.value,{componentStack:c2!==null?c2:""})}),c}function Si(a,b,c){var d=a.pingCache;if(d===null){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),e===void 0&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if((b=a.tag===13)&&(b=a.memoizedState,b=b!==null?b.dehydrated!==null:!0),b)return a;a=a.return}while(a!==null);return null}function Vi(a,b,c,d,e){return(a.mode&1)===0?(a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,c.tag===1&&(c.alternate===null?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a):(a.flags|=65536,a.lanes=e,a)}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=a===null?Vg(b,null,c,d):Ug(b,a.child,c,d)}function Yi(a,b,c,d,e){c=c.render;var f=b.ref;return ch(b,e),d=Nh(a,b,c,d,f,e),c=Sh(),a!==null&&!dh?(b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e)):(I&&c&&vg(b),b.flags|=1,Xi(a,b,d,e),b.child)}function $i(a,b,c,d,e){if(a===null){var f=c.type;return typeof f=="function"&&!aj(f)&&f.defaultProps===void 0&&c.compare===null&&c.defaultProps===void 0?(b.tag=15,b.type=f,bj(a,b,f,d,e)):(a=Rg(c.type,null,d,b,b.mode,e),a.ref=b.ref,a.return=b,b.child=a)}if(f=a.child,(a.lanes&e)===0){var g=f.memoizedProps;if(c=c.compare,c=c!==null?c:Ie,c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}return b.flags|=1,a=Pg(f,d),a.ref=b.ref,a.return=b,b.child=a}function bj(a,b,c,d,e){if(a!==null){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,(a.lanes&e)!==0)(a.flags&131072)!==0&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}function dj(a,b,c){var d=b.pendingProps,e=d.children,f=a!==null?a.memoizedState:null;if(d.mode==="hidden")if((b.mode&1)===0)b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if((c&1073741824)===0)return a=f!==null?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null},d=f!==null?f.baseLanes:c,G(ej,fj),fj|=d}else f!==null?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;return Xi(a,b,e,c),b.child}function gj(a,b){var c=b.ref;(a===null&&c!==null||a!==null&&a.ref!==c)&&(b.flags|=512,b.flags|=2097152)}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;return f=Yf(b,f),ch(b,e),c=Nh(a,b,c,d,f,e),d=Sh(),a!==null&&!dh?(b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e)):(I&&d&&vg(b),b.flags|=1,Xi(a,b,c,e),b.child)}function hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;if(ch(b,e),b.stateNode===null)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(a===null){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;typeof l=="object"&&l!==null?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=typeof m=="function"||typeof g.getSnapshotBeforeUpdate=="function";q||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(h!==d||k!==l)&&Hi(b,g,d,l),jh=!1;var r=b.memoizedState;g.state=r,qh(b,d,g,e),k=b.memoizedState,h!==d||r!==k||Wf.current||jh?(typeof m=="function"&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount()),typeof g.componentDidMount=="function"&&(b.flags|=4194308)):(typeof g.componentDidMount=="function"&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(typeof g.componentDidMount=="function"&&(b.flags|=4194308),d=!1)}else{g=b.stateNode,lh(a,b),h=b.memoizedProps,l=b.type===b.elementType?h:Ci(b.type,h),g.props=l,q=b.pendingProps,r=g.context,k=c.contextType,typeof k=="object"&&k!==null?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=typeof y=="function"||typeof g.getSnapshotBeforeUpdate=="function")||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(h!==q||r!==k)&&Hi(b,g,d,k),jh=!1,r=b.memoizedState,g.state=r,qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(typeof y=="function"&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||typeof g.UNSAFE_componentWillUpdate!="function"&&typeof g.componentWillUpdate!="function"||(typeof g.componentWillUpdate=="function"&&g.componentWillUpdate(d,n,k),typeof g.UNSAFE_componentWillUpdate=="function"&&g.UNSAFE_componentWillUpdate(d,n,k)),typeof g.componentDidUpdate=="function"&&(b.flags|=4),typeof g.getSnapshotBeforeUpdate=="function"&&(b.flags|=1024)):(typeof g.componentDidUpdate!="function"||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(typeof g.componentDidUpdate!="function"||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}function jj(a,b,c,d,e,f){gj(a,b);var g=(b.flags&128)!==0;if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode,Wi.current=b;var h=g&&typeof c.getDerivedStateFromError!="function"?null:d.render();return b.flags|=1,a!==null&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f),b.memoizedState=d.state,e&&dg(b,c,!0),b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1),yh(a,b.containerInfo)}function lj(a,b,c,d,e){return Ig(),Jg(e),b.flags|=256,Xi(a,b,c,d),b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}function oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=(b.flags&128)!==0,h;if((h=g)||(h=a!==null&&a.memoizedState===null?!1:(e&2)!==0),h?(f=!0,b.flags&=-129):(a===null||a.memoizedState!==null)&&(e|=1),G(L,e&1),a===null)return Eg(b),a=b.memoizedState,a!==null&&(a=a.dehydrated,a!==null)?((b.mode&1)===0?b.lanes=1:a.data==="$!"?b.lanes=8:b.lanes=1073741824,null):(g=d.children,a=d.fallback,f?(d=b.mode,f=b.child,g={mode:"hidden",children:g},(d&1)===0&&f!==null?(f.childLanes=0,f.pendingProps=g):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g));if(e=a.memoizedState,e!==null&&(h=e.dehydrated,h!==null))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback,g=b.mode,e=a.child,h=e.sibling;var k={mode:"hidden",children:d.children};return(g&1)===0&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064),h!==null?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2),f.return=b,d.return=b,d.sibling=f,b.child=d,d=f,f=b.child,g=a.child.memoizedState,g=g===null?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions},f.memoizedState=g,f.childLanes=a.childLanes&~c,b.memoizedState=mj,d}return f=a.child,a=f.sibling,d=Pg(f,{mode:"visible",children:d.children}),(b.mode&1)===0&&(d.lanes=c),d.return=b,d.sibling=null,a!==null&&(c=b.deletions,c===null?(b.deletions=[a],b.flags|=16):c.push(a)),b.child=d,b.memoizedState=null,d}function qj(a,b){return b=pj({mode:"visible",children:b},a.mode,0,null),b.return=a,a.child=b}function sj(a,b,c,d){return d!==null&&Jg(d),Ug(b,a.child,null,c),a=qj(b,b.pendingProps.children),a.flags|=2,b.memoizedState=null,a}function rj(a,b,c,d,e,f,g){if(c)return b.flags&256?(b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d)):b.memoizedState!==null?(b.child=a.child,b.flags|=128,null):(f=d.fallback,e=b.mode,d=pj({mode:"visible",children:d.children},e,0,null),f=Tg(f,e,g,null),f.flags|=2,d.return=b,f.return=b,d.sibling=f,b.child=d,(b.mode&1)!==0&&Ug(b,a.child,null,g),b.child.memoizedState=nj(g),b.memoizedState=mj,f);if((b.mode&1)===0)return sj(a,b,g,null);if(e.data==="$!"){if(d=e.nextSibling&&e.nextSibling.dataset,d)var h=d.dgst;return d=h,f=Error(p(419)),d=Ki(f,d,void 0),sj(a,b,g,d)}if(h=(g&a.childLanes)!==0,dh||h){if(d=Q,d!==null){switch(g&-g){case 4:e=2;break;case 16:e=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:e=32;break;case 536870912:e=268435456;break;default:e=0}e=(e&(d.suspendedLanes|g))!==0?0:e,e!==0&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}return tj(),d=Ki(Error(p(421))),sj(a,b,g,d)}return e.data==="$?"?(b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null):(a=f.treeContext,yg=Lf(e.nextSibling),xg=b,I=!0,zg=null,a!==null&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b),b=qj(b,d.children),b.flags|=4096,b)}function vj(a,b,c){a.lanes|=b;var d=a.alternate;d!==null&&(d.lanes|=b),bh(a.return,b,c)}function wj(a,b,c,d,e){var f=a.memoizedState;f===null?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}function xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;if(Xi(a,b,d.children,c),d=L.current,(d&2)!==0)d=d&1|2,b.flags|=128;else{if(a!==null&&(a.flags&128)!==0)a:for(a=b.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&vj(a,c,b);else if(a.tag===19)vj(a,c,b);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===b)break a;for(;a.sibling===null;){if(a.return===null||a.return===b)break a;a=a.return}a.sibling.return=a.return,a=a.sibling}d&=1}if(G(L,d),(b.mode&1)===0)b.memoizedState=null;else switch(e){case"forwards":for(c=b.child,e=null;c!==null;)a=c.alternate,a!==null&&Ch(a)===null&&(e=c),c=c.sibling;c=e,c===null?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null),wj(b,!1,e,c,f);break;case"backwards":for(c=null,e=b.child,b.child=null;e!==null;){if(a=e.alternate,a!==null&&Ch(a)===null){b.child=e;break}a=e.sibling,e.sibling=c,c=e,e=a}wj(b,!0,c,null,f);break;case"together":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}function ij(a,b){(b.mode&1)===0&&a!==null&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){if(a!==null&&(b.dependencies=a.dependencies),rh|=b.lanes,(c&b.childLanes)===0)return null;if(a!==null&&b.child!==a.child)throw Error(p(153));if(b.child!==null){for(a=b.child,c=Pg(a,a.pendingProps),b.child=c,c.return=b;a.sibling!==null;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}function yj(a,b,c){switch(b.tag){case 3:kj(b),Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue),d._currentValue=e;break;case 13:if(d=b.memoizedState,d!==null)return d.dehydrated!==null?(G(L,L.current&1),b.flags|=128,null):(c&b.child.childLanes)!==0?oj(a,b,c):(G(L,L.current&1),a=Zi(a,b,c),a!==null?a.sibling:null);G(L,L.current&1);break;case 19:if(d=(c&b.childLanes)!==0,(a.flags&128)!==0){if(d)return xj(a,b,c);b.flags|=128}if(e=b.memoizedState,e!==null&&(e.rendering=null,e.tail=null,e.lastEffect=null),G(L,L.current),d)break;return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;zj=function(a,b){for(var c=b.child;c!==null;){if(c.tag===5||c.tag===6)a.appendChild(c.stateNode);else if(c.tag!==4&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===b)break;for(;c.sibling===null;){if(c.return===null||c.return===b)return;c=c.return}c.sibling.return=c.return,c=c.sibling}};Aj=function(){};Bj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode,xh(uh.current);var f=null;switch(c){case"input":e=Ya(a,e),d=Ya(a,d),f=[];break;case"select":e=A({},e,{value:void 0}),d=A({},d,{value:void 0}),f=[];break;case"textarea":e=gb(a,e),d=gb(a,d),f=[];break;default:typeof e.onClick!="function"&&typeof d.onClick=="function"&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&e[l]!=null)if(l==="style"){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]="")}else l!=="dangerouslySetInnerHTML"&&l!=="children"&&l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&l!=="autoFocus"&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];if(h=e!=null?e[l]:void 0,d.hasOwnProperty(l)&&k!==h&&(k!=null||h!=null))if(l==="style")if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]="");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else l==="dangerouslySetInnerHTML"?(k=k?k.__html:void 0,h=h?h.__html:void 0,k!=null&&h!==k&&(f=f||[]).push(l,k)):l==="children"?typeof k!="string"&&typeof k!="number"||(f=f||[]).push(l,""+k):l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&(ea.hasOwnProperty(l)?(k!=null&&l==="onScroll"&&D("scroll",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push("style",c);var l=f;(b.updateQueue=l)&&(b.flags|=4)}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};function Dj(a,b){if(!I)switch(a.tailMode){case"hidden":b=a.tail;for(var c=null;b!==null;)b.alternate!==null&&(c=b),b=b.sibling;c===null?a.tail=null:c.sibling=null;break;case"collapsed":c=a.tail;for(var d=null;c!==null;)c.alternate!==null&&(d=c),c=c.sibling;d===null?b||a.tail===null?a.tail=null:a.tail.sibling=null:d.sibling=null}}function S(a){var b=a.alternate!==null&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;e!==null;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;e!==null;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;return a.subtreeFlags|=d,a.childLanes=c,b}function Ej(a,b,c){var d=b.pendingProps;switch(wg(b),b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:return d=b.stateNode,zh(),E(Wf),E(H),Eh(),d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null),(a===null||a.child===null)&&(Gg(b)?b.flags|=4:a===null||a.memoizedState.isDehydrated&&(b.flags&256)===0||(b.flags|=1024,zg!==null&&(Fj(zg),zg=null))),Aj(a,b),S(b),null;case 5:Bh(b);var e=xh(wh.current);if(c=b.type,a!==null&&b.stateNode!=null)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(b.stateNode===null)throw Error(p(166));return S(b),null}if(a=xh(uh.current),Gg(b)){d=b.stateNode,c=b.type;var f=b.memoizedProps;switch(d[Of]=b,d[Pf]=f,a=(b.mode&1)!==0,c){case"dialog":D("cancel",d),D("close",d);break;case"iframe":case"object":case"embed":D("load",d);break;case"video":case"audio":for(e=0;e<lf.length;e++)D(lf[e],d);break;case"source":D("error",d);break;case"img":case"image":case"link":D("error",d),D("load",d);break;case"details":D("toggle",d);break;case"input":Za(d,f),D("invalid",d);break;case"select":d._wrapperState={wasMultiple:!!f.multiple},D("invalid",d);break;case"textarea":hb(d,f),D("invalid",d)}ub(c,f),e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];g==="children"?typeof h=="string"?d.textContent!==h&&(f.suppressHydrationWarning!==!0&&Af(d.textContent,h,a),e=["children",h]):typeof h=="number"&&d.textContent!==""+h&&(f.suppressHydrationWarning!==!0&&Af(d.textContent,h,a),e=["children",""+h]):ea.hasOwnProperty(g)&&h!=null&&g==="onScroll"&&D("scroll",d)}switch(c){case"input":Va(d),db(d,f,!0);break;case"textarea":Va(d),jb(d);break;case"select":case"option":break;default:typeof f.onClick=="function"&&(d.onclick=Bf)}d=e,b.updateQueue=d,d!==null&&(b.flags|=4)}else{g=e.nodeType===9?e:e.ownerDocument,a==="http://www.w3.org/1999/xhtml"&&(a=kb(c)),a==="http://www.w3.org/1999/xhtml"?c==="script"?(a=g.createElement("div"),a.innerHTML="<script><\\/script>",a=a.removeChild(a.firstChild)):typeof d.is=="string"?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),c==="select"&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c),a[Of]=b,a[Pf]=d,zj(a,b,!1,!1),b.stateNode=a;a:{switch(g=vb(c,d),c){case"dialog":D("cancel",a),D("close",a),e=d;break;case"iframe":case"object":case"embed":D("load",a),e=d;break;case"video":case"audio":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case"source":D("error",a),e=d;break;case"img":case"image":case"link":D("error",a),D("load",a),e=d;break;case"details":D("toggle",a),e=d;break;case"input":Za(a,d),e=Ya(a,d),D("invalid",a);break;case"option":e=d;break;case"select":a._wrapperState={wasMultiple:!!d.multiple},e=A({},d,{value:void 0}),D("invalid",a);break;case"textarea":hb(a,d),e=gb(a,d),D("invalid",a);break;default:e=d}ub(c,e),h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];f==="style"?sb(a,k):f==="dangerouslySetInnerHTML"?(k=k?k.__html:void 0,k!=null&&nb(a,k)):f==="children"?typeof k=="string"?(c!=="textarea"||k!=="")&&ob(a,k):typeof k=="number"&&ob(a,""+k):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(ea.hasOwnProperty(f)?k!=null&&f==="onScroll"&&D("scroll",a):k!=null&&ta(a,f,k,g))}switch(c){case"input":Va(a),db(a,d,!1);break;case"textarea":Va(a),jb(a);break;case"option":d.value!=null&&a.setAttribute("value",""+Sa(d.value));break;case"select":a.multiple=!!d.multiple,f=d.value,f!=null?fb(a,!!d.multiple,f,!1):d.defaultValue!=null&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:typeof e.onClick=="function"&&(a.onclick=Bf)}switch(c){case"button":case"input":case"select":case"textarea":d=!!d.autoFocus;break a;case"img":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}b.ref!==null&&(b.flags|=512,b.flags|=2097152)}return S(b),null;case 6:if(a&&b.stateNode!=null)Cj(a,b,a.memoizedProps,d);else{if(typeof d!="string"&&b.stateNode===null)throw Error(p(166));if(c=xh(wh.current),xh(uh.current),Gg(b)){if(d=b.stateNode,c=b.memoizedProps,d[Of]=b,(f=d.nodeValue!==c)&&(a=xg,a!==null))switch(a.tag){case 3:Af(d.nodeValue,c,(a.mode&1)!==0);break;case 5:a.memoizedProps.suppressHydrationWarning!==!0&&Af(d.nodeValue,c,(a.mode&1)!==0)}f&&(b.flags|=4)}else d=(c.nodeType===9?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}return S(b),null;case 13:if(E(L),d=b.memoizedState,a===null||a.memoizedState!==null&&a.memoizedState.dehydrated!==null){if(I&&yg!==null&&(b.mode&1)!==0&&(b.flags&128)===0)Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),d!==null&&d.dehydrated!==null){if(a===null){if(!f)throw Error(p(318));if(f=b.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(p(317));f[Of]=b}else Ig(),(b.flags&128)===0&&(b.memoizedState=null),b.flags|=4;S(b),f=!1}else zg!==null&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}return(b.flags&128)!==0?(b.lanes=c,b):(d=d!==null,d!==(a!==null&&a.memoizedState!==null)&&d&&(b.child.flags|=8192,(b.mode&1)!==0&&(a===null||(L.current&1)!==0?T===0&&(T=3):tj())),b.updateQueue!==null&&(b.flags|=4),S(b),null);case 4:return zh(),Aj(a,b),a===null&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:if(E(L),f=b.memoizedState,f===null)return S(b),null;if(d=(b.flags&128)!==0,g=f.rendering,g===null)if(d)Dj(f,!1);else{if(T!==0||a!==null&&(a.flags&128)!==0)for(a=b.child;a!==null;){if(g=Ch(a),g!==null){for(b.flags|=128,Dj(f,!1),d=g.updateQueue,d!==null&&(b.updateQueue=d,b.flags|=4),b.subtreeFlags=0,d=c,c=b.child;c!==null;)f=c,a=d,f.flags&=14680066,g=f.alternate,g===null?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;return G(L,L.current&1|2),b.child}a=a.sibling}f.tail!==null&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),a!==null){if(b.flags|=128,d=!0,c=a.updateQueue,c!==null&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),f.tail===null&&f.tailMode==="hidden"&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&c!==1073741824&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,c!==null?c.sibling=g:b.child=g,f.last=g)}return f.tail!==null?(b=f.tail,f.rendering=b,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b):(S(b),null);case 22:case 23:return Hj(),d=b.memoizedState!==null,a!==null&&a.memoizedState!==null!==d&&(b.flags|=8192),d&&(b.mode&1)!==0?(fj&1073741824)!==0&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag))}function Ij(a,b){switch(wg(b),b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,(a&65536)!==0&&(a&128)===0?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:if(E(L),a=b.memoizedState,a!==null&&a.dehydrated!==null){if(b.alternate===null)throw Error(p(340));Ig()}return a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),null;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=typeof WeakSet=="function"?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;function Oj(a,b){if(Cf=dd,a=Me(),Ne(a)){if("selectionStart"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&d.rangeCount!==0){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch{c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;q!==c||e!==0&&q.nodeType!==3||(h=g+e),q!==f||d!==0&&q.nodeType!==3||(k=g+d),q.nodeType===3&&(g+=q.nodeValue.length),(y=q.firstChild)!==null;)r=q,q=y;for(;;){if(q===a)break b;if(r===c&&++l===e&&(h=g),r===f&&++m===d&&(k=g),(y=q.nextSibling)!==null)break;q=r,r=q.parentNode}q=y}c=h===-1||k===-1?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;for(Df={focusedElem:a,selectionRange:c},dd=!1,V=b;V!==null;)if(b=V,a=b.child,(b.subtreeFlags&1028)!==0&&a!==null)a.return=b,V=a;else for(;V!==null;){b=V;try{var n=b.alternate;if((b.flags&1024)!==0)switch(b.tag){case 0:case 11:case 15:break;case 1:if(n!==null){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;u.nodeType===1?u.textContent="":u.nodeType===9&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163))}}catch(F){W(b,b.return,F)}if(a=b.sibling,a!==null){a.return=b.return,V=a;break}V=b.return}return n=Nj,Nj=!1,n}function Pj(a,b,c){var d=b.updateQueue;if(d=d!==null?d.lastEffect:null,d!==null){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0,f!==void 0&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){if(b=b.updateQueue,b=b!==null?b.lastEffect:null,b!==null){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(b!==null){var c=a.stateNode;a.tag,a=c,typeof b=="function"?b(a):b.current=a}}function Sj(a){var b=a.alternate;b!==null&&(a.alternate=null,Sj(b)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(b=a.stateNode,b!==null&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf])),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function Tj(a){return a.tag===5||a.tag===3||a.tag===4}function Uj(a){a:for(;;){for(;a.sibling===null;){if(a.return===null||Tj(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue a;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function Vj(a,b,c){var d=a.tag;if(d===5||d===6)a=a.stateNode,b?c.nodeType===8?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(c.nodeType===8?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,c!=null||b.onclick!==null||(b.onclick=Bf));else if(d!==4&&(a=a.child,a!==null))for(Vj(a,b,c),a=a.sibling;a!==null;)Vj(a,b,c),a=a.sibling}function Wj(a,b,c){var d=a.tag;if(d===5||d===6)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(d!==4&&(a=a.child,a!==null))for(Wj(a,b,c),a=a.sibling;a!==null;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;c!==null;)Zj(a,b,c),c=c.sibling}function Zj(a,b,c){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,c)}catch{}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null,Yj(a,b,c),X=d,Xj=e,X!==null&&(Xj?(a=X,c=c.stateNode,a.nodeType===8?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:X!==null&&(Xj?(a=X,c=c.stateNode,a.nodeType===8?Kf(a.parentNode,c):a.nodeType===1&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X,e=Xj,X=c.stateNode.containerInfo,Xj=!0,Yj(a,b,c),X=d,Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,d!==null&&(d=d.lastEffect,d!==null))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag,g!==void 0&&((f&2)!==0||(f&4)!==0)&&Mj(c,b,g),e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,typeof d.componentWillUnmount=="function"))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||c.memoizedState!==null,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(b!==null){a.updateQueue=null;var c=a.stateNode;c===null&&(c=a.stateNode=new Kj),b.forEach(function(b2){var d=bk.bind(null,a,b2);c.has(b2)||(c.add(b2),b2.then(d,d))})}}function ck(a,b){var c=b.deletions;if(c!==null)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;h!==null;){switch(h.tag){case 5:X=h.stateNode,Xj=!1;break a;case 3:X=h.stateNode.containerInfo,Xj=!0;break a;case 4:X=h.stateNode.containerInfo,Xj=!0;break a}h=h.return}if(X===null)throw Error(p(160));Zj(f,g,e),X=null,Xj=!1;var k=e.alternate;k!==null&&(k.return=null),e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;b!==null;)dk(b,a),b=b.sibling}function dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:if(ck(b,a),ek(a),d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a),ek(a),d&512&&c!==null&&Lj(c,c.return);break;case 5:if(ck(b,a),ek(a),d&512&&c!==null&&Lj(c,c.return),a.flags&32){var e=a.stateNode;try{ob(e,"")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,e!=null)){var f=a.memoizedProps,g=c!==null?c.memoizedProps:f,h=a.type,k=a.updateQueue;if(a.updateQueue=null,k!==null)try{h==="input"&&f.type==="radio"&&f.name!=null&&ab(e,f),vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];m==="style"?sb(e,q):m==="dangerouslySetInnerHTML"?nb(e,q):m==="children"?ob(e,q):ta(e,m,q,l)}switch(h){case"input":bb(e,f);break;case"textarea":ib(e,f);break;case"select":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;y!=null?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(f.defaultValue!=null?fb(e,!!f.multiple,f.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:"",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:if(ck(b,a),ek(a),d&4){if(a.stateNode===null)throw Error(p(162));e=a.stateNode,f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:if(ck(b,a),ek(a),d&4&&c!==null&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a),ek(a);break;case 13:ck(b,a),ek(a),e=a.child,e.flags&8192&&(f=e.memoizedState!==null,e.stateNode.isHidden=f,!f||e.alternate!==null&&e.alternate.memoizedState!==null||(fk=B())),d&4&&ak(a);break;case 22:if(m=c!==null&&c.memoizedState!==null,a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a),ek(a),d&8192){if(l=a.memoizedState!==null,(a.stateNode.isHidden=l)&&!m&&(a.mode&1)!==0)for(V=a,m=a.child;m!==null;){for(q=V=m;V!==null;){switch(r=V,y=r.child,r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(typeof n.componentWillUnmount=="function"){d=r,c=r.return;try{b=d,n.props=b.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(r.memoizedState!==null){gk(q);continue}}y!==null?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(q.tag===5){if(m===null){m=q;try{e=q.stateNode,l?(f=e.style,typeof f.setProperty=="function"?f.setProperty("display","none","important"):f.display="none"):(h=q.stateNode,k=q.memoizedProps.style,g=k!=null&&k.hasOwnProperty("display")?k.display:null,h.style.display=rb("display",g))}catch(t){W(a,a.return,t)}}}else if(q.tag===6){if(m===null)try{q.stateNode.nodeValue=l?"":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((q.tag!==22&&q.tag!==23||q.memoizedState===null||q===a)&&q.child!==null){q.child.return=q,q=q.child;continue}if(q===a)break a;for(;q.sibling===null;){if(q.return===null||q.return===a)break a;m===q&&(m=null),q=q.return}m===q&&(m=null),q.sibling.return=q.return,q=q.sibling}}break;case 19:ck(b,a),ek(a),d&4&&ak(a);break;case 21:break;default:ck(b,a),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;c!==null;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160))}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,""),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161))}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a,ik(a,b,c)}function ik(a,b,c){for(var d=(a.mode&1)!==0;V!==null;){var e=V,f=e.child;if(e.tag===22&&d){var g=e.memoizedState!==null||Jj;if(!g){var h=e.alternate,k=h!==null&&h.memoizedState!==null||U;h=Jj;var l=U;if(Jj=g,(U=k)&&!l)for(V=e;V!==null;)g=V,k=g.child,g.tag===22&&g.memoizedState!==null?jk(e):k!==null?(k.return=g,V=k):jk(e);for(;f!==null;)V=f,ik(f,b,c),f=f.sibling;V=e,Jj=h,U=l}kk(a,b,c)}else(e.subtreeFlags&8772)!==0&&f!==null?(f.return=e,V=f):kk(a,b,c)}}function kk(a){for(;V!==null;){var b=V;if((b.flags&8772)!==0){var c=b.alternate;try{if((b.flags&8772)!==0)switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(c===null)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;f!==null&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(g!==null){if(c=null,b.child!==null)switch(b.child.tag){case 5:c=b.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(c===null&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case"button":case"input":case"select":case"textarea":k.autoFocus&&c.focus();break;case"img":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(b.memoizedState===null){var l=b.alternate;if(l!==null){var m=l.memoizedState;if(m!==null){var q=m.dehydrated;q!==null&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(p(163))}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}if(c=b.sibling,c!==null){c.return=b.return,V=c;break}V=b.return}}function gk(a){for(;V!==null;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(c!==null){c.return=b.return,V=c;break}V=b.return}}function jk(a){for(;V!==null;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(typeof d.componentDidMount=="function"){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(h!==null){h.return=b.return,V=h;break}V=b.return}}var lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=1/0,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return(K&6)!==0?B():Ak!==-1?Ak:Ak=B()}function yi(a){return(a.mode&1)===0?1:(K&2)!==0&&Z!==0?Z&-Z:Kg.transition!==null?(Bk===0&&(Bk=yc()),Bk):(a=C,a!==0||(a=window.event,a=a===void 0?16:jd(a.type)),a)}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d),((K&2)===0||a!==Q)&&(a===Q&&((K&2)===0&&(qk|=c),T===4&&Ck(a,Z)),Dk(a,d),c===1&&K===0&&(b.mode&1)===0&&(Gj=B()+500,fg&&jg()))}function Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(d===0)c!==null&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){if(c!=null&&bc(c),b===1)a.tag===0?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){(K&6)===0&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b,a.callbackNode=c}}function Gk(a,b){if(Ak=-1,Bk=0,(K&6)!==0)throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(d===0)return null;if((d&30)!==0||(d&a.expiredLanes)!==0||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();(Q!==a||Z!==b)&&(uk=null,Gj=B()+500,Kk(a,b));do try{Lk();break}catch(h){Mk(a,h)}while(!0);$g(),mk.current=f,K=e,Y!==null?b=0:(Q=null,Z=0,b=T)}if(b!==0){if(b===2&&(e=xc(a),e!==0&&(d=e,b=Nk(a,e))),b===1)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(b===6)Ck(a,d);else{if(e=a.current.alternate,(d&30)===0&&!Ok(e)&&(b=Ik(a,d),b===2&&(f=xc(a),f!==0&&(d=f,b=Nk(a,f))),b===1))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;switch(a.finishedWork=e,a.finishedLanes=d,b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:if(Ck(a,d),(d&130023424)===d&&(b=fk+500-B(),10<b)){if(uc(a,0)!==0)break;if(e=a.suspendedLanes,(e&d)!==d){R(),a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:if(Ck(a,d),(d&4194240)===d)break;for(b=a.eventTimes,e=-1;0<d;){var g=31-oc(d);f=1<<g,g=b[g],g>e&&(e=g),d&=~f}if(d=e,d=B()-d,d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3e3>d?3e3:4320>d?4320:1960*lk(d/1960))-d,10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329))}}}return Dk(a,B()),a.callbackNode===c?Gk.bind(null,a):null}function Nk(a,b){var c=sk;return a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256),a=Ik(a,b),a!==2&&(b=tk,tk=c,b!==null&&Fj(b)),a}function Fj(a){tk===null?tk=a:tk.push.apply(tk,a)}function Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(c!==null&&(c=c.stores,c!==null))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch{return!1}}}if(c=b.child,b.subtreeFlags&16384&&c!==null)c.return=b,b=c;else{if(b===a)break;for(;b.sibling===null;){if(b.return===null||b.return===a)return!0;b=b.return}b.sibling.return=b.return,b=b.sibling}}return!0}function Ck(a,b){for(b&=~rk,b&=~qk,a.suspendedLanes|=b,a.pingedLanes&=~b,a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1,b&=~d}}function Ek(a){if((K&6)!==0)throw Error(p(327));Hk();var b=uc(a,0);if((b&1)===0)return Dk(a,B()),null;var c=Ik(a,b);if(a.tag!==0&&c===2){var d=xc(a);d!==0&&(b=d,c=Nk(a,d))}if(c===1)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(c===6)throw Error(p(345));return a.finishedWork=a.current.alternate,a.finishedLanes=b,Pk(a,tk,uk),Dk(a,B()),null}function Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,K===0&&(Gj=B()+500,fg&&jg())}}function Rk(a){wk!==null&&wk.tag===0&&(K&6)===0&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,(K&6)===0&&jg()}}function Hj(){fj=ej.current,E(ej)}function Kk(a,b){a.finishedWork=null,a.finishedLanes=0;var c=a.timeoutHandle;if(c!==-1&&(a.timeoutHandle=-1,Gf(c)),Y!==null)for(c=Y.return;c!==null;){var d=c;switch(wg(d),d.tag){case 1:d=d.type.childContextTypes,d!=null&&$f();break;case 3:zh(),E(Wf),E(H),Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}if(Q=a,Y=a=Pg(a.current,null),Z=fj=b,T=0,pk=null,rk=qk=rh=0,tk=sk=null,fh!==null){for(b=0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,d!==null){c.interleaved=null;var e=d.next,f=c.pending;if(f!==null){var g=f.next;f.next=e,d.next=g}c.pending=d}fh=null}return a}function Mk(a,b){do{var c=Y;try{if($g(),Fh.current=Rh,Ih){for(var d=M.memoizedState;d!==null;){var e=d.queue;e!==null&&(e.pending=null),d=d.next}Ih=!1}if(Hh=0,O=N=M=null,Jh=!1,Kh=0,nk.current=null,c===null||c.return===null){T=1,pk=b,Y=null;break}a:{var f=a,g=c.return,h=c,k=b;if(b=Z,h.flags|=32768,k!==null&&typeof k=="object"&&typeof k.then=="function"){var l=k,m=h,q=m.tag;if((m.mode&1)===0&&(q===0||q===11||q===15)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,m.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(y!==null){y.flags&=-257,Vi(y,g,h,f,b),y.mode&1&&Si(f,l,b),b=y,k=l;var n=b.updateQueue;if(n===null){var t=new Set;t.add(k),b.updateQueue=t}else n.add(k);break a}else{if((b&1)===0){Si(f,l,b),tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(J!==null){(J.flags&65536)===0&&(J.flags|=256),Vi(J,g,h,f,b),Jg(Ji(k,h));break a}}f=k=Ji(k,h),T!==4&&(T=2),sk===null?sk=[f]:sk.push(f),f=g;do{switch(f.tag){case 3:f.flags|=65536,b&=-b,f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if((f.flags&128)===0&&(typeof w.getDerivedStateFromError=="function"||u!==null&&typeof u.componentDidCatch=="function"&&(Ri===null||!Ri.has(u)))){f.flags|=65536,b&=-b,f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(f!==null)}Sk(c)}catch(na){b=na,Y===c&&c!==null&&(Y=c=c.return);continue}break}while(!0)}function Jk(){var a=mk.current;return mk.current=Rh,a===null?Rh:a}function tj(){(T===0||T===3||T===2)&&(T=4),Q===null||(rh&268435455)===0&&(qk&268435455)===0||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();(Q!==a||Z!==b)&&(uk=null,Kk(a,b));do try{Tk();break}catch(e){Mk(a,e)}while(!0);if($g(),K=c,mk.current=d,Y!==null)throw Error(p(261));return Q=null,Z=0,T}function Tk(){for(;Y!==null;)Uk(Y)}function Lk(){for(;Y!==null&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps,b===null?Sk(a):Y=b,nk.current=null}function Sk(a){var b=a;do{var c=b.alternate;if(a=b.return,(b.flags&32768)===0){if(c=Ej(c,b,fj),c!==null){Y=c;return}}else{if(c=Ij(c,b),c!==null){c.flags&=32767,Y=c;return}if(a!==null)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6,Y=null;return}}if(b=b.sibling,b!==null){Y=b;return}Y=b=a}while(b!==null);T===0&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}function Wk(a,b,c,d){do Hk();while(wk!==null);if((K&6)!==0)throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(c===null)return null;if(a.finishedWork=null,a.finishedLanes=0,c===a.current)throw Error(p(177));a.callbackNode=null,a.callbackPriority=0;var f=c.lanes|c.childLanes;if(Bc(a,f),a===Q&&(Y=Q=null,Z=0),(c.subtreeFlags&2064)===0&&(c.flags&2064)===0||vk||(vk=!0,Fk(hc,function(){return Hk(),null})),f=(c.flags&15990)!==0,(c.subtreeFlags&15990)!==0||f){f=ok.transition,ok.transition=null;var g=C;C=1;var h=K;K|=4,nk.current=null,Oj(a,c),dk(c,a),Oe(Df),dd=!!Cf,Df=Cf=null,a.current=c,hk(c,a,e),dc(),K=h,C=g,ok.transition=f}else a.current=c;if(vk&&(vk=!1,wk=a,xk=e),f=a.pendingLanes,f===0&&(Ri=null),mc(c.stateNode,d),Dk(a,B()),b!==null)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;return(xk&1)!==0&&a.tag!==0&&Hk(),f=a.pendingLanes,(f&1)!==0?a===zk?yk++:(yk=0,zk=a):yk=0,jg(),null}function Hk(){if(wk!==null){var a=Dc(xk),b=ok.transition,c=C;try{if(ok.transition=null,C=16>a?16:a,wk===null)var d=!1;else{if(a=wk,wk=null,xk=0,(K&6)!==0)throw Error(p(331));var e=K;for(K|=4,V=a.current;V!==null;){var f=V,g=f.child;if((V.flags&16)!==0){var h=f.deletions;if(h!==null){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;V!==null;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(q!==null)q.return=m,V=q;else for(;V!==null;){m=V;var r=m.sibling,y=m.return;if(Sj(m),m===l){V=null;break}if(r!==null){r.return=y,V=r;break}V=y}}}var n=f.alternate;if(n!==null){var t=n.child;if(t!==null){n.child=null;do{var J=t.sibling;t.sibling=null,t=J}while(t!==null)}}V=f}}if((f.subtreeFlags&2064)!==0&&g!==null)g.return=f,V=g;else b:for(;V!==null;){if(f=V,(f.flags&2048)!==0)switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(x!==null){x.return=f.return,V=x;break b}V=f.return}}var w=a.current;for(V=w;V!==null;){g=V;var u=g.child;if((g.subtreeFlags&2064)!==0&&u!==null)u.return=g,V=u;else b:for(g=w;V!==null;){if(h=V,(h.flags&2048)!==0)try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(F!==null){F.return=h.return,V=F;break b}V=h.return}}if(K=e,jg(),lc&&typeof lc.onPostCommitFiberRoot=="function")try{lc.onPostCommitFiberRoot(kc,a)}catch{}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b),b=Ni(a,b,1),a=nh(a,b,1),b=R(),a!==null&&(Ac(a,1,b),Dk(a,b))}function W(a,b,c){if(a.tag===3)Xk(a,a,c);else for(;b!==null;){if(b.tag===3){Xk(b,a,c);break}else if(b.tag===1){var d=b.stateNode;if(typeof b.type.getDerivedStateFromError=="function"||typeof d.componentDidCatch=="function"&&(Ri===null||!Ri.has(d))){a=Ji(c,a),a=Qi(b,a,1),b=nh(b,a,1),a=R(),b!==null&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}function Ti(a,b,c){var d=a.pingCache;d!==null&&d.delete(b),b=R(),a.pingedLanes|=a.suspendedLanes&c,Q===a&&(Z&c)===c&&(T===4||T===3&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c),Dk(a,b)}function Yk(a,b){b===0&&((a.mode&1)===0?b=1:(b=sc,sc<<=1,(sc&130023424)===0&&(sc=4194304)));var c=R();a=ih(a,b),a!==null&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;b!==null&&(c=b.retryLane),Yk(a,c)}function bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode,e=a.memoizedState;e!==null&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314))}d!==null&&d.delete(b),Yk(a,c)}var Vk;Vk=function(a,b,c){if(a!==null)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if((a.lanes&c)===0&&(b.flags&128)===0)return dh=!1,yj(a,b,c);dh=(a.flags&131072)!==0}else dh=!1,I&&(b.flags&1048576)!==0&&ug(b,ng,b.index);switch(b.lanes=0,b.tag){case 2:var d=b.type;ij(a,b),a=b.pendingProps;var e=Yf(b,H.current);ch(b,c),e=Nh(null,b,d,a,e,c);var f=Sh();return b.flags|=1,typeof e=="object"&&e!==null&&typeof e.render=="function"&&e.$$typeof===void 0?(b.tag=1,b.memoizedState=null,b.updateQueue=null,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child),b;case 16:d=b.elementType;a:{switch(ij(a,b),a=b.pendingProps,e=d._init,d=e(d._payload),b.type=d,e=b.tag=Zk(d),a=Ci(d,a),e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,d,""))}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{if(kj(b),a===null)throw Error(p(387));d=b.pendingProps,f=b.memoizedState,e=f.element,lh(a,b),qh(b,d,null,c);var g=b.memoizedState;if(d=g.element,f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=f,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b),b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b),b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(Ig(),d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),a===null&&Eg(b),d=b.type,e=b.pendingProps,f=a!==null?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:f!==null&&Ef(d,f)&&(b.flags|=32),gj(a,b),Xi(a,b,g,c),b.child;case 6:return a===null&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,a===null?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{if(d=b.type._context,e=b.pendingProps,f=b.memoizedProps,g=e.value,G(Wg,d._currentValue),d._currentValue=g,f!==null)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,f!==null&&(f.return=b);f!==null;){var h=f.dependencies;if(h!==null){g=f.child;for(var k=h.firstContext;k!==null;){if(k.context===d){if(f.tag===1){k=mh(-1,c&-c),k.tag=2;var l=f.updateQueue;if(l!==null){l=l.shared;var m=l.pending;m===null?k.next=k:(k.next=m.next,m.next=k),l.pending=k}}f.lanes|=c,k=f.alternate,k!==null&&(k.lanes|=c),bh(f.return,c,b),h.lanes|=c;break}k=k.next}}else if(f.tag===10)g=f.type===b.type?null:f.child;else if(f.tag===18){if(g=f.return,g===null)throw Error(p(341));g.lanes|=c,h=g.alternate,h!==null&&(h.lanes|=c),bh(g,c,b),g=f.sibling}else g=f.child;if(g!==null)g.return=f;else for(g=f;g!==null;){if(g===b){g=null;break}if(f=g.sibling,f!==null){f.return=g.return,g=f;break}g=g.return}f=g}Xi(a,b,e.children,c),b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),b.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag))};function Fk(a,b){return ac(a,b)}function $k(a,b,c,d){this.tag=a,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=b,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=d,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){return a=a.prototype,!(!a||!a.isReactComponent)}function Zk(a){if(typeof a=="function")return aj(a)?1:0;if(a!=null){if(a=a.$$typeof,a===Da)return 11;if(a===Ga)return 14}return 2}function Pg(a,b){var c=a.alternate;return c===null?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=a.flags&14680064,c.childLanes=a.childLanes,c.lanes=a.lanes,c.child=a.child,c.memoizedProps=a.memoizedProps,c.memoizedState=a.memoizedState,c.updateQueue=a.updateQueue,b=a.dependencies,c.dependencies=b===null?null:{lanes:b.lanes,firstContext:b.firstContext},c.sibling=a.sibling,c.index=a.index,c.ref=a.ref,c}function Rg(a,b,c,d,e,f){var g=2;if(d=a,typeof a=="function")aj(a)&&(g=1);else if(typeof a=="string")g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8,e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;break a;case Ga:g=14;break a;case Ha:g=16,d=null;break a}throw Error(p(130,a==null?a:typeof a,""))}return b=Bg(g,c,b,e),b.elementType=a,b.type=d,b.lanes=f,b}function Tg(a,b,c,d){return a=Bg(7,a,d,b),a.lanes=c,a}function pj(a,b,c,d){return a=Bg(22,a,d,b),a.elementType=Ia,a.lanes=c,a.stateNode={isHidden:!1},a}function Qg(a,b,c){return a=Bg(6,a,null,b),a.lanes=c,a}function Sg(a,b,c){return b=Bg(4,a.children!==null?a.children:[],a.key,b),b.lanes=c,b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},b}function al(a,b,c,d,e){this.tag=b,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=d,this.onRecoverableError=e,this.mutableSourceEagerHydrationData=null}function bl(a,b,c,d,e,f,g,h,k){return a=new al(a,b,c,h,k),b===1?(b=1,f===!0&&(b|=8)):b=0,f=Bg(3,null,null,b),a.current=f,f.stateNode=a,f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},kh(f),a}function cl(a,b,c){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:wa,key:d==null?null:""+d,children:a,containerInfo:b,implementation:c}}function dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||a.tag!==1)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(b!==null);throw Error(p(171))}if(a.tag===1){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}function el2(a,b,c,d,e,f,g,h,k){return a=bl(c,d,!0,a,e,f,g,h,k),a.context=dl(null),c=a.current,d=R(),e=yi(c),f=mh(d,e),f.callback=b??null,nh(c,f,e),a.current.lanes=e,Ac(a,e,d),Dk(a,d),a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);return c=dl(c),b.context===null?b.context=c:b.pendingContext=c,b=mh(f,g),b.payload={element:a},d=d===void 0?null:d,d!==null&&(b.callback=d),a=nh(e,b,g),a!==null&&(gi(a,e,g,f),oh(a,e,g)),g}function gl(a){return a=a.current,a.child?(a.child.tag===5,a.child.stateNode):null}function hl(a,b){if(a=a.memoizedState,a!==null&&a.dehydrated!==null){var c=a.retryLane;a.retryLane=c!==0&&c<b?c:b}}function il(a,b){hl(a,b),(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=typeof reportError=="function"?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}ml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(b===null)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(a!==null){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)}),b[uf]=null}};function ml(a){this._internalRoot=a}ml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&b!==0&&b<Qc[c].priority;c++);Qc.splice(c,0,a),c===0&&Vc(a)}};function nl(a){return!(!a||a.nodeType!==1&&a.nodeType!==9&&a.nodeType!==11)}function ol(a){return!(!a||a.nodeType!==1&&a.nodeType!==9&&a.nodeType!==11&&(a.nodeType!==8||a.nodeValue!==" react-mount-point-unstable "))}function pl(){}function ql(a,b,c,d,e){if(e){if(typeof d=="function"){var f=d;d=function(){var a2=gl(g);f.call(a2)}}var g=el2(b,d,a,0,null,!1,!1,"",pl);return a._reactRootContainer=g,a[uf]=g.current,sf(a.nodeType===8?a.parentNode:a),Rk(),g}for(;e=a.lastChild;)a.removeChild(e);if(typeof d=="function"){var h=d;d=function(){var a2=gl(k);h.call(a2)}}var k=bl(a,0,!1,null,null,!1,!1,"",pl);return a._reactRootContainer=k,a[uf]=k.current,sf(a.nodeType===8?a.parentNode:a),Rk(function(){fl(b,k,c,d)}),k}function rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(typeof e=="function"){var h=e;e=function(){var a2=gl(g);h.call(a2)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);c!==0&&(Cc(b,c|1),Dk(b,B()),(K&6)===0&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b2=ih(a,1);if(b2!==null){var c2=R();gi(b2,a,1,c2)}}),il(a,1)}};Fc=function(a){if(a.tag===13){var b=ih(a,134217728);if(b!==null){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(a.tag===13){var b=yi(a),c=ih(a,b);if(c!==null){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};yb=function(a,b,c){switch(b){case"input":if(bb(a,c),b=c.name,c.type==="radio"&&b!=null){for(c=a;c.parentNode;)c=c.parentNode;for(c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]'),b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d),bb(d,e)}}}break;case"textarea":ib(a,c);break;case"select":b=c.value,b!=null&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;var sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){return a=Zb(a),a===null?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||jl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(vl=__REACT_DEVTOOLS_GLOBAL_HOOK__,!vl.isDisabled&&vl.supportsFiber))try{kc=vl.inject(ul),lc=vl}catch{}var vl;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;exports.createPortal=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d="",e=kl;return b!=null&&(b.unstable_strictMode===!0&&(c=!0),b.identifierPrefix!==void 0&&(d=b.identifierPrefix),b.onRecoverableError!==void 0&&(e=b.onRecoverableError)),b=bl(a,1,!1,null,null,c,!1,d,e),a[uf]=b.current,sf(a.nodeType===8?a.parentNode:a),new ll(b)};exports.findDOMNode=function(a){if(a==null)return null;if(a.nodeType===1)return a;var b=a._reactInternals;if(b===void 0)throw typeof a.render=="function"?Error(p(188)):(a=Object.keys(a).join(","),Error(p(268,a)));return a=Zb(b),a=a===null?null:a.stateNode,a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};exports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=c!=null&&c.hydratedSources||null,e=!1,f="",g=kl;if(c!=null&&(c.unstable_strictMode===!0&&(e=!0),c.identifierPrefix!==void 0&&(f=c.identifierPrefix),c.onRecoverableError!==void 0&&(g=c.onRecoverableError)),b=el2(b,null,a,1,c??null,e,!1,f,g),a[uf]=b.current,sf(a),d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),b.mutableSourceEagerHydrationData==null?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,e);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null,a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;exports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(a==null||a._reactInternals===void 0)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version="18.3.1-next-f1338f8080-20240426"}});var require_react_dom=__commonJS({"../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/index.js"(exports,module){"use strict";function checkDCE(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(err){console.error(err)}}checkDCE(),module.exports=require_react_dom_production_min()}});var require_client=__commonJS({"../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js"(exports){"use strict";var m=require_react_dom();exports.createRoot=m.createRoot,exports.hydrateRoot=m.hydrateRoot;var i}});var state={tasks:[],theme:"dark",annotationMode:!1,sidebar:null,popover:null,contextMenu:null,editModal:null,sidebarPinned:!1,activeTooltip:null,indicatorRafId:null,indicatorsVisible:!1,sidebarShowDone:!0,showAllPages:!1,tooltipPinned:!1,hoverTarget:null,annotateHighlightTarget:null,currentHref:"",host:null,root:null,status:null,indicatorContainer:null,edgeTrigger:null,pageSwitcher:null,pages:[],ws:null,reconnectAttempt:0,reconnectTimer:null,pingInterval:null,projectName:null,disabled:!1,onTasksFetched:null,onTasksUpdatedMessage:null},PREFS_KEY="vibeflow-studio-prefs",RECONNECT_BASE=1e3,RECONNECT_MAX=3e4,PING_INTERVAL=25e3,HEALTH_POLL_INTERVAL=5e3;var OVERLAY_CSS=\` :host {
12
12
  all: initial;
13
13
  display: block;
14
14
  position: fixed;
@@ -1595,19 +1595,19 @@ Error generating stack: \`+f.message+\`
1595
1595
  outline: 2px solid #f59e0b !important;
1596
1596
  outline-offset: 2px !important;
1597
1597
  background-color: rgba(245, 158, 11, 0.08) !important;
1598
- }\`;function setupShadowDom(){let host=document.createElement("div");host.id="vibeflow-studio-root",host.style.pointerEvents="none",document.body.appendChild(host);let root=host.attachShadow({mode:"open"}),styleEl=document.createElement("style");styleEl.textContent=OVERLAY_CSS,root.appendChild(styleEl);let hostStyle=document.createElement("style");return hostStyle.textContent=HOST_PAGE_CSS,document.head.appendChild(hostStyle),{host,root}}function loadPrefs(){try{let p=JSON.parse(localStorage.getItem(PREFS_KEY)??"{}");state.indicatorsVisible=p.indicatorsVisible===!0,state.sidebarShowDone=p.sidebarShowDone!==!1,state.showAllPages=p.showAllPages===!0,state.theme="dark",applyOverlayTheme(state.theme)}catch{}}function applyOverlayTheme(theme){state.theme=theme,state.host&&state.host.setAttribute("data-theme",theme)}function startAnnotationHover(host){document.addEventListener("mouseover",e=>onAnnotateMouseOver(e,host),!0),document.addEventListener("mouseout",onAnnotateMouseOut,!0)}function stopAnnotationHover(host){if(document.removeEventListener("mouseover",e=>onAnnotateMouseOver(e,host),!0),document.removeEventListener("mouseout",onAnnotateMouseOut,!0),state.hoverTarget){try{state.hoverTarget.classList.remove("vibeflow-hover-highlight")}catch{}state.hoverTarget=null}}function onAnnotateMouseOver(e,host){let t=e.target;if(!(!t||t===document.documentElement||t===document.body)&&e.composedPath().indexOf(host)===-1&&state.hoverTarget!==t){if(state.hoverTarget)try{state.hoverTarget.classList.remove("vibeflow-hover-highlight")}catch{}state.hoverTarget=t;try{t.classList.add("vibeflow-hover-highlight")}catch{}}}function onAnnotateMouseOut(e){let t=e.target;if(t===state.hoverTarget){try{t.classList.remove("vibeflow-hover-highlight")}catch{}state.hoverTarget=null}}function setAnnotateHighlight(element){if(clearAnnotateHighlight(),!!element){state.annotateHighlightTarget=element;try{element.classList.add("vibeflow-annotate-highlight")}catch{}}}function clearAnnotateHighlight(){if(state.annotateHighlightTarget){try{state.annotateHighlightTarget.classList.remove("vibeflow-annotate-highlight")}catch{}state.annotateHighlightTarget=null}}function el(tag,props,...children){let node=document.createElement(tag);if(props)for(let key of Object.keys(props))key==="className"?node.className=props[key]:key==="placeholder"?node.placeholder=props[key]:key==="type"?node.type=props[key]:key==="value"?node.value=props[key]:node.setAttribute(key,props[key]);for(let child of children)child!=null&&node.appendChild(typeof child=="string"?document.createTextNode(child):child);return node}function connectWS(){if(PROTO_CONFIG.wsUrl){state.reconnectTimer&&(clearTimeout(state.reconnectTimer),state.reconnectTimer=null);try{state.ws=new WebSocket(PROTO_CONFIG.wsUrl)}catch{scheduleReconnect();return}state.ws.onopen=()=>{state.reconnectAttempt=0,state.pingInterval&&clearInterval(state.pingInterval),state.pingInterval=setInterval(()=>{var _a;((_a=state.ws)==null?void 0:_a.readyState)===WebSocket.OPEN&&state.ws.send(JSON.stringify({type:"ping"}))},PING_INTERVAL)},state.ws.onmessage=e=>{var _a,_b,_c,_d;let msg;try{msg=JSON.parse(e.data)}catch{return}msg.type!=="pong"&&(msg.type==="reload"&&location.reload(),msg.type==="tasks-updated"&&((_b=(_a=state).onTasksUpdatedMessage)==null||_b.call(_a)),(msg.type==="task-changed"||msg.type==="task-deleted")&&((_d=(_c=state).onTasksUpdatedMessage)==null||_d.call(_c)))},state.ws.onclose=()=>{state.pingInterval&&(clearInterval(state.pingInterval),state.pingInterval=null),scheduleReconnect()},state.ws.onerror=()=>{var _a;(_a=state.ws)==null||_a.close()}}}function scheduleReconnect(){let delay=Math.min(RECONNECT_BASE*Math.pow(2,state.reconnectAttempt),RECONNECT_MAX);state.reconnectAttempt++,state.reconnectTimer=setTimeout(connectWS,delay)}function setupWsVisibilityReconnect(){document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&(!state.ws||state.ws.readyState!==WebSocket.OPEN)&&(state.reconnectAttempt=0,connectWS())})}function fetchTasks(){let url=PROTO_CONFIG.boardId?\`\${PROTO_CONFIG.apiUrl}?boardId=\${encodeURIComponent(PROTO_CONFIG.boardId)}\`:PROTO_CONFIG.apiUrl,headers={};PROTO_CONFIG.overlayApiKey&&(headers["X-Overlay-Api-Key"]=PROTO_CONFIG.overlayApiKey),fetch(url,Object.keys(headers).length>0?{headers}:void 0).then(r=>r.json()).then(d=>{var _a,_b;state.tasks=d.tasks??[],(_b=(_a=state).onTasksFetched)==null||_b.call(_a,state.tasks)}).catch(()=>{})}function submitTask(selector,cssSelector,title,description,status,source,type,annotatedElementText){fetch(PROTO_CONFIG.apiUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title,description,selector,cssSelector:cssSelector||null,url:location.pathname,status:status||void 0,file:(source==null?void 0:source.file)??null,line:(source==null?void 0:source.line)??null,col:(source==null?void 0:source.col)??null,component:(source==null?void 0:source.component)??null,type:type||null,annotatedElementText:annotatedElementText||null,...PROTO_CONFIG.boardId?{boardId:PROTO_CONFIG.boardId}:{}})}).then(r=>r.json()).then(d=>{d.success&&fetchTasks()}).catch(err=>console.error("[Vibeflow Studio]",err))}var PAGES_URL=PROTO_CONFIG.pagesUrl;function fetchPages(){PAGES_URL&&fetch(PAGES_URL).then(r=>r.json()).then(d=>{state.pages=d.pages??[],renderPageSwitcher()}).catch(()=>{})}function renderPageSwitcher(){if(state.pageSwitcher&&(state.pageSwitcher.remove(),state.pageSwitcher=null),!state.root||state.pages.length<2)return;let currentPath=location.pathname,switcher=el("div",{className:"vibeflow-page-switcher"});switcher.appendChild(el("span",{className:"page-switcher-label"},"Pages:"));for(let page of state.pages){let tab=el("a",{className:"page-tab"+(page===currentPath||currentPath==="/"&&page==="/index.html"?" active":""),href:page},page.replace(/^\\//,"").replace(/\\.html$/,""));switcher.appendChild(tab)}state.root.appendChild(switcher),state.pageSwitcher=switcher}var STABLE_DATA_ATTRS=["data-testid","data-test","data-cy","data-test-id","data-task-id","data-id"];function buildCssSelector(element){let parts=[],node=element,depth=0;for(;node&&node!==document.body&&depth<6;){let semId=getSemanticId(node);if(semId){parts.unshift(\`#\${semId}\`);break}let anchorAttr=null,anchorName=null;for(let attr of STABLE_DATA_ATTRS){let val=node.getAttribute(attr);if(val){anchorAttr=attr,anchorName=val;break}}if(anchorAttr&&anchorName){parts.unshift(\`[\${anchorAttr}="\${anchorName}"]\`);break}let segment=node.tagName.toLowerCase(),stableClasses=Array.from(node.classList).filter(c=>!/^[0-9a-f]{5,}/.test(c)&&!c.startsWith("vibeflow-")).slice(0,2);stableClasses.length>0&&(segment+=\`.\${stableClasses.join(".")}\`);let parent=node.parentElement;if(parent){let parentChildren=Array.from(parent.children);parentChildren.filter(c=>c.tagName===node.tagName).length>1&&(segment+=\`:nth-child(\${parentChildren.indexOf(node)+1})\`)}parts.unshift(segment),node=node.parentElement,depth++}return parts.join(" > ")}function resolveTestId(el2){let attrs=STABLE_DATA_ATTRS,node=el2;for(;node&&node!==document.body;){for(let attr of attrs){let val=node.getAttribute(attr);if(val)return{attr,value:val}}let id=node.getAttribute("id");if(id&&isSemanticId(id))return{attr:"id",value:id};node=node.parentElement}return null}function isSemanticId(id){return!/^[0-9a-f-]{8,}$/i.test(id)&&!/^\\d+$/.test(id)}function getSemanticId(el2){let id=el2.getAttribute("id");return id&&isSemanticId(id)?id:null}function parseComponentFromReactStack(stack){let SKIP=/^(react-stack|jsxDEV|renderWith|Object\\.|_callee)/i;for(let line of stack.split(\`
1598
+ }\`;function setupShadowDom(){let host=document.createElement("div");host.id="vibeflow-studio-root",host.style.pointerEvents="none",document.body.appendChild(host);let root=host.attachShadow({mode:"open"}),styleEl=document.createElement("style");styleEl.textContent=OVERLAY_CSS,root.appendChild(styleEl);let hostStyle=document.createElement("style");return hostStyle.textContent=HOST_PAGE_CSS,document.head.appendChild(hostStyle),{host,root}}function loadPrefs(){try{let p=JSON.parse(localStorage.getItem(PREFS_KEY)??"{}");state.indicatorsVisible=p.indicatorsVisible===!0,state.sidebarShowDone=p.sidebarShowDone!==!1,state.showAllPages=p.showAllPages===!0,state.theme="dark",applyOverlayTheme(state.theme)}catch{}}function applyOverlayTheme(theme){state.theme=theme,state.host&&state.host.setAttribute("data-theme",theme)}function startAnnotationHover(host){document.addEventListener("mouseover",e=>onAnnotateMouseOver(e,host),!0),document.addEventListener("mouseout",onAnnotateMouseOut,!0)}function stopAnnotationHover(host){if(document.removeEventListener("mouseover",e=>onAnnotateMouseOver(e,host),!0),document.removeEventListener("mouseout",onAnnotateMouseOut,!0),state.hoverTarget){try{state.hoverTarget.classList.remove("vibeflow-hover-highlight")}catch{}state.hoverTarget=null}}function onAnnotateMouseOver(e,host){let t=e.target;if(!(!t||t===document.documentElement||t===document.body)&&e.composedPath().indexOf(host)===-1&&state.hoverTarget!==t){if(state.hoverTarget)try{state.hoverTarget.classList.remove("vibeflow-hover-highlight")}catch{}state.hoverTarget=t;try{t.classList.add("vibeflow-hover-highlight")}catch{}}}function onAnnotateMouseOut(e){let t=e.target;if(t===state.hoverTarget){try{t.classList.remove("vibeflow-hover-highlight")}catch{}state.hoverTarget=null}}function setAnnotateHighlight(element){if(clearAnnotateHighlight(),!!element){state.annotateHighlightTarget=element;try{element.classList.add("vibeflow-annotate-highlight")}catch{}}}function clearAnnotateHighlight(){if(state.annotateHighlightTarget){try{state.annotateHighlightTarget.classList.remove("vibeflow-annotate-highlight")}catch{}state.annotateHighlightTarget=null}}function el(tag,props,...children){let node=document.createElement(tag);if(props)for(let key of Object.keys(props))key==="className"?node.className=props[key]:key==="placeholder"?node.placeholder=props[key]:key==="type"?node.type=props[key]:key==="value"?node.value=props[key]:node.setAttribute(key,props[key]);for(let child of children)child!=null&&node.appendChild(typeof child=="string"?document.createTextNode(child):child);return node}var healthPollTimer=null;function connectWS(){if(PROTO_CONFIG.wsUrl){state.reconnectTimer&&(clearTimeout(state.reconnectTimer),state.reconnectTimer=null);try{state.ws=new WebSocket(PROTO_CONFIG.wsUrl)}catch{scheduleReconnect();return}state.ws.onopen=()=>{state.reconnectAttempt=0,state.pingInterval&&clearInterval(state.pingInterval),state.pingInterval=setInterval(()=>{var _a;((_a=state.ws)==null?void 0:_a.readyState)===WebSocket.OPEN&&state.ws.send(JSON.stringify({type:"ping"}))},PING_INTERVAL)},state.ws.onmessage=e=>{var _a,_b,_c,_d;let msg;try{msg=JSON.parse(e.data)}catch{return}msg.type!=="pong"&&(msg.type==="reload"&&location.reload(),msg.type==="tasks-updated"&&((_b=(_a=state).onTasksUpdatedMessage)==null||_b.call(_a)),(msg.type==="task-changed"||msg.type==="task-deleted")&&((_d=(_c=state).onTasksUpdatedMessage)==null||_d.call(_c)))},state.ws.onclose=()=>{state.pingInterval&&(clearInterval(state.pingInterval),state.pingInterval=null),scheduleReconnect()},state.ws.onerror=()=>{var _a;(_a=state.ws)==null||_a.close()},stopHealthPoll(),healthPollTimer=setInterval(checkHealth,HEALTH_POLL_INTERVAL)}}function scheduleReconnect(){let delay=Math.min(RECONNECT_BASE*2**state.reconnectAttempt,RECONNECT_MAX);state.reconnectAttempt++,state.reconnectTimer=setTimeout(connectWS,delay)}function stopHealthPoll(){healthPollTimer&&(clearInterval(healthPollTimer),healthPollTimer=null)}function checkHealth(){if(!PROTO_CONFIG.wsUrl||state.ws&&state.ws.readyState===WebSocket.OPEN)return;let healthUrl=PROTO_CONFIG.wsUrl.replace("ws://","http://").replace("wss://","https://").replace("/ws","/api/health");fetch(healthUrl,{signal:AbortSignal.timeout(3e3)}).then(r=>{r.ok||(stopHealthPoll(),scheduleReconnect())}).catch(()=>{stopHealthPoll(),scheduleReconnect()})}function setupWsVisibilityReconnect(){document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&(!state.ws||state.ws.readyState!==WebSocket.OPEN)&&(state.reconnectAttempt=0,connectWS())})}function fetchTasks(){let url=PROTO_CONFIG.boardId?\`\${PROTO_CONFIG.apiUrl}?boardId=\${encodeURIComponent(PROTO_CONFIG.boardId)}\`:PROTO_CONFIG.apiUrl,headers={};PROTO_CONFIG.overlayApiKey&&(headers["X-Overlay-Api-Key"]=PROTO_CONFIG.overlayApiKey),fetch(url,Object.keys(headers).length>0?{headers}:void 0).then(r=>r.json()).then(d=>{var _a,_b;state.tasks=d.tasks??[],(_b=(_a=state).onTasksFetched)==null||_b.call(_a,state.tasks)}).catch(()=>{})}function submitTask(selector,cssSelector,title,description,status,source,type,annotatedElementText){let apiUrl=PROTO_CONFIG.apiUrl,allowedOrigin=location.origin,fetchUrl=apiUrl;try{let parsed=new URL(apiUrl);if(parsed.protocol!=="http:"&&parsed.protocol!=="https:")throw new Error(" blocked protocol");fetchUrl=parsed.href}catch{fetchUrl=new URL(apiUrl,allowedOrigin).href}return fetch(fetchUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title,description,selector,cssSelector:cssSelector||null,url:location.pathname,status:status||void 0,file:(source==null?void 0:source.file)??null,line:(source==null?void 0:source.line)??null,col:(source==null?void 0:source.col)??null,component:(source==null?void 0:source.component)??null,type:type||null,annotatedElementText:annotatedElementText||null,...PROTO_CONFIG.boardId?{boardId:PROTO_CONFIG.boardId}:{}})}).then(r=>r.json()).then(d=>{var _a,_b;return d.success&&fetchTasks(),{success:d.success===!0,taskId:(_a=d.task)==null?void 0:_a.id,taskAuthor:(_b=d.task)==null?void 0:_b.author}}).catch(err=>(console.error("[Vibeflow Studio]",err),{success:!1}))}var PAGES_URL=PROTO_CONFIG.pagesUrl;function fetchPages(){PAGES_URL&&fetch(PAGES_URL).then(r=>r.json()).then(d=>{state.pages=d.pages??[],renderPageSwitcher()}).catch(()=>{})}function renderPageSwitcher(){if(state.pageSwitcher&&(state.pageSwitcher.remove(),state.pageSwitcher=null),!state.root||state.pages.length<2)return;let currentPath=location.pathname,switcher=el("div",{className:"vibeflow-page-switcher"});switcher.appendChild(el("span",{className:"page-switcher-label"},"Pages:"));for(let page of state.pages){let tab=el("a",{className:"page-tab"+(page===currentPath||currentPath==="/"&&page==="/index.html"?" active":""),href:page},page.replace(/^\\//,"").replace(/\\.html$/,""));switcher.appendChild(tab)}state.root.appendChild(switcher),state.pageSwitcher=switcher}var STABLE_DATA_ATTRS=["data-testid","data-test","data-cy","data-test-id","data-id"];function buildCssSelector(element){let parts=[],node=element,depth=0;for(;node&&node!==document.body&&depth<6;){let semId=getSemanticId(node);if(semId){parts.unshift(\`#\${semId}\`);break}let anchorAttr=null,anchorName=null;for(let attr of STABLE_DATA_ATTRS){let val=node.getAttribute(attr);if(val){anchorAttr=attr,anchorName=val;break}}if(anchorAttr&&anchorName){parts.unshift(\`[\${anchorAttr}="\${anchorName}"]\`);break}let segment=node.tagName.toLowerCase(),stableClasses=Array.from(node.classList).filter(c=>!/^[0-9a-f]{5,}/.test(c)&&!c.startsWith("vibeflow-")).slice(0,2);stableClasses.length>0&&(segment+=\`.\${stableClasses.join(".")}\`);let parent=node.parentElement;if(parent){let parentChildren=Array.from(parent.children);parentChildren.filter(c=>c.tagName===node.tagName).length>1&&(segment+=\`:nth-child(\${parentChildren.indexOf(node)+1})\`)}parts.unshift(segment),node=node.parentElement,depth++}return parts.join(" > ")}function resolveTestId(el2){let attrs=STABLE_DATA_ATTRS,node=el2;for(;node&&node!==document.body;){for(let attr of attrs){let val=node.getAttribute(attr);if(val)return{attr,value:val}}let id=node.getAttribute("id");if(id&&isSemanticId(id))return{attr:"id",value:id};node=node.parentElement}return null}function isSemanticId(id){return!/^[0-9a-f-]{8,}$/i.test(id)&&!/^\\d+$/.test(id)}function getSemanticId(el2){let id=el2.getAttribute("id");return id&&isSemanticId(id)?id:null}function parseComponentFromReactStack(stack){let SKIP=/^(react-stack|jsxDEV|renderWith|Object\\.|_callee)/i;for(let line of stack.split(\`
1599
1599
  \`)){let m=line.match(/^\\s*at\\s+([A-Z][A-Za-z0-9._$]*)\\s+\\(/);if(m&&!SKIP.test(m[1]))return m[1]}return null}function parseFunctionFromReactStack(stack){let SKIP=/^(react-stack|jsxDEV|renderWith|Object\\.|_callee)/i;for(let line of stack.split(\`
1600
- \`)){let m=line.match(/^\\s*at\\s+([A-Za-z_$][A-Za-z0-9._$]*)\\s+\\(/);if(m&&!SKIP.test(m[1]))return m[1]}return null}function getReactSource(el2){var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s;let fiberKey=Object.keys(el2).find(k=>k.startsWith("__reactFiber")||k.startsWith("__reactInternalInstance"));if(!fiberKey)return null;let fiber=el2[fiberKey],result={},nearestComponent,parentComponent,depth=0;for(;fiber&&depth<20;){if(fiber._debugSource&&!result.file&&(result.file=fiber._debugSource.fileName,result.line=fiber._debugSource.lineNumber,result.col=fiber._debugSource.columnNumber),!result.component){let ownerName=((_b=(_a=fiber._debugOwner)==null?void 0:_a.type)==null?void 0:_b.displayName)??((_d=(_c=fiber._debugOwner)==null?void 0:_c.type)==null?void 0:_d.name);ownerName&&!nearestComponent&&(nearestComponent=ownerName);let ownerParentName=((_h=(_g=(_f=(_e=fiber._debugOwner)==null?void 0:_e.return)==null?void 0:_f._debugOwner)==null?void 0:_g.type)==null?void 0:_h.displayName)??((_l=(_k=(_j=(_i=fiber._debugOwner)==null?void 0:_i.return)==null?void 0:_j._debugOwner)==null?void 0:_k.type)==null?void 0:_l.name)??((_o=(_n=(_m=fiber._debugOwner)==null?void 0:_m._debugOwner)==null?void 0:_n.type)==null?void 0:_o.displayName)??((_r=(_q=(_p=fiber._debugOwner)==null?void 0:_p._debugOwner)==null?void 0:_q.type)==null?void 0:_r.name);ownerParentName&&ownerParentName!==ownerName&&!parentComponent&&(parentComponent=ownerParentName)}if(!result.component){let stack=(_s=fiber._debugStack)==null?void 0:_s.stack;if(stack){let name=parseComponentFromReactStack(stack);name&&!nearestComponent&&(nearestComponent=name);let functionName=parseFunctionFromReactStack(stack);functionName&&(result.functionName=functionName)}}if((result.file||result.component)&&depth>0)break;fiber=fiber.return,depth++}return nearestComponent&&(result.component=parentComponent?\`\${parentComponent} > \${nearestComponent}\`:nearestComponent),result.file!=null||result.component!=null?result:null}function getVue3Source(el2){var _a,_b,_c;let node=el2;for(;node;){let instance=node.__vueParentComponent;if(instance)return{file:((_a=instance.type)==null?void 0:_a.__file)??void 0,component:((_b=instance.type)==null?void 0:_b.name)??((_c=instance.type)==null?void 0:_c.__name)??void 0};node=node.parentElement}return null}function getVue2Source(el2){var _a,_b;let node=el2;for(;node;){let vm=node.__vue__;if(vm)return{file:((_a=vm.$options)==null?void 0:_a.__file)??void 0,component:((_b=vm.$options)==null?void 0:_b.name)??void 0};node=node.parentElement}return null}function getAngularSource(el2){var _a;let ng=window.ng;if(!ng)return null;let node=el2;for(;node;){try{let component=ng.getComponent(node);if(component)return{component:((_a=component.constructor)==null?void 0:_a.name)??void 0}}catch{}node=node.parentElement}return null}function getPreactSource(el2){var _a,_b,_c,_d;let e=el2,children=((_a=e.__P)==null?void 0:_a.__k)??[],GENERIC_NAMES=new Set(["Object","VNode","VNode2"]);for(let vnode of children){if(!vnode||typeof vnode!="object")continue;let v=vnode,typeNameRaw2=(_b=v==null?void 0:v.type)==null?void 0:_b.name,ctorNameRaw=(_c=v==null?void 0:v.constructor)==null?void 0:_c.name,ctorName=ctorNameRaw&&!GENERIC_NAMES.has(ctorNameRaw)?ctorNameRaw:void 0,name=typeNameRaw2??ctorName??void 0;if(name)return{component:name}}let attrNode=e.__preactattr__;if(!attrNode)return null;let typeNameRaw=(_d=attrNode==null?void 0:attrNode.type)==null?void 0:_d.name;return typeNameRaw?{component:typeNameRaw}:null}function resolveFrameworkSource(el2){return getReactSource(el2)??getVue3Source(el2)??getVue2Source(el2)??getAngularSource(el2)??getPreactSource(el2)}function buildSourcePointer(element){let cssSelector=buildCssSelector(element),pointer={selector:cssSelector,display:cssSelector},tier1=resolveFrameworkSource(element);tier1&&(tier1.file!=null&&(pointer.file=tier1.file),tier1.line!=null&&(pointer.line=tier1.line),tier1.col!=null&&(pointer.col=tier1.col),tier1.component!=null&&(pointer.component=tier1.component),tier1.functionName!=null&&(pointer.functionName=tier1.functionName));let protoId=element.getAttribute("data-vibeflow-id");if(protoId)return pointer.selector=\`[data-vibeflow-id="\${protoId}"]\`,pointer.display=protoId,pointer;let testIdResult=resolveTestId(element);if(testIdResult&&(pointer.test_id=testIdResult.value),pointer.file){let fileName=pointer.file.replace(/\\\\/g,"/").split("/").pop()??pointer.file;pointer.selector=pointer.line!=null?\`\${pointer.file}:\${pointer.line}\`:pointer.file,pointer.display=pointer.line!=null?\`\${fileName}:\${pointer.line}\`:fileName}else pointer.component?(pointer.selector=pointer.component,pointer.display=pointer.component):pointer.functionName?(pointer.selector=pointer.functionName,pointer.display=pointer.functionName):testIdResult&&(pointer.selector=testIdResult.attr==="id"?\`#\${testIdResult.value}\`:\`[\${testIdResult.attr}="\${testIdResult.value}"]\`,pointer.display=\`\${testIdResult.attr}:\${testIdResult.value}\`);return pointer}var VLQ_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",VLQ_TABLE={};for(let i=0;i<VLQ_CHARS.length;i++)VLQ_TABLE[VLQ_CHARS.charCodeAt(i)]=i;function vlqDecodeInt(s,pos){let result=0,shift=0,byte=0;do byte=VLQ_TABLE[s.charCodeAt(pos++)]??0,result|=(byte&31)<<shift,shift+=5;while(byte&32);return[result&1?-(result>>1):result>>1,pos]}function vlqDecodeSegment(seg){let out=[],pos=0;for(;pos<seg.length;){let[n,next]=vlqDecodeInt(seg,pos);out.push(n),pos=next}return out}function findFlatMapping(map,genLine,genCol){if(!map.mappings||!map.sources)return null;let lines=map.mappings.split(";"),srcIdx=0,srcLine=0,srcCol=0,best=null;for(let i=0;i<lines.length;i++){let genColAcc=0;for(let seg of lines[i].split(",")){if(!seg)continue;let d=vlqDecodeSegment(seg);if(!(d.length<1)&&(genColAcc+=d[0],d.length>=4&&(srcIdx+=d[1],srcLine+=d[2],srcCol+=d[3],i===genLine&&genColAcc<=genCol&&(best={source:map.sources[srcIdx]??"",line:srcLine+1,col:srcCol+1}),i===genLine&&genColAcc>genCol)))break}if(i>genLine)break}return best}function resolveInMap(map,genLine,genCol){if(map.sections){let best=null;for(let s of map.sections)(s.offset.line<genLine||s.offset.line===genLine&&s.offset.column<=genCol)&&(best=s);if(!best)return null;let relLine=genLine-best.offset.line,relCol=relLine===0?genCol-best.offset.column:genCol;return resolveInMap(best.map,relLine,relCol)}return findFlatMapping(map,genLine,genCol)}var smCache=new Map;function fetchSourceMap(chunkUrl){let p=smCache.get(chunkUrl);return p||(p=fetch(\`\${chunkUrl}.map\`).then(r=>r.ok?r.json():null).catch(()=>null),smCache.set(chunkUrl,p)),p}var SKIP_FRAME_RE=/node_modules|_next\\/dist|react-stack-top-frame|jsxDEV|react_stack_bottom_frame|fakeJSXCallSite|initializeElement/;function parseUserFrame(stack){for(let line of stack.split(\`
1600
+ \`)){let m=line.match(/^\\s*at\\s+([A-Za-z_$][A-Za-z0-9._$]*)\\s+\\(/);if(m&&!SKIP.test(m[1]))return m[1]}return null}function getReactSource(el2){var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s;let fiberKey=Object.keys(el2).find(k=>k.startsWith("__reactFiber")||k.startsWith("__reactInternalInstance"));if(!fiberKey)return null;let fiber=el2[fiberKey],result={},nearestComponent,parentComponent,depth=0;for(;fiber&&depth<20;){if(fiber._debugSource&&!result.file&&(result.file=fiber._debugSource.fileName,result.line=fiber._debugSource.lineNumber,result.col=fiber._debugSource.columnNumber),!result.component){let ownerName=((_b=(_a=fiber._debugOwner)==null?void 0:_a.type)==null?void 0:_b.displayName)??((_d=(_c=fiber._debugOwner)==null?void 0:_c.type)==null?void 0:_d.name);ownerName&&!nearestComponent&&(nearestComponent=ownerName);let ownerParentName=((_h=(_g=(_f=(_e=fiber._debugOwner)==null?void 0:_e.return)==null?void 0:_f._debugOwner)==null?void 0:_g.type)==null?void 0:_h.displayName)??((_l=(_k=(_j=(_i=fiber._debugOwner)==null?void 0:_i.return)==null?void 0:_j._debugOwner)==null?void 0:_k.type)==null?void 0:_l.name)??((_o=(_n=(_m=fiber._debugOwner)==null?void 0:_m._debugOwner)==null?void 0:_n.type)==null?void 0:_o.displayName)??((_r=(_q=(_p=fiber._debugOwner)==null?void 0:_p._debugOwner)==null?void 0:_q.type)==null?void 0:_r.name);ownerParentName&&ownerParentName!==ownerName&&!parentComponent&&(parentComponent=ownerParentName)}if(!result.component){let stack=(_s=fiber._debugStack)==null?void 0:_s.stack;if(stack){let name=parseComponentFromReactStack(stack);name&&!nearestComponent&&(nearestComponent=name);let functionName=parseFunctionFromReactStack(stack);functionName&&(result.functionName=functionName)}}if((result.file||result.component)&&depth>0)break;fiber=fiber.return,depth++}return nearestComponent&&(result.component=parentComponent?\`\${parentComponent} > \${nearestComponent}\`:nearestComponent),result.file!=null||result.component!=null?result:null}function getVue3Source(el2){var _a,_b,_c;let node=el2;for(;node;){let instance=node.__vueParentComponent;if(instance)return{file:((_a=instance.type)==null?void 0:_a.__file)??void 0,component:((_b=instance.type)==null?void 0:_b.name)??((_c=instance.type)==null?void 0:_c.__name)??void 0};node=node.parentElement}return null}function getVue2Source(el2){var _a,_b;let node=el2;for(;node;){let vm=node.__vue__;if(vm)return{file:((_a=vm.$options)==null?void 0:_a.__file)??void 0,component:((_b=vm.$options)==null?void 0:_b.name)??void 0};node=node.parentElement}return null}function getAngularSource(el2){var _a;let ng=window.ng;if(!ng)return null;let node=el2;for(;node;){try{let component=ng.getComponent(node);if(component)return{component:((_a=component.constructor)==null?void 0:_a.name)??void 0}}catch{}node=node.parentElement}return null}function getPreactSource(el2){var _a,_b,_c,_d;let e=el2,children=((_a=e.__P)==null?void 0:_a.__k)??[],GENERIC_NAMES=new Set(["Object","VNode","VNode2"]);for(let vnode of children){if(!vnode||typeof vnode!="object")continue;let v=vnode,typeNameRaw2=(_b=v==null?void 0:v.type)==null?void 0:_b.name,ctorNameRaw=(_c=v==null?void 0:v.constructor)==null?void 0:_c.name,ctorName=ctorNameRaw&&!GENERIC_NAMES.has(ctorNameRaw)?ctorNameRaw:void 0,name=typeNameRaw2??ctorName??void 0;if(name)return{component:name}}let attrNode=e.__preactattr__;if(!attrNode)return null;let typeNameRaw=(_d=attrNode==null?void 0:attrNode.type)==null?void 0:_d.name;return typeNameRaw?{component:typeNameRaw}:null}function resolveFrameworkSource(el2){return getReactSource(el2)??getVue3Source(el2)??getVue2Source(el2)??getAngularSource(el2)??getPreactSource(el2)}function buildSourcePointer(element){let cssSelector=buildCssSelector(element),pointer={selector:cssSelector,display:cssSelector},tier1=resolveFrameworkSource(element);tier1&&(tier1.file!=null&&(pointer.file=tier1.file),tier1.line!=null&&(pointer.line=tier1.line),tier1.col!=null&&(pointer.col=tier1.col),tier1.component!=null&&(pointer.component=tier1.component),tier1.functionName!=null&&(pointer.functionName=tier1.functionName));let protoId=element.getAttribute("data-vibeflow-id");if(protoId)return pointer.selector=\`[data-vibeflow-id="\${protoId}"]\`,pointer.display=protoId,pointer;let testIdResult=resolveTestId(element);if(testIdResult&&(pointer.test_id=testIdResult.value),pointer.file){let fileName=pointer.file.replace(/\\\\/g,"/").split("/").pop()??pointer.file;pointer.selector=pointer.line==null?pointer.file:\`\${pointer.file}:\${pointer.line}\`,pointer.display=pointer.line==null?fileName:\`\${fileName}:\${pointer.line}\`}else pointer.component?(pointer.selector=pointer.component,pointer.display=pointer.component):pointer.functionName?(pointer.selector=pointer.functionName,pointer.display=pointer.functionName):testIdResult&&(pointer.selector=testIdResult.attr==="id"?\`#\${testIdResult.value}\`:\`[\${testIdResult.attr}="\${testIdResult.value}"]\`,pointer.display=\`\${testIdResult.attr}:\${testIdResult.value}\`);return pointer}var VLQ_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",VLQ_TABLE={};for(let i=0;i<VLQ_CHARS.length;i++)VLQ_TABLE[VLQ_CHARS.charCodeAt(i)]=i;function vlqDecodeInt(s,pos){let result=0,shift=0,byte=0;do byte=VLQ_TABLE[s.charCodeAt(pos++)]??0,result|=(byte&31)<<shift,shift+=5;while(byte&32);return[result&1?-(result>>1):result>>1,pos]}function vlqDecodeSegment(seg){let out=[],pos=0;for(;pos<seg.length;){let[n,next]=vlqDecodeInt(seg,pos);out.push(n),pos=next}return out}function findFlatMapping(map,genLine,genCol){if(!map.mappings||!map.sources)return null;let lines=map.mappings.split(";"),srcIdx=0,srcLine=0,srcCol=0,best=null;for(let i=0;i<lines.length;i++){let genColAcc=0;for(let seg of lines[i].split(",")){if(!seg)continue;let d=vlqDecodeSegment(seg);if(!(d.length<1)&&(genColAcc+=d[0],d.length>=4&&(srcIdx+=d[1],srcLine+=d[2],srcCol+=d[3],i===genLine&&genColAcc<=genCol&&(best={source:map.sources[srcIdx]??"",line:srcLine+1,col:srcCol+1}),i===genLine&&genColAcc>genCol)))break}if(i>genLine)break}return best}function resolveInMap(map,genLine,genCol){if(map.sections){let best=null;for(let s of map.sections)(s.offset.line<genLine||s.offset.line===genLine&&s.offset.column<=genCol)&&(best=s);if(!best)return null;let relLine=genLine-best.offset.line,relCol=relLine===0?genCol-best.offset.column:genCol;return resolveInMap(best.map,relLine,relCol)}return findFlatMapping(map,genLine,genCol)}var smCache=new Map;function fetchSourceMap(chunkUrl){let p=smCache.get(chunkUrl);return p||(p=fetch(\`\${chunkUrl}.map\`).then(r=>r.ok?r.json():null).catch(()=>null),smCache.set(chunkUrl,p)),p}var SKIP_FRAME_RE=/node_modules|_next\\/dist|react-stack-top-frame|jsxDEV|react_stack_bottom_frame|fakeJSXCallSite|initializeElement/;function parseUserFrame(stack){for(let line of stack.split(\`
1601
1601
  \`)){let m=line.match(/at [^(]+ \\((https?:\\/\\/[^)]+):(\\d+):(\\d+)\\)/);if(!m)continue;let[,url,lineStr,colStr]=m;if(!SKIP_FRAME_RE.test(url))return{chunkUrl:url,line:parseInt(lineStr,10),col:parseInt(colStr,10)}}return null}function getDebugStackStr(el2){var _a;let fiberKey=Object.keys(el2).find(k=>k.startsWith("__reactFiber")||k.startsWith("__reactInternalInstance"));if(!fiberKey)return null;let fiber=el2[fiberKey];return((_a=fiber==null?void 0:fiber._debugStack)==null?void 0:_a.stack)??null}function cleanSourcePath(raw){return raw.replace(/\\?.*$/,"").replace(/^https?:\\/\\/[^/]+\\/@fs/,"").replace(/^https?:\\/\\/[^/]+/,"").replace(/^file:\\/\\/\\/app\\//,"").replace(/^file:\\/\\/\\//,"").replace(/\\[project\\]\\//g,"").replace(/%28/g,"(").replace(/%29/g,")").replace(/%20/g," ")}var DIRECT_SRC_EXT_RE=/\\.m?[tj]sx?(\\?[^)]*)?$/,BUNDLE_CHUNK_RE=/chunk[-_.][0-9a-f]{6,}|\\.chunk\\.[0-9a-f]|webpack|_next\\/(?:static\\/chunks|dist)|rollup/i;function isDirectSourceUrl(url){return!(!url||!DIRECT_SRC_EXT_RE.test(url)||BUNDLE_CHUNK_RE.test(url)||SKIP_FRAME_RE.test(url))}function captureV8CallSites(err){if(typeof Error.captureStackTrace!="function")return null;let prev=Error.prepareStackTrace,captured=null;try{Error.prepareStackTrace=(_,sites)=>(captured=sites,sites.map(s=>\` at \${s.getFunctionName()??"<anonymous>"} (\${s.getFileName()}:\${s.getLineNumber()}:\${s.getColumnNumber()})\`).join(\`
1602
1602
  \`)),err.stack}finally{Error.prepareStackTrace=prev}return captured}function getDebugStackError(el2){let fiberKey=Object.keys(el2).find(k=>k.startsWith("__reactFiber")||k.startsWith("__reactInternalInstance"));if(!fiberKey)return null;let fiber=el2[fiberKey],ds=fiber==null?void 0:fiber._debugStack;return ds instanceof Error?ds:null}function resolveDirectSourceFromStack(el2){var _a,_b,_c,_d;let stackErr=getDebugStackError(el2);if(!stackErr)return null;let callSites=captureV8CallSites(stackErr);if(callSites)for(let site of callSites){let fileName=((_a=site.getFileName)==null?void 0:_a.call(site))??null;if(!(!fileName||SKIP_FRAME_RE.test(fileName))&&isDirectSourceUrl(fileName))return{file:cleanSourcePath(fileName),line:((_b=site.getLineNumber)==null?void 0:_b.call(site))??1,col:((_c=site.getColumnNumber)==null?void 0:_c.call(site))??1,fnName:((_d=site.getFunctionName)==null?void 0:_d.call(site))??void 0}}let stack=typeof stackErr.stack=="string"?stackErr.stack:null;if(!stack)return null;for(let raw of stack.split(\`
1603
1603
  \`)){let m=raw.match(/^\\s*at [^(]+ \\(([^)]+):(\\d+):(\\d+)\\)$/)??raw.match(/^\\s*at ((?:https?|file):\\/\\/[^:]+):(\\d+):(\\d+)$/);if(!m)continue;let[,url,lineStr,colStr]=m;if(isDirectSourceUrl(url)&&!SKIP_FRAME_RE.test(url))return{file:cleanSourcePath(url),line:parseInt(lineStr,10),col:parseInt(colStr,10)}}return null}async function resolveSourceFromStack(el2){let stack=getDebugStackStr(el2);if(!stack)return null;let frame=parseUserFrame(stack);if(!frame)return null;let map=await fetchSourceMap(frame.chunkUrl);if(!map)return null;let mapped=resolveInMap(map,frame.line-1,frame.col-1);return mapped?{file:cleanSourcePath(mapped.source),line:mapped.line,col:mapped.col}:null}async function buildSourcePointerAsync(element){let pointer=buildSourcePointer(element);if(pointer.file)return pointer;let direct=resolveDirectSourceFromStack(element);if(direct){pointer.file=direct.file,pointer.line=direct.line,pointer.col=direct.col;let fileName2=direct.file.replace(/\\\\/g,"/").split("/").pop()??direct.file;return pointer.selector=\`\${direct.file}:\${direct.line}\`,pointer.display=\`\${fileName2}:\${direct.line}\`,pointer}let resolved=await resolveSourceFromStack(element);if(!resolved)return pointer;pointer.file=resolved.file,pointer.line=resolved.line,pointer.col=resolved.col;let fileName=resolved.file.replace(/\\\\/g,"/").split("/").pop()??resolved.file;return pointer.selector=\`\${resolved.file}:\${resolved.line}\`,pointer.display=\`\${fileName}:\${resolved.line}\`,pointer}var import_react23=__toESM(require_react(),1);var import_jsx_runtime=__toESM(require_jsx_runtime(),1);var import_react3=__toESM(require_react(),1);var import_react2=__toESM(require_react());var toKebabCase=string=>string.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),mergeClasses=(...classes)=>classes.filter((className,index,array)=>!!className&&className.trim()!==""&&array.indexOf(className)===index).join(" ").trim();var import_react=__toESM(require_react());var defaultAttributes={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 Icon=(0,import_react.forwardRef)(({color="currentColor",size=24,strokeWidth=2,absoluteStrokeWidth,className="",children,iconNode,...rest},ref)=>(0,import_react.createElement)("svg",{ref,...defaultAttributes,width:size,height:size,stroke:color,strokeWidth:absoluteStrokeWidth?Number(strokeWidth)*24/Number(size):strokeWidth,className:mergeClasses("lucide",className),...rest},[...iconNode.map(([tag,attrs])=>(0,import_react.createElement)(tag,attrs)),...Array.isArray(children)?children:[children]]));var createLucideIcon=(iconName,iconNode)=>{let Component=(0,import_react2.forwardRef)(({className,...props},ref)=>(0,import_react2.createElement)(Icon,{ref,iconNode,className:mergeClasses(\`lucide-\${toKebabCase(iconName)}\`,className),...props}));return Component.displayName=\`\${iconName}\`,Component};var CircleCheckBig=createLucideIcon("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 Eye=createLucideIcon("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 Lock=createLucideIcon("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 MessageCircle=createLucideIcon("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);var Paperclip=createLucideIcon("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 import_jsx_runtime2=__toESM(require_jsx_runtime(),1),TYPE_BADGE_STYLES={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 TypeBadge({type,style}){let effectiveType=typeof type=="string"&&type.trim()&&type!=="[object Object]"&&TYPE_BADGE_STYLES[type]?type:"Task",colors=TYPE_BADGE_STYLES[effectiveType];return(0,import_jsx_runtime2.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:colors.background,color:colors.color,border:\`1px solid \${colors.border}\`,lineHeight:"1.5",...style},children:effectiveType})}var import_jsx_runtime3=__toESM(require_jsx_runtime(),1),PRIORITY_BADGE_STYLES={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 PriorityBadge({priority,style}){if(!priority||!PRIORITY_BADGE_STYLES[priority])return null;let colors=PRIORITY_BADGE_STYLES[priority];return(0,import_jsx_runtime3.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:colors.background,color:colors.color,border:\`1px solid \${colors.border}\`,lineHeight:"1.5",...style},children:priority})}var import_jsx_runtime4=__toESM(require_jsx_runtime(),1);var import_jsx_runtime5=__toESM(require_jsx_runtime(),1);var import_react6=__toESM(require_react(),1);var import_react4=__toESM(require_react(),1);var TASK_TYPES=[{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."}],TASK_TYPE_VALUES=TASK_TYPES.map(t=>t.value),TASK_TYPE_ICONS=Object.fromEntries(TASK_TYPES.map(t=>[t.value,t.icon])),TASK_TYPE_CSS=Object.fromEntries(TASK_TYPES.map(t=>[t.value,t.css])),TASK_TYPE_COLORS={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function getTaskTypeIcon(type){return TASK_TYPE_ICONS[type??"Task"]??"\\u2611"}function getTaskTypeColor(type){return TASK_TYPE_COLORS[type??"Task"]??TASK_TYPE_COLORS.Task}var import_jsx_runtime6=__toESM(require_jsx_runtime(),1);function TypePicker({id,value,onChange,disabled}){let[open,setOpen]=import_react4.default.useState(!1),rootRef=import_react4.default.useRef(null),current=TASK_TYPES.find(t=>t.value===value)??TASK_TYPES[0];return import_react4.default.useEffect(()=>{let handler=e=>{var _a;(_a=rootRef.current)!=null&&_a.contains(e.target)||setOpen(!1)};return document.addEventListener("click",handler),()=>document.removeEventListener("click",handler)},[]),(0,import_jsx_runtime6.jsxs)("div",{id,ref:rootRef,style:{position:"relative",display:"inline-block"},children:[(0,import_jsx_runtime6.jsxs)("button",{type:"button",title:current==null?void 0:current.tooltip,onClick:e=>{e.preventDefault(),disabled||setOpen(o=>!o)},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,import_jsx_runtime6.jsx)("span",{style:{fontSize:13},children:current==null?void 0:current.icon}),(0,import_jsx_runtime6.jsx)("span",{children:current==null?void 0:current.label})]}),open&&(0,import_jsx_runtime6.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:TASK_TYPES.map(t=>(0,import_jsx_runtime6.jsxs)("button",{type:"button",title:t.tooltip,onClick:()=>{onChange(t.value),setOpen(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 12px",border:"none",background:t.value===value?"var(--p-hover, rgba(255,255,255,0.06))":"transparent",color:t.value===value?"var(--p-text, #fff)":"var(--p-text-f, rgba(255,255,255,0.55))",fontSize:12,cursor:"pointer",textAlign:"left"},children:[(0,import_jsx_runtime6.jsx)("span",{style:{fontSize:14,lineHeight:1},children:t.icon}),(0,import_jsx_runtime6.jsx)("span",{children:t.label})]},t.value))})]})}var import_react5=__toESM(require_react(),1);function splitTableCells(row){return row.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(cell=>cell.trim())}function isTableDivider(line){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(line)}function renderTables(markdown){let lines=markdown.split(\`
1604
1604
  \`),out=[],i=0;for(;i<lines.length;){let headerLine=lines[i]??"",dividerLine=lines[i+1]??"";if(headerLine.includes("|")&&isTableDivider(dividerLine)){let headerCells=splitTableCells(headerLine),bodyRows=[];for(i+=2;i<lines.length&&lines[i].includes("|")&&lines[i].trim()!=="";)bodyRows.push(splitTableCells(lines[i])),i+=1;let headHtml=\`<tr>\${headerCells.map(cell=>\`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">\${cell}</th>\`).join("")}</tr>\`,bodyHtml=bodyRows.map(row=>\`<tr>\${row.map(cell=>\`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">\${cell}</td>\`).join("")}</tr>\`).join("");out.push(\`<div style="overflow-x:auto;margin:0.65em 0;"><table style="border-collapse:collapse;min-width:360px;width:100%;font-size:12px;"><thead>\${headHtml}</thead><tbody>\${bodyHtml}</tbody></table></div>\`);continue}out.push(lines[i]),i+=1}return out.join(\`
1605
- \`)}function renderMarkdown(md){if(!md)return'<span style="color:#475569;font-style:italic;">No description yet</span>';let escaped=md.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");return renderTables(escaped).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,m=>\`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm,line=>\`<p style="margin:0.5em 0;">\${line}</p>\`)}var import_jsx_runtime7=__toESM(require_jsx_runtime(),1);function MarkdownPreview({markdown,className,style}){let rootRef=import_react5.default.useRef(null),cacheRef=import_react5.default.useRef({}),[hoverPreview,setHoverPreview]=import_react5.default.useState(null);return import_react5.default.useEffect(()=>{let root=rootRef.current;if(!root)return;function clearPreview(){setHoverPreview(null)}async function handleOver(ev){let target=ev.target,link=target==null?void 0:target.closest("a[data-task-ref]");if(!link){clearPreview();return}ev.preventDefault();let id=link.getAttribute("data-task-ref");if(!id)return;let rect=link.getBoundingClientRect(),cached=cacheRef.current[id];if(cached){setHoverPreview({id,title:cached.title,status:cached.status,x:rect.left,y:rect.bottom+6});return}try{let data=await(await fetch(\`/api/tasks/\${id}\`)).json(),info={title:data.title??\`Task \${id}\`,status:data.status??"unknown"};cacheRef.current[id]=info,setHoverPreview({id,title:info.title,status:info.status,x:rect.left,y:rect.bottom+6})}catch{setHoverPreview({id,title:\`Task \${id}\`,status:"unknown",x:rect.left,y:rect.bottom+6})}}function handleRefClick(ev){var _a,_b;let link=(_b=(_a=ev.target)==null?void 0:_a.closest)==null?void 0:_b.call(_a,"a[data-task-ref]");if(!link)return;let refId=link.getAttribute("data-task-ref");refId&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId}}))}return root.addEventListener("mouseover",handleOver),root.addEventListener("mouseleave",clearPreview),root.addEventListener("click",handleRefClick),()=>{root.removeEventListener("mouseover",handleOver),root.removeEventListener("mouseleave",clearPreview),root.removeEventListener("click",handleRefClick)}},[]),(0,import_jsx_runtime7.jsxs)("div",{style:{position:"relative"},children:[(0,import_jsx_runtime7.jsx)("div",{ref:rootRef,className,style,dangerouslySetInnerHTML:{__html:renderMarkdown(markdown)}}),hoverPreview&&(0,import_jsx_runtime7.jsxs)("div",{style:{position:"fixed",left:hoverPreview.x,top:hoverPreview.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,import_jsx_runtime7.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",hoverPreview.id]}),(0,import_jsx_runtime7.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:hoverPreview.title}),(0,import_jsx_runtime7.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",hoverPreview.status]})]})]})}var import_jsx_runtime8=__toESM(require_jsx_runtime(),1);var import_jsx_runtime9=__toESM(require_jsx_runtime(),1);var LS_SEEN_KEY="proto-comments-seen";function isNewComments(taskId,count){try{let raw=localStorage.getItem(LS_SEEN_KEY),seen=raw?JSON.parse(raw):{};return count>(seen[taskId]??0)}catch{return!1}}var KEY_DIGITS=16;var MAX_INT=BigInt("9".repeat(KEY_DIGITS));var import_react8=__toESM(require_react(),1);var import_react7=__toESM(require_react(),1),import_react_dom=__toESM(require_react_dom(),1);var TAG_PALETTE=[{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 hashTagName(name){let hash=0;for(let i=0;i<name.length;i++)hash=hash*31+name.charCodeAt(i)>>>0;return hash%TAG_PALETTE.length}function getTagColors(name){return TAG_PALETTE[hashTagName(name)]}var import_jsx_runtime10=__toESM(require_jsx_runtime(),1);function TagPills({tags,onRemove,size="sm"}){if(!tags.length)return null;let padding=size==="xs"?"1px 6px":"2px 7px",fontSize=size==="xs"?9:10;return(0,import_jsx_runtime10.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:tags.map(tag=>{let{bg,text,border}=getTagColors(tag);return(0,import_jsx_runtime10.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding,borderRadius:100,background:bg,border:\`1px solid \${border}\`,color:text,fontSize,fontWeight:600,whiteSpace:"nowrap"},children:[tag,onRemove&&(0,import_jsx_runtime10.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),onRemove(tag)},style:{display:"flex",background:"none",border:"none",color:text,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:e=>{e.currentTarget.style.opacity="1"},onMouseLeave:e=>{e.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},tag)})})}var import_jsx_runtime11=__toESM(require_jsx_runtime(),1);function isImageFileName(name){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(name)}function withHexAlpha(hexColor,alpha){if(!/^#[0-9a-fA-F]{6}$/.test(hexColor))return;let normalized=Math.max(0,Math.min(1,alpha)),alphaHex=Math.round(normalized*255).toString(16).padStart(2,"0");return\`\${hexColor}\${alphaHex}\`}function resolveTaskCardBorderColor(statusColor,priority){return withHexAlpha(statusColor,priority==="Critical"?.36:priority==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function resolveTaskCardBgColor(typeColor){return withHexAlpha(typeColor,.05)??"transparent"}var DONE_ARTICLE_STYLE={padding:"7px 8px",gap:4,opacity:.45,userSelect:"none"},DONE_INNER_ROW_STYLE={display:"flex",alignItems:"center",gap:5},DONE_CHECK_ICON_STYLE={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},DONE_TITLE_STYLE={fontSize:11.5,fontWeight:600,color:"var(--p-text-g)",textDecoration:"line-through",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},CARD_TITLE_ROW_STYLE={display:"flex",alignItems:"center",gap:5,minWidth:0},SPINNER_SHRINK_STYLE={flexShrink:0},CARD_TITLE_TEXT_STYLE={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},DESC_THUMB_ROW_STYLE={display:"flex",alignItems:"flex-start",gap:8},DESC_TEXT_STYLE={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},THUMB_WRAPPER_STYLE={position:"relative",flexShrink:0},THUMB_IMG_STYLE={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},CARD_FOOTER_STYLE={display:"flex",alignItems:"center",gap:2,marginTop:1},SPACER_STYLE={flex:1},TaskCard=import_react7.default.memo(function({task,col,liveActivity,onOpen,onDragStart}){var _a;let isInProgress=col.id==="in-progress",isDone=col.id==="done",[showThumbPreview,setShowThumbPreview]=import_react7.default.useState(!1),[thumbRect,setThumbRect]=import_react7.default.useState(null),thumbRef=import_react7.default.useRef(null),commentCount=task.commentCount??0,fileCount=task.fileCount??0,hasNewComments=commentCount>0&&isNewComments(task.id,commentCount),cardBorderColor=resolveTaskCardBorderColor(col.color,task.priority),typeColor=getTaskTypeColor(task.type),cardBgColor=resolveTaskCardBgColor(typeColor),firstImage=(_a=task.files)==null?void 0:_a.find(f=>isImageFileName(f.name)),thumbnailUrl=firstImage?\`/api/tasks/\${task.id}/files/\${encodeURIComponent(firstImage.name)}\`:null;function handleDragStart(e){onDragStart(e,task.id),e.currentTarget.classList.add("dragging")}function handleDragEnd(e){e.currentTarget.classList.remove("dragging")}function handleClick(){onOpen(task)}return isDone?(0,import_jsx_runtime11.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":task.id,style:{...DONE_ARTICLE_STYLE},onDragStart:handleDragStart,onDragEnd:handleDragEnd,onClick:handleClick,children:(0,import_jsx_runtime11.jsxs)("div",{style:DONE_INNER_ROW_STYLE,children:[(0,import_jsx_runtime11.jsx)(CircleCheckBig,{style:DONE_CHECK_ICON_STYLE}),(0,import_jsx_runtime11.jsx)("span",{style:DONE_TITLE_STYLE,children:task.title})]})}):(0,import_jsx_runtime11.jsxs)("article",{className:\`task-card\${liveActivity?" task-live-edit":""}\`,draggable:!0,"data-task-id":task.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:liveActivity?"rgba(59,130,246,0.08)":cardBgColor,border:liveActivity?"1px solid rgba(59,130,246,0.5)":cardBorderColor?\`1px solid \${cardBorderColor}\`:void 0,...liveActivity?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{}},onDragStart:handleDragStart,onDragEnd:handleDragEnd,onClick:handleClick,children:[(0,import_jsx_runtime11.jsxs)("div",{style:CARD_TITLE_ROW_STYLE,children:[isInProgress&&(0,import_jsx_runtime11.jsx)("span",{className:"spinner",style:SPINNER_SHRINK_STYLE}),(0,import_jsx_runtime11.jsx)("span",{style:CARD_TITLE_TEXT_STYLE,children:task.title})]}),(task.description||thumbnailUrl)&&(0,import_jsx_runtime11.jsxs)("div",{style:DESC_THUMB_ROW_STYLE,children:[task.description&&(0,import_jsx_runtime11.jsx)("div",{style:DESC_TEXT_STYLE,children:task.description}),thumbnailUrl&&(0,import_jsx_runtime11.jsxs)("div",{style:THUMB_WRAPPER_STYLE,onMouseEnter:()=>{if(thumbRef.current){let r=thumbRef.current.getBoundingClientRect();setThumbRect({top:r.top,right:r.right})}setShowThumbPreview(!0)},onMouseLeave:()=>{setShowThumbPreview(!1),setThumbRect(null)},children:[(0,import_jsx_runtime11.jsx)("img",{ref:thumbRef,src:thumbnailUrl,alt:"Task screenshot","data-role":"task-thumb",style:THUMB_IMG_STYLE}),showThumbPreview&&thumbRect&&import_react_dom.default.createPortal((0,import_jsx_runtime11.jsx)("img",{src:thumbnailUrl,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-thumbRect.right,bottom:window.innerHeight-thumbRect.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,import_jsx_runtime11.jsxs)("div",{className:"flex items-center",style:CARD_FOOTER_STYLE,children:[(0,import_jsx_runtime11.jsx)(TypeBadge,{type:task.type}),task.priority&&(0,import_jsx_runtime11.jsx)(PriorityBadge,{priority:task.priority}),isInProgress&&task.assigneeName&&(0,import_jsx_runtime11.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:task.assigneeName}),task.tags&&task.tags.length>0&&(0,import_jsx_runtime11.jsx)(TagPills,{tags:task.tags,size:"xs"}),(0,import_jsx_runtime11.jsx)("div",{style:SPACER_STYLE}),liveActivity&&(0,import_jsx_runtime11.jsx)(LiveActivityBadge,{activity:liveActivity}),(0,import_jsx_runtime11.jsx)(CardIconButton,{icon:(0,import_jsx_runtime11.jsx)(MessageCircle,{style:{width:9,height:9}}),label:commentCount>0?String(commentCount):"",color:hasNewComments?"var(--p-purple)":commentCount>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:hasNewComments?"var(--p-purple-300)":"var(--p-text)",title:commentCount>0?\`\${commentCount} comment(s)\`:"Add comment",badge:hasNewComments,badgeColor:"var(--p-purple)",onClick:e=>{e.stopPropagation(),onOpen(task,"comments")}}),(0,import_jsx_runtime11.jsx)(CardIconButton,{icon:(0,import_jsx_runtime11.jsx)(Paperclip,{style:{width:9,height:9}}),label:fileCount>0?String(fileCount):"",color:fileCount>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:fileCount>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:fileCount>0?\`\${fileCount} file(s) attached\`:"Files",onClick:e=>{e.stopPropagation(),onOpen(task,"files")}})]})]})});function CardIconButton({icon,label,color,hoverColor,title,badge,badgeColor,onClick}){let[hovered,setHovered]=import_react7.default.useState(!1);return(0,import_jsx_runtime11.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:hovered?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:hovered?hoverColor:color,transition:"color .1s, background .1s"},title,onMouseEnter:()=>setHovered(!0),onMouseLeave:()=>setHovered(!1),onClick,children:[icon,label&&(0,import_jsx_runtime11.jsx)("span",{children:label}),badge&&(0,import_jsx_runtime11.jsx)("span",{style:{width:4,height:4,background:badgeColor??color,borderRadius:"50%",flexShrink:0}})]})}function LiveActivityBadge({activity}){let isLocked=activity.state==="locked"||activity.state==="editing",icon=isLocked?(0,import_jsx_runtime11.jsx)(Lock,{style:{width:8,height:8}}):(0,import_jsx_runtime11.jsx)(Eye,{style:{width:8,height:8}}),label=isLocked?\`Locked by \${activity.user}\`:\`\${activity.user} viewing\`;return(0,import_jsx_runtime11.jsxs)("span",{style:isLocked?{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:label,"data-testid":"live-activity-badge",children:[icon,(0,import_jsx_runtime11.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:activity.user})]})}var import_jsx_runtime12=__toESM(require_jsx_runtime(),1);var import_react9=__toESM(require_react(),1);var import_jsx_runtime13=__toESM(require_jsx_runtime(),1);var import_react10=__toESM(require_react(),1);var import_jsx_runtime14=__toESM(require_jsx_runtime(),1);var import_jsx_runtime15=__toESM(require_jsx_runtime(),1);var import_react19=__toESM(require_react(),1);var import_react14=__toESM(require_react(),1);var import_react11=__toESM(require_react(),1),import_jsx_runtime16=__toESM(require_jsx_runtime(),1),AutoExpandTextarea=import_react11.default.forwardRef(function({value,onChange,baseRows=4,maxRows,style,...rest},forwardedRef){let localRef=import_react11.default.useRef(null),resolvedMaxRows=maxRows??baseRows*2,resize=import_react11.default.useCallback(()=>{let el2=localRef.current;if(!el2)return;el2.style.height="auto";let computed=window.getComputedStyle(el2),lineHeight=Number.parseFloat(computed.lineHeight||"0")||18,verticalPadding=Number.parseFloat(computed.paddingTop||"0")+Number.parseFloat(computed.paddingBottom||"0"),border=Number.parseFloat(computed.borderTopWidth||"0")+Number.parseFloat(computed.borderBottomWidth||"0"),minHeight=baseRows*lineHeight+verticalPadding+border,maxHeight=resolvedMaxRows*lineHeight+verticalPadding+border,target=Math.max(minHeight,Math.min(el2.scrollHeight,maxHeight));el2.style.height=\`\${target}px\`,el2.style.overflowY=el2.scrollHeight>maxHeight?"auto":"hidden"},[baseRows,resolvedMaxRows]);return import_react11.default.useLayoutEffect(()=>{resize()},[value,resize]),(0,import_jsx_runtime16.jsx)("textarea",{...rest,ref:el2=>{localRef.current=el2,typeof forwardedRef=="function"?forwardedRef(el2):forwardedRef&&(forwardedRef.current=el2)},rows:baseRows,value,onChange:e=>onChange(e.target.value),style:{...style,resize:"none"}})});var import_react13=__toESM(require_react(),1);var import_react12=__toESM(require_react(),1),import_react_dom2=__toESM(require_react_dom(),1),import_jsx_runtime17=__toESM(require_jsx_runtime(),1);var import_jsx_runtime18=__toESM(require_jsx_runtime(),1);var import_jsx_runtime19=__toESM(require_jsx_runtime(),1);var import_jsx_runtime20=__toESM(require_jsx_runtime(),1);var import_react15=__toESM(require_react(),1);var import_jsx_runtime21=__toESM(require_jsx_runtime(),1);var import_react18=__toESM(require_react(),1);var import_react16=__toESM(require_react(),1),import_react_dom3=__toESM(require_react_dom(),1);var import_jsx_runtime22=__toESM(require_jsx_runtime(),1);var import_react17=__toESM(require_react(),1);var import_jsx_runtime23=__toESM(require_jsx_runtime(),1);var import_jsx_runtime24=__toESM(require_jsx_runtime(),1);var import_jsx_runtime25=__toESM(require_jsx_runtime(),1);var import_jsx_runtime26=__toESM(require_jsx_runtime(),1);var MAX_UPLOAD_BYTES=5*1024*1024;var import_react20=__toESM(require_react(),1);var import_jsx_runtime27=__toESM(require_jsx_runtime(),1);var import_react21=__toESM(require_react(),1);var import_jsx_runtime28=__toESM(require_jsx_runtime(),1);var import_react22=__toESM(require_react(),1);var import_jsx_runtime29=__toESM(require_jsx_runtime(),1);var IGNORED_PATTERNS=[/Error evaluating Node\\.js code/i,/nextjs-portal/i],buffer=[],recording=!1;function addEntry(level,args){let message=args.map(a=>{if(typeof a=="string")return a;if(a instanceof Error)return a.message;try{return JSON.stringify(a)}catch{return String(a)}}).join(" ").slice(0,500);!message||IGNORED_PATTERNS.some(pattern=>pattern.test(message))||(buffer.push({level,message,timestamp:new Date().toISOString()}),buffer.length>50&&buffer.splice(0,buffer.length-50))}function startRecording(){if(recording)return;recording=!0;let origError=console.error.bind(console);console.error=(...args)=>{addEntry("error",args),origError(...args)};let origWarn=console.warn.bind(console);console.warn=(...args)=>{addEntry("warn",args),origWarn(...args)},window.addEventListener("error",e=>{let loc=e.filename?\` (\${e.filename.split("/").pop()}:\${e.lineno})\`:"";addEntry("error",[\`\${e.message}\${loc}\`])}),window.addEventListener("unhandledrejection",e=>{let msg=e.reason instanceof Error?e.reason.message:String(e.reason??"Unhandled promise rejection");addEntry("error",[\`Unhandled rejection: \${msg}\`])})}function getRecordedLogs(){if(buffer.length===0)return"";let lines=buffer.map(e=>{let icon=e.level==="error"?"\\u{1F534}":"\\u{1F7E1}",time=e.timestamp.slice(11,19);return\`- \${icon} \\\`\${time}\\\` \${e.message}\`});return\`
1605
+ \`)}function renderMarkdown(md){if(!md)return'<span style="color:#475569;font-style:italic;">No description yet</span>';let escaped=md.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");return renderTables(escaped).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,m=>\`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm,line=>\`<p style="margin:0.5em 0;">\${line}</p>\`)}var import_jsx_runtime7=__toESM(require_jsx_runtime(),1);function MarkdownPreview({markdown,className,style}){let rootRef=import_react5.default.useRef(null),cacheRef=import_react5.default.useRef({}),[hoverPreview,setHoverPreview]=import_react5.default.useState(null);return import_react5.default.useEffect(()=>{let root=rootRef.current;if(!root)return;function clearPreview(){setHoverPreview(null)}async function handleOver(ev){let target=ev.target,link=target==null?void 0:target.closest("a[data-task-ref]");if(!link){clearPreview();return}ev.preventDefault();let id=link.getAttribute("data-task-ref");if(!id)return;let rect=link.getBoundingClientRect(),cached=cacheRef.current[id];if(cached){setHoverPreview({id,title:cached.title,status:cached.status,x:rect.left,y:rect.bottom+6});return}try{let data=await(await fetch(\`/api/tasks/\${id}\`)).json(),info={title:data.title??\`Task \${id}\`,status:data.status??"unknown"};cacheRef.current[id]=info,setHoverPreview({id,title:info.title,status:info.status,x:rect.left,y:rect.bottom+6})}catch{setHoverPreview({id,title:\`Task \${id}\`,status:"unknown",x:rect.left,y:rect.bottom+6})}}function handleRefClick(ev){var _a,_b;let link=(_b=(_a=ev.target)==null?void 0:_a.closest)==null?void 0:_b.call(_a,"a[data-task-ref]");if(!link)return;let refId=link.getAttribute("data-task-ref");refId&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId}}))}return root.addEventListener("mouseover",handleOver),root.addEventListener("mouseleave",clearPreview),root.addEventListener("click",handleRefClick),()=>{root.removeEventListener("mouseover",handleOver),root.removeEventListener("mouseleave",clearPreview),root.removeEventListener("click",handleRefClick)}},[]),(0,import_jsx_runtime7.jsxs)("div",{style:{position:"relative"},children:[(0,import_jsx_runtime7.jsx)("div",{ref:rootRef,className,style,dangerouslySetInnerHTML:{__html:renderMarkdown(markdown)}}),hoverPreview&&(0,import_jsx_runtime7.jsxs)("div",{style:{position:"fixed",left:hoverPreview.x,top:hoverPreview.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,import_jsx_runtime7.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",hoverPreview.id]}),(0,import_jsx_runtime7.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:hoverPreview.title}),(0,import_jsx_runtime7.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",hoverPreview.status]})]})]})}var import_jsx_runtime8=__toESM(require_jsx_runtime(),1);var import_jsx_runtime9=__toESM(require_jsx_runtime(),1);var LS_SEEN_KEY="proto-comments-seen";function isNewComments(taskId,count){try{let raw=localStorage.getItem(LS_SEEN_KEY),seen=raw?JSON.parse(raw):{};return count>(seen[taskId]??0)}catch{return!1}}var KEY_DIGITS=16;var MAX_INT=BigInt("9".repeat(KEY_DIGITS));var import_react8=__toESM(require_react(),1);var import_react7=__toESM(require_react(),1),import_react_dom=__toESM(require_react_dom(),1);var TAG_PALETTE=[{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 hashTagName(name){let hash=0;for(let i=0;i<name.length;i++)hash=hash*31+name.charCodeAt(i)>>>0;return hash%TAG_PALETTE.length}function getTagColors(name){return TAG_PALETTE[hashTagName(name)]}var import_jsx_runtime10=__toESM(require_jsx_runtime(),1);function TagPills({tags,onRemove,size="sm"}){if(!tags.length)return null;let padding=size==="xs"?"1px 6px":"2px 7px",fontSize=size==="xs"?9:10;return(0,import_jsx_runtime10.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:tags.map(tag=>{let{bg,text,border}=getTagColors(tag);return(0,import_jsx_runtime10.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding,borderRadius:100,background:bg,border:\`1px solid \${border}\`,color:text,fontSize,fontWeight:600,whiteSpace:"nowrap"},children:[tag,onRemove&&(0,import_jsx_runtime10.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),onRemove(tag)},style:{display:"flex",background:"none",border:"none",color:text,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:e=>{e.currentTarget.style.opacity="1"},onMouseLeave:e=>{e.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},tag)})})}var import_jsx_runtime11=__toESM(require_jsx_runtime(),1);function isImageFileName(name){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(name)}function withHexAlpha(hexColor,alpha){if(!/^#[0-9a-fA-F]{6}$/.test(hexColor))return;let normalized=Math.max(0,Math.min(1,alpha)),alphaHex=Math.round(normalized*255).toString(16).padStart(2,"0");return\`\${hexColor}\${alphaHex}\`}function resolveTaskCardBorderColor(statusColor,priority){return withHexAlpha(statusColor,priority==="Critical"?.36:priority==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function resolveTaskCardBgColor(typeColor){return withHexAlpha(typeColor,.1)??"transparent"}var DONE_ARTICLE_STYLE={padding:"7px 8px",gap:4,opacity:1,userSelect:"none"},DONE_INNER_ROW_STYLE={display:"flex",alignItems:"center",gap:5},DONE_CHECK_ICON_STYLE={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},DONE_TITLE_STYLE={fontSize:11.5,fontWeight:600,color:"var(--p-text-m)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},VERIFIED_BADGE_STYLE={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},CARD_TITLE_ROW_STYLE={display:"flex",alignItems:"center",gap:5,minWidth:0},SPINNER_SHRINK_STYLE={flexShrink:0},CARD_TITLE_TEXT_STYLE={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},DESC_THUMB_ROW_STYLE={display:"flex",alignItems:"flex-start",gap:8},DESC_TEXT_STYLE={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},THUMB_WRAPPER_STYLE={position:"relative",flexShrink:0},THUMB_IMG_STYLE={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},CARD_FOOTER_STYLE={display:"flex",alignItems:"center",gap:2,marginTop:1},SPACER_STYLE={flex:1},TaskCard=import_react7.default.memo(function({task,col,liveActivity,onOpen,onDragStart}){var _a;let isInProgress=col.id==="in-progress",isDone=col.id==="done",[showThumbPreview,setShowThumbPreview]=import_react7.default.useState(!1),[thumbRect,setThumbRect]=import_react7.default.useState(null),thumbRef=import_react7.default.useRef(null),commentCount=task.commentCount??0,fileCount=task.fileCount??0,hasNewComments=commentCount>0&&isNewComments(task.id,commentCount),cardBorderColor=resolveTaskCardBorderColor(col.color,task.priority),typeColor=getTaskTypeColor(task.type),cardBgColor=resolveTaskCardBgColor(typeColor),firstImage=(_a=task.files)==null?void 0:_a.find(f=>isImageFileName(f.name)),thumbnailUrl=firstImage?\`/api/tasks/\${task.id}/files/\${encodeURIComponent(firstImage.name)}\`:null;function handleDragStart(e){onDragStart(e,task.id),e.currentTarget.classList.add("dragging")}function handleDragEnd(e){e.currentTarget.classList.remove("dragging")}function handleClick(){onOpen(task)}return isDone?(0,import_jsx_runtime11.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":task.id,style:{...DONE_ARTICLE_STYLE},onDragStart:handleDragStart,onDragEnd:handleDragEnd,onClick:handleClick,children:(0,import_jsx_runtime11.jsxs)("div",{style:DONE_INNER_ROW_STYLE,children:[(0,import_jsx_runtime11.jsx)(CircleCheckBig,{style:DONE_CHECK_ICON_STYLE}),(0,import_jsx_runtime11.jsx)("span",{style:DONE_TITLE_STYLE,children:task.title}),task.verified&&(0,import_jsx_runtime11.jsx)("span",{style:VERIFIED_BADGE_STYLE,children:"\\u2713 VERIFIED"})]})}):(0,import_jsx_runtime11.jsxs)("article",{className:\`task-card\${liveActivity?" task-live-edit":""}\`,draggable:!0,"data-task-id":task.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:liveActivity?"rgba(59,130,246,0.08)":cardBgColor,border:liveActivity?"1px solid rgba(59,130,246,0.5)":cardBorderColor?\`1px solid \${cardBorderColor}\`:void 0,...liveActivity?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{}},onDragStart:handleDragStart,onDragEnd:handleDragEnd,onClick:handleClick,children:[(0,import_jsx_runtime11.jsxs)("div",{style:CARD_TITLE_ROW_STYLE,children:[isInProgress&&(0,import_jsx_runtime11.jsx)("span",{className:"spinner",style:SPINNER_SHRINK_STYLE}),(0,import_jsx_runtime11.jsx)("span",{style:CARD_TITLE_TEXT_STYLE,children:task.title})]}),(task.description||thumbnailUrl)&&(0,import_jsx_runtime11.jsxs)("div",{style:DESC_THUMB_ROW_STYLE,children:[task.description&&(0,import_jsx_runtime11.jsx)("div",{style:DESC_TEXT_STYLE,children:task.description}),thumbnailUrl&&(0,import_jsx_runtime11.jsxs)("div",{style:THUMB_WRAPPER_STYLE,onMouseEnter:()=>{if(thumbRef.current){let r=thumbRef.current.getBoundingClientRect();setThumbRect({top:r.top,right:r.right})}setShowThumbPreview(!0)},onMouseLeave:()=>{setShowThumbPreview(!1),setThumbRect(null)},children:[(0,import_jsx_runtime11.jsx)("img",{ref:thumbRef,src:thumbnailUrl,alt:"Task screenshot","data-role":"task-thumb",style:THUMB_IMG_STYLE}),showThumbPreview&&thumbRect&&import_react_dom.default.createPortal((0,import_jsx_runtime11.jsx)("img",{src:thumbnailUrl,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-thumbRect.right,bottom:window.innerHeight-thumbRect.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,import_jsx_runtime11.jsxs)("div",{className:"flex items-center",style:CARD_FOOTER_STYLE,children:[(0,import_jsx_runtime11.jsx)(TypeBadge,{type:task.type}),task.priority&&(0,import_jsx_runtime11.jsx)(PriorityBadge,{priority:task.priority}),isInProgress&&task.assigneeName&&(0,import_jsx_runtime11.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:task.assigneeName}),task.tags&&task.tags.length>0&&(0,import_jsx_runtime11.jsx)(TagPills,{tags:task.tags,size:"xs"}),(0,import_jsx_runtime11.jsx)("div",{style:SPACER_STYLE}),liveActivity&&(0,import_jsx_runtime11.jsx)(LiveActivityBadge,{activity:liveActivity}),(0,import_jsx_runtime11.jsx)(CardIconButton,{icon:(0,import_jsx_runtime11.jsx)(MessageCircle,{style:{width:9,height:9}}),label:commentCount>0?String(commentCount):"",color:hasNewComments?"var(--p-purple)":commentCount>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:hasNewComments?"var(--p-purple-300)":"var(--p-text)",title:commentCount>0?\`\${commentCount} comment(s)\`:"Add comment",badge:hasNewComments,badgeColor:"var(--p-purple)",onClick:e=>{e.stopPropagation(),onOpen(task,"comments")}}),(0,import_jsx_runtime11.jsx)(CardIconButton,{icon:(0,import_jsx_runtime11.jsx)(Paperclip,{style:{width:9,height:9}}),label:fileCount>0?String(fileCount):"",color:fileCount>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:fileCount>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:fileCount>0?\`\${fileCount} file(s) attached\`:"Files",onClick:e=>{e.stopPropagation(),onOpen(task,"files")}})]})]})});function CardIconButton({icon,label,color,hoverColor,title,badge,badgeColor,onClick}){let[hovered,setHovered]=import_react7.default.useState(!1);return(0,import_jsx_runtime11.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:hovered?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:hovered?hoverColor:color,transition:"color .1s, background .1s"},title,onMouseEnter:()=>setHovered(!0),onMouseLeave:()=>setHovered(!1),onClick,children:[icon,label&&(0,import_jsx_runtime11.jsx)("span",{children:label}),badge&&(0,import_jsx_runtime11.jsx)("span",{style:{width:4,height:4,background:badgeColor??color,borderRadius:"50%",flexShrink:0}})]})}function LiveActivityBadge({activity}){let isLocked=activity.state==="locked"||activity.state==="editing",icon=isLocked?(0,import_jsx_runtime11.jsx)(Lock,{style:{width:8,height:8}}):(0,import_jsx_runtime11.jsx)(Eye,{style:{width:8,height:8}}),label=isLocked?\`Locked by \${activity.user}\`:\`\${activity.user} viewing\`;return(0,import_jsx_runtime11.jsxs)("span",{style:isLocked?{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:label,"data-testid":"live-activity-badge",children:[icon,(0,import_jsx_runtime11.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:activity.user})]})}var import_jsx_runtime12=__toESM(require_jsx_runtime(),1);var import_react9=__toESM(require_react(),1);var import_jsx_runtime13=__toESM(require_jsx_runtime(),1);var import_react10=__toESM(require_react(),1);var import_jsx_runtime14=__toESM(require_jsx_runtime(),1);var import_jsx_runtime15=__toESM(require_jsx_runtime(),1);var import_react19=__toESM(require_react(),1);var import_react14=__toESM(require_react(),1);var import_react11=__toESM(require_react(),1),import_jsx_runtime16=__toESM(require_jsx_runtime(),1),AutoExpandTextarea=import_react11.default.forwardRef(function({value,onChange,baseRows=4,maxRows,style,...rest},forwardedRef){let localRef=import_react11.default.useRef(null),resolvedMaxRows=maxRows??baseRows*2,resize=import_react11.default.useCallback(()=>{let el2=localRef.current;if(!el2)return;el2.style.height="auto";let computed=window.getComputedStyle(el2),lineHeight=Number.parseFloat(computed.lineHeight||"0")||18,verticalPadding=Number.parseFloat(computed.paddingTop||"0")+Number.parseFloat(computed.paddingBottom||"0"),border=Number.parseFloat(computed.borderTopWidth||"0")+Number.parseFloat(computed.borderBottomWidth||"0"),minHeight=baseRows*lineHeight+verticalPadding+border,maxHeight=resolvedMaxRows*lineHeight+verticalPadding+border,target=Math.max(minHeight,Math.min(el2.scrollHeight,maxHeight));el2.style.height=\`\${target}px\`,el2.style.overflowY=el2.scrollHeight>maxHeight?"auto":"hidden"},[baseRows,resolvedMaxRows]);return import_react11.default.useLayoutEffect(()=>{resize()},[value,resize]),(0,import_jsx_runtime16.jsx)("textarea",{...rest,ref:el2=>{localRef.current=el2,typeof forwardedRef=="function"?forwardedRef(el2):forwardedRef&&(forwardedRef.current=el2)},rows:baseRows,value,onChange:e=>onChange(e.target.value),style:{...style,resize:"none"}})});var import_react13=__toESM(require_react(),1);var import_react12=__toESM(require_react(),1),import_react_dom2=__toESM(require_react_dom(),1),import_jsx_runtime17=__toESM(require_jsx_runtime(),1);var import_jsx_runtime18=__toESM(require_jsx_runtime(),1);var import_jsx_runtime19=__toESM(require_jsx_runtime(),1);var import_jsx_runtime20=__toESM(require_jsx_runtime(),1);var import_react15=__toESM(require_react(),1);var import_jsx_runtime21=__toESM(require_jsx_runtime(),1);var import_react18=__toESM(require_react(),1);var import_react16=__toESM(require_react(),1),import_react_dom3=__toESM(require_react_dom(),1);var import_jsx_runtime22=__toESM(require_jsx_runtime(),1);var import_react17=__toESM(require_react(),1);var import_jsx_runtime23=__toESM(require_jsx_runtime(),1);var import_jsx_runtime24=__toESM(require_jsx_runtime(),1);var import_jsx_runtime25=__toESM(require_jsx_runtime(),1);var import_jsx_runtime26=__toESM(require_jsx_runtime(),1);var MAX_UPLOAD_BYTES=5*1024*1024;var import_react20=__toESM(require_react(),1);var import_jsx_runtime27=__toESM(require_jsx_runtime(),1);var import_react21=__toESM(require_react(),1);var import_jsx_runtime28=__toESM(require_jsx_runtime(),1);var import_react22=__toESM(require_react(),1);var import_jsx_runtime29=__toESM(require_jsx_runtime(),1);var IGNORED_PATTERNS=[/Error evaluating Node\\.js code/i,/nextjs-portal/i],buffer=[],recording=!1;function addEntry(level,args){let message=args.map(a=>{if(typeof a=="string")return a;if(a instanceof Error)return a.message;try{return JSON.stringify(a)}catch{return String(a)}}).join(" ").slice(0,500);!message||IGNORED_PATTERNS.some(pattern=>pattern.test(message))||(buffer.push({level,message,timestamp:new Date().toISOString()}),buffer.length>50&&buffer.splice(0,buffer.length-50))}function startRecording(){if(recording)return;recording=!0;let origError=console.error.bind(console);console.error=(...args)=>{addEntry("error",args),origError(...args)};let origWarn=console.warn.bind(console);console.warn=(...args)=>{addEntry("warn",args),origWarn(...args)},window.addEventListener("error",e=>{let loc=e.filename?\` (\${e.filename.split("/").pop()}:\${e.lineno})\`:"";addEntry("error",[\`\${e.message}\${loc}\`])}),window.addEventListener("unhandledrejection",e=>{let msg=e.reason instanceof Error?e.reason.message:String(e.reason??"Unhandled promise rejection");addEntry("error",[\`Unhandled rejection: \${msg}\`])})}function getRecordedLogs(){if(buffer.length===0)return"";let lines=buffer.map(e=>{let icon=e.level==="error"?"\\u{1F534}":"\\u{1F7E1}",time=e.timestamp.slice(11,19);return\`- \${icon} \\\`\${time}\\\` \${e.message}\`});return\`
1606
1606
 
1607
1607
  ---
1608
1608
  **Console logs** (\${buffer.length} entr\${buffer.length===1?"y":"ies"})
1609
1609
  \${lines.join(\`
1610
- \`)}\`}function clampTriggerPos(pos,viewport){let x=Math.max(8,Math.min(viewport.width-64,pos.x)),y=Math.max(8,Math.min(viewport.height-64,pos.y));return{x,y}}var import_jsx_runtime30=__toESM(require_jsx_runtime(),1),_externalShowAddModal=null,_externalFlashTrigger=null,_externalSetTriggerVisible=null,_externalHideTrigger=null,_externalDisableOverlay=null;function showOverlayTrigger(){_externalSetTriggerVisible==null||_externalSetTriggerVisible()}function hideOverlayTrigger(){_externalHideTrigger==null||_externalHideTrigger()}function disableVibeflowOverlay(){_externalDisableOverlay==null||_externalDisableOverlay()}var TRIGGER_HIDDEN_KEY="vibeflow-trigger-hidden";function hasPrototypingApi(){return typeof window<"u"&&"__vf_prototyping"in window}function openPrototypingPanel(){let api=window.__vf_prototyping;api==null||api.openPanel()}function flashFavicon(durationMs=2200){let head=document.head,existing=head.querySelector('link[rel*="icon"]'),originalHref=(existing==null?void 0:existing.href)??"";existing&&existing.remove();let link=document.createElement("link");link.rel="icon",link.type="image/svg+xml";let animatedSvg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" fill="none"><rect width="18" height="18" rx="4" fill="#2563eb"/><rect x="2.5" y="5" width="2" height="8" rx="1" fill="white" opacity=".7"><animate attributeName="height" values="3;13;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0s"/><animate attributeName="y" values="7.5;2.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0s"/></rect><rect x="6.5" y="2" width="2" height="14" rx="1" fill="white"><animate attributeName="height" values="3;15;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.15s"/><animate attributeName="y" values="7.5;1.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.15s"/></rect><rect x="10.5" y="6" width="2" height="6" rx="1" fill="white" opacity=".7"><animate attributeName="height" values="3;12;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.3s"/><animate attributeName="y" values="7.5;3;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.3s"/></rect><rect x="14.5" y="4" width="2" height="10" rx="1" fill="white" opacity=".85"><animate attributeName="height" values="3;13;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.45s"/><animate attributeName="y" values="7.5;2.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.45s"/></rect></svg>';link.href=\`data:image/svg+xml,\${encodeURIComponent(animatedSvg)}\`,head.appendChild(link),window.setTimeout(()=>{if(link.remove(),originalHref){let restore=document.createElement("link");restore.rel="icon",restore.type="image/svg+xml",restore.href=originalHref,head.appendChild(restore)}},durationMs)}function flashOverlayTrigger(){_externalFlashTrigger==null||_externalFlashTrigger()}function CornerTrigger({onClick,flashing,onHide,onDisable}){let svgIcon=(0,import_jsx_runtime30.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",children:[(0,import_jsx_runtime30.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"currentColor",opacity:"0.7"}),(0,import_jsx_runtime30.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"currentColor"}),(0,import_jsx_runtime30.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"currentColor",opacity:"0.7"}),(0,import_jsx_runtime30.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"currentColor",opacity:"0.85"})]}),[pos,setPos]=import_react23.default.useState(()=>{try{let saved=localStorage.getItem("vibeflow-trigger-pos");if(saved){let parsed=JSON.parse(saved);if(typeof parsed.x=="number"&&isFinite(parsed.x)&&typeof parsed.y=="number"&&isFinite(parsed.y))return clampTriggerPos(parsed,{width:window.innerWidth,height:window.innerHeight})}}catch{}return null}),[isDragging,setIsDragging]=import_react23.default.useState(!1),[isHolding,setIsHolding]=import_react23.default.useState(!1),dragOrigin=import_react23.default.useRef(null),holdTimer=import_react23.default.useRef(null),didDrag=import_react23.default.useRef(!1),isRightClick=import_react23.default.useRef(!1),buttonRef=import_react23.default.useRef(null),posRef=import_react23.default.useRef(null);posRef.current=pos;let[ctxMenu,setCtxMenu]=import_react23.default.useState(null);import_react23.default.useEffect(()=>{if(pos)try{localStorage.setItem("vibeflow-trigger-pos",JSON.stringify(pos))}catch{}},[pos]),import_react23.default.useEffect(()=>{if(!ctxMenu)return;function onDocClick(){setCtxMenu(null)}return document.addEventListener("click",onDocClick,{once:!0}),()=>document.removeEventListener("click",onDocClick)},[ctxMenu]);function getInitialPos(el2){let rect=el2.getBoundingClientRect();return{x:rect.left,y:rect.top}}function onPointerDown(e){let target=e.currentTarget,pointerId=e.pointerId,clientX=e.clientX,clientY=e.clientY;didDrag.current=!1,isRightClick.current=e.button===2,!isRightClick.current&&(holdTimer.current=window.setTimeout(()=>{setIsHolding(!0);let startPos=posRef.current??getInitialPos(target);dragOrigin.current={mouseX:clientX,mouseY:clientY,posX:startPos.x,posY:startPos.y},target.setPointerCapture(pointerId)},300))}function onPointerMove(e){if(!dragOrigin.current)return;let dx=e.clientX-dragOrigin.current.mouseX,dy=e.clientY-dragOrigin.current.mouseY;!isDragging&&(Math.abs(dx)>3||Math.abs(dy)>3)&&setIsDragging(!0),didDrag.current=!0;let bw=window.innerWidth,bh=window.innerHeight,x=Math.max(8,Math.min(bw-64,dragOrigin.current.posX+dx)),y=Math.max(8,Math.min(bh-64,dragOrigin.current.posY+dy));setPos({x,y})}function onPointerUp(e){holdTimer.current!==null&&(window.clearTimeout(holdTimer.current),holdTimer.current=null);let wasDragged=didDrag.current,wasRight=isRightClick.current;dragOrigin.current=null,setIsDragging(!1),setIsHolding(!1),didDrag.current=!1,isRightClick.current=!1,!wasDragged&&!wasRight&&onClick()}function onPointerCancel(){holdTimer.current!==null&&(window.clearTimeout(holdTimer.current),holdTimer.current=null),dragOrigin.current=null,setIsDragging(!1),setIsHolding(!1),didDrag.current=!1}let posStyle=pos!==null?{position:"fixed",left:pos.x,top:pos.y,bottom:"auto",right:"auto"}:{},className=["vibeflow-corner-trigger",flashing?"saved-flash":"",isHolding?"trigger-holding":"",isDragging?"trigger-dragging":""].filter(Boolean).join(" "),title=isDragging?"Drag to reposition":isHolding?"Drag to reposition \\xB7 Release to open":"Open Kanban board \\xB7 Hold to drag";function onContextMenu(e){e.preventDefault(),e.stopPropagation();let MENU_W=120,ITEM_H=28,PAD=8,itemCount=2+(hasPrototypingApi()?1:0),MENU_H=ITEM_H*itemCount,x=Math.min(e.clientX,window.innerWidth-MENU_W-PAD),y=Math.min(e.clientY,window.innerHeight-MENU_H-PAD);setCtxMenu({x:Math.max(PAD,x),y:Math.max(PAD,y)})}return(0,import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment,{children:[(0,import_jsx_runtime30.jsx)("button",{ref:buttonRef,className,title,style:posStyle,onPointerDown,onPointerMove,onPointerUp,onPointerCancel,onContextMenu,"data-vibeflow-ignore":"true",children:svgIcon}),ctxMenu&&(0,import_jsx_runtime30.jsxs)("div",{className:"vibeflow-trigger-ctx-menu",style:{position:"fixed",left:ctxMenu.x,top:ctxMenu.y},onClick:e=>e.stopPropagation(),children:[hasPrototypingApi()&&(0,import_jsx_runtime30.jsx)("button",{type:"button",onClick:()=>{setCtxMenu(null),openPrototypingPanel()},children:"Prototyping"}),(0,import_jsx_runtime30.jsx)("button",{type:"button",onClick:()=>{setCtxMenu(null),onHide()},children:"Hide Vibeflow"}),(0,import_jsx_runtime30.jsx)("button",{type:"button",onClick:()=>{setCtxMenu(null),onDisable()},children:"Disable Vibeflow"})]})]})}var STATUS_OPTIONS=["backlog","todo","in-progress","review","done"],STATUS_ACTIVE={backlog:{background:"rgba(100,116,139,0.2)",borderColor:"rgba(100,116,139,0.5)",color:"#94a3b8"},todo:{background:"rgba(245,158,11,0.15)",borderColor:"rgba(245,158,11,0.4)",color:"#fcd34d"},"in-progress":{background:"rgba(59,130,246,0.15)",borderColor:"rgba(59,130,246,0.4)",color:"#93c5fd"},review:{background:"rgba(139,92,246,0.15)",borderColor:"rgba(139,92,246,0.4)",color:"#c4b5fd"},done:{background:"rgba(52,211,153,0.12)",borderColor:"rgba(52,211,153,0.4)",color:"#6ee7b7"}};function OverlayAddModal({opts,onClose,onSubmit}){let[title,setTitle]=import_react23.default.useState(opts.initialTitle??""),[description,setDescription]=import_react23.default.useState(opts.initialDescription??""),[status,setStatus]=import_react23.default.useState("todo"),[type,setType]=import_react23.default.useState("Task"),[showPreview,setShowPreview]=import_react23.default.useState(!1),[titleError,setTitleError]=import_react23.default.useState(!1),titleRef=import_react23.default.useRef(null),[dragPos,setDragPos]=import_react23.default.useState(null),[isDragging,setIsDragging]=import_react23.default.useState(!1),dragOrigin=import_react23.default.useRef(null);function onHeaderPointerDown(e){if(e.target.closest("button, input, select, textarea, a"))return;e.currentTarget.setPointerCapture(e.pointerId);let startX=(dragPos==null?void 0:dragPos.x)??window.innerWidth/2-270,startY=(dragPos==null?void 0:dragPos.y)??window.innerHeight/2-200;dragOrigin.current={mouseX:e.clientX,mouseY:e.clientY,posX:startX,posY:startY},setIsDragging(!0)}function onHeaderPointerMove(e){if(!dragOrigin.current)return;let dx=e.clientX-dragOrigin.current.mouseX,dy=e.clientY-dragOrigin.current.mouseY;setDragPos({x:dragOrigin.current.posX+dx,y:dragOrigin.current.posY+dy})}function onHeaderPointerUp(){dragOrigin.current=null,setIsDragging(!1)}import_react23.default.useEffect(()=>{setTimeout(()=>{var _a;return(_a=titleRef.current)==null?void 0:_a.focus()},50)},[]);function handleBackdropClick(e){e.target===e.currentTarget&&onClose()}function handleKeyDown(e){e.key==="Escape"&&onClose(),(e.ctrlKey||e.metaKey)&&e.key==="Enter"&&handleSave()}function handleSave(){var _a;let t=title.trim();if(!t){setTitleError(!0),(_a=titleRef.current)==null||_a.focus();return}setTitleError(!1);let desc=description.trim()||t;if(type==="Bug"){let logs=getRecordedLogs();logs&&(desc+=logs)}onSubmit(opts.selector??location.pathname,opts.cssSelector??location.pathname,t,desc,status,type,{file:opts.file,line:opts.line,col:opts.col,component:opts.component}),onClose()}let statusBtnBase={padding:"2px 8px",borderRadius:4,fontSize:11,cursor:"pointer",border:"1px solid var(--vibeflow-border-strong)",background:"transparent",color:"var(--vibeflow-text-muted)",fontFamily:"inherit",fontWeight:500,transition:"all .12s"},modalStyle=dragPos!==null?{position:"fixed",left:dragPos.x,top:dragPos.y,margin:0}:{};return(0,import_jsx_runtime30.jsx)("div",{className:"vibeflow-modal-backdrop",onClick:handleBackdropClick,onKeyDown:handleKeyDown,children:(0,import_jsx_runtime30.jsxs)("div",{className:"vibeflow-modal overlay-add-modal",role:"dialog","aria-modal":"true",style:modalStyle,children:[(0,import_jsx_runtime30.jsxs)("div",{className:"modal-header overlay-modal-header",style:{cursor:isDragging?"grabbing":"grab",userSelect:"none"},onPointerDown:onHeaderPointerDown,onPointerMove:onHeaderPointerMove,onPointerUp:onHeaderPointerUp,children:[(0,import_jsx_runtime30.jsx)("span",{title:"Drag to move",style:{display:"flex",alignItems:"center",color:"var(--vibeflow-text-muted)",opacity:.5,flexShrink:0,pointerEvents:"none"},children:(0,import_jsx_runtime30.jsxs)("svg",{width:"12",height:"16",viewBox:"0 0 12 16",fill:"currentColor","aria-hidden":"true",children:[(0,import_jsx_runtime30.jsx)("circle",{cx:"3",cy:"3",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"9",cy:"3",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"3",cy:"8",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"9",cy:"8",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"3",cy:"13",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"9",cy:"13",r:"1.5"})]})}),(0,import_jsx_runtime30.jsx)(TypePicker,{value:type,onChange:setType}),(0,import_jsx_runtime30.jsx)("input",{ref:titleRef,type:"text",placeholder:"Task title\\u2026",value:title,onChange:e=>{setTitle(e.target.value),titleError&&e.target.value.trim()&&setTitleError(!1)},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",border:\`1px solid \${titleError?"rgba(239,68,68,0.7)":"transparent"}\`,borderRadius:6,background:titleError?"rgba(239,68,68,0.07)":"transparent",color:"var(--vibeflow-text-primary)",fontFamily:"inherit",outline:"none",cursor:"text"},onFocus:e=>{titleError||(e.currentTarget.style.borderColor="var(--vibeflow-accent-strong)",e.currentTarget.style.background="var(--vibeflow-surface-elevated)")},onBlur:e=>{titleError||(e.currentTarget.style.borderColor="transparent",e.currentTarget.style.background="transparent")},onKeyDown:e=>{e.key==="Enter"&&handleSave(),e.key==="Escape"&&onClose()}}),titleError&&(0,import_jsx_runtime30.jsx)("span",{style:{fontSize:11,color:"rgba(239,68,68,0.9)",flexShrink:0,whiteSpace:"nowrap"},children:"Title is required"}),(0,import_jsx_runtime30.jsx)("button",{type:"button",onClick:onClose,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--vibeflow-text-muted)",cursor:"pointer"},onMouseOver:e=>{e.currentTarget.style.background="var(--vibeflow-surface-hover)",e.currentTarget.style.color="var(--vibeflow-text-secondary)"},onMouseOut:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--vibeflow-text-muted)"},"aria-label":"Close",children:"\\u2715"})]}),(0,import_jsx_runtime30.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"8px 16px",borderBottom:"1px solid var(--vibeflow-border-strong)"},children:[(0,import_jsx_runtime30.jsx)("span",{style:{fontSize:10,color:"var(--vibeflow-text-muted)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em",flexShrink:0},children:"Status"}),STATUS_OPTIONS.map(s=>(0,import_jsx_runtime30.jsx)("button",{type:"button",style:{...statusBtnBase,...s===status?STATUS_ACTIVE[s]:{}},onClick:()=>setStatus(s),onMouseOver:e=>{s!==status&&(e.currentTarget.style.background="var(--vibeflow-surface-hover)",e.currentTarget.style.color="var(--vibeflow-text-secondary)")},onMouseOut:e=>{s!==status&&(e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--vibeflow-text-muted)")},children:s},s))]}),(opts.file||opts.component)&&(0,import_jsx_runtime30.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 16px",background:"var(--vibeflow-surface-elevated)",borderBottom:"1px solid var(--vibeflow-border-subtle)",fontSize:11,color:"var(--vibeflow-text-muted)"},children:[opts.file&&(0,import_jsx_runtime30.jsxs)("a",{href:\`vscode://file\${opts.file}\${opts.line!=null?\`:\${opts.line}\`:""}\`,target:"_blank",rel:"noreferrer",style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:4,background:"var(--vibeflow-accent-soft)",border:"1px solid var(--vibeflow-accent-border)",color:"var(--vibeflow-accent-strong)",textDecoration:"none",fontSize:11},children:["\\u{1F5CE} ",opts.file.split("/").slice(-2).join("/"),opts.line!=null?\`:\${opts.line}\`:""]}),opts.component&&(0,import_jsx_runtime30.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:4,background:"rgba(139,92,246,0.08)",border:"1px solid rgba(139,92,246,0.25)",color:"#8b5cf6",fontSize:11},children:["\\u2B21 ",opts.component]})]}),(0,import_jsx_runtime30.jsxs)("div",{className:"modal-tabs",children:[(0,import_jsx_runtime30.jsx)("div",{className:\`modal-tab\${showPreview?"":" active"}\`,onClick:()=>setShowPreview(!1),children:"Edit"}),(0,import_jsx_runtime30.jsx)("div",{className:\`modal-tab\${showPreview?" active":""}\`,onClick:()=>setShowPreview(!0),children:"Preview"})]}),(0,import_jsx_runtime30.jsx)("div",{className:"modal-body",children:showPreview?(0,import_jsx_runtime30.jsx)(MarkdownPreview,{markdown:description,className:"modal-preview-pane"}):(0,import_jsx_runtime30.jsx)("div",{className:"modal-editor-pane",children:(0,import_jsx_runtime30.jsx)(AutoExpandTextarea,{className:"dp-textarea",placeholder:"Description (markdown supported)\\u2026",value:description,onChange:setDescription,baseRows:5,maxRows:14})})}),type==="Bug"&&(0,import_jsx_runtime30.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 16px",background:"rgba(239,68,68,0.06)",borderTop:"1px solid rgba(239,68,68,0.18)",fontSize:11,color:"rgba(239,68,68,0.75)"},children:[(0,import_jsx_runtime30.jsx)("span",{children:"\\u{1F534}"}),(0,import_jsx_runtime30.jsx)("span",{children:"Console errors & warnings will be attached to this report"})]}),(0,import_jsx_runtime30.jsxs)("div",{className:"modal-footer",children:[(0,import_jsx_runtime30.jsxs)("div",{className:"modal-footer-left",children:[(0,import_jsx_runtime30.jsx)("button",{type:"button",className:"btn-primary",onClick:handleSave,disabled:!title.trim(),style:{opacity:title.trim()?1:.45,cursor:title.trim()?"pointer":"not-allowed"},children:"Add Task"}),(0,import_jsx_runtime30.jsx)("button",{type:"button",className:"btn-ghost",onClick:onClose,children:"Cancel"})]}),(0,import_jsx_runtime30.jsx)("div",{className:"modal-footer-center"})]})]})})}function OverlayApp({onOpenKanban,onSubmitTask}){let[addModalOpts,setAddModalOpts]=import_react23.default.useState(null),[triggerFlashing,setTriggerFlashing]=import_react23.default.useState(!1),[isHidden,setIsHidden]=import_react23.default.useState(()=>{try{return localStorage.getItem(TRIGGER_HIDDEN_KEY)==="1"}catch{return!1}});import_react23.default.useEffect(()=>(_externalShowAddModal=opts=>setAddModalOpts(opts),_externalFlashTrigger=()=>{setTriggerFlashing(!0),window.setTimeout(()=>setTriggerFlashing(!1),1500),flashFavicon()},_externalSetTriggerVisible=()=>{try{localStorage.removeItem(TRIGGER_HIDDEN_KEY)}catch{}setIsHidden(!1)},_externalHideTrigger=()=>{try{localStorage.setItem(TRIGGER_HIDDEN_KEY,"1")}catch{}setIsHidden(!0)},_externalDisableOverlay=()=>{state.disabled=!0,state.host&&(state.host.remove(),state.host=null)},()=>{_externalShowAddModal=null,_externalFlashTrigger=null,_externalSetTriggerVisible=null,_externalHideTrigger=null,_externalDisableOverlay=null}),[]);let isKanbanPage=typeof document<"u"&&document.body.hasAttribute("data-vibeflow-cli-kanban");return(0,import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment,{children:[!isKanbanPage&&!isHidden&&(0,import_jsx_runtime30.jsx)(CornerTrigger,{onClick:onOpenKanban,flashing:triggerFlashing,onHide:()=>{try{localStorage.setItem(TRIGGER_HIDDEN_KEY,"1")}catch{}setIsHidden(!0)},onDisable:()=>{state.disabled=!0,state.host&&(state.host.remove(),state.host=null)}}),addModalOpts!==null&&(0,import_jsx_runtime30.jsx)(OverlayAddModal,{opts:addModalOpts,onClose:()=>setAddModalOpts(null),onSubmit:(selector,cssSelector,title,description,status,type,meta)=>{onSubmitTask(selector,cssSelector,title,description,status,type,meta),setAddModalOpts(null)}})]})}function buildTypePickerEl(initialType="Task"){let selectedType=initialType,detailed=TASK_TYPES,currentInfo=()=>detailed.find(t=>t.value===selectedType)??detailed[0],container=el("div",{className:"type-picker"}),trigger=el("button",{className:"type-picker-trigger",type:"button"}),dropdown=el("div",{className:"type-picker-dropdown"}),refresh=()=>{let info=currentInfo();trigger.title=(info==null?void 0:info.tooltip)??"",trigger.replaceChildren(el("span",{className:"type-picker-icon"},(info==null?void 0:info.icon)??""),el("span",{className:"type-picker-label"},(info==null?void 0:info.label)??"")),dropdown.replaceChildren();for(let t of detailed){let opt=el("button",{className:t.value===selectedType?"type-picker-option type-picker-option--active":"type-picker-option",type:"button",title:t.tooltip},el("span",{className:"type-picker-icon"},t.icon),el("span",{className:"type-picker-label"},t.label));opt.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),selectedType=t.value,refresh(),dropdown.classList.remove("open")}),dropdown.appendChild(opt)}};return trigger.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),dropdown.classList.toggle("open")}),refresh(),container.append(trigger,dropdown),{el:container,getValue:()=>selectedType,setValue:v=>{selectedType=v,refresh()}}}function renderMarkdown2(md){return md?md.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/^### (.+)$/gm,"<h3>$1</h3>").replace(/^## (.+)$/gm,"<h2>$1</h2>").replace(/^# (.+)$/gm,"<h1>$1</h1>").replace(/[*][*](.+?)[*][*]/g,"<strong>$1</strong>").replace(/__(.+?)__/g,"<strong>$1</strong>").replace(/[*](.+?)[*]/g,"<em>$1</em>").replace(/_([^_]+?)_/g,"<em>$1</em>").replace(/\`(.+?)\`/g,"<code>$1</code>").replace(/^[-*] (.+)$/gm,"<li>$1</li>").replace(/^---$/gm,"<hr>").replace(/(<li>[\\s\\S]*?<\\/li>\\n?)+/g,m=>\`<ul>\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm,line=>\`<p>\${line}</p>\`):'<span class="modal-preview-empty">No description yet</span>'}function showEditModal(task){if(!state.root)return;state.editModal&&(state.editModal.remove(),state.editModal=null);let titleInput=el("input",{type:"text",placeholder:"Task title..."});titleInput.value=task.title??"";let statusSelect=el("select");for(let s of["backlog","todo","in-progress","review","done"]){let opt=el("option",{value:s},s);s===task.status&&(opt.selected=!0),statusSelect.appendChild(opt)}let typePicker=buildTypePickerEl(task.type??"Task"),header=el("div",{className:"modal-header"},titleInput,typePicker.el,statusSelect),tabEdit=el("div",{className:"modal-tab active"},"Edit"),tabPreview=el("div",{className:"modal-tab"},"Preview"),tabs=el("div",{className:"modal-tabs"},tabEdit,tabPreview),textarea=el("textarea",{placeholder:"Description (markdown supported)..."});textarea.value=task.description??"";let editorPane=el("div",{className:"modal-editor-pane"},textarea),previewPane=el("div",{className:"modal-preview-pane"});previewPane.style.display="none";let refreshPreview=()=>{previewPane.innerHTML=renderMarkdown2(textarea.value)},body=el("div",{className:"modal-body"},editorPane,previewPane);tabEdit.addEventListener("click",()=>{tabEdit.classList.add("active"),tabPreview.classList.remove("active"),editorPane.style.display="",previewPane.style.display="none"}),tabPreview.addEventListener("click",event=>{event.isTrusted&&(tabPreview.classList.add("active"),tabEdit.classList.remove("active"),editorPane.style.display="none",previewPane.style.display="",refreshPreview())});let btnSave=el("button",{className:"btn-primary"},"Save"),btnCancel=el("button",{className:"btn-ghost"},"Cancel"),footerLeft=el("div",{className:"modal-footer-left"},btnSave,btnCancel),footerRight=el("div",{className:"modal-footer-right"}),footerCenter=buildSourceRow({file:task.file,line:task.line,col:task.col,component:task.component}),footer=el("div",{className:"modal-footer"},footerLeft,footerCenter,footerRight),modal=el("div",{className:"vibeflow-modal"},header,tabs,body,footer),backdrop=el("div",{className:"vibeflow-modal-backdrop"},modal);state.editModal=backdrop,state.root.appendChild(backdrop),titleInput.focus(),backdrop.addEventListener("click",e=>{e.target===backdrop&&(backdrop.remove(),state.editModal=null)}),btnSave.addEventListener("click",()=>{let newTitle=titleInput.value.trim();if(!newTitle)return;let url=PROTO_CONFIG.boardId?\`\${PROTO_CONFIG.apiUrl}/\${task.id}?boardId=\${encodeURIComponent(PROTO_CONFIG.boardId)}\`:\`\${PROTO_CONFIG.apiUrl}/\${task.id}\`;fetch(url,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:newTitle,status:statusSelect.value,type:typePicker.getValue(),description:textarea.value.trim()})}).then(r=>r.json()).then(d=>{d.success&&fetchTasksAndRender()}).catch(err=>console.error("[Vibeflow Studio]",err)),backdrop.remove(),state.editModal=null}),btnCancel.addEventListener("click",()=>{backdrop.remove(),state.editModal=null}),document.addEventListener("keydown",function onModalKey(e){if(!state.editModal){document.removeEventListener("keydown",onModalKey);return}e.key==="Escape"&&(backdrop.remove(),state.editModal=null,document.removeEventListener("keydown",onModalKey)),(e.ctrlKey||e.metaKey)&&e.key==="Enter"&&(btnSave.click(),document.removeEventListener("keydown",onModalKey))})}function fetchTasksAndRender(){fetchTasks()}function buildSourceRow(src){let row=el("div",{className:"modal-source-row"});if(!src.file&&!src.component)return row;let label="";src.file?(label=src.file.replace(/\\\\/g,"/").split("/").slice(-2).join("/"),src.line!=null&&(label+=\`:\${src.line}\`),src.col!=null&&(label+=\`:\${src.col}\`)):src.component&&(label=\`\\u2B21 \${src.component}\`),src.component&&src.file&&(label+=\` \\xB7 \\u2B21 \${src.component}\`);let sourceEl=el("span",{className:"modal-source-label",title:src.file??""},label);if(src.file&&src.line!=null){let link=el("a",{className:"modal-source-link",title:"Open in editor",href:\`vscode://file\${src.file}:\${src.line}\`,target:"_blank"},"\\u2197");row.append(sourceEl,link)}else row.append(sourceEl);return row}function showInspectModal(element,pointer){if(!state.root)return;state.editModal&&(state.editModal.remove(),state.editModal=null);let cssSelector=buildCssSelector(element),tag=element.tagName.toLowerCase(),elId=element.getAttribute("id"),classes=Array.from(element.classList).filter(c=>!c.startsWith("vibeflow-")),dataAttrs=Array.from(element.attributes).filter(a=>a.name.startsWith("data-")&&!a.name.startsWith("data-proto")).map(a=>({name:a.name,value:a.value})),heading=el("div",{className:"inspect-heading"},el("span",{className:"inspect-tag"},\`<\${tag}>\`),el("span",{className:"inspect-title"},"Element Inspector")),closeBtn=el("button",{className:"inspect-close"},"\\u2715");function makeRow(label,value,copyable=!0){let row=el("div",{className:"inspect-row"}),lbl=el("span",{className:"inspect-row-label"},label),val=el("code",{className:"inspect-row-value"},value||"\\u2014");if(row.append(lbl,val),copyable&&value){let btn=el("button",{className:"inspect-copy-btn",title:"Copy"},"\\u2398");btn.addEventListener("click",()=>{var _a;(_a=navigator.clipboard)==null||_a.writeText(value).catch(()=>{}),btn.textContent="\\u2713",setTimeout(()=>{btn.textContent="\\u2398"},1200)}),row.appendChild(btn)}return row}let rows=el("div",{className:"inspect-rows"});if(rows.appendChild(makeRow("Selector",pointer.selector)),cssSelector!==pointer.selector&&rows.appendChild(makeRow("CSS selector",cssSelector)),pointer.test_id&&rows.appendChild(makeRow("Test ID",pointer.test_id)),elId&&rows.appendChild(makeRow("id",elId)),classes.length>0&&rows.appendChild(makeRow("Classes",classes.join(" "))),pointer.file){let fileLine=pointer.file+(pointer.line!=null?\`:\${pointer.line}\`:"")+(pointer.col!=null?\`:\${pointer.col}\`:""),srcRow=makeRow("Source file",fileLine);if(pointer.line!=null){let openLink=el("a",{className:"inspect-copy-btn",title:"Open in VS Code",href:\`vscode://file\${pointer.file}:\${pointer.line}\`,target:"_blank"},"\\u2197");srcRow.appendChild(openLink)}rows.appendChild(srcRow)}pointer.component&&rows.appendChild(makeRow("Component",pointer.component));for(let attr of dataAttrs)rows.appendChild(makeRow(attr.name,attr.value));let copyAllBtn=el("button",{className:"inspect-copy-all-btn"},"\\u2398 Copy all");copyAllBtn.addEventListener("click",()=>{var _a;let lines=[];pointer.file&&lines.push(\`Source: \${pointer.file}\${pointer.line!=null?\`:\${pointer.line}\`:""}\${pointer.col!=null?\`:\${pointer.col}\`:""}\`),pointer.component&&lines.push(\`Component: \${pointer.component}\`),pointer.test_id&&lines.push(\`TestID: \${pointer.test_id}\`),lines.push(\`Selector: \${pointer.selector}\`),cssSelector!==pointer.selector&&lines.push(\`CSS selector: \${cssSelector}\`),elId&&lines.push(\`id: \${elId}\`),classes.length>0&&lines.push(\`Classes: \${classes.join(" ")}\`),(_a=navigator.clipboard)==null||_a.writeText(lines.join(\`
1610
+ \`)}\`}function clampTriggerPos(pos,viewport){let x=Math.max(8,Math.min(viewport.width-64,pos.x)),y=Math.max(8,Math.min(viewport.height-64,pos.y));return{x,y}}function parseCookies(){let cookies=[];if(!document.cookie)return cookies;for(let pair of document.cookie.split(";")){let trimmed=pair.trim();if(!trimmed)continue;let eqIdx=trimmed.indexOf("=");if(eqIdx===-1)continue;let name=trimmed.slice(0,eqIdx).trim(),value=trimmed.slice(eqIdx+1).trim();cookies.push({name,value,domain:location.hostname,path:"/",expires:-1,httpOnly:!1,secure:location.protocol==="https:",sameSite:"Lax"})}return cookies}function captureAuthState(){let localStorageData={};try{for(let i=0;i<localStorage.length;i++){let key=localStorage.key(i);key&&(localStorageData[key]=localStorage.getItem(key)??"")}}catch{}let sessionStorageData={};try{for(let i=0;i<sessionStorage.length;i++){let key=sessionStorage.key(i);key&&(sessionStorageData[key]=sessionStorage.getItem(key)??"")}}catch{}return{cookies:parseCookies(),localStorage:localStorageData,sessionStorage:sessionStorageData}}var AUTH_TTL_MS=1440*60*1e3;async function sendBaselineToServer(taskId,baseline){try{let cfg=PROTO_CONFIG,apiUrl=\`/api/tasks/\${taskId}/baseline\`;cfg!=null&&cfg.apiUrl&&(apiUrl=\`\${cfg.apiUrl.replace(/\\/api\\/(overlay\\/)?tasks$/,"")}/api/tasks/\${taskId}/baseline\`),cfg!=null&&cfg.boardId&&(apiUrl+=\`?boardId=\${encodeURIComponent(cfg.boardId)}\`);let headers={"Content-Type":"application/json"};cfg!=null&&cfg.overlayApiKey&&(headers["X-Overlay-Api-Key"]=cfg.overlayApiKey),await fetch(apiUrl,{method:"POST",headers,body:JSON.stringify({baseline})})}catch(err){console.error("[Vibeflow] Failed to store baseline:",err)}}async function sendPageBaselineToServer(taskId,page){try{let cfg=PROTO_CONFIG,apiUrl=\`/api/tasks/\${taskId}/baseline-page\`;cfg!=null&&cfg.apiUrl&&(apiUrl=\`\${cfg.apiUrl.replace(/\\/api\\/(overlay\\/)?tasks$/,"")}/api/tasks/\${taskId}/baseline-page\`),cfg!=null&&cfg.boardId&&(apiUrl+=\`?boardId=\${encodeURIComponent(cfg.boardId)}\`);let headers={"Content-Type":"application/json"};cfg!=null&&cfg.overlayApiKey&&(headers["X-Overlay-Api-Key"]=cfg.overlayApiKey),await fetch(apiUrl,{method:"POST",headers,body:JSON.stringify({page})})}catch(err){console.error("[Vibeflow] Failed to store page baseline:",err)}}async function captureAndStoreAuthState(taskId,taskAuthor){let authState=captureAuthState();try{let cfg=PROTO_CONFIG,apiUrl=\`/api/tasks/\${taskId}/auth-state\`;cfg!=null&&cfg.apiUrl&&(apiUrl=\`\${cfg.apiUrl.replace(/\\/api\\/(overlay\\/)?tasks$/,"")}/api/tasks/\${taskId}/auth-state\`),cfg!=null&&cfg.boardId&&(apiUrl+=\`?boardId=\${encodeURIComponent(cfg.boardId)}\`);let headers={"Content-Type":"application/json"};cfg!=null&&cfg.overlayApiKey&&(headers["X-Overlay-Api-Key"]=cfg.overlayApiKey),await fetch(apiUrl,{method:"POST",headers,body:JSON.stringify({authState,taskAuthor})})}catch(err){console.error("[Vibeflow] Failed to store auth state:",err)}}var RELEVANT_STYLES=["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 buildKey(el2){let path=[],current=el2;for(;current&&current!==document.documentElement;){let parentEl=current.parentElement;if(!parentEl)break;let index=Array.from(parentEl.children).indexOf(current);path.unshift(index),current=parentEl}return path.join("/")}function buildDisplaySelector(el2){let tag=el2.tagName.toLowerCase(),taskId=el2.getAttribute("data-task-id");if(taskId)return\`\${tag}.task-card[data-task-id=\${taskId}]\`;let status=el2.getAttribute("data-status");if(status&&el2.classList.contains("column-scroll"))return\`\${tag}.column-scroll[data-status=\${status}]\`;let colId=el2.getAttribute("data-column-id");if(colId)return\`\${tag}[data-column-id=\${colId}]\`;let classes=Array.from(el2.classList).slice(0,2),selector=tag;classes.length&&(selector+="."+classes.join("."));let parent=el2.parentElement;if(parent){let siblings=Array.from(parent.children).filter(c=>c.tagName===el2.tagName);if(siblings.length>1){let idx=siblings.indexOf(el2)+1;selector+=\`:nth-of-type(\${idx})\`}}return selector}function filterStyles(el2,styles=RELEVANT_STYLES){let computed=window.getComputedStyle(el2),result={};for(let prop of styles)result[prop]=computed.getPropertyValue(prop);return result}function normalizeText(text,limit=200){return text.replace(/\\s+/g," ").trim().slice(0,limit)}function childSignature(children){let counts=new Map;for(let child of children){let tag=child.tagName.toLowerCase(),classes=Array.from(child.classList).slice(0,2).join("."),key=classes?\`\${tag}.\${classes}\`:tag;counts.set(key,(counts.get(key)||0)+1)}return Array.from(counts.entries()).map(([key,count])=>\`\${key} \\xD7\${count}\`).slice(0,10)}function getXPath(el2){let parts=[],node=el2;for(;node&&node!==document.documentElement;){let index=1,sibling=node.previousElementSibling;for(;sibling;)sibling.tagName===node.tagName&&index++,sibling=sibling.previousElementSibling;let tag=node.tagName.toLowerCase();parts.unshift(\`\${tag}[\${index}]\`),node=node.parentElement}return"/"+parts.join("/")}function getParentSnippet(el2){let parent=el2.parentElement;if(!parent||parent===document.body)return;let html=parent.outerHTML;return html.length<=500?html:html.slice(0,500)+"\\u2026"}function getBrowserString(){return navigator.userAgent}function capturePositionContext(el2){let rect=el2.getBoundingClientRect(),zIndex="auto",position="static",parentZIndex,current=el2;for(;current&&current!==document.documentElement;){let style=window.getComputedStyle(current),pos=style.position,z=style.zIndex;if(pos!=="static"||z!=="auto"){if(current===el2)position=pos,zIndex=z;else if(parentZIndex===void 0){parentZIndex=z;break}}if(pos!=="static")break;current=current.parentElement}return{boundingBox:{x:rect.x,y:rect.y,width:rect.width,height:rect.height},scrollPosition:{x:window.scrollX,y:window.scrollY},viewport:{width:window.innerWidth,height:window.innerHeight,dpr:window.devicePixelRatio},stackingContext:{zIndex,position,parentZIndex}}}function captureComputedStyles(el2){let style=window.getComputedStyle(el2),result={};for(let prop of RELEVANT_STYLES)result[prop]=style.getPropertyValue(prop);return result}function captureDomSnapshot(el2,cssSelector,consoleErrors=[]){return{outerHTML:el2.outerHTML,computedStyles:captureComputedStyles(el2),selector:cssSelector,xpath:getXPath(el2),position:capturePositionContext(el2),parentSnippet:getParentSnippet(el2),browser:getBrowserString(),consoleErrors,capturedAt:new Date().toISOString()}}function capturePageSnapshot(maxElements=1e3){let elements={},count=0,truncated=!1,walker=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode(node){if(count>=maxElements)return NodeFilter.FILTER_REJECT;let el2=node;return el2.classList.length>0||el2.hasAttribute("data-task-id")||el2.hasAttribute("data-status")||el2.hasAttribute("data-column-id")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}}),queue=[],n;for(;n=walker.nextNode();)queue.push(n);for(let el2 of queue){if(count>=maxElements){truncated=!0;break}let key=buildKey(el2),children=Array.from(el2.children),dataAttrs={};for(let a of Array.from(el2.attributes))a.name.startsWith("data-")&&(dataAttrs[a.name.slice(5)]=a.value);let position={x:0,y:0,width:0,height:0};try{let r=el2.getBoundingClientRect();position={x:Math.round(r.x),y:Math.round(r.y),width:Math.round(r.width),height:Math.round(r.height)}}catch{}elements[key]={key,selector:buildDisplaySelector(el2),tag:el2.tagName.toLowerCase(),classes:Array.from(el2.classList),dataAttrs,parentKey:el2.parentElement?buildKey(el2.parentElement):"",childCount:children.length,childSignature:childSignature(children),text:normalizeText(el2.textContent??""),position,baseline:filterStyles(el2,RELEVANT_STYLES),after:filterStyles(el2,RELEVANT_STYLES)},count++}return{version:1,capturedAt:new Date().toISOString(),truncated,elements}}var import_jsx_runtime30=__toESM(require_jsx_runtime(),1),_externalShowAddModal=null,_externalFlashTrigger=null,_externalSetTriggerVisible=null,_externalHideTrigger=null,_externalDisableOverlay=null;function showOverlayTrigger(){_externalSetTriggerVisible==null||_externalSetTriggerVisible()}function hideOverlayTrigger(){_externalHideTrigger==null||_externalHideTrigger()}function disableVibeflowOverlay(){_externalDisableOverlay==null||_externalDisableOverlay()}var TRIGGER_HIDDEN_KEY="vibeflow-trigger-hidden";function hasPrototypingApi(){return typeof window<"u"&&"__vf_prototyping"in window}function openPrototypingPanel(){let api=window.__vf_prototyping;api==null||api.openPanel()}function flashFavicon(durationMs=2200){let head=document.head,existing=head.querySelector('link[rel*="icon"]'),originalHref=(existing==null?void 0:existing.href)??"";existing&&existing.remove();let link=document.createElement("link");link.rel="icon",link.type="image/svg+xml";let animatedSvg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" fill="none"><rect width="18" height="18" rx="4" fill="#2563eb"/><rect x="2.5" y="5" width="2" height="8" rx="1" fill="white" opacity=".7"><animate attributeName="height" values="3;13;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0s"/><animate attributeName="y" values="7.5;2.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0s"/></rect><rect x="6.5" y="2" width="2" height="14" rx="1" fill="white"><animate attributeName="height" values="3;15;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.15s"/><animate attributeName="y" values="7.5;1.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.15s"/></rect><rect x="10.5" y="6" width="2" height="6" rx="1" fill="white" opacity=".7"><animate attributeName="height" values="3;12;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.3s"/><animate attributeName="y" values="7.5;3;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.3s"/></rect><rect x="14.5" y="4" width="2" height="10" rx="1" fill="white" opacity=".85"><animate attributeName="height" values="3;13;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.45s"/><animate attributeName="y" values="7.5;2.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.45s"/></rect></svg>';link.href=\`data:image/svg+xml,\${encodeURIComponent(animatedSvg)}\`,head.appendChild(link),window.setTimeout(()=>{if(link.remove(),originalHref){let restore=document.createElement("link");restore.rel="icon",restore.type="image/svg+xml",restore.href=originalHref,head.appendChild(restore)}},durationMs)}function flashOverlayTrigger(){_externalFlashTrigger==null||_externalFlashTrigger()}function CornerTrigger({onClick,flashing,onHide,onDisable}){let svgIcon=(0,import_jsx_runtime30.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",children:[(0,import_jsx_runtime30.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"currentColor",opacity:"0.7"}),(0,import_jsx_runtime30.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"currentColor"}),(0,import_jsx_runtime30.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"currentColor",opacity:"0.7"}),(0,import_jsx_runtime30.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"currentColor",opacity:"0.85"})]}),[pos,setPos]=import_react23.default.useState(()=>{try{let saved=localStorage.getItem("vibeflow-trigger-pos");if(saved){let parsed=JSON.parse(saved);if(typeof parsed.x=="number"&&isFinite(parsed.x)&&typeof parsed.y=="number"&&isFinite(parsed.y))return clampTriggerPos(parsed,{width:window.innerWidth,height:window.innerHeight})}}catch{}return null}),[isDragging,setIsDragging]=import_react23.default.useState(!1),[isHolding,setIsHolding]=import_react23.default.useState(!1),dragOrigin=import_react23.default.useRef(null),holdTimer=import_react23.default.useRef(null),didDrag=import_react23.default.useRef(!1),isRightClick=import_react23.default.useRef(!1),buttonRef=import_react23.default.useRef(null),posRef=import_react23.default.useRef(null);posRef.current=pos;let[ctxMenu,setCtxMenu]=import_react23.default.useState(null);import_react23.default.useEffect(()=>{if(pos)try{localStorage.setItem("vibeflow-trigger-pos",JSON.stringify(pos))}catch{}},[pos]),import_react23.default.useEffect(()=>{if(!ctxMenu)return;function onDocClick(){setCtxMenu(null)}return document.addEventListener("click",onDocClick,{once:!0}),()=>document.removeEventListener("click",onDocClick)},[ctxMenu]);function getInitialPos(el2){let rect=el2.getBoundingClientRect();return{x:rect.left,y:rect.top}}function onPointerDown(e){let target=e.currentTarget,pointerId=e.pointerId,clientX=e.clientX,clientY=e.clientY;didDrag.current=!1,isRightClick.current=e.button===2,!isRightClick.current&&(holdTimer.current=window.setTimeout(()=>{setIsHolding(!0);let startPos=posRef.current??getInitialPos(target);dragOrigin.current={mouseX:clientX,mouseY:clientY,posX:startPos.x,posY:startPos.y},target.setPointerCapture(pointerId)},300))}function onPointerMove(e){if(!dragOrigin.current)return;let dx=e.clientX-dragOrigin.current.mouseX,dy=e.clientY-dragOrigin.current.mouseY;!isDragging&&(Math.abs(dx)>3||Math.abs(dy)>3)&&setIsDragging(!0),didDrag.current=!0;let bw=window.innerWidth,bh=window.innerHeight,x=Math.max(8,Math.min(bw-64,dragOrigin.current.posX+dx)),y=Math.max(8,Math.min(bh-64,dragOrigin.current.posY+dy));setPos({x,y})}function onPointerUp(_e){holdTimer.current!==null&&(window.clearTimeout(holdTimer.current),holdTimer.current=null);let wasDragged=didDrag.current,wasRight=isRightClick.current;dragOrigin.current=null,setIsDragging(!1),setIsHolding(!1),didDrag.current=!1,isRightClick.current=!1,!wasDragged&&!wasRight&&onClick()}function onPointerCancel(){holdTimer.current!==null&&(window.clearTimeout(holdTimer.current),holdTimer.current=null),dragOrigin.current=null,setIsDragging(!1),setIsHolding(!1),didDrag.current=!1}let posStyle=pos===null?{}:{position:"fixed",left:pos.x,top:pos.y,bottom:"auto",right:"auto"},className=["vibeflow-corner-trigger",flashing?"saved-flash":"",isHolding?"trigger-holding":"",isDragging?"trigger-dragging":""].filter(Boolean).join(" "),title=isDragging?"Drag to reposition":isHolding?"Drag to reposition \\xB7 Release to open":"Open Kanban board \\xB7 Hold to drag";function onContextMenu(e){e.preventDefault(),e.stopPropagation();let MENU_W=120,ITEM_H=28,PAD=8,itemCount=2+(hasPrototypingApi()?1:0),MENU_H=ITEM_H*itemCount,x=Math.min(e.clientX,window.innerWidth-MENU_W-PAD),y=Math.min(e.clientY,window.innerHeight-MENU_H-PAD);setCtxMenu({x:Math.max(PAD,x),y:Math.max(PAD,y)})}return(0,import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment,{children:[(0,import_jsx_runtime30.jsx)("button",{ref:buttonRef,className,title,style:posStyle,onPointerDown,onPointerMove,onPointerUp,onPointerCancel,onContextMenu,"data-vibeflow-ignore":"true",children:svgIcon}),ctxMenu&&(0,import_jsx_runtime30.jsxs)("div",{className:"vibeflow-trigger-ctx-menu",style:{position:"fixed",left:ctxMenu.x,top:ctxMenu.y},onClick:e=>e.stopPropagation(),children:[hasPrototypingApi()&&(0,import_jsx_runtime30.jsx)("button",{type:"button",onClick:()=>{setCtxMenu(null),openPrototypingPanel()},children:"Prototyping"}),(0,import_jsx_runtime30.jsx)("button",{type:"button",onClick:()=>{setCtxMenu(null),onHide()},children:"Hide Vibeflow"}),(0,import_jsx_runtime30.jsx)("button",{type:"button",onClick:()=>{setCtxMenu(null),onDisable()},children:"Disable Vibeflow"})]})]})}var STATUS_OPTIONS=["backlog","todo","in-progress","review","done"],STATUS_ACTIVE={backlog:{background:"rgba(100,116,139,0.2)",borderColor:"rgba(100,116,139,0.5)",color:"#94a3b8"},todo:{background:"rgba(245,158,11,0.15)",borderColor:"rgba(245,158,11,0.4)",color:"#fcd34d"},"in-progress":{background:"rgba(59,130,246,0.15)",borderColor:"rgba(59,130,246,0.4)",color:"#93c5fd"},review:{background:"rgba(139,92,246,0.15)",borderColor:"rgba(139,92,246,0.4)",color:"#c4b5fd"},done:{background:"rgba(52,211,153,0.12)",borderColor:"rgba(52,211,153,0.4)",color:"#6ee7b7"}};function OverlayAddModal({opts,onClose,onSubmit}){let[title,setTitle]=import_react23.default.useState(opts.initialTitle??""),[description,setDescription]=import_react23.default.useState(opts.initialDescription??""),[status,setStatus]=import_react23.default.useState("todo"),[type,setType]=import_react23.default.useState("Task"),[showPreview,setShowPreview]=import_react23.default.useState(!1),[titleError,setTitleError]=import_react23.default.useState(!1),titleRef=import_react23.default.useRef(null),[dragPos,setDragPos]=import_react23.default.useState(null),[isDragging,setIsDragging]=import_react23.default.useState(!1),dragOrigin=import_react23.default.useRef(null);function onHeaderPointerDown(e){if(e.target.closest("button, input, select, textarea, a"))return;e.currentTarget.setPointerCapture(e.pointerId);let startX=(dragPos==null?void 0:dragPos.x)??window.innerWidth/2-270,startY=(dragPos==null?void 0:dragPos.y)??window.innerHeight/2-200;dragOrigin.current={mouseX:e.clientX,mouseY:e.clientY,posX:startX,posY:startY},setIsDragging(!0)}function onHeaderPointerMove(e){if(!dragOrigin.current)return;let dx=e.clientX-dragOrigin.current.mouseX,dy=e.clientY-dragOrigin.current.mouseY;setDragPos({x:dragOrigin.current.posX+dx,y:dragOrigin.current.posY+dy})}function onHeaderPointerUp(){dragOrigin.current=null,setIsDragging(!1)}import_react23.default.useEffect(()=>{setTimeout(()=>{var _a;return(_a=titleRef.current)==null?void 0:_a.focus()},50)},[]);function handleBackdropClick(e){e.target===e.currentTarget&&onClose()}function handleKeyDown(e){e.key==="Escape"&&onClose(),(e.ctrlKey||e.metaKey)&&e.key==="Enter"&&handleSave()}async function handleSave(){var _a;let t=title.trim();if(!t){setTitleError(!0),(_a=titleRef.current)==null||_a.focus();return}setTitleError(!1);let desc=description.trim()||t;if(type==="Bug"){let logs=getRecordedLogs();logs&&(desc+=logs)}let result=await onSubmit(opts.selector??location.pathname,opts.cssSelector??location.pathname,t,desc,status,type,{file:opts.file,line:opts.line,col:opts.col,component:opts.component});if(result.success&&result.taskId){let baselineSelector=opts.cssSelector??opts.selector,targetEl=baselineSelector?document.querySelector(baselineSelector):null;if(targetEl&&baselineSelector)try{let snapshot=captureDomSnapshot(targetEl,baselineSelector);sendBaselineToServer(result.taskId,snapshot)}catch(err){console.error("[Vibeflow] Failed to capture baseline:",err)}captureAndStoreAuthState(result.taskId,result.taskAuthor??"unknown")}onClose()}let statusBtnBase={padding:"2px 8px",borderRadius:4,fontSize:11,cursor:"pointer",border:"1px solid var(--vibeflow-border-strong)",background:"transparent",color:"var(--vibeflow-text-muted)",fontFamily:"inherit",fontWeight:500,transition:"all .12s"},modalStyle=dragPos===null?{}:{position:"fixed",left:dragPos.x,top:dragPos.y,margin:0};return(0,import_jsx_runtime30.jsx)("div",{className:"vibeflow-modal-backdrop",onClick:handleBackdropClick,onKeyDown:handleKeyDown,children:(0,import_jsx_runtime30.jsxs)("div",{className:"vibeflow-modal overlay-add-modal",role:"dialog","aria-modal":"true",style:modalStyle,children:[(0,import_jsx_runtime30.jsxs)("div",{className:"modal-header overlay-modal-header",style:{cursor:isDragging?"grabbing":"grab",userSelect:"none"},onPointerDown:onHeaderPointerDown,onPointerMove:onHeaderPointerMove,onPointerUp:onHeaderPointerUp,children:[(0,import_jsx_runtime30.jsx)("span",{title:"Drag to move",style:{display:"flex",alignItems:"center",color:"var(--vibeflow-text-muted)",opacity:.5,flexShrink:0,pointerEvents:"none"},children:(0,import_jsx_runtime30.jsxs)("svg",{width:"12",height:"16",viewBox:"0 0 12 16",fill:"currentColor","aria-hidden":"true",children:[(0,import_jsx_runtime30.jsx)("circle",{cx:"3",cy:"3",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"9",cy:"3",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"3",cy:"8",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"9",cy:"8",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"3",cy:"13",r:"1.5"}),(0,import_jsx_runtime30.jsx)("circle",{cx:"9",cy:"13",r:"1.5"})]})}),(0,import_jsx_runtime30.jsx)(TypePicker,{value:type,onChange:setType}),(0,import_jsx_runtime30.jsx)("input",{ref:titleRef,type:"text",placeholder:"Task title\\u2026",value:title,onChange:e=>{setTitle(e.target.value),titleError&&e.target.value.trim()&&setTitleError(!1)},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",border:\`1px solid \${titleError?"rgba(239,68,68,0.7)":"transparent"}\`,borderRadius:6,background:titleError?"rgba(239,68,68,0.07)":"transparent",color:"var(--vibeflow-text-primary)",fontFamily:"inherit",outline:"none",cursor:"text"},onFocus:e=>{titleError||(e.currentTarget.style.borderColor="var(--vibeflow-accent-strong)",e.currentTarget.style.background="var(--vibeflow-surface-elevated)")},onBlur:e=>{titleError||(e.currentTarget.style.borderColor="transparent",e.currentTarget.style.background="transparent")},onKeyDown:e=>{e.key==="Enter"&&handleSave(),e.key==="Escape"&&onClose()}}),titleError&&(0,import_jsx_runtime30.jsx)("span",{style:{fontSize:11,color:"rgba(239,68,68,0.9)",flexShrink:0,whiteSpace:"nowrap"},children:"Title is required"}),(0,import_jsx_runtime30.jsx)("button",{type:"button",onClick:onClose,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--vibeflow-text-muted)",cursor:"pointer"},onMouseOver:e=>{e.currentTarget.style.background="var(--vibeflow-surface-hover)",e.currentTarget.style.color="var(--vibeflow-text-secondary)"},onMouseOut:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--vibeflow-text-muted)"},"aria-label":"Close",children:"\\u2715"})]}),(0,import_jsx_runtime30.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"8px 16px",borderBottom:"1px solid var(--vibeflow-border-strong)"},children:[(0,import_jsx_runtime30.jsx)("span",{style:{fontSize:10,color:"var(--vibeflow-text-muted)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em",flexShrink:0},children:"Status"}),STATUS_OPTIONS.map(s=>(0,import_jsx_runtime30.jsx)("button",{type:"button",style:{...statusBtnBase,...s===status?STATUS_ACTIVE[s]:{}},onClick:()=>setStatus(s),onMouseOver:e=>{s!==status&&(e.currentTarget.style.background="var(--vibeflow-surface-hover)",e.currentTarget.style.color="var(--vibeflow-text-secondary)")},onMouseOut:e=>{s!==status&&(e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--vibeflow-text-muted)")},children:s},s))]}),(opts.file||opts.component)&&(0,import_jsx_runtime30.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 16px",background:"var(--vibeflow-surface-elevated)",borderBottom:"1px solid var(--vibeflow-border-subtle)",fontSize:11,color:"var(--vibeflow-text-muted)"},children:[opts.file&&(0,import_jsx_runtime30.jsxs)("a",{href:\`vscode://file\${opts.file}\${opts.line==null?"":\`:\${opts.line}\`}\`,target:"_blank",rel:"noreferrer",style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:4,background:"var(--vibeflow-accent-soft)",border:"1px solid var(--vibeflow-accent-border)",color:"var(--vibeflow-accent-strong)",textDecoration:"none",fontSize:11},children:["\\u{1F5CE} ",opts.file.split("/").slice(-2).join("/"),opts.line==null?"":\`:\${opts.line}\`]}),opts.component&&(0,import_jsx_runtime30.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:4,background:"rgba(139,92,246,0.08)",border:"1px solid rgba(139,92,246,0.25)",color:"#8b5cf6",fontSize:11},children:["\\u2B21 ",opts.component]})]}),(0,import_jsx_runtime30.jsxs)("div",{className:"modal-tabs",children:[(0,import_jsx_runtime30.jsx)("div",{className:\`modal-tab\${showPreview?"":" active"}\`,onClick:()=>setShowPreview(!1),children:"Edit"}),(0,import_jsx_runtime30.jsx)("div",{className:\`modal-tab\${showPreview?" active":""}\`,onClick:()=>setShowPreview(!0),children:"Preview"})]}),(0,import_jsx_runtime30.jsx)("div",{className:"modal-body",children:showPreview?(0,import_jsx_runtime30.jsx)(MarkdownPreview,{markdown:description,className:"modal-preview-pane"}):(0,import_jsx_runtime30.jsx)("div",{className:"modal-editor-pane",children:(0,import_jsx_runtime30.jsx)(AutoExpandTextarea,{className:"dp-textarea",placeholder:"Description (markdown supported)\\u2026",value:description,onChange:setDescription,baseRows:5,maxRows:14})})}),type==="Bug"&&(0,import_jsx_runtime30.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 16px",background:"rgba(239,68,68,0.06)",borderTop:"1px solid rgba(239,68,68,0.18)",fontSize:11,color:"rgba(239,68,68,0.75)"},children:[(0,import_jsx_runtime30.jsx)("span",{children:"\\u{1F534}"}),(0,import_jsx_runtime30.jsx)("span",{children:"Console errors & warnings will be attached to this report"})]}),(0,import_jsx_runtime30.jsxs)("div",{className:"modal-footer",children:[(0,import_jsx_runtime30.jsxs)("div",{className:"modal-footer-left",children:[(0,import_jsx_runtime30.jsx)("button",{type:"button",className:"btn-primary",onClick:handleSave,disabled:!title.trim(),style:{opacity:title.trim()?1:.45,cursor:title.trim()?"pointer":"not-allowed"},children:"Add Task"}),(0,import_jsx_runtime30.jsx)("button",{type:"button",className:"btn-ghost",onClick:onClose,children:"Cancel"})]}),(0,import_jsx_runtime30.jsx)("div",{className:"modal-footer-center",children:(0,import_jsx_runtime30.jsx)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"var(--vibeflow-text-muted)",cursor:"pointer",userSelect:"none"}})})]})]})})}function OverlayApp({onOpenKanban,onSubmitTask}){let[addModalOpts,setAddModalOpts]=import_react23.default.useState(null),[triggerFlashing,setTriggerFlashing]=import_react23.default.useState(!1),[isHidden,setIsHidden]=import_react23.default.useState(()=>{try{return localStorage.getItem(TRIGGER_HIDDEN_KEY)==="1"}catch{return!1}});import_react23.default.useEffect(()=>(_externalShowAddModal=opts=>setAddModalOpts(opts),_externalFlashTrigger=()=>{setTriggerFlashing(!0),window.setTimeout(()=>setTriggerFlashing(!1),1500),flashFavicon()},_externalSetTriggerVisible=()=>{try{localStorage.removeItem(TRIGGER_HIDDEN_KEY)}catch{}setIsHidden(!1)},_externalHideTrigger=()=>{try{localStorage.setItem(TRIGGER_HIDDEN_KEY,"1")}catch{}setIsHidden(!0)},_externalDisableOverlay=()=>{state.disabled=!0,state.host&&(state.host.remove(),state.host=null)},()=>{_externalShowAddModal=null,_externalFlashTrigger=null,_externalSetTriggerVisible=null,_externalHideTrigger=null,_externalDisableOverlay=null}),[]);let isKanbanPage=typeof document<"u"&&document.body.hasAttribute("data-vibeflow-cli-kanban");return(0,import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment,{children:[!isKanbanPage&&!isHidden&&(0,import_jsx_runtime30.jsx)(CornerTrigger,{onClick:onOpenKanban,flashing:triggerFlashing,onHide:()=>{try{localStorage.setItem(TRIGGER_HIDDEN_KEY,"1")}catch{}setIsHidden(!0)},onDisable:()=>{state.disabled=!0,state.host&&(state.host.remove(),state.host=null)}}),addModalOpts!==null&&(0,import_jsx_runtime30.jsx)(OverlayAddModal,{opts:addModalOpts,onClose:()=>setAddModalOpts(null),onSubmit:async(selector,cssSelector,title,description,status,type,meta)=>{let result=await onSubmitTask(selector,cssSelector,title,description,status,type,meta);return setAddModalOpts(null),result}})]})}function buildTypePickerEl(initialType="Task"){let selectedType=initialType,detailed=TASK_TYPES,currentInfo=()=>detailed.find(t=>t.value===selectedType)??detailed[0],container=el("div",{className:"type-picker"}),trigger=el("button",{className:"type-picker-trigger",type:"button"}),dropdown=el("div",{className:"type-picker-dropdown"}),refresh=()=>{let info=currentInfo();trigger.title=(info==null?void 0:info.tooltip)??"",trigger.replaceChildren(el("span",{className:"type-picker-icon"},(info==null?void 0:info.icon)??""),el("span",{className:"type-picker-label"},(info==null?void 0:info.label)??"")),dropdown.replaceChildren();for(let t of detailed){let opt=el("button",{className:t.value===selectedType?"type-picker-option type-picker-option--active":"type-picker-option",type:"button",title:t.tooltip},el("span",{className:"type-picker-icon"},t.icon),el("span",{className:"type-picker-label"},t.label));opt.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),selectedType=t.value,refresh(),dropdown.classList.remove("open")}),dropdown.appendChild(opt)}};return trigger.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),dropdown.classList.toggle("open")}),refresh(),container.append(trigger,dropdown),{el:container,getValue:()=>selectedType,setValue:v=>{selectedType=v,refresh()}}}function renderMarkdown2(md){return md?md.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/^### (.+)$/gm,"<h3>$1</h3>").replace(/^## (.+)$/gm,"<h2>$1</h2>").replace(/^# (.+)$/gm,"<h1>$1</h1>").replace(/[*][*](.+?)[*][*]/g,"<strong>$1</strong>").replace(/__(.+?)__/g,"<strong>$1</strong>").replace(/[*](.+?)[*]/g,"<em>$1</em>").replace(/_([^_]+?)_/g,"<em>$1</em>").replace(/\`(.+?)\`/g,"<code>$1</code>").replace(/^[-*] (.+)$/gm,"<li>$1</li>").replace(/^---$/gm,"<hr>").replace(/(<li>[\\s\\S]*?<\\/li>\\n?)+/g,m=>\`<ul>\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm,line=>\`<p>\${line}</p>\`):'<span class="modal-preview-empty">No description yet</span>'}function showEditModal(task){if(!state.root)return;state.editModal&&(state.editModal.remove(),state.editModal=null);let titleInput=el("input",{type:"text",placeholder:"Task title..."});titleInput.value=task.title??"";let statusSelect=el("select");for(let s of["backlog","todo","in-progress","review","done"]){let opt=el("option",{value:s},s);s===task.status&&(opt.selected=!0),statusSelect.appendChild(opt)}let typePicker=buildTypePickerEl(task.type??"Task"),header=el("div",{className:"modal-header"},titleInput,typePicker.el,statusSelect),tabEdit=el("div",{className:"modal-tab active"},"Edit"),tabPreview=el("div",{className:"modal-tab"},"Preview"),tabs=el("div",{className:"modal-tabs"},tabEdit,tabPreview),textarea=el("textarea",{placeholder:"Description (markdown supported)..."});textarea.value=task.description??"";let editorPane=el("div",{className:"modal-editor-pane"},textarea),previewPane=el("div",{className:"modal-preview-pane"});previewPane.style.display="none";let refreshPreview=()=>{previewPane.innerHTML=renderMarkdown2(textarea.value)},body=el("div",{className:"modal-body"},editorPane,previewPane);tabEdit.addEventListener("click",()=>{tabEdit.classList.add("active"),tabPreview.classList.remove("active"),editorPane.style.display="",previewPane.style.display="none"}),tabPreview.addEventListener("click",event=>{event.isTrusted&&(tabPreview.classList.add("active"),tabEdit.classList.remove("active"),editorPane.style.display="none",previewPane.style.display="",refreshPreview())});let btnSave=el("button",{className:"btn-primary"},"Save"),btnCancel=el("button",{className:"btn-ghost"},"Cancel"),footerLeft=el("div",{className:"modal-footer-left"},btnSave,btnCancel),footerRight=el("div",{className:"modal-footer-right"}),footerCenter=buildSourceRow({file:task.file,line:task.line,col:task.col,component:task.component}),footer=el("div",{className:"modal-footer"},footerLeft,footerCenter,footerRight),modal=el("div",{className:"vibeflow-modal"},header,tabs,body,footer),backdrop=el("div",{className:"vibeflow-modal-backdrop"},modal);state.editModal=backdrop,state.root.appendChild(backdrop),titleInput.focus(),backdrop.addEventListener("click",e=>{e.target===backdrop&&(backdrop.remove(),state.editModal=null)}),btnSave.addEventListener("click",()=>{let newTitle=titleInput.value.trim();if(!newTitle)return;let url=PROTO_CONFIG.boardId?\`\${PROTO_CONFIG.apiUrl}/\${task.id}?boardId=\${encodeURIComponent(PROTO_CONFIG.boardId)}\`:\`\${PROTO_CONFIG.apiUrl}/\${task.id}\`;fetch(url,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:newTitle,status:statusSelect.value,type:typePicker.getValue(),description:textarea.value.trim()})}).then(r=>r.json()).then(d=>{d.success&&fetchTasksAndRender()}).catch(err=>console.error("[Vibeflow Studio]",err)),backdrop.remove(),state.editModal=null}),btnCancel.addEventListener("click",()=>{backdrop.remove(),state.editModal=null}),document.addEventListener("keydown",function onModalKey(e){if(!state.editModal){document.removeEventListener("keydown",onModalKey);return}e.key==="Escape"&&(backdrop.remove(),state.editModal=null,document.removeEventListener("keydown",onModalKey)),(e.ctrlKey||e.metaKey)&&e.key==="Enter"&&(btnSave.click(),document.removeEventListener("keydown",onModalKey))})}function fetchTasksAndRender(){fetchTasks()}function buildSourceRow(src){let row=el("div",{className:"modal-source-row"});if(!src.file&&!src.component)return row;let label="";src.file?(label=src.file.replace(/\\\\/g,"/").split("/").slice(-2).join("/"),src.line!=null&&(label+=\`:\${src.line}\`),src.col!=null&&(label+=\`:\${src.col}\`)):src.component&&(label=\`\\u2B21 \${src.component}\`),src.component&&src.file&&(label+=\` \\xB7 \\u2B21 \${src.component}\`);let sourceEl=el("span",{className:"modal-source-label",title:src.file??""},label);if(src.file&&src.line!=null){let link=el("a",{className:"modal-source-link",title:"Open in editor",href:\`vscode://file\${src.file}:\${src.line}\`,target:"_blank"},"\\u2197");row.append(sourceEl,link)}else row.append(sourceEl);return row}function showInspectModal(element,pointer){if(!state.root)return;state.editModal&&(state.editModal.remove(),state.editModal=null);let cssSelector=buildCssSelector(element),tag=element.tagName.toLowerCase(),elId=element.getAttribute("id"),classes=Array.from(element.classList).filter(c=>!c.startsWith("vibeflow-")),dataAttrs=Array.from(element.attributes).filter(a=>a.name.startsWith("data-")&&!a.name.startsWith("data-proto")).map(a=>({name:a.name,value:a.value})),heading=el("div",{className:"inspect-heading"},el("span",{className:"inspect-tag"},\`<\${tag}>\`),el("span",{className:"inspect-title"},"Element Inspector")),closeBtn=el("button",{className:"inspect-close"},"\\u2715");function makeRow(label,value,copyable=!0){let row=el("div",{className:"inspect-row"}),lbl=el("span",{className:"inspect-row-label"},label),val=el("code",{className:"inspect-row-value"},value||"\\u2014");if(row.append(lbl,val),copyable&&value){let btn=el("button",{className:"inspect-copy-btn",title:"Copy"},"\\u2398");btn.addEventListener("click",()=>{var _a;(_a=navigator.clipboard)==null||_a.writeText(value).catch(()=>{}),btn.textContent="\\u2713",setTimeout(()=>{btn.textContent="\\u2398"},1200)}),row.appendChild(btn)}return row}let rows=el("div",{className:"inspect-rows"});if(rows.appendChild(makeRow("Selector",pointer.selector)),cssSelector!==pointer.selector&&rows.appendChild(makeRow("CSS selector",cssSelector)),pointer.test_id&&rows.appendChild(makeRow("Test ID",pointer.test_id)),elId&&rows.appendChild(makeRow("id",elId)),classes.length>0&&rows.appendChild(makeRow("Classes",classes.join(" "))),pointer.file){let fileLine=pointer.file+(pointer.line!=null?\`:\${pointer.line}\`:"")+(pointer.col!=null?\`:\${pointer.col}\`:""),srcRow=makeRow("Source file",fileLine);if(pointer.line!=null){let openLink=el("a",{className:"inspect-copy-btn",title:"Open in VS Code",href:\`vscode://file\${pointer.file}:\${pointer.line}\`,target:"_blank"},"\\u2197");srcRow.appendChild(openLink)}rows.appendChild(srcRow)}pointer.component&&rows.appendChild(makeRow("Component",pointer.component));for(let attr of dataAttrs)rows.appendChild(makeRow(attr.name,attr.value));let copyAllBtn=el("button",{className:"inspect-copy-all-btn"},"\\u2398 Copy all");copyAllBtn.addEventListener("click",()=>{var _a;let lines=[];pointer.file&&lines.push(\`Source: \${pointer.file}\${pointer.line!=null?\`:\${pointer.line}\`:""}\${pointer.col!=null?\`:\${pointer.col}\`:""}\`),pointer.component&&lines.push(\`Component: \${pointer.component}\`),pointer.test_id&&lines.push(\`TestID: \${pointer.test_id}\`),lines.push(\`Selector: \${pointer.selector}\`),cssSelector!==pointer.selector&&lines.push(\`CSS selector: \${cssSelector}\`),elId&&lines.push(\`id: \${elId}\`),classes.length>0&&lines.push(\`Classes: \${classes.join(" ")}\`),(_a=navigator.clipboard)==null||_a.writeText(lines.join(\`
1611
1611
  \`)).catch(()=>{}),copyAllBtn.textContent="\\u2713 Copied!",setTimeout(()=>{copyAllBtn.textContent="\\u2398 Copy all"},1500)});let box=el("div",{className:"vibeflow-inspect-modal"},el("div",{className:"inspect-header"},heading,closeBtn),rows,el("div",{className:"inspect-footer"},copyAllBtn)),backdrop=el("div",{className:"vibeflow-modal-backdrop"},box);state.editModal=backdrop,state.root.appendChild(backdrop),closeBtn.addEventListener("click",()=>{backdrop.remove(),state.editModal=null}),backdrop.addEventListener("click",e=>{e.target===backdrop&&(backdrop.remove(),state.editModal=null)}),document.addEventListener("keydown",function onInspectKey(e){if(!state.editModal){document.removeEventListener("keydown",onInspectKey);return}e.key==="Escape"&&(backdrop.remove(),state.editModal=null,document.removeEventListener("keydown",onInspectKey))})}function getTaskTypeTooltip(type){var _a;return((_a=TASK_TYPES.find(t=>t.value===(type??"Task")))==null?void 0:_a.tooltip)??""}function buildOverlayTaskCard(task,options){let{currentPath,onOpen,onDone,onDelete,showSelector=!0,showDescription=!0,showActions=!1}=options,statusBadge=el("span",{className:\`status-badge status-\${task.status.replace(" ","-")}\`},task.status),effectiveType=task.type??"Task",typeBadge=el("span",{className:\`type-badge type-badge-\${effectiveType.toLowerCase()}\`,title:getTaskTypeTooltip(effectiveType)},effectiveType),header=el("div",{className:"task-card-header"},statusBadge,typeBadge);task.status==="in-progress"&&header.appendChild(el("span",{className:"task-spinner"})),task.url&&task.url!==currentPath&&header.appendChild(el("span",{className:"task-url-badge"},task.url));let icon=getTaskTypeIcon(task.type),card=el("div",{className:task.status==="in-progress"?"task-card in-progress":"task-card"},el("span",{className:"task-watermark",title:\`Type: \${task.type??"Task"}\`},icon),header,el("div",{className:"task-title"},task.title??"Untitled"));if(showSelector&&card.appendChild(el("div",{className:"task-selector"},task.selector)),showDescription&&task.description&&card.appendChild(el("div",{className:"task-description"},task.description)),card.addEventListener("click",e=>{var _a,_b;(_b=(_a=e.target).closest)!=null&&_b.call(_a,".task-actions")||onOpen(task)}),showActions){let actions=el("div",{className:"task-actions"});if(task.status!=="done"&&onDone){let doneBtn=el("button",{className:"done-btn"},"\\u2713 Done");doneBtn.addEventListener("click",e=>{e.stopPropagation(),onDone(task)}),actions.appendChild(doneBtn)}if(onDelete){let deleteBtn=el("button",{className:"delete-btn"},"\\u2715");deleteBtn.addEventListener("click",e=>{e.stopPropagation(),onDelete(task)}),actions.appendChild(deleteBtn)}card.appendChild(actions)}return card}function renderIndicators(){if(!state.indicatorContainer||(state.indicatorContainer.replaceChildren(),forceHideTooltip(),!state.indicatorsVisible||state.tasks.length===0))return;let currentPath=location.pathname,pageTasks=state.tasks.filter(t=>!t.url||t.url===currentPath);if(pageTasks.length===0)return;let bySelector={};for(let t of pageTasks){let domSel=t.cssSelector||t.selector;bySelector[domSel]||(bySelector[domSel]=[]),bySelector[domSel].push(t)}let vpW=window.innerWidth||document.documentElement.clientWidth,vpH=window.innerHeight||document.documentElement.clientHeight;for(let sel of Object.keys(bySelector)){let group=bySelector[sel],targetEl;try{targetEl=document.querySelector(sel)}catch{continue}if(!targetEl)continue;let rect=targetEl.getBoundingClientRect();if(rect.width===0&&rect.height===0||rect.bottom<0||rect.top>vpH||rect.right<0||rect.left>vpW)continue;let activeTasks=group.filter(t=>t.status!=="done"),allDone=activeTasks.length===0;if(allDone&&!state.sidebarShowDone)continue;let indicator=el("div",{className:"vibeflow-task-indicator"+(allDone?" all-done":"")});indicator.textContent=allDone?"\\u2713":String(activeTasks.length),indicator.style.left=\`\${rect.right-10}px\`,indicator.style.top=\`\${rect.top-10}px\`;let grp=group,capturedAllDone=allDone;indicator.addEventListener("mouseenter",()=>{state.tooltipPinned||showIndicatorTooltip(indicator,grp)}),indicator.addEventListener("mouseleave",e=>{if(state.tooltipPinned)return;let rel=e.relatedTarget;state.activeTooltip&&rel&&(rel===state.activeTooltip||state.activeTooltip.contains(rel))||hideIndicatorTooltip()}),indicator.addEventListener("click",e=>{e.stopPropagation(),grp.length===1?(forceHideTooltip(),showEditModal(grp[0])):(forceHideTooltip(),showIndicatorTooltip(indicator,grp),state.tooltipPinned=!0)}),state.indicatorContainer.appendChild(indicator)}}function scheduleRenderIndicators(){state.indicatorRafId||(state.indicatorRafId=requestAnimationFrame(()=>{state.indicatorRafId=null,renderIndicators()}))}function hideIndicatorTooltip(){state.tooltipPinned||state.activeTooltip&&(state.activeTooltip.remove(),state.activeTooltip=null)}function forceHideTooltip(){state.tooltipPinned=!1,state.activeTooltip&&(state.activeTooltip.remove(),state.activeTooltip=null)}function showIndicatorTooltip(indicator,group){if(!state.root)return;hideIndicatorTooltip();let tooltip=el("div",{className:"vibeflow-task-tooltip"}),closeBtn=el("button",{className:"tooltip-close-btn"},"\\u2715");closeBtn.addEventListener("click",e=>{e.stopPropagation(),forceHideTooltip()}),tooltip.appendChild(closeBtn);for(let task of group){let card=buildOverlayTaskCard(task,{currentPath:location.pathname,showSelector:!1,showDescription:!0,showActions:!1,onOpen:capturedTask=>{forceHideTooltip(),showEditModal(capturedTask)}});tooltip.appendChild(card)}let iRect=indicator.getBoundingClientRect();tooltip.style.left=\`\${Math.min(iRect.right+6,window.innerWidth-330)}px\`,tooltip.style.top=\`\${Math.max(4,Math.min(iRect.top-8,window.innerHeight-420))}px\`,tooltip.addEventListener("mouseleave",hideIndicatorTooltip),state.root.appendChild(tooltip),state.activeTooltip=tooltip}function setupIndicatorScrollRefresh(){window.addEventListener("scroll",scheduleRenderIndicators,!0),window.addEventListener("resize",scheduleRenderIndicators)}function setupInteractionDebounce(host){let interactionDebounce=null;function onUserInteraction(e){e.composedPath().indexOf(host)===-1&&(interactionDebounce&&clearTimeout(interactionDebounce),interactionDebounce=setTimeout(()=>{interactionDebounce=null,renderIndicators()},150))}document.addEventListener("click",onUserInteraction,!0),document.addEventListener("keyup",onUserInteraction,!0)}function setupClickOutsideTooltipClose(host){document.addEventListener("click",e=>{!state.tooltipPinned||!state.activeTooltip||(e.composedPath?e.composedPath():[e.target]).includes(host)||forceHideTooltip()},!0)}function detectReactQuality(root=document){let sampleElements=Array.from(root.querySelectorAll("*")).slice(0,50),hasReact=!1,hasDebugSource=!1,hasDebugOwner=!1;for(let elem of sampleElements){for(let key of Object.keys(elem)){if(!key.startsWith("__reactFiber$")&&!key.startsWith("__reactInternalInstance"))continue;hasReact=!0;let fiber=elem[key];if(fiber!=null&&fiber._debugSource){hasDebugSource=!0;break}if(fiber!=null&&fiber._debugStack){hasDebugSource=!0;break}fiber!=null&&fiber._debugOwner&&(hasDebugOwner=!0)}if(hasDebugSource)break}return hasReact?hasDebugSource?"full":hasDebugOwner?"partial":"none":"not-react"}var SHOWN_KEY="vibeflow-react-quality-shown";function hasShownQualityModal(){try{return!!localStorage.getItem(SHOWN_KEY)}catch{return!1}}function markQualityModalShown(){try{localStorage.setItem(SHOWN_KEY,"1")}catch{}}function showReactQualityModal(quality){if(!state.root)return;closeReactQualityModal(),markQualityModalShown();let levelCards=[{icon:"\\u{1F7E2}",label:"Full context",color:"#4ade80",desc:"React dev mode + source maps. Component name + source file + line.",active:quality==="full"},{icon:"\\u{1F7E1}",label:"Partial",color:"#fbbf24",desc:"React dev mode, but no debug stack found. Component name only.",active:quality==="partial"},{icon:"\\u{1F534}",label:"No context",color:"#f87171",desc:"Production build. DOM selectors only \\u2014 no component or source info.",active:quality==="none"}].map(lv=>{let card=el("div",{className:"rq-level"+(lv.active?" rq-level--active":"")});return card.appendChild(el("div",{className:"rq-level-icon"},lv.icon)),card.appendChild(Object.assign(el("div",{className:"rq-level-label"},lv.label),{style:\`color:\${lv.color}\`})),card.appendChild(el("div",{className:"rq-level-desc"},lv.desc)),card}),levelRow=el("div",{className:"rq-levels"},...levelCards),heading=el("div",{className:"rq-heading"},{full:"You have full context",partial:"You have partial context",none:"No React context available","not-react":"React not detected"}[quality]??"React context"),features=buildFeatureRows(quality),header=el("div",{className:"rq-header"},heading,levelRow),body=el("div",{className:"rq-body"},...features),closeBtn=el("button",{className:"rq-close",title:"Close","aria-label":"Close"},"\\u2715"),btnContinue=el("button",{className:"rq-btn rq-btn-secondary"},"Continue annotating"),footer=el("div",{className:"rq-footer"},btnContinue),modal=el("div",{className:"vibeflow-rq-modal",id:"vibeflow-rq-modal"},closeBtn,header,body,footer),overlay=el("div",{className:"vibeflow-rq-overlay",id:"vibeflow-rq-overlay"},modal);function close(){overlay.remove()}closeBtn.addEventListener("click",close),btnContinue.addEventListener("click",close),overlay.addEventListener("click",e=>{e.target===overlay&&close()}),state.root.appendChild(overlay)}function closeReactQualityModal(){var _a,_b;(_b=(_a=state.root)==null?void 0:_a.querySelector("#vibeflow-rq-overlay"))==null||_b.remove()}function featureRow(icon,text,detail){let row=el("div",{className:"rq-feature"});row.appendChild(el("span",{className:"rq-feature-icon"},icon));let textEl=el("div",{className:"rq-feature-text"});return textEl.appendChild(el("strong",null,text)),textEl.appendChild(el("span",null," \\u2014 "+detail)),row.appendChild(textEl),row}function codeBlock(code){let pre=el("pre",{className:"rq-codeblock"});return pre.appendChild(el("code",null,code)),pre}function sectionTitle(title){return el("div",{className:"rq-section-title"},title)}function buildFeatureRows(quality){let rows=[];return rows.push(sectionTitle("What is captured now")),rows.push(featureRow("\\u2705","CSS selector","always available \\u2014 stable element targeting")),quality==="full"?(rows.push(featureRow("\\u2705","Component name","from React fiber (_debugOwner)")),rows.push(featureRow("\\u2705","Source file + line","resolved via source maps (React 18.3+ _debugStack or legacy _debugSource)")),rows.push(el("div",{className:"rq-note rq-note--success"},"You have the best possible context. Your agent receives component name, source file, and line number for each annotation.")),rows):(quality==="partial"&&(rows.push(featureRow("\\u2705","Component name","from React fiber (_debugOwner)")),rows.push(featureRow("\\u274C","Source file + line","no debug stack found on React fibers")),rows.push(sectionTitle("How to get source file + line")),rows.push(el("div",{className:"rq-note rq-note--amber"},"Source file resolution requires React dev mode with debug stacks (_debugStack / _debugSource) and source maps served by your bundler. Both are enabled by default when running in development mode.")),rows.push(codeBlock(\`# Next.js
1612
1612
  next dev (or: npm run dev)
1613
1613
 
@@ -1618,7 +1618,7 @@ npm run dev (NODE_ENV=development)
1618
1618
  next dev (or: npm run dev)
1619
1619
 
1620
1620
  # Vite
1621
- npm run dev (NODE_ENV=development)\`)),rows.push(el("div",{className:"rq-note"},"Dev mode enables React debug stacks (_debugStack) and source maps. No Babel plugins or extra config required \\u2014 file + line are resolved automatically via source maps."))),rows)}async function showPopover(element,x,y){if(!state.root)return;state.popover&&(state.popover.remove(),state.popover=null);let pointer=await buildSourcePointerAsync(element),selector=pointer.selector,cssSelector=buildCssSelector(element),displayName=pointer.display,targetIcon=el("div",{className:"popover-target-icon"},"\\u2B21"),targetName=el("div",{className:"popover-target-name"},displayName.slice(0,50)),reactQuality=detectReactQuality(),showBadge=reactQuality!=="not-react"&&reactQuality!=="full",qualityTooltip={none:"React production build \\u2014 no component context available (click to learn more)",partial:"React partial context \\u2014 component name only, no source file (click to learn more)",full:"Drag to move","not-react":"Drag to move"},dragHandleClass=showBadge?\`popover-drag-handle popover-drag-handle--quality-\${reactQuality}\`:"popover-drag-handle",dragHandle=el("div",{className:dragHandleClass,title:qualityTooltip[reactQuality]??"Drag to move"});if(showBadge)dragHandle.appendChild(document.createTextNode("\\u26A0"));else{let gripSvg=document.createElementNS("http://www.w3.org/2000/svg","svg");gripSvg.setAttribute("width","12"),gripSvg.setAttribute("height","16"),gripSvg.setAttribute("viewBox","0 0 12 16"),gripSvg.setAttribute("fill","currentColor"),gripSvg.setAttribute("aria-hidden","true");let gripDots=[[3,3],[9,3],[3,8],[9,8],[3,13],[9,13]];for(let[cx,cy]of gripDots){let circle=document.createElementNS("http://www.w3.org/2000/svg","circle");circle.setAttribute("cx",String(cx)),circle.setAttribute("cy",String(cy)),circle.setAttribute("r","1.5"),gripSvg.appendChild(circle)}dragHandle.appendChild(gripSvg)}let header=el("div",{className:"popover-header"},targetIcon,targetName,dragHandle),sourceRow=el("div",{className:"popover-source"});if(pointer.file){let label=pointer.file.replace(/\\\\/g,"/").split("/").slice(-2).join("/")+(pointer.line!=null?\`:\${pointer.line}\`:""),srcLink=el("a",{href:\`vscode://file\${pointer.file}\${pointer.line!=null?\`:\${pointer.line}\`:""}\`,target:"_blank",title:pointer.file},label);pointer.component?sourceRow.append(srcLink,el("span",{className:"popover-source-sep"}," \\xB7 \\u2B21 "+pointer.component)):sourceRow.appendChild(srcLink)}else pointer.component&&sourceRow.appendChild(el("span",null,"\\u2B21 "+pointer.component));let titleInput=el("input",{type:"text",placeholder:"Task title..."}),textarea=el("textarea",{placeholder:"Describe your feedback..."}),typePicker=buildTypePickerEl("Task"),titleRow=el("div",{className:"popover-title-row"},typePicker.el,titleInput),body=el("div",{className:"popover-body"},titleRow,textarea),btnSave=el("button",{className:"btn-primary"},"Save"),btnCancel=el("button",null,"Cancel"),spacer=el("div",{className:"popover-actions-spacer"}),actions=el("div",{className:"popover-actions"},btnSave,btnCancel,spacer),popover=el("div",{className:"vibeflow-popover"},header,sourceRow,body,actions);state.popover=popover,showBadge&&!hasShownQualityModal()&&(markQualityModalShown(),window.setTimeout(()=>showReactQualityModal(reactQuality),200)),showBadge&&dragHandle.addEventListener("click",e=>{e.stopPropagation(),showReactQualityModal(reactQuality)}),popover.addEventListener("click",e=>{var _a;e.target.closest(".type-picker")||(_a=popover.querySelector(".type-picker-dropdown"))==null||_a.classList.remove("open")});let posX=x!==void 0?x:element.getBoundingClientRect().left,posY=y!==void 0?y:element.getBoundingClientRect().bottom+8;popover.style.left=\`\${Math.min(posX,window.innerWidth-620)}px\`,popover.style.top=\`\${Math.min(posY,window.innerHeight-350)}px\`;let dragState=null;dragHandle.addEventListener("pointerdown",e=>{e.preventDefault(),dragHandle.setPointerCapture(e.pointerId),dragState={startX:e.clientX,startY:e.clientY,origLeft:parseInt(popover.style.left,10)||0,origTop:parseInt(popover.style.top,10)||0},popover.classList.add("popover-dragging")}),dragHandle.addEventListener("pointermove",e=>{if(!dragState)return;let dx=e.clientX-dragState.startX,dy=e.clientY-dragState.startY,maxX=window.innerWidth-(popover.offsetWidth||480),maxY=window.innerHeight-(popover.offsetHeight||250);popover.style.left=\`\${Math.max(0,Math.min(maxX,dragState.origLeft+dx))}px\`,popover.style.top=\`\${Math.max(0,Math.min(maxY,dragState.origTop+dy))}px\`}),dragHandle.addEventListener("pointerup",()=>{dragState=null,popover.classList.remove("popover-dragging")}),dragHandle.addEventListener("pointercancel",()=>{dragState=null,popover.classList.remove("popover-dragging")}),state.root.appendChild(popover),titleInput.focus(),btnSave.addEventListener("click",()=>{var _a,_b;let text=textarea.value.trim(),rawTitle=titleInput.value.trim();if(!rawTitle){titleInput.classList.remove("input-error"),titleInput.offsetWidth,titleInput.classList.add("input-error"),titleInput.focus();let clear=()=>{titleInput.classList.remove("input-error"),titleInput.removeEventListener("input",clear)};titleInput.addEventListener("input",clear);return}let title=rawTitle;if(!text&&!title)return;let rawInnerText=((_a=element.innerText)==null?void 0:_a.trim())??"",capturedHtmlText=rawInnerText?rawInnerText.slice(0,300):void 0,selectedType=typePicker.getValue(),desc=text||title;if(selectedType==="Bug"){let logs=getRecordedLogs();logs&&(desc+=logs)}submitTask(selector,cssSelector,title,desc,void 0,{file:pointer.file,line:pointer.line,col:pointer.col,component:pointer.component},selectedType||void 0,capturedHtmlText),(_b=state.popover)==null||_b.remove(),state.popover=null,clearAnnotateHighlight(),flashOverlayTrigger()}),btnCancel.addEventListener("click",()=>{var _a;(_a=state.popover)==null||_a.remove(),state.popover=null,clearAnnotateHighlight()})}function toggleSidebar(){fetchTasks()}function hasPrototypingApi2(){return typeof window<"u"&&"__vf_prototyping"in window}function openPrototypingPanel2(){let api=window.__vf_prototyping;api==null||api.openPanel()}function showContextMenu(element,x,y){if(hideContextMenu(),state.disabled)return;let displayName=buildSourcePointer(element).display;if(setAnnotateHighlight(element),!state.root)return;let menu=el("div",{className:"vibeflow-context-menu"});menu.style.left=\`\${Math.min(x,window.innerWidth-220)}px\`,menu.style.top=\`\${Math.min(y,window.innerHeight-200)}px\`;let annotateBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F4DD}"),\`Annotate "\${displayName.slice(0,30)}"\`);annotateBtn.addEventListener("click",()=>{hideContextMenu(!0),showPopover(element,x,y)}),menu.appendChild(annotateBtn);let inspectBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F50D}"),"Inspect selector");if(inspectBtn.addEventListener("click",()=>{hideContextMenu(),buildSourcePointerAsync(element).then(ptr=>showInspectModal(element,ptr))}),menu.appendChild(inspectBtn),hasPrototypingApi2()){let prototypingBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F3A8}"),"Prototyping");prototypingBtn.addEventListener("click",()=>{hideContextMenu(),openPrototypingPanel2()}),menu.appendChild(prototypingBtn)}if((()=>{try{return localStorage.getItem(TRIGGER_HIDDEN_KEY)==="1"}catch{return!1}})()){let showBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F441}"),"Show Vibeflow");showBtn.addEventListener("click",()=>{hideContextMenu(),showOverlayTrigger()}),menu.appendChild(showBtn)}else{let hideBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F441}"),"Hide Vibeflow");hideBtn.addEventListener("click",()=>{hideContextMenu(),hideOverlayTrigger()}),menu.appendChild(hideBtn)}let disableBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F6AB}"),"Disable Vibeflow");disableBtn.addEventListener("click",()=>{hideContextMenu(),disableVibeflowOverlay()}),menu.appendChild(disableBtn),state.contextMenu=menu,state.root.appendChild(menu),setTimeout(()=>{document.addEventListener("click",()=>hideContextMenu(),{once:!0})},0)}function hideContextMenu(keepHighlight){state.contextMenu&&(state.contextMenu.remove(),state.contextMenu=null),keepHighlight||clearAnnotateHighlight()}function setupKeyboardShortcuts(host){document.addEventListener("keydown",e=>{e.altKey&&e.key==="a"&&(e.preventDefault(),toggleAnnotationMode(host)),e.altKey&&e.key==="s"&&(e.preventDefault(),toggleSidebar()),e.key==="Escape"&&(state.contextMenu?hideContextMenu():state.popover?(state.popover.remove(),state.popover=null,clearAnnotateHighlight()):state.annotationMode?toggleAnnotationMode(host):state.sidebarPinned&&void 0)},!0)}function toggleAnnotationMode(host){state.annotationMode=!state.annotationMode,document.body.classList.toggle("vibeflow-overlay-active",state.annotationMode),state.annotationMode,state.annotationMode?startAnnotationHover(host):(stopAnnotationHover(host),state.popover&&(state.popover.remove(),state.popover=null))}function setupContextMenuListener(host){document.addEventListener("contextmenu",e=>{let target=e.target;!target||!(target instanceof Element)||target===document.body||target===document.documentElement||e.composedPath().indexOf(host)===-1&&(e.preventDefault(),showContextMenu(target,e.clientX,e.clientY))},!0)}function setupClickToAnnotate(host){document.addEventListener("click",e=>{if(!state.annotationMode||e.composedPath().indexOf(host)!==-1)return;let target=e.target;!target||!(target instanceof Element)||target===document.body||target===document.documentElement||(e.preventDefault(),e.stopPropagation(),showPopover(target,e.clientX,e.clientY))},!0)}function setupSpaNavigation(onRouteChange){let _protoOrigPush=history.pushState.bind(history);history.pushState=(...args)=>{_protoOrigPush(...args),onRouteChange()};let _protoOrigReplace=history.replaceState.bind(history);history.replaceState=(...args)=>{_protoOrigReplace(...args),onRouteChange()},window.addEventListener("popstate",onRouteChange),window.addEventListener("hashchange",onRouteChange)}var import_react24=__toESM(require_react(),1),import_client=__toESM(require_client(),1);function main(){startRecording();let selfScript=document.querySelector("script[data-board-id]")??document.querySelector('script[src*="vibeflow-overlay"]');selfScript&&!selfScript.hasAttribute("data-vibeflow-overlay")&&selfScript.setAttribute("data-vibeflow-overlay",""),selfScript!=null&&selfScript.dataset.boardId&&!PROTO_CONFIG.boardId&&(PROTO_CONFIG.boardId=selfScript.dataset.boardId);let globalBoardId=window.__PROTO_BOARD_ID;if(globalBoardId&&!PROTO_CONFIG.boardId&&(PROTO_CONFIG.boardId=globalBoardId),selfScript!=null&&selfScript.dataset.overlayApiKey&&!PROTO_CONFIG.overlayApiKey&&(PROTO_CONFIG.overlayApiKey=selfScript.dataset.overlayApiKey),document.getElementById("vibeflow-studio-root"))return;try{localStorage.removeItem(TRIGGER_HIDDEN_KEY)}catch{}let{host,root}=setupShadowDom();state.host=host,state.root=root,loadPrefs();let indicatorContainer=el("div",{className:"vibeflow-indicators"});state.indicatorContainer=indicatorContainer,root.appendChild(indicatorContainer);let reactContainer=document.createElement("div");reactContainer.className="vibeflow-react-root",root.appendChild(reactContainer),(0,import_client.createRoot)(reactContainer).render(import_react24.default.createElement(OverlayApp,{onOpenKanban:()=>{if(PROTO_CONFIG.boardId){let origin=new URL(PROTO_CONFIG.apiUrl).origin;window.open(\`\${origin}/kanban?board=\${encodeURIComponent(PROTO_CONFIG.boardId)}\`,"_blank","noopener")}else if(PROTO_CONFIG.wsUrl){let kanbanUrl=PROTO_CONFIG.apiUrl.replace("/api/tasks","/kanban");window.open(kanbanUrl,"_blank","noopener")}},onSubmitTask:(selector,cssSelector,title,description,status,type,meta)=>{submitTask(selector,cssSelector,title,description,status,meta,type)}})),state.onTasksFetched=()=>{renderIndicators()},state.onTasksUpdatedMessage=fetchTasks,connectWS(),setupWsVisibilityReconnect(),fetchTasks(),fetchPages(),setupKeyboardShortcuts(host),setupContextMenuListener(host),setupClickToAnnotate(host),setupIndicatorScrollRefresh(),setupInteractionDebounce(host),setupClickOutsideTooltipClose(host),setupSpaNavigation(()=>{location.href!==state.currentHref&&(state.currentHref=location.href,renderIndicators())})}main();})();
1621
+ npm run dev (NODE_ENV=development)\`)),rows.push(el("div",{className:"rq-note"},"Dev mode enables React debug stacks (_debugStack) and source maps. No Babel plugins or extra config required \\u2014 file + line are resolved automatically via source maps."))),rows)}async function showPopover(element,x,y){if(!state.root)return;state.popover&&(state.popover.remove(),state.popover=null);let pointer=await buildSourcePointerAsync(element),selector=pointer.selector,cssSelector=buildCssSelector(element),displayName=pointer.display,targetIcon=el("div",{className:"popover-target-icon"},"\\u2B21"),targetName=el("div",{className:"popover-target-name"},displayName.slice(0,50)),reactQuality=detectReactQuality(),showBadge=reactQuality!=="not-react"&&reactQuality!=="full",qualityTooltip={none:"React production build \\u2014 no component context available (click to learn more)",partial:"React partial context \\u2014 component name only, no source file (click to learn more)",full:"Drag to move","not-react":"Drag to move"},dragHandleClass=showBadge?\`popover-drag-handle popover-drag-handle--quality-\${reactQuality}\`:"popover-drag-handle",dragHandle=el("div",{className:dragHandleClass,title:qualityTooltip[reactQuality]??"Drag to move"});if(showBadge)dragHandle.appendChild(document.createTextNode("\\u26A0"));else{let gripSvg=document.createElementNS("http://www.w3.org/2000/svg","svg");gripSvg.setAttribute("width","12"),gripSvg.setAttribute("height","16"),gripSvg.setAttribute("viewBox","0 0 12 16"),gripSvg.setAttribute("fill","currentColor"),gripSvg.setAttribute("aria-hidden","true");let gripDots=[[3,3],[9,3],[3,8],[9,8],[3,13],[9,13]];for(let[cx,cy]of gripDots){let circle=document.createElementNS("http://www.w3.org/2000/svg","circle");circle.setAttribute("cx",String(cx)),circle.setAttribute("cy",String(cy)),circle.setAttribute("r","1.5"),gripSvg.appendChild(circle)}dragHandle.appendChild(gripSvg)}let header=el("div",{className:"popover-header"},targetIcon,targetName,dragHandle),sourceRow=el("div",{className:"popover-source"});if(pointer.file){let label=pointer.file.replace(/\\\\/g,"/").split("/").slice(-2).join("/")+(pointer.line==null?"":\`:\${pointer.line}\`),srcLink=el("a",{href:\`vscode://file\${pointer.file}\${pointer.line==null?"":\`:\${pointer.line}\`}\`,target:"_blank",title:pointer.file},label);pointer.component?sourceRow.append(srcLink,el("span",{className:"popover-source-sep"}," \\xB7 \\u2B21 "+pointer.component)):sourceRow.appendChild(srcLink)}else pointer.component&&sourceRow.appendChild(el("span",null,"\\u2B21 "+pointer.component));let titleInput=el("input",{type:"text",placeholder:"Task title..."}),textarea=el("textarea",{placeholder:"Describe your feedback..."}),typePicker=buildTypePickerEl("Task"),titleRow=el("div",{className:"popover-title-row"},typePicker.el,titleInput),body=el("div",{className:"popover-body"},titleRow,textarea),btnSave=el("button",{className:"btn-primary"},"Save"),btnCancel=el("button",null,"Cancel"),spacer=el("div",{className:"popover-actions-spacer"}),actions=el("div",{className:"popover-actions"},btnSave,btnCancel,spacer),popover=el("div",{className:"vibeflow-popover"},header,sourceRow,body,actions);state.popover=popover,showBadge&&!hasShownQualityModal()&&(markQualityModalShown(),window.setTimeout(()=>showReactQualityModal(reactQuality),200)),showBadge&&dragHandle.addEventListener("click",e=>{e.stopPropagation(),showReactQualityModal(reactQuality)}),popover.addEventListener("click",e=>{var _a;e.target.closest(".type-picker")||(_a=popover.querySelector(".type-picker-dropdown"))==null||_a.classList.remove("open")});let posX=x===void 0?element.getBoundingClientRect().left:x,posY=y===void 0?element.getBoundingClientRect().bottom+8:y;popover.style.left=\`\${Math.min(posX,window.innerWidth-620)}px\`,popover.style.top=\`\${Math.min(posY,window.innerHeight-350)}px\`;let dragState=null;dragHandle.addEventListener("pointerdown",e=>{e.preventDefault(),dragHandle.setPointerCapture(e.pointerId),dragState={startX:e.clientX,startY:e.clientY,origLeft:parseInt(popover.style.left,10)||0,origTop:parseInt(popover.style.top,10)||0},popover.classList.add("popover-dragging")}),dragHandle.addEventListener("pointermove",e=>{if(!dragState)return;let dx=e.clientX-dragState.startX,dy=e.clientY-dragState.startY,maxX=window.innerWidth-(popover.offsetWidth||480),maxY=window.innerHeight-(popover.offsetHeight||250);popover.style.left=\`\${Math.max(0,Math.min(maxX,dragState.origLeft+dx))}px\`,popover.style.top=\`\${Math.max(0,Math.min(maxY,dragState.origTop+dy))}px\`}),dragHandle.addEventListener("pointerup",()=>{dragState=null,popover.classList.remove("popover-dragging")}),dragHandle.addEventListener("pointercancel",()=>{dragState=null,popover.classList.remove("popover-dragging")}),state.root.appendChild(popover),titleInput.focus(),btnSave.addEventListener("click",()=>{var _a,_b;let text=textarea.value.trim(),rawTitle=titleInput.value.trim();if(!rawTitle){titleInput.classList.remove("input-error"),titleInput.offsetWidth,titleInput.classList.add("input-error"),titleInput.focus();let clear=()=>{titleInput.classList.remove("input-error"),titleInput.removeEventListener("input",clear)};titleInput.addEventListener("input",clear);return}let title=rawTitle;if(!text&&!title)return;let rawInnerText=((_a=element.innerText)==null?void 0:_a.trim())??"",capturedHtmlText=rawInnerText?rawInnerText.slice(0,300):void 0,selectedType=typePicker.getValue(),desc=text||title;if(selectedType==="Bug"){let logs=getRecordedLogs();logs&&(desc+=logs)}submitTask(selector,cssSelector,title,desc,void 0,{file:pointer.file,line:pointer.line,col:pointer.col,component:pointer.component},selectedType||void 0,capturedHtmlText).then(result=>{if(result.taskId)try{let snapshot=captureDomSnapshot(element,cssSelector);sendBaselineToServer(result.taskId,snapshot);try{let pageSnapshot=capturePageSnapshot();sendPageBaselineToServer(result.taskId,pageSnapshot)}catch(err){console.error("[Vibeflow] Failed to capture page baseline:",err)}}catch(err){console.error("[Vibeflow] Failed to capture baseline:",err)}}),(_b=state.popover)==null||_b.remove(),state.popover=null,clearAnnotateHighlight(),flashOverlayTrigger()}),btnCancel.addEventListener("click",()=>{var _a;(_a=state.popover)==null||_a.remove(),state.popover=null,clearAnnotateHighlight()})}function toggleSidebar(){fetchTasks()}function hasPrototypingApi2(){return typeof window<"u"&&"__vf_prototyping"in window}function openPrototypingPanel2(){let api=window.__vf_prototyping;api==null||api.openPanel()}function showContextMenu(element,x,y){if(hideContextMenu(),state.disabled)return;let displayName=buildSourcePointer(element).display;if(setAnnotateHighlight(element),!state.root)return;let menu=el("div",{className:"vibeflow-context-menu"});menu.style.left=\`\${Math.min(x,window.innerWidth-220)}px\`,menu.style.top=\`\${Math.min(y,window.innerHeight-200)}px\`;let annotateBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F4DD}"),\`Annotate "\${displayName.slice(0,30)}"\`);annotateBtn.addEventListener("click",()=>{hideContextMenu(!0),showPopover(element,x,y)}),menu.appendChild(annotateBtn);let inspectBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F50D}"),"Inspect selector");if(inspectBtn.addEventListener("click",()=>{hideContextMenu(),buildSourcePointerAsync(element).then(ptr=>showInspectModal(element,ptr))}),menu.appendChild(inspectBtn),hasPrototypingApi2()){let prototypingBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F3A8}"),"Prototyping");prototypingBtn.addEventListener("click",()=>{hideContextMenu(),openPrototypingPanel2()}),menu.appendChild(prototypingBtn)}if((()=>{try{return localStorage.getItem(TRIGGER_HIDDEN_KEY)==="1"}catch{return!1}})()){let showBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F441}"),"Show Vibeflow");showBtn.addEventListener("click",()=>{hideContextMenu(),showOverlayTrigger()}),menu.appendChild(showBtn)}else{let hideBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F441}"),"Hide Vibeflow");hideBtn.addEventListener("click",()=>{hideContextMenu(),hideOverlayTrigger()}),menu.appendChild(hideBtn)}let disableBtn=el("button",null,el("span",{className:"menu-icon"},"\\u{1F6AB}"),"Disable Vibeflow");disableBtn.addEventListener("click",()=>{hideContextMenu(),disableVibeflowOverlay()}),menu.appendChild(disableBtn),state.contextMenu=menu,state.root.appendChild(menu),setTimeout(()=>{document.addEventListener("click",()=>hideContextMenu(),{once:!0})},0)}function hideContextMenu(keepHighlight){state.contextMenu&&(state.contextMenu.remove(),state.contextMenu=null),keepHighlight||clearAnnotateHighlight()}function setupKeyboardShortcuts(host){document.addEventListener("keydown",e=>{e.altKey&&e.key==="a"&&(e.preventDefault(),toggleAnnotationMode(host)),e.altKey&&e.key==="s"&&(e.preventDefault(),toggleSidebar()),e.key==="Escape"&&(state.contextMenu?hideContextMenu():state.popover?(state.popover.remove(),state.popover=null,clearAnnotateHighlight()):state.annotationMode?toggleAnnotationMode(host):state.sidebarPinned&&void 0)},!0)}function toggleAnnotationMode(host){state.annotationMode=!state.annotationMode,document.body.classList.toggle("vibeflow-overlay-active",state.annotationMode),state.annotationMode,state.annotationMode?startAnnotationHover(host):(stopAnnotationHover(host),state.popover&&(state.popover.remove(),state.popover=null))}function setupContextMenuListener(host){document.addEventListener("contextmenu",e=>{let target=e.target;!target||!(target instanceof Element)||target===document.body||target===document.documentElement||e.composedPath().indexOf(host)===-1&&(e.preventDefault(),showContextMenu(target,e.clientX,e.clientY))},!0)}function setupClickToAnnotate(host){document.addEventListener("click",e=>{if(!state.annotationMode||e.composedPath().indexOf(host)!==-1)return;let target=e.target;!target||!(target instanceof Element)||target===document.body||target===document.documentElement||(e.preventDefault(),e.stopPropagation(),showPopover(target,e.clientX,e.clientY))},!0)}function setupSpaNavigation(onRouteChange){let _protoOrigPush=history.pushState.bind(history);history.pushState=(...args)=>{_protoOrigPush(...args),onRouteChange()};let _protoOrigReplace=history.replaceState.bind(history);history.replaceState=(...args)=>{_protoOrigReplace(...args),onRouteChange()},window.addEventListener("popstate",onRouteChange),window.addEventListener("hashchange",onRouteChange)}var import_react24=__toESM(require_react(),1),import_client=__toESM(require_client(),1);function main(){startRecording();let selfScript=document.querySelector("script[data-board-id]")??document.querySelector('script[src*="vibeflow-overlay"]');selfScript&&!selfScript.hasAttribute("data-vibeflow-overlay")&&selfScript.setAttribute("data-vibeflow-overlay",""),selfScript!=null&&selfScript.dataset.boardId&&!PROTO_CONFIG.boardId&&(PROTO_CONFIG.boardId=selfScript.dataset.boardId);let globalBoardId=window.__PROTO_BOARD_ID;if(globalBoardId&&!PROTO_CONFIG.boardId&&(PROTO_CONFIG.boardId=globalBoardId),selfScript!=null&&selfScript.dataset.overlayApiKey&&!PROTO_CONFIG.overlayApiKey&&(PROTO_CONFIG.overlayApiKey=selfScript.dataset.overlayApiKey),document.getElementById("vibeflow-studio-root"))return;try{localStorage.removeItem(TRIGGER_HIDDEN_KEY)}catch{}let{host,root}=setupShadowDom();state.host=host,state.root=root,loadPrefs();let indicatorContainer=el("div",{className:"vibeflow-indicators"});state.indicatorContainer=indicatorContainer,root.appendChild(indicatorContainer);let reactContainer=document.createElement("div");reactContainer.className="vibeflow-react-root",root.appendChild(reactContainer),(0,import_client.createRoot)(reactContainer).render(import_react24.default.createElement(OverlayApp,{onOpenKanban:()=>{if(PROTO_CONFIG.boardId)try{let origin=new URL(PROTO_CONFIG.apiUrl).origin;window.open(\`\${origin}/kanban?board=\${encodeURIComponent(PROTO_CONFIG.boardId)}\`,"_blank","noopener")}catch{}else if(PROTO_CONFIG.wsUrl){let kanbanUrl=PROTO_CONFIG.apiUrl.replace("/api/tasks","/kanban");window.open(kanbanUrl,"_blank","noopener")}},onSubmitTask:(selector,cssSelector,title,description,status,type,meta)=>submitTask(selector,cssSelector,title,description,status,meta,type)})),state.onTasksFetched=()=>{renderIndicators()},state.onTasksUpdatedMessage=fetchTasks,connectWS(),setupWsVisibilityReconnect(),fetchTasks(),fetchPages(),setupKeyboardShortcuts(host),setupContextMenuListener(host),setupClickToAnnotate(host),setupIndicatorScrollRefresh(),setupInteractionDebounce(host),setupClickOutsideTooltipClose(host),setupSpaNavigation(()=>{location.href!==state.currentHref&&(state.currentHref=location.href,renderIndicators())})}main();})();
1622
1622
  /*! Bundled license information:
1623
1623
 
1624
1624
  react/cjs/react.production.min.js:
@@ -1682,7 +1682,7 @@ lucide-react/dist/esm/lucide-react.js:
1682
1682
  * See the LICENSE file in the root directory of this source tree.
1683
1683
  *)
1684
1684
  */
1685
- `;function it(t){return`
1685
+ `;function ht(t){return`
1686
1686
  var _vfScriptSrc = document.currentScript && document.currentScript.src;
1687
1687
  var _vfOrigin = _vfScriptSrc ? new URL(_vfScriptSrc).origin : ('http://' + window.location.host);
1688
1688
  var PROTO_CONFIG = {
@@ -1692,25 +1692,29 @@ var PROTO_CONFIG = {
1692
1692
  pagesUrl: _vfOrigin + '/api/pages',
1693
1693
  screenshotsUrl: _vfOrigin + '/screenshots/'
1694
1694
  };
1695
- `+ot}function At(t){return`var PROTO_CONFIG = ${JSON.stringify({port:0,wsUrl:"",apiUrl:`${t}/api/overlay/tasks`,pagesUrl:"",screenshotsUrl:""})};
1696
- `+ot}import{existsSync as ir,readFileSync as lr}from"fs";import{dirname as sr,join as st}from"path";import{fileURLToPath as cr}from"url";var $t=`*,: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: }
1697
- /*! 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-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}.line-through{text-decoration-line:line-through}.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;gap:5px;padding-bottom:8px}.column-scroll,.task-card{display:flex;flex-direction:column}.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;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}.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 lt='"use strict";(()=>{var rg=Object.create;var Id=Object.defineProperty;var og=Object.getOwnPropertyDescriptor;var ng=Object.getOwnPropertyNames;var lg=Object.getPrototypeOf,sg=Object.prototype.hasOwnProperty;var oa=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ug=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ng(t))!sg.call(e,o)&&o!==a&&Id(e,o,{get:()=>t[o],enumerable:!(r=og(t,o))||r.enumerable});return e};var M=(e,t,a)=>(a=e!=null?rg(lg(e)):{},ug(t||!e||!e.__esModule?Id(a,"default",{value:e,enumerable:!0}):a,e));var Fd=oa(ne=>{"use strict";var Co=Symbol.for("react.element"),ig=Symbol.for("react.portal"),dg=Symbol.for("react.fragment"),fg=Symbol.for("react.strict_mode"),cg=Symbol.for("react.profiler"),pg=Symbol.for("react.provider"),mg=Symbol.for("react.context"),gg=Symbol.for("react.forward_ref"),hg=Symbol.for("react.suspense"),xg=Symbol.for("react.memo"),vg=Symbol.for("react.lazy"),Cd=Symbol.iterator;function yg(e){return e===null||typeof e!="object"?null:(e=Cd&&e[Cd]||e["@@iterator"],typeof e=="function"?e:null)}var bd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Pd=Object.assign,Td={};function Mr(e,t,a){this.props=e,this.context=t,this.refs=Td,this.updater=a||bd}Mr.prototype.isReactComponent={};Mr.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")};Mr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Rd(){}Rd.prototype=Mr.prototype;function As(e,t,a){this.props=e,this.context=t,this.refs=Td,this.updater=a||bd}var Ms=As.prototype=new Rd;Ms.constructor=As;Pd(Ms,Mr.prototype);Ms.isPureReactComponent=!0;var wd=Array.isArray,Dd=Object.prototype.hasOwnProperty,Es={current:null},Ad={key:!0,ref:!0,__self:!0,__source:!0};function Md(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)Dd.call(t,r)&&!Ad.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:Co,type:e,key:n,ref:l,props:o,_owner:Es.current}}function Lg(e,t){return{$$typeof:Co,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Fs(e){return typeof e=="object"&&e!==null&&e.$$typeof===Co}function Sg(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var kd=/\\/+/g;function Ds(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Sg(""+e.key):t.toString(36)}function Vn(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 Co:case ig:l=!0}}if(l)return l=e,o=o(l),e=r===""?"."+Ds(l,0):r,wd(o)?(a="",e!=null&&(a=e.replace(kd,"$&/")+"/"),Vn(o,t,a,"",function(d){return d})):o!=null&&(Fs(o)&&(o=Lg(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(kd,"$&/")+"/")+e)),t.push(o)),1;if(l=0,r=r===""?".":r+":",wd(e))for(var s=0;s<e.length;s++){n=e[s];var u=r+Ds(n,s);l+=Vn(n,t,a,u,o)}else if(u=yg(e),typeof u=="function")for(e=u.call(e),s=0;!(n=e.next()).done;)n=n.value,u=r+Ds(n,s++),l+=Vn(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 Wn(e,t,a){if(e==null)return e;var r=[],o=0;return Vn(e,r,"","",function(n){return t.call(a,n,o++)}),r}function Ig(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},$n={transition:null},Cg={ReactCurrentDispatcher:Qe,ReactCurrentBatchConfig:$n,ReactCurrentOwner:Es};function Ed(){throw Error("act(...) is not supported in production builds of React.")}ne.Children={map:Wn,forEach:function(e,t,a){Wn(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return Wn(e,function(){t++}),t},toArray:function(e){return Wn(e,function(t){return t})||[]},only:function(e){if(!Fs(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ne.Component=Mr;ne.Fragment=dg;ne.Profiler=cg;ne.PureComponent=As;ne.StrictMode=fg;ne.Suspense=hg;ne.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Cg;ne.act=Ed;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=Pd({},e.props),o=e.key,n=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(n=t.ref,l=Es.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)Dd.call(t,u)&&!Ad.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:Co,type:e.type,key:o,ref:n,props:r,_owner:l}};ne.createContext=function(e){return e={$$typeof:mg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:pg,_context:e},e.Consumer=e};ne.createElement=Md;ne.createFactory=function(e){var t=Md.bind(null,e);return t.type=e,t};ne.createRef=function(){return{current:null}};ne.forwardRef=function(e){return{$$typeof:gg,render:e}};ne.isValidElement=Fs;ne.lazy=function(e){return{$$typeof:vg,_payload:{_status:-1,_result:e},_init:Ig}};ne.memo=function(e,t){return{$$typeof:xg,type:e,compare:t===void 0?null:t}};ne.startTransition=function(e){var t=$n.transition;$n.transition={};try{e()}finally{$n.transition=t}};ne.unstable_act=Ed;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 Ce=oa((Pv,Bd)=>{"use strict";Bd.exports=Fd()});var $d=oa(ye=>{"use strict";function Us(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,o=e[r];if(0<Kn(o,t))e[r]=t,e[a]=o,a=r;else break e}}function Ft(e){return e.length===0?null:e[0]}function jn(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>Kn(s,a))u<o&&0>Kn(d,s)?(e[r]=d,e[u]=a,r=u):(e[r]=s,e[l]=a,r=l);else if(u<o&&0>Kn(d,a))e[r]=d,e[u]=a,r=u;else break e}}return t}function Kn(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Od=performance,ye.unstable_now=function(){return Od.now()}):(Bs=Date,zd=Bs.now(),ye.unstable_now=function(){return Bs.now()-zd});var Od,Bs,zd,Gt=[],Ia=[],wg=1,It=null,Ve=3,Xn=!1,Ja=!1,ko=!1,Hd=typeof setTimeout=="function"?setTimeout:null,_d=typeof clearTimeout=="function"?clearTimeout:null,Ud=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Ns(e){for(var t=Ft(Ia);t!==null;){if(t.callback===null)jn(Ia);else if(t.startTime<=e)jn(Ia),t.sortIndex=t.expirationTime,Us(Gt,t);else break;t=Ft(Ia)}}function Hs(e){if(ko=!1,Ns(e),!Ja)if(Ft(Gt)!==null)Ja=!0,qs(_s);else{var t=Ft(Ia);t!==null&&Ws(Hs,t.startTime-e)}}function _s(e,t){Ja=!1,ko&&(ko=!1,_d(bo),bo=-1),Xn=!0;var a=Ve;try{for(Ns(t),It=Ft(Gt);It!==null&&(!(It.expirationTime>t)||e&&!Vd());){var r=It.callback;if(typeof r=="function"){It.callback=null,Ve=It.priorityLevel;var o=r(It.expirationTime<=t);t=ye.unstable_now(),typeof o=="function"?It.callback=o:It===Ft(Gt)&&jn(Gt),Ns(t)}else jn(Gt);It=Ft(Gt)}if(It!==null)var n=!0;else{var l=Ft(Ia);l!==null&&Ws(Hs,l.startTime-t),n=!1}return n}finally{It=null,Ve=a,Xn=!1}}var Qn=!1,Gn=null,bo=-1,qd=5,Wd=-1;function Vd(){return!(ye.unstable_now()-Wd<qd)}function Os(){if(Gn!==null){var e=ye.unstable_now();Wd=e;var t=!0;try{t=Gn(!0,e)}finally{t?wo():(Qn=!1,Gn=null)}}else Qn=!1}var wo;typeof Ud=="function"?wo=function(){Ud(Os)}:typeof MessageChannel<"u"?(zs=new MessageChannel,Nd=zs.port2,zs.port1.onmessage=Os,wo=function(){Nd.postMessage(null)}):wo=function(){Hd(Os,0)};var zs,Nd;function qs(e){Gn=e,Qn||(Qn=!0,wo())}function Ws(e,t){bo=Hd(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(){Ja||Xn||(Ja=!0,qs(_s))};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 Ve};ye.unstable_getFirstCallbackNode=function(){return Ft(Gt)};ye.unstable_next=function(e){switch(Ve){case 1:case 2:case 3:var t=3;break;default:t=Ve}var a=Ve;Ve=t;try{return e()}finally{Ve=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=Ve;Ve=e;try{return t()}finally{Ve=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:wg++,callback:t,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>r?(e.sortIndex=a,Us(Ia,e),Ft(Gt)===null&&e===Ft(Ia)&&(ko?(_d(bo),bo=-1):ko=!0,Ws(Hs,a-r))):(e.sortIndex=o,Us(Gt,e),Ja||Xn||(Ja=!0,qs(_s))),e};ye.unstable_shouldYield=Vd;ye.unstable_wrapCallback=function(e){var t=Ve;return function(){var a=Ve;Ve=t;try{return e.apply(this,arguments)}finally{Ve=a}}}});var Gd=oa((Rv,Kd)=>{"use strict";Kd.exports=$d()});var Zp=oa(mt=>{"use strict";var kg=Ce(),ct=Gd();function T(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 tc=new Set,jo={};function cr(e,t){Jr(e,t),Jr(e+"Capture",t)}function Jr(e,t){for(jo[e]=t,e=0;e<t.length;e++)tc.add(t[e])}var da=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),cu=Object.prototype.hasOwnProperty,bg=/^[: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]*$/,jd={},Xd={};function Pg(e){return cu.call(Xd,e)?!0:cu.call(jd,e)?!1:bg.test(e)?Xd[e]=!0:(jd[e]=!0,!1)}function Tg(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 Rg(e,t,a,r){if(t===null||typeof t>"u"||Tg(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 Je(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 qe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){qe[e]=new Je(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];qe[t]=new Je(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){qe[e]=new Je(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){qe[e]=new Je(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){qe[e]=new Je(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){qe[e]=new Je(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){qe[e]=new Je(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){qe[e]=new Je(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){qe[e]=new Je(e,5,!1,e.toLowerCase(),null,!1,!1)});var oi=/[\\-:]([a-z])/g;function ni(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(oi,ni);qe[t]=new Je(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(oi,ni);qe[t]=new Je(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(oi,ni);qe[t]=new Je(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){qe[e]=new Je(e,1,!1,e.toLowerCase(),null,!1,!1)});qe.xlinkHref=new Je("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){qe[e]=new Je(e,1,!1,e.toLowerCase(),null,!0,!0)});function li(e,t,a,r){var o=qe.hasOwnProperty(t)?qe[t]:null;(o!==null?o.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Rg(t,a,o,r)&&(a=null),r||o===null?Pg(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 ma=kg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Yn=Symbol.for("react.element"),Br=Symbol.for("react.portal"),Or=Symbol.for("react.fragment"),si=Symbol.for("react.strict_mode"),pu=Symbol.for("react.profiler"),ac=Symbol.for("react.provider"),rc=Symbol.for("react.context"),ui=Symbol.for("react.forward_ref"),mu=Symbol.for("react.suspense"),gu=Symbol.for("react.suspense_list"),ii=Symbol.for("react.memo"),wa=Symbol.for("react.lazy"),oc=Symbol.for("react.offscreen"),Qd=Symbol.iterator;function Po(e){return e===null||typeof e!="object"?null:(e=Qd&&e[Qd]||e["@@iterator"],typeof e=="function"?e:null)}var Pe=Object.assign,Vs;function Bo(e){if(Vs===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\\n( *(at )?)/);Vs=t&&t[1]||""}return`\n`+Vs+e}var $s=!1;function Ks(e,t){if(!e||$s)return"";$s=!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{$s=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?Bo(e):""}function Dg(e){switch(e.tag){case 5:return Bo(e.type);case 16:return Bo("Lazy");case 13:return Bo("Suspense");case 19:return Bo("SuspenseList");case 0:case 2:case 15:return e=Ks(e.type,!1),e;case 11:return e=Ks(e.type.render,!1),e;case 1:return e=Ks(e.type,!0),e;default:return""}}function hu(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 Or:return"Fragment";case Br:return"Portal";case pu:return"Profiler";case si:return"StrictMode";case mu:return"Suspense";case gu:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case rc:return(e.displayName||"Context")+".Consumer";case ac:return(e._context.displayName||"Context")+".Provider";case ui:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ii:return t=e.displayName||null,t!==null?t:hu(e.type)||"Memo";case wa:t=e._payload,e=e._init;try{return hu(e(t))}catch{}}return null}function Ag(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 hu(t);case 8:return t===si?"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 Ua(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Mg(e){var t=nc(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 Zn(e){e._valueTracker||(e._valueTracker=Mg(e))}function lc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=nc(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function bl(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 xu(e,t){var a=t.checked;return Pe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function Yd(e,t){var a=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;a=Ua(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 sc(e,t){t=t.checked,t!=null&&li(e,"checked",t,!1)}function vu(e,t){sc(e,t);var a=Ua(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")?yu(e,t.type,a):t.hasOwnProperty("defaultValue")&&yu(e,t.type,Ua(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Zd(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 yu(e,t,a){(t!=="number"||bl(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var Oo=Array.isArray;function Gr(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=""+Ua(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 Lu(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(T(91));return Pe({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Jd(e,t){var a=t.value;if(a==null){if(a=t.children,t=t.defaultValue,a!=null){if(t!=null)throw Error(T(92));if(Oo(a)){if(1<a.length)throw Error(T(93));a=a[0]}t=a}t==null&&(t=""),a=t}e._wrapperState={initialValue:Ua(a)}}function uc(e,t){var a=Ua(t.value),r=Ua(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 ef(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function ic(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 Su(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?ic(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Jn,dc=(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(Jn=Jn||document.createElement("div"),Jn.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Jn.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Xo(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var No={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},Eg=["Webkit","ms","Moz","O"];Object.keys(No).forEach(function(e){Eg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),No[t]=No[e]})});function fc(e,t,a){return t==null||typeof t=="boolean"||t===""?"":a||typeof t!="number"||t===0||No.hasOwnProperty(e)&&No[e]?(""+t).trim():t+"px"}function cc(e,t){e=e.style;for(var a in t)if(t.hasOwnProperty(a)){var r=a.indexOf("--")===0,o=fc(a,t[a],r);a==="float"&&(a="cssFloat"),r?e.setProperty(a,o):e[a]=o}}var Fg=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 Iu(e,t){if(t){if(Fg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(T(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(T(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(T(61))}if(t.style!=null&&typeof t.style!="object")throw Error(T(62))}}function Cu(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 wu=null;function di(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ku=null,jr=null,Xr=null;function tf(e){if(e=mn(e)){if(typeof ku!="function")throw Error(T(280));var t=e.stateNode;t&&(t=es(t),ku(e.stateNode,e.type,t))}}function pc(e){jr?Xr?Xr.push(e):Xr=[e]:jr=e}function mc(){if(jr){var e=jr,t=Xr;if(Xr=jr=null,tf(e),t)for(e=0;e<t.length;e++)tf(t[e])}}function gc(e,t){return e(t)}function hc(){}var Gs=!1;function xc(e,t,a){if(Gs)return e(t,a);Gs=!0;try{return gc(e,t,a)}finally{Gs=!1,(jr!==null||Xr!==null)&&(hc(),mc())}}function Qo(e,t){var a=e.stateNode;if(a===null)return null;var r=es(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(T(231,t,typeof a));return a}var bu=!1;if(da)try{Er={},Object.defineProperty(Er,"passive",{get:function(){bu=!0}}),window.addEventListener("test",Er,Er),window.removeEventListener("test",Er,Er)}catch{bu=!1}var Er;function Bg(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 Ho=!1,Pl=null,Tl=!1,Pu=null,Og={onError:function(e){Ho=!0,Pl=e}};function zg(e,t,a,r,o,n,l,s,u){Ho=!1,Pl=null,Bg.apply(Og,arguments)}function Ug(e,t,a,r,o,n,l,s,u){if(zg.apply(this,arguments),Ho){if(Ho){var d=Pl;Ho=!1,Pl=null}else throw Error(T(198));Tl||(Tl=!0,Pu=d)}}function pr(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 vc(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 af(e){if(pr(e)!==e)throw Error(T(188))}function Ng(e){var t=e.alternate;if(!t){if(t=pr(e),t===null)throw Error(T(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 af(o),e;if(n===r)return af(o),t;n=n.sibling}throw Error(T(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(T(189))}}if(a.alternate!==r)throw Error(T(190))}if(a.tag!==3)throw Error(T(188));return a.stateNode.current===a?e:t}function yc(e){return e=Ng(e),e!==null?Lc(e):null}function Lc(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Lc(e);if(t!==null)return t;e=e.sibling}return null}var Sc=ct.unstable_scheduleCallback,rf=ct.unstable_cancelCallback,Hg=ct.unstable_shouldYield,_g=ct.unstable_requestPaint,Re=ct.unstable_now,qg=ct.unstable_getCurrentPriorityLevel,fi=ct.unstable_ImmediatePriority,Ic=ct.unstable_UserBlockingPriority,Rl=ct.unstable_NormalPriority,Wg=ct.unstable_LowPriority,Cc=ct.unstable_IdlePriority,Ql=null,Yt=null;function Vg(e){if(Yt&&typeof Yt.onCommitFiberRoot=="function")try{Yt.onCommitFiberRoot(Ql,e,void 0,(e.current.flags&128)===128)}catch{}}var Nt=Math.clz32?Math.clz32:Gg,$g=Math.log,Kg=Math.LN2;function Gg(e){return e>>>=0,e===0?32:31-($g(e)/Kg|0)|0}var el=64,tl=4194304;function zo(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 Dl(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=zo(s):(n&=l,n!==0&&(r=zo(n)))}else l=a&~o,l!==0?r=zo(l):n!==0&&(r=zo(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-Nt(t),o=1<<a,r|=e[a],t&=~o;return r}function jg(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 Xg(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,n=e.pendingLanes;0<n;){var l=31-Nt(n),s=1<<l,u=o[l];u===-1?((s&a)===0||(s&r)!==0)&&(o[l]=jg(s,t)):u<=t&&(e.expiredLanes|=s),n&=~s}}function Tu(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function wc(){var e=el;return el<<=1,(el&4194240)===0&&(el=64),e}function js(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function cn(e,t,a){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Nt(t),e[t]=a}function Qg(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-Nt(a),n=1<<o;t[o]=0,r[o]=-1,e[o]=-1,a&=~n}}function ci(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-Nt(a),o=1<<r;o&t|e[r]&t&&(e[r]|=t),a&=~o}}var ge=0;function kc(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var bc,pi,Pc,Tc,Rc,Ru=!1,al=[],Da=null,Aa=null,Ma=null,Yo=new Map,Zo=new Map,ba=[],Yg="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 of(e,t){switch(e){case"focusin":case"focusout":Da=null;break;case"dragenter":case"dragleave":Aa=null;break;case"mouseover":case"mouseout":Ma=null;break;case"pointerover":case"pointerout":Yo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Zo.delete(t.pointerId)}}function To(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=mn(t),t!==null&&pi(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function Zg(e,t,a,r,o){switch(t){case"focusin":return Da=To(Da,e,t,a,r,o),!0;case"dragenter":return Aa=To(Aa,e,t,a,r,o),!0;case"mouseover":return Ma=To(Ma,e,t,a,r,o),!0;case"pointerover":var n=o.pointerId;return Yo.set(n,To(Yo.get(n)||null,e,t,a,r,o)),!0;case"gotpointercapture":return n=o.pointerId,Zo.set(n,To(Zo.get(n)||null,e,t,a,r,o)),!0}return!1}function Dc(e){var t=ar(e.target);if(t!==null){var a=pr(t);if(a!==null){if(t=a.tag,t===13){if(t=vc(a),t!==null){e.blockedOn=t,Rc(e.priority,function(){Pc(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 hl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Du(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);wu=r,a.target.dispatchEvent(r),wu=null}else return t=mn(a),t!==null&&pi(t),e.blockedOn=a,!1;t.shift()}return!0}function nf(e,t,a){hl(e)&&a.delete(t)}function Jg(){Ru=!1,Da!==null&&hl(Da)&&(Da=null),Aa!==null&&hl(Aa)&&(Aa=null),Ma!==null&&hl(Ma)&&(Ma=null),Yo.forEach(nf),Zo.forEach(nf)}function Ro(e,t){e.blockedOn===t&&(e.blockedOn=null,Ru||(Ru=!0,ct.unstable_scheduleCallback(ct.unstable_NormalPriority,Jg)))}function Jo(e){function t(o){return Ro(o,e)}if(0<al.length){Ro(al[0],e);for(var a=1;a<al.length;a++){var r=al[a];r.blockedOn===e&&(r.blockedOn=null)}}for(Da!==null&&Ro(Da,e),Aa!==null&&Ro(Aa,e),Ma!==null&&Ro(Ma,e),Yo.forEach(t),Zo.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);)Dc(a),a.blockedOn===null&&ba.shift()}var Qr=ma.ReactCurrentBatchConfig,Al=!0;function eh(e,t,a,r){var o=ge,n=Qr.transition;Qr.transition=null;try{ge=1,mi(e,t,a,r)}finally{ge=o,Qr.transition=n}}function th(e,t,a,r){var o=ge,n=Qr.transition;Qr.transition=null;try{ge=4,mi(e,t,a,r)}finally{ge=o,Qr.transition=n}}function mi(e,t,a,r){if(Al){var o=Du(e,t,a,r);if(o===null)tu(e,t,r,Ml,a),of(e,r);else if(Zg(o,e,t,a,r))r.stopPropagation();else if(of(e,r),t&4&&-1<Yg.indexOf(e)){for(;o!==null;){var n=mn(o);if(n!==null&&bc(n),n=Du(e,t,a,r),n===null&&tu(e,t,r,Ml,a),n===o)break;o=n}o!==null&&r.stopPropagation()}else tu(e,t,r,null,a)}}var Ml=null;function Du(e,t,a,r){if(Ml=null,e=di(r),e=ar(e),e!==null)if(t=pr(e),t===null)e=null;else if(a=t.tag,a===13){if(e=vc(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 Ml=e,null}function Ac(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(qg()){case fi:return 1;case Ic:return 4;case Rl:case Wg:return 16;case Cc:return 536870912;default:return 16}default:return 16}}var Ta=null,gi=null,xl=null;function Mc(){if(xl)return xl;var e,t=gi,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 xl=o.slice(e,1<r?1-r:void 0)}function vl(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 rl(){return!0}function lf(){return!1}function pt(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)?rl:lf,this.isPropagationStopped=lf,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=rl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=rl)},persist:function(){},isPersistent:rl}),t}var lo={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},hi=pt(lo),pn=Pe({},lo,{view:0,detail:0}),ah=pt(pn),Xs,Qs,Do,Yl=Pe({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:xi,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"?(Xs=e.screenX-Do.screenX,Qs=e.screenY-Do.screenY):Qs=Xs=0,Do=e),Xs)},movementY:function(e){return"movementY"in e?e.movementY:Qs}}),sf=pt(Yl),rh=Pe({},Yl,{dataTransfer:0}),oh=pt(rh),nh=Pe({},pn,{relatedTarget:0}),Ys=pt(nh),lh=Pe({},lo,{animationName:0,elapsedTime:0,pseudoElement:0}),sh=pt(lh),uh=Pe({},lo,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),ih=pt(uh),dh=Pe({},lo,{data:0}),uf=pt(dh),fh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ch={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"},ph={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function mh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=ph[e])?!!t[e]:!1}function xi(){return mh}var gh=Pe({},pn,{key:function(e){if(e.key){var t=fh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=vl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?ch[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:xi,charCode:function(e){return e.type==="keypress"?vl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?vl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),hh=pt(gh),xh=Pe({},Yl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),df=pt(xh),vh=Pe({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:xi}),yh=pt(vh),Lh=Pe({},lo,{propertyName:0,elapsedTime:0,pseudoElement:0}),Sh=pt(Lh),Ih=Pe({},Yl,{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}),Ch=pt(Ih),wh=[9,13,27,32],vi=da&&"CompositionEvent"in window,_o=null;da&&"documentMode"in document&&(_o=document.documentMode);var kh=da&&"TextEvent"in window&&!_o,Ec=da&&(!vi||_o&&8<_o&&11>=_o),ff=" ",cf=!1;function Fc(e,t){switch(e){case"keyup":return wh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var zr=!1;function bh(e,t){switch(e){case"compositionend":return Bc(t);case"keypress":return t.which!==32?null:(cf=!0,ff);case"textInput":return e=t.data,e===ff&&cf?null:e;default:return null}}function Ph(e,t){if(zr)return e==="compositionend"||!vi&&Fc(e,t)?(e=Mc(),xl=gi=Ta=null,zr=!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 Ec&&t.locale!=="ko"?null:t.data;default:return null}}var Th={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 pf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Th[e.type]:t==="textarea"}function Oc(e,t,a,r){pc(r),t=El(t,"onChange"),0<t.length&&(a=new hi("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var qo=null,en=null;function Rh(e){Gc(e,0)}function Zl(e){var t=Hr(e);if(lc(t))return e}function Dh(e,t){if(e==="change")return t}var zc=!1;da&&(da?(nl="oninput"in document,nl||(Zs=document.createElement("div"),Zs.setAttribute("oninput","return;"),nl=typeof Zs.oninput=="function"),ol=nl):ol=!1,zc=ol&&(!document.documentMode||9<document.documentMode));var ol,nl,Zs;function mf(){qo&&(qo.detachEvent("onpropertychange",Uc),en=qo=null)}function Uc(e){if(e.propertyName==="value"&&Zl(en)){var t=[];Oc(t,en,e,di(e)),xc(Rh,t)}}function Ah(e,t,a){e==="focusin"?(mf(),qo=t,en=a,qo.attachEvent("onpropertychange",Uc)):e==="focusout"&&mf()}function Mh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Zl(en)}function Eh(e,t){if(e==="click")return Zl(t)}function Fh(e,t){if(e==="input"||e==="change")return Zl(t)}function Bh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var _t=typeof Object.is=="function"?Object.is:Bh;function tn(e,t){if(_t(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(!cu.call(t,o)||!_t(e[o],t[o]))return!1}return!0}function gf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hf(e,t){var a=gf(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=gf(a)}}function Nc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Nc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Hc(){for(var e=window,t=bl();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=bl(e.document)}return t}function yi(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 Oh(e){var t=Hc(),a=e.focusedElem,r=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&Nc(a.ownerDocument.documentElement,a)){if(r!==null&&yi(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=hf(a,n);var l=hf(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 zh=da&&"documentMode"in document&&11>=document.documentMode,Ur=null,Au=null,Wo=null,Mu=!1;function xf(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Mu||Ur==null||Ur!==bl(r)||(r=Ur,"selectionStart"in r&&yi(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}),Wo&&tn(Wo,r)||(Wo=r,r=El(Au,"onSelect"),0<r.length&&(t=new hi("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=Ur)))}function ll(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Nr={animationend:ll("Animation","AnimationEnd"),animationiteration:ll("Animation","AnimationIteration"),animationstart:ll("Animation","AnimationStart"),transitionend:ll("Transition","TransitionEnd")},Js={},_c={};da&&(_c=document.createElement("div").style,"AnimationEvent"in window||(delete Nr.animationend.animation,delete Nr.animationiteration.animation,delete Nr.animationstart.animation),"TransitionEvent"in window||delete Nr.transitionend.transition);function Jl(e){if(Js[e])return Js[e];if(!Nr[e])return e;var t=Nr[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in _c)return Js[e]=t[a];return e}var qc=Jl("animationend"),Wc=Jl("animationiteration"),Vc=Jl("animationstart"),$c=Jl("transitionend"),Kc=new Map,vf="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 Ha(e,t){Kc.set(e,t),cr(t,[e])}for(sl=0;sl<vf.length;sl++)ul=vf[sl],yf=ul.toLowerCase(),Lf=ul[0].toUpperCase()+ul.slice(1),Ha(yf,"on"+Lf);var ul,yf,Lf,sl;Ha(qc,"onAnimationEnd");Ha(Wc,"onAnimationIteration");Ha(Vc,"onAnimationStart");Ha("dblclick","onDoubleClick");Ha("focusin","onFocus");Ha("focusout","onBlur");Ha($c,"onTransitionEnd");Jr("onMouseEnter",["mouseout","mouseover"]);Jr("onMouseLeave",["mouseout","mouseover"]);Jr("onPointerEnter",["pointerout","pointerover"]);Jr("onPointerLeave",["pointerout","pointerover"]);cr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));cr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));cr("onBeforeInput",["compositionend","keypress","textInput","paste"]);cr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));cr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));cr("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(" "),Uh=new Set("cancel close invalid load scroll toggle".split(" ").concat(Uo));function Sf(e,t,a){var r=e.type||"unknown-event";e.currentTarget=a,Ug(r,t,void 0,e),e.currentTarget=null}function Gc(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;Sf(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;Sf(o,s,d),n=u}}}if(Tl)throw e=Pu,Tl=!1,Pu=null,e}function Se(e,t){var a=t[zu];a===void 0&&(a=t[zu]=new Set);var r=e+"__bubble";a.has(r)||(jc(t,e,2,!1),a.add(r))}function eu(e,t,a){var r=0;t&&(r|=4),jc(a,e,r,t)}var il="_reactListening"+Math.random().toString(36).slice(2);function an(e){if(!e[il]){e[il]=!0,tc.forEach(function(a){a!=="selectionchange"&&(Uh.has(a)||eu(a,!1,e),eu(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[il]||(t[il]=!0,eu("selectionchange",!1,t))}}function jc(e,t,a,r){switch(Ac(t)){case 1:var o=eh;break;case 4:o=th;break;default:o=mi}a=o.bind(null,t,a,e),o=void 0,!bu||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 tu(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=ar(s),l===null)return;if(u=l.tag,u===5||u===6){r=n=l;continue e}s=s.parentNode}}r=r.return}xc(function(){var d=n,g=di(a),m=[];e:{var p=Kc.get(e);if(p!==void 0){var h=hi,y=e;switch(e){case"keypress":if(vl(a)===0)break e;case"keydown":case"keyup":h=hh;break;case"focusin":y="focus",h=Ys;break;case"focusout":y="blur",h=Ys;break;case"beforeblur":case"afterblur":h=Ys;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":h=sf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":h=oh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":h=yh;break;case qc:case Wc:case Vc:h=sh;break;case $c:h=Sh;break;case"scroll":h=ah;break;case"wheel":h=Ch;break;case"copy":case"cut":case"paste":h=ih;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":h=df}var I=(t&4)!==0,O=!I&&e==="scroll",c=I?p!==null?p+"Capture":null:p;I=[];for(var i=d,f;i!==null;){f=i;var v=f.stateNode;if(f.tag===5&&v!==null&&(f=v,c!==null&&(v=Qo(i,c),v!=null&&I.push(rn(i,v,f)))),O)break;i=i.return}0<I.length&&(p=new h(p,y,null,a,g),m.push({event:p,listeners:I}))}}if((t&7)===0){e:{if(p=e==="mouseover"||e==="pointerover",h=e==="mouseout"||e==="pointerout",p&&a!==wu&&(y=a.relatedTarget||a.fromElement)&&(ar(y)||y[fa]))break e;if((h||p)&&(p=g.window===g?g:(p=g.ownerDocument)?p.defaultView||p.parentWindow:window,h?(y=a.relatedTarget||a.toElement,h=d,y=y?ar(y):null,y!==null&&(O=pr(y),y!==O||y.tag!==5&&y.tag!==6)&&(y=null)):(h=null,y=d),h!==y)){if(I=sf,v="onMouseLeave",c="onMouseEnter",i="mouse",(e==="pointerout"||e==="pointerover")&&(I=df,v="onPointerLeave",c="onPointerEnter",i="pointer"),O=h==null?p:Hr(h),f=y==null?p:Hr(y),p=new I(v,i+"leave",h,a,g),p.target=O,p.relatedTarget=f,v=null,ar(g)===d&&(I=new I(c,i+"enter",y,a,g),I.target=f,I.relatedTarget=O,v=I),O=v,h&&y)t:{for(I=h,c=y,i=0,f=I;f;f=Fr(f))i++;for(f=0,v=c;v;v=Fr(v))f++;for(;0<i-f;)I=Fr(I),i--;for(;0<f-i;)c=Fr(c),f--;for(;i--;){if(I===c||c!==null&&I===c.alternate)break t;I=Fr(I),c=Fr(c)}I=null}else I=null;h!==null&&If(m,p,h,I,!1),y!==null&&O!==null&&If(m,O,y,I,!0)}}e:{if(p=d?Hr(d):window,h=p.nodeName&&p.nodeName.toLowerCase(),h==="select"||h==="input"&&p.type==="file")var k=Dh;else if(pf(p))if(zc)k=Fh;else{k=Mh;var b=Ah}else(h=p.nodeName)&&h.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(k=Eh);if(k&&(k=k(e,d))){Oc(m,k,a,g);break e}b&&b(e,p,d),e==="focusout"&&(b=p._wrapperState)&&b.controlled&&p.type==="number"&&yu(p,"number",p.value)}switch(b=d?Hr(d):window,e){case"focusin":(pf(b)||b.contentEditable==="true")&&(Ur=b,Au=d,Wo=null);break;case"focusout":Wo=Au=Ur=null;break;case"mousedown":Mu=!0;break;case"contextmenu":case"mouseup":case"dragend":Mu=!1,xf(m,a,g);break;case"selectionchange":if(zh)break;case"keydown":case"keyup":xf(m,a,g)}var L;if(vi)e:{switch(e){case"compositionstart":var C="onCompositionStart";break e;case"compositionend":C="onCompositionEnd";break e;case"compositionupdate":C="onCompositionUpdate";break e}C=void 0}else zr?Fc(e,a)&&(C="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(C="onCompositionStart");C&&(Ec&&a.locale!=="ko"&&(zr||C!=="onCompositionStart"?C==="onCompositionEnd"&&zr&&(L=Mc()):(Ta=g,gi="value"in Ta?Ta.value:Ta.textContent,zr=!0)),b=El(d,C),0<b.length&&(C=new uf(C,e,null,a,g),m.push({event:C,listeners:b}),L?C.data=L:(L=Bc(a),L!==null&&(C.data=L)))),(L=kh?bh(e,a):Ph(e,a))&&(d=El(d,"onBeforeInput"),0<d.length&&(g=new uf("onBeforeInput","beforeinput",null,a,g),m.push({event:g,listeners:d}),g.data=L))}Gc(m,t)})}function rn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function El(e,t){for(var a=t+"Capture",r=[];e!==null;){var o=e,n=o.stateNode;o.tag===5&&n!==null&&(o=n,n=Qo(e,a),n!=null&&r.unshift(rn(e,n,o)),n=Qo(e,t),n!=null&&r.push(rn(e,n,o))),e=e.return}return r}function Fr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function If(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=Qo(a,n),u!=null&&l.unshift(rn(a,u,s))):o||(u=Qo(a,n),u!=null&&l.push(rn(a,u,s)))),a=a.return}l.length!==0&&e.push({event:t,listeners:l})}var Nh=/\\r\\n?/g,Hh=/\\u0000|\\uFFFD/g;function Cf(e){return(typeof e=="string"?e:""+e).replace(Nh,`\n`).replace(Hh,"")}function dl(e,t,a){if(t=Cf(t),Cf(e)!==t&&a)throw Error(T(425))}function Fl(){}var Eu=null,Fu=null;function Bu(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 Ou=typeof setTimeout=="function"?setTimeout:void 0,_h=typeof clearTimeout=="function"?clearTimeout:void 0,wf=typeof Promise=="function"?Promise:void 0,qh=typeof queueMicrotask=="function"?queueMicrotask:typeof wf<"u"?function(e){return wf.resolve(null).then(e).catch(Wh)}:Ou;function Wh(e){setTimeout(function(){throw e})}function au(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),Jo(t);return}r--}else a!=="$"&&a!=="$?"&&a!=="$!"||r++;a=o}while(a);Jo(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 kf(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 so=Math.random().toString(36).slice(2),Qt="__reactFiber$"+so,on="__reactProps$"+so,fa="__reactContainer$"+so,zu="__reactEvents$"+so,Vh="__reactListeners$"+so,$h="__reactHandles$"+so;function ar(e){var t=e[Qt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[fa]||a[Qt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=kf(e);e!==null;){if(a=e[Qt])return a;e=kf(e)}return t}e=a,a=e.parentNode}return null}function mn(e){return e=e[Qt]||e[fa],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Hr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(T(33))}function es(e){return e[on]||null}var Uu=[],_r=-1;function _a(e){return{current:e}}function Ie(e){0>_r||(e.current=Uu[_r],Uu[_r]=null,_r--)}function Le(e,t){_r++,Uu[_r]=e.current,e.current=t}var Na={},je=_a(Na),rt=_a(!1),sr=Na;function eo(e,t){var a=e.type.contextTypes;if(!a)return Na;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 ot(e){return e=e.childContextTypes,e!=null}function Bl(){Ie(rt),Ie(je)}function bf(e,t,a){if(je.current!==Na)throw Error(T(168));Le(je,t),Le(rt,a)}function Xc(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(T(108,Ag(e)||"Unknown",o));return Pe({},a,r)}function Ol(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Na,sr=je.current,Le(je,e),Le(rt,rt.current),!0}function Pf(e,t,a){var r=e.stateNode;if(!r)throw Error(T(169));a?(e=Xc(e,t,sr),r.__reactInternalMemoizedMergedChildContext=e,Ie(rt),Ie(je),Le(je,e)):Ie(rt),Le(rt,a)}var la=null,ts=!1,ru=!1;function Qc(e){la===null?la=[e]:la.push(e)}function Kh(e){ts=!0,Qc(e)}function qa(){if(!ru&&la!==null){ru=!0;var e=0,t=ge;try{var a=la;for(ge=1;e<a.length;e++){var r=a[e];do r=r(!0);while(r!==null)}la=null,ts=!1}catch(o){throw la!==null&&(la=la.slice(e+1)),Sc(fi,qa),o}finally{ge=t,ru=!1}}return null}var qr=[],Wr=0,zl=null,Ul=0,Ct=[],wt=0,ur=null,sa=1,ua="";function er(e,t){qr[Wr++]=Ul,qr[Wr++]=zl,zl=e,Ul=t}function Yc(e,t,a){Ct[wt++]=sa,Ct[wt++]=ua,Ct[wt++]=ur,ur=e;var r=sa;e=ua;var o=32-Nt(r)-1;r&=~(1<<o),a+=1;var n=32-Nt(t)+o;if(30<n){var l=o-o%5;n=(r&(1<<l)-1).toString(32),r>>=l,o-=l,sa=1<<32-Nt(t)+o|a<<o|r,ua=n+e}else sa=1<<n|a<<o|r,ua=e}function Li(e){e.return!==null&&(er(e,1),Yc(e,1,0))}function Si(e){for(;e===zl;)zl=qr[--Wr],qr[Wr]=null,Ul=qr[--Wr],qr[Wr]=null;for(;e===ur;)ur=Ct[--wt],Ct[wt]=null,ua=Ct[--wt],Ct[wt]=null,sa=Ct[--wt],Ct[wt]=null}var ft=null,dt=null,we=!1,Ut=null;function Zc(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 Tf(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,ft=e,dt=Ea(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,ft=e,dt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=ur!==null?{id:sa,overflow:ua}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=kt(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,ft=e,dt=null,!0):!1;default:return!1}}function Nu(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Hu(e){if(we){var t=dt;if(t){var a=t;if(!Tf(e,t)){if(Nu(e))throw Error(T(418));t=Ea(a.nextSibling);var r=ft;t&&Tf(e,t)?Zc(r,a):(e.flags=e.flags&-4097|2,we=!1,ft=e)}}else{if(Nu(e))throw Error(T(418));e.flags=e.flags&-4097|2,we=!1,ft=e}}}function Rf(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ft=e}function fl(e){if(e!==ft)return!1;if(!we)return Rf(e),we=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Bu(e.type,e.memoizedProps)),t&&(t=dt)){if(Nu(e))throw Jc(),Error(T(418));for(;t;)Zc(e,t),t=Ea(t.nextSibling)}if(Rf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(T(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){dt=Ea(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}dt=null}}else dt=ft?Ea(e.stateNode.nextSibling):null;return!0}function Jc(){for(var e=dt;e;)e=Ea(e.nextSibling)}function to(){dt=ft=null,we=!1}function Ii(e){Ut===null?Ut=[e]:Ut.push(e)}var Gh=ma.ReactCurrentBatchConfig;function Ao(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(T(309));var r=a.stateNode}if(!r)throw Error(T(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(T(284));if(!a._owner)throw Error(T(290,e))}return e}function cl(e,t){throw e=Object.prototype.toString.call(t),Error(T(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Df(e){var t=e._init;return t(e._payload)}function ep(e){function t(c,i){if(e){var f=c.deletions;f===null?(c.deletions=[i],c.flags|=16):f.push(i)}}function a(c,i){if(!e)return null;for(;i!==null;)t(c,i),i=i.sibling;return null}function r(c,i){for(c=new Map;i!==null;)i.key!==null?c.set(i.key,i):c.set(i.index,i),i=i.sibling;return c}function o(c,i){return c=za(c,i),c.index=0,c.sibling=null,c}function n(c,i,f){return c.index=f,e?(f=c.alternate,f!==null?(f=f.index,f<i?(c.flags|=2,i):f):(c.flags|=2,i)):(c.flags|=1048576,i)}function l(c){return e&&c.alternate===null&&(c.flags|=2),c}function s(c,i,f,v){return i===null||i.tag!==6?(i=du(f,c.mode,v),i.return=c,i):(i=o(i,f),i.return=c,i)}function u(c,i,f,v){var k=f.type;return k===Or?g(c,i,f.props.children,v,f.key):i!==null&&(i.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===wa&&Df(k)===i.type)?(v=o(i,f.props),v.ref=Ao(c,i,f),v.return=c,v):(v=kl(f.type,f.key,f.props,null,c.mode,v),v.ref=Ao(c,i,f),v.return=c,v)}function d(c,i,f,v){return i===null||i.tag!==4||i.stateNode.containerInfo!==f.containerInfo||i.stateNode.implementation!==f.implementation?(i=fu(f,c.mode,v),i.return=c,i):(i=o(i,f.children||[]),i.return=c,i)}function g(c,i,f,v,k){return i===null||i.tag!==7?(i=lr(f,c.mode,v,k),i.return=c,i):(i=o(i,f),i.return=c,i)}function m(c,i,f){if(typeof i=="string"&&i!==""||typeof i=="number")return i=du(""+i,c.mode,f),i.return=c,i;if(typeof i=="object"&&i!==null){switch(i.$$typeof){case Yn:return f=kl(i.type,i.key,i.props,null,c.mode,f),f.ref=Ao(c,null,i),f.return=c,f;case Br:return i=fu(i,c.mode,f),i.return=c,i;case wa:var v=i._init;return m(c,v(i._payload),f)}if(Oo(i)||Po(i))return i=lr(i,c.mode,f,null),i.return=c,i;cl(c,i)}return null}function p(c,i,f,v){var k=i!==null?i.key:null;if(typeof f=="string"&&f!==""||typeof f=="number")return k!==null?null:s(c,i,""+f,v);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case Yn:return f.key===k?u(c,i,f,v):null;case Br:return f.key===k?d(c,i,f,v):null;case wa:return k=f._init,p(c,i,k(f._payload),v)}if(Oo(f)||Po(f))return k!==null?null:g(c,i,f,v,null);cl(c,f)}return null}function h(c,i,f,v,k){if(typeof v=="string"&&v!==""||typeof v=="number")return c=c.get(f)||null,s(i,c,""+v,k);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case Yn:return c=c.get(v.key===null?f:v.key)||null,u(i,c,v,k);case Br:return c=c.get(v.key===null?f:v.key)||null,d(i,c,v,k);case wa:var b=v._init;return h(c,i,f,b(v._payload),k)}if(Oo(v)||Po(v))return c=c.get(f)||null,g(i,c,v,k,null);cl(i,v)}return null}function y(c,i,f,v){for(var k=null,b=null,L=i,C=i=0,w=null;L!==null&&C<f.length;C++){L.index>C?(w=L,L=null):w=L.sibling;var R=p(c,L,f[C],v);if(R===null){L===null&&(L=w);break}e&&L&&R.alternate===null&&t(c,L),i=n(R,i,C),b===null?k=R:b.sibling=R,b=R,L=w}if(C===f.length)return a(c,L),we&&er(c,C),k;if(L===null){for(;C<f.length;C++)L=m(c,f[C],v),L!==null&&(i=n(L,i,C),b===null?k=L:b.sibling=L,b=L);return we&&er(c,C),k}for(L=r(c,L);C<f.length;C++)w=h(L,c,C,f[C],v),w!==null&&(e&&w.alternate!==null&&L.delete(w.key===null?C:w.key),i=n(w,i,C),b===null?k=w:b.sibling=w,b=w);return e&&L.forEach(function(D){return t(c,D)}),we&&er(c,C),k}function I(c,i,f,v){var k=Po(f);if(typeof k!="function")throw Error(T(150));if(f=k.call(f),f==null)throw Error(T(151));for(var b=k=null,L=i,C=i=0,w=null,R=f.next();L!==null&&!R.done;C++,R=f.next()){L.index>C?(w=L,L=null):w=L.sibling;var D=p(c,L,R.value,v);if(D===null){L===null&&(L=w);break}e&&L&&D.alternate===null&&t(c,L),i=n(D,i,C),b===null?k=D:b.sibling=D,b=D,L=w}if(R.done)return a(c,L),we&&er(c,C),k;if(L===null){for(;!R.done;C++,R=f.next())R=m(c,R.value,v),R!==null&&(i=n(R,i,C),b===null?k=R:b.sibling=R,b=R);return we&&er(c,C),k}for(L=r(c,L);!R.done;C++,R=f.next())R=h(L,c,C,R.value,v),R!==null&&(e&&R.alternate!==null&&L.delete(R.key===null?C:R.key),i=n(R,i,C),b===null?k=R:b.sibling=R,b=R);return e&&L.forEach(function(N){return t(c,N)}),we&&er(c,C),k}function O(c,i,f,v){if(typeof f=="object"&&f!==null&&f.type===Or&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case Yn:e:{for(var k=f.key,b=i;b!==null;){if(b.key===k){if(k=f.type,k===Or){if(b.tag===7){a(c,b.sibling),i=o(b,f.props.children),i.return=c,c=i;break e}}else if(b.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===wa&&Df(k)===b.type){a(c,b.sibling),i=o(b,f.props),i.ref=Ao(c,b,f),i.return=c,c=i;break e}a(c,b);break}else t(c,b);b=b.sibling}f.type===Or?(i=lr(f.props.children,c.mode,v,f.key),i.return=c,c=i):(v=kl(f.type,f.key,f.props,null,c.mode,v),v.ref=Ao(c,i,f),v.return=c,c=v)}return l(c);case Br:e:{for(b=f.key;i!==null;){if(i.key===b)if(i.tag===4&&i.stateNode.containerInfo===f.containerInfo&&i.stateNode.implementation===f.implementation){a(c,i.sibling),i=o(i,f.children||[]),i.return=c,c=i;break e}else{a(c,i);break}else t(c,i);i=i.sibling}i=fu(f,c.mode,v),i.return=c,c=i}return l(c);case wa:return b=f._init,O(c,i,b(f._payload),v)}if(Oo(f))return y(c,i,f,v);if(Po(f))return I(c,i,f,v);cl(c,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,i!==null&&i.tag===6?(a(c,i.sibling),i=o(i,f),i.return=c,c=i):(a(c,i),i=du(f,c.mode,v),i.return=c,c=i),l(c)):a(c,i)}return O}var ao=ep(!0),tp=ep(!1),Nl=_a(null),Hl=null,Vr=null,Ci=null;function wi(){Ci=Vr=Hl=null}function ki(e){var t=Nl.current;Ie(Nl),e._currentValue=t}function _u(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 Yr(e,t){Hl=e,Ci=Vr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(at=!0),e.firstContext=null)}function Pt(e){var t=e._currentValue;if(Ci!==e)if(e={context:e,memoizedValue:t,next:null},Vr===null){if(Hl===null)throw Error(T(308));Vr=e,Hl.dependencies={lanes:0,firstContext:e}}else Vr=Vr.next=e;return t}var rr=null;function bi(e){rr===null?rr=[e]:rr.push(e)}function ap(e,t,a,r){var o=t.interleaved;return o===null?(a.next=a,bi(t)):(a.next=o.next,o.next=a),t.interleaved=a,ca(e,r)}function ca(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 Pi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function rp(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 ia(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,(de&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,ca(e,a)}return o=r.interleaved,o===null?(t.next=t,bi(r)):(t.next=o.next,o.next=t),r.interleaved=t,ca(e,a)}function yl(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,ci(e,a)}}function Af(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 _l(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 p=s.lane,h=s.eventTime;if((r&p)===p){g!==null&&(g=g.next={eventTime:h,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var y=e,I=s;switch(p=t,h=a,I.tag){case 1:if(y=I.payload,typeof y=="function"){m=y.call(h,m,p);break e}m=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=I.payload,p=typeof y=="function"?y.call(h,m,p):y,p==null)break e;m=Pe({},m,p);break e;case 2:ka=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=o.effects,p===null?o.effects=[s]:p.push(s))}else h={eventTime:h,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},g===null?(d=g=h,u=m):g=g.next=h,l|=p;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;p=s,s=p.next,p.next=null,o.lastBaseUpdate=p,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);dr|=l,e.lanes=l,e.memoizedState=m}}function Mf(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(T(191,o));o.call(r)}}}var gn={},Zt=_a(gn),nn=_a(gn),ln=_a(gn);function or(e){if(e===gn)throw Error(T(174));return e}function Ti(e,t){switch(Le(ln,t),Le(nn,e),Le(Zt,gn),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Su(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Su(t,e)}Ie(Zt),Le(Zt,t)}function ro(){Ie(Zt),Ie(nn),Ie(ln)}function op(e){or(ln.current);var t=or(Zt.current),a=Su(t,e.type);t!==a&&(Le(nn,e),Le(Zt,a))}function Ri(e){nn.current===e&&(Ie(Zt),Ie(nn))}var ke=_a(0);function ql(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 ou=[];function Di(){for(var e=0;e<ou.length;e++)ou[e]._workInProgressVersionPrimary=null;ou.length=0}var Ll=ma.ReactCurrentDispatcher,nu=ma.ReactCurrentBatchConfig,ir=0,be=null,Ee=null,Oe=null,Wl=!1,Vo=!1,sn=0,jh=0;function $e(){throw Error(T(321))}function Ai(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!_t(e[a],t[a]))return!1;return!0}function Mi(e,t,a,r,o,n){if(ir=n,be=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Ll.current=e===null||e.memoizedState===null?Zh:Jh,e=a(r,o),Vo){n=0;do{if(Vo=!1,sn=0,25<=n)throw Error(T(301));n+=1,Oe=Ee=null,t.updateQueue=null,Ll.current=ex,e=a(r,o)}while(Vo)}if(Ll.current=Vl,t=Ee!==null&&Ee.next!==null,ir=0,Oe=Ee=be=null,Wl=!1,t)throw Error(T(300));return e}function Ei(){var e=sn!==0;return sn=0,e}function Xt(){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(Ee===null){var e=be.alternate;e=e!==null?e.memoizedState:null}else e=Ee.next;var t=Oe===null?be.memoizedState:Oe.next;if(t!==null)Oe=t,Ee=e;else{if(e===null)throw Error(T(310));Ee=e,e={memoizedState:Ee.memoizedState,baseState:Ee.baseState,baseQueue:Ee.baseQueue,queue:Ee.queue,next:null},Oe===null?be.memoizedState=Oe=e:Oe=Oe.next=e}return Oe}function un(e,t){return typeof t=="function"?t(e):t}function lu(e){var t=Tt(),a=t.queue;if(a===null)throw Error(T(311));a.lastRenderedReducer=e;var r=Ee,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((ir&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,dr|=g}d=d.next}while(d!==null&&d!==n);u===null?l=r:u.next=s,_t(r,t.memoizedState)||(at=!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,dr|=n,o=o.next;while(o!==e)}else o===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function su(e){var t=Tt(),a=t.queue;if(a===null)throw Error(T(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);_t(n,t.memoizedState)||(at=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function np(){}function lp(e,t){var a=be,r=Tt(),o=t(),n=!_t(r.memoizedState,o);if(n&&(r.memoizedState=o,at=!0),r=r.queue,Fi(ip.bind(null,a,r,e),[e]),r.getSnapshot!==t||n||Oe!==null&&Oe.memoizedState.tag&1){if(a.flags|=2048,dn(9,up.bind(null,a,r,o,t),void 0,null),ze===null)throw Error(T(349));(ir&30)!==0||sp(a,t,o)}return o}function sp(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 up(e,t,a,r){t.value=a,t.getSnapshot=r,dp(t)&&fp(e)}function ip(e,t,a){return a(function(){dp(t)&&fp(e)})}function dp(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!_t(e,a)}catch{return!0}}function fp(e){var t=ca(e,1);t!==null&&Ht(t,e,1,-1)}function Ef(e){var t=Xt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:un,lastRenderedState:e},t.queue=e,e=e.dispatch=Yh.bind(null,be,e),[t.memoizedState,e]}function dn(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 cp(){return Tt().memoizedState}function Sl(e,t,a,r){var o=Xt();be.flags|=e,o.memoizedState=dn(1|t,a,void 0,r===void 0?null:r)}function as(e,t,a,r){var o=Tt();r=r===void 0?null:r;var n=void 0;if(Ee!==null){var l=Ee.memoizedState;if(n=l.destroy,r!==null&&Ai(r,l.deps)){o.memoizedState=dn(t,a,n,r);return}}be.flags|=e,o.memoizedState=dn(1|t,a,n,r)}function Ff(e,t){return Sl(8390656,8,e,t)}function Fi(e,t){return as(2048,8,e,t)}function pp(e,t){return as(4,2,e,t)}function mp(e,t){return as(4,4,e,t)}function gp(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 hp(e,t,a){return a=a!=null?a.concat([e]):null,as(4,4,gp.bind(null,t,e),a)}function Bi(){}function xp(e,t){var a=Tt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&Ai(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function vp(e,t){var a=Tt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&Ai(t,r[1])?r[0]:(e=e(),a.memoizedState=[e,t],e)}function yp(e,t,a){return(ir&21)===0?(e.baseState&&(e.baseState=!1,at=!0),e.memoizedState=a):(_t(a,t)||(a=wc(),be.lanes|=a,dr|=a,e.baseState=!0),t)}function Xh(e,t){var a=ge;ge=a!==0&&4>a?a:4,e(!0);var r=nu.transition;nu.transition={};try{e(!1),t()}finally{ge=a,nu.transition=r}}function Lp(){return Tt().memoizedState}function Qh(e,t,a){var r=Oa(e);if(a={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null},Sp(e))Ip(t,a);else if(a=ap(e,t,a,r),a!==null){var o=Ze();Ht(a,e,r,o),Cp(a,t,r)}}function Yh(e,t,a){var r=Oa(e),o={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null};if(Sp(e))Ip(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,_t(s,l)){var u=t.interleaved;u===null?(o.next=o,bi(t)):(o.next=u.next,u.next=o),t.interleaved=o;return}}catch{}a=ap(e,t,o,r),a!==null&&(o=Ze(),Ht(a,e,r,o),Cp(a,t,r))}}function Sp(e){var t=e.alternate;return e===be||t!==null&&t===be}function Ip(e,t){Vo=Wl=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Cp(e,t,a){if((a&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,ci(e,a)}}var Vl={readContext:Pt,useCallback:$e,useContext:$e,useEffect:$e,useImperativeHandle:$e,useInsertionEffect:$e,useLayoutEffect:$e,useMemo:$e,useReducer:$e,useRef:$e,useState:$e,useDebugValue:$e,useDeferredValue:$e,useTransition:$e,useMutableSource:$e,useSyncExternalStore:$e,useId:$e,unstable_isNewReconciler:!1},Zh={readContext:Pt,useCallback:function(e,t){return Xt().memoizedState=[e,t===void 0?null:t],e},useContext:Pt,useEffect:Ff,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,Sl(4194308,4,gp.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Sl(4194308,4,e,t)},useInsertionEffect:function(e,t){return Sl(4,2,e,t)},useMemo:function(e,t){var a=Xt();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var r=Xt();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=Qh.bind(null,be,e),[r.memoizedState,e]},useRef:function(e){var t=Xt();return e={current:e},t.memoizedState=e},useState:Ef,useDebugValue:Bi,useDeferredValue:function(e){return Xt().memoizedState=e},useTransition:function(){var e=Ef(!1),t=e[0];return e=Xh.bind(null,e[1]),Xt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var r=be,o=Xt();if(we){if(a===void 0)throw Error(T(407));a=a()}else{if(a=t(),ze===null)throw Error(T(349));(ir&30)!==0||sp(r,t,a)}o.memoizedState=a;var n={value:a,getSnapshot:t};return o.queue=n,Ff(ip.bind(null,r,n,e),[e]),r.flags|=2048,dn(9,up.bind(null,r,n,a,t),void 0,null),a},useId:function(){var e=Xt(),t=ze.identifierPrefix;if(we){var a=ua,r=sa;a=(r&~(1<<32-Nt(r)-1)).toString(32)+a,t=":"+t+"R"+a,a=sn++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=jh++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Jh={readContext:Pt,useCallback:xp,useContext:Pt,useEffect:Fi,useImperativeHandle:hp,useInsertionEffect:pp,useLayoutEffect:mp,useMemo:vp,useReducer:lu,useRef:cp,useState:function(){return lu(un)},useDebugValue:Bi,useDeferredValue:function(e){var t=Tt();return yp(t,Ee.memoizedState,e)},useTransition:function(){var e=lu(un)[0],t=Tt().memoizedState;return[e,t]},useMutableSource:np,useSyncExternalStore:lp,useId:Lp,unstable_isNewReconciler:!1},ex={readContext:Pt,useCallback:xp,useContext:Pt,useEffect:Fi,useImperativeHandle:hp,useInsertionEffect:pp,useLayoutEffect:mp,useMemo:vp,useReducer:su,useRef:cp,useState:function(){return su(un)},useDebugValue:Bi,useDeferredValue:function(e){var t=Tt();return Ee===null?t.memoizedState=e:yp(t,Ee.memoizedState,e)},useTransition:function(){var e=su(un)[0],t=Tt().memoizedState;return[e,t]},useMutableSource:np,useSyncExternalStore:lp,useId:Lp,unstable_isNewReconciler:!1};function Ot(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 qu(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 rs={isMounted:function(e){return(e=e._reactInternals)?pr(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var r=Ze(),o=Oa(e),n=ia(r,o);n.payload=t,a!=null&&(n.callback=a),t=Fa(e,n,o),t!==null&&(Ht(t,e,o,r),yl(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=Ze(),o=Oa(e),n=ia(r,o);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=Fa(e,n,o),t!==null&&(Ht(t,e,o,r),yl(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Ze(),r=Oa(e),o=ia(a,r);o.tag=2,t!=null&&(o.callback=t),t=Fa(e,o,r),t!==null&&(Ht(t,e,r,a),yl(t,e,r))}};function Bf(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?!tn(a,r)||!tn(o,n):!0}function wp(e,t,a){var r=!1,o=Na,n=t.contextType;return typeof n=="object"&&n!==null?n=Pt(n):(o=ot(t)?sr:je.current,r=t.contextTypes,n=(r=r!=null)?eo(e,o):Na),t=new t(a,n),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=rs,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=n),t}function Of(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&&rs.enqueueReplaceState(t,t.state,null)}function Wu(e,t,a,r){var o=e.stateNode;o.props=a,o.state=e.memoizedState,o.refs={},Pi(e);var n=t.contextType;typeof n=="object"&&n!==null?o.context=Pt(n):(n=ot(t)?sr:je.current,o.context=eo(e,n)),o.state=e.memoizedState,n=t.getDerivedStateFromProps,typeof n=="function"&&(qu(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&&rs.enqueueReplaceState(o,o.state,null),_l(e,a,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function oo(e,t){try{var a="",r=t;do a+=Dg(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 uu(e,t,a){return{value:e,source:null,stack:a??null,digest:t??null}}function Vu(e,t){try{console.error(t.value)}catch(a){setTimeout(function(){throw a})}}var tx=typeof WeakMap=="function"?WeakMap:Map;function kp(e,t,a){a=ia(-1,a),a.tag=3,a.payload={element:null};var r=t.value;return a.callback=function(){Kl||(Kl=!0,ei=r),Vu(e,t)},a}function bp(e,t,a){a=ia(-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(){Vu(e,t)}}var n=e.stateNode;return n!==null&&typeof n.componentDidCatch=="function"&&(a.callback=function(){Vu(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 zf(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new tx;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=gx.bind(null,e,t,a),t.then(e,e))}function Uf(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 Nf(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=ia(-1,1),t.tag=2,Fa(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var ax=ma.ReactCurrentOwner,at=!1;function Ye(e,t,a,r){t.child=e===null?tp(t,null,a,r):ao(t,e.child,a,r)}function Hf(e,t,a,r,o){a=a.render;var n=t.ref;return Yr(t,o),r=Mi(e,t,a,r,n,o),a=Ei(),e!==null&&!at?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,pa(e,t,o)):(we&&a&&Li(t),t.flags|=1,Ye(e,t,r,o),t.child)}function _f(e,t,a,r,o){if(e===null){var n=a.type;return typeof n=="function"&&!Wi(n)&&n.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(t.tag=15,t.type=n,Pp(e,t,n,r,o)):(e=kl(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:tn,a(l,r)&&e.ref===t.ref)return pa(e,t,o)}return t.flags|=1,e=za(n,r),e.ref=t.ref,e.return=t,t.child=e}function Pp(e,t,a,r,o){if(e!==null){var n=e.memoizedProps;if(tn(n,r)&&e.ref===t.ref)if(at=!1,t.pendingProps=r=n,(e.lanes&o)!==0)(e.flags&131072)!==0&&(at=!0);else return t.lanes=e.lanes,pa(e,t,o)}return $u(e,t,a,r,o)}function Tp(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(Kr,it),it|=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(Kr,it),it|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=n!==null?n.baseLanes:a,Le(Kr,it),it|=r}else n!==null?(r=n.baseLanes|a,t.memoizedState=null):r=a,Le(Kr,it),it|=r;return Ye(e,t,o,a),t.child}function Rp(e,t){var a=t.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function $u(e,t,a,r,o){var n=ot(a)?sr:je.current;return n=eo(t,n),Yr(t,o),a=Mi(e,t,a,r,n,o),r=Ei(),e!==null&&!at?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,pa(e,t,o)):(we&&r&&Li(t),t.flags|=1,Ye(e,t,a,o),t.child)}function qf(e,t,a,r,o){if(ot(a)){var n=!0;Ol(t)}else n=!1;if(Yr(t,o),t.stateNode===null)Il(e,t),wp(t,a,r),Wu(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=ot(a)?sr:je.current,d=eo(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)&&Of(t,l,r,d),ka=!1;var p=t.memoizedState;l.state=p,_l(t,r,l,o),u=t.memoizedState,s!==r||p!==u||rt.current||ka?(typeof g=="function"&&(qu(t,a,g,r),u=t.memoizedState),(s=ka||Bf(t,a,s,r,p,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,rp(e,t),s=t.memoizedProps,d=t.type===t.elementType?s:Ot(t.type,s),l.props=d,m=t.pendingProps,p=l.context,u=a.contextType,typeof u=="object"&&u!==null?u=Pt(u):(u=ot(a)?sr:je.current,u=eo(t,u));var h=a.getDerivedStateFromProps;(g=typeof h=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==m||p!==u)&&Of(t,l,r,u),ka=!1,p=t.memoizedState,l.state=p,_l(t,r,l,o);var y=t.memoizedState;s!==m||p!==y||rt.current||ka?(typeof h=="function"&&(qu(t,a,h,r),y=t.memoizedState),(d=ka||Bf(t,a,d,r,p,y,u)||!1)?(g||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(r,y,u),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(r,y,u)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=y),l.props=r,l.state=y,l.context=u,r=d):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Ku(e,t,a,r,n,o)}function Ku(e,t,a,r,o,n){Rp(e,t);var l=(t.flags&128)!==0;if(!r&&!l)return o&&Pf(t,a,!1),pa(e,t,n);r=t.stateNode,ax.current=t;var s=l&&typeof a.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&l?(t.child=ao(t,e.child,null,n),t.child=ao(t,null,s,n)):Ye(e,t,s,n),t.memoizedState=r.state,o&&Pf(t,a,!0),t.child}function Dp(e){var t=e.stateNode;t.pendingContext?bf(e,t.pendingContext,t.pendingContext!==t.context):t.context&&bf(e,t.context,!1),Ti(e,t.containerInfo)}function Wf(e,t,a,r,o){return to(),Ii(o),t.flags|=256,Ye(e,t,a,r),t.child}var Gu={dehydrated:null,treeContext:null,retryLane:0};function ju(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ap(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 Hu(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=ls(l,r,0,null),e=lr(e,r,a,null),n.return=t,e.return=t,n.sibling=e,t.child=n,t.child.memoizedState=ju(a),t.memoizedState=Gu,e):Oi(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return rx(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=lr(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?ju(a):{baseLanes:l.baseLanes|a,cachePool:null,transitions:l.transitions},n.memoizedState=l,n.childLanes=e.childLanes&~a,t.memoizedState=Gu,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 Oi(e,t){return t=ls({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function pl(e,t,a,r){return r!==null&&Ii(r),ao(t,e.child,null,a),e=Oi(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function rx(e,t,a,r,o,n,l){if(a)return t.flags&256?(t.flags&=-257,r=uu(Error(T(422))),pl(e,t,l,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(n=r.fallback,o=t.mode,r=ls({mode:"visible",children:r.children},o,0,null),n=lr(n,o,l,null),n.flags|=2,r.return=t,n.return=t,r.sibling=n,t.child=r,(t.mode&1)!==0&&ao(t,e.child,null,l),t.child.memoizedState=ju(l),t.memoizedState=Gu,n);if((t.mode&1)===0)return pl(e,t,l,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,n=Error(T(419)),r=uu(n,r,void 0),pl(e,t,l,r)}if(s=(l&e.childLanes)!==0,at||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,ca(e,o),Ht(r,e,o,-1))}return qi(),r=uu(Error(T(421))),pl(e,t,l,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=hx.bind(null,e),o._reactRetry=t,null):(e=n.treeContext,dt=Ea(o.nextSibling),ft=t,we=!0,Ut=null,e!==null&&(Ct[wt++]=sa,Ct[wt++]=ua,Ct[wt++]=ur,sa=e.id,ua=e.overflow,ur=t),t=Oi(t,r.children),t.flags|=4096,t)}function Vf(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),_u(e.return,t,a)}function iu(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 Mp(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&&Vf(e,a,t);else if(e.tag===19)Vf(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&&ql(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),iu(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&&ql(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}iu(t,!0,a,null,n);break;case"together":iu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Il(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function pa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),dr|=t.lanes,(a&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(T(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 ox(e,t,a){switch(t.tag){case 3:Dp(t),to();break;case 5:op(t);break;case 1:ot(t.type)&&Ol(t);break;case 4:Ti(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Le(Nl,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?Ap(e,t,a):(Le(ke,ke.current&1),e=pa(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 Mp(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,Tp(e,t,a)}return pa(e,t,a)}var Ep,Xu,Fp,Bp;Ep=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}};Xu=function(){};Fp=function(e,t,a,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,or(Zt.current);var n=null;switch(a){case"input":o=xu(e,o),r=xu(e,r),n=[];break;case"select":o=Pe({},o,{value:void 0}),r=Pe({},r,{value:void 0}),n=[];break;case"textarea":o=Lu(e,o),r=Lu(e,r),n=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Fl)}Iu(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"&&(jo.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"&&(jo.hasOwnProperty(d)?(u!=null&&d==="onScroll"&&Se("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)}};Bp=function(e,t,a,r){a!==r&&(t.flags|=4)};function Mo(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 nx(e,t,a){var r=t.pendingProps;switch(Si(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 ot(t.type)&&Bl(),Ke(t),null;case 3:return r=t.stateNode,ro(),Ie(rt),Ie(je),Di(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(fl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ut!==null&&(ri(Ut),Ut=null))),Xu(e,t),Ke(t),null;case 5:Ri(t);var o=or(ln.current);if(a=t.type,e!==null&&t.stateNode!=null)Fp(e,t,a,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(T(166));return Ke(t),null}if(e=or(Zt.current),fl(t)){r=t.stateNode,a=t.type;var n=t.memoizedProps;switch(r[Qt]=t,r[on]=n,e=(t.mode&1)!==0,a){case"dialog":Se("cancel",r),Se("close",r);break;case"iframe":case"object":case"embed":Se("load",r);break;case"video":case"audio":for(o=0;o<Uo.length;o++)Se(Uo[o],r);break;case"source":Se("error",r);break;case"img":case"image":case"link":Se("error",r),Se("load",r);break;case"details":Se("toggle",r);break;case"input":Yd(r,n),Se("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!n.multiple},Se("invalid",r);break;case"textarea":Jd(r,n),Se("invalid",r)}Iu(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&&dl(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(n.suppressHydrationWarning!==!0&&dl(r.textContent,s,e),o=["children",""+s]):jo.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&Se("scroll",r)}switch(a){case"input":Zn(r),Zd(r,n,!0);break;case"textarea":Zn(r),ef(r);break;case"select":case"option":break;default:typeof n.onClick=="function"&&(r.onclick=Fl)}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=ic(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[Qt]=t,e[on]=r,Ep(e,t,!1,!1),t.stateNode=e;e:{switch(l=Cu(a,r),a){case"dialog":Se("cancel",e),Se("close",e),o=r;break;case"iframe":case"object":case"embed":Se("load",e),o=r;break;case"video":case"audio":for(o=0;o<Uo.length;o++)Se(Uo[o],e);o=r;break;case"source":Se("error",e),o=r;break;case"img":case"image":case"link":Se("error",e),Se("load",e),o=r;break;case"details":Se("toggle",e),o=r;break;case"input":Yd(e,r),o=xu(e,r),Se("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=Pe({},r,{value:void 0}),Se("invalid",e);break;case"textarea":Jd(e,r),o=Lu(e,r),Se("invalid",e);break;default:o=r}Iu(a,o),s=o;for(n in s)if(s.hasOwnProperty(n)){var u=s[n];n==="style"?cc(e,u):n==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&dc(e,u)):n==="children"?typeof u=="string"?(a!=="textarea"||u!=="")&&Xo(e,u):typeof u=="number"&&Xo(e,""+u):n!=="suppressContentEditableWarning"&&n!=="suppressHydrationWarning"&&n!=="autoFocus"&&(jo.hasOwnProperty(n)?u!=null&&n==="onScroll"&&Se("scroll",e):u!=null&&li(e,n,u,l))}switch(a){case"input":Zn(e),Zd(e,r,!1);break;case"textarea":Zn(e),ef(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Ua(r.value));break;case"select":e.multiple=!!r.multiple,n=r.value,n!=null?Gr(e,!!r.multiple,n,!1):r.defaultValue!=null&&Gr(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=Fl)}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)Bp(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(T(166));if(a=or(ln.current),or(Zt.current),fl(t)){if(r=t.stateNode,a=t.memoizedProps,r[Qt]=t,(n=r.nodeValue!==a)&&(e=ft,e!==null))switch(e.tag){case 3:dl(r.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&dl(r.nodeValue,a,(e.mode&1)!==0)}n&&(t.flags|=4)}else r=(a.nodeType===9?a:a.ownerDocument).createTextNode(r),r[Qt]=t,t.stateNode=r}return Ke(t),null;case 13:if(Ie(ke),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(we&&dt!==null&&(t.mode&1)!==0&&(t.flags&128)===0)Jc(),to(),t.flags|=98560,n=!1;else if(n=fl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(T(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(T(317));n[Qt]=t}else to(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),n=!1}else Ut!==null&&(ri(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?Fe===0&&(Fe=3):qi())),t.updateQueue!==null&&(t.flags|=4),Ke(t),null);case 4:return ro(),Xu(e,t),e===null&&an(t.stateNode.containerInfo),Ke(t),null;case 10:return ki(t.type._context),Ke(t),null;case 17:return ot(t.type)&&Bl(),Ke(t),null;case 19:if(Ie(ke),n=t.memoizedState,n===null)return Ke(t),null;if(r=(t.flags&128)!==0,l=n.rendering,l===null)if(r)Mo(n,!1);else{if(Fe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(l=ql(e),l!==null){for(t.flags|=128,Mo(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&&Re()>no&&(t.flags|=128,r=!0,Mo(n,!1),t.lanes=4194304)}else{if(!r)if(e=ql(l),e!==null){if(t.flags|=128,r=!0,a=e.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),Mo(n,!0),n.tail===null&&n.tailMode==="hidden"&&!l.alternate&&!we)return Ke(t),null}else 2*Re()-n.renderingStartTime>no&&a!==1073741824&&(t.flags|=128,r=!0,Mo(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=Re(),t.sibling=null,a=ke.current,Le(ke,r?a&1|2:a&1),t):(Ke(t),null);case 22:case 23:return _i(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(it&1073741824)!==0&&(Ke(t),t.subtreeFlags&6&&(t.flags|=8192)):Ke(t),null;case 24:return null;case 25:return null}throw Error(T(156,t.tag))}function lx(e,t){switch(Si(t),t.tag){case 1:return ot(t.type)&&Bl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ro(),Ie(rt),Ie(je),Di(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Ri(t),null;case 13:if(Ie(ke),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(T(340));to()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ie(ke),null;case 4:return ro(),null;case 10:return ki(t.type._context),null;case 22:case 23:return _i(),null;case 24:return null;default:return null}}var ml=!1,Ge=!1,sx=typeof WeakSet=="function"?WeakSet:Set,U=null;function $r(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 Qu(e,t,a){try{a()}catch(r){Te(e,t,r)}}var $f=!1;function ux(e,t){if(Eu=Al,e=Hc(),yi(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,p=null;t:for(;;){for(var h;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),(h=m.firstChild)!==null;)p=m,m=h;for(;;){if(m===e)break t;if(p===a&&++d===o&&(s=l),p===n&&++g===r&&(u=l),(h=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=h}a=s===-1||u===-1?null:{start:s,end:u}}else a=null}a=a||{start:0,end:0}}else a=null;for(Fu={focusedElem:e,selectionRange:a},Al=!1,U=t;U!==null;)if(t=U,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,U=e;else for(;U!==null;){t=U;try{var y=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var I=y.memoizedProps,O=y.memoizedState,c=t.stateNode,i=c.getSnapshotBeforeUpdate(t.elementType===t.type?I:Ot(t.type,I),O);c.__reactInternalSnapshotBeforeUpdate=i}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(T(163))}}catch(v){Te(t,t.return,v)}if(e=t.sibling,e!==null){e.return=t.return,U=e;break}U=t.return}return y=$f,$f=!1,y}function $o(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&&Qu(t,a,n)}o=o.next}while(o!==r)}}function os(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 Yu(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 Op(e){var t=e.alternate;t!==null&&(e.alternate=null,Op(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Qt],delete t[on],delete t[zu],delete t[Vh],delete t[$h])),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 zp(e){return e.tag===5||e.tag===3||e.tag===4}function Kf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||zp(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 Zu(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=Fl));else if(r!==4&&(e=e.child,e!==null))for(Zu(e,t,a),e=e.sibling;e!==null;)Zu(e,t,a),e=e.sibling}function Ju(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(Ju(e,t,a),e=e.sibling;e!==null;)Ju(e,t,a),e=e.sibling}var He=null,zt=!1;function Ca(e,t,a){for(a=a.child;a!==null;)Up(e,t,a),a=a.sibling}function Up(e,t,a){if(Yt&&typeof Yt.onCommitFiberUnmount=="function")try{Yt.onCommitFiberUnmount(Ql,a)}catch{}switch(a.tag){case 5:Ge||$r(a,t);case 6:var r=He,o=zt;He=null,Ca(e,t,a),He=r,zt=o,He!==null&&(zt?(e=He,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):He.removeChild(a.stateNode));break;case 18:He!==null&&(zt?(e=He,a=a.stateNode,e.nodeType===8?au(e.parentNode,a):e.nodeType===1&&au(e,a),Jo(e)):au(He,a.stateNode));break;case 4:r=He,o=zt,He=a.stateNode.containerInfo,zt=!0,Ca(e,t,a),He=r,zt=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)&&Qu(a,t,l),o=o.next}while(o!==r)}Ca(e,t,a);break;case 1:if(!Ge&&($r(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 Gf(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new sx),t.forEach(function(r){var o=xx.bind(null,e,r);a.has(r)||(a.add(r),r.then(o,o))})}}function Bt(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,zt=!1;break e;case 3:He=s.stateNode.containerInfo,zt=!0;break e;case 4:He=s.stateNode.containerInfo,zt=!0;break e}s=s.return}if(He===null)throw Error(T(160));Up(n,l,o),He=null,zt=!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;)Np(t,e),t=t.sibling}function Np(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Bt(t,e),jt(e),r&4){try{$o(3,e,e.return),os(3,e)}catch(I){Te(e,e.return,I)}try{$o(5,e,e.return)}catch(I){Te(e,e.return,I)}}break;case 1:Bt(t,e),jt(e),r&512&&a!==null&&$r(a,a.return);break;case 5:if(Bt(t,e),jt(e),r&512&&a!==null&&$r(a,a.return),e.flags&32){var o=e.stateNode;try{Xo(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,u=e.updateQueue;if(e.updateQueue=null,u!==null)try{s==="input"&&n.type==="radio"&&n.name!=null&&sc(o,n),Cu(s,l);var d=Cu(s,n);for(l=0;l<u.length;l+=2){var g=u[l],m=u[l+1];g==="style"?cc(o,m):g==="dangerouslySetInnerHTML"?dc(o,m):g==="children"?Xo(o,m):li(o,g,m,d)}switch(s){case"input":vu(o,n);break;case"textarea":uc(o,n);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!n.multiple;var h=n.value;h!=null?Gr(o,!!n.multiple,h,!1):p!==!!n.multiple&&(n.defaultValue!=null?Gr(o,!!n.multiple,n.defaultValue,!0):Gr(o,!!n.multiple,n.multiple?[]:"",!1))}o[on]=n}catch(I){Te(e,e.return,I)}}break;case 6:if(Bt(t,e),jt(e),r&4){if(e.stateNode===null)throw Error(T(162));o=e.stateNode,n=e.memoizedProps;try{o.nodeValue=n}catch(I){Te(e,e.return,I)}}break;case 3:if(Bt(t,e),jt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{Jo(t.containerInfo)}catch(I){Te(e,e.return,I)}break;case 4:Bt(t,e),jt(e);break;case 13:Bt(t,e),jt(e),o=e.child,o.flags&8192&&(n=o.memoizedState!==null,o.stateNode.isHidden=n,!n||o.alternate!==null&&o.alternate.memoizedState!==null||(Ni=Re())),r&4&&Gf(e);break;case 22:if(g=a!==null&&a.memoizedState!==null,e.mode&1?(Ge=(d=Ge)||g,Bt(t,e),Ge=d):Bt(t,e),jt(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!g&&(e.mode&1)!==0)for(U=e,g=e.child;g!==null;){for(m=U=g;U!==null;){switch(p=U,h=p.child,p.tag){case 0:case 11:case 14:case 15:$o(4,p,p.return);break;case 1:$r(p,p.return);var y=p.stateNode;if(typeof y.componentWillUnmount=="function"){r=p,a=p.return;try{t=r,y.props=t.memoizedProps,y.state=t.memoizedState,y.componentWillUnmount()}catch(I){Te(r,a,I)}}break;case 5:$r(p,p.return);break;case 22:if(p.memoizedState!==null){Xf(m);continue}}h!==null?(h.return=p,U=h):Xf(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=fc("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:Bt(t,e),jt(e),r&4&&Gf(e);break;case 21:break;default:Bt(t,e),jt(e)}}function jt(e){var t=e.flags;if(t&2){try{e:{for(var a=e.return;a!==null;){if(zp(a)){var r=a;break e}a=a.return}throw Error(T(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&(Xo(o,""),r.flags&=-33);var n=Kf(e);Ju(e,n,o);break;case 3:case 4:var l=r.stateNode.containerInfo,s=Kf(e);Zu(e,s,l);break;default:throw Error(T(161))}}catch(u){Te(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function ix(e,t,a){U=e,Hp(e,t,a)}function Hp(e,t,a){for(var r=(e.mode&1)!==0;U!==null;){var o=U,n=o.child;if(o.tag===22&&r){var l=o.memoizedState!==null||ml;if(!l){var s=o.alternate,u=s!==null&&s.memoizedState!==null||Ge;s=ml;var d=Ge;if(ml=l,(Ge=u)&&!d)for(U=o;U!==null;)l=U,u=l.child,l.tag===22&&l.memoizedState!==null?Qf(o):u!==null?(u.return=l,U=u):Qf(o);for(;n!==null;)U=n,Hp(n,t,a),n=n.sibling;U=o,ml=s,Ge=d}jf(e,t,a)}else(o.subtreeFlags&8772)!==0&&n!==null?(n.return=o,U=n):jf(e,t,a)}}function jf(e){for(;U!==null;){var t=U;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||os(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:Ot(t.type,a.memoizedProps);r.componentDidUpdate(o,a.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var n=t.updateQueue;n!==null&&Mf(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}Mf(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&&Jo(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(T(163))}Ge||t.flags&512&&Yu(t)}catch(p){Te(t,t.return,p)}}if(t===e){U=null;break}if(a=t.sibling,a!==null){a.return=t.return,U=a;break}U=t.return}}function Xf(e){for(;U!==null;){var t=U;if(t===e){U=null;break}var a=t.sibling;if(a!==null){a.return=t.return,U=a;break}U=t.return}}function Qf(e){for(;U!==null;){var t=U;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{os(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{Yu(t)}catch(u){Te(t,n,u)}break;case 5:var l=t.return;try{Yu(t)}catch(u){Te(t,l,u)}}}catch(u){Te(t,t.return,u)}if(t===e){U=null;break}var s=t.sibling;if(s!==null){s.return=t.return,U=s;break}U=t.return}}var dx=Math.ceil,$l=ma.ReactCurrentDispatcher,zi=ma.ReactCurrentOwner,bt=ma.ReactCurrentBatchConfig,de=0,ze=null,De=null,_e=0,it=0,Kr=_a(0),Fe=0,fn=null,dr=0,ns=0,Ui=0,Ko=null,tt=null,Ni=0,no=1/0,na=null,Kl=!1,ei=null,Ba=null,gl=!1,Ra=null,Gl=0,Go=0,ti=null,Cl=-1,wl=0;function Ze(){return(de&6)!==0?Re():Cl!==-1?Cl:Cl=Re()}function Oa(e){return(e.mode&1)===0?1:(de&2)!==0&&_e!==0?_e&-_e:Gh.transition!==null?(wl===0&&(wl=wc()),wl):(e=ge,e!==0||(e=window.event,e=e===void 0?16:Ac(e.type)),e)}function Ht(e,t,a,r){if(50<Go)throw Go=0,ti=null,Error(T(185));cn(e,a,r),((de&2)===0||e!==ze)&&(e===ze&&((de&2)===0&&(ns|=a),Fe===4&&Pa(e,_e)),nt(e,r),a===1&&de===0&&(t.mode&1)===0&&(no=Re()+500,ts&&qa()))}function nt(e,t){var a=e.callbackNode;Xg(e,t);var r=Dl(e,e===ze?_e:0);if(r===0)a!==null&&rf(a),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(a!=null&&rf(a),t===1)e.tag===0?Kh(Yf.bind(null,e)):Qc(Yf.bind(null,e)),qh(function(){(de&6)===0&&qa()}),a=null;else{switch(kc(r)){case 1:a=fi;break;case 4:a=Ic;break;case 16:a=Rl;break;case 536870912:a=Cc;break;default:a=Rl}a=jp(a,_p.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function _p(e,t){if(Cl=-1,wl=0,(de&6)!==0)throw Error(T(327));var a=e.callbackNode;if(Zr()&&e.callbackNode!==a)return null;var r=Dl(e,e===ze?_e:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=jl(e,r);else{t=r;var o=de;de|=2;var n=Wp();(ze!==e||_e!==t)&&(na=null,no=Re()+500,nr(e,t));do try{px();break}catch(s){qp(e,s)}while(!0);wi(),$l.current=n,de=o,De!==null?t=0:(ze=null,_e=0,t=Fe)}if(t!==0){if(t===2&&(o=Tu(e),o!==0&&(r=o,t=ai(e,o))),t===1)throw a=fn,nr(e,0),Pa(e,r),nt(e,Re()),a;if(t===6)Pa(e,r);else{if(o=e.current.alternate,(r&30)===0&&!fx(o)&&(t=jl(e,r),t===2&&(n=Tu(e),n!==0&&(r=n,t=ai(e,n))),t===1))throw a=fn,nr(e,0),Pa(e,r),nt(e,Re()),a;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(T(345));case 2:tr(e,tt,na);break;case 3:if(Pa(e,r),(r&130023424)===r&&(t=Ni+500-Re(),10<t)){if(Dl(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){Ze(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Ou(tr.bind(null,e,tt,na),t);break}tr(e,tt,na);break;case 4:if(Pa(e,r),(r&4194240)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-Nt(r);n=1<<l,l=t[l],l>o&&(o=l),r&=~n}if(r=o,r=Re()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dx(r/1960))-r,10<r){e.timeoutHandle=Ou(tr.bind(null,e,tt,na),r);break}tr(e,tt,na);break;case 5:tr(e,tt,na);break;default:throw Error(T(329))}}}return nt(e,Re()),e.callbackNode===a?_p.bind(null,e):null}function ai(e,t){var a=Ko;return e.current.memoizedState.isDehydrated&&(nr(e,t).flags|=256),e=jl(e,t),e!==2&&(t=tt,tt=a,t!==null&&ri(t)),e}function ri(e){tt===null?tt=e:tt.push.apply(tt,e)}function fx(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(!_t(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&=~Ui,t&=~ns,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-Nt(t),r=1<<a;e[a]=-1,t&=~r}}function Yf(e){if((de&6)!==0)throw Error(T(327));Zr();var t=Dl(e,0);if((t&1)===0)return nt(e,Re()),null;var a=jl(e,t);if(e.tag!==0&&a===2){var r=Tu(e);r!==0&&(t=r,a=ai(e,r))}if(a===1)throw a=fn,nr(e,0),Pa(e,t),nt(e,Re()),a;if(a===6)throw Error(T(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,tr(e,tt,na),nt(e,Re()),null}function Hi(e,t){var a=de;de|=1;try{return e(t)}finally{de=a,de===0&&(no=Re()+500,ts&&qa())}}function fr(e){Ra!==null&&Ra.tag===0&&(de&6)===0&&Zr();var t=de;de|=1;var a=bt.transition,r=ge;try{if(bt.transition=null,ge=1,e)return e()}finally{ge=r,bt.transition=a,de=t,(de&6)===0&&qa()}}function _i(){it=Kr.current,Ie(Kr)}function nr(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,_h(a)),De!==null)for(a=De.return;a!==null;){var r=a;switch(Si(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Bl();break;case 3:ro(),Ie(rt),Ie(je),Di();break;case 5:Ri(r);break;case 4:ro();break;case 13:Ie(ke);break;case 19:Ie(ke);break;case 10:ki(r.type._context);break;case 22:case 23:_i()}a=a.return}if(ze=e,De=e=za(e.current,null),_e=it=t,Fe=0,fn=null,Ui=ns=dr=0,tt=Ko=null,rr!==null){for(t=0;t<rr.length;t++)if(a=rr[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}rr=null}return e}function qp(e,t){do{var a=De;try{if(wi(),Ll.current=Vl,Wl){for(var r=be.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}Wl=!1}if(ir=0,Oe=Ee=be=null,Vo=!1,sn=0,zi.current=null,a===null||a.return===null){Fe=1,fn=t,De=null;break}e:{var n=e,l=a.return,s=a,u=t;if(t=_e,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 p=g.alternate;p?(g.updateQueue=p.updateQueue,g.memoizedState=p.memoizedState,g.lanes=p.lanes):(g.updateQueue=null,g.memoizedState=null)}var h=Uf(l);if(h!==null){h.flags&=-257,Nf(h,l,s,n,t),h.mode&1&&zf(n,d,t),t=h,u=d;var y=t.updateQueue;if(y===null){var I=new Set;I.add(u),t.updateQueue=I}else y.add(u);break e}else{if((t&1)===0){zf(n,d,t),qi();break e}u=Error(T(426))}}else if(we&&s.mode&1){var O=Uf(l);if(O!==null){(O.flags&65536)===0&&(O.flags|=256),Nf(O,l,s,n,t),Ii(oo(u,s));break e}}n=u=oo(u,s),Fe!==4&&(Fe=2),Ko===null?Ko=[n]:Ko.push(n),n=l;do{switch(n.tag){case 3:n.flags|=65536,t&=-t,n.lanes|=t;var c=kp(n,u,t);Af(n,c);break e;case 1:s=u;var i=n.type,f=n.stateNode;if((n.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Ba===null||!Ba.has(f)))){n.flags|=65536,t&=-t,n.lanes|=t;var v=bp(n,s,t);Af(n,v);break e}}n=n.return}while(n!==null)}$p(a)}catch(k){t=k,De===a&&a!==null&&(De=a=a.return);continue}break}while(!0)}function Wp(){var e=$l.current;return $l.current=Vl,e===null?Vl:e}function qi(){(Fe===0||Fe===3||Fe===2)&&(Fe=4),ze===null||(dr&268435455)===0&&(ns&268435455)===0||Pa(ze,_e)}function jl(e,t){var a=de;de|=2;var r=Wp();(ze!==e||_e!==t)&&(na=null,nr(e,t));do try{cx();break}catch(o){qp(e,o)}while(!0);if(wi(),de=a,$l.current=r,De!==null)throw Error(T(261));return ze=null,_e=0,Fe}function cx(){for(;De!==null;)Vp(De)}function px(){for(;De!==null&&!Hg();)Vp(De)}function Vp(e){var t=Gp(e.alternate,e,it);e.memoizedProps=e.pendingProps,t===null?$p(e):De=t,zi.current=null}function $p(e){var t=e;do{var a=t.alternate;if(e=t.return,(t.flags&32768)===0){if(a=nx(a,t,it),a!==null){De=a;return}}else{if(a=lx(a,t),a!==null){a.flags&=32767,De=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Fe=6,De=null;return}}if(t=t.sibling,t!==null){De=t;return}De=t=e}while(t!==null);Fe===0&&(Fe=5)}function tr(e,t,a){var r=ge,o=bt.transition;try{bt.transition=null,ge=1,mx(e,t,a,r)}finally{bt.transition=o,ge=r}return null}function mx(e,t,a,r){do Zr();while(Ra!==null);if((de&6)!==0)throw Error(T(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(T(177));e.callbackNode=null,e.callbackPriority=0;var n=a.lanes|a.childLanes;if(Qg(e,n),e===ze&&(De=ze=null,_e=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||gl||(gl=!0,jp(Rl,function(){return Zr(),null})),n=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||n){n=bt.transition,bt.transition=null;var l=ge;ge=1;var s=de;de|=4,zi.current=null,ux(e,a),Np(a,e),Oh(Fu),Al=!!Eu,Fu=Eu=null,e.current=a,ix(a,e,o),_g(),de=s,ge=l,bt.transition=n}else e.current=a;if(gl&&(gl=!1,Ra=e,Gl=o),n=e.pendingLanes,n===0&&(Ba=null),Vg(a.stateNode,r),nt(e,Re()),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(Kl)throw Kl=!1,e=ei,ei=null,e;return(Gl&1)!==0&&e.tag!==0&&Zr(),n=e.pendingLanes,(n&1)!==0?e===ti?Go++:(Go=0,ti=e):Go=0,qa(),null}function Zr(){if(Ra!==null){var e=kc(Gl),t=bt.transition,a=ge;try{if(bt.transition=null,ge=16>e?16:e,Ra===null)var r=!1;else{if(e=Ra,Ra=null,Gl=0,(de&6)!==0)throw Error(T(331));var o=de;for(de|=4,U=e.current;U!==null;){var n=U,l=n.child;if((U.flags&16)!==0){var s=n.deletions;if(s!==null){for(var u=0;u<s.length;u++){var d=s[u];for(U=d;U!==null;){var g=U;switch(g.tag){case 0:case 11:case 15:$o(8,g,n)}var m=g.child;if(m!==null)m.return=g,U=m;else for(;U!==null;){g=U;var p=g.sibling,h=g.return;if(Op(g),g===d){U=null;break}if(p!==null){p.return=h,U=p;break}U=h}}}var y=n.alternate;if(y!==null){var I=y.child;if(I!==null){y.child=null;do{var O=I.sibling;I.sibling=null,I=O}while(I!==null)}}U=n}}if((n.subtreeFlags&2064)!==0&&l!==null)l.return=n,U=l;else e:for(;U!==null;){if(n=U,(n.flags&2048)!==0)switch(n.tag){case 0:case 11:case 15:$o(9,n,n.return)}var c=n.sibling;if(c!==null){c.return=n.return,U=c;break e}U=n.return}}var i=e.current;for(U=i;U!==null;){l=U;var f=l.child;if((l.subtreeFlags&2064)!==0&&f!==null)f.return=l,U=f;else e:for(l=i;U!==null;){if(s=U,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:os(9,s)}}catch(k){Te(s,s.return,k)}if(s===l){U=null;break e}var v=s.sibling;if(v!==null){v.return=s.return,U=v;break e}U=s.return}}if(de=o,qa(),Yt&&typeof Yt.onPostCommitFiberRoot=="function")try{Yt.onPostCommitFiberRoot(Ql,e)}catch{}r=!0}return r}finally{ge=a,bt.transition=t}}return!1}function Zf(e,t,a){t=oo(a,t),t=kp(e,t,1),e=Fa(e,t,1),t=Ze(),e!==null&&(cn(e,1,t),nt(e,t))}function Te(e,t,a){if(e.tag===3)Zf(e,e,a);else for(;t!==null;){if(t.tag===3){Zf(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=oo(a,e),e=bp(t,e,1),t=Fa(t,e,1),e=Ze(),t!==null&&(cn(t,1,e),nt(t,e));break}}t=t.return}}function gx(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),t=Ze(),e.pingedLanes|=e.suspendedLanes&a,ze===e&&(_e&a)===a&&(Fe===4||Fe===3&&(_e&130023424)===_e&&500>Re()-Ni?nr(e,0):Ui|=a),nt(e,t)}function Kp(e,t){t===0&&((e.mode&1)===0?t=1:(t=tl,tl<<=1,(tl&130023424)===0&&(tl=4194304)));var a=Ze();e=ca(e,t),e!==null&&(cn(e,t,a),nt(e,a))}function hx(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Kp(e,a)}function xx(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(T(314))}r!==null&&r.delete(t),Kp(e,a)}var Gp;Gp=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||rt.current)at=!0;else{if((e.lanes&a)===0&&(t.flags&128)===0)return at=!1,ox(e,t,a);at=(e.flags&131072)!==0}else at=!1,we&&(t.flags&1048576)!==0&&Yc(t,Ul,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Il(e,t),e=t.pendingProps;var o=eo(t,je.current);Yr(t,a),o=Mi(null,t,r,e,o,a);var n=Ei();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,ot(r)?(n=!0,Ol(t)):n=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Pi(t),o.updater=rs,t.stateNode=o,o._reactInternals=t,Wu(t,r,e,a),t=Ku(null,t,r,!0,n,a)):(t.tag=0,we&&n&&Li(t),Ye(null,t,o,a),t=t.child),t;case 16:r=t.elementType;e:{switch(Il(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=yx(r),e=Ot(r,e),o){case 0:t=$u(null,t,r,e,a);break e;case 1:t=qf(null,t,r,e,a);break e;case 11:t=Hf(null,t,r,e,a);break e;case 14:t=_f(null,t,r,Ot(r.type,e),a);break e}throw Error(T(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),$u(e,t,r,o,a);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),qf(e,t,r,o,a);case 3:e:{if(Dp(t),e===null)throw Error(T(387));r=t.pendingProps,n=t.memoizedState,o=n.element,rp(e,t),_l(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=oo(Error(T(423)),t),t=Wf(e,t,r,a,o);break e}else if(r!==o){o=oo(Error(T(424)),t),t=Wf(e,t,r,a,o);break e}else for(dt=Ea(t.stateNode.containerInfo.firstChild),ft=t,we=!0,Ut=null,a=tp(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(to(),r===o){t=pa(e,t,a);break e}Ye(e,t,r,a)}t=t.child}return t;case 5:return op(t),e===null&&Hu(t),r=t.type,o=t.pendingProps,n=e!==null?e.memoizedProps:null,l=o.children,Bu(r,o)?l=null:n!==null&&Bu(r,n)&&(t.flags|=32),Rp(e,t),Ye(e,t,l,a),t.child;case 6:return e===null&&Hu(t),null;case 13:return Ap(e,t,a);case 4:return Ti(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ao(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:Ot(r,o),Hf(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(Nl,r._currentValue),r._currentValue=l,n!==null)if(_t(n.value,l)){if(n.children===o.children&&!rt.current){t=pa(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=ia(-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),_u(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(T(341));l.lanes|=a,s=l.alternate,s!==null&&(s.lanes|=a),_u(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,Yr(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=Ot(r,t.pendingProps),o=Ot(r.type,o),_f(e,t,r,o,a);case 15:return Pp(e,t,t.type,t.pendingProps,a);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),Il(e,t),t.tag=1,ot(r)?(e=!0,Ol(t)):e=!1,Yr(t,a),wp(t,r,o),Wu(t,r,o,a),Ku(null,t,r,!0,e,a);case 19:return Mp(e,t,a);case 22:return Tp(e,t,a)}throw Error(T(156,t.tag))};function jp(e,t){return Sc(e,t)}function vx(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 vx(e,t,a,r)}function Wi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function yx(e){if(typeof e=="function")return Wi(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ui)return 11;if(e===ii)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 kl(e,t,a,r,o,n){var l=2;if(r=e,typeof e=="function")Wi(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case Or:return lr(a.children,o,n,t);case si:l=8,o|=8;break;case pu:return e=kt(12,a,t,o|2),e.elementType=pu,e.lanes=n,e;case mu:return e=kt(13,a,t,o),e.elementType=mu,e.lanes=n,e;case gu:return e=kt(19,a,t,o),e.elementType=gu,e.lanes=n,e;case oc:return ls(a,o,n,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ac:l=10;break e;case rc:l=9;break e;case ui:l=11;break e;case ii:l=14;break e;case wa:l=16,r=null;break e}throw Error(T(130,e==null?e:typeof e,""))}return t=kt(l,a,t,o),t.elementType=e,t.type=r,t.lanes=n,t}function lr(e,t,a,r){return e=kt(7,e,r,t),e.lanes=a,e}function ls(e,t,a,r){return e=kt(22,e,r,t),e.elementType=oc,e.lanes=a,e.stateNode={isHidden:!1},e}function du(e,t,a){return e=kt(6,e,null,t),e.lanes=a,e}function fu(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 Lx(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=js(0),this.expirationTimes=js(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=js(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Vi(e,t,a,r,o,n,l,s,u){return e=new Lx(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},Pi(n),e}function Sx(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Br,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}function Xp(e){if(!e)return Na;e=e._reactInternals;e:{if(pr(e)!==e||e.tag!==1)throw Error(T(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ot(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(T(171))}if(e.tag===1){var a=e.type;if(ot(a))return Xc(e,a,t)}return t}function Qp(e,t,a,r,o,n,l,s,u){return e=Vi(a,r,!0,e,o,n,l,s,u),e.context=Xp(null),a=e.current,r=Ze(),o=Oa(a),n=ia(r,o),n.callback=t??null,Fa(a,n,o),e.current.lanes=o,cn(e,o,r),nt(e,r),e}function ss(e,t,a,r){var o=t.current,n=Ze(),l=Oa(o);return a=Xp(a),t.context===null?t.context=a:t.pendingContext=a,t=ia(n,l),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Fa(o,t,l),e!==null&&(Ht(e,o,l,n),yl(e,o,l)),l}function Xl(e){return e=e.current,e.child?(e.child.tag===5,e.child.stateNode):null}function Jf(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function $i(e,t){Jf(e,t),(e=e.alternate)&&Jf(e,t)}function Ix(){return null}var Yp=typeof reportError=="function"?reportError:function(e){console.error(e)};function Ki(e){this._internalRoot=e}us.prototype.render=Ki.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(T(409));ss(e,t,null,null)};us.prototype.unmount=Ki.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;fr(function(){ss(null,e,null,null)}),t[fa]=null}};function us(e){this._internalRoot=e}us.prototype.unstable_scheduleHydration=function(e){if(e){var t=Tc();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&&Dc(e)}};function Gi(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function is(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function ec(){}function Cx(e,t,a,r,o){if(o){if(typeof r=="function"){var n=r;r=function(){var d=Xl(l);n.call(d)}}var l=Qp(t,r,e,0,null,!1,!1,"",ec);return e._reactRootContainer=l,e[fa]=l.current,an(e.nodeType===8?e.parentNode:e),fr(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var d=Xl(u);s.call(d)}}var u=Vi(e,0,!1,null,null,!1,!1,"",ec);return e._reactRootContainer=u,e[fa]=u.current,an(e.nodeType===8?e.parentNode:e),fr(function(){ss(t,u,a,r)}),u}function ds(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=Xl(l);s.call(u)}}ss(t,l,e,o)}else l=Cx(a,t,e,o,r);return Xl(l)}bc=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=zo(t.pendingLanes);a!==0&&(ci(t,a|1),nt(t,Re()),(de&6)===0&&(no=Re()+500,qa()))}break;case 13:fr(function(){var r=ca(e,1);if(r!==null){var o=Ze();Ht(r,e,1,o)}}),$i(e,1)}};pi=function(e){if(e.tag===13){var t=ca(e,134217728);if(t!==null){var a=Ze();Ht(t,e,134217728,a)}$i(e,134217728)}};Pc=function(e){if(e.tag===13){var t=Oa(e),a=ca(e,t);if(a!==null){var r=Ze();Ht(a,e,t,r)}$i(e,t)}};Tc=function(){return ge};Rc=function(e,t){var a=ge;try{return ge=e,t()}finally{ge=a}};ku=function(e,t,a){switch(t){case"input":if(vu(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=es(r);if(!o)throw Error(T(90));lc(r),vu(r,o)}}}break;case"textarea":uc(e,a);break;case"select":t=a.value,t!=null&&Gr(e,!!a.multiple,t,!1)}};gc=Hi;hc=fr;var wx={usingClientEntryPoint:!1,Events:[mn,Hr,es,pc,mc,Hi]},Eo={findFiberByHostInstance:ar,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},kx={bundleType:Eo.bundleType,version:Eo.version,rendererPackageName:Eo.rendererPackageName,rendererConfig:Eo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ma.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=yc(e),e===null?null:e.stateNode},findFiberByHostInstance:Eo.findFiberByHostInstance||Ix,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Fo=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Fo.isDisabled&&Fo.supportsFiber))try{Ql=Fo.inject(kx),Yt=Fo}catch{}var Fo;mt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=wx;mt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Gi(t))throw Error(T(200));return Sx(e,t,null,a)};mt.createRoot=function(e,t){if(!Gi(e))throw Error(T(299));var a=!1,r="",o=Yp;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Vi(e,1,!1,null,null,a,!1,r,o),e[fa]=t.current,an(e.nodeType===8?e.parentNode:e),new Ki(t)};mt.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(T(188)):(e=Object.keys(e).join(","),Error(T(268,e)));return e=yc(t),e=e===null?null:e.stateNode,e};mt.flushSync=function(e){return fr(e)};mt.hydrate=function(e,t,a){if(!is(t))throw Error(T(200));return ds(null,e,t,!0,a)};mt.hydrateRoot=function(e,t,a){if(!Gi(e))throw Error(T(405));var r=a!=null&&a.hydratedSources||null,o=!1,n="",l=Yp;if(a!=null&&(a.unstable_strictMode===!0&&(o=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onRecoverableError!==void 0&&(l=a.onRecoverableError)),t=Qp(t,null,e,1,a??null,o,!1,n,l),e[fa]=t.current,an(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 us(t)};mt.render=function(e,t,a){if(!is(t))throw Error(T(200));return ds(null,e,t,!1,a)};mt.unmountComponentAtNode=function(e){if(!is(e))throw Error(T(40));return e._reactRootContainer?(fr(function(){ds(null,null,e,!1,function(){e._reactRootContainer=null,e[fa]=null})}),!0):!1};mt.unstable_batchedUpdates=Hi;mt.unstable_renderSubtreeIntoContainer=function(e,t,a,r){if(!is(a))throw Error(T(200));if(e==null||e._reactInternals===void 0)throw Error(T(38));return ds(e,t,a,!1,r)};mt.version="18.3.1-next-f1338f8080-20240426"});var uo=oa((Av,em)=>{"use strict";function Jp(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Jp)}catch(e){console.error(e)}}Jp(),em.exports=Zp()});var am=oa(ji=>{"use strict";var tm=uo();ji.createRoot=tm.createRoot,ji.hydrateRoot=tm.hydrateRoot;var Mv});var um=oa(xs=>{"use strict";var Rx=Ce(),Dx=Symbol.for("react.element"),Ax=Symbol.for("react.fragment"),Mx=Object.prototype.hasOwnProperty,Ex=Rx.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Fx={key:!0,ref:!0,__self:!0,__source:!0};function sm(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)Mx.call(t,r)&&!Fx.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:Dx,type:e,key:n,ref:l,props:o,_owner:Ex.current}}xs.Fragment=Ax;xs.jsx=sm;xs.jsxs=sm});var W=oa((nL,im)=>{"use strict";im.exports=um()});var _m=M(am(),1);var te=M(Ce(),1),zm=M(uo(),1);function rm(e){return e.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(a=>a.trim())}function bx(e){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(e)}function Px(e){let t=e.split(`\n`),a=[],r=0;for(;r<t.length;){let o=t[r]??"",n=t[r+1]??"";if(o.includes("|")&&bx(n)){let l=rm(o),s=[];for(r+=2;r<t.length&&t[r].includes("|")&&t[r].trim()!=="";)s.push(rm(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 fs(e){if(!e)return\'<span style="color:#475569;font-style:italic;">No description yet</span>\';let t=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");return Px(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 Tx="proto-comments-seen";function Xi(e,t){try{let a=localStorage.getItem(Tx),r=a?JSON.parse(a):{};return t>(r[e]??0)}catch{return!1}}function Qi(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function lt(e){try{return new Date(e).toLocaleString()}catch{return e}}var Yi=16,io=1000000n,ms=BigInt("9".repeat(Yi));function Rt(e){return(e<0n?0n:e>ms?ms:e).toString().padStart(Yi,"0")}function cs(e){let t=e.split(".")[0];return/^\\d+$/.test(t)?BigInt(t):ms}function ps(e){let t=e.indexOf(".");return t>=0?e.slice(t+1):null}function mr(e,t){if(t===null){if(e===null)return Rt(io);let l=cs(e);if(l<ms-io)return Rt(l+io);let s=ps(e)??"0".repeat(Yi);return Rt(l)+"."+mr(s,null)}if(e===null){let l=cs(t),s=ps(t);return l>io?Rt(l-io):s!==null?Rt(l)+"."+mr(null,s):l>0n?Rt(l/2n):Rt(0n)+".0"}let a=cs(e),r=cs(t),o=ps(e),n=ps(t);return r>a+1n?Rt((a+r)/2n):r===a+1n?Rt(a)+"."+mr(o,null):o===null&&n===null?Rt(a)+"."+Rt(io):Rt(a)+"."+mr(o,n)}function hn(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 Zi(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 p of s){let h=mr(m,null);o.set(p.id,h),m=h,p.id!==t&&l.push({id:p.id,sortKey:h})}}let u=a?o.get(a)??null:null,d=r?o.get(r)??null:null;return{newSortKey:mr(u,d),normalizationPatches:l}}var Jt=M(Ce(),1);var hs=M(Ce());var om=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),gs=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var xn=M(Ce());var nm={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 lm=(0,xn.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:l,...s},u)=>(0,xn.createElement)("svg",{ref:u,...nm,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:gs("lucide",o),...s},[...l.map(([d,g])=>(0,xn.createElement)(d,g)),...Array.isArray(n)?n:[n]]));var ee=(e,t)=>{let a=(0,hs.forwardRef)(({className:r,...o},n)=>(0,hs.createElement)(lm,{ref:n,iconNode:t,className:gs(`lucide-${om(e)}`,r),...o}));return a.displayName=`${e}`,a};var gr=ee("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var vn=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 hr=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 yn=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 fo=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 Ln=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 Sn=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 In=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 Cn=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 xr=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 vr=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 wn=ee("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var kn=ee("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var yr=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 bn=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 co=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 $a=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 po=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 Pn=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 Ue=ee("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var mo=M(Ce(),1),Lm=M(uo(),1);var cm=M(W(),1),dm={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 fm({type:e,style:t}){let a=typeof e=="string"&&e.trim()&&e!=="[object Object]"&&dm[e]?e:"Task",r=dm[a];return(0,cm.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 gm=M(W(),1),pm={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 mm({priority:e,style:t}){if(!e||!pm[e])return null;let a=pm[e];return(0,gm.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 Lr=[{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."}],uL=Lr.map(e=>e.value),xm=Object.fromEntries(Lr.map(e=>[e.value,e.icon])),iL=Object.fromEntries(Lr.map(e=>[e.value,e.css])),hm={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function Tn(e){return hm[e??"Task"]??hm.Task}var vm=[{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 Bx(e){let t=0;for(let a=0;a<e.length;a++)t=t*31+e.charCodeAt(a)>>>0;return t%vm.length}function qt(e){return vm[Bx(e)]}var Rn=M(W(),1);function Dn({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,Rn.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:e.map(n=>{let{bg:l,text:s,border:u}=qt(n);return(0,Rn.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,Rn.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 fe=M(W(),1);function Ox(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function Sm(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 Im(e,t){return Sm(e,t==="Critical"?.36:t==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function zx(e){return Sm(e,.05)??"transparent"}var Ux={padding:"7px 8px",gap:4,opacity:.45,userSelect:"none"},Nx={display:"flex",alignItems:"center",gap:5},Hx={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},_x={fontSize:11.5,fontWeight:600,color:"var(--p-text-g)",textDecoration:"line-through",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},qx={display:"flex",alignItems:"center",gap:5,minWidth:0},Wx={flexShrink:0},Vx={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},$x={display:"flex",alignItems:"flex-start",gap:8},Kx={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},Gx={position:"relative",flexShrink:0},jx={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},Xx={display:"flex",alignItems:"center",gap:2,marginTop:1},Qx={flex:1},Ji=mo.default.memo(function({task:t,col:a,liveActivity:r,onOpen:o,onDragStart:n}){var C;let l=a.id==="in-progress",s=a.id==="done",[u,d]=mo.default.useState(!1),[g,m]=mo.default.useState(null),p=mo.default.useRef(null),h=t.commentCount??0,y=t.fileCount??0,I=h>0&&Xi(t.id,h),O=Im(a.color,t.priority),c=Tn(t.type),i=zx(c),f=(C=t.files)==null?void 0:C.find(w=>Ox(w.name)),v=f?`/api/tasks/${t.id}/files/${encodeURIComponent(f.name)}`:null;function k(w){n(w,t.id),w.currentTarget.classList.add("dragging")}function b(w){w.currentTarget.classList.remove("dragging")}function L(){o(t)}return s?(0,fe.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":t.id,style:{...Ux},onDragStart:k,onDragEnd:b,onClick:L,children:(0,fe.jsxs)("div",{style:Nx,children:[(0,fe.jsx)(Wa,{style:Hx}),(0,fe.jsx)("span",{style:_x,children:t.title})]})}):(0,fe.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)":i,border:r?"1px solid rgba(59,130,246,0.5)":O?`1px solid ${O}`:void 0,...r?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{}},onDragStart:k,onDragEnd:b,onClick:L,children:[(0,fe.jsxs)("div",{style:qx,children:[l&&(0,fe.jsx)("span",{className:"spinner",style:Wx}),(0,fe.jsx)("span",{style:Vx,children:t.title})]}),(t.description||v)&&(0,fe.jsxs)("div",{style:$x,children:[t.description&&(0,fe.jsx)("div",{style:Kx,children:t.description}),v&&(0,fe.jsxs)("div",{style:Gx,onMouseEnter:()=>{if(p.current){let w=p.current.getBoundingClientRect();m({top:w.top,right:w.right})}d(!0)},onMouseLeave:()=>{d(!1),m(null)},children:[(0,fe.jsx)("img",{ref:p,src:v,alt:"Task screenshot","data-role":"task-thumb",style:jx}),u&&g&&Lm.default.createPortal((0,fe.jsx)("img",{src:v,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-g.right,bottom:window.innerHeight-g.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,fe.jsxs)("div",{className:"flex items-center",style:Xx,children:[(0,fe.jsx)(fm,{type:t.type}),t.priority&&(0,fe.jsx)(mm,{priority:t.priority}),l&&t.assigneeName&&(0,fe.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,fe.jsx)(Dn,{tags:t.tags,size:"xs"}),(0,fe.jsx)("div",{style:Qx}),r&&(0,fe.jsx)(ed,{activity:r}),(0,fe.jsx)(ym,{icon:(0,fe.jsx)(xr,{style:{width:9,height:9}}),label:h>0?String(h):"",color:I?"var(--p-purple)":h>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:I?"var(--p-purple-300)":"var(--p-text)",title:h>0?`${h} comment(s)`:"Add comment",badge:I,badgeColor:"var(--p-purple)",onClick:w=>{w.stopPropagation(),o(t,"comments")}}),(0,fe.jsx)(ym,{icon:(0,fe.jsx)(vr,{style:{width:9,height:9}}),label:y>0?String(y):"",color:y>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:y>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:y>0?`${y} file(s) attached`:"Files",onClick:w=>{w.stopPropagation(),o(t,"files")}})]})]})});function ym({icon:e,label:t,color:a,hoverColor:r,title:o,badge:n,badgeColor:l,onClick:s}){let[u,d]=mo.default.useState(!1);return(0,fe.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,fe.jsx)("span",{children:t}),n&&(0,fe.jsx)("span",{style:{width:4,height:4,background:l??a,borderRadius:"50%",flexShrink:0}})]})}function ed({activity:e}){let t=e.state==="locked"||e.state==="editing",a=t?(0,fe.jsx)(Cn,{style:{width:8,height:8}}):(0,fe.jsx)(yn,{style:{width:8,height:8}}),r=t?`Locked by ${e.user}`:`${e.user} viewing`;return(0,fe.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,fe.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:e.user})]})}var pe=M(W(),1),Ka=[{id:"backlog",label:"Backlog",color:"var(--p-text-f)",accent:"color-mix(in srgb, var(--p-text-g) 20%, transparent)"},{id:"todo",label:"Todo",color:"var(--p-amber)",accent:"color-mix(in srgb, var(--p-amber) 12%, transparent)"},{id:"in-progress",label:"In Progress",color:"var(--p-blue)",accent:"color-mix(in srgb, var(--p-blue) 12%, transparent)",glow:!0},{id:"review",label:"Review",color:"var(--p-purple)",accent:"color-mix(in srgb, var(--p-purple) 12%, transparent)"},{id:"done",label:"Done",color:"var(--p-green)",accent:"color-mix(in srgb, var(--p-green) 10%, transparent)"}];var Yx=3;function Zx(){return(0,pe.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,pe.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"75%",marginBottom:8}}),(0,pe.jsx)("div",{style:{height:10,borderRadius:4,background:"var(--p-border-s)",width:"50%",marginBottom:8}}),(0,pe.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,pe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:48}}),(0,pe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})]})}function td({tasks:e,visibleCols:t,searchQuery:a,isLoading:r,liveActivities:o,onOpenPanel:n,onDrop:l,onReorder:s}){let u=Jt.default.useRef(null),d=Jt.default.useRef(null),[g,m]=Jt.default.useState(null),[p,h]=Jt.default.useState(null),[y,I]=Jt.default.useState(null),O=Jt.default.useRef(null),c=Jt.default.useRef(null),i=a?e.filter(w=>(w.title??"").toLowerCase().includes(a.toLowerCase())||(w.description??"").toLowerCase().includes(a.toLowerCase())):e,f=Ka.filter(w=>t.includes(w.id));Jt.default.useEffect(()=>{let w=u.current,R=d.current;if(!w||!R)return;function D(){if(!w||!R)return;let Z=w.scrollWidth>w.clientWidth?w.clientWidth/w.scrollWidth:1,j=Math.max(40,w.clientWidth*Z);R.style.width=`${j}px`;let le=w.scrollWidth-w.clientWidth,Ne=w.clientWidth-j;R.style.left=`${le>0?w.scrollLeft/le*Ne:0}px`,R.style.opacity=Z<1?"1":"0"}w.addEventListener("scroll",D);let N=new ResizeObserver(D);N.observe(w),D();let q=!1,$=0,ue=0;function X(Z){q=!0,$=Z.clientX,ue=w.scrollLeft,R.classList.add("dragging"),document.addEventListener("mousemove",z),document.addEventListener("mouseup",oe)}function z(Z){if(!q||!w||!R)return;let j=w.scrollWidth>w.clientWidth?w.scrollWidth/w.clientWidth:1;w.scrollLeft=ue+(Z.clientX-$)*j}function oe(){q=!1,R==null||R.classList.remove("dragging"),document.removeEventListener("mousemove",z),document.removeEventListener("mouseup",oe)}return R.addEventListener("mousedown",X),()=>{w.removeEventListener("scroll",D),N.disconnect(),R.removeEventListener("mousedown",X)}},[f.length]);function v(w,R){O.current=R,m(R),w.dataTransfer.effectAllowed="move"}function k(w,R){w.preventDefault(),h(R)}function b(w,R){w.preventDefault(),w.stopPropagation();let D=w.currentTarget.getBoundingClientRect(),N=w.clientY<D.top+D.height/2?"before":"after",q={taskId:R,position:N};c.current=q,I($=>($==null?void 0:$.taskId)===R&&$.position===N?$:q)}function L(w,R,D){w.preventDefault(),h(null);let N=c.current;c.current=null,I(null);let q=O.current;if(O.current=null,m(null),!!q)if(s&&N){let $=D.findIndex(z=>z.id===N.taskId),ue=null,X=null;N.position==="before"?(X=N.taskId,ue=$>0?D[$-1].id:null):(ue=N.taskId,X=$<D.length-1?D[$+1].id:null),s(q,R,ue,X)}else l(q,R)}function C(){O.current=null,m(null),h(null),c.current=null,I(null)}return(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)("main",{id:"kanban-board",ref:u,className:"flex-1 flex overflow-x-auto overflow-y-hidden",style:{padding:"16px 20px",gap:16},onDragEnd:C,children:f.map(w=>{let R=r?[]:i.filter(N=>N.status===w.id).sort(hn),D=w.id==="done"?[...R].reverse():R;return(0,pe.jsx)(Jx,{col:w,tasks:D,isLoading:r,liveActivities:o,isDragOver:p===w.id&&!y,onDragOver:N=>k(N,w.id),onDrop:N=>L(N,w.id,R),onDragLeave:N=>{let q=N.relatedTarget;q&&N.currentTarget.contains(q)||(h(null),c.current=null,I(null))},onStatusChange:(N,q)=>l(N,q),onAddTask:()=>n(null,"details",w.id),onOpenTask:n,onDragStart:v,onCardDragOver:b,cardDropTarget:y},w.id)})}),(0,pe.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,pe.jsx)("div",{id:"kanban-scroll-thumb",ref:d,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:w=>{w.currentTarget.style.background="var(--p-text-g)"},onMouseLeave:w=>{w.currentTarget.classList.contains("dragging")||(w.currentTarget.style.background="var(--p-border-t)")}})})]})}function Jx({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:p,cardDropTarget:h}){let[y,I]=Jt.default.useState(!1),O=e.id==="in-progress"?"sd-inprogress":`sd-${e.id}`,c=20,i=e.id==="done",f=i&&t.length>c?t.length-c:0,v=i?t.slice(0,c):t;return(0,pe.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,pe.jsxs)("div",{className:"column-header",style:{background:e.accent,borderColor:`color-mix(in srgb, ${e.color} 30%, transparent)`},children:[(0,pe.jsx)("div",{className:`status-dot ${O}`}),(0,pe.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:e.id==="done"?`${e.color}b3`:e.color},children:[e.label,a?"":` \\xB7 ${t.length}`]}),(0,pe.jsx)("span",{style:{marginLeft:"auto"}}),(0,pe.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:y?e.color:"var(--p-text-g)",cursor:"pointer",transition:"color .15s",padding:0},onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1),onClick:d,children:(0,pe.jsx)(wn,{style:{width:14,height:14}})})]}),(0,pe.jsx)("div",{className:"column-scroll","data-status":e.id,children:a?Array.from({length:Yx}).map((k,b)=>(0,pe.jsx)(Zx,{},b)):t.length===0?(0,pe.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,pe.jsxs)(pe.Fragment,{children:[v.map(k=>(0,pe.jsxs)("div",{style:{position:"relative"},onDragOver:b=>p(b,k.id),children:[(h==null?void 0:h.taskId)===k.id&&h.position==="before"&&(0,pe.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}}),(0,pe.jsx)(Ji,{task:k,col:e,liveActivity:r==null?void 0:r.get(k.id),onOpen:g,onDragStart:m}),(h==null?void 0:h.taskId)===k.id&&h.position==="after"&&(0,pe.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}})]},k.id)),f>0&&(0,pe.jsxs)("div",{style:{margin:"4px 0 2px",padding:"6px 8px",borderRadius:6,border:"1px dashed var(--p-border-t)",fontSize:11,color:"var(--p-text-g)",textAlign:"center",lineHeight:1.4},children:["+",f," older ",f===1?"task":"tasks"," not shown"]})]})})]})}var Sr=M(Ce(),1);var re=M(W(),1),Cm={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)"}},ev=xm,wm={Critical:"var(--p-red)",High:"var(--p-amber-300)",Medium:"var(--p-text-m)",Low:"var(--p-text-f)"},ad=["in-progress","review","todo","backlog","done"];function tv(){return(0,re.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,re.jsx)("div",{style:{width:14,height:14,borderRadius:3,background:"var(--p-border-s)"}}),(0,re.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"60%"}}),(0,re.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:44}}),(0,re.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})}function rd({tasks:e,searchQuery:t,isLoading:a,liveActivities:r,onOpenPanel:o,onAddTask:n,onDrop:l}){let[s,u]=Sr.default.useState(null),[d,g]=Sr.default.useState(null),[m,p]=Sr.default.useState(null),[h,y]=Sr.default.useState({backlog:!1,todo:!1,"in-progress":!1,review:!1,done:!1}),I=t?e.filter(c=>(c.title??"").toLowerCase().includes(t.toLowerCase())||(c.description??"").toLowerCase().includes(t.toLowerCase())):e,O=Sr.default.useMemo(()=>{let c=new Map;for(let i of ad)c.set(i,[]);for(let i of I)(c.get(i.status)??[]).push(i);return c},[I]);return(0,re.jsxs)("div",{id:"kanban-list-view",style:{flex:1,overflowY:"auto",padding:"16px 24px",minHeight:0},children:[a?ad.slice(0,3).map(c=>{let i=Cm[c];return(0,re.jsxs)("div",{style:{marginBottom:24},children:[(0,re.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,re.jsx)("div",{style:{width:18,height:18,borderRadius:5,background:"var(--p-border-s)",animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,re.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,re.jsx)("div",{style:{height:14,borderRadius:4,background:"var(--p-border-s)",width:16,animation:"skeleton-pulse 1.5s ease-in-out infinite"}})]}),(0,re.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:3}).map((f,v)=>(0,re.jsx)(tv,{},v))})]},c)}):ad.map(c=>{let i=O.get(c)??[];if(i.length===0)return null;let f=Cm[c];return(0,re.jsxs)("div",{style:{marginBottom:24},children:[(0,re.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,padding:"4px 6px",borderRadius:6,transition:"background .1s",background:d===c?f.bg:"transparent",outline:d===c?`1px dashed ${f.border}`:void 0},onDragOver:v=>{v.preventDefault(),g(c)},onDragLeave:()=>g(null),onDrop:v=>{v.preventDefault(),g(null),p(null),s&&l(s,c),u(null)},children:[(0,re.jsx)("button",{type:"button",title:h[c]?"Expand":"Collapse",onClick:v=>{v.stopPropagation(),y(k=>({...k,[c]:!k[c]}))},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:h[c]?"+":"\\u2212"}),(0,re.jsx)("span",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"2px 8px",borderRadius:6,background:f.bg,border:`1px solid ${f.border}`,color:f.text},children:c}),(0,re.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:i.length}),(0,re.jsx)("button",{type:"button",title:`Add task to ${c}`,onClick:v=>{v.stopPropagation(),n(c)},style:{marginLeft:"auto",width:22,height:22,borderRadius:7,border:`1px solid ${f.border}`,background:f.bg,color:f.text,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:600},children:"+"})]}),(0,re.jsx)("div",{style:{display:h[c]?"none":"flex",flexDirection:"column",gap:2},children:i.map(v=>(0,re.jsx)(av,{task:v,liveActivity:r==null?void 0:r.get(v.id),onOpen:o,onDragStart:k=>u(k),dragOver:m===v.id,onDragOver:()=>p(v.id),onDragLeave:()=>p(k=>k===v.id?null:k),onDropToStatus:()=>{s&&l(s,v.status),u(null),p(null)}},v.id))})]},c)}),!a&&I.length===0&&(0,re.jsx)("div",{style:{textAlign:"center",color:"var(--p-text-g)",fontSize:13,marginTop:60},children:"No tasks found"})]})}function av({task:e,liveActivity:t,onOpen:a,onDragStart:r,dragOver:o,onDragOver:n,onDragLeave:l,onDropToStatus:s}){let[u,d]=Sr.default.useState(!1),g=ev[e.type??"Task"]??"\\u2611",m=e.commentCount??0,p=e.fileCount??0;return(0,re.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:h=>{h.dataTransfer.effectAllowed="move",r(e.id),h.currentTarget.style.opacity="0.4"},onDragEnd:h=>{h.currentTarget.style.opacity="1"},onDragOver:h=>{h.preventDefault(),n()},onDragLeave:l,onDrop:h=>{h.preventDefault(),s()},children:[(0,re.jsx)("span",{style:{fontSize:12,textAlign:"center",flexShrink:0},children:g}),(0,re.jsxs)("div",{style:{minWidth:0},children:[(0,re.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,re.jsx)("span",{style:{fontSize:13,fontWeight:500,color:"var(--p-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.title}),e.priority&&wm[e.priority]&&(0,re.jsx)(Ln,{className:"w-2.5 h-2.5 flex-shrink-0",style:{color:wm[e.priority]}}),e.component&&(0,re.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,re.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,re.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:h=>{h.stopPropagation(),a(e,"comments")},children:[(0,re.jsx)(xr,{className:"w-3 h-3"}),m>0&&(0,re.jsx)("span",{children:m})]}),p>0&&(0,re.jsxs)("button",{title:`${p} 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:h=>{h.stopPropagation(),a(e,"files")},children:[(0,re.jsx)(vr,{className:"w-3 h-3"}),(0,re.jsx)("span",{children:p})]}),t&&(0,re.jsx)(ed,{activity:t})]})}var go=M(Ce(),1);var Ga=M(W(),1);function km({size:e=32,style:t,className:a}){return(0,Ga.jsxs)("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,className:a,"aria-label":"Vibeflow",children:[(0,Ga.jsx)("rect",{width:"32",height:"32",rx:"7",fill:"#2563eb"}),(0,Ga.jsx)("rect",{x:"7",y:"13",width:"3.5",height:"10",rx:"1.5",fill:"white",opacity:"0.75"}),(0,Ga.jsx)("rect",{x:"12.25",y:"8.5",width:"3.5",height:"15",rx:"1.5",fill:"white"}),(0,Ga.jsx)("rect",{x:"17.5",y:"14.5",width:"3.5",height:"8",rx:"1.5",fill:"white",opacity:"0.75"}),(0,Ga.jsx)("rect",{x:"22.5",y:"11",width:"2.5",height:"11",rx:"1.25",fill:"white",opacity:"0.85"})]})}var ys=M(W(),1);function vs({id:e,title:t,onClick:a,label:r,icon:o,variant:n="neutral"}){return(0,ys.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,ys.jsx)("span",{children:r})]})}var K=M(W(),1);function od({projectName:e,projectIcon:t,missingProjectIconStyle:a="initial",wsConnected:r,port:o,searchQuery:n,premiumUsage:l,isLoading:s,filterTags:u,allTags:d,onToggleTag:g,backHref:m,backLabel:p,onSearchChange:h,onSettings:y,extraActions:I,taskSummary:O}){let[c,i]=go.default.useState(!1),[f,v]=go.default.useState(0),k=go.default.useRef(null),b=go.default.useRef(null),L=n.match(/(?:^|\\s)#(\\S*)$/),C=L?L[1]:null,w=u??[],R=(d??[]).filter(z=>!w.includes(z)),D=C!==null?R.filter(z=>z.toLowerCase().includes(C.toLowerCase())):[];go.default.useEffect(()=>{v(0)},[D.length]);function N(z){var Z;let oe=n.replace(/\\s*#\\S*$/,"");h(oe),g==null||g(z),(Z=k.current)==null||Z.focus()}function q(z){if(z.key==="Backspace"&&n===""&&w.length>0){z.preventDefault(),g==null||g(w[w.length-1]);return}if(!(C===null||D.length===0)){if(z.key==="ArrowDown")z.preventDefault(),v(oe=>Math.min(oe+1,D.length-1));else if(z.key==="ArrowUp")z.preventDefault(),v(oe=>Math.max(oe-1,0));else if(z.key==="Enter")z.preventDefault(),D[f]&&N(D[f]);else if(z.key==="Escape"){let oe=n.replace(/\\s*#\\S*$/,"");h(oe)}}}let $=(t??"").trim(),ue=e?e.charAt(0).toUpperCase()+e.slice(1):"Vibeflow Board",X=n||w.length>0;return(0,K.jsxs)("header",{className:"px-5 py-3 flex items-center gap-3 border-b border-slate-800/60 flex-shrink-0",children:[(0,K.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[m&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("a",{id:"header-back-link",href:m,className:"text-xs text-slate-400 hover:text-slate-200 transition-colors no-underline",style:{textDecoration:"none",fontWeight:500},children:p??"Back"}),(0,K.jsx)(vn,{className:"w-3 h-3 text-slate-600 flex-shrink-0"})]}),(0,K.jsx)("div",{className:"flex-shrink-0",style:{width:32,height:32,display:"flex",alignItems:"center",justifyContent:"center",...$?{fontSize:20}:void 0},children:$||(a==="vibeflow"?(0,K.jsx)(km,{size:32}):(0,K.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:ue,children:ue.charAt(0).toUpperCase()}))}),(0,K.jsxs)("div",{children:[(0,K.jsxs)("div",{className:"flex items-center gap-2",children:[(0,K.jsx)("h1",{id:"header-project-name",className:"text-sm font-semibold text-white leading-tight",children:ue}),r&&(0,K.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,K.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-green-400",style:{animation:"pulse-live 2s ease-in-out infinite"}}),(0,K.jsxs)("span",{className:"text-[10px] font-medium text-green-400",children:["live \\xB7 :",o]})]})]}),(0,K.jsxs)("p",{className:"text-[10px] text-slate-500 font-mono mt-0.5",children:[O,s&&(0,K.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,K.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,K.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,K.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 z;return(z=k.current)==null?void 0:z.focus()},children:[(0,K.jsx)(kn,{className:"w-3.5 h-3.5 text-slate-500 flex-shrink-0 mr-0.5"}),w.map(z=>{let{bg:oe,text:Z,border:j}=qt(z);return(0,K.jsxs)("span",{style:{background:oe,color:Z,border:`1px solid ${j}`,display:"inline-flex",alignItems:"center",gap:3,padding:"1px 7px",borderRadius:100,fontSize:11,fontWeight:500,whiteSpace:"nowrap"},children:[z,(0,K.jsx)("button",{onClick:le=>{le.stopPropagation(),g==null||g(z)},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,display:"flex"},children:(0,K.jsx)(Ue,{style:{width:9,height:9}})})]},z)}),(0,K.jsx)("input",{ref:k,id:"global-search",type:"text",placeholder:w.length===0?"Search\\u2026 or type #tag":"#tag or search\\u2026",value:n,onChange:z=>h(z.target.value),onKeyDown:q,className:"flex-1 min-w-[100px] bg-transparent border-none outline-none text-xs text-slate-200 placeholder-slate-500",autoComplete:"off",spellCheck:!1}),X&&(0,K.jsx)("button",{id:"global-search-clear",onClick:()=>{h(""),w.forEach(z=>g==null?void 0:g(z))},className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 flex",title:"Clear search and tag filters",children:(0,K.jsx)(Ue,{className:"w-3.5 h-3.5"})})]}),C!==null&&D.length>0&&(0,K.jsxs)("div",{ref:b,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,K.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"}),D.map((z,oe)=>{let{bg:Z,text:j,border:le}=qt(z);return(0,K.jsxs)("button",{onMouseDown:Ne=>{Ne.preventDefault(),N(z)},onMouseEnter:()=>v(oe),style:{width:"100%",textAlign:"left",display:"flex",alignItems:"center",gap:8,padding:"7px 12px",background:oe===f?"var(--p-hover)":"none",border:"none",cursor:"pointer"},children:[(0,K.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:j,flexShrink:0}}),(0,K.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:z}),(0,K.jsx)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",padding:"1px 7px",borderRadius:100,fontSize:10,background:Z,color:j,border:`1px solid ${le}`},children:"tag"})]},z)}),(0,K.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,K.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[I,(0,K.jsx)(vs,{id:"header-shortcuts-hint",title:"Click to see keyboard shortcuts",onClick:()=>i(!0),label:"? shortcuts"}),(0,K.jsx)(vs,{id:"btn-settings",title:"Settings",onClick:y,icon:(0,K.jsx)(yr,{className:"w-3.5 h-3.5"})})]}),c&&(0,K.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:()=>i(!1),children:(0,K.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:z=>z.stopPropagation(),children:[(0,K.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[(0,K.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--p-text)"},children:"Keyboard Shortcuts"}),(0,K.jsx)("button",{onClick:()=>i(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--p-text-f)",padding:2},children:(0,K.jsx)(Ue,{style:{width:14,height:14}})})]}),(0,K.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(([z,oe])=>(0,K.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,K.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:z}),(0,K.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:oe})]},z))})]})})]})}var G=M(Ce(),1);var Ls=M(Ce(),1);var ea=M(W(),1);function Ss({id:e,value:t,onChange:a,disabled:r}){let[o,n]=Ls.default.useState(!1),l=Ls.default.useRef(null),s=Lr.find(u=>u.value===t)??Lr[0];return Ls.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:Lr.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 et=M(Ce(),1);var An=M(Ce(),1);var ja=M(W(),1);function Xa({markdown:e,className:t,style:a}){let r=An.default.useRef(null),o=An.default.useRef({}),[n,l]=An.default.useState(null);return An.default.useEffect(()=>{let s=r.current;if(!s)return;function u(){l(null)}async function d(m){let p=m.target,h=p==null?void 0:p.closest("a[data-task-ref]");if(!h){u();return}m.preventDefault();let y=h.getAttribute("data-task-ref");if(!y)return;let I=h.getBoundingClientRect(),O=o.current[y];if(O){l({id:y,title:O.title,status:O.status,x:I.left,y:I.bottom+6});return}try{let i=await(await fetch(`/api/tasks/${y}`)).json(),f={title:i.title??`Task ${y}`,status:i.status??"unknown"};o.current[y]=f,l({id:y,title:f.title,status:f.status,x:I.left,y:I.bottom+6})}catch{l({id:y,title:`Task ${y}`,status:"unknown",x:I.left,y:I.bottom+6})}}function g(m){var y,I;let p=(I=(y=m.target)==null?void 0:y.closest)==null?void 0:I.call(y,"a[data-task-ref]");if(!p)return;let h=p.getAttribute("data-task-ref");h&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId:h}}))}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,ja.jsxs)("div",{style:{position:"relative"},children:[(0,ja.jsx)("div",{ref:r,className:t,style:a,dangerouslySetInnerHTML:{__html:fs(e)}}),n&&(0,ja.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,ja.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",n.id]}),(0,ja.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:n.title}),(0,ja.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",n.status]})]})]})}var Mn=M(Ce(),1),bm=M(W(),1),ho=Mn.default.forwardRef(function({value:t,onChange:a,baseRows:r=4,maxRows:o,style:n,...l},s){let u=Mn.default.useRef(null),d=o??r*2,g=Mn.default.useCallback(()=>{let m=u.current;if(!m)return;m.style.height="auto";let p=window.getComputedStyle(m),h=Number.parseFloat(p.lineHeight||"0")||18,y=Number.parseFloat(p.paddingTop||"0")+Number.parseFloat(p.paddingBottom||"0"),I=Number.parseFloat(p.borderTopWidth||"0")+Number.parseFloat(p.borderBottomWidth||"0"),O=r*h+y+I,c=d*h+y+I,i=Math.max(O,Math.min(m.scrollHeight,c));m.style.height=`${i}px`,m.style.overflowY=m.scrollHeight>c?"auto":"hidden"},[r,d]);return Mn.default.useLayoutEffect(()=>{g()},[t,g]),(0,bm.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 Rm=M(Ce(),1);var Pm=M(Ce(),1),Tm=M(uo(),1),ga=M(W(),1);function Ir({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(Pm.default.useEffect(()=>{if(!e)return;function y(I){I.key==="Escape"&&t(),m==null||m(I)}return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[e,t,m]),!e)return null;let p=!!(a||r||o),h=(0,ga.jsx)("div",{id:s,className:"modal-backdrop",onClick:y=>{y.target===y.currentTarget&&t()},onMouseDown:y=>y.stopPropagation(),children:(0,ga.jsxs)("div",{className:"modal-box",style:{width:n??"min(420px, 95vw)",maxHeight:l,...g},children:[p&&(0,ga.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--p-border)",flexShrink:0},children:[a&&(0,ga.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a}),r&&(0,ga.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1,minWidth:0},children:r}),o&&(0,ga.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0,marginLeft:"auto"},children:o})]}),u,d&&(0,ga.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,Tm.createPortal)(h,document.body)}var Dt=M(W(),1);function ta({open:e,message:t,title:a="Confirm",confirmLabel:r="Delete",cancelLabel:o="Cancel",loading:n,error:l,onConfirm:s,onCancel:u}){let d=Rm.default.useCallback(g=>{g.key==="Enter"&&s()},[s]);return(0,Dt.jsx)(Ir,{open:e,onClose:u,id:"confirm-modal",width:"min(380px, 95vw)",icon:(0,Dt.jsx)($a,{style:{width:20,height:20,color:"#f87171"}}),title:a,onKeyDown:d,footer:(0,Dt.jsxs)(Dt.Fragment,{children:[(0,Dt.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,Dt.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,Dt.jsxs)("div",{style:{padding:"16px 18px"},children:[typeof t=="string"?(0,Dt.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:t}):t,l&&(0,Dt.jsx)("p",{style:{margin:"8px 0 0",fontSize:12,color:"var(--p-red)"},children:l})]})})}var Ae=M(W(),1);function Dm(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 rv(e){return/\\.(png|jpe?g|gif|webp|svg|html?)$/i.test(e.name)}function ov(e){return/\\.html?$/i.test(e.name)}function Is({file:e,url:t,variant:a,onPreview:r,onDelete:o}){let n=rv(e),l=ov(e);function s(){r?r(e,t):window.open(t,"_blank")}return a==="compact"?(0,Ae.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,Ae.jsx)("span",{style:{fontSize:14,flexShrink:0},children:Dm(e)}),(0,Ae.jsx)("div",{style:{flex:1,minWidth:0},children:(0,Ae.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,Ae.jsx)("span",{className:"file-compact-ts",style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:e.createdAt?lt(e.createdAt):"attached"}),(0,Ae.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,Ae.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,Ae.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,Ae.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,Ae.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,Ae.jsx)("span",{style:{fontSize:18,flexShrink:0},children:Dm(e)}),(0,Ae.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,Ae.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,Ae.jsx)("p",{style:{fontSize:10,color:"var(--p-text-f)",margin:0},children:e.linkedPath?`linked: ${e.linkedPath}`:Qi(e.size??0)})]}),(0,Ae.jsxs)("div",{className:"file-normal-actions",style:{display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s"},children:[n&&(0,Ae.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,Ae.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,Ae.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=M(W(),1);function Am({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 nv(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 lv(e,t){let a=[];for(let r of e){let o=nv(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 nd({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:p,onDeleteFile:h,onFilePreview:y}){let I=et.default.useRef(null),O=et.default.useRef(null),[c,i]=et.default.useState(null),[f,v]=et.default.useState(""),[k,b]=et.default.useState(null),[L,C]=et.default.useState(null),[w,R]=et.default.useState(()=>{try{return localStorage.getItem("vibeflow-show-updates")!=="false"}catch{return!0}}),D=et.default.useRef(r),N=et.default.useMemo(()=>{let X=[];d&&X.push({kind:"lifecycle",sortKey:d,label:"Task created",icon:"\\u2726",author:l??n}),g&&g!==d&&X.push({kind:"lifecycle",sortKey:g,label:"Task edited",icon:"\\u270E"});let z=e.map(j=>({kind:"comment",sortKey:j.createdAt,comment:j})),oe=t.map(j=>{let le=j.url.startsWith("http")?j.url:`${s}${j.url}`;return{kind:"file",sortKey:j.createdAt??"9999",file:j,url:le}}),Z=a.map(j=>({kind:"change",sortKey:j.timestamp,field:j.field,from:j.from,to:j.to,actor:j.actor,source:j.source}));return[...X,...z,...oe,...Z].sort((j,le)=>le.sortKey.localeCompare(j.sortKey))},[e,t,a,s,d,g]),q=et.default.useMemo(()=>N.filter(X=>X.kind==="lifecycle"||X.kind==="change").length,[N]),$=et.default.useMemo(()=>w?N:N.filter(X=>X.kind==="comment"||X.kind==="file"),[N,w]),ue=et.default.useMemo(()=>lv($,n),[$,n]);return et.default.useEffect(()=>{let X=D.current&&!r;D.current=r,I.current&&X&&requestAnimationFrame(()=>{I.current&&(I.current.scrollTop=0)})},[r]),et.default.useEffect(()=>{c&&O.current&&(O.current.focus(),O.current.scrollIntoView({block:"nearest"}))},[c]),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."}):N.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:[q>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:w?"":`${q} system event${q!==1?"s":""} hidden`}),(0,B.jsx)("button",{id:"dp-toggle-updates",onClick:()=>R(X=>{let z=!X;try{localStorage.setItem("vibeflow-show-updates",String(z))}catch{}return z}),style:{all:"unset",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,color:w?"var(--p-text-m)":"var(--p-text-g)",transition:"color .12s, background .12s"},title:w?"Hide system events":`Show ${q} system event${q!==1?"s":""}`,onMouseEnter:X=>{X.currentTarget.style.color="var(--p-text)",X.currentTarget.style.background="var(--p-hover)"},onMouseLeave:X=>{X.currentTarget.style.color=w?"var(--p-text-m)":"var(--p-text-g)",X.currentTarget.style.background="transparent"},children:w?(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:I,style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:ue.map((X,z)=>{let oe=X.author!==null&&X.items.length>1,Z=oe,j=X.author==="\\u{1F916} Agent";return(0,B.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[Z&&(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:X.author}),(0,B.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",flexShrink:0},children:`${lt(X.oldestSortKey)} \\u2013 ${lt(X.newestSortKey)}`}),(0,B.jsxs)("span",{style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:["(",X.items.length," activities)"]})]}),(0,B.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:oe?4:8,paddingLeft:oe?8:0,borderLeft:oe?"1.5px solid var(--p-border)":"none",marginLeft:oe?4:0},children:X.items.map((le,Ne)=>sv(le,Ne,z,oe,n,c,f,O,i,v,m,b,h?C:null,y))})]},`group-${z}`)})}),(0,B.jsx)(ta,{open:k!==null,message:"Delete this comment? This action cannot be undone.",onConfirm:()=>{k&&p(k),b(null)},onCancel:()=>b(null)}),h&&(0,B.jsx)(ta,{open:L!==null,message:L?`Delete "${L.name}"? This action cannot be undone.`:"",onConfirm:()=>{L&&h(L),C(null)},onCancel:()=>C(null)})]})}function sv(e,t,a,r,o,n,l,s,u,d,g,m,p,h){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:lt(e.sortKey)})]})})]},`lifecycle-${e.sortKey}-${a}-${t}`);if(e.kind==="change"){let k=e.from.length>28?e.from.slice(0,28)+"\\u2026":e.from,b=e.to.length>28?e.to.slice(0,28)+"\\u2026":e.to,L=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)(Am,{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:lt(e.sortKey)})]}),(0,B.jsxs)("div",{title:L?`${e.from} \\u2192 ${e.to}`:void 0,style:{marginTop:2,fontSize:11,color:"var(--p-text-g)",display:"flex",alignItems:"center",gap:4,cursor:L?"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:k}),(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:b})]})]})]},`change-${e.sortKey}-${a}-${t}`)}if(e.kind==="file"){let{file:v,url:k}=e;return(0,B.jsx)(Is,{file:v,url:k,variant:"compact",onPreview:h?(b,L)=>h(b.name,L):void 0,onDelete:p?b=>(p(b),Promise.resolve()):void 0},`file-${v.name}-${a}-${t}`)}let y=e.comment,I=y.author==="agent",O=y.type==="system",c=y.deleted===!0,i=!!y.id&&!I&&!O&&!c&&y.isOwnComment!==!1,f=n===y.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:y.text}),!r&&(0,B.jsx)("span",{style:{marginLeft:"auto",flexShrink:0,opacity:.6},children:lt(y.createdAt)})]},y.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:c?"var(--p-text-g)":I?"var(--p-purple)":"var(--p-blue-300)"},children:I?"\\u{1F916} Agent":`\\u{1F464} ${y.authorName??o}`}),(0,B.jsx)(Am,{source:y.source}),(0,B.jsxs)("span",{style:{color:"var(--p-text-g)"},children:[lt(y.createdAt),!c&&y.updatedAt?" \\xB7 edited":"",c?" \\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(y.id),d(y.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(y),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:[lt(y.createdAt),!c&&y.updatedAt?" \\xB7 edited":"",c?" \\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(y.id),d(y.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(y),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"})})]})]}),f?(0,B.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,B.jsx)(ho,{ref:s,value:l,onChange:d,baseRows:4,maxRows:12,onKeyDown:v=>{v.key==="Enter"&&(v.ctrlKey||v.metaKey)&&(v.preventDefault(),g(y,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(y,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"})]})]}):c?(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)(Xa,{markdown:y.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}})]},y.id)}var Mm=M(Ce(),1);var Qa=M(W(),1);function ld({files:e,loading:t,error:a,baseUrl:r,onPreview:o,onDelete:n}){let[l,s]=Mm.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)(Is,{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)(ta,{open:l!==null,message:l?`Delete "${l.name}"? This action cannot be undone.`:"",onConfirm:()=>{l&&n(l),s(null)},onCancel:()=>s(null)})]})}var id=M(Ce(),1);var xo=M(Ce(),1),Em=M(uo(),1);var Wt=M(W(),1);function En({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:p=12,autoFocus:h=!1,textareaRef:y,onKeyDown:I,afterTextarea:O,onBlur:c}){let i=xo.default.useRef(null),[f,v]=xo.default.useState([]),[k,b]=xo.default.useState(null),[L,C]=xo.default.useState(null);xo.default.useEffect(()=>{let D=!0;return fetch("/api/tasks").then(N=>N.json()).then(N=>{if(!D)return;let q=(N.tasks??[]).map($=>({id:String($.id??""),title:String($.title??"")})).filter($=>$.id.length>0);v(q)}).catch(()=>{}),()=>{D=!1}},[]);function w(D){let N=i.current;if(!N){b(null);return}let q=N.selectionStart??D.length,$=D.slice(0,q),ue=-1;for(let Z=$.length-1;Z>=0;Z--){if($[Z]!=="#")continue;let j=Z>0?$[Z-1]:"";if(j&&!/\\s/.test(j))continue;let le=$.slice(Z+1);if(!le.includes("#")){if(le.length>80)return;ue=Z;break}}if(ue===-1){b(null);return}let X=$.slice(ue+1).trim().toLowerCase(),z=f.filter(Z=>{if(!X)return!0;let j=Z.id.toLowerCase(),le=Z.title.toLowerCase();return j.includes(X)||le.includes(X)}).sort((Z,j)=>{let le=Z.id.toLowerCase().startsWith(X)?1:0,Ne=j.id.toLowerCase().startsWith(X)?1:0;if(le!==Ne)return Ne-le;let ht=Z.title.toLowerCase().startsWith(X)?1:0,We=j.title.toLowerCase().startsWith(X)?1:0;return ht!==We?We-ht:Z.id.localeCompare(j.id)}).slice(0,6);if(!z.length){b(null),C(null);return}let oe=N.getBoundingClientRect();C({top:oe.top,left:oe.left,width:oe.width}),b({queryStart:ue,queryEnd:q,items:z})}function R(D){let N=k;if(!N)return;let q=`${e.slice(0,N.queryStart)}#${D} ${e.slice(N.queryEnd)}`;t(q),b(null),C(null),requestAnimationFrame(()=>{let $=i.current;if(!$)return;let ue=N.queryStart+D.length+2;$.focus(),$.setSelectionRange(ue,ue)})}return r?(0,Wt.jsx)("div",{id:n,onClick:D=>{D.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,Wt.jsx)(Xa,{markdown:a??e}):(0,Wt.jsx)("span",{style:{color:"var(--p-border-t)"},children:u??s})}):(0,Wt.jsxs)("div",{style:{position:"relative"},children:[(0,Wt.jsx)(ho,{id:l,ref:D=>{i.current=D,y&&(y.current=D)},className:"dp-textarea",placeholder:s,value:e,onChange:D=>{t(D),w(D)},onFocus:()=>o(!1),onBlur:()=>{b(null),C(null),o(!0),c==null||c()},baseRows:m,maxRows:p,autoFocus:h,onKeyDown:D=>{D.key==="Escape"&&(b(null),C(null)),I==null||I(D)}}),k&&L&&(0,Em.createPortal)((0,Wt.jsx)("div",{"data-task-ref-suggest":"true",style:{position:"fixed",left:L.left+8,width:L.width-16,top:L.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:k.items.map(D=>(0,Wt.jsxs)("button",{type:"button",onMouseDown:N=>{N.preventDefault(),R(D.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:N=>{N.currentTarget.style.background="var(--p-hover)"},onMouseLeave:N=>{N.currentTarget.style.background="transparent"},children:[(0,Wt.jsxs)("span",{style:{fontFamily:"monospace",color:"var(--p-blue-300)"},children:["#",D.id]}),(0,Wt.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:D.title})]},D.id))}),document.body),O]})}var Cr=M(Ce(),1);var At=M(W(),1);function sd({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(f=>!e.includes(f)&&f.toLowerCase().includes(g)).slice(0,8),[t,e,g]),p=g.length>0&&!t.some(i=>i.toLowerCase()===g)&&!e.some(i=>i.toLowerCase()===g),h=g.length>0&&t.some(i=>i.toLowerCase()===g)&&!e.some(i=>i.toLowerCase()===g);function y(i){var v;let f=i.trim();!f||e.includes(f)||(a([...e,f]),n(""),s(!1),(v=u.current)==null||v.focus())}function I(i){a(e.filter(f=>f!==i))}function O(i){if(i.key==="Enter")if(i.preventDefault(),p||h){let f=t.find(v=>v.toLowerCase()===g);y(f??o.trim())}else m.length>0&&y(m[0]);i.key==="Escape"&&(s(!1),n("")),i.key==="Backspace"&&!o&&e.length>0&&I(e[e.length-1])}Cr.default.useEffect(()=>{function i(f){d.current&&!d.current.contains(f.target)&&s(!1)}return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[]);let c=l&&(m.length>0||p);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)(Dn,{tags:e,onRemove:r?void 0:I,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"}})]}),c&&(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:f,text:v,border:k}=qt(i);return(0,At.jsxs)("button",{type:"button",onClick:()=>y(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:b=>{b.currentTarget.style.background="var(--p-hover)"},onMouseLeave:b=>{b.currentTarget.style.background="none"},children:[(0,At.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:v,border:`1px solid ${k}`,flexShrink:0}}),i]},i)}),p&&(0,At.jsxs)("button",{type:"button",onClick:()=>y(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 _=M(W(),1);function dd({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:p,onPatch:h,onDeleteScreenshot:y,liveFiles:I,allTags:O=[],overrideTags:c,onTagsChange:i}){var N;let f=(e==null?void 0:e.files)??[],v=I?I.map(q=>({name:q.name,linkedPath:q.linkedPath,addedAt:q.createdAt,url:q.url})):f,k=v==null?void 0:v.find(q=>/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(q.name)),b=e&&k?k.url||`/api/tasks/${e.id}/files/${encodeURIComponent(k.name)}`:null,L=id.default.useRef(null),[C,w]=id.default.useState(null),{userPart:R,consolePart:D}=dv(t);return(0,_.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:"Description"}),(0,_.jsx)(En,{value:t,previewValue:D?R: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:L,afterTextarea:u&&d!==void 0&&t!==d?(0,_.jsx)("button",{type:"button",onMouseDown:q=>{q.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:q=>{q.currentTarget.style.color="var(--p-amber-300)",q.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:q=>{q.currentTarget.style.color="var(--p-text-g)",q.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9 Discard changes"}):void 0})]}),D&&(0,_.jsx)(fv,{logs:D}),e&&k&&b&&(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"dp-meta-label",children:"Screenshot"}),(0,_.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,_.jsx)("button",{onClick:()=>p(k.name,b),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,_.jsx)("img",{src:b,alt:"Task screenshot",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})}),(0,_.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderTop:"1px solid var(--p-border)",background:"var(--p-surface)"},children:[(0,_.jsx)("span",{style:{fontSize:10,color:"var(--p-text-f)",flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:k.addedAt?`Captured ${lt(k.addedAt)}`:"Screenshot attached"}),(0,_.jsx)("button",{onClick:()=>p(k.name,b),style:{fontSize:10,color:"var(--p-text-m)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Preview screenshot",children:"Preview"}),(0,_.jsx)("button",{onClick:()=>w(k.name),style:{fontSize:10,color:"var(--p-red)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Remove screenshot",children:"Remove"})]})]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,_.jsx)(sd,{tags:c??(e==null?void 0:e.tags)??[],allTags:O,disabled:!e&&!i,onChange:q=>{i?i(q):e&&h(e.id,{tags:q})}})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,_.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:q=>{let $=q.target.value;l($),g==null||g($)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,_.jsx)("option",{value:"",children:"\\u2014"}),(0,_.jsx)("option",{value:"Critical",children:"Critical"}),(0,_.jsx)("option",{value:"High",children:"High"}),(0,_.jsx)("option",{value:"Medium",children:"Medium"}),(0,_.jsx)("option",{value:"Low",children:"Low"})]})]}),e&&(0,_.jsxs)("div",{id:"dp-metadata",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,_.jsx)(ud,{label:"Created",id:"dp-created",children:e.createdAt?lt(e.createdAt):"\\u2014"}),(0,_.jsx)(ud,{label:"ID",id:"dp-id",children:(0,_.jsx)("span",{style:{fontFamily:"monospace"},children:e.id})}),(0,_.jsx)(ud,{label:"Author",id:"dp-author",children:e.authorName??e.author??"\\u2014"}),(e.commit||((N=e.commits)==null?void 0:N.length))&&(0,_.jsx)(uv,{task:e,githubUrl:m}),e.branchName&&(0,_.jsx)(iv,{branchName:e.branchName}),e.annotatedElementText&&(0,_.jsxs)("div",{id:"dp-annotated-text",style:{gridColumn:"1 / -1",background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,_.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Annotated element text"}),(0,_.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",fontStyle:"italic",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.annotatedElementText})]})]}),(0,_.jsx)(ta,{open:C!==null,message:"Remove this screenshot? This action cannot be undone.",confirmLabel:"Remove",onConfirm:()=>{C&&y(C),w(null)},onCancel:()=>w(null)})]})}function ud({label:e,id:t,children:a}){return(0,_.jsxs)("div",{id:t,style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,_.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:e}),(0,_.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 uv({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,_.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,_.jsxs)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:["Commit",a.length>1?"s":""]}),(0,_.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[t&&e.commitPushed!==!1?(0,_.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,_.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,_.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 iv({branchName:e}){return(0,_.jsxs)("div",{id:"dp-branch",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:`Branch: ${e}`,children:[(0,_.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Branch"}),(0,_.jsxs)("div",{style:{fontSize:10,color:"var(--p-green-300)",fontFamily:"monospace"},children:["\\u2387 ",e]})]})}function dv(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 fv({logs:e}){let t=e.replace(/^---\\s*\\n/,"").split(`\n`).filter(a=>a.trim());return(0,_.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,_.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,_.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,_.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",marginLeft:"auto"},children:"captured at submission"})]}),(0,_.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,_.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,_.jsx)("div",{style:{fontSize:10,color:"var(--p-text-g)",fontStyle:"italic"},children:"No log entries captured."})]})]})}var vo=M(W(),1);function fd({commentInput:e,setCommentInput:t,commentSubmitting:a,onSubmit:r,baseRows:o=4}){return(0,vo.jsx)("div",{id:"dp-comment-input-area",children:(0,vo.jsx)(En,{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,vo.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,vo.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,vo.jsx)("path",{d:"M2 8L14 2L10 8L14 14L2 8Z",fill:"currentColor"})})})})})}var A=M(W(),1),cv="vibeflow-paste-hint-dismissed";function pv({storageKey:e=cv}){let[t,a]=G.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,A.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,A.jsxs)("span",{style:{flex:1,lineHeight:1.4},children:["\\u{1F4A1} ",(0,A.jsx)("strong",{children:"Tip:"})," Paste screenshots or files anywhere in this panel \\u2014 they attach automatically."]}),(0,A.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,A.jsx)(Ue,{style:{width:12,height:12}})})]})}var mv=[{id:"backlog",label:"backlog"},{id:"todo",label:"todo"},{id:"in-progress",label:"in-progress"},{id:"review",label:"review"},{id:"done",label:"done"}],gv=5*1024*1024;function cd(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 pd({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:p,onPatch:h,onFilePreview:y,onActivityChange:I,externalLocalChanges:O=[],showLockIndicator:c=!0,lockedByUser:i,onGoBack:f,navBackLabel:v,commentVersion:k,allTasks:b=[],createBranch:L}){let C=!t,w=t?Tn(t.type):Tn("Task"),R=G.default.useRef(null),[D,N]=G.default.useState([]),q=G.default.useRef(!1),$=G.default.useRef(""),ue=G.default.useRef(""),X=G.default.useMemo(()=>{let S=new Set;for(let H of b)for(let V of H.tags??[])S.add(V);return[...S].sort()},[b]),[z,oe]=G.default.useState(a),[Z,j]=G.default.useState(""),[le,Ne]=G.default.useState(""),[ht,We]=G.default.useState(r),[xt,aa]=G.default.useState("Task"),[Mt,ha]=G.default.useState(""),[vt,kr]=G.default.useState(!1),[bs,br]=G.default.useState(!1),[yt,ra]=G.default.useState(!1),[st,Lo]=G.default.useState(""),[Fn,Za]=G.default.useState(!1),$t=G.default.useRef(null),[Pr,Bn]=G.default.useState([]),[Ps,On]=G.default.useState(!1),[Tr,zn]=G.default.useState(null),[xa,Rr]=G.default.useState(""),[Ts,Un]=G.default.useState(!1),[Dr,So]=G.default.useState([]),[Nn,Io]=G.default.useState(!1),[Hn,x]=G.default.useState(null),[P,F]=G.default.useState(0),Q=G.default.useRef(0),[he,ie]=G.default.useState(0),[ae,se]=G.default.useState(null),[Xe,Me]=G.default.useState([]),[Be,E]=G.default.useState([]),Lt=G.default.useRef(null),ut=G.default.useRef(()=>{}),St=G.default.useRef(""),va=G.default.useRef(!1);G.default.useEffect(()=>{St.current=xa},[xa]),G.default.useEffect(()=>{va.current=yt},[yt]),G.default.useEffect(()=>{q.current=s??!1},[s]),G.default.useEffect(()=>{e||I==null||I(null,"viewing")},[e]),G.default.useEffect(()=>{if(!e||!t)return;Z!==$.current||le!==ue.current?I==null||I(t.id,"locked"):I==null||I(t.id,"viewing")},[Z,le,e,t==null?void 0:t.id]),G.default.useEffect(()=>{if(!e)return;function S(H){var V,xe,me,Et;if(!q.current&&!((xe=(V=H.target)==null?void 0:V.closest)!=null&&xe.call(V,"[data-task-ref-suggest]"))&&!((Et=(me=H.target)==null?void 0:me.closest)!=null&&Et.call(me,".modal-backdrop"))&&R.current&&!R.current.contains(H.target)){if(va.current)return;if(St.current.trim().length>0){ut.current(),ra(!0);return}ut.current(),d()}}return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[e,d]),G.default.useEffect(()=>{if(!e)return;function S(H){if(H.key==="Escape"){if(va.current){ra(!1),H.stopPropagation();return}if(St.current.trim().length>0){H.stopPropagation(),ut.current(),ra(!0);return}}}return document.addEventListener("keydown",S,{capture:!0}),()=>document.removeEventListener("keydown",S,{capture:!0})},[e]),G.default.useEffect(()=>{if(e){if(oe(a),kr(!!t),Rr(""),Bn([]),So([]),F(0),ie(0),Me([]),E([]),Lo((t==null?void 0:t.branchName)??""),Za(!1),$t.current=null,t){let S=(t.title??"").trim(),H=(t.description??"").trim();j(S),Ne(H),We(t.status),aa(t.type??"Task"),ha(t.priority??""),$.current=S,ue.current=H,I==null||I(t.id,"viewing")}else j(""),Ne(""),We(r),aa("Task"),ha("");t&&(Kt(t.id),La(t.id)),setTimeout(()=>{var S;return(S=Lt.current)==null?void 0:S.focus()},50)}},[e,t==null?void 0:t.id,a]),G.default.useEffect(()=>{!e||!t||(z==="comments"?(ya(t.id),La(t.id)):z==="files"&&La(t.id))},[z,e,t==null?void 0:t.id]),G.default.useEffect(()=>{if(!e||!t||Z!==$.current||le!==ue.current)return;let H=(t.title??"").trim(),V=(t.description??"").trim();(H!==$.current||V!==ue.current)&&(j(H),Ne(V),$.current=H,ue.current=V),t.status&&t.status!==ht&&We(t.status),t.type&&t.type!==xt&&aa(t.type),t.priority!==void 0&&t.priority!==Mt&&ha(t.priority??"");let xe=t.branchName??"";xe!==st&&Lo(xe)},[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]),G.default.useEffect(()=>{!e||!t||k===void 0||(z==="comments"?ya(t.id):Kt(t.id))},[k]);async function Kt(S){var H,V;try{let[xe,me]=await Promise.all([u.getComments(S),u.getFiles(S)]);F(((H=xe.comments)==null?void 0:H.length)??0),ie(((V=me.files)==null?void 0:V.length)??0)}catch{}}async function ya(S){var V;let H=++Q.current;On(!0),zn(null);try{let xe=await u.getComments(S);if(Q.current!==H)return;Bn(xe.comments??[]),F(((V=xe.comments)==null?void 0:V.length)??0)}catch{if(Q.current!==H)return;zn("failed")}finally{Q.current===H&&On(!1)}}async function La(S){var H;Io(!0),x(null);try{let V=await u.getFiles(S);So(V.files??[]),ie(((H=V.files)==null?void 0:H.length)??0)}catch{x("failed")}finally{Io(!1)}}async function xd(){var S;if(!Z.trim()){(S=Lt.current)==null||S.focus();return}if(!C&&xa.trim()&&await Rs(),C){let H=await m({title:Z.trim(),description:le.trim()||Z.trim(),status:ht,type:xt,priority:Mt||void 0,selector:"/",tags:Be.length>0?Be:void 0});if(H&&D.length>0){for(let V of D)await u.uploadFile(H,V).catch(()=>null);N([])}d()}else _n()}function _n(){if(!t||C)return;let S=Z.trim();if(!S)return;let H=$.current,V=ue.current,xe=S!==H,me=le.trim()!==V;!xe&&!me||(xe&&qn("title",H,S),me&&qn("description",V,le.trim()),h(t.id,{title:S,description:le.trim(),type:xt,priority:Mt||void 0}),$.current=S,ue.current=le.trim())}ut.current=_n;function qn(S,H,V){H!==V&&Me(xe=>[...xe,{field:S,from:H,to:V,actor:o,timestamp:new Date().toISOString()}])}async function Rs(){if(!(!t||!xa.trim())){Un(!0);try{await u.addComment(t.id,xa.trim()),Rr(""),await ya(t.id)}finally{Un(!1)}}}async function Wm(S,H){t&&(await u.updateComment(t.id,S.id,H),await ya(t.id))}async function Vm(S){t&&(await u.deleteComment(t.id,S.id),await ya(t.id))}async function $m(S){if(!t)return;let H=t.id;se(null);for(let V of Array.from(S.target.files??[])){if(!V.type.startsWith("image/")&&V.size>gv){se(`"${V.name}" exceeds the 5 MB limit and was skipped.`);continue}let xe;if(V.type.startsWith("image/")){let me=await cd(V),Et=V.name.replace(/\\.(png|bmp|gif|webp|tiff?)$/i,".jpg");xe=new File([me],Et,{type:"image/jpeg"})}else xe=V;await u.uploadFile(H,xe)}S.target.value="",await La(H),Kt(H)}async function Km(S){if(!t)return;se(null);let H=await cd(S),xe=`paste-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.jpg`,me=new File([H],xe,{type:"image/jpeg"});await u.uploadFile(t.id,me),await La(t.id),Kt(t.id)}async function Gm(S){if(!t)return;let H=Array.from(S.items),V=H.find(me=>me.type.startsWith("image/"));if(V){let me=V.getAsFile();me&&await Km(me);return}let xe=H.filter(me=>me.kind==="file"&&!me.type.startsWith("image/"));if(xe.length>0){for(let me of xe){let Et=me.getAsFile();Et&&await u.uploadFile(t.id,Et)}await La(t.id),Kt(t.id);return}}G.default.useEffect(()=>{if(!e)return;function S(H){if(!H.clipboardData)return;let V=H.target;if(!((V.tagName==="TEXTAREA"||V.tagName==="INPUT"||V.isContentEditable)&&!Array.from(H.clipboardData.items).some(Ar=>Ar.kind==="file"))){if(H.preventDefault(),!t){let Et=Array.from(H.clipboardData.items).find(Ar=>Ar.type.startsWith("image/"));if(Et){let Ar=Et.getAsFile();Ar&&(async()=>{let Jm=await cd(Ar),eg=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),tg=new File([Jm],`paste-${eg}.jpg`,{type:"image/jpeg"});N(ag=>[...ag,tg])})()}return}Gm(H.clipboardData)}}return document.addEventListener("paste",S),()=>document.removeEventListener("paste",S)},[e,t==null?void 0:t.id]);async function vd(S){t&&(await u.deleteFile(t.id,S.name),await La(t.id),Kt(t.id))}async function jm(S){if(!t)return;await u.deleteFile(t.id,S);let H=(t.files??[]).filter(V=>V.name!==S);h(t.id,{files:H}),await La(t.id),Kt(t.id)}function Xm(S){if(Fn&&S!=="review"&&(Za(!1),$t.current=null),We(S),C||!t)return;if(L&&S==="review"&&!st.trim()){$t.current={taskId:t.id,patch:{status:S}},Za(!0);return}let H={status:S};st.trim()&&(H.branchName=st.trim()),h(t.id,H)}function yd(){if(!$t.current||!t||!st.trim())return;let S={...$t.current.patch,branchName:st.trim()};h(t.id,S),Za(!1),$t.current=null}function Ld(){Za(!1),$t.current=null,t&&We(t.status)}let Qm=S=>S!==ht?"dp-status-btn":`dp-status-btn active-${S}`;function Sd(){if(!va.current){if(St.current.trim().length>0){ut.current(),ra(!0);return}ut.current(),d()}}let Ym=e&&t!=null&&(Z!==$.current||le!==ue.current),Zm=G.default.useMemo(()=>{let S=[...O,...Xe].sort((V,xe)=>new Date(V.timestamp).getTime()-new Date(xe.timestamp).getTime()),H=[];for(let V of S)H.some(me=>me.field===V.field&&me.from.toLowerCase()===V.from.toLowerCase()&&me.to.toLowerCase()===V.to.toLowerCase()&&me.actor===V.actor&&Math.abs(new Date(me.timestamp).getTime()-new Date(V.timestamp).getTime())<=3e3)||H.push(V);return H},[O,Xe]),Sa=!C&&!!i;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("aside",{id:"detail-panel",className:"open",ref:R,children:[Sa&&(0,A.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,A.jsx)("strong",{children:i})," \\u2014 editing disabled until they finish."]}),(0,A.jsxs)("div",{className:"dp-header",children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[f&&(0,A.jsx)("button",{id:"dp-back",onClick:f,title:v?`Back to: ${v}`:"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:S=>{S.currentTarget.style.background="var(--p-border)",S.currentTarget.style.color="var(--p-blue-300)",S.currentTarget.style.borderColor="var(--p-blue)"},onMouseOut:S=>{S.currentTarget.style.background="transparent",S.currentTarget.style.color="var(--p-text-g)",S.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u2190"}),(0,A.jsx)(Ss,{id:"dp-type-picker",value:xt,disabled:Sa,onChange:S=>{!C&&t&&S!==xt&&qn("type",xt,S),aa(S),!C&&t&&h(t.id,{type:S})}}),(0,A.jsx)("input",{id:"dp-title",ref:Lt,className:"dp-input",type:"text",placeholder:"Task title\\u2026",value:Z,readOnly:Sa,onChange:S=>j(S.target.value),onKeyDown:S=>{S.key==="Escape"&&(S.stopPropagation(),Sd()),S.key==="Enter"&&C&&xd()},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",borderColor:"transparent",background:"transparent"},onFocus:S=>{S.currentTarget.style.borderColor="var(--p-blue)",S.currentTarget.style.background="var(--p-input)"},onBlur:S=>{S.currentTarget.style.borderColor="transparent",S.currentTarget.style.background="transparent",C||_n()}}),!C&&Z!==$.current&&Z.trim()!==""&&(0,A.jsx)("button",{type:"button",title:"Discard title changes",onMouseDown:S=>{S.preventDefault(),j($.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:S=>{S.currentTarget.style.color="var(--p-amber-300)",S.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:S=>{S.currentTarget.style.color="var(--p-text-g)",S.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9"}),(0,A.jsx)("button",{id:"dp-close",onClick:Sd,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:S=>{S.currentTarget.style.background="var(--p-border)",S.currentTarget.style.color="var(--p-text-m)"},onMouseOut:S=>{S.currentTarget.style.background="transparent",S.currentTarget.style.color="var(--p-text-g)"},children:(0,A.jsx)(Ue,{style:{width:14,height:14}})}),c&&Ym&&t&&(0,A.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,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",...Sa?{pointerEvents:"none",opacity:.6}:{}},children:[(0,A.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Status"}),mv.map(S=>(0,A.jsx)("button",{className:Qm(S.id),"data-status":S.id,onClick:()=>Xm(S.id),children:S.label},S.id))]}),Fn&&!Sa&&(0,A.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,A.jsx)("span",{style:{color:"var(--p-purple-300)",fontWeight:500,whiteSpace:"nowrap"},children:"Branch name:"}),(0,A.jsx)("input",{id:"dp-branch-name",type:"text",placeholder:"e.g. feat/add-hover-effect",value:st,onChange:S=>Lo(S.target.value),onKeyDown:S=>{S.key==="Enter"&&st.trim()&&yd(),S.key==="Escape"&&Ld()},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,A.jsx)("button",{onClick:yd,disabled:!st.trim(),style:{padding:"4px 12px",borderRadius:6,border:"1px solid var(--p-purple)",background:st.trim()?"var(--p-purple)":"var(--p-border)",color:"#fff",fontSize:11,fontWeight:600,cursor:st.trim()?"pointer":"not-allowed",transition:"background .12s"},children:"Apply & Review"}),(0,A.jsx)("button",{onClick:Ld,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"})]})]}),!C&&(0,A.jsxs)("div",{className:"dp-tabs",id:"dp-tabs-row",children:[(0,A.jsx)("button",{className:`dp-tab${z==="details"?" active":""}`,id:"dp-tab-details",onClick:()=>oe("details"),children:"Details"}),(0,A.jsxs)("button",{className:`dp-tab${z==="comments"?" active":""}`,id:"dp-tab-activity",onClick:()=>oe("comments"),children:["Activity ",P>0&&(0,A.jsxs)("span",{id:"dp-activity-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",P,")"]})]}),(0,A.jsxs)("button",{className:`dp-tab${z==="files"?" active":""}`,id:"dp-tab-files",onClick:()=>oe("files"),children:["Files ",he>0&&(0,A.jsxs)("span",{id:"dp-file-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",he,")"]})]})]}),(0,A.jsxs)("div",{className:"dp-body",children:[!C&&(0,A.jsx)(pv,{}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-details-pane",style:{display:!t||z==="details"?"":"none"},children:[(0,A.jsx)("div",{style:Sa?{pointerEvents:"none",opacity:.6,flexShrink:0}:{flexShrink:0},children:(0,A.jsx)(dd,{task:t,description:le,setDescription:Ne,showDescPreview:vt,setShowDescPreview:kr,priority:Mt,setPriority:ha,onDescriptionBlur:C?void 0:_n,onDescriptionDiscard:C?void 0:()=>{Ne(ue.current),kr(!0)},originalDescription:C?void 0:ue.current,onPriorityChange:C?void 0:S=>{t&&(S!==Mt&&qn("priority",Mt||"\\u2014",S||"\\u2014"),h(t.id,{priority:S||void 0}))},githubUrl:n,onFilePreview:y,onDeleteScreenshot:jm,onPatch:h,liveFiles:Dr.length>0||Nn?Dr:void 0,allTags:X,overrideTags:C?Be:void 0,onTagsChange:C?E:void 0})}),!C&&t&&(0,A.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,A.jsx)(hv,{task:t})})]}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-activity-pane",style:{display:z==="comments"&&!C?"":"none"},children:[(0,A.jsx)("div",{style:{borderBottom:"1px solid var(--p-border)",paddingBottom:8,flexShrink:0},children:(0,A.jsx)(fd,{commentInput:xa,setCommentInput:Rr,commentSubmitting:Ts,onSubmit:()=>{Rs()},baseRows:2})}),(0,A.jsx)(nd,{comments:Pr,files:Dr,localChanges:Zm,loading:Ps,error:Tr,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:Wm,onDelete:Vm,onDeleteFile:vd,onFilePreview:y})]}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-files-pane",style:{display:z==="files"&&!C?"":"none"},children:[(0,A.jsx)(ld,{files:Dr,loading:Nn,error:Hn,baseUrl:l,onPreview:S=>y(S.name,S.linkedPath?`${l}/api/tasks/${t==null?void 0:t.id}/files/${encodeURIComponent(S.name)}`:`${l}${S.url}`),onDelete:Sa?void 0:vd}),(0,A.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:[ae&&(0,A.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:ae}),(0,A.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:S=>{S.currentTarget.style.borderColor="var(--p-border-t)",S.currentTarget.style.color="var(--p-text)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border)",S.currentTarget.style.color="var(--p-text-m)"},children:[(0,A.jsx)(po,{style:{width:12,height:12}}),"Upload",(0,A.jsx)("input",{id:"dp-file-upload",type:"file",style:{display:"none"},multiple:!0,onChange:$m})]}),(0,A.jsx)("span",{style:{fontSize:11,color:"var(--p-border-t)",marginLeft:"auto"},children:"or paste image"})]})]})]}),(0,A.jsxs)("div",{className:"dp-footer",children:[!C&&(0,A.jsx)("button",{id:"dp-delete",onClick:()=>br(!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:S=>{S.currentTarget.style.borderColor="var(--p-red)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border-t)"},children:"Delete"}),(0,A.jsx)("div",{style:{flex:1}}),C?(0,A.jsxs)(A.Fragment,{children:[D.length>0&&(0,A.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} ",D.length," screenshot",D.length!==1?"s":""," will attach on save"]}),(0,A.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:S=>{S.currentTarget.style.borderColor="var(--p-text-g)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border-t)"},children:"Cancel"}),(0,A.jsx)("button",{id:"dp-save",onClick:()=>{xd()},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:S=>{S.currentTarget.style.background="var(--p-blue-700)"},onMouseOut:S=>{S.currentTarget.style.background="var(--p-blue)"},children:"Add Task"})]}):(0,A.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)",padding:"5px 4px"},children:"Changes are saved automatically"})]}),(0,A.jsx)(ta,{open:bs,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:()=>{br(!1),p(t.id),d()},onCancel:()=>br(!1)})]}),yt&&(0,A.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,A.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,A.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,A.jsx)(po,{style:{width:20,height:20,color:"var(--p-purple)"}})}),(0,A.jsx)("h2",{style:{margin:"0 0 8px",fontSize:17,fontWeight:700,color:"var(--p-text)"},children:"Send comment?"}),(0,A.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,A.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,A.jsx)("button",{onClick:()=>{ra(!1),Rs().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,A.jsx)("button",{type:"button",onClick:()=>{ra(!1),Rr(""),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,A.jsx)("button",{type:"button",onClick:()=>ra(!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 hv({task:e}){let t=[];if(e.component&&t.push((0,A.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,A.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,A.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,A.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,A.jsx)("span",{className:"dp-source-pill",title:e.url,children:r},"url"))}return e.reportBack&&t.push((0,A.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,A.jsx)("div",{id:"dp-meta-row",style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",flex:1},children:t})}var wr=M(Ce(),1);var J=M(W(),1),xv=[{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)"}],vv={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 md({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),p=wr.default.useMemo(()=>[...new Set(e.map(L=>L.type).filter(Boolean))].sort(),[e]),h=wr.default.useMemo(()=>[...new Set(e.map(L=>L.author).filter(Boolean))].sort(),[e]),y=wr.default.useMemo(()=>{let L=new Set;for(let C of e)for(let w of C.tags??[])L.add(w);return[...L].sort()},[e]);function I(L){return e.filter(C=>C.status===L).length}function O(L){a({...t,status:L}),s(!1),d(!1),m(!1)}function c(L){a({...t,type:L}),s(!1)}function i(L){a({...t,user:L}),d(!1)}function f(L){let C=t.tags??[],w=C.includes(L)?C.filter(R=>R!==L):[...C,L];a({...t,tags:w})}function v(L){L.stopPropagation();let C=L.currentTarget.dataset.status;C&&O(C)}let k={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},b={...k,background:"var(--p-card)",border:"1px solid var(--p-border)",color:"var(--p-text-f)",padding:"3px 10px",position:"relative"};return(0,J.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,J.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2},children:xv.map(L=>{let C=t.status===L.id,w=L.id!=="all"?I(L.id):null,R=C?vv[L.id]:{};return(0,J.jsxs)("button",{"data-status":L.id,style:{...k,...R},onMouseOver:D=>{C||(D.currentTarget.style.background="var(--p-hover)",D.currentTarget.style.color="var(--p-text-m)")},onMouseOut:D=>{C||(D.currentTarget.style.background="transparent",D.currentTarget.style.color="var(--p-text-f)")},onClick:v,children:[L.dot&&(0,J.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:L.dot,flexShrink:0,display:"inline-block"}}),L.label,w!=null&&(0,J.jsx)("span",{style:{color:C?"inherit":"var(--p-border-t)",fontSize:10,opacity:.8},children:w})]},L.id)})}),(0,J.jsx)("div",{style:{flex:1}}),n,t.user&&(0,J.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,J.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,J.jsx)(Ue,{style:{width:10,height:10}})})]}),t.type&&(0,J.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,J.jsx)("button",{onClick:()=>c(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-cyan-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,J.jsx)(Ue,{style:{width:10,height:10}})})]}),(t.tags??[]).map(L=>{let{bg:C,text:w,border:R}=qt(L);return(0,J.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:C,border:`1px solid ${R}`,fontSize:10,color:w,fontWeight:600},children:[L,(0,J.jsx)("button",{onClick:()=>f(L),style:{display:"flex",background:"none",border:"none",color:w,cursor:"pointer",padding:0,lineHeight:1},children:(0,J.jsx)(Ue,{style:{width:10,height:10}})})]},L)}),(0,J.jsxs)("div",{style:{position:"relative"},children:[(0,J.jsxs)("button",{style:{...b,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:y.length?1:.55},onClick:L=>{L.stopPropagation(),y.length&&(d(!1),s(!1),m(C=>!C))},children:[(0,J.jsx)(co,{style:{width:12,height:12}}),"Tags",(t.tags??[]).length>0&&(0,J.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,J.jsx)(gr,{style:{width:12,height:12}})]}),g&&y.length>0&&(0,J.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:L=>L.stopPropagation(),children:[(t.tags??[]).length>0&&(0,J.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"}),y.map(L=>{let{bg:C,text:w,border:R}=qt(L),D=(t.tags??[]).includes(L);return(0,J.jsxs)("button",{style:{width:"100%",textAlign:"left",padding:"6px 12px",fontSize:11,color:"var(--p-text-m)",background:D?"var(--p-hover)":"none",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:6},onMouseEnter:N=>{N.currentTarget.style.background="var(--p-hover)"},onMouseLeave:N=>{N.currentTarget.style.background=D?"var(--p-hover)":"none"},onClick:()=>f(L),children:[(0,J.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:w,border:`1px solid ${R}`,flexShrink:0}}),(0,J.jsx)("span",{style:{flex:1},children:L}),D&&(0,J.jsx)("span",{style:{color:w,fontSize:12,lineHeight:1},children:"\\u2713"})]},L)})]})]}),(0,J.jsxs)("div",{style:{position:"relative"},children:[(0,J.jsxs)("button",{style:{...b,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:h.length?1:.55},onClick:L=>{L.stopPropagation(),h.length&&(s(!1),d(C=>!C))},children:[(0,J.jsx)(Pn,{style:{width:12,height:12}}),"User",(0,J.jsx)(gr,{style:{width:12,height:12}})]}),u&&h.length>0&&(0,J.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:L=>L.stopPropagation(),children:[(0,J.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"}),h.map(L=>(0,J.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.user===L?"var(--p-purple-300)":"var(--p-text-m)",background:t.user===L?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:C=>{t.user!==L&&(C.currentTarget.style.background="var(--p-hover)")},onMouseOut:C=>{t.user!==L&&(C.currentTarget.style.background="none")},onClick:()=>i(L),children:L},L))]})]}),(0,J.jsxs)("div",{style:{position:"relative"},children:[(0,J.jsxs)("button",{style:{...b,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:p.length?1:.55},onClick:L=>{L.stopPropagation(),p.length&&s(C=>!C)},children:[(0,J.jsx)(co,{style:{width:12,height:12}}),"Type",(0,J.jsx)(gr,{style:{width:12,height:12}})]}),l&&p.length>0&&(0,J.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:L=>L.stopPropagation(),children:[(0,J.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:()=>c(null),children:"All types"}),p.map(L=>(0,J.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.type===L?"var(--p-cyan-300)":"var(--p-text-m)",background:t.type===L?"color-mix(in srgb, var(--p-blue) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:C=>{t.type!==L&&(C.currentTarget.style.background="var(--p-hover)")},onMouseOut:C=>{t.type!==L&&(C.currentTarget.style.background="none")},onClick:()=>c(L),children:L},L))]})]}),(0,J.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,J.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:L=>{L.stopPropagation(),o==null||o("board")},children:(0,J.jsx)(Sn,{style:{width:13,height:13}})}),(0,J.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:L=>{L.stopPropagation(),o==null||o("list")},children:(0,J.jsx)(In,{style:{width:13,height:13}})})]})]})}var Ya=M(Ce(),1);var ce=M(W(),1),yv=[{id:"board",label:"Board",icon:(0,ce.jsx)(Va,{className:"w-3.5 h-3.5"})},{id:"enforcement",label:"Enforcement",icon:(0,ce.jsx)(bn,{className:"w-3.5 h-3.5"})}];function gd({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,p]=Ya.default.useState(a.autoComment??!1),[h,y]=Ya.default.useState(a.autoPush??!1),[I,O]=Ya.default.useState(a.createBranch??!1);Ya.default.useEffect(()=>{if(!e)return;let f={};Ka.forEach(v=>{f[v.id]=t.includes(v.id)}),u(f),g(a.autoCommit??!1),p(a.autoComment??!1),y(a.autoPush??!1),O(a.createBranch??!1),l("board")},[e,t,a]);function c(){let f=Ka.filter(v=>s[v.id]).map(v=>v.id);o(f,{autoCommit:d,autoComment:m,autoPush:h,createBranch:I}),r()}function i(f){u(v=>({...v,[f]:!v[f]}))}return(0,ce.jsxs)(Ir,{open:e,onClose:r,id:"settings-modal",width:"min(460px, 95vw)",icon:(0,ce.jsx)(yr,{style:{width:14,height:14,color:"var(--p-text-g)"}}),title:"Settings",headerActions:(0,ce.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:f=>{f.currentTarget.style.background="var(--p-surface)",f.currentTarget.style.color="var(--p-text-m)"},onMouseOut:f=>{f.currentTarget.style.background="transparent",f.currentTarget.style.color="var(--p-text-g)"},children:(0,ce.jsx)(Ue,{style:{width:14,height:14}})}),footer:(0,ce.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,ce.jsx)("button",{id:"settings-cancel",onClick:r,className:"dp-status-btn",style:{padding:"5px 14px",fontSize:12},children:"Cancel"}),(0,ce.jsx)("button",{id:"settings-apply",onClick:c,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:f=>{f.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 28%, transparent)"},onMouseOut:f=>{f.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 18%, transparent)"},children:"Apply"})]}),children:[(0,ce.jsx)("div",{className:"dp-tabs",children:yv.map(f=>(0,ce.jsxs)("button",{onClick:()=>l(f.id),className:`dp-tab${n===f.id?" active":""}`,style:{display:"flex",alignItems:"center",gap:6},children:[f.icon,f.label]},f.id))}),n==="board"&&(0,ce.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,ce.jsx)("div",{className:"dp-meta-label",children:"Visible Columns"}),Ka.map(f=>(0,ce.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none"},children:[(0,ce.jsx)("input",{id:`settings-col-${f.id}`,type:"checkbox",checked:s[f.id]??!0,onChange:()=>i(f.id),style:{width:14,height:14,accentColor:f.color,cursor:"pointer"}}),(0,ce.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:f.color,flexShrink:0}}),(0,ce.jsx)("span",{style:{fontSize:13,color:"var(--p-text-m)"},children:f.label})]},f.id))]}),n==="enforcement"&&(0,ce.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:16},children:[(0,ce.jsx)(Cs,{id:"settings-auto-comment",label:"Require comment on review",description:"CLI enforces an implementation report when setting task status to review.",value:m,onChange:p}),(0,ce.jsx)("div",{style:{height:1,background:"var(--p-border)",marginTop:-4,marginBottom:-4}}),(0,ce.jsx)(Cs,{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:O}),(0,ce.jsx)(Cs,{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,ce.jsx)(Cs,{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:h&&d,onChange:f=>y(f&&d)})]})]})}function Cs({id:e,label:t,description:a,value:r,onChange:o}){return(0,ce.jsxs)("div",{children:[(0,ce.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:t}),(0,ce.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:a}),(0,ce.jsxs)("div",{id:e,style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer"},onClick:()=>o(!r),children:[(0,ce.jsxs)("div",{style:{position:"relative",width:36,height:20,flexShrink:0},children:[(0,ce.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,ce.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,ce.jsx)("span",{style:{fontSize:12,color:"var(--p-text-g)"},children:r?"On":"Off"})]})]})}var ks=M(Ce(),1);var ve=M(W(),1);function Fm(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function ws(e){return/\\.md$/i.test(e)}function hd({open:e,name:t,url:a,onClose:r}){let[o,n]=ks.default.useState(null),[l,s]=ks.default.useState(!1);return ks.default.useEffect(()=>{!e||!a||(ws(t)?(s(!0),n(null),fetch(a).then(u=>u.text()).then(u=>{n(u),s(!1)}).catch(()=>{n("Error loading file."),s(!1)})):n(null))},[e,t,a]),(0,ve.jsx)(Ir,{open:e,onClose:r,id:"file-preview-modal",width:"min(1100px, 95vw)",maxHeight:"88vh",boxStyle:{display:"flex",flexDirection:"column"},icon:(0,ve.jsx)(fo,{className:"w-4 h-4 text-slate-400"}),title:t,headerActions:(0,ve.jsxs)(ve.Fragment,{children:[(0,ve.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,ve.jsx)(hr,{className:"w-4 h-4"})}),(0,ve.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,ve.jsx)(Ue,{className:"w-4 h-4"})})]}),footer:(0,ve.jsxs)(ve.Fragment,{children:[(0,ve.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,ve.jsx)(hr,{className:"w-3.5 h-3.5"}),"Download"]}),(0,ve.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,ve.jsxs)("div",{className:"flex-1 overflow-auto",style:{minHeight:0,padding:"16px 20px"},children:[Fm(t)&&(0,ve.jsx)("div",{style:{borderRadius:8,overflow:"hidden",border:"1px solid var(--p-border)",background:"var(--p-card)",display:"inline-block",width:"100%"},children:(0,ve.jsx)("img",{src:a,alt:t,style:{maxWidth:"100%",display:"block",margin:"0 auto",objectFit:"contain"}})}),ws(t)&&l&&(0,ve.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),ws(t)&&!l&&o!==null&&(0,ve.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,ve.jsx)(Xa,{markdown:o})}),!Fm(t)&&!ws(t)&&(0,ve.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-slate-500",children:[(0,ve.jsx)(fo,{className:"w-10 h-10 opacity-40"}),(0,ve.jsx)("p",{className:"text-sm",children:"Preview not available for this file type."}),(0,ve.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,ve.jsx)(hr,{className:"w-3.5 h-3.5"}),"Download file"]})]})]})})}var yo=window.location.origin,Vt=`${yo}/api/tasks`,gt={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(`${yo}/api/project`)).json()},async getCopilotStatus(){return(await fetch(`${yo}/api/copilot/status`)).json()},async copilotLogin(){return(await fetch(`${yo}/api/copilot/login`,{method:"POST"})).json().catch(()=>({}))},async getSettings(){return(await fetch(`${yo}/api/settings`,{cache:"no-store"})).json()},async saveSettings(e){await fetch(`${yo}/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 Y=M(W(),1),Lv=window.__PORT__??3700,Sv=window.__SAAS_MODE__??!1,Bm=window.__BOARD_URL__??"",Iv=window.__BOARD_NAME__??"",Um=window.__IS_ADMIN__??!1;function Cv({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 p=await fetch(`${t}/api/push`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepLocalFiles:o})}),h=await p.json();if(!p.ok){d(h.error??"Push failed"),r("error");return}s({imported:h.imported??0,skipped:h.skipped}),r("done")}catch(p){d(p instanceof Error?p.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:Iv||"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:[Bm&&(0,Y.jsx)("a",{href:Bm,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:p=>{p.currentTarget.style.background="#3b82f6",p.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:p=>{p.currentTarget.style.background="#2563eb",p.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:p=>{m||(p.currentTarget.style.borderColor="rgba(255,255,255,0.15)",p.currentTarget.style.color="rgba(255,255,255,0.65)",p.currentTarget.style.background="rgba(255,255,255,0.03)")},onMouseLeave:p=>{m||(p.currentTarget.style.borderColor="rgba(255,255,255,0.08)",p.currentTarget.style.color="rgba(255,255,255,0.4)",p.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:p=>n(p.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"})]}),Um&&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:p=>{p.currentTarget.style.color="rgba(255,255,255,0.45)"},onMouseLeave:p=>{p.currentTarget.style.color="rgba(255,255,255,0.2)"},children:"Dismiss (admin)"})]})]})})}var Om={backlog:"Backlog",todo:"Todo","in-progress":"In Progress",review:"Review",done:"Done"};function wv(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 Nm(){var Io,Hn;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),[p,h]=te.default.useState({open:!1,name:"",url:""}),[y,I]=te.default.useState(420),[O,c]=te.default.useState(!1),[i,f]=te.default.useState(""),[v,k]=te.default.useState(Ka.map(x=>x.id)),[b,L]=te.default.useState({status:"all",component:null,type:null,user:null,tags:[]}),[C,w]=te.default.useState("Proto Board"),[R,D]=te.default.useState(!1),[N,q]=te.default.useState(!1),[$,ue]=te.default.useState("You"),[X,z]=te.default.useState(null),[oe,Z]=te.default.useState(""),[j,le]=te.default.useState({}),Ne=te.default.useRef(null),ht=te.default.useRef(null),We=te.default.useRef(null),xt=te.default.useRef(null),[aa,Mt]=te.default.useState([]),ha=te.default.useRef(!1),vt=te.default.useRef([]),[kr,bs]=te.default.useState([]);te.default.useEffect(()=>(yt(),st(),Fn(),Za(),Lo(),$t(),()=>{var x;ht.current&&clearTimeout(ht.current),(x=Ne.current)==null||x.close()}),[]),te.default.useEffect(()=>{if(R){We.current&&(clearInterval(We.current),We.current=null);return}return We.current=setInterval(()=>{yt()},5e3),()=>{We.current&&(clearInterval(We.current),We.current=null)}},[R]),te.default.useEffect(()=>{document.body.setAttribute("data-theme","dark")},[]),te.default.useEffect(()=>{function x(){let Q=window.location.hash.match(/^#task-([a-f0-9]{30})$/i);if(!Q){xt.current=null;return}let he=Q[1].toLowerCase();if(xt.current===he)return;let ie=e.find(ae=>ae.id.toLowerCase()===he);ie&&(xt.current=he,ha.current?s(ae=>({...ae,open:!0,task:ie,tab:"details"})):s(ae=>(ae.task&&ae.task.id!==ie.id&&Mt(se=>[...se,ae.task]),{...ae,open:!0,task:ie,tab:"details"})),ha.current=!1)}function P(){}x();let F=()=>{xt.current=null,x()};return window.addEventListener("hashchange",F),window.addEventListener("vibeflow-task-ref-click",P),()=>{window.removeEventListener("hashchange",F),window.removeEventListener("vibeflow-task-ref-click",P)}},[e]),te.default.useEffect(()=>{if(!l.open||!l.task)return;let x=e.find(Q=>Q.id===l.task.id);if(!x)return;let P=l.task;Object.keys(x).some(Q=>x[Q]!==P[Q])&&s(Q=>({...Q,task:x}))},[e,l.open,(Io=l.task)==null?void 0:Io.id]),te.default.useEffect(()=>{function x(P){var he,ie,ae;let F=(he=P.target)==null?void 0:he.tagName,Q=F==="INPUT"||F==="TEXTAREA"||((ie=P.target)==null?void 0:ie.isContentEditable);if(P.key==="Escape"){if(p.open){h(se=>({...se,open:!1}));return}if(l.open){s(se=>({...se,open:!1}));return}if(g){m(!1);return}}if(!Q&&((P.key==="?"||P.key==="/"&&P.shiftKey)&&((ae=document.getElementById("header-shortcuts-hint"))==null||ae.click()),P.altKey&&!P.ctrlKey&&!P.metaKey&&(P.key==="n"||P.key==="N")&&(P.preventDefault(),Tr(null,"details")),P.altKey&&!P.ctrlKey&&!P.metaKey&&(P.key==="f"||P.key==="F"))){P.preventDefault();let se=document.getElementById("global-search");se==null||se.focus(),se==null||se.select()}}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[p.open,l.open,g]);function br(x,P,F,Q,he){let ie=new Date().toISOString(),ae=Om[P]??P,se=Om[F]??F,Xe=Date.now()-3e3;bs(Me=>Me.some(E=>E.taskId===x&&E.to===se&&new Date(E.timestamp).getTime()>Xe)?Me:[...Me,{taskId:x,field:"status",from:ae,to:se,actor:Q,timestamp:ie,source:he}].slice(-500))}async function yt(){try{let x=await gt.getTasks();vt.current=x.tasks??[],t(x.tasks??[])}catch{}finally{r(!1)}}let ra=te.default.useCallback((x,P,F)=>{let Q=String(x.id??"");if(!Q)return;let he=x.created??x.createdAt,ie=x.updated?String(x.updated):void 0,ae=Array.isArray(x.comments)?x.comments.filter(Be=>!Be.deleted).length:void 0,se=Array.isArray(x.files)?x.files.length:void 0,Xe=x.status?String(x.status):void 0,Me=vt.current.find(Be=>Be.id===Q);Xe&&Me&&Me.status!==Xe&&br(Q,Me.status,Xe,P??"Someone",F),t(Be=>{let E=Be.find(St=>St.id===Q),Lt={id:Q,title:x.title?String(x.title):(E==null?void 0:E.title)??"Untitled",description:x.description==null?(E==null?void 0:E.description)??"":String(x.description),status:Xe??(E==null?void 0:E.status)??"todo",type:x.type?String(x.type):E==null?void 0:E.type,priority:x.priority?String(x.priority):E==null?void 0:E.priority,selector:x.selector?String(x.selector):E==null?void 0:E.selector,cssSelector:x.cssSelector?String(x.cssSelector):E==null?void 0:E.cssSelector,file:x.file?String(x.file):E==null?void 0:E.file,line:typeof x.line=="number"?x.line:E==null?void 0:E.line,col:typeof x.col=="number"?x.col:E==null?void 0:E.col,component:x.component?String(x.component):E==null?void 0:E.component,url:x.url?String(x.url):E==null?void 0:E.url,reportBack:x.reportBack===!0||(E==null?void 0:E.reportBack)===!0,commit:x.commit?String(x.commit):E==null?void 0:E.commit,commits:Array.isArray(x.commits)?x.commits:E==null?void 0:E.commits,commentCount:ae??(E==null?void 0:E.commentCount),fileCount:se??(E==null?void 0:E.fileCount),createdAt:he?String(he):(E==null?void 0:E.createdAt)??new Date().toISOString(),updatedAt:ie??(E==null?void 0:E.updatedAt),author:x.author?String(x.author):E==null?void 0:E.author,tags:Array.isArray(x.tags)?x.tags:E==null?void 0:E.tags,sortKey:x.sortKey?String(x.sortKey):E==null?void 0:E.sortKey},ut=Be.filter(St=>St.id!==Q);return ut.push(Lt),ut.sort((St,va)=>{let Kt=new Date(St.updatedAt??St.createdAt??"").getTime(),ya=new Date(va.updatedAt??va.createdAt??"").getTime();return Kt===ya?St.id.localeCompare(va.id):ya-Kt}),vt.current=ut,ut})},[]);async function st(){try{let x=await gt.getProject();x.name&&w(x.name),x.gitUserName&&ue(x.gitUserName)}catch{}}async function Lo(){try{let x=await fetch("/api/github-url").then(P=>P.json());z(x.githubUrl??null)}catch{}}async function Fn(){var x;try{let F=await gt.getSettings();le(F),(x=F.visibleCols)!=null&&x.length&&k(F.visibleCols),F.viewMode&&d(F.viewMode),F.panelWidth&&F.panelWidth>=280&&F.panelWidth<=900&&I(F.panelWidth)}catch{}}async function Za(){try{let x=await gt.getCopilotStatus();x!=null&&x.authenticated&&(x!=null&&x.username)?Z(`Copilot: ${x.username}`):Z("Copilot: not logged in")}catch{}}function $t(){let P=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,F=new WebSocket(P);Ne.current=F,F.addEventListener("open",()=>{D(!0),q(!0),yt()}),F.addEventListener("close",()=>{D(!1),ht.current&&clearTimeout(ht.current),ht.current=setTimeout($t,1500)}),F.addEventListener("error",()=>{}),F.addEventListener("message",he=>{var ie;try{let ae=JSON.parse(he.data);if(ae.type==="tasks-updated"||(ie=ae.type)!=null&&ie.startsWith("task:")){yt();return}if(ae.type==="task-changed"&&ae.task){let se=ae.task,Xe=typeof se.alteredBy=="string"?se.alteredBy:typeof se.author=="string"?se.author:"Someone",Me=ae.source==="cli"?"cli":void 0;ra(se,Xe,Me);return}if(ae.type==="task-deleted"&&ae.taskId){let se=String(ae.taskId);t(Xe=>{let Me=Xe.filter(Be=>Be.id!==se);return vt.current=Me,Me})}}catch{}});let Q=setInterval(()=>{F.readyState===WebSocket.OPEN&&F.send(JSON.stringify({type:"ping"}))},2e4);F.addEventListener("close",()=>clearInterval(Q)),F.addEventListener("error",()=>{})}async function Pr(x,P){let F=vt.current.find(Q=>Q.id===x);t(Q=>{let he=Q.map(ie=>ie.id===x?{...ie,...P}:ie);return vt.current=he,he}),P.status&&(F!=null&&F.status)&&P.status!==F.status&&br(x,F.status,P.status,$);try{let Q=await gt.updateTask(x,P);Q.task&&t(he=>{let ie=he.map(ae=>ae.id===x?Q.task:ae);return vt.current=ie,ie})}catch{yt()}}async function Bn(x,P,F,Q,he){let ie=vt.current.filter(Me=>Me.status===P).sort(hn),ae=Zi(ie,x,F,Q),se=he??ae.newSortKey,Xe=ae.normalizationPatches;t(Me=>{let Be=new Map;for(let{id:Lt,sortKey:ut}of Xe)Be.set(Lt,{sortKey:ut});Be.set(x,{status:P,sortKey:se});let E=Me.map(Lt=>Be.has(Lt.id)?{...Lt,...Be.get(Lt.id)}:Lt);return vt.current=E,E}),await gt.updateTask(x,{status:P,sortKey:se}).catch(()=>{yt()})}async function Ps(x){t(P=>{let F=P.filter(Q=>Q.id!==x);return vt.current=F,F});try{await gt.deleteTask(x)}catch{yt()}}async function On(x){var P;try{let F=await gt.createTask(x);return await yt(),(P=F==null?void 0:F.task)==null?void 0:P.id}catch{}}function Tr(x,P="details",F){Mt([]),s({open:!0,task:x,tab:P,addColumnId:F})}function zn(){Mt(x=>{if(x.length===0)return x;let P=x[x.length-1],F=x.slice(0,-1);return ha.current=!0,xt.current=null,window.location.hash=`#task-${P.id}`,s(Q=>({...Q,open:!0,task:P,tab:"details"})),F})}function xa(x,P){if(/\\.html?$/i.test(x)){window.open(P,"_blank","noopener,noreferrer");return}h({open:!0,name:x,url:P})}let Rr=wv(e,v,i.toLowerCase()),Ts=window.location.origin,Un=te.default.useMemo(()=>{let x=new Set;return e.forEach(P=>(P.tags??[]).forEach(F=>x.add(F))),Array.from(x).sort()},[e]),Dr=te.default.useMemo(()=>{var P;let x=(P=l.task)==null?void 0:P.id;return x?kr.filter(F=>F.taskId===x).map(({field:F,from:Q,to:he,actor:ie,timestamp:ae,source:se})=>({field:F,from:Q,to:he,actor:ie,timestamp:ae,source:se})):[]},[(Hn=l.task)==null?void 0:Hn.id,kr]),So=te.default.useMemo(()=>{let x=e;return b.status!=="all"&&(x=x.filter(P=>P.status===b.status)),b.component&&(x=x.filter(P=>P.component===b.component)),b.type&&(x=x.filter(P=>P.type===b.type)),b.user&&(x=x.filter(P=>P.author===b.user)),b.tags&&b.tags.length>0&&(x=x.filter(P=>b.tags.every(F=>(P.tags??[]).includes(F)))),x},[e,b]),Nn=N&&!R;return(0,Y.jsxs)(Y.Fragment,{children:[Sv&&!o&&(0,Y.jsx)(Cv,{onClose:Um?()=>n(!0):void 0}),(0,Y.jsx)(od,{projectName:C,missingProjectIconStyle:"vibeflow",wsConnected:R,port:Lv,searchQuery:i,filterTags:b.tags,allTags:Un,onToggleTag:x=>{let P=b.tags??[],F=P.includes(x)?P.filter(Q=>Q!==x):[...P,x];L(Q=>({...Q,tags:F}))},premiumUsage:oe,isLoading:a,taskSummary:Rr,onSearchChange:f,onSettings:()=>m(!0)}),(0,Y.jsx)(md,{tasks:e,filter:b,view:u,onFilter:L,onViewChange:x=>{d(x),gt.saveSettings({...j,viewMode:x}),le(P=>({...P,viewMode:x}))}}),(0,Y.jsxs)("div",{className:"flex flex-1 overflow-hidden",style:{minHeight:0,position:"relative"},children:[u==="list"?(0,Y.jsx)(rd,{tasks:So,searchQuery:i,isLoading:a,onOpenPanel:(x,P)=>Tr(x,P),onAddTask:x=>Tr(null,"details",x),onDrop:(x,P)=>Pr(x,{status:P})}):(0,Y.jsx)(td,{tasks:So,visibleCols:v,searchQuery:i,isLoading:a,onOpenPanel:(x,P,F)=>Tr(x,P,F),onDrop:(x,P)=>Pr(x,{status:P}),onReorder:Bn}),l.open&&(0,Y.jsxs)("div",{id:"detail-panel-container",style:{width:y,zIndex:O?30:10},className:O?"resizing":"",children:[(0,Y.jsx)("div",{id:"detail-panel-resize-handle",onMouseDown:x=>{x.preventDefault(),c(!0),document.body.classList.add("vibeflow-resizing-panel");let P=x.clientX,F=y,Q=ie=>{let ae=F-(ie.clientX-P);I(Math.max(360,Math.min(860,ae)))},he=ie=>{c(!1),document.body.classList.remove("vibeflow-resizing-panel");let ae=Math.max(360,Math.min(860,F-(ie.clientX-P)));gt.saveSettings({...j,panelWidth:ae}),le(se=>({...se,panelWidth:ae})),window.removeEventListener("mousemove",Q),window.removeEventListener("mouseup",he)};window.addEventListener("mousemove",Q),window.addEventListener("mouseup",he)}}),(0,Y.jsx)(pd,{open:l.open,task:l.task,tab:l.tab,showLockIndicator:!1,addColumnId:l.addColumnId,gitUserName:$,githubUrl:X,baseUrl:Ts,isResizing:O,api:gt,onClose:()=>{Mt([]),s(x=>({...x,open:!1}))},onSave:async x=>{l.task&&await Pr(l.task.id,x),s(P=>({...P,open:!1}))},onCreate:async x=>{let P=await On(x);return s(F=>({...F,open:!1})),P},onDelete:async x=>{await Ps(x),s(P=>({...P,open:!1}))},onPatch:Pr,onFilePreview:xa,onGoBack:aa.length>0?zn:void 0,navBackLabel:aa.length>0?aa[aa.length-1].title:void 0,externalLocalChanges:Dr,allTasks:e,createBranch:j.createBranch})]})]}),Nn&&(0,zm.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)(gd,{open:g,visibleCols:v,settings:j,onClose:()=>m(!1),onSave:(x,P)=>{k(x);let F={...j,...P,visibleCols:x};le(F),gt.saveSettings(F)}}),(0,Y.jsx)(hd,{open:p.open,name:p.name,url:p.url,onClose:()=>h(x=>({...x,open:!1}))})]})}var qm=M(W(),1),Hm=document.getElementById("root");Hm&&(0,_m.createRoot)(Hm).render((0,qm.jsx)(Nm,{}));})();\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/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 ur=cr(import.meta.url),dr=sr(ur),pr=[st(dr,"kanban-template.html"),st(process.cwd(),"src","server","kanban-template.html"),st(process.cwd(),"dist","server","kanban-template.html")];function fr(t){let e=pr.find(r=>ir(r));if(!e)throw new Error("kanban-template.html not found in expected locations");return lr(e,"utf8").replaceAll("__PORT__",String(t))}function gr(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 br="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iNCIgZmlsbD0iIzI1NjNlYiIvPjxyZWN0IHg9IjIuNSIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iOCIgcng9IjEiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjciLz48cmVjdCB4PSI2LjUiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0IiByeD0iMSIgZmlsbD0id2hpdGUiLz48cmVjdCB4PSIxMC41IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSI2IiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuNyIvPjxyZWN0IHg9IjE0LjUiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjEwIiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuODUiLz48L3N2Zz4=";function mr(t){return`<!DOCTYPE html>
1695
+ `+bt}function Jt(t){return`var PROTO_CONFIG = ${JSON.stringify({port:0,wsUrl:"",apiUrl:`${t}/api/overlay/tasks`,pagesUrl:"",screenshotsUrl:""})};
1696
+ `+bt}import{existsSync as ta,readFileSync as na}from"fs";import{dirname as ra,join as yt}from"path";import{fileURLToPath as aa}from"url";var Zt=`*,: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: }
1697
+ /*! 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 vt='"use strict";(()=>{var yg=Object.create;var Rd=Object.defineProperty;var Lg=Object.getOwnPropertyDescriptor;var Sg=Object.getOwnPropertyNames;var Ig=Object.getPrototypeOf,Cg=Object.prototype.hasOwnProperty;var sa=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var wg=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Sg(t))!Cg.call(e,o)&&o!==a&&Rd(e,o,{get:()=>t[o],enumerable:!(r=Lg(t,o))||r.enumerable});return e};var M=(e,t,a)=>(a=e!=null?yg(Ig(e)):{},wg(t||!e||!e.__esModule?Rd(a,"default",{value:e,enumerable:!0}):a,e));var _d=sa(le=>{"use strict";var ko=Symbol.for("react.element"),kg=Symbol.for("react.portal"),bg=Symbol.for("react.fragment"),Pg=Symbol.for("react.strict_mode"),Tg=Symbol.for("react.profiler"),Rg=Symbol.for("react.provider"),Mg=Symbol.for("react.context"),Ag=Symbol.for("react.forward_ref"),Dg=Symbol.for("react.suspense"),Eg=Symbol.for("react.memo"),Fg=Symbol.for("react.lazy"),Md=Symbol.iterator;function Bg(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 Dr(e,t,a){this.props=e,this.context=t,this.refs=Bd,this.updater=a||Ed}Dr.prototype.isReactComponent={};Dr.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")};Dr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Od(){}Od.prototype=Dr.prototype;function Ns(e,t,a){this.props=e,this.context=t,this.refs=Bd,this.updater=a||Ed}var Us=Ns.prototype=new Od;Us.constructor=Ns;Fd(Us,Dr.prototype);Us.isPureReactComponent=!0;var Ad=Array.isArray,zd=Object.prototype.hasOwnProperty,Hs={current:null},Nd={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)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:Hs.current}}function Og(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 zg(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?zg(""+e.key):t.toString(36)}function jn(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 kg: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,"$&/")+"/"),jn(o,t,a,"",function(d){return d})):o!=null&&(_s(o)&&(o=Og(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+=jn(n,t,a,u,o)}else if(u=Bg(e),typeof u=="function")for(e=u.call(e),s=0;!(n=e.next()).done;)n=n.value,u=r+zs(n,s++),l+=jn(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 Gn(e,t,a){if(e==null)return e;var r=[],o=0;return jn(e,r,"","",function(n){return t.call(a,n,o++)}),r}function Ng(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},Xn={transition:null},Ug={ReactCurrentDispatcher:Qe,ReactCurrentBatchConfig:Xn,ReactCurrentOwner:Hs};function Hd(){throw Error("act(...) is not supported in production builds of React.")}le.Children={map:Gn,forEach:function(e,t,a){Gn(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return Gn(e,function(){t++}),t},toArray:function(e){return Gn(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}};le.Component=Dr;le.Fragment=bg;le.Profiler=Tg;le.PureComponent=Ns;le.StrictMode=Pg;le.Suspense=Dg;le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ug;le.act=Hd;le.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=Hs.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}};le.createContext=function(e){return e={$$typeof:Mg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Rg,_context:e},e.Consumer=e};le.createElement=Ud;le.createFactory=function(e){var t=Ud.bind(null,e);return t.type=e,t};le.createRef=function(){return{current:null}};le.forwardRef=function(e){return{$$typeof:Ag,render:e}};le.isValidElement=_s;le.lazy=function(e){return{$$typeof:Fg,_payload:{_status:-1,_result:e},_init:Ng}};le.memo=function(e,t){return{$$typeof:Eg,type:e,compare:t===void 0?null:t}};le.startTransition=function(e){var t=Xn.transition;Xn.transition={};try{e()}finally{Xn.transition=t}};le.unstable_act=Hd;le.useCallback=function(e,t){return Qe.current.useCallback(e,t)};le.useContext=function(e){return Qe.current.useContext(e)};le.useDebugValue=function(){};le.useDeferredValue=function(e){return Qe.current.useDeferredValue(e)};le.useEffect=function(e,t){return Qe.current.useEffect(e,t)};le.useId=function(){return Qe.current.useId()};le.useImperativeHandle=function(e,t,a){return Qe.current.useImperativeHandle(e,t,a)};le.useInsertionEffect=function(e,t){return Qe.current.useInsertionEffect(e,t)};le.useLayoutEffect=function(e,t){return Qe.current.useLayoutEffect(e,t)};le.useMemo=function(e,t){return Qe.current.useMemo(e,t)};le.useReducer=function(e,t,a){return Qe.current.useReducer(e,t,a)};le.useRef=function(e){return Qe.current.useRef(e)};le.useState=function(e){return Qe.current.useState(e)};le.useSyncExternalStore=function(e,t,a){return Qe.current.useSyncExternalStore(e,t,a)};le.useTransition=function(){return Qe.current.useTransition()};le.version="18.3.1"});var Se=sa((Zv,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<Qn(o,t))e[r]=t,e[a]=o,a=r;else break e}}function Ft(e){return e.length===0?null:e[0]}function Jn(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>Qn(s,a))u<o&&0>Qn(d,s)?(e[r]=d,e[u]=a,r=u):(e[r]=s,e[l]=a,r=l);else if(u<o&&0>Qn(d,a))e[r]=d,e[u]=a,r=u;else break e}}return t}function Qn(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,Kt=[],Ia=[],Hg=1,Lt=null,Ve=3,Zn=!1,Ja=!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=Ft(Ia);t!==null;){if(t.callback===null)Jn(Ia);else if(t.startTime<=e)Jn(Ia),t.sortIndex=t.expirationTime,Vs(Kt,t);else break;t=Ft(Ia)}}function Gs(e){if(Po=!1,Ks(e),!Ja)if(Ft(Kt)!==null)Ja=!0,Xs(js);else{var t=Ft(Ia);t!==null&&Qs(Gs,t.startTime-e)}}function js(e,t){Ja=!1,Po&&(Po=!1,jd(To),To=-1),Zn=!0;var a=Ve;try{for(Ks(t),Lt=Ft(Kt);Lt!==null&&(!(Lt.expirationTime>t)||e&&!Yd());){var r=Lt.callback;if(typeof r=="function"){Lt.callback=null,Ve=Lt.priorityLevel;var o=r(Lt.expirationTime<=t);t=ye.unstable_now(),typeof o=="function"?Lt.callback=o:Lt===Ft(Kt)&&Jn(Kt),Ks(t)}else Jn(Kt);Lt=Ft(Kt)}if(Lt!==null)var n=!0;else{var l=Ft(Ia);l!==null&&Qs(Gs,l.startTime-t),n=!1}return n}finally{Lt=null,Ve=a,Zn=!1}}var el=!1,Yn=null,To=-1,Xd=5,Qd=-1;function Yd(){return!(ye.unstable_now()-Qd<Xd)}function Ws(){if(Yn!==null){var e=ye.unstable_now();Qd=e;var t=!0;try{t=Yn(!0,e)}finally{t?bo():(el=!1,Yn=null)}}else el=!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){Yn=e,el||(el=!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(){Ja||Zn||(Ja=!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 Ve};ye.unstable_getFirstCallbackNode=function(){return Ft(Kt)};ye.unstable_next=function(e){switch(Ve){case 1:case 2:case 3:var t=3;break;default:t=Ve}var a=Ve;Ve=t;try{return e()}finally{Ve=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=Ve;Ve=e;try{return t()}finally{Ve=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:Hg++,callback:t,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>r?(e.sortIndex=a,Vs(Ia,e),Ft(Kt)===null&&e===Ft(Ia)&&(Po?(jd(To),To=-1):Po=!0,Qs(Gs,a-r))):(e.sortIndex=o,Vs(Kt,e),Ja||Zn||(Ja=!0,Xs(js))),e};ye.unstable_shouldYield=Yd;ye.unstable_wrapCallback=function(e){var t=Ve;return function(){var a=Ve;Ve=t;try{return e.apply(this,arguments)}finally{Ve=a}}}});var ef=sa((ty,Zd)=>{"use strict";Zd.exports=Jd()});var nm=sa(gt=>{"use strict";var _g=Se(),pt=ef();function T(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 fr(e,t){Zr(e,t),Zr(e+"Capture",t)}function Zr(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,qg=/^[: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 Wg(e){return yu.call(af,e)?!0:yu.call(tf,e)?!1:qg.test(e)?af[e]=!0:(tf[e]=!0,!1)}function $g(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 Vg(e,t,a,r){if(t===null||typeof t>"u"||$g(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")&&(Vg(t,a,o,r)&&(a=null),r||o===null?Wg(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=_g.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,tl=Symbol.for("react.element"),Br=Symbol.for("react.portal"),Or=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 Kg(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 Or:return"Fragment";case Br: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 Gg(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 jg(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 al(e){e._valueTracker||(e._valueTracker=jg(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 Ml(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"||Ml(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var No=Array.isArray;function Gr(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(T(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(T(92));if(No(a)){if(1<a.length)throw Error(T(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 rl,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(rl=rl||document.createElement("div"),rl.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=rl.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},Xg=["Webkit","ms","Moz","O"];Object.keys(_o).forEach(function(e){Xg.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 Qg=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(Qg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(T(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(T(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(T(61))}if(t.style!=null&&typeof t.style!="object")throw Error(T(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,jr=null,Xr=null;function uf(e){if(e=hn(e)){if(typeof Du!="function")throw Error(T(280));var t=e.stateNode;t&&(t=os(t),Du(e.stateNode,e.type,t))}}function Lc(e){jr?Xr?Xr.push(e):Xr=[e]:jr=e}function Sc(){if(jr){var e=jr,t=Xr;if(Xr=jr=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,(jr!==null||Xr!==null)&&(Cc(),Sc())}}function Jo(e,t){var a=e.stateNode;if(a===null)return null;var r=os(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(T(231,t,typeof a));return a}var Eu=!1;if(pa)try{Er={},Object.defineProperty(Er,"passive",{get:function(){Eu=!0}}),window.addEventListener("test",Er,Er),window.removeEventListener("test",Er,Er)}catch{Eu=!1}var Er;function Yg(e,t,a,r,o,n,l,s,u){var d=Array.prototype.slice.call(arguments,3);try{t.apply(a,d)}catch(m){this.onError(m)}}var qo=!1,Al=null,Dl=!1,Fu=null,Jg={onError:function(e){qo=!0,Al=e}};function Zg(e,t,a,r,o,n,l,s,u){qo=!1,Al=null,Yg.apply(Jg,arguments)}function eh(e,t,a,r,o,n,l,s,u){if(Zg.apply(this,arguments),qo){if(qo){var d=Al;qo=!1,Al=null}else throw Error(T(198));Dl||(Dl=!0,Fu=d)}}function cr(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(cr(e)!==e)throw Error(T(188))}function th(e){var t=e.alternate;if(!t){if(t=cr(e),t===null)throw Error(T(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(T(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(T(189))}}if(a.alternate!==r)throw Error(T(190))}if(a.tag!==3)throw Error(T(188));return a.stateNode.current===a?e:t}function bc(e){return e=th(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=pt.unstable_scheduleCallback,ff=pt.unstable_cancelCallback,ah=pt.unstable_shouldYield,rh=pt.unstable_requestPaint,Ae=pt.unstable_now,oh=pt.unstable_getCurrentPriorityLevel,vi=pt.unstable_ImmediatePriority,Rc=pt.unstable_UserBlockingPriority,El=pt.unstable_NormalPriority,nh=pt.unstable_LowPriority,Mc=pt.unstable_IdlePriority,es=null,Qt=null;function lh(e){if(Qt&&typeof Qt.onCommitFiberRoot=="function")try{Qt.onCommitFiberRoot(es,e,void 0,(e.current.flags&128)===128)}catch{}}var Ut=Math.clz32?Math.clz32:ih,sh=Math.log,uh=Math.LN2;function ih(e){return e>>>=0,e===0?32:31-(sh(e)/uh|0)|0}var ol=64,nl=4194304;function Uo(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 Fl(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=Uo(s):(n&=l,n!==0&&(r=Uo(n)))}else l=a&~o,l!==0?r=Uo(l):n!==0&&(r=Uo(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 dh(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 fh(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]=dh(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=ol;return ol<<=1,(ol&4194240)===0&&(ol=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 ch(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,ll=[],Ma=null,Aa=null,Da=null,Zo=new Map,en=new Map,ba=[],ph="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 mh(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=tr(e.target);if(t!==null){var a=cr(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 Ll(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){Ll(e)&&a.delete(t)}function gh(){Ou=!1,Ma!==null&&Ll(Ma)&&(Ma=null),Aa!==null&&Ll(Aa)&&(Aa=null),Da!==null&&Ll(Da)&&(Da=null),Zo.forEach(pf),en.forEach(pf)}function Ao(e,t){e.blockedOn===t&&(e.blockedOn=null,Ou||(Ou=!0,pt.unstable_scheduleCallback(pt.unstable_NormalPriority,gh)))}function tn(e){function t(o){return Ao(o,e)}if(0<ll.length){Ao(ll[0],e);for(var a=1;a<ll.length;a++){var r=ll[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 Qr=xa.ReactCurrentBatchConfig,Bl=!0;function hh(e,t,a,r){var o=xe,n=Qr.transition;Qr.transition=null;try{xe=1,Si(e,t,a,r)}finally{xe=o,Qr.transition=n}}function xh(e,t,a,r){var o=xe,n=Qr.transition;Qr.transition=null;try{xe=4,Si(e,t,a,r)}finally{xe=o,Qr.transition=n}}function Si(e,t,a,r){if(Bl){var o=zu(e,t,a,r);if(o===null)uu(e,t,r,Ol,a),cf(e,r);else if(mh(o,e,t,a,r))r.stopPropagation();else if(cf(e,r),t&4&&-1<ph.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,Ol,a),n===o)break;o=n}o!==null&&r.stopPropagation()}else uu(e,t,r,null,a)}}var Ol=null;function zu(e,t,a,r){if(Ol=null,e=xi(r),e=tr(e),e!==null)if(t=cr(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 Ol=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(oh()){case vi:return 1;case Rc:return 4;case El:case nh:return 16;case Mc:return 536870912;default:return 16}default:return 16}}var Ta=null,Ii=null,Sl=null;function Uc(){if(Sl)return Sl;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 Sl=o.slice(e,1<r?1-r:void 0)}function Il(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 sl(){return!0}function mf(){return!1}function mt(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)?sl: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=sl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=sl)},persist:function(){},isPersistent:sl}),t}var lo={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ci=mt(lo),gn=Pe({},lo,{view:0,detail:0}),vh=mt(gn),au,ru,Do,ts=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=mt(ts),yh=Pe({},ts,{dataTransfer:0}),Lh=mt(yh),Sh=Pe({},gn,{relatedTarget:0}),ou=mt(Sh),Ih=Pe({},lo,{animationName:0,elapsedTime:0,pseudoElement:0}),Ch=mt(Ih),wh=Pe({},lo,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kh=mt(wh),bh=Pe({},lo,{data:0}),hf=mt(bh),Ph={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Th={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"},Rh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Mh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Rh[e])?!!t[e]:!1}function wi(){return Mh}var Ah=Pe({},gn,{key:function(e){if(e.key){var t=Ph[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Il(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Th[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"?Il(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Il(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Dh=mt(Ah),Eh=Pe({},ts,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),xf=mt(Eh),Fh=Pe({},gn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wi}),Bh=mt(Fh),Oh=Pe({},lo,{propertyName:0,elapsedTime:0,pseudoElement:0}),zh=mt(Oh),Nh=Pe({},ts,{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=mt(Nh),Hh=[9,13,27,32],ki=pa&&"CompositionEvent"in window,Wo=null;pa&&"documentMode"in document&&(Wo=document.documentMode);var _h=pa&&"TextEvent"in window&&!Wo,Hc=pa&&(!ki||Wo&&8<Wo&&11>=Wo),vf=" ",yf=!1;function _c(e,t){switch(e){case"keyup":return Hh.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 zr=!1;function qh(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 Wh(e,t){if(zr)return e==="compositionend"||!ki&&_c(e,t)?(e=Uc(),Sl=Ii=Ta=null,zr=!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 Hc&&t.locale!=="ko"?null:t.data;default:return null}}var $h={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"?!!$h[e.type]:t==="textarea"}function Wc(e,t,a,r){Lc(r),t=zl(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 Vh(e){ep(e,0)}function as(e){var t=Hr(e);if(pc(t))return e}function Kh(e,t){if(e==="change")return t}var $c=!1;pa&&(pa?(il="oninput"in document,il||(nu=document.createElement("div"),nu.setAttribute("oninput","return;"),il=typeof nu.oninput=="function"),ul=il):ul=!1,$c=ul&&(!document.documentMode||9<document.documentMode));var ul,il,nu;function Sf(){$o&&($o.detachEvent("onpropertychange",Vc),an=$o=null)}function Vc(e){if(e.propertyName==="value"&&as(an)){var t=[];Wc(t,an,e,xi(e)),wc(Vh,t)}}function Gh(e,t,a){e==="focusin"?(Sf(),$o=t,an=a,$o.attachEvent("onpropertychange",Vc)):e==="focusout"&&Sf()}function jh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return as(an)}function Xh(e,t){if(e==="click")return as(t)}function Qh(e,t){if(e==="input"||e==="change")return as(t)}function Yh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var _t=typeof Object.is=="function"?Object.is:Yh;function rn(e,t){if(_t(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)||!_t(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=Ml();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ml(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 Jh(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 Zh=pa&&"documentMode"in document&&11>=document.documentMode,Nr=null,Nu=null,Vo=null,Uu=!1;function wf(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Uu||Nr==null||Nr!==Ml(r)||(r=Nr,"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=zl(Nu,"onSelect"),0<r.length&&(t=new Ci("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=Nr)))}function dl(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Ur={animationend:dl("Animation","AnimationEnd"),animationiteration:dl("Animation","AnimationIteration"),animationstart:dl("Animation","AnimationStart"),transitionend:dl("Transition","TransitionEnd")},lu={},jc={};pa&&(jc=document.createElement("div").style,"AnimationEvent"in window||(delete Ur.animationend.animation,delete Ur.animationiteration.animation,delete Ur.animationstart.animation),"TransitionEvent"in window||delete Ur.transitionend.transition);function rs(e){if(lu[e])return lu[e];if(!Ur[e])return e;var t=Ur[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in jc)return lu[e]=t[a];return e}var Xc=rs("animationend"),Qc=rs("animationiteration"),Yc=rs("animationstart"),Jc=rs("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 Ha(e,t){Zc.set(e,t),fr(t,[e])}for(fl=0;fl<kf.length;fl++)cl=kf[fl],bf=cl.toLowerCase(),Pf=cl[0].toUpperCase()+cl.slice(1),Ha(bf,"on"+Pf);var cl,bf,Pf,fl;Ha(Xc,"onAnimationEnd");Ha(Qc,"onAnimationIteration");Ha(Yc,"onAnimationStart");Ha("dblclick","onDoubleClick");Ha("focusin","onFocus");Ha("focusout","onBlur");Ha(Jc,"onTransitionEnd");Zr("onMouseEnter",["mouseout","mouseover"]);Zr("onMouseLeave",["mouseout","mouseover"]);Zr("onPointerEnter",["pointerout","pointerover"]);Zr("onPointerLeave",["pointerout","pointerover"]);fr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));fr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));fr("onBeforeInput",["compositionend","keypress","textInput","paste"]);fr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));fr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));fr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ho="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(" "),ex=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ho));function Tf(e,t,a){var r=e.type||"unknown-event";e.currentTarget=a,eh(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(Dl)throw e=Fu,Dl=!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 pl="_reactListening"+Math.random().toString(36).slice(2);function on(e){if(!e[pl]){e[pl]=!0,uc.forEach(function(a){a!=="selectionchange"&&(ex.has(a)||su(a,!1,e),su(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[pl]||(t[pl]=!0,su("selectionchange",!1,t))}}function tp(e,t,a,r){switch(Nc(t)){case 1:var o=hh;break;case 4:o=xh;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=tr(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,m=xi(a),g=[];e:{var p=Zc.get(e);if(p!==void 0){var v=Ci,y=e;switch(e){case"keypress":if(Il(a)===0)break e;case"keydown":case"keyup":v=Dh;break;case"focusin":y="focus",v=ou;break;case"focusout":y="blur",v=ou;break;case"beforeblur":case"afterblur":v=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":v=gf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":v=Lh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":v=Bh;break;case Xc:case Qc:case Yc:v=Ch;break;case Jc:v=zh;break;case"scroll":v=vh;break;case"wheel":v=Uh;break;case"copy":case"cut":case"paste":v=kh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":v=xf}var C=(t&4)!==0,O=!C&&e==="scroll",c=C?p!==null?p+"Capture":null:p;C=[];for(var i=d,f;i!==null;){f=i;var L=f.stateNode;if(f.tag===5&&L!==null&&(f=L,c!==null&&(L=Jo(i,c),L!=null&&C.push(nn(i,L,f)))),O)break;i=i.return}0<C.length&&(p=new v(p,y,null,a,m),g.push({event:p,listeners:C}))}}if((t&7)===0){e:{if(p=e==="mouseover"||e==="pointerover",v=e==="mouseout"||e==="pointerout",p&&a!==Au&&(y=a.relatedTarget||a.fromElement)&&(tr(y)||y[ma]))break e;if((v||p)&&(p=m.window===m?m:(p=m.ownerDocument)?p.defaultView||p.parentWindow:window,v?(y=a.relatedTarget||a.toElement,v=d,y=y?tr(y):null,y!==null&&(O=cr(y),y!==O||y.tag!==5&&y.tag!==6)&&(y=null)):(v=null,y=d),v!==y)){if(C=gf,L="onMouseLeave",c="onMouseEnter",i="mouse",(e==="pointerout"||e==="pointerover")&&(C=xf,L="onPointerLeave",c="onPointerEnter",i="pointer"),O=v==null?p:Hr(v),f=y==null?p:Hr(y),p=new C(L,i+"leave",v,a,m),p.target=O,p.relatedTarget=f,L=null,tr(m)===d&&(C=new C(c,i+"enter",y,a,m),C.target=f,C.relatedTarget=O,L=C),O=L,v&&y)t:{for(C=v,c=y,i=0,f=C;f;f=Fr(f))i++;for(f=0,L=c;L;L=Fr(L))f++;for(;0<i-f;)C=Fr(C),i--;for(;0<f-i;)c=Fr(c),f--;for(;i--;){if(C===c||c!==null&&C===c.alternate)break t;C=Fr(C),c=Fr(c)}C=null}else C=null;v!==null&&Rf(g,p,v,C,!1),y!==null&&O!==null&&Rf(g,O,y,C,!0)}}e:{if(p=d?Hr(d):window,v=p.nodeName&&p.nodeName.toLowerCase(),v==="select"||v==="input"&&p.type==="file")var w=Kh;else if(Lf(p))if($c)w=Qh;else{w=jh;var b=Gh}else(v=p.nodeName)&&v.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(w=Xh);if(w&&(w=w(e,d))){Wc(g,w,a,m);break e}b&&b(e,p,d),e==="focusout"&&(b=p._wrapperState)&&b.controlled&&p.type==="number"&&bu(p,"number",p.value)}switch(b=d?Hr(d):window,e){case"focusin":(Lf(b)||b.contentEditable==="true")&&(Nr=b,Nu=d,Vo=null);break;case"focusout":Vo=Nu=Nr=null;break;case"mousedown":Uu=!0;break;case"contextmenu":case"mouseup":case"dragend":Uu=!1,wf(g,a,m);break;case"selectionchange":if(Zh)break;case"keydown":case"keyup":wf(g,a,m)}var S;if(ki)e:{switch(e){case"compositionstart":var h="onCompositionStart";break e;case"compositionend":h="onCompositionEnd";break e;case"compositionupdate":h="onCompositionUpdate";break e}h=void 0}else zr?_c(e,a)&&(h="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(h="onCompositionStart");h&&(Hc&&a.locale!=="ko"&&(zr||h!=="onCompositionStart"?h==="onCompositionEnd"&&zr&&(S=Uc()):(Ta=m,Ii="value"in Ta?Ta.value:Ta.textContent,zr=!0)),b=zl(d,h),0<b.length&&(h=new hf(h,e,null,a,m),g.push({event:h,listeners:b}),S?h.data=S:(S=qc(a),S!==null&&(h.data=S)))),(S=_h?qh(e,a):Wh(e,a))&&(d=zl(d,"onBeforeInput"),0<d.length&&(m=new hf("onBeforeInput","beforeinput",null,a,m),g.push({event:m,listeners:d}),m.data=S))}ep(g,t)})}function nn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function zl(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 Fr(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 tx=/\\r\\n?/g,ax=/\\u0000|\\uFFFD/g;function Mf(e){return(typeof e=="string"?e:""+e).replace(tx,`\n`).replace(ax,"")}function ml(e,t,a){if(t=Mf(t),Mf(e)!==t&&a)throw Error(T(425))}function Nl(){}var Hu=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,rx=typeof clearTimeout=="function"?clearTimeout:void 0,Af=typeof Promise=="function"?Promise:void 0,ox=typeof queueMicrotask=="function"?queueMicrotask:typeof Af<"u"?function(e){return Af.resolve(null).then(e).catch(nx)}:Wu;function nx(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 so=Math.random().toString(36).slice(2),Xt="__reactFiber$"+so,ln="__reactProps$"+so,ma="__reactContainer$"+so,$u="__reactEvents$"+so,lx="__reactListeners$"+so,sx="__reactHandles$"+so;function tr(e){var t=e[Xt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[ma]||a[Xt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Df(e);e!==null;){if(a=e[Xt])return a;e=Df(e)}return t}e=a,a=e.parentNode}return null}function hn(e){return e=e[Xt]||e[ma],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Hr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(T(33))}function os(e){return e[ln]||null}var Vu=[],_r=-1;function _a(e){return{current:e}}function Ce(e){0>_r||(e.current=Vu[_r],Vu[_r]=null,_r--)}function Le(e,t){_r++,Vu[_r]=e.current,e.current=t}var Ua={},Xe=_a(Ua),lt=_a(!1),lr=Ua;function eo(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 st(e){return e=e.childContextTypes,e!=null}function Ul(){Ce(lt),Ce(Xe)}function Ef(e,t,a){if(Xe.current!==Ua)throw Error(T(168));Le(Xe,t),Le(lt,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(T(108,Gg(e)||"Unknown",o));return Pe({},a,r)}function Hl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ua,lr=Xe.current,Le(Xe,e),Le(lt,lt.current),!0}function Ff(e,t,a){var r=e.stateNode;if(!r)throw Error(T(169));a?(e=ap(e,t,lr),r.__reactInternalMemoizedMergedChildContext=e,Ce(lt),Ce(Xe),Le(Xe,e)):Ce(lt),Le(lt,a)}var ia=null,ns=!1,du=!1;function rp(e){ia===null?ia=[e]:ia.push(e)}function ux(e){ns=!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,ns=!1}catch(o){throw ia!==null&&(ia=ia.slice(e+1)),Tc(vi,qa),o}finally{xe=t,du=!1}}return null}var qr=[],Wr=0,_l=null,ql=0,St=[],It=0,sr=null,da=1,fa="";function Za(e,t){qr[Wr++]=ql,qr[Wr++]=_l,_l=e,ql=t}function op(e,t,a){St[It++]=da,St[It++]=fa,St[It++]=sr,sr=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&&(Za(e,1),op(e,1,0))}function Ti(e){for(;e===_l;)_l=qr[--Wr],qr[Wr]=null,ql=qr[--Wr],qr[Wr]=null;for(;e===sr;)sr=St[--It],St[It]=null,fa=St[--It],St[It]=null,da=St[--It],St[It]=null}var ct=null,ft=null,we=!1,Nt=null;function np(e,t){var a=Ct(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,ct=e,ft=Ea(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,ct=e,ft=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=sr!==null?{id:da,overflow:fa}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=Ct(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,ct=e,ft=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=ft;if(t){var a=t;if(!Bf(e,t)){if(Ku(e))throw Error(T(418));t=Ea(a.nextSibling);var r=ct;t&&Bf(e,t)?np(r,a):(e.flags=e.flags&-4097|2,we=!1,ct=e)}}else{if(Ku(e))throw Error(T(418));e.flags=e.flags&-4097|2,we=!1,ct=e}}}function Of(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ct=e}function gl(e){if(e!==ct)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=ft)){if(Ku(e))throw lp(),Error(T(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(T(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){ft=Ea(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}ft=null}}else ft=ct?Ea(e.stateNode.nextSibling):null;return!0}function lp(){for(var e=ft;e;)e=Ea(e.nextSibling)}function to(){ft=ct=null,we=!1}function Ri(e){Nt===null?Nt=[e]:Nt.push(e)}var ix=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(T(309));var r=a.stateNode}if(!r)throw Error(T(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(T(284));if(!a._owner)throw Error(T(290,e))}return e}function hl(e,t){throw e=Object.prototype.toString.call(t),Error(T(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(c,i){if(e){var f=c.deletions;f===null?(c.deletions=[i],c.flags|=16):f.push(i)}}function a(c,i){if(!e)return null;for(;i!==null;)t(c,i),i=i.sibling;return null}function r(c,i){for(c=new Map;i!==null;)i.key!==null?c.set(i.key,i):c.set(i.index,i),i=i.sibling;return c}function o(c,i){return c=za(c,i),c.index=0,c.sibling=null,c}function n(c,i,f){return c.index=f,e?(f=c.alternate,f!==null?(f=f.index,f<i?(c.flags|=2,i):f):(c.flags|=2,i)):(c.flags|=1048576,i)}function l(c){return e&&c.alternate===null&&(c.flags|=2),c}function s(c,i,f,L){return i===null||i.tag!==6?(i=xu(f,c.mode,L),i.return=c,i):(i=o(i,f),i.return=c,i)}function u(c,i,f,L){var w=f.type;return w===Or?m(c,i,f.props.children,L,f.key):i!==null&&(i.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===wa&&zf(w)===i.type)?(L=o(i,f.props),L.ref=Eo(c,i,f),L.return=c,L):(L=Rl(f.type,f.key,f.props,null,c.mode,L),L.ref=Eo(c,i,f),L.return=c,L)}function d(c,i,f,L){return i===null||i.tag!==4||i.stateNode.containerInfo!==f.containerInfo||i.stateNode.implementation!==f.implementation?(i=vu(f,c.mode,L),i.return=c,i):(i=o(i,f.children||[]),i.return=c,i)}function m(c,i,f,L,w){return i===null||i.tag!==7?(i=nr(f,c.mode,L,w),i.return=c,i):(i=o(i,f),i.return=c,i)}function g(c,i,f){if(typeof i=="string"&&i!==""||typeof i=="number")return i=xu(""+i,c.mode,f),i.return=c,i;if(typeof i=="object"&&i!==null){switch(i.$$typeof){case tl:return f=Rl(i.type,i.key,i.props,null,c.mode,f),f.ref=Eo(c,null,i),f.return=c,f;case Br:return i=vu(i,c.mode,f),i.return=c,i;case wa:var L=i._init;return g(c,L(i._payload),f)}if(No(i)||Ro(i))return i=nr(i,c.mode,f,null),i.return=c,i;hl(c,i)}return null}function p(c,i,f,L){var w=i!==null?i.key:null;if(typeof f=="string"&&f!==""||typeof f=="number")return w!==null?null:s(c,i,""+f,L);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case tl:return f.key===w?u(c,i,f,L):null;case Br:return f.key===w?d(c,i,f,L):null;case wa:return w=f._init,p(c,i,w(f._payload),L)}if(No(f)||Ro(f))return w!==null?null:m(c,i,f,L,null);hl(c,f)}return null}function v(c,i,f,L,w){if(typeof L=="string"&&L!==""||typeof L=="number")return c=c.get(f)||null,s(i,c,""+L,w);if(typeof L=="object"&&L!==null){switch(L.$$typeof){case tl:return c=c.get(L.key===null?f:L.key)||null,u(i,c,L,w);case Br:return c=c.get(L.key===null?f:L.key)||null,d(i,c,L,w);case wa:var b=L._init;return v(c,i,f,b(L._payload),w)}if(No(L)||Ro(L))return c=c.get(f)||null,m(i,c,L,w,null);hl(i,L)}return null}function y(c,i,f,L){for(var w=null,b=null,S=i,h=i=0,P=null;S!==null&&h<f.length;h++){S.index>h?(P=S,S=null):P=S.sibling;var B=p(c,S,f[h],L);if(B===null){S===null&&(S=P);break}e&&S&&B.alternate===null&&t(c,S),i=n(B,i,h),b===null?w=B:b.sibling=B,b=B,S=P}if(h===f.length)return a(c,S),we&&Za(c,h),w;if(S===null){for(;h<f.length;h++)S=g(c,f[h],L),S!==null&&(i=n(S,i,h),b===null?w=S:b.sibling=S,b=S);return we&&Za(c,h),w}for(S=r(c,S);h<f.length;h++)P=v(S,c,h,f[h],L),P!==null&&(e&&P.alternate!==null&&S.delete(P.key===null?h:P.key),i=n(P,i,h),b===null?w=P:b.sibling=P,b=P);return e&&S.forEach(function(R){return t(c,R)}),we&&Za(c,h),w}function C(c,i,f,L){var w=Ro(f);if(typeof w!="function")throw Error(T(150));if(f=w.call(f),f==null)throw Error(T(151));for(var b=w=null,S=i,h=i=0,P=null,B=f.next();S!==null&&!B.done;h++,B=f.next()){S.index>h?(P=S,S=null):P=S.sibling;var R=p(c,S,B.value,L);if(R===null){S===null&&(S=P);break}e&&S&&R.alternate===null&&t(c,S),i=n(R,i,h),b===null?w=R:b.sibling=R,b=R,S=P}if(B.done)return a(c,S),we&&Za(c,h),w;if(S===null){for(;!B.done;h++,B=f.next())B=g(c,B.value,L),B!==null&&(i=n(B,i,h),b===null?w=B:b.sibling=B,b=B);return we&&Za(c,h),w}for(S=r(c,S);!B.done;h++,B=f.next())B=v(S,c,h,B.value,L),B!==null&&(e&&B.alternate!==null&&S.delete(B.key===null?h:B.key),i=n(B,i,h),b===null?w=B:b.sibling=B,b=B);return e&&S.forEach(function(H){return t(c,H)}),we&&Za(c,h),w}function O(c,i,f,L){if(typeof f=="object"&&f!==null&&f.type===Or&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case tl:e:{for(var w=f.key,b=i;b!==null;){if(b.key===w){if(w=f.type,w===Or){if(b.tag===7){a(c,b.sibling),i=o(b,f.props.children),i.return=c,c=i;break e}}else if(b.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===wa&&zf(w)===b.type){a(c,b.sibling),i=o(b,f.props),i.ref=Eo(c,b,f),i.return=c,c=i;break e}a(c,b);break}else t(c,b);b=b.sibling}f.type===Or?(i=nr(f.props.children,c.mode,L,f.key),i.return=c,c=i):(L=Rl(f.type,f.key,f.props,null,c.mode,L),L.ref=Eo(c,i,f),L.return=c,c=L)}return l(c);case Br:e:{for(b=f.key;i!==null;){if(i.key===b)if(i.tag===4&&i.stateNode.containerInfo===f.containerInfo&&i.stateNode.implementation===f.implementation){a(c,i.sibling),i=o(i,f.children||[]),i.return=c,c=i;break e}else{a(c,i);break}else t(c,i);i=i.sibling}i=vu(f,c.mode,L),i.return=c,c=i}return l(c);case wa:return b=f._init,O(c,i,b(f._payload),L)}if(No(f))return y(c,i,f,L);if(Ro(f))return C(c,i,f,L);hl(c,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,i!==null&&i.tag===6?(a(c,i.sibling),i=o(i,f),i.return=c,c=i):(a(c,i),i=xu(f,c.mode,L),i.return=c,c=i),l(c)):a(c,i)}return O}var ao=sp(!0),up=sp(!1),Wl=_a(null),$l=null,$r=null,Mi=null;function Ai(){Mi=$r=$l=null}function Di(e){var t=Wl.current;Ce(Wl),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 Yr(e,t){$l=e,Mi=$r=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(nt=!0),e.firstContext=null)}function kt(e){var t=e._currentValue;if(Mi!==e)if(e={context:e,memoizedValue:t,next:null},$r===null){if($l===null)throw Error(T(308));$r=e,$l.dependencies={lanes:0,firstContext:e}}else $r=$r.next=e;return t}var ar=null;function Ei(e){ar===null?ar=[e]:ar.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,(de&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 Cl(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 Vl(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 m=e.alternate;m!==null&&(m=m.updateQueue,s=m.lastBaseUpdate,s!==l&&(s===null?m.firstBaseUpdate=d:s.next=d,m.lastBaseUpdate=u))}if(n!==null){var g=o.baseState;l=0,m=d=u=null,s=n;do{var p=s.lane,v=s.eventTime;if((r&p)===p){m!==null&&(m=m.next={eventTime:v,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var y=e,C=s;switch(p=t,v=a,C.tag){case 1:if(y=C.payload,typeof y=="function"){g=y.call(v,g,p);break e}g=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=C.payload,p=typeof y=="function"?y.call(v,g,p):y,p==null)break e;g=Pe({},g,p);break e;case 2:ka=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=o.effects,p===null?o.effects=[s]:p.push(s))}else v={eventTime:v,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},m===null?(d=m=v,u=g):m=m.next=v,l|=p;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;p=s,s=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);if(m===null&&(u=g),o.baseState=u,o.firstBaseUpdate=d,o.lastBaseUpdate=m,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);ir|=l,e.lanes=l,e.memoizedState=g}}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(T(191,o));o.call(r)}}}var xn={},Yt=_a(xn),sn=_a(xn),un=_a(xn);function rr(e){if(e===xn)throw Error(T(174));return e}function Bi(e,t){switch(Le(un,t),Le(sn,e),Le(Yt,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(Yt),Le(Yt,t)}function ro(){Ce(Yt),Ce(sn),Ce(un)}function fp(e){rr(un.current);var t=rr(Yt.current),a=Tu(t,e.type);t!==a&&(Le(sn,e),Le(Yt,a))}function Oi(e){sn.current===e&&(Ce(Yt),Ce(sn))}var ke=_a(0);function Kl(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 wl=xa.ReactCurrentDispatcher,cu=xa.ReactCurrentBatchConfig,ur=0,be=null,Fe=null,ze=null,Gl=!1,Ko=!1,dn=0,dx=0;function Ke(){throw Error(T(321))}function Ni(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!_t(e[a],t[a]))return!1;return!0}function Ui(e,t,a,r,o,n){if(ur=n,be=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,wl.current=e===null||e.memoizedState===null?mx:gx,e=a(r,o),Ko){n=0;do{if(Ko=!1,dn=0,25<=n)throw Error(T(301));n+=1,ze=Fe=null,t.updateQueue=null,wl.current=hx,e=a(r,o)}while(Ko)}if(wl.current=jl,t=Fe!==null&&Fe.next!==null,ur=0,ze=Fe=be=null,Gl=!1,t)throw Error(T(300));return e}function Hi(){var e=dn!==0;return dn=0,e}function jt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ze===null?be.memoizedState=ze=e:ze=ze.next=e,ze}function bt(){if(Fe===null){var e=be.alternate;e=e!==null?e.memoizedState:null}else e=Fe.next;var t=ze===null?be.memoizedState:ze.next;if(t!==null)ze=t,Fe=e;else{if(e===null)throw Error(T(310));Fe=e,e={memoizedState:Fe.memoizedState,baseState:Fe.baseState,baseQueue:Fe.baseQueue,queue:Fe.queue,next:null},ze===null?be.memoizedState=ze=e:ze=ze.next=e}return ze}function fn(e,t){return typeof t=="function"?t(e):t}function pu(e){var t=bt(),a=t.queue;if(a===null)throw Error(T(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 m=d.lane;if((ur&m)===m)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 g={lane:m,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};u===null?(s=u=g,l=r):u=u.next=g,be.lanes|=m,ir|=m}d=d.next}while(d!==null&&d!==n);u===null?l=r:u.next=s,_t(r,t.memoizedState)||(nt=!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,ir|=n,o=o.next;while(o!==e)}else o===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function mu(e){var t=bt(),a=t.queue;if(a===null)throw Error(T(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);_t(n,t.memoizedState)||(nt=!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=bt(),o=t(),n=!_t(r.memoizedState,o);if(n&&(r.memoizedState=o,nt=!0),r=r.queue,_i(hp.bind(null,a,r,e),[e]),r.getSnapshot!==t||n||ze!==null&&ze.memoizedState.tag&1){if(a.flags|=2048,cn(9,gp.bind(null,a,r,o,t),void 0,null),Ne===null)throw Error(T(349));(ur&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!_t(e,a)}catch{return!0}}function vp(e){var t=ga(e,1);t!==null&&Ht(t,e,1,-1)}function Hf(e){var t=jt();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=px.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 bt().memoizedState}function kl(e,t,a,r){var o=jt();be.flags|=e,o.memoizedState=cn(1|t,a,void 0,r===void 0?null:r)}function ls(e,t,a,r){var o=bt();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 kl(8390656,8,e,t)}function _i(e,t){return ls(2048,8,e,t)}function Lp(e,t){return ls(4,2,e,t)}function Sp(e,t){return ls(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,ls(4,4,Ip.bind(null,t,e),a)}function qi(){}function wp(e,t){var a=bt();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=bt();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(ur&21)===0?(e.baseState&&(e.baseState=!1,nt=!0),e.memoizedState=a):(_t(a,t)||(a=Ac(),be.lanes|=a,ir|=a,e.baseState=!0),t)}function fx(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 bt().memoizedState}function cx(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();Ht(a,e,r,o),Mp(a,t,r)}}function px(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,_t(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(),Ht(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=Gl=!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 jl={readContext:kt,useCallback:Ke,useContext:Ke,useEffect:Ke,useImperativeHandle:Ke,useInsertionEffect:Ke,useLayoutEffect:Ke,useMemo:Ke,useReducer:Ke,useRef:Ke,useState:Ke,useDebugValue:Ke,useDeferredValue:Ke,useTransition:Ke,useMutableSource:Ke,useSyncExternalStore:Ke,useId:Ke,unstable_isNewReconciler:!1},mx={readContext:kt,useCallback:function(e,t){return jt().memoizedState=[e,t===void 0?null:t],e},useContext:kt,useEffect:_f,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,kl(4194308,4,Ip.bind(null,t,e),a)},useLayoutEffect:function(e,t){return kl(4194308,4,e,t)},useInsertionEffect:function(e,t){return kl(4,2,e,t)},useMemo:function(e,t){var a=jt();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var r=jt();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=cx.bind(null,be,e),[r.memoizedState,e]},useRef:function(e){var t=jt();return e={current:e},t.memoizedState=e},useState:Hf,useDebugValue:qi,useDeferredValue:function(e){return jt().memoizedState=e},useTransition:function(){var e=Hf(!1),t=e[0];return e=fx.bind(null,e[1]),jt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var r=be,o=jt();if(we){if(a===void 0)throw Error(T(407));a=a()}else{if(a=t(),Ne===null)throw Error(T(349));(ur&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=jt(),t=Ne.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=dx++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},gx={readContext:kt,useCallback:wp,useContext:kt,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=bt();return bp(t,Fe.memoizedState,e)},useTransition:function(){var e=pu(fn)[0],t=bt().memoizedState;return[e,t]},useMutableSource:cp,useSyncExternalStore:pp,useId:Pp,unstable_isNewReconciler:!1},hx={readContext:kt,useCallback:wp,useContext:kt,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=bt();return Fe===null?t.memoizedState=e:bp(t,Fe.memoizedState,e)},useTransition:function(){var e=mu(fn)[0],t=bt().memoizedState;return[e,t]},useMutableSource:cp,useSyncExternalStore:pp,useId:Pp,unstable_isNewReconciler:!1};function Ot(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 ss={isMounted:function(e){return(e=e._reactInternals)?cr(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&&(Ht(t,e,o,r),Cl(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&&(Ht(t,e,o,r),Cl(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&&(Ht(t,e,r,a),Cl(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=Ua,n=t.contextType;return typeof n=="object"&&n!==null?n=kt(n):(o=st(t)?lr:Xe.current,r=t.contextTypes,n=(r=r!=null)?eo(e,o):Ua),t=new t(a,n),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=ss,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&&ss.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=kt(n):(n=st(t)?lr:Xe.current,o.context=eo(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&&ss.enqueueReplaceState(o,o.state,null),Vl(e,a,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function oo(e,t){try{var a="",r=t;do a+=Kg(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 xx=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(){Ql||(Ql=!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 xx;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=Ax.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 vx=xa.ReactCurrentOwner,nt=!1;function Ye(e,t,a,r){t.child=e===null?up(t,null,a,r):ao(t,e.child,a,r)}function Gf(e,t,a,r,o){a=a.render;var n=t.ref;return Yr(t,o),r=Ui(e,t,a,r,n,o),a=Hi(),e!==null&&!nt?(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=Rl(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(nt=!1,t.pendingProps=r=n,(e.lanes&o)!==0)(e.flags&131072)!==0&&(nt=!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(Kr,dt),dt|=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(Kr,dt),dt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=n!==null?n.baseLanes:a,Le(Kr,dt),dt|=r}else n!==null?(r=n.baseLanes|a,t.memoizedState=null):r=a,Le(Kr,dt),dt|=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=st(a)?lr:Xe.current;return n=eo(t,n),Yr(t,o),a=Ui(e,t,a,r,n,o),r=Hi(),e!==null&&!nt?(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(st(a)){var n=!0;Hl(t)}else n=!1;if(Yr(t,o),t.stateNode===null)bl(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=kt(d):(d=st(a)?lr:Xe.current,d=eo(t,d));var m=a.getDerivedStateFromProps,g=typeof m=="function"||typeof l.getSnapshotBeforeUpdate=="function";g||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==r||u!==d)&&Wf(t,l,r,d),ka=!1;var p=t.memoizedState;l.state=p,Vl(t,r,l,o),u=t.memoizedState,s!==r||p!==u||lt.current||ka?(typeof m=="function"&&(Xu(t,a,m,r),u=t.memoizedState),(s=ka||qf(t,a,s,r,p,u,d))?(g||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:Ot(t.type,s),l.props=d,g=t.pendingProps,p=l.context,u=a.contextType,typeof u=="object"&&u!==null?u=kt(u):(u=st(a)?lr:Xe.current,u=eo(t,u));var v=a.getDerivedStateFromProps;(m=typeof v=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==g||p!==u)&&Wf(t,l,r,u),ka=!1,p=t.memoizedState,l.state=p,Vl(t,r,l,o);var y=t.memoizedState;s!==g||p!==y||lt.current||ka?(typeof v=="function"&&(Xu(t,a,v,r),y=t.memoizedState),(d=ka||qf(t,a,d,r,p,y,u)||!1)?(m||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(r,y,u),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(r,y,u)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=y),l.props=r,l.state=y,l.context=u,r=d):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===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,vx.current=t;var s=l&&typeof a.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&l?(t.child=ao(t,e.child,null,n),t.child=ao(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 to(),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=ds(l,r,0,null),e=nr(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 yx(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=nr(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=ds({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function xl(e,t,a,r){return r!==null&&Ri(r),ao(t,e.child,null,a),e=Wi(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function yx(e,t,a,r,o,n,l){if(a)return t.flags&256?(t.flags&=-257,r=gu(Error(T(422))),xl(e,t,l,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(n=r.fallback,o=t.mode,r=ds({mode:"visible",children:r.children},o,0,null),n=nr(n,o,l,null),n.flags|=2,r.return=t,n.return=t,r.sibling=n,t.child=r,(t.mode&1)!==0&&ao(t,e.child,null,l),t.child.memoizedState=ti(l),t.memoizedState=ei,n);if((t.mode&1)===0)return xl(e,t,l,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,n=Error(T(419)),r=gu(n,r,void 0),xl(e,t,l,r)}if(s=(l&e.childLanes)!==0,nt||s){if(r=Ne,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),Ht(r,e,o,-1))}return Xi(),r=gu(Error(T(421))),xl(e,t,l,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=Dx.bind(null,e),o._reactRetry=t,null):(e=n.treeContext,ft=Ea(o.nextSibling),ct=t,we=!0,Nt=null,e!==null&&(St[It++]=da,St[It++]=fa,St[It++]=sr,da=e.id,fa=e.overflow,sr=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 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&&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&&Kl(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&&Kl(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 bl(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),ir|=t.lanes,(a&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(T(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 Lx(e,t,a){switch(t.tag){case 3:zp(t),to();break;case 5:fp(t);break;case 1:st(t.type)&&Hl(t);break;case 4:Bi(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Le(Wl,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 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,Bp(e,t,a)}return ha(e,t,a)}var Hp,ai,_p,qp;Hp=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,rr(Yt.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=Nl)}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 Ge(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 Sx(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 Ge(t),null;case 1:return st(t.type)&&Ul(),Ge(t),null;case 3:return r=t.stateNode,ro(),Ce(lt),Ce(Xe),zi(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(gl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Nt!==null&&(di(Nt),Nt=null))),ai(e,t),Ge(t),null;case 5:Oi(t);var o=rr(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(T(166));return Ge(t),null}if(e=rr(Yt.current),gl(t)){r=t.stateNode,a=t.type;var n=t.memoizedProps;switch(r[Xt]=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<Ho.length;o++)Ie(Ho[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&&ml(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(n.suppressHydrationWarning!==!0&&ml(r.textContent,s,e),o=["children",""+s]):Qo.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&Ie("scroll",r)}switch(a){case"input":al(r),nf(r,n,!0);break;case"textarea":al(r),sf(r);break;case"select":case"option":break;default:typeof n.onClick=="function"&&(r.onclick=Nl)}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[Xt]=t,e[ln]=r,Hp(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<Ho.length;o++)Ie(Ho[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":al(e),nf(e,r,!1);break;case"textarea":al(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?Gr(e,!!r.multiple,n,!1):r.defaultValue!=null&&Gr(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=Nl)}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 Ge(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(T(166));if(a=rr(un.current),rr(Yt.current),gl(t)){if(r=t.stateNode,a=t.memoizedProps,r[Xt]=t,(n=r.nodeValue!==a)&&(e=ct,e!==null))switch(e.tag){case 3:ml(r.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ml(r.nodeValue,a,(e.mode&1)!==0)}n&&(t.flags|=4)}else r=(a.nodeType===9?a:a.ownerDocument).createTextNode(r),r[Xt]=t,t.stateNode=r}return Ge(t),null;case 13:if(Ce(ke),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(we&&ft!==null&&(t.mode&1)!==0&&(t.flags&128)===0)lp(),to(),t.flags|=98560,n=!1;else if(n=gl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(T(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(T(317));n[Xt]=t}else to(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ge(t),n=!1}else Nt!==null&&(di(Nt),Nt=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),Ge(t),null);case 4:return ro(),ai(e,t),e===null&&on(t.stateNode.containerInfo),Ge(t),null;case 10:return Di(t.type._context),Ge(t),null;case 17:return st(t.type)&&Ul(),Ge(t),null;case 19:if(Ce(ke),n=t.memoizedState,n===null)return Ge(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=Kl(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&&Ae()>no&&(t.flags|=128,r=!0,Fo(n,!1),t.lanes=4194304)}else{if(!r)if(e=Kl(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 Ge(t),null}else 2*Ae()-n.renderingStartTime>no&&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=Ae(),t.sibling=null,a=ke.current,Le(ke,r?a&1|2:a&1),t):(Ge(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?(dt&1073741824)!==0&&(Ge(t),t.subtreeFlags&6&&(t.flags|=8192)):Ge(t),null;case 24:return null;case 25:return null}throw Error(T(156,t.tag))}function Ix(e,t){switch(Ti(t),t.tag){case 1:return st(t.type)&&Ul(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ro(),Ce(lt),Ce(Xe),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(T(340));to()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ce(ke),null;case 4:return ro(),null;case 10:return Di(t.type._context),null;case 22:case 23:return ji(),null;case 24:return null;default:return null}}var vl=!1,je=!1,Cx=typeof WeakSet=="function"?WeakSet:Set,z=null;function Vr(e,t){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(r){Re(e,t,r)}else a.current=null}function ri(e,t,a){try{a()}catch(r){Re(e,t,r)}}var Jf=!1;function wx(e,t){if(Hu=Bl,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,m=0,g=e,p=null;t:for(;;){for(var v;g!==a||o!==0&&g.nodeType!==3||(s=l+o),g!==n||r!==0&&g.nodeType!==3||(u=l+r),g.nodeType===3&&(l+=g.nodeValue.length),(v=g.firstChild)!==null;)p=g,g=v;for(;;){if(g===e)break t;if(p===a&&++d===o&&(s=l),p===n&&++m===r&&(u=l),(v=g.nextSibling)!==null)break;g=p,p=g.parentNode}g=v}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},Bl=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var y=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var C=y.memoizedProps,O=y.memoizedState,c=t.stateNode,i=c.getSnapshotBeforeUpdate(t.elementType===t.type?C:Ot(t.type,C),O);c.__reactInternalSnapshotBeforeUpdate=i}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(T(163))}}catch(L){Re(t,t.return,L)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return y=Jf,Jf=!1,y}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 us(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[Xt],delete t[ln],delete t[$u],delete t[lx],delete t[sx])),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=Nl));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 qe=null,zt=!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(Qt&&typeof Qt.onCommitFiberUnmount=="function")try{Qt.onCommitFiberUnmount(es,a)}catch{}switch(a.tag){case 5:je||Vr(a,t);case 6:var r=qe,o=zt;qe=null,Ca(e,t,a),qe=r,zt=o,qe!==null&&(zt?(e=qe,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):qe.removeChild(a.stateNode));break;case 18:qe!==null&&(zt?(e=qe,a=a.stateNode,e.nodeType===8?iu(e.parentNode,a):e.nodeType===1&&iu(e,a),tn(e)):iu(qe,a.stateNode));break;case 4:r=qe,o=zt,qe=a.stateNode.containerInfo,zt=!0,Ca(e,t,a),qe=r,zt=o;break;case 0:case 11:case 14:case 15:if(!je&&(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(!je&&(Vr(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=a.memoizedProps,r.state=a.memoizedState,r.componentWillUnmount()}catch(s){Re(a,t,s)}Ca(e,t,a);break;case 21:Ca(e,t,a);break;case 22:a.mode&1?(je=(r=je)||a.memoizedState!==null,Ca(e,t,a),je=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 Cx),t.forEach(function(r){var o=Ex.bind(null,e,r);a.has(r)||(a.add(r),r.then(o,o))})}}function Bt(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:qe=s.stateNode,zt=!1;break e;case 3:qe=s.stateNode.containerInfo,zt=!0;break e;case 4:qe=s.stateNode.containerInfo,zt=!0;break e}s=s.return}if(qe===null)throw Error(T(160));Vp(n,l,o),qe=null,zt=!1;var u=o.alternate;u!==null&&(u.return=null),o.return=null}catch(d){Re(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(Bt(t,e),Gt(e),r&4){try{Go(3,e,e.return),us(3,e)}catch(C){Re(e,e.return,C)}try{Go(5,e,e.return)}catch(C){Re(e,e.return,C)}}break;case 1:Bt(t,e),Gt(e),r&512&&a!==null&&Vr(a,a.return);break;case 5:if(Bt(t,e),Gt(e),r&512&&a!==null&&Vr(a,a.return),e.flags&32){var o=e.stateNode;try{Yo(o,"")}catch(C){Re(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 m=u[l],g=u[l+1];m==="style"?yc(o,g):m==="dangerouslySetInnerHTML"?xc(o,g):m==="children"?Yo(o,g):pi(o,m,g,d)}switch(s){case"input":ku(o,n);break;case"textarea":gc(o,n);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!n.multiple;var v=n.value;v!=null?Gr(o,!!n.multiple,v,!1):p!==!!n.multiple&&(n.defaultValue!=null?Gr(o,!!n.multiple,n.defaultValue,!0):Gr(o,!!n.multiple,n.multiple?[]:"",!1))}o[ln]=n}catch(C){Re(e,e.return,C)}}break;case 6:if(Bt(t,e),Gt(e),r&4){if(e.stateNode===null)throw Error(T(162));o=e.stateNode,n=e.memoizedProps;try{o.nodeValue=n}catch(C){Re(e,e.return,C)}}break;case 3:if(Bt(t,e),Gt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{tn(t.containerInfo)}catch(C){Re(e,e.return,C)}break;case 4:Bt(t,e),Gt(e);break;case 13:Bt(t,e),Gt(e),o=e.child,o.flags&8192&&(n=o.memoizedState!==null,o.stateNode.isHidden=n,!n||o.alternate!==null&&o.alternate.memoizedState!==null||(Ki=Ae())),r&4&&ec(e);break;case 22:if(m=a!==null&&a.memoizedState!==null,e.mode&1?(je=(d=je)||m,Bt(t,e),je=d):Bt(t,e),Gt(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!m&&(e.mode&1)!==0)for(z=e,m=e.child;m!==null;){for(g=z=m;z!==null;){switch(p=z,v=p.child,p.tag){case 0:case 11:case 14:case 15:Go(4,p,p.return);break;case 1:Vr(p,p.return);var y=p.stateNode;if(typeof y.componentWillUnmount=="function"){r=p,a=p.return;try{t=r,y.props=t.memoizedProps,y.state=t.memoizedState,y.componentWillUnmount()}catch(C){Re(r,a,C)}}break;case 5:Vr(p,p.return);break;case 22:if(p.memoizedState!==null){ac(g);continue}}v!==null?(v.return=p,z=v):ac(g)}m=m.sibling}e:for(m=null,g=e;;){if(g.tag===5){if(m===null){m=g;try{o=g.stateNode,d?(n=o.style,typeof n.setProperty=="function"?n.setProperty("display","none","important"):n.display="none"):(s=g.stateNode,u=g.memoizedProps.style,l=u!=null&&u.hasOwnProperty("display")?u.display:null,s.style.display=vc("display",l))}catch(C){Re(e,e.return,C)}}}else if(g.tag===6){if(m===null)try{g.stateNode.nodeValue=d?"":g.memoizedProps}catch(C){Re(e,e.return,C)}}else if((g.tag!==22&&g.tag!==23||g.memoizedState===null||g===e)&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===e)break e;for(;g.sibling===null;){if(g.return===null||g.return===e)break e;m===g&&(m=null),g=g.return}m===g&&(m=null),g.sibling.return=g.return,g=g.sibling}}break;case 19:Bt(t,e),Gt(e),r&4&&ec(e);break;case 21:break;default:Bt(t,e),Gt(e)}}function Gt(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(T(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(T(161))}}catch(u){Re(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function kx(e,t,a){z=e,Gp(e,t,a)}function Gp(e,t,a){for(var r=(e.mode&1)!==0;z!==null;){var o=z,n=o.child;if(o.tag===22&&r){var l=o.memoizedState!==null||vl;if(!l){var s=o.alternate,u=s!==null&&s.memoizedState!==null||je;s=vl;var d=je;if(vl=l,(je=u)&&!d)for(z=o;z!==null;)l=z,u=l.child,l.tag===22&&l.memoizedState!==null?rc(o):u!==null?(u.return=l,z=u):rc(o);for(;n!==null;)z=n,Gp(n,t,a),n=n.sibling;z=o,vl=s,je=d}tc(e,t,a)}else(o.subtreeFlags&8772)!==0&&n!==null?(n.return=o,z=n):tc(e,t,a)}}function tc(e){for(;z!==null;){var t=z;if((t.flags&8772)!==0){var a=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:je||us(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!je)if(a===null)r.componentDidMount();else{var o=t.elementType===t.type?a.memoizedProps:Ot(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 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 m=d.memoizedState;if(m!==null){var g=m.dehydrated;g!==null&&tn(g)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(T(163))}je||t.flags&512&&oi(t)}catch(p){Re(t,t.return,p)}}if(t===e){z=null;break}if(a=t.sibling,a!==null){a.return=t.return,z=a;break}z=t.return}}function ac(e){for(;z!==null;){var t=z;if(t===e){z=null;break}var a=t.sibling;if(a!==null){a.return=t.return,z=a;break}z=t.return}}function rc(e){for(;z!==null;){var t=z;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{us(4,t)}catch(u){Re(t,a,u)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var o=t.return;try{r.componentDidMount()}catch(u){Re(t,o,u)}}var n=t.return;try{oi(t)}catch(u){Re(t,n,u)}break;case 5:var l=t.return;try{oi(t)}catch(u){Re(t,l,u)}}}catch(u){Re(t,t.return,u)}if(t===e){z=null;break}var s=t.sibling;if(s!==null){s.return=t.return,z=s;break}z=t.return}}var bx=Math.ceil,Xl=xa.ReactCurrentDispatcher,$i=xa.ReactCurrentOwner,wt=xa.ReactCurrentBatchConfig,de=0,Ne=null,De=null,We=0,dt=0,Kr=_a(0),Be=0,pn=null,ir=0,is=0,Vi=0,jo=null,ot=null,Ki=0,no=1/0,ua=null,Ql=!1,si=null,Ba=null,yl=!1,Ra=null,Yl=0,Xo=0,ui=null,Pl=-1,Tl=0;function Je(){return(de&6)!==0?Ae():Pl!==-1?Pl:Pl=Ae()}function Oa(e){return(e.mode&1)===0?1:(de&2)!==0&&We!==0?We&-We:ix.transition!==null?(Tl===0&&(Tl=Ac()),Tl):(e=xe,e!==0||(e=window.event,e=e===void 0?16:Nc(e.type)),e)}function Ht(e,t,a,r){if(50<Xo)throw Xo=0,ui=null,Error(T(185));mn(e,a,r),((de&2)===0||e!==Ne)&&(e===Ne&&((de&2)===0&&(is|=a),Be===4&&Pa(e,We)),ut(e,r),a===1&&de===0&&(t.mode&1)===0&&(no=Ae()+500,ns&&qa()))}function ut(e,t){var a=e.callbackNode;fh(e,t);var r=Fl(e,e===Ne?We: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?ux(oc.bind(null,e)):rp(oc.bind(null,e)),ox(function(){(de&6)===0&&qa()}),a=null;else{switch(Dc(r)){case 1:a=vi;break;case 4:a=Rc;break;case 16:a=El;break;case 536870912:a=Mc;break;default:a=El}a=tm(a,jp.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function jp(e,t){if(Pl=-1,Tl=0,(de&6)!==0)throw Error(T(327));var a=e.callbackNode;if(Jr()&&e.callbackNode!==a)return null;var r=Fl(e,e===Ne?We:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=Jl(e,r);else{t=r;var o=de;de|=2;var n=Qp();(Ne!==e||We!==t)&&(ua=null,no=Ae()+500,or(e,t));do try{Rx();break}catch(s){Xp(e,s)}while(!0);Ai(),Xl.current=n,de=o,De!==null?t=0:(Ne=null,We=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,or(e,0),Pa(e,r),ut(e,Ae()),a;if(t===6)Pa(e,r);else{if(o=e.current.alternate,(r&30)===0&&!Px(o)&&(t=Jl(e,r),t===2&&(n=Bu(e),n!==0&&(r=n,t=ii(e,n))),t===1))throw a=pn,or(e,0),Pa(e,r),ut(e,Ae()),a;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(T(345));case 2:er(e,ot,ua);break;case 3:if(Pa(e,r),(r&130023424)===r&&(t=Ki+500-Ae(),10<t)){if(Fl(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){Je(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Wu(er.bind(null,e,ot,ua),t);break}er(e,ot,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=Ae()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*bx(r/1960))-r,10<r){e.timeoutHandle=Wu(er.bind(null,e,ot,ua),r);break}er(e,ot,ua);break;case 5:er(e,ot,ua);break;default:throw Error(T(329))}}}return ut(e,Ae()),e.callbackNode===a?jp.bind(null,e):null}function ii(e,t){var a=jo;return e.current.memoizedState.isDehydrated&&(or(e,t).flags|=256),e=Jl(e,t),e!==2&&(t=ot,ot=a,t!==null&&di(t)),e}function di(e){ot===null?ot=e:ot.push.apply(ot,e)}function Px(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(!_t(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&=~is,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((de&6)!==0)throw Error(T(327));Jr();var t=Fl(e,0);if((t&1)===0)return ut(e,Ae()),null;var a=Jl(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,or(e,0),Pa(e,t),ut(e,Ae()),a;if(a===6)throw Error(T(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,er(e,ot,ua),ut(e,Ae()),null}function Gi(e,t){var a=de;de|=1;try{return e(t)}finally{de=a,de===0&&(no=Ae()+500,ns&&qa())}}function dr(e){Ra!==null&&Ra.tag===0&&(de&6)===0&&Jr();var t=de;de|=1;var a=wt.transition,r=xe;try{if(wt.transition=null,xe=1,e)return e()}finally{xe=r,wt.transition=a,de=t,(de&6)===0&&qa()}}function ji(){dt=Kr.current,Ce(Kr)}function or(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,rx(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&&Ul();break;case 3:ro(),Ce(lt),Ce(Xe),zi();break;case 5:Oi(r);break;case 4:ro();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(Ne=e,De=e=za(e.current,null),We=dt=t,Be=0,pn=null,Vi=is=ir=0,ot=jo=null,ar!==null){for(t=0;t<ar.length;t++)if(a=ar[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}ar=null}return e}function Xp(e,t){do{var a=De;try{if(Ai(),wl.current=jl,Gl){for(var r=be.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}Gl=!1}if(ur=0,ze=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=We,s.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){var d=u,m=s,g=m.tag;if((m.mode&1)===0&&(g===0||g===11||g===15)){var p=m.alternate;p?(m.updateQueue=p.updateQueue,m.memoizedState=p.memoizedState,m.lanes=p.lanes):(m.updateQueue=null,m.memoizedState=null)}var v=Vf(l);if(v!==null){v.flags&=-257,Kf(v,l,s,n,t),v.mode&1&&$f(n,d,t),t=v,u=d;var y=t.updateQueue;if(y===null){var C=new Set;C.add(u),t.updateQueue=C}else y.add(u);break e}else{if((t&1)===0){$f(n,d,t),Xi();break e}u=Error(T(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(oo(u,s));break e}}n=u=oo(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 c=Dp(n,u,t);Nf(n,c);break e;case 1:s=u;var i=n.type,f=n.stateNode;if((n.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Ba===null||!Ba.has(f)))){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(w){t=w,De===a&&a!==null&&(De=a=a.return);continue}break}while(!0)}function Qp(){var e=Xl.current;return Xl.current=jl,e===null?jl:e}function Xi(){(Be===0||Be===3||Be===2)&&(Be=4),Ne===null||(ir&268435455)===0&&(is&268435455)===0||Pa(Ne,We)}function Jl(e,t){var a=de;de|=2;var r=Qp();(Ne!==e||We!==t)&&(ua=null,or(e,t));do try{Tx();break}catch(o){Xp(e,o)}while(!0);if(Ai(),de=a,Xl.current=r,De!==null)throw Error(T(261));return Ne=null,We=0,Be}function Tx(){for(;De!==null;)Yp(De)}function Rx(){for(;De!==null&&!ah();)Yp(De)}function Yp(e){var t=em(e.alternate,e,dt);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=Sx(a,t,dt),a!==null){De=a;return}}else{if(a=Ix(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 er(e,t,a){var r=xe,o=wt.transition;try{wt.transition=null,xe=1,Mx(e,t,a,r)}finally{wt.transition=o,xe=r}return null}function Mx(e,t,a,r){do Jr();while(Ra!==null);if((de&6)!==0)throw Error(T(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(T(177));e.callbackNode=null,e.callbackPriority=0;var n=a.lanes|a.childLanes;if(ch(e,n),e===Ne&&(De=Ne=null,We=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||yl||(yl=!0,tm(El,function(){return Jr(),null})),n=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||n){n=wt.transition,wt.transition=null;var l=xe;xe=1;var s=de;de|=4,$i.current=null,wx(e,a),Kp(a,e),Jh(_u),Bl=!!Hu,_u=Hu=null,e.current=a,kx(a,e,o),rh(),de=s,xe=l,wt.transition=n}else e.current=a;if(yl&&(yl=!1,Ra=e,Yl=o),n=e.pendingLanes,n===0&&(Ba=null),lh(a.stateNode,r),ut(e,Ae()),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(Ql)throw Ql=!1,e=si,si=null,e;return(Yl&1)!==0&&e.tag!==0&&Jr(),n=e.pendingLanes,(n&1)!==0?e===ui?Xo++:(Xo=0,ui=e):Xo=0,qa(),null}function Jr(){if(Ra!==null){var e=Dc(Yl),t=wt.transition,a=xe;try{if(wt.transition=null,xe=16>e?16:e,Ra===null)var r=!1;else{if(e=Ra,Ra=null,Yl=0,(de&6)!==0)throw Error(T(331));var o=de;for(de|=4,z=e.current;z!==null;){var n=z,l=n.child;if((z.flags&16)!==0){var s=n.deletions;if(s!==null){for(var u=0;u<s.length;u++){var d=s[u];for(z=d;z!==null;){var m=z;switch(m.tag){case 0:case 11:case 15:Go(8,m,n)}var g=m.child;if(g!==null)g.return=m,z=g;else for(;z!==null;){m=z;var p=m.sibling,v=m.return;if(Wp(m),m===d){z=null;break}if(p!==null){p.return=v,z=p;break}z=v}}}var y=n.alternate;if(y!==null){var C=y.child;if(C!==null){y.child=null;do{var O=C.sibling;C.sibling=null,C=O}while(C!==null)}}z=n}}if((n.subtreeFlags&2064)!==0&&l!==null)l.return=n,z=l;else e:for(;z!==null;){if(n=z,(n.flags&2048)!==0)switch(n.tag){case 0:case 11:case 15:Go(9,n,n.return)}var c=n.sibling;if(c!==null){c.return=n.return,z=c;break e}z=n.return}}var i=e.current;for(z=i;z!==null;){l=z;var f=l.child;if((l.subtreeFlags&2064)!==0&&f!==null)f.return=l,z=f;else e:for(l=i;z!==null;){if(s=z,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:us(9,s)}}catch(w){Re(s,s.return,w)}if(s===l){z=null;break e}var L=s.sibling;if(L!==null){L.return=s.return,z=L;break e}z=s.return}}if(de=o,qa(),Qt&&typeof Qt.onPostCommitFiberRoot=="function")try{Qt.onPostCommitFiberRoot(es,e)}catch{}r=!0}return r}finally{xe=a,wt.transition=t}}return!1}function nc(e,t,a){t=oo(a,t),t=Dp(e,t,1),e=Fa(e,t,1),t=Je(),e!==null&&(mn(e,1,t),ut(e,t))}function Re(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=oo(a,e),e=Ep(t,e,1),t=Fa(t,e,1),e=Je(),t!==null&&(mn(t,1,e),ut(t,e));break}}t=t.return}}function Ax(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),t=Je(),e.pingedLanes|=e.suspendedLanes&a,Ne===e&&(We&a)===a&&(Be===4||Be===3&&(We&130023424)===We&&500>Ae()-Ki?or(e,0):Vi|=a),ut(e,t)}function Zp(e,t){t===0&&((e.mode&1)===0?t=1:(t=nl,nl<<=1,(nl&130023424)===0&&(nl=4194304)));var a=Je();e=ga(e,t),e!==null&&(mn(e,t,a),ut(e,a))}function Dx(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Zp(e,a)}function Ex(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(T(314))}r!==null&&r.delete(t),Zp(e,a)}var em;em=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||lt.current)nt=!0;else{if((e.lanes&a)===0&&(t.flags&128)===0)return nt=!1,Lx(e,t,a);nt=(e.flags&131072)!==0}else nt=!1,we&&(t.flags&1048576)!==0&&op(t,ql,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;bl(e,t),e=t.pendingProps;var o=eo(t,Xe.current);Yr(t,a),o=Ui(null,t,r,e,o,a);var n=Hi();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,st(r)?(n=!0,Hl(t)):n=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Fi(t),o.updater=ss,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(bl(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Bx(r),e=Ot(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,Ot(r.type,e),a);break e}throw Error(T(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),Ju(e,t,r,o,a);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),Xf(e,t,r,o,a);case 3:e:{if(zp(t),e===null)throw Error(T(387));r=t.pendingProps,n=t.memoizedState,o=n.element,dp(e,t),Vl(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=oo(Error(T(423)),t),t=Qf(e,t,r,a,o);break e}else if(r!==o){o=oo(Error(T(424)),t),t=Qf(e,t,r,a,o);break e}else for(ft=Ea(t.stateNode.containerInfo.firstChild),ct=t,we=!0,Nt=null,a=up(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(to(),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=ao(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:Ot(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(Wl,r._currentValue),r._currentValue=l,n!==null)if(_t(n.value,l)){if(n.children===o.children&&!lt.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 m=d.pending;m===null?u.next=u:(u.next=m.next,m.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(T(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,Yr(t,a),o=kt(o),r=r(o),t.flags|=1,Ye(e,t,r,a),t.child;case 14:return r=t.type,o=Ot(r,t.pendingProps),o=Ot(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:Ot(r,o),bl(e,t),t.tag=1,st(r)?(e=!0,Hl(t)):e=!1,Yr(t,a),Ap(t,r,o),Qu(t,r,o,a),Zu(null,t,r,!0,e,a);case 19:return Up(e,t,a);case 22:return Bp(e,t,a)}throw Error(T(156,t.tag))};function tm(e,t){return Tc(e,t)}function Fx(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 Ct(e,t,a,r){return new Fx(e,t,a,r)}function Qi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Bx(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=Ct(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 Rl(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 Or:return nr(a.children,o,n,t);case mi:l=8,o|=8;break;case Lu:return e=Ct(12,a,t,o|2),e.elementType=Lu,e.lanes=n,e;case Su:return e=Ct(13,a,t,o),e.elementType=Su,e.lanes=n,e;case Iu:return e=Ct(19,a,t,o),e.elementType=Iu,e.lanes=n,e;case fc:return ds(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(T(130,e==null?e:typeof e,""))}return t=Ct(l,a,t,o),t.elementType=e,t.type=r,t.lanes=n,t}function nr(e,t,a,r){return e=Ct(7,e,r,t),e.lanes=a,e}function ds(e,t,a,r){return e=Ct(22,e,r,t),e.elementType=fc,e.lanes=a,e.stateNode={isHidden:!1},e}function xu(e,t,a){return e=Ct(6,e,null,t),e.lanes=a,e}function vu(e,t,a){return t=Ct(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ox(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 Ox(e,t,a,s,u),t===1?(t=1,n===!0&&(t|=8)):t=0,n=Ct(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 zx(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Br,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}function am(e){if(!e)return Ua;e=e._reactInternals;e:{if(cr(e)!==e||e.tag!==1)throw Error(T(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(st(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(T(171))}if(e.tag===1){var a=e.type;if(st(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),ut(e,r),e}function fs(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&&(Ht(e,o,l,n),Cl(e,o,l)),l}function Zl(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 Nx(){return null}var om=typeof reportError=="function"?reportError:function(e){console.error(e)};function Zi(e){this._internalRoot=e}cs.prototype.render=Zi.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(T(409));fs(e,t,null,null)};cs.prototype.unmount=Zi.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;dr(function(){fs(null,e,null,null)}),t[ma]=null}};function cs(e){this._internalRoot=e}cs.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 ps(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=Zl(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),dr(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var d=Zl(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),dr(function(){fs(t,u,a,r)}),u}function ms(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=Zl(l);s.call(u)}}fs(t,l,e,o)}else l=Ux(a,t,e,o,r);return Zl(l)}Ec=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=Uo(t.pendingLanes);a!==0&&(yi(t,a|1),ut(t,Ae()),(de&6)===0&&(no=Ae()+500,qa()))}break;case 13:dr(function(){var r=ga(e,1);if(r!==null){var o=Je();Ht(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();Ht(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();Ht(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=os(r);if(!o)throw Error(T(90));pc(r),ku(r,o)}}}break;case"textarea":gc(e,a);break;case"select":t=a.value,t!=null&&Gr(e,!!a.multiple,t,!1)}};Ic=Gi;Cc=dr;var Hx={usingClientEntryPoint:!1,Events:[hn,Hr,os,Lc,Sc,Gi]},Bo={findFiberByHostInstance:tr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},_x={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||Nx,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{es=Oo.inject(_x),Qt=Oo}catch{}var Oo;gt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Hx;gt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!ed(t))throw Error(T(200));return zx(e,t,null,a)};gt.createRoot=function(e,t){if(!ed(e))throw Error(T(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)};gt.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(T(188)):(e=Object.keys(e).join(","),Error(T(268,e)));return e=bc(t),e=e===null?null:e.stateNode,e};gt.flushSync=function(e){return dr(e)};gt.hydrate=function(e,t,a){if(!ps(t))throw Error(T(200));return ms(null,e,t,!0,a)};gt.hydrateRoot=function(e,t,a){if(!ed(e))throw Error(T(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 cs(t)};gt.render=function(e,t,a){if(!ps(t))throw Error(T(200));return ms(null,e,t,!1,a)};gt.unmountComponentAtNode=function(e){if(!ps(e))throw Error(T(40));return e._reactRootContainer?(dr(function(){ms(null,null,e,!1,function(){e._reactRootContainer=null,e[ma]=null})}),!0):!1};gt.unstable_batchedUpdates=Gi;gt.unstable_renderSubtreeIntoContainer=function(e,t,a,r){if(!ps(a))throw Error(T(200));if(e==null||e._reactInternals===void 0)throw Error(T(38));return ms(e,t,a,!1,r)};gt.version="18.3.1-next-f1338f8080-20240426"});var uo=sa((ry,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=uo();td.createRoot=um.createRoot,td.hydrateRoot=um.hydrateRoot;var oy});var gm=sa(Ss=>{"use strict";var Vx=Se(),Kx=Symbol.for("react.element"),Gx=Symbol.for("react.fragment"),jx=Object.prototype.hasOwnProperty,Xx=Vx.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Qx={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)jx.call(t,r)&&!Qx.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:Kx,type:e,key:n,ref:l,props:o,_owner:Xx.current}}Ss.Fragment=Gx;Ss.jsx=mm;Ss.jsxs=mm});var W=sa((AL,hm)=>{"use strict";hm.exports=gm()});var og=M(im(),1);var te=M(Se(),1),eg=M(uo(),1);function dm(e){return e.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(a=>a.trim())}function qx(e){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(e)}function Wx(e){let t=e.split(`\n`),a=[],r=0;for(;r<t.length;){let o=t[r]??"",n=t[r+1]??"";if(o.includes("|")&&qx(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(m=>`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">${m}</th>`).join("")}</tr>`,d=s.map(m=>`<tr>${m.map(g=>`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">${g}</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 gs(e){if(!e)return\'<span style="color:#475569;font-style:italic;">No description yet</span>\';let t=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");return Wx(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 $x="proto-comments-seen";function ad(e,t){try{let a=localStorage.getItem($x),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 it(e){try{return new Date(e).toLocaleString()}catch{return e}}var od=16,io=1000000n,vs=BigInt("9".repeat(od));function Pt(e){return(e<0n?0n:e>vs?vs:e).toString().padStart(od,"0")}function hs(e){let t=e.split(".")[0];return/^\\d+$/.test(t)?BigInt(t):vs}function xs(e){let t=e.indexOf(".");return t>=0?e.slice(t+1):null}function pr(e,t){if(t===null){if(e===null)return Pt(io);let l=hs(e);if(l<vs-io)return Pt(l+io);let s=xs(e)??"0".repeat(od);return Pt(l)+"."+pr(s,null)}if(e===null){let l=hs(t),s=xs(t);return l>io?Pt(l-io):s!==null?Pt(l)+"."+pr(null,s):l>0n?Pt(l/2n):Pt(0n)+".0"}let a=hs(e),r=hs(t),o=xs(e),n=xs(t);return r>a+1n?Pt((a+r)/2n):r===a+1n?Pt(a)+"."+pr(o,null):o===null&&n===null?Pt(a)+"."+Pt(io):Pt(a)+"."+pr(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 g of e)g.sortKey&&g.sortKey!=="n"&&(o.set(g.id,g.sortKey),n=g.sortKey);let l=[],s=e.filter(g=>!g.sortKey||g.sortKey==="n");if(s.length>0){let g=n;for(let p of s){let v=pr(g,null);o.set(p.id,v),g=v,p.id!==t&&l.push({id:p.id,sortKey:v})}}let u=a?o.get(a)??null:null,d=r?o.get(r)??null:null;return{newSortKey:pr(u,d),normalizationPatches:l}}var Jt=M(Se(),1);var Ls=M(Se());var fm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ys=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var yn=M(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:ys("lucide",o),...s},[...l.map(([d,m])=>(0,yn.createElement)(d,m)),...Array.isArray(n)?n:[n]]));var ee=(e,t)=>{let a=(0,Ls.forwardRef)(({className:r,...o},n)=>(0,Ls.createElement)(pm,{ref:n,iconNode:t,className:ys(`lucide-${fm(e)}`,r),...o}));return a.displayName=`${e}`,a};var mr=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 gr=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 fo=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 hr=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 xr=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 Pn=ee("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var vr=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 co=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 Va=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 po=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 Ue=ee("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var mo=M(Se(),1),Pm=M(uo(),1);var ym=M(W(),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=M(W(),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 yr=[{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."}],FL=yr.map(e=>e.value),wm=Object.fromEntries(yr.map(e=>[e.value,e.icon])),BL=Object.fromEntries(yr.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 Yx(e){let t=0;for(let a=0;a<e.length;a++)t=t*31+e.charCodeAt(a)>>>0;return t%km.length}function qt(e){return km[Yx(e)]}var An=M(W(),1);function Dn({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}=qt(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 se=M(W(),1);function Jx(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 Zx(e){return Tm(e,.1)??"transparent"}var ev={padding:"7px 8px",gap:4,opacity:1,userSelect:"none"},tv={display:"flex",alignItems:"center",gap:5},av={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},rv={fontSize:11.5,fontWeight:600,color:"var(--p-text-m)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},ov={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},nv={display:"flex",alignItems:"center",gap:5,minWidth:0},lv={flexShrink:0},sv={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},uv={display:"flex",alignItems:"flex-start",gap:8},iv={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},dv={position:"relative",flexShrink:0},fv={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},cv={display:"flex",alignItems:"center",gap:2,marginTop:1},pv={flex:1},ld=mo.default.memo(function({task:t,col:a,liveActivity:r,onOpen:o,onDragStart:n}){var h;let l=a.id==="in-progress",s=a.id==="done",[u,d]=mo.default.useState(!1),[m,g]=mo.default.useState(null),p=mo.default.useRef(null),v=t.commentCount??0,y=t.fileCount??0,C=v>0&&ad(t.id,v),O=Rm(a.color,t.priority),c=Mn(t.type),i=Zx(c),f=(h=t.files)==null?void 0:h.find(P=>Jx(P.name)),L=f?`/api/tasks/${t.id}/files/${encodeURIComponent(f.name)}`:null;function w(P){n(P,t.id),P.currentTarget.classList.add("dragging")}function b(P){P.currentTarget.classList.remove("dragging")}function S(){o(t)}return s?(0,se.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":t.id,style:{...ev},onDragStart:w,onDragEnd:b,onClick:S,children:(0,se.jsxs)("div",{style:tv,children:[(0,se.jsx)(Wa,{style:av}),(0,se.jsx)("span",{style:rv,children:t.title}),t.verified&&(0,se.jsx)("span",{style:ov,children:"\\u2713 VERIFIED"})]})}):(0,se.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)":i,border:r?"1px solid rgba(59,130,246,0.5)":O?`1px solid ${O}`:void 0,...r?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{}},onDragStart:w,onDragEnd:b,onClick:S,children:[(0,se.jsxs)("div",{style:nv,children:[l&&(0,se.jsx)("span",{className:"spinner",style:lv}),(0,se.jsx)("span",{style:sv,children:t.title})]}),(t.description||L)&&(0,se.jsxs)("div",{style:uv,children:[t.description&&(0,se.jsx)("div",{style:iv,children:t.description}),L&&(0,se.jsxs)("div",{style:dv,onMouseEnter:()=>{if(p.current){let P=p.current.getBoundingClientRect();g({top:P.top,right:P.right})}d(!0)},onMouseLeave:()=>{d(!1),g(null)},children:[(0,se.jsx)("img",{ref:p,src:L,alt:"Task screenshot","data-role":"task-thumb",style:fv}),u&&m&&Pm.default.createPortal((0,se.jsx)("img",{src:L,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,se.jsxs)("div",{className:"flex items-center",style:cv,children:[(0,se.jsx)(vm,{type:t.type}),t.priority&&(0,se.jsx)(Sm,{priority:t.priority}),l&&t.assigneeName&&(0,se.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,se.jsx)(Dn,{tags:t.tags,size:"xs"}),(0,se.jsx)("div",{style:pv}),r&&(0,se.jsx)(sd,{activity:r}),(0,se.jsx)(bm,{icon:(0,se.jsx)(hr,{style:{width:9,height:9}}),label:v>0?String(v):"",color:C?"var(--p-purple)":v>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:C?"var(--p-purple-300)":"var(--p-text)",title:v>0?`${v} comment(s)`:"Add comment",badge:C,badgeColor:"var(--p-purple)",onClick:P=>{P.stopPropagation(),o(t,"comments")}}),(0,se.jsx)(bm,{icon:(0,se.jsx)(xr,{style:{width:9,height:9}}),label:y>0?String(y):"",color:y>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:y>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:y>0?`${y} file(s) attached`:"Files",onClick:P=>{P.stopPropagation(),o(t,"files")}})]})]})});function bm({icon:e,label:t,color:a,hoverColor:r,title:o,badge:n,badgeColor:l,onClick:s}){let[u,d]=mo.default.useState(!1);return(0,se.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,se.jsx)("span",{children:t}),n&&(0,se.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,se.jsx)(kn,{style:{width:8,height:8}}):(0,se.jsx)(Sn,{style:{width:8,height:8}}),r=t?`Locked by ${e.user}`:`${e.user} viewing`;return(0,se.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,se.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:e.user})]})}var ge=M(W(),1),Ka=[{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 mv=3;function gv(){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,onOpenPanel:n,onDrop:l,onReorder:s}){let u=Jt.default.useRef(null),d=Jt.default.useRef(null),[,m]=Jt.default.useState(null),[g,p]=Jt.default.useState(null),[v,y]=Jt.default.useState(null),C=Jt.default.useRef(null),O=Jt.default.useRef(null),c=a?e.filter(h=>(h.title??"").toLowerCase().includes(a.toLowerCase())||(h.description??"").toLowerCase().includes(a.toLowerCase())):e,i=Ka.filter(h=>t.includes(h.id));Jt.default.useEffect(()=>{let h=u.current,P=d.current;if(!h||!P)return;function B(){if(!h||!P)return;let re=h.scrollWidth>h.clientWidth?h.clientWidth/h.scrollWidth:1,J=Math.max(40,h.clientWidth*re);P.style.width=`${J}px`;let Z=h.scrollWidth-h.clientWidth,ie=h.clientWidth-J;P.style.left=`${Z>0?h.scrollLeft/Z*ie:0}px`,P.style.opacity=re<1?"1":"0"}h.addEventListener("scroll",B);let R=new ResizeObserver(B);R.observe(h),B();let H=!1,$=0,Y=0;function ue(re){H=!0,$=re.clientX,Y=h.scrollLeft,P.classList.add("dragging"),document.addEventListener("mousemove",X),document.addEventListener("mouseup",N)}function X(re){if(!H||!h||!P)return;let J=h.scrollWidth>h.clientWidth?h.scrollWidth/h.clientWidth:1;h.scrollLeft=Y+(re.clientX-$)*J}function N(){H=!1,P==null||P.classList.remove("dragging"),document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",N)}return P.addEventListener("mousedown",ue),()=>{h.removeEventListener("scroll",B),R.disconnect(),P.removeEventListener("mousedown",ue)}},[i.length]);function f(h,P){C.current=P,m(P),h.dataTransfer.effectAllowed="move"}function L(h,P){h.preventDefault(),p(P)}function w(h,P){h.preventDefault(),h.stopPropagation();let B=h.currentTarget.getBoundingClientRect(),R=h.clientY<B.top+B.height/2?"before":"after",H={taskId:P,position:R};O.current=H,y($=>($==null?void 0:$.taskId)===P&&$.position===R?$:H)}function b(h,P,B){h.preventDefault(),p(null);let R=O.current;O.current=null,y(null);let H=C.current;if(C.current=null,m(null),!!H)if(s&&R){let $=B.findIndex(X=>X.id===R.taskId),Y=null,ue=null;R.position==="before"?(ue=R.taskId,Y=$>0?B[$-1].id:null):(Y=R.taskId,ue=$<B.length-1?B[$+1].id:null),s(H,P,Y,ue)}else l(H,P)}function S(){C.current=null,m(null),p(null),O.current=null,y(null)}return(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)("main",{id:"kanban-board",ref:u,className:"flex-1 flex overflow-x-auto overflow-y-hidden",style:{padding:"16px 20px",gap:16},onDragEnd:S,children:i.map(h=>{let P=r?[]:c.filter(R=>R.status===h.id).sort(vn),B=h.id==="done"?[...P].reverse():P;return(0,ge.jsx)(hv,{col:h,tasks:B,isLoading:r,liveActivities:o,isDragOver:g===h.id&&!v,onDragOver:R=>L(R,h.id),onDrop:R=>b(R,h.id,P),onDragLeave:R=>{let H=R.relatedTarget;H&&R.currentTarget.contains(H)||(p(null),O.current=null,y(null))},onStatusChange:(R,H)=>l(R,H),onAddTask:()=>n(null,"details",h.id),onOpenTask:n,onDragStart:f,onCardDragOver:w,cardDropTarget:v},h.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:d,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:h=>{h.currentTarget.style.background="var(--p-text-g)"},onMouseLeave:h=>{h.currentTarget.classList.contains("dragging")||(h.currentTarget.style.background="var(--p-border-t)")}})})]})}function hv({col:e,tasks:t,isLoading:a,liveActivities:r,isDragOver:o,onDragOver:n,onDrop:l,onDragLeave:s,onStatusChange:u,onAddTask:d,onOpenTask:m,onDragStart:g,onCardDragOver:p,cardDropTarget:v}){let[y,C]=Jt.default.useState(!1),O=e.id==="in-progress"?"sd-inprogress":`sd-${e.id}`,c=10,i=e.id==="done",f=i&&t.length>c?t.length-c:0,L=i?t.slice(0,c):t;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 ${O}`}),(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:y?e.color:"var(--p-text-g)",cursor:"pointer",transition:"color .15s",padding:0},onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),onClick:d,children:(0,ge.jsx)(bn,{style:{width:14,height:14}})})]}),(0,ge.jsx)("div",{className:"column-scroll","data-status":e.id,children:a?Array.from({length:mv}).map((w,b)=>(0,ge.jsx)(gv,{},b)):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:[L.map(w=>(0,ge.jsxs)("div",{style:{position:"relative"},onDragOver:b=>p(b,w.id),children:[(v==null?void 0:v.taskId)===w.id&&v.position==="before"&&(0,ge.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}}),(0,ge.jsx)(ld,{task:w,col:e,liveActivity:r==null?void 0:r.get(w.id),onOpen:m,onDragStart:g}),(v==null?void 0:v.taskId)===w.id&&v.position==="after"&&(0,ge.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}})]},w.id)),f>0&&(0,ge.jsxs)("div",{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:["+",f," older ",f===1?"task":"tasks"," not shown. Use search to find them."]})]})})]})}var Lr=M(Se(),1);var ne=M(W(),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)"}},xv=wm,Am={Critical:"var(--p-red)",High:"var(--p-amber-300)",Medium:"var(--p-text-m)",Low:"var(--p-text-f)"},id=["in-progress","review","todo","backlog","done"];function vv(){return(0,ne.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,ne.jsx)("div",{style:{width:14,height:14,borderRadius:3,background:"var(--p-border-s)"}}),(0,ne.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"60%"}}),(0,ne.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:44}}),(0,ne.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]=Lr.default.useState(null),[d,m]=Lr.default.useState(null),[g,p]=Lr.default.useState(null),[v,y]=Lr.default.useState({backlog:!1,todo:!1,"in-progress":!1,review:!1,done:!1}),C=t?e.filter(c=>(c.title??"").toLowerCase().includes(t.toLowerCase())||(c.description??"").toLowerCase().includes(t.toLowerCase())):e,O=Lr.default.useMemo(()=>{let c=new Map;for(let i of id)c.set(i,[]);for(let i of C)(c.get(i.status)??[]).push(i);return c},[C]);return(0,ne.jsxs)("div",{id:"kanban-list-view",style:{flex:1,overflowY:"auto",padding:"16px 24px",minHeight:0},children:[a?id.slice(0,3).map(c=>{let i=Mm[c];return(0,ne.jsxs)("div",{style:{marginBottom:24},children:[(0,ne.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,ne.jsx)("div",{style:{width:18,height:18,borderRadius:5,background:"var(--p-border-s)",animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,ne.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,ne.jsx)("div",{style:{height:14,borderRadius:4,background:"var(--p-border-s)",width:16,animation:"skeleton-pulse 1.5s ease-in-out infinite"}})]}),(0,ne.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:3}).map((f,L)=>(0,ne.jsx)(vv,{},L))})]},c)}):id.map(c=>{let i=O.get(c)??[];if(i.length===0)return null;let f=Mm[c];return(0,ne.jsxs)("div",{style:{marginBottom:24},children:[(0,ne.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,padding:"4px 6px",borderRadius:6,transition:"background .1s",background:d===c?f.bg:"transparent",outline:d===c?`1px dashed ${f.border}`:void 0},onDragOver:L=>{L.preventDefault(),m(c)},onDragLeave:()=>m(null),onDrop:L=>{L.preventDefault(),m(null),p(null),s&&l(s,c),u(null)},children:[(0,ne.jsx)("button",{type:"button",title:v[c]?"Expand":"Collapse",onClick:L=>{L.stopPropagation(),y(w=>({...w,[c]:!w[c]}))},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:v[c]?"+":"\\u2212"}),(0,ne.jsx)("span",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"2px 8px",borderRadius:6,background:f.bg,border:`1px solid ${f.border}`,color:f.text},children:c}),(0,ne.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:i.length}),(0,ne.jsx)("button",{type:"button",title:`Add task to ${c}`,onClick:L=>{L.stopPropagation(),n(c)},style:{marginLeft:"auto",width:22,height:22,borderRadius:7,border:`1px solid ${f.border}`,background:f.bg,color:f.text,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:600},children:"+"})]}),(0,ne.jsx)("div",{style:{display:v[c]?"none":"flex",flexDirection:"column",gap:2},children:i.map(L=>(0,ne.jsx)(yv,{task:L,liveActivity:r==null?void 0:r.get(L.id),onOpen:o,onDragStart:w=>u(w),dragOver:g===L.id,onDragOver:()=>p(L.id),onDragLeave:()=>p(w=>w===L.id?null:w),onDropToStatus:()=>{s&&l(s,L.status),u(null),p(null)}},L.id))})]},c)}),!a&&C.length===0&&(0,ne.jsx)("div",{style:{textAlign:"center",color:"var(--p-text-g)",fontSize:13,marginTop:60},children:"No tasks found"})]})}function yv({task:e,liveActivity:t,onOpen:a,onDragStart:r,dragOver:o,onDragOver:n,onDragLeave:l,onDropToStatus:s}){let[u,d]=Lr.default.useState(!1),m=xv[e.type??"Task"]??"\\u2611",g=e.commentCount??0,p=e.fileCount??0;return(0,ne.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:v=>{v.dataTransfer.effectAllowed="move",r(e.id),v.currentTarget.style.opacity="0.4"},onDragEnd:v=>{v.currentTarget.style.opacity="1"},onDragOver:v=>{v.preventDefault(),n()},onDragLeave:l,onDrop:v=>{v.preventDefault(),s()},children:[(0,ne.jsx)("span",{style:{fontSize:12,textAlign:"center",flexShrink:0},children:m}),(0,ne.jsxs)("div",{style:{minWidth:0},children:[(0,ne.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,ne.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,ne.jsx)(In,{className:"w-2.5 h-2.5 flex-shrink-0",style:{color:Am[e.priority]}}),e.component&&(0,ne.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,ne.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,ne.jsxs)("button",{title:g>0?`${g} comment(s)`:"Add comment",style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:g>0?"var(--p-text-m)":"var(--p-border-t)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:v=>{v.stopPropagation(),a(e,"comments")},children:[(0,ne.jsx)(hr,{className:"w-3 h-3"}),g>0&&(0,ne.jsx)("span",{children:g})]}),p>0&&(0,ne.jsxs)("button",{title:`${p} 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:v=>{v.stopPropagation(),a(e,"files")},children:[(0,ne.jsx)(xr,{className:"w-3 h-3"}),(0,ne.jsx)("span",{children:p})]}),t&&(0,ne.jsx)(sd,{activity:t})]})}var go=M(Se(),1);var Ga=M(W(),1);function Dm({size:e=32,style:t,className:a}){return(0,Ga.jsxs)("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,className:a,"aria-label":"Vibeflow",children:[(0,Ga.jsx)("rect",{width:"32",height:"32",rx:"7",fill:"#2563eb"}),(0,Ga.jsx)("rect",{x:"7",y:"13",width:"3.5",height:"10",rx:"1.5",fill:"white",opacity:"0.75"}),(0,Ga.jsx)("rect",{x:"12.25",y:"8.5",width:"3.5",height:"15",rx:"1.5",fill:"white"}),(0,Ga.jsx)("rect",{x:"17.5",y:"14.5",width:"3.5",height:"8",rx:"1.5",fill:"white",opacity:"0.75"}),(0,Ga.jsx)("rect",{x:"22.5",y:"11",width:"2.5",height:"11",rx:"1.25",fill:"white",opacity:"0.85"})]})}var Cs=M(W(),1);function Is({id:e,title:t,onClick:a,label:r,icon:o,variant:n="neutral"}){return(0,Cs.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,Cs.jsx)("span",{children:r})]})}var K=M(W(),1);function fd({projectName:e,projectIcon:t,missingProjectIconStyle:a="initial",wsConnected:r,port:o,searchQuery:n,premiumUsage:l,isLoading:s,filterTags:u,allTags:d,onToggleTag:m,backHref:g,backLabel:p,onSearchChange:v,onSettings:y,extraActions:C,taskSummary:O}){let[c,i]=go.default.useState(!1),[f,L]=go.default.useState(0),w=go.default.useRef(null),b=go.default.useRef(null),S=n.match(/(?:^|\\s)#(\\S*)$/),h=S?S[1]:null,P=u??[],B=(d??[]).filter(N=>!P.includes(N)),R=h!==null?B.filter(N=>N.toLowerCase().includes(h.toLowerCase())):[];go.default.useEffect(()=>{L(0)},[R.length]);function H(N){var J;let re=n.replace(/\\s*#\\S*$/,"");v(re),m==null||m(N),(J=w.current)==null||J.focus()}function $(N){if(N.key==="Backspace"&&n===""&&P.length>0){N.preventDefault(),m==null||m(P[P.length-1]);return}if(!(h===null||R.length===0)){if(N.key==="ArrowDown")N.preventDefault(),L(re=>Math.min(re+1,R.length-1));else if(N.key==="ArrowUp")N.preventDefault(),L(re=>Math.max(re-1,0));else if(N.key==="Enter")N.preventDefault(),R[f]&&H(R[f]);else if(N.key==="Escape"){let re=n.replace(/\\s*#\\S*$/,"");v(re)}}}let Y=(t??"").trim(),ue=e?e.charAt(0).toUpperCase()+e.slice(1):"Vibeflow Board",X=n||P.length>0;return(0,K.jsxs)("header",{className:"px-5 py-3 flex items-center gap-3 border-b border-slate-800/60 flex-shrink-0",children:[(0,K.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[g&&(0,K.jsxs)(K.Fragment,{children:[(0,K.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:p??"Back"}),(0,K.jsx)(Ln,{className:"w-3 h-3 text-slate-600 flex-shrink-0"})]}),(0,K.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,K.jsx)(Dm,{size:32}):(0,K.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:ue,children:ue.charAt(0).toUpperCase()}))}),(0,K.jsxs)("div",{children:[(0,K.jsxs)("div",{className:"flex items-center gap-2",children:[(0,K.jsx)("h1",{id:"header-project-name",className:"text-sm font-semibold text-white leading-tight",children:ue}),r&&(0,K.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,K.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-green-400",style:{animation:"pulse-live 2s ease-in-out infinite"}}),(0,K.jsxs)("span",{className:"text-[10px] font-medium text-green-400",children:["live \\xB7 :",o]})]})]}),(0,K.jsxs)("p",{className:"text-[10px] text-slate-500 font-mono mt-0.5",children:[O,s&&(0,K.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,K.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,K.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,K.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 N;return(N=w.current)==null?void 0:N.focus()},children:[(0,K.jsx)(Pn,{className:"w-3.5 h-3.5 text-slate-500 flex-shrink-0 mr-0.5"}),P.map(N=>{let{bg:re,text:J,border:Z}=qt(N);return(0,K.jsxs)("span",{style:{background:re,color:J,border:`1px solid ${Z}`,display:"inline-flex",alignItems:"center",gap:3,padding:"1px 7px",borderRadius:100,fontSize:11,fontWeight:500,whiteSpace:"nowrap"},children:[N,(0,K.jsx)("button",{onClick:ie=>{ie.stopPropagation(),m==null||m(N)},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,display:"flex"},children:(0,K.jsx)(Ue,{style:{width:9,height:9}})})]},N)}),(0,K.jsx)("input",{ref:w,id:"global-search",type:"text",placeholder:P.length===0?"Search\\u2026 or type #tag":"#tag or search\\u2026",value:n,onChange:N=>v(N.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}),X&&(0,K.jsx)("button",{id:"global-search-clear",onClick:()=>{v(""),P.forEach(N=>m==null?void 0:m(N))},className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 flex",title:"Clear search and tag filters",children:(0,K.jsx)(Ue,{className:"w-3.5 h-3.5"})})]}),h!==null&&R.length>0&&(0,K.jsxs)("div",{ref:b,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,K.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"}),R.map((N,re)=>{let{bg:J,text:Z,border:ie}=qt(N);return(0,K.jsxs)("button",{onMouseDown:Oe=>{Oe.preventDefault(),H(N)},onMouseEnter:()=>L(re),style:{width:"100%",textAlign:"left",display:"flex",alignItems:"center",gap:8,padding:"7px 12px",background:re===f?"var(--p-hover)":"none",border:"none",cursor:"pointer"},children:[(0,K.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:Z,flexShrink:0}}),(0,K.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:N}),(0,K.jsx)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",padding:"1px 7px",borderRadius:100,fontSize:10,background:J,color:Z,border:`1px solid ${ie}`},children:"tag"})]},N)}),(0,K.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,K.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[C,(0,K.jsx)(Is,{id:"header-shortcuts-hint",title:"Click to see keyboard shortcuts",onClick:()=>i(!0),label:"? shortcuts"}),(0,K.jsx)(Is,{id:"btn-settings",title:"Settings",onClick:y,icon:(0,K.jsx)(vr,{className:"w-3.5 h-3.5"})})]}),c&&(0,K.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:()=>i(!1),children:(0,K.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:N=>N.stopPropagation(),children:[(0,K.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[(0,K.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--p-text)"},children:"Keyboard Shortcuts"}),(0,K.jsx)("button",{onClick:()=>i(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--p-text-f)",padding:2},children:(0,K.jsx)(Ue,{style:{width:14,height:14}})})]}),(0,K.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(([N,re])=>(0,K.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,K.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:N}),(0,K.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:re})]},N))})]})})]})}var G=M(Se(),1);var ws=M(Se(),1);var Zt=M(W(),1);function ks({id:e,value:t,onChange:a,disabled:r}){let[o,n]=ws.default.useState(!1),l=ws.default.useRef(null),s=yr.find(u=>u.value===t)??yr[0];return ws.default.useEffect(()=>{let u=d=>{var m;(m=l.current)!=null&&m.contains(d.target)||n(!1)};return document.addEventListener("click",u),()=>document.removeEventListener("click",u)},[]),(0,Zt.jsxs)("div",{id:e,ref:l,style:{position:"relative",display:"inline-block"},children:[(0,Zt.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,Zt.jsx)("span",{style:{fontSize:13},children:s==null?void 0:s.icon}),(0,Zt.jsx)("span",{children:s==null?void 0:s.label})]}),o&&(0,Zt.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:yr.map(u=>(0,Zt.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,Zt.jsx)("span",{style:{fontSize:14,lineHeight:1},children:u.icon}),(0,Zt.jsx)("span",{children:u.label})]},u.value))})]})}var et=M(Se(),1);var En=M(Se(),1);var ja=M(W(),1);function ea({markdown:e,className:t,style:a}){let r=En.default.useRef(null),o=En.default.useRef({}),[n,l]=En.default.useState(null);return En.default.useEffect(()=>{let s=r.current;if(!s)return;function u(){l(null)}async function d(g){let p=g.target,v=p==null?void 0:p.closest("a[data-task-ref]");if(!v){u();return}g.preventDefault();let y=v.getAttribute("data-task-ref");if(!y)return;let C=v.getBoundingClientRect(),O=o.current[y];if(O){l({id:y,title:O.title,status:O.status,x:C.left,y:C.bottom+6});return}try{let i=await(await fetch(`/api/tasks/${y}`)).json(),f={title:i.title??`Task ${y}`,status:i.status??"unknown"};o.current[y]=f,l({id:y,title:f.title,status:f.status,x:C.left,y:C.bottom+6})}catch{l({id:y,title:`Task ${y}`,status:"unknown",x:C.left,y:C.bottom+6})}}function m(g){var y,C;let p=(C=(y=g.target)==null?void 0:y.closest)==null?void 0:C.call(y,"a[data-task-ref]");if(!p)return;let v=p.getAttribute("data-task-ref");v&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId:v}}))}return s.addEventListener("mouseover",d),s.addEventListener("mouseleave",u),s.addEventListener("click",m),()=>{s.removeEventListener("mouseover",d),s.removeEventListener("mouseleave",u),s.removeEventListener("click",m)}},[]),(0,ja.jsxs)("div",{style:{position:"relative"},children:[(0,ja.jsx)("div",{ref:r,className:t,style:a,dangerouslySetInnerHTML:{__html:gs(e)}}),n&&(0,ja.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,ja.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",n.id]}),(0,ja.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:n.title}),(0,ja.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",n.status]})]})]})}var Fn=M(Se(),1),Em=M(W(),1),ho=Fn.default.forwardRef(function({value:t,onChange:a,baseRows:r=4,maxRows:o,style:n,...l},s){let u=Fn.default.useRef(null),d=o??r*2,m=Fn.default.useCallback(()=>{let g=u.current;if(!g)return;g.style.height="auto";let p=window.getComputedStyle(g),v=Number.parseFloat(p.lineHeight||"0")||18,y=Number.parseFloat(p.paddingTop||"0")+Number.parseFloat(p.paddingBottom||"0"),C=Number.parseFloat(p.borderTopWidth||"0")+Number.parseFloat(p.borderBottomWidth||"0"),O=r*v+y+C,c=d*v+y+C,i=Math.max(O,Math.min(g.scrollHeight,c));g.style.height=`${i}px`,g.style.overflowY=g.scrollHeight>c?"auto":"hidden"},[r,d]);return Fn.default.useLayoutEffect(()=>{m()},[t,m]),(0,Em.jsx)("textarea",{...l,ref:g=>{u.current=g,typeof s=="function"?s(g):s&&(s.current=g)},rows:r,value:t,onChange:g=>a(g.target.value),style:{...n,resize:"none"}})});var Om=M(Se(),1);var Fm=M(Se(),1),Bm=M(uo(),1),ta=M(W(),1);function va({open:e,onClose:t,icon:a,title:r,headerActions:o,width:n,maxHeight:l,id:s,children:u,footer:d,boxStyle:m,onKeyDown:g}){if(Fm.default.useEffect(()=>{if(!e)return;function y(C){C.key==="Escape"&&t(),g==null||g(C)}return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[e,t,g]),!e)return null;let p=!!(a||r||o),v=(0,ta.jsx)("div",{id:s,className:"modal-backdrop",onClick:y=>{y.target===y.currentTarget&&t()},onMouseDown:y=>y.stopPropagation(),children:(0,ta.jsxs)("div",{className:"modal-box",style:{width:n??"min(420px, 95vw)",maxHeight:l,...m},children:[p&&(0,ta.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--p-border)",flexShrink:0},children:[a&&(0,ta.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a}),r&&(0,ta.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1,minWidth:0},children:r}),o&&(0,ta.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0,marginLeft:"auto"},children:o})]}),(0,ta.jsx)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:u}),d&&(0,ta.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)(v,document.body)}var Tt=M(W(),1);function aa({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(m=>{m.key==="Enter"&&s()},[s]);return(0,Tt.jsx)(va,{open:e,onClose:u,id:"confirm-modal",width:"min(380px, 95vw)",icon:(0,Tt.jsx)(Va,{style:{width:20,height:20,color:"#f87171"}}),title:a,onKeyDown:d,footer:(0,Tt.jsxs)(Tt.Fragment,{children:[(0,Tt.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,Tt.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,Tt.jsxs)("div",{style:{padding:"16px 18px"},children:[typeof t=="string"?(0,Tt.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:t}):t,l&&(0,Tt.jsx)("p",{style:{margin:"8px 0 0",fontSize:12,color:"var(--p-red)"},children:l})]})})}var Ee=M(W(),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 Lv(e){return/\\.(png|jpe?g|gif|webp|svg|html?)$/i.test(e.name)}function Sv(e){return/\\.html?$/i.test(e.name)}function bs({file:e,url:t,variant:a,onPreview:r,onDelete:o}){let n=Lv(e),l=Sv(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?it(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 F=M(W(),1);function Nm({source:e}){return e!=="cli"?null:(0,F.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 Iv(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 Cv(e,t){let a=[];for(let r of e){let o=Iv(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:m,onEdit:g,onDelete:p,onDeleteFile:v,onFilePreview:y}){let C=et.default.useRef(null),O=et.default.useRef(null),[c,i]=et.default.useState(null),[f,L]=et.default.useState(""),[w,b]=et.default.useState(null),[S,h]=et.default.useState(null),[P,B]=et.default.useState(()=>{try{return localStorage.getItem("vibeflow-show-updates")!=="false"}catch{return!0}}),R=et.default.useRef(r),H=et.default.useMemo(()=>{let X=[];d&&X.push({kind:"lifecycle",sortKey:d,label:"Task created",icon:"\\u2726",author:l??n}),m&&m!==d&&X.push({kind:"lifecycle",sortKey:m,label:"Task edited",icon:"\\u270E"});let N=e.map(Z=>({kind:"comment",sortKey:Z.createdAt,comment:Z})),re=t.map(Z=>{let ie=Z.url.startsWith("http")?Z.url:`${s}${Z.url}`;return{kind:"file",sortKey:Z.createdAt??"9999",file:Z,url:ie}}),J=a.map(Z=>({kind:"change",sortKey:Z.timestamp,field:Z.field,from:Z.from,to:Z.to,actor:Z.actor,source:Z.source}));return[...X,...N,...re,...J].sort((Z,ie)=>ie.sortKey.localeCompare(Z.sortKey))},[e,t,a,s,d,m]),$=et.default.useMemo(()=>H.filter(X=>X.kind==="lifecycle"||X.kind==="change").length,[H]),Y=et.default.useMemo(()=>P?H:H.filter(X=>X.kind==="comment"||X.kind==="file"),[H,P]),ue=et.default.useMemo(()=>Cv(Y,n),[Y,n]);return et.default.useEffect(()=>{let X=R.current&&!r;R.current=r,C.current&&X&&requestAnimationFrame(()=>{C.current&&(C.current.scrollTop=0)})},[r]),et.default.useEffect(()=>{c&&O.current&&(O.current.focus(),O.current.scrollIntoView({block:"nearest"}))},[c]),r?(0,F.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):o?(0,F.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):H.length===0?(0,F.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No activity yet."}):(0,F.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[$>0&&(0,F.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"4px 0 4px",flexShrink:0,borderBottom:"1px solid var(--p-border)",marginBottom:4},children:[(0,F.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",flex:1,letterSpacing:"0.04em"},children:P?"":`${$} system event${$!==1?"s":""} hidden`}),(0,F.jsx)("button",{id:"dp-toggle-updates",onClick:()=>B(X=>{let N=!X;try{localStorage.setItem("vibeflow-show-updates",String(N))}catch{}return N}),style:{all:"unset",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,color:P?"var(--p-text-m)":"var(--p-text-g)",transition:"color .12s, background .12s"},title:P?"Hide system events":`Show ${$} system event${$!==1?"s":""}`,onMouseEnter:X=>{X.currentTarget.style.color="var(--p-text)",X.currentTarget.style.background="var(--p-hover)"},onMouseLeave:X=>{X.currentTarget.style.color=P?"var(--p-text-m)":"var(--p-text-g)",X.currentTarget.style.background="transparent"},children:P?(0,F.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,F.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,F.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,F.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,F.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,F.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})})]}),(0,F.jsx)("div",{ref:C,style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:ue.map((X,N)=>{let re=X.author!==null&&X.items.length>1,J=re,Z=X.author==="\\u{1F916} Agent";return(0,F.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[J&&(0,F.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 0 2px",marginTop:4},children:[(0,F.jsx)("span",{style:{fontSize:11,fontWeight:600,color:Z?"var(--p-purple)":"var(--p-blue-300)",flexShrink:0},children:X.author}),(0,F.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",flexShrink:0},children:`${it(X.oldestSortKey)} \\u2013 ${it(X.newestSortKey)}`}),(0,F.jsxs)("span",{style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:["(",X.items.length," activities)"]})]}),(0,F.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:X.items.map((ie,Oe)=>wv(ie,Oe,N,re,n,c,f,O,i,L,g,b,v?h:null,y))})]},`group-${N}`)})}),(0,F.jsx)(aa,{open:w!==null,message:"Delete this comment? This action cannot be undone.",onConfirm:()=>{w&&p(w),b(null)},onCancel:()=>b(null)}),v&&(0,F.jsx)(aa,{open:S!==null,message:S?`Delete "${S.name}"? This action cannot be undone.`:"",onConfirm:()=>{S&&v(S),h(null)},onCancel:()=>h(null)})]})}function wv(e,t,a,r,o,n,l,s,u,d,m,g,p,v){if(e.kind==="lifecycle")return(0,F.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,F.jsx)("span",{style:{fontSize:11,color:"var(--p-purple)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:e.icon}),(0,F.jsx)("div",{style:{flex:1,minWidth:0},children:(0,F.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,F.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)",fontStyle:"italic"},children:e.label}),!r&&(0,F.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:it(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,b=e.to.length>28?e.to.slice(0,28)+"\\u2026":e.to,S=e.from.length>28||e.to.length>28;return(0,F.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,F.jsx)("span",{style:{fontSize:11,color:"var(--p-blue)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:"\\u270E"}),(0,F.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,F.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[!r&&(0,F.jsxs)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-blue-300)"},children:["\\u{1F464} ",e.actor]}),!r&&(0,F.jsx)(Nm,{source:e.source}),(0,F.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:["changed ",(0,F.jsx)("strong",{style:{color:"var(--p-text)"},children:e.field})]}),!r&&(0,F.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:it(e.sortKey)})]}),(0,F.jsxs)("div",{title:S?`${e.from} \\u2192 ${e.to}`:void 0,style:{marginTop:2,fontSize:11,color:"var(--p-text-g)",display:"flex",alignItems:"center",gap:4,cursor:S?"help":"default"},children:[(0,F.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,F.jsx)("span",{style:{color:"var(--p-text-g)"},children:"\\u2192"}),(0,F.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:b})]})]})]},`change-${e.sortKey}-${a}-${t}`)}if(e.kind==="file"){let{file:L,url:w}=e;return(0,F.jsx)(bs,{file:L,url:w,variant:"compact",onPreview:v?(b,S)=>v(b.name,S):void 0,onDelete:p?b=>(p(b),Promise.resolve()):void 0},`file-${L.name}-${a}-${t}`)}let y=e.comment,C=y.author==="agent",O=y.type==="system",c=y.deleted===!0,i=!!y.id&&!C&&!O&&!c&&y.isOwnComment!==!1,f=n===y.id;return O?(0,F.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"2px 0",fontSize:11,color:"var(--p-text-g)",fontStyle:"italic"},children:[(0,F.jsx)("span",{style:{opacity:.6},children:"\\u2B21"}),(0,F.jsx)("span",{children:y.text}),!r&&(0,F.jsx)("span",{style:{marginLeft:"auto",flexShrink:0,opacity:.6},children:it(y.createdAt)})]},y.id):(0,F.jsxs)("div",{className:"flex flex-col gap-1 group/comment",style:{paddingTop:r?2:4},children:[!r&&(0,F.jsxs)("div",{className:"flex items-center justify-between gap-1.5 text-xs mb-0.5",children:[(0,F.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,F.jsx)("span",{style:{color:c?"var(--p-text-g)":C?"var(--p-purple)":"var(--p-blue-300)"},children:C?"\\u{1F916} Agent":`\\u{1F464} ${y.authorName??o}`}),(0,F.jsx)(Nm,{source:y.source}),(0,F.jsxs)("span",{style:{color:"var(--p-text-g)"},children:[it(y.createdAt),!c&&y.updatedAt?" \\xB7 edited":"",c?" \\xB7 deleted":""]})]}),i&&(0,F.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,F.jsx)("button",{onClick:()=>{u(y.id),d(y.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,F.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,F.jsx)("button",{onClick:()=>g(y),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,F.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),r&&(0,F.jsxs)("div",{className:"flex items-center justify-between gap-1.5",style:{marginBottom:2},children:[(0,F.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-g)"},children:[it(y.createdAt),!c&&y.updatedAt?" \\xB7 edited":"",c?" \\xB7 deleted":""]}),i&&(0,F.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,F.jsx)("button",{onClick:()=>{u(y.id),d(y.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,F.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,F.jsx)("button",{onClick:()=>g(y),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,F.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),f?(0,F.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,F.jsx)(ho,{ref:s,value:l,onChange:d,baseRows:4,maxRows:12,onKeyDown:L=>{L.key==="Enter"&&(L.ctrlKey||L.metaKey)&&(L.preventDefault(),m(y,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,F.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,F.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,F.jsx)("button",{onClick:async()=>{await m(y,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"})]})]}):c?(0,F.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,F.jsx)(ea,{markdown:y.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}})]},y.id)}var Um=M(Se(),1);var Xa=M(W(),1);function pd({files:e,loading:t,error:a,baseUrl:r,onPreview:o,onDelete:n}){let[l,s]=Um.default.useState(null);return t?(0,Xa.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):a?(0,Xa.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):e.length===0?(0,Xa.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No files attached."}):(0,Xa.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,Xa.jsx)(bs,{file:u,url:d,variant:"normal",onPreview:m=>o(m),onDelete:n?m=>(s(m),Promise.resolve()):void 0},u.name)}),n&&(0,Xa.jsx)(aa,{open:l!==null,message:l?`Delete "${l.name}"? This action cannot be undone.`:"",onConfirm:()=>{l&&n(l),s(null)},onCancel:()=>s(null)})]})}var hd=M(Se(),1);var xo=M(Se(),1),Hm=M(uo(),1);var Wt=M(W(),1);function Bn({value:e,onChange:t,previewValue:a,showPreview:r,setShowPreview:o,previewId:n,textareaId:l,placeholder:s,previewEmptyText:u,previewMinHeight:d=54,previewMaxHeight:m=220,baseRows:g=5,maxRows:p=12,autoFocus:v=!1,textareaRef:y,onKeyDown:C,afterTextarea:O,onBlur:c}){let i=xo.default.useRef(null),[f,L]=xo.default.useState([]),[w,b]=xo.default.useState(null),[S,h]=xo.default.useState(null);xo.default.useEffect(()=>{let R=!0;return fetch("/api/tasks").then(H=>H.json()).then(H=>{if(!R)return;let $=(H.tasks??[]).map(Y=>({id:String(Y.id??""),title:String(Y.title??"")})).filter(Y=>Y.id.length>0);L($)}).catch(()=>{}),()=>{R=!1}},[]);function P(R){let H=i.current;if(!H){b(null);return}let $=H.selectionStart??R.length,Y=R.slice(0,$),ue=-1;for(let J=Y.length-1;J>=0;J--){if(Y[J]!=="#")continue;let Z=J>0?Y[J-1]:"";if(Z&&!/\\s/.test(Z))continue;let ie=Y.slice(J+1);if(!ie.includes("#")){if(ie.length>80)return;ue=J;break}}if(ue===-1){b(null);return}let X=Y.slice(ue+1).trim().toLowerCase(),N=f.filter(J=>{if(!X)return!0;let Z=J.id.toLowerCase(),ie=J.title.toLowerCase();return Z.includes(X)||ie.includes(X)}).sort((J,Z)=>{let ie=J.id.toLowerCase().startsWith(X)?1:0,Oe=Z.id.toLowerCase().startsWith(X)?1:0;if(ie!==Oe)return Oe-ie;let Mt=J.title.toLowerCase().startsWith(X)?1:0,At=Z.title.toLowerCase().startsWith(X)?1:0;return Mt!==At?At-Mt:J.id.localeCompare(Z.id)}).slice(0,6);if(!N.length){b(null),h(null);return}let re=H.getBoundingClientRect();h({top:re.top,left:re.left,width:re.width}),b({queryStart:ue,queryEnd:$,items:N})}function B(R){let H=w;if(!H)return;let $=`${e.slice(0,H.queryStart)}#${R} ${e.slice(H.queryEnd)}`;t($),b(null),h(null),requestAnimationFrame(()=>{let Y=i.current;if(!Y)return;let ue=H.queryStart+R.length+2;Y.focus(),Y.setSelectionRange(ue,ue)})}return r?(0,Wt.jsx)("div",{id:n,onClick:R=>{R.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:m},children:(a??e).trim()?(0,Wt.jsx)(ea,{markdown:a??e}):(0,Wt.jsx)("span",{style:{color:"var(--p-border-t)"},children:u??s})}):(0,Wt.jsxs)("div",{style:{position:"relative"},children:[(0,Wt.jsx)(ho,{id:l,ref:R=>{i.current=R,y&&(y.current=R)},className:"dp-textarea",placeholder:s,value:e,onChange:R=>{t(R),P(R)},onFocus:()=>o(!1),onBlur:()=>{b(null),h(null),o(!0),c==null||c()},baseRows:g,maxRows:p,autoFocus:v,onKeyDown:R=>{R.key==="Escape"&&(b(null),h(null)),C==null||C(R)}}),w&&S&&(0,Hm.createPortal)((0,Wt.jsx)("div",{"data-task-ref-suggest":"true",style:{position:"fixed",left:S.left+8,width:S.width-16,top:S.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(R=>(0,Wt.jsxs)("button",{type:"button",onMouseDown:H=>{H.preventDefault(),B(R.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:H=>{H.currentTarget.style.background="var(--p-hover)"},onMouseLeave:H=>{H.currentTarget.style.background="transparent"},children:[(0,Wt.jsxs)("span",{style:{fontFamily:"monospace",color:"var(--p-blue-300)"},children:["#",R.id]}),(0,Wt.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:R.title})]},R.id))}),document.body),O]})}var Sr=M(Se(),1);var Rt=M(W(),1);function md({tags:e,allTags:t,onChange:a,disabled:r}){let[o,n]=Sr.default.useState(""),[l,s]=Sr.default.useState(!1),u=Sr.default.useRef(null),d=Sr.default.useRef(null),m=o.trim().toLowerCase(),g=Sr.default.useMemo(()=>t.filter(f=>!e.includes(f)&&f.toLowerCase().includes(m)).slice(0,8),[t,e,m]),p=m.length>0&&!t.some(i=>i.toLowerCase()===m)&&!e.some(i=>i.toLowerCase()===m),v=m.length>0&&t.some(i=>i.toLowerCase()===m)&&!e.some(i=>i.toLowerCase()===m);function y(i){var L;let f=i.trim();!f||e.includes(f)||(a([...e,f]),n(""),s(!1),(L=u.current)==null||L.focus())}function C(i){a(e.filter(f=>f!==i))}function O(i){if(i.key==="Enter")if(i.preventDefault(),p||v){let f=t.find(L=>L.toLowerCase()===m);y(f??o.trim())}else g.length>0&&y(g[0]);i.key==="Escape"&&(s(!1),n("")),i.key==="Backspace"&&!o&&e.length>0&&C(e[e.length-1])}Sr.default.useEffect(()=>{function i(f){d.current&&!d.current.contains(f.target)&&s(!1)}return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[]);let c=l&&(g.length>0||p);return(0,Rt.jsxs)("div",{ref:d,style:{position:"relative"},children:[(0,Rt.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,Rt.jsx)(Dn,{tags:e,onRemove:r?void 0:C,size:"sm"}),!r&&(0,Rt.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"}})]}),c&&(0,Rt.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:[g.map(i=>{let{bg:f,text:L,border:w}=qt(i);return(0,Rt.jsxs)("button",{type:"button",onClick:()=>y(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:b=>{b.currentTarget.style.background="var(--p-hover)"},onMouseLeave:b=>{b.currentTarget.style.background="none"},children:[(0,Rt.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:L,border:`1px solid ${w}`,flexShrink:0}}),i]},i)}),p&&(0,Rt.jsxs)("button",{type:"button",onClick:()=>y(o.trim()),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:g.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,Rt.jsx)("span",{style:{fontSize:14,lineHeight:1},children:"+"}),\'Create "\',(0,Rt.jsx)("strong",{style:{color:"var(--p-text)"},children:o.trim()}),\'"\']})]})]})}var q=M(W(),1);function xd({task:e,description:t,setDescription:a,showDescPreview:r,setShowDescPreview:o,priority:n,setPriority:l,onDescriptionBlur:s,onDescriptionDiscard:u,originalDescription:d,onPriorityChange:m,githubUrl:g,onFilePreview:p,onPatch:v,onDeleteScreenshot:y,liveFiles:C,allTags:O=[],overrideTags:c,onTagsChange:i}){var H;let f=(e==null?void 0:e.files)??[],L=C?C.map($=>({name:$.name,linkedPath:$.linkedPath,addedAt:$.createdAt,url:$.url})):f,w=L==null?void 0:L.find($=>/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test($.name)),b=e&&w?w.url||`/api/tasks/${e.id}/files/${encodeURIComponent(w.name)}`:null,S=hd.default.useRef(null),[h,P]=hd.default.useState(null),{userPart:B,consolePart:R}=Pv(t);return(0,q.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,q.jsxs)("div",{children:[(0,q.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:"Description"}),(0,q.jsx)(Bn,{value:t,previewValue:R?B: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:S,afterTextarea:u&&d!==void 0&&t!==d?(0,q.jsx)("button",{type:"button",onMouseDown:$=>{$.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:$=>{$.currentTarget.style.color="var(--p-amber-300)",$.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:$=>{$.currentTarget.style.color="var(--p-text-g)",$.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9 Discard changes"}):void 0})]}),R&&(0,q.jsx)(Tv,{logs:R}),e&&w&&b&&(0,q.jsxs)("div",{children:[(0,q.jsx)("div",{className:"dp-meta-label",children:"Screenshot"}),(0,q.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,q.jsx)("button",{onClick:()=>p(w.name,b),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,q.jsx)("img",{src:b,alt:"Task screenshot",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})}),(0,q.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderTop:"1px solid var(--p-border)",background:"var(--p-surface)"},children:[(0,q.jsx)("span",{style:{fontSize:10,color:"var(--p-text-f)",flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:w.addedAt?`Captured ${it(w.addedAt)}`:"Screenshot attached"}),(0,q.jsx)("button",{onClick:()=>p(w.name,b),style:{fontSize:10,color:"var(--p-text-m)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Preview screenshot",children:"Preview"}),(0,q.jsx)("button",{onClick:()=>P(w.name),style:{fontSize:10,color:"var(--p-red)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Remove screenshot",children:"Remove"})]})]})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,q.jsx)(md,{tags:c??(e==null?void 0:e.tags)??[],allTags:O,disabled:!e&&!i,onChange:$=>{i?i($):e&&v(e.id,{tags:$})}})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,q.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:$=>{let Y=$.target.value;l(Y),m==null||m(Y)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,q.jsx)("option",{value:"",children:"\\u2014"}),(0,q.jsx)("option",{value:"Critical",children:"Critical"}),(0,q.jsx)("option",{value:"High",children:"High"}),(0,q.jsx)("option",{value:"Medium",children:"Medium"}),(0,q.jsx)("option",{value:"Low",children:"Low"})]})]}),e&&(0,q.jsxs)("div",{id:"dp-metadata",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,q.jsx)(gd,{label:"Created",id:"dp-created",children:e.createdAt?it(e.createdAt):"\\u2014"}),(0,q.jsx)(gd,{label:"ID",id:"dp-id",children:(0,q.jsx)("span",{style:{fontFamily:"monospace"},children:e.id})}),(0,q.jsx)(gd,{label:"Author",id:"dp-author",children:e.authorName??e.author??"\\u2014"}),(e.commit||((H=e.commits)==null?void 0:H.length))&&(0,q.jsx)(kv,{task:e,githubUrl:g}),e.branchName&&(0,q.jsx)(bv,{branchName:e.branchName}),e.annotatedElementText&&(0,q.jsxs)("div",{id:"dp-annotated-text",style:{gridColumn:"1 / -1",background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,q.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Annotated element text"}),(0,q.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",fontStyle:"italic",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.annotatedElementText})]})]}),(0,q.jsx)(aa,{open:h!==null,message:"Remove this screenshot? This action cannot be undone.",confirmLabel:"Remove",onConfirm:()=>{h&&y(h),P(null)},onCancel:()=>P(null)})]})}function gd({label:e,id:t,children:a}){return(0,q.jsxs)("div",{id:t,style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,q.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:e}),(0,q.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 kv({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,q.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,q.jsxs)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:["Commit",a.length>1?"s":""]}),(0,q.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[t&&e.commitPushed!==!1?(0,q.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,q.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,q.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 bv({branchName:e}){return(0,q.jsxs)("div",{id:"dp-branch",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:`Branch: ${e}`,children:[(0,q.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Branch"}),(0,q.jsxs)("div",{style:{fontSize:10,color:"var(--p-green-300)",fontFamily:"monospace"},children:["\\u2387 ",e]})]})}function Pv(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 Tv({logs:e}){let t=e.replace(/^---\\s*\\n/,"").split(`\n`).filter(a=>a.trim());return(0,q.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,q.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,q.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,q.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",marginLeft:"auto"},children:"captured at submission"})]}),(0,q.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,q.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,q.jsx)("div",{style:{fontSize:10,color:"var(--p-text-g)",fontStyle:"italic"},children:"No log entries captured."})]})]})}var vo=M(W(),1);function vd({commentInput:e,setCommentInput:t,commentSubmitting:a,onSubmit:r,baseRows:o=4}){return(0,vo.jsx)("div",{id:"dp-comment-input-area",children:(0,vo.jsx)(Bn,{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,vo.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,vo.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,vo.jsx)("path",{d:"M2 8L14 2L10 8L14 14L2 8Z",fill:"currentColor"})})})})})}var A=M(W(),1),Rv="vibeflow-paste-hint-dismissed";function Mv({storageKey:e=Rv}){let[t,a]=G.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,A.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,A.jsxs)("span",{style:{flex:1,lineHeight:1.4},children:["\\u{1F4A1} ",(0,A.jsx)("strong",{children:"Tip:"})," Paste screenshots or files anywhere in this panel \\u2014 they attach automatically."]}),(0,A.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,A.jsx)(Ue,{style:{width:12,height:12}})})]})}var Av=[{id:"backlog",label:"backlog"},{id:"todo",label:"todo"},{id:"in-progress",label:"in-progress"},{id:"review",label:"review"},{id:"done",label:"done"}],Dv=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:m,onCreate:g,onDelete:p,onPatch:v,onFilePreview:y,onActivityChange:C,externalLocalChanges:O=[],showLockIndicator:c=!0,lockedByUser:i,onGoBack:f,navBackLabel:L,commentVersion:w,allTasks:b=[],createBranch:S}){let h=!t,P=t?Mn(t.type):Mn("Task"),B=G.default.useRef(null),[R,H]=G.default.useState([]),$=G.default.useRef(!1),Y=G.default.useRef(""),ue=G.default.useRef(""),X=G.default.useMemo(()=>{let I=new Set;for(let U of b)for(let V of U.tags??[])I.add(V);return[...I].sort()},[b]),[N,re]=G.default.useState(a),[J,Z]=G.default.useState(""),[ie,Oe]=G.default.useState(""),[Mt,At]=G.default.useState(r),[xt,Cr]=G.default.useState("Task"),[tt,Vt]=G.default.useState(""),[wr,ya]=G.default.useState(!1),[Io,at]=G.default.useState(!1),[kr,ra]=G.default.useState(!1),[rt,vt]=G.default.useState(""),[zn,Ya]=G.default.useState(!1),oa=G.default.useRef(null),[Ds,Nn]=G.default.useState([]),[Es,Un]=G.default.useState(!1),[Fs,Co]=G.default.useState(null),[Dt,br]=G.default.useState(""),[Bs,Hn]=G.default.useState(!1),[na,_n]=G.default.useState([]),[qn,Wn]=G.default.useState(!1),[Os,$n]=G.default.useState(null),[Vn,Pr]=G.default.useState(0),Tr=G.default.useRef(0),[wo,Rr]=G.default.useState(0),[x,k]=G.default.useState(null),[D,_]=G.default.useState([]),[pe,me]=G.default.useState([]),ae=G.default.useRef(null),oe=G.default.useRef(()=>{}),He=G.default.useRef(""),Me=G.default.useRef(!1);G.default.useEffect(()=>{He.current=Dt},[Dt]),G.default.useEffect(()=>{Me.current=kr},[kr]),G.default.useEffect(()=>{$.current=s??!1},[s]),G.default.useEffect(()=>{e||C==null||C(null,"viewing")},[e]),G.default.useEffect(()=>{if(!e||!t)return;J!==Y.current||ie!==ue.current?C==null||C(t.id,"locked"):C==null||C(t.id,"viewing")},[J,ie,e,t==null?void 0:t.id]),G.default.useEffect(()=>{if(!e)return;function I(U){var V,ve,he,Et;if(!$.current&&!((ve=(V=U.target)==null?void 0:V.closest)!=null&&ve.call(V,"[data-task-ref-suggest]"))&&!((Et=(he=U.target)==null?void 0:he.closest)!=null&&Et.call(he,".modal-backdrop"))&&B.current&&!B.current.contains(U.target)){if(Me.current)return;if(He.current.trim().length>0){oe.current(),ra(!0);return}oe.current(),d()}}return document.addEventListener("mousedown",I),()=>document.removeEventListener("mousedown",I)},[e,d]),G.default.useEffect(()=>{if(!e)return;function I(U){if(U.key==="Escape"){if(Me.current){ra(!1),U.stopPropagation();return}if(He.current.trim().length>0){U.stopPropagation(),oe.current(),ra(!0);return}}}return document.addEventListener("keydown",I,{capture:!0}),()=>document.removeEventListener("keydown",I,{capture:!0})},[e]),G.default.useEffect(()=>{if(e){if(re(a),ya(!!t),br(""),Nn([]),_n([]),Pr(0),Rr(0),_([]),me([]),vt((t==null?void 0:t.branchName)??""),Ya(!1),oa.current=null,t){let I=(t.title??"").trim(),U=(t.description??"").trim();Z(I),Oe(U),At(t.status),Cr(t.type??"Task"),Vt(t.priority??""),Y.current=I,ue.current=U,C==null||C(t.id,"viewing")}else Z(""),Oe(""),At(r),Cr("Task"),Vt("");t&&(Te(t.id),_e(t.id)),setTimeout(()=>{var I;return(I=ae.current)==null?void 0:I.focus()},50)}},[e,t==null?void 0:t.id,a]),G.default.useEffect(()=>{!e||!t||(N==="comments"?(E(t.id),_e(t.id)):N==="files"&&_e(t.id))},[N,e,t==null?void 0:t.id]),G.default.useEffect(()=>{if(!e||!t||J!==Y.current||ie!==ue.current)return;let U=(t.title??"").trim(),V=(t.description??"").trim();(U!==Y.current||V!==ue.current)&&(Z(U),Oe(V),Y.current=U,ue.current=V),t.status&&t.status!==Mt&&At(t.status),t.type&&t.type!==xt&&Cr(t.type),t.priority!==void 0&&t.priority!==tt&&Vt(t.priority??"");let ve=t.branchName??"";ve!==rt&&vt(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]),G.default.useEffect(()=>{!e||!t||w===void 0||(N==="comments"?E(t.id):Te(t.id))},[w]);async function Te(I){var U,V;try{let[ve,he]=await Promise.all([u.getComments(I),u.getFiles(I)]);Pr(((U=ve.comments)==null?void 0:U.length)??0),Rr(((V=he.files)==null?void 0:V.length)??0)}catch{}}async function E(I){var V;let U=++Tr.current;Un(!0),Co(null);try{let ve=await u.getComments(I);if(Tr.current!==U)return;Nn(ve.comments??[]),Pr(((V=ve.comments)==null?void 0:V.length)??0)}catch{if(Tr.current!==U)return;Co("failed")}finally{Tr.current===U&&Un(!1)}}async function _e(I){var U;Wn(!0),$n(null);try{let V=await u.getFiles(I);_n(V.files??[]),Rr(((U=V.files)==null?void 0:U.length)??0)}catch{$n("failed")}finally{Wn(!1)}}async function la(){var I;if(!J.trim()){(I=ae.current)==null||I.focus();return}if(!h&&Dt.trim()&&await Mr(),h){let U=await g({title:J.trim(),description:ie.trim()||J.trim(),status:Mt,type:xt,priority:tt||void 0,selector:"/",tags:pe.length>0?pe:void 0});if(U&&R.length>0){for(let V of R)await u.uploadFile(U,V).catch(()=>null);H([])}d()}else yt()}function yt(){if(!t||h)return;let I=J.trim();if(!I)return;let U=Y.current,V=ue.current,ve=I!==U,he=ie.trim()!==V;!ve&&!he||(ve&&La("title",U,I),he&&La("description",V,ie.trim()),v(t.id,{title:I,description:ie.trim(),type:xt,priority:tt||void 0}),Y.current=I,ue.current=ie.trim())}oe.current=yt;function La(I,U,V){U!==V&&_(ve=>[...ve,{field:I,from:U,to:V,actor:o,timestamp:new Date().toISOString()}])}async function Mr(){if(!(!t||!Dt.trim())){Hn(!0);try{await u.addComment(t.id,Dt.trim()),br(""),await E(t.id)}finally{Hn(!1)}}}async function Kn(I,U){t&&(await u.updateComment(t.id,I.id,U),await E(t.id))}async function lg(I){t&&(await u.deleteComment(t.id,I.id),await E(t.id))}async function sg(I){if(!t)return;let U=t.id;k(null);for(let V of Array.from(I.target.files??[])){if(!V.type.startsWith("image/")&&V.size>Dv){k(`"${V.name}" exceeds the 5 MB limit and was skipped.`);continue}let ve;if(V.type.startsWith("image/")){let he=await yd(V),Et=V.name.replace(/\\.(png|bmp|gif|webp|tiff?)$/i,".jpg");ve=new File([he],Et,{type:"image/jpeg"})}else ve=V;await u.uploadFile(U,ve)}I.target.value="",await _e(U),Te(U)}async function ug(I){if(!t)return;k(null);let U=await yd(I),ve=`paste-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.jpg`,he=new File([U],ve,{type:"image/jpeg"});await u.uploadFile(t.id,he),await _e(t.id),Te(t.id)}async function ig(I){if(!t)return;let U=Array.from(I.items),V=U.find(he=>he.type.startsWith("image/"));if(V){let he=V.getAsFile();he&&await ug(he);return}let ve=U.filter(he=>he.kind==="file"&&!he.type.startsWith("image/"));if(ve.length>0){for(let he of ve){let Et=he.getAsFile();Et&&await u.uploadFile(t.id,Et)}await _e(t.id),Te(t.id);return}}G.default.useEffect(()=>{if(!e)return;function I(U){if(!U.clipboardData)return;let V=U.target;if(!((V.tagName==="TEXTAREA"||V.tagName==="INPUT"||V.isContentEditable)&&!Array.from(U.clipboardData.items).some(Ar=>Ar.kind==="file"))){if(U.preventDefault(),!t){let Et=Array.from(U.clipboardData.items).find(Ar=>Ar.type.startsWith("image/"));if(Et){let Ar=Et.getAsFile();Ar&&(async()=>{let gg=await yd(Ar),hg=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),xg=new File([gg],`paste-${hg}.jpg`,{type:"image/jpeg"});H(vg=>[...vg,xg])})()}return}ig(U.clipboardData)}}return document.addEventListener("paste",I),()=>document.removeEventListener("paste",I)},[e,t==null?void 0:t.id]);async function kd(I){t&&(await u.deleteFile(t.id,I.name),await _e(t.id),Te(t.id))}async function dg(I){if(!t)return;await u.deleteFile(t.id,I);let U=(t.files??[]).filter(V=>V.name!==I);v(t.id,{files:U}),await _e(t.id),Te(t.id)}function fg(I){if(zn&&I!=="review"&&(Ya(!1),oa.current=null),At(I),h||!t)return;if(S&&I==="review"&&!rt.trim()){oa.current={taskId:t.id,patch:{status:I}},Ya(!0);return}let U={status:I};rt.trim()&&(U.branchName=rt.trim()),v(t.id,U)}function bd(){if(!oa.current||!t||!rt.trim())return;let I={...oa.current.patch,branchName:rt.trim()};v(t.id,I),Ya(!1),oa.current=null}function Pd(){Ya(!1),oa.current=null,t&&At(t.status)}let cg=I=>I!==Mt?"dp-status-btn":`dp-status-btn active-${I}`;function Td(){if(!Me.current){if(He.current.trim().length>0){oe.current(),ra(!0);return}oe.current(),d()}}let pg=e&&t!=null&&(J!==Y.current||ie!==ue.current),mg=G.default.useMemo(()=>{let I=[...O,...D].sort((V,ve)=>new Date(V.timestamp).getTime()-new Date(ve.timestamp).getTime()),U=[];for(let V of I)U.some(he=>he.field===V.field&&he.from.toLowerCase()===V.from.toLowerCase()&&he.to.toLowerCase()===V.to.toLowerCase()&&he.actor===V.actor&&Math.abs(new Date(he.timestamp).getTime()-new Date(V.timestamp).getTime())<=3e3)||U.push(V);return U},[O,D]),Sa=!h&&!!i;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("aside",{id:"detail-panel",className:"open",ref:B,children:[Sa&&(0,A.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,A.jsx)("strong",{children:i})," \\u2014 editing disabled until they finish."]}),(0,A.jsxs)("div",{className:"dp-header",children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[f&&(0,A.jsx)("button",{id:"dp-back",onClick:f,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:I=>{I.currentTarget.style.background="var(--p-border)",I.currentTarget.style.color="var(--p-blue-300)",I.currentTarget.style.borderColor="var(--p-blue)"},onMouseOut:I=>{I.currentTarget.style.background="transparent",I.currentTarget.style.color="var(--p-text-g)",I.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u2190"}),(0,A.jsx)(ks,{id:"dp-type-picker",value:xt,disabled:Sa,onChange:I=>{!h&&t&&I!==xt&&La("type",xt,I),Cr(I),!h&&t&&v(t.id,{type:I})}}),(0,A.jsx)("input",{id:"dp-title",ref:ae,className:"dp-input",type:"text",placeholder:"Task title\\u2026",value:J,readOnly:Sa,onChange:I=>Z(I.target.value),onKeyDown:I=>{I.key==="Escape"&&(I.stopPropagation(),Td()),I.key==="Enter"&&h&&la()},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",borderColor:"transparent",background:"transparent"},onFocus:I=>{I.currentTarget.style.borderColor="var(--p-blue)",I.currentTarget.style.background="var(--p-input)"},onBlur:I=>{I.currentTarget.style.borderColor="transparent",I.currentTarget.style.background="transparent",h||yt()}}),!h&&J!==Y.current&&J.trim()!==""&&(0,A.jsx)("button",{type:"button",title:"Discard title changes",onMouseDown:I=>{I.preventDefault(),Z(Y.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:I=>{I.currentTarget.style.color="var(--p-amber-300)",I.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:I=>{I.currentTarget.style.color="var(--p-text-g)",I.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9"}),(0,A.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:I=>{I.currentTarget.style.background="var(--p-border)",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,A.jsx)(Ue,{style:{width:14,height:14}})}),c&&pg&&t&&(0,A.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,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",...Sa?{pointerEvents:"none",opacity:.6}:{}},children:[(0,A.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Status"}),Av.map(I=>(0,A.jsx)("button",{className:cg(I.id),"data-status":I.id,onClick:()=>fg(I.id),children:I.label},I.id))]}),zn&&!Sa&&(0,A.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,A.jsx)("span",{style:{color:"var(--p-purple-300)",fontWeight:500,whiteSpace:"nowrap"},children:"Branch name:"}),(0,A.jsx)("input",{id:"dp-branch-name",type:"text",placeholder:"e.g. feat/add-hover-effect",value:rt,onChange:I=>vt(I.target.value),onKeyDown:I=>{I.key==="Enter"&&rt.trim()&&bd(),I.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,A.jsx)("button",{onClick:bd,disabled:!rt.trim(),style:{padding:"4px 12px",borderRadius:6,border:"1px solid var(--p-purple)",background:rt.trim()?"var(--p-purple)":"var(--p-border)",color:"#fff",fontSize:11,fontWeight:600,cursor:rt.trim()?"pointer":"not-allowed",transition:"background .12s"},children:"Apply & Review"}),(0,A.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"})]})]}),!h&&(0,A.jsxs)("div",{className:"dp-tabs",id:"dp-tabs-row",children:[(0,A.jsx)("button",{className:`dp-tab${N==="details"?" active":""}`,id:"dp-tab-details",onClick:()=>re("details"),children:"Details"}),(0,A.jsxs)("button",{className:`dp-tab${N==="comments"?" active":""}`,id:"dp-tab-activity",onClick:()=>re("comments"),children:["Activity ",Vn>0&&(0,A.jsxs)("span",{id:"dp-activity-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",Vn,")"]})]}),(0,A.jsxs)("button",{className:`dp-tab${N==="files"?" active":""}`,id:"dp-tab-files",onClick:()=>re("files"),children:["Files ",wo>0&&(0,A.jsxs)("span",{id:"dp-file-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",wo,")"]})]})]}),(0,A.jsxs)("div",{className:"dp-body",children:[!h&&(0,A.jsx)(Mv,{}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-details-pane",style:{display:!t||N==="details"?"":"none"},children:[(0,A.jsx)("div",{style:Sa?{pointerEvents:"none",opacity:.6,flexShrink:0}:{flexShrink:0},children:(0,A.jsx)(xd,{task:t,description:ie,setDescription:Oe,showDescPreview:wr,setShowDescPreview:ya,priority:tt,setPriority:Vt,onDescriptionBlur:h?void 0:yt,onDescriptionDiscard:h?void 0:()=>{Oe(ue.current),ya(!0)},originalDescription:h?void 0:ue.current,onPriorityChange:h?void 0:I=>{t&&(I!==tt&&La("priority",tt||"\\u2014",I||"\\u2014"),v(t.id,{priority:I||void 0}))},githubUrl:n,onFilePreview:y,onDeleteScreenshot:dg,onPatch:v,liveFiles:na.length>0||qn?na:void 0,allTags:X,overrideTags:h?pe:void 0,onTagsChange:h?me:void 0})}),!h&&t&&(0,A.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,A.jsx)(Ev,{task:t})})]}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-activity-pane",style:{display:N==="comments"&&!h?"":"none"},children:[(0,A.jsx)("div",{style:{borderBottom:"1px solid var(--p-border)",paddingBottom:8,flexShrink:0},children:(0,A.jsx)(vd,{commentInput:Dt,setCommentInput:br,commentSubmitting:Bs,onSubmit:()=>{Mr()},baseRows:2})}),(0,A.jsx)(cd,{comments:Ds,files:na,localChanges:mg,loading:Es,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:Kn,onDelete:lg,onDeleteFile:kd,onFilePreview:y})]}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-files-pane",style:{display:N==="files"&&!h?"":"none"},children:[(0,A.jsx)(pd,{files:na,loading:qn,error:Os,baseUrl:l,onPreview:I=>y(I.name,I.linkedPath?`${l}/api/tasks/${t==null?void 0:t.id}/files/${encodeURIComponent(I.name)}`:`${l}${I.url}`),onDelete:Sa?void 0:kd}),(0,A.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:[x&&(0,A.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:x}),(0,A.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:I=>{I.currentTarget.style.borderColor="var(--p-border-t)",I.currentTarget.style.color="var(--p-text)"},onMouseOut:I=>{I.currentTarget.style.borderColor="var(--p-border)",I.currentTarget.style.color="var(--p-text-m)"},children:[(0,A.jsx)(po,{style:{width:12,height:12}}),"Upload",(0,A.jsx)("input",{id:"dp-file-upload",type:"file",style:{display:"none"},multiple:!0,onChange:sg})]}),(0,A.jsx)("span",{style:{fontSize:11,color:"var(--p-border-t)",marginLeft:"auto"},children:"or paste image"})]})]})]}),(0,A.jsxs)("div",{className:"dp-footer",children:[!h&&(0,A.jsx)("button",{id:"dp-delete",onClick:()=>at(!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:I=>{I.currentTarget.style.borderColor="var(--p-red)"},onMouseOut:I=>{I.currentTarget.style.borderColor="var(--p-border-t)"},children:"Delete"}),(0,A.jsx)("div",{style:{flex:1}}),h?(0,A.jsxs)(A.Fragment,{children:[R.length>0&&(0,A.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} ",R.length," screenshot",R.length!==1?"s":""," will attach on save"]}),(0,A.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:I=>{I.currentTarget.style.borderColor="var(--p-text-g)"},onMouseOut:I=>{I.currentTarget.style.borderColor="var(--p-border-t)"},children:"Cancel"}),(0,A.jsx)("button",{id:"dp-save",onClick:()=>{la()},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:I=>{I.currentTarget.style.background="var(--p-blue-700)"},onMouseOut:I=>{I.currentTarget.style.background="var(--p-blue)"},children:"Add Task"})]}):(0,A.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)",padding:"5px 4px"},children:"Changes are saved automatically"})]}),(0,A.jsx)(aa,{open:Io,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:()=>{at(!1),p(t.id),d()},onCancel:()=>at(!1)})]}),kr&&(0,A.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,A.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,A.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,A.jsx)(po,{style:{width:20,height:20,color:"var(--p-purple)"}})}),(0,A.jsx)("h2",{style:{margin:"0 0 8px",fontSize:17,fontWeight:700,color:"var(--p-text)"},children:"Send comment?"}),(0,A.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,A.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,A.jsx)("button",{onClick:()=>{ra(!1),Mr().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,A.jsx)("button",{type:"button",onClick:()=>{ra(!1),br(""),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,A.jsx)("button",{type:"button",onClick:()=>ra(!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 Ev({task:e}){let t=[];if(e.component&&t.push((0,A.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,A.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,A.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,A.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,A.jsx)("span",{className:"dp-source-pill",title:e.url,children:r},"url"))}return e.reportBack&&t.push((0,A.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,A.jsx)("div",{id:"dp-meta-row",style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",flex:1},children:t})}var Ir=M(Se(),1);var Q=M(W(),1),Fv=[{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)"}],Bv={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]=Ir.default.useState(!1),[u,d]=Ir.default.useState(!1),[m,g]=Ir.default.useState(!1),p=Ir.default.useMemo(()=>[...new Set(e.map(S=>S.type).filter(Boolean))].sort(),[e]),v=Ir.default.useMemo(()=>[...new Set(e.map(S=>S.author).filter(Boolean))].sort(),[e]),y=Ir.default.useMemo(()=>{let S=new Set;for(let h of e)for(let P of h.tags??[])S.add(P);return[...S].sort()},[e]);function C(S){return e.filter(h=>h.status===S).length}function O(S){a({...t,status:S}),s(!1),d(!1),g(!1)}function c(S){a({...t,type:S}),s(!1)}function i(S){a({...t,user:S}),d(!1)}function f(S){let h=t.tags??[],P=h.includes(S)?h.filter(B=>B!==S):[...h,S];a({...t,tags:P})}function L(S){S.stopPropagation();let h=S.currentTarget.dataset.status;h&&O(h)}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},b={...w,background:"var(--p-card)",border:"1px solid var(--p-border)",color:"var(--p-text-f)",padding:"3px 10px",position:"relative"};return(0,Q.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),g(!1)},children:[(0,Q.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2},children:Fv.map(S=>{let h=t.status===S.id,P=S.id!=="all"?C(S.id):null,B=h?Bv[S.id]:{};return(0,Q.jsxs)("button",{"data-status":S.id,style:{...w,...B},onMouseOver:R=>{h||(R.currentTarget.style.background="var(--p-hover)",R.currentTarget.style.color="var(--p-text-m)")},onMouseOut:R=>{h||(R.currentTarget.style.background="transparent",R.currentTarget.style.color="var(--p-text-f)")},onClick:L,children:[S.dot&&(0,Q.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:S.dot,flexShrink:0,display:"inline-block"}}),S.label,P!=null&&(0,Q.jsx)("span",{style:{color:h?"inherit":"var(--p-border-t)",fontSize:10,opacity:.8},children:P})]},S.id)})}),(0,Q.jsx)("div",{style:{flex:1}}),n,t.user&&(0,Q.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,Q.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,Q.jsx)(Ue,{style:{width:10,height:10}})})]}),t.type&&(0,Q.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,Q.jsx)("button",{onClick:()=>c(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-cyan-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,Q.jsx)(Ue,{style:{width:10,height:10}})})]}),(t.tags??[]).map(S=>{let{bg:h,text:P,border:B}=qt(S);return(0,Q.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:h,border:`1px solid ${B}`,fontSize:10,color:P,fontWeight:600},children:[S,(0,Q.jsx)("button",{onClick:()=>f(S),style:{display:"flex",background:"none",border:"none",color:P,cursor:"pointer",padding:0,lineHeight:1},children:(0,Q.jsx)(Ue,{style:{width:10,height:10}})})]},S)}),(0,Q.jsxs)("div",{style:{position:"relative"},children:[(0,Q.jsxs)("button",{style:{...b,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:y.length?1:.55},onClick:S=>{S.stopPropagation(),y.length&&(d(!1),s(!1),g(h=>!h))},children:[(0,Q.jsx)(co,{style:{width:12,height:12}}),"Tags",(t.tags??[]).length>0&&(0,Q.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,Q.jsx)(mr,{style:{width:12,height:12}})]}),m&&y.length>0&&(0,Q.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:S=>S.stopPropagation(),children:[(t.tags??[]).length>0&&(0,Q.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"}),y.map(S=>{let{bg:h,text:P,border:B}=qt(S),R=(t.tags??[]).includes(S);return(0,Q.jsxs)("button",{style:{width:"100%",textAlign:"left",padding:"6px 12px",fontSize:11,color:"var(--p-text-m)",background:R?"var(--p-hover)":"none",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:6},onMouseEnter:H=>{H.currentTarget.style.background="var(--p-hover)"},onMouseLeave:H=>{H.currentTarget.style.background=R?"var(--p-hover)":"none"},onClick:()=>f(S),children:[(0,Q.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:P,border:`1px solid ${B}`,flexShrink:0}}),(0,Q.jsx)("span",{style:{flex:1},children:S}),R&&(0,Q.jsx)("span",{style:{color:P,fontSize:12,lineHeight:1},children:"\\u2713"})]},S)})]})]}),(0,Q.jsxs)("div",{style:{position:"relative"},children:[(0,Q.jsxs)("button",{style:{...b,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:v.length?1:.55},onClick:S=>{S.stopPropagation(),v.length&&(s(!1),d(h=>!h))},children:[(0,Q.jsx)(Rn,{style:{width:12,height:12}}),"User",(0,Q.jsx)(mr,{style:{width:12,height:12}})]}),u&&v.length>0&&(0,Q.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:S=>S.stopPropagation(),children:[(0,Q.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"}),v.map(S=>(0,Q.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.user===S?"var(--p-purple-300)":"var(--p-text-m)",background:t.user===S?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:h=>{t.user!==S&&(h.currentTarget.style.background="var(--p-hover)")},onMouseOut:h=>{t.user!==S&&(h.currentTarget.style.background="none")},onClick:()=>i(S),children:S},S))]})]}),(0,Q.jsxs)("div",{style:{position:"relative"},children:[(0,Q.jsxs)("button",{style:{...b,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:p.length?1:.55},onClick:S=>{S.stopPropagation(),p.length&&s(h=>!h)},children:[(0,Q.jsx)(co,{style:{width:12,height:12}}),"Type",(0,Q.jsx)(mr,{style:{width:12,height:12}})]}),l&&p.length>0&&(0,Q.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:S=>S.stopPropagation(),children:[(0,Q.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:()=>c(null),children:"All types"}),p.map(S=>(0,Q.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.type===S?"var(--p-cyan-300)":"var(--p-text-m)",background:t.type===S?"color-mix(in srgb, var(--p-blue) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:h=>{t.type!==S&&(h.currentTarget.style.background="var(--p-hover)")},onMouseOut:h=>{t.type!==S&&(h.currentTarget.style.background="none")},onClick:()=>c(S),children:S},S))]})]}),(0,Q.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,Q.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:S=>{S.stopPropagation(),o==null||o("board")},children:(0,Q.jsx)(Cn,{style:{width:13,height:13}})}),(0,Q.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:S=>{S.stopPropagation(),o==null||o("list")},children:(0,Q.jsx)(wn,{style:{width:13,height:13}})})]})]})}var Qa=M(Se(),1);var fe=M(W(),1),Ov=[{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]=Qa.default.useState("board"),[s,u]=Qa.default.useState({}),[d,m]=Qa.default.useState(a.autoCommit??!1),[g,p]=Qa.default.useState(a.autoComment??!1),[v,y]=Qa.default.useState(a.autoPush??!1),[C,O]=Qa.default.useState(a.createBranch??!1);Qa.default.useEffect(()=>{if(!e)return;let f={};Ka.forEach(L=>{f[L.id]=t.includes(L.id)}),u(f),m(a.autoCommit??!1),p(a.autoComment??!1),y(a.autoPush??!1),O(a.createBranch??!1),l("board")},[e,t,a]);function c(){let f=Ka.filter(L=>s[L.id]).map(L=>L.id);o(f,{autoCommit:d,autoComment:g,autoPush:v,createBranch:C}),r()}function i(f){u(L=>({...L,[f]:!L[f]}))}return(0,fe.jsxs)(va,{open:e,onClose:r,id:"settings-modal",width:"min(460px, 95vw)",icon:(0,fe.jsx)(vr,{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:f=>{f.currentTarget.style.background="var(--p-surface)",f.currentTarget.style.color="var(--p-text-m)"},onMouseOut:f=>{f.currentTarget.style.background="transparent",f.currentTarget.style.color="var(--p-text-g)"},children:(0,fe.jsx)(Ue,{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:c,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:f=>{f.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 28%, transparent)"},onMouseOut:f=>{f.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 18%, transparent)"},children:"Apply"})]}),children:[(0,fe.jsx)("div",{className:"dp-tabs",children:Ov.map(f=>(0,fe.jsxs)("button",{onClick:()=>l(f.id),className:`dp-tab${n===f.id?" active":""}`,style:{display:"flex",alignItems:"center",gap:6},children:[f.icon,f.label]},f.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"}),Ka.map(f=>(0,fe.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none"},children:[(0,fe.jsx)("input",{id:`settings-col-${f.id}`,type:"checkbox",checked:s[f.id]??!0,onChange:()=>i(f.id),style:{width:14,height:14,accentColor:f.color,cursor:"pointer"}}),(0,fe.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:f.color,flexShrink:0}}),(0,fe.jsx)("span",{style:{fontSize:13,color:"var(--p-text-m)"},children:f.label})]},f.id))]}),n==="enforcement"&&(0,fe.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:16},children:[(0,fe.jsx)(Ps,{id:"settings-auto-comment",label:"Require comment on review",description:"CLI enforces an implementation report when setting task status to review.",value:g,onChange:p}),(0,fe.jsx)("div",{style:{height:1,background:"var(--p-border)",marginTop:-4,marginBottom:-4}}),(0,fe.jsx)(Ps,{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)(Ps,{id:"settings-auto-commit",label:"Auto-commit on review",description:"CLI automatically commits staged changes when setting task status to review.",value:d,onChange:m}),(0,fe.jsx)(Ps,{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:v&&d,onChange:f=>y(f&&d)})]})]})}function Ps({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 yo=M(Se(),1);var ce=M(W(),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 zv(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],m=e[a+d.length]===":",p=d.slice(1,-1).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");t.push({type:m?"key":"string",value:p}),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 Nv={key:{color:"#c084fc"},string:{color:"#86efac"},number:{color:"#67e8f9"},bool:{color:"#fb923c"},null:{color:"#f87171"},punct:{color:"inherit"}};function Uv({tokens:e}){return(0,ce.jsx)("div",{children:e.map((t,a)=>(0,ce.jsx)("span",{style:Nv[t.type],children:t.value},a))})}function Cd({open:e,name:t,url:a,onClose:r}){let[o,n]=yo.default.useState(null),[l,s]=yo.default.useState(null),[u,d]=yo.default.useState(!1),[m,g]=yo.default.useState(!1);return yo.default.useEffect(()=>{!e||!a||(d(!1),Ts(t)?(g(!0),n(null),fetch(a).then(p=>p.text()).then(p=>{n(p),g(!1)}).catch(()=>{n("Error loading file."),g(!1)})):On(t)?(g(!0),s(null),fetch(a).then(p=>p.text()).then(p=>{try{let v=JSON.parse(p),C=JSON.stringify(v,null,2).split(`\n`).map(zv);s(C)}catch{d(!0)}g(!1)}).catch(()=>{d(!0),g(!1)})):(n(null),s(null)))},[e,t,a]),(0,ce.jsx)(va,{open:e,onClose:r,id:"file-preview-modal",width:"min(1100px, 95vw)",maxHeight:"88vh",boxStyle:{display:"flex",flexDirection:"column"},icon:(0,ce.jsx)(fo,{className:"w-4 h-4 text-slate-400"}),title:t,headerActions:(0,ce.jsxs)(ce.Fragment,{children:[(0,ce.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,ce.jsx)(gr,{className:"w-4 h-4"})}),(0,ce.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,ce.jsx)(Ue,{className:"w-4 h-4"})})]}),footer:(0,ce.jsxs)(ce.Fragment,{children:[(0,ce.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,ce.jsx)(gr,{className:"w-3.5 h-3.5"}),"Download"]}),(0,ce.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,ce.jsxs)("div",{className:"flex-1 overflow-auto",style:{minHeight:0,padding:"16px 20px"},children:[_m(t)&&(0,ce.jsx)("div",{style:{borderRadius:8,overflow:"hidden",border:"1px solid var(--p-border)",background:"var(--p-card)",display:"inline-block",width:"100%"},children:(0,ce.jsx)("img",{src:a,alt:t,style:{maxWidth:"100%",display:"block",margin:"0 auto",objectFit:"contain"}})}),Ts(t)&&m&&(0,ce.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),Ts(t)&&!m&&o!==null&&(0,ce.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,ce.jsx)(ea,{markdown:o})}),On(t)&&m&&(0,ce.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),On(t)&&!m&&u&&(0,ce.jsx)("p",{className:"text-xs text-red-400 py-4",children:"Error loading or parsing JSON file."}),On(t)&&!m&&l!==null&&(0,ce.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((p,v)=>(0,ce.jsx)(Uv,{tokens:p},v))}),!_m(t)&&!Ts(t)&&!On(t)&&(0,ce.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-slate-500",children:[(0,ce.jsx)(fo,{className:"w-10 h-10 opacity-40"}),(0,ce.jsx)("p",{className:"text-sm",children:"Preview not available for this file type."}),(0,ce.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,ce.jsx)(gr,{className:"w-3.5 h-3.5"}),"Download file"]})]})]})})}var Lo=window.location.origin,$t=`${Lo}/api/tasks`,ht={async getTasks(){return(await fetch(`${$t}?_=${Date.now()}`,{cache:"no-store"})).json()},async createTask(e){return(await fetch($t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()},async updateTask(e,t){return(await fetch(`${$t}/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()},async deleteTask(e){await fetch(`${$t}/${e}`,{method:"DELETE"})},async getComments(e){return(await fetch(`${$t}/${e}/comments`)).json()},async addComment(e,t){await fetch(`${$t}/${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(`${$t}/${e}/comments/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})})},async deleteComment(e,t){await fetch(`${$t}/${e}/comments/${t}`,{method:"DELETE"})},async getFiles(e){return(await fetch(`${$t}/${e}/files`)).json()},async uploadFile(e,t){let a=await t.arrayBuffer();await fetch(`${$t}/${e}/files/${encodeURIComponent(t.name)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:a})},async deleteFile(e,t){await fetch(`${$t}/${e}/files/${encodeURIComponent(t)}`,{method:"DELETE"})},async getProject(){return(await fetch(`${Lo}/api/project`)).json()},async getCopilotStatus(){return(await fetch(`${Lo}/api/copilot/status`)).json()},async copilotLogin(){return(await fetch(`${Lo}/api/copilot/login`,{method:"POST"})).json().catch(()=>({}))},async getSettings(){return(await fetch(`${Lo}/api/settings`,{cache:"no-store"})).json()},async saveSettings(e){await fetch(`${Lo}/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 Hv(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 _v(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 qv(){return navigator.userAgent}function Wv(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 $v(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:$v(e),selector:t,xpath:Hv(e),position:Wv(e),parentSnippet:_v(e),browser:qv(),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 As=M(Se(),1);var Vm="vibeflow-last-seen-version";function Vv(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:Vv(t,e)}function Gm(){try{return localStorage.getItem(Vm)}catch{return null}}function Rs(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 Ms(){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 So=M(W(),1);function Qm({open:e,sections:t,version:a,startMode:r,onClose:o}){let[n,l]=As.default.useState(r);As.default.useEffect(()=>{e&&l(r)},[e,r]);let s=As.default.useMemo(()=>jm(t,a),[t,a]),u=n==="full"?Xm(t):wd(s);return(0,So.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,So.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,So.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,So.jsx)("div",{style:{padding:"14px 18px",overflowY:"auto",flex:1,minHeight:0,fontSize:13,color:"var(--p-text-f)"},children:(0,So.jsx)(ea,{markdown:u})})})}var j=M(W(),1),Kv=window.__PORT__??3700,Gv=window.__SAAS_MODE__??!1,Ym=window.__BOARD_URL__??"",jv=window.__BOARD_NAME__??"",tg=window.__IS_ADMIN__??!1,Jm=window.__CLI_VERSION__??"";function Xv({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 m(){r("pushing"),d("");try{let p=await fetch(`${t}/api/push`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepLocalFiles:o})}),v=await p.json();if(!p.ok){d(v.error??"Push failed"),r("error");return}s({imported:v.imported??0,skipped:v.skipped}),r("done")}catch(p){d(p instanceof Error?p.message:"Network error"),r("error")}}let g=a==="pushing";return(0,j.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,j.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,j.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,j.jsxs)("div",{style:{padding:"36px 36px 20px",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center"},children:[(0,j.jsx)("div",{style:{position:"relative",width:52,height:52,marginBottom:22},children:(0,j.jsxs)("svg",{width:"52",height:"52",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,j.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,j.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"white",opacity:"0.7"}),(0,j.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"white"}),(0,j.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"white",opacity:"0.7"}),(0,j.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"white",opacity:"0.85"})]})}),(0,j.jsx)("h1",{style:{fontSize:18,fontWeight:700,color:"#f1f5f9",letterSpacing:"-0.3px",margin:"0 0 7px"},children:"Online Mode Active"}),(0,j.jsxs)("p",{style:{fontSize:12,color:"rgba(255,255,255,0.36)",lineHeight:1.5,margin:0},children:["Connected to"," ",(0,j.jsx)("strong",{style:{color:"rgba(255,255,255,0.55)",fontWeight:500},children:jv||"Vibeflow SaaS"})]})]}),a==="done"&&l&&(0,j.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,j.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",children:(0,j.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,j.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,j.jsxs)("div",{style:{padding:"20px 24px 28px",display:"flex",flexDirection:"column",gap:8},children:[Ym&&(0,j.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:p=>{p.currentTarget.style.background="#3b82f6",p.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:p=>{p.currentTarget.style.background="#2563eb",p.currentTarget.style.transform="none"},children:"Open Web App \\u2192"}),a!=="done"&&(0,j.jsx)("button",{onClick:()=>{m()},disabled:g,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:g?"rgba(255,255,255,0.25)":"rgba(255,255,255,0.4)",fontSize:13,fontWeight:500,cursor:g?"not-allowed":"pointer",transition:"border-color 0.15s, color 0.15s, background 0.15s"},onMouseEnter:p=>{g||(p.currentTarget.style.borderColor="rgba(255,255,255,0.15)",p.currentTarget.style.color="rgba(255,255,255,0.65)",p.currentTarget.style.background="rgba(255,255,255,0.03)")},onMouseLeave:p=>{g||(p.currentTarget.style.borderColor="rgba(255,255,255,0.08)",p.currentTarget.style.color="rgba(255,255,255,0.4)",p.currentTarget.style.background="transparent")},children:g?"\\u23F3 Pushing\\u2026":"\\u2191 Push local tasks"})]}),(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 24px 20px"},children:[(0,j.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:7,cursor:"pointer"},children:[(0,j.jsx)("input",{type:"checkbox",checked:o,onChange:p=>n(p.target.checked),style:{accentColor:"#2563eb",width:13,height:13,cursor:"pointer"}}),(0,j.jsx)("span",{style:{fontSize:11.5,color:"rgba(255,255,255,0.28)"},children:"Keep local files"})]}),tg&&e&&(0,j.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:p=>{p.currentTarget.style.color="rgba(255,255,255,0.45)"},onMouseLeave:p=>{p.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 Qv(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 wo,Rr;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"),[m,g]=te.default.useState(!1),[p,v]=te.default.useState({open:!1,startMode:"whatsnew",sections:[],version:""}),[y,C]=te.default.useState({open:!1,name:"",url:""}),[O,c]=te.default.useState(420),[i,f]=te.default.useState(!1),[L,w]=te.default.useState(""),[b,S]=te.default.useState(Ka.map(x=>x.id)),[h,P]=te.default.useState({status:"all",component:null,type:null,user:null,tags:[]}),[B,R]=te.default.useState("Proto Board"),[H,$]=te.default.useState(!1),[Y,ue]=te.default.useState(!1),[X,N]=te.default.useState("You"),[re,J]=te.default.useState(null),[Z,ie]=te.default.useState(""),[Oe,Mt]=te.default.useState({}),At=te.default.useRef(null),xt=te.default.useRef(null),Cr=te.default.useRef(0),tt=te.default.useRef(null),Vt=te.default.useRef(null),[wr,ya]=te.default.useState([]),Io=te.default.useRef(!1),at=te.default.useRef([]),[kr,ra]=te.default.useState([]);te.default.useEffect(()=>(vt(),Ya(),Un(),Fs(),oa(),Ds(),Co(),()=>{var x;xt.current&&clearTimeout(xt.current),(x=At.current)==null||x.close()}),[]),te.default.useEffect(()=>{if(H){tt.current&&(clearInterval(tt.current),tt.current=null);return}return tt.current=setInterval(()=>{vt()},5e3),()=>{tt.current&&(clearInterval(tt.current),tt.current=null)}},[H]),te.default.useEffect(()=>{document.body.setAttribute("data-theme","dark")},[]),te.default.useEffect(()=>{function x(){let _=window.location.hash.match(/^#task-([a-f0-9]{30})$/i);if(!_){Vt.current=null;return}let pe=_[1].toLowerCase();if(Vt.current===pe)return;let me=e.find(ae=>ae.id.toLowerCase()===pe);me&&(Vt.current=pe,Io.current?s(ae=>({...ae,open:!0,task:me,tab:"details"})):s(ae=>(ae.task&&ae.task.id!==me.id&&ya(oe=>[...oe,ae.task]),{...ae,open:!0,task:me,tab:"details"})),Io.current=!1)}function k(){}x();let D=()=>{Vt.current=null,x()};return window.addEventListener("hashchange",D),window.addEventListener("vibeflow-task-ref-click",k),()=>{window.removeEventListener("hashchange",D),window.removeEventListener("vibeflow-task-ref-click",k)}},[e]),te.default.useEffect(()=>{if(!l.open||!l.task)return;let x=e.find(_=>_.id===l.task.id);if(!x)return;let k=l.task;Object.keys(x).some(_=>x[_]!==k[_])&&s(_=>({..._,task:x}))},[e,l.open,(wo=l.task)==null?void 0:wo.id]),te.default.useEffect(()=>{function x(k){var pe,me,ae;let D=(pe=k.target)==null?void 0:pe.tagName,_=D==="INPUT"||D==="TEXTAREA"||((me=k.target)==null?void 0:me.isContentEditable);if(k.key==="Escape"){if(y.open){C(oe=>({...oe,open:!1}));return}if(l.open){s(oe=>({...oe,open:!1}));return}if(m){g(!1);return}}if(!_&&((k.key==="?"||k.key==="/"&&k.shiftKey)&&((ae=document.getElementById("header-shortcuts-hint"))==null||ae.click()),k.altKey&&!k.ctrlKey&&!k.metaKey&&(k.key==="n"||k.key==="N")&&(k.preventDefault(),na(null,"details")),k.altKey&&!k.ctrlKey&&!k.metaKey&&(k.key==="f"||k.key==="F"))){k.preventDefault();let oe=document.getElementById("global-search");oe==null||oe.focus(),oe==null||oe.select()}}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[y.open,l.open,m]);function rt(x,k,D,_,pe){let me=new Date().toISOString(),ae=Zm[k]??k,oe=Zm[D]??D,He=Date.now()-3e3;ra(Me=>Me.some(E=>E.taskId===x&&E.to===oe&&new Date(E.timestamp).getTime()>He)?Me:[...Me,{taskId:x,field:"status",from:ae,to:oe,actor:_,timestamp:me,source:pe}].slice(-500))}async function vt(){try{let x=await ht.getTasks();at.current=x.tasks??[],t(x.tasks??[])}catch{}finally{r(!1)}}let zn=te.default.useCallback((x,k,D)=>{let _=String(x.id??"");if(!_)return;let pe=x.created??x.createdAt,me=x.updated?String(x.updated):void 0,ae=Array.isArray(x.comments)?x.comments.filter(Te=>!Te.deleted).length:void 0,oe=Array.isArray(x.files)?x.files.length:void 0,He=x.status?String(x.status):void 0,Me=at.current.find(Te=>Te.id===_);He&&Me&&Me.status!==He&&rt(_,Me.status,He,k??"Someone",D),t(Te=>{let E=Te.find(yt=>yt.id===_),_e={id:_,title:x.title?String(x.title):(E==null?void 0:E.title)??"Untitled",description:x.description==null?(E==null?void 0:E.description)??"":String(x.description),status:He??(E==null?void 0:E.status)??"todo",type:x.type?String(x.type):E==null?void 0:E.type,priority:x.priority?String(x.priority):E==null?void 0:E.priority,selector:x.selector?String(x.selector):E==null?void 0:E.selector,cssSelector:x.cssSelector?String(x.cssSelector):E==null?void 0:E.cssSelector,file:x.file?String(x.file):E==null?void 0:E.file,line:typeof x.line=="number"?x.line:E==null?void 0:E.line,col:typeof x.col=="number"?x.col:E==null?void 0:E.col,component:x.component?String(x.component):E==null?void 0:E.component,url:x.url?String(x.url):E==null?void 0:E.url,reportBack:x.reportBack===!0||(E==null?void 0:E.reportBack)===!0,commit:x.commit?String(x.commit):E==null?void 0:E.commit,commits:Array.isArray(x.commits)?x.commits:E==null?void 0:E.commits,commentCount:ae??(E==null?void 0:E.commentCount),fileCount:oe??(E==null?void 0:E.fileCount),createdAt:pe?String(pe):(E==null?void 0:E.createdAt)??new Date().toISOString(),updatedAt:me??(E==null?void 0:E.updatedAt),author:x.author?String(x.author):E==null?void 0:E.author,tags:Array.isArray(x.tags)?x.tags:E==null?void 0:E.tags,sortKey:x.sortKey?String(x.sortKey):E==null?void 0:E.sortKey},la=Te.filter(yt=>yt.id!==_);return la.push(_e),la.sort((yt,La)=>{let Mr=new Date(yt.updatedAt??yt.createdAt??"").getTime(),Kn=new Date(La.updatedAt??La.createdAt??"").getTime();return Mr===Kn?yt.id.localeCompare(La.id):Kn-Mr}),at.current=la,la})},[]);async function Ya(){try{let x=await ht.getProject();x.name&&R(x.name),x.gitUserName&&N(x.gitUserName)}catch{}}async function oa(){try{let x=await fetch("/api/github-url").then(k=>k.json());J(x.githubUrl??null)}catch{}}async function Ds(){var pe;let x=Gm(),k=Jm,D=null;if(k||(D=await Ms(),k=((pe=D[0])==null?void 0:pe.version)??""),!k)return;if(!x){Rs(k);return}if(!Km(x,k))return;let _=D??await Ms();if(_.length===0){Rs(k);return}v({open:!0,startMode:"whatsnew",sections:_,version:k})}async function Nn(){var D;let x=p.sections.length?p.sections:await Ms(),k=Jm||((D=x[0])==null?void 0:D.version)||p.version;v({open:!0,startMode:"full",sections:x,version:k})}function Es(){p.version&&Rs(p.version),v(x=>({...x,open:!1}))}async function Un(){var x;try{let D=await ht.getSettings();Mt(D),(x=D.visibleCols)!=null&&x.length&&S(D.visibleCols),D.viewMode&&d(D.viewMode),D.panelWidth&&D.panelWidth>=280&&D.panelWidth<=900&&c(D.panelWidth)}catch{}}async function Fs(){try{let x=await ht.getCopilotStatus();x!=null&&x.authenticated&&(x!=null&&x.username)?ie(`Copilot: ${x.username}`):ie("Copilot: not logged in")}catch{}}function Co(){let k=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,D=new WebSocket(k);At.current=D,D.addEventListener("open",()=>{$(!0),ue(!0),Cr.current=0,vt()}),D.addEventListener("close",()=>{$(!1),xt.current&&clearTimeout(xt.current),xt.current=setTimeout(Co,2e3)}),D.addEventListener("error",()=>{}),D.addEventListener("message",pe=>{var me;try{let ae=JSON.parse(pe.data);if(ae.type==="tasks-updated"||(me=ae.type)!=null&&me.startsWith("task:")){vt();return}if(ae.type==="task-changed"&&ae.task){let oe=ae.task,He=typeof oe.alteredBy=="string"?oe.alteredBy:typeof oe.author=="string"?oe.author:"Someone",Me=ae.source==="cli"?"cli":void 0;zn(oe,He,Me);return}if(ae.type==="task-deleted"&&ae.taskId){let oe=String(ae.taskId);t(He=>{let Me=He.filter(Te=>Te.id!==oe);return at.current=Me,Me})}}catch{}});let _=setInterval(()=>{D.readyState===WebSocket.OPEN&&D.send(JSON.stringify({type:"ping"}))},2e4);D.addEventListener("close",()=>clearInterval(_)),D.addEventListener("error",()=>{})}async function Dt(x,k){let D=at.current.find(_=>_.id===x);t(_=>{let pe=_.map(me=>me.id===x?{...me,...k}:me);return at.current=pe,pe}),k.status&&(D!=null&&D.status)&&k.status!==D.status&&rt(x,D.status,k.status,X);try{let _=await ht.updateTask(x,k);_.task&&t(pe=>{let me=pe.map(ae=>ae.id===x?_.task:ae);return at.current=me,me})}catch{vt()}}async function br(x,k,D,_,pe){let me=at.current.filter(Me=>Me.status===k).sort(vn),ae=nd(me,x,D,_),oe=pe??ae.newSortKey,He=ae.normalizationPatches;t(Me=>{let Te=new Map;for(let{id:_e,sortKey:la}of He)Te.set(_e,{sortKey:la});Te.set(x,{status:k,sortKey:oe});let E=Me.map(_e=>Te.has(_e.id)?{..._e,...Te.get(_e.id)}:_e);return at.current=E,E}),await ht.updateTask(x,{status:k,sortKey:oe}).catch(()=>{vt()})}async function Bs(x){t(k=>{let D=k.filter(_=>_.id!==x);return at.current=D,D});try{await ht.deleteTask(x)}catch{vt()}}async function Hn(x){var k,D;try{let _=await ht.createTask(x);return await vt(),(k=_==null?void 0:_.task)!=null&&k.id&&x.selector&&$m(_.task.id,x.selector),(D=_==null?void 0:_.task)==null?void 0:D.id}catch{}}function na(x,k="details",D){ya([]),s({open:!0,task:x,tab:k,addColumnId:D})}function _n(){ya(x=>{if(x.length===0)return x;let k=x[x.length-1],D=x.slice(0,-1);return Io.current=!0,Vt.current=null,window.location.hash=`#task-${k.id}`,s(_=>({..._,open:!0,task:k,tab:"details"})),D})}function qn(x,k){if(k.startsWith("/")&&!k.startsWith("//")||k.startsWith(window.location.origin+"/")){if(/\\.html?$/i.test(x)){window.open(k,"_blank","noopener,noreferrer");return}C({open:!0,name:x,url:k})}}let Wn=Qv(e,b,L.toLowerCase()),Os=window.location.origin,$n=te.default.useMemo(()=>{let x=new Set;return e.forEach(k=>(k.tags??[]).forEach(D=>x.add(D))),Array.from(x).sort()},[e]),Vn=te.default.useMemo(()=>{var k;let x=(k=l.task)==null?void 0:k.id;return x?kr.filter(D=>D.taskId===x).map(({field:D,from:_,to:pe,actor:me,timestamp:ae,source:oe})=>({field:D,from:_,to:pe,actor:me,timestamp:ae,source:oe})):[]},[(Rr=l.task)==null?void 0:Rr.id,kr]),Pr=te.default.useMemo(()=>{let x=e;return h.status!=="all"&&(x=x.filter(k=>k.status===h.status)),h.component&&(x=x.filter(k=>k.component===h.component)),h.type&&(x=x.filter(k=>k.type===h.type)),h.user&&(x=x.filter(k=>k.author===h.user)),h.tags&&h.tags.length>0&&(x=x.filter(k=>h.tags.every(D=>(k.tags??[]).includes(D)))),x},[e,h]),Tr=Y&&!H;return(0,j.jsxs)(j.Fragment,{children:[Gv&&!o&&(0,j.jsx)(Xv,{onClose:tg?()=>n(!0):void 0}),(0,j.jsx)(fd,{projectName:B,missingProjectIconStyle:"vibeflow",wsConnected:H,port:Kv,searchQuery:L,filterTags:h.tags,allTags:$n,onToggleTag:x=>{let k=h.tags??[],D=k.includes(x)?k.filter(_=>_!==x):[...k,x];P(_=>({..._,tags:D}))},premiumUsage:Z,isLoading:a,taskSummary:Wn,onSearchChange:w,onSettings:()=>g(!0),extraActions:(0,j.jsx)("button",{id:"changelog-btn",onClick:()=>{Nn()},title:"View changelog",style:{fontSize:12,color:"var(--p-text-m)",background:"transparent",border:"1px solid var(--p-border)",borderRadius:8,padding:"5px 10px",cursor:"pointer",whiteSpace:"nowrap"},children:"Changelog"})}),(0,j.jsx)(Sd,{tasks:e,filter:h,view:u,onFilter:P,onViewChange:x=>{d(x),ht.saveSettings({...Oe,viewMode:x}),Mt(k=>({...k,viewMode:x}))}}),(0,j.jsxs)("div",{className:"flex flex-1 overflow-hidden",style:{minHeight:0,position:"relative"},children:[u==="list"?(0,j.jsx)(dd,{tasks:Pr,searchQuery:L,isLoading:a,onOpenPanel:(x,k)=>na(x,k),onAddTask:x=>na(null,"details",x),onDrop:(x,k)=>Dt(x,{status:k})}):(0,j.jsx)(ud,{tasks:Pr,visibleCols:b,searchQuery:L,isLoading:a,onOpenPanel:(x,k,D)=>na(x,k,D),onDrop:(x,k)=>Dt(x,{status:k}),onReorder:br}),l.open&&(0,j.jsxs)("div",{id:"detail-panel-container",style:{width:O,zIndex:i?30:10},className:i?"resizing":"",children:[(0,j.jsx)("div",{id:"detail-panel-resize-handle",onMouseDown:x=>{x.preventDefault(),f(!0),document.body.classList.add("vibeflow-resizing-panel");let k=x.clientX,D=O,_=me=>{let ae=D-(me.clientX-k);c(Math.max(360,Math.min(860,ae)))},pe=me=>{f(!1),document.body.classList.remove("vibeflow-resizing-panel");let ae=Math.max(360,Math.min(860,D-(me.clientX-k)));ht.saveSettings({...Oe,panelWidth:ae}),Mt(oe=>({...oe,panelWidth:ae})),window.removeEventListener("mousemove",_),window.removeEventListener("mouseup",pe)};window.addEventListener("mousemove",_),window.addEventListener("mouseup",pe)}}),(0,j.jsx)(Ld,{open:l.open,task:l.task,tab:l.tab,showLockIndicator:!1,addColumnId:l.addColumnId,gitUserName:X,githubUrl:re,baseUrl:Os,isResizing:i,api:ht,onClose:()=>{ya([]),s(x=>({...x,open:!1}))},onSave:async x=>{l.task&&await Dt(l.task.id,x),s(k=>({...k,open:!1}))},onCreate:async x=>{let k=await Hn(x);return s(D=>({...D,open:!1})),k},onDelete:async x=>{await Bs(x),s(k=>({...k,open:!1}))},onPatch:Dt,onFilePreview:qn,onGoBack:wr.length>0?_n:void 0,navBackLabel:wr.length>0?wr[wr.length-1].title:void 0,externalLocalChanges:Vn,allTasks:e,createBranch:Oe.createBranch})]})]}),Tr&&(0,eg.createPortal)((0,j.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,j.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,j.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,j.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,j.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),(0,j.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--p-text)"},children:"Connection Lost"})]}),(0,j.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,j.jsx)(Id,{open:m,visibleCols:b,settings:Oe,onClose:()=>g(!1),onSave:(x,k)=>{S(x);let D={...Oe,...k,visibleCols:x};Mt(D),ht.saveSettings(D)}}),(0,j.jsx)(Cd,{open:y.open,name:y.name,url:y.url,onClose:()=>C(x=>({...x,open:!1}))}),(0,j.jsx)(Qm,{open:p.open,sections:p.sections,version:p.version,startMode:p.startMode,onClose:Es})]})}var ng=M(W(),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/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 oa=aa(import.meta.url),ia=ra(oa),la=[yt(ia,"kanban-template.html"),yt(process.cwd(),"src","server","kanban-template.html"),yt(process.cwd(),"dist","server","kanban-template.html")];function sa(t){let e=la.find(n=>ta(n));if(!e)throw new Error("kanban-template.html not found in expected locations");return na(e,"utf8").replaceAll("__PORT__",String(t))}function ca(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 ua="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iNCIgZmlsbD0iIzI1NjNlYiIvPjxyZWN0IHg9IjIuNSIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iOCIgcng9IjEiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjciLz48cmVjdCB4PSI2LjUiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0IiByeD0iMSIgZmlsbD0id2hpdGUiLz48cmVjdCB4PSIxMC41IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSI2IiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuNyIvPjxyZWN0IHg9IjE0LjUiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjEwIiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuODUiLz48L3N2Zz4=";function da(t){return`<!DOCTYPE html>
1698
1698
  <html lang="en" class="dark">
1699
1699
  <head>
1700
1700
  <meta charset="UTF-8">
1701
1701
  <meta name="viewport" content="width=device-width, initial-scale=1">
1702
1702
  <title>Vibeflow \u2014 Board</title>
1703
- <link rel="icon" href="${br}" type="image/svg+xml">
1703
+ <link rel="icon" href="${ua}" type="image/svg+xml">
1704
1704
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
1705
- <style>${$t}</style>
1705
+ <style>${Zt}</style>
1706
1706
  </head>
1707
1707
  <body class="h-screen overflow-hidden flex flex-col" style="background:#020c1b;">
1708
1708
  <div id="root"></div>
1709
- <script>window.__PORT__ = ${t.port}; ${gr(t)}</script>
1710
- <script>${lt}</script>
1709
+ <script>window.__PORT__ = ${t.port}; window.__CLI_VERSION__ = ${JSON.stringify(t.cliVersion??"")}; ${ca(t)}</script>
1710
+ <script>${vt}</script>
1711
1711
  </body>
1712
- </html>`}function ct(t){let e=typeof t=="number"?{port:t}:t;return lt?mr(e):fr(e.port)}import{readFileSync as Dt,writeFileSync as ko,mkdirSync as wo,existsSync as Ft}from"fs";import{join as Bt,basename as hr}from"path";import{execSync as vr}from"child_process";var Mt={port:3700};function yr(t){return Bt(t,F,Ct)}function Se(t){let e=yr(t);if(!Ft(e))return{...Mt};let r=Dt(e,"utf-8"),l=JSON.parse(r);return{...Mt,...l}}function $e(t){let e=Bt(t,"package.json");if(Ft(e))try{let r=JSON.parse(Dt(e,"utf-8"));if(r.name)return r.name}catch{}return hr(t)}function Ut(t){try{return vr("git branch --show-current",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}import{mkdirSync as xr,writeFileSync as kr}from"fs";import{dirname as wr}from"path";import{randomBytes as Sr}from"crypto";function Ht(t){let e=t;return{...t,text:t.text||e.body||"",author:t.author??"agent"}}function ae(t,e){let r=ie(t,e);return((r?ne(r):null)?.comments??[]).filter(c=>!c.deleted).map(Ht)}function Wt(t){return Tt(t)}function me(t,e,r,l,c,o,a){l=Wt(l);let i=ie(t,e),d=(i?ne(i):null)?.comments??[],f={id:Sr(8).toString("hex"),author:r,text:l,...c&&c.length>0?{files:c}:{},...o&&o!=="comment"?{type:o}:{},createdAt:new Date().toISOString(),source:a??"cli"},x=[...d,f];if(!H(t,e,{comments:x})){let k=jt(t,e,new Date().toISOString());xr(wr(k),{recursive:!0}),kr(k,JSON.stringify({id:e,comments:x},null,2),"utf-8")}return f}function Me(t,e,r,l){let c=ie(t,e),a=(c?ne(c):null)?.comments??[],i=a.find(s=>s.id===r&&!s.deleted);return i?(i.text=Wt(l),i.updatedAt=new Date().toISOString(),H(t,e,{comments:a}),Ht(i)):null}function De(t,e,r){let l=ie(t,e),o=(l?ne(l):null)?.comments??[],a=o.findIndex(i=>i.id===r&&!i.deleted);return a===-1?!1:(o[a]={...o[a],deleted:!0,text:"[Comment deleted]",updatedAt:new Date().toISOString()},H(t,e,{comments:o}),!0)}import{execSync as qt}from"child_process";import{existsSync as _r,readFileSync as Cr,writeFileSync as Oo,mkdirSync as zo}from"fs";import{join as jr}from"path";var Tr="config.json";function Er(t){return jr(t,F,Tr)}function Ir(t){let e=Er(t);if(!_r(e))return{};try{return JSON.parse(Cr(e,"utf-8"))}catch{return{}}}function Nr(t){return t.length<=8?"***":t.slice(0,6)+"..."+t.slice(-4)}function Pr(){try{return qt("gh auth token --hostname github.com",{encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}async function Rr(t){try{let e=await fetch("https://api.github.com/user",{headers:{Authorization:`Bearer ${t}`,"User-Agent":"proto-studio-cli",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(5e3)});return e.ok?(await e.json()).login??null:null}catch{return null}}function Lr(t){let e=process.env.GITHUB_TOKEN;if(e?.trim())return{token:e.trim(),source:"env"};let l=Ir(t).copilotToken;if(typeof l=="string"&&l.trim())return{token:l.trim(),source:"config"};let c=Pr();return c?{token:c,source:"gh-cli"}:null}async function Ne(t){let e=Lr(t);if(!e)return{authenticated:!1,source:null,tokenHint:null,username:null};let r=await Rr(e.token).catch(()=>null);return{authenticated:!0,source:e.source,tokenHint:Nr(e.token),username:r}}function Fe(){try{return qt("gh --version",{encoding:"utf-8",timeout:3e3,stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}import{existsSync as ut,readFileSync as Vt,writeFileSync as Kt,mkdirSync as Yt}from"fs";import{join as Be}from"path";import Gt from"os";var Or="settings.json";function Qt(){return Be(Gt.homedir(),".vibeflow","settings.json")}function Xt(t){return Be(t,F,Or)}function dt(){try{return JSON.parse(Vt(Qt(),"utf-8"))}catch{return{}}}function Jt(t){let e=Be(Gt.homedir(),".vibeflow");ut(e)||Yt(e,{recursive:!0}),Kt(Qt(),JSON.stringify(t,null,2),"utf-8")}function G(t){let e=dt(),r=Xt(t);if(!ut(r))return e;try{let l=JSON.parse(Vt(r,"utf-8"));return{...e,...l}}catch{return e}}function Zt(t,e){let r=Be(t,F);ut(r)||Yt(r,{recursive:!0});let l=Xt(t),o={...G(t),...e};return Kt(l,JSON.stringify(o,null,2),"utf-8"),o}import Ue from"fs/promises";import zr from"os";import pt from"path";var Ar=pt.join(zr.homedir(),".vibeflow"),He=pt.join(Ar,"token");async function K(){try{return(await Ue.readFile(He,"utf8")).trim()||null}catch{return null}}async function en(t){await Ue.mkdir(pt.dirname(He),{recursive:!0}),await Ue.writeFile(He,t,{mode:384})}async function tn(){try{await Ue.unlink(He)}catch{}}import{initTRPC as $r,TRPCError as ft}from"@trpc/server";import{z as I}from"zod";var an=$r.context().create(),Mr=an.router,Z=an.procedure,nn=I.enum(["backlog","todo","in-progress","review","done"]),Pe=I.string().regex(/^[a-f0-9]{30}$/,"Invalid task ID"),rn=I.string().regex(/^[a-f0-9]{16}$/,"Invalid comment ID"),gt=I.object({id:Pe}),on=Mr({project:Z.query(({ctx:t})=>({name:$e(t.projectDir),projectDir:t.projectDir})),copilotStatus:Z.query(async({ctx:t})=>await Fe()?await Ne(t.projectDir):{authenticated:!1,reason:"gh CLI not found"}),tasks:Z.query(({ctx:t})=>({tasks:Q(t.projectDir).map(l=>({...l,createdAt:l.created,commentCount:(l.comments??[]).filter(c=>!c.deleted).length,fileCount:l.files?.length??0}))})),searchTasks:Z.input(I.object({query:I.string().min(1),limit:I.number().int().min(1).max(100).optional()})).query(({ctx:t,input:e})=>{let r=Q(t.projectDir),l=Math.max(1,e.limit??10),c=e.query.toLowerCase();return{results:r.filter(a=>`${a.title} ${a.description??""} ${a.type??""} ${a.component??""}`.toLowerCase().includes(c)).slice(0,l).map(a=>({score:1,task:a,commentCount:(a.comments??[]).filter(i=>!i.deleted).length,fileCount:a.files?.length??0}))}}),createTask:Z.input(I.object({title:I.string().min(1),selector:I.string().min(1),description:I.string().optional(),cssSelector:I.string().optional(),url:I.string().optional(),type:I.string().optional(),priority:I.string().optional(),file:I.string().optional(),line:I.number().int().positive().optional(),col:I.number().int().positive().optional(),component:I.string().optional(),status:nn.optional(),agent:I.string().optional(),model:I.string().optional(),author:I.string().optional(),annotatedElementText:I.string().max(300).optional()})).mutation(({ctx:t,input:e})=>{let r=we(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:r}}),updateTask:Z.input(I.object({id:Pe,updates:I.object({status:nn.optional(),title:I.string().min(1).optional(),description:I.string().optional(),type:I.string().optional(),priority:I.string().optional(),reportBack:I.boolean().optional(),agent:I.string().optional(),model:I.string().optional(),tags:I.array(I.string().max(50)).max(20).optional(),sortKey:I.string().optional(),branchName:I.string().optional()})})).mutation(({ctx:t,input:e})=>{let r=H(t.projectDir,e.id,e.updates);if(!r)throw new ft({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0,task:r}}),deleteTask:Z.input(gt).mutation(({ctx:t,input:e})=>{if(!Ae(t.projectDir,e.id))throw new ft({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0}}),comments:Z.input(gt).query(({ctx:t,input:e})=>({comments:ae(t.projectDir,e.id)})),addComment:Z.input(I.object({taskId:Pe,text:I.string().trim().min(1,"Comment text is required"),author:I.enum(["user","agent"]).optional().default("user"),files:I.array(I.string()).optional(),source:I.enum(["cli","web"]).optional().default("web")})).mutation(({ctx:t,input:e})=>{let r=me(t.projectDir,e.taskId,e.author,e.text.trim(),e.files,void 0,e.source);return t.broadcast({type:"tasks-updated"}),{success:!0,comment:r}}),updateComment:Z.input(I.object({taskId:Pe,commentId:rn,text:I.string().min(1)})).mutation(({ctx:t,input:e})=>{let r=Me(t.projectDir,e.taskId,e.commentId,e.text.trim());if(!r)throw new ft({code:"NOT_FOUND",message:"Comment not found"});return{success:!0,comment:r}}),deleteComment:Z.input(I.object({taskId:Pe,commentId:rn})).mutation(({ctx:t,input:e})=>(De(t.projectDir,e.taskId,e.commentId),t.broadcast({type:"tasks-updated"}),{success:!0})),files:Z.input(gt).query(({ctx:t,input:e})=>({files:Y(t.projectDir,e.id)}))});import{execSync as ln}from"child_process";function bt(t){try{let e=ln("git config user.name",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),r=ln("git config user.email",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();return{name:e||"Unknown",email:r||""}}catch{return{name:"Unknown",email:""}}}function yt(t){return/^[a-f0-9]{30}$/.test(t)}function Yr(t){return/^[a-f0-9]{16}$/.test(t)}function mt(t){if(!t||t.includes("/")||t.includes("\\")||t==="."||t===".."||t.includes("..")||t.includes("\0"))return!1;for(let e=0;e<t.length;e++)if(t.charCodeAt(e)<32)return!1;return!0}function We(t,e){let r=t.headers.origin;return r&&!r.startsWith("http://localhost")?(e.status(403).json({error:"Forbidden"}),!1):!0}var Gr=["backlog","todo","in-progress","review","done"],Qr=new Set(["https://app.vibeflow.tools"]);function Xr(t){if(!t)return null;try{let e=new URL(t).origin;return Qr.has(e)?e:null}catch{return null}}var Ni=Ur(import.meta.url);function xn(){for(let t of Object.values(Vr()))for(let e of t??[])if(e.family==="IPv4"&&!e.internal)return e.address;return null}function kn(t,e){t.get("/api/pages",(r,l)=>{l.json({pages:e})})}var un=new Map;function dn(t){let r=un.get(t);if(r&&Date.now()-r.fetchedAt<3e5)return r.shas;try{let l=hn("git log --remotes --format=%H",{cwd:t,timeout:5e3}).toString().trim(),c=new Set(l?l.split(`
1713
- `):[]);return un.set(t,{shas:c,fetchedAt:Date.now()}),c}catch{return new Set}}function pn(t,e){return t?e.has(t):null}function wn(t,e,r){t.get("/api/project",(o,a)=>{a.json({name:$e(e),projectDir:e,branch:Ut(e)})}),t.get("/api/tasks",(o,a)=>{let i=Q(e),s=dn(e),d=o.query.status;d&&typeof d=="string"&&(i=i.filter(h=>h.status===d));let f=o.query.limit;if(f){let h=parseInt(f,10);!isNaN(h)&&h>0&&(i=i.slice(0,h))}let x=i.map(h=>{let k=h.commits?.length?h.commits[h.commits.length-1].sha:void 0;return{...h,createdAt:h.created,commentCount:(h.comments??[]).filter(L=>!L.deleted).length,fileCount:h.files?.length??0,commitPushed:pn(k,s)}});a.json({tasks:x})}),t.param("id",(o,a,i,s)=>{if(!yt(s)){a.status(400).json({error:"Invalid task id"});return}i()}),t.param("commentId",(o,a,i,s)=>{if(!Yr(s)){a.status(400).json({error:"Invalid comment id"});return}i()}),t.get("/api/tasks/:id",(o,a)=>{let{id:i}=o.params,s=ie(e,i),d=s?ne(s):null;if(!d){a.status(404).json({error:"Task not found"});return}let f=dn(e),x=d.commits?.length?d.commits[d.commits.length-1].sha:void 0;a.json({...d,commitPushed:pn(x,f)})}),t.post("/api/tasks",(o,a)=>{let{title:i,description:s,selector:d,cssSelector:f,url:x,type:h,priority:k,file:L,line:g,col:p,component:u,status:y,agent:w,model:_,screenshot:S,annotatedElementText:T,tags:m,sortKey:b}=o.body;if(!i||!d){a.status(400).json({error:"Missing required fields: title, selector"});return}let C=bt(e),j=we(e,{title:i,description:s||"",selector:d,cssSelector:f||void 0,url:x||void 0,status:Gr.includes(y)?y:"todo",file:L||void 0,line:g==null?void 0:Number(g),col:p==null?void 0:Number(p),component:u||void 0,type:h||void 0,priority:k||void 0,author:C.name,agent:w||void 0,model:_||void 0,annotatedElementText:T?String(T).slice(0,300):void 0,tags:Array.isArray(m)?m.filter(N=>typeof N=="string"&&N.length>0):void 0,sortKey:b?String(b):void 0});if(S){let N=ee(e,F,Te);cn(N,{recursive:!0});let $=`${j.id}.png`;sn(ee(N,$),Buffer.from(S,"base64")),H(e,j.id,{screenshot:$}),j.screenshot=$}console.log(`[Vibeflow] Task created: "${j.title}" (${j.id})`),r({type:"tasks-updated"}),a.json({success:!0,task:j})}),t.patch("/api/tasks/:id",(o,a)=>{let{id:i}=o.params,s=o.body,d=["backlog","todo","in-progress","review","done"];if(s.status!==void 0&&!d.includes(s.status)){a.status(400).json({error:`Invalid status: ${s.status}`});return}let f=H(e,i,s);if(!f){a.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task updated: "${f.title}" (${f.id}) \u2192 status:${f.status}`),r({type:"task-changed",taskId:f.id,action:"update",task:f}),a.json({success:!0,task:f})}),t.delete("/api/tasks/:id",(o,a)=>{let{id:i}=o.params;if(!Ae(e,i)){a.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task deleted: ${i}`),r({type:"task-deleted",taskId:i}),a.json({success:!0})}),t.get("/api/tasks/:id/comments",(o,a)=>{let{id:i}=o.params,s=ae(e,i);a.json({comments:s})}),t.post("/api/tasks/:id/comments",(o,a)=>{let{id:i}=o.params,{author:s,text:d,files:f,source:x}=o.body;if(!d||!d.trim()){a.status(400).json({error:"Missing required field: text"});return}let h=s==="agent"?"agent":"user",k=x==="cli"?"cli":"web",L=me(e,i,h,d.trim(),Array.isArray(f)?f:void 0,void 0,k);r({type:"tasks-updated"}),a.json({success:!0,comment:L})}),t.patch("/api/tasks/:id/comments/:commentId",(o,a)=>{let{id:i,commentId:s}=o.params,{text:d}=o.body;if(!d||!d.trim()){a.status(400).json({error:"Missing required field: text"});return}let f=Me(e,i,s,d.trim());if(!f){a.status(404).json({error:"Comment not found"});return}a.json({success:!0,comment:f})}),t.delete("/api/tasks/:id/comments/:commentId",(o,a)=>{let{id:i,commentId:s}=o.params;if(!De(e,i,s)){a.status(404).json({error:"Comment not found"});return}r({type:"tasks-updated"}),a.json({success:!0})}),t.get("/api/tasks/:id/files",(o,a)=>{let{id:i}=o.params,s=Y(e,i);a.json({files:s})}),t.get("/api/tasks/:id/files/:filename",(o,a)=>{let{id:i,filename:s}=o.params;if(!mt(s)){a.status(400).json({error:"Invalid filename"});return}let d=Rt(e,i,s);if(!d){a.status(404).json({error:"File not found"});return}a.sendFile(d)});let l=new Set([".png",".jpg",".jpeg",".gif",".webp",".pdf",".txt",".md",".json",".csv",".svg",".mp4",".mov",".zip"]);t.post("/api/tasks/:id/files/:filename",he.raw({type:"*/*",limit:"50mb"}),(o,a)=>{let{id:i,filename:s}=o.params;if(!mt(s)){a.status(400).json({error:"Invalid filename"});return}let d=bn(decodeURIComponent(s)).toLowerCase();if(!l.has(d)){a.status(415).json({error:"File type not allowed"});return}let f=o.body;if(!Buffer.isBuffer(f)||f.length===0){a.status(400).json({error:"Empty file body"});return}let x=Nt(e,i,decodeURIComponent(s),f);r({type:"tasks-updated"}),a.json({success:!0,file:x})}),t.delete("/api/tasks/:id/files/:filename",(o,a)=>{let{id:i,filename:s}=o.params;if(!mt(s)){a.status(400).json({error:"Invalid filename"});return}if(!Pt(e,i,s)){a.status(404).json({error:"File not found"});return}me(e,i,"user",`\u{1F5D1}\uFE0F File removed: \`${s}\``,void 0,"system","web"),r({type:"tasks-updated"}),a.json({success:!0})});let c=ee(e,F,Te);t.post("/api/tasks/:id/screenshot",he.json(),(o,a)=>{let{id:i}=o.params,{screenshot:s}=o.body;if(!ie(e,i)){a.status(404).json({error:"Task not found"});return}if(!s){a.status(400).json({error:"Missing screenshot"});return}cn(c,{recursive:!0});let d=`${i}.png`;sn(ee(c,d),Buffer.from(s,"base64")),H(e,i,{screenshot:d}),r({type:"tasks-updated"}),a.json({success:!0,screenshot:d})}),t.delete("/api/tasks/:id/screenshot",(o,a)=>{let{id:i}=o.params;if(!ie(e,i)){a.status(404).json({error:"Task not found"});return}let s=`${i}.png`,d=ee(c,s);vt(d)&&gn(d),H(e,i,{screenshot:void 0}),r({type:"tasks-updated"}),a.json({success:!0})})}function Sn(t,e,r){t.get("/api/user",(c,o)=>{o.json(bt(e))}),t.get("/api/settings",(c,o)=>{o.json(G(e))}),t.post("/api/settings",(c,o)=>{if(!We(c,o))return;let a=new Set(["visibleCols","viewMode","panelWidth","autoCommit","autoComment","autoPush","createBranch"]),i=Object.fromEntries(Object.entries(c.body).filter(([d])=>a.has(d))),s=Zt(e,i);o.json({success:!0,settings:s})}),t.get("/api/push/workspaces",async(c,o)=>{let a=await K().catch(()=>null);if(!a){o.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 ${a}`}});if(!s.ok){let f=(await s.json().catch(()=>({}))).error??`HTTP ${s.status} from ${i}`;console.error(`[Vibeflow] GET /api/push/workspaces failed: ${f}`),o.status(s.status).json({error:f});return}o.json(await s.json())}catch(s){let d=s instanceof Error?s.message:String(s);console.error(`[Vibeflow] GET /api/push/workspaces network error: ${d}`),o.status(502).json({error:`Network error contacting SaaS API: ${d}`})}}),t.post("/api/push",he.json(),async(c,o)=>{let{workspaceId:a,keepLocalFiles:i}=c.body,s=await K().catch(()=>null);if(!s){o.status(401).json({error:"Not logged in"});return}let d=X(e);if(d.length===0){o.json({imported:0,message:"No local tasks found"});return}let f=process.env.VIBEFLOW_API_URL??"http://localhost:3000",x={tasks:d};try{let h=await fetch(`${f}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`},body:JSON.stringify(x)});if(!h.ok){let L=await h.json().catch(()=>({}));o.status(h.status).json({error:L.error??"Import failed"});return}let k=await h.json();if(!i){for(let L of d)try{gn(L.filePath)}catch{}r?.({type:"tasks-updated"})}o.json({imported:k.imported,skipped:k.skipped??0,workspaceId:k.workspaceId,boardId:k.boardId})}catch(h){let k=h instanceof Error?h.message:String(h);console.error(`[Vibeflow] POST /api/push network error: ${k}`),o.status(502).json({error:`Network error contacting SaaS API: ${k}`})}}),t.get("/api/copilot/status",(c,o)=>{Ne(e).then(a=>o.json(a)).catch(a=>{console.error(`[Vibeflow] GET /api/copilot/status error: ${a instanceof Error?a.message:String(a)}`),o.json({authenticated:!1,source:null,tokenHint:null,username:null})})}),t.post("/api/copilot/login",async(c,o)=>{if(We(c,o))try{let a=await Ne(e);if(a.authenticated){o.json({launched:!1,alreadyAuthenticated:!0,username:a.username??null});return}if(!Fe()){o.status(400).json({launched:!1,error:"GitHub CLI is not installed. Install gh and authenticate with 'gh auth login'."});return}qr("gh",["auth","login","--web","--hostname","github.com","--git-protocol","https","--scopes","read:user,copilot"],{cwd:e,detached:!0,stdio:"ignore"}).unref(),o.json({launched:!0})}catch(a){let i=a instanceof Error?a.message:String(a);console.error(`[Vibeflow] POST /api/copilot/login error: ${i}`),o.status(500).json({launched:!1,error:i})}});let l=null;t.get("/api/agent-status",(c,o)=>{o.json(l??{message:"",active:!1,updatedAt:null})}),t.post("/api/agent-status",(c,o)=>{if(!We(c,o))return;let{message:a,active:i}=c.body;l={message:(a??"").slice(0,200),active:i!==!1,updatedAt:new Date().toISOString()},r?.({type:"agent-status",...l}),o.json({ok:!0})}),t.delete("/api/agent-status",(c,o)=>{We(c,o)&&(l=null,r?.({type:"agent-status",message:"",active:!1,updatedAt:null}),o.json({ok:!0}))}),t.get("/api/github-url",(c,o)=>{try{let a=hn("git remote get-url origin",{cwd:e,timeout:3e3}).toString().trim(),i=a.match(/^git@github\.com:(.+?)(?:\.git)?$/);if(i){o.json({githubUrl:`https://github.com/${i[1]}`});return}let s=a.match(/^(https?:\/\/github\.com\/[^/]+\/[^/]+?)(?:\.git)?$/);if(s){o.json({githubUrl:s[1]});return}}catch{}o.json({githubUrl:null})})}function _n(t,e){let r=process.env.VIBEFLOW_ADMIN_EMAIL??"",l=process.env.VIBEFLOW_API_URL??"http://localhost:3000";t.get("/kanban",async(c,o)=>{let a=await K().catch(()=>null);if(!a){o.type("html").send(ct({port:e}));return}let i=await J().catch(()=>null),s=!1;if(r)try{let f=await fetch(`${l}/api/cli/profile`,{headers:{Authorization:`Bearer ${a}`}}).catch(()=>null);f?.ok&&(s=(await f.json()).email===r)}catch{}let d={port:e,saasMode:!0,boardUrl:i?.url??`${l}/kanban`,boardName:i?.name,isAdmin:s};o.type("html").send(ct(d))})}var Jr=`*{box-sizing:border-box;margin:0;padding:0}
1712
+ </html>`}function xt(t){let e=typeof t=="number"?{port:t}:t;return vt?da(e):sa(e.port)}import{existsSync as pa,readFileSync as fa}from"fs";import{dirname as ga,join as en}from"path";import{fileURLToPath as ma}from"url";import kt from"chalk";var ba=ga(ma(import.meta.url));function tn(t){let e=/^## (\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)[ \t]*$/gm,n=[...t.matchAll(e)],i=[];for(let l=0;l<n.length;l++){let o=n[l];if(!o)continue;let r=(o.index??0)+o[0].length,s=n[l+1],c=s?s.index??t.length:t.length;i.push({version:o[1]??"",markdown:t.slice(r,c).trim()})}return i}function ha(t){return t[0]??null}function va(t){let e=[` ${kt.bold(`What's new in ${t.version}`)}`,""];for(let n of t.markdown.split(`
1713
+ `)){let i=/^### (.+)$/.exec(n);i?e.push(` ${kt.bold.underline(i[1]??"")}`):e.push(` ${kt.dim(n.trimEnd())}`)}return e.join(`
1714
+ `)}function qe(t,e={}){let n=tn(t);return n.length===0?"":(e.all?n:n.slice(0,1)).map(l=>va(l)).join(`
1715
+
1716
+ `)}function ya(t){return[en(t,"..","CHANGELOG.md"),en(t,"..","..","CHANGELOG.md")]}function Re(t=ba){try{for(let e of ya(t))if(pa(e))return fa(e,"utf8");return null}catch{return null}}function nn(t){let e=tn(t??"");return{version:ha(e)?.version??null,sections:e}}import{readFileSync as rn,writeFileSync as Ji,mkdirSync as Zi,existsSync as an}from"fs";import{join as on,basename as xa}from"path";import{execSync as ka}from"child_process";var wt={port:3700};function wa(t){return on(t,U,Ht)}function Le(t){let e=wa(t);if(!an(e))return{...wt};let n=rn(e,"utf-8"),i;try{i=JSON.parse(n)}catch{return{...wt}}return{...wt,...i}}function Ke(t){let e=on(t,"package.json");if(an(e))try{let n=JSON.parse(rn(e,"utf-8"));if(n.name)return n.name}catch{}return xa(t)}function ln(t){try{return ka("git branch --show-current",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}import{mkdirSync as Sa,writeFileSync as _a,renameSync as Ca}from"fs";import{dirname as Ea}from"path";import{randomBytes as Ta}from"crypto";function sn(t){let e=t;return{...t,text:t.text||e.body||"",author:t.author??"agent"}}function pe(t,e){let n=V(t,e);return((n?ee(n):null)?.comments??[]).filter(l=>!l.deleted).map(sn)}function cn(t){return Vt(t)}function be(t,e,n,i,l,o,r){i=cn(i);let s=V(t,e),u=(s?ee(s):null)?.comments??[],d={id:Ta(8).toString("hex"),author:n,text:i,...l&&l.length>0?{files:l}:{},...o&&o!=="comment"?{type:o}:{},createdAt:new Date().toISOString(),source:r??"cli"},b=[...u,d];if(!B(t,e,{comments:b})){let h=Wt(t,e,new Date().toISOString());Sa(Ea(h),{recursive:!0});let j=h+".tmp";_a(j,JSON.stringify({id:e,comments:b},null,2),"utf-8"),Ca(j,h)}return d}function Ye(t,e,n,i){let l=V(t,e),r=(l?ee(l):null)?.comments??[],s=r.find(c=>c.id===n&&!c.deleted);return s?(s.text=cn(i),s.updatedAt=new Date().toISOString(),B(t,e,{comments:r}),sn(s)):null}function Ge(t,e,n){let i=V(t,e),o=(i?ee(i):null)?.comments??[],r=o.findIndex(s=>s.id===n&&!s.deleted);return r===-1?!1:(o[r]={...o[r],deleted:!0,text:"[Comment deleted]",updatedAt:new Date().toISOString()},B(t,e,{comments:o}),!0)}import Qe from"crypto";var ja="vibeflow-auth-v1",Ia=1440*60*1e3;function un(t){return Qe.scryptSync(t,ja,32)}function dn(t,e){let n=un(e),i=Qe.randomBytes(16),l=Qe.createCipheriv("aes-256-gcm",n,i),o=JSON.stringify(t),r=Buffer.concat([l.update(o),l.final()]),s=l.getAuthTag();return{version:1,createdAt:new Date().toISOString(),expiresAt:new Date(Date.now()+Ia).toISOString(),iv:i.toString("hex"),tag:s.toString("hex"),data:r.toString("hex")}}function pn(t,e){if(new Date(t.expiresAt)<new Date)return null;try{let n=un(e),i=Qe.createDecipheriv("aes-256-gcm",n,Buffer.from(t.iv,"hex"));i.setAuthTag(Buffer.from(t.tag,"hex"));let l=Buffer.concat([i.update(Buffer.from(t.data,"hex")),i.final()]);return JSON.parse(l.toString())}catch{return null}}import{execSync as fn}from"child_process";import{existsSync as Na,readFileSync as Pa,writeFileSync as fl,mkdirSync as gl}from"fs";import{join as Ra}from"path";var La="config.json";function Oa(t){return Ra(t,U,La)}function Aa(t){let e=Oa(t);if(!Na(e))return{};try{return JSON.parse(Pa(e,"utf-8"))}catch{return{}}}function $a(t){return t.length<=8?"***":t.slice(0,6)+"..."+t.slice(-4)}function za(){try{return fn("gh auth token --hostname github.com",{encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}async function Ma(t){try{let e=await fetch("https://api.github.com/user",{headers:{Authorization:`Bearer ${t}`,"User-Agent":"proto-studio-cli",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(5e3)});return e.ok?(await e.json()).login??null:null}catch{return null}}function Da(t){let e=process.env.GITHUB_TOKEN;if(e?.trim())return{token:e.trim(),source:"env"};let i=Aa(t).copilotToken;if(typeof i=="string"&&i.trim())return{token:i.trim(),source:"config"};let l=za();return l?{token:l,source:"gh-cli"}:null}async function Fe(t){let e=Da(t);if(!e)return{authenticated:!1,source:null,tokenHint:null,username:null};let n=await Ma(e.token).catch(()=>null);return{authenticated:!0,source:e.source,tokenHint:$a(e.token),username:n}}function Xe(){try{return fn("gh --version",{encoding:"utf-8",timeout:3e3,stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}import{existsSync as St,readFileSync as gn,writeFileSync as mn,mkdirSync as bn,renameSync as hn}from"fs";import{join as Je}from"path";import vn from"os";var Fa="settings.json";function yn(){return Je(vn.homedir(),".vibeflow","settings.json")}function xn(t){return Je(t,U,Fa)}function _t(){try{return JSON.parse(gn(yn(),"utf-8"))}catch{return{}}}function kn(t){let e=Je(vn.homedir(),".vibeflow");St(e)||bn(e,{recursive:!0});let n=yn(),i=n+".tmp";mn(i,JSON.stringify(t,null,2),"utf-8"),hn(i,n)}function ne(t){let e=_t(),n=xn(t);if(!St(n))return e;try{let i=JSON.parse(gn(n,"utf-8"));return{...e,...i}}catch{return e}}function wn(t,e){let n=Je(t,U);St(n)||bn(n,{recursive:!0});let i=xn(t),o={...ne(t),...e},r=i+".tmp";return mn(r,JSON.stringify(o,null,2),"utf-8"),hn(r,i),o}import Ze from"fs/promises";import Ba from"os";import Ct from"path";var Ua=Ct.join(Ba.homedir(),".vibeflow"),et=Ct.join(Ua,"token");async function Z(){try{return(await Ze.readFile(et,"utf8")).trim()||null}catch{return null}}async function Sn(t){await Ze.mkdir(Ct.dirname(et),{recursive:!0}),await Ze.writeFile(et,t,{mode:384})}async function _n(){try{await Ze.unlink(et)}catch{}}import{initTRPC as Ha,TRPCError as Et}from"@trpc/server";import{z as L}from"zod";var Tn=Ha.context().create(),Wa=Tn.router,ie=Tn.procedure,Cn=L.enum(["backlog","todo","in-progress","review","done"]),Be=L.string().regex(/^[a-f0-9]{30}$/,"Invalid task ID"),En=L.string().regex(/^[a-f0-9]{16}$/,"Invalid comment ID"),Tt=L.object({id:Be}),jn=Wa({project:ie.query(({ctx:t})=>({name:Ke(t.projectDir),projectDir:t.projectDir})),copilotStatus:ie.query(async({ctx:t})=>await Xe()?await Fe(t.projectDir):{authenticated:!1,reason:"gh CLI not found"}),tasks:ie.query(({ctx:t})=>({tasks:re(t.projectDir).map(i=>({...i,createdAt:i.created,commentCount:(i.comments??[]).filter(l=>!l.deleted).length,fileCount:i.files?.length??0}))})),searchTasks:ie.input(L.object({query:L.string().min(1),limit:L.number().int().min(1).max(100).optional()})).query(({ctx:t,input:e})=>{let n=re(t.projectDir),i=Math.max(1,e.limit??10),l=e.query.toLowerCase();return{results:n.filter(r=>`${r.title} ${r.description??""} ${r.type??""} ${r.component??""}`.toLowerCase().includes(l)).slice(0,i).map(r=>({score:1,task:r,commentCount:(r.comments??[]).filter(s=>!s.deleted).length,fileCount:r.files?.length??0}))}}),createTask:ie.input(L.object({title:L.string().min(1),selector:L.string().min(1),description:L.string().optional(),cssSelector:L.string().optional(),url:L.string().optional(),type:L.string().optional(),priority:L.string().optional(),file:L.string().optional(),line:L.number().int().positive().optional(),col:L.number().int().positive().optional(),component:L.string().optional(),status:Cn.optional(),agent:L.string().optional(),model:L.string().optional(),author:L.string().optional(),annotatedElementText:L.string().max(300).optional()})).mutation(({ctx:t,input:e})=>{let n=Ne(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:ie.input(L.object({id:Be,updates:L.object({status:Cn.optional(),title:L.string().min(1).optional(),description:L.string().optional(),type:L.string().optional(),priority:L.string().optional(),reportBack:L.boolean().optional(),agent:L.string().optional(),model:L.string().optional(),tags:L.array(L.string().max(50)).max(20).optional(),sortKey:L.string().optional(),branchName:L.string().optional()})})).mutation(({ctx:t,input:e})=>{let n=B(t.projectDir,e.id,e.updates);if(!n)throw new Et({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0,task:n}}),deleteTask:ie.input(Tt).mutation(({ctx:t,input:e})=>{if(!Ve(t.projectDir,e.id))throw new Et({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0}}),comments:ie.input(Tt).query(({ctx:t,input:e})=>({comments:pe(t.projectDir,e.id)})),addComment:ie.input(L.object({taskId:Be,text:L.string().trim().min(1,"Comment text is required"),author:L.enum(["user","agent"]).optional().default("user"),files:L.array(L.string()).optional(),source:L.enum(["cli","web"]).optional().default("web")})).mutation(({ctx:t,input:e})=>{let n=be(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:ie.input(L.object({taskId:Be,commentId:En,text:L.string().min(1)})).mutation(({ctx:t,input:e})=>{let n=Ye(t.projectDir,e.taskId,e.commentId,e.text.trim());if(!n)throw new Et({code:"NOT_FOUND",message:"Comment not found"});return{success:!0,comment:n}}),deleteComment:ie.input(L.object({taskId:Be,commentId:En})).mutation(({ctx:t,input:e})=>(Ge(t.projectDir,e.taskId,e.commentId),t.broadcast({type:"tasks-updated"}),{success:!0})),files:ie.input(Tt).query(({ctx:t,input:e})=>({files:te(t.projectDir,e.id)}))});import{execSync as In}from"child_process";function jt(t){try{let e=In("git config user.name",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),n=In("git config user.email",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();return{name:e||"Unknown",email:n||""}}catch{return{name:"Unknown",email:""}}}function Rt(t){return/^[a-f0-9]{30}$/.test(t)}function Za(t){return/^[a-f0-9]{16}$/.test(t)}function It(t){if(!t||t.includes("/")||t.includes("\\")||t==="."||t===".."||t.includes("..")||t.includes("\0"))return!1;for(let e=0;e<t.length;e++)if(t.charCodeAt(e)<32)return!1;return!0}function tt(t,e){let n=t.headers.origin;return n&&!n.startsWith("http://localhost")?(e.status(403).json({error:"Forbidden"}),!1):!0}var eo=["backlog","todo","in-progress","review","done"],to=new Set(["https://app.vibeflow.tools"]);function no(t){if(!t)return null;try{let e=new URL(t).origin;return to.has(e)?e:null}catch{return null}}var Rn="0.11.0";function Hn(){for(let t of Object.values(Xa()))for(let e of t??[])if(e.family==="IPv4"&&!e.internal)return e.address;return null}function he(t,e,n,i=""){return t?S.dim(" ".repeat(n)+i)+S.cyan(`${t}${e}`):null}function Wn(t,e){return t?S.dim(" ".repeat(e)+"or: ")+S.yellow(`<script src="${t}/vibeflow-overlay.js" data-vibeflow-overlay></script>`):null}function Vn(t,e){t.get("/api/pages",(n,i)=>{i.json({pages:e})})}var Ln=new Map;function On(t){let n=Ln.get(t);if(n&&Date.now()-n.fetchedAt<3e5)return n.shas;try{let i=Fn("git log --remotes --format=%H",{cwd:t,timeout:5e3}).toString().trim(),l=new Set(i?i.split(`
1717
+ `):[]);return Ln.set(t,{shas:l,fetchedAt:Date.now()}),l}catch{return new Set}}function An(t,e){return t?e.has(t):null}function qn(t,e,n){t.get("/api/project",(o,r)=>{r.json({name:Ke(e),projectDir:e,branch:ln(e)})}),t.get("/api/health",(o,r)=>{r.json({ok:!0})}),t.get("/api/changelog",(o,r)=>{r.json(nn(Re()))}),t.get("/api/tasks",(o,r)=>{let s=re(e),c=On(e),u=o.query.status;u&&typeof u=="string"&&(s=s.filter(g=>g.status===u));let d=o.query.limit;if(d){let g=parseInt(d,10);!isNaN(g)&&g>0&&(s=s.slice(0,g))}let b=s.map(g=>{let h=g.commits?.length?g.commits[g.commits.length-1].sha:void 0;return{...g,createdAt:g.created,commentCount:(g.comments??[]).filter(j=>!j.deleted).length,fileCount:g.files?.length??0,commitPushed:An(h,c)}});r.json({tasks:b})}),t.param("id",(o,r,s,c)=>{if(!Rt(c)){r.status(400).json({error:"Invalid task id"});return}s()}),t.param("commentId",(o,r,s,c)=>{if(!Za(c)){r.status(400).json({error:"Invalid comment id"});return}s()}),t.get("/api/tasks/:id",(o,r)=>{let{id:s}=o.params,c=V(e,s),u=c?ee(c):null;if(!u){r.status(404).json({error:"Task not found"});return}let d=On(e),b=u.commits?.length?u.commits[u.commits.length-1].sha:void 0;r.json({...u,commitPushed:An(b,d)})}),t.post("/api/tasks",(o,r)=>{let{title:s,description:c,selector:u,cssSelector:d,url:b,type:g,priority:h,file:j,line:m,col:p,component:f,status:y,agent:x,model:E,screenshot:T,annotatedElementText:C,tags:w,sortKey:k}=o.body;if(!s||!u){r.status(400).json({error:"Missing required fields: title, selector"});return}let I=jt(e),N=Ne(e,{title:s,description:c||"",selector:u,cssSelector:d||void 0,url:b||void 0,status:eo.includes(y)?y:"todo",file:j||void 0,line:m==null?void 0:Number(m),col:p==null?void 0:Number(p),component:f||void 0,type:g||void 0,priority:h||void 0,author:I.name,agent:x||void 0,model:E||void 0,annotatedElementText:C?String(C).slice(0,300):void 0,tags:Array.isArray(w)?w.filter(P=>typeof P=="string"&&P.length>0):void 0,sortKey:k?String(k):void 0});if(T){let P=le(e,U,ze);Pn(P,{recursive:!0});let v=`${N.id}.png`;Nn(le(P,v),Buffer.from(T,"base64")),B(e,N.id,{screenshot:v}),N.screenshot=v}console.log(`[Vibeflow] Task created: "${N.title}" (${N.id})`),n({type:"tasks-updated"}),r.json({success:!0,task:N})}),t.patch("/api/tasks/:id",(o,r)=>{let{id:s}=o.params,c=o.body,u=["backlog","todo","in-progress","review","done"];if(c.status!==void 0&&!u.includes(c.status)){r.status(400).json({error:`Invalid status: ${c.status}`});return}let d=B(e,s,c);if(!d){r.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task updated: "${d.title}" (${d.id}) \u2192 status:${d.status}`),n({type:"task-changed",taskId:d.id,action:"update",task:d}),r.json({success:!0,task:d})}),t.delete("/api/tasks/:id",(o,r)=>{let{id:s}=o.params;if(!Ve(e,s)){r.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task deleted: ${s}`),n({type:"task-deleted",taskId:s}),r.json({success:!0})}),t.get("/api/tasks/:id/comments",(o,r)=>{let{id:s}=o.params,c=pe(e,s);r.json({comments:c})}),t.post("/api/tasks/:id/comments",(o,r)=>{let{id:s}=o.params,{author:c,text:u,files:d,source:b}=o.body;if(!u||!u.trim()){r.status(400).json({error:"Missing required field: text"});return}let g=c==="agent"?"agent":"user",h=b==="cli"?"cli":"web",j=be(e,s,g,u.trim(),Array.isArray(d)?d:void 0,void 0,h);n({type:"tasks-updated"}),r.json({success:!0,comment:j})}),t.patch("/api/tasks/:id/comments/:commentId",(o,r)=>{let{id:s,commentId:c}=o.params,{text:u}=o.body;if(!u||!u.trim()){r.status(400).json({error:"Missing required field: text"});return}let d=Ye(e,s,c,u.trim());if(!d){r.status(404).json({error:"Comment not found"});return}r.json({success:!0,comment:d})}),t.delete("/api/tasks/:id/comments/:commentId",(o,r)=>{let{id:s,commentId:c}=o.params;if(!Ge(e,s,c)){r.status(404).json({error:"Comment not found"});return}n({type:"tasks-updated"}),r.json({success:!0})}),t.get("/api/tasks/:id/files",(o,r)=>{let{id:s}=o.params,c=te(e,s);r.json({files:c})}),t.get("/api/tasks/:id/files/:filename",(o,r)=>{let{id:s,filename:c}=o.params;if(!It(c)){r.status(400).json({error:"Invalid filename"});return}let u=Pe(e,s,c);if(!u){r.status(404).json({error:"File not found"});return}r.sendFile(u)});let i=new Set([".png",".jpg",".jpeg",".gif",".webp",".pdf",".txt",".md",".json",".csv",".svg",".mp4",".mov",".zip"]);t.post("/api/tasks/:id/files/:filename",ge.raw({type:"*/*",limit:"50mb"}),(o,r)=>{let{id:s,filename:c}=o.params;if(!It(c)){r.status(400).json({error:"Invalid filename"});return}let u=Mn(decodeURIComponent(c)).toLowerCase();if(!i.has(u)){r.status(415).json({error:"File type not allowed"});return}let d=o.body;if(!Buffer.isBuffer(d)||d.length===0){r.status(400).json({error:"Empty file body"});return}let b=G(e,s,decodeURIComponent(c),d);n({type:"tasks-updated"}),r.json({success:!0,file:b})}),t.delete("/api/tasks/:id/files/:filename",(o,r)=>{let{id:s,filename:c}=o.params;if(!It(c)){r.status(400).json({error:"Invalid filename"});return}if(!Yt(e,s,c)){r.status(404).json({error:"File not found"});return}be(e,s,"user",`\u{1F5D1}\uFE0F File removed: \`${c}\``,void 0,"system","web"),n({type:"tasks-updated"}),r.json({success:!0})});let l=le(e,U,ze);t.post("/api/tasks/:id/screenshot",ge.json(),(o,r)=>{let{id:s}=o.params,{screenshot:c}=o.body;if(!V(e,s)){r.status(404).json({error:"Task not found"});return}if(!c){r.status(400).json({error:"Missing screenshot"});return}Pn(l,{recursive:!0});let u=`${s}.png`;Nn(le(l,u),Buffer.from(c,"base64")),B(e,s,{screenshot:u}),n({type:"tasks-updated"}),r.json({success:!0,screenshot:u})}),t.delete("/api/tasks/:id/screenshot",(o,r)=>{let{id:s}=o.params;if(!V(e,s)){r.status(404).json({error:"Task not found"});return}let c=`${s}.png`,u=le(l,c);Pt(u)&&zn(u),B(e,s,{screenshot:void 0}),n({type:"tasks-updated"}),r.json({success:!0})}),t.post("/api/tasks/:id/auth-state",ge.json(),async(o,r)=>{let{id:s}=o.params,{authState:c,taskAuthor:u}=o.body;if(!V(e,s)){r.status(404).json({error:"Task not found"});return}if(!c||!u){r.status(400).json({error:"Missing required fields: authState, taskAuthor"});return}try{let b=dn(c,u);B(e,s,{authStateEnc:JSON.stringify(b)}),console.log(`[Vibeflow] Auth state stored for task ${s}`),r.json({success:!0})}catch(b){let g=b instanceof Error?b.message:String(b);console.error(`[Vibeflow] Failed to store auth state for ${s}: ${g}`),r.status(500).json({error:"Failed to store auth state"})}}),t.post("/api/tasks/:id/baseline",ge.json(),(o,r)=>{let{id:s}=o.params,{baseline:c}=o.body;if(!V(e,s)){r.status(404).json({error:"Task not found"});return}if(!c||!c.selector||!c.outerHTML){r.status(400).json({error:"Missing required fields: baseline.selector, baseline.outerHTML"});return}try{let u="baseline-element.json";G(e,s,u,Buffer.from(JSON.stringify(c,null,2))),B(e,s,{baselineElementFile:u}),console.log(`[Vibeflow] Baseline snapshot stored for task ${s} (${u})`),r.json({success:!0})}catch(u){let d=u instanceof Error?u.message:String(u);console.error(`[Vibeflow] Failed to store baseline for ${s}: ${d}`),r.status(500).json({error:"Failed to store baseline"})}}),t.post("/api/tasks/:id/baseline-page",ge.json({limit:"10mb"}),(o,r)=>{let{id:s}=o.params,{page:c}=o.body;if(!V(e,s)){r.status(404).json({error:"Task not found"});return}if(!c||c.version!==1||!c.elements){r.status(400).json({error:"Missing required fields: page.version, page.elements"});return}try{let u="baseline-page.json";G(e,s,u,Buffer.from(JSON.stringify(c,null,2))),B(e,s,{baselineFile:u}),console.log(`[Vibeflow] Page baseline stored for task ${s} (${u})`),r.json({success:!0})}catch(u){let d=u instanceof Error?u.message:String(u);console.error(`[Vibeflow] Failed to store page baseline for ${s}: ${d}`),r.status(500).json({error:"Failed to store page baseline"})}})}function Kn(t,e,n){t.get("/api/user",(l,o)=>{o.json(jt(e))}),t.get("/api/settings",(l,o)=>{o.json(ne(e))}),t.post("/api/settings",(l,o)=>{if(!tt(l,o))return;let r=new Set(["visibleCols","viewMode","panelWidth","autoCommit","autoComment","autoPush","createBranch"]),s=Object.fromEntries(Object.entries(l.body).filter(([u])=>r.has(u))),c=wn(e,s);o.json({success:!0,settings:c})}),t.get("/api/push/workspaces",async(l,o)=>{let r=await Z().catch(()=>null);if(!r){o.status(401).json({error:"Not logged in"});return}let s=process.env.VIBEFLOW_API_URL??"http://localhost:3000";try{let c=await fetch(`${s}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${r}`}});if(!c.ok){let d=(await c.json().catch(()=>({}))).error??`HTTP ${c.status} from ${s}`;console.error(`[Vibeflow] GET /api/push/workspaces failed: ${d}`),o.status(c.status).json({error:d});return}o.json(await c.json())}catch(c){let u=c instanceof Error?c.message:String(c);console.error(`[Vibeflow] GET /api/push/workspaces network error: ${u}`),o.status(502).json({error:`Network error contacting SaaS API: ${u}`})}}),t.post("/api/push",ge.json(),async(l,o)=>{let{workspaceId:r,keepLocalFiles:s}=l.body,c=await Z().catch(()=>null);if(!c){o.status(401).json({error:"Not logged in"});return}let u=ae(e);if(u.length===0){o.json({imported:0,message:"No local tasks found"});return}let d=process.env.VIBEFLOW_API_URL??"http://localhost:3000",b={tasks:u};try{let g=await fetch(`${d}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`},body:JSON.stringify(b)});if(!g.ok){let j=await g.json().catch(()=>({}));o.status(g.status).json({error:j.error??"Import failed"});return}let h=await g.json();if(!s){for(let j of u)try{zn(j.filePath)}catch{}n?.({type:"tasks-updated"})}o.json({imported:h.imported,skipped:h.skipped??0,workspaceId:h.workspaceId,boardId:h.boardId})}catch(g){let h=g instanceof Error?g.message:String(g);console.error(`[Vibeflow] POST /api/push network error: ${h}`),o.status(502).json({error:`Network error contacting SaaS API: ${h}`})}}),t.get("/api/copilot/status",(l,o)=>{Fe(e).then(r=>o.json(r)).catch(r=>{console.error(`[Vibeflow] GET /api/copilot/status error: ${r instanceof Error?r.message:String(r)}`),o.json({authenticated:!1,source:null,tokenHint:null,username:null})})}),t.post("/api/copilot/login",async(l,o)=>{if(tt(l,o))try{let r=await Fe(e);if(r.authenticated){o.json({launched:!1,alreadyAuthenticated:!0,username:r.username??null});return}if(!Xe()){o.status(400).json({launched:!1,error:"GitHub CLI is not installed. Install gh and authenticate with 'gh auth login'."});return}Qa("gh",["auth","login","--web","--hostname","github.com","--git-protocol","https","--scopes","read:user,copilot"],{cwd:e,detached:!0,stdio:"ignore"}).unref(),o.json({launched:!0})}catch(r){let s=r instanceof Error?r.message:String(r);console.error(`[Vibeflow] POST /api/copilot/login error: ${s}`),o.status(500).json({launched:!1,error:s})}});let i=null;t.get("/api/agent-status",(l,o)=>{o.json(i??{message:"",active:!1,updatedAt:null})}),t.post("/api/agent-status",(l,o)=>{if(!tt(l,o))return;let{message:r,active:s}=l.body;i={message:(r??"").slice(0,200),active:s!==!1,updatedAt:new Date().toISOString()},n?.({type:"agent-status",...i}),o.json({ok:!0})}),t.delete("/api/agent-status",(l,o)=>{tt(l,o)&&(i=null,n?.({type:"agent-status",message:"",active:!1,updatedAt:null}),o.json({ok:!0}))}),t.get("/api/github-url",(l,o)=>{try{let r=Fn("git remote get-url origin",{cwd:e,timeout:3e3}).toString().trim(),s=r.match(/^git@github\.com:(.+?)(?:\.git)?$/);if(s){o.json({githubUrl:`https://github.com/${s[1]}`});return}let c=r.match(/^(https?:\/\/github\.com\/[^/]+\/[^/]+?)(?:\.git)?$/);if(c){o.json({githubUrl:c[1]});return}}catch{}o.json({githubUrl:null})})}function Yn(t,e){let n=process.env.VIBEFLOW_ADMIN_EMAIL??"",i=process.env.VIBEFLOW_API_URL??"http://localhost:3000";t.get("/kanban",async(l,o)=>{let r=await Z().catch(()=>null);if(!r){o.type("html").send(xt({port:e,cliVersion:Rn}));return}let s=await oe().catch(()=>null),c=!1;if(n)try{let d=await fetch(`${i}/api/cli/profile`,{headers:{Authorization:`Bearer ${r}`}}).catch(()=>null);d?.ok&&(c=(await d.json()).email===n)}catch{}let u={port:e,cliVersion:Rn,saasMode:!0,boardUrl:s?.url??`${i}/kanban`,boardName:s?.name,isAdmin:c};o.type("html").send(xt(u))})}var ro=`*{box-sizing:border-box;margin:0;padding:0}
1714
1718
  body{font-family:system-ui,sans-serif;background:#0f172a;color:#e2e8f0;padding:32px;max-width:700px;margin:0 auto}
1715
1719
  h1{font-size:22px;font-weight:700;color:#f1f5f9;margin-bottom:6px}
1716
1720
  h2{font-size:14px;font-weight:600;color:#94a3b8;margin:24px 0 8px;text-transform:uppercase;letter-spacing:.06em}
@@ -1723,54 +1727,66 @@ code{font-family:monospace;font-size:12px;color:#a5b4fc;word-break:break-all}
1723
1727
  .badge{display:inline-block;padding:2px 8px;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);border-radius:10px;font-size:11px;color:#60a5fa;margin-left:6px}
1724
1728
  .badge.green{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.3);color:#4ade80}
1725
1729
  pre{background:#050d1a;border:1px solid #1e293b;border-radius:6px;padding:12px;overflow-x:auto;font-family:monospace;font-size:12px;color:#a5b4fc;margin-top:8px}
1726
- .note{font-size:11px;color:#64748b;margin-top:8px;padding:8px 10px;background:#0a0f1e;border-radius:6px;border-left:3px solid #334155}`;function ht(t){return t.replace(/</g,"&lt;").replace(/>/g,"&gt;")}var Zr="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Crect width='32' height='32' rx='7' fill='%232563eb'/%3E%3Crect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/%3E%3Crect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/%3E%3Crect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/%3E%3Crect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/%3E%3C/svg%3E";function fn(t,e){return`<!DOCTYPE html>
1730
+ .note{font-size:11px;color:#64748b;margin-top:8px;padding:8px 10px;background:#0a0f1e;border-radius:6px;border-left:3px solid #334155}`;function Nt(t){return t.replace(/</g,"&lt;").replace(/>/g,"&gt;")}var ao="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Crect width='32' height='32' rx='7' fill='%232563eb'/%3E%3Crect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/%3E%3Crect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/%3E%3Crect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/%3E%3Crect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/%3E%3C/svg%3E";function $n(t,e){return`<!DOCTYPE html>
1727
1731
  <html lang="en">
1728
- <head><meta charset="UTF-8"><title>Vibeflow \u2014 Inject Overlay</title><link rel="icon" type="image/svg+xml" href="${Zr}"><style>${Jr}</style></head>
1732
+ <head><meta charset="UTF-8"><title>Vibeflow \u2014 Inject Overlay</title><link rel="icon" type="image/svg+xml" href="${ao}"><style>${ro}</style></head>
1729
1733
  <body>
1730
1734
  <h1>Vibeflow \u2014 Inject Overlay</h1>
1731
1735
  <p style="margin-top:6px">${t}</p>
1732
1736
  ${e.join(`
1733
1737
  `)}
1734
- </body></html>`}function Cn(t,e,r,l){let c=r?r.replace(/[^a-zA-Z0-9_-]/g,""):void 0;if(l){let f=`${l}/api/overlay.js`,x=c?`window.__PROTO_BOARD_ID='${c}';`:"",h=`javascript:(function(){if(document.getElementById('vibeflow-studio-root')){alert('Vibeflow overlay is already active.')}else{${x}fetch('${f}').then(function(r){return r.text()}).then(function(code){eval(code)}).catch(function(){alert('Failed to load Vibeflow overlay')})}})()`,k=`${x}fetch('${f}').then(r=>r.text()).then(code=>eval(code));`,L=c?`<script src="${f}" data-vibeflow-overlay data-board-id="${c}"></script>`:`<script src="${f}" data-vibeflow-overlay></script>`;t.get("/inject",(g,p)=>{p.type("html").send(fn(`Add the Vibeflow overlay to any page to annotate and create tasks.${c?`<br><span style="font-size:12px;color:#64748b">Connected to board <code style="background:#1e293b;padding:2px 6px;border-radius:4px">${c}</code> via SaaS.</span>`:""}`,[`<h2>Option 1 \u2014 Bookmarklet <span class="badge green">CSP-safe</span> <span class="badge">recommended</span></h2>
1738
+ </body></html>`}function Gn(t,e,n,i){let l=n?n.replace(/[^a-zA-Z0-9_-]/g,""):void 0;if(i){let d=`${i}/api/overlay.js`,b=l?`window.__PROTO_BOARD_ID='${l}';`:"",g=`javascript:(function(){if(document.getElementById('vibeflow-studio-root')){alert('Vibeflow overlay is already active.')}else{${b}fetch('${d}').then(function(r){return r.text()}).then(function(code){eval(code)}).catch(function(){alert('Failed to load Vibeflow overlay')})}})()`,h=`${b}fetch('${d}').then(r=>r.text()).then(code=>eval(code));`,j=l?`<script src="${d}" data-vibeflow-overlay data-board-id="${l}"></script>`:`<script src="${d}" data-vibeflow-overlay></script>`;t.get("/inject",(m,p)=>{p.type("html").send($n(`Add the Vibeflow overlay to any page to annotate and create tasks.${l?`<br><span style="font-size:12px;color:#64748b">Connected to board <code style="background:#1e293b;padding:2px 6px;border-radius:4px">${l}</code> via SaaS.</span>`:""}`,[`<h2>Option 1 \u2014 Bookmarklet <span class="badge green">CSP-safe</span> <span class="badge">recommended</span></h2>
1735
1739
  <div class="card"><p>Drag this link to your bookmarks bar, then click it on any page to activate the overlay:</p>
1736
- <a class="bookmarklet" href="${h}"><svg class='bookmarklet-icon' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/><rect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/><rect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/><rect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/></svg>Vibeflow annotate</a>
1740
+ <a class="bookmarklet" href="${g}"><svg class='bookmarklet-icon' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/><rect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/><rect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/><rect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/></svg>Vibeflow annotate</a>
1737
1741
  <div class="note">\u2705 Works on pages with strict Content-Security-Policy (uses fetch + eval instead of &lt;script src&gt;).<br>\u26A0\uFE0F Do not click the link here \u2014 drag it to your bookmarks bar first, then use it on your target page.</div></div>`,`<h2>Option 2 \u2014 Browser console <span class="badge green">CSP-safe</span></h2>
1738
1742
  <div class="card"><p>Open browser DevTools console on your target page and paste:</p>
1739
- <pre>${ht(k)}</pre>
1743
+ <pre>${Nt(h)}</pre>
1740
1744
  <div class="note">\u2705 Works on most pages \u2014 uses fetch + eval which respects <code>connect-src https:</code> and <code>unsafe-eval</code>.</div></div>`,`<h2>Option 3 \u2014 Script tag</h2>
1741
1745
  <div class="card"><p>Add this tag to your HTML (before <code>&lt;/body&gt;</code>):</p>
1742
- <pre>${ht(L)}</pre>
1743
- <div class="note">Requires your CSP to allow loading scripts from <code>${l}</code>. Suitable when you control the page's HTML.</div></div>`]))});return}let o=`http://localhost:${e}/vibeflow-overlay.js`,a=c?` data-board-id="${c}"`:"",i=`<script src="${o}" data-vibeflow-overlay${a}></script>`,s=c?`s.setAttribute('data-board-id','${c}');`:"",d=`javascript:(function(){if(document.getElementById('vibeflow-studio-root')){alert('Vibeflow overlay is already active on this page.');}else{var s=document.createElement('script');s.src='${o}';s.setAttribute('data-vibeflow-overlay','');${s}document.head.appendChild(s);}})()`;t.get("/inject",(f,x)=>{x.type("html").send(fn("Add the Vibeflow overlay to any page without modifying source code.",[`<h2>Option 1 \u2014 Bookmarklet <span class="badge">recommended</span></h2>
1746
+ <pre>${Nt(j)}</pre>
1747
+ <div class="note">Requires your CSP to allow loading scripts from <code>${i}</code>. Suitable when you control the page's HTML.</div></div>`]))});return}let o=`http://localhost:${e}/vibeflow-overlay.js`,r=l?` data-board-id="${l}"`:"",s=`<script src="${o}" data-vibeflow-overlay${r}></script>`,c=l?`s.setAttribute('data-board-id','${l}');`:"",u=`javascript:(function(){if(document.getElementById('vibeflow-studio-root')){alert('Vibeflow overlay is already active on this page.');}else{var s=document.createElement('script');s.src='${o}';s.setAttribute('data-vibeflow-overlay','');${c}document.head.appendChild(s);}})()`;t.get("/inject",(d,b)=>{b.type("html").send($n("Add the Vibeflow overlay to any page without modifying source code.",[`<h2>Option 1 \u2014 Bookmarklet <span class="badge">recommended</span></h2>
1744
1748
  <div class="card"><p>Drag this link to your bookmarks bar, then click it on any page to activate the overlay:</p>
1745
- <a class="bookmarklet" href="${d}"><svg class='bookmarklet-icon' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/><rect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/><rect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/><rect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/></svg>Vibeflow annotate</a>
1749
+ <a class="bookmarklet" href="${u}"><svg class='bookmarklet-icon' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/><rect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/><rect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/><rect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/></svg>Vibeflow annotate</a>
1746
1750
  <div class="note">\u26A0\uFE0F Do not click the link here \u2014 drag it to your bookmarks bar first, then use it on your target page.</div></div>`,`<h2>Option 2 \u2014 Script tag</h2>
1747
1751
  <div class="card"><p>Add this tag to your HTML (before <code>&lt;/body&gt;</code>):</p>
1748
- <pre>${ht(i)}</pre>
1752
+ <pre>${Nt(s)}</pre>
1749
1753
  <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>
1750
1754
  <div class="card"><p>Open browser DevTools console and paste:</p>
1751
- <pre>var s=document.createElement('script');s.src='${o}';s.setAttribute('data-vibeflow-overlay','');${c?`s.setAttribute('data-board-id','${c}');`:""}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 jn(t,e,r){t.use("/trpc",Kr({router:on,createContext:()=>({projectDir:e,broadcast:r})}))}function Tn(t){t.use((e,r,l,c)=>{console.error("[Vibeflow] Unhandled error:",e.message),l.status(500).json({error:"Internal server error"})})}function En(t){t.use((e,r,l)=>{if(r.setHeader("Access-Control-Allow-Origin","*"),r.setHeader("Access-Control-Allow-Methods","GET, POST, PATCH, DELETE, OPTIONS"),r.setHeader("Access-Control-Allow-Headers","Content-Type"),e.method==="OPTIONS"){r.status(204).end();return}l()})}function In(t){t.disable("x-powered-by"),t.use((e,r,l)=>{r.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("; ")),r.setHeader("Permissions-Policy","camera=(), microphone=(), geolocation=()"),r.setHeader("X-Content-Type-Options","nosniff"),r.setHeader("X-Frame-Options","DENY"),r.setHeader("Referrer-Policy","strict-origin-when-cross-origin"),r.setHeader("Cross-Origin-Embedder-Policy","unsafe-none"),r.setHeader("Cross-Origin-Opener-Policy","same-origin"),l()})}async function ea(t,e){let r=e._testToken===void 0?await K().catch(()=>null):e._testToken,l=e._testWorkspace===void 0?r?await J().catch(()=>null):null:e._testWorkspace,c=!!(r&&l),o=he();En(o),In(o),o.use(he.json({limit:"10mb"}));let a=mn(o),i=new vn({server:a}),s=x=>{let h=JSON.stringify(x);for(let k of i.clients)k.readyState===yn.OPEN&&k.send(h)};i.on("connection",x=>{x.on("message",h=>{try{JSON.parse(h.toString()).type==="ping"&&x.send(JSON.stringify({type:"pong"}))}catch{}})});let d=Xr(l?.url)??process.env.VIBEFLOW_API_URL??"http://localhost:3000";if(c){o.use(["/api/tasks","/api/push","/trpc"],(h,k)=>{k.status(503).json({error:"Online mode active \u2014 local task API is disabled. All task operations go through the SaaS backend."})});let x=At(d);o.get("/vibeflow-overlay.js",(h,k)=>{k.type("application/javascript").send(x)})}else{be(t);let x=it(e.port);o.get("/vibeflow-overlay.js",(k,L)=>{L.type("application/javascript").send(x)});let h=ee(t,F,Te);o.get("/screenshots/:filename",(k,L)=>{let{filename:g}=k.params,p=oe(g,".png");if(!yt(p)){L.status(400).end();return}let u=ee(h,`${p}.png`);if(!vt(u)){L.status(404).end();return}L.sendFile(u)}),kn(o,[]),wn(o,t,s),jn(o,t,s),Sn(o,t,s)}_n(o,e.port),Cn(o,e.port,c?l?.id:void 0,c?d:void 0);let f=c?null:Ie(ee(t,F,ge),{onChanged:x=>{let h=ne(x);s(h?{type:"task-changed",taskId:h.id,action:"update",task:h,source:"cli"}:{type:"tasks-updated"})},onDeleted:x=>{let h=oe(x,".json");s({type:"task-deleted",taskId:h})}});return Tn(o),new Promise((x,h)=>{let k=e.host??"localhost";a.listen(e.port,k,()=>{let g=`http://${k==="0.0.0.0"?xn()??"localhost":k}:${e.port}`,p=k==="0.0.0.0"?`http://localhost:${e.port}`:null,u=v.dim(" "+"\u2500".repeat(62));console.log(),console.log(v.green(" \u2713 Vibeflow running")+v.dim(" \xB7 ")+v.cyan(g)),p&&console.log(v.dim(" Local: ")+v.cyan(p)),console.log(u),c?(console.log(v.dim(" Mode: ")+v.green("\u25CF Online")+v.dim(" \u2014 connected to Vibeflow SaaS")),console.log(v.dim(" Board: ")+v.white(l.name??"your board")),console.log(v.dim(" Web: ")+v.cyan(l.url)),console.log(u),console.log(v.dim(" Overlay script: ")+v.cyan(`${g}/vibeflow-overlay.js`)),console.log(),console.log(v.dim(" \u250C\u2500 Add to your HTML ")+v.dim("\u2500".repeat(43)+"\u2510")),console.log(v.dim(" \u2502 ")+v.yellow(`<script src="${g}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)+v.dim(" \u2502")),console.log(v.dim(" \u2502 ")+v.dim("Or drag the bookmarklet: ")+v.cyan(`${g}/inject`)+v.dim(" \u2502")),console.log(v.dim(" \u2514"+"\u2500".repeat(63)+"\u2518"))):(console.log(v.dim(" Mode: ")+v.yellow("\u25CE Local")+v.dim(" \u2014 no account needed")),console.log(u),console.log(v.bold.white(" BOARDS & APIS")),console.log(v.dim(" Kanban board ")+v.cyan(`${g}/kanban`)),console.log(v.dim(" Task API ")+v.cyan(`${g}/api/tasks`)),console.log(u),console.log(v.bold.white(" INTEGRATE INTO YOUR APP")+v.dim(` (full guide: ${g}/inject)`)),console.log(v.dim(" 1. Add this script tag to your HTML:")),console.log(v.dim(" ")+v.yellow(`<script src="${g}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)),console.log(v.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(v.dim(" 3. Click anything to annotate it.")),console.log(u),console.log(v.dim(" Bookmarklet \u2014 no code changes needed:")),console.log(v.dim(" Visit and drag the bookmarklet from ")+v.cyan(`${g}/inject`)+v.dim(" to your bookmarks bar."))),console.log(),e.noCtrlCHint||(console.log(v.dim(" Press Ctrl+C to stop")),console.log()),x({url:g,close:async()=>{f&&await f.close(),i.close(),await new Promise(y=>a.close(()=>y()))}})}),a.on("error",h)})}async function xt(t,e){if(!t)return ea(e.projectDir??process.cwd(),e);if(t.startsWith("http://")||t.startsWith("https://"))throw new Error(`Proxy mode is no longer supported.
1755
+ <pre>var s=document.createElement('script');s.src='${o}';s.setAttribute('data-vibeflow-overlay','');${l?`s.setAttribute('data-board-id','${l}');`:""}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 Qn(t,e,n){t.use("/trpc",Ja({router:jn,createContext:()=>({projectDir:e,broadcast:n})}))}function Xn(t){t.use((e,n,i,l)=>{console.error("[Vibeflow] Unhandled error:",e.message),i.status(500).json({error:"Internal server error"})})}function Jn(t){t.use((e,n,i)=>{let l=e.headers.origin??"*",o=/^https?:\/\/localhost(:\d+)?$/i.test(l)||/^https?:\/\/127\.0\.0\.1(:\d+)?$/i.test(l);if(n.setHeader("Access-Control-Allow-Origin",o?l:"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}i()})}function Zn(t){t.disable("x-powered-by"),t.use((e,n,i)=>{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"),i()})}async function oo(t,e){let n=e._testToken===void 0?await Z().catch(()=>null):e._testToken,i=e._testWorkspace===void 0?n?await oe().catch(()=>null):null:e._testWorkspace,l=!!(n&&i),o=ge();Jn(o),Zn(o),o.use(ge.json({limit:"10mb"}));let r=Dn(o),s=new Bn({server:r}),c=b=>{let g=JSON.stringify(b);for(let h of s.clients)h.readyState===Un.OPEN&&h.send(g)};s.on("connection",b=>{b.on("message",g=>{try{JSON.parse(g.toString()).type==="ping"&&b.send(JSON.stringify({type:"pong"}))}catch{}})});let u=no(i?.url)??process.env.VIBEFLOW_API_URL??"http://localhost:3000";if(l){o.use(["/api/tasks","/api/push","/trpc"],(g,h)=>{h.status(503).json({error:"Online mode active \u2014 local task API is disabled. All task operations go through the SaaS backend."})});let b=Jt(u);o.get("/vibeflow-overlay.js",(g,h)=>{h.type("application/javascript").send(b)})}else{Ee(t);let b=ht(e.port);o.get("/vibeflow-overlay.js",(h,j)=>{j.type("application/javascript").send(b)});let g=le(t,U,ze);o.get("/screenshots/:filename",(h,j)=>{let{filename:m}=h.params,p=fe(m,".png");if(!Rt(p)){j.status(400).end();return}let f=le(g,`${p}.png`);if(!Pt(f)){j.status(404).end();return}j.sendFile(f)}),Vn(o,[]),qn(o,t,c),Qn(o,t,c),Kn(o,t,c)}Yn(o,e.port),Gn(o,e.port,l?i?.id:void 0,l?u:void 0);let d=l?null:De(le(t,U,Ce),{onChanged:b=>{let g=ee(b);c(g?{type:"task-changed",taskId:g.id,action:"update",task:g,source:"cli"}:{type:"tasks-updated"})},onDeleted:b=>{let g=fe(b,".json");c({type:"task-deleted",taskId:g})}});return Xn(o),new Promise((b,g)=>{let h=e.host??"localhost";r.listen(e.port,h,()=>{let m=`http://${h==="0.0.0.0"?Hn()??"localhost":h}:${e.port}`,p=h==="0.0.0.0"?`http://localhost:${e.port}`:null,f=S.dim(" "+"\u2500".repeat(62));if(console.log(),console.log(S.green(" \u2713 Vibeflow running")+S.dim(" \xB7 ")+S.cyan(m)),p&&console.log(S.dim(" Local: ")+S.cyan(p)),console.log(f),l){console.log(S.dim(" Mode: ")+S.green("\u25CF Online")+S.dim(" \u2014 connected to Vibeflow SaaS")),console.log(S.dim(" Board: ")+S.white(i.name??"your board")),console.log(S.dim(" Web: ")+S.cyan(i.url)),console.log(f),console.log(S.dim(" Overlay script: ")+S.cyan(`${m}/vibeflow-overlay.js`));let y=he(p,"/vibeflow-overlay.js",19);y&&console.log(y),console.log(),console.log(S.dim(" \u250C\u2500 Add to your HTML ")+S.dim("\u2500".repeat(43)+"\u2510")),console.log(S.dim(" \u2502 ")+S.yellow(`<script src="${m}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)+S.dim(" \u2502")),p&&console.log(S.dim(" \u2502 or: ")+S.yellow(`<script src="${p}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)+S.dim(" \u2502")),console.log(S.dim(" \u2502 ")+S.dim("Or drag the bookmarklet: ")+S.cyan(`${m}/inject`)+S.dim(" \u2502")),p&&console.log(S.dim(" \u2502 or: ")+S.cyan(`${p}/inject`)+S.dim(" \u2502")),console.log(S.dim(" \u2514"+"\u2500".repeat(63)+"\u2518"))}else{console.log(S.dim(" Mode: ")+S.yellow("\u25CE Local")+S.dim(" \u2014 no account needed")),console.log(f),console.log(S.bold.white(" BOARDS & APIS")),console.log(S.dim(" Kanban board ")+S.cyan(`${m}/kanban`));let y=he(p,"/kanban",18);y&&console.log(y),console.log(S.dim(" Task API ")+S.cyan(`${m}/api/tasks`));let x=he(p,"/api/tasks",18);x&&console.log(x),console.log(f),console.log(S.bold.white(" INTEGRATE INTO YOUR APP")+S.dim(` (full guide: ${m}/inject)`));let E=he(p,"/inject",40);E&&console.log(E),console.log(S.dim(" 1. Add this script tag to your HTML:")),console.log(S.dim(" ")+S.yellow(`<script src="${m}/vibeflow-overlay.js" data-vibeflow-overlay></script>`));let T=Wn(p,5);T&&console.log(T),console.log(S.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(S.dim(" 3. Click anything to annotate it.")),console.log(f),console.log(S.dim(" Bookmarklet \u2014 no code changes needed:")),console.log(S.dim(" Visit and drag the bookmarklet from ")+S.cyan(`${m}/inject`)+S.dim(" to your bookmarks bar."));let C=he(p,"/inject",2,"or: ");C&&console.log(C)}console.log(),e.noCtrlCHint||(console.log(S.dim(" Press Ctrl+C to stop")),console.log()),b({url:m,localUrl:p,close:async()=>{d&&await d.close(),s.close(),await new Promise(y=>r.close(()=>y()))}})}),r.on("error",g)})}async function Lt(t,e){if(!t)return oo(e.projectDir??process.cwd(),e);if(t.startsWith("http://")||t.startsWith("https://"))throw new Error(`Proxy mode is no longer supported.
1752
1756
  To annotate an existing app, run: proto serve (API-only mode)
1753
- Then install the Chrome extension and navigate to your app.`);let r=Hr(t),c=Br(r).isDirectory(),o=c?Fr(r).filter(u=>bn(u)===".html").map(u=>ee(r,u)):[r];if(o.length===0)throw new Error("No HTML files found at "+t);let a=c?r:Wr(r);be(a);let i=he();En(i),In(i),i.use(he.json({limit:"10mb"}));let s=mn(i),d=new vn({server:s}),f=u=>{let y=JSON.stringify(u);for(let w of d.clients)w.readyState===yn.OPEN&&w.send(y)};d.on("connection",u=>{u.on("message",y=>{try{JSON.parse(y.toString()).type==="ping"&&u.send(JSON.stringify({type:"pong"}))}catch{}})});let x=e.noOverlay?null:it(e.port);x&&i.get("/vibeflow-overlay.js",(u,y)=>{y.type("application/javascript").send(x)});let h=ee(a,F,Te);i.get("/screenshots/:filename",(u,y)=>{let{filename:w}=u.params,_=oe(w,".png");if(!yt(_)){y.status(400).end();return}let S=ee(h,`${_}.png`);if(!vt(S)){y.status(404).end();return}y.sendFile(S)}),c&&i.get("/",(u,y)=>{let w=o.map(_=>{let S=oe(_);return`<li><a href="/${S}">${S}</a></li>`}).join(`
1757
+ Then install the Chrome extension and navigate to your app.`);let n=Ya(t),l=Ka(n).isDirectory(),o=l?qa(n).filter(f=>Mn(f)===".html").map(f=>le(n,f)):[n];if(o.length===0)throw new Error("No HTML files found at "+t);let r=l?n:Ga(n);Ee(r);let s=ge();Jn(s),Zn(s),s.use(ge.json({limit:"10mb"}));let c=Dn(s),u=new Bn({server:c}),d=f=>{let y=JSON.stringify(f);for(let x of u.clients)x.readyState===Un.OPEN&&x.send(y)};u.on("connection",f=>{f.on("message",y=>{try{JSON.parse(y.toString()).type==="ping"&&f.send(JSON.stringify({type:"pong"}))}catch{}})});let b=e.noOverlay?null:ht(e.port);b&&s.get("/vibeflow-overlay.js",(f,y)=>{y.type("application/javascript").send(b)});let g=le(r,U,ze);s.get("/screenshots/:filename",(f,y)=>{let{filename:x}=f.params,E=fe(x,".png");if(!Rt(E)){y.status(400).end();return}let T=le(g,`${E}.png`);if(!Pt(T)){y.status(404).end();return}y.sendFile(T)}),l&&s.get("/",(f,y)=>{let x=o.map(E=>{let T=fe(E);return`<li><a href="/${T}">${T}</a></li>`}).join(`
1754
1758
  `);y.send(`<!DOCTYPE html><html><head><title>Vibeflow Studio</title>
1755
1759
  <style>body{font-family:system-ui;max-width:600px;margin:40px auto;padding:0 20px}
1756
1760
  a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}
1757
1761
  li{margin:8px 0}</style></head>
1758
1762
  <body><h1>Vibeflow Studio</h1>
1759
1763
  <p>Select a prototype to review:</p>
1760
- <ul>${w}</ul></body></html>`)});for(let u of o){let y=c?`/${oe(u)}`:"/";i.get(y,(w,_)=>{let S=Dr(u,"utf-8"),T=x?zt(S,x):S;_.type("html").send(T)})}let k=o.map(u=>`/${oe(u)}`);kn(i,c?k:[]),wn(i,a,f),jn(i,a,f),Sn(i,a,f),_n(i,e.port),Cn(i,e.port);let L=null;L=at(r,{onChange:u=>{let y=oe(u);console.log(v.dim(` File changed: ${y}`)),f({type:"reload",file:y})}});let g=ee(a,F,ge),p=Ie(g,{onChanged:u=>{let y=ne(u);f(y?{type:"task-changed",taskId:y.id,action:"update",task:y,source:"cli"}:{type:"tasks-updated"})},onDeleted:u=>{let y=oe(u,".json");f({type:"task-deleted",taskId:y})}});return Tn(i),new Promise((u,y)=>{let w=e.host??"localhost";s.listen(e.port,w,()=>{let S=`http://${w==="0.0.0.0"?xn()??"localhost":w}:${e.port}`,T=w==="0.0.0.0"?`http://localhost:${e.port}`:null,m=v.dim(" "+"\u2500".repeat(62));console.log(),console.log(v.green(" \u2713 Vibeflow running")+v.dim(" \xB7 ")+v.cyan(S)),T&&console.log(v.dim(" Local: ")+v.cyan(T)),console.log(m);for(let b of o){let C=c?`/${oe(b)}`:"/";console.log(v.dim(" File: ")+v.cyan(`${S}${C}`)+v.dim(` (${oe(b)})`))}console.log(v.dim(" Kanban board: ")+v.cyan(`${S}/kanban`)),console.log(v.dim(" Task API: ")+v.cyan(`${S}/api/tasks`)),console.log(m),console.log(v.bold.white(" INTEGRATE INTO YOUR APP")+v.dim(` (full guide: ${S}/inject)`)),console.log(v.dim(" 1. Add this script tag to your HTML:")),console.log(v.dim(" ")+v.yellow(`<script src="${S}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)),console.log(v.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(v.dim(" 3. Click anything to annotate it.")),console.log(),console.log(v.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(b=>b.default(S)).catch(()=>{}),u({url:S,close:async()=>{L&&await L.close(),await p.close(),d.close(),await new Promise(b=>s.close(()=>b()))}})}),s.on("error",y)})}async function ve(){return await K()?"saas":"local"}import z from"chalk";import ta from"open";import Nn from"readline";import na from"@inquirer/select";import{existsSync as ra,readdirSync as Pn,readFileSync as aa}from"fs";import{join as qe,resolve as oa}from"path";var P={SUCCESS:0,GENERAL:1,USAGE:2,NOT_FOUND:3,AUTH:4,CONFLICT:5};var ia="https://app.vibeflow.tools",la=300*1e3;function Rn(){return process.env.VIBEFLOW_API_URL??ia}async function sa(t){return new Promise(e=>setTimeout(e,t))}async function ca(t){return t.length===1?(console.log(z.dim(` Using board: ${t[0].icon??""} ${t[0].name}`)),t[0]):await na({message:"Select a board to use:",choices:t.map(r=>({name:`${r.icon??""} ${r.name}`,value:r}))})}async function Ln(t,e){try{let r=await fetch(`${t}/api/cli/settings`,{headers:{Authorization:`Bearer ${e}`}});if(!r.ok)return;let l=await r.json();l.settings&&Object.keys(l.settings).length>0&&Jt({...l.settings,_settingsRefreshedAt:Date.now()})}catch{}}async function On(){try{let t=await K();if(!t)return;let r=dt()._settingsRefreshedAt??0;if(Date.now()-r<la)return;let l=Rn();Ln(l,t)}catch{}}async function ua(t,e){try{let[r,l]=await Promise.all([fetch(`${t}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${e}`}}),fetch(`${t}/api/cli/profile`,{headers:{Authorization:`Bearer ${e}`}})]);if(!r.ok)return;let c=await r.json();if(!c.workspaces?.length){console.log(z.yellow(" No boards found. Create a board in the web app first."));return}let o=l.ok?await l.json():null,a=await ca(c.workspaces);await Lt({...a,email:o?.email??null}),console.log(z.green(` Board set: ${a.icon??""} ${a.name}`)),console.log(z.dim(` Open at: ${a.url}`))}catch{}}async function da(t,e,r,l){let c=qe(t,F,ge);if(!ra(c))return;let o=[];try{for(let f of Pn(c,{withFileTypes:!0}))if(f.isDirectory()){let x=qe(c,f.name);for(let h of Pn(x).filter(k=>k.endsWith(".json")))o.push(qe(x,h))}else f.isFile()&&f.name.endsWith(".json")&&o.push(qe(c,f.name))}catch{return}if(o.length===0)return;let a=o.flatMap(f=>{try{return[JSON.parse(aa(f,"utf-8"))]}catch{return[]}}),i=new Set;try{let f=await fetch(`${e}/api/cli/tasks?boardId=${l.id}`,{headers:{Authorization:`Bearer ${r}`}}).catch(()=>null);if(f?.ok){let x=await f.json();i=new Set((x.tasks??[]).flatMap(h=>[h.id,...h.cliId?[h.cliId]:[]]))}}catch{}let s=a.filter(f=>!i.has(f.id));if(s.length===0)return;console.log(),console.log(z.bold(` ${s.length} local task${s.length!==1?"s are":" is"} not yet synced to the board:`));let d=s.slice(0,10);for(let f of d){let x=f.status?z.dim(` [${f.status}]`):"";console.log(z.dim(` \u2022 ${f.title??f.id}${x}`))}return s.length>10&&console.log(z.dim(` \u2026 and ${s.length-10} more`)),new Promise(f=>{let x=Nn.createInterface({input:process.stdin,output:process.stdout});x.question(z.cyan(`
1761
- Push them to your board now? [Y/n]: `),async h=>{if(x.close(),h.trim().toLowerCase()==="n"){console.log(z.dim(" Skipped. You can push later with: vibeflow push")),f();return}let k=Nn.createInterface({input:process.stdin,output:process.stdout});k.question(z.cyan(" Delete local task files after push? [y/N]: "),async L=>{k.close();let g=L.trim().toLowerCase()!=="y";try{let p=await fetch(`${e}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify({boardId:l.id,tasks:s,keepLocalFiles:g})}),u={};try{u=await p.json()}catch{}p.ok?(console.log(z.green(` \u2713 Pushed ${u.imported??0} task${(u.imported??0)!==1?"s":""} to ${l.name}`)),(u.skipped??0)>0&&console.log(z.dim(` (${u.skipped} already existed and were skipped)`))):console.log(z.red(` Push failed: ${u.error??`HTTP ${p.status}`}`))}catch(p){console.log(z.red(` Push failed: ${p instanceof Error?p.message:"Network error"}`))}f()})})})}async function Ve(t=oa(".")){let e=Rn();console.log(z.cyan(" Initiating device login flow..."));let r=await fetch(`${e}/api/cli/auth/device-init`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!r.ok){console.error(z.red(` Failed to initiate login: ${r.status} ${r.statusText}`)),process.exitCode=P.AUTH;return}let{deviceCode:l,userCode:c,verificationUrl:o,expiresIn:a}=await r.json();console.log(),console.log(z.bold(" Open this URL in your browser to authorize:")),console.log(z.underline(` ${o}`)),console.log();try{await ta(o),console.log(z.dim(" (Browser opened automatically)"))}catch{}let i=Date.now()+a*1e3,s=3e3;for(;Date.now()<i;){await sa(s);let d=await fetch(`${e}/api/cli/auth/device-poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:l})});if(!d.ok){console.error(z.red(" Poll request failed. Retrying..."));continue}let f=await d.json();if("token"in f){await en(f.token),console.log(),console.log(z.green(" Logged in successfully. Now operating in SaaS mode.")),await Promise.all([ua(e,f.token),Ln(e,f.token)]);let{readWorkspace:x}=await import("./workspace-KGOQ67YV.js"),h=await x();h&&await da(t,e,f.token,h);return}if("expired"in f){console.error(z.red(" Device code expired. Please try again.")),process.exitCode=P.AUTH;return}process.stdout.write(z.dim("."))}console.error(z.red(`
1762
- Login timed out. Please try again.`)),process.exitCode=P.AUTH}import pa from"chalk";async function zn(){await Promise.all([tn(),Ot()]),console.log(pa.green(" Logged out. Now operating in local mode."))}import W from"chalk";import{unlinkSync as fa,readFileSync as ga,existsSync as ba}from"fs";import{resolve as ma,join as ha}from"path";var va="https://app.vibeflow.tools";function ya(){return process.env.VIBEFLOW_API_URL??va}function xa(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function An(t,e,r=24){let l=Math.round(t/e*r);return`[${"\u2588".repeat(l)+"\u2591".repeat(r-l)}]`}async function ka(t,e,r,l){let c=[];for(let{localId:k,remoteId:L}of l){let g=Y(r,k);for(let p of g){let u=p.linkedPath??ha(It(r,k),p.name);ba(u)&&c.push({remoteId:L,name:p.name,filePath:u,size:p.size})}}if(c.length===0)return{uploaded:0,failed:0,failedFiles:[]};let o=c.length,a=c.reduce((k,L)=>k+L.size,0);console.log(W.cyan(`
1763
- Uploading ${o} file(s) (${xa(a)})...`));let i=0,s=0,d=0,f=Date.now(),x=[];for(let k of c){let L=Math.round(i/o*100),g=An(i,o),p=(Date.now()-f)/1e3,u=d/Math.max(p,.01),y=a-d,w=u>0?Math.ceil(y/u):0,_=w>60?`${Math.ceil(w/60)}m`:`${w}s`;process.stdout.write(`\r ${g} ${L}% ${k.name.slice(0,28)} ETA: ${_} `);try{let S=ga(k.filePath),T=await fetch(`${t}/api/tasks/${encodeURIComponent(k.remoteId)}/files`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/octet-stream","x-filename":encodeURIComponent(k.name)},body:S});T.ok?(i++,d+=k.size):(s++,x.push({name:k.name,reason:`HTTP ${T.status}`}))}catch(S){s++,x.push({name:k.name,reason:S instanceof Error?S.message:String(S)})}}let h=An(o,o);return process.stdout.write(`\r ${h} 100% Done${" ".repeat(40)}
1764
- `),{uploaded:i,failed:s,failedFiles:x}}async function $n(t,e){let r=ma(t),l=await K();if(!l&&(console.log(W.yellow(" Not logged in. Starting login flow...")),await Ve(),l=await K(),!l)){console.error(W.red(" Login failed. Please run `vibeflow login` and try again.")),process.exitCode=P.AUTH;return}let c=X(r);if(c.length===0){console.log(W.dim(" No local tasks found. Nothing to push."));return}console.log(W.cyan(` Found ${c.length} local task(s). Pushing to SaaS...`));let o=ya(),a=e.workspace;if(!a){let p=await J();p&&(a=p.id,console.log(W.dim(` Using board: ${p.icon??""} ${p.name}`)))}let i={tasks:c};a&&(i.workspaceId=a);let s;try{let p=await fetch(`${o}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${l}`},body:JSON.stringify(i)});if(!p.ok){let u=await p.json().catch(()=>({}));console.error(W.red(` Import failed: ${p.status} ${u.error??p.statusText}`)),process.exitCode=P.GENERAL;return}s=await p.json()}catch(p){let u=p instanceof Error?p.message:String(p);console.error(W.red(` Network error: ${u}`)),process.exitCode=P.GENERAL;return}console.log(W.green(` \u2713 Pushed ${s.imported} task(s) to SaaS`)),s.skipped&&s.skipped>0&&console.log(W.dim(` Skipped ${s.skipped} already-imported task(s).`));let d=(await J())?.name??s.workspaceId;console.log(W.dim(` Board: ${d}`));let f=s.idMap??{},x=c.filter(p=>p.id&&f[p.id]).map(p=>({localId:p.id,remoteId:f[p.id]})),{uploaded:h,failed:k,failedFiles:L}=await ka(o,l,r,x);if(h>0&&console.log(W.green(` \u2713 Uploaded ${h} file(s) to storage`)),k>0){console.log(W.yellow(` \u26A0 ${k} file(s) failed to upload`));for(let p of L)console.log(W.dim(` - ${p.name}: ${p.reason}`))}if(e.keepLocalFiles){console.log(W.dim(" Local task files kept (--keep-local-files)."));return}let g=0;for(let p of c)try{fa(p.filePath),g++}catch{}console.log(W.dim(` Deleted ${g} local task file(s).`))}import q from"chalk";import{basename as Mn,resolve as wa,join as Sa}from"path";import{existsSync as _a,statSync as Ca}from"fs";function ja(t,e){return t===void 0?"new":t!=="todo"&&e==="todo"?"moved-to-todo":null}function Ta(t,e){try{let r=X(t).find(a=>a.id===e);if(!r)return null;let l=Se(t),c=ae(t,e),o=Y(t,e).map(a=>({...a,url:`http://localhost:${l.port}${a.url}`}));return Ee(r,r.filePath,c,o,t)}catch{return null}}function Dn(t){let e=wa(t);if(!_a(e)){console.error(q.red(` Error: directory does not exist: ${e}`)),process.exitCode=P.USAGE;return}if(!Ca(e).isDirectory()){console.error(q.red(` Error: not a directory: ${e}`)),process.exitCode=P.USAGE;return}be(e);let r=Sa(e,F,ge),l=new Map;for(let a of X(e))l.set(a.id,a.status);let c=(a,i)=>{try{let s=Ta(e,i);if(!s)return;console.log(),console.log(a==="new"?q.green.bold("\u{1F195} NEW TASK"):q.blue.bold("\u25B6 MOVED TO TODO")),console.log(q.dim("\u2500".repeat(62)));for(let d of s.split(`
1765
- `))console.log(q.dim(d));console.log(q.dim("\u2500".repeat(62)))}catch(s){console.error(q.red(` Error rendering task ${i}:`),s)}},o=Ie(r,{onChanged:a=>{try{let i=ne(a);if(!i)return;let s=l.get(i.id),d=ja(s,i.status);l.set(i.id,i.status),d&&c(d,i.id)}catch(i){console.error(q.red(` Error processing ${Mn(a)}:`),i)}},onDeleted:a=>{l.delete(Mn(a,".json"))}});o.on("error",a=>{console.error(q.red(" Watcher error:"),a)}),console.log(),console.log(q.bold(" Vibeflow \u2014 watching for task updates")),console.log(q.dim(` ${r}`)),console.log(q.dim(" Notifies on: new tasks, tasks moved to todo.")),console.log(q.dim(" Press Ctrl+C to stop.")),console.log(),process.once("SIGINT",()=>{o.close().then(()=>{console.log(q.dim(`
1766
- Watch stopped.`)),process.exit(0)},()=>process.exit(0))}),process.once("SIGTERM",()=>{o.close().then(()=>process.exit(0),()=>process.exit(0))})}var Ea="https://app.vibeflow.tools";function Ke(){return process.env.VIBEFLOW_API_URL??Ea}var Ia={backlog:"backlog",todo:"todo","in-progress":"in_progress",review:"review",done:"done"},Na={backlog:"backlog",todo:"todo",in_progress:"in-progress",review:"review",done:"done",cancelled:"done"};function le(t){return Na[t]??"todo"}function Pa(t){return Ia[t]??"todo"}async function Ye(){let t=await K();return t?{Authorization:`Bearer ${t}`}:null}async function _e(t){let e=await Ye();if(!e)return null;let r=new URL(`${Ke()}/api/cli/tasks`);t&&r.searchParams.set("boardId",t);try{let l=await fetch(r.toString(),{headers:e});return l.ok?l.json():null}catch{return null}}async function Fn(t){let e=await _e();return e?e.tasks.find(r=>r.id===t)??null:null}async function kt(t,e){let r=await Ye();if(!r)return null;let l={};e.status!==void 0&&(l.status=Pa(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 c=await fetch(`${Ke()}/api/cli/tasks/${encodeURIComponent(t)}`,{method:"PATCH",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(l)});if(!c.ok)return null;let o=await c.json();return{task:o.task,warning:o.warning}}catch{return null}}async function Bn(t,e){let r=await Ye();if(!r)return null;try{let l=await fetch(`${Ke()}/api/cli/tasks/${encodeURIComponent(t)}/comments`,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify({body:e})});return l.ok?(await l.json()).comment:null}catch{return null}}async function Un(t){let e=await Ye();if(!e)return null;try{let r=await fetch(`${Ke()}/api/cli/tasks`,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?(await r.json()).task:null}catch{return null}}import{readFileSync as nr,existsSync as rr,unlinkSync as qa}from"fs";import{resolve as B,join as Va,basename as Qn}from"path";import n from"chalk";import{createHash as Ra,randomUUID as La}from"crypto";import{existsSync as Oa,readFileSync as za,writeFileSync as Aa,mkdirSync as $a}from"fs";import{join as Hn}from"path";import Wn from"os";import{PostHog as Ma}from"posthog-node";var Da="phc_C9AUV3rnayLfVvxgHtvj6AXcwsd8FKWUfJ9262zWsCvM",Fa="https://eu.i.posthog.com";function qn(){return Hn(process.env.HOME??Wn.homedir(),".vibeflow")}function Vn(){return Hn(qn(),"config.json")}function Ge(){try{return JSON.parse(za(Vn(),"utf-8"))}catch{return{}}}function Kn(t){let e=qn();Oa(e)||$a(e,{recursive:!0});let r=Ge();Aa(Vn(),JSON.stringify({...r,...t},null,2),"utf-8")}function Yn(){return process.env.VIBEFLOW_TELEMETRY==="0"?!1:Ge().disabled!==!0}function wt(t){Kn({disabled:!t})}function Gn(){let t=Yn(),e=Ge();return{enabled:t,anonymousId:e.anonymousId??null}}function Ba(){let t=Ge();if(t.anonymousId)return t.anonymousId;let e=La();return Kn({anonymousId:e}),e}function Ua(){let t=Wn.userInfo().username;return Ra("sha256").update(t).digest("hex").slice(0,16)}var Re=null;function Ha(){return Yn()?(Re||(Re=new Ma(Da,{host:Fa,flushAt:1,flushInterval:0})),Re):null}function ce(t,e){let r=Ha();if(!r)return;let l=Ba();r.capture({distinctId:l,event:t,properties:{...e,$user_id:Ua()}})}async function ue(){if(Re)try{await Re.shutdown()}catch{}}function Ka(t,e){let r=d=>d.replace(/[^0-9.]/g,"").split(".").map(Number),[l=0,c=0,o=0]=r(t),[a=0,i=0,s=0]=r(e);return l!==a?l>a:c!==i?c>i:o>s}function Ya(){let t="0.10.0";if(!t)return;let e="@vibeflow-tools/cli";import("https").then(({default:r})=>{let l=r.get(`https://registry.npmjs.org/${encodeURIComponent(e)}/latest`,{timeout:5e3},c=>{let o="";c.on("data",a=>{o+=a.toString()}),c.on("end",()=>{try{let{version:a}=JSON.parse(o);a&&Ka(a,t)&&(console.log(),console.log(n.bgYellow.black.bold(` \u2191 Update available: ${t} \u2192 ${a} `)),console.log(n.dim(" Run: ")+n.cyan(`npm install -g ${e}@${a}`)+n.dim(" to update")),console.log())}catch{}})});l.on("error",()=>{}),l.on("timeout",()=>{l.destroy()})}).catch(()=>{})}On();var xe={backlog:n.gray,todo:n.yellow,"in-progress":n.blue,review:n.magenta,done:n.green},Ga=new Set(["Task","Bug","Research"]),Qe=["backlog","todo","in-progress","review","done"],ye=(t,e)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime();function Xn(t){let e=r=>t.filter(l=>l.status===r).length;return` Total: ${t.length} | Backlog: ${e("backlog")} | Todo: ${e("todo")} | In Progress: ${e("in-progress")} | Review: ${e("review")} | Done: ${e("done")}`}function Qa(t){if(t){for(let e of Ga)if(e.toLowerCase()===t.toLowerCase())return e}}function de(t){let e=(t??"Medium").trim().toLowerCase();return e==="critical"?0:e==="high"?1:e==="low"?3:2}var Jn=["in-progress","review","todo","backlog","done"];function Xe(t){let e=Jn.indexOf(t);return e===-1?Jn.length:e}function Zn(t){try{return et("git",["push"],{cwd:t,stdio:"inherit"}),{ok:!0}}catch{try{let e=_t("git rev-parse --abbrev-ref HEAD",{cwd:t}).toString().trim();return et("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 Ce(t){let e=Et(t);for(let r of e.split(`
1767
- `))r.startsWith("Agent instructions")?console.log(n.bold(r)):r.startsWith(" \u26A0")?console.log(n.yellow(r)):r.startsWith(" CRITICAL:")?console.log(n.red(r)):console.log(n.dim(r))}var er=["Task","Bug","Feature","Enhancement","Research"];function V(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 St(t,e){if(e.length===0)return t;let r={};for(let l of e)l in t&&(r[l]=t[l]);return r}function re(t){let e=t.slice(0,3).join(", ");console.log(n.cyan(` \u2192 Next: ${e}`))}var tr=t=>t.trim().toLowerCase();function Je(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)+`
1768
- `)}else process.stderr.write(n.red(`\u2717 ${t.message}
1769
- `)),t.suggestion&&process.stderr.write(n.dim(` ${t.suggestion}
1770
- `))}function je(t,e){let r=tr(e);return r?tr(t??"")===r:!0}function Xa(t){return[...new Set(t.map(e=>e.author?.trim()).filter(e=>!!e))].sort((e,r)=>e.localeCompare(r))}function Ze(t){return er.map(e=>e.toLowerCase()).includes(t.toLowerCase())?!0:(console.log(n.red(`\u2717 Invalid type filter: "${t}"`)),console.log(n.yellow(` Available types: ${er.join(" | ")}`)),console.log(n.dim(" Type filter is exact (example: --type Bug)")),process.exitCode=P.USAGE,!1)}function Le(t,e){let r=Xa(e);return r.length===0?(console.log(n.red("\u2717 Cannot filter by user: no task authors are available on this board.")),process.exitCode=P.USAGE,!1):r.some(l=>je(l,t))?!0:(console.log(n.red(`\u2717 User not found: "${t}"`)),console.log(n.yellow(` Available users: ${r.join(" | ")}`)),console.log(n.dim(" User filter is exact email match (case-insensitive).")),process.exitCode=P.USAGE,!1)}function Ja(t,e,r,l,c){let o=xe[t.status]??n.white;if(console.log(` ${n.dim(`${r+1}.`)} ${o(`[${e.status}]`)} ${e.title}`),console.log(n.dim(` id: ${e.id}`)),console.log(n.dim(` file: ${t.filePath}`)),e.file&&console.log(n.dim(` source: ${e.file}${e.line!=null?`:${e.line}`:""}${e.col!=null?`:${e.col}`:""}`)),e.component&&console.log(n.dim(` component: ${e.component}`)),console.log(n.dim(` selector: ${e.selector}`)),t.cssSelector&&console.log(n.dim(` css: ${t.cssSelector}`)),e.url&&console.log(n.dim(` url: ${e.url}`)),t.screenshot&&console.log(n.dim(` screenshot: http://localhost:${l}/screenshots/${t.screenshot}`)),t.commits&&t.commits.length>0)if(t.commits.length===1)console.log(n.dim(` commit: ${t.commits[0].sha}`));else{console.log(n.dim(` commits (${t.commits.length}):`));for(let a of t.commits)console.log(n.dim(` ${a.sha.slice(0,8)} ${a.timestamp} ${a.message.slice(0,60)}`))}if(t.branchName&&console.log(n.dim(` branch: ${t.branchName}`)),console.log(n.dim(` created: ${e.created}`)),e.type&&console.log(n.dim(` type: ${e.type}`)),e.priority&&console.log(n.dim(` priority: ${e.priority}`)),e.description){console.log(n.dim(" description:"));for(let a of e.description.split(`
1771
- `))console.log(n.dim(` ${a}`))}if(e.structuredComments&&e.structuredComments.length>0){console.log(n.dim(` comments (${e.structuredComments.length}):`));for(let a of e.structuredComments){let i=a.updatedAt?` (edited ${a.updatedAt})`:"";console.log(n.dim(` [${a.author??"agent"}] ${a.createdAt}${i}`));for(let s of a.text.split(`
1772
- `))console.log(n.dim(` ${s}`))}}if(e.linkedFiles&&e.linkedFiles.length>0){console.log(n.dim(` linked files (${e.linkedFiles.length}):`));for(let a of e.linkedFiles){let i=a.linkedPath??Va(c,".vibeflow","files",t.id,a.name);if(console.log(n.dim(` - ${a.name} ${a.url}`)),/\.(md|txt)$/i.test(a.name)&&a.size<1e5&&rr(i))try{let s=nr(i,"utf-8");console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let d of s.split(`
1773
- `))console.log(n.dim(` \u2502 ${d}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}catch{}}}console.log()}var te=new Wa;te.name("vibeflow").description("Vibeflow \u2014 CLI tool for frontend prototyping with LLM assistance").version("0.10.0");te.addHelpText("after",`
1764
+ <ul>${x}</ul></body></html>`)});for(let f of o){let y=l?`/${fe(f)}`:"/";s.get(y,(x,E)=>{let T=Va(f,"utf-8"),C=b?Xt(T,b):T;E.type("html").send(C)})}let h=o.map(f=>`/${fe(f)}`);Vn(s,l?h:[]),qn(s,r,d),Qn(s,r,d),Kn(s,r,d),Yn(s,e.port),Gn(s,e.port);let j=null;j=mt(n,{onChange:f=>{let y=fe(f);console.log(S.dim(` File changed: ${y}`)),d({type:"reload",file:y})}});let m=le(r,U,Ce),p=De(m,{onChanged:f=>{let y=ee(f);d(y?{type:"task-changed",taskId:y.id,action:"update",task:y,source:"cli"}:{type:"tasks-updated"})},onDeleted:f=>{let y=fe(f,".json");d({type:"task-deleted",taskId:y})}});return Xn(s),new Promise((f,y)=>{let x=e.host??"localhost";c.listen(e.port,x,()=>{let T=`http://${x==="0.0.0.0"?Hn()??"localhost":x}:${e.port}`,C=x==="0.0.0.0"?`http://localhost:${e.port}`:null,w=S.dim(" "+"\u2500".repeat(62));console.log(),console.log(S.green(" \u2713 Vibeflow running")+S.dim(" \xB7 ")+S.cyan(T)),C&&console.log(S.dim(" Local: ")+S.cyan(C)),console.log(w);for(let v of o){let R=l?`/${fe(v)}`:"/";console.log(S.dim(" File: ")+S.cyan(`${T}${R}`)+S.dim(` (${fe(v)})`));let _=he(C,R,17);_&&console.log(_)}console.log(S.dim(" Kanban board: ")+S.cyan(`${T}/kanban`));let k=he(C,"/kanban",17);k&&console.log(k),console.log(S.dim(" Task API: ")+S.cyan(`${T}/api/tasks`));let I=he(C,"/api/tasks",17);I&&console.log(I),console.log(w),console.log(S.bold.white(" INTEGRATE INTO YOUR APP")+S.dim(` (full guide: ${T}/inject)`));let N=he(C,"/inject",40);N&&console.log(N),console.log(S.dim(" 1. Add this script tag to your HTML:")),console.log(S.dim(" ")+S.yellow(`<script src="${T}/vibeflow-overlay.js" data-vibeflow-overlay></script>`));let P=Wn(C,5);P&&console.log(P),console.log(S.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(S.dim(" 3. Click anything to annotate it.")),console.log(),console.log(S.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(v=>v.default(T)).catch(()=>{}),f({url:T,localUrl:C,close:async()=>{j&&await j.close(),await p.close(),u.close(),await new Promise(v=>c.close(()=>v()))}})}),c.on("error",y)})}async function Te(){return await Z()?"saas":"local"}import z from"chalk";import io from"open";import er from"readline";import lo from"@inquirer/select";import{existsSync as so,readdirSync as tr,readFileSync as co}from"fs";import{join as nt,resolve as uo}from"path";var O={SUCCESS:0,GENERAL:1,USAGE:2,NOT_FOUND:3,AUTH:4,CONFLICT:5};var po="https://app.vibeflow.tools",fo=300*1e3;function nr(){return process.env.VIBEFLOW_API_URL??po}async function go(t){return new Promise(e=>setTimeout(e,t))}async function mo(t){return t.length===1?(console.log(z.dim(` Using board: ${t[0].icon??""} ${t[0].name}`)),t[0]):await lo({message:"Select a board to use:",choices:t.map(n=>({name:`${n.icon??""} ${n.name}`,value:n}))})}async function rr(t,e){try{let n=await fetch(`${t}/api/cli/settings`,{headers:{Authorization:`Bearer ${e}`}});if(!n.ok)return;let i=await n.json();i.settings&&Object.keys(i.settings).length>0&&kn({...i.settings,_settingsRefreshedAt:Date.now()})}catch{}}async function ar(){try{let t=await Z();if(!t)return;let n=_t()._settingsRefreshedAt??0;if(Date.now()-n<fo)return;let i=nr();rr(i,t)}catch{}}async function bo(t,e){try{let[n,i]=await Promise.all([fetch(`${t}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${e}`}}),fetch(`${t}/api/cli/profile`,{headers:{Authorization:`Bearer ${e}`}})]);if(!n.ok)return;let l=await n.json();if(!l.workspaces?.length){console.log(z.yellow(" No boards found. Create a board in the web app first."));return}let o=i.ok?await i.json():null,r=await mo(l.workspaces);await Gt({...r,email:o?.email??null}),console.log(z.green(` Board set: ${r.icon??""} ${r.name}`)),console.log(z.dim(` Open at: ${r.url}`))}catch{}}async function ho(t,e,n,i){let l=nt(t,U,Ce);if(!so(l))return;let o=[];try{for(let d of tr(l,{withFileTypes:!0}))if(d.isDirectory()){let b=nt(l,d.name);for(let g of tr(b).filter(h=>h.endsWith(".json")))o.push(nt(b,g))}else d.isFile()&&d.name.endsWith(".json")&&o.push(nt(l,d.name))}catch{return}if(o.length===0)return;let r=o.flatMap(d=>{try{return[JSON.parse(co(d,"utf-8"))]}catch{return[]}}),s=new Set;try{let d=await fetch(`${e}/api/cli/tasks?boardId=${i.id}`,{headers:{Authorization:`Bearer ${n}`}}).catch(()=>null);if(d?.ok){let b=await d.json();s=new Set((b.tasks??[]).flatMap(g=>[g.id,...g.cliId?[g.cliId]:[]]))}}catch{}let c=r.filter(d=>!s.has(d.id));if(c.length===0)return;console.log(),console.log(z.bold(` ${c.length} local task${c.length!==1?"s are":" is"} not yet synced to the board:`));let u=c.slice(0,10);for(let d of u){let b=d.status?z.dim(` [${d.status}]`):"";console.log(z.dim(` \u2022 ${d.title??d.id}${b}`))}return c.length>10&&console.log(z.dim(` \u2026 and ${c.length-10} more`)),new Promise(d=>{let b=er.createInterface({input:process.stdin,output:process.stdout});b.question(z.cyan(`
1765
+ Push them to your board now? [Y/n]: `),async g=>{if(b.close(),g.trim().toLowerCase()==="n"){console.log(z.dim(" Skipped. You can push later with: vibeflow push")),d();return}let h=er.createInterface({input:process.stdin,output:process.stdout});h.question(z.cyan(" Delete local task files after push? [y/N]: "),async j=>{h.close();let m=j.trim().toLowerCase()!=="y";try{let p=await fetch(`${e}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({boardId:i.id,tasks:c,keepLocalFiles:m})}),f={};try{f=await p.json()}catch{}p.ok?(console.log(z.green(` \u2713 Pushed ${f.imported??0} task${(f.imported??0)!==1?"s":""} to ${i.name}`)),(f.skipped??0)>0&&console.log(z.dim(` (${f.skipped} already existed and were skipped)`))):console.log(z.red(` Push failed: ${f.error??`HTTP ${p.status}`}`))}catch(p){console.log(z.red(` Push failed: ${p instanceof Error?p.message:"Network error"}`))}d()})})})}async function rt(t=uo(".")){let e=nr();console.log(z.cyan(" Initiating device login flow..."));let n;try{n=await fetch(`${e}/api/cli/auth/device-init`,{method:"POST",headers:{"Content-Type":"application/json"}})}catch(u){console.error(z.red(` Failed to connect to login server: ${u instanceof Error?u.message:"Network error"}`)),process.exitCode=O.AUTH;return}if(!n.ok){console.error(z.red(` Failed to initiate login: ${n.status} ${n.statusText}`)),process.exitCode=O.AUTH;return}let{deviceCode:i,userCode:l,verificationUrl:o,expiresIn:r}=await n.json();console.log(),console.log(z.bold(" Open this URL in your browser to authorize:")),console.log(z.underline(` ${o}`)),console.log();try{await io(o),console.log(z.dim(" (Browser opened automatically)"))}catch{}let s=Date.now()+r*1e3,c=3e3;for(;Date.now()<s;){await go(c);let u=null;try{u=await fetch(`${e}/api/cli/auth/device-poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:i})})}catch{console.error(z.red(" Poll request failed (network error). Retrying..."));continue}if(!u.ok){console.error(z.red(" Poll request failed. Retrying..."));continue}let d=await u.json();if("token"in d){await Sn(d.token),console.log(),console.log(z.green(" Logged in successfully. Now operating in SaaS mode.")),await Promise.all([bo(e,d.token),rr(e,d.token)]);let{readWorkspace:b}=await import("./workspace-KGOQ67YV.js"),g=await b();g&&await ho(t,e,d.token,g);return}if("expired"in d){console.error(z.red(" Device code expired. Please try again.")),process.exitCode=O.AUTH;return}process.stdout.write(z.dim("."))}console.error(z.red(`
1766
+ Login timed out. Please try again.`)),process.exitCode=O.AUTH}import vo from"chalk";async function or(){await Promise.all([_n(),Qt()]),console.log(vo.green(" Logged out. Now operating in local mode."))}import q from"chalk";import{unlinkSync as yo,readFileSync as xo,existsSync as ko}from"fs";import{resolve as wo,join as So}from"path";var _o="https://app.vibeflow.tools";function Co(){return process.env.VIBEFLOW_API_URL??_o}function Eo(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function ir(t,e,n=24){let i=Math.round(t/e*n);return`[${"\u2588".repeat(i)+"\u2591".repeat(n-i)}]`}async function To(t,e,n,i){let l=[];for(let{localId:h,remoteId:j}of i){let m=te(n,h);for(let p of m){let f=p.linkedPath??So(Y(n,h),p.name);ko(f)&&l.push({remoteId:j,name:p.name,filePath:f,size:p.size})}}if(l.length===0)return{uploaded:0,failed:0,failedFiles:[]};let o=l.length,r=l.reduce((h,j)=>h+j.size,0);console.log(q.cyan(`
1767
+ Uploading ${o} file(s) (${Eo(r)})...`));let s=0,c=0,u=0,d=Date.now(),b=[];for(let h of l){let j=Math.round(s/o*100),m=ir(s,o),p=(Date.now()-d)/1e3,f=u/Math.max(p,.01),y=r-u,x=f>0?Math.ceil(y/f):0,E=x>60?`${Math.ceil(x/60)}m`:`${x}s`;process.stdout.write(`\r ${m} ${j}% ${h.name.slice(0,28)} ETA: ${E} `);try{let T=xo(h.filePath),C=await fetch(`${t}/api/tasks/${encodeURIComponent(h.remoteId)}/files`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/octet-stream","x-filename":encodeURIComponent(h.name)},body:T});C.ok?(s++,u+=h.size):(c++,b.push({name:h.name,reason:`HTTP ${C.status}`}))}catch(T){c++,b.push({name:h.name,reason:T instanceof Error?T.message:String(T)})}}let g=ir(o,o);return process.stdout.write(`\r ${g} 100% Done${" ".repeat(40)}
1768
+ `),{uploaded:s,failed:c,failedFiles:b}}async function lr(t,e){let n=wo(t),i=await Z();if(!i&&(console.log(q.yellow(" Not logged in. Starting login flow...")),await rt(),i=await Z(),!i)){console.error(q.red(" Login failed. Please run `vibeflow login` and try again.")),process.exitCode=O.AUTH;return}let l=ae(n);if(l.length===0){console.log(q.dim(" No local tasks found. Nothing to push."));return}console.log(q.cyan(` Found ${l.length} local task(s). Pushing to SaaS...`));let o=Co(),r=e.workspace;if(!r){let p=await oe();p&&(r=p.id,console.log(q.dim(` Using board: ${p.icon??""} ${p.name}`)))}let s={tasks:l};r&&(s.workspaceId=r);let c;try{let p=await fetch(`${o}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(s)});if(!p.ok){let f=await p.json().catch(()=>({}));console.error(q.red(` Import failed: ${p.status} ${f.error??p.statusText}`)),process.exitCode=O.GENERAL;return}c=await p.json()}catch(p){let f=p instanceof Error?p.message:String(p);console.error(q.red(` Network error: ${f}`)),process.exitCode=O.GENERAL;return}console.log(q.green(` \u2713 Pushed ${c.imported} task(s) to SaaS`)),c.skipped&&c.skipped>0&&console.log(q.dim(` Skipped ${c.skipped} already-imported task(s).`));let u=(await oe())?.name??c.workspaceId;console.log(q.dim(` Board: ${u}`));let d=c.idMap??{},b=l.filter(p=>p.id&&d[p.id]).map(p=>({localId:p.id,remoteId:d[p.id]})),{uploaded:g,failed:h,failedFiles:j}=await To(o,i,n,b);if(g>0&&console.log(q.green(` \u2713 Uploaded ${g} file(s) to storage`)),h>0){console.log(q.yellow(` \u26A0 ${h} file(s) failed to upload`));for(let p of j)console.log(q.dim(` - ${p.name}: ${p.reason}`))}if(e.keepLocalFiles){console.log(q.dim(" Local task files kept (--keep-local-files)."));return}let m=0;for(let p of l)try{yo(p.filePath),m++}catch{}console.log(q.dim(` Deleted ${m} local task file(s).`))}import Q from"chalk";import{basename as sr,resolve as jo,join as Io}from"path";import{existsSync as No,statSync as Po}from"fs";function Ro(t,e){return t===void 0?"new":t!=="todo"&&e==="todo"?"moved-to-todo":null}function Lo(t,e){try{let n=ae(t).find(r=>r.id===e);if(!n)return null;let i=Le(t),l=pe(t,e),o=te(t,e).map(r=>({...r,url:`http://localhost:${i.port}${r.url}`}));return Me(n,n.filePath,l,o,t)}catch{return null}}function cr(t){let e=jo(t);if(!No(e)){console.error(Q.red(` Error: directory does not exist: ${e}`)),process.exitCode=O.USAGE;return}if(!Po(e).isDirectory()){console.error(Q.red(` Error: not a directory: ${e}`)),process.exitCode=O.USAGE;return}Ee(e);let n=Io(e,U,Ce),i=new Map;for(let r of ae(e))i.set(r.id,r.status);let l=(r,s)=>{try{let c=Lo(e,s);if(!c)return;console.log(),console.log(r==="new"?Q.green.bold("\u{1F195} NEW TASK"):Q.blue.bold("\u25B6 MOVED TO TODO")),console.log(Q.dim("\u2500".repeat(62)));for(let u of c.split(`
1769
+ `))console.log(Q.dim(u));console.log(Q.dim("\u2500".repeat(62)))}catch(c){console.error(Q.red(` Error rendering task ${s}:`),c)}},o=De(n,{onChanged:r=>{try{let s=ee(r);if(!s)return;let c=i.get(s.id),u=Ro(c,s.status);i.set(s.id,s.status),u&&l(u,s.id)}catch(s){console.error(Q.red(` Error processing ${sr(r)}:`),s)}},onDeleted:r=>{i.delete(sr(r,".json"))}});o.on("error",r=>{console.error(Q.red(" Watcher error:"),r)}),console.log(),console.log(Q.bold(" Vibeflow \u2014 watching for task updates")),console.log(Q.dim(` ${n}`)),console.log(Q.dim(" Notifies on: new tasks, tasks moved to todo.")),console.log(Q.dim(" Press Ctrl+C to stop.")),console.log(),process.once("SIGINT",()=>{o.close().then(()=>{console.log(Q.dim(`
1770
+ Watch stopped.`)),process.exit(0)},()=>process.exit(0))}),process.once("SIGTERM",()=>{o.close().then(()=>process.exit(0),()=>process.exit(0))})}import at from"chalk";function ur(t={}){let e=qe(Re()??"",t);if(!e){console.log(at.dim(" No changelog found for this installation."));return}console.log(),console.log(e),console.log(),t.all||(console.log(at.dim(" Run ")+at.cyan("vibeflow changelog --all")+at.dim(" to see every release.")),console.log())}import{readdirSync as Oo,unlinkSync as Ao,existsSync as $o,statSync as zo}from"fs";import{join as dr}from"path";var pr="auth-state.",fr=".enc";function gr(t){let e=dr(t,U);if(!$o(e))return[];try{return Oo(e).filter(n=>n.startsWith(pr)&&n.endsWith(fr)).map(n=>dr(e,n))}catch{return[]}}function mr(t){let e=gr(t),n=0;for(let i of e)try{Ao(i),n++}catch{}return n}function br(t){let e=gr(t),n=[];for(let i of e){let o=(i.split("/").pop()??"").slice(pr.length,-fr.length);if(!o)continue;let r="unknown";try{let s=zo(i),c=Date.now()-s.mtimeMs,u=Math.floor(c/(1e3*60*60));u<1?r=`${Math.floor(c/6e4)}m`:u<24?r=`${u}h`:r=`${Math.floor(u/24)}d`}catch{}n.push({taskId:o,path:i,age:r})}return n}import $ from"chalk";import{resolve as Sr,join as me}from"path";import{readFileSync as At}from"fs";import{statSync as Do,readdirSync as Fo,unlinkSync as Bo}from"fs";function Mo(t,e){return Math.abs(t.x-e.x)>2||Math.abs(t.y-e.y)>2||Math.abs(t.width-e.width)>2||Math.abs(t.height-e.height)>2}function ot(t,e){let n=!!e.outerHTML,i=t.outerHTML!==e.outerHTML,l={},o=new Set([...Object.keys(t.computedStyles),...Object.keys(e.computedStyles)]);for(let u of o){let d=t.computedStyles[u],b=e.computedStyles[u];d!==b&&(l[u]=[d??"",b??""])}let r=Mo(t.position.boundingBox,e.position.boundingBox),s=new Set(t.consoleErrors),c=e.consoleErrors.filter(u=>!s.has(u));return{selectorResolves:n,htmlChanged:i,stylesChanged:l,positionChanged:r,newConsoleErrors:c}}function hr(t,e){let n=[];if(t.selectorResolves){t.htmlChanged&&n.push("HTML changed");let i=Object.keys(t.stylesChanged).length;if(i>0){let l=Object.keys(t.stylesChanged).slice(0,5).join(", "),o=i>5?` (+${i-5} more)`:"";n.push(`${i} style property change(s): ${l}${o}`)}t.positionChanged&&n.push("position shifted"),t.newConsoleErrors.length>0&&n.push(`${t.newConsoleErrors.length} new console error(s)`),n.length===0&&n.push("no structural changes detected")}else n.push(`Selector "${e}" no longer resolves`);return n.join("; ")}var Ot=["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 vr(t){let e=[],n=t;for(;n&&n!==document.documentElement;){let i=n.parentElement;if(!i)break;let l=Array.from(i.children).indexOf(n);e.unshift(l),n=i}return e.join("/")}function yr(t){let e=t.tagName.toLowerCase(),n=t.getAttribute("data-task-id");if(n)return`${e}.task-card[data-task-id=${n}]`;let i=t.getAttribute("data-status");if(i&&t.classList.contains("column-scroll"))return`${e}.column-scroll[data-status=${i}]`;let l=t.getAttribute("data-column-id");if(l)return`${e}[data-column-id=${l}]`;let o=Array.from(t.classList).slice(0,2),r=e;o.length&&(r+="."+o.join("."));let s=t.parentElement;if(s){let c=Array.from(s.children).filter(u=>u.tagName===t.tagName);if(c.length>1){let u=c.indexOf(t)+1;r+=`:nth-of-type(${u})`}}return r}function xr(t,e=Ot){let n=window.getComputedStyle(t),i={};for(let l of e)i[l]=n.getPropertyValue(l);return i}function kr(t,e=200){return t.replace(/\s+/g," ").trim().slice(0,e)}function wr(t){let e=new Map;for(let n of t){let i=n.tagName.toLowerCase(),l=Array.from(n.classList).slice(0,2).join("."),o=l?`${i}.${l}`:i;e.set(o,(e.get(o)||0)+1)}return Array.from(e.entries()).map(([n,i])=>`${n} \xD7${i}`).slice(0,10)}var K=class extends Error{constructor(n,i,l){super(i);this.code=n;this.suggestion=l;this.name="VerifyError"}code;suggestion};async function Uo(){try{return await import("playwright")}catch{throw new K("E_PLAYWRIGHT_MISSING","Playwright is not installed.","Run: npx playwright install chromium")}}async function Ho(t,e,n={}){let i=Sr(t),l=V(i,e);if(!l)throw new K("E_NOT_FOUND",`Task not found: ${e}`,"Run 'vibeflow tasks' to see available task IDs.");let o=ee(l);if(!o)throw new K("E_NOT_FOUND",`Task not found: ${e}`);let r,s=o.baselineElementFile||"baseline-element.json",c=Pe(i,e,s);if(c)try{r=JSON.parse(At(c,"utf-8"))}catch{}if(!r&&o.baseline&&(r=o.baseline),!r)throw new K("E_NO_BASELINE","Task has no baseline. Re-annotate to capture one.");let u=[],d={},b={};if(o.authStateEnc&&o.author)try{let y=JSON.parse(o.authStateEnc),x=pn(y,o.author);if(!x)throw new K("E_AUTH_EXPIRED","Auth state expired. Re-annotate to capture fresh cookies.");u=x.cookies,d=x.localStorage,b=x.sessionStorage}catch(y){throw y instanceof K?y:new K("E_AUTH_CORRUPT","Auth state corrupted. Re-annotate.")}let g=n.url??o.url;if(!g)throw new K("E_NO_URL","Task has no URL. Cannot verify without a target URL.","Re-annotate the element with a URL, or use --url to override.");let h=g.startsWith("http")?g:`http://localhost:3700${g.startsWith("/")?g:"/"+g}`,j=o.cssSelector??o.selector;if(!j||j==="/")throw new K("E_NO_SELECTOR","Task has no CSS selector. Cannot verify without a selector.");let m=await Uo(),p;try{p=await m.chromium.launch({headless:!0})}catch(y){let x=y instanceof Error?y.message:String(y);throw x.includes("not found")||x.includes("not installed")||x.includes("Executable doesn't exist")?new K("E_PLAYWRIGHT_MISSING","Chromium is not installed.","Run: npx playwright install chromium"):new K("E_PLAYWRIGHT_CRASH",`Verification failed: ${x}`,"Try again.")}let f;try{let y=r.position?.viewport;f=await p.newContext({viewport:y?{width:y.width,height:y.height}:void 0,deviceScaleFactor:y?.dpr,userAgent:r.browser||void 0}),u.length>0&&await f.addCookies(u.map(v=>({name:v.name,value:v.value,domain:v.domain,path:v.path,expires:v.expires,httpOnly:v.httpOnly,secure:v.secure,sameSite:v.sameSite})));let x=await f.newPage(),E=[];x.on("console",v=>{v.type()==="error"&&E.push(v.text())}),x.on("pageerror",v=>{E.push(v.message)});try{await x.goto(h,{waitUntil:"networkidle",timeout:15e3})}catch(v){let R=v instanceof Error?v.message:String(v);throw R.includes("ERR_CONNECTION_REFUSED")||R.includes("ECONNREFUSED")?new K("E_APP_NOT_RUNNING",`Cannot connect to ${h}. Is the dev server running?`):new K("E_NAVIGATION_FAILED",`Failed to navigate to ${h}: ${R}`)}try{Object.keys(d).length>0&&await x.evaluate(v=>{for(let[R,_]of Object.entries(v))window.localStorage.setItem(R,_)},d),Object.keys(b).length>0&&await x.evaluate(v=>{for(let[R,_]of Object.entries(v))window.sessionStorage.setItem(R,_)},b)}catch{}let T=0;try{await x.waitForSelector(j,{timeout:1e4}),T=await x.locator(j).count()}catch{let v={outerHTML:"",computedStyles:{},selector:j,position:r.position,browser:r.browser,consoleErrors:E,capturedAt:new Date().toISOString()},R=ot(r,v);return $t(o.id,o.description,r,v,R,[],j)}if(T>1){let v={outerHTML:"",computedStyles:{},selector:j,position:r.position,browser:r.browser,consoleErrors:E,capturedAt:new Date().toISOString()},R=ot(r,v),_=`Selector matches ${T} elements. The selector may need to be more specific.`;return $t(o.id,o.description,r,v,R,[],j,_)}let C=await Wo(x,j,r,E),w=null,k=o.baselineFile||"baseline-page.json",I=Pe(i,e,k);if(I)try{w=JSON.parse(At(I,"utf-8"))}catch{}let N=ot(r,C),P=await Vo(i,e,r,C,N,E,x,j);if(w&&w.elements){let v=Pe(i,e,"verify-all-styles.json");if(v)try{let R=JSON.parse(At(v,"utf-8"));if(R&&R.elements){let _={},M=Object.entries(R.elements);for(let[A,ye]of M){let xe=w.elements[A]?.after;if(xe){ye.baseline=xe;let de={};for(let[H,ke]of Object.entries(ye.after)){let we=xe[H];we!==ke&&(de[H]=[we,ke])}Object.keys(de).length>0&&(_[A]=de)}}G(i,e,"verify-all-styles.json",Buffer.from(JSON.stringify(R,null,2)));let F=JSON.stringify({totalChanged:Object.keys(_).length,elements:_},null,2);G(i,e,"verify-page-diff.json",Buffer.from(F)),P.push(me(Y(i,e),"verify-page-diff.json"))}}catch{}}return B(i,e,{verified:!0}),$t(o.id,o.description,r,C,N,P,j)}finally{await f?.close(),await p?.close()}}async function Wo(t,e,n,i){let l=t.locator(e).first(),o=await l.evaluate(u=>u.outerHTML).catch(()=>""),r=await l.evaluate(u=>{let d=window.getComputedStyle(u),b={};for(let g=0;g<d.length;g++){let h=d[g];b[h]=d.getPropertyValue(h)}return b}).catch(()=>({})),c={boundingBox:await l.boundingBox().catch(()=>null)??n.position.boundingBox,scrollPosition:await t.evaluate(()=>({x:window.scrollX,y:window.scrollY})),viewport:await t.evaluate(()=>({width:window.innerWidth,height:window.innerHeight,dpr:window.devicePixelRatio})),stackingContext:n.position.stackingContext};return{outerHTML:o,computedStyles:r,selector:e,position:c,browser:n.browser,consoleErrors:i,capturedAt:new Date().toISOString()}}async function Vo(t,e,n,i,l,o,r,s){let c=[],u=Y(t,e);try{let h=Fo(u);for(let j of h)(j.startsWith("verify-")||j==="baseline.json")&&Bo(me(u,j))}catch{}let d=JSON.stringify(i,null,2);G(t,e,"verify-after.json",Buffer.from(d)),c.push(me(Y(t,e),"verify-after.json"));let b=JSON.stringify(l,null,2);G(t,e,"verify-diff.json",Buffer.from(b)),c.push(me(Y(t,e),"verify-diff.json"));let g=o.length>0?o.join(`
1771
+ `):"(no console errors)";if(G(t,e,"verify-console.txt",Buffer.from(g)),c.push(me(Y(t,e),"verify-console.txt")),r){try{let h=await r.content();G(t,e,"verify-page.html",Buffer.from(h)),c.push(me(Y(t,e),"verify-page.html"))}catch{}try{let j=await r.evaluate(({buildKeyFn:m,buildSelectorFn:p,filterStylesFn:f,childSignatureFn:y,normalizeTextFn:x,styles:E,maxElements:T})=>{let C={},w=0,k=!1,I=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode(v){if(w>=T)return NodeFilter.FILTER_REJECT;let R=v;return R.classList.length>0||R.hasAttribute("data-task-id")||R.hasAttribute("data-status")||R.hasAttribute("data-column-id")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}}),N=[],P;for(;P=I.nextNode();)N.push(P);for(let v of N){if(w>=T){k=!0;break}let R=m(v),_=Array.from(v.children),M={};for(let A of Array.from(v.attributes))A.name.startsWith("data-")&&(M[A.name.slice(5)]=A.value);let F={x:0,y:0,width:0,height:0};try{let A=v.getBoundingClientRect();F={x:Math.round(A.x),y:Math.round(A.y),width:Math.round(A.width),height:Math.round(A.height)}}catch{}C[R]={key:R,selector:p(v),tag:v.tagName.toLowerCase(),classes:Array.from(v.classList),dataAttrs:M,parentKey:v.parentElement?m(v.parentElement):"",childCount:_.length,childSignature:y(_),text:x(v.textContent??""),position:F,baseline:f(v,E),after:f(v,E)},w++}return{version:1,capturedAt:new Date().toISOString(),truncated:k,elements:C}},{buildKeyFn:vr,buildSelectorFn:yr,filterStylesFn:xr,childSignatureFn:wr,normalizeTextFn:kr,styles:Ot,maxElements:1e3});if(j){let m=JSON.stringify(j,null,2);G(t,e,"verify-all-styles.json",Buffer.from(m)),c.push(me(Y(t,e),"verify-all-styles.json"))}}catch{}try{let h=await r.screenshot({fullPage:!1});G(t,e,"verify-screenshot.png",h),c.push(me(Y(t,e),"verify-screenshot.png"))}catch{}if(s)try{let h=await r.locator(s).first().evaluate(j=>j.outerHTML);G(t,e,"verify-element.html",Buffer.from(h)),c.push(me(Y(t,e),"verify-element.html"))}catch{}}if(n){let h=JSON.stringify(n,null,2);G(t,e,"baseline.json",Buffer.from(h)),c.push(me(Y(t,e),"baseline.json"))}return c}function $t(t,e,n,i,l,o,r,s){let c=l.selectorResolves&&l.newConsoleErrors.length===0,u=s??hr(l,r);return{taskId:t,ok:c,taskDescription:e,baseline:{selector:n.selector,url:"",capturedAt:n.capturedAt,snapshot:n},after:{snapshot:i,consoleErrors:i.consoleErrors},diff:l,evidenceFiles:o,verdict:u}}async function _r(t,e,n){let i=Sr(t);try{let l=await Ho(i,e,n),o=`**Verification ${l.ok?"\u2705 passed":"\u26A0\uFE0F issues detected"}**
1772
+
1773
+ ${l.verdict}`;be(i,e,"agent",o,void 0,"system"),n.json?console.log(JSON.stringify(l,null,2)):qo(l)}catch(l){if(l instanceof K)n.json?process.stderr.write(JSON.stringify({ok:!1,error:{code:l.code,message:l.message,suggestion:l.suggestion}})+`
1774
+ `):(process.stderr.write($.red(`\u2717 ${l.message}
1775
+ `)),l.suggestion&&process.stderr.write($.dim(` ${l.suggestion}
1776
+ `))),process.exitCode=O.GENERAL;else{let o=l instanceof Error?l.message:String(l);n.json?process.stderr.write(JSON.stringify({ok:!1,error:{code:"E_UNKNOWN",message:o}})+`
1777
+ `):process.stderr.write($.red(`\u2717 Verification failed: ${o}
1778
+ `)),process.exitCode=O.GENERAL}}}function qo(t){let e=t.ok?$.green("\u2705"):$.yellow("\u26A0\uFE0F");console.log(),console.log(` ${e} Evidences collected for task ${t.taskId}`),console.log($.dim("\u2500".repeat(60))),console.log($.dim(` Verdict: ${t.verdict}`)),console.log();let n=t.diff;if(n.selectorResolves){n.htmlChanged?console.log($.cyan(" \u2713 HTML changed")):console.log($.dim(" \xB7 HTML unchanged"));let i=Object.keys(n.stylesChanged).length;if(i>0){console.log($.cyan(` \u2713 ${i} style property change(s):`));for(let[l,[o,r]]of Object.entries(n.stylesChanged).slice(0,8))console.log($.dim(` ${l}: ${o} \u2192 ${r}`));i>8&&console.log($.dim(` ... and ${i-8} more`))}if(n.positionChanged&&console.log($.cyan(" \u2713 Position shifted")),n.newConsoleErrors.length>0){console.log($.yellow(` \u26A0 ${n.newConsoleErrors.length} new console error(s):`));for(let l of n.newConsoleErrors.slice(0,3))console.log($.dim(` ${l.slice(0,120)}`))}}else console.log($.red(" \u26A0 Target element not found \u2014 the fix may have renamed/removed it."));if(t.evidenceFiles.length>0){console.log($.cyan(` Evidence files (${t.evidenceFiles.length}):`));for(let i of t.evidenceFiles){let l=i.split("/").pop()??i;try{let r=(Do(i).size/1024).toFixed(1);console.log($.dim(` ${l} (${r} KB)`))}catch{console.log($.dim(` ${l}`))}}}console.log(),console.log($.cyan(" Explore evidence (agent tools):")),console.log($.dim(` vibeflow verify style_query ${t.taskId} <property>`)),console.log($.dim(` vibeflow verify style_diff ${t.taskId} [--filter <pattern>]`)),console.log($.dim(` vibeflow verify element_info ${t.taskId}`)),console.log($.dim(` vibeflow verify html_diff ${t.taskId}`)),console.log(),console.log($.cyan(" Review evidences:")),console.log($.dim(" 1. Check if the fix is confirmed (styles match expectations)")),console.log($.dim(` 2. If confirmed \u2192 vibeflow tasks --edit ${t.taskId} --set-status review --comment "Verified: <what you confirmed>"`)),console.log($.dim(" 3. If not sure \u2192 leave a comment explaining uncertainty")),console.log($.dim(` 4. If wrong \u2192 vibeflow tasks --edit ${t.taskId} --set-status in-progress`)),console.log(),t.ok||(console.log($.yellow(" \u26A0 Verification failed \u2014 move to in-progress and fix:")),console.log($.dim(` vibeflow tasks --edit ${t.taskId} --set-status in-progress`)))}import{readFileSync as Ir,existsSync as Nr}from"fs";import{join as Pr}from"path";import{resolve as Ko}from"path";function Er(t,e){let n=[];for(let[i,l]of Object.entries(e.elements)){let o=t.elements[i];if(!o)continue;let r=o.childCount,s=l.childCount;if(r===s)continue;let c=[],u=Math.max(0,s-r);if(r>s){let b=new Set(o.childSignature),g=new Set(l.childSignature);for(let h of b)g.has(h)||c.push(h)}let d=[`children: ${r} \u2192 ${s}`,c.length?`removed: ${c.join(", ")}`:"",u?`added: ${u} element(s)`:""].filter(Boolean).join("; ");n.push({selector:l.selector,details:d})}return{queryType:"children",matches:n}}function Tr(t,e){let n=[];for(let[i,l]of Object.entries(e.elements)){let o=t.elements[i];o&&o.text!==l.text&&n.push({selector:l.selector,details:`text: "${Cr(o.text,60)}" \u2192 "${Cr(l.text,60)}"`})}return{queryType:"text",matches:n}}function jr(t,e){let n=[];for(let[i,l]of Object.entries(e.elements)){let o=t.elements[i];if(!o)continue;let r=new Set([...Object.keys(o.dataAttrs),...Object.keys(l.dataAttrs)]),s=[];for(let c of r){let u=o.dataAttrs[c]??"",d=l.dataAttrs[c]??"";u!==d&&s.push(`${c}: "${u}" \u2192 "${d}"`)}s.length>0&&n.push({selector:l.selector,details:s.join("; ")})}return{queryType:"attributes",matches:n}}function Cr(t,e){return t.length<=e?t:t.slice(0,e-1)+"\u2026"}var Rr=new Set(["style_query","style_diff","element_info","html_diff","html_query"]);async function Yo(t,e){let n=Y(t,e),i=b=>{let g=Pr(n,b);if(!Nr(g))return null;try{return JSON.parse(Ir(g,"utf-8"))}catch{return null}},l=b=>{let g=Pr(n,b);if(!Nr(g))return null;try{return Ir(g,"utf-8")}catch{return null}},o=i("baseline.json"),r=i("verify-after.json"),s=i("verify-diff.json"),c=l("verify-console.txt"),u=i("verify-all-styles.json"),d=i("baseline-page.json");if(u?.elements&&d?.elements)for(let[b,g]of Object.entries(u.elements)){let h=d.elements[b];h?.after&&(g.baseline=h.after)}return{taskId:e,baseline:o?.computedStyles??null,after:r?.computedStyles??null,diff:s?.stylesChanged??null,consoleText:c,baselineHtml:o?.outerHTML??null,afterHtml:r?.outerHTML??null,selector:r?.selector??null,position:r?.position??null,allStyles:u,pageBaseline:d}}function Go(t,e){if(t.allStyles){let o=t.allStyles,r=[];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)&&r.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:r}}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?.[zt(e)]??null,i=t.after?.[e]??t.after?.[zt(e)]??null,l=t.diff?.[e]!==void 0||t.diff?.[zt(e)]!==void 0;return{ok:!0,tool:"style_query",taskId:t.taskId,property:e,baseline:n,after:i,changed:l}}function Qo(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),i=e?n.filter(([o])=>o.toLowerCase().includes(e.toLowerCase())):n,l=Object.fromEntries(i);return{ok:!0,tool:"style_diff",taskId:t.taskId,filter:e??null,total:n.length,matched:i.length,styles:l}}function Xo(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(`
1779
+ `).filter(Boolean):[]}}function Jo(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 Lr(t,e,n,i={}){let l=Ko(t),o=n[0];if(!o){let u=`Usage: vibeflow verify ${e} <task-id> ${e==="style_query"?"<property>":""}`;i.json?console.log(JSON.stringify({ok:!1,error:u})):process.stderr.write(`\u2717 ${u}
1780
+ `),process.exitCode=1;return}if(!V(l,o)){let u=`Task not found: ${o}`;i.json?console.log(JSON.stringify({ok:!1,error:u})):process.stderr.write(`\u2717 ${u}
1781
+ `),process.exitCode=1;return}let s=await Yo(l,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=Go(s,u);break}case"style_diff":c=Qo(s,i.filter);break;case"element_info":c=Xo(s);break;case"html_diff":c=Jo(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=Zo(s,u);break}default:c={ok:!1,error:`Unknown tool: ${e}`};break}if(i.json)console.log(JSON.stringify(c,null,2));else{if(!c.ok){process.stderr.write(`\u2717 ${c.error}
1782
+ `);return}console.log(JSON.stringify(c,null,2))}}function Zo(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,i=t.pageBaseline?t.pageBaseline:{version:1,capturedAt:n.capturedAt,truncated:!1,elements:{}},l;switch(e){case"children":l=Er(i,n);break;case"text":l=Tr(i,n);break;case"attributes":l=jr(i,n);break}return{ok:!0,tool:"html_query",taskId:t.taskId,...l}}function zt(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}var Mt="https://app.vibeflow.tools";function it(){let t=process.env.VIBEFLOW_API_URL??Mt;try{let e=new URL(t);return e.protocol!=="https:"&&e.protocol!=="http:"?Mt:t.replace(/\/+$/,"")}catch{return Mt}}var ei={backlog:"backlog",todo:"todo","in-progress":"in_progress",review:"review",done:"done"},ti={backlog:"backlog",todo:"todo",in_progress:"in-progress",review:"review",done:"done",cancelled:"done"};function ve(t){return ti[t]??"todo"}function ni(t){return ei[t]??"todo"}async function lt(){let t=await Z();return t?{Authorization:`Bearer ${t}`}:null}async function Oe(t){let e=await lt();if(!e)return null;let n=new URL(`${it()}/api/cli/tasks`);t&&n.searchParams.set("boardId",t);try{let i=await fetch(n.toString(),{headers:e});return i.ok?i.json():null}catch{return null}}async function Or(t){let e=await Oe();return e?e.tasks.find(n=>n.id===t)??null:null}async function Dt(t,e){let n=await lt();if(!n)return null;let i={};e.status!==void 0&&(i.status=ni(e.status)),e.title!==void 0&&(i.title=e.title),e.description!==void 0&&(i.description=e.description),e.priority!==void 0&&(i.priority=e.priority),e.branchName!==void 0&&(i.branchName=e.branchName);try{let l=await fetch(`${it()}/api/cli/tasks/${encodeURIComponent(t)}`,{method:"PATCH",headers:{...n,"Content-Type":"application/json"},body:JSON.stringify(i)});if(!l.ok)return null;let o=await l.json();return{task:o.task,warning:o.warning}}catch{return null}}async function Ar(t,e){let n=await lt();if(!n)return null;try{let i=await fetch(`${it()}/api/cli/tasks/${encodeURIComponent(t)}/comments`,{method:"POST",headers:{...n,"Content-Type":"application/json"},body:JSON.stringify({body:e})});return i.ok?(await i.json()).comment:null}catch{return null}}async function $r(t){let e=await lt();if(!e)return null;try{let n=await fetch(`${it()}/api/cli/tasks`,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify(t)});return n.ok?(await n.json()).task:null}catch{return null}}import{readFileSync as Xr,existsSync as Jr,unlinkSync as hi}from"fs";import{resolve as W,join as vi,basename as Wr}from"path";import a from"chalk";import{createHash as ri,randomUUID as ai}from"crypto";import{existsSync as oi,readFileSync as ii,writeFileSync as li,mkdirSync as si,renameSync as ci}from"fs";import{join as zr}from"path";import Mr from"os";import{PostHog as ui}from"posthog-node";var di="phc_C9AUV3rnayLfVvxgHtvj6AXcwsd8FKWUfJ9262zWsCvM",pi="https://eu.i.posthog.com";function Dr(){return zr(process.env.HOME??Mr.homedir(),".vibeflow")}function Fr(){return zr(Dr(),"config.json")}function st(){try{return JSON.parse(ii(Fr(),"utf-8"))}catch{return{}}}function Br(t){let e=Dr();oi(e)||si(e,{recursive:!0});let n=st(),i=Fr(),l=i+".tmp";li(l,JSON.stringify({...n,...t},null,2),"utf-8"),ci(l,i)}function Ur(){return process.env.VIBEFLOW_TELEMETRY==="0"?!1:st().disabled!==!0}function Ft(t){Br({disabled:!t})}function Hr(){let t=Ur(),e=st();return{enabled:t,anonymousId:e.anonymousId??null}}function fi(){let t=st();if(t.anonymousId)return t.anonymousId;let e=ai();return Br({anonymousId:e}),e}function gi(){let t=Mr.userInfo().username;return ri("sha256").update(t).digest("hex").slice(0,16)}var Ue=null;function mi(){return Ur()?(Ue||(Ue=new ui(di,{host:pi,flushAt:1,flushInterval:0})),Ue):null}function ce(t,e){let n=mi();if(!n)return;let i=fi();n.capture({distinctId:i,event:t,properties:{...e,$user_id:gi()}})}async function se(){if(Ue)try{await Ue.shutdown()}catch{}}function yi(t,e){let n=u=>u.replace(/[^0-9.]/g,"").split(".").map(Number),[i=0,l=0,o=0]=n(t),[r=0,s=0,c=0]=n(e);return i!==r?i>r:l!==s?l>s:o>c}var Vr=!1;function xi(){if(!Vr){Vr=!0;try{let t=qe(Re()??"");t&&(console.log(t),console.log())}catch{}}}function ki(t=!0){let e="0.11.0";if(!e)return;let n="@vibeflow-tools/cli";import("https").then(({default:i})=>{let l=i.get(`https://registry.npmjs.org/${encodeURIComponent(n)}/latest`,{timeout:5e3},o=>{let r="";o.on("data",s=>{r+=s.toString()}),o.on("end",()=>{try{let{version:s}=JSON.parse(r);s&&yi(s,e)&&(console.log(),console.log(a.bgYellow.black.bold(` \u2191 Update available: ${e} \u2192 ${s} `)),console.log(a.dim(" Run: ")+a.cyan(`npm install -g ${n}@${s}`)+a.dim(" to update")),console.log(),t&&xi())}catch{}})});l.on("error",()=>{}),l.on("timeout",()=>{l.destroy()})}).catch(()=>{})}ar();var Ie={backlog:a.gray,todo:a.yellow,"in-progress":a.blue,review:a.magenta,done:a.green},wi=new Set(["Task","Bug","Research"]),ct=["backlog","todo","in-progress","review","done"],je=(t,e)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime();function qr(t){let e=n=>t.filter(i=>i.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 Si(t){if(t){for(let e of wi)if(e.toLowerCase()===t.toLowerCase())return e}}function _e(t){let e=(t??"Medium").trim().toLowerCase();return e==="critical"?0:e==="high"?1:e==="low"?3:2}var Kr=["in-progress","review","todo","backlog","done"];function ut(t){let e=Kr.indexOf(t);return e===-1?Kr.length:e}function Yr(t){try{return ft("git",["push"],{cwd:t,stdio:"inherit"}),{ok:!0}}catch{try{let e=Ut("git rev-parse --abbrev-ref HEAD",{cwd:t}).toString().trim();return ft("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 Ae(t){let e=Kt(t);for(let n of e.split(`
1783
+ `))n.startsWith("Agent instructions")?console.log(a.bold(n)):n.startsWith(" \u26A0")?console.log(a.yellow(n)):n.startsWith(" CRITICAL:")?console.log(a.red(n)):console.log(a.dim(n))}var Gr=["Task","Bug","Feature","Enhancement","Research"];function X(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 Bt(t,e){if(e.length===0)return t;let n={};for(let i of e)i in t&&(n[i]=t[i]);return n}function ue(t){let e=t.slice(0,3).join(", ");console.log(a.cyan(` \u2192 Next: ${e}`))}var Qr=t=>t.trim().toLowerCase();function dt(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)+`
1784
+ `)}else process.stderr.write(a.red(`\u2717 ${t.message}
1785
+ `)),t.suggestion&&process.stderr.write(a.dim(` ${t.suggestion}
1786
+ `))}function $e(t,e){let n=Qr(e);return n?Qr(t??"")===n:!0}function _i(t){return[...new Set(t.map(e=>e.author?.trim()).filter(e=>!!e))].sort((e,n)=>e.localeCompare(n))}function pt(t){return Gr.map(e=>e.toLowerCase()).includes(t.toLowerCase())?!0:(console.log(a.red(`\u2717 Invalid type filter: "${t}"`)),console.log(a.yellow(` Available types: ${Gr.join(" | ")}`)),console.log(a.dim(" Type filter is exact (example: --type Bug)")),process.exitCode=O.USAGE,!1)}function He(t,e){let n=_i(e);return n.length===0?(console.log(a.red("\u2717 Cannot filter by user: no task authors are available on this board.")),process.exitCode=O.USAGE,!1):n.some(i=>$e(i,t))?!0:(console.log(a.red(`\u2717 User not found: "${t}"`)),console.log(a.yellow(` Available users: ${n.join(" | ")}`)),console.log(a.dim(" User filter is exact email match (case-insensitive).")),process.exitCode=O.USAGE,!1)}function Ci(t,e,n,i,l){let o=Ie[t.status]??a.white;if(console.log(` ${a.dim(`${n+1}.`)} ${o(`[${e.status}]`)} ${e.title}`),console.log(a.dim(` id: ${e.id}`)),console.log(a.dim(` file: ${t.filePath}`)),e.file&&console.log(a.dim(` source: ${e.file}${e.line==null?"":`:${e.line}`}${e.col==null?"":`:${e.col}`}`)),e.component&&console.log(a.dim(` component: ${e.component}`)),console.log(a.dim(` selector: ${e.selector}`)),t.cssSelector&&console.log(a.dim(` css: ${t.cssSelector}`)),e.url&&console.log(a.dim(` url: ${e.url}`)),t.screenshot&&console.log(a.dim(` screenshot: http://localhost:${i}/screenshots/${t.screenshot}`)),t.commits&&t.commits.length>0)if(t.commits.length===1)console.log(a.dim(` commit: ${t.commits[0].sha}`));else{console.log(a.dim(` commits (${t.commits.length}):`));for(let r of t.commits)console.log(a.dim(` ${r.sha.slice(0,8)} ${r.timestamp} ${r.message.slice(0,60)}`))}if(t.branchName&&console.log(a.dim(` branch: ${t.branchName}`)),console.log(a.dim(` created: ${e.created}`)),e.type&&console.log(a.dim(` type: ${e.type}`)),e.priority&&console.log(a.dim(` priority: ${e.priority}`)),e.description){console.log(a.dim(" description:"));for(let r of e.description.split(`
1787
+ `))console.log(a.dim(` ${r}`))}if(e.structuredComments&&e.structuredComments.length>0){console.log(a.dim(` comments (${e.structuredComments.length}):`));for(let r of e.structuredComments){let s=r.updatedAt?` (edited ${r.updatedAt})`:"";console.log(a.dim(` [${r.author??"agent"}] ${r.createdAt}${s}`));for(let c of r.text.split(`
1788
+ `))console.log(a.dim(` ${c}`))}}if(e.linkedFiles&&e.linkedFiles.length>0){console.log(a.dim(` linked files (${e.linkedFiles.length}):`));for(let r of e.linkedFiles){let s=r.linkedPath??vi(l,".vibeflow","files",t.id,r.name);if(console.log(a.dim(` - ${r.name} ${r.url}`)),/\.(md|txt)$/i.test(r.name)&&r.size<1e5&&Jr(s))try{let c=Xr(s,"utf-8");console.log(a.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let u of c.split(`
1789
+ `))console.log(a.dim(` \u2502 ${u}`));console.log(a.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}catch{}}}console.log()}var J=new bi;J.name("vibeflow").description("Vibeflow \u2014 CLI tool for frontend prototyping with LLM assistance").version("0.11.0");J.addHelpText("after",`
1774
1790
  ${"\u2500".repeat(60)}
1775
1791
  For coding agents \u2014 quick reference:
1776
1792
 
@@ -1783,6 +1799,7 @@ For coding agents \u2014 quick reference:
1783
1799
  vibeflow serve [target] Start local server / prototype viewer
1784
1800
  vibeflow kanban Open the Kanban board in browser
1785
1801
  vibeflow watch [dir] Watch task store; print new + moved-to-todo tickets
1802
+ vibeflow changelog [--all] Show the changelog (latest version / all versions)
1786
1803
 
1787
1804
  Task statuses: backlog | todo | in-progress | review | done
1788
1805
 
@@ -1804,14 +1821,17 @@ File attachments:
1804
1821
  <file binary body>
1805
1822
  List: GET /api/tasks/<id>/files
1806
1823
  Delete: DELETE /api/tasks/<id>/files/<filename>
1807
- `);te.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)=>{ce("command_run",{command:"serve"}),await ue(),await xt(t,{port:parseInt(e.port,10),host:e.host,open:e.open})});te.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").action(async(t,e)=>{ce("command_run",{command:"kanban"}),await ue();let r=parseInt(e.port,10),c=(await xt(void 0,{port:r,host:e.host,open:!1,projectDir:B(t),noCtrlCHint:!0})).url+"/kanban";console.log(),console.log(n.green(" \u2713 Kanban board ready")),console.log(n.dim(" ")+n.cyan(c)),console.log(),console.log(n.bold("Agent prompt:")),console.log(n.dim(" Get new tasks and implement them, once done check again for new ones:")),console.log(n.dim(" ")+n.green("npx @vibeflow-tools/cli tasks --next")),console.log(),console.log(n.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(o=>o.default(c)).catch(()=>{console.log(n.dim(" Visit: ")+n.cyan(c))}),Ya()});te.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("--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)").action((t,e)=>{(async()=>{let r=e.add?"add":e.next?"next":e.edit?"edit":e.get?"get":"list";if(ce("command_run",{command:"tasks",subcommand:r}),e.get){if(await ve()==="saas"){let A=await J(),R=await _e(A?.id);if(!R){console.log(n.red("\u2717 Unable to reach the online backend.")),process.exitCode=P.GENERAL;return}let E=R.tasks.find(U=>U.id===e.get||U.id.startsWith(e.get));if(!E){console.log(n.red(`\u2717 Task not found: ${e.get}`)),process.exitCode=P.NOT_FOUND;return}let M=le(E.status);if(e.json){console.log(JSON.stringify({...E,status:M},null,2));return}let D=xe[M]??n.white;if(console.log(` ${D(`[${M}]`)} ${n.bold(E.title)}`),console.log(n.dim(` id: ${E.id}`)),console.log(n.dim(" selector: /")),E.type&&console.log(n.dim(` type: ${E.type}`)),E.priority&&console.log(n.dim(` priority: ${E.priority}`)),console.log(n.dim(` created: ${E.createdAt}`)),E.description){console.log(n.dim(" description:"));for(let U of E.description.split(`
1808
- `))console.log(n.dim(` ${U}`))}E.annotatedElementText&&console.log(n.dim(` element text: ${E.annotatedElementText}`)),E.branchName&&console.log(n.dim(` branch: ${E.branchName}`));let Oe=[...E.comments??[]].sort(ye);if(Oe.length>0){console.log(n.dim(` comments (${Oe.length}):`));for(let U of Oe){console.log(n.dim(` [${U.author??"agent"}] ${U.createdAt}`));for(let fe of U.body.split(`
1809
- `))console.log(n.dim(` ${fe}`))}}if(E.files&&E.files.length>0){console.log(n.dim(` linked files (${E.files.length}):`));for(let U of E.files){let fe=U.url??`${process.env.VIBEFLOW_API_URL??"https://app.vibeflow.tools"}/api/tasks/${E.id}/files/${encodeURIComponent(U.name)}`;if(console.log(n.dim(` - ${U.name} ${fe}`)),U.content){console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let O of U.content.split(`
1810
- `))console.log(n.dim(` \u2502 ${O}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}let pe=G(B(t)),ke=(E.type??"").toLowerCase()==="research",tt=(E.type??"").toLowerCase()==="bug";Ce({hasResearchTasks:ke,hasBugTasks:tt,autoCommit:pe.autoCommit,autoPush:pe.autoPush,autoComment:pe.autoComment,createBranch:pe.createBranch});return}let p=B(t),u=Se(p),w=X(p).find(A=>A.id===e.get||A.id.startsWith(e.get));if(!w){Je({code:"E_NOT_FOUND",message:`Task not found: ${e.get}`,suggestion:"Run 'vibeflow tasks' to see available task IDs.",json:e.json}),process.exitCode=P.NOT_FOUND;return}let _=ae(p,w.id).sort(ye),S=Y(p,w.id).map(A=>({...A,url:`http://localhost:${u.port}${A.url}`})),T=rt(w,_,S);if(e.json){let A=e.fields?e.fields.split(",").map(R=>R.trim()).filter(Boolean):[];console.log(JSON.stringify(St({...w,comments:_,files:S},A),null,2));return}let m=xe[w.status]??n.white,C=Ee(w,w.filePath,_,S,p).split(`
1811
- `);if(C.length>0){let A=C[0],R=A.match(/^\[(\w+)\]\s+(.+)$/);console.log(R?` ${m(`[${R[1]}]`)} ${n.bold(R[2])}`:n.dim(A));for(let E=1;E<C.length;E++)console.log(n.dim(C[E]))}let j=G(p),N=(w.type??"").toLowerCase()==="research",$=(w.type??"").toLowerCase()==="bug";Ce({hasResearchTasks:N,hasBugTasks:$,autoCommit:j.autoCommit,autoPush:j.autoPush,autoComment:j.autoComment,createBranch:j.createBranch});return}if(e.next){if(await ve()==="saas"){let R=await J(),E=await _e(R?.id);if(!E){console.log(n.red("\u2717 Unable to reach the online backend.")),process.exitCode=P.GENERAL;return}if(e.type&&!Ze(e.type))return;let M=E.tasks.map(O=>({...O,status:le(O.status)})).filter(O=>O.status==="todo");if(e.type&&(M=M.filter(O=>(O.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Le(e.user,M))return;if(e.user&&(M=M.filter(O=>je(O.author,e.user))),e.tag&&e.tag.length>0&&(M=M.filter(O=>e.tag.every(se=>(O.tags??[]).includes(se)))),M=M.sort((O,se)=>{let ze=de(O.priority??void 0)-de(se.priority??void 0);return ze!==0?ze:ye(O,se)}),M.length===0){let O=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),se=O.length>0?` matching ${O.join(" ")}`:"";console.log(n.dim(`No todo tasks found${se}. Nothing to work on.`));return}let D=M[0];if(!await kt(D.id,{status:"in-progress"})){console.log(n.red(`\u2717 Failed to move task to in-progress: ${D.id}`)),process.exitCode=P.GENERAL;return}let pe=V("set-status:in-progress",D.id);if(e.json){console.log(JSON.stringify({success:!0,task:{...D,status:"in-progress"},next_actions:pe},null,2));return}let ke=G(B(t)),tt=(D.type??"").toLowerCase()==="research",U=(D.type??"").toLowerCase()==="bug";if(Ce({hasResearchTasks:tt,hasBugTasks:U,autoCommit:ke.autoCommit,autoPush:ke.autoPush,autoComment:ke.autoComment,createBranch:ke.createBranch}),console.log(n.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log(),console.log(` ${n.blue("[in-progress]")} ${n.bold(D.title)}`),console.log(n.dim(` id: ${D.id}`)),D.type&&console.log(n.dim(` type: ${D.type}`)),D.priority&&console.log(n.dim(` priority: ${D.priority}`)),console.log(n.dim(` created: ${D.createdAt}`)),D.description){console.log(n.dim(" description:"));for(let O of D.description.split(`
1812
- `))console.log(n.dim(` ${O}`))}let fe=[...D.comments??[]].sort(ye);if(fe.length>0){console.log(n.dim(` comments (${fe.length}):`));for(let O of fe){let se=O.authorId?`user:${O.authorId.slice(0,8)}`:"agent";console.log(n.dim(` [${se}] ${O.createdAt}`));for(let ze of O.body.split(`
1813
- `))console.log(n.dim(` ${ze}`))}}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done.")),re(pe);return}let p=B(t),u=X(p);if(e.type&&!Ze(e.type))return;let y=u.filter(R=>R.status==="todo");if(e.type&&(y=y.filter(R=>(R.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Le(e.user,y))return;if(e.user&&(y=y.filter(R=>je(R.author,e.user))),e.tag&&e.tag.length>0&&(y=y.filter(R=>e.tag.every(E=>(R.tags??[]).includes(E)))),y=y.sort((R,E)=>{let M=de(R.priority)-de(E.priority);return M!==0?M:new Date(R.created).getTime()-new Date(E.created).getTime()}),y.length===0){let R=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),E=R.length>0?` matching ${R.join(" ")}`:"";console.log(n.dim(`No todo tasks found${E}. Nothing to work on.`));return}let w=y[0],_=H(p,w.id,{status:"in-progress"});if(!_){console.log(n.red(`\u2717 Failed to update task: ${w.id}`)),process.exitCode=P.GENERAL;return}let S=V("set-status:in-progress",_.id);if(e.json){console.log(JSON.stringify({success:!0,task:{..._,filePath:w.filePath},next_actions:S},null,2));return}let T=G(p),m=(_.type??"").toLowerCase()==="research",b=(_.type??"").toLowerCase()==="bug";Ce({hasResearchTasks:m,hasBugTasks:b,autoCommit:T.autoCommit,autoPush:T.autoPush,autoComment:T.autoComment,createBranch:T.createBranch});let C=Se(p),j=ae(p,_.id).sort(ye),N=Y(p,_.id).map(R=>({...R,url:`http://localhost:${C.port}${R.url}`})),$=Ee(_,w.filePath,j,N,p);console.log(n.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log();let A=$.split(`
1814
- `);if(A.length>0){let R=A[0].match(/^\[(\w+)\]\s+(.+)$/);console.log(R?` ${n.blue(`[${R[1]}]`)} ${n.bold(R[2])}`:n.dim(A[0]));for(let E=1;E<A.length;E++)console.log(n.dim(A[E]))}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done.")),re(S);return}if(e.add){if(!e.title?.trim()){Je({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=P.USAGE;return}if(await ve()==="saas"){let S=await J(),m=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",b=nt();if(e.dryRun){let N={id:b,title:e.title.trim(),description:e.description?.trim()??"",status:m,boardId:S?.id};e.json?console.log(JSON.stringify({dryRun:!0,action:"create",task:N,next_actions:V("add",b)},null,2)):(console.log(n.yellow(" [dry-run] Would create task:")),console.log(n.dim(` title: ${N.title}`)),console.log(n.dim(` status: ${N.status}`)),N.description&&console.log(n.dim(` description: ${N.description}`)),re(V("add",b)));return}let C=await Un({id:b,title:e.title.trim(),description:e.description?.trim(),status:m,boardId:S?.id});if(!C){console.log(n.red("\u2717 Failed to create task in online board.")),console.log(n.yellow(" Check your connection or run 'vibeflow login'.")),process.exitCode=P.GENERAL;return}let j=V("add",C.id);e.json?console.log(JSON.stringify({success:!0,task:C,next_actions:j},null,2)):(console.log(n.green(`\u2713 Task created: ${C.title}`)),console.log(n.dim(` id: ${C.id} | status: ${le(C.status)}`)),re(j));return}let p=B(t);be(p);let y=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo";if(e.dryRun){let S=nt(),T={id:S,title:e.title.trim(),description:e.description?.trim()??"",status:y,selector:"/"};e.json?console.log(JSON.stringify({dryRun:!0,action:"create",task:T,next_actions:V("add",S)},null,2)):(console.log(n.yellow(" [dry-run] Would create task:")),console.log(n.dim(` title: ${T.title}`)),console.log(n.dim(` status: ${T.status}`)),T.description&&console.log(n.dim(` description: ${T.description}`)),re(V("add",S)));return}let w=we(p,{title:e.title.trim(),description:e.description?.trim()??"",status:y,selector:"/"}),_=V("add",w.id);e.json?console.log(JSON.stringify({success:!0,task:w,next_actions:_},null,2)):(console.log(n.green(`\u2713 Task created: ${w.title}`)),console.log(n.dim(` id: ${w.id} | status: ${w.status}`)),re(_));return}if(e.commit){if(!e.task){Je({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=P.USAGE;return}let g=B(t),u=Q(g).find(_=>_.id===e.task||_.id.startsWith(e.task));if(!u){Je({code:"E_NOT_FOUND",message:`Task not found: ${e.task}`,suggestion:"Run 'vibeflow tasks' to see available task IDs.",json:e.json}),process.exitCode=P.NOT_FOUND;return}let y=e.message?.trim()||u.title;if(e.dryRun){let _=`${y} [proto:${u.id}]`;e.json?console.log(JSON.stringify({dryRun:!0,action:"commit",message:_,taskId:u.id,next_actions:V("commit",u.id)},null,2)):(console.log(n.yellow(" [dry-run] Would commit:")),console.log(n.dim(` message: ${_}`)),console.log(n.dim(` task: ${u.id}`)),re(V("commit",u.id)));return}(u.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Research tasks must NOT produce code changes.")),console.log(n.yellow(" Only commit research report files (.md). Do not commit code changes.")),console.log());let w=`${y} [proto:${u.id}]`;try{et("git",["commit","-m",w],{cwd:g,stdio:"inherit"});let _=_t("git rev-parse HEAD",{cwd:g}).toString().trim(),S={sha:_,message:y,timestamp:new Date().toISOString()},T=u.commits??[];H(g,u.id,{commits:[...T,S]});let m=V("commit",u.id);if(e.json?console.log(JSON.stringify({success:!0,commit:_,next_actions:m},null,2)):(console.log(n.green(`\u2713 Committed and linked to task: ${u.title}`)),console.log(n.dim(` commit: ${_}`)),console.log(n.dim(` proto: ${u.id}`)),re(m)),G(g).autoPush){console.log(n.dim(" auto-push: pushing commit to remote..."));let C=Zn(g);C.ok?console.log(n.green("\u2713 Auto-push complete")):(console.log(n.yellow("\u26A0 Auto-push failed. Commit is local; run 'git push' manually.")),C.error&&console.log(n.dim(` reason: ${C.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=P.GENERAL}return}if(e.edit!==void 0){let g=typeof e.edit=="string"?e.edit:void 0,p=e.title||e.setStatus||e.description;if(!g||!p){if(e.type&&!Ze(e.type))return;let m=Q(t);if(e.status&&(m=m.filter(b=>b.status===e.status)),e.type&&(m=m.filter(b=>(b.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Le(e.user,m))return;if(e.user&&(m=m.filter(b=>je(b.author,e.user))),e.tag&&e.tag.length>0&&(m=m.filter(b=>e.tag.every(C=>(b.tags??[]).includes(C)))),console.log(n.bold("vibeflow tasks --edit \u2014 LLM Usage Instructions")),console.log(),console.log("Edit a task:"),console.log(n.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(n.dim(" vibeflow tasks --edit abc12345 --set-status done")),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status in-progress")),console.log(n.dim(' vibeflow tasks --edit abc12345 --title "Updated title" --description "More detail"')),console.log(),m.length===0)console.log(n.dim("No tasks found."));else{console.log("Available tasks:");for(let b of m){let C=xe[b.status]??n.white;console.log(` ${C(`[${b.status}]`)} ${n.bold(b.id)} \u2014 ${b.title}`)}}return}if(e.setStatus==="done"&&(console.log(n.yellow('\u26A0 WARNING: Agents should NEVER set a task status to "done".')),console.log(n.yellow(" Only humans should mark tasks as done after reviewing.")),console.log(n.dim(" If you are an agent, use --set-status review instead.")),console.log()),e.setStatus&&!Qe.includes(e.setStatus)){console.log(n.red(`\u2717 Invalid status: "${e.setStatus}"`)),console.log(n.yellow(` Valid statuses: ${Qe.join(" | ")}`)),console.log(n.dim(` Example: vibeflow tasks --edit ${g} --set-status in-progress`)),process.exitCode=P.USAGE;return}if(e.setStatus==="review"&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required when setting status to review")),console.log(n.dim(" Provide a concise implementation report explaining:")),console.log(n.dim(" \xB7 what was changed and why")),console.log(n.dim(" \xB7 key decisions and trade-offs")),console.log(n.dim(" \xB7 anything future agents should know")),console.log(n.dim(` Example: vibeflow tasks --edit ${g} --set-status review --comment "Implemented X by doing Y. Key decision: Z."`)),process.exitCode=P.USAGE;return}let u=await ve();if(e.setStatus==="review"){let m=B(t),b=G(m);if(b.autoComment&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required (auto-comment setting is ON)")),console.log(n.dim(" Provide: what changed, why, key decisions, anything future agents should know.")),console.log(n.dim(" Plain text for short notes; Markdown for multi-section reports.")),console.log(n.dim(` Example: vibeflow tasks --edit ${g} --set-status review --comment "Implemented X by doing Y."`)),process.exitCode=P.USAGE;return}if(b.autoCommit&&!e.commitMessage?.trim()){console.log(n.red("\u2717 --commit-message is required (auto-commit setting is ON)")),console.log(n.dim(" Stage your changes first, then provide a one-line commit summary.")),console.log(n.dim(` Example: vibeflow tasks --edit ${g} --set-status review --commit-message "fix: add hover effect" --comment "..."`)),process.exitCode=P.USAGE;return}if(b.createBranch&&!e.branch?.trim()){console.log(n.red("\u2717 --branch is required (create-branch setting is ON)")),console.log(n.dim(" Provide the git branch name created for this task.")),console.log(n.dim(` Example: vibeflow tasks --edit ${g} --set-status review --branch feat/add-hover-effect --comment "..."`)),process.exitCode=P.USAGE;return}}if(u==="saas"){let m={};if(e.setStatus&&(m.status=e.setStatus),e.title&&(m.title=e.title),e.description&&(m.description=e.description),e.branch&&(m.branchName=e.branch),e.setStatus==="in-progress"){let j=await Fn(g);if(j&&le(j.status)==="in-progress"){let N=j.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (last updated by: ${N})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}let b=await kt(g,m);if(!b){console.log(n.red(`\u2717 Failed to update task: ${g}`)),console.log(n.yellow(" Ensure you are connected and the task ID exists in the online board.")),process.exitCode=P.GENERAL;return}b.warning&&console.log(n.yellow(`\u26A0 Server warning: ${b.warning}`)),e.setStatus==="review"&&e.comment?.trim()&&await Bn(g,e.comment.trim())&&console.log(n.dim(" comment: added"));let C=e.setStatus?V(e.setStatus==="review"?"set-status:review":"set-status:in-progress",g):[];e.json?console.log(JSON.stringify({success:!0,task:b.task,next_actions:C},null,2)):(console.log(n.green(`\u2713 Task updated: ${b.task.title}`)),console.log(n.dim(` id: ${b.task.id} | status: ${le(b.task.status)}`)),C.length>0&&re(C));return}let y=B(t),w=Q(y).find(m=>m.id===g||m.id.startsWith(g))?.id??g;if(e.dryRun){let m={};if(e.title&&(m.title=e.title),e.setStatus&&(m.status=e.setStatus),e.description&&(m.description=e.description),e.branch&&(m.branchName=e.branch),e.json)console.log(JSON.stringify({dryRun:!0,action:"update",taskId:w,updates:m,next_actions:e.setStatus?V(e.setStatus==="review"?"set-status:review":"set-status:in-progress",w):[]},null,2));else{console.log(n.yellow(" [dry-run] Would update task:")),console.log(n.dim(` id: ${w}`));for(let[b,C]of Object.entries(m))console.log(n.dim(` ${b}: ${C}`));e.setStatus&&re(V(e.setStatus==="review"?"set-status:review":"set-status:in-progress",w))}return}let _={};if(e.title&&(_.title=e.title),e.setStatus&&(_.status=e.setStatus),e.description&&(_.description=e.description),e.branch&&(_.branchName=e.branch),e.setStatus==="in-progress"){let m=B(t),C=Q(m).find(j=>j.id===g||j.id.startsWith(g));if(C&&((C.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Policy: do NOT implement code.")),console.log(n.yellow(" Research only \u2014 attach a .md report file, leave a summary comment, mark as review.")),console.log()),C.status==="in-progress")){let j=C.updated?new Date(C.updated).toLocaleString():"unknown",N=C.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (author: ${N}, last updated: ${j})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}if(e.setStatus==="review"){let m=B(t),C=Q(m).find(j=>j.id===g||j.id.startsWith(g));if(C&&(C.type??"").toLowerCase()==="research"){if(e.reportFile){let j=B(e.reportFile);if(!rr(j)){console.log(n.red(`\u2717 Report file not found: ${j}`)),process.exitCode=P.NOT_FOUND;return}if(!/\.md$/i.test(j)){console.log(n.red("\u2717 Report file must be a Markdown (.md) file")),process.exitCode=P.USAGE;return}let N=nr(j),{saveFile:$}=await import("./files-EMHJKBV3.js");$(m,C.id,Qn(j),N),qa(j),console.log(n.green(`\u2713 Report uploaded: ${Qn(j)} (local file removed)`))}else if(!Y(m,C.id).some($=>/\.md$/i.test($.name))){console.log(n.red("\u2717 Cannot mark Research task as review: no .md report file attached.")),console.log(n.dim(" Provide a research report:")),console.log(n.dim(` vibeflow tasks --edit ${g} --set-status review --report-file ./my-research.md --comment "..."`)),process.exitCode=P.USAGE;return}}}let S=H(t,w,_);if(!S){console.log(n.red(`\u2717 Task not found: ${g}`)),console.log(n.yellow(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=P.NOT_FOUND;return}e.setStatus==="review"&&e.comment?.trim()&&(me(B(t),w,"agent",e.comment.trim()),console.log(n.dim(" comment: added")));let T=e.setStatus?V(e.setStatus==="review"?"set-status:review":"set-status:in-progress",w):[];if(e.json?console.log(JSON.stringify({success:!0,task:S,next_actions:T},null,2)):(console.log(n.green(`\u2713 Task updated: ${S.title}`)),console.log(n.dim(` id: ${S.id} | status: ${S.status}`)),T.length>0&&re(T)),e.setStatus==="review"){let m=B(t),b=G(m);if(b.autoCommit&&e.commitMessage?.trim()){let j=Q(m).find(N=>N.id===g||N.id.startsWith(g));if(j){let N=`${e.commitMessage.trim()} [proto:${j.id}]`;try{et("git",["commit","-m",N],{cwd:m,stdio:"inherit"});let $=_t("git rev-parse HEAD",{cwd:m}).toString().trim(),A={sha:$,message:e.commitMessage.trim(),timestamp:new Date().toISOString()},R=j.commits??[];if(H(m,j.id,{commits:[...R,A]}),console.log(n.green(`\u2713 Committed: ${N}`)),console.log(n.dim(` sha: ${$}`)),b.autoPush){console.log(n.dim(" pushing..."));let E=Zn(m);E.ok?console.log(n.green("\u2713 Pushed")):(console.log(n.yellow("\u26A0 Push failed. Run 'git push' manually.")),E.error&&console.log(n.dim(` reason: ${E.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=P.GENERAL}}}}return}if(e.status&&!Qe.includes(e.status)){console.log(n.red(`\u2717 Invalid status filter: "${e.status}"`)),console.log(n.yellow(` Valid statuses: ${Qe.join(" | ")}`)),console.log(n.dim(" Example: vibeflow tasks --status todo")),process.exitCode=P.USAGE;return}if(e.type&&!Ze(e.type))return;let l=e.fields?e.fields.split(",").map(g=>g.trim()).filter(Boolean):[];if(await ve()==="saas"){let g=await J(),p=await _e(g?.id);if(!p){console.log(n.red("\u2717 Unable to reach the online backend.")),console.log(n.yellow(" Check your connection or run 'vibeflow login' if your session expired.")),process.exitCode=P.GENERAL;return}let u=p.tasks.map(T=>({...T,status:le(T.status)}));if(e.status&&(u=u.filter(T=>T.status===e.status)),e.type&&(u=u.filter(T=>(T.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Le(e.user,u))return;e.user&&(u=u.filter(T=>je(T.author,e.user))),e.tag&&e.tag.length>0&&(u=u.filter(T=>e.tag.every(m=>(T.tags??[]).includes(m))));let y=e.limit!==void 0?parseInt(e.limit,10):5;if(!isNaN(y)&&y>0&&(u=u.slice(0,y)),e.json){console.log(JSON.stringify(u.map(T=>St(T,l)),null,2));return}let w=u.some(T=>(T.type??"").toLowerCase()==="research"),_=u.some(T=>(T.type??"").toLowerCase()==="bug"),S=G(B(t));if(Ce({hasResearchTasks:w,hasBugTasks:_,autoCommit:S.autoCommit,autoPush:S.autoPush,autoComment:S.autoComment,createBranch:S.createBranch}),u.length===0)console.log(n.dim("No tasks found."));else{u=u.sort((m,b)=>{let C=Xe(m.status)-Xe(b.status);if(C!==0)return C;let j=de(m.priority??void 0)-de(b.priority??void 0);return j!==0?j:new Date(b.updatedAt).getTime()-new Date(m.updatedAt).getTime()});for(let[m,b]of u.entries()){let C=xe[b.status]??n.white,j=Qa(b.type);if(console.log(` ${n.dim(`${m+1}.`)} ${C(`[${b.status}]`)} ${b.title}`),console.log(n.dim(` id: ${b.id}`)),console.log(n.dim(" selector: /")),j&&console.log(n.dim(` type: ${j}`)),b.priority&&console.log(n.dim(` priority: ${b.priority}`)),console.log(n.dim(` created: ${b.createdAt}`)),b.description){console.log(n.dim(" description:"));for(let N of b.description.split(`
1815
- `))console.log(n.dim(` ${N}`))}if(b.comments&&b.comments.length>0){let N=[...b.comments].sort(ye);console.log(n.dim(` comments (${N.length}):`));for(let $ of N){let A=$.authorId?`user:${$.authorId.slice(0,8)}`:"agent";console.log(n.dim(` [${A}] ${$.createdAt}`));for(let R of $.body.split(`
1816
- `))console.log(n.dim(` ${R}`))}}if(b.files&&b.files.length>0){console.log(n.dim(` linked files (${b.files.length}):`));for(let N of b.files){let $=N.url??`${process.env.VIBEFLOW_API_URL??"https://app.vibeflow.tools"}/api/tasks/${b.id}/files/${encodeURIComponent(N.name)}`;if(console.log(n.dim(` - ${N.name} ${$}`)),N.content){console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let A of N.content.split(`
1817
- `))console.log(n.dim(` \u2502 ${A}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}console.log()}let T=p.tasks.map(m=>({...m,status:le(m.status)}));console.log(n.dim(Xn(T)))}return}let o=X(t);if(e.user&&!Le(e.user,o))return;let a=e.status?o.filter(g=>g.status===e.status):o;e.type&&(a=a.filter(g=>(g.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&(a=a.filter(g=>je(g.author,e.user))),e.tag&&e.tag.length>0&&(a=a.filter(g=>e.tag.every(p=>(g.tags??[]).includes(p))));let i=e.limit!==void 0?parseInt(e.limit,10):5;if(e.json){console.log(JSON.stringify(a.map(g=>St(g,l)),null,2));return}a=a.sort((g,p)=>{let u=Xe(g.status)-Xe(p.status);if(u!==0)return u;let y=de(g.priority)-de(p.priority);if(y!==0)return y;let w=new Date(g.updated??g.created).getTime(),_=new Date(p.updated??p.created).getTime();return w!==_?_-w:g.id.localeCompare(p.id)});let s=a.length;if(!isNaN(i)&&i>0&&(a=a.slice(0,i)),a.length===0){console.log(n.dim("No tasks found."));return}let d=B(t),f=a.some(g=>(g.type??"").toLowerCase()==="research"),x=a.some(g=>(g.type??"").toLowerCase()==="bug"),h=G(d);Ce({hasResearchTasks:f,hasBugTasks:x,autoCommit:h.autoCommit,autoPush:h.autoPush,autoComment:h.autoComment,createBranch:h.createBranch});let k=Se(d);for(let[g,p]of a.entries()){let u=ae(d,p.id).sort(ye),y=Y(d,p.id).map(_=>({..._,url:`http://localhost:${k.port}${_.url}`})),w=rt(p,u,y);Ja(p,w,g,k.port,d)}let L=!isNaN(i)&&i>0&&s>i?n.yellow(` (showing ${i} of ${s} matching \u2014 use --limit 0 for all)`):"";console.log(n.dim(Xn(o))+L),await ue()})()});te.command("login",{hidden:!0}).description("Authenticate CLI against the Vibeflow SaaS backend (device flow)").action(async()=>{ce("command_run",{command:"login"}),await ue(),await Ve()});te.command("logout",{hidden:!0}).description("Remove stored auth token and switch to local mode").action(async()=>{ce("command_run",{command:"logout"}),await ue(),await zn()});te.command("status",{hidden:!0}).description("Show login status, connection info, and task statistics").action(async()=>{if(await ve()==="local"){console.log(n.yellow("\u25CF Not logged in")+n.dim(" (local mode)")),console.log(n.dim(" Run ")+n.cyan("vibeflow login")+n.dim(" to connect to the Vibeflow cloud.")),console.log();let o=B("."),a=X(o);if(a.length>0){let i=a.reduce((s,d)=>(s[d.status]=(s[d.status]??0)+1,s),{});console.log(n.bold(" Local task statistics:"));for(let[s,d]of Object.entries(i)){let f=xe[s]??n.white;console.log(` ${f(s.padEnd(12))} ${d}`)}console.log(n.dim(` ${"total".padEnd(12)} ${a.length}`))}else console.log(n.dim(" No local tasks found."));return}let e=await J();console.log(n.green("\u25CF Online")+n.dim(" (SaaS mode)")),e&&(console.log(n.dim(` Board: ${e.icon?e.icon+" ":""}${e.name}`)),e.email&&console.log(n.dim(` Email: ${e.email}`)),console.log(n.dim(" URL: ")+n.cyan(e.url))),console.log();let r=await _e(e?.id);if(!r){console.log(n.yellow(" \u26A0 Could not reach SaaS backend. Check your connection."));return}let l=r.tasks.map(o=>({...o,status:le(o.status)}));if(l.length===0){console.log(n.dim(" No tasks found."));return}let c=l.reduce((o,a)=>(o[a.status]=(o[a.status]??0)+1,o),{});console.log(n.bold(" Task statistics:"));for(let[o,a]of Object.entries(c)){let i=xe[o]??n.white;console.log(` ${i(o.padEnd(12))} ${a}`)}console.log(n.dim(` ${"total".padEnd(12)} ${l.length}`))});te.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)").action(async(t,e)=>{ce("command_run",{command:"push"}),await $n(t,e),await ue()});te.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=>{ce("command_run",{command:"watch"}),await ue(),Dn(t)});te.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){wt(!1),console.log(n.yellow("Telemetry disabled. No usage data will be collected.")),console.log(n.dim("Run `vibeflow telemetry --enable` to re-enable at any time."));return}if(t.enable){wt(!0),console.log(n.green("Telemetry enabled. Thank you for helping improve Vibeflow!"));return}let{enabled:e,anonymousId:r}=Gn(),l=process.env.VIBEFLOW_TELEMETRY==="0";console.log(n.bold("Telemetry status:")),console.log(` Enabled: ${e?n.green("yes"):n.yellow("no")}`),l&&console.log(n.dim(" (disabled via VIBEFLOW_TELEMETRY=0 environment variable)")),r&&console.log(n.dim(` Anonymous ID: ${r}`)),console.log(),console.log(n.dim(" vibeflow telemetry --disable Opt out of usage tracking")),console.log(n.dim(" vibeflow telemetry --enable Opt back in")),console.log(n.dim(" No PII is ever collected. User identity is hashed."))});te.parse();
1824
+ `);J.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)=>{ce("command_run",{command:"serve"}),await se(),await Lt(t,{port:parseInt(e.port,10),host:e.host,open:e.open})});J.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)=>{ce("command_run",{command:"kanban"}),await se();let n=parseInt(e.port,10),i=await Lt(void 0,{port:n,host:e.host,open:!1,projectDir:W(t),noCtrlCHint:!0}),l=i.url+"/kanban";console.log(),console.log(a.green(" \u2713 Kanban board ready")),console.log(a.dim(" ")+a.cyan(l)),i.localUrl&&console.log(a.dim(" ")+a.cyan(`${i.localUrl}/kanban`)),console.log(),console.log(a.bold("Agent prompt:")),console.log(a.dim(" Get new tasks and implement them, once done check again for new ones:")),console.log(a.dim(" ")+a.green("npx @vibeflow-tools/cli tasks --next")),console.log(),console.log(a.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(o=>o.default(l)).catch(()=>{console.log(a.dim(" Visit: ")+a.cyan(l))}),ki(e.changelog!==!1)});J.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("--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)").action((t,e)=>{(async()=>{let n=e.add?"add":e.next?"next":e.edit?"edit":e.get?"get":"list";if(ce("command_run",{command:"tasks",subcommand:n}),e.get){if(await Te()==="saas"){let v=await oe(),R=await Oe(v?.id);if(!R){console.log(a.red("\u2717 Unable to reach the online backend.")),process.exitCode=O.GENERAL;return}let _=R.tasks.find(H=>H.id===e.get||H.id.startsWith(e.get));if(!_){console.log(a.red(`\u2717 Task not found: ${e.get}`)),process.exitCode=O.NOT_FOUND;return}let M=ve(_.status);if(e.json){console.log(JSON.stringify({..._,status:M},null,2));return}let F=Ie[M]??a.white;if(console.log(` ${F(`[${M}]`)} ${a.bold(_.title)}`),console.log(a.dim(` id: ${_.id}`)),console.log(a.dim(" selector: /")),_.type&&console.log(a.dim(` type: ${_.type}`)),_.priority&&console.log(a.dim(` priority: ${_.priority}`)),console.log(a.dim(` created: ${_.createdAt}`)),_.description){console.log(a.dim(" description:"));for(let H of _.description.split(`
1825
+ `))console.log(a.dim(` ${H}`))}_.annotatedElementText&&console.log(a.dim(` element text: ${_.annotatedElementText}`)),_.branchName&&console.log(a.dim(` branch: ${_.branchName}`));let A=[..._.comments??[]].sort(je);if(A.length>0){console.log(a.dim(` comments (${A.length}):`));for(let H of A){console.log(a.dim(` [${H.author??"agent"}] ${H.createdAt}`));for(let ke of H.body.split(`
1826
+ `))console.log(a.dim(` ${ke}`))}}if(_.files&&_.files.length>0){console.log(a.dim(` linked files (${_.files.length}):`));for(let H of _.files){let ke=H.url??`${process.env.VIBEFLOW_API_URL??"https://app.vibeflow.tools"}/api/tasks/${_.id}/files/${encodeURIComponent(H.name)}`;if(console.log(a.dim(` - ${H.name} ${ke}`)),H.content){console.log(a.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let we of H.content.split(`
1827
+ `))console.log(a.dim(` \u2502 ${we}`));console.log(a.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}let ye=ne(W(t)),xe=(_.type??"").toLowerCase()==="research",de=(_.type??"").toLowerCase()==="bug";Ae({hasResearchTasks:xe,hasBugTasks:de,autoCommit:ye.autoCommit,autoPush:ye.autoPush,autoComment:ye.autoComment,createBranch:ye.createBranch});return}let p=W(t),f=Le(p),x=ae(p).find(v=>v.id===e.get||v.id.startsWith(e.get));if(!x){dt({code:"E_NOT_FOUND",message:`Task not found: ${e.get}`,suggestion:"Run 'vibeflow tasks' to see available task IDs.",json:e.json}),process.exitCode=O.NOT_FOUND;return}let E=pe(p,x.id).sort(je),T=te(p,x.id).map(v=>({...v,url:`http://localhost:${f.port}${v.url}`}));if(e.json){let v=e.fields?e.fields.split(",").map(R=>R.trim()).filter(Boolean):[];console.log(JSON.stringify(Bt({...x,comments:E,files:T},v),null,2));return}let C=Ie[x.status]??a.white,k=Me(x,x.filePath,E,T,p).split(`
1828
+ `);if(k.length>0){let v=k[0],R=v.match(/^\[(\w+)\]\s+(.+)$/);console.log(R?` ${C(`[${R[1]}]`)} ${a.bold(R[2])}`:a.dim(v));for(let _=1;_<k.length;_++)console.log(a.dim(k[_]))}let I=ne(p),N=(x.type??"").toLowerCase()==="research",P=(x.type??"").toLowerCase()==="bug";Ae({hasResearchTasks:N,hasBugTasks:P,autoCommit:I.autoCommit,autoPush:I.autoPush,autoComment:I.autoComment,createBranch:I.createBranch});return}if(e.next){if(await Te()==="saas"){let _=await oe(),M=await Oe(_?.id);if(!M){console.log(a.red("\u2717 Unable to reach the online backend.")),process.exitCode=O.GENERAL;return}if(e.type&&!pt(e.type))return;let F=M.tasks.map(D=>({...D,status:ve(D.status)})).filter(D=>D.status==="todo");if(e.type&&(F=F.filter(D=>(D.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!He(e.user,F))return;if(e.user&&(F=F.filter(D=>$e(D.author,e.user))),e.tag&&e.tag.length>0&&(F=F.filter(D=>e.tag.every(Se=>(D.tags??[]).includes(Se)))),F=F.sort((D,Se)=>{let We=_e(D.priority??void 0)-_e(Se.priority??void 0);return We!==0?We:je(D,Se)}),F.length===0){let D=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),Se=D.length>0?` matching ${D.join(" ")}`:"";console.log(a.dim(`No todo tasks found${Se}. Nothing to work on.`));return}let A=F[0];if(!await Dt(A.id,{status:"in-progress"})){console.log(a.red(`\u2717 Failed to move task to in-progress: ${A.id}`)),process.exitCode=O.GENERAL;return}let xe=X("set-status:in-progress",A.id);if(e.json){console.log(JSON.stringify({success:!0,task:{...A,status:"in-progress"},next_actions:xe},null,2));return}let de=ne(W(t)),H=(A.type??"").toLowerCase()==="research",ke=(A.type??"").toLowerCase()==="bug";if(Ae({hasResearchTasks:H,hasBugTasks:ke,autoCommit:de.autoCommit,autoPush:de.autoPush,autoComment:de.autoComment,createBranch:de.createBranch}),console.log(a.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log(),console.log(` ${a.blue("[in-progress]")} ${a.bold(A.title)}`),console.log(a.dim(` id: ${A.id}`)),A.type&&console.log(a.dim(` type: ${A.type}`)),A.priority&&console.log(a.dim(` priority: ${A.priority}`)),console.log(a.dim(` created: ${A.createdAt}`)),A.description){console.log(a.dim(" description:"));for(let D of A.description.split(`
1829
+ `))console.log(a.dim(` ${D}`))}let we=[...A.comments??[]].sort(je);if(we.length>0){console.log(a.dim(` comments (${we.length}):`));for(let D of we){let Se=D.authorId?`user:${D.authorId.slice(0,8)}`:"agent";console.log(a.dim(` [${Se}] ${D.createdAt}`));for(let We of D.body.split(`
1830
+ `))console.log(a.dim(` ${We}`))}}console.log(),console.log(a.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done.")),ue(xe);return}let p=W(t),f=ae(p);if(e.type&&!pt(e.type))return;let y=f.filter(_=>_.status==="todo");if(e.type&&(y=y.filter(_=>(_.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!He(e.user,y))return;if(e.user&&(y=y.filter(_=>$e(_.author,e.user))),e.tag&&e.tag.length>0&&(y=y.filter(_=>e.tag.every(M=>(_.tags??[]).includes(M)))),y=y.sort((_,M)=>{let F=_e(_.priority)-_e(M.priority);return F!==0?F:new Date(_.created).getTime()-new Date(M.created).getTime()}),y.length===0){let _=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),M=_.length>0?` matching ${_.join(" ")}`:"";console.log(a.dim(`No todo tasks found${M}. Nothing to work on.`));return}let x=y[0],E=B(p,x.id,{status:"in-progress"});if(!E){console.log(a.red(`\u2717 Failed to update task: ${x.id}`)),process.exitCode=O.GENERAL;return}let T=X("set-status:in-progress",E.id);if(e.json){console.log(JSON.stringify({success:!0,task:{...E,filePath:x.filePath},next_actions:T},null,2));return}let C=ne(p),w=(E.type??"").toLowerCase()==="research",k=(E.type??"").toLowerCase()==="bug";Ae({hasResearchTasks:w,hasBugTasks:k,autoCommit:C.autoCommit,autoPush:C.autoPush,autoComment:C.autoComment,createBranch:C.createBranch});let I=Le(p),N=pe(p,E.id).sort(je),P=te(p,E.id).map(_=>({..._,url:`http://localhost:${I.port}${_.url}`})),v=Me(E,x.filePath,N,P,p);console.log(a.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log();let R=v.split(`
1831
+ `);if(R.length>0){let _=R[0].match(/^\[(\w+)\]\s+(.+)$/);console.log(_?` ${a.blue(`[${_[1]}]`)} ${a.bold(_[2])}`:a.dim(R[0]));for(let M=1;M<R.length;M++)console.log(a.dim(R[M]))}console.log(),console.log(a.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done.")),ue(T);return}if(e.add){if(!e.title?.trim()){dt({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=O.USAGE;return}if(await Te()==="saas"){let T=await oe(),w=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",k=gt();if(e.dryRun){let P={id:k,title:e.title.trim(),description:e.description?.trim()??"",status:w,boardId:T?.id};e.json?console.log(JSON.stringify({dryRun:!0,action:"create",task:P,next_actions:X("add",k)},null,2)):(console.log(a.yellow(" [dry-run] Would create task:")),console.log(a.dim(` title: ${P.title}`)),console.log(a.dim(` status: ${P.status}`)),P.description&&console.log(a.dim(` description: ${P.description}`)),ue(X("add",k)));return}let I=await $r({id:k,title:e.title.trim(),description:e.description?.trim(),status:w,boardId:T?.id});if(!I){console.log(a.red("\u2717 Failed to create task in online board.")),console.log(a.yellow(" Check your connection or run 'vibeflow login'.")),process.exitCode=O.GENERAL;return}let N=X("add",I.id);e.json?console.log(JSON.stringify({success:!0,task:I,next_actions:N},null,2)):(console.log(a.green(`\u2713 Task created: ${I.title}`)),console.log(a.dim(` id: ${I.id} | status: ${ve(I.status)}`)),ue(N));return}let p=W(t);Ee(p);let y=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo";if(e.dryRun){let T=gt(),C={id:T,title:e.title.trim(),description:e.description?.trim()??"",status:y,selector:"/"};e.json?console.log(JSON.stringify({dryRun:!0,action:"create",task:C,next_actions:X("add",T)},null,2)):(console.log(a.yellow(" [dry-run] Would create task:")),console.log(a.dim(` title: ${C.title}`)),console.log(a.dim(` status: ${C.status}`)),C.description&&console.log(a.dim(` description: ${C.description}`)),ue(X("add",T)));return}let x=Ne(p,{title:e.title.trim(),description:e.description?.trim()??"",status:y,selector:"/"}),E=X("add",x.id);e.json?console.log(JSON.stringify({success:!0,task:x,next_actions:E},null,2)):(console.log(a.green(`\u2713 Task created: ${x.title}`)),console.log(a.dim(` id: ${x.id} | status: ${x.status}`)),ue(E));return}if(e.commit){if(!e.task){dt({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=O.USAGE;return}let m=W(t),f=re(m).find(E=>E.id===e.task||E.id.startsWith(e.task));if(!f){dt({code:"E_NOT_FOUND",message:`Task not found: ${e.task}`,suggestion:"Run 'vibeflow tasks' to see available task IDs.",json:e.json}),process.exitCode=O.NOT_FOUND;return}let y=e.message?.trim()||f.title;if(e.dryRun){let E=`${y} [proto:${f.id}]`;e.json?console.log(JSON.stringify({dryRun:!0,action:"commit",message:E,taskId:f.id,next_actions:X("commit",f.id)},null,2)):(console.log(a.yellow(" [dry-run] Would commit:")),console.log(a.dim(` message: ${E}`)),console.log(a.dim(` task: ${f.id}`)),ue(X("commit",f.id)));return}(f.type??"").toLowerCase()==="research"&&(console.log(a.yellow("\u26A0 WARNING: This is a Research task. Research tasks must NOT produce code changes.")),console.log(a.yellow(" Only commit research report files (.md). Do not commit code changes.")),console.log());let x=`${y} [proto:${f.id}]`;try{ft("git",["commit","-m",x],{cwd:m,stdio:"inherit"});let E=Ut("git rev-parse HEAD",{cwd:m}).toString().trim(),T={sha:E,message:y,timestamp:new Date().toISOString()},C=f.commits??[];B(m,f.id,{commits:[...C,T]});let w=X("commit",f.id);if(e.json?console.log(JSON.stringify({success:!0,commit:E,next_actions:w},null,2)):(console.log(a.green(`\u2713 Committed and linked to task: ${f.title}`)),console.log(a.dim(` commit: ${E}`)),console.log(a.dim(` proto: ${f.id}`)),ue(w)),ne(m).autoPush){console.log(a.dim(" auto-push: pushing commit to remote..."));let I=Yr(m);I.ok?console.log(a.green("\u2713 Auto-push complete")):(console.log(a.yellow("\u26A0 Auto-push failed. Commit is local; run 'git push' manually.")),I.error&&console.log(a.dim(` reason: ${I.error}`)))}}catch{console.log(a.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=O.GENERAL}return}if(e.edit!==void 0){let m=typeof e.edit=="string"?e.edit:void 0,p=e.title||e.setStatus||e.description;if(!m||!p){if(e.type&&!pt(e.type))return;let w=re(t);if(e.status&&(w=w.filter(k=>k.status===e.status)),e.type&&(w=w.filter(k=>(k.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!He(e.user,w))return;if(e.user&&(w=w.filter(k=>$e(k.author,e.user))),e.tag&&e.tag.length>0&&(w=w.filter(k=>e.tag.every(I=>(k.tags??[]).includes(I)))),console.log(a.bold("vibeflow tasks --edit \u2014 LLM Usage Instructions")),console.log(),console.log("Edit a task:"),console.log(a.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(a.dim(" vibeflow tasks --edit abc12345 --set-status done")),console.log(a.dim(" vibeflow tasks --edit abc12345 --set-status in-progress")),console.log(a.dim(' vibeflow tasks --edit abc12345 --title "Updated title" --description "More detail"')),console.log(),w.length===0)console.log(a.dim("No tasks found."));else{console.log("Available tasks:");for(let k of w){let I=Ie[k.status]??a.white;console.log(` ${I(`[${k.status}]`)} ${a.bold(k.id)} \u2014 ${k.title}`)}}return}if(e.setStatus==="done"&&(console.log(a.yellow('\u26A0 WARNING: Agents should NEVER set a task status to "done".')),console.log(a.yellow(" Only humans should mark tasks as done after reviewing.")),console.log(a.dim(" If you are an agent, use --set-status review instead.")),console.log()),e.setStatus&&!ct.includes(e.setStatus)){console.log(a.red(`\u2717 Invalid status: "${e.setStatus}"`)),console.log(a.yellow(` Valid statuses: ${ct.join(" | ")}`)),console.log(a.dim(` Example: vibeflow tasks --edit ${m} --set-status in-progress`)),process.exitCode=O.USAGE;return}if(e.setStatus==="review"&&!e.comment?.trim()){console.log(a.red("\u2717 --comment is required when setting status to review")),console.log(a.dim(" Provide a concise implementation report explaining:")),console.log(a.dim(" \xB7 what was changed and why")),console.log(a.dim(" \xB7 key decisions and trade-offs")),console.log(a.dim(" \xB7 anything future agents should know")),console.log(a.dim(` Example: vibeflow tasks --edit ${m} --set-status review --comment "Implemented X by doing Y. Key decision: Z."`)),process.exitCode=O.USAGE;return}let f=await Te();if(e.setStatus==="review"){let w=W(t),k=ne(w);if(k.autoComment&&!e.comment?.trim()){console.log(a.red("\u2717 --comment is required (auto-comment setting is ON)")),console.log(a.dim(" Provide: what changed, why, key decisions, anything future agents should know.")),console.log(a.dim(" Plain text for short notes; Markdown for multi-section reports.")),console.log(a.dim(` Example: vibeflow tasks --edit ${m} --set-status review --comment "Implemented X by doing Y."`)),process.exitCode=O.USAGE;return}if(k.autoCommit&&!e.commitMessage?.trim()){console.log(a.red("\u2717 --commit-message is required (auto-commit setting is ON)")),console.log(a.dim(" Stage your changes first, then provide a one-line commit summary.")),console.log(a.dim(` Example: vibeflow tasks --edit ${m} --set-status review --commit-message "fix: add hover effect" --comment "..."`)),process.exitCode=O.USAGE;return}if(k.createBranch&&!e.branch?.trim()){console.log(a.red("\u2717 --branch is required (create-branch setting is ON)")),console.log(a.dim(" Provide the git branch name created for this task.")),console.log(a.dim(` Example: vibeflow tasks --edit ${m} --set-status review --branch feat/add-hover-effect --comment "..."`)),process.exitCode=O.USAGE;return}}if(f==="saas"){let w={};if(e.setStatus&&(w.status=e.setStatus),e.title&&(w.title=e.title),e.description&&(w.description=e.description),e.branch&&(w.branchName=e.branch),e.setStatus==="in-progress"){let N=await Or(m);if(N&&ve(N.status)==="in-progress"){let P=N.author??"another user";console.log(a.yellow(`\u26A0 Task is already in-progress (last updated by: ${P})`)),console.log(a.yellow(" Another agent or user may be working on this task.")),console.log(a.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}let k=await Dt(m,w);if(!k){console.log(a.red(`\u2717 Failed to update task: ${m}`)),console.log(a.yellow(" Ensure you are connected and the task ID exists in the online board.")),process.exitCode=O.GENERAL;return}k.warning&&console.log(a.yellow(`\u26A0 Server warning: ${k.warning}`)),e.setStatus==="review"&&e.comment?.trim()&&await Ar(m,e.comment.trim())&&console.log(a.dim(" comment: added"));let I=e.setStatus?X(e.setStatus==="review"?"set-status:review":"set-status:in-progress",m):[];e.json?console.log(JSON.stringify({success:!0,task:k.task,next_actions:I},null,2)):(console.log(a.green(`\u2713 Task updated: ${k.task.title}`)),console.log(a.dim(` id: ${k.task.id} | status: ${ve(k.task.status)}`)),I.length>0&&ue(I));return}let y=W(t),x=re(y).find(w=>w.id===m||w.id.startsWith(m))?.id??m;if(e.dryRun){let w={};if(e.title&&(w.title=e.title),e.setStatus&&(w.status=e.setStatus),e.description&&(w.description=e.description),e.branch&&(w.branchName=e.branch),e.json)console.log(JSON.stringify({dryRun:!0,action:"update",taskId:x,updates:w,next_actions:e.setStatus?X(e.setStatus==="review"?"set-status:review":"set-status:in-progress",x):[]},null,2));else{console.log(a.yellow(" [dry-run] Would update task:")),console.log(a.dim(` id: ${x}`));for(let[k,I]of Object.entries(w))console.log(a.dim(` ${k}: ${I}`));e.setStatus&&ue(X(e.setStatus==="review"?"set-status:review":"set-status:in-progress",x))}return}let E={};if(e.title&&(E.title=e.title),e.setStatus&&(E.status=e.setStatus),e.description&&(E.description=e.description),e.branch&&(E.branchName=e.branch),e.setStatus==="in-progress"){let w=W(t),I=re(w).find(N=>N.id===m||N.id.startsWith(m));if(I&&((I.type??"").toLowerCase()==="research"&&(console.log(a.yellow("\u26A0 WARNING: This is a Research task. Policy: do NOT implement code.")),console.log(a.yellow(" Research only \u2014 attach a .md report file, leave a summary comment, mark as review.")),console.log()),I.status==="in-progress")){let N=I.updated?new Date(I.updated).toLocaleString():"unknown",P=I.author??"another user";console.log(a.yellow(`\u26A0 Task is already in-progress (author: ${P}, last updated: ${N})`)),console.log(a.yellow(" Another agent or user may be working on this task.")),console.log(a.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}if(e.setStatus==="review"){let w=W(t),I=re(w).find(N=>N.id===m||N.id.startsWith(m));if(I&&(I.type??"").toLowerCase()==="research"){if(e.reportFile){let N=W(e.reportFile);if(!Jr(N)){console.log(a.red(`\u2717 Report file not found: ${N}`)),process.exitCode=O.NOT_FOUND;return}if(!/\.md$/i.test(N)){console.log(a.red("\u2717 Report file must be a Markdown (.md) file")),process.exitCode=O.USAGE;return}let P=Xr(N),{saveFile:v}=await import("./files-RNEVXCMZ.js");v(w,I.id,Wr(N),P),hi(N),console.log(a.green(`\u2713 Report uploaded: ${Wr(N)} (local file removed)`))}else if(!te(w,I.id).some(v=>/\.md$/i.test(v.name))){console.log(a.red("\u2717 Cannot mark Research task as review: no .md report file attached.")),console.log(a.dim(" Provide a research report:")),console.log(a.dim(` vibeflow tasks --edit ${m} --set-status review --report-file ./my-research.md --comment "..."`)),process.exitCode=O.USAGE;return}}}let T=B(t,x,E);if(!T){console.log(a.red(`\u2717 Task not found: ${m}`)),console.log(a.yellow(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=O.NOT_FOUND;return}e.setStatus==="review"&&e.comment?.trim()&&(be(W(t),x,"agent",e.comment.trim()),console.log(a.dim(" comment: added")));let C=e.setStatus?X(e.setStatus==="review"?"set-status:review":"set-status:in-progress",x):[];if(e.json?console.log(JSON.stringify({success:!0,task:T,next_actions:C},null,2)):(console.log(a.green(`\u2713 Task updated: ${T.title}`)),console.log(a.dim(` id: ${T.id} | status: ${T.status}`)),C.length>0&&ue(C)),e.setStatus==="review"){let w=W(t),k=ne(w);if(k.autoCommit&&e.commitMessage?.trim()){let N=re(w).find(P=>P.id===m||P.id.startsWith(m));if(N){let P=`${e.commitMessage.trim()} [proto:${N.id}]`;try{ft("git",["commit","-m",P],{cwd:w,stdio:"inherit"});let v=Ut("git rev-parse HEAD",{cwd:w}).toString().trim(),R={sha:v,message:e.commitMessage.trim(),timestamp:new Date().toISOString()},_=N.commits??[];if(B(w,N.id,{commits:[..._,R]}),console.log(a.green(`\u2713 Committed: ${P}`)),console.log(a.dim(` sha: ${v}`)),k.autoPush){console.log(a.dim(" pushing..."));let M=Yr(w);M.ok?console.log(a.green("\u2713 Pushed")):(console.log(a.yellow("\u26A0 Push failed. Run 'git push' manually.")),M.error&&console.log(a.dim(` reason: ${M.error}`)))}}catch{console.log(a.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=O.GENERAL}}}}return}if(e.status&&!ct.includes(e.status)){console.log(a.red(`\u2717 Invalid status filter: "${e.status}"`)),console.log(a.yellow(` Valid statuses: ${ct.join(" | ")}`)),console.log(a.dim(" Example: vibeflow tasks --status todo")),process.exitCode=O.USAGE;return}if(e.type&&!pt(e.type))return;let i=e.fields?e.fields.split(",").map(m=>m.trim()).filter(Boolean):[];if(await Te()==="saas"){let m=await oe(),p=await Oe(m?.id);if(!p){console.log(a.red("\u2717 Unable to reach the online backend.")),console.log(a.yellow(" Check your connection or run 'vibeflow login' if your session expired.")),process.exitCode=O.GENERAL;return}let f=p.tasks.map(C=>({...C,status:ve(C.status)}));if(e.status&&(f=f.filter(C=>C.status===e.status)),e.type&&(f=f.filter(C=>(C.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!He(e.user,f))return;e.user&&(f=f.filter(C=>$e(C.author,e.user))),e.tag&&e.tag.length>0&&(f=f.filter(C=>e.tag.every(w=>(C.tags??[]).includes(w))));let y=e.limit===void 0?5:parseInt(e.limit,10);if(!isNaN(y)&&y>0&&(f=f.slice(0,y)),e.json){console.log(JSON.stringify(f.map(C=>Bt(C,i)),null,2));return}let x=f.some(C=>(C.type??"").toLowerCase()==="research"),E=f.some(C=>(C.type??"").toLowerCase()==="bug"),T=ne(W(t));if(Ae({hasResearchTasks:x,hasBugTasks:E,autoCommit:T.autoCommit,autoPush:T.autoPush,autoComment:T.autoComment,createBranch:T.createBranch}),f.length===0)console.log(a.dim("No tasks found."));else{f=f.sort((w,k)=>{let I=ut(w.status)-ut(k.status);if(I!==0)return I;let N=_e(w.priority??void 0)-_e(k.priority??void 0);return N!==0?N:new Date(k.updatedAt).getTime()-new Date(w.updatedAt).getTime()});for(let[w,k]of f.entries()){let I=Ie[k.status]??a.white,N=Si(k.type);if(console.log(` ${a.dim(`${w+1}.`)} ${I(`[${k.status}]`)} ${k.title}`),console.log(a.dim(` id: ${k.id}`)),console.log(a.dim(" selector: /")),N&&console.log(a.dim(` type: ${N}`)),k.priority&&console.log(a.dim(` priority: ${k.priority}`)),console.log(a.dim(` created: ${k.createdAt}`)),k.description){console.log(a.dim(" description:"));for(let P of k.description.split(`
1832
+ `))console.log(a.dim(` ${P}`))}if(k.comments&&k.comments.length>0){let P=[...k.comments].sort(je);console.log(a.dim(` comments (${P.length}):`));for(let v of P){let R=v.authorId?`user:${v.authorId.slice(0,8)}`:"agent";console.log(a.dim(` [${R}] ${v.createdAt}`));for(let _ of v.body.split(`
1833
+ `))console.log(a.dim(` ${_}`))}}if(k.files&&k.files.length>0){console.log(a.dim(` linked files (${k.files.length}):`));for(let P of k.files){let v=P.url??`${process.env.VIBEFLOW_API_URL??"https://app.vibeflow.tools"}/api/tasks/${k.id}/files/${encodeURIComponent(P.name)}`;if(console.log(a.dim(` - ${P.name} ${v}`)),P.content){console.log(a.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let R of P.content.split(`
1834
+ `))console.log(a.dim(` \u2502 ${R}`));console.log(a.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}console.log()}let C=p.tasks.map(w=>({...w,status:ve(w.status)}));console.log(a.dim(qr(C)))}return}let o=ae(t);if(e.user&&!He(e.user,o))return;let r=e.status?o.filter(m=>m.status===e.status):o;e.type&&(r=r.filter(m=>(m.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&(r=r.filter(m=>$e(m.author,e.user))),e.tag&&e.tag.length>0&&(r=r.filter(m=>e.tag.every(p=>(m.tags??[]).includes(p))));let s=e.limit===void 0?5:parseInt(e.limit,10);if(e.json){console.log(JSON.stringify(r.map(m=>Bt(m,i)),null,2));return}r=r.sort((m,p)=>{let f=ut(m.status)-ut(p.status);if(f!==0)return f;let y=_e(m.priority)-_e(p.priority);if(y!==0)return y;let x=new Date(m.updated??m.created).getTime(),E=new Date(p.updated??p.created).getTime();return x!==E?E-x:m.id.localeCompare(p.id)});let c=r.length;if(!isNaN(s)&&s>0&&(r=r.slice(0,s)),r.length===0){console.log(a.dim("No tasks found."));return}let u=W(t),d=r.some(m=>(m.type??"").toLowerCase()==="research"),b=r.some(m=>(m.type??"").toLowerCase()==="bug"),g=ne(u);Ae({hasResearchTasks:d,hasBugTasks:b,autoCommit:g.autoCommit,autoPush:g.autoPush,autoComment:g.autoComment,createBranch:g.createBranch});let h=Le(u);for(let[m,p]of r.entries()){let f=pe(u,p.id).sort(je),y=te(u,p.id).map(E=>({...E,url:`http://localhost:${h.port}${E.url}`})),x=qt(p,f,y);Ci(p,x,m,h.port,u)}let j=!isNaN(s)&&s>0&&c>s?a.yellow(` (showing ${s} of ${c} matching \u2014 use --limit 0 for all)`):"";console.log(a.dim(qr(o))+j),await se()})()});J.command("login",{hidden:!0}).description("Authenticate CLI against the Vibeflow SaaS backend (device flow)").action(async()=>{ce("command_run",{command:"login"}),await se(),await rt()});J.command("logout",{hidden:!0}).description("Remove stored auth token and switch to local mode").action(async()=>{ce("command_run",{command:"logout"}),await se(),await or()});J.command("status",{hidden:!0}).description("Show login status, connection info, and task statistics").action(async()=>{if(await Te()==="local"){console.log(a.yellow("\u25CF Not logged in")+a.dim(" (local mode)")),console.log(a.dim(" Run ")+a.cyan("vibeflow login")+a.dim(" to connect to the Vibeflow cloud.")),console.log();let o=W("."),r=ae(o);if(r.length>0){let s=r.reduce((c,u)=>(c[u.status]=(c[u.status]??0)+1,c),{});console.log(a.bold(" Local task statistics:"));for(let[c,u]of Object.entries(s)){let d=Ie[c]??a.white;console.log(` ${d(c.padEnd(12))} ${u}`)}console.log(a.dim(` ${"total".padEnd(12)} ${r.length}`))}else console.log(a.dim(" No local tasks found."));return}let e=await oe();console.log(a.green("\u25CF Online")+a.dim(" (SaaS mode)")),e&&(console.log(a.dim(` Board: ${e.icon?e.icon+" ":""}${e.name}`)),e.email&&console.log(a.dim(` Email: ${e.email}`)),console.log(a.dim(" URL: ")+a.cyan(e.url))),console.log();let n=await Oe(e?.id);if(!n){console.log(a.yellow(" \u26A0 Could not reach SaaS backend. Check your connection."));return}let i=n.tasks.map(o=>({...o,status:ve(o.status)}));if(i.length===0){console.log(a.dim(" No tasks found."));return}let l=i.reduce((o,r)=>(o[r.status]=(o[r.status]??0)+1,o),{});console.log(a.bold(" Task statistics:"));for(let[o,r]of Object.entries(l)){let s=Ie[o]??a.white;console.log(` ${s(o.padEnd(12))} ${r}`)}console.log(a.dim(` ${"total".padEnd(12)} ${i.length}`))});J.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)").action(async(t,e)=>{ce("command_run",{command:"push"}),await lr(t,e),await se()});J.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=>{ce("command_run",{command:"watch"}),await se(),cr(t)});J.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){Ft(!1),console.log(a.yellow("Telemetry disabled. No usage data will be collected.")),console.log(a.dim("Run `vibeflow telemetry --enable` to re-enable at any time."));return}if(t.enable){Ft(!0),console.log(a.green("Telemetry enabled. Thank you for helping improve Vibeflow!"));return}let{enabled:e,anonymousId:n}=Hr(),i=process.env.VIBEFLOW_TELEMETRY==="0";console.log(a.bold("Telemetry status:")),console.log(` Enabled: ${e?a.green("yes"):a.yellow("no")}`),i&&console.log(a.dim(" (disabled via VIBEFLOW_TELEMETRY=0 environment variable)")),n&&console.log(a.dim(` Anonymous ID: ${n}`)),console.log(),console.log(a.dim(" vibeflow telemetry --disable Opt out of usage tracking")),console.log(a.dim(" vibeflow telemetry --enable Opt back in")),console.log(a.dim(" No PII is ever collected. User identity is hashed."))});J.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=>{ce("command_run",{command:"auth"}),await se();let e=W(".");if(t.clear){let n=mr(e);console.log(n===0?a.dim(" No auth state files found. Nothing to clear."):a.green(` \u2713 Cleared ${n} auth state file(s)`));return}if(t.list){let n=br(e);if(n.length===0){console.log(a.dim(" No auth state files found."));return}console.log(a.bold(` Auth state files (${n.length}):`));for(let i of n)console.log(a.dim(` ${i.taskId} age: ${i.age} path: ${i.path}`));return}console.log(a.bold("Auth management:")),console.log(a.dim(" vibeflow auth --clear Delete all per-task encrypted auth state files")),console.log(a.dim(" vibeflow auth --list List stored auth state files and their age"))});J.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)=>{ce("command_run",{command:"verify"});let[n,...i]=t;if(n&&Rr.has(n)){await Lr(".",n,i,e),await se();return}if(!n){process.stderr.write(a.red(`\u2717 Task ID required.
1835
+ `)),process.stderr.write(a.dim(` Usage: vibeflow verify <task-id>
1836
+ `)),process.stderr.write(a.dim(` Tools: vibeflow verify <tool> <task-id> [...]
1837
+ `)),process.exitCode=1;return}await _r(".",n,e),await se()});J.command("changelog").description("Show the changelog \u2014 latest version by default").option("--all","Show the full changelog for every version").action(async t=>{ce("command_run",{command:"changelog"}),await se(),ur({all:t.all===!0})});J.parse();