@grackle-ai/web 0.112.1 → 0.112.2

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.
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KnowledgePage-BbGCP_P-.js","assets/dagview-tHPW3Rz3.js","assets/grpc-Bj1y6sZz.js","assets/markdown-Yr3vTPLR.js","assets/KnowledgePage-BmY14aDt.css"])))=>i.map(i=>d[i]);
2
- import{r as E2,a as A2,b as y,j as a,d as my,H as hy,P as gy,i as D2,B as R2,c as M2,C as I2,M as O2,e as L2}from"./dagview-tHPW3Rz3.js";import{c as B2,a as Cd,G as $2,b as z2,d as H2,e as P2,f as U2,M as V2,D as D_,A as R_,W as G2,O as q2,g as F2,C as da,h as M_,i as I_,w as Z2,t as K2,p as $c,j as Y2,R as Hr,S as vy}from"./grpc-Bj1y6sZz.js";import{v as J2,r as W2,t as zc,i as X2,f as Q2,M as Ed,a as Ad}from"./markdown-Yr3vTPLR.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))r(c);new MutationObserver(c=>{for(const d of c)if(d.type==="childList")for(const u of d.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function o(c){const d={};return c.integrity&&(d.integrity=c.integrity),c.referrerPolicy&&(d.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?d.credentials="include":c.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(c){if(c.ep)return;c.ep=!0;const d=o(c);fetch(c.href,d)}})();var np={exports:{}},Pr={},sp={exports:{}},ap={};/**
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KnowledgePage-so1JlxJH.js","assets/dagview-tHPW3Rz3.js","assets/grpc-Bj1y6sZz.js","assets/markdown-Yr3vTPLR.js","assets/KnowledgePage-BmY14aDt.css"])))=>i.map(i=>d[i]);
2
+ import{r as A2,a as D2,b as y,j as a,d as my,H as hy,P as gy,i as R2,B as M2,c as I2,C as O2,M as L2,e as B2}from"./dagview-tHPW3Rz3.js";import{c as $2,a as Cd,G as z2,b as H2,d as P2,e as U2,f as V2,M as G2,D as R_,A as M_,W as q2,O as F2,g as Z2,C as da,h as I_,i as O_,w as K2,t as Y2,p as $c,j as J2,R as Hr,S as vy}from"./grpc-Bj1y6sZz.js";import{v as W2,r as X2,t as zc,i as Q2,f as ej,M as Ed,a as Ad}from"./markdown-Yr3vTPLR.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))r(c);new MutationObserver(c=>{for(const d of c)if(d.type==="childList")for(const u of d.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function o(c){const d={};return c.integrity&&(d.integrity=c.integrity),c.referrerPolicy&&(d.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?d.credentials="include":c.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(c){if(c.ep)return;c.ep=!0;const d=o(c);fetch(c.href,d)}})();var np={exports:{}},Pr={},sp={exports:{}},ap={};/**
3
3
  * @license React
4
4
  * scheduler.production.js
5
5
  *
@@ -7,7 +7,7 @@ import{r as E2,a as A2,b as y,j as a,d as my,H as hy,P as gy,i as D2,B as R2,c a
7
7
  *
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
- */var yy;function ej(){return yy||(yy=1,(function(t){function s(B,R){var se=B.length;B.push(R);e:for(;0<se;){var oe=se-1>>>1,G=B[oe];if(0<c(G,R))B[oe]=R,B[se]=G,se=oe;else break e}}function o(B){return B.length===0?null:B[0]}function r(B){if(B.length===0)return null;var R=B[0],se=B.pop();if(se!==R){B[0]=se;e:for(var oe=0,G=B.length,pe=G>>>1;oe<pe;){var de=2*(oe+1)-1,xe=B[de],Se=de+1,Pe=B[Se];if(0>c(xe,se))Se<G&&0>c(Pe,xe)?(B[oe]=Pe,B[Se]=se,oe=Se):(B[oe]=xe,B[de]=se,oe=de);else if(Se<G&&0>c(Pe,se))B[oe]=Pe,B[Se]=se,oe=Se;else break e}}return R}function c(B,R){var se=B.sortIndex-R.sortIndex;return se!==0?se:B.id-R.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;t.unstable_now=function(){return d.now()}}else{var u=Date,p=u.now();t.unstable_now=function(){return u.now()-p}}var m=[],g=[],v=1,_=null,b=3,x=!1,k=!1,j=!1,w=!1,T=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;function L(B){for(var R=o(g);R!==null;){if(R.callback===null)r(g);else if(R.startTime<=B)r(g),R.sortIndex=R.expirationTime,s(m,R);else break;R=o(g)}}function E(B){if(j=!1,L(B),!k)if(o(m)!==null)k=!0,O||(O=!0,X());else{var R=o(g);R!==null&&le(E,R.startTime-B)}}var O=!1,z=-1,D=5,H=-1;function Y(){return w?!0:!(t.unstable_now()-H<D)}function U(){if(w=!1,O){var B=t.unstable_now();H=B;var R=!0;try{e:{k=!1,j&&(j=!1,C(z),z=-1),x=!0;var se=b;try{t:{for(L(B),_=o(m);_!==null&&!(_.expirationTime>B&&Y());){var oe=_.callback;if(typeof oe=="function"){_.callback=null,b=_.priorityLevel;var G=oe(_.expirationTime<=B);if(B=t.unstable_now(),typeof G=="function"){_.callback=G,L(B),R=!0;break t}_===o(m)&&r(m),L(B)}else r(m);_=o(m)}if(_!==null)R=!0;else{var pe=o(g);pe!==null&&le(E,pe.startTime-B),R=!1}}break e}finally{_=null,b=se,x=!1}R=void 0}}finally{R?X():O=!1}}}var X;if(typeof A=="function")X=function(){A(U)};else if(typeof MessageChannel<"u"){var ge=new MessageChannel,W=ge.port2;ge.port1.onmessage=U,X=function(){W.postMessage(null)}}else X=function(){T(U,0)};function le(B,R){z=T(function(){B(t.unstable_now())},R)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(B){B.callback=null},t.unstable_forceFrameRate=function(B){0>B||125<B?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):D=0<B?Math.floor(1e3/B):5},t.unstable_getCurrentPriorityLevel=function(){return b},t.unstable_next=function(B){switch(b){case 1:case 2:case 3:var R=3;break;default:R=b}var se=b;b=R;try{return B()}finally{b=se}},t.unstable_requestPaint=function(){w=!0},t.unstable_runWithPriority=function(B,R){switch(B){case 1:case 2:case 3:case 4:case 5:break;default:B=3}var se=b;b=B;try{return R()}finally{b=se}},t.unstable_scheduleCallback=function(B,R,se){var oe=t.unstable_now();switch(typeof se=="object"&&se!==null?(se=se.delay,se=typeof se=="number"&&0<se?oe+se:oe):se=oe,B){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5e3}return G=se+G,B={id:v++,callback:R,priorityLevel:B,startTime:se,expirationTime:G,sortIndex:-1},se>oe?(B.sortIndex=se,s(g,B),o(m)===null&&B===o(g)&&(j?(C(z),z=-1):j=!0,le(E,se-oe))):(B.sortIndex=G,s(m,B),k||x||(k=!0,O||(O=!0,X()))),B},t.unstable_shouldYield=Y,t.unstable_wrapCallback=function(B){var R=b;return function(){var se=b;b=R;try{return B.apply(this,arguments)}finally{b=se}}}})(ap)),ap}var by;function tj(){return by||(by=1,sp.exports=ej()),sp.exports}/**
10
+ */var yy;function tj(){return yy||(yy=1,(function(t){function s(B,R){var se=B.length;B.push(R);e:for(;0<se;){var oe=se-1>>>1,G=B[oe];if(0<c(G,R))B[oe]=R,B[se]=G,se=oe;else break e}}function o(B){return B.length===0?null:B[0]}function r(B){if(B.length===0)return null;var R=B[0],se=B.pop();if(se!==R){B[0]=se;e:for(var oe=0,G=B.length,pe=G>>>1;oe<pe;){var de=2*(oe+1)-1,xe=B[de],Se=de+1,Pe=B[Se];if(0>c(xe,se))Se<G&&0>c(Pe,xe)?(B[oe]=Pe,B[Se]=se,oe=Se):(B[oe]=xe,B[de]=se,oe=de);else if(Se<G&&0>c(Pe,se))B[oe]=Pe,B[Se]=se,oe=Se;else break e}}return R}function c(B,R){var se=B.sortIndex-R.sortIndex;return se!==0?se:B.id-R.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;t.unstable_now=function(){return d.now()}}else{var u=Date,p=u.now();t.unstable_now=function(){return u.now()-p}}var m=[],g=[],v=1,_=null,b=3,x=!1,k=!1,j=!1,w=!1,T=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;function L(B){for(var R=o(g);R!==null;){if(R.callback===null)r(g);else if(R.startTime<=B)r(g),R.sortIndex=R.expirationTime,s(m,R);else break;R=o(g)}}function E(B){if(j=!1,L(B),!k)if(o(m)!==null)k=!0,O||(O=!0,X());else{var R=o(g);R!==null&&le(E,R.startTime-B)}}var O=!1,z=-1,D=5,H=-1;function Y(){return w?!0:!(t.unstable_now()-H<D)}function U(){if(w=!1,O){var B=t.unstable_now();H=B;var R=!0;try{e:{k=!1,j&&(j=!1,C(z),z=-1),x=!0;var se=b;try{t:{for(L(B),_=o(m);_!==null&&!(_.expirationTime>B&&Y());){var oe=_.callback;if(typeof oe=="function"){_.callback=null,b=_.priorityLevel;var G=oe(_.expirationTime<=B);if(B=t.unstable_now(),typeof G=="function"){_.callback=G,L(B),R=!0;break t}_===o(m)&&r(m),L(B)}else r(m);_=o(m)}if(_!==null)R=!0;else{var pe=o(g);pe!==null&&le(E,pe.startTime-B),R=!1}}break e}finally{_=null,b=se,x=!1}R=void 0}}finally{R?X():O=!1}}}var X;if(typeof A=="function")X=function(){A(U)};else if(typeof MessageChannel<"u"){var he=new MessageChannel,W=he.port2;he.port1.onmessage=U,X=function(){W.postMessage(null)}}else X=function(){T(U,0)};function le(B,R){z=T(function(){B(t.unstable_now())},R)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(B){B.callback=null},t.unstable_forceFrameRate=function(B){0>B||125<B?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):D=0<B?Math.floor(1e3/B):5},t.unstable_getCurrentPriorityLevel=function(){return b},t.unstable_next=function(B){switch(b){case 1:case 2:case 3:var R=3;break;default:R=b}var se=b;b=R;try{return B()}finally{b=se}},t.unstable_requestPaint=function(){w=!0},t.unstable_runWithPriority=function(B,R){switch(B){case 1:case 2:case 3:case 4:case 5:break;default:B=3}var se=b;b=B;try{return R()}finally{b=se}},t.unstable_scheduleCallback=function(B,R,se){var oe=t.unstable_now();switch(typeof se=="object"&&se!==null?(se=se.delay,se=typeof se=="number"&&0<se?oe+se:oe):se=oe,B){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5e3}return G=se+G,B={id:v++,callback:R,priorityLevel:B,startTime:se,expirationTime:G,sortIndex:-1},se>oe?(B.sortIndex=se,s(g,B),o(m)===null&&B===o(g)&&(j?(C(z),z=-1):j=!0,le(E,se-oe))):(B.sortIndex=G,s(m,B),k||x||(k=!0,O||(O=!0,X()))),B},t.unstable_shouldYield=Y,t.unstable_wrapCallback=function(B){var R=b;return function(){var se=b;b=R;try{return B.apply(this,arguments)}finally{b=se}}}})(ap)),ap}var by;function nj(){return by||(by=1,sp.exports=tj()),sp.exports}/**
11
11
  * @license React
12
12
  * react-dom-client.production.js
13
13
  *
@@ -15,240 +15,240 @@ import{r as E2,a as A2,b as y,j as a,d as my,H as hy,P as gy,i as D2,B as R2,c a
15
15
  *
16
16
  * This source code is licensed under the MIT license found in the
17
17
  * LICENSE file in the root directory of this source tree.
18
- */var _y;function nj(){if(_y)return Pr;_y=1;var t=tj(),s=E2(),o=A2();function r(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)n+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(e){var n=e,i=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(i=n.return),e=n.return;while(e)}return n.tag===3?i:null}function u(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function p(e){if(e.tag===31){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function m(e){if(d(e)!==e)throw Error(r(188))}function g(e){var n=e.alternate;if(!n){if(n=d(e),n===null)throw Error(r(188));return n!==e?null:e}for(var i=e,l=n;;){var f=i.return;if(f===null)break;var h=f.alternate;if(h===null){if(l=f.return,l!==null){i=l;continue}break}if(f.child===h.child){for(h=f.child;h;){if(h===i)return m(f),e;if(h===l)return m(f),n;h=h.sibling}throw Error(r(188))}if(i.return!==l.return)i=f,l=h;else{for(var S=!1,N=f.child;N;){if(N===i){S=!0,i=f,l=h;break}if(N===l){S=!0,l=f,i=h;break}N=N.sibling}if(!S){for(N=h.child;N;){if(N===i){S=!0,i=h,l=f;break}if(N===l){S=!0,l=h,i=f;break}N=N.sibling}if(!S)throw Error(r(189))}}if(i.alternate!==l)throw Error(r(190))}if(i.tag!==3)throw Error(r(188));return i.stateNode.current===i?e:n}function v(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e;for(e=e.child;e!==null;){if(n=v(e),n!==null)return n;e=e.sibling}return null}var _=Object.assign,b=Symbol.for("react.element"),x=Symbol.for("react.transitional.element"),k=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),w=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),A=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),z=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),H=Symbol.for("react.activity"),Y=Symbol.for("react.memo_cache_sentinel"),U=Symbol.iterator;function X(e){return e===null||typeof e!="object"?null:(e=U&&e[U]||e["@@iterator"],typeof e=="function"?e:null)}var ge=Symbol.for("react.client.reference");function W(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ge?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case j:return"Fragment";case T:return"Profiler";case w:return"StrictMode";case E:return"Suspense";case O:return"SuspenseList";case H:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case k:return"Portal";case A:return e.displayName||"Context";case C:return(e._context.displayName||"Context")+".Consumer";case L:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case z:return n=e.displayName||null,n!==null?n:W(e.type)||"Memo";case D:n=e._payload,e=e._init;try{return W(e(n))}catch{}}return null}var le=Array.isArray,B=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se={pending:!1,data:null,method:null,action:null},oe=[],G=-1;function pe(e){return{current:e}}function de(e){0>G||(e.current=oe[G],oe[G]=null,G--)}function xe(e,n){G++,oe[G]=e.current,e.current=n}var Se=pe(null),Pe=pe(null),gt=pe(null),_e=pe(null);function Ie(e,n){switch(xe(gt,n),xe(Pe,e),xe(Se,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?B0(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)n=B0(n),e=$0(n,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}de(Se),xe(Se,e)}function Mt(){de(Se),de(Pe),de(gt)}function hn(e){e.memoizedState!==null&&xe(_e,e);var n=Se.current,i=$0(n,e.type);n!==i&&(xe(Pe,e),xe(Se,i))}function ce(e){Pe.current===e&&(de(Se),de(Pe)),_e.current===e&&(de(_e),Lr._currentValue=se)}var Ue,ut;function te(e){if(Ue===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);Ue=n&&n[1]||"",ut=-1<i.stack.indexOf(`
18
+ */var _y;function sj(){if(_y)return Pr;_y=1;var t=nj(),s=A2(),o=D2();function r(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)n+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(e){var n=e,i=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(i=n.return),e=n.return;while(e)}return n.tag===3?i:null}function u(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function p(e){if(e.tag===31){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function m(e){if(d(e)!==e)throw Error(r(188))}function g(e){var n=e.alternate;if(!n){if(n=d(e),n===null)throw Error(r(188));return n!==e?null:e}for(var i=e,l=n;;){var f=i.return;if(f===null)break;var h=f.alternate;if(h===null){if(l=f.return,l!==null){i=l;continue}break}if(f.child===h.child){for(h=f.child;h;){if(h===i)return m(f),e;if(h===l)return m(f),n;h=h.sibling}throw Error(r(188))}if(i.return!==l.return)i=f,l=h;else{for(var S=!1,N=f.child;N;){if(N===i){S=!0,i=f,l=h;break}if(N===l){S=!0,l=f,i=h;break}N=N.sibling}if(!S){for(N=h.child;N;){if(N===i){S=!0,i=h,l=f;break}if(N===l){S=!0,l=h,i=f;break}N=N.sibling}if(!S)throw Error(r(189))}}if(i.alternate!==l)throw Error(r(190))}if(i.tag!==3)throw Error(r(188));return i.stateNode.current===i?e:n}function v(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e;for(e=e.child;e!==null;){if(n=v(e),n!==null)return n;e=e.sibling}return null}var _=Object.assign,b=Symbol.for("react.element"),x=Symbol.for("react.transitional.element"),k=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),w=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),A=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),z=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),H=Symbol.for("react.activity"),Y=Symbol.for("react.memo_cache_sentinel"),U=Symbol.iterator;function X(e){return e===null||typeof e!="object"?null:(e=U&&e[U]||e["@@iterator"],typeof e=="function"?e:null)}var he=Symbol.for("react.client.reference");function W(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===he?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case j:return"Fragment";case T:return"Profiler";case w:return"StrictMode";case E:return"Suspense";case O:return"SuspenseList";case H:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case k:return"Portal";case A:return e.displayName||"Context";case C:return(e._context.displayName||"Context")+".Consumer";case L:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case z:return n=e.displayName||null,n!==null?n:W(e.type)||"Memo";case D:n=e._payload,e=e._init;try{return W(e(n))}catch{}}return null}var le=Array.isArray,B=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se={pending:!1,data:null,method:null,action:null},oe=[],G=-1;function pe(e){return{current:e}}function de(e){0>G||(e.current=oe[G],oe[G]=null,G--)}function xe(e,n){G++,oe[G]=e.current,e.current=n}var Se=pe(null),Pe=pe(null),gt=pe(null),_e=pe(null);function Ie(e,n){switch(xe(gt,n),xe(Pe,e),xe(Se,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?B0(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)n=B0(n),e=$0(n,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}de(Se),xe(Se,e)}function Mt(){de(Se),de(Pe),de(gt)}function hn(e){e.memoizedState!==null&&xe(_e,e);var n=Se.current,i=$0(n,e.type);n!==i&&(xe(Pe,e),xe(Se,i))}function ce(e){Pe.current===e&&(de(Se),de(Pe)),_e.current===e&&(de(_e),Lr._currentValue=se)}var Ue,ut;function te(e){if(Ue===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);Ue=n&&n[1]||"",ut=-1<i.stack.indexOf(`
19
19
  at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
20
20
  `+Ue+e+ut}var re=!1;function ve(e,n){if(!e||re)return"";re=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(n){var ae=function(){throw Error()};if(Object.defineProperty(ae.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ae,[])}catch(K){var Z=K}Reflect.construct(e,[],ae)}else{try{ae.call()}catch(K){Z=K}e.call(ae.prototype)}}else{try{throw Error()}catch(K){Z=K}(ae=e())&&typeof ae.catch=="function"&&ae.catch(function(){})}}catch(K){if(K&&Z&&typeof K.stack=="string")return[K.stack,Z.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var h=l.DetermineComponentFrameRoot(),S=h[0],N=h[1];if(S&&N){var M=S.split(`
21
21
  `),F=N.split(`
22
22
  `);for(f=l=0;l<M.length&&!M[l].includes("DetermineComponentFrameRoot");)l++;for(;f<F.length&&!F[f].includes("DetermineComponentFrameRoot");)f++;if(l===M.length||f===F.length)for(l=M.length-1,f=F.length-1;1<=l&&0<=f&&M[l]!==F[f];)f--;for(;1<=l&&0<=f;l--,f--)if(M[l]!==F[f]){if(l!==1||f!==1)do if(l--,f--,0>f||M[l]!==F[f]){var Q=`
23
23
  `+M[l].replace(" at new "," at ");return e.displayName&&Q.includes("<anonymous>")&&(Q=Q.replace("<anonymous>",e.displayName)),Q}while(1<=l&&0<=f);break}}}finally{re=!1,Error.prepareStackTrace=i}return(i=e?e.displayName||e.name:"")?te(i):""}function ft(e,n){switch(e.tag){case 26:case 27:case 5:return te(e.type);case 16:return te("Lazy");case 13:return e.child!==n&&n!==null?te("Suspense Fallback"):te("Suspense");case 19:return te("SuspenseList");case 0:case 15:return ve(e.type,!1);case 11:return ve(e.type.render,!1);case 1:return ve(e.type,!0);case 31:return te("Activity");default:return""}}function Me(e){try{var n="",i=null;do n+=ft(e,i),i=e,e=e.return;while(e);return n}catch(l){return`
24
24
  Error generating stack: `+l.message+`
25
- `+l.stack}}var rn=Object.prototype.hasOwnProperty,ga=t.unstable_scheduleCallback,us=t.unstable_cancelCallback,ti=t.unstable_shouldYield,va=t.unstable_requestPaint,en=t.unstable_now,Hi=t.unstable_getCurrentPriorityLevel,ya=t.unstable_ImmediatePriority,ni=t.unstable_UserBlockingPriority,js=t.unstable_NormalPriority,Pi=t.unstable_LowPriority,Gn=t.unstable_IdlePriority,Ee=t.log,Ve=t.unstable_setDisableYieldValue,tn=null,Ct=null;function yn(e){if(typeof Ee=="function"&&Ve(e),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(tn,e)}catch{}}var nn=Math.clz32?Math.clz32:Gi,Ui=Math.log,Vi=Math.LN2;function Gi(e){return e>>>=0,e===0?32:31-(Ui(e)/Vi|0)|0}var si=256,ai=262144,ii=4194304;function Ts(e){var n=e&42;if(n!==0)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function oi(e,n,i){var l=e.pendingLanes;if(l===0)return 0;var f=0,h=e.suspendedLanes,S=e.pingedLanes;e=e.warmLanes;var N=l&134217727;return N!==0?(l=N&~h,l!==0?f=Ts(l):(S&=N,S!==0?f=Ts(S):i||(i=N&~e,i!==0&&(f=Ts(i))))):(N=l&~h,N!==0?f=Ts(N):S!==0?f=Ts(S):i||(i=l&~e,i!==0&&(f=Ts(i)))),f===0?0:n!==0&&n!==f&&(n&h)===0&&(h=f&-f,i=n&-n,h>=i||h===32&&(i&4194048)!==0)?n:f}function ba(e,n){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)===0}function jl(e,n){switch(e){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Tl(){var e=ii;return ii<<=1,(ii&62914560)===0&&(ii=4194304),e}function P(e){for(var n=[],i=0;31>i;i++)n.push(e);return n}function ee(e,n){e.pendingLanes|=n,n!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ue(e,n,i,l,f,h){var S=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var N=e.entanglements,M=e.expirationTimes,F=e.hiddenUpdates;for(i=S&~i;0<i;){var Q=31-nn(i),ae=1<<Q;N[Q]=0,M[Q]=-1;var Z=F[Q];if(Z!==null)for(F[Q]=null,Q=0;Q<Z.length;Q++){var K=Z[Q];K!==null&&(K.lane&=-536870913)}i&=~ae}l!==0&&me(e,l,0),h!==0&&f===0&&e.tag!==0&&(e.suspendedLanes|=h&~(S&~n))}function me(e,n,i){e.pendingLanes|=n,e.suspendedLanes&=~n;var l=31-nn(n);e.entangledLanes|=n,e.entanglements[l]=e.entanglements[l]|1073741824|i&261930}function ye(e,n){var i=e.entangledLanes|=n;for(e=e.entanglements;i;){var l=31-nn(i),f=1<<l;f&n|e[l]&n&&(e[l]|=n),i&=~f}}function Ze(e,n){var i=n&-n;return i=(i&42)!==0?1:Te(i),(i&(e.suspendedLanes|n))!==0?0:i}function Te(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Oe(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Qe(){var e=R.p;return e!==0?e:(e=window.event,e===void 0?32:ry(e.type))}function _t(e,n){var i=R.p;try{return R.p=e,n()}finally{R.p=i}}var Ge=Math.random().toString(36).slice(2),et="__reactFiber$"+Ge,pt="__reactProps$"+Ge,kt="__reactContainer$"+Ge,ws="__reactEvents$"+Ge,zs="__reactListeners$"+Ge,Jo="__reactHandles$"+Ge,jh="__reactResources$"+Ge,Wo="__reactMarker$"+Ge;function Zd(e){delete e[et],delete e[pt],delete e[ws],delete e[zs],delete e[Jo]}function qi(e){var n=e[et];if(n)return n;for(var i=e.parentNode;i;){if(n=i[kt]||i[et]){if(i=n.alternate,n.child!==null||i!==null&&i.child!==null)for(e=q0(e);e!==null;){if(i=e[et])return i;e=q0(e)}return n}e=i,i=e.parentNode}return null}function Fi(e){if(e=e[et]||e[kt]){var n=e.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return e}return null}function Xo(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e.stateNode;throw Error(r(33))}function Zi(e){var n=e[jh];return n||(n=e[jh]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function sn(e){e[Wo]=!0}var Th=new Set,wh={};function ri(e,n){Ki(e,n),Ki(e+"Capture",n)}function Ki(e,n){for(wh[e]=n,e=0;e<n.length;e++)Th.add(n[e])}var _k=RegExp("^[: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]*$"),Nh={},Ch={};function xk(e){return rn.call(Ch,e)?!0:rn.call(Nh,e)?!1:_k.test(e)?Ch[e]=!0:(Nh[e]=!0,!1)}function wl(e,n,i){if(xk(n))if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":e.removeAttribute(n);return;case"boolean":var l=n.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(n);return}}e.setAttribute(n,""+i)}}function Nl(e,n,i){if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttribute(n,""+i)}}function Hs(e,n,i,l){if(l===null)e.removeAttribute(i);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(i);return}e.setAttributeNS(n,i,""+l)}}function qn(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Eh(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function kk(e,n,i){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,n);if(!e.hasOwnProperty(n)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var f=l.get,h=l.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return f.call(this)},set:function(S){i=""+S,h.call(this,S)}}),Object.defineProperty(e,n,{enumerable:l.enumerable}),{getValue:function(){return i},setValue:function(S){i=""+S},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Kd(e){if(!e._valueTracker){var n=Eh(e)?"checked":"value";e._valueTracker=kk(e,n,""+e[n])}}function Ah(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var i=n.getValue(),l="";return e&&(l=Eh(e)?e.checked?"true":"false":e.value),e=l,e!==i?(n.setValue(e),!0):!1}function Cl(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}}var Sk=/[\n"\\]/g;function Fn(e){return e.replace(Sk,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function Yd(e,n,i,l,f,h,S,N){e.name="",S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?e.type=S:e.removeAttribute("type"),n!=null?S==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+qn(n)):e.value!==""+qn(n)&&(e.value=""+qn(n)):S!=="submit"&&S!=="reset"||e.removeAttribute("value"),n!=null?Jd(e,S,qn(n)):i!=null?Jd(e,S,qn(i)):l!=null&&e.removeAttribute("value"),f==null&&h!=null&&(e.defaultChecked=!!h),f!=null&&(e.checked=f&&typeof f!="function"&&typeof f!="symbol"),N!=null&&typeof N!="function"&&typeof N!="symbol"&&typeof N!="boolean"?e.name=""+qn(N):e.removeAttribute("name")}function Dh(e,n,i,l,f,h,S,N){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.type=h),n!=null||i!=null){if(!(h!=="submit"&&h!=="reset"||n!=null)){Kd(e);return}i=i!=null?""+qn(i):"",n=n!=null?""+qn(n):i,N||n===e.value||(e.value=n),e.defaultValue=n}l=l??f,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=N?e.checked:!!l,e.defaultChecked=!!l,S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"&&(e.name=S),Kd(e)}function Jd(e,n,i){n==="number"&&Cl(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function Yi(e,n,i,l){if(e=e.options,n){n={};for(var f=0;f<i.length;f++)n["$"+i[f]]=!0;for(i=0;i<e.length;i++)f=n.hasOwnProperty("$"+e[i].value),e[i].selected!==f&&(e[i].selected=f),f&&l&&(e[i].defaultSelected=!0)}else{for(i=""+qn(i),n=null,f=0;f<e.length;f++){if(e[f].value===i){e[f].selected=!0,l&&(e[f].defaultSelected=!0);return}n!==null||e[f].disabled||(n=e[f])}n!==null&&(n.selected=!0)}}function Rh(e,n,i){if(n!=null&&(n=""+qn(n),n!==e.value&&(e.value=n),i==null)){e.defaultValue!==n&&(e.defaultValue=n);return}e.defaultValue=i!=null?""+qn(i):""}function Mh(e,n,i,l){if(n==null){if(l!=null){if(i!=null)throw Error(r(92));if(le(l)){if(1<l.length)throw Error(r(93));l=l[0]}i=l}i==null&&(i=""),n=i}i=qn(n),e.defaultValue=i,l=e.textContent,l===i&&l!==""&&l!==null&&(e.value=l),Kd(e)}function Ji(e,n){if(n){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=n;return}}e.textContent=n}var jk=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Ih(e,n,i){var l=n.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?l?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="":l?e.setProperty(n,i):typeof i!="number"||i===0||jk.has(n)?n==="float"?e.cssFloat=i:e[n]=(""+i).trim():e[n]=i+"px"}function Oh(e,n,i){if(n!=null&&typeof n!="object")throw Error(r(62));if(e=e.style,i!=null){for(var l in i)!i.hasOwnProperty(l)||n!=null&&n.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var f in n)l=n[f],n.hasOwnProperty(f)&&i[f]!==l&&Ih(e,f,l)}else for(var h in n)n.hasOwnProperty(h)&&Ih(e,h,n[h])}function Wd(e){if(e.indexOf("-")===-1)return!1;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 Tk=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),wk=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function El(e){return wk.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Ps(){}var Xd=null;function Qd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Wi=null,Xi=null;function Lh(e){var n=Fi(e);if(n&&(e=n.stateNode)){var i=e[pt]||null;e:switch(e=n.stateNode,n.type){case"input":if(Yd(e,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),n=i.name,i.type==="radio"&&n!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+Fn(""+n)+'"][type="radio"]'),n=0;n<i.length;n++){var l=i[n];if(l!==e&&l.form===e.form){var f=l[pt]||null;if(!f)throw Error(r(90));Yd(l,f.value,f.defaultValue,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name)}}for(n=0;n<i.length;n++)l=i[n],l.form===e.form&&Ah(l)}break e;case"textarea":Rh(e,i.value,i.defaultValue);break e;case"select":n=i.value,n!=null&&Yi(e,!!i.multiple,n,!1)}}}var eu=!1;function Bh(e,n,i){if(eu)return e(n,i);eu=!0;try{var l=e(n);return l}finally{if(eu=!1,(Wi!==null||Xi!==null)&&(gc(),Wi&&(n=Wi,e=Xi,Xi=Wi=null,Lh(n),e)))for(n=0;n<e.length;n++)Lh(e[n])}}function Qo(e,n){var i=e.stateNode;if(i===null)return null;var l=i[pt]||null;if(l===null)return null;i=l[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(r(231,n,typeof i));return i}var Us=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),tu=!1;if(Us)try{var er={};Object.defineProperty(er,"passive",{get:function(){tu=!0}}),window.addEventListener("test",er,er),window.removeEventListener("test",er,er)}catch{tu=!1}var _a=null,nu=null,Al=null;function $h(){if(Al)return Al;var e,n=nu,i=n.length,l,f="value"in _a?_a.value:_a.textContent,h=f.length;for(e=0;e<i&&n[e]===f[e];e++);var S=i-e;for(l=1;l<=S&&n[i-l]===f[h-l];l++);return Al=f.slice(e,1<l?1-l:void 0)}function Dl(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function Rl(){return!0}function zh(){return!1}function jn(e){function n(i,l,f,h,S){this._reactName=i,this._targetInst=f,this.type=l,this.nativeEvent=h,this.target=S,this.currentTarget=null;for(var N in e)e.hasOwnProperty(N)&&(i=e[N],this[N]=i?i(h):h[N]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?Rl:zh,this.isPropagationStopped=zh,this}return _(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Rl)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Rl)},persist:function(){},isPersistent:Rl}),n}var li={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ml=jn(li),tr=_({},li,{view:0,detail:0}),Nk=jn(tr),su,au,nr,Il=_({},tr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ou,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!==nr&&(nr&&e.type==="mousemove"?(su=e.screenX-nr.screenX,au=e.screenY-nr.screenY):au=su=0,nr=e),su)},movementY:function(e){return"movementY"in e?e.movementY:au}}),Hh=jn(Il),Ck=_({},Il,{dataTransfer:0}),Ek=jn(Ck),Ak=_({},tr,{relatedTarget:0}),iu=jn(Ak),Dk=_({},li,{animationName:0,elapsedTime:0,pseudoElement:0}),Rk=jn(Dk),Mk=_({},li,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Ik=jn(Mk),Ok=_({},li,{data:0}),Ph=jn(Ok),Lk={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Bk={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"},$k={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function zk(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=$k[e])?!!n[e]:!1}function ou(){return zk}var Hk=_({},tr,{key:function(e){if(e.key){var n=Lk[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=Dl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Bk[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ou,charCode:function(e){return e.type==="keypress"?Dl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Dl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Pk=jn(Hk),Uk=_({},Il,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Uh=jn(Uk),Vk=_({},tr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ou}),Gk=jn(Vk),qk=_({},li,{propertyName:0,elapsedTime:0,pseudoElement:0}),Fk=jn(qk),Zk=_({},Il,{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}),Kk=jn(Zk),Yk=_({},li,{newState:0,oldState:0}),Jk=jn(Yk),Wk=[9,13,27,32],ru=Us&&"CompositionEvent"in window,sr=null;Us&&"documentMode"in document&&(sr=document.documentMode);var Xk=Us&&"TextEvent"in window&&!sr,Vh=Us&&(!ru||sr&&8<sr&&11>=sr),Gh=" ",qh=!1;function Fh(e,n){switch(e){case"keyup":return Wk.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Qi=!1;function Qk(e,n){switch(e){case"compositionend":return Zh(n);case"keypress":return n.which!==32?null:(qh=!0,Gh);case"textInput":return e=n.data,e===Gh&&qh?null:e;default:return null}}function eS(e,n){if(Qi)return e==="compositionend"||!ru&&Fh(e,n)?(e=$h(),Al=nu=_a=null,Qi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Vh&&n.locale!=="ko"?null:n.data;default:return null}}var tS={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 Kh(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!tS[e.type]:n==="textarea"}function Yh(e,n,i,l){Wi?Xi?Xi.push(l):Xi=[l]:Wi=l,n=Sc(n,"onChange"),0<n.length&&(i=new Ml("onChange","change",null,i,l),e.push({event:i,listeners:n}))}var ar=null,ir=null;function nS(e){D0(e,0)}function Ol(e){var n=Xo(e);if(Ah(n))return e}function Jh(e,n){if(e==="change")return n}var Wh=!1;if(Us){var lu;if(Us){var cu="oninput"in document;if(!cu){var Xh=document.createElement("div");Xh.setAttribute("oninput","return;"),cu=typeof Xh.oninput=="function"}lu=cu}else lu=!1;Wh=lu&&(!document.documentMode||9<document.documentMode)}function Qh(){ar&&(ar.detachEvent("onpropertychange",eg),ir=ar=null)}function eg(e){if(e.propertyName==="value"&&Ol(ir)){var n=[];Yh(n,ir,e,Qd(e)),Bh(nS,n)}}function sS(e,n,i){e==="focusin"?(Qh(),ar=n,ir=i,ar.attachEvent("onpropertychange",eg)):e==="focusout"&&Qh()}function aS(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Ol(ir)}function iS(e,n){if(e==="click")return Ol(n)}function oS(e,n){if(e==="input"||e==="change")return Ol(n)}function rS(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var An=typeof Object.is=="function"?Object.is:rS;function or(e,n){if(An(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var i=Object.keys(e),l=Object.keys(n);if(i.length!==l.length)return!1;for(l=0;l<i.length;l++){var f=i[l];if(!rn.call(n,f)||!An(e[f],n[f]))return!1}return!0}function tg(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ng(e,n){var i=tg(e);e=0;for(var l;i;){if(i.nodeType===3){if(l=e+i.textContent.length,e<=n&&l>=n)return{node:i,offset:n-e};e=l}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=tg(i)}}function sg(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?sg(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function ag(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var n=Cl(e.document);n instanceof e.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)e=n.contentWindow;else break;n=Cl(e.document)}return n}function du(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}var lS=Us&&"documentMode"in document&&11>=document.documentMode,eo=null,uu=null,rr=null,fu=!1;function ig(e,n,i){var l=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;fu||eo==null||eo!==Cl(l)||(l=eo,"selectionStart"in l&&du(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),rr&&or(rr,l)||(rr=l,l=Sc(uu,"onSelect"),0<l.length&&(n=new Ml("onSelect","select",null,n,i),e.push({event:n,listeners:l}),n.target=eo)))}function ci(e,n){var i={};return i[e.toLowerCase()]=n.toLowerCase(),i["Webkit"+e]="webkit"+n,i["Moz"+e]="moz"+n,i}var to={animationend:ci("Animation","AnimationEnd"),animationiteration:ci("Animation","AnimationIteration"),animationstart:ci("Animation","AnimationStart"),transitionrun:ci("Transition","TransitionRun"),transitionstart:ci("Transition","TransitionStart"),transitioncancel:ci("Transition","TransitionCancel"),transitionend:ci("Transition","TransitionEnd")},pu={},og={};Us&&(og=document.createElement("div").style,"AnimationEvent"in window||(delete to.animationend.animation,delete to.animationiteration.animation,delete to.animationstart.animation),"TransitionEvent"in window||delete to.transitionend.transition);function di(e){if(pu[e])return pu[e];if(!to[e])return e;var n=to[e],i;for(i in n)if(n.hasOwnProperty(i)&&i in og)return pu[e]=n[i];return e}var rg=di("animationend"),lg=di("animationiteration"),cg=di("animationstart"),cS=di("transitionrun"),dS=di("transitionstart"),uS=di("transitioncancel"),dg=di("transitionend"),ug=new Map,mu="abort auxClick beforeToggle 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(" ");mu.push("scrollEnd");function fs(e,n){ug.set(e,n),ri(n,[e])}var Ll=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Zn=[],no=0,hu=0;function Bl(){for(var e=no,n=hu=no=0;n<e;){var i=Zn[n];Zn[n++]=null;var l=Zn[n];Zn[n++]=null;var f=Zn[n];Zn[n++]=null;var h=Zn[n];if(Zn[n++]=null,l!==null&&f!==null){var S=l.pending;S===null?f.next=f:(f.next=S.next,S.next=f),l.pending=f}h!==0&&fg(i,f,h)}}function $l(e,n,i,l){Zn[no++]=e,Zn[no++]=n,Zn[no++]=i,Zn[no++]=l,hu|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function gu(e,n,i,l){return $l(e,n,i,l),zl(e)}function ui(e,n){return $l(e,null,null,n),zl(e)}function fg(e,n,i){e.lanes|=i;var l=e.alternate;l!==null&&(l.lanes|=i);for(var f=!1,h=e.return;h!==null;)h.childLanes|=i,l=h.alternate,l!==null&&(l.childLanes|=i),h.tag===22&&(e=h.stateNode,e===null||e._visibility&1||(f=!0)),e=h,h=h.return;return e.tag===3?(h=e.stateNode,f&&n!==null&&(f=31-nn(i),e=h.hiddenUpdates,l=e[f],l===null?e[f]=[n]:l.push(n),n.lane=i|536870912),h):null}function zl(e){if(50<Er)throw Er=0,wf=null,Error(r(185));for(var n=e.return;n!==null;)e=n,n=e.return;return e.tag===3?e.stateNode:null}var so={};function fS(e,n,i,l){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dn(e,n,i,l){return new fS(e,n,i,l)}function vu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Vs(e,n){var i=e.alternate;return i===null?(i=Dn(e.tag,n,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=n,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&65011712,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,n=e.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i.refCleanup=e.refCleanup,i}function pg(e,n){e.flags&=65011714;var i=e.alternate;return i===null?(e.childLanes=0,e.lanes=n,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=i.childLanes,e.lanes=i.lanes,e.child=i.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=i.memoizedProps,e.memoizedState=i.memoizedState,e.updateQueue=i.updateQueue,e.type=i.type,n=i.dependencies,e.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),e}function Hl(e,n,i,l,f,h){var S=0;if(l=e,typeof e=="function")vu(e)&&(S=1);else if(typeof e=="string")S=v2(e,i,Se.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case H:return e=Dn(31,i,n,f),e.elementType=H,e.lanes=h,e;case j:return fi(i.children,f,h,n);case w:S=8,f|=24;break;case T:return e=Dn(12,i,n,f|2),e.elementType=T,e.lanes=h,e;case E:return e=Dn(13,i,n,f),e.elementType=E,e.lanes=h,e;case O:return e=Dn(19,i,n,f),e.elementType=O,e.lanes=h,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case A:S=10;break e;case C:S=9;break e;case L:S=11;break e;case z:S=14;break e;case D:S=16,l=null;break e}S=29,i=Error(r(130,e===null?"null":typeof e,"")),l=null}return n=Dn(S,i,n,f),n.elementType=e,n.type=l,n.lanes=h,n}function fi(e,n,i,l){return e=Dn(7,e,l,n),e.lanes=i,e}function yu(e,n,i){return e=Dn(6,e,null,n),e.lanes=i,e}function mg(e){var n=Dn(18,null,null,0);return n.stateNode=e,n}function bu(e,n,i){return n=Dn(4,e.children!==null?e.children:[],e.key,n),n.lanes=i,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}var hg=new WeakMap;function Kn(e,n){if(typeof e=="object"&&e!==null){var i=hg.get(e);return i!==void 0?i:(n={value:e,source:n,stack:Me(n)},hg.set(e,n),n)}return{value:e,source:n,stack:Me(n)}}var ao=[],io=0,Pl=null,lr=0,Yn=[],Jn=0,xa=null,Ns=1,Cs="";function Gs(e,n){ao[io++]=lr,ao[io++]=Pl,Pl=e,lr=n}function gg(e,n,i){Yn[Jn++]=Ns,Yn[Jn++]=Cs,Yn[Jn++]=xa,xa=e;var l=Ns;e=Cs;var f=32-nn(l)-1;l&=~(1<<f),i+=1;var h=32-nn(n)+f;if(30<h){var S=f-f%5;h=(l&(1<<S)-1).toString(32),l>>=S,f-=S,Ns=1<<32-nn(n)+f|i<<f|l,Cs=h+e}else Ns=1<<h|i<<f|l,Cs=e}function _u(e){e.return!==null&&(Gs(e,1),gg(e,1,0))}function xu(e){for(;e===Pl;)Pl=ao[--io],ao[io]=null,lr=ao[--io],ao[io]=null;for(;e===xa;)xa=Yn[--Jn],Yn[Jn]=null,Cs=Yn[--Jn],Yn[Jn]=null,Ns=Yn[--Jn],Yn[Jn]=null}function vg(e,n){Yn[Jn++]=Ns,Yn[Jn++]=Cs,Yn[Jn++]=xa,Ns=n.id,Cs=n.overflow,xa=e}var ln=null,St=null,Je=!1,ka=null,Wn=!1,ku=Error(r(519));function Sa(e){var n=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Kn(n,e)),ku}function yg(e){var n=e.stateNode,i=e.type,l=e.memoizedProps;switch(n[et]=e,n[pt]=l,i){case"dialog":Fe("cancel",n),Fe("close",n);break;case"iframe":case"object":case"embed":Fe("load",n);break;case"video":case"audio":for(i=0;i<Dr.length;i++)Fe(Dr[i],n);break;case"source":Fe("error",n);break;case"img":case"image":case"link":Fe("error",n),Fe("load",n);break;case"details":Fe("toggle",n);break;case"input":Fe("invalid",n),Dh(n,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":Fe("invalid",n);break;case"textarea":Fe("invalid",n),Mh(n,l.value,l.defaultValue,l.children)}i=l.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||n.textContent===""+i||l.suppressHydrationWarning===!0||O0(n.textContent,i)?(l.popover!=null&&(Fe("beforetoggle",n),Fe("toggle",n)),l.onScroll!=null&&Fe("scroll",n),l.onScrollEnd!=null&&Fe("scrollend",n),l.onClick!=null&&(n.onclick=Ps),n=!0):n=!1,n||Sa(e,!0)}function bg(e){for(ln=e.return;ln;)switch(ln.tag){case 5:case 31:case 13:Wn=!1;return;case 27:case 3:Wn=!0;return;default:ln=ln.return}}function oo(e){if(e!==ln)return!1;if(!Je)return bg(e),Je=!0,!1;var n=e.tag,i;if((i=n!==3&&n!==27)&&((i=n===5)&&(i=e.type,i=!(i!=="form"&&i!=="button")||Pf(e.type,e.memoizedProps)),i=!i),i&&St&&Sa(e),bg(e),n===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));St=G0(e)}else if(n===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));St=G0(e)}else n===27?(n=St,Ba(e.type)?(e=Ff,Ff=null,St=e):St=n):St=ln?Qn(e.stateNode.nextSibling):null;return!0}function pi(){St=ln=null,Je=!1}function Su(){var e=ka;return e!==null&&(Cn===null?Cn=e:Cn.push.apply(Cn,e),ka=null),e}function cr(e){ka===null?ka=[e]:ka.push(e)}var ju=pe(null),mi=null,qs=null;function ja(e,n,i){xe(ju,n._currentValue),n._currentValue=i}function Fs(e){e._currentValue=ju.current,de(ju)}function Tu(e,n,i){for(;e!==null;){var l=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,l!==null&&(l.childLanes|=n)):l!==null&&(l.childLanes&n)!==n&&(l.childLanes|=n),e===i)break;e=e.return}}function wu(e,n,i,l){var f=e.child;for(f!==null&&(f.return=e);f!==null;){var h=f.dependencies;if(h!==null){var S=f.child;h=h.firstContext;e:for(;h!==null;){var N=h;h=f;for(var M=0;M<n.length;M++)if(N.context===n[M]){h.lanes|=i,N=h.alternate,N!==null&&(N.lanes|=i),Tu(h.return,i,e),l||(S=null);break e}h=N.next}}else if(f.tag===18){if(S=f.return,S===null)throw Error(r(341));S.lanes|=i,h=S.alternate,h!==null&&(h.lanes|=i),Tu(S,i,e),S=null}else S=f.child;if(S!==null)S.return=f;else for(S=f;S!==null;){if(S===e){S=null;break}if(f=S.sibling,f!==null){f.return=S.return,S=f;break}S=S.return}f=S}}function ro(e,n,i,l){e=null;for(var f=n,h=!1;f!==null;){if(!h){if((f.flags&524288)!==0)h=!0;else if((f.flags&262144)!==0)break}if(f.tag===10){var S=f.alternate;if(S===null)throw Error(r(387));if(S=S.memoizedProps,S!==null){var N=f.type;An(f.pendingProps.value,S.value)||(e!==null?e.push(N):e=[N])}}else if(f===_e.current){if(S=f.alternate,S===null)throw Error(r(387));S.memoizedState.memoizedState!==f.memoizedState.memoizedState&&(e!==null?e.push(Lr):e=[Lr])}f=f.return}e!==null&&wu(n,e,i,l),n.flags|=262144}function Ul(e){for(e=e.firstContext;e!==null;){if(!An(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function hi(e){mi=e,qs=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function cn(e){return _g(mi,e)}function Vl(e,n){return mi===null&&hi(e),_g(e,n)}function _g(e,n){var i=n._currentValue;if(n={context:n,memoizedValue:i,next:null},qs===null){if(e===null)throw Error(r(308));qs=n,e.dependencies={lanes:0,firstContext:n},e.flags|=524288}else qs=qs.next=n;return i}var pS=typeof AbortController<"u"?AbortController:function(){var e=[],n=this.signal={aborted:!1,addEventListener:function(i,l){e.push(l)}};this.abort=function(){n.aborted=!0,e.forEach(function(i){return i()})}},mS=t.unstable_scheduleCallback,hS=t.unstable_NormalPriority,qt={$$typeof:A,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Nu(){return{controller:new pS,data:new Map,refCount:0}}function dr(e){e.refCount--,e.refCount===0&&mS(hS,function(){e.controller.abort()})}var ur=null,Cu=0,lo=0,co=null;function gS(e,n){if(ur===null){var i=ur=[];Cu=0,lo=Rf(),co={status:"pending",value:void 0,then:function(l){i.push(l)}}}return Cu++,n.then(xg,xg),n}function xg(){if(--Cu===0&&ur!==null){co!==null&&(co.status="fulfilled");var e=ur;ur=null,lo=0,co=null;for(var n=0;n<e.length;n++)(0,e[n])()}}function vS(e,n){var i=[],l={status:"pending",value:null,reason:null,then:function(f){i.push(f)}};return e.then(function(){l.status="fulfilled",l.value=n;for(var f=0;f<i.length;f++)(0,i[f])(n)},function(f){for(l.status="rejected",l.reason=f,f=0;f<i.length;f++)(0,i[f])(void 0)}),l}var kg=B.S;B.S=function(e,n){i0=en(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&gS(e,n),kg!==null&&kg(e,n)};var gi=pe(null);function Eu(){var e=gi.current;return e!==null?e:xt.pooledCache}function Gl(e,n){n===null?xe(gi,gi.current):xe(gi,n.pool)}function Sg(){var e=Eu();return e===null?null:{parent:qt._currentValue,pool:e}}var uo=Error(r(460)),Au=Error(r(474)),ql=Error(r(542)),Fl={then:function(){}};function jg(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Tg(e,n,i){switch(i=e[i],i===void 0?e.push(n):i!==n&&(n.then(Ps,Ps),n=i),n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,Ng(e),e;default:if(typeof n.status=="string")n.then(Ps,Ps);else{if(e=xt,e!==null&&100<e.shellSuspendCounter)throw Error(r(482));e=n,e.status="pending",e.then(function(l){if(n.status==="pending"){var f=n;f.status="fulfilled",f.value=l}},function(l){if(n.status==="pending"){var f=n;f.status="rejected",f.reason=l}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,Ng(e),e}throw yi=n,uo}}function vi(e){try{var n=e._init;return n(e._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(yi=i,uo):i}}var yi=null;function wg(){if(yi===null)throw Error(r(459));var e=yi;return yi=null,e}function Ng(e){if(e===uo||e===ql)throw Error(r(483))}var fo=null,fr=0;function Zl(e){var n=fr;return fr+=1,fo===null&&(fo=[]),Tg(fo,e,n)}function pr(e,n){n=n.props.ref,e.ref=n!==void 0?n:null}function Kl(e,n){throw n.$$typeof===b?Error(r(525)):(e=Object.prototype.toString.call(n),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e)))}function Cg(e){function n(V,$){if(e){var q=V.deletions;q===null?(V.deletions=[$],V.flags|=16):q.push($)}}function i(V,$){if(!e)return null;for(;$!==null;)n(V,$),$=$.sibling;return null}function l(V){for(var $=new Map;V!==null;)V.key!==null?$.set(V.key,V):$.set(V.index,V),V=V.sibling;return $}function f(V,$){return V=Vs(V,$),V.index=0,V.sibling=null,V}function h(V,$,q){return V.index=q,e?(q=V.alternate,q!==null?(q=q.index,q<$?(V.flags|=67108866,$):q):(V.flags|=67108866,$)):(V.flags|=1048576,$)}function S(V){return e&&V.alternate===null&&(V.flags|=67108866),V}function N(V,$,q,ne){return $===null||$.tag!==6?($=yu(q,V.mode,ne),$.return=V,$):($=f($,q),$.return=V,$)}function M(V,$,q,ne){var Ce=q.type;return Ce===j?Q(V,$,q.props.children,ne,q.key):$!==null&&($.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===D&&vi(Ce)===$.type)?($=f($,q.props),pr($,q),$.return=V,$):($=Hl(q.type,q.key,q.props,null,V.mode,ne),pr($,q),$.return=V,$)}function F(V,$,q,ne){return $===null||$.tag!==4||$.stateNode.containerInfo!==q.containerInfo||$.stateNode.implementation!==q.implementation?($=bu(q,V.mode,ne),$.return=V,$):($=f($,q.children||[]),$.return=V,$)}function Q(V,$,q,ne,Ce){return $===null||$.tag!==7?($=fi(q,V.mode,ne,Ce),$.return=V,$):($=f($,q),$.return=V,$)}function ae(V,$,q){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return $=yu(""+$,V.mode,q),$.return=V,$;if(typeof $=="object"&&$!==null){switch($.$$typeof){case x:return q=Hl($.type,$.key,$.props,null,V.mode,q),pr(q,$),q.return=V,q;case k:return $=bu($,V.mode,q),$.return=V,$;case D:return $=vi($),ae(V,$,q)}if(le($)||X($))return $=fi($,V.mode,q,null),$.return=V,$;if(typeof $.then=="function")return ae(V,Zl($),q);if($.$$typeof===A)return ae(V,Vl(V,$),q);Kl(V,$)}return null}function Z(V,$,q,ne){var Ce=$!==null?$.key:null;if(typeof q=="string"&&q!==""||typeof q=="number"||typeof q=="bigint")return Ce!==null?null:N(V,$,""+q,ne);if(typeof q=="object"&&q!==null){switch(q.$$typeof){case x:return q.key===Ce?M(V,$,q,ne):null;case k:return q.key===Ce?F(V,$,q,ne):null;case D:return q=vi(q),Z(V,$,q,ne)}if(le(q)||X(q))return Ce!==null?null:Q(V,$,q,ne,null);if(typeof q.then=="function")return Z(V,$,Zl(q),ne);if(q.$$typeof===A)return Z(V,$,Vl(V,q),ne);Kl(V,q)}return null}function K(V,$,q,ne,Ce){if(typeof ne=="string"&&ne!==""||typeof ne=="number"||typeof ne=="bigint")return V=V.get(q)||null,N($,V,""+ne,Ce);if(typeof ne=="object"&&ne!==null){switch(ne.$$typeof){case x:return V=V.get(ne.key===null?q:ne.key)||null,M($,V,ne,Ce);case k:return V=V.get(ne.key===null?q:ne.key)||null,F($,V,ne,Ce);case D:return ne=vi(ne),K(V,$,q,ne,Ce)}if(le(ne)||X(ne))return V=V.get(q)||null,Q($,V,ne,Ce,null);if(typeof ne.then=="function")return K(V,$,q,Zl(ne),Ce);if(ne.$$typeof===A)return K(V,$,q,Vl($,ne),Ce);Kl($,ne)}return null}function ke(V,$,q,ne){for(var Ce=null,tt=null,je=$,ze=$=0,Ye=null;je!==null&&ze<q.length;ze++){je.index>ze?(Ye=je,je=null):Ye=je.sibling;var nt=Z(V,je,q[ze],ne);if(nt===null){je===null&&(je=Ye);break}e&&je&&nt.alternate===null&&n(V,je),$=h(nt,$,ze),tt===null?Ce=nt:tt.sibling=nt,tt=nt,je=Ye}if(ze===q.length)return i(V,je),Je&&Gs(V,ze),Ce;if(je===null){for(;ze<q.length;ze++)je=ae(V,q[ze],ne),je!==null&&($=h(je,$,ze),tt===null?Ce=je:tt.sibling=je,tt=je);return Je&&Gs(V,ze),Ce}for(je=l(je);ze<q.length;ze++)Ye=K(je,V,ze,q[ze],ne),Ye!==null&&(e&&Ye.alternate!==null&&je.delete(Ye.key===null?ze:Ye.key),$=h(Ye,$,ze),tt===null?Ce=Ye:tt.sibling=Ye,tt=Ye);return e&&je.forEach(function(Ua){return n(V,Ua)}),Je&&Gs(V,ze),Ce}function Ae(V,$,q,ne){if(q==null)throw Error(r(151));for(var Ce=null,tt=null,je=$,ze=$=0,Ye=null,nt=q.next();je!==null&&!nt.done;ze++,nt=q.next()){je.index>ze?(Ye=je,je=null):Ye=je.sibling;var Ua=Z(V,je,nt.value,ne);if(Ua===null){je===null&&(je=Ye);break}e&&je&&Ua.alternate===null&&n(V,je),$=h(Ua,$,ze),tt===null?Ce=Ua:tt.sibling=Ua,tt=Ua,je=Ye}if(nt.done)return i(V,je),Je&&Gs(V,ze),Ce;if(je===null){for(;!nt.done;ze++,nt=q.next())nt=ae(V,nt.value,ne),nt!==null&&($=h(nt,$,ze),tt===null?Ce=nt:tt.sibling=nt,tt=nt);return Je&&Gs(V,ze),Ce}for(je=l(je);!nt.done;ze++,nt=q.next())nt=K(je,V,ze,nt.value,ne),nt!==null&&(e&&nt.alternate!==null&&je.delete(nt.key===null?ze:nt.key),$=h(nt,$,ze),tt===null?Ce=nt:tt.sibling=nt,tt=nt);return e&&je.forEach(function(C2){return n(V,C2)}),Je&&Gs(V,ze),Ce}function bt(V,$,q,ne){if(typeof q=="object"&&q!==null&&q.type===j&&q.key===null&&(q=q.props.children),typeof q=="object"&&q!==null){switch(q.$$typeof){case x:e:{for(var Ce=q.key;$!==null;){if($.key===Ce){if(Ce=q.type,Ce===j){if($.tag===7){i(V,$.sibling),ne=f($,q.props.children),ne.return=V,V=ne;break e}}else if($.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===D&&vi(Ce)===$.type){i(V,$.sibling),ne=f($,q.props),pr(ne,q),ne.return=V,V=ne;break e}i(V,$);break}else n(V,$);$=$.sibling}q.type===j?(ne=fi(q.props.children,V.mode,ne,q.key),ne.return=V,V=ne):(ne=Hl(q.type,q.key,q.props,null,V.mode,ne),pr(ne,q),ne.return=V,V=ne)}return S(V);case k:e:{for(Ce=q.key;$!==null;){if($.key===Ce)if($.tag===4&&$.stateNode.containerInfo===q.containerInfo&&$.stateNode.implementation===q.implementation){i(V,$.sibling),ne=f($,q.children||[]),ne.return=V,V=ne;break e}else{i(V,$);break}else n(V,$);$=$.sibling}ne=bu(q,V.mode,ne),ne.return=V,V=ne}return S(V);case D:return q=vi(q),bt(V,$,q,ne)}if(le(q))return ke(V,$,q,ne);if(X(q)){if(Ce=X(q),typeof Ce!="function")throw Error(r(150));return q=Ce.call(q),Ae(V,$,q,ne)}if(typeof q.then=="function")return bt(V,$,Zl(q),ne);if(q.$$typeof===A)return bt(V,$,Vl(V,q),ne);Kl(V,q)}return typeof q=="string"&&q!==""||typeof q=="number"||typeof q=="bigint"?(q=""+q,$!==null&&$.tag===6?(i(V,$.sibling),ne=f($,q),ne.return=V,V=ne):(i(V,$),ne=yu(q,V.mode,ne),ne.return=V,V=ne),S(V)):i(V,$)}return function(V,$,q,ne){try{fr=0;var Ce=bt(V,$,q,ne);return fo=null,Ce}catch(je){if(je===uo||je===ql)throw je;var tt=Dn(29,je,null,V.mode);return tt.lanes=ne,tt.return=V,tt}finally{}}}var bi=Cg(!0),Eg=Cg(!1),Ta=!1;function Du(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ru(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function wa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Na(e,n,i){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(rt&2)!==0){var f=l.pending;return f===null?n.next=n:(n.next=f.next,f.next=n),l.pending=n,n=zl(e),fg(e,null,i),n}return $l(e,l,n,i),zl(e)}function mr(e,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194048)!==0)){var l=n.lanes;l&=e.pendingLanes,i|=l,n.lanes=i,ye(e,i)}}function Mu(e,n){var i=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,i===l)){var f=null,h=null;if(i=i.firstBaseUpdate,i!==null){do{var S={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};h===null?f=h=S:h=h.next=S,i=i.next}while(i!==null);h===null?f=h=n:h=h.next=n}else f=h=n;i={baseState:l.baseState,firstBaseUpdate:f,lastBaseUpdate:h,shared:l.shared,callbacks:l.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=n:e.next=n,i.lastBaseUpdate=n}var Iu=!1;function hr(){if(Iu){var e=co;if(e!==null)throw e}}function gr(e,n,i,l){Iu=!1;var f=e.updateQueue;Ta=!1;var h=f.firstBaseUpdate,S=f.lastBaseUpdate,N=f.shared.pending;if(N!==null){f.shared.pending=null;var M=N,F=M.next;M.next=null,S===null?h=F:S.next=F,S=M;var Q=e.alternate;Q!==null&&(Q=Q.updateQueue,N=Q.lastBaseUpdate,N!==S&&(N===null?Q.firstBaseUpdate=F:N.next=F,Q.lastBaseUpdate=M))}if(h!==null){var ae=f.baseState;S=0,Q=F=M=null,N=h;do{var Z=N.lane&-536870913,K=Z!==N.lane;if(K?(Ke&Z)===Z:(l&Z)===Z){Z!==0&&Z===lo&&(Iu=!0),Q!==null&&(Q=Q.next={lane:0,tag:N.tag,payload:N.payload,callback:null,next:null});e:{var ke=e,Ae=N;Z=n;var bt=i;switch(Ae.tag){case 1:if(ke=Ae.payload,typeof ke=="function"){ae=ke.call(bt,ae,Z);break e}ae=ke;break e;case 3:ke.flags=ke.flags&-65537|128;case 0:if(ke=Ae.payload,Z=typeof ke=="function"?ke.call(bt,ae,Z):ke,Z==null)break e;ae=_({},ae,Z);break e;case 2:Ta=!0}}Z=N.callback,Z!==null&&(e.flags|=64,K&&(e.flags|=8192),K=f.callbacks,K===null?f.callbacks=[Z]:K.push(Z))}else K={lane:Z,tag:N.tag,payload:N.payload,callback:N.callback,next:null},Q===null?(F=Q=K,M=ae):Q=Q.next=K,S|=Z;if(N=N.next,N===null){if(N=f.shared.pending,N===null)break;K=N,N=K.next,K.next=null,f.lastBaseUpdate=K,f.shared.pending=null}}while(!0);Q===null&&(M=ae),f.baseState=M,f.firstBaseUpdate=F,f.lastBaseUpdate=Q,h===null&&(f.shared.lanes=0),Ra|=S,e.lanes=S,e.memoizedState=ae}}function Ag(e,n){if(typeof e!="function")throw Error(r(191,e));e.call(n)}function Dg(e,n){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;e<i.length;e++)Ag(i[e],n)}var po=pe(null),Yl=pe(0);function Rg(e,n){e=ta,xe(Yl,e),xe(po,n),ta=e|n.baseLanes}function Ou(){xe(Yl,ta),xe(po,po.current)}function Lu(){ta=Yl.current,de(po),de(Yl)}var Rn=pe(null),Xn=null;function Ca(e){var n=e.alternate;xe(zt,zt.current&1),xe(Rn,e),Xn===null&&(n===null||po.current!==null||n.memoizedState!==null)&&(Xn=e)}function Bu(e){xe(zt,zt.current),xe(Rn,e),Xn===null&&(Xn=e)}function Mg(e){e.tag===22?(xe(zt,zt.current),xe(Rn,e),Xn===null&&(Xn=e)):Ea()}function Ea(){xe(zt,zt.current),xe(Rn,Rn.current)}function Mn(e){de(Rn),Xn===e&&(Xn=null),de(zt)}var zt=pe(0);function Jl(e){for(var n=e;n!==null;){if(n.tag===13){var i=n.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||Gf(i)||qf(i)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Zs=0,Be=null,vt=null,Ft=null,Wl=!1,mo=!1,_i=!1,Xl=0,vr=0,ho=null,yS=0;function Lt(){throw Error(r(321))}function $u(e,n){if(n===null)return!1;for(var i=0;i<n.length&&i<e.length;i++)if(!An(e[i],n[i]))return!1;return!0}function zu(e,n,i,l,f,h){return Zs=h,Be=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,B.H=e===null||e.memoizedState===null?gv:ef,_i=!1,h=i(l,f),_i=!1,mo&&(h=Og(n,i,l,f)),Ig(e),h}function Ig(e){B.H=_r;var n=vt!==null&&vt.next!==null;if(Zs=0,Ft=vt=Be=null,Wl=!1,vr=0,ho=null,n)throw Error(r(300));e===null||Zt||(e=e.dependencies,e!==null&&Ul(e)&&(Zt=!0))}function Og(e,n,i,l){Be=e;var f=0;do{if(mo&&(ho=null),vr=0,mo=!1,25<=f)throw Error(r(301));if(f+=1,Ft=vt=null,e.updateQueue!=null){var h=e.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}B.H=vv,h=n(i,l)}while(mo);return h}function bS(){var e=B.H,n=e.useState()[0];return n=typeof n.then=="function"?yr(n):n,e=e.useState()[0],(vt!==null?vt.memoizedState:null)!==e&&(Be.flags|=1024),n}function Hu(){var e=Xl!==0;return Xl=0,e}function Pu(e,n,i){n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~i}function Uu(e){if(Wl){for(e=e.memoizedState;e!==null;){var n=e.queue;n!==null&&(n.pending=null),e=e.next}Wl=!1}Zs=0,Ft=vt=Be=null,mo=!1,vr=Xl=0,ho=null}function bn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ft===null?Be.memoizedState=Ft=e:Ft=Ft.next=e,Ft}function Ht(){if(vt===null){var e=Be.alternate;e=e!==null?e.memoizedState:null}else e=vt.next;var n=Ft===null?Be.memoizedState:Ft.next;if(n!==null)Ft=n,vt=e;else{if(e===null)throw Be.alternate===null?Error(r(467)):Error(r(310));vt=e,e={memoizedState:vt.memoizedState,baseState:vt.baseState,baseQueue:vt.baseQueue,queue:vt.queue,next:null},Ft===null?Be.memoizedState=Ft=e:Ft=Ft.next=e}return Ft}function Ql(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function yr(e){var n=vr;return vr+=1,ho===null&&(ho=[]),e=Tg(ho,e,n),n=Be,(Ft===null?n.memoizedState:Ft.next)===null&&(n=n.alternate,B.H=n===null||n.memoizedState===null?gv:ef),e}function ec(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return yr(e);if(e.$$typeof===A)return cn(e)}throw Error(r(438,String(e)))}function Vu(e){var n=null,i=Be.updateQueue;if(i!==null&&(n=i.memoCache),n==null){var l=Be.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(n={data:l.data.map(function(f){return f.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),i===null&&(i=Ql(),Be.updateQueue=i),i.memoCache=n,i=n.data[n.index],i===void 0)for(i=n.data[n.index]=Array(e),l=0;l<e;l++)i[l]=Y;return n.index++,i}function Ks(e,n){return typeof n=="function"?n(e):n}function tc(e){var n=Ht();return Gu(n,vt,e)}function Gu(e,n,i){var l=e.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=i;var f=e.baseQueue,h=l.pending;if(h!==null){if(f!==null){var S=f.next;f.next=h.next,h.next=S}n.baseQueue=f=h,l.pending=null}if(h=e.baseState,f===null)e.memoizedState=h;else{n=f.next;var N=S=null,M=null,F=n,Q=!1;do{var ae=F.lane&-536870913;if(ae!==F.lane?(Ke&ae)===ae:(Zs&ae)===ae){var Z=F.revertLane;if(Z===0)M!==null&&(M=M.next={lane:0,revertLane:0,gesture:null,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null}),ae===lo&&(Q=!0);else if((Zs&Z)===Z){F=F.next,Z===lo&&(Q=!0);continue}else ae={lane:0,revertLane:F.revertLane,gesture:null,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null},M===null?(N=M=ae,S=h):M=M.next=ae,Be.lanes|=Z,Ra|=Z;ae=F.action,_i&&i(h,ae),h=F.hasEagerState?F.eagerState:i(h,ae)}else Z={lane:ae,revertLane:F.revertLane,gesture:F.gesture,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null},M===null?(N=M=Z,S=h):M=M.next=Z,Be.lanes|=ae,Ra|=ae;F=F.next}while(F!==null&&F!==n);if(M===null?S=h:M.next=N,!An(h,e.memoizedState)&&(Zt=!0,Q&&(i=co,i!==null)))throw i;e.memoizedState=h,e.baseState=S,e.baseQueue=M,l.lastRenderedState=h}return f===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function qu(e){var n=Ht(),i=n.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=e;var l=i.dispatch,f=i.pending,h=n.memoizedState;if(f!==null){i.pending=null;var S=f=f.next;do h=e(h,S.action),S=S.next;while(S!==f);An(h,n.memoizedState)||(Zt=!0),n.memoizedState=h,n.baseQueue===null&&(n.baseState=h),i.lastRenderedState=h}return[h,l]}function Lg(e,n,i){var l=Be,f=Ht(),h=Je;if(h){if(i===void 0)throw Error(r(407));i=i()}else i=n();var S=!An((vt||f).memoizedState,i);if(S&&(f.memoizedState=i,Zt=!0),f=f.queue,Ku(zg.bind(null,l,f,e),[e]),f.getSnapshot!==n||S||Ft!==null&&Ft.memoizedState.tag&1){if(l.flags|=2048,go(9,{destroy:void 0},$g.bind(null,l,f,i,n),null),xt===null)throw Error(r(349));h||(Zs&127)!==0||Bg(l,n,i)}return i}function Bg(e,n,i){e.flags|=16384,e={getSnapshot:n,value:i},n=Be.updateQueue,n===null?(n=Ql(),Be.updateQueue=n,n.stores=[e]):(i=n.stores,i===null?n.stores=[e]:i.push(e))}function $g(e,n,i,l){n.value=i,n.getSnapshot=l,Hg(n)&&Pg(e)}function zg(e,n,i){return i(function(){Hg(n)&&Pg(e)})}function Hg(e){var n=e.getSnapshot;e=e.value;try{var i=n();return!An(e,i)}catch{return!0}}function Pg(e){var n=ui(e,2);n!==null&&En(n,e,2)}function Fu(e){var n=bn();if(typeof e=="function"){var i=e;if(e=i(),_i){yn(!0);try{i()}finally{yn(!1)}}}return n.memoizedState=n.baseState=e,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ks,lastRenderedState:e},n}function Ug(e,n,i,l){return e.baseState=i,Gu(e,vt,typeof l=="function"?l:Ks)}function _S(e,n,i,l,f){if(ac(e))throw Error(r(485));if(e=n.action,e!==null){var h={payload:f,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(S){h.listeners.push(S)}};B.T!==null?i(!0):h.isTransition=!1,l(h),i=n.pending,i===null?(h.next=n.pending=h,Vg(n,h)):(h.next=i.next,n.pending=i.next=h)}}function Vg(e,n){var i=n.action,l=n.payload,f=e.state;if(n.isTransition){var h=B.T,S={};B.T=S;try{var N=i(f,l),M=B.S;M!==null&&M(S,N),Gg(e,n,N)}catch(F){Zu(e,n,F)}finally{h!==null&&S.types!==null&&(h.types=S.types),B.T=h}}else try{h=i(f,l),Gg(e,n,h)}catch(F){Zu(e,n,F)}}function Gg(e,n,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(l){qg(e,n,l)},function(l){return Zu(e,n,l)}):qg(e,n,i)}function qg(e,n,i){n.status="fulfilled",n.value=i,Fg(n),e.state=i,n=e.pending,n!==null&&(i=n.next,i===n?e.pending=null:(i=i.next,n.next=i,Vg(e,i)))}function Zu(e,n,i){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do n.status="rejected",n.reason=i,Fg(n),n=n.next;while(n!==l)}e.action=null}function Fg(e){e=e.listeners;for(var n=0;n<e.length;n++)(0,e[n])()}function Zg(e,n){return n}function Kg(e,n){if(Je){var i=xt.formState;if(i!==null){e:{var l=Be;if(Je){if(St){t:{for(var f=St,h=Wn;f.nodeType!==8;){if(!h){f=null;break t}if(f=Qn(f.nextSibling),f===null){f=null;break t}}h=f.data,f=h==="F!"||h==="F"?f:null}if(f){St=Qn(f.nextSibling),l=f.data==="F!";break e}}Sa(l)}l=!1}l&&(n=i[0])}}return i=bn(),i.memoizedState=i.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Zg,lastRenderedState:n},i.queue=l,i=pv.bind(null,Be,l),l.dispatch=i,l=Fu(!1),h=Qu.bind(null,Be,!1,l.queue),l=bn(),f={state:n,dispatch:null,action:e,pending:null},l.queue=f,i=_S.bind(null,Be,f,h,i),f.dispatch=i,l.memoizedState=e,[n,i,!1]}function Yg(e){var n=Ht();return Jg(n,vt,e)}function Jg(e,n,i){if(n=Gu(e,n,Zg)[0],e=tc(Ks)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var l=yr(n)}catch(S){throw S===uo?ql:S}else l=n;n=Ht();var f=n.queue,h=f.dispatch;return i!==n.memoizedState&&(Be.flags|=2048,go(9,{destroy:void 0},xS.bind(null,f,i),null)),[l,h,e]}function xS(e,n){e.action=n}function Wg(e){var n=Ht(),i=vt;if(i!==null)return Jg(n,i,e);Ht(),n=n.memoizedState,i=Ht();var l=i.queue.dispatch;return i.memoizedState=e,[n,l,!1]}function go(e,n,i,l){return e={tag:e,create:i,deps:l,inst:n,next:null},n=Be.updateQueue,n===null&&(n=Ql(),Be.updateQueue=n),i=n.lastEffect,i===null?n.lastEffect=e.next=e:(l=i.next,i.next=e,e.next=l,n.lastEffect=e),e}function Xg(){return Ht().memoizedState}function nc(e,n,i,l){var f=bn();Be.flags|=e,f.memoizedState=go(1|n,{destroy:void 0},i,l===void 0?null:l)}function sc(e,n,i,l){var f=Ht();l=l===void 0?null:l;var h=f.memoizedState.inst;vt!==null&&l!==null&&$u(l,vt.memoizedState.deps)?f.memoizedState=go(n,h,i,l):(Be.flags|=e,f.memoizedState=go(1|n,h,i,l))}function Qg(e,n){nc(8390656,8,e,n)}function Ku(e,n){sc(2048,8,e,n)}function kS(e){Be.flags|=4;var n=Be.updateQueue;if(n===null)n=Ql(),Be.updateQueue=n,n.events=[e];else{var i=n.events;i===null?n.events=[e]:i.push(e)}}function ev(e){var n=Ht().memoizedState;return kS({ref:n,nextImpl:e}),function(){if((rt&2)!==0)throw Error(r(440));return n.impl.apply(void 0,arguments)}}function tv(e,n){return sc(4,2,e,n)}function nv(e,n){return sc(4,4,e,n)}function sv(e,n){if(typeof n=="function"){e=e();var i=n(e);return function(){typeof i=="function"?i():n(null)}}if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function av(e,n,i){i=i!=null?i.concat([e]):null,sc(4,4,sv.bind(null,n,e),i)}function Yu(){}function iv(e,n){var i=Ht();n=n===void 0?null:n;var l=i.memoizedState;return n!==null&&$u(n,l[1])?l[0]:(i.memoizedState=[e,n],e)}function ov(e,n){var i=Ht();n=n===void 0?null:n;var l=i.memoizedState;if(n!==null&&$u(n,l[1]))return l[0];if(l=e(),_i){yn(!0);try{e()}finally{yn(!1)}}return i.memoizedState=[l,n],l}function Ju(e,n,i){return i===void 0||(Zs&1073741824)!==0&&(Ke&261930)===0?e.memoizedState=n:(e.memoizedState=i,e=r0(),Be.lanes|=e,Ra|=e,i)}function rv(e,n,i,l){return An(i,n)?i:po.current!==null?(e=Ju(e,i,l),An(e,n)||(Zt=!0),e):(Zs&42)===0||(Zs&1073741824)!==0&&(Ke&261930)===0?(Zt=!0,e.memoizedState=i):(e=r0(),Be.lanes|=e,Ra|=e,n)}function lv(e,n,i,l,f){var h=R.p;R.p=h!==0&&8>h?h:8;var S=B.T,N={};B.T=N,Qu(e,!1,n,i);try{var M=f(),F=B.S;if(F!==null&&F(N,M),M!==null&&typeof M=="object"&&typeof M.then=="function"){var Q=vS(M,l);br(e,n,Q,Ln(e))}else br(e,n,l,Ln(e))}catch(ae){br(e,n,{then:function(){},status:"rejected",reason:ae},Ln())}finally{R.p=h,S!==null&&N.types!==null&&(S.types=N.types),B.T=S}}function SS(){}function Wu(e,n,i,l){if(e.tag!==5)throw Error(r(476));var f=cv(e).queue;lv(e,f,n,se,i===null?SS:function(){return dv(e),i(l)})}function cv(e){var n=e.memoizedState;if(n!==null)return n;n={memoizedState:se,baseState:se,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ks,lastRenderedState:se},next:null};var i={};return n.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ks,lastRenderedState:i},next:null},e.memoizedState=n,e=e.alternate,e!==null&&(e.memoizedState=n),n}function dv(e){var n=cv(e);n.next===null&&(n=e.alternate.memoizedState),br(e,n.next.queue,{},Ln())}function Xu(){return cn(Lr)}function uv(){return Ht().memoizedState}function fv(){return Ht().memoizedState}function jS(e){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var i=Ln();e=wa(i);var l=Na(n,e,i);l!==null&&(En(l,n,i),mr(l,n,i)),n={cache:Nu()},e.payload=n;return}n=n.return}}function TS(e,n,i){var l=Ln();i={lane:l,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},ac(e)?mv(n,i):(i=gu(e,n,i,l),i!==null&&(En(i,e,l),hv(i,n,l)))}function pv(e,n,i){var l=Ln();br(e,n,i,l)}function br(e,n,i,l){var f={lane:l,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(ac(e))mv(n,f);else{var h=e.alternate;if(e.lanes===0&&(h===null||h.lanes===0)&&(h=n.lastRenderedReducer,h!==null))try{var S=n.lastRenderedState,N=h(S,i);if(f.hasEagerState=!0,f.eagerState=N,An(N,S))return $l(e,n,f,0),xt===null&&Bl(),!1}catch{}finally{}if(i=gu(e,n,f,l),i!==null)return En(i,e,l),hv(i,n,l),!0}return!1}function Qu(e,n,i,l){if(l={lane:2,revertLane:Rf(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ac(e)){if(n)throw Error(r(479))}else n=gu(e,i,l,2),n!==null&&En(n,e,2)}function ac(e){var n=e.alternate;return e===Be||n!==null&&n===Be}function mv(e,n){mo=Wl=!0;var i=e.pending;i===null?n.next=n:(n.next=i.next,i.next=n),e.pending=n}function hv(e,n,i){if((i&4194048)!==0){var l=n.lanes;l&=e.pendingLanes,i|=l,n.lanes=i,ye(e,i)}}var _r={readContext:cn,use:ec,useCallback:Lt,useContext:Lt,useEffect:Lt,useImperativeHandle:Lt,useLayoutEffect:Lt,useInsertionEffect:Lt,useMemo:Lt,useReducer:Lt,useRef:Lt,useState:Lt,useDebugValue:Lt,useDeferredValue:Lt,useTransition:Lt,useSyncExternalStore:Lt,useId:Lt,useHostTransitionStatus:Lt,useFormState:Lt,useActionState:Lt,useOptimistic:Lt,useMemoCache:Lt,useCacheRefresh:Lt};_r.useEffectEvent=Lt;var gv={readContext:cn,use:ec,useCallback:function(e,n){return bn().memoizedState=[e,n===void 0?null:n],e},useContext:cn,useEffect:Qg,useImperativeHandle:function(e,n,i){i=i!=null?i.concat([e]):null,nc(4194308,4,sv.bind(null,n,e),i)},useLayoutEffect:function(e,n){return nc(4194308,4,e,n)},useInsertionEffect:function(e,n){nc(4,2,e,n)},useMemo:function(e,n){var i=bn();n=n===void 0?null:n;var l=e();if(_i){yn(!0);try{e()}finally{yn(!1)}}return i.memoizedState=[l,n],l},useReducer:function(e,n,i){var l=bn();if(i!==void 0){var f=i(n);if(_i){yn(!0);try{i(n)}finally{yn(!1)}}}else f=n;return l.memoizedState=l.baseState=f,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:f},l.queue=e,e=e.dispatch=TS.bind(null,Be,e),[l.memoizedState,e]},useRef:function(e){var n=bn();return e={current:e},n.memoizedState=e},useState:function(e){e=Fu(e);var n=e.queue,i=pv.bind(null,Be,n);return n.dispatch=i,[e.memoizedState,i]},useDebugValue:Yu,useDeferredValue:function(e,n){var i=bn();return Ju(i,e,n)},useTransition:function(){var e=Fu(!1);return e=lv.bind(null,Be,e.queue,!0,!1),bn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,n,i){var l=Be,f=bn();if(Je){if(i===void 0)throw Error(r(407));i=i()}else{if(i=n(),xt===null)throw Error(r(349));(Ke&127)!==0||Bg(l,n,i)}f.memoizedState=i;var h={value:i,getSnapshot:n};return f.queue=h,Qg(zg.bind(null,l,h,e),[e]),l.flags|=2048,go(9,{destroy:void 0},$g.bind(null,l,h,i,n),null),i},useId:function(){var e=bn(),n=xt.identifierPrefix;if(Je){var i=Cs,l=Ns;i=(l&~(1<<32-nn(l)-1)).toString(32)+i,n="_"+n+"R_"+i,i=Xl++,0<i&&(n+="H"+i.toString(32)),n+="_"}else i=yS++,n="_"+n+"r_"+i.toString(32)+"_";return e.memoizedState=n},useHostTransitionStatus:Xu,useFormState:Kg,useActionState:Kg,useOptimistic:function(e){var n=bn();n.memoizedState=n.baseState=e;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=i,n=Qu.bind(null,Be,!0,i),i.dispatch=n,[e,n]},useMemoCache:Vu,useCacheRefresh:function(){return bn().memoizedState=jS.bind(null,Be)},useEffectEvent:function(e){var n=bn(),i={impl:e};return n.memoizedState=i,function(){if((rt&2)!==0)throw Error(r(440));return i.impl.apply(void 0,arguments)}}},ef={readContext:cn,use:ec,useCallback:iv,useContext:cn,useEffect:Ku,useImperativeHandle:av,useInsertionEffect:tv,useLayoutEffect:nv,useMemo:ov,useReducer:tc,useRef:Xg,useState:function(){return tc(Ks)},useDebugValue:Yu,useDeferredValue:function(e,n){var i=Ht();return rv(i,vt.memoizedState,e,n)},useTransition:function(){var e=tc(Ks)[0],n=Ht().memoizedState;return[typeof e=="boolean"?e:yr(e),n]},useSyncExternalStore:Lg,useId:uv,useHostTransitionStatus:Xu,useFormState:Yg,useActionState:Yg,useOptimistic:function(e,n){var i=Ht();return Ug(i,vt,e,n)},useMemoCache:Vu,useCacheRefresh:fv};ef.useEffectEvent=ev;var vv={readContext:cn,use:ec,useCallback:iv,useContext:cn,useEffect:Ku,useImperativeHandle:av,useInsertionEffect:tv,useLayoutEffect:nv,useMemo:ov,useReducer:qu,useRef:Xg,useState:function(){return qu(Ks)},useDebugValue:Yu,useDeferredValue:function(e,n){var i=Ht();return vt===null?Ju(i,e,n):rv(i,vt.memoizedState,e,n)},useTransition:function(){var e=qu(Ks)[0],n=Ht().memoizedState;return[typeof e=="boolean"?e:yr(e),n]},useSyncExternalStore:Lg,useId:uv,useHostTransitionStatus:Xu,useFormState:Wg,useActionState:Wg,useOptimistic:function(e,n){var i=Ht();return vt!==null?Ug(i,vt,e,n):(i.baseState=e,[e,i.queue.dispatch])},useMemoCache:Vu,useCacheRefresh:fv};vv.useEffectEvent=ev;function tf(e,n,i,l){n=e.memoizedState,i=i(l,n),i=i==null?n:_({},n,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var nf={enqueueSetState:function(e,n,i){e=e._reactInternals;var l=Ln(),f=wa(l);f.payload=n,i!=null&&(f.callback=i),n=Na(e,f,l),n!==null&&(En(n,e,l),mr(n,e,l))},enqueueReplaceState:function(e,n,i){e=e._reactInternals;var l=Ln(),f=wa(l);f.tag=1,f.payload=n,i!=null&&(f.callback=i),n=Na(e,f,l),n!==null&&(En(n,e,l),mr(n,e,l))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var i=Ln(),l=wa(i);l.tag=2,n!=null&&(l.callback=n),n=Na(e,l,i),n!==null&&(En(n,e,i),mr(n,e,i))}};function yv(e,n,i,l,f,h,S){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,h,S):n.prototype&&n.prototype.isPureReactComponent?!or(i,l)||!or(f,h):!0}function bv(e,n,i,l){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(i,l),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(i,l),n.state!==e&&nf.enqueueReplaceState(n,n.state,null)}function xi(e,n){var i=n;if("ref"in n){i={};for(var l in n)l!=="ref"&&(i[l]=n[l])}if(e=e.defaultProps){i===n&&(i=_({},i));for(var f in e)i[f]===void 0&&(i[f]=e[f])}return i}function _v(e){Ll(e)}function xv(e){console.error(e)}function kv(e){Ll(e)}function ic(e,n){try{var i=e.onUncaughtError;i(n.value,{componentStack:n.stack})}catch(l){setTimeout(function(){throw l})}}function Sv(e,n,i){try{var l=e.onCaughtError;l(i.value,{componentStack:i.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(f){setTimeout(function(){throw f})}}function sf(e,n,i){return i=wa(i),i.tag=3,i.payload={element:null},i.callback=function(){ic(e,n)},i}function jv(e){return e=wa(e),e.tag=3,e}function Tv(e,n,i,l){var f=i.type.getDerivedStateFromError;if(typeof f=="function"){var h=l.value;e.payload=function(){return f(h)},e.callback=function(){Sv(n,i,l)}}var S=i.stateNode;S!==null&&typeof S.componentDidCatch=="function"&&(e.callback=function(){Sv(n,i,l),typeof f!="function"&&(Ma===null?Ma=new Set([this]):Ma.add(this));var N=l.stack;this.componentDidCatch(l.value,{componentStack:N!==null?N:""})})}function wS(e,n,i,l,f){if(i.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(n=i.alternate,n!==null&&ro(n,i,f,!0),i=Rn.current,i!==null){switch(i.tag){case 31:case 13:return Xn===null?vc():i.alternate===null&&Bt===0&&(Bt=3),i.flags&=-257,i.flags|=65536,i.lanes=f,l===Fl?i.flags|=16384:(n=i.updateQueue,n===null?i.updateQueue=new Set([l]):n.add(l),Ef(e,l,f)),!1;case 22:return i.flags|=65536,l===Fl?i.flags|=16384:(n=i.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([l])},i.updateQueue=n):(i=n.retryQueue,i===null?n.retryQueue=new Set([l]):i.add(l)),Ef(e,l,f)),!1}throw Error(r(435,i.tag))}return Ef(e,l,f),vc(),!1}if(Je)return n=Rn.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=f,l!==ku&&(e=Error(r(422),{cause:l}),cr(Kn(e,i)))):(l!==ku&&(n=Error(r(423),{cause:l}),cr(Kn(n,i))),e=e.current.alternate,e.flags|=65536,f&=-f,e.lanes|=f,l=Kn(l,i),f=sf(e.stateNode,l,f),Mu(e,f),Bt!==4&&(Bt=2)),!1;var h=Error(r(520),{cause:l});if(h=Kn(h,i),Cr===null?Cr=[h]:Cr.push(h),Bt!==4&&(Bt=2),n===null)return!0;l=Kn(l,i),i=n;do{switch(i.tag){case 3:return i.flags|=65536,e=f&-f,i.lanes|=e,e=sf(i.stateNode,l,e),Mu(i,e),!1;case 1:if(n=i.type,h=i.stateNode,(i.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(Ma===null||!Ma.has(h))))return i.flags|=65536,f&=-f,i.lanes|=f,f=jv(f),Tv(f,e,i,l),Mu(i,f),!1}i=i.return}while(i!==null);return!1}var af=Error(r(461)),Zt=!1;function dn(e,n,i,l){n.child=e===null?Eg(n,null,i,l):bi(n,e.child,i,l)}function wv(e,n,i,l,f){i=i.render;var h=n.ref;if("ref"in l){var S={};for(var N in l)N!=="ref"&&(S[N]=l[N])}else S=l;return hi(n),l=zu(e,n,i,S,h,f),N=Hu(),e!==null&&!Zt?(Pu(e,n,f),Ys(e,n,f)):(Je&&N&&_u(n),n.flags|=1,dn(e,n,l,f),n.child)}function Nv(e,n,i,l,f){if(e===null){var h=i.type;return typeof h=="function"&&!vu(h)&&h.defaultProps===void 0&&i.compare===null?(n.tag=15,n.type=h,Cv(e,n,h,l,f)):(e=Hl(i.type,null,l,n,n.mode,f),e.ref=n.ref,e.return=n,n.child=e)}if(h=e.child,!pf(e,f)){var S=h.memoizedProps;if(i=i.compare,i=i!==null?i:or,i(S,l)&&e.ref===n.ref)return Ys(e,n,f)}return n.flags|=1,e=Vs(h,l),e.ref=n.ref,e.return=n,n.child=e}function Cv(e,n,i,l,f){if(e!==null){var h=e.memoizedProps;if(or(h,l)&&e.ref===n.ref)if(Zt=!1,n.pendingProps=l=h,pf(e,f))(e.flags&131072)!==0&&(Zt=!0);else return n.lanes=e.lanes,Ys(e,n,f)}return of(e,n,i,l,f)}function Ev(e,n,i,l){var f=l.children,h=e!==null?e.memoizedState:null;if(e===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((n.flags&128)!==0){if(h=h!==null?h.baseLanes|i:i,e!==null){for(l=n.child=e.child,f=0;l!==null;)f=f|l.lanes|l.childLanes,l=l.sibling;l=f&~h}else l=0,n.child=null;return Av(e,n,h,i,l)}if((i&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},e!==null&&Gl(n,h!==null?h.cachePool:null),h!==null?Rg(n,h):Ou(),Mg(n);else return l=n.lanes=536870912,Av(e,n,h!==null?h.baseLanes|i:i,i,l)}else h!==null?(Gl(n,h.cachePool),Rg(n,h),Ea(),n.memoizedState=null):(e!==null&&Gl(n,null),Ou(),Ea());return dn(e,n,f,i),n.child}function xr(e,n){return e!==null&&e.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function Av(e,n,i,l,f){var h=Eu();return h=h===null?null:{parent:qt._currentValue,pool:h},n.memoizedState={baseLanes:i,cachePool:h},e!==null&&Gl(n,null),Ou(),Mg(n),e!==null&&ro(e,n,l,!0),n.childLanes=f,null}function oc(e,n){return n=lc({mode:n.mode,children:n.children},e.mode),n.ref=e.ref,e.child=n,n.return=e,n}function Dv(e,n,i){return bi(n,e.child,null,i),e=oc(n,n.pendingProps),e.flags|=2,Mn(n),n.memoizedState=null,e}function NS(e,n,i){var l=n.pendingProps,f=(n.flags&128)!==0;if(n.flags&=-129,e===null){if(Je){if(l.mode==="hidden")return e=oc(n,l),n.lanes=536870912,xr(null,e);if(Bu(n),(e=St)?(e=V0(e,Wn),e=e!==null&&e.data==="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:xa!==null?{id:Ns,overflow:Cs}:null,retryLane:536870912,hydrationErrors:null},i=mg(e),i.return=n,n.child=i,ln=n,St=null)):e=null,e===null)throw Sa(n);return n.lanes=536870912,null}return oc(n,l)}var h=e.memoizedState;if(h!==null){var S=h.dehydrated;if(Bu(n),f)if(n.flags&256)n.flags&=-257,n=Dv(e,n,i);else if(n.memoizedState!==null)n.child=e.child,n.flags|=128,n=null;else throw Error(r(558));else if(Zt||ro(e,n,i,!1),f=(i&e.childLanes)!==0,Zt||f){if(l=xt,l!==null&&(S=Ze(l,i),S!==0&&S!==h.retryLane))throw h.retryLane=S,ui(e,S),En(l,e,S),af;vc(),n=Dv(e,n,i)}else e=h.treeContext,St=Qn(S.nextSibling),ln=n,Je=!0,ka=null,Wn=!1,e!==null&&vg(n,e),n=oc(n,l),n.flags|=4096;return n}return e=Vs(e.child,{mode:l.mode,children:l.children}),e.ref=n.ref,n.child=e,e.return=n,e}function rc(e,n){var i=n.ref;if(i===null)e!==null&&e.ref!==null&&(n.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(r(284));(e===null||e.ref!==i)&&(n.flags|=4194816)}}function of(e,n,i,l,f){return hi(n),i=zu(e,n,i,l,void 0,f),l=Hu(),e!==null&&!Zt?(Pu(e,n,f),Ys(e,n,f)):(Je&&l&&_u(n),n.flags|=1,dn(e,n,i,f),n.child)}function Rv(e,n,i,l,f,h){return hi(n),n.updateQueue=null,i=Og(n,l,i,f),Ig(e),l=Hu(),e!==null&&!Zt?(Pu(e,n,h),Ys(e,n,h)):(Je&&l&&_u(n),n.flags|=1,dn(e,n,i,h),n.child)}function Mv(e,n,i,l,f){if(hi(n),n.stateNode===null){var h=so,S=i.contextType;typeof S=="object"&&S!==null&&(h=cn(S)),h=new i(l,h),n.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=nf,n.stateNode=h,h._reactInternals=n,h=n.stateNode,h.props=l,h.state=n.memoizedState,h.refs={},Du(n),S=i.contextType,h.context=typeof S=="object"&&S!==null?cn(S):so,h.state=n.memoizedState,S=i.getDerivedStateFromProps,typeof S=="function"&&(tf(n,i,S,l),h.state=n.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(S=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),S!==h.state&&nf.enqueueReplaceState(h,h.state,null),gr(n,l,h,f),hr(),h.state=n.memoizedState),typeof h.componentDidMount=="function"&&(n.flags|=4194308),l=!0}else if(e===null){h=n.stateNode;var N=n.memoizedProps,M=xi(i,N);h.props=M;var F=h.context,Q=i.contextType;S=so,typeof Q=="object"&&Q!==null&&(S=cn(Q));var ae=i.getDerivedStateFromProps;Q=typeof ae=="function"||typeof h.getSnapshotBeforeUpdate=="function",N=n.pendingProps!==N,Q||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(N||F!==S)&&bv(n,h,l,S),Ta=!1;var Z=n.memoizedState;h.state=Z,gr(n,l,h,f),hr(),F=n.memoizedState,N||Z!==F||Ta?(typeof ae=="function"&&(tf(n,i,ae,l),F=n.memoizedState),(M=Ta||yv(n,i,M,l,Z,F,S))?(Q||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount()),typeof h.componentDidMount=="function"&&(n.flags|=4194308)):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=l,n.memoizedState=F),h.props=l,h.state=F,h.context=S,l=M):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),l=!1)}else{h=n.stateNode,Ru(e,n),S=n.memoizedProps,Q=xi(i,S),h.props=Q,ae=n.pendingProps,Z=h.context,F=i.contextType,M=so,typeof F=="object"&&F!==null&&(M=cn(F)),N=i.getDerivedStateFromProps,(F=typeof N=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(S!==ae||Z!==M)&&bv(n,h,l,M),Ta=!1,Z=n.memoizedState,h.state=Z,gr(n,l,h,f),hr();var K=n.memoizedState;S!==ae||Z!==K||Ta||e!==null&&e.dependencies!==null&&Ul(e.dependencies)?(typeof N=="function"&&(tf(n,i,N,l),K=n.memoizedState),(Q=Ta||yv(n,i,Q,l,Z,K,M)||e!==null&&e.dependencies!==null&&Ul(e.dependencies))?(F||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(l,K,M),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(l,K,M)),typeof h.componentDidUpdate=="function"&&(n.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof h.componentDidUpdate!="function"||S===e.memoizedProps&&Z===e.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||S===e.memoizedProps&&Z===e.memoizedState||(n.flags|=1024),n.memoizedProps=l,n.memoizedState=K),h.props=l,h.state=K,h.context=M,l=Q):(typeof h.componentDidUpdate!="function"||S===e.memoizedProps&&Z===e.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||S===e.memoizedProps&&Z===e.memoizedState||(n.flags|=1024),l=!1)}return h=l,rc(e,n),l=(n.flags&128)!==0,h||l?(h=n.stateNode,i=l&&typeof i.getDerivedStateFromError!="function"?null:h.render(),n.flags|=1,e!==null&&l?(n.child=bi(n,e.child,null,f),n.child=bi(n,null,i,f)):dn(e,n,i,f),n.memoizedState=h.state,e=n.child):e=Ys(e,n,f),e}function Iv(e,n,i,l){return pi(),n.flags|=256,dn(e,n,i,l),n.child}var rf={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function lf(e){return{baseLanes:e,cachePool:Sg()}}function cf(e,n,i){return e=e!==null?e.childLanes&~i:0,n&&(e|=On),e}function Ov(e,n,i){var l=n.pendingProps,f=!1,h=(n.flags&128)!==0,S;if((S=h)||(S=e!==null&&e.memoizedState===null?!1:(zt.current&2)!==0),S&&(f=!0,n.flags&=-129),S=(n.flags&32)!==0,n.flags&=-33,e===null){if(Je){if(f?Ca(n):Ea(),(e=St)?(e=V0(e,Wn),e=e!==null&&e.data!=="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:xa!==null?{id:Ns,overflow:Cs}:null,retryLane:536870912,hydrationErrors:null},i=mg(e),i.return=n,n.child=i,ln=n,St=null)):e=null,e===null)throw Sa(n);return qf(e)?n.lanes=32:n.lanes=536870912,null}var N=l.children;return l=l.fallback,f?(Ea(),f=n.mode,N=lc({mode:"hidden",children:N},f),l=fi(l,f,i,null),N.return=n,l.return=n,N.sibling=l,n.child=N,l=n.child,l.memoizedState=lf(i),l.childLanes=cf(e,S,i),n.memoizedState=rf,xr(null,l)):(Ca(n),df(n,N))}var M=e.memoizedState;if(M!==null&&(N=M.dehydrated,N!==null)){if(h)n.flags&256?(Ca(n),n.flags&=-257,n=uf(e,n,i)):n.memoizedState!==null?(Ea(),n.child=e.child,n.flags|=128,n=null):(Ea(),N=l.fallback,f=n.mode,l=lc({mode:"visible",children:l.children},f),N=fi(N,f,i,null),N.flags|=2,l.return=n,N.return=n,l.sibling=N,n.child=l,bi(n,e.child,null,i),l=n.child,l.memoizedState=lf(i),l.childLanes=cf(e,S,i),n.memoizedState=rf,n=xr(null,l));else if(Ca(n),qf(N)){if(S=N.nextSibling&&N.nextSibling.dataset,S)var F=S.dgst;S=F,l=Error(r(419)),l.stack="",l.digest=S,cr({value:l,source:null,stack:null}),n=uf(e,n,i)}else if(Zt||ro(e,n,i,!1),S=(i&e.childLanes)!==0,Zt||S){if(S=xt,S!==null&&(l=Ze(S,i),l!==0&&l!==M.retryLane))throw M.retryLane=l,ui(e,l),En(S,e,l),af;Gf(N)||vc(),n=uf(e,n,i)}else Gf(N)?(n.flags|=192,n.child=e.child,n=null):(e=M.treeContext,St=Qn(N.nextSibling),ln=n,Je=!0,ka=null,Wn=!1,e!==null&&vg(n,e),n=df(n,l.children),n.flags|=4096);return n}return f?(Ea(),N=l.fallback,f=n.mode,M=e.child,F=M.sibling,l=Vs(M,{mode:"hidden",children:l.children}),l.subtreeFlags=M.subtreeFlags&65011712,F!==null?N=Vs(F,N):(N=fi(N,f,i,null),N.flags|=2),N.return=n,l.return=n,l.sibling=N,n.child=l,xr(null,l),l=n.child,N=e.child.memoizedState,N===null?N=lf(i):(f=N.cachePool,f!==null?(M=qt._currentValue,f=f.parent!==M?{parent:M,pool:M}:f):f=Sg(),N={baseLanes:N.baseLanes|i,cachePool:f}),l.memoizedState=N,l.childLanes=cf(e,S,i),n.memoizedState=rf,xr(e.child,l)):(Ca(n),i=e.child,e=i.sibling,i=Vs(i,{mode:"visible",children:l.children}),i.return=n,i.sibling=null,e!==null&&(S=n.deletions,S===null?(n.deletions=[e],n.flags|=16):S.push(e)),n.child=i,n.memoizedState=null,i)}function df(e,n){return n=lc({mode:"visible",children:n},e.mode),n.return=e,e.child=n}function lc(e,n){return e=Dn(22,e,null,n),e.lanes=0,e}function uf(e,n,i){return bi(n,e.child,null,i),e=df(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function Lv(e,n,i){e.lanes|=n;var l=e.alternate;l!==null&&(l.lanes|=n),Tu(e.return,n,i)}function ff(e,n,i,l,f,h){var S=e.memoizedState;S===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:l,tail:i,tailMode:f,treeForkCount:h}:(S.isBackwards=n,S.rendering=null,S.renderingStartTime=0,S.last=l,S.tail=i,S.tailMode=f,S.treeForkCount=h)}function Bv(e,n,i){var l=n.pendingProps,f=l.revealOrder,h=l.tail;l=l.children;var S=zt.current,N=(S&2)!==0;if(N?(S=S&1|2,n.flags|=128):S&=1,xe(zt,S),dn(e,n,l,i),l=Je?lr:0,!N&&e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Lv(e,i,n);else if(e.tag===19)Lv(e,i,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(f){case"forwards":for(i=n.child,f=null;i!==null;)e=i.alternate,e!==null&&Jl(e)===null&&(f=i),i=i.sibling;i=f,i===null?(f=n.child,n.child=null):(f=i.sibling,i.sibling=null),ff(n,!1,f,i,h,l);break;case"backwards":case"unstable_legacy-backwards":for(i=null,f=n.child,n.child=null;f!==null;){if(e=f.alternate,e!==null&&Jl(e)===null){n.child=f;break}e=f.sibling,f.sibling=i,i=f,f=e}ff(n,!0,i,null,h,l);break;case"together":ff(n,!1,null,null,void 0,l);break;default:n.memoizedState=null}return n.child}function Ys(e,n,i){if(e!==null&&(n.dependencies=e.dependencies),Ra|=n.lanes,(i&n.childLanes)===0)if(e!==null){if(ro(e,n,i,!1),(i&n.childLanes)===0)return null}else return null;if(e!==null&&n.child!==e.child)throw Error(r(153));if(n.child!==null){for(e=n.child,i=Vs(e,e.pendingProps),n.child=i,i.return=n;e.sibling!==null;)e=e.sibling,i=i.sibling=Vs(e,e.pendingProps),i.return=n;i.sibling=null}return n.child}function pf(e,n){return(e.lanes&n)!==0?!0:(e=e.dependencies,!!(e!==null&&Ul(e)))}function CS(e,n,i){switch(n.tag){case 3:Ie(n,n.stateNode.containerInfo),ja(n,qt,e.memoizedState.cache),pi();break;case 27:case 5:hn(n);break;case 4:Ie(n,n.stateNode.containerInfo);break;case 10:ja(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,Bu(n),null;break;case 13:var l=n.memoizedState;if(l!==null)return l.dehydrated!==null?(Ca(n),n.flags|=128,null):(i&n.child.childLanes)!==0?Ov(e,n,i):(Ca(n),e=Ys(e,n,i),e!==null?e.sibling:null);Ca(n);break;case 19:var f=(e.flags&128)!==0;if(l=(i&n.childLanes)!==0,l||(ro(e,n,i,!1),l=(i&n.childLanes)!==0),f){if(l)return Bv(e,n,i);n.flags|=128}if(f=n.memoizedState,f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),xe(zt,zt.current),l)break;return null;case 22:return n.lanes=0,Ev(e,n,i,n.pendingProps);case 24:ja(n,qt,e.memoizedState.cache)}return Ys(e,n,i)}function $v(e,n,i){if(e!==null)if(e.memoizedProps!==n.pendingProps)Zt=!0;else{if(!pf(e,i)&&(n.flags&128)===0)return Zt=!1,CS(e,n,i);Zt=(e.flags&131072)!==0}else Zt=!1,Je&&(n.flags&1048576)!==0&&gg(n,lr,n.index);switch(n.lanes=0,n.tag){case 16:e:{var l=n.pendingProps;if(e=vi(n.elementType),n.type=e,typeof e=="function")vu(e)?(l=xi(e,l),n.tag=1,n=Mv(null,n,e,l,i)):(n.tag=0,n=of(null,n,e,l,i));else{if(e!=null){var f=e.$$typeof;if(f===L){n.tag=11,n=wv(null,n,e,l,i);break e}else if(f===z){n.tag=14,n=Nv(null,n,e,l,i);break e}}throw n=W(e)||e,Error(r(306,n,""))}}return n;case 0:return of(e,n,n.type,n.pendingProps,i);case 1:return l=n.type,f=xi(l,n.pendingProps),Mv(e,n,l,f,i);case 3:e:{if(Ie(n,n.stateNode.containerInfo),e===null)throw Error(r(387));l=n.pendingProps;var h=n.memoizedState;f=h.element,Ru(e,n),gr(n,l,null,i);var S=n.memoizedState;if(l=S.cache,ja(n,qt,l),l!==h.cache&&wu(n,[qt],i,!0),hr(),l=S.element,h.isDehydrated)if(h={element:l,isDehydrated:!1,cache:S.cache},n.updateQueue.baseState=h,n.memoizedState=h,n.flags&256){n=Iv(e,n,l,i);break e}else if(l!==f){f=Kn(Error(r(424)),n),cr(f),n=Iv(e,n,l,i);break e}else{switch(e=n.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(St=Qn(e.firstChild),ln=n,Je=!0,ka=null,Wn=!0,i=Eg(n,null,l,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling}else{if(pi(),l===f){n=Ys(e,n,i);break e}dn(e,n,l,i)}n=n.child}return n;case 26:return rc(e,n),e===null?(i=Y0(n.type,null,n.pendingProps,null))?n.memoizedState=i:Je||(i=n.type,e=n.pendingProps,l=jc(gt.current).createElement(i),l[et]=n,l[pt]=e,un(l,i,e),sn(l),n.stateNode=l):n.memoizedState=Y0(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return hn(n),e===null&&Je&&(l=n.stateNode=F0(n.type,n.pendingProps,gt.current),ln=n,Wn=!0,f=St,Ba(n.type)?(Ff=f,St=Qn(l.firstChild)):St=f),dn(e,n,n.pendingProps.children,i),rc(e,n),e===null&&(n.flags|=4194304),n.child;case 5:return e===null&&Je&&((f=l=St)&&(l=a2(l,n.type,n.pendingProps,Wn),l!==null?(n.stateNode=l,ln=n,St=Qn(l.firstChild),Wn=!1,f=!0):f=!1),f||Sa(n)),hn(n),f=n.type,h=n.pendingProps,S=e!==null?e.memoizedProps:null,l=h.children,Pf(f,h)?l=null:S!==null&&Pf(f,S)&&(n.flags|=32),n.memoizedState!==null&&(f=zu(e,n,bS,null,null,i),Lr._currentValue=f),rc(e,n),dn(e,n,l,i),n.child;case 6:return e===null&&Je&&((e=i=St)&&(i=i2(i,n.pendingProps,Wn),i!==null?(n.stateNode=i,ln=n,St=null,e=!0):e=!1),e||Sa(n)),null;case 13:return Ov(e,n,i);case 4:return Ie(n,n.stateNode.containerInfo),l=n.pendingProps,e===null?n.child=bi(n,null,l,i):dn(e,n,l,i),n.child;case 11:return wv(e,n,n.type,n.pendingProps,i);case 7:return dn(e,n,n.pendingProps,i),n.child;case 8:return dn(e,n,n.pendingProps.children,i),n.child;case 12:return dn(e,n,n.pendingProps.children,i),n.child;case 10:return l=n.pendingProps,ja(n,n.type,l.value),dn(e,n,l.children,i),n.child;case 9:return f=n.type._context,l=n.pendingProps.children,hi(n),f=cn(f),l=l(f),n.flags|=1,dn(e,n,l,i),n.child;case 14:return Nv(e,n,n.type,n.pendingProps,i);case 15:return Cv(e,n,n.type,n.pendingProps,i);case 19:return Bv(e,n,i);case 31:return NS(e,n,i);case 22:return Ev(e,n,i,n.pendingProps);case 24:return hi(n),l=cn(qt),e===null?(f=Eu(),f===null&&(f=xt,h=Nu(),f.pooledCache=h,h.refCount++,h!==null&&(f.pooledCacheLanes|=i),f=h),n.memoizedState={parent:l,cache:f},Du(n),ja(n,qt,f)):((e.lanes&i)!==0&&(Ru(e,n),gr(n,null,null,i),hr()),f=e.memoizedState,h=n.memoizedState,f.parent!==l?(f={parent:l,cache:l},n.memoizedState=f,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=f),ja(n,qt,l)):(l=h.cache,ja(n,qt,l),l!==f.cache&&wu(n,[qt],i,!0))),dn(e,n,n.pendingProps.children,i),n.child;case 29:throw n.pendingProps}throw Error(r(156,n.tag))}function Js(e){e.flags|=4}function mf(e,n,i,l,f){if((n=(e.mode&32)!==0)&&(n=!1),n){if(e.flags|=16777216,(f&335544128)===f)if(e.stateNode.complete)e.flags|=8192;else if(u0())e.flags|=8192;else throw yi=Fl,Au}else e.flags&=-16777217}function zv(e,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!ey(n))if(u0())e.flags|=8192;else throw yi=Fl,Au}function cc(e,n){n!==null&&(e.flags|=4),e.flags&16384&&(n=e.tag!==22?Tl():536870912,e.lanes|=n,_o|=n)}function kr(e,n){if(!Je)switch(e.tailMode){case"hidden":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var l=null;i!==null;)i.alternate!==null&&(l=i),i=i.sibling;l===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function jt(e){var n=e.alternate!==null&&e.alternate.child===e.child,i=0,l=0;if(n)for(var f=e.child;f!==null;)i|=f.lanes|f.childLanes,l|=f.subtreeFlags&65011712,l|=f.flags&65011712,f.return=e,f=f.sibling;else for(f=e.child;f!==null;)i|=f.lanes|f.childLanes,l|=f.subtreeFlags,l|=f.flags,f.return=e,f=f.sibling;return e.subtreeFlags|=l,e.childLanes=i,n}function ES(e,n,i){var l=n.pendingProps;switch(xu(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return jt(n),null;case 1:return jt(n),null;case 3:return i=n.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),n.memoizedState.cache!==l&&(n.flags|=2048),Fs(qt),Mt(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(oo(n)?Js(n):e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Su())),jt(n),null;case 26:var f=n.type,h=n.memoizedState;return e===null?(Js(n),h!==null?(jt(n),zv(n,h)):(jt(n),mf(n,f,null,l,i))):h?h!==e.memoizedState?(Js(n),jt(n),zv(n,h)):(jt(n),n.flags&=-16777217):(e=e.memoizedProps,e!==l&&Js(n),jt(n),mf(n,f,e,l,i)),null;case 27:if(ce(n),i=gt.current,f=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==l&&Js(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return jt(n),null}e=Se.current,oo(n)?yg(n):(e=F0(f,l,i),n.stateNode=e,Js(n))}return jt(n),null;case 5:if(ce(n),f=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==l&&Js(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return jt(n),null}if(h=Se.current,oo(n))yg(n);else{var S=jc(gt.current);switch(h){case 1:h=S.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:h=S.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":h=S.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":h=S.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":h=S.createElement("div"),h.innerHTML="<script><\/script>",h=h.removeChild(h.firstChild);break;case"select":h=typeof l.is=="string"?S.createElement("select",{is:l.is}):S.createElement("select"),l.multiple?h.multiple=!0:l.size&&(h.size=l.size);break;default:h=typeof l.is=="string"?S.createElement(f,{is:l.is}):S.createElement(f)}}h[et]=n,h[pt]=l;e:for(S=n.child;S!==null;){if(S.tag===5||S.tag===6)h.appendChild(S.stateNode);else if(S.tag!==4&&S.tag!==27&&S.child!==null){S.child.return=S,S=S.child;continue}if(S===n)break e;for(;S.sibling===null;){if(S.return===null||S.return===n)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}n.stateNode=h;e:switch(un(h,f,l),f){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Js(n)}}return jt(n),mf(n,n.type,e===null?null:e.memoizedProps,n.pendingProps,i),null;case 6:if(e&&n.stateNode!=null)e.memoizedProps!==l&&Js(n);else{if(typeof l!="string"&&n.stateNode===null)throw Error(r(166));if(e=gt.current,oo(n)){if(e=n.stateNode,i=n.memoizedProps,l=null,f=ln,f!==null)switch(f.tag){case 27:case 5:l=f.memoizedProps}e[et]=n,e=!!(e.nodeValue===i||l!==null&&l.suppressHydrationWarning===!0||O0(e.nodeValue,i)),e||Sa(n,!0)}else e=jc(e).createTextNode(l),e[et]=n,n.stateNode=e}return jt(n),null;case 31:if(i=n.memoizedState,e===null||e.memoizedState!==null){if(l=oo(n),i!==null){if(e===null){if(!l)throw Error(r(318));if(e=n.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[et]=n}else pi(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;jt(n),e=!1}else i=Su(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return n.flags&256?(Mn(n),n):(Mn(n),null);if((n.flags&128)!==0)throw Error(r(558))}return jt(n),null;case 13:if(l=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(f=oo(n),l!==null&&l.dehydrated!==null){if(e===null){if(!f)throw Error(r(318));if(f=n.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(r(317));f[et]=n}else pi(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;jt(n),f=!1}else f=Su(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=f),f=!0;if(!f)return n.flags&256?(Mn(n),n):(Mn(n),null)}return Mn(n),(n.flags&128)!==0?(n.lanes=i,n):(i=l!==null,e=e!==null&&e.memoizedState!==null,i&&(l=n.child,f=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(f=l.alternate.memoizedState.cachePool.pool),h=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(h=l.memoizedState.cachePool.pool),h!==f&&(l.flags|=2048)),i!==e&&i&&(n.child.flags|=8192),cc(n,n.updateQueue),jt(n),null);case 4:return Mt(),e===null&&Lf(n.stateNode.containerInfo),jt(n),null;case 10:return Fs(n.type),jt(n),null;case 19:if(de(zt),l=n.memoizedState,l===null)return jt(n),null;if(f=(n.flags&128)!==0,h=l.rendering,h===null)if(f)kr(l,!1);else{if(Bt!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(h=Jl(e),h!==null){for(n.flags|=128,kr(l,!1),e=h.updateQueue,n.updateQueue=e,cc(n,e),n.subtreeFlags=0,e=i,i=n.child;i!==null;)pg(i,e),i=i.sibling;return xe(zt,zt.current&1|2),Je&&Gs(n,l.treeForkCount),n.child}e=e.sibling}l.tail!==null&&en()>mc&&(n.flags|=128,f=!0,kr(l,!1),n.lanes=4194304)}else{if(!f)if(e=Jl(h),e!==null){if(n.flags|=128,f=!0,e=e.updateQueue,n.updateQueue=e,cc(n,e),kr(l,!0),l.tail===null&&l.tailMode==="hidden"&&!h.alternate&&!Je)return jt(n),null}else 2*en()-l.renderingStartTime>mc&&i!==536870912&&(n.flags|=128,f=!0,kr(l,!1),n.lanes=4194304);l.isBackwards?(h.sibling=n.child,n.child=h):(e=l.last,e!==null?e.sibling=h:n.child=h,l.last=h)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=en(),e.sibling=null,i=zt.current,xe(zt,f?i&1|2:i&1),Je&&Gs(n,l.treeForkCount),e):(jt(n),null);case 22:case 23:return Mn(n),Lu(),l=n.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(n.flags|=8192):l&&(n.flags|=8192),l?(i&536870912)!==0&&(n.flags&128)===0&&(jt(n),n.subtreeFlags&6&&(n.flags|=8192)):jt(n),i=n.updateQueue,i!==null&&cc(n,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),l=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),l!==i&&(n.flags|=2048),e!==null&&de(gi),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),n.memoizedState.cache!==i&&(n.flags|=2048),Fs(qt),jt(n),null;case 25:return null;case 30:return null}throw Error(r(156,n.tag))}function AS(e,n){switch(xu(n),n.tag){case 1:return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Fs(qt),Mt(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 26:case 27:case 5:return ce(n),null;case 31:if(n.memoizedState!==null){if(Mn(n),n.alternate===null)throw Error(r(340));pi()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 13:if(Mn(n),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(r(340));pi()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return de(zt),null;case 4:return Mt(),null;case 10:return Fs(n.type),null;case 22:case 23:return Mn(n),Lu(),e!==null&&de(gi),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 24:return Fs(qt),null;case 25:return null;default:return null}}function Hv(e,n){switch(xu(n),n.tag){case 3:Fs(qt),Mt();break;case 26:case 27:case 5:ce(n);break;case 4:Mt();break;case 31:n.memoizedState!==null&&Mn(n);break;case 13:Mn(n);break;case 19:de(zt);break;case 10:Fs(n.type);break;case 22:case 23:Mn(n),Lu(),e!==null&&de(gi);break;case 24:Fs(qt)}}function Sr(e,n){try{var i=n.updateQueue,l=i!==null?i.lastEffect:null;if(l!==null){var f=l.next;i=f;do{if((i.tag&e)===e){l=void 0;var h=i.create,S=i.inst;l=h(),S.destroy=l}i=i.next}while(i!==f)}}catch(N){ht(n,n.return,N)}}function Aa(e,n,i){try{var l=n.updateQueue,f=l!==null?l.lastEffect:null;if(f!==null){var h=f.next;l=h;do{if((l.tag&e)===e){var S=l.inst,N=S.destroy;if(N!==void 0){S.destroy=void 0,f=n;var M=i,F=N;try{F()}catch(Q){ht(f,M,Q)}}}l=l.next}while(l!==h)}}catch(Q){ht(n,n.return,Q)}}function Pv(e){var n=e.updateQueue;if(n!==null){var i=e.stateNode;try{Dg(n,i)}catch(l){ht(e,e.return,l)}}}function Uv(e,n,i){i.props=xi(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(l){ht(e,n,l)}}function jr(e,n){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof i=="function"?e.refCleanup=i(l):i.current=l}}catch(f){ht(e,n,f)}}function Es(e,n){var i=e.ref,l=e.refCleanup;if(i!==null)if(typeof l=="function")try{l()}catch(f){ht(e,n,f)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(f){ht(e,n,f)}else i.current=null}function Vv(e){var n=e.type,i=e.memoizedProps,l=e.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":i.autoFocus&&l.focus();break e;case"img":i.src?l.src=i.src:i.srcSet&&(l.srcset=i.srcSet)}}catch(f){ht(e,e.return,f)}}function hf(e,n,i){try{var l=e.stateNode;XS(l,e.type,i,n),l[pt]=n}catch(f){ht(e,e.return,f)}}function Gv(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ba(e.type)||e.tag===4}function gf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gv(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Ba(e.type)||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 vf(e,n,i){var l=e.tag;if(l===5||l===6)e=e.stateNode,n?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,n):(n=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,n.appendChild(e),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=Ps));else if(l!==4&&(l===27&&Ba(e.type)&&(i=e.stateNode,n=null),e=e.child,e!==null))for(vf(e,n,i),e=e.sibling;e!==null;)vf(e,n,i),e=e.sibling}function dc(e,n,i){var l=e.tag;if(l===5||l===6)e=e.stateNode,n?i.insertBefore(e,n):i.appendChild(e);else if(l!==4&&(l===27&&Ba(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(dc(e,n,i),e=e.sibling;e!==null;)dc(e,n,i),e=e.sibling}function qv(e){var n=e.stateNode,i=e.memoizedProps;try{for(var l=e.type,f=n.attributes;f.length;)n.removeAttributeNode(f[0]);un(n,l,i),n[et]=e,n[pt]=i}catch(h){ht(e,e.return,h)}}var Ws=!1,Kt=!1,yf=!1,Fv=typeof WeakSet=="function"?WeakSet:Set,an=null;function DS(e,n){if(e=e.containerInfo,zf=Dc,e=ag(e),du(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var l=i.getSelection&&i.getSelection();if(l&&l.rangeCount!==0){i=l.anchorNode;var f=l.anchorOffset,h=l.focusNode;l=l.focusOffset;try{i.nodeType,h.nodeType}catch{i=null;break e}var S=0,N=-1,M=-1,F=0,Q=0,ae=e,Z=null;t:for(;;){for(var K;ae!==i||f!==0&&ae.nodeType!==3||(N=S+f),ae!==h||l!==0&&ae.nodeType!==3||(M=S+l),ae.nodeType===3&&(S+=ae.nodeValue.length),(K=ae.firstChild)!==null;)Z=ae,ae=K;for(;;){if(ae===e)break t;if(Z===i&&++F===f&&(N=S),Z===h&&++Q===l&&(M=S),(K=ae.nextSibling)!==null)break;ae=Z,Z=ae.parentNode}ae=K}i=N===-1||M===-1?null:{start:N,end:M}}else i=null}i=i||{start:0,end:0}}else i=null;for(Hf={focusedElem:e,selectionRange:i},Dc=!1,an=n;an!==null;)if(n=an,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,an=e;else for(;an!==null;){switch(n=an,h=n.alternate,e=n.flags,n.tag){case 0:if((e&4)!==0&&(e=n.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i<e.length;i++)f=e[i],f.ref.impl=f.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&h!==null){e=void 0,i=n,f=h.memoizedProps,h=h.memoizedState,l=i.stateNode;try{var ke=xi(i.type,f);e=l.getSnapshotBeforeUpdate(ke,h),l.__reactInternalSnapshotBeforeUpdate=e}catch(Ae){ht(i,i.return,Ae)}}break;case 3:if((e&1024)!==0){if(e=n.stateNode.containerInfo,i=e.nodeType,i===9)Vf(e);else if(i===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Vf(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(r(163))}if(e=n.sibling,e!==null){e.return=n.return,an=e;break}an=n.return}}function Zv(e,n,i){var l=i.flags;switch(i.tag){case 0:case 11:case 15:Qs(e,i),l&4&&Sr(5,i);break;case 1:if(Qs(e,i),l&4)if(e=i.stateNode,n===null)try{e.componentDidMount()}catch(S){ht(i,i.return,S)}else{var f=xi(i.type,n.memoizedProps);n=n.memoizedState;try{e.componentDidUpdate(f,n,e.__reactInternalSnapshotBeforeUpdate)}catch(S){ht(i,i.return,S)}}l&64&&Pv(i),l&512&&jr(i,i.return);break;case 3:if(Qs(e,i),l&64&&(e=i.updateQueue,e!==null)){if(n=null,i.child!==null)switch(i.child.tag){case 27:case 5:n=i.child.stateNode;break;case 1:n=i.child.stateNode}try{Dg(e,n)}catch(S){ht(i,i.return,S)}}break;case 27:n===null&&l&4&&qv(i);case 26:case 5:Qs(e,i),n===null&&l&4&&Vv(i),l&512&&jr(i,i.return);break;case 12:Qs(e,i);break;case 31:Qs(e,i),l&4&&Jv(e,i);break;case 13:Qs(e,i),l&4&&Wv(e,i),l&64&&(e=i.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(i=HS.bind(null,i),o2(e,i))));break;case 22:if(l=i.memoizedState!==null||Ws,!l){n=n!==null&&n.memoizedState!==null||Kt,f=Ws;var h=Kt;Ws=l,(Kt=n)&&!h?ea(e,i,(i.subtreeFlags&8772)!==0):Qs(e,i),Ws=f,Kt=h}break;case 30:break;default:Qs(e,i)}}function Kv(e){var n=e.alternate;n!==null&&(e.alternate=null,Kv(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&Zd(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Et=null,Tn=!1;function Xs(e,n,i){for(i=i.child;i!==null;)Yv(e,n,i),i=i.sibling}function Yv(e,n,i){if(Ct&&typeof Ct.onCommitFiberUnmount=="function")try{Ct.onCommitFiberUnmount(tn,i)}catch{}switch(i.tag){case 26:Kt||Es(i,n),Xs(e,n,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:Kt||Es(i,n);var l=Et,f=Tn;Ba(i.type)&&(Et=i.stateNode,Tn=!1),Xs(e,n,i),Mr(i.stateNode),Et=l,Tn=f;break;case 5:Kt||Es(i,n);case 6:if(l=Et,f=Tn,Et=null,Xs(e,n,i),Et=l,Tn=f,Et!==null)if(Tn)try{(Et.nodeType===9?Et.body:Et.nodeName==="HTML"?Et.ownerDocument.body:Et).removeChild(i.stateNode)}catch(h){ht(i,n,h)}else try{Et.removeChild(i.stateNode)}catch(h){ht(i,n,h)}break;case 18:Et!==null&&(Tn?(e=Et,P0(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,i.stateNode),Co(e)):P0(Et,i.stateNode));break;case 4:l=Et,f=Tn,Et=i.stateNode.containerInfo,Tn=!0,Xs(e,n,i),Et=l,Tn=f;break;case 0:case 11:case 14:case 15:Aa(2,i,n),Kt||Aa(4,i,n),Xs(e,n,i);break;case 1:Kt||(Es(i,n),l=i.stateNode,typeof l.componentWillUnmount=="function"&&Uv(i,n,l)),Xs(e,n,i);break;case 21:Xs(e,n,i);break;case 22:Kt=(l=Kt)||i.memoizedState!==null,Xs(e,n,i),Kt=l;break;default:Xs(e,n,i)}}function Jv(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Co(e)}catch(i){ht(n,n.return,i)}}}function Wv(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Co(e)}catch(i){ht(n,n.return,i)}}function RS(e){switch(e.tag){case 31:case 13:case 19:var n=e.stateNode;return n===null&&(n=e.stateNode=new Fv),n;case 22:return e=e.stateNode,n=e._retryCache,n===null&&(n=e._retryCache=new Fv),n;default:throw Error(r(435,e.tag))}}function uc(e,n){var i=RS(e);n.forEach(function(l){if(!i.has(l)){i.add(l);var f=PS.bind(null,e,l);l.then(f,f)}})}function wn(e,n){var i=n.deletions;if(i!==null)for(var l=0;l<i.length;l++){var f=i[l],h=e,S=n,N=S;e:for(;N!==null;){switch(N.tag){case 27:if(Ba(N.type)){Et=N.stateNode,Tn=!1;break e}break;case 5:Et=N.stateNode,Tn=!1;break e;case 3:case 4:Et=N.stateNode.containerInfo,Tn=!0;break e}N=N.return}if(Et===null)throw Error(r(160));Yv(h,S,f),Et=null,Tn=!1,h=f.alternate,h!==null&&(h.return=null),f.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)Xv(n,e),n=n.sibling}var ps=null;function Xv(e,n){var i=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:wn(n,e),Nn(e),l&4&&(Aa(3,e,e.return),Sr(3,e),Aa(5,e,e.return));break;case 1:wn(n,e),Nn(e),l&512&&(Kt||i===null||Es(i,i.return)),l&64&&Ws&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(i=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=i===null?l:i.concat(l))));break;case 26:var f=ps;if(wn(n,e),Nn(e),l&512&&(Kt||i===null||Es(i,i.return)),l&4){var h=i!==null?i.memoizedState:null;if(l=e.memoizedState,i===null)if(l===null)if(e.stateNode===null){e:{l=e.type,i=e.memoizedProps,f=f.ownerDocument||f;t:switch(l){case"title":h=f.getElementsByTagName("title")[0],(!h||h[Wo]||h[et]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=f.createElement(l),f.head.insertBefore(h,f.querySelector("head > title"))),un(h,l,i),h[et]=e,sn(h),l=h;break e;case"link":var S=X0("link","href",f).get(l+(i.href||""));if(S){for(var N=0;N<S.length;N++)if(h=S[N],h.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&h.getAttribute("rel")===(i.rel==null?null:i.rel)&&h.getAttribute("title")===(i.title==null?null:i.title)&&h.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){S.splice(N,1);break t}}h=f.createElement(l),un(h,l,i),f.head.appendChild(h);break;case"meta":if(S=X0("meta","content",f).get(l+(i.content||""))){for(N=0;N<S.length;N++)if(h=S[N],h.getAttribute("content")===(i.content==null?null:""+i.content)&&h.getAttribute("name")===(i.name==null?null:i.name)&&h.getAttribute("property")===(i.property==null?null:i.property)&&h.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&h.getAttribute("charset")===(i.charSet==null?null:i.charSet)){S.splice(N,1);break t}}h=f.createElement(l),un(h,l,i),f.head.appendChild(h);break;default:throw Error(r(468,l))}h[et]=e,sn(h),l=h}e.stateNode=l}else Q0(f,e.type,e.stateNode);else e.stateNode=W0(f,l,e.memoizedProps);else h!==l?(h===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):h.count--,l===null?Q0(f,e.type,e.stateNode):W0(f,l,e.memoizedProps)):l===null&&e.stateNode!==null&&hf(e,e.memoizedProps,i.memoizedProps)}break;case 27:wn(n,e),Nn(e),l&512&&(Kt||i===null||Es(i,i.return)),i!==null&&l&4&&hf(e,e.memoizedProps,i.memoizedProps);break;case 5:if(wn(n,e),Nn(e),l&512&&(Kt||i===null||Es(i,i.return)),e.flags&32){f=e.stateNode;try{Ji(f,"")}catch(ke){ht(e,e.return,ke)}}l&4&&e.stateNode!=null&&(f=e.memoizedProps,hf(e,f,i!==null?i.memoizedProps:f)),l&1024&&(yf=!0);break;case 6:if(wn(n,e),Nn(e),l&4){if(e.stateNode===null)throw Error(r(162));l=e.memoizedProps,i=e.stateNode;try{i.nodeValue=l}catch(ke){ht(e,e.return,ke)}}break;case 3:if(Nc=null,f=ps,ps=Tc(n.containerInfo),wn(n,e),ps=f,Nn(e),l&4&&i!==null&&i.memoizedState.isDehydrated)try{Co(n.containerInfo)}catch(ke){ht(e,e.return,ke)}yf&&(yf=!1,Qv(e));break;case 4:l=ps,ps=Tc(e.stateNode.containerInfo),wn(n,e),Nn(e),ps=l;break;case 12:wn(n,e),Nn(e);break;case 31:wn(n,e),Nn(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,uc(e,l)));break;case 13:wn(n,e),Nn(e),e.child.flags&8192&&e.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(pc=en()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,uc(e,l)));break;case 22:f=e.memoizedState!==null;var M=i!==null&&i.memoizedState!==null,F=Ws,Q=Kt;if(Ws=F||f,Kt=Q||M,wn(n,e),Kt=Q,Ws=F,Nn(e),l&8192)e:for(n=e.stateNode,n._visibility=f?n._visibility&-2:n._visibility|1,f&&(i===null||M||Ws||Kt||ki(e)),i=null,n=e;;){if(n.tag===5||n.tag===26){if(i===null){M=i=n;try{if(h=M.stateNode,f)S=h.style,typeof S.setProperty=="function"?S.setProperty("display","none","important"):S.display="none";else{N=M.stateNode;var ae=M.memoizedProps.style,Z=ae!=null&&ae.hasOwnProperty("display")?ae.display:null;N.style.display=Z==null||typeof Z=="boolean"?"":(""+Z).trim()}}catch(ke){ht(M,M.return,ke)}}}else if(n.tag===6){if(i===null){M=n;try{M.stateNode.nodeValue=f?"":M.memoizedProps}catch(ke){ht(M,M.return,ke)}}}else if(n.tag===18){if(i===null){M=n;try{var K=M.stateNode;f?U0(K,!0):U0(M.stateNode,!1)}catch(ke){ht(M,M.return,ke)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;i===n&&(i=null),n=n.return}i===n&&(i=null),n.sibling.return=n.return,n=n.sibling}l&4&&(l=e.updateQueue,l!==null&&(i=l.retryQueue,i!==null&&(l.retryQueue=null,uc(e,i))));break;case 19:wn(n,e),Nn(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,uc(e,l)));break;case 30:break;case 21:break;default:wn(n,e),Nn(e)}}function Nn(e){var n=e.flags;if(n&2){try{for(var i,l=e.return;l!==null;){if(Gv(l)){i=l;break}l=l.return}if(i==null)throw Error(r(160));switch(i.tag){case 27:var f=i.stateNode,h=gf(e);dc(e,h,f);break;case 5:var S=i.stateNode;i.flags&32&&(Ji(S,""),i.flags&=-33);var N=gf(e);dc(e,N,S);break;case 3:case 4:var M=i.stateNode.containerInfo,F=gf(e);vf(e,F,M);break;default:throw Error(r(161))}}catch(Q){ht(e,e.return,Q)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function Qv(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var n=e;Qv(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),e=e.sibling}}function Qs(e,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)Zv(e,n.alternate,n),n=n.sibling}function ki(e){for(e=e.child;e!==null;){var n=e;switch(n.tag){case 0:case 11:case 14:case 15:Aa(4,n,n.return),ki(n);break;case 1:Es(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount=="function"&&Uv(n,n.return,i),ki(n);break;case 27:Mr(n.stateNode);case 26:case 5:Es(n,n.return),ki(n);break;case 22:n.memoizedState===null&&ki(n);break;case 30:ki(n);break;default:ki(n)}e=e.sibling}}function ea(e,n,i){for(i=i&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var l=n.alternate,f=e,h=n,S=h.flags;switch(h.tag){case 0:case 11:case 15:ea(f,h,i),Sr(4,h);break;case 1:if(ea(f,h,i),l=h,f=l.stateNode,typeof f.componentDidMount=="function")try{f.componentDidMount()}catch(F){ht(l,l.return,F)}if(l=h,f=l.updateQueue,f!==null){var N=l.stateNode;try{var M=f.shared.hiddenCallbacks;if(M!==null)for(f.shared.hiddenCallbacks=null,f=0;f<M.length;f++)Ag(M[f],N)}catch(F){ht(l,l.return,F)}}i&&S&64&&Pv(h),jr(h,h.return);break;case 27:qv(h);case 26:case 5:ea(f,h,i),i&&l===null&&S&4&&Vv(h),jr(h,h.return);break;case 12:ea(f,h,i);break;case 31:ea(f,h,i),i&&S&4&&Jv(f,h);break;case 13:ea(f,h,i),i&&S&4&&Wv(f,h);break;case 22:h.memoizedState===null&&ea(f,h,i),jr(h,h.return);break;case 30:break;default:ea(f,h,i)}n=n.sibling}}function bf(e,n){var i=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),e=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(e=n.memoizedState.cachePool.pool),e!==i&&(e!=null&&e.refCount++,i!=null&&dr(i))}function _f(e,n){e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&dr(e))}function ms(e,n,i,l){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)e0(e,n,i,l),n=n.sibling}function e0(e,n,i,l){var f=n.flags;switch(n.tag){case 0:case 11:case 15:ms(e,n,i,l),f&2048&&Sr(9,n);break;case 1:ms(e,n,i,l);break;case 3:ms(e,n,i,l),f&2048&&(e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&dr(e)));break;case 12:if(f&2048){ms(e,n,i,l),e=n.stateNode;try{var h=n.memoizedProps,S=h.id,N=h.onPostCommit;typeof N=="function"&&N(S,n.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(M){ht(n,n.return,M)}}else ms(e,n,i,l);break;case 31:ms(e,n,i,l);break;case 13:ms(e,n,i,l);break;case 23:break;case 22:h=n.stateNode,S=n.alternate,n.memoizedState!==null?h._visibility&2?ms(e,n,i,l):Tr(e,n):h._visibility&2?ms(e,n,i,l):(h._visibility|=2,vo(e,n,i,l,(n.subtreeFlags&10256)!==0||!1)),f&2048&&bf(S,n);break;case 24:ms(e,n,i,l),f&2048&&_f(n.alternate,n);break;default:ms(e,n,i,l)}}function vo(e,n,i,l,f){for(f=f&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var h=e,S=n,N=i,M=l,F=S.flags;switch(S.tag){case 0:case 11:case 15:vo(h,S,N,M,f),Sr(8,S);break;case 23:break;case 22:var Q=S.stateNode;S.memoizedState!==null?Q._visibility&2?vo(h,S,N,M,f):Tr(h,S):(Q._visibility|=2,vo(h,S,N,M,f)),f&&F&2048&&bf(S.alternate,S);break;case 24:vo(h,S,N,M,f),f&&F&2048&&_f(S.alternate,S);break;default:vo(h,S,N,M,f)}n=n.sibling}}function Tr(e,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var i=e,l=n,f=l.flags;switch(l.tag){case 22:Tr(i,l),f&2048&&bf(l.alternate,l);break;case 24:Tr(i,l),f&2048&&_f(l.alternate,l);break;default:Tr(i,l)}n=n.sibling}}var wr=8192;function yo(e,n,i){if(e.subtreeFlags&wr)for(e=e.child;e!==null;)t0(e,n,i),e=e.sibling}function t0(e,n,i){switch(e.tag){case 26:yo(e,n,i),e.flags&wr&&e.memoizedState!==null&&y2(i,ps,e.memoizedState,e.memoizedProps);break;case 5:yo(e,n,i);break;case 3:case 4:var l=ps;ps=Tc(e.stateNode.containerInfo),yo(e,n,i),ps=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=wr,wr=16777216,yo(e,n,i),wr=l):yo(e,n,i));break;default:yo(e,n,i)}}function n0(e){var n=e.alternate;if(n!==null&&(e=n.child,e!==null)){n.child=null;do n=e.sibling,e.sibling=null,e=n;while(e!==null)}}function Nr(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var l=n[i];an=l,a0(l,e)}n0(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)s0(e),e=e.sibling}function s0(e){switch(e.tag){case 0:case 11:case 15:Nr(e),e.flags&2048&&Aa(9,e,e.return);break;case 3:Nr(e);break;case 12:Nr(e);break;case 22:var n=e.stateNode;e.memoizedState!==null&&n._visibility&2&&(e.return===null||e.return.tag!==13)?(n._visibility&=-3,fc(e)):Nr(e);break;default:Nr(e)}}function fc(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var l=n[i];an=l,a0(l,e)}n0(e)}for(e=e.child;e!==null;){switch(n=e,n.tag){case 0:case 11:case 15:Aa(8,n,n.return),fc(n);break;case 22:i=n.stateNode,i._visibility&2&&(i._visibility&=-3,fc(n));break;default:fc(n)}e=e.sibling}}function a0(e,n){for(;an!==null;){var i=an;switch(i.tag){case 0:case 11:case 15:Aa(8,i,n);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var l=i.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:dr(i.memoizedState.cache)}if(l=i.child,l!==null)l.return=i,an=l;else e:for(i=e;an!==null;){l=an;var f=l.sibling,h=l.return;if(Kv(l),l===i){an=null;break e}if(f!==null){f.return=h,an=f;break e}an=h}}}var MS={getCacheForType:function(e){var n=cn(qt),i=n.data.get(e);return i===void 0&&(i=e(),n.data.set(e,i)),i},cacheSignal:function(){return cn(qt).controller.signal}},IS=typeof WeakMap=="function"?WeakMap:Map,rt=0,xt=null,qe=null,Ke=0,mt=0,In=null,Da=!1,bo=!1,xf=!1,ta=0,Bt=0,Ra=0,Si=0,kf=0,On=0,_o=0,Cr=null,Cn=null,Sf=!1,pc=0,i0=0,mc=1/0,hc=null,Ma=null,Wt=0,Ia=null,xo=null,na=0,jf=0,Tf=null,o0=null,Er=0,wf=null;function Ln(){return(rt&2)!==0&&Ke!==0?Ke&-Ke:B.T!==null?Rf():Qe()}function r0(){if(On===0)if((Ke&536870912)===0||Je){var e=ai;ai<<=1,(ai&3932160)===0&&(ai=262144),On=e}else On=536870912;return e=Rn.current,e!==null&&(e.flags|=32),On}function En(e,n,i){(e===xt&&(mt===2||mt===9)||e.cancelPendingCommit!==null)&&(ko(e,0),Oa(e,Ke,On,!1)),ee(e,i),((rt&2)===0||e!==xt)&&(e===xt&&((rt&2)===0&&(Si|=i),Bt===4&&Oa(e,Ke,On,!1)),As(e))}function l0(e,n,i){if((rt&6)!==0)throw Error(r(327));var l=!i&&(n&127)===0&&(n&e.expiredLanes)===0||ba(e,n),f=l?BS(e,n):Cf(e,n,!0),h=l;do{if(f===0){bo&&!l&&Oa(e,n,0,!1);break}else{if(i=e.current.alternate,h&&!OS(i)){f=Cf(e,n,!1),h=!1;continue}if(f===2){if(h=n,e.errorRecoveryDisabledLanes&h)var S=0;else S=e.pendingLanes&-536870913,S=S!==0?S:S&536870912?536870912:0;if(S!==0){n=S;e:{var N=e;f=Cr;var M=N.current.memoizedState.isDehydrated;if(M&&(ko(N,S).flags|=256),S=Cf(N,S,!1),S!==2){if(xf&&!M){N.errorRecoveryDisabledLanes|=h,Si|=h,f=4;break e}h=Cn,Cn=f,h!==null&&(Cn===null?Cn=h:Cn.push.apply(Cn,h))}f=S}if(h=!1,f!==2)continue}}if(f===1){ko(e,0),Oa(e,n,0,!0);break}e:{switch(l=e,h=f,h){case 0:case 1:throw Error(r(345));case 4:if((n&4194048)!==n)break;case 6:Oa(l,n,On,!Da);break e;case 2:Cn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((n&62914560)===n&&(f=pc+300-en(),10<f)){if(Oa(l,n,On,!Da),oi(l,0,!0)!==0)break e;na=n,l.timeoutHandle=z0(c0.bind(null,l,i,Cn,hc,Sf,n,On,Si,_o,Da,h,"Throttled",-0,0),f);break e}c0(l,i,Cn,hc,Sf,n,On,Si,_o,Da,h,null,-0,0)}}break}while(!0);As(e)}function c0(e,n,i,l,f,h,S,N,M,F,Q,ae,Z,K){if(e.timeoutHandle=-1,ae=n.subtreeFlags,ae&8192||(ae&16785408)===16785408){ae={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ps},t0(n,h,ae);var ke=(h&62914560)===h?pc-en():(h&4194048)===h?i0-en():0;if(ke=b2(ae,ke),ke!==null){na=h,e.cancelPendingCommit=ke(v0.bind(null,e,n,h,i,l,f,S,N,M,Q,ae,null,Z,K)),Oa(e,h,S,!F);return}}v0(e,n,h,i,l,f,S,N,M)}function OS(e){for(var n=e;;){var i=n.tag;if((i===0||i===11||i===15)&&n.flags&16384&&(i=n.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var l=0;l<i.length;l++){var f=i[l],h=f.getSnapshot;f=f.value;try{if(!An(h(),f))return!1}catch{return!1}}if(i=n.child,n.subtreeFlags&16384&&i!==null)i.return=n,n=i;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Oa(e,n,i,l){n&=~kf,n&=~Si,e.suspendedLanes|=n,e.pingedLanes&=~n,l&&(e.warmLanes|=n),l=e.expirationTimes;for(var f=n;0<f;){var h=31-nn(f),S=1<<h;l[h]=-1,f&=~S}i!==0&&me(e,i,n)}function gc(){return(rt&6)===0?(Ar(0),!1):!0}function Nf(){if(qe!==null){if(mt===0)var e=qe.return;else e=qe,qs=mi=null,Uu(e),fo=null,fr=0,e=qe;for(;e!==null;)Hv(e.alternate,e),e=e.return;qe=null}}function ko(e,n){var i=e.timeoutHandle;i!==-1&&(e.timeoutHandle=-1,t2(i)),i=e.cancelPendingCommit,i!==null&&(e.cancelPendingCommit=null,i()),na=0,Nf(),xt=e,qe=i=Vs(e.current,null),Ke=n,mt=0,In=null,Da=!1,bo=ba(e,n),xf=!1,_o=On=kf=Si=Ra=Bt=0,Cn=Cr=null,Sf=!1,(n&8)!==0&&(n|=n&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=n;0<l;){var f=31-nn(l),h=1<<f;n|=e[f],l&=~h}return ta=n,Bl(),i}function d0(e,n){Be=null,B.H=_r,n===uo||n===ql?(n=wg(),mt=3):n===Au?(n=wg(),mt=4):mt=n===af?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,In=n,qe===null&&(Bt=1,ic(e,Kn(n,e.current)))}function u0(){var e=Rn.current;return e===null?!0:(Ke&4194048)===Ke?Xn===null:(Ke&62914560)===Ke||(Ke&536870912)!==0?e===Xn:!1}function f0(){var e=B.H;return B.H=_r,e===null?_r:e}function p0(){var e=B.A;return B.A=MS,e}function vc(){Bt=4,Da||(Ke&4194048)!==Ke&&Rn.current!==null||(bo=!0),(Ra&134217727)===0&&(Si&134217727)===0||xt===null||Oa(xt,Ke,On,!1)}function Cf(e,n,i){var l=rt;rt|=2;var f=f0(),h=p0();(xt!==e||Ke!==n)&&(hc=null,ko(e,n)),n=!1;var S=Bt;e:do try{if(mt!==0&&qe!==null){var N=qe,M=In;switch(mt){case 8:Nf(),S=6;break e;case 3:case 2:case 9:case 6:Rn.current===null&&(n=!0);var F=mt;if(mt=0,In=null,So(e,N,M,F),i&&bo){S=0;break e}break;default:F=mt,mt=0,In=null,So(e,N,M,F)}}LS(),S=Bt;break}catch(Q){d0(e,Q)}while(!0);return n&&e.shellSuspendCounter++,qs=mi=null,rt=l,B.H=f,B.A=h,qe===null&&(xt=null,Ke=0,Bl()),S}function LS(){for(;qe!==null;)m0(qe)}function BS(e,n){var i=rt;rt|=2;var l=f0(),f=p0();xt!==e||Ke!==n?(hc=null,mc=en()+500,ko(e,n)):bo=ba(e,n);e:do try{if(mt!==0&&qe!==null){n=qe;var h=In;t:switch(mt){case 1:mt=0,In=null,So(e,n,h,1);break;case 2:case 9:if(jg(h)){mt=0,In=null,h0(n);break}n=function(){mt!==2&&mt!==9||xt!==e||(mt=7),As(e)},h.then(n,n);break e;case 3:mt=7;break e;case 4:mt=5;break e;case 7:jg(h)?(mt=0,In=null,h0(n)):(mt=0,In=null,So(e,n,h,7));break;case 5:var S=null;switch(qe.tag){case 26:S=qe.memoizedState;case 5:case 27:var N=qe;if(S?ey(S):N.stateNode.complete){mt=0,In=null;var M=N.sibling;if(M!==null)qe=M;else{var F=N.return;F!==null?(qe=F,yc(F)):qe=null}break t}}mt=0,In=null,So(e,n,h,5);break;case 6:mt=0,In=null,So(e,n,h,6);break;case 8:Nf(),Bt=6;break e;default:throw Error(r(462))}}$S();break}catch(Q){d0(e,Q)}while(!0);return qs=mi=null,B.H=l,B.A=f,rt=i,qe!==null?0:(xt=null,Ke=0,Bl(),Bt)}function $S(){for(;qe!==null&&!ti();)m0(qe)}function m0(e){var n=$v(e.alternate,e,ta);e.memoizedProps=e.pendingProps,n===null?yc(e):qe=n}function h0(e){var n=e,i=n.alternate;switch(n.tag){case 15:case 0:n=Rv(i,n,n.pendingProps,n.type,void 0,Ke);break;case 11:n=Rv(i,n,n.pendingProps,n.type.render,n.ref,Ke);break;case 5:Uu(n);default:Hv(i,n),n=qe=pg(n,ta),n=$v(i,n,ta)}e.memoizedProps=e.pendingProps,n===null?yc(e):qe=n}function So(e,n,i,l){qs=mi=null,Uu(n),fo=null,fr=0;var f=n.return;try{if(wS(e,f,n,i,Ke)){Bt=1,ic(e,Kn(i,e.current)),qe=null;return}}catch(h){if(f!==null)throw qe=f,h;Bt=1,ic(e,Kn(i,e.current)),qe=null;return}n.flags&32768?(Je||l===1?e=!0:bo||(Ke&536870912)!==0?e=!1:(Da=e=!0,(l===2||l===9||l===3||l===6)&&(l=Rn.current,l!==null&&l.tag===13&&(l.flags|=16384))),g0(n,e)):yc(n)}function yc(e){var n=e;do{if((n.flags&32768)!==0){g0(n,Da);return}e=n.return;var i=ES(n.alternate,n,ta);if(i!==null){qe=i;return}if(n=n.sibling,n!==null){qe=n;return}qe=n=e}while(n!==null);Bt===0&&(Bt=5)}function g0(e,n){do{var i=AS(e.alternate,e);if(i!==null){i.flags&=32767,qe=i;return}if(i=e.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!n&&(e=e.sibling,e!==null)){qe=e;return}qe=e=i}while(e!==null);Bt=6,qe=null}function v0(e,n,i,l,f,h,S,N,M){e.cancelPendingCommit=null;do bc();while(Wt!==0);if((rt&6)!==0)throw Error(r(327));if(n!==null){if(n===e.current)throw Error(r(177));if(h=n.lanes|n.childLanes,h|=hu,ue(e,i,h,S,N,M),e===xt&&(qe=xt=null,Ke=0),xo=n,Ia=e,na=i,jf=h,Tf=f,o0=l,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,US(js,function(){return k0(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||l){l=B.T,B.T=null,f=R.p,R.p=2,S=rt,rt|=4;try{DS(e,n,i)}finally{rt=S,R.p=f,B.T=l}}Wt=1,y0(),b0(),_0()}}function y0(){if(Wt===1){Wt=0;var e=Ia,n=xo,i=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||i){i=B.T,B.T=null;var l=R.p;R.p=2;var f=rt;rt|=4;try{Xv(n,e);var h=Hf,S=ag(e.containerInfo),N=h.focusedElem,M=h.selectionRange;if(S!==N&&N&&N.ownerDocument&&sg(N.ownerDocument.documentElement,N)){if(M!==null&&du(N)){var F=M.start,Q=M.end;if(Q===void 0&&(Q=F),"selectionStart"in N)N.selectionStart=F,N.selectionEnd=Math.min(Q,N.value.length);else{var ae=N.ownerDocument||document,Z=ae&&ae.defaultView||window;if(Z.getSelection){var K=Z.getSelection(),ke=N.textContent.length,Ae=Math.min(M.start,ke),bt=M.end===void 0?Ae:Math.min(M.end,ke);!K.extend&&Ae>bt&&(S=bt,bt=Ae,Ae=S);var V=ng(N,Ae),$=ng(N,bt);if(V&&$&&(K.rangeCount!==1||K.anchorNode!==V.node||K.anchorOffset!==V.offset||K.focusNode!==$.node||K.focusOffset!==$.offset)){var q=ae.createRange();q.setStart(V.node,V.offset),K.removeAllRanges(),Ae>bt?(K.addRange(q),K.extend($.node,$.offset)):(q.setEnd($.node,$.offset),K.addRange(q))}}}}for(ae=[],K=N;K=K.parentNode;)K.nodeType===1&&ae.push({element:K,left:K.scrollLeft,top:K.scrollTop});for(typeof N.focus=="function"&&N.focus(),N=0;N<ae.length;N++){var ne=ae[N];ne.element.scrollLeft=ne.left,ne.element.scrollTop=ne.top}}Dc=!!zf,Hf=zf=null}finally{rt=f,R.p=l,B.T=i}}e.current=n,Wt=2}}function b0(){if(Wt===2){Wt=0;var e=Ia,n=xo,i=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||i){i=B.T,B.T=null;var l=R.p;R.p=2;var f=rt;rt|=4;try{Zv(e,n.alternate,n)}finally{rt=f,R.p=l,B.T=i}}Wt=3}}function _0(){if(Wt===4||Wt===3){Wt=0,va();var e=Ia,n=xo,i=na,l=o0;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?Wt=5:(Wt=0,xo=Ia=null,x0(e,e.pendingLanes));var f=e.pendingLanes;if(f===0&&(Ma=null),Oe(i),n=n.stateNode,Ct&&typeof Ct.onCommitFiberRoot=="function")try{Ct.onCommitFiberRoot(tn,n,void 0,(n.current.flags&128)===128)}catch{}if(l!==null){n=B.T,f=R.p,R.p=2,B.T=null;try{for(var h=e.onRecoverableError,S=0;S<l.length;S++){var N=l[S];h(N.value,{componentStack:N.stack})}}finally{B.T=n,R.p=f}}(na&3)!==0&&bc(),As(e),f=e.pendingLanes,(i&261930)!==0&&(f&42)!==0?e===wf?Er++:(Er=0,wf=e):Er=0,Ar(0)}}function x0(e,n){(e.pooledCacheLanes&=n)===0&&(n=e.pooledCache,n!=null&&(e.pooledCache=null,dr(n)))}function bc(){return y0(),b0(),_0(),k0()}function k0(){if(Wt!==5)return!1;var e=Ia,n=jf;jf=0;var i=Oe(na),l=B.T,f=R.p;try{R.p=32>i?32:i,B.T=null,i=Tf,Tf=null;var h=Ia,S=na;if(Wt=0,xo=Ia=null,na=0,(rt&6)!==0)throw Error(r(331));var N=rt;if(rt|=4,s0(h.current),e0(h,h.current,S,i),rt=N,Ar(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(tn,h)}catch{}return!0}finally{R.p=f,B.T=l,x0(e,n)}}function S0(e,n,i){n=Kn(i,n),n=sf(e.stateNode,n,2),e=Na(e,n,2),e!==null&&(ee(e,2),As(e))}function ht(e,n,i){if(e.tag===3)S0(e,e,i);else for(;n!==null;){if(n.tag===3){S0(n,e,i);break}else if(n.tag===1){var l=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Ma===null||!Ma.has(l))){e=Kn(i,e),i=jv(2),l=Na(n,i,2),l!==null&&(Tv(i,l,n,e),ee(l,2),As(l));break}}n=n.return}}function Ef(e,n,i){var l=e.pingCache;if(l===null){l=e.pingCache=new IS;var f=new Set;l.set(n,f)}else f=l.get(n),f===void 0&&(f=new Set,l.set(n,f));f.has(i)||(xf=!0,f.add(i),e=zS.bind(null,e,n,i),n.then(e,e))}function zS(e,n,i){var l=e.pingCache;l!==null&&l.delete(n),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,xt===e&&(Ke&i)===i&&(Bt===4||Bt===3&&(Ke&62914560)===Ke&&300>en()-pc?(rt&2)===0&&ko(e,0):kf|=i,_o===Ke&&(_o=0)),As(e)}function j0(e,n){n===0&&(n=Tl()),e=ui(e,n),e!==null&&(ee(e,n),As(e))}function HS(e){var n=e.memoizedState,i=0;n!==null&&(i=n.retryLane),j0(e,i)}function PS(e,n){var i=0;switch(e.tag){case 31:case 13:var l=e.stateNode,f=e.memoizedState;f!==null&&(i=f.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(n),j0(e,i)}function US(e,n){return ga(e,n)}var _c=null,jo=null,Af=!1,xc=!1,Df=!1,La=0;function As(e){e!==jo&&e.next===null&&(jo===null?_c=jo=e:jo=jo.next=e),xc=!0,Af||(Af=!0,GS())}function Ar(e,n){if(!Df&&xc){Df=!0;do for(var i=!1,l=_c;l!==null;){if(e!==0){var f=l.pendingLanes;if(f===0)var h=0;else{var S=l.suspendedLanes,N=l.pingedLanes;h=(1<<31-nn(42|e)+1)-1,h&=f&~(S&~N),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(i=!0,C0(l,h))}else h=Ke,h=oi(l,l===xt?h:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(h&3)===0||ba(l,h)||(i=!0,C0(l,h));l=l.next}while(i);Df=!1}}function VS(){T0()}function T0(){xc=Af=!1;var e=0;La!==0&&e2()&&(e=La);for(var n=en(),i=null,l=_c;l!==null;){var f=l.next,h=w0(l,n);h===0?(l.next=null,i===null?_c=f:i.next=f,f===null&&(jo=i)):(i=l,(e!==0||(h&3)!==0)&&(xc=!0)),l=f}Wt!==0&&Wt!==5||Ar(e),La!==0&&(La=0)}function w0(e,n){for(var i=e.suspendedLanes,l=e.pingedLanes,f=e.expirationTimes,h=e.pendingLanes&-62914561;0<h;){var S=31-nn(h),N=1<<S,M=f[S];M===-1?((N&i)===0||(N&l)!==0)&&(f[S]=jl(N,n)):M<=n&&(e.expiredLanes|=N),h&=~N}if(n=xt,i=Ke,i=oi(e,e===n?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,i===0||e===n&&(mt===2||mt===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&us(l),e.callbackNode=null,e.callbackPriority=0;if((i&3)===0||ba(e,i)){if(n=i&-i,n===e.callbackPriority)return n;switch(l!==null&&us(l),Oe(i)){case 2:case 8:i=ni;break;case 32:i=js;break;case 268435456:i=Gn;break;default:i=js}return l=N0.bind(null,e),i=ga(i,l),e.callbackPriority=n,e.callbackNode=i,n}return l!==null&&l!==null&&us(l),e.callbackPriority=2,e.callbackNode=null,2}function N0(e,n){if(Wt!==0&&Wt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var i=e.callbackNode;if(bc()&&e.callbackNode!==i)return null;var l=Ke;return l=oi(e,e===xt?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(l0(e,l,n),w0(e,en()),e.callbackNode!=null&&e.callbackNode===i?N0.bind(null,e):null)}function C0(e,n){if(bc())return null;l0(e,n,!0)}function GS(){n2(function(){(rt&6)!==0?ga(ya,VS):T0()})}function Rf(){if(La===0){var e=lo;e===0&&(e=si,si<<=1,(si&261888)===0&&(si=256)),La=e}return La}function E0(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:El(""+e)}function A0(e,n){var i=n.ownerDocument.createElement("input");return i.name=n.name,i.value=n.value,e.id&&i.setAttribute("form",e.id),n.parentNode.insertBefore(i,n),e=new FormData(e),i.parentNode.removeChild(i),e}function qS(e,n,i,l,f){if(n==="submit"&&i&&i.stateNode===f){var h=E0((f[pt]||null).action),S=l.submitter;S&&(n=(n=S[pt]||null)?E0(n.formAction):S.getAttribute("formAction"),n!==null&&(h=n,S=null));var N=new Ml("action","action",null,l,f);e.push({event:N,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(La!==0){var M=S?A0(f,S):new FormData(f);Wu(i,{pending:!0,data:M,method:f.method,action:h},null,M)}}else typeof h=="function"&&(N.preventDefault(),M=S?A0(f,S):new FormData(f),Wu(i,{pending:!0,data:M,method:f.method,action:h},h,M))},currentTarget:f}]})}}for(var Mf=0;Mf<mu.length;Mf++){var If=mu[Mf],FS=If.toLowerCase(),ZS=If[0].toUpperCase()+If.slice(1);fs(FS,"on"+ZS)}fs(rg,"onAnimationEnd"),fs(lg,"onAnimationIteration"),fs(cg,"onAnimationStart"),fs("dblclick","onDoubleClick"),fs("focusin","onFocus"),fs("focusout","onBlur"),fs(cS,"onTransitionRun"),fs(dS,"onTransitionStart"),fs(uS,"onTransitionCancel"),fs(dg,"onTransitionEnd"),Ki("onMouseEnter",["mouseout","mouseover"]),Ki("onMouseLeave",["mouseout","mouseover"]),Ki("onPointerEnter",["pointerout","pointerover"]),Ki("onPointerLeave",["pointerout","pointerover"]),ri("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ri("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ri("onBeforeInput",["compositionend","keypress","textInput","paste"]),ri("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ri("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ri("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="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(" "),KS=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Dr));function D0(e,n){n=(n&4)!==0;for(var i=0;i<e.length;i++){var l=e[i],f=l.event;l=l.listeners;e:{var h=void 0;if(n)for(var S=l.length-1;0<=S;S--){var N=l[S],M=N.instance,F=N.currentTarget;if(N=N.listener,M!==h&&f.isPropagationStopped())break e;h=N,f.currentTarget=F;try{h(f)}catch(Q){Ll(Q)}f.currentTarget=null,h=M}else for(S=0;S<l.length;S++){if(N=l[S],M=N.instance,F=N.currentTarget,N=N.listener,M!==h&&f.isPropagationStopped())break e;h=N,f.currentTarget=F;try{h(f)}catch(Q){Ll(Q)}f.currentTarget=null,h=M}}}}function Fe(e,n){var i=n[ws];i===void 0&&(i=n[ws]=new Set);var l=e+"__bubble";i.has(l)||(R0(n,e,2,!1),i.add(l))}function Of(e,n,i){var l=0;n&&(l|=4),R0(i,e,l,n)}var kc="_reactListening"+Math.random().toString(36).slice(2);function Lf(e){if(!e[kc]){e[kc]=!0,Th.forEach(function(i){i!=="selectionchange"&&(KS.has(i)||Of(i,!1,e),Of(i,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[kc]||(n[kc]=!0,Of("selectionchange",!1,n))}}function R0(e,n,i,l){switch(ry(n)){case 2:var f=k2;break;case 8:f=S2;break;default:f=Wf}i=f.bind(null,n,i,e),f=void 0,!tu||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(f=!0),l?f!==void 0?e.addEventListener(n,i,{capture:!0,passive:f}):e.addEventListener(n,i,!0):f!==void 0?e.addEventListener(n,i,{passive:f}):e.addEventListener(n,i,!1)}function Bf(e,n,i,l,f){var h=l;if((n&1)===0&&(n&2)===0&&l!==null)e:for(;;){if(l===null)return;var S=l.tag;if(S===3||S===4){var N=l.stateNode.containerInfo;if(N===f)break;if(S===4)for(S=l.return;S!==null;){var M=S.tag;if((M===3||M===4)&&S.stateNode.containerInfo===f)return;S=S.return}for(;N!==null;){if(S=qi(N),S===null)return;if(M=S.tag,M===5||M===6||M===26||M===27){l=h=S;continue e}N=N.parentNode}}l=l.return}Bh(function(){var F=h,Q=Qd(i),ae=[];e:{var Z=ug.get(e);if(Z!==void 0){var K=Ml,ke=e;switch(e){case"keypress":if(Dl(i)===0)break e;case"keydown":case"keyup":K=Pk;break;case"focusin":ke="focus",K=iu;break;case"focusout":ke="blur",K=iu;break;case"beforeblur":case"afterblur":K=iu;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":K=Hh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":K=Ek;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":K=Gk;break;case rg:case lg:case cg:K=Rk;break;case dg:K=Fk;break;case"scroll":case"scrollend":K=Nk;break;case"wheel":K=Kk;break;case"copy":case"cut":case"paste":K=Ik;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":K=Uh;break;case"toggle":case"beforetoggle":K=Jk}var Ae=(n&4)!==0,bt=!Ae&&(e==="scroll"||e==="scrollend"),V=Ae?Z!==null?Z+"Capture":null:Z;Ae=[];for(var $=F,q;$!==null;){var ne=$;if(q=ne.stateNode,ne=ne.tag,ne!==5&&ne!==26&&ne!==27||q===null||V===null||(ne=Qo($,V),ne!=null&&Ae.push(Rr($,ne,q))),bt)break;$=$.return}0<Ae.length&&(Z=new K(Z,ke,null,i,Q),ae.push({event:Z,listeners:Ae}))}}if((n&7)===0){e:{if(Z=e==="mouseover"||e==="pointerover",K=e==="mouseout"||e==="pointerout",Z&&i!==Xd&&(ke=i.relatedTarget||i.fromElement)&&(qi(ke)||ke[kt]))break e;if((K||Z)&&(Z=Q.window===Q?Q:(Z=Q.ownerDocument)?Z.defaultView||Z.parentWindow:window,K?(ke=i.relatedTarget||i.toElement,K=F,ke=ke?qi(ke):null,ke!==null&&(bt=d(ke),Ae=ke.tag,ke!==bt||Ae!==5&&Ae!==27&&Ae!==6)&&(ke=null)):(K=null,ke=F),K!==ke)){if(Ae=Hh,ne="onMouseLeave",V="onMouseEnter",$="mouse",(e==="pointerout"||e==="pointerover")&&(Ae=Uh,ne="onPointerLeave",V="onPointerEnter",$="pointer"),bt=K==null?Z:Xo(K),q=ke==null?Z:Xo(ke),Z=new Ae(ne,$+"leave",K,i,Q),Z.target=bt,Z.relatedTarget=q,ne=null,qi(Q)===F&&(Ae=new Ae(V,$+"enter",ke,i,Q),Ae.target=q,Ae.relatedTarget=bt,ne=Ae),bt=ne,K&&ke)t:{for(Ae=YS,V=K,$=ke,q=0,ne=V;ne;ne=Ae(ne))q++;ne=0;for(var Ce=$;Ce;Ce=Ae(Ce))ne++;for(;0<q-ne;)V=Ae(V),q--;for(;0<ne-q;)$=Ae($),ne--;for(;q--;){if(V===$||$!==null&&V===$.alternate){Ae=V;break t}V=Ae(V),$=Ae($)}Ae=null}else Ae=null;K!==null&&M0(ae,Z,K,Ae,!1),ke!==null&&bt!==null&&M0(ae,bt,ke,Ae,!0)}}e:{if(Z=F?Xo(F):window,K=Z.nodeName&&Z.nodeName.toLowerCase(),K==="select"||K==="input"&&Z.type==="file")var tt=Jh;else if(Kh(Z))if(Wh)tt=oS;else{tt=aS;var je=sS}else K=Z.nodeName,!K||K.toLowerCase()!=="input"||Z.type!=="checkbox"&&Z.type!=="radio"?F&&Wd(F.elementType)&&(tt=Jh):tt=iS;if(tt&&(tt=tt(e,F))){Yh(ae,tt,i,Q);break e}je&&je(e,Z,F),e==="focusout"&&F&&Z.type==="number"&&F.memoizedProps.value!=null&&Jd(Z,"number",Z.value)}switch(je=F?Xo(F):window,e){case"focusin":(Kh(je)||je.contentEditable==="true")&&(eo=je,uu=F,rr=null);break;case"focusout":rr=uu=eo=null;break;case"mousedown":fu=!0;break;case"contextmenu":case"mouseup":case"dragend":fu=!1,ig(ae,i,Q);break;case"selectionchange":if(lS)break;case"keydown":case"keyup":ig(ae,i,Q)}var ze;if(ru)e:{switch(e){case"compositionstart":var Ye="onCompositionStart";break e;case"compositionend":Ye="onCompositionEnd";break e;case"compositionupdate":Ye="onCompositionUpdate";break e}Ye=void 0}else Qi?Fh(e,i)&&(Ye="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(Ye="onCompositionStart");Ye&&(Vh&&i.locale!=="ko"&&(Qi||Ye!=="onCompositionStart"?Ye==="onCompositionEnd"&&Qi&&(ze=$h()):(_a=Q,nu="value"in _a?_a.value:_a.textContent,Qi=!0)),je=Sc(F,Ye),0<je.length&&(Ye=new Ph(Ye,e,null,i,Q),ae.push({event:Ye,listeners:je}),ze?Ye.data=ze:(ze=Zh(i),ze!==null&&(Ye.data=ze)))),(ze=Xk?Qk(e,i):eS(e,i))&&(Ye=Sc(F,"onBeforeInput"),0<Ye.length&&(je=new Ph("onBeforeInput","beforeinput",null,i,Q),ae.push({event:je,listeners:Ye}),je.data=ze)),qS(ae,e,F,i,Q)}D0(ae,n)})}function Rr(e,n,i){return{instance:e,listener:n,currentTarget:i}}function Sc(e,n){for(var i=n+"Capture",l=[];e!==null;){var f=e,h=f.stateNode;if(f=f.tag,f!==5&&f!==26&&f!==27||h===null||(f=Qo(e,i),f!=null&&l.unshift(Rr(e,f,h)),f=Qo(e,n),f!=null&&l.push(Rr(e,f,h))),e.tag===3)return l;e=e.return}return[]}function YS(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function M0(e,n,i,l,f){for(var h=n._reactName,S=[];i!==null&&i!==l;){var N=i,M=N.alternate,F=N.stateNode;if(N=N.tag,M!==null&&M===l)break;N!==5&&N!==26&&N!==27||F===null||(M=F,f?(F=Qo(i,h),F!=null&&S.unshift(Rr(i,F,M))):f||(F=Qo(i,h),F!=null&&S.push(Rr(i,F,M)))),i=i.return}S.length!==0&&e.push({event:n,listeners:S})}var JS=/\r\n?/g,WS=/\u0000|\uFFFD/g;function I0(e){return(typeof e=="string"?e:""+e).replace(JS,`
26
- `).replace(WS,"")}function O0(e,n){return n=I0(n),I0(e)===n}function yt(e,n,i,l,f,h){switch(i){case"children":typeof l=="string"?n==="body"||n==="textarea"&&l===""||Ji(e,l):(typeof l=="number"||typeof l=="bigint")&&n!=="body"&&Ji(e,""+l);break;case"className":Nl(e,"class",l);break;case"tabIndex":Nl(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Nl(e,i,l);break;case"style":Oh(e,l,h);break;case"data":if(n!=="object"){Nl(e,"data",l);break}case"src":case"href":if(l===""&&(n!=="a"||i!=="href")){e.removeAttribute(i);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(i);break}l=El(""+l),e.setAttribute(i,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(i,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof h=="function"&&(i==="formAction"?(n!=="input"&&yt(e,n,"name",f.name,f,null),yt(e,n,"formEncType",f.formEncType,f,null),yt(e,n,"formMethod",f.formMethod,f,null),yt(e,n,"formTarget",f.formTarget,f,null)):(yt(e,n,"encType",f.encType,f,null),yt(e,n,"method",f.method,f,null),yt(e,n,"target",f.target,f,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(i);break}l=El(""+l),e.setAttribute(i,l);break;case"onClick":l!=null&&(e.onclick=Ps);break;case"onScroll":l!=null&&Fe("scroll",e);break;case"onScrollEnd":l!=null&&Fe("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(i=l.__html,i!=null){if(f.children!=null)throw Error(r(60));e.innerHTML=i}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}i=El(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(i,""+l):e.removeAttribute(i);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(i,""):e.removeAttribute(i);break;case"capture":case"download":l===!0?e.setAttribute(i,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(i,l):e.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(i,l):e.removeAttribute(i);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(i):e.setAttribute(i,l);break;case"popover":Fe("beforetoggle",e),Fe("toggle",e),wl(e,"popover",l);break;case"xlinkActuate":Hs(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":Hs(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":Hs(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":Hs(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":Hs(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":Hs(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":Hs(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":Hs(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":Hs(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":wl(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=Tk.get(i)||i,wl(e,i,l))}}function $f(e,n,i,l,f,h){switch(i){case"style":Oh(e,l,h);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(i=l.__html,i!=null){if(f.children!=null)throw Error(r(60));e.innerHTML=i}}break;case"children":typeof l=="string"?Ji(e,l):(typeof l=="number"||typeof l=="bigint")&&Ji(e,""+l);break;case"onScroll":l!=null&&Fe("scroll",e);break;case"onScrollEnd":l!=null&&Fe("scrollend",e);break;case"onClick":l!=null&&(e.onclick=Ps);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!wh.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(f=i.endsWith("Capture"),n=i.slice(2,f?i.length-7:void 0),h=e[pt]||null,h=h!=null?h[i]:null,typeof h=="function"&&e.removeEventListener(n,h,f),typeof l=="function")){typeof h!="function"&&h!==null&&(i in e?e[i]=null:e.hasAttribute(i)&&e.removeAttribute(i)),e.addEventListener(n,l,f);break e}i in e?e[i]=l:l===!0?e.setAttribute(i,""):wl(e,i,l)}}}function un(e,n,i){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Fe("error",e),Fe("load",e);var l=!1,f=!1,h;for(h in i)if(i.hasOwnProperty(h)){var S=i[h];if(S!=null)switch(h){case"src":l=!0;break;case"srcSet":f=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:yt(e,n,h,S,i,null)}}f&&yt(e,n,"srcSet",i.srcSet,i,null),l&&yt(e,n,"src",i.src,i,null);return;case"input":Fe("invalid",e);var N=h=S=f=null,M=null,F=null;for(l in i)if(i.hasOwnProperty(l)){var Q=i[l];if(Q!=null)switch(l){case"name":f=Q;break;case"type":S=Q;break;case"checked":M=Q;break;case"defaultChecked":F=Q;break;case"value":h=Q;break;case"defaultValue":N=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(r(137,n));break;default:yt(e,n,l,Q,i,null)}}Dh(e,h,N,M,F,S,f,!1);return;case"select":Fe("invalid",e),l=S=h=null;for(f in i)if(i.hasOwnProperty(f)&&(N=i[f],N!=null))switch(f){case"value":h=N;break;case"defaultValue":S=N;break;case"multiple":l=N;default:yt(e,n,f,N,i,null)}n=h,i=S,e.multiple=!!l,n!=null?Yi(e,!!l,n,!1):i!=null&&Yi(e,!!l,i,!0);return;case"textarea":Fe("invalid",e),h=f=l=null;for(S in i)if(i.hasOwnProperty(S)&&(N=i[S],N!=null))switch(S){case"value":l=N;break;case"defaultValue":f=N;break;case"children":h=N;break;case"dangerouslySetInnerHTML":if(N!=null)throw Error(r(91));break;default:yt(e,n,S,N,i,null)}Mh(e,l,f,h);return;case"option":for(M in i)if(i.hasOwnProperty(M)&&(l=i[M],l!=null))switch(M){case"selected":e.selected=l&&typeof l!="function"&&typeof l!="symbol";break;default:yt(e,n,M,l,i,null)}return;case"dialog":Fe("beforetoggle",e),Fe("toggle",e),Fe("cancel",e),Fe("close",e);break;case"iframe":case"object":Fe("load",e);break;case"video":case"audio":for(l=0;l<Dr.length;l++)Fe(Dr[l],e);break;case"image":Fe("error",e),Fe("load",e);break;case"details":Fe("toggle",e);break;case"embed":case"source":case"link":Fe("error",e),Fe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(F in i)if(i.hasOwnProperty(F)&&(l=i[F],l!=null))switch(F){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:yt(e,n,F,l,i,null)}return;default:if(Wd(n)){for(Q in i)i.hasOwnProperty(Q)&&(l=i[Q],l!==void 0&&$f(e,n,Q,l,i,void 0));return}}for(N in i)i.hasOwnProperty(N)&&(l=i[N],l!=null&&yt(e,n,N,l,i,null))}function XS(e,n,i,l){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var f=null,h=null,S=null,N=null,M=null,F=null,Q=null;for(K in i){var ae=i[K];if(i.hasOwnProperty(K)&&ae!=null)switch(K){case"checked":break;case"value":break;case"defaultValue":M=ae;default:l.hasOwnProperty(K)||yt(e,n,K,null,l,ae)}}for(var Z in l){var K=l[Z];if(ae=i[Z],l.hasOwnProperty(Z)&&(K!=null||ae!=null))switch(Z){case"type":h=K;break;case"name":f=K;break;case"checked":F=K;break;case"defaultChecked":Q=K;break;case"value":S=K;break;case"defaultValue":N=K;break;case"children":case"dangerouslySetInnerHTML":if(K!=null)throw Error(r(137,n));break;default:K!==ae&&yt(e,n,Z,K,l,ae)}}Yd(e,S,N,M,F,Q,h,f);return;case"select":K=S=N=Z=null;for(h in i)if(M=i[h],i.hasOwnProperty(h)&&M!=null)switch(h){case"value":break;case"multiple":K=M;default:l.hasOwnProperty(h)||yt(e,n,h,null,l,M)}for(f in l)if(h=l[f],M=i[f],l.hasOwnProperty(f)&&(h!=null||M!=null))switch(f){case"value":Z=h;break;case"defaultValue":N=h;break;case"multiple":S=h;default:h!==M&&yt(e,n,f,h,l,M)}n=N,i=S,l=K,Z!=null?Yi(e,!!i,Z,!1):!!l!=!!i&&(n!=null?Yi(e,!!i,n,!0):Yi(e,!!i,i?[]:"",!1));return;case"textarea":K=Z=null;for(N in i)if(f=i[N],i.hasOwnProperty(N)&&f!=null&&!l.hasOwnProperty(N))switch(N){case"value":break;case"children":break;default:yt(e,n,N,null,l,f)}for(S in l)if(f=l[S],h=i[S],l.hasOwnProperty(S)&&(f!=null||h!=null))switch(S){case"value":Z=f;break;case"defaultValue":K=f;break;case"children":break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(r(91));break;default:f!==h&&yt(e,n,S,f,l,h)}Rh(e,Z,K);return;case"option":for(var ke in i)if(Z=i[ke],i.hasOwnProperty(ke)&&Z!=null&&!l.hasOwnProperty(ke))switch(ke){case"selected":e.selected=!1;break;default:yt(e,n,ke,null,l,Z)}for(M in l)if(Z=l[M],K=i[M],l.hasOwnProperty(M)&&Z!==K&&(Z!=null||K!=null))switch(M){case"selected":e.selected=Z&&typeof Z!="function"&&typeof Z!="symbol";break;default:yt(e,n,M,Z,l,K)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ae in i)Z=i[Ae],i.hasOwnProperty(Ae)&&Z!=null&&!l.hasOwnProperty(Ae)&&yt(e,n,Ae,null,l,Z);for(F in l)if(Z=l[F],K=i[F],l.hasOwnProperty(F)&&Z!==K&&(Z!=null||K!=null))switch(F){case"children":case"dangerouslySetInnerHTML":if(Z!=null)throw Error(r(137,n));break;default:yt(e,n,F,Z,l,K)}return;default:if(Wd(n)){for(var bt in i)Z=i[bt],i.hasOwnProperty(bt)&&Z!==void 0&&!l.hasOwnProperty(bt)&&$f(e,n,bt,void 0,l,Z);for(Q in l)Z=l[Q],K=i[Q],!l.hasOwnProperty(Q)||Z===K||Z===void 0&&K===void 0||$f(e,n,Q,Z,l,K);return}}for(var V in i)Z=i[V],i.hasOwnProperty(V)&&Z!=null&&!l.hasOwnProperty(V)&&yt(e,n,V,null,l,Z);for(ae in l)Z=l[ae],K=i[ae],!l.hasOwnProperty(ae)||Z===K||Z==null&&K==null||yt(e,n,ae,Z,l,K)}function L0(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function QS(){if(typeof performance.getEntriesByType=="function"){for(var e=0,n=0,i=performance.getEntriesByType("resource"),l=0;l<i.length;l++){var f=i[l],h=f.transferSize,S=f.initiatorType,N=f.duration;if(h&&N&&L0(S)){for(S=0,N=f.responseEnd,l+=1;l<i.length;l++){var M=i[l],F=M.startTime;if(F>N)break;var Q=M.transferSize,ae=M.initiatorType;Q&&L0(ae)&&(M=M.responseEnd,S+=Q*(M<N?1:(N-F)/(M-F)))}if(--l,n+=8*(h+S)/(f.duration/1e3),e++,10<e)break}}if(0<e)return n/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var zf=null,Hf=null;function jc(e){return e.nodeType===9?e:e.ownerDocument}function B0(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function $0(e,n){if(e===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&n==="foreignObject"?0:e}function Pf(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var Uf=null;function e2(){var e=window.event;return e&&e.type==="popstate"?e===Uf?!1:(Uf=e,!0):(Uf=null,!1)}var z0=typeof setTimeout=="function"?setTimeout:void 0,t2=typeof clearTimeout=="function"?clearTimeout:void 0,H0=typeof Promise=="function"?Promise:void 0,n2=typeof queueMicrotask=="function"?queueMicrotask:typeof H0<"u"?function(e){return H0.resolve(null).then(e).catch(s2)}:z0;function s2(e){setTimeout(function(){throw e})}function Ba(e){return e==="head"}function P0(e,n){var i=n,l=0;do{var f=i.nextSibling;if(e.removeChild(i),f&&f.nodeType===8)if(i=f.data,i==="/$"||i==="/&"){if(l===0){e.removeChild(f),Co(n);return}l--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")l++;else if(i==="html")Mr(e.ownerDocument.documentElement);else if(i==="head"){i=e.ownerDocument.head,Mr(i);for(var h=i.firstChild;h;){var S=h.nextSibling,N=h.nodeName;h[Wo]||N==="SCRIPT"||N==="STYLE"||N==="LINK"&&h.rel.toLowerCase()==="stylesheet"||i.removeChild(h),h=S}}else i==="body"&&Mr(e.ownerDocument.body);i=f}while(i);Co(n)}function U0(e,n){var i=e;e=0;do{var l=i.nextSibling;if(i.nodeType===1?n?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(n?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),l&&l.nodeType===8)if(i=l.data,i==="/$"){if(e===0)break;e--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||e++;i=l}while(i)}function Vf(e){var n=e.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var i=n;switch(n=n.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":Vf(i),Zd(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}e.removeChild(i)}}function a2(e,n,i,l){for(;e.nodeType===1;){var f=i;if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[Wo])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(h=e.getAttribute("rel"),h==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(h!==f.rel||e.getAttribute("href")!==(f.href==null||f.href===""?null:f.href)||e.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin)||e.getAttribute("title")!==(f.title==null?null:f.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(h=e.getAttribute("src"),(h!==(f.src==null?null:f.src)||e.getAttribute("type")!==(f.type==null?null:f.type)||e.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin))&&h&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(n==="input"&&e.type==="hidden"){var h=f.name==null?null:""+f.name;if(f.type==="hidden"&&e.getAttribute("name")===h)return e}else return e;if(e=Qn(e.nextSibling),e===null)break}return null}function i2(e,n,i){if(n==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!i||(e=Qn(e.nextSibling),e===null))return null;return e}function V0(e,n){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qn(e.nextSibling),e===null))return null;return e}function Gf(e){return e.data==="$?"||e.data==="$~"}function qf(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function o2(e,n){var i=e.ownerDocument;if(e.data==="$~")e._reactRetry=n;else if(e.data!=="$?"||i.readyState!=="loading")n();else{var l=function(){n(),i.removeEventListener("DOMContentLoaded",l)};i.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Qn(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return e}var Ff=null;function G0(e){e=e.nextSibling;for(var n=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"||i==="/&"){if(n===0)return Qn(e.nextSibling);n--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||n++}e=e.nextSibling}return null}function q0(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(n===0)return e;n--}else i!=="/$"&&i!=="/&"||n++}e=e.previousSibling}return null}function F0(e,n,i){switch(n=jc(i),e){case"html":if(e=n.documentElement,!e)throw Error(r(452));return e;case"head":if(e=n.head,!e)throw Error(r(453));return e;case"body":if(e=n.body,!e)throw Error(r(454));return e;default:throw Error(r(451))}}function Mr(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);Zd(e)}var es=new Map,Z0=new Set;function Tc(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var sa=R.d;R.d={f:r2,r:l2,D:c2,C:d2,L:u2,m:f2,X:m2,S:p2,M:h2};function r2(){var e=sa.f(),n=gc();return e||n}function l2(e){var n=Fi(e);n!==null&&n.tag===5&&n.type==="form"?dv(n):sa.r(e)}var To=typeof document>"u"?null:document;function K0(e,n,i){var l=To;if(l&&typeof n=="string"&&n){var f=Fn(n);f='link[rel="'+e+'"][href="'+f+'"]',typeof i=="string"&&(f+='[crossorigin="'+i+'"]'),Z0.has(f)||(Z0.add(f),e={rel:e,crossOrigin:i,href:n},l.querySelector(f)===null&&(n=l.createElement("link"),un(n,"link",e),sn(n),l.head.appendChild(n)))}}function c2(e){sa.D(e),K0("dns-prefetch",e,null)}function d2(e,n){sa.C(e,n),K0("preconnect",e,n)}function u2(e,n,i){sa.L(e,n,i);var l=To;if(l&&e&&n){var f='link[rel="preload"][as="'+Fn(n)+'"]';n==="image"&&i&&i.imageSrcSet?(f+='[imagesrcset="'+Fn(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(f+='[imagesizes="'+Fn(i.imageSizes)+'"]')):f+='[href="'+Fn(e)+'"]';var h=f;switch(n){case"style":h=wo(e);break;case"script":h=No(e)}es.has(h)||(e=_({rel:"preload",href:n==="image"&&i&&i.imageSrcSet?void 0:e,as:n},i),es.set(h,e),l.querySelector(f)!==null||n==="style"&&l.querySelector(Ir(h))||n==="script"&&l.querySelector(Or(h))||(n=l.createElement("link"),un(n,"link",e),sn(n),l.head.appendChild(n)))}}function f2(e,n){sa.m(e,n);var i=To;if(i&&e){var l=n&&typeof n.as=="string"?n.as:"script",f='link[rel="modulepreload"][as="'+Fn(l)+'"][href="'+Fn(e)+'"]',h=f;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=No(e)}if(!es.has(h)&&(e=_({rel:"modulepreload",href:e},n),es.set(h,e),i.querySelector(f)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(Or(h)))return}l=i.createElement("link"),un(l,"link",e),sn(l),i.head.appendChild(l)}}}function p2(e,n,i){sa.S(e,n,i);var l=To;if(l&&e){var f=Zi(l).hoistableStyles,h=wo(e);n=n||"default";var S=f.get(h);if(!S){var N={loading:0,preload:null};if(S=l.querySelector(Ir(h)))N.loading=5;else{e=_({rel:"stylesheet",href:e,"data-precedence":n},i),(i=es.get(h))&&Zf(e,i);var M=S=l.createElement("link");sn(M),un(M,"link",e),M._p=new Promise(function(F,Q){M.onload=F,M.onerror=Q}),M.addEventListener("load",function(){N.loading|=1}),M.addEventListener("error",function(){N.loading|=2}),N.loading|=4,wc(S,n,l)}S={type:"stylesheet",instance:S,count:1,state:N},f.set(h,S)}}}function m2(e,n){sa.X(e,n);var i=To;if(i&&e){var l=Zi(i).hoistableScripts,f=No(e),h=l.get(f);h||(h=i.querySelector(Or(f)),h||(e=_({src:e,async:!0},n),(n=es.get(f))&&Kf(e,n),h=i.createElement("script"),sn(h),un(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(f,h))}}function h2(e,n){sa.M(e,n);var i=To;if(i&&e){var l=Zi(i).hoistableScripts,f=No(e),h=l.get(f);h||(h=i.querySelector(Or(f)),h||(e=_({src:e,async:!0,type:"module"},n),(n=es.get(f))&&Kf(e,n),h=i.createElement("script"),sn(h),un(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(f,h))}}function Y0(e,n,i,l){var f=(f=gt.current)?Tc(f):null;if(!f)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(n=wo(i.href),i=Zi(f).hoistableStyles,l=i.get(n),l||(l={type:"style",instance:null,count:0,state:null},i.set(n,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=wo(i.href);var h=Zi(f).hoistableStyles,S=h.get(e);if(S||(f=f.ownerDocument||f,S={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(e,S),(h=f.querySelector(Ir(e)))&&!h._p&&(S.instance=h,S.state.loading=5),es.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},es.set(e,i),h||g2(f,e,i,S.state))),n&&l===null)throw Error(r(528,""));return S}if(n&&l!==null)throw Error(r(529,""));return null;case"script":return n=i.async,i=i.src,typeof i=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=No(i),i=Zi(f).hoistableScripts,l=i.get(n),l||(l={type:"script",instance:null,count:0,state:null},i.set(n,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function wo(e){return'href="'+Fn(e)+'"'}function Ir(e){return'link[rel="stylesheet"]['+e+"]"}function J0(e){return _({},e,{"data-precedence":e.precedence,precedence:null})}function g2(e,n,i,l){e.querySelector('link[rel="preload"][as="style"]['+n+"]")?l.loading=1:(n=e.createElement("link"),l.preload=n,n.addEventListener("load",function(){return l.loading|=1}),n.addEventListener("error",function(){return l.loading|=2}),un(n,"link",i),sn(n),e.head.appendChild(n))}function No(e){return'[src="'+Fn(e)+'"]'}function Or(e){return"script[async]"+e}function W0(e,n,i){if(n.count++,n.instance===null)switch(n.type){case"style":var l=e.querySelector('style[data-href~="'+Fn(i.href)+'"]');if(l)return n.instance=l,sn(l),l;var f=_({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),sn(l),un(l,"style",f),wc(l,i.precedence,e),n.instance=l;case"stylesheet":f=wo(i.href);var h=e.querySelector(Ir(f));if(h)return n.state.loading|=4,n.instance=h,sn(h),h;l=J0(i),(f=es.get(f))&&Zf(l,f),h=(e.ownerDocument||e).createElement("link"),sn(h);var S=h;return S._p=new Promise(function(N,M){S.onload=N,S.onerror=M}),un(h,"link",l),n.state.loading|=4,wc(h,i.precedence,e),n.instance=h;case"script":return h=No(i.src),(f=e.querySelector(Or(h)))?(n.instance=f,sn(f),f):(l=i,(f=es.get(h))&&(l=_({},i),Kf(l,f)),e=e.ownerDocument||e,f=e.createElement("script"),sn(f),un(f,"link",l),e.head.appendChild(f),n.instance=f);case"void":return null;default:throw Error(r(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(l=n.instance,n.state.loading|=4,wc(l,i.precedence,e));return n.instance}function wc(e,n,i){for(var l=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=l.length?l[l.length-1]:null,h=f,S=0;S<l.length;S++){var N=l[S];if(N.dataset.precedence===n)h=N;else if(h!==f)break}h?h.parentNode.insertBefore(e,h.nextSibling):(n=i.nodeType===9?i.head:i,n.insertBefore(e,n.firstChild))}function Zf(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.title==null&&(e.title=n.title)}function Kf(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.integrity==null&&(e.integrity=n.integrity)}var Nc=null;function X0(e,n,i){if(Nc===null){var l=new Map,f=Nc=new Map;f.set(i,l)}else f=Nc,l=f.get(i),l||(l=new Map,f.set(i,l));if(l.has(e))return l;for(l.set(e,null),i=i.getElementsByTagName(e),f=0;f<i.length;f++){var h=i[f];if(!(h[Wo]||h[et]||e==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var S=h.getAttribute(n)||"";S=e+S;var N=l.get(S);N?N.push(h):l.set(S,[h])}}return l}function Q0(e,n,i){e=e.ownerDocument||e,e.head.insertBefore(i,n==="title"?e.querySelector("head > title"):null)}function v2(e,n,i){if(i===1||n.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;switch(n.rel){case"stylesheet":return e=n.disabled,typeof n.precedence=="string"&&e==null;default:return!0}case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function ey(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function y2(e,n,i,l){if(i.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var f=wo(l.href),h=n.querySelector(Ir(f));if(h){n=h._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(e.count++,e=Cc.bind(e),n.then(e,e)),i.state.loading|=4,i.instance=h,sn(h);return}h=n.ownerDocument||n,l=J0(l),(f=es.get(f))&&Zf(l,f),h=h.createElement("link"),sn(h);var S=h;S._p=new Promise(function(N,M){S.onload=N,S.onerror=M}),un(h,"link",l),i.instance=h}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,n),(n=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=Cc.bind(e),n.addEventListener("load",i),n.addEventListener("error",i))}}var Yf=0;function b2(e,n){return e.stylesheets&&e.count===0&&Ac(e,e.stylesheets),0<e.count||0<e.imgCount?function(i){var l=setTimeout(function(){if(e.stylesheets&&Ac(e,e.stylesheets),e.unsuspend){var h=e.unsuspend;e.unsuspend=null,h()}},6e4+n);0<e.imgBytes&&Yf===0&&(Yf=62500*QS());var f=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Ac(e,e.stylesheets),e.unsuspend)){var h=e.unsuspend;e.unsuspend=null,h()}},(e.imgBytes>Yf?50:800)+n);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(f)}}:null}function Cc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ac(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ec=null;function Ac(e,n){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ec=new Map,n.forEach(_2,e),Ec=null,Cc.call(e))}function _2(e,n){if(!(n.state.loading&4)){var i=Ec.get(e);if(i)var l=i.get(null);else{i=new Map,Ec.set(e,i);for(var f=e.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<f.length;h++){var S=f[h];(S.nodeName==="LINK"||S.getAttribute("media")!=="not all")&&(i.set(S.dataset.precedence,S),l=S)}l&&i.set(null,l)}f=n.instance,S=f.getAttribute("data-precedence"),h=i.get(S)||l,h===l&&i.set(null,f),i.set(S,f),this.count++,l=Cc.bind(this),f.addEventListener("load",l),f.addEventListener("error",l),h?h.parentNode.insertBefore(f,h.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(f,e.firstChild)),n.state.loading|=4}}var Lr={$$typeof:A,Provider:null,Consumer:null,_currentValue:se,_currentValue2:se,_threadCount:0};function x2(e,n,i,l,f,h,S,N,M){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=P(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=P(0),this.hiddenUpdates=P(null),this.identifierPrefix=l,this.onUncaughtError=f,this.onCaughtError=h,this.onRecoverableError=S,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=M,this.incompleteTransitions=new Map}function ty(e,n,i,l,f,h,S,N,M,F,Q,ae){return e=new x2(e,n,i,S,M,F,Q,ae,N),n=1,h===!0&&(n|=24),h=Dn(3,null,null,n),e.current=h,h.stateNode=e,n=Nu(),n.refCount++,e.pooledCache=n,n.refCount++,h.memoizedState={element:l,isDehydrated:i,cache:n},Du(h),e}function ny(e){return e?(e=so,e):so}function sy(e,n,i,l,f,h){f=ny(f),l.context===null?l.context=f:l.pendingContext=f,l=wa(n),l.payload={element:i},h=h===void 0?null:h,h!==null&&(l.callback=h),i=Na(e,l,n),i!==null&&(En(i,e,n),mr(i,e,n))}function ay(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<n?i:n}}function Jf(e,n){ay(e,n),(e=e.alternate)&&ay(e,n)}function iy(e){if(e.tag===13||e.tag===31){var n=ui(e,67108864);n!==null&&En(n,e,67108864),Jf(e,67108864)}}function oy(e){if(e.tag===13||e.tag===31){var n=Ln();n=Te(n);var i=ui(e,n);i!==null&&En(i,e,n),Jf(e,n)}}var Dc=!0;function k2(e,n,i,l){var f=B.T;B.T=null;var h=R.p;try{R.p=2,Wf(e,n,i,l)}finally{R.p=h,B.T=f}}function S2(e,n,i,l){var f=B.T;B.T=null;var h=R.p;try{R.p=8,Wf(e,n,i,l)}finally{R.p=h,B.T=f}}function Wf(e,n,i,l){if(Dc){var f=Xf(l);if(f===null)Bf(e,n,l,Rc,i),ly(e,l);else if(T2(f,e,n,i,l))l.stopPropagation();else if(ly(e,l),n&4&&-1<j2.indexOf(e)){for(;f!==null;){var h=Fi(f);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var S=Ts(h.pendingLanes);if(S!==0){var N=h;for(N.pendingLanes|=2,N.entangledLanes|=2;S;){var M=1<<31-nn(S);N.entanglements[1]|=M,S&=~M}As(h),(rt&6)===0&&(mc=en()+500,Ar(0))}}break;case 31:case 13:N=ui(h,2),N!==null&&En(N,h,2),gc(),Jf(h,2)}if(h=Xf(l),h===null&&Bf(e,n,l,Rc,i),h===f)break;f=h}f!==null&&l.stopPropagation()}else Bf(e,n,l,null,i)}}function Xf(e){return e=Qd(e),Qf(e)}var Rc=null;function Qf(e){if(Rc=null,e=qi(e),e!==null){var n=d(e);if(n===null)e=null;else{var i=n.tag;if(i===13){if(e=u(n),e!==null)return e;e=null}else if(i===31){if(e=p(n),e!==null)return e;e=null}else if(i===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null)}}return Rc=e,null}function ry(e){switch(e){case"beforetoggle":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"toggle":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 2;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"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Hi()){case ya:return 2;case ni:return 8;case js:case Pi:return 32;case Gn:return 268435456;default:return 32}default:return 32}}var ep=!1,$a=null,za=null,Ha=null,Br=new Map,$r=new Map,Pa=[],j2="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".split(" ");function ly(e,n){switch(e){case"focusin":case"focusout":$a=null;break;case"dragenter":case"dragleave":za=null;break;case"mouseover":case"mouseout":Ha=null;break;case"pointerover":case"pointerout":Br.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":$r.delete(n.pointerId)}}function zr(e,n,i,l,f,h){return e===null||e.nativeEvent!==h?(e={blockedOn:n,domEventName:i,eventSystemFlags:l,nativeEvent:h,targetContainers:[f]},n!==null&&(n=Fi(n),n!==null&&iy(n)),e):(e.eventSystemFlags|=l,n=e.targetContainers,f!==null&&n.indexOf(f)===-1&&n.push(f),e)}function T2(e,n,i,l,f){switch(n){case"focusin":return $a=zr($a,e,n,i,l,f),!0;case"dragenter":return za=zr(za,e,n,i,l,f),!0;case"mouseover":return Ha=zr(Ha,e,n,i,l,f),!0;case"pointerover":var h=f.pointerId;return Br.set(h,zr(Br.get(h)||null,e,n,i,l,f)),!0;case"gotpointercapture":return h=f.pointerId,$r.set(h,zr($r.get(h)||null,e,n,i,l,f)),!0}return!1}function cy(e){var n=qi(e.target);if(n!==null){var i=d(n);if(i!==null){if(n=i.tag,n===13){if(n=u(i),n!==null){e.blockedOn=n,_t(e.priority,function(){oy(i)});return}}else if(n===31){if(n=p(i),n!==null){e.blockedOn=n,_t(e.priority,function(){oy(i)});return}}else if(n===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Mc(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var i=Xf(e.nativeEvent);if(i===null){i=e.nativeEvent;var l=new i.constructor(i.type,i);Xd=l,i.target.dispatchEvent(l),Xd=null}else return n=Fi(i),n!==null&&iy(n),e.blockedOn=i,!1;n.shift()}return!0}function dy(e,n,i){Mc(e)&&i.delete(n)}function w2(){ep=!1,$a!==null&&Mc($a)&&($a=null),za!==null&&Mc(za)&&(za=null),Ha!==null&&Mc(Ha)&&(Ha=null),Br.forEach(dy),$r.forEach(dy)}function Ic(e,n){e.blockedOn===n&&(e.blockedOn=null,ep||(ep=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,w2)))}var Oc=null;function uy(e){Oc!==e&&(Oc=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Oc===e&&(Oc=null);for(var n=0;n<e.length;n+=3){var i=e[n],l=e[n+1],f=e[n+2];if(typeof l!="function"){if(Qf(l||i)===null)continue;break}var h=Fi(i);h!==null&&(e.splice(n,3),n-=3,Wu(h,{pending:!0,data:f,method:i.method,action:l},l,f))}}))}function Co(e){function n(M){return Ic(M,e)}$a!==null&&Ic($a,e),za!==null&&Ic(za,e),Ha!==null&&Ic(Ha,e),Br.forEach(n),$r.forEach(n);for(var i=0;i<Pa.length;i++){var l=Pa[i];l.blockedOn===e&&(l.blockedOn=null)}for(;0<Pa.length&&(i=Pa[0],i.blockedOn===null);)cy(i),i.blockedOn===null&&Pa.shift();if(i=(e.ownerDocument||e).$$reactFormReplay,i!=null)for(l=0;l<i.length;l+=3){var f=i[l],h=i[l+1],S=f[pt]||null;if(typeof h=="function")S||uy(i);else if(S){var N=null;if(h&&h.hasAttribute("formAction")){if(f=h,S=h[pt]||null)N=S.formAction;else if(Qf(f)!==null)continue}else N=S.action;typeof N=="function"?i[l+1]=N:(i.splice(l,3),l-=3),uy(i)}}}function fy(){function e(h){h.canIntercept&&h.info==="react-transition"&&h.intercept({handler:function(){return new Promise(function(S){return f=S})},focusReset:"manual",scroll:"manual"})}function n(){f!==null&&(f(),f=null),l||setTimeout(i,20)}function i(){if(!l&&!navigation.transition){var h=navigation.currentEntry;h&&h.url!=null&&navigation.navigate(h.url,{state:h.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,f=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(i,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),f!==null&&(f(),f=null)}}}function tp(e){this._internalRoot=e}Lc.prototype.render=tp.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(r(409));var i=n.current,l=Ln();sy(i,l,e,n,null,null)},Lc.prototype.unmount=tp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;sy(e.current,2,null,e,null,null),gc(),n[kt]=null}};function Lc(e){this._internalRoot=e}Lc.prototype.unstable_scheduleHydration=function(e){if(e){var n=Qe();e={blockedOn:null,target:e,priority:n};for(var i=0;i<Pa.length&&n!==0&&n<Pa[i].priority;i++);Pa.splice(i,0,e),i===0&&cy(e)}};var py=s.version;if(py!=="19.2.4")throw Error(r(527,py,"19.2.4"));R.findDOMNode=function(e){var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(r(188)):(e=Object.keys(e).join(","),Error(r(268,e)));return e=g(n),e=e!==null?v(e):null,e=e===null?null:e.stateNode,e};var N2={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:B,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Bc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Bc.isDisabled&&Bc.supportsFiber)try{tn=Bc.inject(N2),Ct=Bc}catch{}}return Pr.createRoot=function(e,n){if(!c(e))throw Error(r(299));var i=!1,l="",f=_v,h=xv,S=kv;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(h=n.onCaughtError),n.onRecoverableError!==void 0&&(S=n.onRecoverableError)),n=ty(e,1,!1,null,null,i,l,null,f,h,S,fy),e[kt]=n.current,Lf(e),new tp(n)},Pr.hydrateRoot=function(e,n,i){if(!c(e))throw Error(r(299));var l=!1,f="",h=_v,S=xv,N=kv,M=null;return i!=null&&(i.unstable_strictMode===!0&&(l=!0),i.identifierPrefix!==void 0&&(f=i.identifierPrefix),i.onUncaughtError!==void 0&&(h=i.onUncaughtError),i.onCaughtError!==void 0&&(S=i.onCaughtError),i.onRecoverableError!==void 0&&(N=i.onRecoverableError),i.formState!==void 0&&(M=i.formState)),n=ty(e,1,!0,n,i??null,l,f,M,h,S,N,fy),n.context=ny(null),i=n.current,l=Ln(),l=Te(l),f=wa(l),f.callback=null,Na(i,f,l),i=l,n.current.lanes=i,ee(n,i),As(n),e[kt]=n.current,Lf(e),new Lc(n)},Pr.version="19.2.4",Pr}var xy;function sj(){if(xy)return np.exports;xy=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(s){console.error(s)}}return t(),np.exports=nj(),np.exports}var aj=sj();const ij="modulepreload",oj=function(t){return"/"+t},ky={},rj=function(s,o,r){let c=Promise.resolve();if(o&&o.length>0){let u=function(g){return Promise.all(g.map(v=>Promise.resolve(v).then(_=>({status:"fulfilled",value:_}),_=>({status:"rejected",reason:_}))))};document.getElementsByTagName("link");const p=document.querySelector("meta[property=csp-nonce]"),m=(p==null?void 0:p.nonce)||(p==null?void 0:p.getAttribute("nonce"));c=u(o.map(g=>{if(g=oj(g),g in ky)return;ky[g]=!0;const v=g.endsWith(".css"),_=v?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${_}`))return;const b=document.createElement("link");if(b.rel=v?"stylesheet":ij,v||(b.as="script"),b.crossOrigin="",b.href=g,m&&b.setAttribute("nonce",m),document.head.appendChild(b),v)return new Promise((x,k)=>{b.addEventListener("load",x),b.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${g}`)))})}))}function d(u){const p=new Event("vite:preloadError",{cancelable:!0});if(p.payload=u,window.dispatchEvent(p),!p.defaultPrevented)throw u}return c.then(u=>{for(const p of u||[])p.status==="rejected"&&d(p.reason);return s().catch(d)})},lj=new Proxy(globalThis.fetch,{apply(t,s,o){return Reflect.apply(globalThis.fetch,s,o)}}),Dd=B2({baseUrl:"/",fetch:lj}),$e=Cd($2,Dd),pn=Cd(z2,Dd),Hc=Cd(H2,Dd),Pc=Cd(P2,Dd),cj="_bar_1xlm9_1",dj="_textarea_1xlm9_32",uj="_select_1xlm9_73",fj="_btnPrimary_1xlm9_109",pj="_btnGhost_1xlm9_179",mj="_badge_1xlm9_201",hj="_disconnectHint_1xlm9_211",xs={bar:cj,textarea:dj,select:uj,btnPrimary:fj,btnGhost:pj,badge:mj,disconnectHint:hj},gj=200;function vj(t,s){if(!t)return!1;const o=s.find(r=>r.id===t);return o!==void 0&&(o.status==="disconnected"||o.status==="error")}function yj({environmentId:t,onReconnect:s}){return a.jsxs(a.Fragment,{children:[a.jsx("span",{className:xs.disconnectHint,"data-testid":"env-disconnect-hint",children:"Environment unavailable"}),a.jsx("button",{type:"button",onClick:()=>s(t),className:xs.btnGhost,"data-testid":"reconnect-btn",title:"Reconnect the environment to resume messaging",children:"Reconnect"})]})}function ip({value:t,onChange:s,onSubmit:o,placeholder:r,disabled:c,autoFocus:d,ariaLabel:u}){const p=y.useRef(null);y.useLayoutEffect(()=>{const g=p.current;g&&(g.style.height="auto",g.style.height=`${Math.min(g.scrollHeight,gj)}px`)},[t]);const m=g=>{g.key==="Enter"&&(g.metaKey||g.ctrlKey)&&!g.nativeEvent.isComposing&&(g.preventDefault(),o())};return a.jsx("textarea",{ref:p,rows:1,value:t,onChange:g=>s(g.target.value),onKeyDown:m,placeholder:r,disabled:c,autoFocus:d,className:xs.textarea,"aria-label":u})}function Rd({mode:t,sessionId:s,environmentId:o,taskId:r,showPersonaSelect:c,personas:d,environments:u,onSendInput:p,onSpawn:m,onStartTask:g,onProvisionEnvironment:v,onShowToast:_}){const[b,x]=y.useState(""),[k,j]=y.useState(""),w=vj(o,u),T=()=>{if(b.trim())if(t==="send"){if(!s||w)return;p(s,b),x("")}else if(t==="spawn"){if(!o)return;m(o,b,k),_==null||_("Session started","success"),x(""),j("")}else{if(!r)return;g(r,void 0,o,b),x("")}},C=A=>{A.preventDefault(),T()};return t==="spawn"?a.jsxs("form",{onSubmit:C,className:xs.bar,children:[a.jsx("span",{className:xs.badge,children:"new chat"}),a.jsx(ip,{value:b,onChange:x,onSubmit:T,placeholder:"Enter prompt...",autoFocus:!0,ariaLabel:"Enter prompt"}),c&&a.jsxs("select",{value:k,onChange:A=>j(A.target.value),className:xs.select,"aria-label":"Select persona",children:[a.jsx("option",{value:"",children:"(Default)"}),d.map(A=>a.jsx("option",{value:A.id,children:A.name},A.id))]}),a.jsx("button",{type:"submit",disabled:!b.trim()||!o,className:xs.btnPrimary,children:"Go"})]}):t==="start"?a.jsxs("form",{onSubmit:C,className:xs.bar,children:[a.jsx(ip,{value:b,onChange:x,onSubmit:T,placeholder:"Type a message...",autoFocus:!0,ariaLabel:"Type a message"}),a.jsx("button",{type:"submit",disabled:!b.trim(),className:xs.btnPrimary,children:"Send"})]}):a.jsxs("form",{onSubmit:C,className:xs.bar,children:[w&&o&&a.jsx(yj,{environmentId:o,onReconnect:v}),a.jsx(ip,{value:b,onChange:x,onSubmit:T,placeholder:"Type a message...",autoFocus:!w,disabled:w,ariaLabel:"Type a message"}),a.jsx("span",{title:w?"Environment is unavailable — reconnect first":void 0,children:a.jsx("button",{type:"submit",disabled:!b.trim()||w,className:xs.btnPrimary,children:"Send"})})]})}const Sy=220,jy=70,bj=40,_j=60,xj="hierarchy",kj="dependency";function Sj(t){return y.useMemo(()=>{if(t.length===0)return{nodes:[],edges:[]};const s=new my.graphlib.Graph({multigraph:!0});s.setDefaultEdgeLabel(()=>({})),s.setGraph({rankdir:"TB",nodesep:bj,ranksep:_j});const o=new Map(t.map(u=>[u.id,u])),r=new Map;for(const u of t)if(u.parentTaskId&&o.has(u.parentTaskId)){const p=r.get(u.parentTaskId)||[];p.push(u),r.set(u.parentTaskId,p)}for(const u of t)s.setNode(u.id,{width:Sy,height:jy});const c=[];for(const u of t){if(u.parentTaskId&&o.has(u.parentTaskId)){const p=`hierarchy-${u.parentTaskId}-${u.id}`;s.setEdge(u.parentTaskId,u.id,{},p),c.push({id:p,source:u.parentTaskId,target:u.id,type:"smoothstep",data:{edgeType:xj},style:{stroke:"var(--accent-green)",strokeWidth:2},animated:!1})}for(const p of u.dependsOn)if(o.has(p)){const m=`dependency-${p}-${u.id}`;s.setEdge(p,u.id,{},m),c.push({id:m,source:p,target:u.id,type:"smoothstep",data:{edgeType:kj},style:{stroke:"var(--text-tertiary)",strokeWidth:1.5,strokeDasharray:"6 3"},animated:!1})}}return my.layout(s),{nodes:t.map(u=>{const p=s.node(u.id),m=r.get(u.id)||[];return{id:u.id,type:"task",position:{x:p.x-Sy/2,y:p.y-jy/2},data:{task:u,childCount:m.length,doneChildCount:m.filter(g=>g.status==="complete").length,hasDependencies:u.dependsOn.length>0}}}),edges:c}},[t])}/**
25
+ `+l.stack}}var rn=Object.prototype.hasOwnProperty,ga=t.unstable_scheduleCallback,us=t.unstable_cancelCallback,ni=t.unstable_shouldYield,va=t.unstable_requestPaint,en=t.unstable_now,zi=t.unstable_getCurrentPriorityLevel,ya=t.unstable_ImmediatePriority,si=t.unstable_UserBlockingPriority,js=t.unstable_NormalPriority,Hi=t.unstable_LowPriority,Gn=t.unstable_IdlePriority,Ee=t.log,Ve=t.unstable_setDisableYieldValue,tn=null,Ct=null;function yn(e){if(typeof Ee=="function"&&Ve(e),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(tn,e)}catch{}}var nn=Math.clz32?Math.clz32:Vi,Pi=Math.log,Ui=Math.LN2;function Vi(e){return e>>>=0,e===0?32:31-(Pi(e)/Ui|0)|0}var ai=256,ii=262144,oi=4194304;function Ts(e){var n=e&42;if(n!==0)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ri(e,n,i){var l=e.pendingLanes;if(l===0)return 0;var f=0,h=e.suspendedLanes,S=e.pingedLanes;e=e.warmLanes;var N=l&134217727;return N!==0?(l=N&~h,l!==0?f=Ts(l):(S&=N,S!==0?f=Ts(S):i||(i=N&~e,i!==0&&(f=Ts(i))))):(N=l&~h,N!==0?f=Ts(N):S!==0?f=Ts(S):i||(i=l&~e,i!==0&&(f=Ts(i)))),f===0?0:n!==0&&n!==f&&(n&h)===0&&(h=f&-f,i=n&-n,h>=i||h===32&&(i&4194048)!==0)?n:f}function ba(e,n){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)===0}function jl(e,n){switch(e){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Tl(){var e=oi;return oi<<=1,(oi&62914560)===0&&(oi=4194304),e}function P(e){for(var n=[],i=0;31>i;i++)n.push(e);return n}function ee(e,n){e.pendingLanes|=n,n!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ue(e,n,i,l,f,h){var S=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var N=e.entanglements,M=e.expirationTimes,F=e.hiddenUpdates;for(i=S&~i;0<i;){var Q=31-nn(i),ae=1<<Q;N[Q]=0,M[Q]=-1;var Z=F[Q];if(Z!==null)for(F[Q]=null,Q=0;Q<Z.length;Q++){var K=Z[Q];K!==null&&(K.lane&=-536870913)}i&=~ae}l!==0&&me(e,l,0),h!==0&&f===0&&e.tag!==0&&(e.suspendedLanes|=h&~(S&~n))}function me(e,n,i){e.pendingLanes|=n,e.suspendedLanes&=~n;var l=31-nn(n);e.entangledLanes|=n,e.entanglements[l]=e.entanglements[l]|1073741824|i&261930}function ye(e,n){var i=e.entangledLanes|=n;for(e=e.entanglements;i;){var l=31-nn(i),f=1<<l;f&n|e[l]&n&&(e[l]|=n),i&=~f}}function Ze(e,n){var i=n&-n;return i=(i&42)!==0?1:Te(i),(i&(e.suspendedLanes|n))!==0?0:i}function Te(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Oe(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Qe(){var e=R.p;return e!==0?e:(e=window.event,e===void 0?32:ry(e.type))}function vt(e,n){var i=R.p;try{return R.p=e,n()}finally{R.p=i}}var Ge=Math.random().toString(36).slice(2),et="__reactFiber$"+Ge,pt="__reactProps$"+Ge,kt="__reactContainer$"+Ge,ws="__reactEvents$"+Ge,zs="__reactListeners$"+Ge,Jo="__reactHandles$"+Ge,jh="__reactResources$"+Ge,Wo="__reactMarker$"+Ge;function Zd(e){delete e[et],delete e[pt],delete e[ws],delete e[zs],delete e[Jo]}function Gi(e){var n=e[et];if(n)return n;for(var i=e.parentNode;i;){if(n=i[kt]||i[et]){if(i=n.alternate,n.child!==null||i!==null&&i.child!==null)for(e=q0(e);e!==null;){if(i=e[et])return i;e=q0(e)}return n}e=i,i=e.parentNode}return null}function qi(e){if(e=e[et]||e[kt]){var n=e.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return e}return null}function Xo(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e.stateNode;throw Error(r(33))}function Fi(e){var n=e[jh];return n||(n=e[jh]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function sn(e){e[Wo]=!0}var Th=new Set,wh={};function li(e,n){Zi(e,n),Zi(e+"Capture",n)}function Zi(e,n){for(wh[e]=n,e=0;e<n.length;e++)Th.add(n[e])}var xk=RegExp("^[: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]*$"),Nh={},Ch={};function kk(e){return rn.call(Ch,e)?!0:rn.call(Nh,e)?!1:xk.test(e)?Ch[e]=!0:(Nh[e]=!0,!1)}function wl(e,n,i){if(kk(n))if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":e.removeAttribute(n);return;case"boolean":var l=n.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(n);return}}e.setAttribute(n,""+i)}}function Nl(e,n,i){if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttribute(n,""+i)}}function Hs(e,n,i,l){if(l===null)e.removeAttribute(i);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(i);return}e.setAttributeNS(n,i,""+l)}}function qn(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Eh(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Sk(e,n,i){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,n);if(!e.hasOwnProperty(n)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var f=l.get,h=l.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return f.call(this)},set:function(S){i=""+S,h.call(this,S)}}),Object.defineProperty(e,n,{enumerable:l.enumerable}),{getValue:function(){return i},setValue:function(S){i=""+S},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Kd(e){if(!e._valueTracker){var n=Eh(e)?"checked":"value";e._valueTracker=Sk(e,n,""+e[n])}}function Ah(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var i=n.getValue(),l="";return e&&(l=Eh(e)?e.checked?"true":"false":e.value),e=l,e!==i?(n.setValue(e),!0):!1}function Cl(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}}var jk=/[\n"\\]/g;function Fn(e){return e.replace(jk,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function Yd(e,n,i,l,f,h,S,N){e.name="",S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?e.type=S:e.removeAttribute("type"),n!=null?S==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+qn(n)):e.value!==""+qn(n)&&(e.value=""+qn(n)):S!=="submit"&&S!=="reset"||e.removeAttribute("value"),n!=null?Jd(e,S,qn(n)):i!=null?Jd(e,S,qn(i)):l!=null&&e.removeAttribute("value"),f==null&&h!=null&&(e.defaultChecked=!!h),f!=null&&(e.checked=f&&typeof f!="function"&&typeof f!="symbol"),N!=null&&typeof N!="function"&&typeof N!="symbol"&&typeof N!="boolean"?e.name=""+qn(N):e.removeAttribute("name")}function Dh(e,n,i,l,f,h,S,N){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.type=h),n!=null||i!=null){if(!(h!=="submit"&&h!=="reset"||n!=null)){Kd(e);return}i=i!=null?""+qn(i):"",n=n!=null?""+qn(n):i,N||n===e.value||(e.value=n),e.defaultValue=n}l=l??f,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=N?e.checked:!!l,e.defaultChecked=!!l,S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"&&(e.name=S),Kd(e)}function Jd(e,n,i){n==="number"&&Cl(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function Ki(e,n,i,l){if(e=e.options,n){n={};for(var f=0;f<i.length;f++)n["$"+i[f]]=!0;for(i=0;i<e.length;i++)f=n.hasOwnProperty("$"+e[i].value),e[i].selected!==f&&(e[i].selected=f),f&&l&&(e[i].defaultSelected=!0)}else{for(i=""+qn(i),n=null,f=0;f<e.length;f++){if(e[f].value===i){e[f].selected=!0,l&&(e[f].defaultSelected=!0);return}n!==null||e[f].disabled||(n=e[f])}n!==null&&(n.selected=!0)}}function Rh(e,n,i){if(n!=null&&(n=""+qn(n),n!==e.value&&(e.value=n),i==null)){e.defaultValue!==n&&(e.defaultValue=n);return}e.defaultValue=i!=null?""+qn(i):""}function Mh(e,n,i,l){if(n==null){if(l!=null){if(i!=null)throw Error(r(92));if(le(l)){if(1<l.length)throw Error(r(93));l=l[0]}i=l}i==null&&(i=""),n=i}i=qn(n),e.defaultValue=i,l=e.textContent,l===i&&l!==""&&l!==null&&(e.value=l),Kd(e)}function Yi(e,n){if(n){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=n;return}}e.textContent=n}var Tk=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Ih(e,n,i){var l=n.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?l?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="":l?e.setProperty(n,i):typeof i!="number"||i===0||Tk.has(n)?n==="float"?e.cssFloat=i:e[n]=(""+i).trim():e[n]=i+"px"}function Oh(e,n,i){if(n!=null&&typeof n!="object")throw Error(r(62));if(e=e.style,i!=null){for(var l in i)!i.hasOwnProperty(l)||n!=null&&n.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var f in n)l=n[f],n.hasOwnProperty(f)&&i[f]!==l&&Ih(e,f,l)}else for(var h in n)n.hasOwnProperty(h)&&Ih(e,h,n[h])}function Wd(e){if(e.indexOf("-")===-1)return!1;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 wk=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Nk=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function El(e){return Nk.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Ps(){}var Xd=null;function Qd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ji=null,Wi=null;function Lh(e){var n=qi(e);if(n&&(e=n.stateNode)){var i=e[pt]||null;e:switch(e=n.stateNode,n.type){case"input":if(Yd(e,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),n=i.name,i.type==="radio"&&n!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+Fn(""+n)+'"][type="radio"]'),n=0;n<i.length;n++){var l=i[n];if(l!==e&&l.form===e.form){var f=l[pt]||null;if(!f)throw Error(r(90));Yd(l,f.value,f.defaultValue,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name)}}for(n=0;n<i.length;n++)l=i[n],l.form===e.form&&Ah(l)}break e;case"textarea":Rh(e,i.value,i.defaultValue);break e;case"select":n=i.value,n!=null&&Ki(e,!!i.multiple,n,!1)}}}var eu=!1;function Bh(e,n,i){if(eu)return e(n,i);eu=!0;try{var l=e(n);return l}finally{if(eu=!1,(Ji!==null||Wi!==null)&&(gc(),Ji&&(n=Ji,e=Wi,Wi=Ji=null,Lh(n),e)))for(n=0;n<e.length;n++)Lh(e[n])}}function Qo(e,n){var i=e.stateNode;if(i===null)return null;var l=i[pt]||null;if(l===null)return null;i=l[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(r(231,n,typeof i));return i}var Us=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),tu=!1;if(Us)try{var er={};Object.defineProperty(er,"passive",{get:function(){tu=!0}}),window.addEventListener("test",er,er),window.removeEventListener("test",er,er)}catch{tu=!1}var _a=null,nu=null,Al=null;function $h(){if(Al)return Al;var e,n=nu,i=n.length,l,f="value"in _a?_a.value:_a.textContent,h=f.length;for(e=0;e<i&&n[e]===f[e];e++);var S=i-e;for(l=1;l<=S&&n[i-l]===f[h-l];l++);return Al=f.slice(e,1<l?1-l:void 0)}function Dl(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function Rl(){return!0}function zh(){return!1}function jn(e){function n(i,l,f,h,S){this._reactName=i,this._targetInst=f,this.type=l,this.nativeEvent=h,this.target=S,this.currentTarget=null;for(var N in e)e.hasOwnProperty(N)&&(i=e[N],this[N]=i?i(h):h[N]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?Rl:zh,this.isPropagationStopped=zh,this}return _(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Rl)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Rl)},persist:function(){},isPersistent:Rl}),n}var ci={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ml=jn(ci),tr=_({},ci,{view:0,detail:0}),Ck=jn(tr),su,au,nr,Il=_({},tr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ou,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!==nr&&(nr&&e.type==="mousemove"?(su=e.screenX-nr.screenX,au=e.screenY-nr.screenY):au=su=0,nr=e),su)},movementY:function(e){return"movementY"in e?e.movementY:au}}),Hh=jn(Il),Ek=_({},Il,{dataTransfer:0}),Ak=jn(Ek),Dk=_({},tr,{relatedTarget:0}),iu=jn(Dk),Rk=_({},ci,{animationName:0,elapsedTime:0,pseudoElement:0}),Mk=jn(Rk),Ik=_({},ci,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Ok=jn(Ik),Lk=_({},ci,{data:0}),Ph=jn(Lk),Bk={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},$k={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"},zk={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Hk(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=zk[e])?!!n[e]:!1}function ou(){return Hk}var Pk=_({},tr,{key:function(e){if(e.key){var n=Bk[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=Dl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?$k[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ou,charCode:function(e){return e.type==="keypress"?Dl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Dl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Uk=jn(Pk),Vk=_({},Il,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Uh=jn(Vk),Gk=_({},tr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ou}),qk=jn(Gk),Fk=_({},ci,{propertyName:0,elapsedTime:0,pseudoElement:0}),Zk=jn(Fk),Kk=_({},Il,{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}),Yk=jn(Kk),Jk=_({},ci,{newState:0,oldState:0}),Wk=jn(Jk),Xk=[9,13,27,32],ru=Us&&"CompositionEvent"in window,sr=null;Us&&"documentMode"in document&&(sr=document.documentMode);var Qk=Us&&"TextEvent"in window&&!sr,Vh=Us&&(!ru||sr&&8<sr&&11>=sr),Gh=" ",qh=!1;function Fh(e,n){switch(e){case"keyup":return Xk.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Xi=!1;function eS(e,n){switch(e){case"compositionend":return Zh(n);case"keypress":return n.which!==32?null:(qh=!0,Gh);case"textInput":return e=n.data,e===Gh&&qh?null:e;default:return null}}function tS(e,n){if(Xi)return e==="compositionend"||!ru&&Fh(e,n)?(e=$h(),Al=nu=_a=null,Xi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Vh&&n.locale!=="ko"?null:n.data;default:return null}}var nS={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 Kh(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!nS[e.type]:n==="textarea"}function Yh(e,n,i,l){Ji?Wi?Wi.push(l):Wi=[l]:Ji=l,n=Sc(n,"onChange"),0<n.length&&(i=new Ml("onChange","change",null,i,l),e.push({event:i,listeners:n}))}var ar=null,ir=null;function sS(e){D0(e,0)}function Ol(e){var n=Xo(e);if(Ah(n))return e}function Jh(e,n){if(e==="change")return n}var Wh=!1;if(Us){var lu;if(Us){var cu="oninput"in document;if(!cu){var Xh=document.createElement("div");Xh.setAttribute("oninput","return;"),cu=typeof Xh.oninput=="function"}lu=cu}else lu=!1;Wh=lu&&(!document.documentMode||9<document.documentMode)}function Qh(){ar&&(ar.detachEvent("onpropertychange",eg),ir=ar=null)}function eg(e){if(e.propertyName==="value"&&Ol(ir)){var n=[];Yh(n,ir,e,Qd(e)),Bh(sS,n)}}function aS(e,n,i){e==="focusin"?(Qh(),ar=n,ir=i,ar.attachEvent("onpropertychange",eg)):e==="focusout"&&Qh()}function iS(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Ol(ir)}function oS(e,n){if(e==="click")return Ol(n)}function rS(e,n){if(e==="input"||e==="change")return Ol(n)}function lS(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var An=typeof Object.is=="function"?Object.is:lS;function or(e,n){if(An(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var i=Object.keys(e),l=Object.keys(n);if(i.length!==l.length)return!1;for(l=0;l<i.length;l++){var f=i[l];if(!rn.call(n,f)||!An(e[f],n[f]))return!1}return!0}function tg(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ng(e,n){var i=tg(e);e=0;for(var l;i;){if(i.nodeType===3){if(l=e+i.textContent.length,e<=n&&l>=n)return{node:i,offset:n-e};e=l}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=tg(i)}}function sg(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?sg(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function ag(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var n=Cl(e.document);n instanceof e.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)e=n.contentWindow;else break;n=Cl(e.document)}return n}function du(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}var cS=Us&&"documentMode"in document&&11>=document.documentMode,Qi=null,uu=null,rr=null,fu=!1;function ig(e,n,i){var l=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;fu||Qi==null||Qi!==Cl(l)||(l=Qi,"selectionStart"in l&&du(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),rr&&or(rr,l)||(rr=l,l=Sc(uu,"onSelect"),0<l.length&&(n=new Ml("onSelect","select",null,n,i),e.push({event:n,listeners:l}),n.target=Qi)))}function di(e,n){var i={};return i[e.toLowerCase()]=n.toLowerCase(),i["Webkit"+e]="webkit"+n,i["Moz"+e]="moz"+n,i}var eo={animationend:di("Animation","AnimationEnd"),animationiteration:di("Animation","AnimationIteration"),animationstart:di("Animation","AnimationStart"),transitionrun:di("Transition","TransitionRun"),transitionstart:di("Transition","TransitionStart"),transitioncancel:di("Transition","TransitionCancel"),transitionend:di("Transition","TransitionEnd")},pu={},og={};Us&&(og=document.createElement("div").style,"AnimationEvent"in window||(delete eo.animationend.animation,delete eo.animationiteration.animation,delete eo.animationstart.animation),"TransitionEvent"in window||delete eo.transitionend.transition);function ui(e){if(pu[e])return pu[e];if(!eo[e])return e;var n=eo[e],i;for(i in n)if(n.hasOwnProperty(i)&&i in og)return pu[e]=n[i];return e}var rg=ui("animationend"),lg=ui("animationiteration"),cg=ui("animationstart"),dS=ui("transitionrun"),uS=ui("transitionstart"),fS=ui("transitioncancel"),dg=ui("transitionend"),ug=new Map,mu="abort auxClick beforeToggle 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(" ");mu.push("scrollEnd");function fs(e,n){ug.set(e,n),li(n,[e])}var Ll=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Zn=[],to=0,hu=0;function Bl(){for(var e=to,n=hu=to=0;n<e;){var i=Zn[n];Zn[n++]=null;var l=Zn[n];Zn[n++]=null;var f=Zn[n];Zn[n++]=null;var h=Zn[n];if(Zn[n++]=null,l!==null&&f!==null){var S=l.pending;S===null?f.next=f:(f.next=S.next,S.next=f),l.pending=f}h!==0&&fg(i,f,h)}}function $l(e,n,i,l){Zn[to++]=e,Zn[to++]=n,Zn[to++]=i,Zn[to++]=l,hu|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function gu(e,n,i,l){return $l(e,n,i,l),zl(e)}function fi(e,n){return $l(e,null,null,n),zl(e)}function fg(e,n,i){e.lanes|=i;var l=e.alternate;l!==null&&(l.lanes|=i);for(var f=!1,h=e.return;h!==null;)h.childLanes|=i,l=h.alternate,l!==null&&(l.childLanes|=i),h.tag===22&&(e=h.stateNode,e===null||e._visibility&1||(f=!0)),e=h,h=h.return;return e.tag===3?(h=e.stateNode,f&&n!==null&&(f=31-nn(i),e=h.hiddenUpdates,l=e[f],l===null?e[f]=[n]:l.push(n),n.lane=i|536870912),h):null}function zl(e){if(50<Er)throw Er=0,wf=null,Error(r(185));for(var n=e.return;n!==null;)e=n,n=e.return;return e.tag===3?e.stateNode:null}var no={};function pS(e,n,i,l){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dn(e,n,i,l){return new pS(e,n,i,l)}function vu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Vs(e,n){var i=e.alternate;return i===null?(i=Dn(e.tag,n,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=n,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&65011712,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,n=e.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i.refCleanup=e.refCleanup,i}function pg(e,n){e.flags&=65011714;var i=e.alternate;return i===null?(e.childLanes=0,e.lanes=n,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=i.childLanes,e.lanes=i.lanes,e.child=i.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=i.memoizedProps,e.memoizedState=i.memoizedState,e.updateQueue=i.updateQueue,e.type=i.type,n=i.dependencies,e.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),e}function Hl(e,n,i,l,f,h){var S=0;if(l=e,typeof e=="function")vu(e)&&(S=1);else if(typeof e=="string")S=y2(e,i,Se.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case H:return e=Dn(31,i,n,f),e.elementType=H,e.lanes=h,e;case j:return pi(i.children,f,h,n);case w:S=8,f|=24;break;case T:return e=Dn(12,i,n,f|2),e.elementType=T,e.lanes=h,e;case E:return e=Dn(13,i,n,f),e.elementType=E,e.lanes=h,e;case O:return e=Dn(19,i,n,f),e.elementType=O,e.lanes=h,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case A:S=10;break e;case C:S=9;break e;case L:S=11;break e;case z:S=14;break e;case D:S=16,l=null;break e}S=29,i=Error(r(130,e===null?"null":typeof e,"")),l=null}return n=Dn(S,i,n,f),n.elementType=e,n.type=l,n.lanes=h,n}function pi(e,n,i,l){return e=Dn(7,e,l,n),e.lanes=i,e}function yu(e,n,i){return e=Dn(6,e,null,n),e.lanes=i,e}function mg(e){var n=Dn(18,null,null,0);return n.stateNode=e,n}function bu(e,n,i){return n=Dn(4,e.children!==null?e.children:[],e.key,n),n.lanes=i,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}var hg=new WeakMap;function Kn(e,n){if(typeof e=="object"&&e!==null){var i=hg.get(e);return i!==void 0?i:(n={value:e,source:n,stack:Me(n)},hg.set(e,n),n)}return{value:e,source:n,stack:Me(n)}}var so=[],ao=0,Pl=null,lr=0,Yn=[],Jn=0,xa=null,Ns=1,Cs="";function Gs(e,n){so[ao++]=lr,so[ao++]=Pl,Pl=e,lr=n}function gg(e,n,i){Yn[Jn++]=Ns,Yn[Jn++]=Cs,Yn[Jn++]=xa,xa=e;var l=Ns;e=Cs;var f=32-nn(l)-1;l&=~(1<<f),i+=1;var h=32-nn(n)+f;if(30<h){var S=f-f%5;h=(l&(1<<S)-1).toString(32),l>>=S,f-=S,Ns=1<<32-nn(n)+f|i<<f|l,Cs=h+e}else Ns=1<<h|i<<f|l,Cs=e}function _u(e){e.return!==null&&(Gs(e,1),gg(e,1,0))}function xu(e){for(;e===Pl;)Pl=so[--ao],so[ao]=null,lr=so[--ao],so[ao]=null;for(;e===xa;)xa=Yn[--Jn],Yn[Jn]=null,Cs=Yn[--Jn],Yn[Jn]=null,Ns=Yn[--Jn],Yn[Jn]=null}function vg(e,n){Yn[Jn++]=Ns,Yn[Jn++]=Cs,Yn[Jn++]=xa,Ns=n.id,Cs=n.overflow,xa=e}var ln=null,St=null,Je=!1,ka=null,Wn=!1,ku=Error(r(519));function Sa(e){var n=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Kn(n,e)),ku}function yg(e){var n=e.stateNode,i=e.type,l=e.memoizedProps;switch(n[et]=e,n[pt]=l,i){case"dialog":Fe("cancel",n),Fe("close",n);break;case"iframe":case"object":case"embed":Fe("load",n);break;case"video":case"audio":for(i=0;i<Dr.length;i++)Fe(Dr[i],n);break;case"source":Fe("error",n);break;case"img":case"image":case"link":Fe("error",n),Fe("load",n);break;case"details":Fe("toggle",n);break;case"input":Fe("invalid",n),Dh(n,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":Fe("invalid",n);break;case"textarea":Fe("invalid",n),Mh(n,l.value,l.defaultValue,l.children)}i=l.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||n.textContent===""+i||l.suppressHydrationWarning===!0||O0(n.textContent,i)?(l.popover!=null&&(Fe("beforetoggle",n),Fe("toggle",n)),l.onScroll!=null&&Fe("scroll",n),l.onScrollEnd!=null&&Fe("scrollend",n),l.onClick!=null&&(n.onclick=Ps),n=!0):n=!1,n||Sa(e,!0)}function bg(e){for(ln=e.return;ln;)switch(ln.tag){case 5:case 31:case 13:Wn=!1;return;case 27:case 3:Wn=!0;return;default:ln=ln.return}}function io(e){if(e!==ln)return!1;if(!Je)return bg(e),Je=!0,!1;var n=e.tag,i;if((i=n!==3&&n!==27)&&((i=n===5)&&(i=e.type,i=!(i!=="form"&&i!=="button")||Pf(e.type,e.memoizedProps)),i=!i),i&&St&&Sa(e),bg(e),n===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));St=G0(e)}else if(n===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));St=G0(e)}else n===27?(n=St,Ba(e.type)?(e=Ff,Ff=null,St=e):St=n):St=ln?Qn(e.stateNode.nextSibling):null;return!0}function mi(){St=ln=null,Je=!1}function Su(){var e=ka;return e!==null&&(Cn===null?Cn=e:Cn.push.apply(Cn,e),ka=null),e}function cr(e){ka===null?ka=[e]:ka.push(e)}var ju=pe(null),hi=null,qs=null;function ja(e,n,i){xe(ju,n._currentValue),n._currentValue=i}function Fs(e){e._currentValue=ju.current,de(ju)}function Tu(e,n,i){for(;e!==null;){var l=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,l!==null&&(l.childLanes|=n)):l!==null&&(l.childLanes&n)!==n&&(l.childLanes|=n),e===i)break;e=e.return}}function wu(e,n,i,l){var f=e.child;for(f!==null&&(f.return=e);f!==null;){var h=f.dependencies;if(h!==null){var S=f.child;h=h.firstContext;e:for(;h!==null;){var N=h;h=f;for(var M=0;M<n.length;M++)if(N.context===n[M]){h.lanes|=i,N=h.alternate,N!==null&&(N.lanes|=i),Tu(h.return,i,e),l||(S=null);break e}h=N.next}}else if(f.tag===18){if(S=f.return,S===null)throw Error(r(341));S.lanes|=i,h=S.alternate,h!==null&&(h.lanes|=i),Tu(S,i,e),S=null}else S=f.child;if(S!==null)S.return=f;else for(S=f;S!==null;){if(S===e){S=null;break}if(f=S.sibling,f!==null){f.return=S.return,S=f;break}S=S.return}f=S}}function oo(e,n,i,l){e=null;for(var f=n,h=!1;f!==null;){if(!h){if((f.flags&524288)!==0)h=!0;else if((f.flags&262144)!==0)break}if(f.tag===10){var S=f.alternate;if(S===null)throw Error(r(387));if(S=S.memoizedProps,S!==null){var N=f.type;An(f.pendingProps.value,S.value)||(e!==null?e.push(N):e=[N])}}else if(f===_e.current){if(S=f.alternate,S===null)throw Error(r(387));S.memoizedState.memoizedState!==f.memoizedState.memoizedState&&(e!==null?e.push(Lr):e=[Lr])}f=f.return}e!==null&&wu(n,e,i,l),n.flags|=262144}function Ul(e){for(e=e.firstContext;e!==null;){if(!An(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function gi(e){hi=e,qs=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function cn(e){return _g(hi,e)}function Vl(e,n){return hi===null&&gi(e),_g(e,n)}function _g(e,n){var i=n._currentValue;if(n={context:n,memoizedValue:i,next:null},qs===null){if(e===null)throw Error(r(308));qs=n,e.dependencies={lanes:0,firstContext:n},e.flags|=524288}else qs=qs.next=n;return i}var mS=typeof AbortController<"u"?AbortController:function(){var e=[],n=this.signal={aborted:!1,addEventListener:function(i,l){e.push(l)}};this.abort=function(){n.aborted=!0,e.forEach(function(i){return i()})}},hS=t.unstable_scheduleCallback,gS=t.unstable_NormalPriority,qt={$$typeof:A,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Nu(){return{controller:new mS,data:new Map,refCount:0}}function dr(e){e.refCount--,e.refCount===0&&hS(gS,function(){e.controller.abort()})}var ur=null,Cu=0,ro=0,lo=null;function vS(e,n){if(ur===null){var i=ur=[];Cu=0,ro=Rf(),lo={status:"pending",value:void 0,then:function(l){i.push(l)}}}return Cu++,n.then(xg,xg),n}function xg(){if(--Cu===0&&ur!==null){lo!==null&&(lo.status="fulfilled");var e=ur;ur=null,ro=0,lo=null;for(var n=0;n<e.length;n++)(0,e[n])()}}function yS(e,n){var i=[],l={status:"pending",value:null,reason:null,then:function(f){i.push(f)}};return e.then(function(){l.status="fulfilled",l.value=n;for(var f=0;f<i.length;f++)(0,i[f])(n)},function(f){for(l.status="rejected",l.reason=f,f=0;f<i.length;f++)(0,i[f])(void 0)}),l}var kg=B.S;B.S=function(e,n){i0=en(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&vS(e,n),kg!==null&&kg(e,n)};var vi=pe(null);function Eu(){var e=vi.current;return e!==null?e:xt.pooledCache}function Gl(e,n){n===null?xe(vi,vi.current):xe(vi,n.pool)}function Sg(){var e=Eu();return e===null?null:{parent:qt._currentValue,pool:e}}var co=Error(r(460)),Au=Error(r(474)),ql=Error(r(542)),Fl={then:function(){}};function jg(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Tg(e,n,i){switch(i=e[i],i===void 0?e.push(n):i!==n&&(n.then(Ps,Ps),n=i),n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,Ng(e),e;default:if(typeof n.status=="string")n.then(Ps,Ps);else{if(e=xt,e!==null&&100<e.shellSuspendCounter)throw Error(r(482));e=n,e.status="pending",e.then(function(l){if(n.status==="pending"){var f=n;f.status="fulfilled",f.value=l}},function(l){if(n.status==="pending"){var f=n;f.status="rejected",f.reason=l}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,Ng(e),e}throw bi=n,co}}function yi(e){try{var n=e._init;return n(e._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(bi=i,co):i}}var bi=null;function wg(){if(bi===null)throw Error(r(459));var e=bi;return bi=null,e}function Ng(e){if(e===co||e===ql)throw Error(r(483))}var uo=null,fr=0;function Zl(e){var n=fr;return fr+=1,uo===null&&(uo=[]),Tg(uo,e,n)}function pr(e,n){n=n.props.ref,e.ref=n!==void 0?n:null}function Kl(e,n){throw n.$$typeof===b?Error(r(525)):(e=Object.prototype.toString.call(n),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e)))}function Cg(e){function n(V,$){if(e){var q=V.deletions;q===null?(V.deletions=[$],V.flags|=16):q.push($)}}function i(V,$){if(!e)return null;for(;$!==null;)n(V,$),$=$.sibling;return null}function l(V){for(var $=new Map;V!==null;)V.key!==null?$.set(V.key,V):$.set(V.index,V),V=V.sibling;return $}function f(V,$){return V=Vs(V,$),V.index=0,V.sibling=null,V}function h(V,$,q){return V.index=q,e?(q=V.alternate,q!==null?(q=q.index,q<$?(V.flags|=67108866,$):q):(V.flags|=67108866,$)):(V.flags|=1048576,$)}function S(V){return e&&V.alternate===null&&(V.flags|=67108866),V}function N(V,$,q,ne){return $===null||$.tag!==6?($=yu(q,V.mode,ne),$.return=V,$):($=f($,q),$.return=V,$)}function M(V,$,q,ne){var Ce=q.type;return Ce===j?Q(V,$,q.props.children,ne,q.key):$!==null&&($.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===D&&yi(Ce)===$.type)?($=f($,q.props),pr($,q),$.return=V,$):($=Hl(q.type,q.key,q.props,null,V.mode,ne),pr($,q),$.return=V,$)}function F(V,$,q,ne){return $===null||$.tag!==4||$.stateNode.containerInfo!==q.containerInfo||$.stateNode.implementation!==q.implementation?($=bu(q,V.mode,ne),$.return=V,$):($=f($,q.children||[]),$.return=V,$)}function Q(V,$,q,ne,Ce){return $===null||$.tag!==7?($=pi(q,V.mode,ne,Ce),$.return=V,$):($=f($,q),$.return=V,$)}function ae(V,$,q){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return $=yu(""+$,V.mode,q),$.return=V,$;if(typeof $=="object"&&$!==null){switch($.$$typeof){case x:return q=Hl($.type,$.key,$.props,null,V.mode,q),pr(q,$),q.return=V,q;case k:return $=bu($,V.mode,q),$.return=V,$;case D:return $=yi($),ae(V,$,q)}if(le($)||X($))return $=pi($,V.mode,q,null),$.return=V,$;if(typeof $.then=="function")return ae(V,Zl($),q);if($.$$typeof===A)return ae(V,Vl(V,$),q);Kl(V,$)}return null}function Z(V,$,q,ne){var Ce=$!==null?$.key:null;if(typeof q=="string"&&q!==""||typeof q=="number"||typeof q=="bigint")return Ce!==null?null:N(V,$,""+q,ne);if(typeof q=="object"&&q!==null){switch(q.$$typeof){case x:return q.key===Ce?M(V,$,q,ne):null;case k:return q.key===Ce?F(V,$,q,ne):null;case D:return q=yi(q),Z(V,$,q,ne)}if(le(q)||X(q))return Ce!==null?null:Q(V,$,q,ne,null);if(typeof q.then=="function")return Z(V,$,Zl(q),ne);if(q.$$typeof===A)return Z(V,$,Vl(V,q),ne);Kl(V,q)}return null}function K(V,$,q,ne,Ce){if(typeof ne=="string"&&ne!==""||typeof ne=="number"||typeof ne=="bigint")return V=V.get(q)||null,N($,V,""+ne,Ce);if(typeof ne=="object"&&ne!==null){switch(ne.$$typeof){case x:return V=V.get(ne.key===null?q:ne.key)||null,M($,V,ne,Ce);case k:return V=V.get(ne.key===null?q:ne.key)||null,F($,V,ne,Ce);case D:return ne=yi(ne),K(V,$,q,ne,Ce)}if(le(ne)||X(ne))return V=V.get(q)||null,Q($,V,ne,Ce,null);if(typeof ne.then=="function")return K(V,$,q,Zl(ne),Ce);if(ne.$$typeof===A)return K(V,$,q,Vl($,ne),Ce);Kl($,ne)}return null}function ke(V,$,q,ne){for(var Ce=null,tt=null,je=$,ze=$=0,Ye=null;je!==null&&ze<q.length;ze++){je.index>ze?(Ye=je,je=null):Ye=je.sibling;var nt=Z(V,je,q[ze],ne);if(nt===null){je===null&&(je=Ye);break}e&&je&&nt.alternate===null&&n(V,je),$=h(nt,$,ze),tt===null?Ce=nt:tt.sibling=nt,tt=nt,je=Ye}if(ze===q.length)return i(V,je),Je&&Gs(V,ze),Ce;if(je===null){for(;ze<q.length;ze++)je=ae(V,q[ze],ne),je!==null&&($=h(je,$,ze),tt===null?Ce=je:tt.sibling=je,tt=je);return Je&&Gs(V,ze),Ce}for(je=l(je);ze<q.length;ze++)Ye=K(je,V,ze,q[ze],ne),Ye!==null&&(e&&Ye.alternate!==null&&je.delete(Ye.key===null?ze:Ye.key),$=h(Ye,$,ze),tt===null?Ce=Ye:tt.sibling=Ye,tt=Ye);return e&&je.forEach(function(Ua){return n(V,Ua)}),Je&&Gs(V,ze),Ce}function Ae(V,$,q,ne){if(q==null)throw Error(r(151));for(var Ce=null,tt=null,je=$,ze=$=0,Ye=null,nt=q.next();je!==null&&!nt.done;ze++,nt=q.next()){je.index>ze?(Ye=je,je=null):Ye=je.sibling;var Ua=Z(V,je,nt.value,ne);if(Ua===null){je===null&&(je=Ye);break}e&&je&&Ua.alternate===null&&n(V,je),$=h(Ua,$,ze),tt===null?Ce=Ua:tt.sibling=Ua,tt=Ua,je=Ye}if(nt.done)return i(V,je),Je&&Gs(V,ze),Ce;if(je===null){for(;!nt.done;ze++,nt=q.next())nt=ae(V,nt.value,ne),nt!==null&&($=h(nt,$,ze),tt===null?Ce=nt:tt.sibling=nt,tt=nt);return Je&&Gs(V,ze),Ce}for(je=l(je);!nt.done;ze++,nt=q.next())nt=K(je,V,ze,nt.value,ne),nt!==null&&(e&&nt.alternate!==null&&je.delete(nt.key===null?ze:nt.key),$=h(nt,$,ze),tt===null?Ce=nt:tt.sibling=nt,tt=nt);return e&&je.forEach(function(E2){return n(V,E2)}),Je&&Gs(V,ze),Ce}function _t(V,$,q,ne){if(typeof q=="object"&&q!==null&&q.type===j&&q.key===null&&(q=q.props.children),typeof q=="object"&&q!==null){switch(q.$$typeof){case x:e:{for(var Ce=q.key;$!==null;){if($.key===Ce){if(Ce=q.type,Ce===j){if($.tag===7){i(V,$.sibling),ne=f($,q.props.children),ne.return=V,V=ne;break e}}else if($.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===D&&yi(Ce)===$.type){i(V,$.sibling),ne=f($,q.props),pr(ne,q),ne.return=V,V=ne;break e}i(V,$);break}else n(V,$);$=$.sibling}q.type===j?(ne=pi(q.props.children,V.mode,ne,q.key),ne.return=V,V=ne):(ne=Hl(q.type,q.key,q.props,null,V.mode,ne),pr(ne,q),ne.return=V,V=ne)}return S(V);case k:e:{for(Ce=q.key;$!==null;){if($.key===Ce)if($.tag===4&&$.stateNode.containerInfo===q.containerInfo&&$.stateNode.implementation===q.implementation){i(V,$.sibling),ne=f($,q.children||[]),ne.return=V,V=ne;break e}else{i(V,$);break}else n(V,$);$=$.sibling}ne=bu(q,V.mode,ne),ne.return=V,V=ne}return S(V);case D:return q=yi(q),_t(V,$,q,ne)}if(le(q))return ke(V,$,q,ne);if(X(q)){if(Ce=X(q),typeof Ce!="function")throw Error(r(150));return q=Ce.call(q),Ae(V,$,q,ne)}if(typeof q.then=="function")return _t(V,$,Zl(q),ne);if(q.$$typeof===A)return _t(V,$,Vl(V,q),ne);Kl(V,q)}return typeof q=="string"&&q!==""||typeof q=="number"||typeof q=="bigint"?(q=""+q,$!==null&&$.tag===6?(i(V,$.sibling),ne=f($,q),ne.return=V,V=ne):(i(V,$),ne=yu(q,V.mode,ne),ne.return=V,V=ne),S(V)):i(V,$)}return function(V,$,q,ne){try{fr=0;var Ce=_t(V,$,q,ne);return uo=null,Ce}catch(je){if(je===co||je===ql)throw je;var tt=Dn(29,je,null,V.mode);return tt.lanes=ne,tt.return=V,tt}finally{}}}var _i=Cg(!0),Eg=Cg(!1),Ta=!1;function Du(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ru(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function wa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Na(e,n,i){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(rt&2)!==0){var f=l.pending;return f===null?n.next=n:(n.next=f.next,f.next=n),l.pending=n,n=zl(e),fg(e,null,i),n}return $l(e,l,n,i),zl(e)}function mr(e,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194048)!==0)){var l=n.lanes;l&=e.pendingLanes,i|=l,n.lanes=i,ye(e,i)}}function Mu(e,n){var i=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,i===l)){var f=null,h=null;if(i=i.firstBaseUpdate,i!==null){do{var S={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};h===null?f=h=S:h=h.next=S,i=i.next}while(i!==null);h===null?f=h=n:h=h.next=n}else f=h=n;i={baseState:l.baseState,firstBaseUpdate:f,lastBaseUpdate:h,shared:l.shared,callbacks:l.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=n:e.next=n,i.lastBaseUpdate=n}var Iu=!1;function hr(){if(Iu){var e=lo;if(e!==null)throw e}}function gr(e,n,i,l){Iu=!1;var f=e.updateQueue;Ta=!1;var h=f.firstBaseUpdate,S=f.lastBaseUpdate,N=f.shared.pending;if(N!==null){f.shared.pending=null;var M=N,F=M.next;M.next=null,S===null?h=F:S.next=F,S=M;var Q=e.alternate;Q!==null&&(Q=Q.updateQueue,N=Q.lastBaseUpdate,N!==S&&(N===null?Q.firstBaseUpdate=F:N.next=F,Q.lastBaseUpdate=M))}if(h!==null){var ae=f.baseState;S=0,Q=F=M=null,N=h;do{var Z=N.lane&-536870913,K=Z!==N.lane;if(K?(Ke&Z)===Z:(l&Z)===Z){Z!==0&&Z===ro&&(Iu=!0),Q!==null&&(Q=Q.next={lane:0,tag:N.tag,payload:N.payload,callback:null,next:null});e:{var ke=e,Ae=N;Z=n;var _t=i;switch(Ae.tag){case 1:if(ke=Ae.payload,typeof ke=="function"){ae=ke.call(_t,ae,Z);break e}ae=ke;break e;case 3:ke.flags=ke.flags&-65537|128;case 0:if(ke=Ae.payload,Z=typeof ke=="function"?ke.call(_t,ae,Z):ke,Z==null)break e;ae=_({},ae,Z);break e;case 2:Ta=!0}}Z=N.callback,Z!==null&&(e.flags|=64,K&&(e.flags|=8192),K=f.callbacks,K===null?f.callbacks=[Z]:K.push(Z))}else K={lane:Z,tag:N.tag,payload:N.payload,callback:N.callback,next:null},Q===null?(F=Q=K,M=ae):Q=Q.next=K,S|=Z;if(N=N.next,N===null){if(N=f.shared.pending,N===null)break;K=N,N=K.next,K.next=null,f.lastBaseUpdate=K,f.shared.pending=null}}while(!0);Q===null&&(M=ae),f.baseState=M,f.firstBaseUpdate=F,f.lastBaseUpdate=Q,h===null&&(f.shared.lanes=0),Ra|=S,e.lanes=S,e.memoizedState=ae}}function Ag(e,n){if(typeof e!="function")throw Error(r(191,e));e.call(n)}function Dg(e,n){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;e<i.length;e++)Ag(i[e],n)}var fo=pe(null),Yl=pe(0);function Rg(e,n){e=ta,xe(Yl,e),xe(fo,n),ta=e|n.baseLanes}function Ou(){xe(Yl,ta),xe(fo,fo.current)}function Lu(){ta=Yl.current,de(fo),de(Yl)}var Rn=pe(null),Xn=null;function Ca(e){var n=e.alternate;xe(zt,zt.current&1),xe(Rn,e),Xn===null&&(n===null||fo.current!==null||n.memoizedState!==null)&&(Xn=e)}function Bu(e){xe(zt,zt.current),xe(Rn,e),Xn===null&&(Xn=e)}function Mg(e){e.tag===22?(xe(zt,zt.current),xe(Rn,e),Xn===null&&(Xn=e)):Ea()}function Ea(){xe(zt,zt.current),xe(Rn,Rn.current)}function Mn(e){de(Rn),Xn===e&&(Xn=null),de(zt)}var zt=pe(0);function Jl(e){for(var n=e;n!==null;){if(n.tag===13){var i=n.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||Gf(i)||qf(i)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Zs=0,Be=null,yt=null,Ft=null,Wl=!1,po=!1,xi=!1,Xl=0,vr=0,mo=null,bS=0;function Lt(){throw Error(r(321))}function $u(e,n){if(n===null)return!1;for(var i=0;i<n.length&&i<e.length;i++)if(!An(e[i],n[i]))return!1;return!0}function zu(e,n,i,l,f,h){return Zs=h,Be=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,B.H=e===null||e.memoizedState===null?gv:ef,xi=!1,h=i(l,f),xi=!1,po&&(h=Og(n,i,l,f)),Ig(e),h}function Ig(e){B.H=_r;var n=yt!==null&&yt.next!==null;if(Zs=0,Ft=yt=Be=null,Wl=!1,vr=0,mo=null,n)throw Error(r(300));e===null||Zt||(e=e.dependencies,e!==null&&Ul(e)&&(Zt=!0))}function Og(e,n,i,l){Be=e;var f=0;do{if(po&&(mo=null),vr=0,po=!1,25<=f)throw Error(r(301));if(f+=1,Ft=yt=null,e.updateQueue!=null){var h=e.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}B.H=vv,h=n(i,l)}while(po);return h}function _S(){var e=B.H,n=e.useState()[0];return n=typeof n.then=="function"?yr(n):n,e=e.useState()[0],(yt!==null?yt.memoizedState:null)!==e&&(Be.flags|=1024),n}function Hu(){var e=Xl!==0;return Xl=0,e}function Pu(e,n,i){n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~i}function Uu(e){if(Wl){for(e=e.memoizedState;e!==null;){var n=e.queue;n!==null&&(n.pending=null),e=e.next}Wl=!1}Zs=0,Ft=yt=Be=null,po=!1,vr=Xl=0,mo=null}function bn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ft===null?Be.memoizedState=Ft=e:Ft=Ft.next=e,Ft}function Ht(){if(yt===null){var e=Be.alternate;e=e!==null?e.memoizedState:null}else e=yt.next;var n=Ft===null?Be.memoizedState:Ft.next;if(n!==null)Ft=n,yt=e;else{if(e===null)throw Be.alternate===null?Error(r(467)):Error(r(310));yt=e,e={memoizedState:yt.memoizedState,baseState:yt.baseState,baseQueue:yt.baseQueue,queue:yt.queue,next:null},Ft===null?Be.memoizedState=Ft=e:Ft=Ft.next=e}return Ft}function Ql(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function yr(e){var n=vr;return vr+=1,mo===null&&(mo=[]),e=Tg(mo,e,n),n=Be,(Ft===null?n.memoizedState:Ft.next)===null&&(n=n.alternate,B.H=n===null||n.memoizedState===null?gv:ef),e}function ec(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return yr(e);if(e.$$typeof===A)return cn(e)}throw Error(r(438,String(e)))}function Vu(e){var n=null,i=Be.updateQueue;if(i!==null&&(n=i.memoCache),n==null){var l=Be.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(n={data:l.data.map(function(f){return f.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),i===null&&(i=Ql(),Be.updateQueue=i),i.memoCache=n,i=n.data[n.index],i===void 0)for(i=n.data[n.index]=Array(e),l=0;l<e;l++)i[l]=Y;return n.index++,i}function Ks(e,n){return typeof n=="function"?n(e):n}function tc(e){var n=Ht();return Gu(n,yt,e)}function Gu(e,n,i){var l=e.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=i;var f=e.baseQueue,h=l.pending;if(h!==null){if(f!==null){var S=f.next;f.next=h.next,h.next=S}n.baseQueue=f=h,l.pending=null}if(h=e.baseState,f===null)e.memoizedState=h;else{n=f.next;var N=S=null,M=null,F=n,Q=!1;do{var ae=F.lane&-536870913;if(ae!==F.lane?(Ke&ae)===ae:(Zs&ae)===ae){var Z=F.revertLane;if(Z===0)M!==null&&(M=M.next={lane:0,revertLane:0,gesture:null,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null}),ae===ro&&(Q=!0);else if((Zs&Z)===Z){F=F.next,Z===ro&&(Q=!0);continue}else ae={lane:0,revertLane:F.revertLane,gesture:null,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null},M===null?(N=M=ae,S=h):M=M.next=ae,Be.lanes|=Z,Ra|=Z;ae=F.action,xi&&i(h,ae),h=F.hasEagerState?F.eagerState:i(h,ae)}else Z={lane:ae,revertLane:F.revertLane,gesture:F.gesture,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null},M===null?(N=M=Z,S=h):M=M.next=Z,Be.lanes|=ae,Ra|=ae;F=F.next}while(F!==null&&F!==n);if(M===null?S=h:M.next=N,!An(h,e.memoizedState)&&(Zt=!0,Q&&(i=lo,i!==null)))throw i;e.memoizedState=h,e.baseState=S,e.baseQueue=M,l.lastRenderedState=h}return f===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function qu(e){var n=Ht(),i=n.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=e;var l=i.dispatch,f=i.pending,h=n.memoizedState;if(f!==null){i.pending=null;var S=f=f.next;do h=e(h,S.action),S=S.next;while(S!==f);An(h,n.memoizedState)||(Zt=!0),n.memoizedState=h,n.baseQueue===null&&(n.baseState=h),i.lastRenderedState=h}return[h,l]}function Lg(e,n,i){var l=Be,f=Ht(),h=Je;if(h){if(i===void 0)throw Error(r(407));i=i()}else i=n();var S=!An((yt||f).memoizedState,i);if(S&&(f.memoizedState=i,Zt=!0),f=f.queue,Ku(zg.bind(null,l,f,e),[e]),f.getSnapshot!==n||S||Ft!==null&&Ft.memoizedState.tag&1){if(l.flags|=2048,ho(9,{destroy:void 0},$g.bind(null,l,f,i,n),null),xt===null)throw Error(r(349));h||(Zs&127)!==0||Bg(l,n,i)}return i}function Bg(e,n,i){e.flags|=16384,e={getSnapshot:n,value:i},n=Be.updateQueue,n===null?(n=Ql(),Be.updateQueue=n,n.stores=[e]):(i=n.stores,i===null?n.stores=[e]:i.push(e))}function $g(e,n,i,l){n.value=i,n.getSnapshot=l,Hg(n)&&Pg(e)}function zg(e,n,i){return i(function(){Hg(n)&&Pg(e)})}function Hg(e){var n=e.getSnapshot;e=e.value;try{var i=n();return!An(e,i)}catch{return!0}}function Pg(e){var n=fi(e,2);n!==null&&En(n,e,2)}function Fu(e){var n=bn();if(typeof e=="function"){var i=e;if(e=i(),xi){yn(!0);try{i()}finally{yn(!1)}}}return n.memoizedState=n.baseState=e,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ks,lastRenderedState:e},n}function Ug(e,n,i,l){return e.baseState=i,Gu(e,yt,typeof l=="function"?l:Ks)}function xS(e,n,i,l,f){if(ac(e))throw Error(r(485));if(e=n.action,e!==null){var h={payload:f,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(S){h.listeners.push(S)}};B.T!==null?i(!0):h.isTransition=!1,l(h),i=n.pending,i===null?(h.next=n.pending=h,Vg(n,h)):(h.next=i.next,n.pending=i.next=h)}}function Vg(e,n){var i=n.action,l=n.payload,f=e.state;if(n.isTransition){var h=B.T,S={};B.T=S;try{var N=i(f,l),M=B.S;M!==null&&M(S,N),Gg(e,n,N)}catch(F){Zu(e,n,F)}finally{h!==null&&S.types!==null&&(h.types=S.types),B.T=h}}else try{h=i(f,l),Gg(e,n,h)}catch(F){Zu(e,n,F)}}function Gg(e,n,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(l){qg(e,n,l)},function(l){return Zu(e,n,l)}):qg(e,n,i)}function qg(e,n,i){n.status="fulfilled",n.value=i,Fg(n),e.state=i,n=e.pending,n!==null&&(i=n.next,i===n?e.pending=null:(i=i.next,n.next=i,Vg(e,i)))}function Zu(e,n,i){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do n.status="rejected",n.reason=i,Fg(n),n=n.next;while(n!==l)}e.action=null}function Fg(e){e=e.listeners;for(var n=0;n<e.length;n++)(0,e[n])()}function Zg(e,n){return n}function Kg(e,n){if(Je){var i=xt.formState;if(i!==null){e:{var l=Be;if(Je){if(St){t:{for(var f=St,h=Wn;f.nodeType!==8;){if(!h){f=null;break t}if(f=Qn(f.nextSibling),f===null){f=null;break t}}h=f.data,f=h==="F!"||h==="F"?f:null}if(f){St=Qn(f.nextSibling),l=f.data==="F!";break e}}Sa(l)}l=!1}l&&(n=i[0])}}return i=bn(),i.memoizedState=i.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Zg,lastRenderedState:n},i.queue=l,i=pv.bind(null,Be,l),l.dispatch=i,l=Fu(!1),h=Qu.bind(null,Be,!1,l.queue),l=bn(),f={state:n,dispatch:null,action:e,pending:null},l.queue=f,i=xS.bind(null,Be,f,h,i),f.dispatch=i,l.memoizedState=e,[n,i,!1]}function Yg(e){var n=Ht();return Jg(n,yt,e)}function Jg(e,n,i){if(n=Gu(e,n,Zg)[0],e=tc(Ks)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var l=yr(n)}catch(S){throw S===co?ql:S}else l=n;n=Ht();var f=n.queue,h=f.dispatch;return i!==n.memoizedState&&(Be.flags|=2048,ho(9,{destroy:void 0},kS.bind(null,f,i),null)),[l,h,e]}function kS(e,n){e.action=n}function Wg(e){var n=Ht(),i=yt;if(i!==null)return Jg(n,i,e);Ht(),n=n.memoizedState,i=Ht();var l=i.queue.dispatch;return i.memoizedState=e,[n,l,!1]}function ho(e,n,i,l){return e={tag:e,create:i,deps:l,inst:n,next:null},n=Be.updateQueue,n===null&&(n=Ql(),Be.updateQueue=n),i=n.lastEffect,i===null?n.lastEffect=e.next=e:(l=i.next,i.next=e,e.next=l,n.lastEffect=e),e}function Xg(){return Ht().memoizedState}function nc(e,n,i,l){var f=bn();Be.flags|=e,f.memoizedState=ho(1|n,{destroy:void 0},i,l===void 0?null:l)}function sc(e,n,i,l){var f=Ht();l=l===void 0?null:l;var h=f.memoizedState.inst;yt!==null&&l!==null&&$u(l,yt.memoizedState.deps)?f.memoizedState=ho(n,h,i,l):(Be.flags|=e,f.memoizedState=ho(1|n,h,i,l))}function Qg(e,n){nc(8390656,8,e,n)}function Ku(e,n){sc(2048,8,e,n)}function SS(e){Be.flags|=4;var n=Be.updateQueue;if(n===null)n=Ql(),Be.updateQueue=n,n.events=[e];else{var i=n.events;i===null?n.events=[e]:i.push(e)}}function ev(e){var n=Ht().memoizedState;return SS({ref:n,nextImpl:e}),function(){if((rt&2)!==0)throw Error(r(440));return n.impl.apply(void 0,arguments)}}function tv(e,n){return sc(4,2,e,n)}function nv(e,n){return sc(4,4,e,n)}function sv(e,n){if(typeof n=="function"){e=e();var i=n(e);return function(){typeof i=="function"?i():n(null)}}if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function av(e,n,i){i=i!=null?i.concat([e]):null,sc(4,4,sv.bind(null,n,e),i)}function Yu(){}function iv(e,n){var i=Ht();n=n===void 0?null:n;var l=i.memoizedState;return n!==null&&$u(n,l[1])?l[0]:(i.memoizedState=[e,n],e)}function ov(e,n){var i=Ht();n=n===void 0?null:n;var l=i.memoizedState;if(n!==null&&$u(n,l[1]))return l[0];if(l=e(),xi){yn(!0);try{e()}finally{yn(!1)}}return i.memoizedState=[l,n],l}function Ju(e,n,i){return i===void 0||(Zs&1073741824)!==0&&(Ke&261930)===0?e.memoizedState=n:(e.memoizedState=i,e=r0(),Be.lanes|=e,Ra|=e,i)}function rv(e,n,i,l){return An(i,n)?i:fo.current!==null?(e=Ju(e,i,l),An(e,n)||(Zt=!0),e):(Zs&42)===0||(Zs&1073741824)!==0&&(Ke&261930)===0?(Zt=!0,e.memoizedState=i):(e=r0(),Be.lanes|=e,Ra|=e,n)}function lv(e,n,i,l,f){var h=R.p;R.p=h!==0&&8>h?h:8;var S=B.T,N={};B.T=N,Qu(e,!1,n,i);try{var M=f(),F=B.S;if(F!==null&&F(N,M),M!==null&&typeof M=="object"&&typeof M.then=="function"){var Q=yS(M,l);br(e,n,Q,Ln(e))}else br(e,n,l,Ln(e))}catch(ae){br(e,n,{then:function(){},status:"rejected",reason:ae},Ln())}finally{R.p=h,S!==null&&N.types!==null&&(S.types=N.types),B.T=S}}function jS(){}function Wu(e,n,i,l){if(e.tag!==5)throw Error(r(476));var f=cv(e).queue;lv(e,f,n,se,i===null?jS:function(){return dv(e),i(l)})}function cv(e){var n=e.memoizedState;if(n!==null)return n;n={memoizedState:se,baseState:se,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ks,lastRenderedState:se},next:null};var i={};return n.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ks,lastRenderedState:i},next:null},e.memoizedState=n,e=e.alternate,e!==null&&(e.memoizedState=n),n}function dv(e){var n=cv(e);n.next===null&&(n=e.alternate.memoizedState),br(e,n.next.queue,{},Ln())}function Xu(){return cn(Lr)}function uv(){return Ht().memoizedState}function fv(){return Ht().memoizedState}function TS(e){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var i=Ln();e=wa(i);var l=Na(n,e,i);l!==null&&(En(l,n,i),mr(l,n,i)),n={cache:Nu()},e.payload=n;return}n=n.return}}function wS(e,n,i){var l=Ln();i={lane:l,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},ac(e)?mv(n,i):(i=gu(e,n,i,l),i!==null&&(En(i,e,l),hv(i,n,l)))}function pv(e,n,i){var l=Ln();br(e,n,i,l)}function br(e,n,i,l){var f={lane:l,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(ac(e))mv(n,f);else{var h=e.alternate;if(e.lanes===0&&(h===null||h.lanes===0)&&(h=n.lastRenderedReducer,h!==null))try{var S=n.lastRenderedState,N=h(S,i);if(f.hasEagerState=!0,f.eagerState=N,An(N,S))return $l(e,n,f,0),xt===null&&Bl(),!1}catch{}finally{}if(i=gu(e,n,f,l),i!==null)return En(i,e,l),hv(i,n,l),!0}return!1}function Qu(e,n,i,l){if(l={lane:2,revertLane:Rf(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ac(e)){if(n)throw Error(r(479))}else n=gu(e,i,l,2),n!==null&&En(n,e,2)}function ac(e){var n=e.alternate;return e===Be||n!==null&&n===Be}function mv(e,n){po=Wl=!0;var i=e.pending;i===null?n.next=n:(n.next=i.next,i.next=n),e.pending=n}function hv(e,n,i){if((i&4194048)!==0){var l=n.lanes;l&=e.pendingLanes,i|=l,n.lanes=i,ye(e,i)}}var _r={readContext:cn,use:ec,useCallback:Lt,useContext:Lt,useEffect:Lt,useImperativeHandle:Lt,useLayoutEffect:Lt,useInsertionEffect:Lt,useMemo:Lt,useReducer:Lt,useRef:Lt,useState:Lt,useDebugValue:Lt,useDeferredValue:Lt,useTransition:Lt,useSyncExternalStore:Lt,useId:Lt,useHostTransitionStatus:Lt,useFormState:Lt,useActionState:Lt,useOptimistic:Lt,useMemoCache:Lt,useCacheRefresh:Lt};_r.useEffectEvent=Lt;var gv={readContext:cn,use:ec,useCallback:function(e,n){return bn().memoizedState=[e,n===void 0?null:n],e},useContext:cn,useEffect:Qg,useImperativeHandle:function(e,n,i){i=i!=null?i.concat([e]):null,nc(4194308,4,sv.bind(null,n,e),i)},useLayoutEffect:function(e,n){return nc(4194308,4,e,n)},useInsertionEffect:function(e,n){nc(4,2,e,n)},useMemo:function(e,n){var i=bn();n=n===void 0?null:n;var l=e();if(xi){yn(!0);try{e()}finally{yn(!1)}}return i.memoizedState=[l,n],l},useReducer:function(e,n,i){var l=bn();if(i!==void 0){var f=i(n);if(xi){yn(!0);try{i(n)}finally{yn(!1)}}}else f=n;return l.memoizedState=l.baseState=f,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:f},l.queue=e,e=e.dispatch=wS.bind(null,Be,e),[l.memoizedState,e]},useRef:function(e){var n=bn();return e={current:e},n.memoizedState=e},useState:function(e){e=Fu(e);var n=e.queue,i=pv.bind(null,Be,n);return n.dispatch=i,[e.memoizedState,i]},useDebugValue:Yu,useDeferredValue:function(e,n){var i=bn();return Ju(i,e,n)},useTransition:function(){var e=Fu(!1);return e=lv.bind(null,Be,e.queue,!0,!1),bn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,n,i){var l=Be,f=bn();if(Je){if(i===void 0)throw Error(r(407));i=i()}else{if(i=n(),xt===null)throw Error(r(349));(Ke&127)!==0||Bg(l,n,i)}f.memoizedState=i;var h={value:i,getSnapshot:n};return f.queue=h,Qg(zg.bind(null,l,h,e),[e]),l.flags|=2048,ho(9,{destroy:void 0},$g.bind(null,l,h,i,n),null),i},useId:function(){var e=bn(),n=xt.identifierPrefix;if(Je){var i=Cs,l=Ns;i=(l&~(1<<32-nn(l)-1)).toString(32)+i,n="_"+n+"R_"+i,i=Xl++,0<i&&(n+="H"+i.toString(32)),n+="_"}else i=bS++,n="_"+n+"r_"+i.toString(32)+"_";return e.memoizedState=n},useHostTransitionStatus:Xu,useFormState:Kg,useActionState:Kg,useOptimistic:function(e){var n=bn();n.memoizedState=n.baseState=e;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=i,n=Qu.bind(null,Be,!0,i),i.dispatch=n,[e,n]},useMemoCache:Vu,useCacheRefresh:function(){return bn().memoizedState=TS.bind(null,Be)},useEffectEvent:function(e){var n=bn(),i={impl:e};return n.memoizedState=i,function(){if((rt&2)!==0)throw Error(r(440));return i.impl.apply(void 0,arguments)}}},ef={readContext:cn,use:ec,useCallback:iv,useContext:cn,useEffect:Ku,useImperativeHandle:av,useInsertionEffect:tv,useLayoutEffect:nv,useMemo:ov,useReducer:tc,useRef:Xg,useState:function(){return tc(Ks)},useDebugValue:Yu,useDeferredValue:function(e,n){var i=Ht();return rv(i,yt.memoizedState,e,n)},useTransition:function(){var e=tc(Ks)[0],n=Ht().memoizedState;return[typeof e=="boolean"?e:yr(e),n]},useSyncExternalStore:Lg,useId:uv,useHostTransitionStatus:Xu,useFormState:Yg,useActionState:Yg,useOptimistic:function(e,n){var i=Ht();return Ug(i,yt,e,n)},useMemoCache:Vu,useCacheRefresh:fv};ef.useEffectEvent=ev;var vv={readContext:cn,use:ec,useCallback:iv,useContext:cn,useEffect:Ku,useImperativeHandle:av,useInsertionEffect:tv,useLayoutEffect:nv,useMemo:ov,useReducer:qu,useRef:Xg,useState:function(){return qu(Ks)},useDebugValue:Yu,useDeferredValue:function(e,n){var i=Ht();return yt===null?Ju(i,e,n):rv(i,yt.memoizedState,e,n)},useTransition:function(){var e=qu(Ks)[0],n=Ht().memoizedState;return[typeof e=="boolean"?e:yr(e),n]},useSyncExternalStore:Lg,useId:uv,useHostTransitionStatus:Xu,useFormState:Wg,useActionState:Wg,useOptimistic:function(e,n){var i=Ht();return yt!==null?Ug(i,yt,e,n):(i.baseState=e,[e,i.queue.dispatch])},useMemoCache:Vu,useCacheRefresh:fv};vv.useEffectEvent=ev;function tf(e,n,i,l){n=e.memoizedState,i=i(l,n),i=i==null?n:_({},n,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var nf={enqueueSetState:function(e,n,i){e=e._reactInternals;var l=Ln(),f=wa(l);f.payload=n,i!=null&&(f.callback=i),n=Na(e,f,l),n!==null&&(En(n,e,l),mr(n,e,l))},enqueueReplaceState:function(e,n,i){e=e._reactInternals;var l=Ln(),f=wa(l);f.tag=1,f.payload=n,i!=null&&(f.callback=i),n=Na(e,f,l),n!==null&&(En(n,e,l),mr(n,e,l))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var i=Ln(),l=wa(i);l.tag=2,n!=null&&(l.callback=n),n=Na(e,l,i),n!==null&&(En(n,e,i),mr(n,e,i))}};function yv(e,n,i,l,f,h,S){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,h,S):n.prototype&&n.prototype.isPureReactComponent?!or(i,l)||!or(f,h):!0}function bv(e,n,i,l){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(i,l),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(i,l),n.state!==e&&nf.enqueueReplaceState(n,n.state,null)}function ki(e,n){var i=n;if("ref"in n){i={};for(var l in n)l!=="ref"&&(i[l]=n[l])}if(e=e.defaultProps){i===n&&(i=_({},i));for(var f in e)i[f]===void 0&&(i[f]=e[f])}return i}function _v(e){Ll(e)}function xv(e){console.error(e)}function kv(e){Ll(e)}function ic(e,n){try{var i=e.onUncaughtError;i(n.value,{componentStack:n.stack})}catch(l){setTimeout(function(){throw l})}}function Sv(e,n,i){try{var l=e.onCaughtError;l(i.value,{componentStack:i.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(f){setTimeout(function(){throw f})}}function sf(e,n,i){return i=wa(i),i.tag=3,i.payload={element:null},i.callback=function(){ic(e,n)},i}function jv(e){return e=wa(e),e.tag=3,e}function Tv(e,n,i,l){var f=i.type.getDerivedStateFromError;if(typeof f=="function"){var h=l.value;e.payload=function(){return f(h)},e.callback=function(){Sv(n,i,l)}}var S=i.stateNode;S!==null&&typeof S.componentDidCatch=="function"&&(e.callback=function(){Sv(n,i,l),typeof f!="function"&&(Ma===null?Ma=new Set([this]):Ma.add(this));var N=l.stack;this.componentDidCatch(l.value,{componentStack:N!==null?N:""})})}function NS(e,n,i,l,f){if(i.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(n=i.alternate,n!==null&&oo(n,i,f,!0),i=Rn.current,i!==null){switch(i.tag){case 31:case 13:return Xn===null?vc():i.alternate===null&&Bt===0&&(Bt=3),i.flags&=-257,i.flags|=65536,i.lanes=f,l===Fl?i.flags|=16384:(n=i.updateQueue,n===null?i.updateQueue=new Set([l]):n.add(l),Ef(e,l,f)),!1;case 22:return i.flags|=65536,l===Fl?i.flags|=16384:(n=i.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([l])},i.updateQueue=n):(i=n.retryQueue,i===null?n.retryQueue=new Set([l]):i.add(l)),Ef(e,l,f)),!1}throw Error(r(435,i.tag))}return Ef(e,l,f),vc(),!1}if(Je)return n=Rn.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=f,l!==ku&&(e=Error(r(422),{cause:l}),cr(Kn(e,i)))):(l!==ku&&(n=Error(r(423),{cause:l}),cr(Kn(n,i))),e=e.current.alternate,e.flags|=65536,f&=-f,e.lanes|=f,l=Kn(l,i),f=sf(e.stateNode,l,f),Mu(e,f),Bt!==4&&(Bt=2)),!1;var h=Error(r(520),{cause:l});if(h=Kn(h,i),Cr===null?Cr=[h]:Cr.push(h),Bt!==4&&(Bt=2),n===null)return!0;l=Kn(l,i),i=n;do{switch(i.tag){case 3:return i.flags|=65536,e=f&-f,i.lanes|=e,e=sf(i.stateNode,l,e),Mu(i,e),!1;case 1:if(n=i.type,h=i.stateNode,(i.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(Ma===null||!Ma.has(h))))return i.flags|=65536,f&=-f,i.lanes|=f,f=jv(f),Tv(f,e,i,l),Mu(i,f),!1}i=i.return}while(i!==null);return!1}var af=Error(r(461)),Zt=!1;function dn(e,n,i,l){n.child=e===null?Eg(n,null,i,l):_i(n,e.child,i,l)}function wv(e,n,i,l,f){i=i.render;var h=n.ref;if("ref"in l){var S={};for(var N in l)N!=="ref"&&(S[N]=l[N])}else S=l;return gi(n),l=zu(e,n,i,S,h,f),N=Hu(),e!==null&&!Zt?(Pu(e,n,f),Ys(e,n,f)):(Je&&N&&_u(n),n.flags|=1,dn(e,n,l,f),n.child)}function Nv(e,n,i,l,f){if(e===null){var h=i.type;return typeof h=="function"&&!vu(h)&&h.defaultProps===void 0&&i.compare===null?(n.tag=15,n.type=h,Cv(e,n,h,l,f)):(e=Hl(i.type,null,l,n,n.mode,f),e.ref=n.ref,e.return=n,n.child=e)}if(h=e.child,!pf(e,f)){var S=h.memoizedProps;if(i=i.compare,i=i!==null?i:or,i(S,l)&&e.ref===n.ref)return Ys(e,n,f)}return n.flags|=1,e=Vs(h,l),e.ref=n.ref,e.return=n,n.child=e}function Cv(e,n,i,l,f){if(e!==null){var h=e.memoizedProps;if(or(h,l)&&e.ref===n.ref)if(Zt=!1,n.pendingProps=l=h,pf(e,f))(e.flags&131072)!==0&&(Zt=!0);else return n.lanes=e.lanes,Ys(e,n,f)}return of(e,n,i,l,f)}function Ev(e,n,i,l){var f=l.children,h=e!==null?e.memoizedState:null;if(e===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((n.flags&128)!==0){if(h=h!==null?h.baseLanes|i:i,e!==null){for(l=n.child=e.child,f=0;l!==null;)f=f|l.lanes|l.childLanes,l=l.sibling;l=f&~h}else l=0,n.child=null;return Av(e,n,h,i,l)}if((i&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},e!==null&&Gl(n,h!==null?h.cachePool:null),h!==null?Rg(n,h):Ou(),Mg(n);else return l=n.lanes=536870912,Av(e,n,h!==null?h.baseLanes|i:i,i,l)}else h!==null?(Gl(n,h.cachePool),Rg(n,h),Ea(),n.memoizedState=null):(e!==null&&Gl(n,null),Ou(),Ea());return dn(e,n,f,i),n.child}function xr(e,n){return e!==null&&e.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function Av(e,n,i,l,f){var h=Eu();return h=h===null?null:{parent:qt._currentValue,pool:h},n.memoizedState={baseLanes:i,cachePool:h},e!==null&&Gl(n,null),Ou(),Mg(n),e!==null&&oo(e,n,l,!0),n.childLanes=f,null}function oc(e,n){return n=lc({mode:n.mode,children:n.children},e.mode),n.ref=e.ref,e.child=n,n.return=e,n}function Dv(e,n,i){return _i(n,e.child,null,i),e=oc(n,n.pendingProps),e.flags|=2,Mn(n),n.memoizedState=null,e}function CS(e,n,i){var l=n.pendingProps,f=(n.flags&128)!==0;if(n.flags&=-129,e===null){if(Je){if(l.mode==="hidden")return e=oc(n,l),n.lanes=536870912,xr(null,e);if(Bu(n),(e=St)?(e=V0(e,Wn),e=e!==null&&e.data==="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:xa!==null?{id:Ns,overflow:Cs}:null,retryLane:536870912,hydrationErrors:null},i=mg(e),i.return=n,n.child=i,ln=n,St=null)):e=null,e===null)throw Sa(n);return n.lanes=536870912,null}return oc(n,l)}var h=e.memoizedState;if(h!==null){var S=h.dehydrated;if(Bu(n),f)if(n.flags&256)n.flags&=-257,n=Dv(e,n,i);else if(n.memoizedState!==null)n.child=e.child,n.flags|=128,n=null;else throw Error(r(558));else if(Zt||oo(e,n,i,!1),f=(i&e.childLanes)!==0,Zt||f){if(l=xt,l!==null&&(S=Ze(l,i),S!==0&&S!==h.retryLane))throw h.retryLane=S,fi(e,S),En(l,e,S),af;vc(),n=Dv(e,n,i)}else e=h.treeContext,St=Qn(S.nextSibling),ln=n,Je=!0,ka=null,Wn=!1,e!==null&&vg(n,e),n=oc(n,l),n.flags|=4096;return n}return e=Vs(e.child,{mode:l.mode,children:l.children}),e.ref=n.ref,n.child=e,e.return=n,e}function rc(e,n){var i=n.ref;if(i===null)e!==null&&e.ref!==null&&(n.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(r(284));(e===null||e.ref!==i)&&(n.flags|=4194816)}}function of(e,n,i,l,f){return gi(n),i=zu(e,n,i,l,void 0,f),l=Hu(),e!==null&&!Zt?(Pu(e,n,f),Ys(e,n,f)):(Je&&l&&_u(n),n.flags|=1,dn(e,n,i,f),n.child)}function Rv(e,n,i,l,f,h){return gi(n),n.updateQueue=null,i=Og(n,l,i,f),Ig(e),l=Hu(),e!==null&&!Zt?(Pu(e,n,h),Ys(e,n,h)):(Je&&l&&_u(n),n.flags|=1,dn(e,n,i,h),n.child)}function Mv(e,n,i,l,f){if(gi(n),n.stateNode===null){var h=no,S=i.contextType;typeof S=="object"&&S!==null&&(h=cn(S)),h=new i(l,h),n.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=nf,n.stateNode=h,h._reactInternals=n,h=n.stateNode,h.props=l,h.state=n.memoizedState,h.refs={},Du(n),S=i.contextType,h.context=typeof S=="object"&&S!==null?cn(S):no,h.state=n.memoizedState,S=i.getDerivedStateFromProps,typeof S=="function"&&(tf(n,i,S,l),h.state=n.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(S=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),S!==h.state&&nf.enqueueReplaceState(h,h.state,null),gr(n,l,h,f),hr(),h.state=n.memoizedState),typeof h.componentDidMount=="function"&&(n.flags|=4194308),l=!0}else if(e===null){h=n.stateNode;var N=n.memoizedProps,M=ki(i,N);h.props=M;var F=h.context,Q=i.contextType;S=no,typeof Q=="object"&&Q!==null&&(S=cn(Q));var ae=i.getDerivedStateFromProps;Q=typeof ae=="function"||typeof h.getSnapshotBeforeUpdate=="function",N=n.pendingProps!==N,Q||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(N||F!==S)&&bv(n,h,l,S),Ta=!1;var Z=n.memoizedState;h.state=Z,gr(n,l,h,f),hr(),F=n.memoizedState,N||Z!==F||Ta?(typeof ae=="function"&&(tf(n,i,ae,l),F=n.memoizedState),(M=Ta||yv(n,i,M,l,Z,F,S))?(Q||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount()),typeof h.componentDidMount=="function"&&(n.flags|=4194308)):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=l,n.memoizedState=F),h.props=l,h.state=F,h.context=S,l=M):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),l=!1)}else{h=n.stateNode,Ru(e,n),S=n.memoizedProps,Q=ki(i,S),h.props=Q,ae=n.pendingProps,Z=h.context,F=i.contextType,M=no,typeof F=="object"&&F!==null&&(M=cn(F)),N=i.getDerivedStateFromProps,(F=typeof N=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(S!==ae||Z!==M)&&bv(n,h,l,M),Ta=!1,Z=n.memoizedState,h.state=Z,gr(n,l,h,f),hr();var K=n.memoizedState;S!==ae||Z!==K||Ta||e!==null&&e.dependencies!==null&&Ul(e.dependencies)?(typeof N=="function"&&(tf(n,i,N,l),K=n.memoizedState),(Q=Ta||yv(n,i,Q,l,Z,K,M)||e!==null&&e.dependencies!==null&&Ul(e.dependencies))?(F||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(l,K,M),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(l,K,M)),typeof h.componentDidUpdate=="function"&&(n.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof h.componentDidUpdate!="function"||S===e.memoizedProps&&Z===e.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||S===e.memoizedProps&&Z===e.memoizedState||(n.flags|=1024),n.memoizedProps=l,n.memoizedState=K),h.props=l,h.state=K,h.context=M,l=Q):(typeof h.componentDidUpdate!="function"||S===e.memoizedProps&&Z===e.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||S===e.memoizedProps&&Z===e.memoizedState||(n.flags|=1024),l=!1)}return h=l,rc(e,n),l=(n.flags&128)!==0,h||l?(h=n.stateNode,i=l&&typeof i.getDerivedStateFromError!="function"?null:h.render(),n.flags|=1,e!==null&&l?(n.child=_i(n,e.child,null,f),n.child=_i(n,null,i,f)):dn(e,n,i,f),n.memoizedState=h.state,e=n.child):e=Ys(e,n,f),e}function Iv(e,n,i,l){return mi(),n.flags|=256,dn(e,n,i,l),n.child}var rf={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function lf(e){return{baseLanes:e,cachePool:Sg()}}function cf(e,n,i){return e=e!==null?e.childLanes&~i:0,n&&(e|=On),e}function Ov(e,n,i){var l=n.pendingProps,f=!1,h=(n.flags&128)!==0,S;if((S=h)||(S=e!==null&&e.memoizedState===null?!1:(zt.current&2)!==0),S&&(f=!0,n.flags&=-129),S=(n.flags&32)!==0,n.flags&=-33,e===null){if(Je){if(f?Ca(n):Ea(),(e=St)?(e=V0(e,Wn),e=e!==null&&e.data!=="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:xa!==null?{id:Ns,overflow:Cs}:null,retryLane:536870912,hydrationErrors:null},i=mg(e),i.return=n,n.child=i,ln=n,St=null)):e=null,e===null)throw Sa(n);return qf(e)?n.lanes=32:n.lanes=536870912,null}var N=l.children;return l=l.fallback,f?(Ea(),f=n.mode,N=lc({mode:"hidden",children:N},f),l=pi(l,f,i,null),N.return=n,l.return=n,N.sibling=l,n.child=N,l=n.child,l.memoizedState=lf(i),l.childLanes=cf(e,S,i),n.memoizedState=rf,xr(null,l)):(Ca(n),df(n,N))}var M=e.memoizedState;if(M!==null&&(N=M.dehydrated,N!==null)){if(h)n.flags&256?(Ca(n),n.flags&=-257,n=uf(e,n,i)):n.memoizedState!==null?(Ea(),n.child=e.child,n.flags|=128,n=null):(Ea(),N=l.fallback,f=n.mode,l=lc({mode:"visible",children:l.children},f),N=pi(N,f,i,null),N.flags|=2,l.return=n,N.return=n,l.sibling=N,n.child=l,_i(n,e.child,null,i),l=n.child,l.memoizedState=lf(i),l.childLanes=cf(e,S,i),n.memoizedState=rf,n=xr(null,l));else if(Ca(n),qf(N)){if(S=N.nextSibling&&N.nextSibling.dataset,S)var F=S.dgst;S=F,l=Error(r(419)),l.stack="",l.digest=S,cr({value:l,source:null,stack:null}),n=uf(e,n,i)}else if(Zt||oo(e,n,i,!1),S=(i&e.childLanes)!==0,Zt||S){if(S=xt,S!==null&&(l=Ze(S,i),l!==0&&l!==M.retryLane))throw M.retryLane=l,fi(e,l),En(S,e,l),af;Gf(N)||vc(),n=uf(e,n,i)}else Gf(N)?(n.flags|=192,n.child=e.child,n=null):(e=M.treeContext,St=Qn(N.nextSibling),ln=n,Je=!0,ka=null,Wn=!1,e!==null&&vg(n,e),n=df(n,l.children),n.flags|=4096);return n}return f?(Ea(),N=l.fallback,f=n.mode,M=e.child,F=M.sibling,l=Vs(M,{mode:"hidden",children:l.children}),l.subtreeFlags=M.subtreeFlags&65011712,F!==null?N=Vs(F,N):(N=pi(N,f,i,null),N.flags|=2),N.return=n,l.return=n,l.sibling=N,n.child=l,xr(null,l),l=n.child,N=e.child.memoizedState,N===null?N=lf(i):(f=N.cachePool,f!==null?(M=qt._currentValue,f=f.parent!==M?{parent:M,pool:M}:f):f=Sg(),N={baseLanes:N.baseLanes|i,cachePool:f}),l.memoizedState=N,l.childLanes=cf(e,S,i),n.memoizedState=rf,xr(e.child,l)):(Ca(n),i=e.child,e=i.sibling,i=Vs(i,{mode:"visible",children:l.children}),i.return=n,i.sibling=null,e!==null&&(S=n.deletions,S===null?(n.deletions=[e],n.flags|=16):S.push(e)),n.child=i,n.memoizedState=null,i)}function df(e,n){return n=lc({mode:"visible",children:n},e.mode),n.return=e,e.child=n}function lc(e,n){return e=Dn(22,e,null,n),e.lanes=0,e}function uf(e,n,i){return _i(n,e.child,null,i),e=df(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function Lv(e,n,i){e.lanes|=n;var l=e.alternate;l!==null&&(l.lanes|=n),Tu(e.return,n,i)}function ff(e,n,i,l,f,h){var S=e.memoizedState;S===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:l,tail:i,tailMode:f,treeForkCount:h}:(S.isBackwards=n,S.rendering=null,S.renderingStartTime=0,S.last=l,S.tail=i,S.tailMode=f,S.treeForkCount=h)}function Bv(e,n,i){var l=n.pendingProps,f=l.revealOrder,h=l.tail;l=l.children;var S=zt.current,N=(S&2)!==0;if(N?(S=S&1|2,n.flags|=128):S&=1,xe(zt,S),dn(e,n,l,i),l=Je?lr:0,!N&&e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Lv(e,i,n);else if(e.tag===19)Lv(e,i,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(f){case"forwards":for(i=n.child,f=null;i!==null;)e=i.alternate,e!==null&&Jl(e)===null&&(f=i),i=i.sibling;i=f,i===null?(f=n.child,n.child=null):(f=i.sibling,i.sibling=null),ff(n,!1,f,i,h,l);break;case"backwards":case"unstable_legacy-backwards":for(i=null,f=n.child,n.child=null;f!==null;){if(e=f.alternate,e!==null&&Jl(e)===null){n.child=f;break}e=f.sibling,f.sibling=i,i=f,f=e}ff(n,!0,i,null,h,l);break;case"together":ff(n,!1,null,null,void 0,l);break;default:n.memoizedState=null}return n.child}function Ys(e,n,i){if(e!==null&&(n.dependencies=e.dependencies),Ra|=n.lanes,(i&n.childLanes)===0)if(e!==null){if(oo(e,n,i,!1),(i&n.childLanes)===0)return null}else return null;if(e!==null&&n.child!==e.child)throw Error(r(153));if(n.child!==null){for(e=n.child,i=Vs(e,e.pendingProps),n.child=i,i.return=n;e.sibling!==null;)e=e.sibling,i=i.sibling=Vs(e,e.pendingProps),i.return=n;i.sibling=null}return n.child}function pf(e,n){return(e.lanes&n)!==0?!0:(e=e.dependencies,!!(e!==null&&Ul(e)))}function ES(e,n,i){switch(n.tag){case 3:Ie(n,n.stateNode.containerInfo),ja(n,qt,e.memoizedState.cache),mi();break;case 27:case 5:hn(n);break;case 4:Ie(n,n.stateNode.containerInfo);break;case 10:ja(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,Bu(n),null;break;case 13:var l=n.memoizedState;if(l!==null)return l.dehydrated!==null?(Ca(n),n.flags|=128,null):(i&n.child.childLanes)!==0?Ov(e,n,i):(Ca(n),e=Ys(e,n,i),e!==null?e.sibling:null);Ca(n);break;case 19:var f=(e.flags&128)!==0;if(l=(i&n.childLanes)!==0,l||(oo(e,n,i,!1),l=(i&n.childLanes)!==0),f){if(l)return Bv(e,n,i);n.flags|=128}if(f=n.memoizedState,f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),xe(zt,zt.current),l)break;return null;case 22:return n.lanes=0,Ev(e,n,i,n.pendingProps);case 24:ja(n,qt,e.memoizedState.cache)}return Ys(e,n,i)}function $v(e,n,i){if(e!==null)if(e.memoizedProps!==n.pendingProps)Zt=!0;else{if(!pf(e,i)&&(n.flags&128)===0)return Zt=!1,ES(e,n,i);Zt=(e.flags&131072)!==0}else Zt=!1,Je&&(n.flags&1048576)!==0&&gg(n,lr,n.index);switch(n.lanes=0,n.tag){case 16:e:{var l=n.pendingProps;if(e=yi(n.elementType),n.type=e,typeof e=="function")vu(e)?(l=ki(e,l),n.tag=1,n=Mv(null,n,e,l,i)):(n.tag=0,n=of(null,n,e,l,i));else{if(e!=null){var f=e.$$typeof;if(f===L){n.tag=11,n=wv(null,n,e,l,i);break e}else if(f===z){n.tag=14,n=Nv(null,n,e,l,i);break e}}throw n=W(e)||e,Error(r(306,n,""))}}return n;case 0:return of(e,n,n.type,n.pendingProps,i);case 1:return l=n.type,f=ki(l,n.pendingProps),Mv(e,n,l,f,i);case 3:e:{if(Ie(n,n.stateNode.containerInfo),e===null)throw Error(r(387));l=n.pendingProps;var h=n.memoizedState;f=h.element,Ru(e,n),gr(n,l,null,i);var S=n.memoizedState;if(l=S.cache,ja(n,qt,l),l!==h.cache&&wu(n,[qt],i,!0),hr(),l=S.element,h.isDehydrated)if(h={element:l,isDehydrated:!1,cache:S.cache},n.updateQueue.baseState=h,n.memoizedState=h,n.flags&256){n=Iv(e,n,l,i);break e}else if(l!==f){f=Kn(Error(r(424)),n),cr(f),n=Iv(e,n,l,i);break e}else{switch(e=n.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(St=Qn(e.firstChild),ln=n,Je=!0,ka=null,Wn=!0,i=Eg(n,null,l,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling}else{if(mi(),l===f){n=Ys(e,n,i);break e}dn(e,n,l,i)}n=n.child}return n;case 26:return rc(e,n),e===null?(i=Y0(n.type,null,n.pendingProps,null))?n.memoizedState=i:Je||(i=n.type,e=n.pendingProps,l=jc(gt.current).createElement(i),l[et]=n,l[pt]=e,un(l,i,e),sn(l),n.stateNode=l):n.memoizedState=Y0(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return hn(n),e===null&&Je&&(l=n.stateNode=F0(n.type,n.pendingProps,gt.current),ln=n,Wn=!0,f=St,Ba(n.type)?(Ff=f,St=Qn(l.firstChild)):St=f),dn(e,n,n.pendingProps.children,i),rc(e,n),e===null&&(n.flags|=4194304),n.child;case 5:return e===null&&Je&&((f=l=St)&&(l=i2(l,n.type,n.pendingProps,Wn),l!==null?(n.stateNode=l,ln=n,St=Qn(l.firstChild),Wn=!1,f=!0):f=!1),f||Sa(n)),hn(n),f=n.type,h=n.pendingProps,S=e!==null?e.memoizedProps:null,l=h.children,Pf(f,h)?l=null:S!==null&&Pf(f,S)&&(n.flags|=32),n.memoizedState!==null&&(f=zu(e,n,_S,null,null,i),Lr._currentValue=f),rc(e,n),dn(e,n,l,i),n.child;case 6:return e===null&&Je&&((e=i=St)&&(i=o2(i,n.pendingProps,Wn),i!==null?(n.stateNode=i,ln=n,St=null,e=!0):e=!1),e||Sa(n)),null;case 13:return Ov(e,n,i);case 4:return Ie(n,n.stateNode.containerInfo),l=n.pendingProps,e===null?n.child=_i(n,null,l,i):dn(e,n,l,i),n.child;case 11:return wv(e,n,n.type,n.pendingProps,i);case 7:return dn(e,n,n.pendingProps,i),n.child;case 8:return dn(e,n,n.pendingProps.children,i),n.child;case 12:return dn(e,n,n.pendingProps.children,i),n.child;case 10:return l=n.pendingProps,ja(n,n.type,l.value),dn(e,n,l.children,i),n.child;case 9:return f=n.type._context,l=n.pendingProps.children,gi(n),f=cn(f),l=l(f),n.flags|=1,dn(e,n,l,i),n.child;case 14:return Nv(e,n,n.type,n.pendingProps,i);case 15:return Cv(e,n,n.type,n.pendingProps,i);case 19:return Bv(e,n,i);case 31:return CS(e,n,i);case 22:return Ev(e,n,i,n.pendingProps);case 24:return gi(n),l=cn(qt),e===null?(f=Eu(),f===null&&(f=xt,h=Nu(),f.pooledCache=h,h.refCount++,h!==null&&(f.pooledCacheLanes|=i),f=h),n.memoizedState={parent:l,cache:f},Du(n),ja(n,qt,f)):((e.lanes&i)!==0&&(Ru(e,n),gr(n,null,null,i),hr()),f=e.memoizedState,h=n.memoizedState,f.parent!==l?(f={parent:l,cache:l},n.memoizedState=f,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=f),ja(n,qt,l)):(l=h.cache,ja(n,qt,l),l!==f.cache&&wu(n,[qt],i,!0))),dn(e,n,n.pendingProps.children,i),n.child;case 29:throw n.pendingProps}throw Error(r(156,n.tag))}function Js(e){e.flags|=4}function mf(e,n,i,l,f){if((n=(e.mode&32)!==0)&&(n=!1),n){if(e.flags|=16777216,(f&335544128)===f)if(e.stateNode.complete)e.flags|=8192;else if(u0())e.flags|=8192;else throw bi=Fl,Au}else e.flags&=-16777217}function zv(e,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!ey(n))if(u0())e.flags|=8192;else throw bi=Fl,Au}function cc(e,n){n!==null&&(e.flags|=4),e.flags&16384&&(n=e.tag!==22?Tl():536870912,e.lanes|=n,bo|=n)}function kr(e,n){if(!Je)switch(e.tailMode){case"hidden":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var l=null;i!==null;)i.alternate!==null&&(l=i),i=i.sibling;l===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function jt(e){var n=e.alternate!==null&&e.alternate.child===e.child,i=0,l=0;if(n)for(var f=e.child;f!==null;)i|=f.lanes|f.childLanes,l|=f.subtreeFlags&65011712,l|=f.flags&65011712,f.return=e,f=f.sibling;else for(f=e.child;f!==null;)i|=f.lanes|f.childLanes,l|=f.subtreeFlags,l|=f.flags,f.return=e,f=f.sibling;return e.subtreeFlags|=l,e.childLanes=i,n}function AS(e,n,i){var l=n.pendingProps;switch(xu(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return jt(n),null;case 1:return jt(n),null;case 3:return i=n.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),n.memoizedState.cache!==l&&(n.flags|=2048),Fs(qt),Mt(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(io(n)?Js(n):e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Su())),jt(n),null;case 26:var f=n.type,h=n.memoizedState;return e===null?(Js(n),h!==null?(jt(n),zv(n,h)):(jt(n),mf(n,f,null,l,i))):h?h!==e.memoizedState?(Js(n),jt(n),zv(n,h)):(jt(n),n.flags&=-16777217):(e=e.memoizedProps,e!==l&&Js(n),jt(n),mf(n,f,e,l,i)),null;case 27:if(ce(n),i=gt.current,f=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==l&&Js(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return jt(n),null}e=Se.current,io(n)?yg(n):(e=F0(f,l,i),n.stateNode=e,Js(n))}return jt(n),null;case 5:if(ce(n),f=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==l&&Js(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return jt(n),null}if(h=Se.current,io(n))yg(n);else{var S=jc(gt.current);switch(h){case 1:h=S.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:h=S.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":h=S.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":h=S.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":h=S.createElement("div"),h.innerHTML="<script><\/script>",h=h.removeChild(h.firstChild);break;case"select":h=typeof l.is=="string"?S.createElement("select",{is:l.is}):S.createElement("select"),l.multiple?h.multiple=!0:l.size&&(h.size=l.size);break;default:h=typeof l.is=="string"?S.createElement(f,{is:l.is}):S.createElement(f)}}h[et]=n,h[pt]=l;e:for(S=n.child;S!==null;){if(S.tag===5||S.tag===6)h.appendChild(S.stateNode);else if(S.tag!==4&&S.tag!==27&&S.child!==null){S.child.return=S,S=S.child;continue}if(S===n)break e;for(;S.sibling===null;){if(S.return===null||S.return===n)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}n.stateNode=h;e:switch(un(h,f,l),f){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Js(n)}}return jt(n),mf(n,n.type,e===null?null:e.memoizedProps,n.pendingProps,i),null;case 6:if(e&&n.stateNode!=null)e.memoizedProps!==l&&Js(n);else{if(typeof l!="string"&&n.stateNode===null)throw Error(r(166));if(e=gt.current,io(n)){if(e=n.stateNode,i=n.memoizedProps,l=null,f=ln,f!==null)switch(f.tag){case 27:case 5:l=f.memoizedProps}e[et]=n,e=!!(e.nodeValue===i||l!==null&&l.suppressHydrationWarning===!0||O0(e.nodeValue,i)),e||Sa(n,!0)}else e=jc(e).createTextNode(l),e[et]=n,n.stateNode=e}return jt(n),null;case 31:if(i=n.memoizedState,e===null||e.memoizedState!==null){if(l=io(n),i!==null){if(e===null){if(!l)throw Error(r(318));if(e=n.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[et]=n}else mi(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;jt(n),e=!1}else i=Su(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return n.flags&256?(Mn(n),n):(Mn(n),null);if((n.flags&128)!==0)throw Error(r(558))}return jt(n),null;case 13:if(l=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(f=io(n),l!==null&&l.dehydrated!==null){if(e===null){if(!f)throw Error(r(318));if(f=n.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(r(317));f[et]=n}else mi(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;jt(n),f=!1}else f=Su(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=f),f=!0;if(!f)return n.flags&256?(Mn(n),n):(Mn(n),null)}return Mn(n),(n.flags&128)!==0?(n.lanes=i,n):(i=l!==null,e=e!==null&&e.memoizedState!==null,i&&(l=n.child,f=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(f=l.alternate.memoizedState.cachePool.pool),h=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(h=l.memoizedState.cachePool.pool),h!==f&&(l.flags|=2048)),i!==e&&i&&(n.child.flags|=8192),cc(n,n.updateQueue),jt(n),null);case 4:return Mt(),e===null&&Lf(n.stateNode.containerInfo),jt(n),null;case 10:return Fs(n.type),jt(n),null;case 19:if(de(zt),l=n.memoizedState,l===null)return jt(n),null;if(f=(n.flags&128)!==0,h=l.rendering,h===null)if(f)kr(l,!1);else{if(Bt!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(h=Jl(e),h!==null){for(n.flags|=128,kr(l,!1),e=h.updateQueue,n.updateQueue=e,cc(n,e),n.subtreeFlags=0,e=i,i=n.child;i!==null;)pg(i,e),i=i.sibling;return xe(zt,zt.current&1|2),Je&&Gs(n,l.treeForkCount),n.child}e=e.sibling}l.tail!==null&&en()>mc&&(n.flags|=128,f=!0,kr(l,!1),n.lanes=4194304)}else{if(!f)if(e=Jl(h),e!==null){if(n.flags|=128,f=!0,e=e.updateQueue,n.updateQueue=e,cc(n,e),kr(l,!0),l.tail===null&&l.tailMode==="hidden"&&!h.alternate&&!Je)return jt(n),null}else 2*en()-l.renderingStartTime>mc&&i!==536870912&&(n.flags|=128,f=!0,kr(l,!1),n.lanes=4194304);l.isBackwards?(h.sibling=n.child,n.child=h):(e=l.last,e!==null?e.sibling=h:n.child=h,l.last=h)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=en(),e.sibling=null,i=zt.current,xe(zt,f?i&1|2:i&1),Je&&Gs(n,l.treeForkCount),e):(jt(n),null);case 22:case 23:return Mn(n),Lu(),l=n.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(n.flags|=8192):l&&(n.flags|=8192),l?(i&536870912)!==0&&(n.flags&128)===0&&(jt(n),n.subtreeFlags&6&&(n.flags|=8192)):jt(n),i=n.updateQueue,i!==null&&cc(n,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),l=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),l!==i&&(n.flags|=2048),e!==null&&de(vi),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),n.memoizedState.cache!==i&&(n.flags|=2048),Fs(qt),jt(n),null;case 25:return null;case 30:return null}throw Error(r(156,n.tag))}function DS(e,n){switch(xu(n),n.tag){case 1:return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Fs(qt),Mt(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 26:case 27:case 5:return ce(n),null;case 31:if(n.memoizedState!==null){if(Mn(n),n.alternate===null)throw Error(r(340));mi()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 13:if(Mn(n),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(r(340));mi()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return de(zt),null;case 4:return Mt(),null;case 10:return Fs(n.type),null;case 22:case 23:return Mn(n),Lu(),e!==null&&de(vi),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 24:return Fs(qt),null;case 25:return null;default:return null}}function Hv(e,n){switch(xu(n),n.tag){case 3:Fs(qt),Mt();break;case 26:case 27:case 5:ce(n);break;case 4:Mt();break;case 31:n.memoizedState!==null&&Mn(n);break;case 13:Mn(n);break;case 19:de(zt);break;case 10:Fs(n.type);break;case 22:case 23:Mn(n),Lu(),e!==null&&de(vi);break;case 24:Fs(qt)}}function Sr(e,n){try{var i=n.updateQueue,l=i!==null?i.lastEffect:null;if(l!==null){var f=l.next;i=f;do{if((i.tag&e)===e){l=void 0;var h=i.create,S=i.inst;l=h(),S.destroy=l}i=i.next}while(i!==f)}}catch(N){ht(n,n.return,N)}}function Aa(e,n,i){try{var l=n.updateQueue,f=l!==null?l.lastEffect:null;if(f!==null){var h=f.next;l=h;do{if((l.tag&e)===e){var S=l.inst,N=S.destroy;if(N!==void 0){S.destroy=void 0,f=n;var M=i,F=N;try{F()}catch(Q){ht(f,M,Q)}}}l=l.next}while(l!==h)}}catch(Q){ht(n,n.return,Q)}}function Pv(e){var n=e.updateQueue;if(n!==null){var i=e.stateNode;try{Dg(n,i)}catch(l){ht(e,e.return,l)}}}function Uv(e,n,i){i.props=ki(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(l){ht(e,n,l)}}function jr(e,n){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof i=="function"?e.refCleanup=i(l):i.current=l}}catch(f){ht(e,n,f)}}function Es(e,n){var i=e.ref,l=e.refCleanup;if(i!==null)if(typeof l=="function")try{l()}catch(f){ht(e,n,f)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(f){ht(e,n,f)}else i.current=null}function Vv(e){var n=e.type,i=e.memoizedProps,l=e.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":i.autoFocus&&l.focus();break e;case"img":i.src?l.src=i.src:i.srcSet&&(l.srcset=i.srcSet)}}catch(f){ht(e,e.return,f)}}function hf(e,n,i){try{var l=e.stateNode;QS(l,e.type,i,n),l[pt]=n}catch(f){ht(e,e.return,f)}}function Gv(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ba(e.type)||e.tag===4}function gf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gv(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Ba(e.type)||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 vf(e,n,i){var l=e.tag;if(l===5||l===6)e=e.stateNode,n?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,n):(n=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,n.appendChild(e),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=Ps));else if(l!==4&&(l===27&&Ba(e.type)&&(i=e.stateNode,n=null),e=e.child,e!==null))for(vf(e,n,i),e=e.sibling;e!==null;)vf(e,n,i),e=e.sibling}function dc(e,n,i){var l=e.tag;if(l===5||l===6)e=e.stateNode,n?i.insertBefore(e,n):i.appendChild(e);else if(l!==4&&(l===27&&Ba(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(dc(e,n,i),e=e.sibling;e!==null;)dc(e,n,i),e=e.sibling}function qv(e){var n=e.stateNode,i=e.memoizedProps;try{for(var l=e.type,f=n.attributes;f.length;)n.removeAttributeNode(f[0]);un(n,l,i),n[et]=e,n[pt]=i}catch(h){ht(e,e.return,h)}}var Ws=!1,Kt=!1,yf=!1,Fv=typeof WeakSet=="function"?WeakSet:Set,an=null;function RS(e,n){if(e=e.containerInfo,zf=Dc,e=ag(e),du(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var l=i.getSelection&&i.getSelection();if(l&&l.rangeCount!==0){i=l.anchorNode;var f=l.anchorOffset,h=l.focusNode;l=l.focusOffset;try{i.nodeType,h.nodeType}catch{i=null;break e}var S=0,N=-1,M=-1,F=0,Q=0,ae=e,Z=null;t:for(;;){for(var K;ae!==i||f!==0&&ae.nodeType!==3||(N=S+f),ae!==h||l!==0&&ae.nodeType!==3||(M=S+l),ae.nodeType===3&&(S+=ae.nodeValue.length),(K=ae.firstChild)!==null;)Z=ae,ae=K;for(;;){if(ae===e)break t;if(Z===i&&++F===f&&(N=S),Z===h&&++Q===l&&(M=S),(K=ae.nextSibling)!==null)break;ae=Z,Z=ae.parentNode}ae=K}i=N===-1||M===-1?null:{start:N,end:M}}else i=null}i=i||{start:0,end:0}}else i=null;for(Hf={focusedElem:e,selectionRange:i},Dc=!1,an=n;an!==null;)if(n=an,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,an=e;else for(;an!==null;){switch(n=an,h=n.alternate,e=n.flags,n.tag){case 0:if((e&4)!==0&&(e=n.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i<e.length;i++)f=e[i],f.ref.impl=f.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&h!==null){e=void 0,i=n,f=h.memoizedProps,h=h.memoizedState,l=i.stateNode;try{var ke=ki(i.type,f);e=l.getSnapshotBeforeUpdate(ke,h),l.__reactInternalSnapshotBeforeUpdate=e}catch(Ae){ht(i,i.return,Ae)}}break;case 3:if((e&1024)!==0){if(e=n.stateNode.containerInfo,i=e.nodeType,i===9)Vf(e);else if(i===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Vf(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(r(163))}if(e=n.sibling,e!==null){e.return=n.return,an=e;break}an=n.return}}function Zv(e,n,i){var l=i.flags;switch(i.tag){case 0:case 11:case 15:Qs(e,i),l&4&&Sr(5,i);break;case 1:if(Qs(e,i),l&4)if(e=i.stateNode,n===null)try{e.componentDidMount()}catch(S){ht(i,i.return,S)}else{var f=ki(i.type,n.memoizedProps);n=n.memoizedState;try{e.componentDidUpdate(f,n,e.__reactInternalSnapshotBeforeUpdate)}catch(S){ht(i,i.return,S)}}l&64&&Pv(i),l&512&&jr(i,i.return);break;case 3:if(Qs(e,i),l&64&&(e=i.updateQueue,e!==null)){if(n=null,i.child!==null)switch(i.child.tag){case 27:case 5:n=i.child.stateNode;break;case 1:n=i.child.stateNode}try{Dg(e,n)}catch(S){ht(i,i.return,S)}}break;case 27:n===null&&l&4&&qv(i);case 26:case 5:Qs(e,i),n===null&&l&4&&Vv(i),l&512&&jr(i,i.return);break;case 12:Qs(e,i);break;case 31:Qs(e,i),l&4&&Jv(e,i);break;case 13:Qs(e,i),l&4&&Wv(e,i),l&64&&(e=i.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(i=PS.bind(null,i),r2(e,i))));break;case 22:if(l=i.memoizedState!==null||Ws,!l){n=n!==null&&n.memoizedState!==null||Kt,f=Ws;var h=Kt;Ws=l,(Kt=n)&&!h?ea(e,i,(i.subtreeFlags&8772)!==0):Qs(e,i),Ws=f,Kt=h}break;case 30:break;default:Qs(e,i)}}function Kv(e){var n=e.alternate;n!==null&&(e.alternate=null,Kv(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&Zd(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Et=null,Tn=!1;function Xs(e,n,i){for(i=i.child;i!==null;)Yv(e,n,i),i=i.sibling}function Yv(e,n,i){if(Ct&&typeof Ct.onCommitFiberUnmount=="function")try{Ct.onCommitFiberUnmount(tn,i)}catch{}switch(i.tag){case 26:Kt||Es(i,n),Xs(e,n,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:Kt||Es(i,n);var l=Et,f=Tn;Ba(i.type)&&(Et=i.stateNode,Tn=!1),Xs(e,n,i),Mr(i.stateNode),Et=l,Tn=f;break;case 5:Kt||Es(i,n);case 6:if(l=Et,f=Tn,Et=null,Xs(e,n,i),Et=l,Tn=f,Et!==null)if(Tn)try{(Et.nodeType===9?Et.body:Et.nodeName==="HTML"?Et.ownerDocument.body:Et).removeChild(i.stateNode)}catch(h){ht(i,n,h)}else try{Et.removeChild(i.stateNode)}catch(h){ht(i,n,h)}break;case 18:Et!==null&&(Tn?(e=Et,P0(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,i.stateNode),No(e)):P0(Et,i.stateNode));break;case 4:l=Et,f=Tn,Et=i.stateNode.containerInfo,Tn=!0,Xs(e,n,i),Et=l,Tn=f;break;case 0:case 11:case 14:case 15:Aa(2,i,n),Kt||Aa(4,i,n),Xs(e,n,i);break;case 1:Kt||(Es(i,n),l=i.stateNode,typeof l.componentWillUnmount=="function"&&Uv(i,n,l)),Xs(e,n,i);break;case 21:Xs(e,n,i);break;case 22:Kt=(l=Kt)||i.memoizedState!==null,Xs(e,n,i),Kt=l;break;default:Xs(e,n,i)}}function Jv(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{No(e)}catch(i){ht(n,n.return,i)}}}function Wv(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{No(e)}catch(i){ht(n,n.return,i)}}function MS(e){switch(e.tag){case 31:case 13:case 19:var n=e.stateNode;return n===null&&(n=e.stateNode=new Fv),n;case 22:return e=e.stateNode,n=e._retryCache,n===null&&(n=e._retryCache=new Fv),n;default:throw Error(r(435,e.tag))}}function uc(e,n){var i=MS(e);n.forEach(function(l){if(!i.has(l)){i.add(l);var f=US.bind(null,e,l);l.then(f,f)}})}function wn(e,n){var i=n.deletions;if(i!==null)for(var l=0;l<i.length;l++){var f=i[l],h=e,S=n,N=S;e:for(;N!==null;){switch(N.tag){case 27:if(Ba(N.type)){Et=N.stateNode,Tn=!1;break e}break;case 5:Et=N.stateNode,Tn=!1;break e;case 3:case 4:Et=N.stateNode.containerInfo,Tn=!0;break e}N=N.return}if(Et===null)throw Error(r(160));Yv(h,S,f),Et=null,Tn=!1,h=f.alternate,h!==null&&(h.return=null),f.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)Xv(n,e),n=n.sibling}var ps=null;function Xv(e,n){var i=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:wn(n,e),Nn(e),l&4&&(Aa(3,e,e.return),Sr(3,e),Aa(5,e,e.return));break;case 1:wn(n,e),Nn(e),l&512&&(Kt||i===null||Es(i,i.return)),l&64&&Ws&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(i=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=i===null?l:i.concat(l))));break;case 26:var f=ps;if(wn(n,e),Nn(e),l&512&&(Kt||i===null||Es(i,i.return)),l&4){var h=i!==null?i.memoizedState:null;if(l=e.memoizedState,i===null)if(l===null)if(e.stateNode===null){e:{l=e.type,i=e.memoizedProps,f=f.ownerDocument||f;t:switch(l){case"title":h=f.getElementsByTagName("title")[0],(!h||h[Wo]||h[et]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=f.createElement(l),f.head.insertBefore(h,f.querySelector("head > title"))),un(h,l,i),h[et]=e,sn(h),l=h;break e;case"link":var S=X0("link","href",f).get(l+(i.href||""));if(S){for(var N=0;N<S.length;N++)if(h=S[N],h.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&h.getAttribute("rel")===(i.rel==null?null:i.rel)&&h.getAttribute("title")===(i.title==null?null:i.title)&&h.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){S.splice(N,1);break t}}h=f.createElement(l),un(h,l,i),f.head.appendChild(h);break;case"meta":if(S=X0("meta","content",f).get(l+(i.content||""))){for(N=0;N<S.length;N++)if(h=S[N],h.getAttribute("content")===(i.content==null?null:""+i.content)&&h.getAttribute("name")===(i.name==null?null:i.name)&&h.getAttribute("property")===(i.property==null?null:i.property)&&h.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&h.getAttribute("charset")===(i.charSet==null?null:i.charSet)){S.splice(N,1);break t}}h=f.createElement(l),un(h,l,i),f.head.appendChild(h);break;default:throw Error(r(468,l))}h[et]=e,sn(h),l=h}e.stateNode=l}else Q0(f,e.type,e.stateNode);else e.stateNode=W0(f,l,e.memoizedProps);else h!==l?(h===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):h.count--,l===null?Q0(f,e.type,e.stateNode):W0(f,l,e.memoizedProps)):l===null&&e.stateNode!==null&&hf(e,e.memoizedProps,i.memoizedProps)}break;case 27:wn(n,e),Nn(e),l&512&&(Kt||i===null||Es(i,i.return)),i!==null&&l&4&&hf(e,e.memoizedProps,i.memoizedProps);break;case 5:if(wn(n,e),Nn(e),l&512&&(Kt||i===null||Es(i,i.return)),e.flags&32){f=e.stateNode;try{Yi(f,"")}catch(ke){ht(e,e.return,ke)}}l&4&&e.stateNode!=null&&(f=e.memoizedProps,hf(e,f,i!==null?i.memoizedProps:f)),l&1024&&(yf=!0);break;case 6:if(wn(n,e),Nn(e),l&4){if(e.stateNode===null)throw Error(r(162));l=e.memoizedProps,i=e.stateNode;try{i.nodeValue=l}catch(ke){ht(e,e.return,ke)}}break;case 3:if(Nc=null,f=ps,ps=Tc(n.containerInfo),wn(n,e),ps=f,Nn(e),l&4&&i!==null&&i.memoizedState.isDehydrated)try{No(n.containerInfo)}catch(ke){ht(e,e.return,ke)}yf&&(yf=!1,Qv(e));break;case 4:l=ps,ps=Tc(e.stateNode.containerInfo),wn(n,e),Nn(e),ps=l;break;case 12:wn(n,e),Nn(e);break;case 31:wn(n,e),Nn(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,uc(e,l)));break;case 13:wn(n,e),Nn(e),e.child.flags&8192&&e.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(pc=en()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,uc(e,l)));break;case 22:f=e.memoizedState!==null;var M=i!==null&&i.memoizedState!==null,F=Ws,Q=Kt;if(Ws=F||f,Kt=Q||M,wn(n,e),Kt=Q,Ws=F,Nn(e),l&8192)e:for(n=e.stateNode,n._visibility=f?n._visibility&-2:n._visibility|1,f&&(i===null||M||Ws||Kt||Si(e)),i=null,n=e;;){if(n.tag===5||n.tag===26){if(i===null){M=i=n;try{if(h=M.stateNode,f)S=h.style,typeof S.setProperty=="function"?S.setProperty("display","none","important"):S.display="none";else{N=M.stateNode;var ae=M.memoizedProps.style,Z=ae!=null&&ae.hasOwnProperty("display")?ae.display:null;N.style.display=Z==null||typeof Z=="boolean"?"":(""+Z).trim()}}catch(ke){ht(M,M.return,ke)}}}else if(n.tag===6){if(i===null){M=n;try{M.stateNode.nodeValue=f?"":M.memoizedProps}catch(ke){ht(M,M.return,ke)}}}else if(n.tag===18){if(i===null){M=n;try{var K=M.stateNode;f?U0(K,!0):U0(M.stateNode,!1)}catch(ke){ht(M,M.return,ke)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;i===n&&(i=null),n=n.return}i===n&&(i=null),n.sibling.return=n.return,n=n.sibling}l&4&&(l=e.updateQueue,l!==null&&(i=l.retryQueue,i!==null&&(l.retryQueue=null,uc(e,i))));break;case 19:wn(n,e),Nn(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,uc(e,l)));break;case 30:break;case 21:break;default:wn(n,e),Nn(e)}}function Nn(e){var n=e.flags;if(n&2){try{for(var i,l=e.return;l!==null;){if(Gv(l)){i=l;break}l=l.return}if(i==null)throw Error(r(160));switch(i.tag){case 27:var f=i.stateNode,h=gf(e);dc(e,h,f);break;case 5:var S=i.stateNode;i.flags&32&&(Yi(S,""),i.flags&=-33);var N=gf(e);dc(e,N,S);break;case 3:case 4:var M=i.stateNode.containerInfo,F=gf(e);vf(e,F,M);break;default:throw Error(r(161))}}catch(Q){ht(e,e.return,Q)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function Qv(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var n=e;Qv(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),e=e.sibling}}function Qs(e,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)Zv(e,n.alternate,n),n=n.sibling}function Si(e){for(e=e.child;e!==null;){var n=e;switch(n.tag){case 0:case 11:case 14:case 15:Aa(4,n,n.return),Si(n);break;case 1:Es(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount=="function"&&Uv(n,n.return,i),Si(n);break;case 27:Mr(n.stateNode);case 26:case 5:Es(n,n.return),Si(n);break;case 22:n.memoizedState===null&&Si(n);break;case 30:Si(n);break;default:Si(n)}e=e.sibling}}function ea(e,n,i){for(i=i&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var l=n.alternate,f=e,h=n,S=h.flags;switch(h.tag){case 0:case 11:case 15:ea(f,h,i),Sr(4,h);break;case 1:if(ea(f,h,i),l=h,f=l.stateNode,typeof f.componentDidMount=="function")try{f.componentDidMount()}catch(F){ht(l,l.return,F)}if(l=h,f=l.updateQueue,f!==null){var N=l.stateNode;try{var M=f.shared.hiddenCallbacks;if(M!==null)for(f.shared.hiddenCallbacks=null,f=0;f<M.length;f++)Ag(M[f],N)}catch(F){ht(l,l.return,F)}}i&&S&64&&Pv(h),jr(h,h.return);break;case 27:qv(h);case 26:case 5:ea(f,h,i),i&&l===null&&S&4&&Vv(h),jr(h,h.return);break;case 12:ea(f,h,i);break;case 31:ea(f,h,i),i&&S&4&&Jv(f,h);break;case 13:ea(f,h,i),i&&S&4&&Wv(f,h);break;case 22:h.memoizedState===null&&ea(f,h,i),jr(h,h.return);break;case 30:break;default:ea(f,h,i)}n=n.sibling}}function bf(e,n){var i=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),e=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(e=n.memoizedState.cachePool.pool),e!==i&&(e!=null&&e.refCount++,i!=null&&dr(i))}function _f(e,n){e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&dr(e))}function ms(e,n,i,l){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)e0(e,n,i,l),n=n.sibling}function e0(e,n,i,l){var f=n.flags;switch(n.tag){case 0:case 11:case 15:ms(e,n,i,l),f&2048&&Sr(9,n);break;case 1:ms(e,n,i,l);break;case 3:ms(e,n,i,l),f&2048&&(e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&dr(e)));break;case 12:if(f&2048){ms(e,n,i,l),e=n.stateNode;try{var h=n.memoizedProps,S=h.id,N=h.onPostCommit;typeof N=="function"&&N(S,n.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(M){ht(n,n.return,M)}}else ms(e,n,i,l);break;case 31:ms(e,n,i,l);break;case 13:ms(e,n,i,l);break;case 23:break;case 22:h=n.stateNode,S=n.alternate,n.memoizedState!==null?h._visibility&2?ms(e,n,i,l):Tr(e,n):h._visibility&2?ms(e,n,i,l):(h._visibility|=2,go(e,n,i,l,(n.subtreeFlags&10256)!==0||!1)),f&2048&&bf(S,n);break;case 24:ms(e,n,i,l),f&2048&&_f(n.alternate,n);break;default:ms(e,n,i,l)}}function go(e,n,i,l,f){for(f=f&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var h=e,S=n,N=i,M=l,F=S.flags;switch(S.tag){case 0:case 11:case 15:go(h,S,N,M,f),Sr(8,S);break;case 23:break;case 22:var Q=S.stateNode;S.memoizedState!==null?Q._visibility&2?go(h,S,N,M,f):Tr(h,S):(Q._visibility|=2,go(h,S,N,M,f)),f&&F&2048&&bf(S.alternate,S);break;case 24:go(h,S,N,M,f),f&&F&2048&&_f(S.alternate,S);break;default:go(h,S,N,M,f)}n=n.sibling}}function Tr(e,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var i=e,l=n,f=l.flags;switch(l.tag){case 22:Tr(i,l),f&2048&&bf(l.alternate,l);break;case 24:Tr(i,l),f&2048&&_f(l.alternate,l);break;default:Tr(i,l)}n=n.sibling}}var wr=8192;function vo(e,n,i){if(e.subtreeFlags&wr)for(e=e.child;e!==null;)t0(e,n,i),e=e.sibling}function t0(e,n,i){switch(e.tag){case 26:vo(e,n,i),e.flags&wr&&e.memoizedState!==null&&b2(i,ps,e.memoizedState,e.memoizedProps);break;case 5:vo(e,n,i);break;case 3:case 4:var l=ps;ps=Tc(e.stateNode.containerInfo),vo(e,n,i),ps=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=wr,wr=16777216,vo(e,n,i),wr=l):vo(e,n,i));break;default:vo(e,n,i)}}function n0(e){var n=e.alternate;if(n!==null&&(e=n.child,e!==null)){n.child=null;do n=e.sibling,e.sibling=null,e=n;while(e!==null)}}function Nr(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var l=n[i];an=l,a0(l,e)}n0(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)s0(e),e=e.sibling}function s0(e){switch(e.tag){case 0:case 11:case 15:Nr(e),e.flags&2048&&Aa(9,e,e.return);break;case 3:Nr(e);break;case 12:Nr(e);break;case 22:var n=e.stateNode;e.memoizedState!==null&&n._visibility&2&&(e.return===null||e.return.tag!==13)?(n._visibility&=-3,fc(e)):Nr(e);break;default:Nr(e)}}function fc(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var l=n[i];an=l,a0(l,e)}n0(e)}for(e=e.child;e!==null;){switch(n=e,n.tag){case 0:case 11:case 15:Aa(8,n,n.return),fc(n);break;case 22:i=n.stateNode,i._visibility&2&&(i._visibility&=-3,fc(n));break;default:fc(n)}e=e.sibling}}function a0(e,n){for(;an!==null;){var i=an;switch(i.tag){case 0:case 11:case 15:Aa(8,i,n);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var l=i.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:dr(i.memoizedState.cache)}if(l=i.child,l!==null)l.return=i,an=l;else e:for(i=e;an!==null;){l=an;var f=l.sibling,h=l.return;if(Kv(l),l===i){an=null;break e}if(f!==null){f.return=h,an=f;break e}an=h}}}var IS={getCacheForType:function(e){var n=cn(qt),i=n.data.get(e);return i===void 0&&(i=e(),n.data.set(e,i)),i},cacheSignal:function(){return cn(qt).controller.signal}},OS=typeof WeakMap=="function"?WeakMap:Map,rt=0,xt=null,qe=null,Ke=0,mt=0,In=null,Da=!1,yo=!1,xf=!1,ta=0,Bt=0,Ra=0,ji=0,kf=0,On=0,bo=0,Cr=null,Cn=null,Sf=!1,pc=0,i0=0,mc=1/0,hc=null,Ma=null,Wt=0,Ia=null,_o=null,na=0,jf=0,Tf=null,o0=null,Er=0,wf=null;function Ln(){return(rt&2)!==0&&Ke!==0?Ke&-Ke:B.T!==null?Rf():Qe()}function r0(){if(On===0)if((Ke&536870912)===0||Je){var e=ii;ii<<=1,(ii&3932160)===0&&(ii=262144),On=e}else On=536870912;return e=Rn.current,e!==null&&(e.flags|=32),On}function En(e,n,i){(e===xt&&(mt===2||mt===9)||e.cancelPendingCommit!==null)&&(xo(e,0),Oa(e,Ke,On,!1)),ee(e,i),((rt&2)===0||e!==xt)&&(e===xt&&((rt&2)===0&&(ji|=i),Bt===4&&Oa(e,Ke,On,!1)),As(e))}function l0(e,n,i){if((rt&6)!==0)throw Error(r(327));var l=!i&&(n&127)===0&&(n&e.expiredLanes)===0||ba(e,n),f=l?$S(e,n):Cf(e,n,!0),h=l;do{if(f===0){yo&&!l&&Oa(e,n,0,!1);break}else{if(i=e.current.alternate,h&&!LS(i)){f=Cf(e,n,!1),h=!1;continue}if(f===2){if(h=n,e.errorRecoveryDisabledLanes&h)var S=0;else S=e.pendingLanes&-536870913,S=S!==0?S:S&536870912?536870912:0;if(S!==0){n=S;e:{var N=e;f=Cr;var M=N.current.memoizedState.isDehydrated;if(M&&(xo(N,S).flags|=256),S=Cf(N,S,!1),S!==2){if(xf&&!M){N.errorRecoveryDisabledLanes|=h,ji|=h,f=4;break e}h=Cn,Cn=f,h!==null&&(Cn===null?Cn=h:Cn.push.apply(Cn,h))}f=S}if(h=!1,f!==2)continue}}if(f===1){xo(e,0),Oa(e,n,0,!0);break}e:{switch(l=e,h=f,h){case 0:case 1:throw Error(r(345));case 4:if((n&4194048)!==n)break;case 6:Oa(l,n,On,!Da);break e;case 2:Cn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((n&62914560)===n&&(f=pc+300-en(),10<f)){if(Oa(l,n,On,!Da),ri(l,0,!0)!==0)break e;na=n,l.timeoutHandle=z0(c0.bind(null,l,i,Cn,hc,Sf,n,On,ji,bo,Da,h,"Throttled",-0,0),f);break e}c0(l,i,Cn,hc,Sf,n,On,ji,bo,Da,h,null,-0,0)}}break}while(!0);As(e)}function c0(e,n,i,l,f,h,S,N,M,F,Q,ae,Z,K){if(e.timeoutHandle=-1,ae=n.subtreeFlags,ae&8192||(ae&16785408)===16785408){ae={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ps},t0(n,h,ae);var ke=(h&62914560)===h?pc-en():(h&4194048)===h?i0-en():0;if(ke=_2(ae,ke),ke!==null){na=h,e.cancelPendingCommit=ke(v0.bind(null,e,n,h,i,l,f,S,N,M,Q,ae,null,Z,K)),Oa(e,h,S,!F);return}}v0(e,n,h,i,l,f,S,N,M)}function LS(e){for(var n=e;;){var i=n.tag;if((i===0||i===11||i===15)&&n.flags&16384&&(i=n.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var l=0;l<i.length;l++){var f=i[l],h=f.getSnapshot;f=f.value;try{if(!An(h(),f))return!1}catch{return!1}}if(i=n.child,n.subtreeFlags&16384&&i!==null)i.return=n,n=i;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Oa(e,n,i,l){n&=~kf,n&=~ji,e.suspendedLanes|=n,e.pingedLanes&=~n,l&&(e.warmLanes|=n),l=e.expirationTimes;for(var f=n;0<f;){var h=31-nn(f),S=1<<h;l[h]=-1,f&=~S}i!==0&&me(e,i,n)}function gc(){return(rt&6)===0?(Ar(0),!1):!0}function Nf(){if(qe!==null){if(mt===0)var e=qe.return;else e=qe,qs=hi=null,Uu(e),uo=null,fr=0,e=qe;for(;e!==null;)Hv(e.alternate,e),e=e.return;qe=null}}function xo(e,n){var i=e.timeoutHandle;i!==-1&&(e.timeoutHandle=-1,n2(i)),i=e.cancelPendingCommit,i!==null&&(e.cancelPendingCommit=null,i()),na=0,Nf(),xt=e,qe=i=Vs(e.current,null),Ke=n,mt=0,In=null,Da=!1,yo=ba(e,n),xf=!1,bo=On=kf=ji=Ra=Bt=0,Cn=Cr=null,Sf=!1,(n&8)!==0&&(n|=n&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=n;0<l;){var f=31-nn(l),h=1<<f;n|=e[f],l&=~h}return ta=n,Bl(),i}function d0(e,n){Be=null,B.H=_r,n===co||n===ql?(n=wg(),mt=3):n===Au?(n=wg(),mt=4):mt=n===af?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,In=n,qe===null&&(Bt=1,ic(e,Kn(n,e.current)))}function u0(){var e=Rn.current;return e===null?!0:(Ke&4194048)===Ke?Xn===null:(Ke&62914560)===Ke||(Ke&536870912)!==0?e===Xn:!1}function f0(){var e=B.H;return B.H=_r,e===null?_r:e}function p0(){var e=B.A;return B.A=IS,e}function vc(){Bt=4,Da||(Ke&4194048)!==Ke&&Rn.current!==null||(yo=!0),(Ra&134217727)===0&&(ji&134217727)===0||xt===null||Oa(xt,Ke,On,!1)}function Cf(e,n,i){var l=rt;rt|=2;var f=f0(),h=p0();(xt!==e||Ke!==n)&&(hc=null,xo(e,n)),n=!1;var S=Bt;e:do try{if(mt!==0&&qe!==null){var N=qe,M=In;switch(mt){case 8:Nf(),S=6;break e;case 3:case 2:case 9:case 6:Rn.current===null&&(n=!0);var F=mt;if(mt=0,In=null,ko(e,N,M,F),i&&yo){S=0;break e}break;default:F=mt,mt=0,In=null,ko(e,N,M,F)}}BS(),S=Bt;break}catch(Q){d0(e,Q)}while(!0);return n&&e.shellSuspendCounter++,qs=hi=null,rt=l,B.H=f,B.A=h,qe===null&&(xt=null,Ke=0,Bl()),S}function BS(){for(;qe!==null;)m0(qe)}function $S(e,n){var i=rt;rt|=2;var l=f0(),f=p0();xt!==e||Ke!==n?(hc=null,mc=en()+500,xo(e,n)):yo=ba(e,n);e:do try{if(mt!==0&&qe!==null){n=qe;var h=In;t:switch(mt){case 1:mt=0,In=null,ko(e,n,h,1);break;case 2:case 9:if(jg(h)){mt=0,In=null,h0(n);break}n=function(){mt!==2&&mt!==9||xt!==e||(mt=7),As(e)},h.then(n,n);break e;case 3:mt=7;break e;case 4:mt=5;break e;case 7:jg(h)?(mt=0,In=null,h0(n)):(mt=0,In=null,ko(e,n,h,7));break;case 5:var S=null;switch(qe.tag){case 26:S=qe.memoizedState;case 5:case 27:var N=qe;if(S?ey(S):N.stateNode.complete){mt=0,In=null;var M=N.sibling;if(M!==null)qe=M;else{var F=N.return;F!==null?(qe=F,yc(F)):qe=null}break t}}mt=0,In=null,ko(e,n,h,5);break;case 6:mt=0,In=null,ko(e,n,h,6);break;case 8:Nf(),Bt=6;break e;default:throw Error(r(462))}}zS();break}catch(Q){d0(e,Q)}while(!0);return qs=hi=null,B.H=l,B.A=f,rt=i,qe!==null?0:(xt=null,Ke=0,Bl(),Bt)}function zS(){for(;qe!==null&&!ni();)m0(qe)}function m0(e){var n=$v(e.alternate,e,ta);e.memoizedProps=e.pendingProps,n===null?yc(e):qe=n}function h0(e){var n=e,i=n.alternate;switch(n.tag){case 15:case 0:n=Rv(i,n,n.pendingProps,n.type,void 0,Ke);break;case 11:n=Rv(i,n,n.pendingProps,n.type.render,n.ref,Ke);break;case 5:Uu(n);default:Hv(i,n),n=qe=pg(n,ta),n=$v(i,n,ta)}e.memoizedProps=e.pendingProps,n===null?yc(e):qe=n}function ko(e,n,i,l){qs=hi=null,Uu(n),uo=null,fr=0;var f=n.return;try{if(NS(e,f,n,i,Ke)){Bt=1,ic(e,Kn(i,e.current)),qe=null;return}}catch(h){if(f!==null)throw qe=f,h;Bt=1,ic(e,Kn(i,e.current)),qe=null;return}n.flags&32768?(Je||l===1?e=!0:yo||(Ke&536870912)!==0?e=!1:(Da=e=!0,(l===2||l===9||l===3||l===6)&&(l=Rn.current,l!==null&&l.tag===13&&(l.flags|=16384))),g0(n,e)):yc(n)}function yc(e){var n=e;do{if((n.flags&32768)!==0){g0(n,Da);return}e=n.return;var i=AS(n.alternate,n,ta);if(i!==null){qe=i;return}if(n=n.sibling,n!==null){qe=n;return}qe=n=e}while(n!==null);Bt===0&&(Bt=5)}function g0(e,n){do{var i=DS(e.alternate,e);if(i!==null){i.flags&=32767,qe=i;return}if(i=e.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!n&&(e=e.sibling,e!==null)){qe=e;return}qe=e=i}while(e!==null);Bt=6,qe=null}function v0(e,n,i,l,f,h,S,N,M){e.cancelPendingCommit=null;do bc();while(Wt!==0);if((rt&6)!==0)throw Error(r(327));if(n!==null){if(n===e.current)throw Error(r(177));if(h=n.lanes|n.childLanes,h|=hu,ue(e,i,h,S,N,M),e===xt&&(qe=xt=null,Ke=0),_o=n,Ia=e,na=i,jf=h,Tf=f,o0=l,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,VS(js,function(){return k0(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||l){l=B.T,B.T=null,f=R.p,R.p=2,S=rt,rt|=4;try{RS(e,n,i)}finally{rt=S,R.p=f,B.T=l}}Wt=1,y0(),b0(),_0()}}function y0(){if(Wt===1){Wt=0;var e=Ia,n=_o,i=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||i){i=B.T,B.T=null;var l=R.p;R.p=2;var f=rt;rt|=4;try{Xv(n,e);var h=Hf,S=ag(e.containerInfo),N=h.focusedElem,M=h.selectionRange;if(S!==N&&N&&N.ownerDocument&&sg(N.ownerDocument.documentElement,N)){if(M!==null&&du(N)){var F=M.start,Q=M.end;if(Q===void 0&&(Q=F),"selectionStart"in N)N.selectionStart=F,N.selectionEnd=Math.min(Q,N.value.length);else{var ae=N.ownerDocument||document,Z=ae&&ae.defaultView||window;if(Z.getSelection){var K=Z.getSelection(),ke=N.textContent.length,Ae=Math.min(M.start,ke),_t=M.end===void 0?Ae:Math.min(M.end,ke);!K.extend&&Ae>_t&&(S=_t,_t=Ae,Ae=S);var V=ng(N,Ae),$=ng(N,_t);if(V&&$&&(K.rangeCount!==1||K.anchorNode!==V.node||K.anchorOffset!==V.offset||K.focusNode!==$.node||K.focusOffset!==$.offset)){var q=ae.createRange();q.setStart(V.node,V.offset),K.removeAllRanges(),Ae>_t?(K.addRange(q),K.extend($.node,$.offset)):(q.setEnd($.node,$.offset),K.addRange(q))}}}}for(ae=[],K=N;K=K.parentNode;)K.nodeType===1&&ae.push({element:K,left:K.scrollLeft,top:K.scrollTop});for(typeof N.focus=="function"&&N.focus(),N=0;N<ae.length;N++){var ne=ae[N];ne.element.scrollLeft=ne.left,ne.element.scrollTop=ne.top}}Dc=!!zf,Hf=zf=null}finally{rt=f,R.p=l,B.T=i}}e.current=n,Wt=2}}function b0(){if(Wt===2){Wt=0;var e=Ia,n=_o,i=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||i){i=B.T,B.T=null;var l=R.p;R.p=2;var f=rt;rt|=4;try{Zv(e,n.alternate,n)}finally{rt=f,R.p=l,B.T=i}}Wt=3}}function _0(){if(Wt===4||Wt===3){Wt=0,va();var e=Ia,n=_o,i=na,l=o0;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?Wt=5:(Wt=0,_o=Ia=null,x0(e,e.pendingLanes));var f=e.pendingLanes;if(f===0&&(Ma=null),Oe(i),n=n.stateNode,Ct&&typeof Ct.onCommitFiberRoot=="function")try{Ct.onCommitFiberRoot(tn,n,void 0,(n.current.flags&128)===128)}catch{}if(l!==null){n=B.T,f=R.p,R.p=2,B.T=null;try{for(var h=e.onRecoverableError,S=0;S<l.length;S++){var N=l[S];h(N.value,{componentStack:N.stack})}}finally{B.T=n,R.p=f}}(na&3)!==0&&bc(),As(e),f=e.pendingLanes,(i&261930)!==0&&(f&42)!==0?e===wf?Er++:(Er=0,wf=e):Er=0,Ar(0)}}function x0(e,n){(e.pooledCacheLanes&=n)===0&&(n=e.pooledCache,n!=null&&(e.pooledCache=null,dr(n)))}function bc(){return y0(),b0(),_0(),k0()}function k0(){if(Wt!==5)return!1;var e=Ia,n=jf;jf=0;var i=Oe(na),l=B.T,f=R.p;try{R.p=32>i?32:i,B.T=null,i=Tf,Tf=null;var h=Ia,S=na;if(Wt=0,_o=Ia=null,na=0,(rt&6)!==0)throw Error(r(331));var N=rt;if(rt|=4,s0(h.current),e0(h,h.current,S,i),rt=N,Ar(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(tn,h)}catch{}return!0}finally{R.p=f,B.T=l,x0(e,n)}}function S0(e,n,i){n=Kn(i,n),n=sf(e.stateNode,n,2),e=Na(e,n,2),e!==null&&(ee(e,2),As(e))}function ht(e,n,i){if(e.tag===3)S0(e,e,i);else for(;n!==null;){if(n.tag===3){S0(n,e,i);break}else if(n.tag===1){var l=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Ma===null||!Ma.has(l))){e=Kn(i,e),i=jv(2),l=Na(n,i,2),l!==null&&(Tv(i,l,n,e),ee(l,2),As(l));break}}n=n.return}}function Ef(e,n,i){var l=e.pingCache;if(l===null){l=e.pingCache=new OS;var f=new Set;l.set(n,f)}else f=l.get(n),f===void 0&&(f=new Set,l.set(n,f));f.has(i)||(xf=!0,f.add(i),e=HS.bind(null,e,n,i),n.then(e,e))}function HS(e,n,i){var l=e.pingCache;l!==null&&l.delete(n),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,xt===e&&(Ke&i)===i&&(Bt===4||Bt===3&&(Ke&62914560)===Ke&&300>en()-pc?(rt&2)===0&&xo(e,0):kf|=i,bo===Ke&&(bo=0)),As(e)}function j0(e,n){n===0&&(n=Tl()),e=fi(e,n),e!==null&&(ee(e,n),As(e))}function PS(e){var n=e.memoizedState,i=0;n!==null&&(i=n.retryLane),j0(e,i)}function US(e,n){var i=0;switch(e.tag){case 31:case 13:var l=e.stateNode,f=e.memoizedState;f!==null&&(i=f.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(n),j0(e,i)}function VS(e,n){return ga(e,n)}var _c=null,So=null,Af=!1,xc=!1,Df=!1,La=0;function As(e){e!==So&&e.next===null&&(So===null?_c=So=e:So=So.next=e),xc=!0,Af||(Af=!0,qS())}function Ar(e,n){if(!Df&&xc){Df=!0;do for(var i=!1,l=_c;l!==null;){if(e!==0){var f=l.pendingLanes;if(f===0)var h=0;else{var S=l.suspendedLanes,N=l.pingedLanes;h=(1<<31-nn(42|e)+1)-1,h&=f&~(S&~N),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(i=!0,C0(l,h))}else h=Ke,h=ri(l,l===xt?h:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(h&3)===0||ba(l,h)||(i=!0,C0(l,h));l=l.next}while(i);Df=!1}}function GS(){T0()}function T0(){xc=Af=!1;var e=0;La!==0&&t2()&&(e=La);for(var n=en(),i=null,l=_c;l!==null;){var f=l.next,h=w0(l,n);h===0?(l.next=null,i===null?_c=f:i.next=f,f===null&&(So=i)):(i=l,(e!==0||(h&3)!==0)&&(xc=!0)),l=f}Wt!==0&&Wt!==5||Ar(e),La!==0&&(La=0)}function w0(e,n){for(var i=e.suspendedLanes,l=e.pingedLanes,f=e.expirationTimes,h=e.pendingLanes&-62914561;0<h;){var S=31-nn(h),N=1<<S,M=f[S];M===-1?((N&i)===0||(N&l)!==0)&&(f[S]=jl(N,n)):M<=n&&(e.expiredLanes|=N),h&=~N}if(n=xt,i=Ke,i=ri(e,e===n?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,i===0||e===n&&(mt===2||mt===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&us(l),e.callbackNode=null,e.callbackPriority=0;if((i&3)===0||ba(e,i)){if(n=i&-i,n===e.callbackPriority)return n;switch(l!==null&&us(l),Oe(i)){case 2:case 8:i=si;break;case 32:i=js;break;case 268435456:i=Gn;break;default:i=js}return l=N0.bind(null,e),i=ga(i,l),e.callbackPriority=n,e.callbackNode=i,n}return l!==null&&l!==null&&us(l),e.callbackPriority=2,e.callbackNode=null,2}function N0(e,n){if(Wt!==0&&Wt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var i=e.callbackNode;if(bc()&&e.callbackNode!==i)return null;var l=Ke;return l=ri(e,e===xt?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(l0(e,l,n),w0(e,en()),e.callbackNode!=null&&e.callbackNode===i?N0.bind(null,e):null)}function C0(e,n){if(bc())return null;l0(e,n,!0)}function qS(){s2(function(){(rt&6)!==0?ga(ya,GS):T0()})}function Rf(){if(La===0){var e=ro;e===0&&(e=ai,ai<<=1,(ai&261888)===0&&(ai=256)),La=e}return La}function E0(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:El(""+e)}function A0(e,n){var i=n.ownerDocument.createElement("input");return i.name=n.name,i.value=n.value,e.id&&i.setAttribute("form",e.id),n.parentNode.insertBefore(i,n),e=new FormData(e),i.parentNode.removeChild(i),e}function FS(e,n,i,l,f){if(n==="submit"&&i&&i.stateNode===f){var h=E0((f[pt]||null).action),S=l.submitter;S&&(n=(n=S[pt]||null)?E0(n.formAction):S.getAttribute("formAction"),n!==null&&(h=n,S=null));var N=new Ml("action","action",null,l,f);e.push({event:N,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(La!==0){var M=S?A0(f,S):new FormData(f);Wu(i,{pending:!0,data:M,method:f.method,action:h},null,M)}}else typeof h=="function"&&(N.preventDefault(),M=S?A0(f,S):new FormData(f),Wu(i,{pending:!0,data:M,method:f.method,action:h},h,M))},currentTarget:f}]})}}for(var Mf=0;Mf<mu.length;Mf++){var If=mu[Mf],ZS=If.toLowerCase(),KS=If[0].toUpperCase()+If.slice(1);fs(ZS,"on"+KS)}fs(rg,"onAnimationEnd"),fs(lg,"onAnimationIteration"),fs(cg,"onAnimationStart"),fs("dblclick","onDoubleClick"),fs("focusin","onFocus"),fs("focusout","onBlur"),fs(dS,"onTransitionRun"),fs(uS,"onTransitionStart"),fs(fS,"onTransitionCancel"),fs(dg,"onTransitionEnd"),Zi("onMouseEnter",["mouseout","mouseover"]),Zi("onMouseLeave",["mouseout","mouseover"]),Zi("onPointerEnter",["pointerout","pointerover"]),Zi("onPointerLeave",["pointerout","pointerover"]),li("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),li("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),li("onBeforeInput",["compositionend","keypress","textInput","paste"]),li("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),li("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),li("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="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(" "),YS=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Dr));function D0(e,n){n=(n&4)!==0;for(var i=0;i<e.length;i++){var l=e[i],f=l.event;l=l.listeners;e:{var h=void 0;if(n)for(var S=l.length-1;0<=S;S--){var N=l[S],M=N.instance,F=N.currentTarget;if(N=N.listener,M!==h&&f.isPropagationStopped())break e;h=N,f.currentTarget=F;try{h(f)}catch(Q){Ll(Q)}f.currentTarget=null,h=M}else for(S=0;S<l.length;S++){if(N=l[S],M=N.instance,F=N.currentTarget,N=N.listener,M!==h&&f.isPropagationStopped())break e;h=N,f.currentTarget=F;try{h(f)}catch(Q){Ll(Q)}f.currentTarget=null,h=M}}}}function Fe(e,n){var i=n[ws];i===void 0&&(i=n[ws]=new Set);var l=e+"__bubble";i.has(l)||(R0(n,e,2,!1),i.add(l))}function Of(e,n,i){var l=0;n&&(l|=4),R0(i,e,l,n)}var kc="_reactListening"+Math.random().toString(36).slice(2);function Lf(e){if(!e[kc]){e[kc]=!0,Th.forEach(function(i){i!=="selectionchange"&&(YS.has(i)||Of(i,!1,e),Of(i,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[kc]||(n[kc]=!0,Of("selectionchange",!1,n))}}function R0(e,n,i,l){switch(ry(n)){case 2:var f=S2;break;case 8:f=j2;break;default:f=Wf}i=f.bind(null,n,i,e),f=void 0,!tu||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(f=!0),l?f!==void 0?e.addEventListener(n,i,{capture:!0,passive:f}):e.addEventListener(n,i,!0):f!==void 0?e.addEventListener(n,i,{passive:f}):e.addEventListener(n,i,!1)}function Bf(e,n,i,l,f){var h=l;if((n&1)===0&&(n&2)===0&&l!==null)e:for(;;){if(l===null)return;var S=l.tag;if(S===3||S===4){var N=l.stateNode.containerInfo;if(N===f)break;if(S===4)for(S=l.return;S!==null;){var M=S.tag;if((M===3||M===4)&&S.stateNode.containerInfo===f)return;S=S.return}for(;N!==null;){if(S=Gi(N),S===null)return;if(M=S.tag,M===5||M===6||M===26||M===27){l=h=S;continue e}N=N.parentNode}}l=l.return}Bh(function(){var F=h,Q=Qd(i),ae=[];e:{var Z=ug.get(e);if(Z!==void 0){var K=Ml,ke=e;switch(e){case"keypress":if(Dl(i)===0)break e;case"keydown":case"keyup":K=Uk;break;case"focusin":ke="focus",K=iu;break;case"focusout":ke="blur",K=iu;break;case"beforeblur":case"afterblur":K=iu;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":K=Hh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":K=Ak;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":K=qk;break;case rg:case lg:case cg:K=Mk;break;case dg:K=Zk;break;case"scroll":case"scrollend":K=Ck;break;case"wheel":K=Yk;break;case"copy":case"cut":case"paste":K=Ok;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":K=Uh;break;case"toggle":case"beforetoggle":K=Wk}var Ae=(n&4)!==0,_t=!Ae&&(e==="scroll"||e==="scrollend"),V=Ae?Z!==null?Z+"Capture":null:Z;Ae=[];for(var $=F,q;$!==null;){var ne=$;if(q=ne.stateNode,ne=ne.tag,ne!==5&&ne!==26&&ne!==27||q===null||V===null||(ne=Qo($,V),ne!=null&&Ae.push(Rr($,ne,q))),_t)break;$=$.return}0<Ae.length&&(Z=new K(Z,ke,null,i,Q),ae.push({event:Z,listeners:Ae}))}}if((n&7)===0){e:{if(Z=e==="mouseover"||e==="pointerover",K=e==="mouseout"||e==="pointerout",Z&&i!==Xd&&(ke=i.relatedTarget||i.fromElement)&&(Gi(ke)||ke[kt]))break e;if((K||Z)&&(Z=Q.window===Q?Q:(Z=Q.ownerDocument)?Z.defaultView||Z.parentWindow:window,K?(ke=i.relatedTarget||i.toElement,K=F,ke=ke?Gi(ke):null,ke!==null&&(_t=d(ke),Ae=ke.tag,ke!==_t||Ae!==5&&Ae!==27&&Ae!==6)&&(ke=null)):(K=null,ke=F),K!==ke)){if(Ae=Hh,ne="onMouseLeave",V="onMouseEnter",$="mouse",(e==="pointerout"||e==="pointerover")&&(Ae=Uh,ne="onPointerLeave",V="onPointerEnter",$="pointer"),_t=K==null?Z:Xo(K),q=ke==null?Z:Xo(ke),Z=new Ae(ne,$+"leave",K,i,Q),Z.target=_t,Z.relatedTarget=q,ne=null,Gi(Q)===F&&(Ae=new Ae(V,$+"enter",ke,i,Q),Ae.target=q,Ae.relatedTarget=_t,ne=Ae),_t=ne,K&&ke)t:{for(Ae=JS,V=K,$=ke,q=0,ne=V;ne;ne=Ae(ne))q++;ne=0;for(var Ce=$;Ce;Ce=Ae(Ce))ne++;for(;0<q-ne;)V=Ae(V),q--;for(;0<ne-q;)$=Ae($),ne--;for(;q--;){if(V===$||$!==null&&V===$.alternate){Ae=V;break t}V=Ae(V),$=Ae($)}Ae=null}else Ae=null;K!==null&&M0(ae,Z,K,Ae,!1),ke!==null&&_t!==null&&M0(ae,_t,ke,Ae,!0)}}e:{if(Z=F?Xo(F):window,K=Z.nodeName&&Z.nodeName.toLowerCase(),K==="select"||K==="input"&&Z.type==="file")var tt=Jh;else if(Kh(Z))if(Wh)tt=rS;else{tt=iS;var je=aS}else K=Z.nodeName,!K||K.toLowerCase()!=="input"||Z.type!=="checkbox"&&Z.type!=="radio"?F&&Wd(F.elementType)&&(tt=Jh):tt=oS;if(tt&&(tt=tt(e,F))){Yh(ae,tt,i,Q);break e}je&&je(e,Z,F),e==="focusout"&&F&&Z.type==="number"&&F.memoizedProps.value!=null&&Jd(Z,"number",Z.value)}switch(je=F?Xo(F):window,e){case"focusin":(Kh(je)||je.contentEditable==="true")&&(Qi=je,uu=F,rr=null);break;case"focusout":rr=uu=Qi=null;break;case"mousedown":fu=!0;break;case"contextmenu":case"mouseup":case"dragend":fu=!1,ig(ae,i,Q);break;case"selectionchange":if(cS)break;case"keydown":case"keyup":ig(ae,i,Q)}var ze;if(ru)e:{switch(e){case"compositionstart":var Ye="onCompositionStart";break e;case"compositionend":Ye="onCompositionEnd";break e;case"compositionupdate":Ye="onCompositionUpdate";break e}Ye=void 0}else Xi?Fh(e,i)&&(Ye="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(Ye="onCompositionStart");Ye&&(Vh&&i.locale!=="ko"&&(Xi||Ye!=="onCompositionStart"?Ye==="onCompositionEnd"&&Xi&&(ze=$h()):(_a=Q,nu="value"in _a?_a.value:_a.textContent,Xi=!0)),je=Sc(F,Ye),0<je.length&&(Ye=new Ph(Ye,e,null,i,Q),ae.push({event:Ye,listeners:je}),ze?Ye.data=ze:(ze=Zh(i),ze!==null&&(Ye.data=ze)))),(ze=Qk?eS(e,i):tS(e,i))&&(Ye=Sc(F,"onBeforeInput"),0<Ye.length&&(je=new Ph("onBeforeInput","beforeinput",null,i,Q),ae.push({event:je,listeners:Ye}),je.data=ze)),FS(ae,e,F,i,Q)}D0(ae,n)})}function Rr(e,n,i){return{instance:e,listener:n,currentTarget:i}}function Sc(e,n){for(var i=n+"Capture",l=[];e!==null;){var f=e,h=f.stateNode;if(f=f.tag,f!==5&&f!==26&&f!==27||h===null||(f=Qo(e,i),f!=null&&l.unshift(Rr(e,f,h)),f=Qo(e,n),f!=null&&l.push(Rr(e,f,h))),e.tag===3)return l;e=e.return}return[]}function JS(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function M0(e,n,i,l,f){for(var h=n._reactName,S=[];i!==null&&i!==l;){var N=i,M=N.alternate,F=N.stateNode;if(N=N.tag,M!==null&&M===l)break;N!==5&&N!==26&&N!==27||F===null||(M=F,f?(F=Qo(i,h),F!=null&&S.unshift(Rr(i,F,M))):f||(F=Qo(i,h),F!=null&&S.push(Rr(i,F,M)))),i=i.return}S.length!==0&&e.push({event:n,listeners:S})}var WS=/\r\n?/g,XS=/\u0000|\uFFFD/g;function I0(e){return(typeof e=="string"?e:""+e).replace(WS,`
26
+ `).replace(XS,"")}function O0(e,n){return n=I0(n),I0(e)===n}function bt(e,n,i,l,f,h){switch(i){case"children":typeof l=="string"?n==="body"||n==="textarea"&&l===""||Yi(e,l):(typeof l=="number"||typeof l=="bigint")&&n!=="body"&&Yi(e,""+l);break;case"className":Nl(e,"class",l);break;case"tabIndex":Nl(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Nl(e,i,l);break;case"style":Oh(e,l,h);break;case"data":if(n!=="object"){Nl(e,"data",l);break}case"src":case"href":if(l===""&&(n!=="a"||i!=="href")){e.removeAttribute(i);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(i);break}l=El(""+l),e.setAttribute(i,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(i,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof h=="function"&&(i==="formAction"?(n!=="input"&&bt(e,n,"name",f.name,f,null),bt(e,n,"formEncType",f.formEncType,f,null),bt(e,n,"formMethod",f.formMethod,f,null),bt(e,n,"formTarget",f.formTarget,f,null)):(bt(e,n,"encType",f.encType,f,null),bt(e,n,"method",f.method,f,null),bt(e,n,"target",f.target,f,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(i);break}l=El(""+l),e.setAttribute(i,l);break;case"onClick":l!=null&&(e.onclick=Ps);break;case"onScroll":l!=null&&Fe("scroll",e);break;case"onScrollEnd":l!=null&&Fe("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(i=l.__html,i!=null){if(f.children!=null)throw Error(r(60));e.innerHTML=i}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}i=El(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(i,""+l):e.removeAttribute(i);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(i,""):e.removeAttribute(i);break;case"capture":case"download":l===!0?e.setAttribute(i,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(i,l):e.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(i,l):e.removeAttribute(i);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(i):e.setAttribute(i,l);break;case"popover":Fe("beforetoggle",e),Fe("toggle",e),wl(e,"popover",l);break;case"xlinkActuate":Hs(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":Hs(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":Hs(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":Hs(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":Hs(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":Hs(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":Hs(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":Hs(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":Hs(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":wl(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=wk.get(i)||i,wl(e,i,l))}}function $f(e,n,i,l,f,h){switch(i){case"style":Oh(e,l,h);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(i=l.__html,i!=null){if(f.children!=null)throw Error(r(60));e.innerHTML=i}}break;case"children":typeof l=="string"?Yi(e,l):(typeof l=="number"||typeof l=="bigint")&&Yi(e,""+l);break;case"onScroll":l!=null&&Fe("scroll",e);break;case"onScrollEnd":l!=null&&Fe("scrollend",e);break;case"onClick":l!=null&&(e.onclick=Ps);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!wh.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(f=i.endsWith("Capture"),n=i.slice(2,f?i.length-7:void 0),h=e[pt]||null,h=h!=null?h[i]:null,typeof h=="function"&&e.removeEventListener(n,h,f),typeof l=="function")){typeof h!="function"&&h!==null&&(i in e?e[i]=null:e.hasAttribute(i)&&e.removeAttribute(i)),e.addEventListener(n,l,f);break e}i in e?e[i]=l:l===!0?e.setAttribute(i,""):wl(e,i,l)}}}function un(e,n,i){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Fe("error",e),Fe("load",e);var l=!1,f=!1,h;for(h in i)if(i.hasOwnProperty(h)){var S=i[h];if(S!=null)switch(h){case"src":l=!0;break;case"srcSet":f=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:bt(e,n,h,S,i,null)}}f&&bt(e,n,"srcSet",i.srcSet,i,null),l&&bt(e,n,"src",i.src,i,null);return;case"input":Fe("invalid",e);var N=h=S=f=null,M=null,F=null;for(l in i)if(i.hasOwnProperty(l)){var Q=i[l];if(Q!=null)switch(l){case"name":f=Q;break;case"type":S=Q;break;case"checked":M=Q;break;case"defaultChecked":F=Q;break;case"value":h=Q;break;case"defaultValue":N=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(r(137,n));break;default:bt(e,n,l,Q,i,null)}}Dh(e,h,N,M,F,S,f,!1);return;case"select":Fe("invalid",e),l=S=h=null;for(f in i)if(i.hasOwnProperty(f)&&(N=i[f],N!=null))switch(f){case"value":h=N;break;case"defaultValue":S=N;break;case"multiple":l=N;default:bt(e,n,f,N,i,null)}n=h,i=S,e.multiple=!!l,n!=null?Ki(e,!!l,n,!1):i!=null&&Ki(e,!!l,i,!0);return;case"textarea":Fe("invalid",e),h=f=l=null;for(S in i)if(i.hasOwnProperty(S)&&(N=i[S],N!=null))switch(S){case"value":l=N;break;case"defaultValue":f=N;break;case"children":h=N;break;case"dangerouslySetInnerHTML":if(N!=null)throw Error(r(91));break;default:bt(e,n,S,N,i,null)}Mh(e,l,f,h);return;case"option":for(M in i)if(i.hasOwnProperty(M)&&(l=i[M],l!=null))switch(M){case"selected":e.selected=l&&typeof l!="function"&&typeof l!="symbol";break;default:bt(e,n,M,l,i,null)}return;case"dialog":Fe("beforetoggle",e),Fe("toggle",e),Fe("cancel",e),Fe("close",e);break;case"iframe":case"object":Fe("load",e);break;case"video":case"audio":for(l=0;l<Dr.length;l++)Fe(Dr[l],e);break;case"image":Fe("error",e),Fe("load",e);break;case"details":Fe("toggle",e);break;case"embed":case"source":case"link":Fe("error",e),Fe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(F in i)if(i.hasOwnProperty(F)&&(l=i[F],l!=null))switch(F){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:bt(e,n,F,l,i,null)}return;default:if(Wd(n)){for(Q in i)i.hasOwnProperty(Q)&&(l=i[Q],l!==void 0&&$f(e,n,Q,l,i,void 0));return}}for(N in i)i.hasOwnProperty(N)&&(l=i[N],l!=null&&bt(e,n,N,l,i,null))}function QS(e,n,i,l){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var f=null,h=null,S=null,N=null,M=null,F=null,Q=null;for(K in i){var ae=i[K];if(i.hasOwnProperty(K)&&ae!=null)switch(K){case"checked":break;case"value":break;case"defaultValue":M=ae;default:l.hasOwnProperty(K)||bt(e,n,K,null,l,ae)}}for(var Z in l){var K=l[Z];if(ae=i[Z],l.hasOwnProperty(Z)&&(K!=null||ae!=null))switch(Z){case"type":h=K;break;case"name":f=K;break;case"checked":F=K;break;case"defaultChecked":Q=K;break;case"value":S=K;break;case"defaultValue":N=K;break;case"children":case"dangerouslySetInnerHTML":if(K!=null)throw Error(r(137,n));break;default:K!==ae&&bt(e,n,Z,K,l,ae)}}Yd(e,S,N,M,F,Q,h,f);return;case"select":K=S=N=Z=null;for(h in i)if(M=i[h],i.hasOwnProperty(h)&&M!=null)switch(h){case"value":break;case"multiple":K=M;default:l.hasOwnProperty(h)||bt(e,n,h,null,l,M)}for(f in l)if(h=l[f],M=i[f],l.hasOwnProperty(f)&&(h!=null||M!=null))switch(f){case"value":Z=h;break;case"defaultValue":N=h;break;case"multiple":S=h;default:h!==M&&bt(e,n,f,h,l,M)}n=N,i=S,l=K,Z!=null?Ki(e,!!i,Z,!1):!!l!=!!i&&(n!=null?Ki(e,!!i,n,!0):Ki(e,!!i,i?[]:"",!1));return;case"textarea":K=Z=null;for(N in i)if(f=i[N],i.hasOwnProperty(N)&&f!=null&&!l.hasOwnProperty(N))switch(N){case"value":break;case"children":break;default:bt(e,n,N,null,l,f)}for(S in l)if(f=l[S],h=i[S],l.hasOwnProperty(S)&&(f!=null||h!=null))switch(S){case"value":Z=f;break;case"defaultValue":K=f;break;case"children":break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(r(91));break;default:f!==h&&bt(e,n,S,f,l,h)}Rh(e,Z,K);return;case"option":for(var ke in i)if(Z=i[ke],i.hasOwnProperty(ke)&&Z!=null&&!l.hasOwnProperty(ke))switch(ke){case"selected":e.selected=!1;break;default:bt(e,n,ke,null,l,Z)}for(M in l)if(Z=l[M],K=i[M],l.hasOwnProperty(M)&&Z!==K&&(Z!=null||K!=null))switch(M){case"selected":e.selected=Z&&typeof Z!="function"&&typeof Z!="symbol";break;default:bt(e,n,M,Z,l,K)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ae in i)Z=i[Ae],i.hasOwnProperty(Ae)&&Z!=null&&!l.hasOwnProperty(Ae)&&bt(e,n,Ae,null,l,Z);for(F in l)if(Z=l[F],K=i[F],l.hasOwnProperty(F)&&Z!==K&&(Z!=null||K!=null))switch(F){case"children":case"dangerouslySetInnerHTML":if(Z!=null)throw Error(r(137,n));break;default:bt(e,n,F,Z,l,K)}return;default:if(Wd(n)){for(var _t in i)Z=i[_t],i.hasOwnProperty(_t)&&Z!==void 0&&!l.hasOwnProperty(_t)&&$f(e,n,_t,void 0,l,Z);for(Q in l)Z=l[Q],K=i[Q],!l.hasOwnProperty(Q)||Z===K||Z===void 0&&K===void 0||$f(e,n,Q,Z,l,K);return}}for(var V in i)Z=i[V],i.hasOwnProperty(V)&&Z!=null&&!l.hasOwnProperty(V)&&bt(e,n,V,null,l,Z);for(ae in l)Z=l[ae],K=i[ae],!l.hasOwnProperty(ae)||Z===K||Z==null&&K==null||bt(e,n,ae,Z,l,K)}function L0(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function e2(){if(typeof performance.getEntriesByType=="function"){for(var e=0,n=0,i=performance.getEntriesByType("resource"),l=0;l<i.length;l++){var f=i[l],h=f.transferSize,S=f.initiatorType,N=f.duration;if(h&&N&&L0(S)){for(S=0,N=f.responseEnd,l+=1;l<i.length;l++){var M=i[l],F=M.startTime;if(F>N)break;var Q=M.transferSize,ae=M.initiatorType;Q&&L0(ae)&&(M=M.responseEnd,S+=Q*(M<N?1:(N-F)/(M-F)))}if(--l,n+=8*(h+S)/(f.duration/1e3),e++,10<e)break}}if(0<e)return n/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var zf=null,Hf=null;function jc(e){return e.nodeType===9?e:e.ownerDocument}function B0(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function $0(e,n){if(e===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&n==="foreignObject"?0:e}function Pf(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var Uf=null;function t2(){var e=window.event;return e&&e.type==="popstate"?e===Uf?!1:(Uf=e,!0):(Uf=null,!1)}var z0=typeof setTimeout=="function"?setTimeout:void 0,n2=typeof clearTimeout=="function"?clearTimeout:void 0,H0=typeof Promise=="function"?Promise:void 0,s2=typeof queueMicrotask=="function"?queueMicrotask:typeof H0<"u"?function(e){return H0.resolve(null).then(e).catch(a2)}:z0;function a2(e){setTimeout(function(){throw e})}function Ba(e){return e==="head"}function P0(e,n){var i=n,l=0;do{var f=i.nextSibling;if(e.removeChild(i),f&&f.nodeType===8)if(i=f.data,i==="/$"||i==="/&"){if(l===0){e.removeChild(f),No(n);return}l--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")l++;else if(i==="html")Mr(e.ownerDocument.documentElement);else if(i==="head"){i=e.ownerDocument.head,Mr(i);for(var h=i.firstChild;h;){var S=h.nextSibling,N=h.nodeName;h[Wo]||N==="SCRIPT"||N==="STYLE"||N==="LINK"&&h.rel.toLowerCase()==="stylesheet"||i.removeChild(h),h=S}}else i==="body"&&Mr(e.ownerDocument.body);i=f}while(i);No(n)}function U0(e,n){var i=e;e=0;do{var l=i.nextSibling;if(i.nodeType===1?n?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(n?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),l&&l.nodeType===8)if(i=l.data,i==="/$"){if(e===0)break;e--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||e++;i=l}while(i)}function Vf(e){var n=e.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var i=n;switch(n=n.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":Vf(i),Zd(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}e.removeChild(i)}}function i2(e,n,i,l){for(;e.nodeType===1;){var f=i;if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[Wo])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(h=e.getAttribute("rel"),h==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(h!==f.rel||e.getAttribute("href")!==(f.href==null||f.href===""?null:f.href)||e.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin)||e.getAttribute("title")!==(f.title==null?null:f.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(h=e.getAttribute("src"),(h!==(f.src==null?null:f.src)||e.getAttribute("type")!==(f.type==null?null:f.type)||e.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin))&&h&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(n==="input"&&e.type==="hidden"){var h=f.name==null?null:""+f.name;if(f.type==="hidden"&&e.getAttribute("name")===h)return e}else return e;if(e=Qn(e.nextSibling),e===null)break}return null}function o2(e,n,i){if(n==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!i||(e=Qn(e.nextSibling),e===null))return null;return e}function V0(e,n){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qn(e.nextSibling),e===null))return null;return e}function Gf(e){return e.data==="$?"||e.data==="$~"}function qf(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function r2(e,n){var i=e.ownerDocument;if(e.data==="$~")e._reactRetry=n;else if(e.data!=="$?"||i.readyState!=="loading")n();else{var l=function(){n(),i.removeEventListener("DOMContentLoaded",l)};i.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Qn(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return e}var Ff=null;function G0(e){e=e.nextSibling;for(var n=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"||i==="/&"){if(n===0)return Qn(e.nextSibling);n--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||n++}e=e.nextSibling}return null}function q0(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(n===0)return e;n--}else i!=="/$"&&i!=="/&"||n++}e=e.previousSibling}return null}function F0(e,n,i){switch(n=jc(i),e){case"html":if(e=n.documentElement,!e)throw Error(r(452));return e;case"head":if(e=n.head,!e)throw Error(r(453));return e;case"body":if(e=n.body,!e)throw Error(r(454));return e;default:throw Error(r(451))}}function Mr(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);Zd(e)}var es=new Map,Z0=new Set;function Tc(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var sa=R.d;R.d={f:l2,r:c2,D:d2,C:u2,L:f2,m:p2,X:h2,S:m2,M:g2};function l2(){var e=sa.f(),n=gc();return e||n}function c2(e){var n=qi(e);n!==null&&n.tag===5&&n.type==="form"?dv(n):sa.r(e)}var jo=typeof document>"u"?null:document;function K0(e,n,i){var l=jo;if(l&&typeof n=="string"&&n){var f=Fn(n);f='link[rel="'+e+'"][href="'+f+'"]',typeof i=="string"&&(f+='[crossorigin="'+i+'"]'),Z0.has(f)||(Z0.add(f),e={rel:e,crossOrigin:i,href:n},l.querySelector(f)===null&&(n=l.createElement("link"),un(n,"link",e),sn(n),l.head.appendChild(n)))}}function d2(e){sa.D(e),K0("dns-prefetch",e,null)}function u2(e,n){sa.C(e,n),K0("preconnect",e,n)}function f2(e,n,i){sa.L(e,n,i);var l=jo;if(l&&e&&n){var f='link[rel="preload"][as="'+Fn(n)+'"]';n==="image"&&i&&i.imageSrcSet?(f+='[imagesrcset="'+Fn(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(f+='[imagesizes="'+Fn(i.imageSizes)+'"]')):f+='[href="'+Fn(e)+'"]';var h=f;switch(n){case"style":h=To(e);break;case"script":h=wo(e)}es.has(h)||(e=_({rel:"preload",href:n==="image"&&i&&i.imageSrcSet?void 0:e,as:n},i),es.set(h,e),l.querySelector(f)!==null||n==="style"&&l.querySelector(Ir(h))||n==="script"&&l.querySelector(Or(h))||(n=l.createElement("link"),un(n,"link",e),sn(n),l.head.appendChild(n)))}}function p2(e,n){sa.m(e,n);var i=jo;if(i&&e){var l=n&&typeof n.as=="string"?n.as:"script",f='link[rel="modulepreload"][as="'+Fn(l)+'"][href="'+Fn(e)+'"]',h=f;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=wo(e)}if(!es.has(h)&&(e=_({rel:"modulepreload",href:e},n),es.set(h,e),i.querySelector(f)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(Or(h)))return}l=i.createElement("link"),un(l,"link",e),sn(l),i.head.appendChild(l)}}}function m2(e,n,i){sa.S(e,n,i);var l=jo;if(l&&e){var f=Fi(l).hoistableStyles,h=To(e);n=n||"default";var S=f.get(h);if(!S){var N={loading:0,preload:null};if(S=l.querySelector(Ir(h)))N.loading=5;else{e=_({rel:"stylesheet",href:e,"data-precedence":n},i),(i=es.get(h))&&Zf(e,i);var M=S=l.createElement("link");sn(M),un(M,"link",e),M._p=new Promise(function(F,Q){M.onload=F,M.onerror=Q}),M.addEventListener("load",function(){N.loading|=1}),M.addEventListener("error",function(){N.loading|=2}),N.loading|=4,wc(S,n,l)}S={type:"stylesheet",instance:S,count:1,state:N},f.set(h,S)}}}function h2(e,n){sa.X(e,n);var i=jo;if(i&&e){var l=Fi(i).hoistableScripts,f=wo(e),h=l.get(f);h||(h=i.querySelector(Or(f)),h||(e=_({src:e,async:!0},n),(n=es.get(f))&&Kf(e,n),h=i.createElement("script"),sn(h),un(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(f,h))}}function g2(e,n){sa.M(e,n);var i=jo;if(i&&e){var l=Fi(i).hoistableScripts,f=wo(e),h=l.get(f);h||(h=i.querySelector(Or(f)),h||(e=_({src:e,async:!0,type:"module"},n),(n=es.get(f))&&Kf(e,n),h=i.createElement("script"),sn(h),un(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(f,h))}}function Y0(e,n,i,l){var f=(f=gt.current)?Tc(f):null;if(!f)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(n=To(i.href),i=Fi(f).hoistableStyles,l=i.get(n),l||(l={type:"style",instance:null,count:0,state:null},i.set(n,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=To(i.href);var h=Fi(f).hoistableStyles,S=h.get(e);if(S||(f=f.ownerDocument||f,S={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(e,S),(h=f.querySelector(Ir(e)))&&!h._p&&(S.instance=h,S.state.loading=5),es.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},es.set(e,i),h||v2(f,e,i,S.state))),n&&l===null)throw Error(r(528,""));return S}if(n&&l!==null)throw Error(r(529,""));return null;case"script":return n=i.async,i=i.src,typeof i=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=wo(i),i=Fi(f).hoistableScripts,l=i.get(n),l||(l={type:"script",instance:null,count:0,state:null},i.set(n,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function To(e){return'href="'+Fn(e)+'"'}function Ir(e){return'link[rel="stylesheet"]['+e+"]"}function J0(e){return _({},e,{"data-precedence":e.precedence,precedence:null})}function v2(e,n,i,l){e.querySelector('link[rel="preload"][as="style"]['+n+"]")?l.loading=1:(n=e.createElement("link"),l.preload=n,n.addEventListener("load",function(){return l.loading|=1}),n.addEventListener("error",function(){return l.loading|=2}),un(n,"link",i),sn(n),e.head.appendChild(n))}function wo(e){return'[src="'+Fn(e)+'"]'}function Or(e){return"script[async]"+e}function W0(e,n,i){if(n.count++,n.instance===null)switch(n.type){case"style":var l=e.querySelector('style[data-href~="'+Fn(i.href)+'"]');if(l)return n.instance=l,sn(l),l;var f=_({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),sn(l),un(l,"style",f),wc(l,i.precedence,e),n.instance=l;case"stylesheet":f=To(i.href);var h=e.querySelector(Ir(f));if(h)return n.state.loading|=4,n.instance=h,sn(h),h;l=J0(i),(f=es.get(f))&&Zf(l,f),h=(e.ownerDocument||e).createElement("link"),sn(h);var S=h;return S._p=new Promise(function(N,M){S.onload=N,S.onerror=M}),un(h,"link",l),n.state.loading|=4,wc(h,i.precedence,e),n.instance=h;case"script":return h=wo(i.src),(f=e.querySelector(Or(h)))?(n.instance=f,sn(f),f):(l=i,(f=es.get(h))&&(l=_({},i),Kf(l,f)),e=e.ownerDocument||e,f=e.createElement("script"),sn(f),un(f,"link",l),e.head.appendChild(f),n.instance=f);case"void":return null;default:throw Error(r(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(l=n.instance,n.state.loading|=4,wc(l,i.precedence,e));return n.instance}function wc(e,n,i){for(var l=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=l.length?l[l.length-1]:null,h=f,S=0;S<l.length;S++){var N=l[S];if(N.dataset.precedence===n)h=N;else if(h!==f)break}h?h.parentNode.insertBefore(e,h.nextSibling):(n=i.nodeType===9?i.head:i,n.insertBefore(e,n.firstChild))}function Zf(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.title==null&&(e.title=n.title)}function Kf(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.integrity==null&&(e.integrity=n.integrity)}var Nc=null;function X0(e,n,i){if(Nc===null){var l=new Map,f=Nc=new Map;f.set(i,l)}else f=Nc,l=f.get(i),l||(l=new Map,f.set(i,l));if(l.has(e))return l;for(l.set(e,null),i=i.getElementsByTagName(e),f=0;f<i.length;f++){var h=i[f];if(!(h[Wo]||h[et]||e==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var S=h.getAttribute(n)||"";S=e+S;var N=l.get(S);N?N.push(h):l.set(S,[h])}}return l}function Q0(e,n,i){e=e.ownerDocument||e,e.head.insertBefore(i,n==="title"?e.querySelector("head > title"):null)}function y2(e,n,i){if(i===1||n.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;switch(n.rel){case"stylesheet":return e=n.disabled,typeof n.precedence=="string"&&e==null;default:return!0}case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function ey(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function b2(e,n,i,l){if(i.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var f=To(l.href),h=n.querySelector(Ir(f));if(h){n=h._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(e.count++,e=Cc.bind(e),n.then(e,e)),i.state.loading|=4,i.instance=h,sn(h);return}h=n.ownerDocument||n,l=J0(l),(f=es.get(f))&&Zf(l,f),h=h.createElement("link"),sn(h);var S=h;S._p=new Promise(function(N,M){S.onload=N,S.onerror=M}),un(h,"link",l),i.instance=h}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,n),(n=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=Cc.bind(e),n.addEventListener("load",i),n.addEventListener("error",i))}}var Yf=0;function _2(e,n){return e.stylesheets&&e.count===0&&Ac(e,e.stylesheets),0<e.count||0<e.imgCount?function(i){var l=setTimeout(function(){if(e.stylesheets&&Ac(e,e.stylesheets),e.unsuspend){var h=e.unsuspend;e.unsuspend=null,h()}},6e4+n);0<e.imgBytes&&Yf===0&&(Yf=62500*e2());var f=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Ac(e,e.stylesheets),e.unsuspend)){var h=e.unsuspend;e.unsuspend=null,h()}},(e.imgBytes>Yf?50:800)+n);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(f)}}:null}function Cc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ac(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ec=null;function Ac(e,n){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ec=new Map,n.forEach(x2,e),Ec=null,Cc.call(e))}function x2(e,n){if(!(n.state.loading&4)){var i=Ec.get(e);if(i)var l=i.get(null);else{i=new Map,Ec.set(e,i);for(var f=e.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<f.length;h++){var S=f[h];(S.nodeName==="LINK"||S.getAttribute("media")!=="not all")&&(i.set(S.dataset.precedence,S),l=S)}l&&i.set(null,l)}f=n.instance,S=f.getAttribute("data-precedence"),h=i.get(S)||l,h===l&&i.set(null,f),i.set(S,f),this.count++,l=Cc.bind(this),f.addEventListener("load",l),f.addEventListener("error",l),h?h.parentNode.insertBefore(f,h.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(f,e.firstChild)),n.state.loading|=4}}var Lr={$$typeof:A,Provider:null,Consumer:null,_currentValue:se,_currentValue2:se,_threadCount:0};function k2(e,n,i,l,f,h,S,N,M){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=P(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=P(0),this.hiddenUpdates=P(null),this.identifierPrefix=l,this.onUncaughtError=f,this.onCaughtError=h,this.onRecoverableError=S,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=M,this.incompleteTransitions=new Map}function ty(e,n,i,l,f,h,S,N,M,F,Q,ae){return e=new k2(e,n,i,S,M,F,Q,ae,N),n=1,h===!0&&(n|=24),h=Dn(3,null,null,n),e.current=h,h.stateNode=e,n=Nu(),n.refCount++,e.pooledCache=n,n.refCount++,h.memoizedState={element:l,isDehydrated:i,cache:n},Du(h),e}function ny(e){return e?(e=no,e):no}function sy(e,n,i,l,f,h){f=ny(f),l.context===null?l.context=f:l.pendingContext=f,l=wa(n),l.payload={element:i},h=h===void 0?null:h,h!==null&&(l.callback=h),i=Na(e,l,n),i!==null&&(En(i,e,n),mr(i,e,n))}function ay(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<n?i:n}}function Jf(e,n){ay(e,n),(e=e.alternate)&&ay(e,n)}function iy(e){if(e.tag===13||e.tag===31){var n=fi(e,67108864);n!==null&&En(n,e,67108864),Jf(e,67108864)}}function oy(e){if(e.tag===13||e.tag===31){var n=Ln();n=Te(n);var i=fi(e,n);i!==null&&En(i,e,n),Jf(e,n)}}var Dc=!0;function S2(e,n,i,l){var f=B.T;B.T=null;var h=R.p;try{R.p=2,Wf(e,n,i,l)}finally{R.p=h,B.T=f}}function j2(e,n,i,l){var f=B.T;B.T=null;var h=R.p;try{R.p=8,Wf(e,n,i,l)}finally{R.p=h,B.T=f}}function Wf(e,n,i,l){if(Dc){var f=Xf(l);if(f===null)Bf(e,n,l,Rc,i),ly(e,l);else if(w2(f,e,n,i,l))l.stopPropagation();else if(ly(e,l),n&4&&-1<T2.indexOf(e)){for(;f!==null;){var h=qi(f);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var S=Ts(h.pendingLanes);if(S!==0){var N=h;for(N.pendingLanes|=2,N.entangledLanes|=2;S;){var M=1<<31-nn(S);N.entanglements[1]|=M,S&=~M}As(h),(rt&6)===0&&(mc=en()+500,Ar(0))}}break;case 31:case 13:N=fi(h,2),N!==null&&En(N,h,2),gc(),Jf(h,2)}if(h=Xf(l),h===null&&Bf(e,n,l,Rc,i),h===f)break;f=h}f!==null&&l.stopPropagation()}else Bf(e,n,l,null,i)}}function Xf(e){return e=Qd(e),Qf(e)}var Rc=null;function Qf(e){if(Rc=null,e=Gi(e),e!==null){var n=d(e);if(n===null)e=null;else{var i=n.tag;if(i===13){if(e=u(n),e!==null)return e;e=null}else if(i===31){if(e=p(n),e!==null)return e;e=null}else if(i===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null)}}return Rc=e,null}function ry(e){switch(e){case"beforetoggle":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"toggle":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 2;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"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(zi()){case ya:return 2;case si:return 8;case js:case Hi:return 32;case Gn:return 268435456;default:return 32}default:return 32}}var ep=!1,$a=null,za=null,Ha=null,Br=new Map,$r=new Map,Pa=[],T2="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".split(" ");function ly(e,n){switch(e){case"focusin":case"focusout":$a=null;break;case"dragenter":case"dragleave":za=null;break;case"mouseover":case"mouseout":Ha=null;break;case"pointerover":case"pointerout":Br.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":$r.delete(n.pointerId)}}function zr(e,n,i,l,f,h){return e===null||e.nativeEvent!==h?(e={blockedOn:n,domEventName:i,eventSystemFlags:l,nativeEvent:h,targetContainers:[f]},n!==null&&(n=qi(n),n!==null&&iy(n)),e):(e.eventSystemFlags|=l,n=e.targetContainers,f!==null&&n.indexOf(f)===-1&&n.push(f),e)}function w2(e,n,i,l,f){switch(n){case"focusin":return $a=zr($a,e,n,i,l,f),!0;case"dragenter":return za=zr(za,e,n,i,l,f),!0;case"mouseover":return Ha=zr(Ha,e,n,i,l,f),!0;case"pointerover":var h=f.pointerId;return Br.set(h,zr(Br.get(h)||null,e,n,i,l,f)),!0;case"gotpointercapture":return h=f.pointerId,$r.set(h,zr($r.get(h)||null,e,n,i,l,f)),!0}return!1}function cy(e){var n=Gi(e.target);if(n!==null){var i=d(n);if(i!==null){if(n=i.tag,n===13){if(n=u(i),n!==null){e.blockedOn=n,vt(e.priority,function(){oy(i)});return}}else if(n===31){if(n=p(i),n!==null){e.blockedOn=n,vt(e.priority,function(){oy(i)});return}}else if(n===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Mc(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var i=Xf(e.nativeEvent);if(i===null){i=e.nativeEvent;var l=new i.constructor(i.type,i);Xd=l,i.target.dispatchEvent(l),Xd=null}else return n=qi(i),n!==null&&iy(n),e.blockedOn=i,!1;n.shift()}return!0}function dy(e,n,i){Mc(e)&&i.delete(n)}function N2(){ep=!1,$a!==null&&Mc($a)&&($a=null),za!==null&&Mc(za)&&(za=null),Ha!==null&&Mc(Ha)&&(Ha=null),Br.forEach(dy),$r.forEach(dy)}function Ic(e,n){e.blockedOn===n&&(e.blockedOn=null,ep||(ep=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,N2)))}var Oc=null;function uy(e){Oc!==e&&(Oc=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Oc===e&&(Oc=null);for(var n=0;n<e.length;n+=3){var i=e[n],l=e[n+1],f=e[n+2];if(typeof l!="function"){if(Qf(l||i)===null)continue;break}var h=qi(i);h!==null&&(e.splice(n,3),n-=3,Wu(h,{pending:!0,data:f,method:i.method,action:l},l,f))}}))}function No(e){function n(M){return Ic(M,e)}$a!==null&&Ic($a,e),za!==null&&Ic(za,e),Ha!==null&&Ic(Ha,e),Br.forEach(n),$r.forEach(n);for(var i=0;i<Pa.length;i++){var l=Pa[i];l.blockedOn===e&&(l.blockedOn=null)}for(;0<Pa.length&&(i=Pa[0],i.blockedOn===null);)cy(i),i.blockedOn===null&&Pa.shift();if(i=(e.ownerDocument||e).$$reactFormReplay,i!=null)for(l=0;l<i.length;l+=3){var f=i[l],h=i[l+1],S=f[pt]||null;if(typeof h=="function")S||uy(i);else if(S){var N=null;if(h&&h.hasAttribute("formAction")){if(f=h,S=h[pt]||null)N=S.formAction;else if(Qf(f)!==null)continue}else N=S.action;typeof N=="function"?i[l+1]=N:(i.splice(l,3),l-=3),uy(i)}}}function fy(){function e(h){h.canIntercept&&h.info==="react-transition"&&h.intercept({handler:function(){return new Promise(function(S){return f=S})},focusReset:"manual",scroll:"manual"})}function n(){f!==null&&(f(),f=null),l||setTimeout(i,20)}function i(){if(!l&&!navigation.transition){var h=navigation.currentEntry;h&&h.url!=null&&navigation.navigate(h.url,{state:h.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,f=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(i,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),f!==null&&(f(),f=null)}}}function tp(e){this._internalRoot=e}Lc.prototype.render=tp.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(r(409));var i=n.current,l=Ln();sy(i,l,e,n,null,null)},Lc.prototype.unmount=tp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;sy(e.current,2,null,e,null,null),gc(),n[kt]=null}};function Lc(e){this._internalRoot=e}Lc.prototype.unstable_scheduleHydration=function(e){if(e){var n=Qe();e={blockedOn:null,target:e,priority:n};for(var i=0;i<Pa.length&&n!==0&&n<Pa[i].priority;i++);Pa.splice(i,0,e),i===0&&cy(e)}};var py=s.version;if(py!=="19.2.4")throw Error(r(527,py,"19.2.4"));R.findDOMNode=function(e){var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(r(188)):(e=Object.keys(e).join(","),Error(r(268,e)));return e=g(n),e=e!==null?v(e):null,e=e===null?null:e.stateNode,e};var C2={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:B,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Bc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Bc.isDisabled&&Bc.supportsFiber)try{tn=Bc.inject(C2),Ct=Bc}catch{}}return Pr.createRoot=function(e,n){if(!c(e))throw Error(r(299));var i=!1,l="",f=_v,h=xv,S=kv;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(h=n.onCaughtError),n.onRecoverableError!==void 0&&(S=n.onRecoverableError)),n=ty(e,1,!1,null,null,i,l,null,f,h,S,fy),e[kt]=n.current,Lf(e),new tp(n)},Pr.hydrateRoot=function(e,n,i){if(!c(e))throw Error(r(299));var l=!1,f="",h=_v,S=xv,N=kv,M=null;return i!=null&&(i.unstable_strictMode===!0&&(l=!0),i.identifierPrefix!==void 0&&(f=i.identifierPrefix),i.onUncaughtError!==void 0&&(h=i.onUncaughtError),i.onCaughtError!==void 0&&(S=i.onCaughtError),i.onRecoverableError!==void 0&&(N=i.onRecoverableError),i.formState!==void 0&&(M=i.formState)),n=ty(e,1,!0,n,i??null,l,f,M,h,S,N,fy),n.context=ny(null),i=n.current,l=Ln(),l=Te(l),f=wa(l),f.callback=null,Na(i,f,l),i=l,n.current.lanes=i,ee(n,i),As(n),e[kt]=n.current,Lf(e),new Lc(n)},Pr.version="19.2.4",Pr}var xy;function aj(){if(xy)return np.exports;xy=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(s){console.error(s)}}return t(),np.exports=sj(),np.exports}var ij=aj();const oj="modulepreload",rj=function(t){return"/"+t},ky={},lj=function(s,o,r){let c=Promise.resolve();if(o&&o.length>0){let u=function(g){return Promise.all(g.map(v=>Promise.resolve(v).then(_=>({status:"fulfilled",value:_}),_=>({status:"rejected",reason:_}))))};document.getElementsByTagName("link");const p=document.querySelector("meta[property=csp-nonce]"),m=(p==null?void 0:p.nonce)||(p==null?void 0:p.getAttribute("nonce"));c=u(o.map(g=>{if(g=rj(g),g in ky)return;ky[g]=!0;const v=g.endsWith(".css"),_=v?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${_}`))return;const b=document.createElement("link");if(b.rel=v?"stylesheet":oj,v||(b.as="script"),b.crossOrigin="",b.href=g,m&&b.setAttribute("nonce",m),document.head.appendChild(b),v)return new Promise((x,k)=>{b.addEventListener("load",x),b.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${g}`)))})}))}function d(u){const p=new Event("vite:preloadError",{cancelable:!0});if(p.payload=u,window.dispatchEvent(p),!p.defaultPrevented)throw u}return c.then(u=>{for(const p of u||[])p.status==="rejected"&&d(p.reason);return s().catch(d)})},cj=new Proxy(globalThis.fetch,{apply(t,s,o){return Reflect.apply(globalThis.fetch,s,o)}}),Dd=$2({baseUrl:"/",fetch:cj}),$e=Cd(z2,Dd),pn=Cd(H2,Dd),Hc=Cd(P2,Dd),Pc=Cd(U2,Dd),dj="_bar_1xlm9_1",uj="_textarea_1xlm9_32",fj="_select_1xlm9_73",pj="_btnPrimary_1xlm9_109",mj="_btnGhost_1xlm9_179",hj="_badge_1xlm9_201",gj="_disconnectHint_1xlm9_211",xs={bar:dj,textarea:uj,select:fj,btnPrimary:pj,btnGhost:mj,badge:hj,disconnectHint:gj},vj=200;function yj(t,s){if(!t)return!1;const o=s.find(r=>r.id===t);return o!==void 0&&(o.status==="disconnected"||o.status==="error")}function bj({environmentId:t,onReconnect:s}){return a.jsxs(a.Fragment,{children:[a.jsx("span",{className:xs.disconnectHint,"data-testid":"env-disconnect-hint",children:"Environment unavailable"}),a.jsx("button",{type:"button",onClick:()=>s(t),className:xs.btnGhost,"data-testid":"reconnect-btn",title:"Reconnect the environment to resume messaging",children:"Reconnect"})]})}function ip({value:t,onChange:s,onSubmit:o,placeholder:r,disabled:c,autoFocus:d,ariaLabel:u}){const p=y.useRef(null);y.useLayoutEffect(()=>{const g=p.current;g&&(g.style.height="auto",g.style.height=`${Math.min(g.scrollHeight,vj)}px`)},[t]);const m=g=>{g.key==="Enter"&&(g.metaKey||g.ctrlKey)&&!g.nativeEvent.isComposing&&(g.preventDefault(),o())};return a.jsx("textarea",{ref:p,rows:1,value:t,onChange:g=>s(g.target.value),onKeyDown:m,placeholder:r,disabled:c,autoFocus:d,className:xs.textarea,"aria-label":u})}function Rd({mode:t,sessionId:s,environmentId:o,taskId:r,showPersonaSelect:c,personas:d,environments:u,onSendInput:p,onSpawn:m,onStartTask:g,onProvisionEnvironment:v,onShowToast:_}){const[b,x]=y.useState(""),[k,j]=y.useState(""),w=yj(o,u),T=()=>{if(b.trim())if(t==="send"){if(!s||w)return;p(s,b),x("")}else if(t==="spawn"){if(!o)return;m(o,b,k),_==null||_("Session started","success"),x(""),j("")}else{if(!r)return;g(r,void 0,o,b),x("")}},C=A=>{A.preventDefault(),T()};return t==="spawn"?a.jsxs("form",{onSubmit:C,className:xs.bar,children:[a.jsx("span",{className:xs.badge,children:"new chat"}),a.jsx(ip,{value:b,onChange:x,onSubmit:T,placeholder:"Enter prompt...",autoFocus:!0,ariaLabel:"Enter prompt"}),c&&a.jsxs("select",{value:k,onChange:A=>j(A.target.value),className:xs.select,"aria-label":"Select persona",children:[a.jsx("option",{value:"",children:"(Default)"}),d.map(A=>a.jsx("option",{value:A.id,children:A.name},A.id))]}),a.jsx("button",{type:"submit",disabled:!b.trim()||!o,className:xs.btnPrimary,children:"Go"})]}):t==="start"?a.jsxs("form",{onSubmit:C,className:xs.bar,children:[a.jsx(ip,{value:b,onChange:x,onSubmit:T,placeholder:"Type a message...",autoFocus:!0,ariaLabel:"Type a message"}),a.jsx("button",{type:"submit",disabled:!b.trim(),className:xs.btnPrimary,children:"Send"})]}):a.jsxs("form",{onSubmit:C,className:xs.bar,children:[w&&o&&a.jsx(bj,{environmentId:o,onReconnect:v}),a.jsx(ip,{value:b,onChange:x,onSubmit:T,placeholder:"Type a message...",autoFocus:!w,disabled:w,ariaLabel:"Type a message"}),a.jsx("span",{title:w?"Environment is unavailable — reconnect first":void 0,children:a.jsx("button",{type:"submit",disabled:!b.trim()||w,className:xs.btnPrimary,children:"Send"})})]})}const Sy=220,jy=70,_j=40,xj=60,kj="hierarchy",Sj="dependency";function jj(t){return y.useMemo(()=>{if(t.length===0)return{nodes:[],edges:[]};const s=new my.graphlib.Graph({multigraph:!0});s.setDefaultEdgeLabel(()=>({})),s.setGraph({rankdir:"TB",nodesep:_j,ranksep:xj});const o=new Map(t.map(u=>[u.id,u])),r=new Map;for(const u of t)if(u.parentTaskId&&o.has(u.parentTaskId)){const p=r.get(u.parentTaskId)||[];p.push(u),r.set(u.parentTaskId,p)}for(const u of t)s.setNode(u.id,{width:Sy,height:jy});const c=[];for(const u of t){if(u.parentTaskId&&o.has(u.parentTaskId)){const p=`hierarchy-${u.parentTaskId}-${u.id}`;s.setEdge(u.parentTaskId,u.id,{},p),c.push({id:p,source:u.parentTaskId,target:u.id,type:"smoothstep",data:{edgeType:kj},style:{stroke:"var(--accent-green)",strokeWidth:2},animated:!1})}for(const p of u.dependsOn)if(o.has(p)){const m=`dependency-${p}-${u.id}`;s.setEdge(p,u.id,{},m),c.push({id:m,source:p,target:u.id,type:"smoothstep",data:{edgeType:Sj},style:{stroke:"var(--text-tertiary)",strokeWidth:1.5,strokeDasharray:"6 3"},animated:!1})}}return my.layout(s),{nodes:t.map(u=>{const p=s.node(u.id),m=r.get(u.id)||[];return{id:u.id,type:"task",position:{x:p.x-Sy/2,y:p.y-jy/2},data:{task:u,childCount:m.length,doneChildCount:m.filter(g=>g.status==="complete").length,hasDependencies:u.dependsOn.length>0}}}),edges:c}},[t])}/**
27
27
  * @license lucide-react v0.474.0 - ISC
28
28
  *
29
29
  * This source code is licensed under the ISC license.
30
30
  * See the LICENSE file in the root directory of this source tree.
31
- */const jj=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),O_=(...t)=>t.filter((s,o,r)=>!!s&&s.trim()!==""&&r.indexOf(s)===o).join(" ").trim();/**
31
+ */const Tj=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L_=(...t)=>t.filter((s,o,r)=>!!s&&s.trim()!==""&&r.indexOf(s)===o).join(" ").trim();/**
32
32
  * @license lucide-react v0.474.0 - ISC
33
33
  *
34
34
  * This source code is licensed under the ISC license.
35
35
  * See the LICENSE file in the root directory of this source tree.
36
- */var Tj={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"};/**
36
+ */var wj={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"};/**
37
37
  * @license lucide-react v0.474.0 - ISC
38
38
  *
39
39
  * This source code is licensed under the ISC license.
40
40
  * See the LICENSE file in the root directory of this source tree.
41
- */const wj=y.forwardRef(({color:t="currentColor",size:s=24,strokeWidth:o=2,absoluteStrokeWidth:r,className:c="",children:d,iconNode:u,...p},m)=>y.createElement("svg",{ref:m,...Tj,width:s,height:s,stroke:t,strokeWidth:r?Number(o)*24/Number(s):o,className:O_("lucide",c),...p},[...u.map(([g,v])=>y.createElement(g,v)),...Array.isArray(d)?d:[d]]));/**
41
+ */const Nj=y.forwardRef(({color:t="currentColor",size:s=24,strokeWidth:o=2,absoluteStrokeWidth:r,className:c="",children:d,iconNode:u,...p},m)=>y.createElement("svg",{ref:m,...wj,width:s,height:s,stroke:t,strokeWidth:r?Number(o)*24/Number(s):o,className:L_("lucide",c),...p},[...u.map(([g,v])=>y.createElement(g,v)),...Array.isArray(d)?d:[d]]));/**
42
42
  * @license lucide-react v0.474.0 - ISC
43
43
  *
44
44
  * This source code is licensed under the ISC license.
45
45
  * See the LICENSE file in the root directory of this source tree.
46
- */const He=(t,s)=>{const o=y.forwardRef(({className:r,...c},d)=>y.createElement(wj,{ref:d,iconNode:s,className:O_(`lucide-${jj(t)}`,r),...c}));return o.displayName=`${t}`,o};/**
46
+ */const He=(t,s)=>{const o=y.forwardRef(({className:r,...c},d)=>y.createElement(Nj,{ref:d,iconNode:s,className:L_(`lucide-${Tj(t)}`,r),...c}));return o.displayName=`${t}`,o};/**
47
47
  * @license lucide-react v0.474.0 - ISC
48
48
  *
49
49
  * This source code is licensed under the ISC license.
50
50
  * See the LICENSE file in the root directory of this source tree.
51
- */const Nj=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Ty=He("ArrowDown",Nj);/**
51
+ */const Cj=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Ty=He("ArrowDown",Cj);/**
52
52
  * @license lucide-react v0.474.0 - ISC
53
53
  *
54
54
  * This source code is licensed under the ISC license.
55
55
  * See the LICENSE file in the root directory of this source tree.
56
- */const Cj=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],wy=He("ArrowUp",Cj);/**
56
+ */const Ej=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],wy=He("ArrowUp",Ej);/**
57
57
  * @license lucide-react v0.474.0 - ISC
58
58
  *
59
59
  * This source code is licensed under the ISC license.
60
60
  * See the LICENSE file in the root directory of this source tree.
61
- */const Ej=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]],Aj=He("Ban",Ej);/**
61
+ */const Aj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]],Dj=He("Ban",Aj);/**
62
62
  * @license lucide-react v0.474.0 - ISC
63
63
  *
64
64
  * This source code is licensed under the ISC license.
65
65
  * See the LICENSE file in the root directory of this source tree.
66
- */const Dj=[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]],Rj=He("Brain",Dj);/**
66
+ */const Rj=[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]],Mj=He("Brain",Rj);/**
67
67
  * @license lucide-react v0.474.0 - ISC
68
68
  *
69
69
  * This source code is licensed under the ISC license.
70
70
  * See the LICENSE file in the root directory of this source tree.
71
- */const Mj=[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]],Ij=He("CalendarClock",Mj);/**
71
+ */const Ij=[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]],Oj=He("CalendarClock",Ij);/**
72
72
  * @license lucide-react v0.474.0 - ISC
73
73
  *
74
74
  * This source code is licensed under the ISC license.
75
75
  * See the LICENSE file in the root directory of this source tree.
76
- */const Oj=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Li=He("Check",Oj);/**
76
+ */const Lj=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Oi=He("Check",Lj);/**
77
77
  * @license lucide-react v0.474.0 - ISC
78
78
  *
79
79
  * This source code is licensed under the ISC license.
80
80
  * See the LICENSE file in the root directory of this source tree.
81
- */const Lj=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],L_=He("ChevronDown",Lj);/**
81
+ */const Bj=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],B_=He("ChevronDown",Bj);/**
82
82
  * @license lucide-react v0.474.0 - ISC
83
83
  *
84
84
  * This source code is licensed under the ISC license.
85
85
  * See the LICENSE file in the root directory of this source tree.
86
- */const Bj=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ma=He("ChevronRight",Bj);/**
86
+ */const $j=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ma=He("ChevronRight",$j);/**
87
87
  * @license lucide-react v0.474.0 - ISC
88
88
  *
89
89
  * This source code is licensed under the ISC license.
90
90
  * See the LICENSE file in the root directory of this source tree.
91
- */const $j=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ja=He("Circle",$j);/**
91
+ */const zj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ja=He("Circle",zj);/**
92
92
  * @license lucide-react v0.474.0 - ISC
93
93
  *
94
94
  * This source code is licensed under the ISC license.
95
95
  * See the LICENSE file in the root directory of this source tree.
96
- */const zj=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]],Hj=He("ClipboardList",zj);/**
96
+ */const Hj=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]],Pj=He("ClipboardList",Hj);/**
97
97
  * @license lucide-react v0.474.0 - ISC
98
98
  *
99
99
  * This source code is licensed under the ISC license.
100
100
  * See the LICENSE file in the root directory of this source tree.
101
- */const Pj=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]],B_=He("Clipboard",Pj);/**
101
+ */const Uj=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]],$_=He("Clipboard",Uj);/**
102
102
  * @license lucide-react v0.474.0 - ISC
103
103
  *
104
104
  * This source code is licensed under the ISC license.
105
105
  * See the LICENSE file in the root directory of this source tree.
106
- */const Uj=[["path",{d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z",key:"sobvz5"}],["path",{d:"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",key:"11i496"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}]],Vj=He("Cog",Uj);/**
106
+ */const Vj=[["path",{d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z",key:"sobvz5"}],["path",{d:"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",key:"11i496"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}]],Gj=He("Cog",Vj);/**
107
107
  * @license lucide-react v0.474.0 - ISC
108
108
  *
109
109
  * This source code is licensed under the ISC license.
110
110
  * See the LICENSE file in the root directory of this source tree.
111
- */const Gj=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],qj=He("Copy",Gj);/**
111
+ */const qj=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Fj=He("Copy",qj);/**
112
112
  * @license lucide-react v0.474.0 - ISC
113
113
  *
114
114
  * This source code is licensed under the ISC license.
115
115
  * See the LICENSE file in the root directory of this source tree.
116
- */const Fj=[["polyline",{points:"15 10 20 15 15 20",key:"1q7qjw"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]],Zj=He("CornerDownRight",Fj);/**
116
+ */const Zj=[["polyline",{points:"15 10 20 15 15 20",key:"1q7qjw"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]],Kj=He("CornerDownRight",Zj);/**
117
117
  * @license lucide-react v0.474.0 - ISC
118
118
  *
119
119
  * This source code is licensed under the ISC license.
120
120
  * See the LICENSE file in the root directory of this source tree.
121
- */const Kj=[["path",{d:"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5",key:"1couwa"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1y4qbx"}]],Yj=He("FilePen",Kj);/**
121
+ */const Yj=[["path",{d:"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5",key:"1couwa"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1y4qbx"}]],Jj=He("FilePen",Yj);/**
122
122
  * @license lucide-react v0.474.0 - ISC
123
123
  *
124
124
  * This source code is licensed under the ISC license.
125
125
  * See the LICENSE file in the root directory of this source tree.
126
- */const Jj=[["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"}]],Wj=He("FileText",Jj);/**
126
+ */const Wj=[["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"}]],Xj=He("FileText",Wj);/**
127
127
  * @license lucide-react v0.474.0 - ISC
128
128
  *
129
129
  * This source code is licensed under the ISC license.
130
130
  * See the LICENSE file in the root directory of this source tree.
131
- */const Xj=[["polyline",{points:"15 17 20 12 15 7",key:"1w3sku"}],["path",{d:"M4 18v-2a4 4 0 0 1 4-4h12",key:"jmiej9"}]],Qj=He("Forward",Xj);/**
131
+ */const Qj=[["polyline",{points:"15 17 20 12 15 7",key:"1w3sku"}],["path",{d:"M4 18v-2a4 4 0 0 1 4-4h12",key:"jmiej9"}]],eT=He("Forward",Qj);/**
132
132
  * @license lucide-react v0.474.0 - ISC
133
133
  *
134
134
  * This source code is licensed under the ISC license.
135
135
  * See the LICENSE file in the root directory of this source tree.
136
- */const eT=[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]],tT=He("Github",eT);/**
136
+ */const tT=[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]],nT=He("Github",tT);/**
137
137
  * @license lucide-react v0.474.0 - ISC
138
138
  *
139
139
  * This source code is licensed under the ISC license.
140
140
  * See the LICENSE file in the root directory of this source tree.
141
- */const nT=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]],sT=He("House",nT);/**
141
+ */const sT=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]],aT=He("House",sT);/**
142
142
  * @license lucide-react v0.474.0 - ISC
143
143
  *
144
144
  * This source code is licensed under the ISC license.
145
145
  * See the LICENSE file in the root directory of this source tree.
146
- */const aT=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Nm=He("Info",aT);/**
146
+ */const iT=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Nm=He("Info",iT);/**
147
147
  * @license lucide-react v0.474.0 - ISC
148
148
  *
149
149
  * This source code is licensed under the ISC license.
150
150
  * See the LICENSE file in the root directory of this source tree.
151
- */const iT=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],oT=He("Key",iT);/**
151
+ */const oT=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],rT=He("Key",oT);/**
152
152
  * @license lucide-react v0.474.0 - ISC
153
153
  *
154
154
  * This source code is licensed under the ISC license.
155
155
  * See the LICENSE file in the root directory of this source tree.
156
- */const rT=[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]],lT=He("Keyboard",rT);/**
156
+ */const lT=[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]],cT=He("Keyboard",lT);/**
157
157
  * @license lucide-react v0.474.0 - ISC
158
158
  *
159
159
  * This source code is licensed under the ISC license.
160
160
  * See the LICENSE file in the root directory of this source tree.
161
- */const cT=[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]],dT=He("ListChecks",cT);/**
161
+ */const dT=[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]],uT=He("ListChecks",dT);/**
162
162
  * @license lucide-react v0.474.0 - ISC
163
163
  *
164
164
  * This source code is licensed under the ISC license.
165
165
  * See the LICENSE file in the root directory of this source tree.
166
- */const uT=[["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"}]],fT=He("List",uT);/**
166
+ */const fT=[["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"}]],pT=He("List",fT);/**
167
167
  * @license lucide-react v0.474.0 - ISC
168
168
  *
169
169
  * This source code is licensed under the ISC license.
170
170
  * See the LICENSE file in the root directory of this source tree.
171
- */const pT=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],mT=He("Loader",pT);/**
171
+ */const mT=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],hT=He("Loader",mT);/**
172
172
  * @license lucide-react v0.474.0 - ISC
173
173
  *
174
174
  * This source code is licensed under the ISC license.
175
175
  * See the LICENSE file in the root directory of this source tree.
176
- */const hT=[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]],gT=He("Menu",hT);/**
176
+ */const gT=[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]],vT=He("Menu",gT);/**
177
177
  * @license lucide-react v0.474.0 - ISC
178
178
  *
179
179
  * This source code is licensed under the ISC license.
180
180
  * See the LICENSE file in the root directory of this source tree.
181
- */const vT=[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]],$_=He("MessageSquare",vT);/**
181
+ */const yT=[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]],z_=He("MessageSquare",yT);/**
182
182
  * @license lucide-react v0.474.0 - ISC
183
183
  *
184
184
  * This source code is licensed under the ISC license.
185
185
  * See the LICENSE file in the root directory of this source tree.
186
- */const yT=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],bT=He("Monitor",yT);/**
186
+ */const bT=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],_T=He("Monitor",bT);/**
187
187
  * @license lucide-react v0.474.0 - ISC
188
188
  *
189
189
  * This source code is licensed under the ISC license.
190
190
  * See the LICENSE file in the root directory of this source tree.
191
- */const _T=[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]],xT=He("Palette",_T);/**
191
+ */const xT=[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]],kT=He("Palette",xT);/**
192
192
  * @license lucide-react v0.474.0 - ISC
193
193
  *
194
194
  * This source code is licensed under the ISC license.
195
195
  * See the LICENSE file in the root directory of this source tree.
196
- */const kT=[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]],ST=He("Pause",kT);/**
196
+ */const ST=[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]],jT=He("Pause",ST);/**
197
197
  * @license lucide-react v0.474.0 - ISC
198
198
  *
199
199
  * This source code is licensed under the ISC license.
200
200
  * See the LICENSE file in the root directory of this source tree.
201
- */const jT=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],TT=He("Pencil",jT);/**
201
+ */const TT=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],wT=He("Pencil",TT);/**
202
202
  * @license lucide-react v0.474.0 - ISC
203
203
  *
204
204
  * This source code is licensed under the ISC license.
205
205
  * See the LICENSE file in the root directory of this source tree.
206
- */const wT=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],NT=He("Puzzle",wT);/**
206
+ */const NT=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],CT=He("Puzzle",NT);/**
207
207
  * @license lucide-react v0.474.0 - ISC
208
208
  *
209
209
  * This source code is licensed under the ISC license.
210
210
  * See the LICENSE file in the root directory of this source tree.
211
- */const CT=[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]],ET=He("Radio",CT);/**
211
+ */const ET=[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]],AT=He("Radio",ET);/**
212
212
  * @license lucide-react v0.474.0 - ISC
213
213
  *
214
214
  * This source code is licensed under the ISC license.
215
215
  * See the LICENSE file in the root directory of this source tree.
216
- */const AT=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],DT=He("RefreshCw",AT);/**
216
+ */const DT=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],RT=He("RefreshCw",DT);/**
217
217
  * @license lucide-react v0.474.0 - ISC
218
218
  *
219
219
  * This source code is licensed under the ISC license.
220
220
  * See the LICENSE file in the root directory of this source tree.
221
- */const RT=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],fd=He("Search",RT);/**
221
+ */const MT=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],fd=He("Search",MT);/**
222
222
  * @license lucide-react v0.474.0 - ISC
223
223
  *
224
224
  * This source code is licensed under the ISC license.
225
225
  * See the LICENSE file in the root directory of this source tree.
226
- */const MT=[["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"}]],IT=He("Settings",MT);/**
226
+ */const IT=[["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"}]],OT=He("Settings",IT);/**
227
227
  * @license lucide-react v0.474.0 - ISC
228
228
  *
229
229
  * This source code is licensed under the ISC license.
230
230
  * See the LICENSE file in the root directory of this source tree.
231
- */const OT=[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],LT=He("SquareCheckBig",OT);/**
231
+ */const LT=[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],BT=He("SquareCheckBig",LT);/**
232
232
  * @license lucide-react v0.474.0 - ISC
233
233
  *
234
234
  * This source code is licensed under the ISC license.
235
235
  * See the LICENSE file in the root directory of this source tree.
236
- */const BT=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],$T=He("Star",BT);/**
236
+ */const $T=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],zT=He("Star",$T);/**
237
237
  * @license lucide-react v0.474.0 - ISC
238
238
  *
239
239
  * This source code is licensed under the ISC license.
240
240
  * See the LICENSE file in the root directory of this source tree.
241
- */const zT=[["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"}]],Cm=He("TriangleAlert",zT);/**
241
+ */const HT=[["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"}]],Cm=He("TriangleAlert",HT);/**
242
242
  * @license lucide-react v0.474.0 - ISC
243
243
  *
244
244
  * This source code is licensed under the ISC license.
245
245
  * See the LICENSE file in the root directory of this source tree.
246
- */const HT=[["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"}]],PT=He("User",HT);/**
246
+ */const PT=[["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"}]],UT=He("User",PT);/**
247
247
  * @license lucide-react v0.474.0 - ISC
248
248
  *
249
249
  * This source code is licensed under the ISC license.
250
250
  * See the LICENSE file in the root directory of this source tree.
251
- */const UT=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],$s=He("X",UT),Em=8,it=12,Gt=14,Dt=16,Wp={not_started:{color:"var(--text-tertiary)",icon:a.jsx(Ja,{size:it}),label:"Not Started"},working:{color:"var(--accent-green)",icon:a.jsx(Ja,{size:it,fill:"currentColor"}),label:"Working"},paused:{color:"var(--accent-yellow)",icon:a.jsx(ST,{size:it}),label:"Paused"},complete:{color:"var(--accent-green)",icon:a.jsx(Li,{size:it}),label:"Complete"},failed:{color:"var(--accent-red)",icon:a.jsx($s,{size:it}),label:"Failed"},blocked:{color:"var(--accent-yellow)",icon:a.jsx(Aj,{size:it}),label:"Blocked"}};function Wa(t){return t==="blocked"?Wp.blocked:Wp[gl(t)]}const VT={not_started:"statusPending",working:"statusInProgress",paused:"statusWaitingInput",complete:"statusDone",failed:"statusFailed"};function GT(t){return VT[gl(t)]??"statusPending"}const qT=["working","paused","failed","not_started","blocked","complete"],Ny=["not_started","working","paused","complete","failed"],FT={pending:"not_started",assigned:"not_started",in_progress:"working",waiting_input:"paused",review:"paused",done:"complete"};function gl(t){return t in Wp&&t!=="blocked"?t:FT[t]??"not_started"}const ZT={not_started:"--text-tertiary",working:"--accent-green",paused:"--accent-yellow",complete:"--accent-green",failed:"--accent-red",pending:"--text-tertiary",assigned:"--text-tertiary",in_progress:"--accent-green",review:"--accent-yellow",done:"--accent-green",waiting_input:"--accent-yellow"},KT="_dagContainer_js4w6_1",YT="_taskNode_js4w6_26",JT="_taskNodeBorder_js4w6_54",WT="_taskNodeContent_js4w6_60",XT="_taskNodeHeader_js4w6_70",QT="_taskNodeIcon_js4w6_77",ew="_taskNodeTitle_js4w6_82",tw="_taskNodeBadges_js4w6_90",nw="_childBadge_js4w6_95",sw="_depBadge_js4w6_107",aw="_handle_js4w6_119",iw="_emptyCta_js4w6_126",ow="_ctaDescription_js4w6_137",rw="_ctaButton_js4w6_144",Sn={dagContainer:KT,taskNode:YT,taskNodeBorder:JT,taskNodeContent:WT,taskNodeHeader:XT,taskNodeIcon:QT,taskNodeTitle:ew,taskNodeBadges:tw,childBadge:nw,depBadge:sw,handle:aw,emptyCta:iw,ctaDescription:ow,ctaButton:rw};function lw({data:t}){const{task:s,childCount:o,doneChildCount:r,hasDependencies:c}=t,d=Wa(s.status);return a.jsxs("div",{className:Sn.taskNode,"data-task-id":s.id,"data-task-title":s.title,children:[a.jsx(hy,{type:"target",position:gy.Top,className:Sn.handle}),a.jsx("div",{className:Sn.taskNodeBorder,style:{backgroundColor:d.color}}),a.jsxs("div",{className:Sn.taskNodeContent,children:[a.jsxs("div",{className:Sn.taskNodeHeader,children:[a.jsx("span",{className:Sn.taskNodeIcon,style:{color:d.color},children:d.icon}),a.jsx("span",{className:Sn.taskNodeTitle,children:s.title})]}),a.jsxs("div",{className:Sn.taskNodeBadges,children:[o>0&&a.jsxs("span",{className:Sn.childBadge,children:[r,"/",o]}),c&&a.jsx("span",{className:Sn.depBadge,children:"dep"})]})]}),a.jsx(hy,{type:"source",position:gy.Bottom,className:Sn.handle})]})}/**
251
+ */const VT=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],$s=He("X",VT),Em=8,it=12,Gt=14,Dt=16,Wp={not_started:{color:"var(--text-tertiary)",icon:a.jsx(Ja,{size:it}),label:"Not Started"},working:{color:"var(--accent-green)",icon:a.jsx(Ja,{size:it,fill:"currentColor"}),label:"Working"},paused:{color:"var(--accent-yellow)",icon:a.jsx(jT,{size:it}),label:"Paused"},complete:{color:"var(--accent-green)",icon:a.jsx(Oi,{size:it}),label:"Complete"},failed:{color:"var(--accent-red)",icon:a.jsx($s,{size:it}),label:"Failed"},blocked:{color:"var(--accent-yellow)",icon:a.jsx(Dj,{size:it}),label:"Blocked"}};function Wa(t){return t==="blocked"?Wp.blocked:Wp[gl(t)]}const GT={not_started:"statusPending",working:"statusInProgress",paused:"statusWaitingInput",complete:"statusDone",failed:"statusFailed"};function qT(t){return GT[gl(t)]??"statusPending"}const FT=["working","paused","failed","not_started","blocked","complete"],Ny=["not_started","working","paused","complete","failed"],ZT={pending:"not_started",assigned:"not_started",in_progress:"working",waiting_input:"paused",review:"paused",done:"complete"};function gl(t){return t in Wp&&t!=="blocked"?t:ZT[t]??"not_started"}const KT={not_started:"--text-tertiary",working:"--accent-green",paused:"--accent-yellow",complete:"--accent-green",failed:"--accent-red",pending:"--text-tertiary",assigned:"--text-tertiary",in_progress:"--accent-green",review:"--accent-yellow",done:"--accent-green",waiting_input:"--accent-yellow"},YT="_dagContainer_js4w6_1",JT="_taskNode_js4w6_26",WT="_taskNodeBorder_js4w6_54",XT="_taskNodeContent_js4w6_60",QT="_taskNodeHeader_js4w6_70",ew="_taskNodeIcon_js4w6_77",tw="_taskNodeTitle_js4w6_82",nw="_taskNodeBadges_js4w6_90",sw="_childBadge_js4w6_95",aw="_depBadge_js4w6_107",iw="_handle_js4w6_119",ow="_emptyCta_js4w6_126",rw="_ctaDescription_js4w6_137",lw="_ctaButton_js4w6_144",Sn={dagContainer:YT,taskNode:JT,taskNodeBorder:WT,taskNodeContent:XT,taskNodeHeader:QT,taskNodeIcon:ew,taskNodeTitle:tw,taskNodeBadges:nw,childBadge:sw,depBadge:aw,handle:iw,emptyCta:ow,ctaDescription:rw,ctaButton:lw};function cw({data:t}){const{task:s,childCount:o,doneChildCount:r,hasDependencies:c}=t,d=Wa(s.status);return a.jsxs("div",{className:Sn.taskNode,"data-task-id":s.id,"data-task-title":s.title,children:[a.jsx(hy,{type:"target",position:gy.Top,className:Sn.handle}),a.jsx("div",{className:Sn.taskNodeBorder,style:{backgroundColor:d.color}}),a.jsxs("div",{className:Sn.taskNodeContent,children:[a.jsxs("div",{className:Sn.taskNodeHeader,children:[a.jsx("span",{className:Sn.taskNodeIcon,style:{color:d.color},children:d.icon}),a.jsx("span",{className:Sn.taskNodeTitle,children:s.title})]}),a.jsxs("div",{className:Sn.taskNodeBadges,children:[o>0&&a.jsxs("span",{className:Sn.childBadge,children:[r,"/",o]}),c&&a.jsx("span",{className:Sn.depBadge,children:"dep"})]})]}),a.jsx(hy,{type:"source",position:gy.Bottom,className:Sn.handle})]})}/**
252
252
  * react-router v7.13.2
253
253
  *
254
254
  * Copyright (c) Remix Software Inc.
@@ -257,37 +257,37 @@ Error generating stack: `+l.message+`
257
257
  * LICENSE.md file in the root directory of this source tree.
258
258
  *
259
259
  * @license MIT
260
- */var Cy="popstate";function Ey(t){return typeof t=="object"&&t!=null&&"pathname"in t&&"search"in t&&"hash"in t&&"state"in t&&"key"in t}function cw(t={}){function s(r,c){var g;let d=(g=c.state)==null?void 0:g.masked,{pathname:u,search:p,hash:m}=d||r.location;return Xp("",{pathname:u,search:p,hash:m},c.state&&c.state.usr||null,c.state&&c.state.key||"default",d?{pathname:r.location.pathname,search:r.location.search,hash:r.location.hash}:void 0)}function o(r,c){return typeof c=="string"?c:rl(c)}return uw(s,o,null,t)}function wt(t,s){if(t===!1||t===null||typeof t>"u")throw new Error(s)}function ls(t,s){if(!t){typeof console<"u"&&console.warn(s);try{throw new Error(s)}catch{}}}function dw(){return Math.random().toString(36).substring(2,10)}function Ay(t,s){return{usr:t.state,key:t.key,idx:s,masked:t.unstable_mask?{pathname:t.pathname,search:t.search,hash:t.hash}:void 0}}function Xp(t,s,o=null,r,c){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof s=="string"?Go(s):s,state:o,key:s&&s.key||r||dw(),unstable_mask:c}}function rl({pathname:t="/",search:s="",hash:o=""}){return s&&s!=="?"&&(t+=s.charAt(0)==="?"?s:"?"+s),o&&o!=="#"&&(t+=o.charAt(0)==="#"?o:"#"+o),t}function Go(t){let s={};if(t){let o=t.indexOf("#");o>=0&&(s.hash=t.substring(o),t=t.substring(0,o));let r=t.indexOf("?");r>=0&&(s.search=t.substring(r),t=t.substring(0,r)),t&&(s.pathname=t)}return s}function uw(t,s,o,r={}){let{window:c=document.defaultView,v5Compat:d=!1}=r,u=c.history,p="POP",m=null,g=v();g==null&&(g=0,u.replaceState({...u.state,idx:g},""));function v(){return(u.state||{idx:null}).idx}function _(){p="POP";let w=v(),T=w==null?null:w-g;g=w,m&&m({action:p,location:j.location,delta:T})}function b(w,T){p="PUSH";let C=Ey(w)?w:Xp(j.location,w,T);g=v()+1;let A=Ay(C,g),L=j.createHref(C.unstable_mask||C);try{u.pushState(A,"",L)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;c.location.assign(L)}d&&m&&m({action:p,location:j.location,delta:1})}function x(w,T){p="REPLACE";let C=Ey(w)?w:Xp(j.location,w,T);g=v();let A=Ay(C,g),L=j.createHref(C.unstable_mask||C);u.replaceState(A,"",L),d&&m&&m({action:p,location:j.location,delta:0})}function k(w){return fw(w)}let j={get action(){return p},get location(){return t(c,u)},listen(w){if(m)throw new Error("A history only accepts one active listener");return c.addEventListener(Cy,_),m=w,()=>{c.removeEventListener(Cy,_),m=null}},createHref(w){return s(c,w)},createURL:k,encodeLocation(w){let T=k(w);return{pathname:T.pathname,search:T.search,hash:T.hash}},push:b,replace:x,go(w){return u.go(w)}};return j}function fw(t,s=!1){let o="http://localhost";typeof window<"u"&&(o=window.location.origin!=="null"?window.location.origin:window.location.href),wt(o,"No window.location.(origin|href) available to create URL");let r=typeof t=="string"?t:rl(t);return r=r.replace(/ $/,"%20"),!s&&r.startsWith("//")&&(r=o+r),new URL(r,o)}function z_(t,s,o="/"){return pw(t,s,o,!1)}function pw(t,s,o,r){let c=typeof s=="string"?Go(s):s,d=ua(c.pathname||"/",o);if(d==null)return null;let u=H_(t);mw(u);let p=null;for(let m=0;p==null&&m<u.length;++m){let g=U_(d);p=Sw(u[m],g,r)}return p}function H_(t,s=[],o=[],r="",c=!1){let d=(u,p,m=c,g)=>{let v={relativePath:g===void 0?u.path||"":g,caseSensitive:u.caseSensitive===!0,childrenIndex:p,route:u};if(v.relativePath.startsWith("/")){if(!v.relativePath.startsWith(r)&&m)return;wt(v.relativePath.startsWith(r),`Absolute route path "${v.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),v.relativePath=v.relativePath.slice(r.length)}let _=Os([r,v.relativePath]),b=o.concat(v);u.children&&u.children.length>0&&(wt(u.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${_}".`),H_(u.children,s,b,_,m)),!(u.path==null&&!u.index)&&s.push({path:_,score:xw(_,u.index),routesMeta:b})};return t.forEach((u,p)=>{var m;if(u.path===""||!((m=u.path)!=null&&m.includes("?")))d(u,p);else for(let g of P_(u.path))d(u,p,!0,g)}),s}function P_(t){let s=t.split("/");if(s.length===0)return[];let[o,...r]=s,c=o.endsWith("?"),d=o.replace(/\?$/,"");if(r.length===0)return c?[d,""]:[d];let u=P_(r.join("/")),p=[];return p.push(...u.map(m=>m===""?d:[d,m].join("/"))),c&&p.push(...u),p.map(m=>t.startsWith("/")&&m===""?"/":m)}function mw(t){t.sort((s,o)=>s.score!==o.score?o.score-s.score:kw(s.routesMeta.map(r=>r.childrenIndex),o.routesMeta.map(r=>r.childrenIndex)))}var hw=/^:[\w-]+$/,gw=3,vw=2,yw=1,bw=10,_w=-2,Dy=t=>t==="*";function xw(t,s){let o=t.split("/"),r=o.length;return o.some(Dy)&&(r+=_w),s&&(r+=vw),o.filter(c=>!Dy(c)).reduce((c,d)=>c+(hw.test(d)?gw:d===""?yw:bw),r)}function kw(t,s){return t.length===s.length&&t.slice(0,-1).every((r,c)=>r===s[c])?t[t.length-1]-s[s.length-1]:0}function Sw(t,s,o=!1){let{routesMeta:r}=t,c={},d="/",u=[];for(let p=0;p<r.length;++p){let m=r[p],g=p===r.length-1,v=d==="/"?s:s.slice(d.length)||"/",_=ll({path:m.relativePath,caseSensitive:m.caseSensitive,end:g},v),b=m.route;if(!_&&g&&o&&!r[r.length-1].route.index&&(_=ll({path:m.relativePath,caseSensitive:m.caseSensitive,end:!1},v)),!_)return null;Object.assign(c,_.params),u.push({params:c,pathname:Os([d,_.pathname]),pathnameBase:Cw(Os([d,_.pathnameBase])),route:b}),_.pathnameBase!=="/"&&(d=Os([d,_.pathnameBase]))}return u}function ll(t,s){typeof t=="string"&&(t={path:t,caseSensitive:!1,end:!0});let[o,r]=jw(t.path,t.caseSensitive,t.end),c=s.match(o);if(!c)return null;let d=c[0],u=d.replace(/(.)\/+$/,"$1"),p=c.slice(1);return{params:r.reduce((g,{paramName:v,isOptional:_},b)=>{if(v==="*"){let k=p[b]||"";u=d.slice(0,d.length-k.length).replace(/(.)\/+$/,"$1")}const x=p[b];return _&&!x?g[v]=void 0:g[v]=(x||"").replace(/%2F/g,"/"),g},{}),pathname:d,pathnameBase:u,pattern:t}}function jw(t,s=!1,o=!0){ls(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let r=[],c="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(u,p,m,g,v)=>{if(r.push({paramName:p,isOptional:m!=null}),m){let _=v.charAt(g+u.length);return _&&_!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(r.push({paramName:"*"}),c+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):o?c+="\\/*$":t!==""&&t!=="/"&&(c+="(?:(?=\\/|$))"),[new RegExp(c,s?void 0:"i"),r]}function U_(t){try{return t.split("/").map(s=>decodeURIComponent(s).replace(/\//g,"%2F")).join("/")}catch(s){return ls(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${s}).`),t}}function ua(t,s){if(s==="/")return t;if(!t.toLowerCase().startsWith(s.toLowerCase()))return null;let o=s.endsWith("/")?s.length-1:s.length,r=t.charAt(o);return r&&r!=="/"?null:t.slice(o)||"/"}var Tw=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ww(t,s="/"){let{pathname:o,search:r="",hash:c=""}=typeof t=="string"?Go(t):t,d;return o?(o=o.replace(/\/\/+/g,"/"),o.startsWith("/")?d=Ry(o.substring(1),"/"):d=Ry(o,s)):d=s,{pathname:d,search:Ew(r),hash:Aw(c)}}function Ry(t,s){let o=s.replace(/\/+$/,"").split("/");return t.split("/").forEach(c=>{c===".."?o.length>1&&o.pop():c!=="."&&o.push(c)}),o.length>1?o.join("/"):"/"}function op(t,s,o,r){return`Cannot include a '${t}' character in a manually specified \`to.${s}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${o}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Nw(t){return t.filter((s,o)=>o===0||s.route.path&&s.route.path.length>0)}function Am(t){let s=Nw(t);return s.map((o,r)=>r===s.length-1?o.pathname:o.pathnameBase)}function Md(t,s,o,r=!1){let c;typeof t=="string"?c=Go(t):(c={...t},wt(!c.pathname||!c.pathname.includes("?"),op("?","pathname","search",c)),wt(!c.pathname||!c.pathname.includes("#"),op("#","pathname","hash",c)),wt(!c.search||!c.search.includes("#"),op("#","search","hash",c)));let d=t===""||c.pathname==="",u=d?"/":c.pathname,p;if(u==null)p=o;else{let _=s.length-1;if(!r&&u.startsWith("..")){let b=u.split("/");for(;b[0]==="..";)b.shift(),_-=1;c.pathname=b.join("/")}p=_>=0?s[_]:"/"}let m=ww(c,p),g=u&&u!=="/"&&u.endsWith("/"),v=(d||u===".")&&o.endsWith("/");return!m.pathname.endsWith("/")&&(g||v)&&(m.pathname+="/"),m}var Os=t=>t.join("/").replace(/\/\/+/g,"/"),Cw=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Ew=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Aw=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t,Dw=class{constructor(t,s,o,r=!1){this.status=t,this.statusText=s||"",this.internal=r,o instanceof Error?(this.data=o.toString(),this.error=o):this.data=o}};function Rw(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}function Mw(t){return t.map(s=>s.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var V_=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function G_(t,s){let o=t;if(typeof o!="string"||!Tw.test(o))return{absoluteURL:void 0,isExternal:!1,to:o};let r=o,c=!1;if(V_)try{let d=new URL(window.location.href),u=o.startsWith("//")?new URL(d.protocol+o):new URL(o),p=ua(u.pathname,s);u.origin===d.origin&&p!=null?o=p+u.search+u.hash:c=!0}catch{ls(!1,`<Link to="${o}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:c,to:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var q_=["POST","PUT","PATCH","DELETE"];new Set(q_);var Iw=["GET",...q_];new Set(Iw);var qo=y.createContext(null);qo.displayName="DataRouter";var Id=y.createContext(null);Id.displayName="DataRouterState";var Ow=y.createContext(!1),F_=y.createContext({isTransitioning:!1});F_.displayName="ViewTransition";var Lw=y.createContext(new Map);Lw.displayName="Fetchers";var Bw=y.createContext(null);Bw.displayName="Await";var Un=y.createContext(null);Un.displayName="Navigation";var vl=y.createContext(null);vl.displayName="Location";var cs=y.createContext({outlet:null,matches:[],isDataRoute:!1});cs.displayName="Route";var Dm=y.createContext(null);Dm.displayName="RouteError";var Z_="REACT_ROUTER_ERROR",$w="REDIRECT",zw="ROUTE_ERROR_RESPONSE";function Hw(t){if(t.startsWith(`${Z_}:${$w}:{`))try{let s=JSON.parse(t.slice(28));if(typeof s=="object"&&s&&typeof s.status=="number"&&typeof s.statusText=="string"&&typeof s.location=="string"&&typeof s.reloadDocument=="boolean"&&typeof s.replace=="boolean")return s}catch{}}function Pw(t){if(t.startsWith(`${Z_}:${zw}:{`))try{let s=JSON.parse(t.slice(40));if(typeof s=="object"&&s&&typeof s.status=="number"&&typeof s.statusText=="string")return new Dw(s.status,s.statusText,s.data)}catch{}}function Uw(t,{relative:s}={}){wt(Bi(),"useHref() may be used only in the context of a <Router> component.");let{basename:o,navigator:r}=y.useContext(Un),{hash:c,pathname:d,search:u}=yl(t,{relative:s}),p=d;return o!=="/"&&(p=d==="/"?o:Os([o,d])),r.createHref({pathname:p,search:u,hash:c})}function Bi(){return y.useContext(vl)!=null}function Jt(){return wt(Bi(),"useLocation() may be used only in the context of a <Router> component."),y.useContext(vl).location}function It(t){wt(Bi(),"useMatch() may be used only in the context of a <Router> component.");let{pathname:s}=Jt();return y.useMemo(()=>ll(t,U_(s)),[s,t])}var K_="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Y_(t){y.useContext(Un).static||y.useLayoutEffect(t)}function Od(){let{isDataRoute:t}=y.useContext(cs);return t?sN():Vw()}function Vw(){wt(Bi(),"useNavigate() may be used only in the context of a <Router> component.");let t=y.useContext(qo),{basename:s,navigator:o}=y.useContext(Un),{matches:r}=y.useContext(cs),{pathname:c}=Jt(),d=JSON.stringify(Am(r)),u=y.useRef(!1);return Y_(()=>{u.current=!0}),y.useCallback((m,g={})=>{if(ls(u.current,K_),!u.current)return;if(typeof m=="number"){o.go(m);return}let v=Md(m,JSON.parse(d),c,g.relative==="path");t==null&&s!=="/"&&(v.pathname=v.pathname==="/"?s:Os([s,v.pathname])),(g.replace?o.replace:o.push)(v,g.state,g)},[s,o,d,c,t])}var Gw=y.createContext(null);function qw(t){let s=y.useContext(cs).outlet;return y.useMemo(()=>s&&y.createElement(Gw.Provider,{value:t},s),[s,t])}function Vn(){let{matches:t}=y.useContext(cs),s=t[t.length-1];return s?s.params:{}}function yl(t,{relative:s}={}){let{matches:o}=y.useContext(cs),{pathname:r}=Jt(),c=JSON.stringify(Am(o));return y.useMemo(()=>Md(t,JSON.parse(c),r,s==="path"),[t,c,r,s])}function Fw(t,s){return J_(t,s)}function J_(t,s,o){var w;wt(Bi(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:r}=y.useContext(Un),{matches:c}=y.useContext(cs),d=c[c.length-1],u=d?d.params:{},p=d?d.pathname:"/",m=d?d.pathnameBase:"/",g=d&&d.route;{let T=g&&g.path||"";X_(p,!g||T.endsWith("*")||T.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${p}" (under <Route path="${T}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
261
-
262
- Please change the parent <Route path="${T}"> to <Route path="${T==="/"?"*":`${T}/*`}">.`)}let v=Jt(),_;if(s){let T=typeof s=="string"?Go(s):s;wt(m==="/"||((w=T.pathname)==null?void 0:w.startsWith(m)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${m}" but pathname "${T.pathname}" was given in the \`location\` prop.`),_=T}else _=v;let b=_.pathname||"/",x=b;if(m!=="/"){let T=m.replace(/^\//,"").split("/");x="/"+b.replace(/^\//,"").split("/").slice(T.length).join("/")}let k=z_(t,{pathname:x});ls(g||k!=null,`No routes matched location "${_.pathname}${_.search}${_.hash}" `),ls(k==null||k[k.length-1].route.element!==void 0||k[k.length-1].route.Component!==void 0||k[k.length-1].route.lazy!==void 0,`Matched leaf route at location "${_.pathname}${_.search}${_.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let j=Ww(k&&k.map(T=>Object.assign({},T,{params:Object.assign({},u,T.params),pathname:Os([m,r.encodeLocation?r.encodeLocation(T.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:T.pathname]),pathnameBase:T.pathnameBase==="/"?m:Os([m,r.encodeLocation?r.encodeLocation(T.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:T.pathnameBase])})),c,o);return s&&j?y.createElement(vl.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,..._},navigationType:"POP"}},j):j}function Zw(){let t=nN(),s=Rw(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),o=t instanceof Error?t.stack:null,r="rgba(200,200,200, 0.5)",c={padding:"0.5rem",backgroundColor:r},d={padding:"2px 4px",backgroundColor:r},u=null;return console.error("Error handled by React Router default ErrorBoundary:",t),u=y.createElement(y.Fragment,null,y.createElement("p",null,"💿 Hey developer 👋"),y.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",y.createElement("code",{style:d},"ErrorBoundary")," or"," ",y.createElement("code",{style:d},"errorElement")," prop on your route.")),y.createElement(y.Fragment,null,y.createElement("h2",null,"Unexpected Application Error!"),y.createElement("h3",{style:{fontStyle:"italic"}},s),o?y.createElement("pre",{style:c},o):null,u)}var Kw=y.createElement(Zw,null),W_=class extends y.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,s){return s.location!==t.location||s.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:s.error,location:s.location,revalidation:t.revalidation||s.revalidation}}componentDidCatch(t,s){this.props.onError?this.props.onError(t,s):console.error("React Router caught the following error during render",t)}render(){let t=this.state.error;if(this.context&&typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){const o=Pw(t.digest);o&&(t=o)}let s=t!==void 0?y.createElement(cs.Provider,{value:this.props.routeContext},y.createElement(Dm.Provider,{value:t,children:this.props.component})):this.props.children;return this.context?y.createElement(Yw,{error:t},s):s}};W_.contextType=Ow;var rp=new WeakMap;function Yw({children:t,error:s}){let{basename:o}=y.useContext(Un);if(typeof s=="object"&&s&&"digest"in s&&typeof s.digest=="string"){let r=Hw(s.digest);if(r){let c=rp.get(s);if(c)throw c;let d=G_(r.location,o);if(V_&&!rp.get(s))if(d.isExternal||r.reloadDocument)window.location.href=d.absoluteURL||d.to;else{const u=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(d.to,{replace:r.replace}));throw rp.set(s,u),u}return y.createElement("meta",{httpEquiv:"refresh",content:`0;url=${d.absoluteURL||d.to}`})}}return t}function Jw({routeContext:t,match:s,children:o}){let r=y.useContext(qo);return r&&r.static&&r.staticContext&&(s.route.errorElement||s.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=s.route.id),y.createElement(cs.Provider,{value:t},o)}function Ww(t,s=[],o){let r=o==null?void 0:o.state;if(t==null){if(!r)return null;if(r.errors)t=r.matches;else if(s.length===0&&!r.initialized&&r.matches.length>0)t=r.matches;else return null}let c=t,d=r==null?void 0:r.errors;if(d!=null){let v=c.findIndex(_=>_.route.id&&(d==null?void 0:d[_.route.id])!==void 0);wt(v>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),c=c.slice(0,Math.min(c.length,v+1))}let u=!1,p=-1;if(o&&r){u=r.renderFallback;for(let v=0;v<c.length;v++){let _=c[v];if((_.route.HydrateFallback||_.route.hydrateFallbackElement)&&(p=v),_.route.id){let{loaderData:b,errors:x}=r,k=_.route.loader&&!b.hasOwnProperty(_.route.id)&&(!x||x[_.route.id]===void 0);if(_.route.lazy||k){o.isStatic&&(u=!0),p>=0?c=c.slice(0,p+1):c=[c[0]];break}}}}let m=o==null?void 0:o.onError,g=r&&m?(v,_)=>{var b,x;m(v,{location:r.location,params:((x=(b=r.matches)==null?void 0:b[0])==null?void 0:x.params)??{},unstable_pattern:Mw(r.matches),errorInfo:_})}:void 0;return c.reduceRight((v,_,b)=>{let x,k=!1,j=null,w=null;r&&(x=d&&_.route.id?d[_.route.id]:void 0,j=_.route.errorElement||Kw,u&&(p<0&&b===0?(X_("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),k=!0,w=null):p===b&&(k=!0,w=_.route.hydrateFallbackElement||null)));let T=s.concat(c.slice(0,b+1)),C=()=>{let A;return x?A=j:k?A=w:_.route.Component?A=y.createElement(_.route.Component,null):_.route.element?A=_.route.element:A=v,y.createElement(Jw,{match:_,routeContext:{outlet:v,matches:T,isDataRoute:r!=null},children:A})};return r&&(_.route.ErrorBoundary||_.route.errorElement||b===0)?y.createElement(W_,{location:r.location,revalidation:r.revalidation,component:j,error:x,children:C(),routeContext:{outlet:null,matches:T,isDataRoute:!0},onError:g}):C()},null)}function Rm(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Xw(t){let s=y.useContext(qo);return wt(s,Rm(t)),s}function Qw(t){let s=y.useContext(Id);return wt(s,Rm(t)),s}function eN(t){let s=y.useContext(cs);return wt(s,Rm(t)),s}function Mm(t){let s=eN(t),o=s.matches[s.matches.length-1];return wt(o.route.id,`${t} can only be used on routes that contain a unique "id"`),o.route.id}function tN(){return Mm("useRouteId")}function nN(){var r;let t=y.useContext(Dm),s=Qw("useRouteError"),o=Mm("useRouteError");return t!==void 0?t:(r=s.errors)==null?void 0:r[o]}function sN(){let{router:t}=Xw("useNavigate"),s=Mm("useNavigate"),o=y.useRef(!1);return Y_(()=>{o.current=!0}),y.useCallback(async(c,d={})=>{ls(o.current,K_),o.current&&(typeof c=="number"?await t.navigate(c):await t.navigate(c,{fromRouteId:s,...d}))},[t,s])}var My={};function X_(t,s,o){!s&&!My[t]&&(My[t]=!0,ls(!1,o))}y.memo(aN);function aN({routes:t,future:s,state:o,isStatic:r,onError:c}){return J_(t,void 0,{state:o,isStatic:r,onError:c})}function os({to:t,replace:s,state:o,relative:r}){wt(Bi(),"<Navigate> may be used only in the context of a <Router> component.");let{static:c}=y.useContext(Un);ls(!c,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:d}=y.useContext(cs),{pathname:u}=Jt(),p=Od(),m=Md(t,Am(d),u,r==="path"),g=JSON.stringify(m);return y.useEffect(()=>{p(JSON.parse(g),{replace:s,state:o,relative:r})},[p,g,r,s,o]),null}function ha(t){return qw(t.context)}function we(t){wt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function iN({basename:t="/",children:s=null,location:o,navigationType:r="POP",navigator:c,static:d=!1,unstable_useTransitions:u}){wt(!Bi(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let p=t.replace(/^\/*/,"/"),m=y.useMemo(()=>({basename:p,navigator:c,static:d,unstable_useTransitions:u,future:{}}),[p,c,d,u]);typeof o=="string"&&(o=Go(o));let{pathname:g="/",search:v="",hash:_="",state:b=null,key:x="default",unstable_mask:k}=o,j=y.useMemo(()=>{let w=ua(g,p);return w==null?null:{location:{pathname:w,search:v,hash:_,state:b,key:x,unstable_mask:k},navigationType:r}},[p,g,v,_,b,x,r,k]);return ls(j!=null,`<Router basename="${p}"> is not able to match the URL "${g}${v}${_}" because it does not start with the basename, so the <Router> won't render anything.`),j==null?null:y.createElement(Un.Provider,{value:m},y.createElement(vl.Provider,{children:s,value:j}))}function oN({children:t,location:s}){return Fw(Qp(t),s)}function Qp(t,s=[]){let o=[];return y.Children.forEach(t,(r,c)=>{if(!y.isValidElement(r))return;let d=[...s,c];if(r.type===y.Fragment){o.push.apply(o,Qp(r.props.children,d));return}wt(r.type===we,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),wt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let u={id:r.props.id||d.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(u.children=Qp(r.props.children,d)),o.push(u)}),o}var sd="get",ad="application/x-www-form-urlencoded";function Ld(t){return typeof HTMLElement<"u"&&t instanceof HTMLElement}function rN(t){return Ld(t)&&t.tagName.toLowerCase()==="button"}function lN(t){return Ld(t)&&t.tagName.toLowerCase()==="form"}function cN(t){return Ld(t)&&t.tagName.toLowerCase()==="input"}function dN(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function uN(t,s){return t.button===0&&(!s||s==="_self")&&!dN(t)}function em(t=""){return new URLSearchParams(typeof t=="string"||Array.isArray(t)||t instanceof URLSearchParams?t:Object.keys(t).reduce((s,o)=>{let r=t[o];return s.concat(Array.isArray(r)?r.map(c=>[o,c]):[[o,r]])},[]))}function fN(t,s){let o=em(t);return s&&s.forEach((r,c)=>{o.has(c)||s.getAll(c).forEach(d=>{o.append(c,d)})}),o}var Uc=null;function pN(){if(Uc===null)try{new FormData(document.createElement("form"),0),Uc=!1}catch{Uc=!0}return Uc}var mN=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function lp(t){return t!=null&&!mN.has(t)?(ls(!1,`"${t}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ad}"`),null):t}function hN(t,s){let o,r,c,d,u;if(lN(t)){let p=t.getAttribute("action");r=p?ua(p,s):null,o=t.getAttribute("method")||sd,c=lp(t.getAttribute("enctype"))||ad,d=new FormData(t)}else if(rN(t)||cN(t)&&(t.type==="submit"||t.type==="image")){let p=t.form;if(p==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let m=t.getAttribute("formaction")||p.getAttribute("action");if(r=m?ua(m,s):null,o=t.getAttribute("formmethod")||p.getAttribute("method")||sd,c=lp(t.getAttribute("formenctype"))||lp(p.getAttribute("enctype"))||ad,d=new FormData(p,t),!pN()){let{name:g,type:v,value:_}=t;if(v==="image"){let b=g?`${g}.`:"";d.append(`${b}x`,"0"),d.append(`${b}y`,"0")}else g&&d.append(g,_)}}else{if(Ld(t))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');o=sd,r=null,c=ad,u=t}return d&&c==="text/plain"&&(u=d,d=void 0),{action:r,method:o.toLowerCase(),encType:c,formData:d,body:u}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Im(t,s){if(t===!1||t===null||typeof t>"u")throw new Error(s)}function gN(t,s,o,r){let c=typeof t=="string"?new URL(t,typeof window>"u"?"server://singlefetch/":window.location.origin):t;return o?c.pathname.endsWith("/")?c.pathname=`${c.pathname}_.${r}`:c.pathname=`${c.pathname}.${r}`:c.pathname==="/"?c.pathname=`_root.${r}`:s&&ua(c.pathname,s)==="/"?c.pathname=`${s.replace(/\/$/,"")}/_root.${r}`:c.pathname=`${c.pathname.replace(/\/$/,"")}.${r}`,c}async function vN(t,s){if(t.id in s)return s[t.id];try{let o=await import(t.module);return s[t.id]=o,o}catch(o){return console.error(`Error loading route module \`${t.module}\`, reloading page...`),console.error(o),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function yN(t){return t==null?!1:t.href==null?t.rel==="preload"&&typeof t.imageSrcSet=="string"&&typeof t.imageSizes=="string":typeof t.rel=="string"&&typeof t.href=="string"}async function bN(t,s,o){let r=await Promise.all(t.map(async c=>{let d=s.routes[c.route.id];if(d){let u=await vN(d,o);return u.links?u.links():[]}return[]}));return SN(r.flat(1).filter(yN).filter(c=>c.rel==="stylesheet"||c.rel==="preload").map(c=>c.rel==="stylesheet"?{...c,rel:"prefetch",as:"style"}:{...c,rel:"prefetch"}))}function Iy(t,s,o,r,c,d){let u=(m,g)=>o[g]?m.route.id!==o[g].route.id:!0,p=(m,g)=>{var v;return o[g].pathname!==m.pathname||((v=o[g].route.path)==null?void 0:v.endsWith("*"))&&o[g].params["*"]!==m.params["*"]};return d==="assets"?s.filter((m,g)=>u(m,g)||p(m,g)):d==="data"?s.filter((m,g)=>{var _;let v=r.routes[m.route.id];if(!v||!v.hasLoader)return!1;if(u(m,g)||p(m,g))return!0;if(m.route.shouldRevalidate){let b=m.route.shouldRevalidate({currentUrl:new URL(c.pathname+c.search+c.hash,window.origin),currentParams:((_=o[0])==null?void 0:_.params)||{},nextUrl:new URL(t,window.origin),nextParams:m.params,defaultShouldRevalidate:!0});if(typeof b=="boolean")return b}return!0}):[]}function _N(t,s,{includeHydrateFallback:o}={}){return xN(t.map(r=>{let c=s.routes[r.route.id];if(!c)return[];let d=[c.module];return c.clientActionModule&&(d=d.concat(c.clientActionModule)),c.clientLoaderModule&&(d=d.concat(c.clientLoaderModule)),o&&c.hydrateFallbackModule&&(d=d.concat(c.hydrateFallbackModule)),c.imports&&(d=d.concat(c.imports)),d}).flat(1))}function xN(t){return[...new Set(t)]}function kN(t){let s={},o=Object.keys(t).sort();for(let r of o)s[r]=t[r];return s}function SN(t,s){let o=new Set;return new Set(s),t.reduce((r,c)=>{let d=JSON.stringify(kN(c));return o.has(d)||(o.add(d),r.push({key:d,link:c})),r},[])}function Q_(){let t=y.useContext(qo);return Im(t,"You must render this element inside a <DataRouterContext.Provider> element"),t}function jN(){let t=y.useContext(Id);return Im(t,"You must render this element inside a <DataRouterStateContext.Provider> element"),t}var Om=y.createContext(void 0);Om.displayName="FrameworkContext";function ex(){let t=y.useContext(Om);return Im(t,"You must render this element inside a <HydratedRouter> element"),t}function TN(t,s){let o=y.useContext(Om),[r,c]=y.useState(!1),[d,u]=y.useState(!1),{onFocus:p,onBlur:m,onMouseEnter:g,onMouseLeave:v,onTouchStart:_}=s,b=y.useRef(null);y.useEffect(()=>{if(t==="render"&&u(!0),t==="viewport"){let j=T=>{T.forEach(C=>{u(C.isIntersecting)})},w=new IntersectionObserver(j,{threshold:.5});return b.current&&w.observe(b.current),()=>{w.disconnect()}}},[t]),y.useEffect(()=>{if(r){let j=setTimeout(()=>{u(!0)},100);return()=>{clearTimeout(j)}}},[r]);let x=()=>{c(!0)},k=()=>{c(!1),u(!1)};return o?t!=="intent"?[d,b,{}]:[d,b,{onFocus:Ur(p,x),onBlur:Ur(m,k),onMouseEnter:Ur(g,x),onMouseLeave:Ur(v,k),onTouchStart:Ur(_,x)}]:[!1,b,{}]}function Ur(t,s){return o=>{t&&t(o),o.defaultPrevented||s(o)}}function wN({page:t,...s}){let{router:o}=Q_(),r=y.useMemo(()=>z_(o.routes,t,o.basename),[o.routes,t,o.basename]);return r?y.createElement(CN,{page:t,matches:r,...s}):null}function NN(t){let{manifest:s,routeModules:o}=ex(),[r,c]=y.useState([]);return y.useEffect(()=>{let d=!1;return bN(t,s,o).then(u=>{d||c(u)}),()=>{d=!0}},[t,s,o]),r}function CN({page:t,matches:s,...o}){let r=Jt(),{future:c,manifest:d,routeModules:u}=ex(),{basename:p}=Q_(),{loaderData:m,matches:g}=jN(),v=y.useMemo(()=>Iy(t,s,g,d,r,"data"),[t,s,g,d,r]),_=y.useMemo(()=>Iy(t,s,g,d,r,"assets"),[t,s,g,d,r]),b=y.useMemo(()=>{if(t===r.pathname+r.search+r.hash)return[];let j=new Set,w=!1;if(s.forEach(C=>{var L;let A=d.routes[C.route.id];!A||!A.hasLoader||(!v.some(E=>E.route.id===C.route.id)&&C.route.id in m&&((L=u[C.route.id])!=null&&L.shouldRevalidate)||A.hasClientLoader?w=!0:j.add(C.route.id))}),j.size===0)return[];let T=gN(t,p,c.unstable_trailingSlashAwareDataRequests,"data");return w&&j.size>0&&T.searchParams.set("_routes",s.filter(C=>j.has(C.route.id)).map(C=>C.route.id).join(",")),[T.pathname+T.search]},[p,c.unstable_trailingSlashAwareDataRequests,m,r,d,v,s,t,u]),x=y.useMemo(()=>_N(_,d),[_,d]),k=NN(_);return y.createElement(y.Fragment,null,b.map(j=>y.createElement("link",{key:j,rel:"prefetch",as:"fetch",href:j,...o})),x.map(j=>y.createElement("link",{key:j,rel:"modulepreload",href:j,...o})),k.map(({key:j,link:w})=>y.createElement("link",{key:j,nonce:o.nonce,...w,crossOrigin:w.crossOrigin??o.crossOrigin})))}function EN(...t){return s=>{t.forEach(o=>{typeof o=="function"?o(s):o!=null&&(o.current=s)})}}var AN=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{AN&&(window.__reactRouterVersion="7.13.2")}catch{}function DN({basename:t,children:s,unstable_useTransitions:o,window:r}){let c=y.useRef();c.current==null&&(c.current=cw({window:r,v5Compat:!0}));let d=c.current,[u,p]=y.useState({action:d.action,location:d.location}),m=y.useCallback(g=>{o===!1?p(g):y.startTransition(()=>p(g))},[o]);return y.useLayoutEffect(()=>d.listen(m),[d,m]),y.createElement(iN,{basename:t,children:s,location:u.location,navigationType:u.action,navigator:d,unstable_useTransitions:o})}var tx=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,bl=y.forwardRef(function({onClick:s,discover:o="render",prefetch:r="none",relative:c,reloadDocument:d,replace:u,unstable_mask:p,state:m,target:g,to:v,preventScrollReset:_,viewTransition:b,unstable_defaultShouldRevalidate:x,...k},j){let{basename:w,navigator:T,unstable_useTransitions:C}=y.useContext(Un),A=typeof v=="string"&&tx.test(v),L=G_(v,w);v=L.to;let E=Uw(v,{relative:c}),O=Jt(),z=null;if(p){let le=Md(p,[],O.unstable_mask?O.unstable_mask.pathname:"/",!0);w!=="/"&&(le.pathname=le.pathname==="/"?w:Os([w,le.pathname])),z=T.createHref(le)}let[D,H,Y]=TN(r,k),U=ON(v,{replace:u,unstable_mask:p,state:m,target:g,preventScrollReset:_,relative:c,viewTransition:b,unstable_defaultShouldRevalidate:x,unstable_useTransitions:C});function X(le){s&&s(le),le.defaultPrevented||U(le)}let ge=!(L.isExternal||d),W=y.createElement("a",{...k,...Y,href:(ge?z:void 0)||L.absoluteURL||E,onClick:ge?X:s,ref:EN(j,H),target:g,"data-discover":!A&&o==="render"?"true":void 0});return D&&!A?y.createElement(y.Fragment,null,W,y.createElement(wN,{page:E})):W});bl.displayName="Link";var RN=y.forwardRef(function({"aria-current":s="page",caseSensitive:o=!1,className:r="",end:c=!1,style:d,to:u,viewTransition:p,children:m,...g},v){let _=yl(u,{relative:g.relative}),b=Jt(),x=y.useContext(Id),{navigator:k,basename:j}=y.useContext(Un),w=x!=null&&HN(_)&&p===!0,T=k.encodeLocation?k.encodeLocation(_).pathname:_.pathname,C=b.pathname,A=x&&x.navigation&&x.navigation.location?x.navigation.location.pathname:null;o||(C=C.toLowerCase(),A=A?A.toLowerCase():null,T=T.toLowerCase()),A&&j&&(A=ua(A,j)||A);const L=T!=="/"&&T.endsWith("/")?T.length-1:T.length;let E=C===T||!c&&C.startsWith(T)&&C.charAt(L)==="/",O=A!=null&&(A===T||!c&&A.startsWith(T)&&A.charAt(T.length)==="/"),z={isActive:E,isPending:O,isTransitioning:w},D=E?s:void 0,H;typeof r=="function"?H=r(z):H=[r,E?"active":null,O?"pending":null,w?"transitioning":null].filter(Boolean).join(" ");let Y=typeof d=="function"?d(z):d;return y.createElement(bl,{...g,"aria-current":D,className:H,ref:v,style:Y,to:u,viewTransition:p},typeof m=="function"?m(z):m)});RN.displayName="NavLink";var MN=y.forwardRef(({discover:t="render",fetcherKey:s,navigate:o,reloadDocument:r,replace:c,state:d,method:u=sd,action:p,onSubmit:m,relative:g,preventScrollReset:v,viewTransition:_,unstable_defaultShouldRevalidate:b,...x},k)=>{let{unstable_useTransitions:j}=y.useContext(Un),w=$N(),T=zN(p,{relative:g}),C=u.toLowerCase()==="get"?"get":"post",A=typeof p=="string"&&tx.test(p),L=E=>{if(m&&m(E),E.defaultPrevented)return;E.preventDefault();let O=E.nativeEvent.submitter,z=(O==null?void 0:O.getAttribute("formmethod"))||u,D=()=>w(O||E.currentTarget,{fetcherKey:s,method:z,navigate:o,replace:c,state:d,relative:g,preventScrollReset:v,viewTransition:_,unstable_defaultShouldRevalidate:b});j&&o!==!1?y.startTransition(()=>D()):D()};return y.createElement("form",{ref:k,method:C,action:T,onSubmit:r?m:L,...x,"data-discover":!A&&t==="render"?"true":void 0})});MN.displayName="Form";function IN(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function nx(t){let s=y.useContext(qo);return wt(s,IN(t)),s}function ON(t,{target:s,replace:o,unstable_mask:r,state:c,preventScrollReset:d,relative:u,viewTransition:p,unstable_defaultShouldRevalidate:m,unstable_useTransitions:g}={}){let v=Od(),_=Jt(),b=yl(t,{relative:u});return y.useCallback(x=>{if(uN(x,s)){x.preventDefault();let k=o!==void 0?o:rl(_)===rl(b),j=()=>v(t,{replace:k,unstable_mask:r,state:c,preventScrollReset:d,relative:u,viewTransition:p,unstable_defaultShouldRevalidate:m});g?y.startTransition(()=>j()):j()}},[_,v,b,o,r,c,s,t,d,u,p,m,g])}function Lm(t){ls(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let s=y.useRef(em(t)),o=y.useRef(!1),r=Jt(),c=y.useMemo(()=>fN(r.search,o.current?null:s.current),[r.search]),d=Od(),u=y.useCallback((p,m)=>{const g=em(typeof p=="function"?p(new URLSearchParams(c)):p);o.current=!0,d("?"+g,m)},[d,c]);return[c,u]}var LN=0,BN=()=>`__${String(++LN)}__`;function $N(){let{router:t}=nx("useSubmit"),{basename:s}=y.useContext(Un),o=tN(),r=t.fetch,c=t.navigate;return y.useCallback(async(d,u={})=>{let{action:p,method:m,encType:g,formData:v,body:_}=hN(d,s);if(u.navigate===!1){let b=u.fetcherKey||BN();await r(b,o,u.action||p,{unstable_defaultShouldRevalidate:u.unstable_defaultShouldRevalidate,preventScrollReset:u.preventScrollReset,formData:v,body:_,formMethod:u.method||m,formEncType:u.encType||g,flushSync:u.flushSync})}else await c(u.action||p,{unstable_defaultShouldRevalidate:u.unstable_defaultShouldRevalidate,preventScrollReset:u.preventScrollReset,formData:v,body:_,formMethod:u.method||m,formEncType:u.encType||g,replace:u.replace,state:u.state,fromRouteId:o,flushSync:u.flushSync,viewTransition:u.viewTransition})},[r,c,s,o])}function zN(t,{relative:s}={}){let{basename:o}=y.useContext(Un),r=y.useContext(cs);wt(r,"useFormAction must be used inside a RouteContext");let[c]=r.matches.slice(-1),d={...yl(t||".",{relative:s})},u=Jt();if(t==null){d.search=u.search;let p=new URLSearchParams(d.search),m=p.getAll("index");if(m.some(v=>v==="")){p.delete("index"),m.filter(_=>_).forEach(_=>p.append("index",_));let v=p.toString();d.search=v?`?${v}`:""}}return(!t||t===".")&&c.route.index&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),o!=="/"&&(d.pathname=d.pathname==="/"?o:Os([o,d.pathname])),rl(d)}function HN(t,{relative:s}={}){let o=y.useContext(F_);wt(o!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=nx("useViewTransitionState"),c=yl(t,{relative:s});if(!o.isTransitioning)return!1;let d=ua(o.currentLocation.pathname,r)||o.currentLocation.pathname,u=ua(o.nextLocation.pathname,r)||o.nextLocation.pathname;return ll(c.pathname,u)!=null||ll(c.pathname,d)!=null}function dt(){const t=Od();return y.useCallback((s,o)=>{typeof s=="number"?t(s):t(s,o)},[t])}function Bd(t){return`/sessions/${encodeURIComponent(t)}`}function Ri(t,s){return s?`/environments/${encodeURIComponent(s)}/workspaces/${encodeURIComponent(t)}`:`/workspaces/${encodeURIComponent(t)}`}function Hn(t,s,o,r){const c=encodeURIComponent(t);let d;return o&&r?d=`/environments/${encodeURIComponent(r)}/workspaces/${encodeURIComponent(o)}/tasks/${c}`:o?d=`/workspaces/${encodeURIComponent(o)}/tasks/${c}`:d=`/tasks/${c}`,s?`${d}/${s}`:d}function $i(t,s,o){const r=new URLSearchParams;t&&r.set("workspace",t),s&&r.set("parent",s);const c=r.toString();if(t&&o){const d=`/environments/${encodeURIComponent(o)}/workspaces/${encodeURIComponent(t)}/tasks/new`;return s?`${d}?parent=${encodeURIComponent(s)}`:d}return c?`/tasks/new?${c}`:"/tasks/new"}function sx(t){return`/sessions/new?${new URLSearchParams({env:t}).toString()}`}const $o="/environments",PN="/environments/new";function Mi(t){return`/environments/${encodeURIComponent(t)}`}function UN(t){return`/environments/${encodeURIComponent(t)}/edit`}const Ai="/settings",VN="/settings/credentials",cp="/settings/personas",GN="/settings/personas/new";function ax(t){return`/settings/personas/${encodeURIComponent(t)}`}const dp="/settings/schedules",qN="/settings/schedules/new";function ix(t){return`/settings/schedules/${encodeURIComponent(t)}`}const FN="/settings/shortcuts",ZN="/pair",cl="/chat";function KN(t){return`/chat/${encodeURIComponent(t)}`}const Ii="/",YN="/tasks",ox="/workspaces/new",rx="/knowledge",$d="/findings";function JN(t,s){return t&&s?`/environments/${encodeURIComponent(s)}/workspaces/${encodeURIComponent(t)}/findings`:$d}function tm(t,s,o){const r=encodeURIComponent(t);return s&&o?`/environments/${encodeURIComponent(o)}/workspaces/${encodeURIComponent(s)}/findings/${r}`:`/findings/${r}`}const WN=ZT,XN={task:lw};function QN({workspaceId:t,environmentId:s,tasks:o,resolvedThemeId:r}){const c=dt(),d=y.useMemo(()=>o.filter(_=>_.workspaceId===t),[o,t]),{nodes:u,edges:p}=Sj(d),m=y.useMemo(()=>{const _=getComputedStyle(document.documentElement),b={};for(const[x,k]of Object.entries(WN))b[x]=_.getPropertyValue(k).trim()||"#6b7a8d";return b},[r]),g=y.useCallback((_,b)=>{c(Hn(b.id,void 0,t,s))},[c,t,s]),v=y.useCallback(_=>{const b=_.data;return m[b.task.status]||m.pending},[m]);return d.length===0?a.jsxs("div",{className:Sn.emptyCta,children:[a.jsx("button",{className:Sn.ctaButton,onClick:()=>c($i(t,void 0,s)),children:"Create Task"}),a.jsx("div",{className:Sn.ctaDescription,children:"Create tasks to see the dependency graph"})]}):a.jsx("div",{className:Sn.dagContainer,children:a.jsxs(D2,{nodes:u,edges:p,nodeTypes:XN,onNodeClick:g,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:2,children:[a.jsx(R2,{variant:M2.Dots,gap:24,size:1,color:"var(--text-disabled)"}),a.jsx(I2,{showInteractive:!1}),a.jsx(O2,{nodeColor:v,maskColor:"var(--bg-overlay)",style:{background:"var(--bg-inset)"}})]})})}const eC="_breadcrumbs_17or2_1",tC="_list_17or2_11",nC="_item_17or2_21",sC="_separator_17or2_28",aC="_link_17or2_34",iC="_current_17or2_57",Eo={breadcrumbs:eC,list:tC,item:nC,separator:sC,link:aC,current:iC};function Ss({segments:t}){return a.jsx("nav",{className:Eo.breadcrumbs,"aria-label":"Breadcrumb","data-testid":"breadcrumbs",children:a.jsx("ol",{className:Eo.list,children:t.map((s,o)=>{const r=o===t.length-1;return a.jsxs("li",{className:Eo.item,children:[o>0&&a.jsx("span",{className:Eo.separator,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),s.url&&!r?a.jsx(bl,{className:Eo.link,to:s.url,title:s.label,children:s.label}):a.jsx("span",{className:Eo.current,"aria-current":"page",title:s.label,children:s.label})]},o)})})})}const oC="_btn_dwk2o_1",rC="_sm_dwk2o_22",lC="_md_dwk2o_28",cC="_lg_dwk2o_34",dC="_primary_dwk2o_40",uC="_danger_dwk2o_55",fC="_outline_dwk2o_70",pC="_ghost_dwk2o_80",up={btn:oC,sm:rC,md:lC,lg:cC,primary:dC,danger:uC,outline:fC,ghost:pC},on=y.forwardRef(function({variant:s="primary",size:o="md",className:r,children:c,...d},u){const p=[up.btn,up[s],up[o],r].filter(Boolean).join(" ");return a.jsx("button",{ref:u,className:p,...d,children:c})}),mC="_copyButton_1bqk0_1",hC={copyButton:mC},gC=2e3;function vC({text:t,className:s,"data-testid":o}){const[r,c]=y.useState(!1),d=y.useRef(void 0);y.useEffect(()=>()=>{d.current!==void 0&&clearTimeout(d.current)},[]);const u=y.useCallback(async()=>{try{await navigator.clipboard.writeText(t),c(!0),d.current!==void 0&&clearTimeout(d.current),d.current=setTimeout(()=>{c(!1),d.current=void 0},gC)}catch{}},[t]);return a.jsx("button",{type:"button",className:`${hC.copyButton} ${s??""}`,onClick:()=>{u().catch(()=>{})},"aria-label":r?"Copied":"Copy to clipboard","data-testid":o??"copy-button",children:r?a.jsx(Li,{size:Gt,"aria-hidden":"true"}):a.jsx(B_,{size:Gt,"aria-hidden":"true"})})}const yC="_banner_bxqlh_1",bC="_label_bxqlh_15",_C="_text_bxqlh_25",xC="_link_bxqlh_29",Vc={banner:yC,label:bC,text:_C,link:xC};function kC(){return a.jsxs("div",{className:Vc.banner,"data-testid":"demo-banner",children:[a.jsx("span",{className:Vc.label,children:"DEMO"}),a.jsxs("span",{className:Vc.text,children:["This is an interactive demo with mock data."," ",a.jsx("a",{href:"https://github.com/nick-pape/grackle",target:"_blank",rel:"noopener noreferrer",className:Vc.link,children:"Install Grackle"})," ","to use it for real."]})]})}const SC="_container_og0yp_1",jC="_chevronButton_og0yp_6",TC="_mainButton_og0yp_6",wC="_sm_og0yp_34",NC="_md_og0yp_34",CC="_lg_og0yp_34",EC="_primary_og0yp_57",AC="_danger_og0yp_70",DC="_outline_og0yp_83",RC="_ghost_og0yp_92",MC="_dropdown_og0yp_100",IC="_option_og0yp_113",OC="_optionLabel_og0yp_130",LC="_optionDesc_og0yp_135",aa={container:SC,chevronButton:jC,mainButton:TC,sm:wC,md:NC,lg:CC,primary:EC,danger:AC,outline:DC,ghost:RC,dropdown:MC,option:IC,optionLabel:OC,optionDesc:LC};function lx({label:t,onClick:s,options:o,variant:r="primary",size:c="md","data-testid":d}){const[u,p]=y.useState(!1),m=y.useRef(null);y.useEffect(()=>{if(!u)return;function b(x){m.current&&x.target instanceof Node&&!m.current.contains(x.target)&&p(!1)}return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[u]),y.useEffect(()=>{if(!u)return;function b(x){x.key==="Escape"&&p(!1)}return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[u]);const g=aa[r]||"",v=aa[c]||"",_=()=>{u&&p(!1),s()};return a.jsxs("div",{ref:m,className:aa.container,"data-testid":d,children:[a.jsx("button",{type:"button",className:`${aa.mainButton} ${g} ${v}`,onClick:_,"data-testid":d?`${d}-main`:void 0,children:t}),a.jsx("button",{type:"button",className:`${aa.chevronButton} ${g} ${v}`,onClick:()=>p(b=>!b),"aria-label":`More options for ${t}`,"aria-haspopup":"menu","aria-expanded":u,"data-testid":d?`${d}-chevron`:void 0,children:a.jsx(L_,{size:Gt,"aria-hidden":"true"})}),u&&a.jsx("div",{className:aa.dropdown,"data-testid":d?`${d}-menu`:void 0,children:o.map((b,x)=>a.jsxs("button",{type:"button",className:aa.option,onClick:()=>{b.onClick(),p(!1)},children:[a.jsx("span",{className:aa.optionLabel,children:b.label}),b.description&&a.jsx("span",{className:aa.optionDesc,children:b.description})]},x))})]})}function nm(){nm=function(c,d){return new o(c,void 0,d)};var t=RegExp.prototype,s=new WeakMap;function o(c,d,u){var p=new RegExp(c,d);return s.set(p,u||s.get(c)),pd(p,o.prototype)}function r(c,d){var u=s.get(d);return Object.keys(u).reduce(function(p,m){var g=u[m];if(typeof g=="number")p[m]=c[g];else{for(var v=0;c[g[v]]===void 0&&v+1<g.length;)v++;p[m]=c[g[v]]}return p},Object.create(null))}return(function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");c.prototype=Object.create(d&&d.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),Object.defineProperty(c,"prototype",{writable:!1}),d&&pd(c,d)})(o,RegExp),o.prototype.exec=function(c){var d=t.exec.call(this,c);if(d){d.groups=r(d,this);var u=d.indices;u&&(u.groups=r(u,this))}return d},o.prototype[Symbol.replace]=function(c,d){if(typeof d=="string"){var u=s.get(this);return t[Symbol.replace].call(this,c,d.replace(/\$<([^>]+)>/g,function(m,g){var v=u[g];return"$"+(Array.isArray(v)?v.join("$"):v)}))}if(typeof d=="function"){var p=this;return t[Symbol.replace].call(this,c,function(){var m=arguments;return typeof m[m.length-1]!="object"&&(m=[].slice.call(m)).push(r(m,p)),d.apply(this,m)})}return t[Symbol.replace].call(this,c,d)},nm.apply(this,arguments)}function pd(t,s){return pd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,r){return o.__proto__=r,o},pd(t,s)}function Oy(t,s){(s==null||s>t.length)&&(s=t.length);for(var o=0,r=new Array(s);o<s;o++)r[o]=t[o];return r}function fp(t,s){var o=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(o)return(o=o.call(t)).next.bind(o);if(Array.isArray(t)||(o=(function(c,d){if(c){if(typeof c=="string")return Oy(c,d);var u=Object.prototype.toString.call(c).slice(8,-1);return u==="Object"&&c.constructor&&(u=c.constructor.name),u==="Map"||u==="Set"?Array.from(c):u==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u)?Oy(c,d):void 0}})(t))||s){o&&(t=o);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
263
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var BC=(function(t){return function(s){return s===void 0&&(s={}),(function(r,c){if(c&&!r.registered(c))throw new Error('The default language "'+c+'" is not registered with refractor.')})(t,s.defaultLanguage),function(r){J2(r,"element",o)};function o(r,c,d){var u,p;if(d&&d.tagName==="pre"&&r.tagName==="code"){var m=(r==null||(u=r.data)==null?void 0:u.meta)||(r==null||(p=r.properties)==null?void 0:p.metastring)||"";r.properties.className?typeof r.properties.className=="boolean"?r.properties.className=[]:Array.isArray(r.properties.className)||(r.properties.className=[r.properties.className]):r.properties.className=[];var g,v,_=(function(E){for(var O,z=fp(E.properties.className);!(O=z()).done;){var D=O.value;if(D.slice(0,9)==="language-")return D.slice(9).toLowerCase()}return null})(r);if(!_&&s.defaultLanguage&&r.properties.className.push("language-"+(_=s.defaultLanguage)),r.properties.className.push("code-highlight"),_)try{var b,x;x=(b=_)!=null&&b.includes("diff-")?_.split("-")[1]:_,g=t.highlight(zc(r),x),d.properties.className=(d.properties.className||[]).concat("language-"+x)}catch(E){if(!s.ignoreMissing||!/Unknown language/.test(E.message))throw E;g=r}else g=r;g.children=(v=1,function E(O){return O.reduce(function(z,D){if(D.type==="text"){var H=D.value,Y=(H.match(/\n/g)||"").length;if(Y===0)D.position={start:{line:v,column:1},end:{line:v,column:1}},z.push(D);else for(var U,X=H.split(`
264
- `),ge=fp(X.entries());!(U=ge()).done;){var W=U.value,le=W[0],B=W[1];z.push({type:"text",value:le===X.length-1?B:B+`
265
- `,position:{start:{line:v+le,column:1},end:{line:v+le,column:1}}})}return v+=Y,z}if(Object.prototype.hasOwnProperty.call(D,"children")){var R=v;return D.children=E(D.children),z.push(D),D.position={start:{line:R,column:1},end:{line:v,column:1}},z}return z.push(D),z},[])})(g.children),g.position=g.children.length>0?{start:{line:g.children[0].position.start.line,column:0},end:{line:g.children[g.children.length-1].position.end.line,column:0}}:{start:{line:0,column:0},end:{line:0,column:0}};for(var k,j=(function(E){var O=/{([\d,-]+)}/,z=E.split(",").map(function(Y){return Y.trim()}).join();if(O.test(z)){var D=O.exec(z)[1],H=X2(D);return function(Y){return H.includes(Y+1)}}return function(){return!1}})(m),w=(function(E){var O=nm(/showLineNumbers=(\d+)/i,{lines:1});if(O.test(E)){var z=O.exec(E);return Number(z.groups.lines)}return 1})(m),T=(function(E){for(var O=new Array(E),z=0;z<E;z++)O[z]={type:"element",tagName:"span",properties:{className:[]},children:[]};return O})(g.position.end.line),C=["showlinenumbers=false",'showlinenumbers="false"',"showlinenumbers={false}"],A=function(){var E,O,z=k.value,D=z[0],H=z[1];H.properties.className=["code-line"];var Y=Q2(g,function(U){return U.position.start.line<=D+1&&U.position.end.line>=D+1});H.children=Y.children,(m.toLowerCase().includes("showLineNumbers".toLowerCase())||s.showLineNumbers===!0||typeof s.showLineNumbers=="object"&&s.showLineNumbers.includes(_))&&!C.some(function(U){return m.toLowerCase().includes(U)})&&(H.properties.line=[(D+w).toString()],H.properties.className.push("line-number")),j(D)&&H.properties.className.push("highlight-line"),(_==="diff"||(E=_)!=null&&E.includes("diff-"))&&zc(H).substring(0,1)==="-"?H.properties.className.push("deleted"):(_==="diff"||(O=_)!=null&&O.includes("diff-"))&&zc(H).substring(0,1)==="+"&&H.properties.className.push("inserted")},L=fp(T.entries());!(k=L()).done;)A();T.length>0&&zc(T[T.length-1]).trim()===""&&T.pop(),r.children=T}}}})(W2);function zo(t){if(t>=1e6)return`${(t/1e6).toFixed(1)}M`;if(t>=1e3){const s=Number((t/1e3).toFixed(1));return s>=1e3?`${(t/1e6).toFixed(1)}M`:`${s.toFixed(1)}k`}return String(t)}function Is(t){if(t===0)return"-";const s=t/1e5;if(s<.01){const o=t<5?5:4;return`$${s.toFixed(o)}`}return`$${s.toFixed(2)}`}const Ly=new Set(["grackle"]);function Fo(t){if(t.startsWith("mcp__")){const o=t.indexOf("__",5);if(o>5){const r=t.slice(5,o);if(Ly.has(r))return t.slice(o+2)}}const s=t.indexOf("-");if(s>0){const o=t.slice(0,s);if(Ly.has(o))return t.slice(s+1)}return t}const $C={read:"file-read",view:"file-read",edit:"file-edit",file_change:"file-edit",write:"file-write",bash:"shell",powershell:"shell",command_execution:"shell",grep:"search",glob:"search",todowrite:"todo",update_plan:"todo",todo_write:"todo",report_intent:"metadata",finding_post:"finding",finding_list:"finding",task_list:"task",task_create:"task",task_show:"task",task_update:"task",task_start:"task",task_complete:"task",task_resume:"task",task_delete:"task",workpad_write:"workpad",workpad_read:"workpad",knowledge_search:"knowledge",knowledge_get_node:"knowledge",knowledge_create_node:"knowledge",ipc_spawn:"ipc",ipc_write:"ipc",ipc_close:"ipc",ipc_list_fds:"ipc",ipc_terminate:"ipc",ipc_create_stream:"ipc",ipc_attach:"ipc",ipc_share_stream:"ipc",ipc_list_streams:"ipc",toolsearch:"tool-search",agent:"agent",task:"agent",read_agent:"agent"};function zC(t){const s=Fo(t);return $C[s.toLowerCase()]??"generic"}const HC="_card_qkm9i_2",PC="_cardBlue_qkm9i_20",UC="_cardOrange_qkm9i_24",VC="_cardGreen_qkm9i_28",GC="_cardPurple_qkm9i_32",qC="_cardNeutral_qkm9i_36",FC="_cardRed_qkm9i_40",ZC="_cardTeal_qkm9i_44",KC="_header_qkm9i_48",YC="_icon_qkm9i_55",JC="_toolName_qkm9i_64",WC="_fileName_qkm9i_71",XC="_badge_qkm9i_80",QC="_spacer_qkm9i_87",eE="_bodyToggle_qkm9i_91",tE="_chevron_qkm9i_109",nE="_chevronExpanded_qkm9i_115",sE="_pre_qkm9i_119",aE="_diffAdd_qkm9i_143",iE="_diffRemove_qkm9i_155",oE="_diffContext_qkm9i_167",rE="_diffHeader_qkm9i_176",lE="_diffLine_qkm9i_182",cE="_exitOk_qkm9i_188",dE="_exitError_qkm9i_194",uE="_exitPending_qkm9i_200",fE="_inProgress_qkm9i_228",pE="_metadata_qkm9i_232",mE="_metadataPrefix_qkm9i_239",I={card:HC,cardBlue:PC,cardOrange:UC,cardGreen:VC,cardPurple:GC,cardNeutral:qC,cardRed:FC,cardTeal:ZC,header:KC,icon:YC,toolName:JC,fileName:WC,badge:XC,spacer:QC,bodyToggle:eE,chevron:tE,chevronExpanded:nE,pre:sE,diffAdd:aE,diffRemove:iE,diffContext:oE,diffHeader:rE,diffLine:lE,exitOk:cE,exitError:dE,exitPending:uE,inProgress:fE,metadata:pE,metadataPrefix:mE};function hE(t){if(t==null||typeof t!="object")return"";const s=t;return typeof s.file_path=="string"?s.file_path:typeof s.path=="string"?s.path:""}function gE(t){const s=t.split(/[/\\]/);return s[s.length-1]||t}const pp=5;function By({tool:t,args:s,result:o,isError:r,writeVariant:c}){const[d,u]=y.useState(!1),p=hE(s),m=gE(p),g=o===void 0,v=r?I.cardRed:c?I.cardGreen:I.cardBlue,_=c?"var(--accent-green)":"var(--accent-blue)",b=c?a.jsx(Yj,{size:Gt}):a.jsx(Wj,{size:Gt}),x=c?"tool-card-file-write":"tool-card-file-read",k=(o==null?void 0:o.split(`
266
- `))??[],j=k.length>pp,w=d?k:k.slice(0,pp);return a.jsxs("div",{className:`${I.card} ${v} ${g?I.inProgress:""}`,"data-testid":x,children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:b}),a.jsx("span",{className:I.toolName,style:{color:_},children:t}),m&&a.jsx("span",{className:I.fileName,title:p,children:m}),!g&&k.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,children:[k.length," lines"]})]})]}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!g&&k.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-content",children:w.map((T,C)=>a.jsxs("span",{className:I.diffLine,children:[a.jsx("span",{style:{color:"var(--text-tertiary)",userSelect:"none",marginRight:"var(--space-sm)",display:"inline-block",width:"3ch",textAlign:"right"},children:C+1}),T]},C))}),j&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{u(T=>!T)},"aria-expanded":d,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${d?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),d?"collapse":`${k.length-pp} more lines`]})]})]})}function vE(t){const s=t.split(`
267
- `),o=[];for(const r of s)r.startsWith("diff --git")||r.startsWith("index ")||(r.startsWith("--- ")||r.startsWith("+++ "))&&!r.startsWith("---- ")&&!r.startsWith("++++ ")||(r.startsWith("@@")?o.push({type:"header",content:r}):r.startsWith("+")?o.push({type:"add",content:r.slice(1)}):r.startsWith("-")?o.push({type:"remove",content:r.slice(1)}):r.startsWith(" ")?o.push({type:"context",content:r.slice(1)}):r===""&&o.push({type:"context",content:""}));return o}function yE(t,s){const o=t.split(`
260
+ */var Cy="popstate";function Ey(t){return typeof t=="object"&&t!=null&&"pathname"in t&&"search"in t&&"hash"in t&&"state"in t&&"key"in t}function dw(t={}){function s(r,c){var g;let d=(g=c.state)==null?void 0:g.masked,{pathname:u,search:p,hash:m}=d||r.location;return Xp("",{pathname:u,search:p,hash:m},c.state&&c.state.usr||null,c.state&&c.state.key||"default",d?{pathname:r.location.pathname,search:r.location.search,hash:r.location.hash}:void 0)}function o(r,c){return typeof c=="string"?c:rl(c)}return fw(s,o,null,t)}function wt(t,s){if(t===!1||t===null||typeof t>"u")throw new Error(s)}function ls(t,s){if(!t){typeof console<"u"&&console.warn(s);try{throw new Error(s)}catch{}}}function uw(){return Math.random().toString(36).substring(2,10)}function Ay(t,s){return{usr:t.state,key:t.key,idx:s,masked:t.unstable_mask?{pathname:t.pathname,search:t.search,hash:t.hash}:void 0}}function Xp(t,s,o=null,r,c){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof s=="string"?Vo(s):s,state:o,key:s&&s.key||r||uw(),unstable_mask:c}}function rl({pathname:t="/",search:s="",hash:o=""}){return s&&s!=="?"&&(t+=s.charAt(0)==="?"?s:"?"+s),o&&o!=="#"&&(t+=o.charAt(0)==="#"?o:"#"+o),t}function Vo(t){let s={};if(t){let o=t.indexOf("#");o>=0&&(s.hash=t.substring(o),t=t.substring(0,o));let r=t.indexOf("?");r>=0&&(s.search=t.substring(r),t=t.substring(0,r)),t&&(s.pathname=t)}return s}function fw(t,s,o,r={}){let{window:c=document.defaultView,v5Compat:d=!1}=r,u=c.history,p="POP",m=null,g=v();g==null&&(g=0,u.replaceState({...u.state,idx:g},""));function v(){return(u.state||{idx:null}).idx}function _(){p="POP";let w=v(),T=w==null?null:w-g;g=w,m&&m({action:p,location:j.location,delta:T})}function b(w,T){p="PUSH";let C=Ey(w)?w:Xp(j.location,w,T);g=v()+1;let A=Ay(C,g),L=j.createHref(C.unstable_mask||C);try{u.pushState(A,"",L)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;c.location.assign(L)}d&&m&&m({action:p,location:j.location,delta:1})}function x(w,T){p="REPLACE";let C=Ey(w)?w:Xp(j.location,w,T);g=v();let A=Ay(C,g),L=j.createHref(C.unstable_mask||C);u.replaceState(A,"",L),d&&m&&m({action:p,location:j.location,delta:0})}function k(w){return pw(w)}let j={get action(){return p},get location(){return t(c,u)},listen(w){if(m)throw new Error("A history only accepts one active listener");return c.addEventListener(Cy,_),m=w,()=>{c.removeEventListener(Cy,_),m=null}},createHref(w){return s(c,w)},createURL:k,encodeLocation(w){let T=k(w);return{pathname:T.pathname,search:T.search,hash:T.hash}},push:b,replace:x,go(w){return u.go(w)}};return j}function pw(t,s=!1){let o="http://localhost";typeof window<"u"&&(o=window.location.origin!=="null"?window.location.origin:window.location.href),wt(o,"No window.location.(origin|href) available to create URL");let r=typeof t=="string"?t:rl(t);return r=r.replace(/ $/,"%20"),!s&&r.startsWith("//")&&(r=o+r),new URL(r,o)}function H_(t,s,o="/"){return mw(t,s,o,!1)}function mw(t,s,o,r){let c=typeof s=="string"?Vo(s):s,d=ua(c.pathname||"/",o);if(d==null)return null;let u=P_(t);hw(u);let p=null;for(let m=0;p==null&&m<u.length;++m){let g=V_(d);p=jw(u[m],g,r)}return p}function P_(t,s=[],o=[],r="",c=!1){let d=(u,p,m=c,g)=>{let v={relativePath:g===void 0?u.path||"":g,caseSensitive:u.caseSensitive===!0,childrenIndex:p,route:u};if(v.relativePath.startsWith("/")){if(!v.relativePath.startsWith(r)&&m)return;wt(v.relativePath.startsWith(r),`Absolute route path "${v.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),v.relativePath=v.relativePath.slice(r.length)}let _=Os([r,v.relativePath]),b=o.concat(v);u.children&&u.children.length>0&&(wt(u.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${_}".`),P_(u.children,s,b,_,m)),!(u.path==null&&!u.index)&&s.push({path:_,score:kw(_,u.index),routesMeta:b})};return t.forEach((u,p)=>{var m;if(u.path===""||!((m=u.path)!=null&&m.includes("?")))d(u,p);else for(let g of U_(u.path))d(u,p,!0,g)}),s}function U_(t){let s=t.split("/");if(s.length===0)return[];let[o,...r]=s,c=o.endsWith("?"),d=o.replace(/\?$/,"");if(r.length===0)return c?[d,""]:[d];let u=U_(r.join("/")),p=[];return p.push(...u.map(m=>m===""?d:[d,m].join("/"))),c&&p.push(...u),p.map(m=>t.startsWith("/")&&m===""?"/":m)}function hw(t){t.sort((s,o)=>s.score!==o.score?o.score-s.score:Sw(s.routesMeta.map(r=>r.childrenIndex),o.routesMeta.map(r=>r.childrenIndex)))}var gw=/^:[\w-]+$/,vw=3,yw=2,bw=1,_w=10,xw=-2,Dy=t=>t==="*";function kw(t,s){let o=t.split("/"),r=o.length;return o.some(Dy)&&(r+=xw),s&&(r+=yw),o.filter(c=>!Dy(c)).reduce((c,d)=>c+(gw.test(d)?vw:d===""?bw:_w),r)}function Sw(t,s){return t.length===s.length&&t.slice(0,-1).every((r,c)=>r===s[c])?t[t.length-1]-s[s.length-1]:0}function jw(t,s,o=!1){let{routesMeta:r}=t,c={},d="/",u=[];for(let p=0;p<r.length;++p){let m=r[p],g=p===r.length-1,v=d==="/"?s:s.slice(d.length)||"/",_=ll({path:m.relativePath,caseSensitive:m.caseSensitive,end:g},v),b=m.route;if(!_&&g&&o&&!r[r.length-1].route.index&&(_=ll({path:m.relativePath,caseSensitive:m.caseSensitive,end:!1},v)),!_)return null;Object.assign(c,_.params),u.push({params:c,pathname:Os([d,_.pathname]),pathnameBase:Ew(Os([d,_.pathnameBase])),route:b}),_.pathnameBase!=="/"&&(d=Os([d,_.pathnameBase]))}return u}function ll(t,s){typeof t=="string"&&(t={path:t,caseSensitive:!1,end:!0});let[o,r]=Tw(t.path,t.caseSensitive,t.end),c=s.match(o);if(!c)return null;let d=c[0],u=d.replace(/(.)\/+$/,"$1"),p=c.slice(1);return{params:r.reduce((g,{paramName:v,isOptional:_},b)=>{if(v==="*"){let k=p[b]||"";u=d.slice(0,d.length-k.length).replace(/(.)\/+$/,"$1")}const x=p[b];return _&&!x?g[v]=void 0:g[v]=(x||"").replace(/%2F/g,"/"),g},{}),pathname:d,pathnameBase:u,pattern:t}}function Tw(t,s=!1,o=!0){ls(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let r=[],c="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(u,p,m,g,v)=>{if(r.push({paramName:p,isOptional:m!=null}),m){let _=v.charAt(g+u.length);return _&&_!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(r.push({paramName:"*"}),c+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):o?c+="\\/*$":t!==""&&t!=="/"&&(c+="(?:(?=\\/|$))"),[new RegExp(c,s?void 0:"i"),r]}function V_(t){try{return t.split("/").map(s=>decodeURIComponent(s).replace(/\//g,"%2F")).join("/")}catch(s){return ls(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${s}).`),t}}function ua(t,s){if(s==="/")return t;if(!t.toLowerCase().startsWith(s.toLowerCase()))return null;let o=s.endsWith("/")?s.length-1:s.length,r=t.charAt(o);return r&&r!=="/"?null:t.slice(o)||"/"}var ww=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Nw(t,s="/"){let{pathname:o,search:r="",hash:c=""}=typeof t=="string"?Vo(t):t,d;return o?(o=o.replace(/\/\/+/g,"/"),o.startsWith("/")?d=Ry(o.substring(1),"/"):d=Ry(o,s)):d=s,{pathname:d,search:Aw(r),hash:Dw(c)}}function Ry(t,s){let o=s.replace(/\/+$/,"").split("/");return t.split("/").forEach(c=>{c===".."?o.length>1&&o.pop():c!=="."&&o.push(c)}),o.length>1?o.join("/"):"/"}function op(t,s,o,r){return`Cannot include a '${t}' character in a manually specified \`to.${s}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${o}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Cw(t){return t.filter((s,o)=>o===0||s.route.path&&s.route.path.length>0)}function Am(t){let s=Cw(t);return s.map((o,r)=>r===s.length-1?o.pathname:o.pathnameBase)}function Md(t,s,o,r=!1){let c;typeof t=="string"?c=Vo(t):(c={...t},wt(!c.pathname||!c.pathname.includes("?"),op("?","pathname","search",c)),wt(!c.pathname||!c.pathname.includes("#"),op("#","pathname","hash",c)),wt(!c.search||!c.search.includes("#"),op("#","search","hash",c)));let d=t===""||c.pathname==="",u=d?"/":c.pathname,p;if(u==null)p=o;else{let _=s.length-1;if(!r&&u.startsWith("..")){let b=u.split("/");for(;b[0]==="..";)b.shift(),_-=1;c.pathname=b.join("/")}p=_>=0?s[_]:"/"}let m=Nw(c,p),g=u&&u!=="/"&&u.endsWith("/"),v=(d||u===".")&&o.endsWith("/");return!m.pathname.endsWith("/")&&(g||v)&&(m.pathname+="/"),m}var Os=t=>t.join("/").replace(/\/\/+/g,"/"),Ew=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Aw=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Dw=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t,Rw=class{constructor(t,s,o,r=!1){this.status=t,this.statusText=s||"",this.internal=r,o instanceof Error?(this.data=o.toString(),this.error=o):this.data=o}};function Mw(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}function Iw(t){return t.map(s=>s.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var G_=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function q_(t,s){let o=t;if(typeof o!="string"||!ww.test(o))return{absoluteURL:void 0,isExternal:!1,to:o};let r=o,c=!1;if(G_)try{let d=new URL(window.location.href),u=o.startsWith("//")?new URL(d.protocol+o):new URL(o),p=ua(u.pathname,s);u.origin===d.origin&&p!=null?o=p+u.search+u.hash:c=!0}catch{ls(!1,`<Link to="${o}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:c,to:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var F_=["POST","PUT","PATCH","DELETE"];new Set(F_);var Ow=["GET",...F_];new Set(Ow);var Go=y.createContext(null);Go.displayName="DataRouter";var Id=y.createContext(null);Id.displayName="DataRouterState";var Lw=y.createContext(!1),Z_=y.createContext({isTransitioning:!1});Z_.displayName="ViewTransition";var Bw=y.createContext(new Map);Bw.displayName="Fetchers";var $w=y.createContext(null);$w.displayName="Await";var Un=y.createContext(null);Un.displayName="Navigation";var vl=y.createContext(null);vl.displayName="Location";var cs=y.createContext({outlet:null,matches:[],isDataRoute:!1});cs.displayName="Route";var Dm=y.createContext(null);Dm.displayName="RouteError";var K_="REACT_ROUTER_ERROR",zw="REDIRECT",Hw="ROUTE_ERROR_RESPONSE";function Pw(t){if(t.startsWith(`${K_}:${zw}:{`))try{let s=JSON.parse(t.slice(28));if(typeof s=="object"&&s&&typeof s.status=="number"&&typeof s.statusText=="string"&&typeof s.location=="string"&&typeof s.reloadDocument=="boolean"&&typeof s.replace=="boolean")return s}catch{}}function Uw(t){if(t.startsWith(`${K_}:${Hw}:{`))try{let s=JSON.parse(t.slice(40));if(typeof s=="object"&&s&&typeof s.status=="number"&&typeof s.statusText=="string")return new Rw(s.status,s.statusText,s.data)}catch{}}function Vw(t,{relative:s}={}){wt(Li(),"useHref() may be used only in the context of a <Router> component.");let{basename:o,navigator:r}=y.useContext(Un),{hash:c,pathname:d,search:u}=yl(t,{relative:s}),p=d;return o!=="/"&&(p=d==="/"?o:Os([o,d])),r.createHref({pathname:p,search:u,hash:c})}function Li(){return y.useContext(vl)!=null}function Jt(){return wt(Li(),"useLocation() may be used only in the context of a <Router> component."),y.useContext(vl).location}function It(t){wt(Li(),"useMatch() may be used only in the context of a <Router> component.");let{pathname:s}=Jt();return y.useMemo(()=>ll(t,V_(s)),[s,t])}var Y_="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function J_(t){y.useContext(Un).static||y.useLayoutEffect(t)}function Od(){let{isDataRoute:t}=y.useContext(cs);return t?aN():Gw()}function Gw(){wt(Li(),"useNavigate() may be used only in the context of a <Router> component.");let t=y.useContext(Go),{basename:s,navigator:o}=y.useContext(Un),{matches:r}=y.useContext(cs),{pathname:c}=Jt(),d=JSON.stringify(Am(r)),u=y.useRef(!1);return J_(()=>{u.current=!0}),y.useCallback((m,g={})=>{if(ls(u.current,Y_),!u.current)return;if(typeof m=="number"){o.go(m);return}let v=Md(m,JSON.parse(d),c,g.relative==="path");t==null&&s!=="/"&&(v.pathname=v.pathname==="/"?s:Os([s,v.pathname])),(g.replace?o.replace:o.push)(v,g.state,g)},[s,o,d,c,t])}var qw=y.createContext(null);function Fw(t){let s=y.useContext(cs).outlet;return y.useMemo(()=>s&&y.createElement(qw.Provider,{value:t},s),[s,t])}function Vn(){let{matches:t}=y.useContext(cs),s=t[t.length-1];return s?s.params:{}}function yl(t,{relative:s}={}){let{matches:o}=y.useContext(cs),{pathname:r}=Jt(),c=JSON.stringify(Am(o));return y.useMemo(()=>Md(t,JSON.parse(c),r,s==="path"),[t,c,r,s])}function Zw(t,s){return W_(t,s)}function W_(t,s,o){var w;wt(Li(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:r}=y.useContext(Un),{matches:c}=y.useContext(cs),d=c[c.length-1],u=d?d.params:{},p=d?d.pathname:"/",m=d?d.pathnameBase:"/",g=d&&d.route;{let T=g&&g.path||"";Q_(p,!g||T.endsWith("*")||T.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${p}" (under <Route path="${T}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
261
+
262
+ Please change the parent <Route path="${T}"> to <Route path="${T==="/"?"*":`${T}/*`}">.`)}let v=Jt(),_;if(s){let T=typeof s=="string"?Vo(s):s;wt(m==="/"||((w=T.pathname)==null?void 0:w.startsWith(m)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${m}" but pathname "${T.pathname}" was given in the \`location\` prop.`),_=T}else _=v;let b=_.pathname||"/",x=b;if(m!=="/"){let T=m.replace(/^\//,"").split("/");x="/"+b.replace(/^\//,"").split("/").slice(T.length).join("/")}let k=H_(t,{pathname:x});ls(g||k!=null,`No routes matched location "${_.pathname}${_.search}${_.hash}" `),ls(k==null||k[k.length-1].route.element!==void 0||k[k.length-1].route.Component!==void 0||k[k.length-1].route.lazy!==void 0,`Matched leaf route at location "${_.pathname}${_.search}${_.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let j=Xw(k&&k.map(T=>Object.assign({},T,{params:Object.assign({},u,T.params),pathname:Os([m,r.encodeLocation?r.encodeLocation(T.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:T.pathname]),pathnameBase:T.pathnameBase==="/"?m:Os([m,r.encodeLocation?r.encodeLocation(T.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:T.pathnameBase])})),c,o);return s&&j?y.createElement(vl.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,..._},navigationType:"POP"}},j):j}function Kw(){let t=sN(),s=Mw(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),o=t instanceof Error?t.stack:null,r="rgba(200,200,200, 0.5)",c={padding:"0.5rem",backgroundColor:r},d={padding:"2px 4px",backgroundColor:r},u=null;return console.error("Error handled by React Router default ErrorBoundary:",t),u=y.createElement(y.Fragment,null,y.createElement("p",null,"💿 Hey developer 👋"),y.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",y.createElement("code",{style:d},"ErrorBoundary")," or"," ",y.createElement("code",{style:d},"errorElement")," prop on your route.")),y.createElement(y.Fragment,null,y.createElement("h2",null,"Unexpected Application Error!"),y.createElement("h3",{style:{fontStyle:"italic"}},s),o?y.createElement("pre",{style:c},o):null,u)}var Yw=y.createElement(Kw,null),X_=class extends y.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,s){return s.location!==t.location||s.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:s.error,location:s.location,revalidation:t.revalidation||s.revalidation}}componentDidCatch(t,s){this.props.onError?this.props.onError(t,s):console.error("React Router caught the following error during render",t)}render(){let t=this.state.error;if(this.context&&typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){const o=Uw(t.digest);o&&(t=o)}let s=t!==void 0?y.createElement(cs.Provider,{value:this.props.routeContext},y.createElement(Dm.Provider,{value:t,children:this.props.component})):this.props.children;return this.context?y.createElement(Jw,{error:t},s):s}};X_.contextType=Lw;var rp=new WeakMap;function Jw({children:t,error:s}){let{basename:o}=y.useContext(Un);if(typeof s=="object"&&s&&"digest"in s&&typeof s.digest=="string"){let r=Pw(s.digest);if(r){let c=rp.get(s);if(c)throw c;let d=q_(r.location,o);if(G_&&!rp.get(s))if(d.isExternal||r.reloadDocument)window.location.href=d.absoluteURL||d.to;else{const u=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(d.to,{replace:r.replace}));throw rp.set(s,u),u}return y.createElement("meta",{httpEquiv:"refresh",content:`0;url=${d.absoluteURL||d.to}`})}}return t}function Ww({routeContext:t,match:s,children:o}){let r=y.useContext(Go);return r&&r.static&&r.staticContext&&(s.route.errorElement||s.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=s.route.id),y.createElement(cs.Provider,{value:t},o)}function Xw(t,s=[],o){let r=o==null?void 0:o.state;if(t==null){if(!r)return null;if(r.errors)t=r.matches;else if(s.length===0&&!r.initialized&&r.matches.length>0)t=r.matches;else return null}let c=t,d=r==null?void 0:r.errors;if(d!=null){let v=c.findIndex(_=>_.route.id&&(d==null?void 0:d[_.route.id])!==void 0);wt(v>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),c=c.slice(0,Math.min(c.length,v+1))}let u=!1,p=-1;if(o&&r){u=r.renderFallback;for(let v=0;v<c.length;v++){let _=c[v];if((_.route.HydrateFallback||_.route.hydrateFallbackElement)&&(p=v),_.route.id){let{loaderData:b,errors:x}=r,k=_.route.loader&&!b.hasOwnProperty(_.route.id)&&(!x||x[_.route.id]===void 0);if(_.route.lazy||k){o.isStatic&&(u=!0),p>=0?c=c.slice(0,p+1):c=[c[0]];break}}}}let m=o==null?void 0:o.onError,g=r&&m?(v,_)=>{var b,x;m(v,{location:r.location,params:((x=(b=r.matches)==null?void 0:b[0])==null?void 0:x.params)??{},unstable_pattern:Iw(r.matches),errorInfo:_})}:void 0;return c.reduceRight((v,_,b)=>{let x,k=!1,j=null,w=null;r&&(x=d&&_.route.id?d[_.route.id]:void 0,j=_.route.errorElement||Yw,u&&(p<0&&b===0?(Q_("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),k=!0,w=null):p===b&&(k=!0,w=_.route.hydrateFallbackElement||null)));let T=s.concat(c.slice(0,b+1)),C=()=>{let A;return x?A=j:k?A=w:_.route.Component?A=y.createElement(_.route.Component,null):_.route.element?A=_.route.element:A=v,y.createElement(Ww,{match:_,routeContext:{outlet:v,matches:T,isDataRoute:r!=null},children:A})};return r&&(_.route.ErrorBoundary||_.route.errorElement||b===0)?y.createElement(X_,{location:r.location,revalidation:r.revalidation,component:j,error:x,children:C(),routeContext:{outlet:null,matches:T,isDataRoute:!0},onError:g}):C()},null)}function Rm(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Qw(t){let s=y.useContext(Go);return wt(s,Rm(t)),s}function eN(t){let s=y.useContext(Id);return wt(s,Rm(t)),s}function tN(t){let s=y.useContext(cs);return wt(s,Rm(t)),s}function Mm(t){let s=tN(t),o=s.matches[s.matches.length-1];return wt(o.route.id,`${t} can only be used on routes that contain a unique "id"`),o.route.id}function nN(){return Mm("useRouteId")}function sN(){var r;let t=y.useContext(Dm),s=eN("useRouteError"),o=Mm("useRouteError");return t!==void 0?t:(r=s.errors)==null?void 0:r[o]}function aN(){let{router:t}=Qw("useNavigate"),s=Mm("useNavigate"),o=y.useRef(!1);return J_(()=>{o.current=!0}),y.useCallback(async(c,d={})=>{ls(o.current,Y_),o.current&&(typeof c=="number"?await t.navigate(c):await t.navigate(c,{fromRouteId:s,...d}))},[t,s])}var My={};function Q_(t,s,o){!s&&!My[t]&&(My[t]=!0,ls(!1,o))}y.memo(iN);function iN({routes:t,future:s,state:o,isStatic:r,onError:c}){return W_(t,void 0,{state:o,isStatic:r,onError:c})}function os({to:t,replace:s,state:o,relative:r}){wt(Li(),"<Navigate> may be used only in the context of a <Router> component.");let{static:c}=y.useContext(Un);ls(!c,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:d}=y.useContext(cs),{pathname:u}=Jt(),p=Od(),m=Md(t,Am(d),u,r==="path"),g=JSON.stringify(m);return y.useEffect(()=>{p(JSON.parse(g),{replace:s,state:o,relative:r})},[p,g,r,s,o]),null}function ha(t){return Fw(t.context)}function we(t){wt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function oN({basename:t="/",children:s=null,location:o,navigationType:r="POP",navigator:c,static:d=!1,unstable_useTransitions:u}){wt(!Li(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let p=t.replace(/^\/*/,"/"),m=y.useMemo(()=>({basename:p,navigator:c,static:d,unstable_useTransitions:u,future:{}}),[p,c,d,u]);typeof o=="string"&&(o=Vo(o));let{pathname:g="/",search:v="",hash:_="",state:b=null,key:x="default",unstable_mask:k}=o,j=y.useMemo(()=>{let w=ua(g,p);return w==null?null:{location:{pathname:w,search:v,hash:_,state:b,key:x,unstable_mask:k},navigationType:r}},[p,g,v,_,b,x,r,k]);return ls(j!=null,`<Router basename="${p}"> is not able to match the URL "${g}${v}${_}" because it does not start with the basename, so the <Router> won't render anything.`),j==null?null:y.createElement(Un.Provider,{value:m},y.createElement(vl.Provider,{children:s,value:j}))}function rN({children:t,location:s}){return Zw(Qp(t),s)}function Qp(t,s=[]){let o=[];return y.Children.forEach(t,(r,c)=>{if(!y.isValidElement(r))return;let d=[...s,c];if(r.type===y.Fragment){o.push.apply(o,Qp(r.props.children,d));return}wt(r.type===we,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),wt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let u={id:r.props.id||d.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(u.children=Qp(r.props.children,d)),o.push(u)}),o}var sd="get",ad="application/x-www-form-urlencoded";function Ld(t){return typeof HTMLElement<"u"&&t instanceof HTMLElement}function lN(t){return Ld(t)&&t.tagName.toLowerCase()==="button"}function cN(t){return Ld(t)&&t.tagName.toLowerCase()==="form"}function dN(t){return Ld(t)&&t.tagName.toLowerCase()==="input"}function uN(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function fN(t,s){return t.button===0&&(!s||s==="_self")&&!uN(t)}function em(t=""){return new URLSearchParams(typeof t=="string"||Array.isArray(t)||t instanceof URLSearchParams?t:Object.keys(t).reduce((s,o)=>{let r=t[o];return s.concat(Array.isArray(r)?r.map(c=>[o,c]):[[o,r]])},[]))}function pN(t,s){let o=em(t);return s&&s.forEach((r,c)=>{o.has(c)||s.getAll(c).forEach(d=>{o.append(c,d)})}),o}var Uc=null;function mN(){if(Uc===null)try{new FormData(document.createElement("form"),0),Uc=!1}catch{Uc=!0}return Uc}var hN=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function lp(t){return t!=null&&!hN.has(t)?(ls(!1,`"${t}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ad}"`),null):t}function gN(t,s){let o,r,c,d,u;if(cN(t)){let p=t.getAttribute("action");r=p?ua(p,s):null,o=t.getAttribute("method")||sd,c=lp(t.getAttribute("enctype"))||ad,d=new FormData(t)}else if(lN(t)||dN(t)&&(t.type==="submit"||t.type==="image")){let p=t.form;if(p==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let m=t.getAttribute("formaction")||p.getAttribute("action");if(r=m?ua(m,s):null,o=t.getAttribute("formmethod")||p.getAttribute("method")||sd,c=lp(t.getAttribute("formenctype"))||lp(p.getAttribute("enctype"))||ad,d=new FormData(p,t),!mN()){let{name:g,type:v,value:_}=t;if(v==="image"){let b=g?`${g}.`:"";d.append(`${b}x`,"0"),d.append(`${b}y`,"0")}else g&&d.append(g,_)}}else{if(Ld(t))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');o=sd,r=null,c=ad,u=t}return d&&c==="text/plain"&&(u=d,d=void 0),{action:r,method:o.toLowerCase(),encType:c,formData:d,body:u}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Im(t,s){if(t===!1||t===null||typeof t>"u")throw new Error(s)}function vN(t,s,o,r){let c=typeof t=="string"?new URL(t,typeof window>"u"?"server://singlefetch/":window.location.origin):t;return o?c.pathname.endsWith("/")?c.pathname=`${c.pathname}_.${r}`:c.pathname=`${c.pathname}.${r}`:c.pathname==="/"?c.pathname=`_root.${r}`:s&&ua(c.pathname,s)==="/"?c.pathname=`${s.replace(/\/$/,"")}/_root.${r}`:c.pathname=`${c.pathname.replace(/\/$/,"")}.${r}`,c}async function yN(t,s){if(t.id in s)return s[t.id];try{let o=await import(t.module);return s[t.id]=o,o}catch(o){return console.error(`Error loading route module \`${t.module}\`, reloading page...`),console.error(o),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function bN(t){return t==null?!1:t.href==null?t.rel==="preload"&&typeof t.imageSrcSet=="string"&&typeof t.imageSizes=="string":typeof t.rel=="string"&&typeof t.href=="string"}async function _N(t,s,o){let r=await Promise.all(t.map(async c=>{let d=s.routes[c.route.id];if(d){let u=await yN(d,o);return u.links?u.links():[]}return[]}));return jN(r.flat(1).filter(bN).filter(c=>c.rel==="stylesheet"||c.rel==="preload").map(c=>c.rel==="stylesheet"?{...c,rel:"prefetch",as:"style"}:{...c,rel:"prefetch"}))}function Iy(t,s,o,r,c,d){let u=(m,g)=>o[g]?m.route.id!==o[g].route.id:!0,p=(m,g)=>{var v;return o[g].pathname!==m.pathname||((v=o[g].route.path)==null?void 0:v.endsWith("*"))&&o[g].params["*"]!==m.params["*"]};return d==="assets"?s.filter((m,g)=>u(m,g)||p(m,g)):d==="data"?s.filter((m,g)=>{var _;let v=r.routes[m.route.id];if(!v||!v.hasLoader)return!1;if(u(m,g)||p(m,g))return!0;if(m.route.shouldRevalidate){let b=m.route.shouldRevalidate({currentUrl:new URL(c.pathname+c.search+c.hash,window.origin),currentParams:((_=o[0])==null?void 0:_.params)||{},nextUrl:new URL(t,window.origin),nextParams:m.params,defaultShouldRevalidate:!0});if(typeof b=="boolean")return b}return!0}):[]}function xN(t,s,{includeHydrateFallback:o}={}){return kN(t.map(r=>{let c=s.routes[r.route.id];if(!c)return[];let d=[c.module];return c.clientActionModule&&(d=d.concat(c.clientActionModule)),c.clientLoaderModule&&(d=d.concat(c.clientLoaderModule)),o&&c.hydrateFallbackModule&&(d=d.concat(c.hydrateFallbackModule)),c.imports&&(d=d.concat(c.imports)),d}).flat(1))}function kN(t){return[...new Set(t)]}function SN(t){let s={},o=Object.keys(t).sort();for(let r of o)s[r]=t[r];return s}function jN(t,s){let o=new Set;return new Set(s),t.reduce((r,c)=>{let d=JSON.stringify(SN(c));return o.has(d)||(o.add(d),r.push({key:d,link:c})),r},[])}function ex(){let t=y.useContext(Go);return Im(t,"You must render this element inside a <DataRouterContext.Provider> element"),t}function TN(){let t=y.useContext(Id);return Im(t,"You must render this element inside a <DataRouterStateContext.Provider> element"),t}var Om=y.createContext(void 0);Om.displayName="FrameworkContext";function tx(){let t=y.useContext(Om);return Im(t,"You must render this element inside a <HydratedRouter> element"),t}function wN(t,s){let o=y.useContext(Om),[r,c]=y.useState(!1),[d,u]=y.useState(!1),{onFocus:p,onBlur:m,onMouseEnter:g,onMouseLeave:v,onTouchStart:_}=s,b=y.useRef(null);y.useEffect(()=>{if(t==="render"&&u(!0),t==="viewport"){let j=T=>{T.forEach(C=>{u(C.isIntersecting)})},w=new IntersectionObserver(j,{threshold:.5});return b.current&&w.observe(b.current),()=>{w.disconnect()}}},[t]),y.useEffect(()=>{if(r){let j=setTimeout(()=>{u(!0)},100);return()=>{clearTimeout(j)}}},[r]);let x=()=>{c(!0)},k=()=>{c(!1),u(!1)};return o?t!=="intent"?[d,b,{}]:[d,b,{onFocus:Ur(p,x),onBlur:Ur(m,k),onMouseEnter:Ur(g,x),onMouseLeave:Ur(v,k),onTouchStart:Ur(_,x)}]:[!1,b,{}]}function Ur(t,s){return o=>{t&&t(o),o.defaultPrevented||s(o)}}function NN({page:t,...s}){let{router:o}=ex(),r=y.useMemo(()=>H_(o.routes,t,o.basename),[o.routes,t,o.basename]);return r?y.createElement(EN,{page:t,matches:r,...s}):null}function CN(t){let{manifest:s,routeModules:o}=tx(),[r,c]=y.useState([]);return y.useEffect(()=>{let d=!1;return _N(t,s,o).then(u=>{d||c(u)}),()=>{d=!0}},[t,s,o]),r}function EN({page:t,matches:s,...o}){let r=Jt(),{future:c,manifest:d,routeModules:u}=tx(),{basename:p}=ex(),{loaderData:m,matches:g}=TN(),v=y.useMemo(()=>Iy(t,s,g,d,r,"data"),[t,s,g,d,r]),_=y.useMemo(()=>Iy(t,s,g,d,r,"assets"),[t,s,g,d,r]),b=y.useMemo(()=>{if(t===r.pathname+r.search+r.hash)return[];let j=new Set,w=!1;if(s.forEach(C=>{var L;let A=d.routes[C.route.id];!A||!A.hasLoader||(!v.some(E=>E.route.id===C.route.id)&&C.route.id in m&&((L=u[C.route.id])!=null&&L.shouldRevalidate)||A.hasClientLoader?w=!0:j.add(C.route.id))}),j.size===0)return[];let T=vN(t,p,c.unstable_trailingSlashAwareDataRequests,"data");return w&&j.size>0&&T.searchParams.set("_routes",s.filter(C=>j.has(C.route.id)).map(C=>C.route.id).join(",")),[T.pathname+T.search]},[p,c.unstable_trailingSlashAwareDataRequests,m,r,d,v,s,t,u]),x=y.useMemo(()=>xN(_,d),[_,d]),k=CN(_);return y.createElement(y.Fragment,null,b.map(j=>y.createElement("link",{key:j,rel:"prefetch",as:"fetch",href:j,...o})),x.map(j=>y.createElement("link",{key:j,rel:"modulepreload",href:j,...o})),k.map(({key:j,link:w})=>y.createElement("link",{key:j,nonce:o.nonce,...w,crossOrigin:w.crossOrigin??o.crossOrigin})))}function AN(...t){return s=>{t.forEach(o=>{typeof o=="function"?o(s):o!=null&&(o.current=s)})}}var DN=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{DN&&(window.__reactRouterVersion="7.13.2")}catch{}function RN({basename:t,children:s,unstable_useTransitions:o,window:r}){let c=y.useRef();c.current==null&&(c.current=dw({window:r,v5Compat:!0}));let d=c.current,[u,p]=y.useState({action:d.action,location:d.location}),m=y.useCallback(g=>{o===!1?p(g):y.startTransition(()=>p(g))},[o]);return y.useLayoutEffect(()=>d.listen(m),[d,m]),y.createElement(oN,{basename:t,children:s,location:u.location,navigationType:u.action,navigator:d,unstable_useTransitions:o})}var nx=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,bl=y.forwardRef(function({onClick:s,discover:o="render",prefetch:r="none",relative:c,reloadDocument:d,replace:u,unstable_mask:p,state:m,target:g,to:v,preventScrollReset:_,viewTransition:b,unstable_defaultShouldRevalidate:x,...k},j){let{basename:w,navigator:T,unstable_useTransitions:C}=y.useContext(Un),A=typeof v=="string"&&nx.test(v),L=q_(v,w);v=L.to;let E=Vw(v,{relative:c}),O=Jt(),z=null;if(p){let le=Md(p,[],O.unstable_mask?O.unstable_mask.pathname:"/",!0);w!=="/"&&(le.pathname=le.pathname==="/"?w:Os([w,le.pathname])),z=T.createHref(le)}let[D,H,Y]=wN(r,k),U=LN(v,{replace:u,unstable_mask:p,state:m,target:g,preventScrollReset:_,relative:c,viewTransition:b,unstable_defaultShouldRevalidate:x,unstable_useTransitions:C});function X(le){s&&s(le),le.defaultPrevented||U(le)}let he=!(L.isExternal||d),W=y.createElement("a",{...k,...Y,href:(he?z:void 0)||L.absoluteURL||E,onClick:he?X:s,ref:AN(j,H),target:g,"data-discover":!A&&o==="render"?"true":void 0});return D&&!A?y.createElement(y.Fragment,null,W,y.createElement(NN,{page:E})):W});bl.displayName="Link";var MN=y.forwardRef(function({"aria-current":s="page",caseSensitive:o=!1,className:r="",end:c=!1,style:d,to:u,viewTransition:p,children:m,...g},v){let _=yl(u,{relative:g.relative}),b=Jt(),x=y.useContext(Id),{navigator:k,basename:j}=y.useContext(Un),w=x!=null&&PN(_)&&p===!0,T=k.encodeLocation?k.encodeLocation(_).pathname:_.pathname,C=b.pathname,A=x&&x.navigation&&x.navigation.location?x.navigation.location.pathname:null;o||(C=C.toLowerCase(),A=A?A.toLowerCase():null,T=T.toLowerCase()),A&&j&&(A=ua(A,j)||A);const L=T!=="/"&&T.endsWith("/")?T.length-1:T.length;let E=C===T||!c&&C.startsWith(T)&&C.charAt(L)==="/",O=A!=null&&(A===T||!c&&A.startsWith(T)&&A.charAt(T.length)==="/"),z={isActive:E,isPending:O,isTransitioning:w},D=E?s:void 0,H;typeof r=="function"?H=r(z):H=[r,E?"active":null,O?"pending":null,w?"transitioning":null].filter(Boolean).join(" ");let Y=typeof d=="function"?d(z):d;return y.createElement(bl,{...g,"aria-current":D,className:H,ref:v,style:Y,to:u,viewTransition:p},typeof m=="function"?m(z):m)});MN.displayName="NavLink";var IN=y.forwardRef(({discover:t="render",fetcherKey:s,navigate:o,reloadDocument:r,replace:c,state:d,method:u=sd,action:p,onSubmit:m,relative:g,preventScrollReset:v,viewTransition:_,unstable_defaultShouldRevalidate:b,...x},k)=>{let{unstable_useTransitions:j}=y.useContext(Un),w=zN(),T=HN(p,{relative:g}),C=u.toLowerCase()==="get"?"get":"post",A=typeof p=="string"&&nx.test(p),L=E=>{if(m&&m(E),E.defaultPrevented)return;E.preventDefault();let O=E.nativeEvent.submitter,z=(O==null?void 0:O.getAttribute("formmethod"))||u,D=()=>w(O||E.currentTarget,{fetcherKey:s,method:z,navigate:o,replace:c,state:d,relative:g,preventScrollReset:v,viewTransition:_,unstable_defaultShouldRevalidate:b});j&&o!==!1?y.startTransition(()=>D()):D()};return y.createElement("form",{ref:k,method:C,action:T,onSubmit:r?m:L,...x,"data-discover":!A&&t==="render"?"true":void 0})});IN.displayName="Form";function ON(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function sx(t){let s=y.useContext(Go);return wt(s,ON(t)),s}function LN(t,{target:s,replace:o,unstable_mask:r,state:c,preventScrollReset:d,relative:u,viewTransition:p,unstable_defaultShouldRevalidate:m,unstable_useTransitions:g}={}){let v=Od(),_=Jt(),b=yl(t,{relative:u});return y.useCallback(x=>{if(fN(x,s)){x.preventDefault();let k=o!==void 0?o:rl(_)===rl(b),j=()=>v(t,{replace:k,unstable_mask:r,state:c,preventScrollReset:d,relative:u,viewTransition:p,unstable_defaultShouldRevalidate:m});g?y.startTransition(()=>j()):j()}},[_,v,b,o,r,c,s,t,d,u,p,m,g])}function Lm(t){ls(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let s=y.useRef(em(t)),o=y.useRef(!1),r=Jt(),c=y.useMemo(()=>pN(r.search,o.current?null:s.current),[r.search]),d=Od(),u=y.useCallback((p,m)=>{const g=em(typeof p=="function"?p(new URLSearchParams(c)):p);o.current=!0,d("?"+g,m)},[d,c]);return[c,u]}var BN=0,$N=()=>`__${String(++BN)}__`;function zN(){let{router:t}=sx("useSubmit"),{basename:s}=y.useContext(Un),o=nN(),r=t.fetch,c=t.navigate;return y.useCallback(async(d,u={})=>{let{action:p,method:m,encType:g,formData:v,body:_}=gN(d,s);if(u.navigate===!1){let b=u.fetcherKey||$N();await r(b,o,u.action||p,{unstable_defaultShouldRevalidate:u.unstable_defaultShouldRevalidate,preventScrollReset:u.preventScrollReset,formData:v,body:_,formMethod:u.method||m,formEncType:u.encType||g,flushSync:u.flushSync})}else await c(u.action||p,{unstable_defaultShouldRevalidate:u.unstable_defaultShouldRevalidate,preventScrollReset:u.preventScrollReset,formData:v,body:_,formMethod:u.method||m,formEncType:u.encType||g,replace:u.replace,state:u.state,fromRouteId:o,flushSync:u.flushSync,viewTransition:u.viewTransition})},[r,c,s,o])}function HN(t,{relative:s}={}){let{basename:o}=y.useContext(Un),r=y.useContext(cs);wt(r,"useFormAction must be used inside a RouteContext");let[c]=r.matches.slice(-1),d={...yl(t||".",{relative:s})},u=Jt();if(t==null){d.search=u.search;let p=new URLSearchParams(d.search),m=p.getAll("index");if(m.some(v=>v==="")){p.delete("index"),m.filter(_=>_).forEach(_=>p.append("index",_));let v=p.toString();d.search=v?`?${v}`:""}}return(!t||t===".")&&c.route.index&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),o!=="/"&&(d.pathname=d.pathname==="/"?o:Os([o,d.pathname])),rl(d)}function PN(t,{relative:s}={}){let o=y.useContext(Z_);wt(o!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=sx("useViewTransitionState"),c=yl(t,{relative:s});if(!o.isTransitioning)return!1;let d=ua(o.currentLocation.pathname,r)||o.currentLocation.pathname,u=ua(o.nextLocation.pathname,r)||o.nextLocation.pathname;return ll(c.pathname,u)!=null||ll(c.pathname,d)!=null}function dt(){const t=Od();return y.useCallback((s,o)=>{typeof s=="number"?t(s):t(s,o)},[t])}function Bd(t){return`/sessions/${encodeURIComponent(t)}`}function Xa(t,s){return s?`/environments/${encodeURIComponent(s)}/workspaces/${encodeURIComponent(t)}`:`/workspaces/${encodeURIComponent(t)}`}function Hn(t,s,o,r){const c=encodeURIComponent(t);let d;return o&&r?d=`/environments/${encodeURIComponent(r)}/workspaces/${encodeURIComponent(o)}/tasks/${c}`:o?d=`/workspaces/${encodeURIComponent(o)}/tasks/${c}`:d=`/tasks/${c}`,s?`${d}/${s}`:d}function Bi(t,s,o){const r=new URLSearchParams;t&&r.set("workspace",t),s&&r.set("parent",s);const c=r.toString();if(t&&o){const d=`/environments/${encodeURIComponent(o)}/workspaces/${encodeURIComponent(t)}/tasks/new`;return s?`${d}?parent=${encodeURIComponent(s)}`:d}return c?`/tasks/new?${c}`:"/tasks/new"}function ax(t){return`/sessions/new?${new URLSearchParams({env:t}).toString()}`}const Bo="/environments",UN="/environments/new";function Mi(t){return`/environments/${encodeURIComponent(t)}`}function VN(t){return`/environments/${encodeURIComponent(t)}/edit`}const Di="/settings",GN="/settings/credentials",cp="/settings/personas",qN="/settings/personas/new";function ix(t){return`/settings/personas/${encodeURIComponent(t)}`}const dp="/settings/schedules",FN="/settings/schedules/new";function ox(t){return`/settings/schedules/${encodeURIComponent(t)}`}const ZN="/settings/shortcuts",KN="/pair",cl="/chat";function YN(t){return`/chat/${encodeURIComponent(t)}`}const qo="/",JN="/tasks",rx="/workspaces/new",lx="/knowledge",$d="/findings";function WN(t,s){return t&&s?`/environments/${encodeURIComponent(s)}/workspaces/${encodeURIComponent(t)}/findings`:$d}function tm(t,s,o){const r=encodeURIComponent(t);return s&&o?`/environments/${encodeURIComponent(o)}/workspaces/${encodeURIComponent(s)}/findings/${r}`:`/findings/${r}`}const XN=KT,QN={task:cw};function eC({workspaceId:t,environmentId:s,tasks:o,resolvedThemeId:r}){const c=dt(),d=y.useMemo(()=>o.filter(_=>_.workspaceId===t),[o,t]),{nodes:u,edges:p}=jj(d),m=y.useMemo(()=>{const _=getComputedStyle(document.documentElement),b={};for(const[x,k]of Object.entries(XN))b[x]=_.getPropertyValue(k).trim()||"#6b7a8d";return b},[r]),g=y.useCallback((_,b)=>{c(Hn(b.id,void 0,t,s))},[c,t,s]),v=y.useCallback(_=>{const b=_.data;return m[b.task.status]||m.pending},[m]);return d.length===0?a.jsxs("div",{className:Sn.emptyCta,children:[a.jsx("button",{className:Sn.ctaButton,onClick:()=>c(Bi(t,void 0,s)),children:"Create Task"}),a.jsx("div",{className:Sn.ctaDescription,children:"Create tasks to see the dependency graph"})]}):a.jsx("div",{className:Sn.dagContainer,children:a.jsxs(R2,{nodes:u,edges:p,nodeTypes:QN,onNodeClick:g,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:2,children:[a.jsx(M2,{variant:I2.Dots,gap:24,size:1,color:"var(--text-disabled)"}),a.jsx(O2,{showInteractive:!1}),a.jsx(L2,{nodeColor:v,maskColor:"var(--bg-overlay)",style:{background:"var(--bg-inset)"}})]})})}const tC="_breadcrumbs_17or2_1",nC="_list_17or2_11",sC="_item_17or2_21",aC="_separator_17or2_28",iC="_link_17or2_34",oC="_current_17or2_57",Co={breadcrumbs:tC,list:nC,item:sC,separator:aC,link:iC,current:oC};function Ss({segments:t}){return a.jsx("nav",{className:Co.breadcrumbs,"aria-label":"Breadcrumb","data-testid":"breadcrumbs",children:a.jsx("ol",{className:Co.list,children:t.map((s,o)=>{const r=o===t.length-1;return a.jsxs("li",{className:Co.item,children:[o>0&&a.jsx("span",{className:Co.separator,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),s.url&&!r?a.jsx(bl,{className:Co.link,to:s.url,title:s.label,children:s.label}):a.jsx("span",{className:Co.current,"aria-current":"page",title:s.label,children:s.label})]},o)})})})}const rC="_btn_dwk2o_1",lC="_sm_dwk2o_22",cC="_md_dwk2o_28",dC="_lg_dwk2o_34",uC="_primary_dwk2o_40",fC="_danger_dwk2o_55",pC="_outline_dwk2o_70",mC="_ghost_dwk2o_80",up={btn:rC,sm:lC,md:cC,lg:dC,primary:uC,danger:fC,outline:pC,ghost:mC},on=y.forwardRef(function({variant:s="primary",size:o="md",className:r,children:c,...d},u){const p=[up.btn,up[s],up[o],r].filter(Boolean).join(" ");return a.jsx("button",{ref:u,className:p,...d,children:c})}),hC="_copyButton_1bqk0_1",gC={copyButton:hC},vC=2e3;function yC({text:t,className:s,"data-testid":o}){const[r,c]=y.useState(!1),d=y.useRef(void 0);y.useEffect(()=>()=>{d.current!==void 0&&clearTimeout(d.current)},[]);const u=y.useCallback(async()=>{try{await navigator.clipboard.writeText(t),c(!0),d.current!==void 0&&clearTimeout(d.current),d.current=setTimeout(()=>{c(!1),d.current=void 0},vC)}catch{}},[t]);return a.jsx("button",{type:"button",className:`${gC.copyButton} ${s??""}`,onClick:()=>{u().catch(()=>{})},"aria-label":r?"Copied":"Copy to clipboard","data-testid":o??"copy-button",children:r?a.jsx(Oi,{size:Gt,"aria-hidden":"true"}):a.jsx($_,{size:Gt,"aria-hidden":"true"})})}const bC="_banner_bxqlh_1",_C="_label_bxqlh_15",xC="_text_bxqlh_25",kC="_link_bxqlh_29",Vc={banner:bC,label:_C,text:xC,link:kC};function SC(){return a.jsxs("div",{className:Vc.banner,"data-testid":"demo-banner",children:[a.jsx("span",{className:Vc.label,children:"DEMO"}),a.jsxs("span",{className:Vc.text,children:["This is an interactive demo with mock data."," ",a.jsx("a",{href:"https://github.com/nick-pape/grackle",target:"_blank",rel:"noopener noreferrer",className:Vc.link,children:"Install Grackle"})," ","to use it for real."]})]})}const jC="_container_og0yp_1",TC="_chevronButton_og0yp_6",wC="_mainButton_og0yp_6",NC="_sm_og0yp_34",CC="_md_og0yp_34",EC="_lg_og0yp_34",AC="_primary_og0yp_57",DC="_danger_og0yp_70",RC="_outline_og0yp_83",MC="_ghost_og0yp_92",IC="_dropdown_og0yp_100",OC="_option_og0yp_113",LC="_optionLabel_og0yp_130",BC="_optionDesc_og0yp_135",aa={container:jC,chevronButton:TC,mainButton:wC,sm:NC,md:CC,lg:EC,primary:AC,danger:DC,outline:RC,ghost:MC,dropdown:IC,option:OC,optionLabel:LC,optionDesc:BC};function cx({label:t,onClick:s,options:o,variant:r="primary",size:c="md","data-testid":d}){const[u,p]=y.useState(!1),m=y.useRef(null);y.useEffect(()=>{if(!u)return;function b(x){m.current&&x.target instanceof Node&&!m.current.contains(x.target)&&p(!1)}return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[u]),y.useEffect(()=>{if(!u)return;function b(x){x.key==="Escape"&&p(!1)}return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[u]);const g=aa[r]||"",v=aa[c]||"",_=()=>{u&&p(!1),s()};return a.jsxs("div",{ref:m,className:aa.container,"data-testid":d,children:[a.jsx("button",{type:"button",className:`${aa.mainButton} ${g} ${v}`,onClick:_,"data-testid":d?`${d}-main`:void 0,children:t}),a.jsx("button",{type:"button",className:`${aa.chevronButton} ${g} ${v}`,onClick:()=>p(b=>!b),"aria-label":`More options for ${t}`,"aria-haspopup":"menu","aria-expanded":u,"data-testid":d?`${d}-chevron`:void 0,children:a.jsx(B_,{size:Gt,"aria-hidden":"true"})}),u&&a.jsx("div",{className:aa.dropdown,"data-testid":d?`${d}-menu`:void 0,children:o.map((b,x)=>a.jsxs("button",{type:"button",className:aa.option,onClick:()=>{b.onClick(),p(!1)},children:[a.jsx("span",{className:aa.optionLabel,children:b.label}),b.description&&a.jsx("span",{className:aa.optionDesc,children:b.description})]},x))})]})}function nm(){nm=function(c,d){return new o(c,void 0,d)};var t=RegExp.prototype,s=new WeakMap;function o(c,d,u){var p=new RegExp(c,d);return s.set(p,u||s.get(c)),pd(p,o.prototype)}function r(c,d){var u=s.get(d);return Object.keys(u).reduce(function(p,m){var g=u[m];if(typeof g=="number")p[m]=c[g];else{for(var v=0;c[g[v]]===void 0&&v+1<g.length;)v++;p[m]=c[g[v]]}return p},Object.create(null))}return(function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");c.prototype=Object.create(d&&d.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),Object.defineProperty(c,"prototype",{writable:!1}),d&&pd(c,d)})(o,RegExp),o.prototype.exec=function(c){var d=t.exec.call(this,c);if(d){d.groups=r(d,this);var u=d.indices;u&&(u.groups=r(u,this))}return d},o.prototype[Symbol.replace]=function(c,d){if(typeof d=="string"){var u=s.get(this);return t[Symbol.replace].call(this,c,d.replace(/\$<([^>]+)>/g,function(m,g){var v=u[g];return"$"+(Array.isArray(v)?v.join("$"):v)}))}if(typeof d=="function"){var p=this;return t[Symbol.replace].call(this,c,function(){var m=arguments;return typeof m[m.length-1]!="object"&&(m=[].slice.call(m)).push(r(m,p)),d.apply(this,m)})}return t[Symbol.replace].call(this,c,d)},nm.apply(this,arguments)}function pd(t,s){return pd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,r){return o.__proto__=r,o},pd(t,s)}function Oy(t,s){(s==null||s>t.length)&&(s=t.length);for(var o=0,r=new Array(s);o<s;o++)r[o]=t[o];return r}function fp(t,s){var o=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(o)return(o=o.call(t)).next.bind(o);if(Array.isArray(t)||(o=(function(c,d){if(c){if(typeof c=="string")return Oy(c,d);var u=Object.prototype.toString.call(c).slice(8,-1);return u==="Object"&&c.constructor&&(u=c.constructor.name),u==="Map"||u==="Set"?Array.from(c):u==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u)?Oy(c,d):void 0}})(t))||s){o&&(t=o);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
263
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var $C=(function(t){return function(s){return s===void 0&&(s={}),(function(r,c){if(c&&!r.registered(c))throw new Error('The default language "'+c+'" is not registered with refractor.')})(t,s.defaultLanguage),function(r){W2(r,"element",o)};function o(r,c,d){var u,p;if(d&&d.tagName==="pre"&&r.tagName==="code"){var m=(r==null||(u=r.data)==null?void 0:u.meta)||(r==null||(p=r.properties)==null?void 0:p.metastring)||"";r.properties.className?typeof r.properties.className=="boolean"?r.properties.className=[]:Array.isArray(r.properties.className)||(r.properties.className=[r.properties.className]):r.properties.className=[];var g,v,_=(function(E){for(var O,z=fp(E.properties.className);!(O=z()).done;){var D=O.value;if(D.slice(0,9)==="language-")return D.slice(9).toLowerCase()}return null})(r);if(!_&&s.defaultLanguage&&r.properties.className.push("language-"+(_=s.defaultLanguage)),r.properties.className.push("code-highlight"),_)try{var b,x;x=(b=_)!=null&&b.includes("diff-")?_.split("-")[1]:_,g=t.highlight(zc(r),x),d.properties.className=(d.properties.className||[]).concat("language-"+x)}catch(E){if(!s.ignoreMissing||!/Unknown language/.test(E.message))throw E;g=r}else g=r;g.children=(v=1,function E(O){return O.reduce(function(z,D){if(D.type==="text"){var H=D.value,Y=(H.match(/\n/g)||"").length;if(Y===0)D.position={start:{line:v,column:1},end:{line:v,column:1}},z.push(D);else for(var U,X=H.split(`
264
+ `),he=fp(X.entries());!(U=he()).done;){var W=U.value,le=W[0],B=W[1];z.push({type:"text",value:le===X.length-1?B:B+`
265
+ `,position:{start:{line:v+le,column:1},end:{line:v+le,column:1}}})}return v+=Y,z}if(Object.prototype.hasOwnProperty.call(D,"children")){var R=v;return D.children=E(D.children),z.push(D),D.position={start:{line:R,column:1},end:{line:v,column:1}},z}return z.push(D),z},[])})(g.children),g.position=g.children.length>0?{start:{line:g.children[0].position.start.line,column:0},end:{line:g.children[g.children.length-1].position.end.line,column:0}}:{start:{line:0,column:0},end:{line:0,column:0}};for(var k,j=(function(E){var O=/{([\d,-]+)}/,z=E.split(",").map(function(Y){return Y.trim()}).join();if(O.test(z)){var D=O.exec(z)[1],H=Q2(D);return function(Y){return H.includes(Y+1)}}return function(){return!1}})(m),w=(function(E){var O=nm(/showLineNumbers=(\d+)/i,{lines:1});if(O.test(E)){var z=O.exec(E);return Number(z.groups.lines)}return 1})(m),T=(function(E){for(var O=new Array(E),z=0;z<E;z++)O[z]={type:"element",tagName:"span",properties:{className:[]},children:[]};return O})(g.position.end.line),C=["showlinenumbers=false",'showlinenumbers="false"',"showlinenumbers={false}"],A=function(){var E,O,z=k.value,D=z[0],H=z[1];H.properties.className=["code-line"];var Y=ej(g,function(U){return U.position.start.line<=D+1&&U.position.end.line>=D+1});H.children=Y.children,(m.toLowerCase().includes("showLineNumbers".toLowerCase())||s.showLineNumbers===!0||typeof s.showLineNumbers=="object"&&s.showLineNumbers.includes(_))&&!C.some(function(U){return m.toLowerCase().includes(U)})&&(H.properties.line=[(D+w).toString()],H.properties.className.push("line-number")),j(D)&&H.properties.className.push("highlight-line"),(_==="diff"||(E=_)!=null&&E.includes("diff-"))&&zc(H).substring(0,1)==="-"?H.properties.className.push("deleted"):(_==="diff"||(O=_)!=null&&O.includes("diff-"))&&zc(H).substring(0,1)==="+"&&H.properties.className.push("inserted")},L=fp(T.entries());!(k=L()).done;)A();T.length>0&&zc(T[T.length-1]).trim()===""&&T.pop(),r.children=T}}}})(X2);function $o(t){if(t>=1e6)return`${(t/1e6).toFixed(1)}M`;if(t>=1e3){const s=Number((t/1e3).toFixed(1));return s>=1e3?`${(t/1e6).toFixed(1)}M`:`${s.toFixed(1)}k`}return String(t)}function Is(t){if(t===0)return"-";const s=t/1e5;if(s<.01){const o=t<5?5:4;return`$${s.toFixed(o)}`}return`$${s.toFixed(2)}`}const Ly=new Set(["grackle"]);function Fo(t){if(t.startsWith("mcp__")){const o=t.indexOf("__",5);if(o>5){const r=t.slice(5,o);if(Ly.has(r))return t.slice(o+2)}}const s=t.indexOf("-");if(s>0){const o=t.slice(0,s);if(Ly.has(o))return t.slice(s+1)}return t}const zC={read:"file-read",view:"file-read",edit:"file-edit",file_change:"file-edit",write:"file-write",bash:"shell",powershell:"shell",command_execution:"shell",grep:"search",glob:"search",todowrite:"todo",update_plan:"todo",todo_write:"todo",report_intent:"metadata",finding_post:"finding",finding_list:"finding",task_list:"task",task_create:"task",task_show:"task",task_update:"task",task_start:"task",task_complete:"task",task_resume:"task",task_delete:"task",workpad_write:"workpad",workpad_read:"workpad",knowledge_search:"knowledge",knowledge_get_node:"knowledge",knowledge_create_node:"knowledge",ipc_spawn:"ipc",ipc_write:"ipc",ipc_close:"ipc",ipc_list_fds:"ipc",ipc_terminate:"ipc",ipc_create_stream:"ipc",ipc_attach:"ipc",ipc_share_stream:"ipc",ipc_list_streams:"ipc",toolsearch:"tool-search",agent:"agent",task:"agent",read_agent:"agent"};function HC(t){const s=Fo(t);return zC[s.toLowerCase()]??"generic"}const PC="_card_qkm9i_2",UC="_cardBlue_qkm9i_20",VC="_cardOrange_qkm9i_24",GC="_cardGreen_qkm9i_28",qC="_cardPurple_qkm9i_32",FC="_cardNeutral_qkm9i_36",ZC="_cardRed_qkm9i_40",KC="_cardTeal_qkm9i_44",YC="_header_qkm9i_48",JC="_icon_qkm9i_55",WC="_toolName_qkm9i_64",XC="_fileName_qkm9i_71",QC="_badge_qkm9i_80",eE="_spacer_qkm9i_87",tE="_bodyToggle_qkm9i_91",nE="_chevron_qkm9i_109",sE="_chevronExpanded_qkm9i_115",aE="_pre_qkm9i_119",iE="_diffAdd_qkm9i_143",oE="_diffRemove_qkm9i_155",rE="_diffContext_qkm9i_167",lE="_diffHeader_qkm9i_176",cE="_diffLine_qkm9i_182",dE="_exitOk_qkm9i_188",uE="_exitError_qkm9i_194",fE="_exitPending_qkm9i_200",pE="_inProgress_qkm9i_228",mE="_metadata_qkm9i_232",hE="_metadataPrefix_qkm9i_239",I={card:PC,cardBlue:UC,cardOrange:VC,cardGreen:GC,cardPurple:qC,cardNeutral:FC,cardRed:ZC,cardTeal:KC,header:YC,icon:JC,toolName:WC,fileName:XC,badge:QC,spacer:eE,bodyToggle:tE,chevron:nE,chevronExpanded:sE,pre:aE,diffAdd:iE,diffRemove:oE,diffContext:rE,diffHeader:lE,diffLine:cE,exitOk:dE,exitError:uE,exitPending:fE,inProgress:pE,metadata:mE,metadataPrefix:hE};function gE(t){if(t==null||typeof t!="object")return"";const s=t;return typeof s.file_path=="string"?s.file_path:typeof s.path=="string"?s.path:""}function vE(t){const s=t.split(/[/\\]/);return s[s.length-1]||t}const pp=5;function By({tool:t,args:s,result:o,isError:r,writeVariant:c}){const[d,u]=y.useState(!1),p=gE(s),m=vE(p),g=o===void 0,v=r?I.cardRed:c?I.cardGreen:I.cardBlue,_=c?"var(--accent-green)":"var(--accent-blue)",b=c?a.jsx(Jj,{size:Gt}):a.jsx(Xj,{size:Gt}),x=c?"tool-card-file-write":"tool-card-file-read",k=(o==null?void 0:o.split(`
266
+ `))??[],j=k.length>pp,w=d?k:k.slice(0,pp);return a.jsxs("div",{className:`${I.card} ${v} ${g?I.inProgress:""}`,"data-testid":x,children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:b}),a.jsx("span",{className:I.toolName,style:{color:_},children:t}),m&&a.jsx("span",{className:I.fileName,title:p,children:m}),!g&&k.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,children:[k.length," lines"]})]})]}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!g&&k.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-content",children:w.map((T,C)=>a.jsxs("span",{className:I.diffLine,children:[a.jsx("span",{style:{color:"var(--text-tertiary)",userSelect:"none",marginRight:"var(--space-sm)",display:"inline-block",width:"3ch",textAlign:"right"},children:C+1}),T]},C))}),j&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{u(T=>!T)},"aria-expanded":d,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${d?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),d?"collapse":`${k.length-pp} more lines`]})]})]})}function yE(t){const s=t.split(`
267
+ `),o=[];for(const r of s)r.startsWith("diff --git")||r.startsWith("index ")||(r.startsWith("--- ")||r.startsWith("+++ "))&&!r.startsWith("---- ")&&!r.startsWith("++++ ")||(r.startsWith("@@")?o.push({type:"header",content:r}):r.startsWith("+")?o.push({type:"add",content:r.slice(1)}):r.startsWith("-")?o.push({type:"remove",content:r.slice(1)}):r.startsWith(" ")?o.push({type:"context",content:r.slice(1)}):r===""&&o.push({type:"context",content:""}));return o}function bE(t,s){const o=t.split(`
268
268
  `),r=s.split(`
269
- `),c=[];for(const d of o)c.push({type:"remove",content:d});for(const d of r)c.push({type:"add",content:d});return c}function bE(t){let s=0,o=0;for(const r of t)r.type==="add"&&s++,r.type==="remove"&&o++;return{added:s,removed:o}}function _E(t){if(t==null||typeof t!="object")return"";const s=t;return typeof s.file_path=="string"&&s.file_path||typeof s.path=="string"&&s.path||""}function xE(t){if(t===void 0||typeof t!="object"||t===null)return;const s=t,o=(typeof s.old_string=="string"?s.old_string:void 0)??(typeof s.old_str=="string"?s.old_str:void 0),r=(typeof s.new_string=="string"?s.new_string:void 0)??(typeof s.new_str=="string"?s.new_str:void 0);if(o!==void 0&&r!==void 0)return{oldStr:o,newStr:r}}function kE(t){const s=t.split(/[/\\]/);return s[s.length-1]||t}function SE(t,s){if(s){let r=s;if(s.trimStart().startsWith("{"))try{const c=JSON.parse(s);typeof c.detailedContent=="string"&&(r=c.detailedContent)}catch{}if(r.includes("@@")||r.startsWith("diff ")){const c=vE(r);if(c.length>0)return c}}const o=xE(t);if(o)return yE(o.oldStr,o.newStr)}const mp=5;function jE({tool:t,args:s,result:o,isError:r,detailedResult:c}){const[d,u]=y.useState(!1),p=_E(s),m=kE(p),g=o===void 0,v=SE(s,c),_=v?bE(v):null,b=((v==null?void 0:v.length)??0)>mp,x=d?v:v==null?void 0:v.slice(0,mp);return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardOrange} ${g?I.inProgress:""}`,"data-testid":"tool-card-file-edit",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:a.jsx(TT,{size:Gt})}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-yellow)"},children:t}),m&&a.jsx("span",{className:I.fileName,title:p,children:m}),_&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-diff-stats",children:[a.jsxs("span",{style:{color:"var(--accent-green)"},children:["+",_.added]})," ",a.jsxs("span",{style:{color:"var(--accent-red)"},children:["−",_.removed]})]})]})]}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&x&&x.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-diff",children:x.map((k,j)=>{let w=I.diffContext;return k.type==="add"&&(w=I.diffAdd),k.type==="remove"&&(w=I.diffRemove),k.type==="header"&&(w=I.diffHeader),a.jsx("span",{className:`${I.diffLine} ${w}`,children:k.content},j)})}),b&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{u(k=>!k)},"aria-expanded":d,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${d?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),d?"collapse":`${((v==null?void 0:v.length)??0)-mp} more lines`]})]}),!r&&!v&&!g&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-content",children:o})]})}const TE=/^\[exit (\d+)\]\s*/;function wE(t){const s=TE.exec(t);return s?{exitCode:Number(s[1]),output:t.slice(s[0].length)}:{exitCode:void 0,output:t}}function NE(t){if(t==null||typeof t!="object")return"";const s=t;return typeof s.command=="string"?s.command:""}function CE(t){const s=/pwsh(?:\.exe)?["']?\s+-Command\s+'([^']*)'\s*$/i.exec(t);if(s)return s[1];const o=/pwsh(?:\.exe)?["']?\s+-Command\s+"([^"]*)"\s*$/i.exec(t);return o?o[1]:t}const hp=3;function EE({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=NE(s),p=CE(u),m=o===void 0,g=o?wE(o):null,v=(g==null?void 0:g.output.split(`
270
- `))??[],_=v.length>hp,b=c?v:v.slice(0,hp),x=g==null?void 0:g.exitCode,k=r||x!==void 0&&x!==0;return a.jsxs("div",{className:`${I.card} ${k?I.cardRed:I.cardNeutral}`,"data-testid":"tool-card-shell",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,style:{color:"var(--text-secondary)",fontFamily:"var(--font-mono)",fontWeight:"bold"},children:"$"}),a.jsx("span",{className:I.fileName,style:{flex:1,color:"var(--text-primary)"},title:u!==p?u:void 0,"data-testid":"tool-card-command",children:p}),x!==void 0&&a.jsxs("span",{className:x===0?I.exitOk:I.exitError,"data-testid":"tool-card-exit-code",children:[x===0?a.jsx(Li,{size:it,"aria-hidden":"true"}):a.jsx($s,{size:it,"aria-hidden":"true"})," ","exit ",x]}),m&&a.jsx("span",{className:I.exitPending,"data-testid":"tool-card-pending",children:a.jsx(mT,{size:it,"aria-hidden":"true"})})]}),!m&&g&&g.output.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-output",children:b.join(`
271
- `)}),_&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(j=>!j)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),c?"collapse":`${v.length-hp} more lines`]})]})]})}function AE(t){if(t==null||typeof t!="object")return{pattern:"",path:""};const s=t,o=typeof s.pattern=="string"?s.pattern:"",r=typeof s.path=="string"?s.path:"";return{pattern:o,path:r}}const gp=5;function DE({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),{pattern:u,path:p}=AE(s),m=o===void 0,g=(o==null?void 0:o.split(`
269
+ `),c=[];for(const d of o)c.push({type:"remove",content:d});for(const d of r)c.push({type:"add",content:d});return c}function _E(t){let s=0,o=0;for(const r of t)r.type==="add"&&s++,r.type==="remove"&&o++;return{added:s,removed:o}}function xE(t){if(t==null||typeof t!="object")return"";const s=t;return typeof s.file_path=="string"&&s.file_path||typeof s.path=="string"&&s.path||""}function kE(t){if(t===void 0||typeof t!="object"||t===null)return;const s=t,o=(typeof s.old_string=="string"?s.old_string:void 0)??(typeof s.old_str=="string"?s.old_str:void 0),r=(typeof s.new_string=="string"?s.new_string:void 0)??(typeof s.new_str=="string"?s.new_str:void 0);if(o!==void 0&&r!==void 0)return{oldStr:o,newStr:r}}function SE(t){const s=t.split(/[/\\]/);return s[s.length-1]||t}function jE(t,s){if(s){let r=s;if(s.trimStart().startsWith("{"))try{const c=JSON.parse(s);typeof c.detailedContent=="string"&&(r=c.detailedContent)}catch{}if(r.includes("@@")||r.startsWith("diff ")){const c=yE(r);if(c.length>0)return c}}const o=kE(t);if(o)return bE(o.oldStr,o.newStr)}const mp=5;function TE({tool:t,args:s,result:o,isError:r,detailedResult:c}){const[d,u]=y.useState(!1),p=xE(s),m=SE(p),g=o===void 0,v=jE(s,c),_=v?_E(v):null,b=((v==null?void 0:v.length)??0)>mp,x=d?v:v==null?void 0:v.slice(0,mp);return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardOrange} ${g?I.inProgress:""}`,"data-testid":"tool-card-file-edit",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:a.jsx(wT,{size:Gt})}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-yellow)"},children:t}),m&&a.jsx("span",{className:I.fileName,title:p,children:m}),_&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-diff-stats",children:[a.jsxs("span",{style:{color:"var(--accent-green)"},children:["+",_.added]})," ",a.jsxs("span",{style:{color:"var(--accent-red)"},children:["−",_.removed]})]})]})]}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&x&&x.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-diff",children:x.map((k,j)=>{let w=I.diffContext;return k.type==="add"&&(w=I.diffAdd),k.type==="remove"&&(w=I.diffRemove),k.type==="header"&&(w=I.diffHeader),a.jsx("span",{className:`${I.diffLine} ${w}`,children:k.content},j)})}),b&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{u(k=>!k)},"aria-expanded":d,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${d?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),d?"collapse":`${((v==null?void 0:v.length)??0)-mp} more lines`]})]}),!r&&!v&&!g&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-content",children:o})]})}const wE=/^\[exit (\d+)\]\s*/;function NE(t){const s=wE.exec(t);return s?{exitCode:Number(s[1]),output:t.slice(s[0].length)}:{exitCode:void 0,output:t}}function CE(t){if(t==null||typeof t!="object")return"";const s=t;return typeof s.command=="string"?s.command:""}function EE(t){const s=/pwsh(?:\.exe)?["']?\s+-Command\s+'([^']*)'\s*$/i.exec(t);if(s)return s[1];const o=/pwsh(?:\.exe)?["']?\s+-Command\s+"([^"]*)"\s*$/i.exec(t);return o?o[1]:t}const hp=3;function AE({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=CE(s),p=EE(u),m=o===void 0,g=o?NE(o):null,v=(g==null?void 0:g.output.split(`
270
+ `))??[],_=v.length>hp,b=c?v:v.slice(0,hp),x=g==null?void 0:g.exitCode,k=r||x!==void 0&&x!==0;return a.jsxs("div",{className:`${I.card} ${k?I.cardRed:I.cardNeutral}`,"data-testid":"tool-card-shell",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,style:{color:"var(--text-secondary)",fontFamily:"var(--font-mono)",fontWeight:"bold"},children:"$"}),a.jsx("span",{className:I.fileName,style:{flex:1,color:"var(--text-primary)"},title:u!==p?u:void 0,"data-testid":"tool-card-command",children:p}),x!==void 0&&a.jsxs("span",{className:x===0?I.exitOk:I.exitError,"data-testid":"tool-card-exit-code",children:[x===0?a.jsx(Oi,{size:it,"aria-hidden":"true"}):a.jsx($s,{size:it,"aria-hidden":"true"})," ","exit ",x]}),m&&a.jsx("span",{className:I.exitPending,"data-testid":"tool-card-pending",children:a.jsx(hT,{size:it,"aria-hidden":"true"})})]}),!m&&g&&g.output.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-output",children:b.join(`
271
+ `)}),_&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(j=>!j)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),c?"collapse":`${v.length-hp} more lines`]})]})]})}function DE(t){if(t==null||typeof t!="object")return{pattern:"",path:""};const s=t,o=typeof s.pattern=="string"?s.pattern:"",r=typeof s.path=="string"?s.path:"";return{pattern:o,path:r}}const gp=5;function RE({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),{pattern:u,path:p}=DE(s),m=o===void 0,g=(o==null?void 0:o.split(`
272
272
  `).filter(b=>b.length>0))??[],v=g.length>gp,_=c?g:g.slice(0,gp);return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardPurple} ${m?I.inProgress:""}`,"data-testid":"tool-card-search",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:a.jsx(fd,{size:Gt})}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-purple, #a78bfa)"},children:t}),u&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-pattern",children:['"',u,'"']}),p&&a.jsxs("span",{className:I.fileName,style:{flexShrink:1},"data-testid":"tool-card-search-path",children:["in ",p]}),!m&&!r&&g.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-match-count",children:[g.length," ",g.length===1?"match":"matches"]})]})]}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!m&&_.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-results",children:_.join(`
273
- `)}),v&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(b=>!b)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),c?"collapse":`${g.length-gp} more matches`]})]})]})}const RE="_progressBar_14f5c_1",ME="_progressFill_14f5c_9",IE="_activeTask_14f5c_16",OE="_activeIcon_14f5c_27",LE="_todoPulse_14f5c_1",BE="_activeText_14f5c_34",$E="_checklist_14f5c_48",zE="_item_14f5c_55",HE="_itemIcon_14f5c_65",PE="_itemText_14f5c_73",UE="_pending_14f5c_78",VE="_in_progress_14f5c_85",GE="_completed_14f5c_97",qE="_emptyMessage_14f5c_108",hs={progressBar:RE,progressFill:ME,activeTask:IE,activeIcon:OE,todoPulse:LE,activeText:BE,checklist:$E,item:zE,itemIcon:HE,itemText:PE,pending:UE,in_progress:VE,completed:GE,emptyMessage:qE},FE=/^[-*]\s*\[([ xX~!/])\]\s*(.+)$/;function ZE(t){if(t===void 0||typeof t!="object"||t===null)return[];const s=t;return Array.isArray(s.todos)?s.todos.filter(o=>typeof o=="object"&&o!==null&&typeof o.content=="string"&&typeof o.status=="string").map(o=>({content:o.content,activeForm:typeof o.activeForm=="string"?o.activeForm:void 0,status:$y(o.status)})):Array.isArray(s.plan)?s.plan.filter(o=>typeof o=="object"&&o!==null&&typeof o.step=="string"&&typeof o.status=="string").map(o=>({content:o.step,status:$y(o.status)})):typeof s.content=="string"?KE(s.content):[]}function $y(t){switch(t.toLowerCase()){case"completed":case"done":case"complete":return"completed";case"in_progress":case"in-progress":case"working":case"active":return"in_progress";default:return"pending"}}function KE(t){const s=t.split(`
274
- `),o=[];for(const r of s){const c=FE.exec(r.trim());if(c){const d=c[1],u=c[2].trim();let p="pending";d==="x"||d==="X"?p="completed":(d==="~"||d==="/"||d==="!")&&(p="in_progress"),o.push({content:u,status:p})}}return o}function YE(t){switch(t){case"completed":return a.jsx(Li,{size:it});case"in_progress":return a.jsx(Ja,{size:it,fill:"currentColor"});default:return a.jsx(Ja,{size:it})}}function JE({args:t}){const s=ZE(t),o=s.filter(d=>d.status==="completed").length,r=s.find(d=>d.status==="in_progress"),c=s.length===0;return a.jsxs("div",{className:`${I.card} ${I.cardBlue}`,"data-testid":"tool-card-todo",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:a.jsx(dT,{size:Gt})}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-blue)"},children:c?"Todos cleared":"Todos"}),!c&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-todo-progress",children:[o,"/",s.length]})]})]}),!c&&a.jsx("div",{className:hs.progressBar,"data-testid":"tool-card-todo-bar",children:a.jsx("div",{className:hs.progressFill,style:{width:`${o/s.length*100}%`}})}),r&&a.jsxs("div",{className:hs.activeTask,"data-testid":"tool-card-todo-active",children:[a.jsx("span",{className:hs.activeIcon,children:a.jsx(Ja,{size:it,fill:"currentColor"})}),a.jsx("span",{className:hs.activeText,children:r.activeForm||r.content})]}),!c&&a.jsx("div",{className:hs.checklist,"data-testid":"tool-card-todo-list",children:s.map((d,u)=>a.jsxs("div",{className:`${hs.item} ${hs[d.status]}`,"data-testid":"tool-card-todo-item",children:[a.jsx("span",{className:hs.itemIcon,children:YE(d.status)}),a.jsx("span",{className:hs.itemText,children:d.content})]},u))}),c&&a.jsx("div",{className:hs.emptyMessage,children:"All items completed and cleared."})]})}function WE(t,s){if(s==null||typeof s!="object")return"";const o=s;if(typeof o.intent=="string")return o.intent;for(const r of Object.values(o))if(typeof r=="string")return r;return t}function XE({tool:t,args:s}){const o=WE(t,s);return a.jsxs("div",{className:I.metadata,"data-testid":"tool-card-metadata",children:[a.jsx("span",{className:I.metadataPrefix,children:a.jsx(Zj,{size:it})}),o]})}function QE(t){if(t==null||typeof t!="object")return{};const s=t;return{title:typeof s.title=="string"?s.title:void 0,category:typeof s.category=="string"?s.category:void 0,tags:Array.isArray(s.tags)?s.tags:void 0}}function eA(t){if(!t)return{};try{const s=JSON.parse(t);if(Array.isArray(s))return{list:s.filter(o=>o!==null&&typeof o=="object")};if(typeof s=="object"&&s!==null)return{single:s}}catch{}return{}}const vp=5,yp=5;function tA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=QE(s),m=o===void 0,{single:g,list:v}=eA(o),_=(g==null?void 0:g.title)??p.title,b=v?void 0:(g==null?void 0:g.category)??p.category,x=v?void 0:(g==null?void 0:g.tags)??p.tags;return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardPurple} ${m?I.inProgress:""}`,"data-testid":"tool-card-finding",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"💡"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-purple, #a78bfa)"},children:u}),_&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-finding-title",children:['"',_,'"']}),b&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsx("span",{className:I.badge,"data-testid":"tool-card-finding-category",children:b})]}),v&&!b&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-finding-count",children:[v.length," ",v.length===1?"finding":"findings"]})]})]}),x&&x.length>0&&a.jsx("div",{className:I.pre,style:{padding:"4px 8px",whiteSpace:"normal"},"data-testid":"tool-card-finding-tags",children:x.map((k,j)=>a.jsxs("span",{style:{display:"inline-block",marginRight:"6px",opacity:.7,fontSize:"0.85em"},children:["#",k]},j))}),m&&!_&&s!==null&&s!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&(g==null?void 0:g.content)&&a.jsx(a.Fragment,{children:(()=>{const k=g.content.split(`
273
+ `)}),v&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(b=>!b)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),c?"collapse":`${g.length-gp} more matches`]})]})]})}const ME="_progressBar_14f5c_1",IE="_progressFill_14f5c_9",OE="_activeTask_14f5c_16",LE="_activeIcon_14f5c_27",BE="_todoPulse_14f5c_1",$E="_activeText_14f5c_34",zE="_checklist_14f5c_48",HE="_item_14f5c_55",PE="_itemIcon_14f5c_65",UE="_itemText_14f5c_73",VE="_pending_14f5c_78",GE="_in_progress_14f5c_85",qE="_completed_14f5c_97",FE="_emptyMessage_14f5c_108",hs={progressBar:ME,progressFill:IE,activeTask:OE,activeIcon:LE,todoPulse:BE,activeText:$E,checklist:zE,item:HE,itemIcon:PE,itemText:UE,pending:VE,in_progress:GE,completed:qE,emptyMessage:FE},ZE=/^[-*]\s*\[([ xX~!/])\]\s*(.+)$/;function KE(t){if(t===void 0||typeof t!="object"||t===null)return[];const s=t;return Array.isArray(s.todos)?s.todos.filter(o=>typeof o=="object"&&o!==null&&typeof o.content=="string"&&typeof o.status=="string").map(o=>({content:o.content,activeForm:typeof o.activeForm=="string"?o.activeForm:void 0,status:$y(o.status)})):Array.isArray(s.plan)?s.plan.filter(o=>typeof o=="object"&&o!==null&&typeof o.step=="string"&&typeof o.status=="string").map(o=>({content:o.step,status:$y(o.status)})):typeof s.content=="string"?YE(s.content):[]}function $y(t){switch(t.toLowerCase()){case"completed":case"done":case"complete":return"completed";case"in_progress":case"in-progress":case"working":case"active":return"in_progress";default:return"pending"}}function YE(t){const s=t.split(`
274
+ `),o=[];for(const r of s){const c=ZE.exec(r.trim());if(c){const d=c[1],u=c[2].trim();let p="pending";d==="x"||d==="X"?p="completed":(d==="~"||d==="/"||d==="!")&&(p="in_progress"),o.push({content:u,status:p})}}return o}function JE(t){switch(t){case"completed":return a.jsx(Oi,{size:it});case"in_progress":return a.jsx(Ja,{size:it,fill:"currentColor"});default:return a.jsx(Ja,{size:it})}}function WE({args:t}){const s=KE(t),o=s.filter(d=>d.status==="completed").length,r=s.find(d=>d.status==="in_progress"),c=s.length===0;return a.jsxs("div",{className:`${I.card} ${I.cardBlue}`,"data-testid":"tool-card-todo",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:a.jsx(uT,{size:Gt})}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-blue)"},children:c?"Todos cleared":"Todos"}),!c&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-todo-progress",children:[o,"/",s.length]})]})]}),!c&&a.jsx("div",{className:hs.progressBar,"data-testid":"tool-card-todo-bar",children:a.jsx("div",{className:hs.progressFill,style:{width:`${o/s.length*100}%`}})}),r&&a.jsxs("div",{className:hs.activeTask,"data-testid":"tool-card-todo-active",children:[a.jsx("span",{className:hs.activeIcon,children:a.jsx(Ja,{size:it,fill:"currentColor"})}),a.jsx("span",{className:hs.activeText,children:r.activeForm||r.content})]}),!c&&a.jsx("div",{className:hs.checklist,"data-testid":"tool-card-todo-list",children:s.map((d,u)=>a.jsxs("div",{className:`${hs.item} ${hs[d.status]}`,"data-testid":"tool-card-todo-item",children:[a.jsx("span",{className:hs.itemIcon,children:JE(d.status)}),a.jsx("span",{className:hs.itemText,children:d.content})]},u))}),c&&a.jsx("div",{className:hs.emptyMessage,children:"All items completed and cleared."})]})}function XE(t,s){if(s==null||typeof s!="object")return"";const o=s;if(typeof o.intent=="string")return o.intent;for(const r of Object.values(o))if(typeof r=="string")return r;return t}function QE({tool:t,args:s}){const o=XE(t,s);return a.jsxs("div",{className:I.metadata,"data-testid":"tool-card-metadata",children:[a.jsx("span",{className:I.metadataPrefix,children:a.jsx(Kj,{size:it})}),o]})}function eA(t){if(t==null||typeof t!="object")return{};const s=t;return{title:typeof s.title=="string"?s.title:void 0,category:typeof s.category=="string"?s.category:void 0,tags:Array.isArray(s.tags)?s.tags:void 0}}function tA(t){if(!t)return{};try{const s=JSON.parse(t);if(Array.isArray(s))return{list:s.filter(o=>o!==null&&typeof o=="object")};if(typeof s=="object"&&s!==null)return{single:s}}catch{}return{}}const vp=5,yp=5;function nA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=eA(s),m=o===void 0,{single:g,list:v}=tA(o),_=(g==null?void 0:g.title)??p.title,b=v?void 0:(g==null?void 0:g.category)??p.category,x=v?void 0:(g==null?void 0:g.tags)??p.tags;return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardPurple} ${m?I.inProgress:""}`,"data-testid":"tool-card-finding",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"💡"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-purple, #a78bfa)"},children:u}),_&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-finding-title",children:['"',_,'"']}),b&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsx("span",{className:I.badge,"data-testid":"tool-card-finding-category",children:b})]}),v&&!b&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-finding-count",children:[v.length," ",v.length===1?"finding":"findings"]})]})]}),x&&x.length>0&&a.jsx("div",{className:I.pre,style:{padding:"4px 8px",whiteSpace:"normal"},"data-testid":"tool-card-finding-tags",children:x.map((k,j)=>a.jsxs("span",{style:{display:"inline-block",marginRight:"6px",opacity:.7,fontSize:"0.85em"},children:["#",k]},j))}),m&&!_&&s!==null&&s!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&(g==null?void 0:g.content)&&a.jsx(a.Fragment,{children:(()=>{const k=g.content.split(`
275
275
  `),j=k.length>yp,w=c?g.content:k.slice(0,yp).join(`
276
276
  `);return a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-finding-content",children:w}),j&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(T=>!T)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${k.length-yp} more lines`]})]})})()}),!r&&v&&v.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-finding-list",children:(c?v:v.slice(0,vp)).map((k,j)=>`${k.category?`[${k.category}] `:""}${k.title??k.id??`Finding ${j+1}`}`).join(`
277
- `)}),v.length>vp&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(k=>!k)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${v.length-vp} more findings`]})]})]})}function nA(t){if(t==null||typeof t!="object")return{};const s=t;return{taskId:typeof s.taskId=="string"?s.taskId:void 0,title:typeof s.title=="string"?s.title:void 0,status:typeof s.status=="string"?s.status:void 0}}function sA(t){if(!t)return{};try{const s=JSON.parse(t);if(Array.isArray(s))return{list:s.filter(o=>o!==null&&typeof o=="object")};if(typeof s=="object"&&s!==null){const o=s;return typeof o.sessionId=="string"?{sessionId:o.sessionId,single:o}:{single:o}}}catch{}return{}}function zy(t){switch(t){case"complete":case"completed":return"✓";case"working":case"in_progress":return"●";case"paused":return"⏸";case"failed":return"✗";default:return"○"}}function aA(t){switch(t){case"complete":case"completed":return"var(--accent-green, #4ade80)";case"working":case"in_progress":return"var(--accent-blue, #60a5fa)";case"failed":return"var(--accent-red, #f87171)";case"paused":return"var(--text-tertiary, #888)";default:return"var(--text-secondary, #aaa)"}}const bp=5;function iA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=nA(s),m=o===void 0,{single:g,list:v,sessionId:_}=sA(o),b=(g==null?void 0:g.title)??p.title,x=(g==null?void 0:g.status)??p.status;return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardBlue} ${m?I.inProgress:""}`,"data-testid":"tool-card-task",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"📋"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-blue)"},children:u}),b&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-task-title",children:['"',b,'"']}),!b&&p.taskId&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-task-id",children:p.taskId}),x&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,style:{color:aA(x)},"data-testid":"tool-card-task-status",children:[zy(x)," ",x]})]}),v&&!x&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-task-count",children:[v.length," ",v.length===1?"task":"tasks"]})]})]}),m&&!b&&!p.taskId&&s!==null&&s!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&_&&a.jsxs("div",{className:I.pre,style:{padding:"4px 8px",fontSize:"0.85em"},"data-testid":"tool-card-task-session",children:["session: ",_]}),!r&&g&&!v&&!_&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-task-detail",children:[g.id?`id: ${g.id}`:null,g.status?`status: ${g.status}`:null,g.branch?`branch: ${g.branch}`:null,g.latestSessionId?`session: ${g.latestSessionId}`:null].filter(Boolean).join(`
277
+ `)}),v.length>vp&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(k=>!k)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${v.length-vp} more findings`]})]})]})}function sA(t){if(t==null||typeof t!="object")return{};const s=t;return{taskId:typeof s.taskId=="string"?s.taskId:void 0,title:typeof s.title=="string"?s.title:void 0,status:typeof s.status=="string"?s.status:void 0}}function aA(t){if(!t)return{};try{const s=JSON.parse(t);if(Array.isArray(s))return{list:s.filter(o=>o!==null&&typeof o=="object")};if(typeof s=="object"&&s!==null){const o=s;return typeof o.sessionId=="string"?{sessionId:o.sessionId,single:o}:{single:o}}}catch{}return{}}function zy(t){switch(t){case"complete":case"completed":return"✓";case"working":case"in_progress":return"●";case"paused":return"⏸";case"failed":return"✗";default:return"○"}}function iA(t){switch(t){case"complete":case"completed":return"var(--accent-green, #4ade80)";case"working":case"in_progress":return"var(--accent-blue, #60a5fa)";case"failed":return"var(--accent-red, #f87171)";case"paused":return"var(--text-tertiary, #888)";default:return"var(--text-secondary, #aaa)"}}const bp=5;function oA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=sA(s),m=o===void 0,{single:g,list:v,sessionId:_}=aA(o),b=(g==null?void 0:g.title)??p.title,x=(g==null?void 0:g.status)??p.status;return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardBlue} ${m?I.inProgress:""}`,"data-testid":"tool-card-task",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"📋"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-blue)"},children:u}),b&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-task-title",children:['"',b,'"']}),!b&&p.taskId&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-task-id",children:p.taskId}),x&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,style:{color:iA(x)},"data-testid":"tool-card-task-status",children:[zy(x)," ",x]})]}),v&&!x&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-task-count",children:[v.length," ",v.length===1?"task":"tasks"]})]})]}),m&&!b&&!p.taskId&&s!==null&&s!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&_&&a.jsxs("div",{className:I.pre,style:{padding:"4px 8px",fontSize:"0.85em"},"data-testid":"tool-card-task-session",children:["session: ",_]}),!r&&g&&!v&&!_&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-task-detail",children:[g.id?`id: ${g.id}`:null,g.status?`status: ${g.status}`:null,g.branch?`branch: ${g.branch}`:null,g.latestSessionId?`session: ${g.latestSessionId}`:null].filter(Boolean).join(`
278
278
  `)}),!r&&v&&v.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-task-list",children:(c?v:v.slice(0,bp)).map(k=>{const j=zy(k.status),w=k.title??k.id??"untitled";return`${j} ${w}`}).join(`
279
- `)}),v.length>bp&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(k=>!k)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${v.length-bp} more tasks`]})]})]})}function oA(t){if(t==null||typeof t!="object")return{};const s=t;return{status:typeof s.status=="string"?s.status:void 0,summary:typeof s.summary=="string"?s.summary:void 0}}function rA(t){if(!t)return{};try{const s=JSON.parse(t);if(typeof s!="object"||s===null)return{};const o=s,r=typeof o.workpad=="object"&&o.workpad!==null?o.workpad:o;return{status:typeof r.status=="string"?r.status:void 0,summary:typeof r.summary=="string"?r.summary:void 0,extra:typeof r.extra=="object"&&r.extra!==null?r.extra:void 0}}catch{}return{}}function lA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=oA(s),m=o===void 0,g=rA(o),v=g.status??p.status,_=g.summary??p.summary;return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardGreen} ${m?I.inProgress:""}`,"data-testid":"tool-card-workpad",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"📓"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-green, #4ade80)"},children:u}),v&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsx("span",{className:I.badge,"data-testid":"tool-card-workpad-status",children:v})]})]}),_&&a.jsx("pre",{className:I.pre,style:{whiteSpace:"pre-wrap"},"data-testid":"tool-card-workpad-summary",children:_}),m&&!_&&s!==null&&s!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!m&&o&&!_&&!v&&!g.extra&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-result",children:o}),!r&&g.extra&&a.jsxs(a.Fragment,{children:[a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(b=>!b)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":"extra data"]}),c&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-workpad-extra",children:JSON.stringify(g.extra,null,2)})]})]})}function cA(t){if(t==null||typeof t!="object")return{};const s=t;return{query:typeof s.query=="string"?s.query:void 0,id:typeof s.id=="string"?s.id:void 0}}function dA(t){if(!t)return{};try{const s=JSON.parse(t);if(typeof s!="object"||s===null)return{};const o=s;if(Array.isArray(o.results))return{results:o.results.filter(r=>r!==null&&typeof r=="object")};if(typeof o.node=="object"&&o.node!==null){const r=Array.isArray(o.edges)?o.edges.length:0;return{node:o.node,edgeCount:r}}if(typeof o.id=="string")return{node:o}}catch{}return{}}const _p=5;function uA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=cA(s),m=o===void 0,g=dA(o);return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardPurple} ${m?I.inProgress:""}`,"data-testid":"tool-card-knowledge",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"🧠"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-purple, #a78bfa)"},children:u}),p.query&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-knowledge-query",children:['"',p.query,'"']}),p.id&&!p.query&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-knowledge-id",children:p.id}),g.results&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-knowledge-count",children:[g.results.length," ",g.results.length===1?"result":"results"]})]}),g.node&&g.edgeCount!==void 0&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-knowledge-edges",children:[g.edgeCount," ",g.edgeCount===1?"edge":"edges"]})]})]}),m&&s!==null&&s!==void 0&&!p.query&&!p.id&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&g.results&&g.results.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-knowledge-results",children:(c?g.results:g.results.slice(0,_p)).map(v=>{var x,k,j;const _=((x=v.node)==null?void 0:x.title)??((k=v.node)==null?void 0:k.label)??((j=v.node)==null?void 0:j.id)??"node",b=v.score!==void 0?` (${(v.score*100).toFixed(0)}%)`:"";return`${_}${b}`}).join(`
279
+ `)}),v.length>bp&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(k=>!k)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${v.length-bp} more tasks`]})]})]})}function rA(t){if(t==null||typeof t!="object")return{};const s=t;return{status:typeof s.status=="string"?s.status:void 0,summary:typeof s.summary=="string"?s.summary:void 0}}function lA(t){if(!t)return{};try{const s=JSON.parse(t);if(typeof s!="object"||s===null)return{};const o=s,r=typeof o.workpad=="object"&&o.workpad!==null?o.workpad:o;return{status:typeof r.status=="string"?r.status:void 0,summary:typeof r.summary=="string"?r.summary:void 0,extra:typeof r.extra=="object"&&r.extra!==null?r.extra:void 0}}catch{}return{}}function cA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=rA(s),m=o===void 0,g=lA(o),v=g.status??p.status,_=g.summary??p.summary;return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardGreen} ${m?I.inProgress:""}`,"data-testid":"tool-card-workpad",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"📓"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-green, #4ade80)"},children:u}),v&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsx("span",{className:I.badge,"data-testid":"tool-card-workpad-status",children:v})]})]}),_&&a.jsx("pre",{className:I.pre,style:{whiteSpace:"pre-wrap"},"data-testid":"tool-card-workpad-summary",children:_}),m&&!_&&s!==null&&s!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!m&&o&&!_&&!v&&!g.extra&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-result",children:o}),!r&&g.extra&&a.jsxs(a.Fragment,{children:[a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(b=>!b)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":"extra data"]}),c&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-workpad-extra",children:JSON.stringify(g.extra,null,2)})]})]})}function dA(t){if(t==null||typeof t!="object")return{};const s=t;return{query:typeof s.query=="string"?s.query:void 0,id:typeof s.id=="string"?s.id:void 0}}function uA(t){if(!t)return{};try{const s=JSON.parse(t);if(typeof s!="object"||s===null)return{};const o=s;if(Array.isArray(o.results))return{results:o.results.filter(r=>r!==null&&typeof r=="object")};if(typeof o.node=="object"&&o.node!==null){const r=Array.isArray(o.edges)?o.edges.length:0;return{node:o.node,edgeCount:r}}if(typeof o.id=="string")return{node:o}}catch{}return{}}const _p=5;function fA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=dA(s),m=o===void 0,g=uA(o);return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardPurple} ${m?I.inProgress:""}`,"data-testid":"tool-card-knowledge",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"🧠"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-purple, #a78bfa)"},children:u}),p.query&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-knowledge-query",children:['"',p.query,'"']}),p.id&&!p.query&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-knowledge-id",children:p.id}),g.results&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-knowledge-count",children:[g.results.length," ",g.results.length===1?"result":"results"]})]}),g.node&&g.edgeCount!==void 0&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-knowledge-edges",children:[g.edgeCount," ",g.edgeCount===1?"edge":"edges"]})]})]}),m&&s!==null&&s!==void 0&&!p.query&&!p.id&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&g.results&&g.results.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-knowledge-results",children:(c?g.results:g.results.slice(0,_p)).map(v=>{var x,k,j;const _=((x=v.node)==null?void 0:x.title)??((k=v.node)==null?void 0:k.label)??((j=v.node)==null?void 0:j.id)??"node",b=v.score!==void 0?` (${(v.score*100).toFixed(0)}%)`:"";return`${_}${b}`}).join(`
280
280
  `)}),g.results.length>_p&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(v=>!v)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${g.results.length-_p} more results`]})]}),!r&&g.node&&!g.results&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-knowledge-node",children:[g.node.id?`id: ${g.node.id}`:null,g.node.title?`title: ${g.node.title}`:null,g.node.category?`category: ${g.node.category}`:null,g.node.kind?`kind: ${g.node.kind}`:null,g.node.content?`content: ${g.node.content.length>100?g.node.content.slice(0,100)+"...":g.node.content}`:null].filter(Boolean).join(`
281
- `)})]})}function fA(t){if(t==null||typeof t!="object")return{};const s=t;return{fd:typeof s.fd=="number"?s.fd:void 0,pipe:typeof s.pipe=="string"?s.pipe:void 0,prompt:typeof s.prompt=="string"?s.prompt:void 0,name:typeof s.name=="string"?s.name:void 0,message:typeof s.message=="string"?s.message:void 0}}function pA(t){if(!t)return{};try{const s=JSON.parse(t);if(typeof s!="object"||s===null)return{};const o=s;return{sessionId:typeof o.sessionId=="string"?o.sessionId:void 0,fd:typeof o.fd=="number"?o.fd:void 0,fds:Array.isArray(o.fds)?o.fds.filter(r=>r!==null&&typeof r=="object"):void 0,success:typeof o.success=="boolean"?o.success:void 0,output:typeof o.output=="string"?o.output:void 0}}catch{}return{}}function mA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=fA(s),m=o===void 0,g=pA(o);let v="";p.pipe?v=`[${p.pipe}]`:p.fd!==void 0?v=`fd:${p.fd}`:p.name&&(v=`"${p.name}"`);const _=p.prompt?p.prompt.length>60?`${p.prompt.slice(0,60)}...`:p.prompt:void 0;return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardOrange} ${m?I.inProgress:""}`,"data-testid":"tool-card-ipc",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"🔀"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-yellow, #fbbf24)"},children:u}),v&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-ipc-info",children:v}),_&&a.jsx("span",{className:I.fileName,title:p.prompt,"data-testid":"tool-card-ipc-prompt",children:_}),g.fds&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-ipc-fd-count",children:[g.fds.length," ",g.fds.length===1?"fd":"fds"]})]}),g.success!==void 0&&!g.fds&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsx("span",{className:I.badge,style:{color:g.success?"var(--accent-green, #4ade80)":"var(--accent-red, #f87171)"},"data-testid":"tool-card-ipc-success",children:g.success?"✓ ok":"✗ failed"})]})]}),m&&!_&&!v&&s!==null&&s!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&g.sessionId&&a.jsxs("div",{className:I.pre,style:{padding:"4px 8px",fontSize:"0.85em"},"data-testid":"tool-card-ipc-session",children:["session: ",g.sessionId,g.fd!==void 0&&` | fd: ${g.fd}`]}),!r&&g.output&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-ipc-output",children:g.output}),!r&&g.fds&&g.fds.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-ipc-fds",children:(c?g.fds:g.fds.slice(0,5)).map(b=>{const x=[`fd:${b.fd??"?"}`,b.permission??"",b.deliveryMode??""];return b.streamName&&x.push(b.streamName),b.owned&&x.push("(owned)"),x.filter(Boolean).join(" ")}).join(`
282
- `)}),g.fds.length>5&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(b=>!b)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${g.fds.length-5} more fds`]})]})]})}function hA(t){if(t==null||typeof t!="object")return"";const s=t;return typeof s.query=="string"?s.query:""}const xp=8;function gA({args:t,result:s,isError:o}){const[r,c]=y.useState(!1),d=hA(t),u=s===void 0,p=(s==null?void 0:s.split(`
281
+ `)})]})}function pA(t){if(t==null||typeof t!="object")return{};const s=t;return{fd:typeof s.fd=="number"?s.fd:void 0,pipe:typeof s.pipe=="string"?s.pipe:void 0,prompt:typeof s.prompt=="string"?s.prompt:void 0,name:typeof s.name=="string"?s.name:void 0,message:typeof s.message=="string"?s.message:void 0}}function mA(t){if(!t)return{};try{const s=JSON.parse(t);if(typeof s!="object"||s===null)return{};const o=s;return{sessionId:typeof o.sessionId=="string"?o.sessionId:void 0,fd:typeof o.fd=="number"?o.fd:void 0,fds:Array.isArray(o.fds)?o.fds.filter(r=>r!==null&&typeof r=="object"):void 0,success:typeof o.success=="boolean"?o.success:void 0,output:typeof o.output=="string"?o.output:void 0}}catch{}return{}}function hA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),u=Fo(t),p=pA(s),m=o===void 0,g=mA(o);let v="";p.pipe?v=`[${p.pipe}]`:p.fd!==void 0?v=`fd:${p.fd}`:p.name&&(v=`"${p.name}"`);const _=p.prompt?p.prompt.length>60?`${p.prompt.slice(0,60)}...`:p.prompt:void 0;return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardOrange} ${m?I.inProgress:""}`,"data-testid":"tool-card-ipc",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"🔀"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-yellow, #fbbf24)"},children:u}),v&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-ipc-info",children:v}),_&&a.jsx("span",{className:I.fileName,title:p.prompt,"data-testid":"tool-card-ipc-prompt",children:_}),g.fds&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-ipc-fd-count",children:[g.fds.length," ",g.fds.length===1?"fd":"fds"]})]}),g.success!==void 0&&!g.fds&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsx("span",{className:I.badge,style:{color:g.success?"var(--accent-green, #4ade80)":"var(--accent-red, #f87171)"},"data-testid":"tool-card-ipc-success",children:g.success?"✓ ok":"✗ failed"})]})]}),m&&!_&&!v&&s!==null&&s!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(s,null,2)}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&g.sessionId&&a.jsxs("div",{className:I.pre,style:{padding:"4px 8px",fontSize:"0.85em"},"data-testid":"tool-card-ipc-session",children:["session: ",g.sessionId,g.fd!==void 0&&` | fd: ${g.fd}`]}),!r&&g.output&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-ipc-output",children:g.output}),!r&&g.fds&&g.fds.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-ipc-fds",children:(c?g.fds:g.fds.slice(0,5)).map(b=>{const x=[`fd:${b.fd??"?"}`,b.permission??"",b.deliveryMode??""];return b.streamName&&x.push(b.streamName),b.owned&&x.push("(owned)"),x.filter(Boolean).join(" ")}).join(`
282
+ `)}),g.fds.length>5&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(b=>!b)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${g.fds.length-5} more fds`]})]})]})}function gA(t){if(t==null||typeof t!="object")return"";const s=t;return typeof s.query=="string"?s.query:""}const xp=8;function vA({args:t,result:s,isError:o}){const[r,c]=y.useState(!1),d=gA(t),u=s===void 0,p=(s==null?void 0:s.split(`
283
283
  `))??[],m=p.length>xp,g=r?s:p.slice(0,xp).join(`
284
- `);return a.jsxs("div",{className:`${I.card} ${o?I.cardRed:I.cardNeutral} ${u?I.inProgress:""}`,"data-testid":"tool-card-tool-search",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"🔧"}),a.jsx("span",{className:I.toolName,children:"ToolSearch"}),d&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-tool-search-query",children:['"',d,'"']}),!u&&!o&&s&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-tool-search-count",children:[p.length," lines"]})]})]}),u&&!d&&t!==null&&t!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(t,null,2)}),o&&s&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:s}),!o&&!u&&s&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-tool-search-result",children:g}),m&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{c(v=>!v)},"aria-expanded":r,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${r?I.chevronExpanded:""}`,children:"▸"}),r?"collapse":`${p.length-xp} more lines`]})]})]})}function vA(t){const s=/^mcp__([^_]+(?:_[^_]+)*)__(.+)$/.exec(t);return s?{display:`${s[1]} / ${s[2]}`,isMcp:!0}:{display:t,isMcp:!1}}function yA(t){if(t==null)return"";if(typeof t!="object")return String(t);const s=t;if(typeof s.command=="string")return s.command;if(typeof s.file_path=="string")return s.file_path;if(typeof s.path=="string")return s.path;if(typeof s.query=="string")return s.query;if(typeof s.url=="string")return s.url;try{const o=JSON.stringify(t);return o.length>120?`${o.slice(0,120)}…`:o}catch{return""}}const kp=5;function bA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),{display:u}=vA(t),p=yA(s),m=o===void 0,g=(o==null?void 0:o.split(`
284
+ `);return a.jsxs("div",{className:`${I.card} ${o?I.cardRed:I.cardNeutral} ${u?I.inProgress:""}`,"data-testid":"tool-card-tool-search",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,"aria-hidden":"true",children:"🔧"}),a.jsx("span",{className:I.toolName,children:"ToolSearch"}),d&&a.jsxs("span",{className:I.fileName,"data-testid":"tool-card-tool-search-query",children:['"',d,'"']}),!u&&!o&&s&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:I.spacer}),a.jsxs("span",{className:I.badge,"data-testid":"tool-card-tool-search-count",children:[p.length," lines"]})]})]}),u&&!d&&t!==null&&t!==void 0&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:JSON.stringify(t,null,2)}),o&&s&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:s}),!o&&!u&&s&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-tool-search-result",children:g}),m&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{c(v=>!v)},"aria-expanded":r,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${r?I.chevronExpanded:""}`,children:"▸"}),r?"collapse":`${p.length-xp} more lines`]})]})]})}function yA(t){const s=/^mcp__([^_]+(?:_[^_]+)*)__(.+)$/.exec(t);return s?{display:`${s[1]} / ${s[2]}`,isMcp:!0}:{display:t,isMcp:!1}}function bA(t){if(t==null)return"";if(typeof t!="object")return String(t);const s=t;if(typeof s.command=="string")return s.command;if(typeof s.file_path=="string")return s.file_path;if(typeof s.path=="string")return s.path;if(typeof s.query=="string")return s.query;if(typeof s.url=="string")return s.url;try{const o=JSON.stringify(t);return o.length>120?`${o.slice(0,120)}…`:o}catch{return""}}const kp=5;function _A({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),{display:u}=yA(t),p=bA(s),m=o===void 0,g=(o==null?void 0:o.split(`
285
285
  `))??[],v=g.length>kp,_=c?o:g.slice(0,kp).join(`
286
- `);let b="";if(s!=null)try{b=JSON.stringify(s,null,2)}catch{b=String(s)}return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardBlue} ${m?I.inProgress:""}`,"data-testid":"tool-card-generic",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:a.jsx(Vj,{size:Gt,"aria-hidden":"true"})}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-blue)"},children:u}),p&&a.jsx("span",{className:I.fileName,children:p})]}),m&&b&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:b}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!m&&o&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-result",children:_}),v&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(x=>!x)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),c?"collapse":`${g.length-kp} more lines`]})]})]})}const _A="_badgePill_o7eqc_1",xA="_modelBadge_o7eqc_14",kA="_backgroundBadge_o7eqc_26",SA="_backgroundDot_o7eqc_36",jA="_backgroundDotPulsing_o7eqc_41",TA="_description_o7eqc_55",wA="_statusLine_o7eqc_62",NA="_statusCompleted_o7eqc_72",CA="_statusRunning_o7eqc_77",EA="_statusError_o7eqc_83",AA="_promptToggle_o7eqc_88",gs={badgePill:_A,modelBadge:xA,backgroundBadge:kA,backgroundDot:SA,backgroundDotPulsing:jA,description:TA,statusLine:wA,statusCompleted:NA,statusRunning:CA,statusError:EA,promptToggle:AA};function DA(t,s){if(s==null||typeof s!="object")return{};const o=s;return t.toLowerCase()==="read_agent"?{agentId:typeof o.agent_id=="string"?o.agent_id:void 0,isPoll:!0}:typeof o.agent_type=="string"||typeof o.name=="string"?{agentType:typeof o.agent_type=="string"?o.agent_type:void 0,description:typeof o.description=="string"?o.description:void 0,prompt:typeof o.prompt=="string"?o.prompt:void 0,isBackground:o.mode==="background",agentName:typeof o.name=="string"?o.name:void 0}:{agentType:typeof o.subagent_type=="string"?o.subagent_type:void 0,description:typeof o.description=="string"?o.description:void 0,prompt:typeof o.prompt=="string"?o.prompt:void 0,isBackground:o.run_in_background===!0,model:typeof o.model=="string"?o.model:void 0,isResume:typeof o.resume=="string"&&o.resume.length>0}}const RA=/^Agent\s+(completed|running|failed|error)\.\s*agent_id:\s*(\S+),?\s*([^\n]*)(?:\n\n([\s\S]*))?$/i;function MA(t){const s=RA.exec(t);if(!s)return;const o=s[4];return{status:s[1].toLowerCase(),agentId:s[2].replace(/,$/,""),metadata:s[3].trim(),content:o?o.trim():void 0}}const Sp=5;function IA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),[u,p]=y.useState(!1),m=DA(t,s),g=o===void 0,v=m.isPoll&&o?MA(o):void 0,_=(v==null?void 0:v.content)??o,b=(_==null?void 0:_.split(`
286
+ `);let b="";if(s!=null)try{b=JSON.stringify(s,null,2)}catch{b=String(s)}return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardBlue} ${m?I.inProgress:""}`,"data-testid":"tool-card-generic",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,children:a.jsx(Gj,{size:Gt,"aria-hidden":"true"})}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-blue)"},children:u}),p&&a.jsx("span",{className:I.fileName,children:p})]}),m&&b&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-args",children:b}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!m&&o&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-result",children:_}),v&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(x=>!x)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),c?"collapse":`${g.length-kp} more lines`]})]})]})}const xA="_badgePill_o7eqc_1",kA="_modelBadge_o7eqc_14",SA="_backgroundBadge_o7eqc_26",jA="_backgroundDot_o7eqc_36",TA="_backgroundDotPulsing_o7eqc_41",wA="_description_o7eqc_55",NA="_statusLine_o7eqc_62",CA="_statusCompleted_o7eqc_72",EA="_statusRunning_o7eqc_77",AA="_statusError_o7eqc_83",DA="_promptToggle_o7eqc_88",gs={badgePill:xA,modelBadge:kA,backgroundBadge:SA,backgroundDot:jA,backgroundDotPulsing:TA,description:wA,statusLine:NA,statusCompleted:CA,statusRunning:EA,statusError:AA,promptToggle:DA};function RA(t,s){if(s==null||typeof s!="object")return{};const o=s;return t.toLowerCase()==="read_agent"?{agentId:typeof o.agent_id=="string"?o.agent_id:void 0,isPoll:!0}:typeof o.agent_type=="string"||typeof o.name=="string"?{agentType:typeof o.agent_type=="string"?o.agent_type:void 0,description:typeof o.description=="string"?o.description:void 0,prompt:typeof o.prompt=="string"?o.prompt:void 0,isBackground:o.mode==="background",agentName:typeof o.name=="string"?o.name:void 0}:{agentType:typeof o.subagent_type=="string"?o.subagent_type:void 0,description:typeof o.description=="string"?o.description:void 0,prompt:typeof o.prompt=="string"?o.prompt:void 0,isBackground:o.run_in_background===!0,model:typeof o.model=="string"?o.model:void 0,isResume:typeof o.resume=="string"&&o.resume.length>0}}const MA=/^Agent\s+(completed|running|failed|error)\.\s*agent_id:\s*(\S+),?\s*([^\n]*)(?:\n\n([\s\S]*))?$/i;function IA(t){const s=MA.exec(t);if(!s)return;const o=s[4];return{status:s[1].toLowerCase(),agentId:s[2].replace(/,$/,""),metadata:s[3].trim(),content:o?o.trim():void 0}}const Sp=5;function OA({tool:t,args:s,result:o,isError:r}){const[c,d]=y.useState(!1),[u,p]=y.useState(!1),m=RA(t,s),g=o===void 0,v=m.isPoll&&o?IA(o):void 0,_=(v==null?void 0:v.content)??o,b=(_==null?void 0:_.split(`
287
287
  `))??[],x=b.length>Sp,k=c?_:b.slice(0,Sp).join(`
288
- `),j=m.isPoll?"Subagent":"Agent";return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardTeal} ${g?I.inProgress:""}`,"data-testid":"tool-card-agent",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,style:{color:"var(--accent-teal, #2dd4bf)"},children:"▶"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-teal, #2dd4bf)"},children:j}),m.agentType&&a.jsx("span",{className:gs.badgePill,"data-testid":"tool-card-agent-type",children:m.agentType}),m.model&&a.jsx("span",{className:gs.modelBadge,"data-testid":"tool-card-agent-model",children:m.model}),m.isBackground&&a.jsxs("span",{className:gs.backgroundBadge,"data-testid":"tool-card-agent-background",children:[a.jsx("span",{className:g?gs.backgroundDotPulsing:gs.backgroundDot,children:"●"}),"BG"]}),m.agentName&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-agent-name",children:m.agentName}),m.agentId&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-agent-id",children:m.agentId}),a.jsx("span",{className:I.spacer}),g&&!m.isBackground&&a.jsx("span",{className:I.exitPending,"data-testid":"tool-card-pending",children:"●"})]}),m.description&&a.jsx("div",{className:gs.description,"data-testid":"tool-card-agent-description",children:m.isResume?`Resuming: ${m.description}`:m.description}),v&&a.jsxs("div",{className:gs.statusLine,"data-testid":"tool-card-agent-status",children:[a.jsx("span",{className:v.status==="completed"?gs.statusCompleted:v.status==="running"?gs.statusRunning:gs.statusError,children:v.status}),v.metadata&&a.jsx("span",{children:v.metadata})]}),m.prompt&&a.jsxs(a.Fragment,{children:[a.jsxs("button",{type:"button",className:gs.promptToggle,onClick:()=>{p(w=>!w)},"aria-expanded":u,"data-testid":"tool-card-prompt-toggle",children:[a.jsx("span",{className:`${I.chevron} ${u?I.chevronExpanded:""}`,children:"▸"}),"prompt"]}),u&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-prompt",children:m.prompt})]}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!g&&_&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-result",children:k}),x&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(w=>!w)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${b.length-Sp} more lines`]})]})]})}function jp(t){switch(zC(t.tool)){case"file-read":return a.jsx(By,{...t});case"file-edit":return a.jsx(jE,{...t});case"file-write":return a.jsx(By,{...t,writeVariant:!0});case"shell":return a.jsx(EE,{...t});case"search":return a.jsx(DE,{...t});case"todo":return a.jsx(JE,{...t});case"metadata":return a.jsx(XE,{...t});case"finding":return a.jsx(tA,{...t});case"task":return a.jsx(iA,{...t});case"workpad":return a.jsx(lA,{...t});case"knowledge":return a.jsx(uA,{...t});case"ipc":return a.jsx(mA,{...t});case"tool-search":return a.jsx(gA,{...t});case"agent":return a.jsx(IA,{...t});default:return a.jsx(bA,{...t})}}const OA="_systemContextEvent_1kdcc_1",LA="_systemContextHeader_1kdcc_7",BA="_systemContextBadge_1kdcc_28",$A="_systemContextToggle_1kdcc_37",zA="_systemContextPre_1kdcc_43",HA="_systemContextEllipsis_1kdcc_54",PA="_systemEvent_1kdcc_58",UA="_systemTimestamp_1kdcc_65",VA="_textEvent_1kdcc_69",GA="_codeBlockWrapper_1kdcc_156",qA="_codeBlockCopyButton_1kdcc_159",FA="_errorEvent_1kdcc_163",ZA="_statusEvent_1kdcc_171",KA="_userInputEvent_1kdcc_180",YA="_userInputContent_1kdcc_186",JA="_signalEvent_1kdcc_293",WA="_signalBadge_1kdcc_304",XA="_signalContent_1kdcc_313",QA="_usageEvent_1kdcc_318",eD="_usageBadge_1kdcc_325",tD="_defaultEvent_1kdcc_334",Vt={systemContextEvent:OA,systemContextHeader:LA,systemContextBadge:BA,systemContextToggle:$A,systemContextPre:zA,systemContextEllipsis:HA,systemEvent:PA,systemTimestamp:UA,textEvent:VA,codeBlockWrapper:GA,codeBlockCopyButton:qA,errorEvent:FA,statusEvent:ZA,userInputEvent:KA,userInputContent:YA,signalEvent:JA,signalBadge:WA,signalContent:XA,usageEvent:QA,usageBadge:eD,defaultEvent:tD},Hy=3;function nD({content:t}){const[s,o]=y.useState(!1),r=t.split(`
288
+ `),j=m.isPoll?"Subagent":"Agent";return a.jsxs("div",{className:`${I.card} ${r?I.cardRed:I.cardTeal} ${g?I.inProgress:""}`,"data-testid":"tool-card-agent",children:[a.jsxs("div",{className:I.header,children:[a.jsx("span",{className:I.icon,style:{color:"var(--accent-teal, #2dd4bf)"},children:"▶"}),a.jsx("span",{className:I.toolName,style:{color:"var(--accent-teal, #2dd4bf)"},children:j}),m.agentType&&a.jsx("span",{className:gs.badgePill,"data-testid":"tool-card-agent-type",children:m.agentType}),m.model&&a.jsx("span",{className:gs.modelBadge,"data-testid":"tool-card-agent-model",children:m.model}),m.isBackground&&a.jsxs("span",{className:gs.backgroundBadge,"data-testid":"tool-card-agent-background",children:[a.jsx("span",{className:g?gs.backgroundDotPulsing:gs.backgroundDot,children:"●"}),"BG"]}),m.agentName&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-agent-name",children:m.agentName}),m.agentId&&a.jsx("span",{className:I.fileName,"data-testid":"tool-card-agent-id",children:m.agentId}),a.jsx("span",{className:I.spacer}),g&&!m.isBackground&&a.jsx("span",{className:I.exitPending,"data-testid":"tool-card-pending",children:"●"})]}),m.description&&a.jsx("div",{className:gs.description,"data-testid":"tool-card-agent-description",children:m.isResume?`Resuming: ${m.description}`:m.description}),v&&a.jsxs("div",{className:gs.statusLine,"data-testid":"tool-card-agent-status",children:[a.jsx("span",{className:v.status==="completed"?gs.statusCompleted:v.status==="running"?gs.statusRunning:gs.statusError,children:v.status}),v.metadata&&a.jsx("span",{children:v.metadata})]}),m.prompt&&a.jsxs(a.Fragment,{children:[a.jsxs("button",{type:"button",className:gs.promptToggle,onClick:()=>{p(w=>!w)},"aria-expanded":u,"data-testid":"tool-card-prompt-toggle",children:[a.jsx("span",{className:`${I.chevron} ${u?I.chevronExpanded:""}`,children:"▸"}),"prompt"]}),u&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-prompt",children:m.prompt})]}),r&&o&&a.jsx("pre",{className:I.pre,"data-testid":"tool-card-error",children:o}),!r&&!g&&_&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:I.pre,"data-testid":"tool-card-result",children:k}),x&&a.jsxs("button",{type:"button",className:I.bodyToggle,onClick:()=>{d(w=>!w)},"aria-expanded":c,"data-testid":"tool-card-toggle",children:[a.jsx("span",{className:`${I.chevron} ${c?I.chevronExpanded:""}`,children:"▸"}),c?"collapse":`${b.length-Sp} more lines`]})]})]})}function jp(t){switch(HC(t.tool)){case"file-read":return a.jsx(By,{...t});case"file-edit":return a.jsx(TE,{...t});case"file-write":return a.jsx(By,{...t,writeVariant:!0});case"shell":return a.jsx(AE,{...t});case"search":return a.jsx(RE,{...t});case"todo":return a.jsx(WE,{...t});case"metadata":return a.jsx(QE,{...t});case"finding":return a.jsx(nA,{...t});case"task":return a.jsx(oA,{...t});case"workpad":return a.jsx(cA,{...t});case"knowledge":return a.jsx(fA,{...t});case"ipc":return a.jsx(hA,{...t});case"tool-search":return a.jsx(vA,{...t});case"agent":return a.jsx(OA,{...t});default:return a.jsx(_A,{...t})}}const LA="_systemContextEvent_1kdcc_1",BA="_systemContextHeader_1kdcc_7",$A="_systemContextBadge_1kdcc_28",zA="_systemContextToggle_1kdcc_37",HA="_systemContextPre_1kdcc_43",PA="_systemContextEllipsis_1kdcc_54",UA="_systemEvent_1kdcc_58",VA="_systemTimestamp_1kdcc_65",GA="_textEvent_1kdcc_69",qA="_codeBlockWrapper_1kdcc_156",FA="_codeBlockCopyButton_1kdcc_159",ZA="_errorEvent_1kdcc_163",KA="_statusEvent_1kdcc_171",YA="_userInputEvent_1kdcc_180",JA="_userInputContent_1kdcc_186",WA="_signalEvent_1kdcc_293",XA="_signalBadge_1kdcc_304",QA="_signalContent_1kdcc_313",eD="_usageEvent_1kdcc_318",tD="_usageBadge_1kdcc_325",nD="_defaultEvent_1kdcc_334",Vt={systemContextEvent:LA,systemContextHeader:BA,systemContextBadge:$A,systemContextToggle:zA,systemContextPre:HA,systemContextEllipsis:PA,systemEvent:UA,systemTimestamp:VA,textEvent:GA,codeBlockWrapper:qA,codeBlockCopyButton:FA,errorEvent:ZA,statusEvent:KA,userInputEvent:YA,userInputContent:JA,signalEvent:WA,signalBadge:XA,signalContent:QA,usageEvent:eD,usageBadge:tD,defaultEvent:nD},Hy=3;function sD({content:t}){const[s,o]=y.useState(!1),r=t.split(`
289
289
  `),c=r.length>Hy,d=s?t:r.slice(0,Hy).join(`
290
- `);return a.jsxs("div",{className:Vt.systemContextEvent,"data-testid":"system-context-event",children:[a.jsxs("button",{type:"button",className:Vt.systemContextHeader,onClick:()=>{o(u=>!u)},"aria-expanded":s,children:[a.jsx("span",{className:Vt.systemContextBadge,children:"SYSTEM PROMPT"}),c&&a.jsx("span",{className:Vt.systemContextToggle,"aria-hidden":"true",children:s?a.jsx(L_,{size:it}):a.jsx(ma,{size:it})})]}),a.jsxs("pre",{className:Vt.systemContextPre,children:[d,!s&&c&&a.jsx("span",{className:Vt.systemContextEllipsis,children:"…"})]})]})}function sD({time:t,content:s}){return a.jsxs("div",{className:Vt.systemEvent,children:[a.jsxs("span",{className:Vt.systemTimestamp,children:["[",t,"]"]})," ",s]})}function sm(t){return typeof t=="string"?t:typeof t=="number"?String(t):Array.isArray(t)?t.map(sm).join(""):t!=null&&typeof t=="object"&&"props"in t?sm(t.props.children):""}function aD({children:t,node:s,...o}){const r=sm(t);return a.jsxs("div",{className:Vt.codeBlockWrapper,children:[a.jsx("pre",{...o,children:t}),a.jsx(vC,{text:r,"data-testid":"copy-code-block",className:Vt.codeBlockCopyButton})]})}const iD={pre:aD};function cx({content:t}){return a.jsx(Ed,{remarkPlugins:[Ad],rehypePlugins:[BC],components:iD,children:t})}function oD({content:t}){return a.jsx("div",{className:Vt.textEvent,children:a.jsx(cx,{content:t})})}function rD({content:t}){return a.jsxs("div",{className:Vt.errorEvent,children:["Error: ",t]})}function lD({content:t}){return a.jsxs("div",{className:Vt.statusEvent,children:["--- ",t," ---"]})}function cD({content:t}){return a.jsx("div",{className:Vt.userInputEvent,children:a.jsx("div",{className:Vt.userInputContent,"data-testid":"user-input-content",children:a.jsx(cx,{content:t})})})}function dD({content:t}){return a.jsxs("div",{className:Vt.signalEvent,"data-testid":"signal-event",children:[a.jsx("span",{className:Vt.signalBadge,children:"SIGNAL"}),a.jsx("span",{className:Vt.signalContent,children:t})]})}function uD({content:t}){let s=t;try{const o=JSON.parse(t),r=Number(o.input_tokens)||0,c=Number(o.output_tokens)||0,d=zo(r+c),u=Is(Number(o.cost_millicents)||0);s=`${d} tokens · ${u}`}catch{}return a.jsx("div",{className:Vt.usageEvent,"data-testid":"usage-event",children:a.jsx("span",{className:Vt.usageBadge,children:s})})}function fD({content:t}){return a.jsx("div",{className:Vt.defaultEvent,children:t})}function pD({event:t,toolUseCtx:s,settled:o}){const r=new Date(t.timestamp).toLocaleTimeString();switch(t.eventType){case"system":{if(t.raw)try{if(JSON.parse(t.raw).systemContext===!0)return a.jsx(nD,{content:t.content})}catch{}return a.jsx(sD,{time:r,content:t.content})}case"text":case"output":return a.jsx(oD,{content:t.content});case"tool_use":{let c="",d={};try{const u=JSON.parse(t.content);c=u.tool||"",d=u.args}catch{}return a.jsx(jp,{tool:c,args:d,result:o?"":void 0})}case"tool_result":{let c=!1;if(t.raw)try{c=JSON.parse(t.raw).is_error===!0}catch{}let d=t.content;if(t.content.trimStart().startsWith("{"))try{const u=JSON.parse(t.content);typeof u.content=="string"&&(d=u.content)}catch{}return s?a.jsx(jp,{tool:s.tool,args:s.args,result:d,isError:c,detailedResult:s.detailedResult}):a.jsx(jp,{tool:"Tool output",args:void 0,result:d,isError:c})}case"error":return a.jsx(rD,{content:t.content});case"status":return a.jsx(lD,{content:t.content});case"user_input":return a.jsx(cD,{content:t.content});case"signal":return a.jsx(dD,{content:t.content});case"usage":return a.jsx(uD,{content:t.content});default:return a.jsx(fD,{content:t.content})}}const Bm=y.createContext({});function $m(t){const s=y.useRef(null);return s.current===null&&(s.current=t()),s.current}const zd=y.createContext(null),zm=y.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});class mD extends y.Component{getSnapshotBeforeUpdate(s){const o=this.props.childRef.current;if(o&&s.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=o.offsetHeight||0,r.width=o.offsetWidth||0,r.top=o.offsetTop,r.left=o.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function hD({children:t,isPresent:s}){const o=y.useId(),r=y.useRef(null),c=y.useRef({width:0,height:0,top:0,left:0}),{nonce:d}=y.useContext(zm);return y.useInsertionEffect(()=>{const{width:u,height:p,top:m,left:g}=c.current;if(s||!r.current||!u||!p)return;r.current.dataset.motionPopId=o;const v=document.createElement("style");return d&&(v.nonce=d),document.head.appendChild(v),v.sheet&&v.sheet.insertRule(`
290
+ `);return a.jsxs("div",{className:Vt.systemContextEvent,"data-testid":"system-context-event",children:[a.jsxs("button",{type:"button",className:Vt.systemContextHeader,onClick:()=>{o(u=>!u)},"aria-expanded":s,children:[a.jsx("span",{className:Vt.systemContextBadge,children:"SYSTEM PROMPT"}),c&&a.jsx("span",{className:Vt.systemContextToggle,"aria-hidden":"true",children:s?a.jsx(B_,{size:it}):a.jsx(ma,{size:it})})]}),a.jsxs("pre",{className:Vt.systemContextPre,children:[d,!s&&c&&a.jsx("span",{className:Vt.systemContextEllipsis,children:"…"})]})]})}function aD({time:t,content:s}){return a.jsxs("div",{className:Vt.systemEvent,children:[a.jsxs("span",{className:Vt.systemTimestamp,children:["[",t,"]"]})," ",s]})}function sm(t){return typeof t=="string"?t:typeof t=="number"?String(t):Array.isArray(t)?t.map(sm).join(""):t!=null&&typeof t=="object"&&"props"in t?sm(t.props.children):""}function iD({children:t,node:s,...o}){const r=sm(t);return a.jsxs("div",{className:Vt.codeBlockWrapper,children:[a.jsx("pre",{...o,children:t}),a.jsx(yC,{text:r,"data-testid":"copy-code-block",className:Vt.codeBlockCopyButton})]})}const oD={pre:iD};function dx({content:t}){return a.jsx(Ed,{remarkPlugins:[Ad],rehypePlugins:[$C],components:oD,children:t})}function rD({content:t}){return a.jsx("div",{className:Vt.textEvent,children:a.jsx(dx,{content:t})})}function lD({content:t}){return a.jsxs("div",{className:Vt.errorEvent,children:["Error: ",t]})}function cD({content:t}){return a.jsxs("div",{className:Vt.statusEvent,children:["--- ",t," ---"]})}function dD({content:t}){return a.jsx("div",{className:Vt.userInputEvent,children:a.jsx("div",{className:Vt.userInputContent,"data-testid":"user-input-content",children:a.jsx(dx,{content:t})})})}function uD({content:t}){return a.jsxs("div",{className:Vt.signalEvent,"data-testid":"signal-event",children:[a.jsx("span",{className:Vt.signalBadge,children:"SIGNAL"}),a.jsx("span",{className:Vt.signalContent,children:t})]})}function fD({content:t}){let s=t;try{const o=JSON.parse(t),r=Number(o.input_tokens)||0,c=Number(o.output_tokens)||0,d=$o(r+c),u=Is(Number(o.cost_millicents)||0);s=`${d} tokens · ${u}`}catch{}return a.jsx("div",{className:Vt.usageEvent,"data-testid":"usage-event",children:a.jsx("span",{className:Vt.usageBadge,children:s})})}function pD({content:t}){return a.jsx("div",{className:Vt.defaultEvent,children:t})}function mD({event:t,toolUseCtx:s,settled:o}){const r=new Date(t.timestamp).toLocaleTimeString();switch(t.eventType){case"system":{if(t.raw)try{if(JSON.parse(t.raw).systemContext===!0)return a.jsx(sD,{content:t.content})}catch{}return a.jsx(aD,{time:r,content:t.content})}case"text":case"output":return a.jsx(rD,{content:t.content});case"tool_use":{let c="",d={};try{const u=JSON.parse(t.content);c=u.tool||"",d=u.args}catch{}return a.jsx(jp,{tool:c,args:d,result:o?"":void 0})}case"tool_result":{let c=!1;if(t.raw)try{c=JSON.parse(t.raw).is_error===!0}catch{}let d=t.content;if(t.content.trimStart().startsWith("{"))try{const u=JSON.parse(t.content);typeof u.content=="string"&&(d=u.content)}catch{}return s?a.jsx(jp,{tool:s.tool,args:s.args,result:d,isError:c,detailedResult:s.detailedResult}):a.jsx(jp,{tool:"Tool output",args:void 0,result:d,isError:c})}case"error":return a.jsx(lD,{content:t.content});case"status":return a.jsx(cD,{content:t.content});case"user_input":return a.jsx(dD,{content:t.content});case"signal":return a.jsx(uD,{content:t.content});case"usage":return a.jsx(fD,{content:t.content});default:return a.jsx(pD,{content:t.content})}}const Bm=y.createContext({});function $m(t){const s=y.useRef(null);return s.current===null&&(s.current=t()),s.current}const zd=y.createContext(null),zm=y.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});class hD extends y.Component{getSnapshotBeforeUpdate(s){const o=this.props.childRef.current;if(o&&s.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=o.offsetHeight||0,r.width=o.offsetWidth||0,r.top=o.offsetTop,r.left=o.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function gD({children:t,isPresent:s}){const o=y.useId(),r=y.useRef(null),c=y.useRef({width:0,height:0,top:0,left:0}),{nonce:d}=y.useContext(zm);return y.useInsertionEffect(()=>{const{width:u,height:p,top:m,left:g}=c.current;if(s||!r.current||!u||!p)return;r.current.dataset.motionPopId=o;const v=document.createElement("style");return d&&(v.nonce=d),document.head.appendChild(v),v.sheet&&v.sheet.insertRule(`
291
291
  [data-motion-pop-id="${o}"] {
292
292
  position: absolute !important;
293
293
  width: ${u}px !important;
@@ -295,8 +295,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
295
295
  top: ${m}px !important;
296
296
  left: ${g}px !important;
297
297
  }
298
- `),()=>{document.head.removeChild(v)}},[s]),a.jsx(mD,{isPresent:s,childRef:r,sizeRef:c,children:y.cloneElement(t,{ref:r})})}const gD=({children:t,initial:s,isPresent:o,onExitComplete:r,custom:c,presenceAffectsLayout:d,mode:u})=>{const p=$m(vD),m=y.useId(),g=y.useCallback(_=>{p.set(_,!0);for(const b of p.values())if(!b)return;r&&r()},[p,r]),v=y.useMemo(()=>({id:m,initial:s,isPresent:o,custom:c,onExitComplete:g,register:_=>(p.set(_,!1),()=>p.delete(_))}),d?[Math.random(),g]:[o,g]);return y.useMemo(()=>{p.forEach((_,b)=>p.set(b,!1))},[o]),y.useEffect(()=>{!o&&!p.size&&r&&r()},[o]),u==="popLayout"&&(t=a.jsx(hD,{isPresent:o,children:t})),a.jsx(zd.Provider,{value:v,children:t})};function vD(){return new Map}function dx(t=!0){const s=y.useContext(zd);if(s===null)return[!0,null];const{isPresent:o,onExitComplete:r,register:c}=s,d=y.useId();y.useEffect(()=>{t&&c(d)},[t]);const u=y.useCallback(()=>t&&r&&r(d),[d,r,t]);return!o&&r?[!1,u]:[!0]}const Gc=t=>t.key||"";function Py(t){const s=[];return y.Children.forEach(t,o=>{y.isValidElement(o)&&s.push(o)}),s}const Hm=typeof window<"u",ux=Hm?y.useLayoutEffect:y.useEffect,rs=({children:t,custom:s,initial:o=!0,onExitComplete:r,presenceAffectsLayout:c=!0,mode:d="sync",propagate:u=!1})=>{const[p,m]=dx(u),g=y.useMemo(()=>Py(t),[t]),v=u&&!p?[]:g.map(Gc),_=y.useRef(!0),b=y.useRef(g),x=$m(()=>new Map),[k,j]=y.useState(g),[w,T]=y.useState(g);ux(()=>{_.current=!1,b.current=g;for(let L=0;L<w.length;L++){const E=Gc(w[L]);v.includes(E)?x.delete(E):x.get(E)!==!0&&x.set(E,!1)}},[w,v.length,v.join("-")]);const C=[];if(g!==k){let L=[...g];for(let E=0;E<w.length;E++){const O=w[E],z=Gc(O);v.includes(z)||(L.splice(E,0,O),C.push(O))}d==="wait"&&C.length&&(L=C),T(Py(L)),j(g);return}const{forceRender:A}=y.useContext(Bm);return a.jsx(a.Fragment,{children:w.map(L=>{const E=Gc(L),O=u&&!p?!1:g===w||v.includes(E),z=()=>{if(x.has(E))x.set(E,!0);else return;let D=!0;x.forEach(H=>{H||(D=!1)}),D&&(A==null||A(),T(b.current),u&&(m==null||m()),r&&r())};return a.jsx(gD,{isPresent:O,initial:!_.current||o?void 0:!1,custom:O?void 0:s,presenceAffectsLayout:c,mode:d,onExitComplete:O?void 0:z,children:L},E)})})},zn=t=>t;let fx=zn;const yD={useManualTiming:!1};function bD(t){let s=new Set,o=new Set,r=!1,c=!1;const d=new WeakSet;let u={delta:0,timestamp:0,isProcessing:!1};function p(g){d.has(g)&&(m.schedule(g),t()),g(u)}const m={schedule:(g,v=!1,_=!1)=>{const x=_&&r?s:o;return v&&d.add(g),x.has(g)||x.add(g),g},cancel:g=>{o.delete(g),d.delete(g)},process:g=>{if(u=g,r){c=!0;return}r=!0,[s,o]=[o,s],s.forEach(p),s.clear(),r=!1,c&&(c=!1,m.process(g))}};return m}const qc=["read","resolveKeyframes","update","preRender","render","postRender"],_D=40;function px(t,s){let o=!1,r=!0;const c={delta:0,timestamp:0,isProcessing:!1},d=()=>o=!0,u=qc.reduce((T,C)=>(T[C]=bD(d),T),{}),{read:p,resolveKeyframes:m,update:g,preRender:v,render:_,postRender:b}=u,x=()=>{const T=performance.now();o=!1,c.delta=r?1e3/60:Math.max(Math.min(T-c.timestamp,_D),1),c.timestamp=T,c.isProcessing=!0,p.process(c),m.process(c),g.process(c),v.process(c),_.process(c),b.process(c),c.isProcessing=!1,o&&s&&(r=!1,t(x))},k=()=>{o=!0,r=!0,c.isProcessing||t(x)};return{schedule:qc.reduce((T,C)=>{const A=u[C];return T[C]=(L,E=!1,O=!1)=>(o||k(),A.schedule(L,E,O)),T},{}),cancel:T=>{for(let C=0;C<qc.length;C++)u[qc[C]].cancel(T)},state:c,steps:u}}const{schedule:Nt,cancel:Xa,state:fn,steps:Tp}=px(typeof requestAnimationFrame<"u"?requestAnimationFrame:zn,!0),mx=y.createContext({strict:!1}),Uy={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Ho={};for(const t in Uy)Ho[t]={isEnabled:s=>Uy[t].some(o=>!!s[o])};function xD(t){for(const s in t)Ho[s]={...Ho[s],...t[s]}}const kD=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function md(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||kD.has(t)}let hx=t=>!md(t);function SD(t){t&&(hx=s=>s.startsWith("on")?!md(s):t(s))}try{SD(require("@emotion/is-prop-valid").default)}catch{}function jD(t,s,o){const r={};for(const c in t)c==="values"&&typeof t.values=="object"||(hx(c)||o===!0&&md(c)||!s&&!md(c)||t.draggable&&c.startsWith("onDrag"))&&(r[c]=t[c]);return r}function TD(t){if(typeof Proxy>"u")return t;const s=new Map,o=(...r)=>t(...r);return new Proxy(o,{get:(r,c)=>c==="create"?t:(s.has(c)||s.set(c,t(c)),s.get(c))})}const Hd=y.createContext({});function dl(t){return typeof t=="string"||Array.isArray(t)}function Pd(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}const Pm=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Um=["initial",...Pm];function Ud(t){return Pd(t.animate)||Um.some(s=>dl(t[s]))}function gx(t){return!!(Ud(t)||t.variants)}function wD(t,s){if(Ud(t)){const{initial:o,animate:r}=t;return{initial:o===!1||dl(o)?o:void 0,animate:dl(r)?r:void 0}}return t.inherit!==!1?s:{}}function ND(t){const{initial:s,animate:o}=wD(t,y.useContext(Hd));return y.useMemo(()=>({initial:s,animate:o}),[Vy(s),Vy(o)])}function Vy(t){return Array.isArray(t)?t.join(" "):t}const CD=Symbol.for("motionComponentSymbol");function Mo(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function ED(t,s,o){return y.useCallback(r=>{r&&t.onMount&&t.onMount(r),s&&(r?s.mount(r):s.unmount()),o&&(typeof o=="function"?o(r):Mo(o)&&(o.current=r))},[s])}const Vm=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),AD="framerAppearId",vx="data-"+Vm(AD),{schedule:Gm}=px(queueMicrotask,!1),yx=y.createContext({});function DD(t,s,o,r,c){var d,u;const{visualElement:p}=y.useContext(Hd),m=y.useContext(mx),g=y.useContext(zd),v=y.useContext(zm).reducedMotion,_=y.useRef(null);r=r||m.renderer,!_.current&&r&&(_.current=r(t,{visualState:s,parent:p,props:o,presenceContext:g,blockInitialAnimation:g?g.initial===!1:!1,reducedMotionConfig:v}));const b=_.current,x=y.useContext(yx);b&&!b.projection&&c&&(b.type==="html"||b.type==="svg")&&RD(_.current,o,c,x);const k=y.useRef(!1);y.useInsertionEffect(()=>{b&&k.current&&b.update(o,g)});const j=o[vx],w=y.useRef(!!j&&!(!((d=window.MotionHandoffIsComplete)===null||d===void 0)&&d.call(window,j))&&((u=window.MotionHasOptimisedAnimation)===null||u===void 0?void 0:u.call(window,j)));return ux(()=>{b&&(k.current=!0,window.MotionIsMounted=!0,b.updateFeatures(),Gm.render(b.render),w.current&&b.animationState&&b.animationState.animateChanges())}),y.useEffect(()=>{b&&(!w.current&&b.animationState&&b.animationState.animateChanges(),w.current&&(queueMicrotask(()=>{var T;(T=window.MotionHandoffMarkAsComplete)===null||T===void 0||T.call(window,j)}),w.current=!1))}),b}function RD(t,s,o,r){const{layoutId:c,layout:d,drag:u,dragConstraints:p,layoutScroll:m,layoutRoot:g}=s;t.projection=new o(t.latestValues,s["data-framer-portal-id"]?void 0:bx(t.parent)),t.projection.setOptions({layoutId:c,layout:d,alwaysMeasureLayout:!!u||p&&Mo(p),visualElement:t,animationType:typeof d=="string"?d:"both",initialPromotionConfig:r,layoutScroll:m,layoutRoot:g})}function bx(t){if(t)return t.options.allowProjection!==!1?t.projection:bx(t.parent)}function MD({preloadedFeatures:t,createVisualElement:s,useRender:o,useVisualState:r,Component:c}){var d,u;t&&xD(t);function p(g,v){let _;const b={...y.useContext(zm),...g,layoutId:ID(g)},{isStatic:x}=b,k=ND(g),j=r(g,x);if(!x&&Hm){OD();const w=LD(b);_=w.MeasureLayout,k.visualElement=DD(c,j,b,s,w.ProjectionNode)}return a.jsxs(Hd.Provider,{value:k,children:[_&&k.visualElement?a.jsx(_,{visualElement:k.visualElement,...b}):null,o(c,g,ED(j,k.visualElement,v),j,x,k.visualElement)]})}p.displayName=`motion.${typeof c=="string"?c:`create(${(u=(d=c.displayName)!==null&&d!==void 0?d:c.name)!==null&&u!==void 0?u:""})`}`;const m=y.forwardRef(p);return m[CD]=c,m}function ID({layoutId:t}){const s=y.useContext(Bm).id;return s&&t!==void 0?s+"-"+t:t}function OD(t,s){y.useContext(mx).strict}function LD(t){const{drag:s,layout:o}=Ho;if(!s&&!o)return{};const r={...s,...o};return{MeasureLayout:s!=null&&s.isEnabled(t)||o!=null&&o.isEnabled(t)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}const BD=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function qm(t){return typeof t!="string"||t.includes("-")?!1:!!(BD.indexOf(t)>-1||/[A-Z]/u.test(t))}function Gy(t){const s=[{},{}];return t==null||t.values.forEach((o,r)=>{s[0][r]=o.get(),s[1][r]=o.getVelocity()}),s}function Fm(t,s,o,r){if(typeof s=="function"){const[c,d]=Gy(r);s=s(o!==void 0?o:t.custom,c,d)}if(typeof s=="string"&&(s=t.variants&&t.variants[s]),typeof s=="function"){const[c,d]=Gy(r);s=s(o!==void 0?o:t.custom,c,d)}return s}const am=t=>Array.isArray(t),$D=t=>!!(t&&typeof t=="object"&&t.mix&&t.toValue),zD=t=>am(t)?t[t.length-1]||0:t,vn=t=>!!(t&&t.getVelocity);function id(t){const s=vn(t)?t.get():t;return $D(s)?s.toValue():s}function HD({scrapeMotionValuesFromProps:t,createRenderState:s,onUpdate:o},r,c,d){const u={latestValues:PD(r,c,d,t),renderState:s()};return o&&(u.onMount=p=>o({props:r,current:p,...u}),u.onUpdate=p=>o(p)),u}const _x=t=>(s,o)=>{const r=y.useContext(Hd),c=y.useContext(zd),d=()=>HD(t,s,r,c);return o?d():$m(d)};function PD(t,s,o,r){const c={},d=r(t,{});for(const b in d)c[b]=id(d[b]);let{initial:u,animate:p}=t;const m=Ud(t),g=gx(t);s&&g&&!m&&t.inherit!==!1&&(u===void 0&&(u=s.initial),p===void 0&&(p=s.animate));let v=o?o.initial===!1:!1;v=v||u===!1;const _=v?p:u;if(_&&typeof _!="boolean"&&!Pd(_)){const b=Array.isArray(_)?_:[_];for(let x=0;x<b.length;x++){const k=Fm(t,b[x]);if(k){const{transitionEnd:j,transition:w,...T}=k;for(const C in T){let A=T[C];if(Array.isArray(A)){const L=v?A.length-1:0;A=A[L]}A!==null&&(c[C]=A)}for(const C in j)c[C]=j[C]}}}return c}const Zo=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],zi=new Set(Zo),xx=t=>s=>typeof s=="string"&&s.startsWith(t),kx=xx("--"),UD=xx("var(--"),Zm=t=>UD(t)?VD.test(t.split("/*")[0].trim()):!1,VD=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Sx=(t,s)=>s&&typeof t=="number"?s.transform(t):t,fa=(t,s,o)=>o>s?s:o<t?t:o,Ko={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},ul={...Ko,transform:t=>fa(0,1,t)},Fc={...Ko,default:1},_l=t=>({test:s=>typeof s=="string"&&s.endsWith(t)&&s.split(" ").length===1,parse:parseFloat,transform:s=>`${s}${t}`}),Ya=_l("deg"),Ls=_l("%"),De=_l("px"),GD=_l("vh"),qD=_l("vw"),qy={...Ls,parse:t=>Ls.parse(t)/100,transform:t=>Ls.transform(t*100)},FD={borderWidth:De,borderTopWidth:De,borderRightWidth:De,borderBottomWidth:De,borderLeftWidth:De,borderRadius:De,radius:De,borderTopLeftRadius:De,borderTopRightRadius:De,borderBottomRightRadius:De,borderBottomLeftRadius:De,width:De,maxWidth:De,height:De,maxHeight:De,top:De,right:De,bottom:De,left:De,padding:De,paddingTop:De,paddingRight:De,paddingBottom:De,paddingLeft:De,margin:De,marginTop:De,marginRight:De,marginBottom:De,marginLeft:De,backgroundPositionX:De,backgroundPositionY:De},ZD={rotate:Ya,rotateX:Ya,rotateY:Ya,rotateZ:Ya,scale:Fc,scaleX:Fc,scaleY:Fc,scaleZ:Fc,skew:Ya,skewX:Ya,skewY:Ya,distance:De,translateX:De,translateY:De,translateZ:De,x:De,y:De,z:De,perspective:De,transformPerspective:De,opacity:ul,originX:qy,originY:qy,originZ:De},Fy={...Ko,transform:Math.round},Km={...FD,...ZD,zIndex:Fy,size:De,fillOpacity:ul,strokeOpacity:ul,numOctaves:Fy},KD={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},YD=Zo.length;function JD(t,s,o){let r="",c=!0;for(let d=0;d<YD;d++){const u=Zo[d],p=t[u];if(p===void 0)continue;let m=!0;if(typeof p=="number"?m=p===(u.startsWith("scale")?1:0):m=parseFloat(p)===0,!m||o){const g=Sx(p,Km[u]);if(!m){c=!1;const v=KD[u]||u;r+=`${v}(${g}) `}o&&(s[u]=g)}}return r=r.trim(),o?r=o(s,c?"":r):c&&(r="none"),r}function Ym(t,s,o){const{style:r,vars:c,transformOrigin:d}=t;let u=!1,p=!1;for(const m in s){const g=s[m];if(zi.has(m)){u=!0;continue}else if(kx(m)){c[m]=g;continue}else{const v=Sx(g,Km[m]);m.startsWith("origin")?(p=!0,d[m]=v):r[m]=v}}if(s.transform||(u||o?r.transform=JD(s,t.transform,o):r.transform&&(r.transform="none")),p){const{originX:m="50%",originY:g="50%",originZ:v=0}=d;r.transformOrigin=`${m} ${g} ${v}`}}const WD={offset:"stroke-dashoffset",array:"stroke-dasharray"},XD={offset:"strokeDashoffset",array:"strokeDasharray"};function QD(t,s,o=1,r=0,c=!0){t.pathLength=1;const d=c?WD:XD;t[d.offset]=De.transform(-r);const u=De.transform(s),p=De.transform(o);t[d.array]=`${u} ${p}`}function Zy(t,s,o){return typeof t=="string"?t:De.transform(s+o*t)}function eR(t,s,o){const r=Zy(s,t.x,t.width),c=Zy(o,t.y,t.height);return`${r} ${c}`}function Jm(t,{attrX:s,attrY:o,attrScale:r,originX:c,originY:d,pathLength:u,pathSpacing:p=1,pathOffset:m=0,...g},v,_){if(Ym(t,g,_),v){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:b,style:x,dimensions:k}=t;b.transform&&(k&&(x.transform=b.transform),delete b.transform),k&&(c!==void 0||d!==void 0||x.transform)&&(x.transformOrigin=eR(k,c!==void 0?c:.5,d!==void 0?d:.5)),s!==void 0&&(b.x=s),o!==void 0&&(b.y=o),r!==void 0&&(b.scale=r),u!==void 0&&QD(b,u,p,m,!1)}const Wm=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),jx=()=>({...Wm(),attrs:{}}),Xm=t=>typeof t=="string"&&t.toLowerCase()==="svg";function Tx(t,{style:s,vars:o},r,c){Object.assign(t.style,s,c&&c.getProjectionStyles(r));for(const d in o)t.style.setProperty(d,o[d])}const wx=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Nx(t,s,o,r){Tx(t,s,void 0,r);for(const c in s.attrs)t.setAttribute(wx.has(c)?c:Vm(c),s.attrs[c])}const hd={};function tR(t){Object.assign(hd,t)}function Cx(t,{layout:s,layoutId:o}){return zi.has(t)||t.startsWith("origin")||(s||o!==void 0)&&(!!hd[t]||t==="opacity")}function Qm(t,s,o){var r;const{style:c}=t,d={};for(const u in c)(vn(c[u])||s.style&&vn(s.style[u])||Cx(u,t)||((r=o==null?void 0:o.getValue(u))===null||r===void 0?void 0:r.liveStyle)!==void 0)&&(d[u]=c[u]);return d}function Ex(t,s,o){const r=Qm(t,s,o);for(const c in t)if(vn(t[c])||vn(s[c])){const d=Zo.indexOf(c)!==-1?"attr"+c.charAt(0).toUpperCase()+c.substring(1):c;r[d]=t[c]}return r}function nR(t,s){try{s.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{s.dimensions={x:0,y:0,width:0,height:0}}}const Ky=["x","y","width","height","cx","cy","r"],sR={useVisualState:_x({scrapeMotionValuesFromProps:Ex,createRenderState:jx,onUpdate:({props:t,prevProps:s,current:o,renderState:r,latestValues:c})=>{if(!o)return;let d=!!t.drag;if(!d){for(const p in c)if(zi.has(p)){d=!0;break}}if(!d)return;let u=!s;if(s)for(let p=0;p<Ky.length;p++){const m=Ky[p];t[m]!==s[m]&&(u=!0)}u&&Nt.read(()=>{nR(o,r),Nt.render(()=>{Jm(r,c,Xm(o.tagName),t.transformTemplate),Nx(o,r)})})}})},aR={useVisualState:_x({scrapeMotionValuesFromProps:Qm,createRenderState:Wm})};function Ax(t,s,o){for(const r in s)!vn(s[r])&&!Cx(r,o)&&(t[r]=s[r])}function iR({transformTemplate:t},s){return y.useMemo(()=>{const o=Wm();return Ym(o,s,t),Object.assign({},o.vars,o.style)},[s])}function oR(t,s){const o=t.style||{},r={};return Ax(r,o,t),Object.assign(r,iR(t,s)),r}function rR(t,s){const o={},r=oR(t,s);return t.drag&&t.dragListener!==!1&&(o.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(o.tabIndex=0),o.style=r,o}function lR(t,s,o,r){const c=y.useMemo(()=>{const d=jx();return Jm(d,s,Xm(r),t.transformTemplate),{...d.attrs,style:{...d.style}}},[s]);if(t.style){const d={};Ax(d,t.style,t),c.style={...d,...c.style}}return c}function cR(t=!1){return(o,r,c,{latestValues:d},u)=>{const m=(qm(o)?lR:rR)(r,d,u,o),g=jD(r,typeof o=="string",t),v=o!==y.Fragment?{...g,...m,ref:c}:{},{children:_}=r,b=y.useMemo(()=>vn(_)?_.get():_,[_]);return y.createElement(o,{...v,children:b})}}function dR(t,s){return function(r,{forwardMotionProps:c}={forwardMotionProps:!1}){const u={...qm(r)?sR:aR,preloadedFeatures:t,useRender:cR(c),createVisualElement:s,Component:r};return MD(u)}}function Dx(t,s){if(!Array.isArray(s))return!1;const o=s.length;if(o!==t.length)return!1;for(let r=0;r<o;r++)if(s[r]!==t[r])return!1;return!0}function Vd(t,s,o){const r=t.getProps();return Fm(r,s,o!==void 0?o:r.custom,t)}function eh(t,s){return t?t[s]||t.default||t:void 0}const Rx=new Set(["width","height","top","left","right","bottom",...Zo]);let od;function uR(){od=void 0}const Bs={now:()=>(od===void 0&&Bs.set(fn.isProcessing||yD.useManualTiming?fn.timestamp:performance.now()),od),set:t=>{od=t,queueMicrotask(uR)}};function th(t,s){t.indexOf(s)===-1&&t.push(s)}function nh(t,s){const o=t.indexOf(s);o>-1&&t.splice(o,1)}class sh{constructor(){this.subscriptions=[]}add(s){return th(this.subscriptions,s),()=>nh(this.subscriptions,s)}notify(s,o,r){const c=this.subscriptions.length;if(c)if(c===1)this.subscriptions[0](s,o,r);else for(let d=0;d<c;d++){const u=this.subscriptions[d];u&&u(s,o,r)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function Mx(t,s){return s?t*(1e3/s):0}const Yy=30,fR=t=>!isNaN(parseFloat(t));class pR{constructor(s,o={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(r,c=!0)=>{const d=Bs.now();this.updatedAt!==d&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),c&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(s),this.owner=o.owner}setCurrent(s){this.current=s,this.updatedAt=Bs.now(),this.canTrackVelocity===null&&s!==void 0&&(this.canTrackVelocity=fR(this.current))}setPrevFrameValue(s=this.current){this.prevFrameValue=s,this.prevUpdatedAt=this.updatedAt}onChange(s){return this.on("change",s)}on(s,o){this.events[s]||(this.events[s]=new sh);const r=this.events[s].add(o);return s==="change"?()=>{r(),Nt.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const s in this.events)this.events[s].clear()}attach(s,o){this.passiveEffect=s,this.stopPassiveEffect=o}set(s,o=!0){!o||!this.passiveEffect?this.updateAndNotify(s,o):this.passiveEffect(s,this.updateAndNotify)}setWithVelocity(s,o,r){this.set(o),this.prev=void 0,this.prevFrameValue=s,this.prevUpdatedAt=this.updatedAt-r}jump(s,o=!0){this.updateAndNotify(s),this.prev=s,this.prevUpdatedAt=this.prevFrameValue=void 0,o&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const s=Bs.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||s-this.updatedAt>Yy)return 0;const o=Math.min(this.updatedAt-this.prevUpdatedAt,Yy);return Mx(parseFloat(this.current)-parseFloat(this.prevFrameValue),o)}start(s){return this.stop(),new Promise(o=>{this.hasAnimated=!0,this.animation=s(o),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function fl(t,s){return new pR(t,s)}function mR(t,s,o){t.hasValue(s)?t.getValue(s).set(o):t.addValue(s,fl(o))}function hR(t,s){const o=Vd(t,s);let{transitionEnd:r={},transition:c={},...d}=o||{};d={...d,...r};for(const u in d){const p=zD(d[u]);mR(t,u,p)}}function gR(t){return!!(vn(t)&&t.add)}function im(t,s){const o=t.getValue("willChange");if(gR(o))return o.add(s)}function Ix(t){return t.props[vx]}function ah(t){let s;return()=>(s===void 0&&(s=t()),s)}const vR=ah(()=>window.ScrollTimeline!==void 0);class yR{constructor(s){this.stop=()=>this.runAll("stop"),this.animations=s.filter(Boolean)}get finished(){return Promise.all(this.animations.map(s=>"finished"in s?s.finished:s))}getAll(s){return this.animations[0][s]}setAll(s,o){for(let r=0;r<this.animations.length;r++)this.animations[r][s]=o}attachTimeline(s,o){const r=this.animations.map(c=>{if(vR()&&c.attachTimeline)return c.attachTimeline(s);if(typeof o=="function")return o(c)});return()=>{r.forEach((c,d)=>{c&&c(),this.animations[d].stop()})}}get time(){return this.getAll("time")}set time(s){this.setAll("time",s)}get speed(){return this.getAll("speed")}set speed(s){this.setAll("speed",s)}get startTime(){return this.getAll("startTime")}get duration(){let s=0;for(let o=0;o<this.animations.length;o++)s=Math.max(s,this.animations[o].duration);return s}runAll(s){this.animations.forEach(o=>o[s]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class bR extends yR{then(s,o){return Promise.all(this.animations).then(s).catch(o)}}const ra=t=>t*1e3,la=t=>t/1e3;function ih(t){return typeof t=="function"}function Jy(t,s){t.timeline=s,t.onfinish=null}const oh=t=>Array.isArray(t)&&typeof t[0]=="number",_R={linearEasing:void 0};function xR(t,s){const o=ah(t);return()=>{var r;return(r=_R[s])!==null&&r!==void 0?r:o()}}const gd=xR(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Po=(t,s,o)=>{const r=s-t;return r===0?1:(o-t)/r},Ox=(t,s,o=10)=>{let r="";const c=Math.max(Math.round(s/o),2);for(let d=0;d<c;d++)r+=t(Po(0,c-1,d))+", ";return`linear(${r.substring(0,r.length-2)})`};function Lx(t){return!!(typeof t=="function"&&gd()||!t||typeof t=="string"&&(t in om||gd())||oh(t)||Array.isArray(t)&&t.every(Lx))}const Yr=([t,s,o,r])=>`cubic-bezier(${t}, ${s}, ${o}, ${r})`,om={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Yr([0,.65,.55,1]),circOut:Yr([.55,0,1,.45]),backIn:Yr([.31,.01,.66,-.59]),backOut:Yr([.33,1.53,.69,.99])};function Bx(t,s){if(t)return typeof t=="function"&&gd()?Ox(t,s):oh(t)?Yr(t):Array.isArray(t)?t.map(o=>Bx(o,s)||om.easeOut):om[t]}const $x=(t,s,o)=>(((1-3*o+3*s)*t+(3*o-6*s))*t+3*s)*t,kR=1e-7,SR=12;function jR(t,s,o,r,c){let d,u,p=0;do u=s+(o-s)/2,d=$x(u,r,c)-t,d>0?o=u:s=u;while(Math.abs(d)>kR&&++p<SR);return u}function xl(t,s,o,r){if(t===s&&o===r)return zn;const c=d=>jR(d,0,1,t,o);return d=>d===0||d===1?d:$x(c(d),s,r)}const zx=t=>s=>s<=.5?t(2*s)/2:(2-t(2*(1-s)))/2,Hx=t=>s=>1-t(1-s),Px=xl(.33,1.53,.69,.99),rh=Hx(Px),Ux=zx(rh),Vx=t=>(t*=2)<1?.5*rh(t):.5*(2-Math.pow(2,-10*(t-1))),lh=t=>1-Math.sin(Math.acos(t)),Gx=Hx(lh),qx=zx(lh),Fx=t=>/^0[^.\s]+$/u.test(t);function TR(t){return typeof t=="number"?t===0:t!==null?t==="none"||t==="0"||Fx(t):!0}const el=t=>Math.round(t*1e5)/1e5,ch=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function wR(t){return t==null}const NR=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,dh=(t,s)=>o=>!!(typeof o=="string"&&NR.test(o)&&o.startsWith(t)||s&&!wR(o)&&Object.prototype.hasOwnProperty.call(o,s)),Zx=(t,s,o)=>r=>{if(typeof r!="string")return r;const[c,d,u,p]=r.match(ch);return{[t]:parseFloat(c),[s]:parseFloat(d),[o]:parseFloat(u),alpha:p!==void 0?parseFloat(p):1}},CR=t=>fa(0,255,t),wp={...Ko,transform:t=>Math.round(CR(t))},Ei={test:dh("rgb","red"),parse:Zx("red","green","blue"),transform:({red:t,green:s,blue:o,alpha:r=1})=>"rgba("+wp.transform(t)+", "+wp.transform(s)+", "+wp.transform(o)+", "+el(ul.transform(r))+")"};function ER(t){let s="",o="",r="",c="";return t.length>5?(s=t.substring(1,3),o=t.substring(3,5),r=t.substring(5,7),c=t.substring(7,9)):(s=t.substring(1,2),o=t.substring(2,3),r=t.substring(3,4),c=t.substring(4,5),s+=s,o+=o,r+=r,c+=c),{red:parseInt(s,16),green:parseInt(o,16),blue:parseInt(r,16),alpha:c?parseInt(c,16)/255:1}}const rm={test:dh("#"),parse:ER,transform:Ei.transform},Io={test:dh("hsl","hue"),parse:Zx("hue","saturation","lightness"),transform:({hue:t,saturation:s,lightness:o,alpha:r=1})=>"hsla("+Math.round(t)+", "+Ls.transform(el(s))+", "+Ls.transform(el(o))+", "+el(ul.transform(r))+")"},gn={test:t=>Ei.test(t)||rm.test(t)||Io.test(t),parse:t=>Ei.test(t)?Ei.parse(t):Io.test(t)?Io.parse(t):rm.parse(t),transform:t=>typeof t=="string"?t:t.hasOwnProperty("red")?Ei.transform(t):Io.transform(t)},AR=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function DR(t){var s,o;return isNaN(t)&&typeof t=="string"&&(((s=t.match(ch))===null||s===void 0?void 0:s.length)||0)+(((o=t.match(AR))===null||o===void 0?void 0:o.length)||0)>0}const Kx="number",Yx="color",RR="var",MR="var(",Wy="${}",IR=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function pl(t){const s=t.toString(),o=[],r={color:[],number:[],var:[]},c=[];let d=0;const p=s.replace(IR,m=>(gn.test(m)?(r.color.push(d),c.push(Yx),o.push(gn.parse(m))):m.startsWith(MR)?(r.var.push(d),c.push(RR),o.push(m)):(r.number.push(d),c.push(Kx),o.push(parseFloat(m))),++d,Wy)).split(Wy);return{values:o,split:p,indexes:r,types:c}}function Jx(t){return pl(t).values}function Wx(t){const{split:s,types:o}=pl(t),r=s.length;return c=>{let d="";for(let u=0;u<r;u++)if(d+=s[u],c[u]!==void 0){const p=o[u];p===Kx?d+=el(c[u]):p===Yx?d+=gn.transform(c[u]):d+=c[u]}return d}}const OR=t=>typeof t=="number"?0:t;function LR(t){const s=Jx(t);return Wx(t)(s.map(OR))}const Qa={test:DR,parse:Jx,createTransformer:Wx,getAnimatableNone:LR},BR=new Set(["brightness","contrast","saturate","opacity"]);function $R(t){const[s,o]=t.slice(0,-1).split("(");if(s==="drop-shadow")return t;const[r]=o.match(ch)||[];if(!r)return t;const c=o.replace(r,"");let d=BR.has(s)?1:0;return r!==o&&(d*=100),s+"("+d+c+")"}const zR=/\b([a-z-]*)\(.*?\)/gu,lm={...Qa,getAnimatableNone:t=>{const s=t.match(zR);return s?s.map($R).join(" "):t}},HR={...Km,color:gn,backgroundColor:gn,outlineColor:gn,fill:gn,stroke:gn,borderColor:gn,borderTopColor:gn,borderRightColor:gn,borderBottomColor:gn,borderLeftColor:gn,filter:lm,WebkitFilter:lm},uh=t=>HR[t];function Xx(t,s){let o=uh(t);return o!==lm&&(o=Qa),o.getAnimatableNone?o.getAnimatableNone(s):void 0}const PR=new Set(["auto","none","0"]);function UR(t,s,o){let r=0,c;for(;r<t.length&&!c;){const d=t[r];typeof d=="string"&&!PR.has(d)&&pl(d).values.length&&(c=t[r]),r++}if(c&&o)for(const d of s)t[d]=Xx(o,c)}const Xy=t=>t===Ko||t===De,Qy=(t,s)=>parseFloat(t.split(", ")[s]),eb=(t,s)=>(o,{transform:r})=>{if(r==="none"||!r)return 0;const c=r.match(/^matrix3d\((.+)\)$/u);if(c)return Qy(c[1],s);{const d=r.match(/^matrix\((.+)\)$/u);return d?Qy(d[1],t):0}},VR=new Set(["x","y","z"]),GR=Zo.filter(t=>!VR.has(t));function qR(t){const s=[];return GR.forEach(o=>{const r=t.getValue(o);r!==void 0&&(s.push([o,r.get()]),r.set(o.startsWith("scale")?1:0))}),s}const Uo={width:({x:t},{paddingLeft:s="0",paddingRight:o="0"})=>t.max-t.min-parseFloat(s)-parseFloat(o),height:({y:t},{paddingTop:s="0",paddingBottom:o="0"})=>t.max-t.min-parseFloat(s)-parseFloat(o),top:(t,{top:s})=>parseFloat(s),left:(t,{left:s})=>parseFloat(s),bottom:({y:t},{top:s})=>parseFloat(s)+(t.max-t.min),right:({x:t},{left:s})=>parseFloat(s)+(t.max-t.min),x:eb(4,13),y:eb(5,14)};Uo.translateX=Uo.x;Uo.translateY=Uo.y;const Di=new Set;let cm=!1,dm=!1;function Qx(){if(dm){const t=Array.from(Di).filter(r=>r.needsMeasurement),s=new Set(t.map(r=>r.element)),o=new Map;s.forEach(r=>{const c=qR(r);c.length&&(o.set(r,c),r.render())}),t.forEach(r=>r.measureInitialState()),s.forEach(r=>{r.render();const c=o.get(r);c&&c.forEach(([d,u])=>{var p;(p=r.getValue(d))===null||p===void 0||p.set(u)})}),t.forEach(r=>r.measureEndState()),t.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}dm=!1,cm=!1,Di.forEach(t=>t.complete()),Di.clear()}function e1(){Di.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(dm=!0)})}function FR(){e1(),Qx()}class fh{constructor(s,o,r,c,d,u=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...s],this.onComplete=o,this.name=r,this.motionValue=c,this.element=d,this.isAsync=u}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Di.add(this),cm||(cm=!0,Nt.read(e1),Nt.resolveKeyframes(Qx))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:s,name:o,element:r,motionValue:c}=this;for(let d=0;d<s.length;d++)if(s[d]===null)if(d===0){const u=c==null?void 0:c.get(),p=s[s.length-1];if(u!==void 0)s[0]=u;else if(r&&o){const m=r.readValue(o,p);m!=null&&(s[0]=m)}s[0]===void 0&&(s[0]=p),c&&u===void 0&&c.set(s[0])}else s[d]=s[d-1]}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe),Di.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,Di.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const t1=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),ZR=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function KR(t){const s=ZR.exec(t);if(!s)return[,];const[,o,r,c]=s;return[`--${o??r}`,c]}function n1(t,s,o=1){const[r,c]=KR(t);if(!r)return;const d=window.getComputedStyle(s).getPropertyValue(r);if(d){const u=d.trim();return t1(u)?parseFloat(u):u}return Zm(c)?n1(c,s,o+1):c}const s1=t=>s=>s.test(t),YR={test:t=>t==="auto",parse:t=>t},a1=[Ko,De,Ls,Ya,qD,GD,YR],tb=t=>a1.find(s1(t));class i1 extends fh{constructor(s,o,r,c,d){super(s,o,r,c,d,!0)}readKeyframes(){const{unresolvedKeyframes:s,element:o,name:r}=this;if(!o||!o.current)return;super.readKeyframes();for(let m=0;m<s.length;m++){let g=s[m];if(typeof g=="string"&&(g=g.trim(),Zm(g))){const v=n1(g,o.current);v!==void 0&&(s[m]=v),m===s.length-1&&(this.finalKeyframe=g)}}if(this.resolveNoneKeyframes(),!Rx.has(r)||s.length!==2)return;const[c,d]=s,u=tb(c),p=tb(d);if(u!==p)if(Xy(u)&&Xy(p))for(let m=0;m<s.length;m++){const g=s[m];typeof g=="string"&&(s[m]=parseFloat(g))}else this.needsMeasurement=!0}resolveNoneKeyframes(){const{unresolvedKeyframes:s,name:o}=this,r=[];for(let c=0;c<s.length;c++)TR(s[c])&&r.push(c);r.length&&UR(s,r,o)}measureInitialState(){const{element:s,unresolvedKeyframes:o,name:r}=this;if(!s||!s.current)return;r==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Uo[r](s.measureViewportBox(),window.getComputedStyle(s.current)),o[0]=this.measuredOrigin;const c=o[o.length-1];c!==void 0&&s.getValue(r,c).jump(c,!1)}measureEndState(){var s;const{element:o,name:r,unresolvedKeyframes:c}=this;if(!o||!o.current)return;const d=o.getValue(r);d&&d.jump(this.measuredOrigin,!1);const u=c.length-1,p=c[u];c[u]=Uo[r](o.measureViewportBox(),window.getComputedStyle(o.current)),p!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=p),!((s=this.removedTransforms)===null||s===void 0)&&s.length&&this.removedTransforms.forEach(([m,g])=>{o.getValue(m).set(g)}),this.resolveNoneKeyframes()}}const nb=(t,s)=>s==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Qa.test(t)||t==="0")&&!t.startsWith("url("));function JR(t){const s=t[0];if(t.length===1)return!0;for(let o=0;o<t.length;o++)if(t[o]!==s)return!0}function WR(t,s,o,r){const c=t[0];if(c===null)return!1;if(s==="display"||s==="visibility")return!0;const d=t[t.length-1],u=nb(c,s),p=nb(d,s);return!u||!p?!1:JR(t)||(o==="spring"||ih(o))&&r}const XR=t=>t!==null;function Gd(t,{repeat:s,repeatType:o="loop"},r){const c=t.filter(XR),d=s&&o!=="loop"&&s%2===1?0:c.length-1;return!d||r===void 0?c[d]:r}const QR=40;class o1{constructor({autoplay:s=!0,delay:o=0,type:r="keyframes",repeat:c=0,repeatDelay:d=0,repeatType:u="loop",...p}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=Bs.now(),this.options={autoplay:s,delay:o,type:r,repeat:c,repeatDelay:d,repeatType:u,...p},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>QR?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&FR(),this._resolved}onKeyframesResolved(s,o){this.resolvedAt=Bs.now(),this.hasAttemptedResolve=!0;const{name:r,type:c,velocity:d,delay:u,onComplete:p,onUpdate:m,isGenerator:g}=this.options;if(!g&&!WR(s,r,c,d))if(u)this.options.duration=0;else{m&&m(Gd(s,this.options,o)),p&&p(),this.resolveFinishedPromise();return}const v=this.initPlayback(s,o);v!==!1&&(this._resolved={keyframes:s,finalKeyframe:o,...v},this.onPostResolved())}onPostResolved(){}then(s,o){return this.currentFinishedPromise.then(s,o)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(s=>{this.resolveFinishedPromise=s})}}const um=2e4;function r1(t){let s=0;const o=50;let r=t.next(s);for(;!r.done&&s<um;)s+=o,r=t.next(s);return s>=um?1/0:s}const Ot=(t,s,o)=>t+(s-t)*o;function Np(t,s,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?t+(s-t)*6*o:o<1/2?s:o<2/3?t+(s-t)*(2/3-o)*6:t}function e4({hue:t,saturation:s,lightness:o,alpha:r}){t/=360,s/=100,o/=100;let c=0,d=0,u=0;if(!s)c=d=u=o;else{const p=o<.5?o*(1+s):o+s-o*s,m=2*o-p;c=Np(m,p,t+1/3),d=Np(m,p,t),u=Np(m,p,t-1/3)}return{red:Math.round(c*255),green:Math.round(d*255),blue:Math.round(u*255),alpha:r}}function vd(t,s){return o=>o>0?s:t}const Cp=(t,s,o)=>{const r=t*t,c=o*(s*s-r)+r;return c<0?0:Math.sqrt(c)},t4=[rm,Ei,Io],n4=t=>t4.find(s=>s.test(t));function sb(t){const s=n4(t);if(!s)return!1;let o=s.parse(t);return s===Io&&(o=e4(o)),o}const ab=(t,s)=>{const o=sb(t),r=sb(s);if(!o||!r)return vd(t,s);const c={...o};return d=>(c.red=Cp(o.red,r.red,d),c.green=Cp(o.green,r.green,d),c.blue=Cp(o.blue,r.blue,d),c.alpha=Ot(o.alpha,r.alpha,d),Ei.transform(c))},s4=(t,s)=>o=>s(t(o)),kl=(...t)=>t.reduce(s4),fm=new Set(["none","hidden"]);function a4(t,s){return fm.has(t)?o=>o<=0?t:s:o=>o>=1?s:t}function i4(t,s){return o=>Ot(t,s,o)}function ph(t){return typeof t=="number"?i4:typeof t=="string"?Zm(t)?vd:gn.test(t)?ab:l4:Array.isArray(t)?l1:typeof t=="object"?gn.test(t)?ab:o4:vd}function l1(t,s){const o=[...t],r=o.length,c=t.map((d,u)=>ph(d)(d,s[u]));return d=>{for(let u=0;u<r;u++)o[u]=c[u](d);return o}}function o4(t,s){const o={...t,...s},r={};for(const c in o)t[c]!==void 0&&s[c]!==void 0&&(r[c]=ph(t[c])(t[c],s[c]));return c=>{for(const d in r)o[d]=r[d](c);return o}}function r4(t,s){var o;const r=[],c={color:0,var:0,number:0};for(let d=0;d<s.values.length;d++){const u=s.types[d],p=t.indexes[u][c[u]],m=(o=t.values[p])!==null&&o!==void 0?o:0;r[d]=m,c[u]++}return r}const l4=(t,s)=>{const o=Qa.createTransformer(s),r=pl(t),c=pl(s);return r.indexes.var.length===c.indexes.var.length&&r.indexes.color.length===c.indexes.color.length&&r.indexes.number.length>=c.indexes.number.length?fm.has(t)&&!c.values.length||fm.has(s)&&!r.values.length?a4(t,s):kl(l1(r4(r,c),c.values),o):vd(t,s)};function c1(t,s,o){return typeof t=="number"&&typeof s=="number"&&typeof o=="number"?Ot(t,s,o):ph(t)(t,s)}const c4=5;function d1(t,s,o){const r=Math.max(s-c4,0);return Mx(o-t(r),s-r)}const $t={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Ep=.001;function d4({duration:t=$t.duration,bounce:s=$t.bounce,velocity:o=$t.velocity,mass:r=$t.mass}){let c,d,u=1-s;u=fa($t.minDamping,$t.maxDamping,u),t=fa($t.minDuration,$t.maxDuration,la(t)),u<1?(c=g=>{const v=g*u,_=v*t,b=v-o,x=pm(g,u),k=Math.exp(-_);return Ep-b/x*k},d=g=>{const _=g*u*t,b=_*o+o,x=Math.pow(u,2)*Math.pow(g,2)*t,k=Math.exp(-_),j=pm(Math.pow(g,2),u);return(-c(g)+Ep>0?-1:1)*((b-x)*k)/j}):(c=g=>{const v=Math.exp(-g*t),_=(g-o)*t+1;return-Ep+v*_},d=g=>{const v=Math.exp(-g*t),_=(o-g)*(t*t);return v*_});const p=5/t,m=f4(c,d,p);if(t=ra(t),isNaN(m))return{stiffness:$t.stiffness,damping:$t.damping,duration:t};{const g=Math.pow(m,2)*r;return{stiffness:g,damping:u*2*Math.sqrt(r*g),duration:t}}}const u4=12;function f4(t,s,o){let r=o;for(let c=1;c<u4;c++)r=r-t(r)/s(r);return r}function pm(t,s){return t*Math.sqrt(1-s*s)}const p4=["duration","bounce"],m4=["stiffness","damping","mass"];function ib(t,s){return s.some(o=>t[o]!==void 0)}function h4(t){let s={velocity:$t.velocity,stiffness:$t.stiffness,damping:$t.damping,mass:$t.mass,isResolvedFromDuration:!1,...t};if(!ib(t,m4)&&ib(t,p4))if(t.visualDuration){const o=t.visualDuration,r=2*Math.PI/(o*1.2),c=r*r,d=2*fa(.05,1,1-(t.bounce||0))*Math.sqrt(c);s={...s,mass:$t.mass,stiffness:c,damping:d}}else{const o=d4(t);s={...s,...o,mass:$t.mass},s.isResolvedFromDuration=!0}return s}function u1(t=$t.visualDuration,s=$t.bounce){const o=typeof t!="object"?{visualDuration:t,keyframes:[0,1],bounce:s}:t;let{restSpeed:r,restDelta:c}=o;const d=o.keyframes[0],u=o.keyframes[o.keyframes.length-1],p={done:!1,value:d},{stiffness:m,damping:g,mass:v,duration:_,velocity:b,isResolvedFromDuration:x}=h4({...o,velocity:-la(o.velocity||0)}),k=b||0,j=g/(2*Math.sqrt(m*v)),w=u-d,T=la(Math.sqrt(m/v)),C=Math.abs(w)<5;r||(r=C?$t.restSpeed.granular:$t.restSpeed.default),c||(c=C?$t.restDelta.granular:$t.restDelta.default);let A;if(j<1){const E=pm(T,j);A=O=>{const z=Math.exp(-j*T*O);return u-z*((k+j*T*w)/E*Math.sin(E*O)+w*Math.cos(E*O))}}else if(j===1)A=E=>u-Math.exp(-T*E)*(w+(k+T*w)*E);else{const E=T*Math.sqrt(j*j-1);A=O=>{const z=Math.exp(-j*T*O),D=Math.min(E*O,300);return u-z*((k+j*T*w)*Math.sinh(D)+E*w*Math.cosh(D))/E}}const L={calculatedDuration:x&&_||null,next:E=>{const O=A(E);if(x)p.done=E>=_;else{let z=0;j<1&&(z=E===0?ra(k):d1(A,E,O));const D=Math.abs(z)<=r,H=Math.abs(u-O)<=c;p.done=D&&H}return p.value=p.done?u:O,p},toString:()=>{const E=Math.min(r1(L),um),O=Ox(z=>L.next(E*z).value,E,30);return E+"ms "+O}};return L}function ob({keyframes:t,velocity:s=0,power:o=.8,timeConstant:r=325,bounceDamping:c=10,bounceStiffness:d=500,modifyTarget:u,min:p,max:m,restDelta:g=.5,restSpeed:v}){const _=t[0],b={done:!1,value:_},x=D=>p!==void 0&&D<p||m!==void 0&&D>m,k=D=>p===void 0?m:m===void 0||Math.abs(p-D)<Math.abs(m-D)?p:m;let j=o*s;const w=_+j,T=u===void 0?w:u(w);T!==w&&(j=T-_);const C=D=>-j*Math.exp(-D/r),A=D=>T+C(D),L=D=>{const H=C(D),Y=A(D);b.done=Math.abs(H)<=g,b.value=b.done?T:Y};let E,O;const z=D=>{x(b.value)&&(E=D,O=u1({keyframes:[b.value,k(b.value)],velocity:d1(A,D,b.value),damping:c,stiffness:d,restDelta:g,restSpeed:v}))};return z(0),{calculatedDuration:null,next:D=>{let H=!1;return!O&&E===void 0&&(H=!0,L(D),z(D)),E!==void 0&&D>=E?O.next(D-E):(!H&&L(D),b)}}}const g4=xl(.42,0,1,1),v4=xl(0,0,.58,1),f1=xl(.42,0,.58,1),y4=t=>Array.isArray(t)&&typeof t[0]!="number",b4={linear:zn,easeIn:g4,easeInOut:f1,easeOut:v4,circIn:lh,circInOut:qx,circOut:Gx,backIn:rh,backInOut:Ux,backOut:Px,anticipate:Vx},rb=t=>{if(oh(t)){fx(t.length===4);const[s,o,r,c]=t;return xl(s,o,r,c)}else if(typeof t=="string")return b4[t];return t};function _4(t,s,o){const r=[],c=o||c1,d=t.length-1;for(let u=0;u<d;u++){let p=c(t[u],t[u+1]);if(s){const m=Array.isArray(s)?s[u]||zn:s;p=kl(m,p)}r.push(p)}return r}function x4(t,s,{clamp:o=!0,ease:r,mixer:c}={}){const d=t.length;if(fx(d===s.length),d===1)return()=>s[0];if(d===2&&s[0]===s[1])return()=>s[1];const u=t[0]===t[1];t[0]>t[d-1]&&(t=[...t].reverse(),s=[...s].reverse());const p=_4(s,r,c),m=p.length,g=v=>{if(u&&v<t[0])return s[0];let _=0;if(m>1)for(;_<t.length-2&&!(v<t[_+1]);_++);const b=Po(t[_],t[_+1],v);return p[_](b)};return o?v=>g(fa(t[0],t[d-1],v)):g}function k4(t,s){const o=t[t.length-1];for(let r=1;r<=s;r++){const c=Po(0,s,r);t.push(Ot(o,1,c))}}function S4(t){const s=[0];return k4(s,t.length-1),s}function j4(t,s){return t.map(o=>o*s)}function T4(t,s){return t.map(()=>s||f1).splice(0,t.length-1)}function yd({duration:t=300,keyframes:s,times:o,ease:r="easeInOut"}){const c=y4(r)?r.map(rb):rb(r),d={done:!1,value:s[0]},u=j4(o&&o.length===s.length?o:S4(s),t),p=x4(u,s,{ease:Array.isArray(c)?c:T4(s,c)});return{calculatedDuration:t,next:m=>(d.value=p(m),d.done=m>=t,d)}}const w4=t=>{const s=({timestamp:o})=>t(o);return{start:()=>Nt.update(s,!0),stop:()=>Xa(s),now:()=>fn.isProcessing?fn.timestamp:Bs.now()}},N4={decay:ob,inertia:ob,tween:yd,keyframes:yd,spring:u1},C4=t=>t/100;class mh extends o1{constructor(s){super(s),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.teardown();const{onStop:m}=this.options;m&&m()};const{name:o,motionValue:r,element:c,keyframes:d}=this.options,u=(c==null?void 0:c.KeyframeResolver)||fh,p=(m,g)=>this.onKeyframesResolved(m,g);this.resolver=new u(d,p,o,r,c),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(s){const{type:o="keyframes",repeat:r=0,repeatDelay:c=0,repeatType:d,velocity:u=0}=this.options,p=ih(o)?o:N4[o]||yd;let m,g;p!==yd&&typeof s[0]!="number"&&(m=kl(C4,c1(s[0],s[1])),s=[0,100]);const v=p({...this.options,keyframes:s});d==="mirror"&&(g=p({...this.options,keyframes:[...s].reverse(),velocity:-u})),v.calculatedDuration===null&&(v.calculatedDuration=r1(v));const{calculatedDuration:_}=v,b=_+c,x=b*(r+1)-c;return{generator:v,mirroredGenerator:g,mapPercentToKeyframes:m,calculatedDuration:_,resolvedDuration:b,totalDuration:x}}onPostResolved(){const{autoplay:s=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!s?this.pause():this.state=this.pendingPlayState}tick(s,o=!1){const{resolved:r}=this;if(!r){const{keyframes:D}=this.options;return{done:!0,value:D[D.length-1]}}const{finalKeyframe:c,generator:d,mirroredGenerator:u,mapPercentToKeyframes:p,keyframes:m,calculatedDuration:g,totalDuration:v,resolvedDuration:_}=r;if(this.startTime===null)return d.next(0);const{delay:b,repeat:x,repeatType:k,repeatDelay:j,onUpdate:w}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,s):this.speed<0&&(this.startTime=Math.min(s-v/this.speed,this.startTime)),o?this.currentTime=s:this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=Math.round(s-this.startTime)*this.speed;const T=this.currentTime-b*(this.speed>=0?1:-1),C=this.speed>=0?T<0:T>v;this.currentTime=Math.max(T,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=v);let A=this.currentTime,L=d;if(x){const D=Math.min(this.currentTime,v)/_;let H=Math.floor(D),Y=D%1;!Y&&D>=1&&(Y=1),Y===1&&H--,H=Math.min(H,x+1),!!(H%2)&&(k==="reverse"?(Y=1-Y,j&&(Y-=j/_)):k==="mirror"&&(L=u)),A=fa(0,1,Y)*_}const E=C?{done:!1,value:m[0]}:L.next(A);p&&(E.value=p(E.value));let{done:O}=E;!C&&g!==null&&(O=this.speed>=0?this.currentTime>=v:this.currentTime<=0);const z=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&O);return z&&c!==void 0&&(E.value=Gd(m,this.options,c)),w&&w(E.value),z&&this.finish(),E}get duration(){const{resolved:s}=this;return s?la(s.calculatedDuration):0}get time(){return la(this.currentTime)}set time(s){s=ra(s),this.currentTime=s,this.holdTime!==null||this.speed===0?this.holdTime=s:this.driver&&(this.startTime=this.driver.now()-s/this.speed)}get speed(){return this.playbackSpeed}set speed(s){const o=this.playbackSpeed!==s;this.playbackSpeed=s,o&&(this.time=la(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:s=w4,onPlay:o,startTime:r}=this.options;this.driver||(this.driver=s(d=>this.tick(d))),o&&o();const c=this.driver.now();this.holdTime!==null?this.startTime=c-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=c):this.startTime=r??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var s;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(s=this.currentTime)!==null&&s!==void 0?s:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:s}=this.options;s&&s()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(s){return this.startTime=0,this.tick(s,!0)}}const E4=new Set(["opacity","clipPath","filter","transform"]);function A4(t,s,o,{delay:r=0,duration:c=300,repeat:d=0,repeatType:u="loop",ease:p="easeInOut",times:m}={}){const g={[s]:o};m&&(g.offset=m);const v=Bx(p,c);return Array.isArray(v)&&(g.easing=v),t.animate(g,{delay:r,duration:c,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:d+1,direction:u==="reverse"?"alternate":"normal"})}const D4=ah(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),bd=10,R4=2e4;function M4(t){return ih(t.type)||t.type==="spring"||!Lx(t.ease)}function I4(t,s){const o=new mh({...s,keyframes:t,repeat:0,delay:0,isGenerator:!0});let r={done:!1,value:t[0]};const c=[];let d=0;for(;!r.done&&d<R4;)r=o.sample(d),c.push(r.value),d+=bd;return{times:void 0,keyframes:c,duration:d-bd,ease:"linear"}}const p1={anticipate:Vx,backInOut:Ux,circInOut:qx};function O4(t){return t in p1}class lb extends o1{constructor(s){super(s);const{name:o,motionValue:r,element:c,keyframes:d}=this.options;this.resolver=new i1(d,(u,p)=>this.onKeyframesResolved(u,p),o,r,c),this.resolver.scheduleResolve()}initPlayback(s,o){let{duration:r=300,times:c,ease:d,type:u,motionValue:p,name:m,startTime:g}=this.options;if(!p.owner||!p.owner.current)return!1;if(typeof d=="string"&&gd()&&O4(d)&&(d=p1[d]),M4(this.options)){const{onComplete:_,onUpdate:b,motionValue:x,element:k,...j}=this.options,w=I4(s,j);s=w.keyframes,s.length===1&&(s[1]=s[0]),r=w.duration,c=w.times,d=w.ease,u="keyframes"}const v=A4(p.owner.current,m,s,{...this.options,duration:r,times:c,ease:d});return v.startTime=g??this.calcStartTime(),this.pendingTimeline?(Jy(v,this.pendingTimeline),this.pendingTimeline=void 0):v.onfinish=()=>{const{onComplete:_}=this.options;p.set(Gd(s,this.options,o)),_&&_(),this.cancel(),this.resolveFinishedPromise()},{animation:v,duration:r,times:c,type:u,ease:d,keyframes:s}}get duration(){const{resolved:s}=this;if(!s)return 0;const{duration:o}=s;return la(o)}get time(){const{resolved:s}=this;if(!s)return 0;const{animation:o}=s;return la(o.currentTime||0)}set time(s){const{resolved:o}=this;if(!o)return;const{animation:r}=o;r.currentTime=ra(s)}get speed(){const{resolved:s}=this;if(!s)return 1;const{animation:o}=s;return o.playbackRate}set speed(s){const{resolved:o}=this;if(!o)return;const{animation:r}=o;r.playbackRate=s}get state(){const{resolved:s}=this;if(!s)return"idle";const{animation:o}=s;return o.playState}get startTime(){const{resolved:s}=this;if(!s)return null;const{animation:o}=s;return o.startTime}attachTimeline(s){if(!this._resolved)this.pendingTimeline=s;else{const{resolved:o}=this;if(!o)return zn;const{animation:r}=o;Jy(r,s)}return zn}play(){if(this.isStopped)return;const{resolved:s}=this;if(!s)return;const{animation:o}=s;o.playState==="finished"&&this.updateFinishedPromise(),o.play()}pause(){const{resolved:s}=this;if(!s)return;const{animation:o}=s;o.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:s}=this;if(!s)return;const{animation:o,keyframes:r,duration:c,type:d,ease:u,times:p}=s;if(o.playState==="idle"||o.playState==="finished")return;if(this.time){const{motionValue:g,onUpdate:v,onComplete:_,element:b,...x}=this.options,k=new mh({...x,keyframes:r,duration:c,type:d,ease:u,times:p,isGenerator:!0}),j=ra(this.time);g.setWithVelocity(k.sample(j-bd).value,k.sample(j).value,bd)}const{onStop:m}=this.options;m&&m(),this.cancel()}complete(){const{resolved:s}=this;s&&s.animation.finish()}cancel(){const{resolved:s}=this;s&&s.animation.cancel()}static supports(s){const{motionValue:o,name:r,repeatDelay:c,repeatType:d,damping:u,type:p}=s;if(!o||!o.owner||!(o.owner.current instanceof HTMLElement))return!1;const{onUpdate:m,transformTemplate:g}=o.owner.getProps();return D4()&&r&&E4.has(r)&&!m&&!g&&!c&&d!=="mirror"&&u!==0&&p!=="inertia"}}const L4={type:"spring",stiffness:500,damping:25,restSpeed:10},B4=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),$4={type:"keyframes",duration:.8},z4={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},H4=(t,{keyframes:s})=>s.length>2?$4:zi.has(t)?t.startsWith("scale")?B4(s[1]):L4:z4;function P4({when:t,delay:s,delayChildren:o,staggerChildren:r,staggerDirection:c,repeat:d,repeatType:u,repeatDelay:p,from:m,elapsed:g,...v}){return!!Object.keys(v).length}const hh=(t,s,o,r={},c,d)=>u=>{const p=eh(r,t)||{},m=p.delay||r.delay||0;let{elapsed:g=0}=r;g=g-ra(m);let v={keyframes:Array.isArray(o)?o:[null,o],ease:"easeOut",velocity:s.getVelocity(),...p,delay:-g,onUpdate:b=>{s.set(b),p.onUpdate&&p.onUpdate(b)},onComplete:()=>{u(),p.onComplete&&p.onComplete()},name:t,motionValue:s,element:d?void 0:c};P4(p)||(v={...v,...H4(t,v)}),v.duration&&(v.duration=ra(v.duration)),v.repeatDelay&&(v.repeatDelay=ra(v.repeatDelay)),v.from!==void 0&&(v.keyframes[0]=v.from);let _=!1;if((v.type===!1||v.duration===0&&!v.repeatDelay)&&(v.duration=0,v.delay===0&&(_=!0)),_&&!d&&s.get()!==void 0){const b=Gd(v.keyframes,p);if(b!==void 0)return Nt.update(()=>{v.onUpdate(b),v.onComplete()}),new bR([])}return!d&&lb.supports(v)?new lb(v):new mh(v)};function U4({protectedKeys:t,needsAnimating:s},o){const r=t.hasOwnProperty(o)&&s[o]!==!0;return s[o]=!1,r}function m1(t,s,{delay:o=0,transitionOverride:r,type:c}={}){var d;let{transition:u=t.getDefaultTransition(),transitionEnd:p,...m}=s;r&&(u=r);const g=[],v=c&&t.animationState&&t.animationState.getState()[c];for(const _ in m){const b=t.getValue(_,(d=t.latestValues[_])!==null&&d!==void 0?d:null),x=m[_];if(x===void 0||v&&U4(v,_))continue;const k={delay:o,...eh(u||{},_)};let j=!1;if(window.MotionHandoffAnimation){const T=Ix(t);if(T){const C=window.MotionHandoffAnimation(T,_,Nt);C!==null&&(k.startTime=C,j=!0)}}im(t,_),b.start(hh(_,b,x,t.shouldReduceMotion&&Rx.has(_)?{type:!1}:k,t,j));const w=b.animation;w&&g.push(w)}return p&&Promise.all(g).then(()=>{Nt.update(()=>{p&&hR(t,p)})}),g}function mm(t,s,o={}){var r;const c=Vd(t,s,o.type==="exit"?(r=t.presenceContext)===null||r===void 0?void 0:r.custom:void 0);let{transition:d=t.getDefaultTransition()||{}}=c||{};o.transitionOverride&&(d=o.transitionOverride);const u=c?()=>Promise.all(m1(t,c,o)):()=>Promise.resolve(),p=t.variantChildren&&t.variantChildren.size?(g=0)=>{const{delayChildren:v=0,staggerChildren:_,staggerDirection:b}=d;return V4(t,s,v+g,_,b,o)}:()=>Promise.resolve(),{when:m}=d;if(m){const[g,v]=m==="beforeChildren"?[u,p]:[p,u];return g().then(()=>v())}else return Promise.all([u(),p(o.delay)])}function V4(t,s,o=0,r=0,c=1,d){const u=[],p=(t.variantChildren.size-1)*r,m=c===1?(g=0)=>g*r:(g=0)=>p-g*r;return Array.from(t.variantChildren).sort(G4).forEach((g,v)=>{g.notify("AnimationStart",s),u.push(mm(g,s,{...d,delay:o+m(v)}).then(()=>g.notify("AnimationComplete",s)))}),Promise.all(u)}function G4(t,s){return t.sortNodePosition(s)}function q4(t,s,o={}){t.notify("AnimationStart",s);let r;if(Array.isArray(s)){const c=s.map(d=>mm(t,d,o));r=Promise.all(c)}else if(typeof s=="string")r=mm(t,s,o);else{const c=typeof s=="function"?Vd(t,s,o.custom):s;r=Promise.all(m1(t,c,o))}return r.then(()=>{t.notify("AnimationComplete",s)})}const F4=Um.length;function h1(t){if(!t)return;if(!t.isControllingVariants){const o=t.parent?h1(t.parent)||{}:{};return t.props.initial!==void 0&&(o.initial=t.props.initial),o}const s={};for(let o=0;o<F4;o++){const r=Um[o],c=t.props[r];(dl(c)||c===!1)&&(s[r]=c)}return s}const Z4=[...Pm].reverse(),K4=Pm.length;function Y4(t){return s=>Promise.all(s.map(({animation:o,options:r})=>q4(t,o,r)))}function J4(t){let s=Y4(t),o=cb(),r=!0;const c=m=>(g,v)=>{var _;const b=Vd(t,v,m==="exit"?(_=t.presenceContext)===null||_===void 0?void 0:_.custom:void 0);if(b){const{transition:x,transitionEnd:k,...j}=b;g={...g,...j,...k}}return g};function d(m){s=m(t)}function u(m){const{props:g}=t,v=h1(t.parent)||{},_=[],b=new Set;let x={},k=1/0;for(let w=0;w<K4;w++){const T=Z4[w],C=o[T],A=g[T]!==void 0?g[T]:v[T],L=dl(A),E=T===m?C.isActive:null;E===!1&&(k=w);let O=A===v[T]&&A!==g[T]&&L;if(O&&r&&t.manuallyAnimateOnMount&&(O=!1),C.protectedKeys={...x},!C.isActive&&E===null||!A&&!C.prevProp||Pd(A)||typeof A=="boolean")continue;const z=W4(C.prevProp,A);let D=z||T===m&&C.isActive&&!O&&L||w>k&&L,H=!1;const Y=Array.isArray(A)?A:[A];let U=Y.reduce(c(T),{});E===!1&&(U={});const{prevResolvedValues:X={}}=C,ge={...X,...U},W=R=>{D=!0,b.has(R)&&(H=!0,b.delete(R)),C.needsAnimating[R]=!0;const se=t.getValue(R);se&&(se.liveStyle=!1)};for(const R in ge){const se=U[R],oe=X[R];if(x.hasOwnProperty(R))continue;let G=!1;am(se)&&am(oe)?G=!Dx(se,oe):G=se!==oe,G?se!=null?W(R):b.add(R):se!==void 0&&b.has(R)?W(R):C.protectedKeys[R]=!0}C.prevProp=A,C.prevResolvedValues=U,C.isActive&&(x={...x,...U}),r&&t.blockInitialAnimation&&(D=!1),D&&(!(O&&z)||H)&&_.push(...Y.map(R=>({animation:R,options:{type:T}})))}if(b.size){const w={};b.forEach(T=>{const C=t.getBaseTarget(T),A=t.getValue(T);A&&(A.liveStyle=!0),w[T]=C??null}),_.push({animation:w})}let j=!!_.length;return r&&(g.initial===!1||g.initial===g.animate)&&!t.manuallyAnimateOnMount&&(j=!1),r=!1,j?s(_):Promise.resolve()}function p(m,g){var v;if(o[m].isActive===g)return Promise.resolve();(v=t.variantChildren)===null||v===void 0||v.forEach(b=>{var x;return(x=b.animationState)===null||x===void 0?void 0:x.setActive(m,g)}),o[m].isActive=g;const _=u(m);for(const b in o)o[b].protectedKeys={};return _}return{animateChanges:u,setActive:p,setAnimateFunction:d,getState:()=>o,reset:()=>{o=cb(),r=!0}}}function W4(t,s){return typeof s=="string"?s!==t:Array.isArray(s)?!Dx(s,t):!1}function ji(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function cb(){return{animate:ji(!0),whileInView:ji(),whileHover:ji(),whileTap:ji(),whileDrag:ji(),whileFocus:ji(),exit:ji()}}class ei{constructor(s){this.isMounted=!1,this.node=s}update(){}}class X4 extends ei{constructor(s){super(s),s.animationState||(s.animationState=J4(s))}updateAnimationControlsSubscription(){const{animate:s}=this.node.getProps();Pd(s)&&(this.unmountControls=s.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:s}=this.node.getProps(),{animate:o}=this.node.prevProps||{};s!==o&&this.updateAnimationControlsSubscription()}unmount(){var s;this.node.animationState.reset(),(s=this.unmountControls)===null||s===void 0||s.call(this)}}let Q4=0;class eM extends ei{constructor(){super(...arguments),this.id=Q4++}update(){if(!this.node.presenceContext)return;const{isPresent:s,onExitComplete:o}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||s===r)return;const c=this.node.animationState.setActive("exit",!s);o&&!s&&c.then(()=>o(this.id))}mount(){const{register:s}=this.node.presenceContext||{};s&&(this.unmount=s(this.id))}unmount(){}}const tM={animation:{Feature:X4},exit:{Feature:eM}},_s={x:!1,y:!1};function g1(){return _s.x||_s.y}function nM(t){return t==="x"||t==="y"?_s[t]?null:(_s[t]=!0,()=>{_s[t]=!1}):_s.x||_s.y?null:(_s.x=_s.y=!0,()=>{_s.x=_s.y=!1})}const gh=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1;function ml(t,s,o,r={passive:!0}){return t.addEventListener(s,o,r),()=>t.removeEventListener(s,o)}function Sl(t){return{point:{x:t.pageX,y:t.pageY}}}const sM=t=>s=>gh(s)&&t(s,Sl(s));function tl(t,s,o,r){return ml(t,s,sM(o),r)}const db=(t,s)=>Math.abs(t-s);function aM(t,s){const o=db(t.x,s.x),r=db(t.y,s.y);return Math.sqrt(o**2+r**2)}class v1{constructor(s,o,{transformPagePoint:r,contextWindow:c,dragSnapToOrigin:d=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const _=Dp(this.lastMoveEventInfo,this.history),b=this.startEvent!==null,x=aM(_.offset,{x:0,y:0})>=3;if(!b&&!x)return;const{point:k}=_,{timestamp:j}=fn;this.history.push({...k,timestamp:j});const{onStart:w,onMove:T}=this.handlers;b||(w&&w(this.lastMoveEvent,_),this.startEvent=this.lastMoveEvent),T&&T(this.lastMoveEvent,_)},this.handlePointerMove=(_,b)=>{this.lastMoveEvent=_,this.lastMoveEventInfo=Ap(b,this.transformPagePoint),Nt.update(this.updatePoint,!0)},this.handlePointerUp=(_,b)=>{this.end();const{onEnd:x,onSessionEnd:k,resumeAnimation:j}=this.handlers;if(this.dragSnapToOrigin&&j&&j(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const w=Dp(_.type==="pointercancel"?this.lastMoveEventInfo:Ap(b,this.transformPagePoint),this.history);this.startEvent&&x&&x(_,w),k&&k(_,w)},!gh(s))return;this.dragSnapToOrigin=d,this.handlers=o,this.transformPagePoint=r,this.contextWindow=c||window;const u=Sl(s),p=Ap(u,this.transformPagePoint),{point:m}=p,{timestamp:g}=fn;this.history=[{...m,timestamp:g}];const{onSessionStart:v}=o;v&&v(s,Dp(p,this.history)),this.removeListeners=kl(tl(this.contextWindow,"pointermove",this.handlePointerMove),tl(this.contextWindow,"pointerup",this.handlePointerUp),tl(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(s){this.handlers=s}end(){this.removeListeners&&this.removeListeners(),Xa(this.updatePoint)}}function Ap(t,s){return s?{point:s(t.point)}:t}function ub(t,s){return{x:t.x-s.x,y:t.y-s.y}}function Dp({point:t},s){return{point:t,delta:ub(t,y1(s)),offset:ub(t,iM(s)),velocity:oM(s,.1)}}function iM(t){return t[0]}function y1(t){return t[t.length-1]}function oM(t,s){if(t.length<2)return{x:0,y:0};let o=t.length-1,r=null;const c=y1(t);for(;o>=0&&(r=t[o],!(c.timestamp-r.timestamp>ra(s)));)o--;if(!r)return{x:0,y:0};const d=la(c.timestamp-r.timestamp);if(d===0)return{x:0,y:0};const u={x:(c.x-r.x)/d,y:(c.y-r.y)/d};return u.x===1/0&&(u.x=0),u.y===1/0&&(u.y=0),u}const b1=1e-4,rM=1-b1,lM=1+b1,_1=.01,cM=0-_1,dM=0+_1;function Pn(t){return t.max-t.min}function uM(t,s,o){return Math.abs(t-s)<=o}function fb(t,s,o,r=.5){t.origin=r,t.originPoint=Ot(s.min,s.max,t.origin),t.scale=Pn(o)/Pn(s),t.translate=Ot(o.min,o.max,t.origin)-t.originPoint,(t.scale>=rM&&t.scale<=lM||isNaN(t.scale))&&(t.scale=1),(t.translate>=cM&&t.translate<=dM||isNaN(t.translate))&&(t.translate=0)}function nl(t,s,o,r){fb(t.x,s.x,o.x,r?r.originX:void 0),fb(t.y,s.y,o.y,r?r.originY:void 0)}function pb(t,s,o){t.min=o.min+s.min,t.max=t.min+Pn(s)}function fM(t,s,o){pb(t.x,s.x,o.x),pb(t.y,s.y,o.y)}function mb(t,s,o){t.min=s.min-o.min,t.max=t.min+Pn(s)}function sl(t,s,o){mb(t.x,s.x,o.x),mb(t.y,s.y,o.y)}function pM(t,{min:s,max:o},r){return s!==void 0&&t<s?t=r?Ot(s,t,r.min):Math.max(t,s):o!==void 0&&t>o&&(t=r?Ot(o,t,r.max):Math.min(t,o)),t}function hb(t,s,o){return{min:s!==void 0?t.min+s:void 0,max:o!==void 0?t.max+o-(t.max-t.min):void 0}}function mM(t,{top:s,left:o,bottom:r,right:c}){return{x:hb(t.x,o,c),y:hb(t.y,s,r)}}function gb(t,s){let o=s.min-t.min,r=s.max-t.max;return s.max-s.min<t.max-t.min&&([o,r]=[r,o]),{min:o,max:r}}function hM(t,s){return{x:gb(t.x,s.x),y:gb(t.y,s.y)}}function gM(t,s){let o=.5;const r=Pn(t),c=Pn(s);return c>r?o=Po(s.min,s.max-r,t.min):r>c&&(o=Po(t.min,t.max-c,s.min)),fa(0,1,o)}function vM(t,s){const o={};return s.min!==void 0&&(o.min=s.min-t.min),s.max!==void 0&&(o.max=s.max-t.min),o}const hm=.35;function yM(t=hm){return t===!1?t=0:t===!0&&(t=hm),{x:vb(t,"left","right"),y:vb(t,"top","bottom")}}function vb(t,s,o){return{min:yb(t,s),max:yb(t,o)}}function yb(t,s){return typeof t=="number"?t:t[s]||0}const bb=()=>({translate:0,scale:1,origin:0,originPoint:0}),Oo=()=>({x:bb(),y:bb()}),_b=()=>({min:0,max:0}),Pt=()=>({x:_b(),y:_b()});function is(t){return[t("x"),t("y")]}function x1({top:t,left:s,right:o,bottom:r}){return{x:{min:s,max:o},y:{min:t,max:r}}}function bM({x:t,y:s}){return{top:s.min,right:t.max,bottom:s.max,left:t.min}}function _M(t,s){if(!s)return t;const o=s({x:t.left,y:t.top}),r=s({x:t.right,y:t.bottom});return{top:o.y,left:o.x,bottom:r.y,right:r.x}}function Rp(t){return t===void 0||t===1}function gm({scale:t,scaleX:s,scaleY:o}){return!Rp(t)||!Rp(s)||!Rp(o)}function Ni(t){return gm(t)||k1(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function k1(t){return xb(t.x)||xb(t.y)}function xb(t){return t&&t!=="0%"}function _d(t,s,o){const r=t-o,c=s*r;return o+c}function kb(t,s,o,r,c){return c!==void 0&&(t=_d(t,c,r)),_d(t,o,r)+s}function vm(t,s=0,o=1,r,c){t.min=kb(t.min,s,o,r,c),t.max=kb(t.max,s,o,r,c)}function S1(t,{x:s,y:o}){vm(t.x,s.translate,s.scale,s.originPoint),vm(t.y,o.translate,o.scale,o.originPoint)}const Sb=.999999999999,jb=1.0000000000001;function xM(t,s,o,r=!1){const c=o.length;if(!c)return;s.x=s.y=1;let d,u;for(let p=0;p<c;p++){d=o[p],u=d.projectionDelta;const{visualElement:m}=d.options;m&&m.props.style&&m.props.style.display==="contents"||(r&&d.options.layoutScroll&&d.scroll&&d!==d.root&&Bo(t,{x:-d.scroll.offset.x,y:-d.scroll.offset.y}),u&&(s.x*=u.x.scale,s.y*=u.y.scale,S1(t,u)),r&&Ni(d.latestValues)&&Bo(t,d.latestValues))}s.x<jb&&s.x>Sb&&(s.x=1),s.y<jb&&s.y>Sb&&(s.y=1)}function Lo(t,s){t.min=t.min+s,t.max=t.max+s}function Tb(t,s,o,r,c=.5){const d=Ot(t.min,t.max,c);vm(t,s,o,d,r)}function Bo(t,s){Tb(t.x,s.x,s.scaleX,s.scale,s.originX),Tb(t.y,s.y,s.scaleY,s.scale,s.originY)}function j1(t,s){return x1(_M(t.getBoundingClientRect(),s))}function kM(t,s,o){const r=j1(t,o),{scroll:c}=s;return c&&(Lo(r.x,c.offset.x),Lo(r.y,c.offset.y)),r}const T1=({current:t})=>t?t.ownerDocument.defaultView:null,SM=new WeakMap;class jM{constructor(s){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Pt(),this.visualElement=s}start(s,{snapToCursor:o=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const c=v=>{const{dragSnapToOrigin:_}=this.getProps();_?this.pauseAnimation():this.stopAnimation(),o&&this.snapToCursor(Sl(v).point)},d=(v,_)=>{const{drag:b,dragPropagation:x,onDragStart:k}=this.getProps();if(b&&!x&&(this.openDragLock&&this.openDragLock(),this.openDragLock=nM(b),!this.openDragLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),is(w=>{let T=this.getAxisMotionValue(w).get()||0;if(Ls.test(T)){const{projection:C}=this.visualElement;if(C&&C.layout){const A=C.layout.layoutBox[w];A&&(T=Pn(A)*(parseFloat(T)/100))}}this.originPoint[w]=T}),k&&Nt.postRender(()=>k(v,_)),im(this.visualElement,"transform");const{animationState:j}=this.visualElement;j&&j.setActive("whileDrag",!0)},u=(v,_)=>{const{dragPropagation:b,dragDirectionLock:x,onDirectionLock:k,onDrag:j}=this.getProps();if(!b&&!this.openDragLock)return;const{offset:w}=_;if(x&&this.currentDirection===null){this.currentDirection=TM(w),this.currentDirection!==null&&k&&k(this.currentDirection);return}this.updateAxis("x",_.point,w),this.updateAxis("y",_.point,w),this.visualElement.render(),j&&j(v,_)},p=(v,_)=>this.stop(v,_),m=()=>is(v=>{var _;return this.getAnimationState(v)==="paused"&&((_=this.getAxisMotionValue(v).animation)===null||_===void 0?void 0:_.play())}),{dragSnapToOrigin:g}=this.getProps();this.panSession=new v1(s,{onSessionStart:c,onStart:d,onMove:u,onSessionEnd:p,resumeAnimation:m},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:g,contextWindow:T1(this.visualElement)})}stop(s,o){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:c}=o;this.startAnimation(c);const{onDragEnd:d}=this.getProps();d&&Nt.postRender(()=>d(s,o))}cancel(){this.isDragging=!1;const{projection:s,animationState:o}=this.visualElement;s&&(s.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),o&&o.setActive("whileDrag",!1)}updateAxis(s,o,r){const{drag:c}=this.getProps();if(!r||!Zc(s,c,this.currentDirection))return;const d=this.getAxisMotionValue(s);let u=this.originPoint[s]+r[s];this.constraints&&this.constraints[s]&&(u=pM(u,this.constraints[s],this.elastic[s])),d.set(u)}resolveConstraints(){var s;const{dragConstraints:o,dragElastic:r}=this.getProps(),c=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(s=this.visualElement.projection)===null||s===void 0?void 0:s.layout,d=this.constraints;o&&Mo(o)?this.constraints||(this.constraints=this.resolveRefConstraints()):o&&c?this.constraints=mM(c.layoutBox,o):this.constraints=!1,this.elastic=yM(r),d!==this.constraints&&c&&this.constraints&&!this.hasMutatedConstraints&&is(u=>{this.constraints!==!1&&this.getAxisMotionValue(u)&&(this.constraints[u]=vM(c.layoutBox[u],this.constraints[u]))})}resolveRefConstraints(){const{dragConstraints:s,onMeasureDragConstraints:o}=this.getProps();if(!s||!Mo(s))return!1;const r=s.current,{projection:c}=this.visualElement;if(!c||!c.layout)return!1;const d=kM(r,c.root,this.visualElement.getTransformPagePoint());let u=hM(c.layout.layoutBox,d);if(o){const p=o(bM(u));this.hasMutatedConstraints=!!p,p&&(u=x1(p))}return u}startAnimation(s){const{drag:o,dragMomentum:r,dragElastic:c,dragTransition:d,dragSnapToOrigin:u,onDragTransitionEnd:p}=this.getProps(),m=this.constraints||{},g=is(v=>{if(!Zc(v,o,this.currentDirection))return;let _=m&&m[v]||{};u&&(_={min:0,max:0});const b=c?200:1e6,x=c?40:1e7,k={type:"inertia",velocity:r?s[v]:0,bounceStiffness:b,bounceDamping:x,timeConstant:750,restDelta:1,restSpeed:10,...d,..._};return this.startAxisValueAnimation(v,k)});return Promise.all(g).then(p)}startAxisValueAnimation(s,o){const r=this.getAxisMotionValue(s);return im(this.visualElement,s),r.start(hh(s,r,0,o,this.visualElement,!1))}stopAnimation(){is(s=>this.getAxisMotionValue(s).stop())}pauseAnimation(){is(s=>{var o;return(o=this.getAxisMotionValue(s).animation)===null||o===void 0?void 0:o.pause()})}getAnimationState(s){var o;return(o=this.getAxisMotionValue(s).animation)===null||o===void 0?void 0:o.state}getAxisMotionValue(s){const o=`_drag${s.toUpperCase()}`,r=this.visualElement.getProps(),c=r[o];return c||this.visualElement.getValue(s,(r.initial?r.initial[s]:void 0)||0)}snapToCursor(s){is(o=>{const{drag:r}=this.getProps();if(!Zc(o,r,this.currentDirection))return;const{projection:c}=this.visualElement,d=this.getAxisMotionValue(o);if(c&&c.layout){const{min:u,max:p}=c.layout.layoutBox[o];d.set(s[o]-Ot(u,p,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:s,dragConstraints:o}=this.getProps(),{projection:r}=this.visualElement;if(!Mo(o)||!r||!this.constraints)return;this.stopAnimation();const c={x:0,y:0};is(u=>{const p=this.getAxisMotionValue(u);if(p&&this.constraints!==!1){const m=p.get();c[u]=gM({min:m,max:m},this.constraints[u])}});const{transformTemplate:d}=this.visualElement.getProps();this.visualElement.current.style.transform=d?d({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),is(u=>{if(!Zc(u,s,null))return;const p=this.getAxisMotionValue(u),{min:m,max:g}=this.constraints[u];p.set(Ot(m,g,c[u]))})}addListeners(){if(!this.visualElement.current)return;SM.set(this.visualElement,this);const s=this.visualElement.current,o=tl(s,"pointerdown",m=>{const{drag:g,dragListener:v=!0}=this.getProps();g&&v&&this.start(m)}),r=()=>{const{dragConstraints:m}=this.getProps();Mo(m)&&m.current&&(this.constraints=this.resolveRefConstraints())},{projection:c}=this.visualElement,d=c.addEventListener("measure",r);c&&!c.layout&&(c.root&&c.root.updateScroll(),c.updateLayout()),Nt.read(r);const u=ml(window,"resize",()=>this.scalePositionWithinConstraints()),p=c.addEventListener("didUpdate",(({delta:m,hasLayoutChanged:g})=>{this.isDragging&&g&&(is(v=>{const _=this.getAxisMotionValue(v);_&&(this.originPoint[v]+=m[v].translate,_.set(_.get()+m[v].translate))}),this.visualElement.render())}));return()=>{u(),o(),d(),p&&p()}}getProps(){const s=this.visualElement.getProps(),{drag:o=!1,dragDirectionLock:r=!1,dragPropagation:c=!1,dragConstraints:d=!1,dragElastic:u=hm,dragMomentum:p=!0}=s;return{...s,drag:o,dragDirectionLock:r,dragPropagation:c,dragConstraints:d,dragElastic:u,dragMomentum:p}}}function Zc(t,s,o){return(s===!0||s===t)&&(o===null||o===t)}function TM(t,s=10){let o=null;return Math.abs(t.y)>s?o="y":Math.abs(t.x)>s&&(o="x"),o}class wM extends ei{constructor(s){super(s),this.removeGroupControls=zn,this.removeListeners=zn,this.controls=new jM(s)}mount(){const{dragControls:s}=this.node.getProps();s&&(this.removeGroupControls=s.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||zn}unmount(){this.removeGroupControls(),this.removeListeners()}}const wb=t=>(s,o)=>{t&&Nt.postRender(()=>t(s,o))};class NM extends ei{constructor(){super(...arguments),this.removePointerDownListener=zn}onPointerDown(s){this.session=new v1(s,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:T1(this.node)})}createPanHandlers(){const{onPanSessionStart:s,onPanStart:o,onPan:r,onPanEnd:c}=this.node.getProps();return{onSessionStart:wb(s),onStart:wb(o),onMove:r,onEnd:(d,u)=>{delete this.session,c&&Nt.postRender(()=>c(d,u))}}}mount(){this.removePointerDownListener=tl(this.node.current,"pointerdown",s=>this.onPointerDown(s))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const rd={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Nb(t,s){return s.max===s.min?0:t/(s.max-s.min)*100}const Vr={correct:(t,s)=>{if(!s.target)return t;if(typeof t=="string")if(De.test(t))t=parseFloat(t);else return t;const o=Nb(t,s.target.x),r=Nb(t,s.target.y);return`${o}% ${r}%`}},CM={correct:(t,{treeScale:s,projectionDelta:o})=>{const r=t,c=Qa.parse(t);if(c.length>5)return r;const d=Qa.createTransformer(t),u=typeof c[0]!="number"?1:0,p=o.x.scale*s.x,m=o.y.scale*s.y;c[0+u]/=p,c[1+u]/=m;const g=Ot(p,m,.5);return typeof c[2+u]=="number"&&(c[2+u]/=g),typeof c[3+u]=="number"&&(c[3+u]/=g),d(c)}};class EM extends y.Component{componentDidMount(){const{visualElement:s,layoutGroup:o,switchLayoutGroup:r,layoutId:c}=this.props,{projection:d}=s;tR(AM),d&&(o.group&&o.group.add(d),r&&r.register&&c&&r.register(d),d.root.didUpdate(),d.addEventListener("animationComplete",()=>{this.safeToRemove()}),d.setOptions({...d.options,onExitComplete:()=>this.safeToRemove()})),rd.hasEverUpdated=!0}getSnapshotBeforeUpdate(s){const{layoutDependency:o,visualElement:r,drag:c,isPresent:d}=this.props,u=r.projection;return u&&(u.isPresent=d,c||s.layoutDependency!==o||o===void 0?u.willUpdate():this.safeToRemove(),s.isPresent!==d&&(d?u.promote():u.relegate()||Nt.postRender(()=>{const p=u.getStack();(!p||!p.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:s}=this.props.visualElement;s&&(s.root.didUpdate(),Gm.postRender(()=>{!s.currentAnimation&&s.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:s,layoutGroup:o,switchLayoutGroup:r}=this.props,{projection:c}=s;c&&(c.scheduleCheckAfterUnmount(),o&&o.group&&o.group.remove(c),r&&r.deregister&&r.deregister(c))}safeToRemove(){const{safeToRemove:s}=this.props;s&&s()}render(){return null}}function w1(t){const[s,o]=dx(),r=y.useContext(Bm);return a.jsx(EM,{...t,layoutGroup:r,switchLayoutGroup:y.useContext(yx),isPresent:s,safeToRemove:o})}const AM={borderRadius:{...Vr,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Vr,borderTopRightRadius:Vr,borderBottomLeftRadius:Vr,borderBottomRightRadius:Vr,boxShadow:CM};function DM(t,s,o){const r=vn(t)?t:fl(t);return r.start(hh("",r,s,o)),r.animation}function RM(t){return t instanceof SVGElement&&t.tagName!=="svg"}const MM=(t,s)=>t.depth-s.depth;class IM{constructor(){this.children=[],this.isDirty=!1}add(s){th(this.children,s),this.isDirty=!0}remove(s){nh(this.children,s),this.isDirty=!0}forEach(s){this.isDirty&&this.children.sort(MM),this.isDirty=!1,this.children.forEach(s)}}function OM(t,s){const o=Bs.now(),r=({timestamp:c})=>{const d=c-o;d>=s&&(Xa(r),t(d-s))};return Nt.read(r,!0),()=>Xa(r)}const N1=["TopLeft","TopRight","BottomLeft","BottomRight"],LM=N1.length,Cb=t=>typeof t=="string"?parseFloat(t):t,Eb=t=>typeof t=="number"||De.test(t);function BM(t,s,o,r,c,d){c?(t.opacity=Ot(0,o.opacity!==void 0?o.opacity:1,$M(r)),t.opacityExit=Ot(s.opacity!==void 0?s.opacity:1,0,zM(r))):d&&(t.opacity=Ot(s.opacity!==void 0?s.opacity:1,o.opacity!==void 0?o.opacity:1,r));for(let u=0;u<LM;u++){const p=`border${N1[u]}Radius`;let m=Ab(s,p),g=Ab(o,p);if(m===void 0&&g===void 0)continue;m||(m=0),g||(g=0),m===0||g===0||Eb(m)===Eb(g)?(t[p]=Math.max(Ot(Cb(m),Cb(g),r),0),(Ls.test(g)||Ls.test(m))&&(t[p]+="%")):t[p]=g}(s.rotate||o.rotate)&&(t.rotate=Ot(s.rotate||0,o.rotate||0,r))}function Ab(t,s){return t[s]!==void 0?t[s]:t.borderRadius}const $M=C1(0,.5,Gx),zM=C1(.5,.95,zn);function C1(t,s,o){return r=>r<t?0:r>s?1:o(Po(t,s,r))}function Db(t,s){t.min=s.min,t.max=s.max}function ts(t,s){Db(t.x,s.x),Db(t.y,s.y)}function Rb(t,s){t.translate=s.translate,t.scale=s.scale,t.originPoint=s.originPoint,t.origin=s.origin}function Mb(t,s,o,r,c){return t-=s,t=_d(t,1/o,r),c!==void 0&&(t=_d(t,1/c,r)),t}function HM(t,s=0,o=1,r=.5,c,d=t,u=t){if(Ls.test(s)&&(s=parseFloat(s),s=Ot(u.min,u.max,s/100)-u.min),typeof s!="number")return;let p=Ot(d.min,d.max,r);t===d&&(p-=s),t.min=Mb(t.min,s,o,p,c),t.max=Mb(t.max,s,o,p,c)}function Ib(t,s,[o,r,c],d,u){HM(t,s[o],s[r],s[c],s.scale,d,u)}const PM=["x","scaleX","originX"],UM=["y","scaleY","originY"];function Ob(t,s,o,r){Ib(t.x,s,PM,o?o.x:void 0,r?r.x:void 0),Ib(t.y,s,UM,o?o.y:void 0,r?r.y:void 0)}function Lb(t){return t.translate===0&&t.scale===1}function E1(t){return Lb(t.x)&&Lb(t.y)}function Bb(t,s){return t.min===s.min&&t.max===s.max}function VM(t,s){return Bb(t.x,s.x)&&Bb(t.y,s.y)}function $b(t,s){return Math.round(t.min)===Math.round(s.min)&&Math.round(t.max)===Math.round(s.max)}function A1(t,s){return $b(t.x,s.x)&&$b(t.y,s.y)}function zb(t){return Pn(t.x)/Pn(t.y)}function Hb(t,s){return t.translate===s.translate&&t.scale===s.scale&&t.originPoint===s.originPoint}class GM{constructor(){this.members=[]}add(s){th(this.members,s),s.scheduleRender()}remove(s){if(nh(this.members,s),s===this.prevLead&&(this.prevLead=void 0),s===this.lead){const o=this.members[this.members.length-1];o&&this.promote(o)}}relegate(s){const o=this.members.findIndex(c=>s===c);if(o===0)return!1;let r;for(let c=o;c>=0;c--){const d=this.members[c];if(d.isPresent!==!1){r=d;break}}return r?(this.promote(r),!0):!1}promote(s,o){const r=this.lead;if(s!==r&&(this.prevLead=r,this.lead=s,s.show(),r)){r.instance&&r.scheduleRender(),s.scheduleRender(),s.resumeFrom=r,o&&(s.resumeFrom.preserveOpacity=!0),r.snapshot&&(s.snapshot=r.snapshot,s.snapshot.latestValues=r.animationValues||r.latestValues),s.root&&s.root.isUpdating&&(s.isLayoutDirty=!0);const{crossfade:c}=s.options;c===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(s=>{const{options:o,resumingFrom:r}=s;o.onExitComplete&&o.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(s=>{s.instance&&s.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function qM(t,s,o){let r="";const c=t.x.translate/s.x,d=t.y.translate/s.y,u=(o==null?void 0:o.z)||0;if((c||d||u)&&(r=`translate3d(${c}px, ${d}px, ${u}px) `),(s.x!==1||s.y!==1)&&(r+=`scale(${1/s.x}, ${1/s.y}) `),o){const{transformPerspective:g,rotate:v,rotateX:_,rotateY:b,skewX:x,skewY:k}=o;g&&(r=`perspective(${g}px) ${r}`),v&&(r+=`rotate(${v}deg) `),_&&(r+=`rotateX(${_}deg) `),b&&(r+=`rotateY(${b}deg) `),x&&(r+=`skewX(${x}deg) `),k&&(r+=`skewY(${k}deg) `)}const p=t.x.scale*s.x,m=t.y.scale*s.y;return(p!==1||m!==1)&&(r+=`scale(${p}, ${m})`),r||"none"}const Ci={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},Jr=typeof window<"u"&&window.MotionDebug!==void 0,Mp=["","X","Y","Z"],FM={visibility:"hidden"},Pb=1e3;let ZM=0;function Ip(t,s,o,r){const{latestValues:c}=s;c[t]&&(o[t]=c[t],s.setStaticValue(t,0),r&&(r[t]=0))}function D1(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:s}=t.options;if(!s)return;const o=Ix(s);if(window.MotionHasOptimisedAnimation(o,"transform")){const{layout:c,layoutId:d}=t.options;window.MotionCancelOptimisedAnimation(o,"transform",Nt,!(c||d))}const{parent:r}=t;r&&!r.hasCheckedOptimisedAppear&&D1(r)}function R1({attachResizeListener:t,defaultParent:s,measureScroll:o,checkIsScrollRoot:r,resetTransform:c}){return class{constructor(u={},p=s==null?void 0:s()){this.id=ZM++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,Jr&&(Ci.totalNodes=Ci.resolvedTargetDeltas=Ci.recalculatedProjection=0),this.nodes.forEach(JM),this.nodes.forEach(t3),this.nodes.forEach(n3),this.nodes.forEach(WM),Jr&&window.MotionDebug.record(Ci)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=u,this.root=p?p.root||p:this,this.path=p?[...p.path,p]:[],this.parent=p,this.depth=p?p.depth+1:0;for(let m=0;m<this.path.length;m++)this.path[m].shouldResetTransform=!0;this.root===this&&(this.nodes=new IM)}addEventListener(u,p){return this.eventHandlers.has(u)||this.eventHandlers.set(u,new sh),this.eventHandlers.get(u).add(p)}notifyListeners(u,...p){const m=this.eventHandlers.get(u);m&&m.notify(...p)}hasListeners(u){return this.eventHandlers.has(u)}mount(u,p=this.root.hasTreeAnimated){if(this.instance)return;this.isSVG=RM(u),this.instance=u;const{layoutId:m,layout:g,visualElement:v}=this.options;if(v&&!v.current&&v.mount(u),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),p&&(g||m)&&(this.isLayoutDirty=!0),t){let _;const b=()=>this.root.updateBlockedByResize=!1;t(u,()=>{this.root.updateBlockedByResize=!0,_&&_(),_=OM(b,250),rd.hasAnimatedSinceResize&&(rd.hasAnimatedSinceResize=!1,this.nodes.forEach(Vb))})}m&&this.root.registerSharedNode(m,this),this.options.animate!==!1&&v&&(m||g)&&this.addEventListener("didUpdate",({delta:_,hasLayoutChanged:b,hasRelativeTargetChanged:x,layout:k})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const j=this.options.transition||v.getDefaultTransition()||r3,{onLayoutAnimationStart:w,onLayoutAnimationComplete:T}=v.getProps(),C=!this.targetLayout||!A1(this.targetLayout,k)||x,A=!b&&x;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||A||b&&(C||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(_,A);const L={...eh(j,"layout"),onPlay:w,onComplete:T};(v.shouldReduceMotion||this.options.layoutRoot)&&(L.delay=0,L.type=!1),this.startAnimation(L)}else b||Vb(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=k})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const u=this.getStack();u&&u.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Xa(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(s3),this.animationId++)}getTransformTemplate(){const{visualElement:u}=this.options;return u&&u.getProps().transformTemplate}willUpdate(u=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&D1(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let v=0;v<this.path.length;v++){const _=this.path[v];_.shouldResetTransform=!0,_.updateScroll("snapshot"),_.options.layoutRoot&&_.willUpdate(!1)}const{layoutId:p,layout:m}=this.options;if(p===void 0&&!m)return;const g=this.getTransformTemplate();this.prevTransformTemplateValue=g?g(this.latestValues,""):void 0,this.updateSnapshot(),u&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Ub);return}this.isUpdating||this.nodes.forEach(QM),this.isUpdating=!1,this.nodes.forEach(e3),this.nodes.forEach(KM),this.nodes.forEach(YM),this.clearAllSnapshots();const p=Bs.now();fn.delta=fa(0,1e3/60,p-fn.timestamp),fn.timestamp=p,fn.isProcessing=!0,Tp.update.process(fn),Tp.preRender.process(fn),Tp.render.process(fn),fn.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Gm.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(XM),this.sharedNodes.forEach(a3)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Nt.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Nt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let m=0;m<this.path.length;m++)this.path[m].updateScroll();const u=this.layout;this.layout=this.measure(!1),this.layoutCorrected=Pt(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:p}=this.options;p&&p.notify("LayoutMeasure",this.layout.layoutBox,u?u.layoutBox:void 0)}updateScroll(u="measure"){let p=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===u&&(p=!1),p){const m=r(this.instance);this.scroll={animationId:this.root.animationId,phase:u,isRoot:m,offset:o(this.instance),wasRoot:this.scroll?this.scroll.isRoot:m}}}resetTransform(){if(!c)return;const u=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,p=this.projectionDelta&&!E1(this.projectionDelta),m=this.getTransformTemplate(),g=m?m(this.latestValues,""):void 0,v=g!==this.prevTransformTemplateValue;u&&(p||Ni(this.latestValues)||v)&&(c(this.instance,g),this.shouldResetTransform=!1,this.scheduleRender())}measure(u=!0){const p=this.measurePageBox();let m=this.removeElementScroll(p);return u&&(m=this.removeTransform(m)),l3(m),{animationId:this.root.animationId,measuredBox:p,layoutBox:m,latestValues:{},source:this.id}}measurePageBox(){var u;const{visualElement:p}=this.options;if(!p)return Pt();const m=p.measureViewportBox();if(!(((u=this.scroll)===null||u===void 0?void 0:u.wasRoot)||this.path.some(c3))){const{scroll:v}=this.root;v&&(Lo(m.x,v.offset.x),Lo(m.y,v.offset.y))}return m}removeElementScroll(u){var p;const m=Pt();if(ts(m,u),!((p=this.scroll)===null||p===void 0)&&p.wasRoot)return m;for(let g=0;g<this.path.length;g++){const v=this.path[g],{scroll:_,options:b}=v;v!==this.root&&_&&b.layoutScroll&&(_.wasRoot&&ts(m,u),Lo(m.x,_.offset.x),Lo(m.y,_.offset.y))}return m}applyTransform(u,p=!1){const m=Pt();ts(m,u);for(let g=0;g<this.path.length;g++){const v=this.path[g];!p&&v.options.layoutScroll&&v.scroll&&v!==v.root&&Bo(m,{x:-v.scroll.offset.x,y:-v.scroll.offset.y}),Ni(v.latestValues)&&Bo(m,v.latestValues)}return Ni(this.latestValues)&&Bo(m,this.latestValues),m}removeTransform(u){const p=Pt();ts(p,u);for(let m=0;m<this.path.length;m++){const g=this.path[m];if(!g.instance||!Ni(g.latestValues))continue;gm(g.latestValues)&&g.updateSnapshot();const v=Pt(),_=g.measurePageBox();ts(v,_),Ob(p,g.latestValues,g.snapshot?g.snapshot.layoutBox:void 0,v)}return Ni(this.latestValues)&&Ob(p,this.latestValues),p}setTargetDelta(u){this.targetDelta=u,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(u){this.options={...this.options,...u,crossfade:u.crossfade!==void 0?u.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==fn.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(u=!1){var p;const m=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=m.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=m.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=m.isSharedProjectionDirty);const g=!!this.resumingFrom||this!==m;if(!(u||g&&this.isSharedProjectionDirty||this.isProjectionDirty||!((p=this.parent)===null||p===void 0)&&p.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:_,layoutId:b}=this.options;if(!(!this.layout||!(_||b))){if(this.resolvedRelativeTargetAt=fn.timestamp,!this.targetDelta&&!this.relativeTarget){const x=this.getClosestProjectingParent();x&&x.layout&&this.animationProgress!==1?(this.relativeParent=x,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Pt(),this.relativeTargetOrigin=Pt(),sl(this.relativeTargetOrigin,this.layout.layoutBox,x.layout.layoutBox),ts(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)){if(this.target||(this.target=Pt(),this.targetWithTransforms=Pt()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),fM(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):ts(this.target,this.layout.layoutBox),S1(this.target,this.targetDelta)):ts(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;const x=this.getClosestProjectingParent();x&&!!x.resumingFrom==!!this.resumingFrom&&!x.options.layoutScroll&&x.target&&this.animationProgress!==1?(this.relativeParent=x,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Pt(),this.relativeTargetOrigin=Pt(),sl(this.relativeTargetOrigin,this.target,x.target),ts(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}Jr&&Ci.resolvedTargetDeltas++}}}getClosestProjectingParent(){if(!(!this.parent||gm(this.parent.latestValues)||k1(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var u;const p=this.getLead(),m=!!this.resumingFrom||this!==p;let g=!0;if((this.isProjectionDirty||!((u=this.parent)===null||u===void 0)&&u.isProjectionDirty)&&(g=!1),m&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(g=!1),this.resolvedRelativeTargetAt===fn.timestamp&&(g=!1),g)return;const{layout:v,layoutId:_}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(v||_))return;ts(this.layoutCorrected,this.layout.layoutBox);const b=this.treeScale.x,x=this.treeScale.y;xM(this.layoutCorrected,this.treeScale,this.path,m),p.layout&&!p.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(p.target=p.layout.layoutBox,p.targetWithTransforms=Pt());const{target:k}=p;if(!k){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Rb(this.prevProjectionDelta.x,this.projectionDelta.x),Rb(this.prevProjectionDelta.y,this.projectionDelta.y)),nl(this.projectionDelta,this.layoutCorrected,k,this.latestValues),(this.treeScale.x!==b||this.treeScale.y!==x||!Hb(this.projectionDelta.x,this.prevProjectionDelta.x)||!Hb(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",k)),Jr&&Ci.recalculatedProjection++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(u=!0){var p;if((p=this.options.visualElement)===null||p===void 0||p.scheduleRender(),u){const m=this.getStack();m&&m.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Oo(),this.projectionDelta=Oo(),this.projectionDeltaWithTransform=Oo()}setAnimationOrigin(u,p=!1){const m=this.snapshot,g=m?m.latestValues:{},v={...this.latestValues},_=Oo();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!p;const b=Pt(),x=m?m.source:void 0,k=this.layout?this.layout.source:void 0,j=x!==k,w=this.getStack(),T=!w||w.members.length<=1,C=!!(j&&!T&&this.options.crossfade===!0&&!this.path.some(o3));this.animationProgress=0;let A;this.mixTargetDelta=L=>{const E=L/1e3;Gb(_.x,u.x,E),Gb(_.y,u.y,E),this.setTargetDelta(_),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(sl(b,this.layout.layoutBox,this.relativeParent.layout.layoutBox),i3(this.relativeTarget,this.relativeTargetOrigin,b,E),A&&VM(this.relativeTarget,A)&&(this.isProjectionDirty=!1),A||(A=Pt()),ts(A,this.relativeTarget)),j&&(this.animationValues=v,BM(v,g,this.latestValues,E,C,T)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=E},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(u){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Xa(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Nt.update(()=>{rd.hasAnimatedSinceResize=!0,this.currentAnimation=DM(0,Pb,{...u,onUpdate:p=>{this.mixTargetDelta(p),u.onUpdate&&u.onUpdate(p)},onComplete:()=>{u.onComplete&&u.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const u=this.getStack();u&&u.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Pb),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const u=this.getLead();let{targetWithTransforms:p,target:m,layout:g,latestValues:v}=u;if(!(!p||!m||!g)){if(this!==u&&this.layout&&g&&M1(this.options.animationType,this.layout.layoutBox,g.layoutBox)){m=this.target||Pt();const _=Pn(this.layout.layoutBox.x);m.x.min=u.target.x.min,m.x.max=m.x.min+_;const b=Pn(this.layout.layoutBox.y);m.y.min=u.target.y.min,m.y.max=m.y.min+b}ts(p,m),Bo(p,v),nl(this.projectionDeltaWithTransform,this.layoutCorrected,p,v)}}registerSharedNode(u,p){this.sharedNodes.has(u)||this.sharedNodes.set(u,new GM),this.sharedNodes.get(u).add(p);const g=p.options.initialPromotionConfig;p.promote({transition:g?g.transition:void 0,preserveFollowOpacity:g&&g.shouldPreserveFollowOpacity?g.shouldPreserveFollowOpacity(p):void 0})}isLead(){const u=this.getStack();return u?u.lead===this:!0}getLead(){var u;const{layoutId:p}=this.options;return p?((u=this.getStack())===null||u===void 0?void 0:u.lead)||this:this}getPrevLead(){var u;const{layoutId:p}=this.options;return p?(u=this.getStack())===null||u===void 0?void 0:u.prevLead:void 0}getStack(){const{layoutId:u}=this.options;if(u)return this.root.sharedNodes.get(u)}promote({needsReset:u,transition:p,preserveFollowOpacity:m}={}){const g=this.getStack();g&&g.promote(this,m),u&&(this.projectionDelta=void 0,this.needsReset=!0),p&&this.setOptions({transition:p})}relegate(){const u=this.getStack();return u?u.relegate(this):!1}resetSkewAndRotation(){const{visualElement:u}=this.options;if(!u)return;let p=!1;const{latestValues:m}=u;if((m.z||m.rotate||m.rotateX||m.rotateY||m.rotateZ||m.skewX||m.skewY)&&(p=!0),!p)return;const g={};m.z&&Ip("z",u,g,this.animationValues);for(let v=0;v<Mp.length;v++)Ip(`rotate${Mp[v]}`,u,g,this.animationValues),Ip(`skew${Mp[v]}`,u,g,this.animationValues);u.render();for(const v in g)u.setStaticValue(v,g[v]),this.animationValues&&(this.animationValues[v]=g[v]);u.scheduleRender()}getProjectionStyles(u){var p,m;if(!this.instance||this.isSVG)return;if(!this.isVisible)return FM;const g={visibility:""},v=this.getTransformTemplate();if(this.needsReset)return this.needsReset=!1,g.opacity="",g.pointerEvents=id(u==null?void 0:u.pointerEvents)||"",g.transform=v?v(this.latestValues,""):"none",g;const _=this.getLead();if(!this.projectionDelta||!this.layout||!_.target){const j={};return this.options.layoutId&&(j.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,j.pointerEvents=id(u==null?void 0:u.pointerEvents)||""),this.hasProjected&&!Ni(this.latestValues)&&(j.transform=v?v({},""):"none",this.hasProjected=!1),j}const b=_.animationValues||_.latestValues;this.applyTransformsToTarget(),g.transform=qM(this.projectionDeltaWithTransform,this.treeScale,b),v&&(g.transform=v(b,g.transform));const{x,y:k}=this.projectionDelta;g.transformOrigin=`${x.origin*100}% ${k.origin*100}% 0`,_.animationValues?g.opacity=_===this?(m=(p=b.opacity)!==null&&p!==void 0?p:this.latestValues.opacity)!==null&&m!==void 0?m:1:this.preserveOpacity?this.latestValues.opacity:b.opacityExit:g.opacity=_===this?b.opacity!==void 0?b.opacity:"":b.opacityExit!==void 0?b.opacityExit:0;for(const j in hd){if(b[j]===void 0)continue;const{correct:w,applyTo:T}=hd[j],C=g.transform==="none"?b[j]:w(b[j],_);if(T){const A=T.length;for(let L=0;L<A;L++)g[T[L]]=C}else g[j]=C}return this.options.layoutId&&(g.pointerEvents=_===this?id(u==null?void 0:u.pointerEvents)||"":"none"),g}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(u=>{var p;return(p=u.currentAnimation)===null||p===void 0?void 0:p.stop()}),this.root.nodes.forEach(Ub),this.root.sharedNodes.clear()}}}function KM(t){t.updateLayout()}function YM(t){var s;const o=((s=t.resumeFrom)===null||s===void 0?void 0:s.snapshot)||t.snapshot;if(t.isLead()&&t.layout&&o&&t.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:c}=t.layout,{animationType:d}=t.options,u=o.source!==t.layout.source;d==="size"?is(_=>{const b=u?o.measuredBox[_]:o.layoutBox[_],x=Pn(b);b.min=r[_].min,b.max=b.min+x}):M1(d,o.layoutBox,r)&&is(_=>{const b=u?o.measuredBox[_]:o.layoutBox[_],x=Pn(r[_]);b.max=b.min+x,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[_].max=t.relativeTarget[_].min+x)});const p=Oo();nl(p,r,o.layoutBox);const m=Oo();u?nl(m,t.applyTransform(c,!0),o.measuredBox):nl(m,r,o.layoutBox);const g=!E1(p);let v=!1;if(!t.resumeFrom){const _=t.getClosestProjectingParent();if(_&&!_.resumeFrom){const{snapshot:b,layout:x}=_;if(b&&x){const k=Pt();sl(k,o.layoutBox,b.layoutBox);const j=Pt();sl(j,r,x.layoutBox),A1(k,j)||(v=!0),_.options.layoutRoot&&(t.relativeTarget=j,t.relativeTargetOrigin=k,t.relativeParent=_)}}}t.notifyListeners("didUpdate",{layout:r,snapshot:o,delta:m,layoutDelta:p,hasLayoutChanged:g,hasRelativeTargetChanged:v})}else if(t.isLead()){const{onExitComplete:r}=t.options;r&&r()}t.options.transition=void 0}function JM(t){Jr&&Ci.totalNodes++,t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function WM(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function XM(t){t.clearSnapshot()}function Ub(t){t.clearMeasurements()}function QM(t){t.isLayoutDirty=!1}function e3(t){const{visualElement:s}=t.options;s&&s.getProps().onBeforeLayoutMeasure&&s.notify("BeforeLayoutMeasure"),t.resetTransform()}function Vb(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function t3(t){t.resolveTargetDelta()}function n3(t){t.calcProjection()}function s3(t){t.resetSkewAndRotation()}function a3(t){t.removeLeadSnapshot()}function Gb(t,s,o){t.translate=Ot(s.translate,0,o),t.scale=Ot(s.scale,1,o),t.origin=s.origin,t.originPoint=s.originPoint}function qb(t,s,o,r){t.min=Ot(s.min,o.min,r),t.max=Ot(s.max,o.max,r)}function i3(t,s,o,r){qb(t.x,s.x,o.x,r),qb(t.y,s.y,o.y,r)}function o3(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const r3={duration:.45,ease:[.4,0,.1,1]},Fb=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),Zb=Fb("applewebkit/")&&!Fb("chrome/")?Math.round:zn;function Kb(t){t.min=Zb(t.min),t.max=Zb(t.max)}function l3(t){Kb(t.x),Kb(t.y)}function M1(t,s,o){return t==="position"||t==="preserve-aspect"&&!uM(zb(s),zb(o),.2)}function c3(t){var s;return t!==t.root&&((s=t.scroll)===null||s===void 0?void 0:s.wasRoot)}const d3=R1({attachResizeListener:(t,s)=>ml(t,"resize",s),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Op={current:void 0},I1=R1({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!Op.current){const t=new d3({});t.mount(window),t.setOptions({layoutScroll:!0}),Op.current=t}return Op.current},resetTransform:(t,s)=>{t.style.transform=s!==void 0?s:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),u3={pan:{Feature:NM},drag:{Feature:wM,ProjectionNode:I1,MeasureLayout:w1}};function f3(t,s,o){var r;if(t instanceof Element)return[t];if(typeof t=="string"){let c=document;const d=(r=void 0)!==null&&r!==void 0?r:c.querySelectorAll(t);return d?Array.from(d):[]}return Array.from(t)}function O1(t,s){const o=f3(t),r=new AbortController,c={passive:!0,...s,signal:r.signal};return[o,c,()=>r.abort()]}function Yb(t){return s=>{s.pointerType==="touch"||g1()||t(s)}}function p3(t,s,o={}){const[r,c,d]=O1(t,o),u=Yb(p=>{const{target:m}=p,g=s(p);if(typeof g!="function"||!m)return;const v=Yb(_=>{g(_),m.removeEventListener("pointerleave",v)});m.addEventListener("pointerleave",v,c)});return r.forEach(p=>{p.addEventListener("pointerenter",u,c)}),d}function Jb(t,s,o){const{props:r}=t;t.animationState&&r.whileHover&&t.animationState.setActive("whileHover",o==="Start");const c="onHover"+o,d=r[c];d&&Nt.postRender(()=>d(s,Sl(s)))}class m3 extends ei{mount(){const{current:s}=this.node;s&&(this.unmount=p3(s,o=>(Jb(this.node,o,"Start"),r=>Jb(this.node,r,"End"))))}unmount(){}}class h3 extends ei{constructor(){super(...arguments),this.isActive=!1}onFocus(){let s=!1;try{s=this.node.current.matches(":focus-visible")}catch{s=!0}!s||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=kl(ml(this.node.current,"focus",()=>this.onFocus()),ml(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const L1=(t,s)=>s?t===s?!0:L1(t,s.parentElement):!1,g3=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function v3(t){return g3.has(t.tagName)||t.tabIndex!==-1}const Wr=new WeakSet;function Wb(t){return s=>{s.key==="Enter"&&t(s)}}function Lp(t,s){t.dispatchEvent(new PointerEvent("pointer"+s,{isPrimary:!0,bubbles:!0}))}const y3=(t,s)=>{const o=t.currentTarget;if(!o)return;const r=Wb(()=>{if(Wr.has(o))return;Lp(o,"down");const c=Wb(()=>{Lp(o,"up")}),d=()=>Lp(o,"cancel");o.addEventListener("keyup",c,s),o.addEventListener("blur",d,s)});o.addEventListener("keydown",r,s),o.addEventListener("blur",()=>o.removeEventListener("keydown",r),s)};function Xb(t){return gh(t)&&!g1()}function b3(t,s,o={}){const[r,c,d]=O1(t,o),u=p=>{const m=p.currentTarget;if(!Xb(p)||Wr.has(m))return;Wr.add(m);const g=s(p),v=(x,k)=>{window.removeEventListener("pointerup",_),window.removeEventListener("pointercancel",b),!(!Xb(x)||!Wr.has(m))&&(Wr.delete(m),typeof g=="function"&&g(x,{success:k}))},_=x=>{v(x,o.useGlobalTarget||L1(m,x.target))},b=x=>{v(x,!1)};window.addEventListener("pointerup",_,c),window.addEventListener("pointercancel",b,c)};return r.forEach(p=>{!v3(p)&&p.getAttribute("tabindex")===null&&(p.tabIndex=0),(o.useGlobalTarget?window:p).addEventListener("pointerdown",u,c),p.addEventListener("focus",g=>y3(g,c),c)}),d}function Qb(t,s,o){const{props:r}=t;t.animationState&&r.whileTap&&t.animationState.setActive("whileTap",o==="Start");const c="onTap"+(o==="End"?"":o),d=r[c];d&&Nt.postRender(()=>d(s,Sl(s)))}class _3 extends ei{mount(){const{current:s}=this.node;s&&(this.unmount=b3(s,o=>(Qb(this.node,o,"Start"),(r,{success:c})=>Qb(this.node,r,c?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const ym=new WeakMap,Bp=new WeakMap,x3=t=>{const s=ym.get(t.target);s&&s(t)},k3=t=>{t.forEach(x3)};function S3({root:t,...s}){const o=t||document;Bp.has(o)||Bp.set(o,{});const r=Bp.get(o),c=JSON.stringify(s);return r[c]||(r[c]=new IntersectionObserver(k3,{root:t,...s})),r[c]}function j3(t,s,o){const r=S3(s);return ym.set(t,o),r.observe(t),()=>{ym.delete(t),r.unobserve(t)}}const T3={some:0,all:1};class w3 extends ei{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:s={}}=this.node.getProps(),{root:o,margin:r,amount:c="some",once:d}=s,u={root:o?o.current:void 0,rootMargin:r,threshold:typeof c=="number"?c:T3[c]},p=m=>{const{isIntersecting:g}=m;if(this.isInView===g||(this.isInView=g,d&&!g&&this.hasEnteredView))return;g&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",g);const{onViewportEnter:v,onViewportLeave:_}=this.node.getProps(),b=g?v:_;b&&b(m)};return j3(this.node.current,u,p)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:s,prevProps:o}=this.node;["amount","margin","root"].some(N3(s,o))&&this.startObserver()}unmount(){}}function N3({viewport:t={}},{viewport:s={}}={}){return o=>t[o]!==s[o]}const C3={inView:{Feature:w3},tap:{Feature:_3},focus:{Feature:h3},hover:{Feature:m3}},E3={layout:{ProjectionNode:I1,MeasureLayout:w1}},xd={current:null},vh={current:!1};function B1(){if(vh.current=!0,!!Hm)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),s=()=>xd.current=t.matches;t.addListener(s),s()}else xd.current=!1}const A3=[...a1,gn,Qa],D3=t=>A3.find(s1(t)),e_=new WeakMap;function R3(t,s,o){for(const r in s){const c=s[r],d=o[r];if(vn(c))t.addValue(r,c);else if(vn(d))t.addValue(r,fl(c,{owner:t}));else if(d!==c)if(t.hasValue(r)){const u=t.getValue(r);u.liveStyle===!0?u.jump(c):u.hasAnimated||u.set(c)}else{const u=t.getStaticValue(r);t.addValue(r,fl(u!==void 0?u:c,{owner:t}))}}for(const r in o)s[r]===void 0&&t.removeValue(r);return s}const t_=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class M3{scrapeMotionValuesFromProps(s,o,r){return{}}constructor({parent:s,props:o,presenceContext:r,reducedMotionConfig:c,blockInitialAnimation:d,visualState:u},p={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=fh,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const x=Bs.now();this.renderScheduledAt<x&&(this.renderScheduledAt=x,Nt.render(this.render,!1,!0))};const{latestValues:m,renderState:g,onUpdate:v}=u;this.onUpdate=v,this.latestValues=m,this.baseTarget={...m},this.initialValues=o.initial?{...m}:{},this.renderState=g,this.parent=s,this.props=o,this.presenceContext=r,this.depth=s?s.depth+1:0,this.reducedMotionConfig=c,this.options=p,this.blockInitialAnimation=!!d,this.isControllingVariants=Ud(o),this.isVariantNode=gx(o),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(s&&s.current);const{willChange:_,...b}=this.scrapeMotionValuesFromProps(o,{},this);for(const x in b){const k=b[x];m[x]!==void 0&&vn(k)&&k.set(m[x],!1)}}mount(s){this.current=s,e_.set(s,this),this.projection&&!this.projection.instance&&this.projection.mount(s),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((o,r)=>this.bindToMotionValue(r,o)),vh.current||B1(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:xd.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e_.delete(this.current),this.projection&&this.projection.unmount(),Xa(this.notifyUpdate),Xa(this.render),this.valueSubscriptions.forEach(s=>s()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const s in this.events)this.events[s].clear();for(const s in this.features){const o=this.features[s];o&&(o.unmount(),o.isMounted=!1)}this.current=null}bindToMotionValue(s,o){this.valueSubscriptions.has(s)&&this.valueSubscriptions.get(s)();const r=zi.has(s),c=o.on("change",p=>{this.latestValues[s]=p,this.props.onUpdate&&Nt.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0)}),d=o.on("renderRequest",this.scheduleRender);let u;window.MotionCheckAppearSync&&(u=window.MotionCheckAppearSync(this,s,o)),this.valueSubscriptions.set(s,()=>{c(),d(),u&&u(),o.owner&&o.stop()})}sortNodePosition(s){return!this.current||!this.sortInstanceNodePosition||this.type!==s.type?0:this.sortInstanceNodePosition(this.current,s.current)}updateFeatures(){let s="animation";for(s in Ho){const o=Ho[s];if(!o)continue;const{isEnabled:r,Feature:c}=o;if(!this.features[s]&&c&&r(this.props)&&(this.features[s]=new c(this)),this.features[s]){const d=this.features[s];d.isMounted?d.update():(d.mount(),d.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Pt()}getStaticValue(s){return this.latestValues[s]}setStaticValue(s,o){this.latestValues[s]=o}update(s,o){(s.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=s,this.prevPresenceContext=this.presenceContext,this.presenceContext=o;for(let r=0;r<t_.length;r++){const c=t_[r];this.propEventSubscriptions[c]&&(this.propEventSubscriptions[c](),delete this.propEventSubscriptions[c]);const d="on"+c,u=s[d];u&&(this.propEventSubscriptions[c]=this.on(c,u))}this.prevMotionValues=R3(this,this.scrapeMotionValuesFromProps(s,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue(),this.onUpdate&&this.onUpdate(this)}getProps(){return this.props}getVariant(s){return this.props.variants?this.props.variants[s]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(s){const o=this.getClosestVariantNode();if(o)return o.variantChildren&&o.variantChildren.add(s),()=>o.variantChildren.delete(s)}addValue(s,o){const r=this.values.get(s);o!==r&&(r&&this.removeValue(s),this.bindToMotionValue(s,o),this.values.set(s,o),this.latestValues[s]=o.get())}removeValue(s){this.values.delete(s);const o=this.valueSubscriptions.get(s);o&&(o(),this.valueSubscriptions.delete(s)),delete this.latestValues[s],this.removeValueFromRenderState(s,this.renderState)}hasValue(s){return this.values.has(s)}getValue(s,o){if(this.props.values&&this.props.values[s])return this.props.values[s];let r=this.values.get(s);return r===void 0&&o!==void 0&&(r=fl(o===null?void 0:o,{owner:this}),this.addValue(s,r)),r}readValue(s,o){var r;let c=this.latestValues[s]!==void 0||!this.current?this.latestValues[s]:(r=this.getBaseTargetFromProps(this.props,s))!==null&&r!==void 0?r:this.readValueFromInstance(this.current,s,this.options);return c!=null&&(typeof c=="string"&&(t1(c)||Fx(c))?c=parseFloat(c):!D3(c)&&Qa.test(o)&&(c=Xx(s,o)),this.setBaseTarget(s,vn(c)?c.get():c)),vn(c)?c.get():c}setBaseTarget(s,o){this.baseTarget[s]=o}getBaseTarget(s){var o;const{initial:r}=this.props;let c;if(typeof r=="string"||typeof r=="object"){const u=Fm(this.props,r,(o=this.presenceContext)===null||o===void 0?void 0:o.custom);u&&(c=u[s])}if(r&&c!==void 0)return c;const d=this.getBaseTargetFromProps(this.props,s);return d!==void 0&&!vn(d)?d:this.initialValues[s]!==void 0&&c===void 0?void 0:this.baseTarget[s]}on(s,o){return this.events[s]||(this.events[s]=new sh),this.events[s].add(o)}notify(s,...o){this.events[s]&&this.events[s].notify(...o)}}class $1 extends M3{constructor(){super(...arguments),this.KeyframeResolver=i1}sortInstanceNodePosition(s,o){return s.compareDocumentPosition(o)&2?1:-1}getBaseTargetFromProps(s,o){return s.style?s.style[o]:void 0}removeValueFromRenderState(s,{vars:o,style:r}){delete o[s],delete r[s]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:s}=this.props;vn(s)&&(this.childSubscription=s.on("change",o=>{this.current&&(this.current.textContent=`${o}`)}))}}function I3(t){return window.getComputedStyle(t)}class O3 extends $1{constructor(){super(...arguments),this.type="html",this.renderInstance=Tx}readValueFromInstance(s,o){if(zi.has(o)){const r=uh(o);return r&&r.default||0}else{const r=I3(s),c=(kx(o)?r.getPropertyValue(o):r[o])||0;return typeof c=="string"?c.trim():c}}measureInstanceViewportBox(s,{transformPagePoint:o}){return j1(s,o)}build(s,o,r){Ym(s,o,r.transformTemplate)}scrapeMotionValuesFromProps(s,o,r){return Qm(s,o,r)}}class L3 extends $1{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Pt}getBaseTargetFromProps(s,o){return s[o]}readValueFromInstance(s,o){if(zi.has(o)){const r=uh(o);return r&&r.default||0}return o=wx.has(o)?o:Vm(o),s.getAttribute(o)}scrapeMotionValuesFromProps(s,o,r){return Ex(s,o,r)}build(s,o,r){Jm(s,o,this.isSVGTag,r.transformTemplate)}renderInstance(s,o,r,c){Nx(s,o,r,c)}mount(s){this.isSVGTag=Xm(s.tagName),super.mount(s)}}const B3=(t,s)=>qm(t)?new L3(s):new O3(s,{allowProjection:t!==y.Fragment}),$3=dR({...tM,...C3,...u3,...E3},B3),Rt=TD($3);function z3(){!vh.current&&B1();const[t]=y.useState(xd.current);return t}const H3="_overlay_cmicx_1",P3="_dialog_cmicx_11",U3="_title_cmicx_30",V3="_description_cmicx_38",G3="_actions_cmicx_45",q3="_cancelButton_cmicx_52",F3="_confirmButton_cmicx_79",Ti={overlay:H3,dialog:P3,title:U3,description:V3,actions:G3,cancelButton:q3,confirmButton:F3};function ks({isOpen:t,title:s,description:o,confirmLabel:r="Delete",onConfirm:c,onCancel:d}){const u=y.useId(),p=y.useId();return a.jsx(rs,{children:t&&a.jsx(Rt.div,{className:Ti.overlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onClick:d,onKeyDown:m=>{m.key==="Escape"&&d()},role:"dialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":o?p:void 0,children:a.jsxs(Rt.div,{className:Ti.dialog,initial:{opacity:0,scale:.93,y:-10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.93,y:-10},transition:{duration:.15,ease:[.16,1,.3,1]},onClick:m=>m.stopPropagation(),children:[a.jsx("h3",{id:u,className:Ti.title,children:s}),o&&a.jsx("p",{id:p,className:Ti.description,children:o}),a.jsxs("div",{className:Ti.actions,children:[a.jsx("button",{type:"button",className:Ti.cancelButton,onClick:d,autoFocus:!0,children:"Cancel"}),a.jsx("button",{type:"button",className:Ti.confirmButton,onClick:c,children:r})]})]})})})}const Z3="_skeleton_1gqp4_9",K3="_circular_1gqp4_17",Y3="_textContainer_1gqp4_26",J3="_card_1gqp4_31",kd={skeleton:Z3,circular:K3,textContainer:Y3,card:J3};function Ne({width:t="100%",height:s="1rem",borderRadius:o,variant:r="rectangular",className:c}){const d=[kd.skeleton,r==="circular"?kd.circular:"",c??""].filter(Boolean).join(" ");return a.jsx("div",{className:d,style:{width:t,height:s,...o&&r!=="circular"?{borderRadius:o}:{}},"aria-hidden":"true","data-testid":"skeleton"})}function bm({lines:t=3,lastLineWidth:s="60%",lineHeight:o="0.75rem",gap:r="var(--space-sm)",className:c}){return a.jsx("div",{className:`${kd.textContainer} ${c??""}`,style:{gap:r},"aria-hidden":"true","data-testid":"skeleton-text",children:Array.from({length:t},(d,u)=>a.jsx(Ne,{width:u===t-1&&t>1?s:"100%",height:o},u))})}function Sd({lines:t=2,className:s}){return a.jsxs("div",{className:`${kd.card} ${s??""}`,"aria-hidden":"true","data-testid":"skeleton-card",children:[a.jsx(Ne,{width:"40%",height:"1.25rem"}),a.jsx(bm,{lines:t})]})}const W3="_spinner_1uyt1_1",X3="_spin_1uyt1_1",Q3="_sm_1uyt1_14",e6="_md_1uyt1_20",t6="_lg_1uyt1_26",n6="_xl_1uyt1_32",n_={spinner:W3,spin:X3,sm:Q3,md:e6,lg:t6,xl:n6};function z1({size:t="md",className:s,label:o="Loading",liveRegion:r=!1}){return a.jsx("span",{className:`${n_.spinner} ${n_[t]} ${s??""}`,role:r?"status":void 0,"aria-label":o,"aria-hidden":r?void 0:!0})}function qd(t){return`/${t.replace(/^\//,"")}`}const s6="_splash_1bn1g_1",a6="_logo_1bn1g_11",s_={splash:s6,logo:a6};function H1(){return a.jsxs("div",{className:s_.splash,"data-testid":"splash-screen",children:[a.jsx("img",{src:qd("grackle-logo.png"),alt:"Grackle",className:s_.logo}),a.jsx(z1,{size:"xl",label:"Loading Grackle",liveRegion:!0})]})}const i6="_wrapper_4e5yt_1",o6="_wrapperBlock_4e5yt_6",r6="_tooltip_4e5yt_11",l6="_visible_4e5yt_31",c6="_top_4e5yt_41",d6="_bottom_4e5yt_48",u6="_left_4e5yt_55",f6="_right_4e5yt_62",Gr={wrapper:i6,wrapperBlock:o6,tooltip:r6,visible:l6,top:c6,bottom:d6,left:u6,right:f6},p6=300,Kc=6;function Oi({text:t,placement:s="top",delayMs:o=p6,inline:r=!0,children:c,className:d,"data-testid":u}){const[p,m]=y.useState(!1),[g,v]=y.useState({top:0,left:0}),_=y.useRef(null),b=y.useRef(null),x=y.useRef(void 0),k=y.useId(),j=typeof document<"u",w=y.useCallback(()=>{if(!_.current||!b.current)return;const H=_.current.getBoundingClientRect(),Y=b.current.getBoundingClientRect();let U=0,X=0;switch(s){case"top":U=H.top-Y.height-Kc,X=H.left+H.width/2-Y.width/2;break;case"bottom":U=H.bottom+Kc,X=H.left+H.width/2-Y.width/2;break;case"left":U=H.top+H.height/2-Y.height/2,X=H.left-Y.width-Kc;break;case"right":U=H.top+H.height/2-Y.height/2,X=H.right+Kc;break}v({top:U,left:X})},[s]),T=y.useCallback(H=>{x.current!==void 0&&clearTimeout(x.current),x.current=setTimeout(()=>{w(),m(!0),x.current=void 0},H)},[w]),C=y.useCallback(()=>{T(o)},[o,T]),A=y.useCallback(()=>{T(0)},[T]),L=y.useCallback(()=>{x.current!==void 0&&(clearTimeout(x.current),x.current=void 0),m(!1)},[]);y.useEffect(()=>{if(!p)return;const H=Y=>{Y.key==="Escape"&&L()};return document.addEventListener("keydown",H),window.addEventListener("scroll",w,!0),window.addEventListener("resize",w),()=>{document.removeEventListener("keydown",H),window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w)}},[p,L,w]),y.useEffect(()=>()=>{x.current!==void 0&&clearTimeout(x.current)},[]);const E=r?"span":"div",O=[r?Gr.wrapper:Gr.wrapperBlock,d].filter(Boolean).join(" ");let z=c;if(y.isValidElement(c)){const H=c,Y=H.props["aria-describedby"],U=p?Y?`${Y} ${k}`:k:Y;z=y.cloneElement(H,{"aria-describedby":U})}const D=a.jsx("div",{ref:b,id:k,role:"tooltip",className:`${Gr.tooltip} ${Gr[s]} ${p?Gr.visible:""}`,style:{top:g.top,left:g.left},"data-testid":u??"tooltip",children:t});return a.jsxs(E,{ref:_,className:O,onMouseEnter:C,onMouseLeave:L,onFocus:A,onBlur:L,children:[z,j?L2.createPortal(D,document.body):null]})}const m6="_attemptSelector_ggigl_1",h6="_attemptLabel_ggigl_17",g6="_attemptButton_ggigl_21",v6="_attemptActive_ggigl_38",y6="_attemptStatus_ggigl_44",qr={attemptSelector:m6,attemptLabel:h6,attemptButton:g6,attemptActive:v6,attemptStatus:y6};function b6({taskSessions:t,selectedSessionId:s,onSelect:o}){if(!(t.length<2))return a.jsxs("div",{className:qr.attemptSelector,"data-testid":"attempt-selector",children:[a.jsx("span",{className:qr.attemptLabel,children:"Attempts:"}),t.map((r,c)=>{const d=r.id===s,u=r.status==="stopped"&&r.endReason==="completed"?"✓":r.status==="stopped"?"✗":r.status==="running"||r.status==="idle"?"●":"";return a.jsxs("button",{className:`${qr.attemptButton} ${d?qr.attemptActive:""}`,onClick:()=>o(r.id),title:`Attempt #${c+1} — ${r.status}`,"aria-label":`Attempt #${c+1}, ${r.status}`,"aria-pressed":d,"data-testid":`attempt-${c+1}`,children:["#",c+1,u&&a.jsx("span",{className:qr.attemptStatus,children:u})]},r.id)})]})}const _6="_row_ldkru_1",x6="_hoverActions_ldkru_5",k6="_hoverButton_ldkru_31",S6="_selectingRow_ldkru_72",j6="_selected_ldkru_83",T6="_checkboxArea_ldkru_90",w6="_checkbox_ldkru_90",N6="_contentArea_ldkru_106",vs={row:_6,hoverActions:x6,hoverButton:k6,selectingRow:S6,selected:j6,checkboxArea:T6,checkbox:w6,contentArea:N6};function C6({copyText:t,isContentBearing:s,isSelecting:o,isSelected:r,checkboxLabel:c,onSelect:d,onToggle:u,onCopied:p,children:m}){const[g,v]=y.useState(!1),_=y.useRef(void 0);y.useEffect(()=>()=>{_.current!==void 0&&clearTimeout(_.current)},[]);const b=y.useCallback(async()=>{try{await navigator.clipboard.writeText(t),v(!0),p==null||p(),_.current!==void 0&&clearTimeout(_.current),_.current=setTimeout(()=>{v(!1)},2e3)}catch{}},[t,p]),x=y.useCallback(k=>{!o||k.target.closest("a, button, input, textarea, select, [role=button]")||(k.preventDefault(),u(k.shiftKey))},[o,u]);return s?o?a.jsxs("div",{className:`${vs.row} ${vs.selectingRow} ${r?vs.selected:""}`,onClick:x,"data-testid":"event-selectable-row",children:[a.jsx("div",{className:vs.checkboxArea,children:a.jsx("input",{type:"checkbox",checked:r,onChange:k=>{u(k.nativeEvent.shiftKey)},onClick:k=>{k.stopPropagation()},className:vs.checkbox,"aria-label":c??"Select this event","data-testid":"event-select-checkbox"})}),a.jsx("div",{className:vs.contentArea,children:m})]}):a.jsxs("div",{className:vs.row,"data-testid":"event-hover-row",children:[a.jsxs("div",{className:vs.hoverActions,"data-testid":"event-hover-actions",children:[a.jsx("button",{type:"button",className:vs.hoverButton,onClick:()=>{b().catch(()=>{})},"aria-label":"Copy event content","data-testid":"event-hover-copy",children:g?a.jsx(Li,{size:it,"aria-hidden":"true"}):a.jsx(B_,{size:it,"aria-hidden":"true"})}),a.jsx("button",{type:"button",className:vs.hoverButton,onClick:d,"aria-label":"Select this event","data-testid":"event-hover-select",children:a.jsx(LT,{size:it,"aria-hidden":"true"})})]}),m]}):a.jsx("div",{className:vs.row,children:m})}const E6="_bar_lagql_1",A6="_left_lagql_21",D6="_right_lagql_27",R6="_count_lagql_33",M6="_toggleButton_lagql_40",I6="_copyButton_lagql_68",O6="_forwardButton_lagql_108",L6="_cancelButton_lagql_148",Va={bar:E6,left:A6,right:D6,count:R6,toggleButton:M6,copyButton:I6,forwardButton:O6,cancelButton:L6};function B6({selectedCount:t,totalSelectable:s,onSelectAll:o,onDeselectAll:r,onCopy:c,onForward:d,forwardDisabled:u=!1,onCancel:p}){const m=t>0&&t>=s;return a.jsxs(Rt.div,{className:Va.bar,initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},transition:{duration:.15},"data-testid":"floating-action-bar",children:[a.jsxs("div",{className:Va.left,children:[a.jsxs("span",{className:Va.count,"data-testid":"floating-bar-count",children:[t," selected"]}),a.jsx("button",{type:"button",className:Va.toggleButton,onClick:m?r:o,"data-testid":"floating-bar-select-all",children:m?"Deselect all":"Select all"})]}),a.jsxs("div",{className:Va.right,children:[a.jsxs("button",{type:"button",className:Va.copyButton,onClick:c,disabled:t===0,"data-testid":"floating-bar-copy",children:[a.jsx(qj,{size:it,"aria-hidden":"true"}),"Copy"]}),d!==void 0&&a.jsx(Oi,{text:u?"No active sessions to forward to":"Forward to another session",children:a.jsxs("button",{type:"button",className:Va.forwardButton,"aria-disabled":u||t===0,onClick:()=>{!u&&t>0&&d()},"data-testid":"floating-bar-forward",children:[a.jsx(Qj,{size:it,"aria-hidden":"true"}),"Forward"]})}),a.jsx("button",{type:"button",className:Va.cancelButton,onClick:p,"aria-label":"Cancel selection","data-testid":"floating-bar-cancel",children:a.jsx($s,{size:it,"aria-hidden":"true"})})]})]})}const $6="_overlay_1hra6_1",z6="_dialog_1hra6_11",H6="_header_1hra6_27",P6="_title_1hra6_35",U6="_closeButton_1hra6_42",V6="_filterRow_1hra6_78",G6="_searchIcon_1hra6_86",q6="_filterInput_1hra6_91",F6="_list_1hra6_108",Z6="_emptyItem_1hra6_116",K6="_sessionRow_1hra6_123",Y6="_sessionMain_1hra6_158",J6="_envName_1hra6_165",W6="_personaName_1hra6_175",X6="_statusBadge_1hra6_189",Q6="_status_running_1hra6_198",e5="_status_idle_1hra6_202",t5="_status_other_1hra6_206",n5="_sessionPrompt_1hra6_211",s5="_noSessions_1hra6_220",Xt={overlay:$6,dialog:z6,header:H6,title:P6,closeButton:U6,filterRow:V6,searchIcon:G6,filterInput:q6,list:F6,emptyItem:Z6,sessionRow:K6,sessionMain:Y6,envName:J6,personaName:W6,statusBadge:X6,status_running:Q6,status_idle:e5,status_other:t5,sessionPrompt:n5,noSessions:s5};function a5(t){return t==="running"?"running":t==="idle"?"idle":t}function i5({isOpen:t,sessions:s,environments:o,personas:r,onSelect:c,onCancel:d}){const[u,p]=y.useState(""),m=y.useRef(null),g=y.useRef(null);y.useEffect(()=>{var j;t&&s.length<=4&&((j=g.current)==null||j.focus())},[t,s.length]);const v=new Map(o.map(j=>[j.id,j.displayName])),_=new Map((r??[]).map(j=>[j.id,j.name])),b=s.map(j=>({session:j,environmentName:v.get(j.environmentId)??j.environmentId})),x=s.length>4,k=u.trim()?b.filter(({session:j,environmentName:w})=>w.toLowerCase().includes(u.toLowerCase())||j.prompt.toLowerCase().includes(u.toLowerCase())):b;return a.jsx(rs,{children:t&&a.jsx(Rt.div,{className:Xt.overlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onClick:d,onKeyDown:j=>{j.key==="Escape"&&d()},role:"dialog","aria-modal":"true","aria-label":"Forward to session","data-testid":"session-picker-overlay",children:a.jsxs(Rt.div,{ref:m,className:Xt.dialog,initial:{opacity:0,scale:.93,y:-10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.93,y:-10},transition:{duration:.15,ease:[.16,1,.3,1]},onClick:j=>{j.stopPropagation()},"data-testid":"session-picker-dialog",children:[a.jsxs("div",{className:Xt.header,children:[a.jsx("h3",{className:Xt.title,children:"Forward to session"}),a.jsx("button",{ref:g,type:"button",className:Xt.closeButton,onClick:d,"aria-label":"Close session picker","data-testid":"session-picker-close",children:a.jsx($s,{size:it,"aria-hidden":"true"})})]}),x&&a.jsxs("div",{className:Xt.filterRow,children:[a.jsx(fd,{size:it,className:Xt.searchIcon,"aria-hidden":"true"}),a.jsx("input",{type:"text",className:Xt.filterInput,placeholder:"Filter sessions...",value:u,onChange:j=>{p(j.target.value)},"data-testid":"session-picker-filter",autoFocus:!0})]}),s.length===0?a.jsxs("div",{className:Xt.noSessions,"data-testid":"session-picker-no-sessions",children:[a.jsx(fd,{size:Gt,"aria-hidden":"true"}),a.jsx("p",{children:"No active sessions to forward to."})]}):a.jsx("ul",{className:Xt.list,"data-testid":"session-picker-list",children:k.length===0?a.jsx("li",{className:Xt.emptyItem,"data-testid":"session-picker-empty",children:"No matching sessions"}):k.map(({session:j,environmentName:w})=>{const T=j.personaId?_.get(j.personaId)??void 0:void 0;return a.jsx("li",{children:a.jsxs("button",{type:"button",className:Xt.sessionRow,onClick:()=>{c(j.id)},"data-testid":`session-picker-item-${j.id}`,children:[a.jsxs("div",{className:Xt.sessionMain,children:[a.jsx("span",{className:Xt.envName,children:w}),T!==void 0&&a.jsx("span",{className:Xt.personaName,"data-testid":`session-picker-persona-${j.id}`,children:T}),a.jsx("span",{className:`${Xt.statusBadge} ${Xt[`status_${j.status}`]??Xt.status_other}`,"data-testid":`session-picker-status-${j.id}`,children:a5(j.status)})]}),a.jsx("div",{className:Xt.sessionPrompt,children:j.prompt.length>80?`${j.prompt.slice(0,80)}...`:j.prompt})]})},j.id)})})]})})})}const P1=50;function o5(t,s,o,r,c=P1){return r?t<c:s-t-o<c}function r5(t,s){const o=s-t;return o>0?o:0}function l5({scrollRef:t,contentLength:s,isReversed:o,paused:r}){const[c,d]=y.useState(!0),u=y.useRef(0),p=y.useRef(!1),m=y.useRef(0);y.useEffect(()=>{const v=t.current;if(!v)return;let _=!0;const b=()=>{m.current||(m.current=requestAnimationFrame(()=>{m.current=0;const x=o5(v.scrollTop,v.scrollHeight,v.clientHeight,o,P1);x!==_&&(_=x,d(x))}))};return v.addEventListener("scroll",b,{passive:!0}),()=>{v.removeEventListener("scroll",b),m.current&&(cancelAnimationFrame(m.current),m.current=0)}},[t,o]),y.useLayoutEffect(()=>{const v=t.current;!v||p.current||(p.current=!0,o?v.scrollTop=0:v.scrollTop=v.scrollHeight,d(!0))},[t,o]),y.useLayoutEffect(()=>{const v=t.current;if(v){if(r){u.current=v.scrollHeight;return}if(o&&!c){const _=r5(u.current,v.scrollHeight);_>0&&(v.scrollTop+=_)}c&&(o?v.scrollTo({top:0,behavior:"smooth"}):v.scrollTo({top:v.scrollHeight,behavior:"smooth"})),u.current=v.scrollHeight}},[s,c,o,r,t]);const g=y.useCallback(()=>{const v=t.current;if(!v)return;const _=o?0:v.scrollHeight;v.scrollTo({top:_,behavior:"smooth"}),d(!0)},[t,o]);return{isAtAnchor:c,scrollToAnchor:g}}const c5=new Set(["text","output","user_input","tool_use","tool_result","error"]);function hl(t){return c5.has(t.eventType)}function d5(t){var s;switch(t.eventType){case"tool_result":{if((s=t.toolUseCtx)!=null&&s.detailedResult)return t.toolUseCtx.detailedResult;let o=t.content;if(t.content.trimStart().startsWith("{"))try{const r=JSON.parse(t.content);typeof r.content=="string"&&(o=r.content)}catch{}return o}case"tool_use":try{const o=JSON.parse(t.content),r=o.tool??"tool",c=o.args!==void 0?JSON.stringify(o.args,void 0,2):"";return`${r}
299
- ${c}`}catch{return t.content}default:return t.content}}function a_(t){if(t==null)return"";if(typeof t!="object")return String(t);const s=t;return typeof s.command=="string"?`\`${s.command}\``:typeof s.file_path=="string"||typeof s.filePath=="string"?`\`${s.file_path??s.filePath}\``:typeof s.path=="string"?`\`${s.path}\``:typeof s.query=="string"?`\`${s.query}\``:typeof s.pattern=="string"?`\`${s.pattern}\``:""}function U1(t){var o;const s=[];for(const r of t){if(!hl(r))continue;const c=new Date(r.timestamp).toLocaleTimeString();switch(r.eventType){case"text":case"output":{s.push(`**Assistant** (${c}):
298
+ `),()=>{document.head.removeChild(v)}},[s]),a.jsx(hD,{isPresent:s,childRef:r,sizeRef:c,children:y.cloneElement(t,{ref:r})})}const vD=({children:t,initial:s,isPresent:o,onExitComplete:r,custom:c,presenceAffectsLayout:d,mode:u})=>{const p=$m(yD),m=y.useId(),g=y.useCallback(_=>{p.set(_,!0);for(const b of p.values())if(!b)return;r&&r()},[p,r]),v=y.useMemo(()=>({id:m,initial:s,isPresent:o,custom:c,onExitComplete:g,register:_=>(p.set(_,!1),()=>p.delete(_))}),d?[Math.random(),g]:[o,g]);return y.useMemo(()=>{p.forEach((_,b)=>p.set(b,!1))},[o]),y.useEffect(()=>{!o&&!p.size&&r&&r()},[o]),u==="popLayout"&&(t=a.jsx(gD,{isPresent:o,children:t})),a.jsx(zd.Provider,{value:v,children:t})};function yD(){return new Map}function ux(t=!0){const s=y.useContext(zd);if(s===null)return[!0,null];const{isPresent:o,onExitComplete:r,register:c}=s,d=y.useId();y.useEffect(()=>{t&&c(d)},[t]);const u=y.useCallback(()=>t&&r&&r(d),[d,r,t]);return!o&&r?[!1,u]:[!0]}const Gc=t=>t.key||"";function Py(t){const s=[];return y.Children.forEach(t,o=>{y.isValidElement(o)&&s.push(o)}),s}const Hm=typeof window<"u",fx=Hm?y.useLayoutEffect:y.useEffect,rs=({children:t,custom:s,initial:o=!0,onExitComplete:r,presenceAffectsLayout:c=!0,mode:d="sync",propagate:u=!1})=>{const[p,m]=ux(u),g=y.useMemo(()=>Py(t),[t]),v=u&&!p?[]:g.map(Gc),_=y.useRef(!0),b=y.useRef(g),x=$m(()=>new Map),[k,j]=y.useState(g),[w,T]=y.useState(g);fx(()=>{_.current=!1,b.current=g;for(let L=0;L<w.length;L++){const E=Gc(w[L]);v.includes(E)?x.delete(E):x.get(E)!==!0&&x.set(E,!1)}},[w,v.length,v.join("-")]);const C=[];if(g!==k){let L=[...g];for(let E=0;E<w.length;E++){const O=w[E],z=Gc(O);v.includes(z)||(L.splice(E,0,O),C.push(O))}d==="wait"&&C.length&&(L=C),T(Py(L)),j(g);return}const{forceRender:A}=y.useContext(Bm);return a.jsx(a.Fragment,{children:w.map(L=>{const E=Gc(L),O=u&&!p?!1:g===w||v.includes(E),z=()=>{if(x.has(E))x.set(E,!0);else return;let D=!0;x.forEach(H=>{H||(D=!1)}),D&&(A==null||A(),T(b.current),u&&(m==null||m()),r&&r())};return a.jsx(vD,{isPresent:O,initial:!_.current||o?void 0:!1,custom:O?void 0:s,presenceAffectsLayout:c,mode:d,onExitComplete:O?void 0:z,children:L},E)})})},zn=t=>t;let px=zn;const bD={useManualTiming:!1};function _D(t){let s=new Set,o=new Set,r=!1,c=!1;const d=new WeakSet;let u={delta:0,timestamp:0,isProcessing:!1};function p(g){d.has(g)&&(m.schedule(g),t()),g(u)}const m={schedule:(g,v=!1,_=!1)=>{const x=_&&r?s:o;return v&&d.add(g),x.has(g)||x.add(g),g},cancel:g=>{o.delete(g),d.delete(g)},process:g=>{if(u=g,r){c=!0;return}r=!0,[s,o]=[o,s],s.forEach(p),s.clear(),r=!1,c&&(c=!1,m.process(g))}};return m}const qc=["read","resolveKeyframes","update","preRender","render","postRender"],xD=40;function mx(t,s){let o=!1,r=!0;const c={delta:0,timestamp:0,isProcessing:!1},d=()=>o=!0,u=qc.reduce((T,C)=>(T[C]=_D(d),T),{}),{read:p,resolveKeyframes:m,update:g,preRender:v,render:_,postRender:b}=u,x=()=>{const T=performance.now();o=!1,c.delta=r?1e3/60:Math.max(Math.min(T-c.timestamp,xD),1),c.timestamp=T,c.isProcessing=!0,p.process(c),m.process(c),g.process(c),v.process(c),_.process(c),b.process(c),c.isProcessing=!1,o&&s&&(r=!1,t(x))},k=()=>{o=!0,r=!0,c.isProcessing||t(x)};return{schedule:qc.reduce((T,C)=>{const A=u[C];return T[C]=(L,E=!1,O=!1)=>(o||k(),A.schedule(L,E,O)),T},{}),cancel:T=>{for(let C=0;C<qc.length;C++)u[qc[C]].cancel(T)},state:c,steps:u}}const{schedule:Nt,cancel:Qa,state:fn,steps:Tp}=mx(typeof requestAnimationFrame<"u"?requestAnimationFrame:zn,!0),hx=y.createContext({strict:!1}),Uy={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},zo={};for(const t in Uy)zo[t]={isEnabled:s=>Uy[t].some(o=>!!s[o])};function kD(t){for(const s in t)zo[s]={...zo[s],...t[s]}}const SD=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function md(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||SD.has(t)}let gx=t=>!md(t);function jD(t){t&&(gx=s=>s.startsWith("on")?!md(s):t(s))}try{jD(require("@emotion/is-prop-valid").default)}catch{}function TD(t,s,o){const r={};for(const c in t)c==="values"&&typeof t.values=="object"||(gx(c)||o===!0&&md(c)||!s&&!md(c)||t.draggable&&c.startsWith("onDrag"))&&(r[c]=t[c]);return r}function wD(t){if(typeof Proxy>"u")return t;const s=new Map,o=(...r)=>t(...r);return new Proxy(o,{get:(r,c)=>c==="create"?t:(s.has(c)||s.set(c,t(c)),s.get(c))})}const Hd=y.createContext({});function dl(t){return typeof t=="string"||Array.isArray(t)}function Pd(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}const Pm=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Um=["initial",...Pm];function Ud(t){return Pd(t.animate)||Um.some(s=>dl(t[s]))}function vx(t){return!!(Ud(t)||t.variants)}function ND(t,s){if(Ud(t)){const{initial:o,animate:r}=t;return{initial:o===!1||dl(o)?o:void 0,animate:dl(r)?r:void 0}}return t.inherit!==!1?s:{}}function CD(t){const{initial:s,animate:o}=ND(t,y.useContext(Hd));return y.useMemo(()=>({initial:s,animate:o}),[Vy(s),Vy(o)])}function Vy(t){return Array.isArray(t)?t.join(" "):t}const ED=Symbol.for("motionComponentSymbol");function Ro(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function AD(t,s,o){return y.useCallback(r=>{r&&t.onMount&&t.onMount(r),s&&(r?s.mount(r):s.unmount()),o&&(typeof o=="function"?o(r):Ro(o)&&(o.current=r))},[s])}const Vm=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),DD="framerAppearId",yx="data-"+Vm(DD),{schedule:Gm}=mx(queueMicrotask,!1),bx=y.createContext({});function RD(t,s,o,r,c){var d,u;const{visualElement:p}=y.useContext(Hd),m=y.useContext(hx),g=y.useContext(zd),v=y.useContext(zm).reducedMotion,_=y.useRef(null);r=r||m.renderer,!_.current&&r&&(_.current=r(t,{visualState:s,parent:p,props:o,presenceContext:g,blockInitialAnimation:g?g.initial===!1:!1,reducedMotionConfig:v}));const b=_.current,x=y.useContext(bx);b&&!b.projection&&c&&(b.type==="html"||b.type==="svg")&&MD(_.current,o,c,x);const k=y.useRef(!1);y.useInsertionEffect(()=>{b&&k.current&&b.update(o,g)});const j=o[yx],w=y.useRef(!!j&&!(!((d=window.MotionHandoffIsComplete)===null||d===void 0)&&d.call(window,j))&&((u=window.MotionHasOptimisedAnimation)===null||u===void 0?void 0:u.call(window,j)));return fx(()=>{b&&(k.current=!0,window.MotionIsMounted=!0,b.updateFeatures(),Gm.render(b.render),w.current&&b.animationState&&b.animationState.animateChanges())}),y.useEffect(()=>{b&&(!w.current&&b.animationState&&b.animationState.animateChanges(),w.current&&(queueMicrotask(()=>{var T;(T=window.MotionHandoffMarkAsComplete)===null||T===void 0||T.call(window,j)}),w.current=!1))}),b}function MD(t,s,o,r){const{layoutId:c,layout:d,drag:u,dragConstraints:p,layoutScroll:m,layoutRoot:g}=s;t.projection=new o(t.latestValues,s["data-framer-portal-id"]?void 0:_x(t.parent)),t.projection.setOptions({layoutId:c,layout:d,alwaysMeasureLayout:!!u||p&&Ro(p),visualElement:t,animationType:typeof d=="string"?d:"both",initialPromotionConfig:r,layoutScroll:m,layoutRoot:g})}function _x(t){if(t)return t.options.allowProjection!==!1?t.projection:_x(t.parent)}function ID({preloadedFeatures:t,createVisualElement:s,useRender:o,useVisualState:r,Component:c}){var d,u;t&&kD(t);function p(g,v){let _;const b={...y.useContext(zm),...g,layoutId:OD(g)},{isStatic:x}=b,k=CD(g),j=r(g,x);if(!x&&Hm){LD();const w=BD(b);_=w.MeasureLayout,k.visualElement=RD(c,j,b,s,w.ProjectionNode)}return a.jsxs(Hd.Provider,{value:k,children:[_&&k.visualElement?a.jsx(_,{visualElement:k.visualElement,...b}):null,o(c,g,AD(j,k.visualElement,v),j,x,k.visualElement)]})}p.displayName=`motion.${typeof c=="string"?c:`create(${(u=(d=c.displayName)!==null&&d!==void 0?d:c.name)!==null&&u!==void 0?u:""})`}`;const m=y.forwardRef(p);return m[ED]=c,m}function OD({layoutId:t}){const s=y.useContext(Bm).id;return s&&t!==void 0?s+"-"+t:t}function LD(t,s){y.useContext(hx).strict}function BD(t){const{drag:s,layout:o}=zo;if(!s&&!o)return{};const r={...s,...o};return{MeasureLayout:s!=null&&s.isEnabled(t)||o!=null&&o.isEnabled(t)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}const $D=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function qm(t){return typeof t!="string"||t.includes("-")?!1:!!($D.indexOf(t)>-1||/[A-Z]/u.test(t))}function Gy(t){const s=[{},{}];return t==null||t.values.forEach((o,r)=>{s[0][r]=o.get(),s[1][r]=o.getVelocity()}),s}function Fm(t,s,o,r){if(typeof s=="function"){const[c,d]=Gy(r);s=s(o!==void 0?o:t.custom,c,d)}if(typeof s=="string"&&(s=t.variants&&t.variants[s]),typeof s=="function"){const[c,d]=Gy(r);s=s(o!==void 0?o:t.custom,c,d)}return s}const am=t=>Array.isArray(t),zD=t=>!!(t&&typeof t=="object"&&t.mix&&t.toValue),HD=t=>am(t)?t[t.length-1]||0:t,vn=t=>!!(t&&t.getVelocity);function id(t){const s=vn(t)?t.get():t;return zD(s)?s.toValue():s}function PD({scrapeMotionValuesFromProps:t,createRenderState:s,onUpdate:o},r,c,d){const u={latestValues:UD(r,c,d,t),renderState:s()};return o&&(u.onMount=p=>o({props:r,current:p,...u}),u.onUpdate=p=>o(p)),u}const xx=t=>(s,o)=>{const r=y.useContext(Hd),c=y.useContext(zd),d=()=>PD(t,s,r,c);return o?d():$m(d)};function UD(t,s,o,r){const c={},d=r(t,{});for(const b in d)c[b]=id(d[b]);let{initial:u,animate:p}=t;const m=Ud(t),g=vx(t);s&&g&&!m&&t.inherit!==!1&&(u===void 0&&(u=s.initial),p===void 0&&(p=s.animate));let v=o?o.initial===!1:!1;v=v||u===!1;const _=v?p:u;if(_&&typeof _!="boolean"&&!Pd(_)){const b=Array.isArray(_)?_:[_];for(let x=0;x<b.length;x++){const k=Fm(t,b[x]);if(k){const{transitionEnd:j,transition:w,...T}=k;for(const C in T){let A=T[C];if(Array.isArray(A)){const L=v?A.length-1:0;A=A[L]}A!==null&&(c[C]=A)}for(const C in j)c[C]=j[C]}}}return c}const Zo=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],$i=new Set(Zo),kx=t=>s=>typeof s=="string"&&s.startsWith(t),Sx=kx("--"),VD=kx("var(--"),Zm=t=>VD(t)?GD.test(t.split("/*")[0].trim()):!1,GD=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,jx=(t,s)=>s&&typeof t=="number"?s.transform(t):t,fa=(t,s,o)=>o>s?s:o<t?t:o,Ko={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},ul={...Ko,transform:t=>fa(0,1,t)},Fc={...Ko,default:1},_l=t=>({test:s=>typeof s=="string"&&s.endsWith(t)&&s.split(" ").length===1,parse:parseFloat,transform:s=>`${s}${t}`}),Ya=_l("deg"),Ls=_l("%"),De=_l("px"),qD=_l("vh"),FD=_l("vw"),qy={...Ls,parse:t=>Ls.parse(t)/100,transform:t=>Ls.transform(t*100)},ZD={borderWidth:De,borderTopWidth:De,borderRightWidth:De,borderBottomWidth:De,borderLeftWidth:De,borderRadius:De,radius:De,borderTopLeftRadius:De,borderTopRightRadius:De,borderBottomRightRadius:De,borderBottomLeftRadius:De,width:De,maxWidth:De,height:De,maxHeight:De,top:De,right:De,bottom:De,left:De,padding:De,paddingTop:De,paddingRight:De,paddingBottom:De,paddingLeft:De,margin:De,marginTop:De,marginRight:De,marginBottom:De,marginLeft:De,backgroundPositionX:De,backgroundPositionY:De},KD={rotate:Ya,rotateX:Ya,rotateY:Ya,rotateZ:Ya,scale:Fc,scaleX:Fc,scaleY:Fc,scaleZ:Fc,skew:Ya,skewX:Ya,skewY:Ya,distance:De,translateX:De,translateY:De,translateZ:De,x:De,y:De,z:De,perspective:De,transformPerspective:De,opacity:ul,originX:qy,originY:qy,originZ:De},Fy={...Ko,transform:Math.round},Km={...ZD,...KD,zIndex:Fy,size:De,fillOpacity:ul,strokeOpacity:ul,numOctaves:Fy},YD={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},JD=Zo.length;function WD(t,s,o){let r="",c=!0;for(let d=0;d<JD;d++){const u=Zo[d],p=t[u];if(p===void 0)continue;let m=!0;if(typeof p=="number"?m=p===(u.startsWith("scale")?1:0):m=parseFloat(p)===0,!m||o){const g=jx(p,Km[u]);if(!m){c=!1;const v=YD[u]||u;r+=`${v}(${g}) `}o&&(s[u]=g)}}return r=r.trim(),o?r=o(s,c?"":r):c&&(r="none"),r}function Ym(t,s,o){const{style:r,vars:c,transformOrigin:d}=t;let u=!1,p=!1;for(const m in s){const g=s[m];if($i.has(m)){u=!0;continue}else if(Sx(m)){c[m]=g;continue}else{const v=jx(g,Km[m]);m.startsWith("origin")?(p=!0,d[m]=v):r[m]=v}}if(s.transform||(u||o?r.transform=WD(s,t.transform,o):r.transform&&(r.transform="none")),p){const{originX:m="50%",originY:g="50%",originZ:v=0}=d;r.transformOrigin=`${m} ${g} ${v}`}}const XD={offset:"stroke-dashoffset",array:"stroke-dasharray"},QD={offset:"strokeDashoffset",array:"strokeDasharray"};function eR(t,s,o=1,r=0,c=!0){t.pathLength=1;const d=c?XD:QD;t[d.offset]=De.transform(-r);const u=De.transform(s),p=De.transform(o);t[d.array]=`${u} ${p}`}function Zy(t,s,o){return typeof t=="string"?t:De.transform(s+o*t)}function tR(t,s,o){const r=Zy(s,t.x,t.width),c=Zy(o,t.y,t.height);return`${r} ${c}`}function Jm(t,{attrX:s,attrY:o,attrScale:r,originX:c,originY:d,pathLength:u,pathSpacing:p=1,pathOffset:m=0,...g},v,_){if(Ym(t,g,_),v){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:b,style:x,dimensions:k}=t;b.transform&&(k&&(x.transform=b.transform),delete b.transform),k&&(c!==void 0||d!==void 0||x.transform)&&(x.transformOrigin=tR(k,c!==void 0?c:.5,d!==void 0?d:.5)),s!==void 0&&(b.x=s),o!==void 0&&(b.y=o),r!==void 0&&(b.scale=r),u!==void 0&&eR(b,u,p,m,!1)}const Wm=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),Tx=()=>({...Wm(),attrs:{}}),Xm=t=>typeof t=="string"&&t.toLowerCase()==="svg";function wx(t,{style:s,vars:o},r,c){Object.assign(t.style,s,c&&c.getProjectionStyles(r));for(const d in o)t.style.setProperty(d,o[d])}const Nx=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Cx(t,s,o,r){wx(t,s,void 0,r);for(const c in s.attrs)t.setAttribute(Nx.has(c)?c:Vm(c),s.attrs[c])}const hd={};function nR(t){Object.assign(hd,t)}function Ex(t,{layout:s,layoutId:o}){return $i.has(t)||t.startsWith("origin")||(s||o!==void 0)&&(!!hd[t]||t==="opacity")}function Qm(t,s,o){var r;const{style:c}=t,d={};for(const u in c)(vn(c[u])||s.style&&vn(s.style[u])||Ex(u,t)||((r=o==null?void 0:o.getValue(u))===null||r===void 0?void 0:r.liveStyle)!==void 0)&&(d[u]=c[u]);return d}function Ax(t,s,o){const r=Qm(t,s,o);for(const c in t)if(vn(t[c])||vn(s[c])){const d=Zo.indexOf(c)!==-1?"attr"+c.charAt(0).toUpperCase()+c.substring(1):c;r[d]=t[c]}return r}function sR(t,s){try{s.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{s.dimensions={x:0,y:0,width:0,height:0}}}const Ky=["x","y","width","height","cx","cy","r"],aR={useVisualState:xx({scrapeMotionValuesFromProps:Ax,createRenderState:Tx,onUpdate:({props:t,prevProps:s,current:o,renderState:r,latestValues:c})=>{if(!o)return;let d=!!t.drag;if(!d){for(const p in c)if($i.has(p)){d=!0;break}}if(!d)return;let u=!s;if(s)for(let p=0;p<Ky.length;p++){const m=Ky[p];t[m]!==s[m]&&(u=!0)}u&&Nt.read(()=>{sR(o,r),Nt.render(()=>{Jm(r,c,Xm(o.tagName),t.transformTemplate),Cx(o,r)})})}})},iR={useVisualState:xx({scrapeMotionValuesFromProps:Qm,createRenderState:Wm})};function Dx(t,s,o){for(const r in s)!vn(s[r])&&!Ex(r,o)&&(t[r]=s[r])}function oR({transformTemplate:t},s){return y.useMemo(()=>{const o=Wm();return Ym(o,s,t),Object.assign({},o.vars,o.style)},[s])}function rR(t,s){const o=t.style||{},r={};return Dx(r,o,t),Object.assign(r,oR(t,s)),r}function lR(t,s){const o={},r=rR(t,s);return t.drag&&t.dragListener!==!1&&(o.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(o.tabIndex=0),o.style=r,o}function cR(t,s,o,r){const c=y.useMemo(()=>{const d=Tx();return Jm(d,s,Xm(r),t.transformTemplate),{...d.attrs,style:{...d.style}}},[s]);if(t.style){const d={};Dx(d,t.style,t),c.style={...d,...c.style}}return c}function dR(t=!1){return(o,r,c,{latestValues:d},u)=>{const m=(qm(o)?cR:lR)(r,d,u,o),g=TD(r,typeof o=="string",t),v=o!==y.Fragment?{...g,...m,ref:c}:{},{children:_}=r,b=y.useMemo(()=>vn(_)?_.get():_,[_]);return y.createElement(o,{...v,children:b})}}function uR(t,s){return function(r,{forwardMotionProps:c}={forwardMotionProps:!1}){const u={...qm(r)?aR:iR,preloadedFeatures:t,useRender:dR(c),createVisualElement:s,Component:r};return ID(u)}}function Rx(t,s){if(!Array.isArray(s))return!1;const o=s.length;if(o!==t.length)return!1;for(let r=0;r<o;r++)if(s[r]!==t[r])return!1;return!0}function Vd(t,s,o){const r=t.getProps();return Fm(r,s,o!==void 0?o:r.custom,t)}function eh(t,s){return t?t[s]||t.default||t:void 0}const Mx=new Set(["width","height","top","left","right","bottom",...Zo]);let od;function fR(){od=void 0}const Bs={now:()=>(od===void 0&&Bs.set(fn.isProcessing||bD.useManualTiming?fn.timestamp:performance.now()),od),set:t=>{od=t,queueMicrotask(fR)}};function th(t,s){t.indexOf(s)===-1&&t.push(s)}function nh(t,s){const o=t.indexOf(s);o>-1&&t.splice(o,1)}class sh{constructor(){this.subscriptions=[]}add(s){return th(this.subscriptions,s),()=>nh(this.subscriptions,s)}notify(s,o,r){const c=this.subscriptions.length;if(c)if(c===1)this.subscriptions[0](s,o,r);else for(let d=0;d<c;d++){const u=this.subscriptions[d];u&&u(s,o,r)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function Ix(t,s){return s?t*(1e3/s):0}const Yy=30,pR=t=>!isNaN(parseFloat(t));class mR{constructor(s,o={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(r,c=!0)=>{const d=Bs.now();this.updatedAt!==d&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),c&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(s),this.owner=o.owner}setCurrent(s){this.current=s,this.updatedAt=Bs.now(),this.canTrackVelocity===null&&s!==void 0&&(this.canTrackVelocity=pR(this.current))}setPrevFrameValue(s=this.current){this.prevFrameValue=s,this.prevUpdatedAt=this.updatedAt}onChange(s){return this.on("change",s)}on(s,o){this.events[s]||(this.events[s]=new sh);const r=this.events[s].add(o);return s==="change"?()=>{r(),Nt.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const s in this.events)this.events[s].clear()}attach(s,o){this.passiveEffect=s,this.stopPassiveEffect=o}set(s,o=!0){!o||!this.passiveEffect?this.updateAndNotify(s,o):this.passiveEffect(s,this.updateAndNotify)}setWithVelocity(s,o,r){this.set(o),this.prev=void 0,this.prevFrameValue=s,this.prevUpdatedAt=this.updatedAt-r}jump(s,o=!0){this.updateAndNotify(s),this.prev=s,this.prevUpdatedAt=this.prevFrameValue=void 0,o&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const s=Bs.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||s-this.updatedAt>Yy)return 0;const o=Math.min(this.updatedAt-this.prevUpdatedAt,Yy);return Ix(parseFloat(this.current)-parseFloat(this.prevFrameValue),o)}start(s){return this.stop(),new Promise(o=>{this.hasAnimated=!0,this.animation=s(o),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function fl(t,s){return new mR(t,s)}function hR(t,s,o){t.hasValue(s)?t.getValue(s).set(o):t.addValue(s,fl(o))}function gR(t,s){const o=Vd(t,s);let{transitionEnd:r={},transition:c={},...d}=o||{};d={...d,...r};for(const u in d){const p=HD(d[u]);hR(t,u,p)}}function vR(t){return!!(vn(t)&&t.add)}function im(t,s){const o=t.getValue("willChange");if(vR(o))return o.add(s)}function Ox(t){return t.props[yx]}function ah(t){let s;return()=>(s===void 0&&(s=t()),s)}const yR=ah(()=>window.ScrollTimeline!==void 0);class bR{constructor(s){this.stop=()=>this.runAll("stop"),this.animations=s.filter(Boolean)}get finished(){return Promise.all(this.animations.map(s=>"finished"in s?s.finished:s))}getAll(s){return this.animations[0][s]}setAll(s,o){for(let r=0;r<this.animations.length;r++)this.animations[r][s]=o}attachTimeline(s,o){const r=this.animations.map(c=>{if(yR()&&c.attachTimeline)return c.attachTimeline(s);if(typeof o=="function")return o(c)});return()=>{r.forEach((c,d)=>{c&&c(),this.animations[d].stop()})}}get time(){return this.getAll("time")}set time(s){this.setAll("time",s)}get speed(){return this.getAll("speed")}set speed(s){this.setAll("speed",s)}get startTime(){return this.getAll("startTime")}get duration(){let s=0;for(let o=0;o<this.animations.length;o++)s=Math.max(s,this.animations[o].duration);return s}runAll(s){this.animations.forEach(o=>o[s]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class _R extends bR{then(s,o){return Promise.all(this.animations).then(s).catch(o)}}const ra=t=>t*1e3,la=t=>t/1e3;function ih(t){return typeof t=="function"}function Jy(t,s){t.timeline=s,t.onfinish=null}const oh=t=>Array.isArray(t)&&typeof t[0]=="number",xR={linearEasing:void 0};function kR(t,s){const o=ah(t);return()=>{var r;return(r=xR[s])!==null&&r!==void 0?r:o()}}const gd=kR(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Ho=(t,s,o)=>{const r=s-t;return r===0?1:(o-t)/r},Lx=(t,s,o=10)=>{let r="";const c=Math.max(Math.round(s/o),2);for(let d=0;d<c;d++)r+=t(Ho(0,c-1,d))+", ";return`linear(${r.substring(0,r.length-2)})`};function Bx(t){return!!(typeof t=="function"&&gd()||!t||typeof t=="string"&&(t in om||gd())||oh(t)||Array.isArray(t)&&t.every(Bx))}const Yr=([t,s,o,r])=>`cubic-bezier(${t}, ${s}, ${o}, ${r})`,om={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Yr([0,.65,.55,1]),circOut:Yr([.55,0,1,.45]),backIn:Yr([.31,.01,.66,-.59]),backOut:Yr([.33,1.53,.69,.99])};function $x(t,s){if(t)return typeof t=="function"&&gd()?Lx(t,s):oh(t)?Yr(t):Array.isArray(t)?t.map(o=>$x(o,s)||om.easeOut):om[t]}const zx=(t,s,o)=>(((1-3*o+3*s)*t+(3*o-6*s))*t+3*s)*t,SR=1e-7,jR=12;function TR(t,s,o,r,c){let d,u,p=0;do u=s+(o-s)/2,d=zx(u,r,c)-t,d>0?o=u:s=u;while(Math.abs(d)>SR&&++p<jR);return u}function xl(t,s,o,r){if(t===s&&o===r)return zn;const c=d=>TR(d,0,1,t,o);return d=>d===0||d===1?d:zx(c(d),s,r)}const Hx=t=>s=>s<=.5?t(2*s)/2:(2-t(2*(1-s)))/2,Px=t=>s=>1-t(1-s),Ux=xl(.33,1.53,.69,.99),rh=Px(Ux),Vx=Hx(rh),Gx=t=>(t*=2)<1?.5*rh(t):.5*(2-Math.pow(2,-10*(t-1))),lh=t=>1-Math.sin(Math.acos(t)),qx=Px(lh),Fx=Hx(lh),Zx=t=>/^0[^.\s]+$/u.test(t);function wR(t){return typeof t=="number"?t===0:t!==null?t==="none"||t==="0"||Zx(t):!0}const el=t=>Math.round(t*1e5)/1e5,ch=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function NR(t){return t==null}const CR=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,dh=(t,s)=>o=>!!(typeof o=="string"&&CR.test(o)&&o.startsWith(t)||s&&!NR(o)&&Object.prototype.hasOwnProperty.call(o,s)),Kx=(t,s,o)=>r=>{if(typeof r!="string")return r;const[c,d,u,p]=r.match(ch);return{[t]:parseFloat(c),[s]:parseFloat(d),[o]:parseFloat(u),alpha:p!==void 0?parseFloat(p):1}},ER=t=>fa(0,255,t),wp={...Ko,transform:t=>Math.round(ER(t))},Ai={test:dh("rgb","red"),parse:Kx("red","green","blue"),transform:({red:t,green:s,blue:o,alpha:r=1})=>"rgba("+wp.transform(t)+", "+wp.transform(s)+", "+wp.transform(o)+", "+el(ul.transform(r))+")"};function AR(t){let s="",o="",r="",c="";return t.length>5?(s=t.substring(1,3),o=t.substring(3,5),r=t.substring(5,7),c=t.substring(7,9)):(s=t.substring(1,2),o=t.substring(2,3),r=t.substring(3,4),c=t.substring(4,5),s+=s,o+=o,r+=r,c+=c),{red:parseInt(s,16),green:parseInt(o,16),blue:parseInt(r,16),alpha:c?parseInt(c,16)/255:1}}const rm={test:dh("#"),parse:AR,transform:Ai.transform},Mo={test:dh("hsl","hue"),parse:Kx("hue","saturation","lightness"),transform:({hue:t,saturation:s,lightness:o,alpha:r=1})=>"hsla("+Math.round(t)+", "+Ls.transform(el(s))+", "+Ls.transform(el(o))+", "+el(ul.transform(r))+")"},gn={test:t=>Ai.test(t)||rm.test(t)||Mo.test(t),parse:t=>Ai.test(t)?Ai.parse(t):Mo.test(t)?Mo.parse(t):rm.parse(t),transform:t=>typeof t=="string"?t:t.hasOwnProperty("red")?Ai.transform(t):Mo.transform(t)},DR=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function RR(t){var s,o;return isNaN(t)&&typeof t=="string"&&(((s=t.match(ch))===null||s===void 0?void 0:s.length)||0)+(((o=t.match(DR))===null||o===void 0?void 0:o.length)||0)>0}const Yx="number",Jx="color",MR="var",IR="var(",Wy="${}",OR=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function pl(t){const s=t.toString(),o=[],r={color:[],number:[],var:[]},c=[];let d=0;const p=s.replace(OR,m=>(gn.test(m)?(r.color.push(d),c.push(Jx),o.push(gn.parse(m))):m.startsWith(IR)?(r.var.push(d),c.push(MR),o.push(m)):(r.number.push(d),c.push(Yx),o.push(parseFloat(m))),++d,Wy)).split(Wy);return{values:o,split:p,indexes:r,types:c}}function Wx(t){return pl(t).values}function Xx(t){const{split:s,types:o}=pl(t),r=s.length;return c=>{let d="";for(let u=0;u<r;u++)if(d+=s[u],c[u]!==void 0){const p=o[u];p===Yx?d+=el(c[u]):p===Jx?d+=gn.transform(c[u]):d+=c[u]}return d}}const LR=t=>typeof t=="number"?0:t;function BR(t){const s=Wx(t);return Xx(t)(s.map(LR))}const ei={test:RR,parse:Wx,createTransformer:Xx,getAnimatableNone:BR},$R=new Set(["brightness","contrast","saturate","opacity"]);function zR(t){const[s,o]=t.slice(0,-1).split("(");if(s==="drop-shadow")return t;const[r]=o.match(ch)||[];if(!r)return t;const c=o.replace(r,"");let d=$R.has(s)?1:0;return r!==o&&(d*=100),s+"("+d+c+")"}const HR=/\b([a-z-]*)\(.*?\)/gu,lm={...ei,getAnimatableNone:t=>{const s=t.match(HR);return s?s.map(zR).join(" "):t}},PR={...Km,color:gn,backgroundColor:gn,outlineColor:gn,fill:gn,stroke:gn,borderColor:gn,borderTopColor:gn,borderRightColor:gn,borderBottomColor:gn,borderLeftColor:gn,filter:lm,WebkitFilter:lm},uh=t=>PR[t];function Qx(t,s){let o=uh(t);return o!==lm&&(o=ei),o.getAnimatableNone?o.getAnimatableNone(s):void 0}const UR=new Set(["auto","none","0"]);function VR(t,s,o){let r=0,c;for(;r<t.length&&!c;){const d=t[r];typeof d=="string"&&!UR.has(d)&&pl(d).values.length&&(c=t[r]),r++}if(c&&o)for(const d of s)t[d]=Qx(o,c)}const Xy=t=>t===Ko||t===De,Qy=(t,s)=>parseFloat(t.split(", ")[s]),eb=(t,s)=>(o,{transform:r})=>{if(r==="none"||!r)return 0;const c=r.match(/^matrix3d\((.+)\)$/u);if(c)return Qy(c[1],s);{const d=r.match(/^matrix\((.+)\)$/u);return d?Qy(d[1],t):0}},GR=new Set(["x","y","z"]),qR=Zo.filter(t=>!GR.has(t));function FR(t){const s=[];return qR.forEach(o=>{const r=t.getValue(o);r!==void 0&&(s.push([o,r.get()]),r.set(o.startsWith("scale")?1:0))}),s}const Po={width:({x:t},{paddingLeft:s="0",paddingRight:o="0"})=>t.max-t.min-parseFloat(s)-parseFloat(o),height:({y:t},{paddingTop:s="0",paddingBottom:o="0"})=>t.max-t.min-parseFloat(s)-parseFloat(o),top:(t,{top:s})=>parseFloat(s),left:(t,{left:s})=>parseFloat(s),bottom:({y:t},{top:s})=>parseFloat(s)+(t.max-t.min),right:({x:t},{left:s})=>parseFloat(s)+(t.max-t.min),x:eb(4,13),y:eb(5,14)};Po.translateX=Po.x;Po.translateY=Po.y;const Ri=new Set;let cm=!1,dm=!1;function e1(){if(dm){const t=Array.from(Ri).filter(r=>r.needsMeasurement),s=new Set(t.map(r=>r.element)),o=new Map;s.forEach(r=>{const c=FR(r);c.length&&(o.set(r,c),r.render())}),t.forEach(r=>r.measureInitialState()),s.forEach(r=>{r.render();const c=o.get(r);c&&c.forEach(([d,u])=>{var p;(p=r.getValue(d))===null||p===void 0||p.set(u)})}),t.forEach(r=>r.measureEndState()),t.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}dm=!1,cm=!1,Ri.forEach(t=>t.complete()),Ri.clear()}function t1(){Ri.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(dm=!0)})}function ZR(){t1(),e1()}class fh{constructor(s,o,r,c,d,u=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...s],this.onComplete=o,this.name=r,this.motionValue=c,this.element=d,this.isAsync=u}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Ri.add(this),cm||(cm=!0,Nt.read(t1),Nt.resolveKeyframes(e1))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:s,name:o,element:r,motionValue:c}=this;for(let d=0;d<s.length;d++)if(s[d]===null)if(d===0){const u=c==null?void 0:c.get(),p=s[s.length-1];if(u!==void 0)s[0]=u;else if(r&&o){const m=r.readValue(o,p);m!=null&&(s[0]=m)}s[0]===void 0&&(s[0]=p),c&&u===void 0&&c.set(s[0])}else s[d]=s[d-1]}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe),Ri.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,Ri.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const n1=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),KR=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function YR(t){const s=KR.exec(t);if(!s)return[,];const[,o,r,c]=s;return[`--${o??r}`,c]}function s1(t,s,o=1){const[r,c]=YR(t);if(!r)return;const d=window.getComputedStyle(s).getPropertyValue(r);if(d){const u=d.trim();return n1(u)?parseFloat(u):u}return Zm(c)?s1(c,s,o+1):c}const a1=t=>s=>s.test(t),JR={test:t=>t==="auto",parse:t=>t},i1=[Ko,De,Ls,Ya,FD,qD,JR],tb=t=>i1.find(a1(t));class o1 extends fh{constructor(s,o,r,c,d){super(s,o,r,c,d,!0)}readKeyframes(){const{unresolvedKeyframes:s,element:o,name:r}=this;if(!o||!o.current)return;super.readKeyframes();for(let m=0;m<s.length;m++){let g=s[m];if(typeof g=="string"&&(g=g.trim(),Zm(g))){const v=s1(g,o.current);v!==void 0&&(s[m]=v),m===s.length-1&&(this.finalKeyframe=g)}}if(this.resolveNoneKeyframes(),!Mx.has(r)||s.length!==2)return;const[c,d]=s,u=tb(c),p=tb(d);if(u!==p)if(Xy(u)&&Xy(p))for(let m=0;m<s.length;m++){const g=s[m];typeof g=="string"&&(s[m]=parseFloat(g))}else this.needsMeasurement=!0}resolveNoneKeyframes(){const{unresolvedKeyframes:s,name:o}=this,r=[];for(let c=0;c<s.length;c++)wR(s[c])&&r.push(c);r.length&&VR(s,r,o)}measureInitialState(){const{element:s,unresolvedKeyframes:o,name:r}=this;if(!s||!s.current)return;r==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Po[r](s.measureViewportBox(),window.getComputedStyle(s.current)),o[0]=this.measuredOrigin;const c=o[o.length-1];c!==void 0&&s.getValue(r,c).jump(c,!1)}measureEndState(){var s;const{element:o,name:r,unresolvedKeyframes:c}=this;if(!o||!o.current)return;const d=o.getValue(r);d&&d.jump(this.measuredOrigin,!1);const u=c.length-1,p=c[u];c[u]=Po[r](o.measureViewportBox(),window.getComputedStyle(o.current)),p!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=p),!((s=this.removedTransforms)===null||s===void 0)&&s.length&&this.removedTransforms.forEach(([m,g])=>{o.getValue(m).set(g)}),this.resolveNoneKeyframes()}}const nb=(t,s)=>s==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(ei.test(t)||t==="0")&&!t.startsWith("url("));function WR(t){const s=t[0];if(t.length===1)return!0;for(let o=0;o<t.length;o++)if(t[o]!==s)return!0}function XR(t,s,o,r){const c=t[0];if(c===null)return!1;if(s==="display"||s==="visibility")return!0;const d=t[t.length-1],u=nb(c,s),p=nb(d,s);return!u||!p?!1:WR(t)||(o==="spring"||ih(o))&&r}const QR=t=>t!==null;function Gd(t,{repeat:s,repeatType:o="loop"},r){const c=t.filter(QR),d=s&&o!=="loop"&&s%2===1?0:c.length-1;return!d||r===void 0?c[d]:r}const e4=40;class r1{constructor({autoplay:s=!0,delay:o=0,type:r="keyframes",repeat:c=0,repeatDelay:d=0,repeatType:u="loop",...p}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=Bs.now(),this.options={autoplay:s,delay:o,type:r,repeat:c,repeatDelay:d,repeatType:u,...p},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>e4?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&ZR(),this._resolved}onKeyframesResolved(s,o){this.resolvedAt=Bs.now(),this.hasAttemptedResolve=!0;const{name:r,type:c,velocity:d,delay:u,onComplete:p,onUpdate:m,isGenerator:g}=this.options;if(!g&&!XR(s,r,c,d))if(u)this.options.duration=0;else{m&&m(Gd(s,this.options,o)),p&&p(),this.resolveFinishedPromise();return}const v=this.initPlayback(s,o);v!==!1&&(this._resolved={keyframes:s,finalKeyframe:o,...v},this.onPostResolved())}onPostResolved(){}then(s,o){return this.currentFinishedPromise.then(s,o)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(s=>{this.resolveFinishedPromise=s})}}const um=2e4;function l1(t){let s=0;const o=50;let r=t.next(s);for(;!r.done&&s<um;)s+=o,r=t.next(s);return s>=um?1/0:s}const Ot=(t,s,o)=>t+(s-t)*o;function Np(t,s,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?t+(s-t)*6*o:o<1/2?s:o<2/3?t+(s-t)*(2/3-o)*6:t}function t4({hue:t,saturation:s,lightness:o,alpha:r}){t/=360,s/=100,o/=100;let c=0,d=0,u=0;if(!s)c=d=u=o;else{const p=o<.5?o*(1+s):o+s-o*s,m=2*o-p;c=Np(m,p,t+1/3),d=Np(m,p,t),u=Np(m,p,t-1/3)}return{red:Math.round(c*255),green:Math.round(d*255),blue:Math.round(u*255),alpha:r}}function vd(t,s){return o=>o>0?s:t}const Cp=(t,s,o)=>{const r=t*t,c=o*(s*s-r)+r;return c<0?0:Math.sqrt(c)},n4=[rm,Ai,Mo],s4=t=>n4.find(s=>s.test(t));function sb(t){const s=s4(t);if(!s)return!1;let o=s.parse(t);return s===Mo&&(o=t4(o)),o}const ab=(t,s)=>{const o=sb(t),r=sb(s);if(!o||!r)return vd(t,s);const c={...o};return d=>(c.red=Cp(o.red,r.red,d),c.green=Cp(o.green,r.green,d),c.blue=Cp(o.blue,r.blue,d),c.alpha=Ot(o.alpha,r.alpha,d),Ai.transform(c))},a4=(t,s)=>o=>s(t(o)),kl=(...t)=>t.reduce(a4),fm=new Set(["none","hidden"]);function i4(t,s){return fm.has(t)?o=>o<=0?t:s:o=>o>=1?s:t}function o4(t,s){return o=>Ot(t,s,o)}function ph(t){return typeof t=="number"?o4:typeof t=="string"?Zm(t)?vd:gn.test(t)?ab:c4:Array.isArray(t)?c1:typeof t=="object"?gn.test(t)?ab:r4:vd}function c1(t,s){const o=[...t],r=o.length,c=t.map((d,u)=>ph(d)(d,s[u]));return d=>{for(let u=0;u<r;u++)o[u]=c[u](d);return o}}function r4(t,s){const o={...t,...s},r={};for(const c in o)t[c]!==void 0&&s[c]!==void 0&&(r[c]=ph(t[c])(t[c],s[c]));return c=>{for(const d in r)o[d]=r[d](c);return o}}function l4(t,s){var o;const r=[],c={color:0,var:0,number:0};for(let d=0;d<s.values.length;d++){const u=s.types[d],p=t.indexes[u][c[u]],m=(o=t.values[p])!==null&&o!==void 0?o:0;r[d]=m,c[u]++}return r}const c4=(t,s)=>{const o=ei.createTransformer(s),r=pl(t),c=pl(s);return r.indexes.var.length===c.indexes.var.length&&r.indexes.color.length===c.indexes.color.length&&r.indexes.number.length>=c.indexes.number.length?fm.has(t)&&!c.values.length||fm.has(s)&&!r.values.length?i4(t,s):kl(c1(l4(r,c),c.values),o):vd(t,s)};function d1(t,s,o){return typeof t=="number"&&typeof s=="number"&&typeof o=="number"?Ot(t,s,o):ph(t)(t,s)}const d4=5;function u1(t,s,o){const r=Math.max(s-d4,0);return Ix(o-t(r),s-r)}const $t={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Ep=.001;function u4({duration:t=$t.duration,bounce:s=$t.bounce,velocity:o=$t.velocity,mass:r=$t.mass}){let c,d,u=1-s;u=fa($t.minDamping,$t.maxDamping,u),t=fa($t.minDuration,$t.maxDuration,la(t)),u<1?(c=g=>{const v=g*u,_=v*t,b=v-o,x=pm(g,u),k=Math.exp(-_);return Ep-b/x*k},d=g=>{const _=g*u*t,b=_*o+o,x=Math.pow(u,2)*Math.pow(g,2)*t,k=Math.exp(-_),j=pm(Math.pow(g,2),u);return(-c(g)+Ep>0?-1:1)*((b-x)*k)/j}):(c=g=>{const v=Math.exp(-g*t),_=(g-o)*t+1;return-Ep+v*_},d=g=>{const v=Math.exp(-g*t),_=(o-g)*(t*t);return v*_});const p=5/t,m=p4(c,d,p);if(t=ra(t),isNaN(m))return{stiffness:$t.stiffness,damping:$t.damping,duration:t};{const g=Math.pow(m,2)*r;return{stiffness:g,damping:u*2*Math.sqrt(r*g),duration:t}}}const f4=12;function p4(t,s,o){let r=o;for(let c=1;c<f4;c++)r=r-t(r)/s(r);return r}function pm(t,s){return t*Math.sqrt(1-s*s)}const m4=["duration","bounce"],h4=["stiffness","damping","mass"];function ib(t,s){return s.some(o=>t[o]!==void 0)}function g4(t){let s={velocity:$t.velocity,stiffness:$t.stiffness,damping:$t.damping,mass:$t.mass,isResolvedFromDuration:!1,...t};if(!ib(t,h4)&&ib(t,m4))if(t.visualDuration){const o=t.visualDuration,r=2*Math.PI/(o*1.2),c=r*r,d=2*fa(.05,1,1-(t.bounce||0))*Math.sqrt(c);s={...s,mass:$t.mass,stiffness:c,damping:d}}else{const o=u4(t);s={...s,...o,mass:$t.mass},s.isResolvedFromDuration=!0}return s}function f1(t=$t.visualDuration,s=$t.bounce){const o=typeof t!="object"?{visualDuration:t,keyframes:[0,1],bounce:s}:t;let{restSpeed:r,restDelta:c}=o;const d=o.keyframes[0],u=o.keyframes[o.keyframes.length-1],p={done:!1,value:d},{stiffness:m,damping:g,mass:v,duration:_,velocity:b,isResolvedFromDuration:x}=g4({...o,velocity:-la(o.velocity||0)}),k=b||0,j=g/(2*Math.sqrt(m*v)),w=u-d,T=la(Math.sqrt(m/v)),C=Math.abs(w)<5;r||(r=C?$t.restSpeed.granular:$t.restSpeed.default),c||(c=C?$t.restDelta.granular:$t.restDelta.default);let A;if(j<1){const E=pm(T,j);A=O=>{const z=Math.exp(-j*T*O);return u-z*((k+j*T*w)/E*Math.sin(E*O)+w*Math.cos(E*O))}}else if(j===1)A=E=>u-Math.exp(-T*E)*(w+(k+T*w)*E);else{const E=T*Math.sqrt(j*j-1);A=O=>{const z=Math.exp(-j*T*O),D=Math.min(E*O,300);return u-z*((k+j*T*w)*Math.sinh(D)+E*w*Math.cosh(D))/E}}const L={calculatedDuration:x&&_||null,next:E=>{const O=A(E);if(x)p.done=E>=_;else{let z=0;j<1&&(z=E===0?ra(k):u1(A,E,O));const D=Math.abs(z)<=r,H=Math.abs(u-O)<=c;p.done=D&&H}return p.value=p.done?u:O,p},toString:()=>{const E=Math.min(l1(L),um),O=Lx(z=>L.next(E*z).value,E,30);return E+"ms "+O}};return L}function ob({keyframes:t,velocity:s=0,power:o=.8,timeConstant:r=325,bounceDamping:c=10,bounceStiffness:d=500,modifyTarget:u,min:p,max:m,restDelta:g=.5,restSpeed:v}){const _=t[0],b={done:!1,value:_},x=D=>p!==void 0&&D<p||m!==void 0&&D>m,k=D=>p===void 0?m:m===void 0||Math.abs(p-D)<Math.abs(m-D)?p:m;let j=o*s;const w=_+j,T=u===void 0?w:u(w);T!==w&&(j=T-_);const C=D=>-j*Math.exp(-D/r),A=D=>T+C(D),L=D=>{const H=C(D),Y=A(D);b.done=Math.abs(H)<=g,b.value=b.done?T:Y};let E,O;const z=D=>{x(b.value)&&(E=D,O=f1({keyframes:[b.value,k(b.value)],velocity:u1(A,D,b.value),damping:c,stiffness:d,restDelta:g,restSpeed:v}))};return z(0),{calculatedDuration:null,next:D=>{let H=!1;return!O&&E===void 0&&(H=!0,L(D),z(D)),E!==void 0&&D>=E?O.next(D-E):(!H&&L(D),b)}}}const v4=xl(.42,0,1,1),y4=xl(0,0,.58,1),p1=xl(.42,0,.58,1),b4=t=>Array.isArray(t)&&typeof t[0]!="number",_4={linear:zn,easeIn:v4,easeInOut:p1,easeOut:y4,circIn:lh,circInOut:Fx,circOut:qx,backIn:rh,backInOut:Vx,backOut:Ux,anticipate:Gx},rb=t=>{if(oh(t)){px(t.length===4);const[s,o,r,c]=t;return xl(s,o,r,c)}else if(typeof t=="string")return _4[t];return t};function x4(t,s,o){const r=[],c=o||d1,d=t.length-1;for(let u=0;u<d;u++){let p=c(t[u],t[u+1]);if(s){const m=Array.isArray(s)?s[u]||zn:s;p=kl(m,p)}r.push(p)}return r}function k4(t,s,{clamp:o=!0,ease:r,mixer:c}={}){const d=t.length;if(px(d===s.length),d===1)return()=>s[0];if(d===2&&s[0]===s[1])return()=>s[1];const u=t[0]===t[1];t[0]>t[d-1]&&(t=[...t].reverse(),s=[...s].reverse());const p=x4(s,r,c),m=p.length,g=v=>{if(u&&v<t[0])return s[0];let _=0;if(m>1)for(;_<t.length-2&&!(v<t[_+1]);_++);const b=Ho(t[_],t[_+1],v);return p[_](b)};return o?v=>g(fa(t[0],t[d-1],v)):g}function S4(t,s){const o=t[t.length-1];for(let r=1;r<=s;r++){const c=Ho(0,s,r);t.push(Ot(o,1,c))}}function j4(t){const s=[0];return S4(s,t.length-1),s}function T4(t,s){return t.map(o=>o*s)}function w4(t,s){return t.map(()=>s||p1).splice(0,t.length-1)}function yd({duration:t=300,keyframes:s,times:o,ease:r="easeInOut"}){const c=b4(r)?r.map(rb):rb(r),d={done:!1,value:s[0]},u=T4(o&&o.length===s.length?o:j4(s),t),p=k4(u,s,{ease:Array.isArray(c)?c:w4(s,c)});return{calculatedDuration:t,next:m=>(d.value=p(m),d.done=m>=t,d)}}const N4=t=>{const s=({timestamp:o})=>t(o);return{start:()=>Nt.update(s,!0),stop:()=>Qa(s),now:()=>fn.isProcessing?fn.timestamp:Bs.now()}},C4={decay:ob,inertia:ob,tween:yd,keyframes:yd,spring:f1},E4=t=>t/100;class mh extends r1{constructor(s){super(s),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.teardown();const{onStop:m}=this.options;m&&m()};const{name:o,motionValue:r,element:c,keyframes:d}=this.options,u=(c==null?void 0:c.KeyframeResolver)||fh,p=(m,g)=>this.onKeyframesResolved(m,g);this.resolver=new u(d,p,o,r,c),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(s){const{type:o="keyframes",repeat:r=0,repeatDelay:c=0,repeatType:d,velocity:u=0}=this.options,p=ih(o)?o:C4[o]||yd;let m,g;p!==yd&&typeof s[0]!="number"&&(m=kl(E4,d1(s[0],s[1])),s=[0,100]);const v=p({...this.options,keyframes:s});d==="mirror"&&(g=p({...this.options,keyframes:[...s].reverse(),velocity:-u})),v.calculatedDuration===null&&(v.calculatedDuration=l1(v));const{calculatedDuration:_}=v,b=_+c,x=b*(r+1)-c;return{generator:v,mirroredGenerator:g,mapPercentToKeyframes:m,calculatedDuration:_,resolvedDuration:b,totalDuration:x}}onPostResolved(){const{autoplay:s=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!s?this.pause():this.state=this.pendingPlayState}tick(s,o=!1){const{resolved:r}=this;if(!r){const{keyframes:D}=this.options;return{done:!0,value:D[D.length-1]}}const{finalKeyframe:c,generator:d,mirroredGenerator:u,mapPercentToKeyframes:p,keyframes:m,calculatedDuration:g,totalDuration:v,resolvedDuration:_}=r;if(this.startTime===null)return d.next(0);const{delay:b,repeat:x,repeatType:k,repeatDelay:j,onUpdate:w}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,s):this.speed<0&&(this.startTime=Math.min(s-v/this.speed,this.startTime)),o?this.currentTime=s:this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=Math.round(s-this.startTime)*this.speed;const T=this.currentTime-b*(this.speed>=0?1:-1),C=this.speed>=0?T<0:T>v;this.currentTime=Math.max(T,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=v);let A=this.currentTime,L=d;if(x){const D=Math.min(this.currentTime,v)/_;let H=Math.floor(D),Y=D%1;!Y&&D>=1&&(Y=1),Y===1&&H--,H=Math.min(H,x+1),!!(H%2)&&(k==="reverse"?(Y=1-Y,j&&(Y-=j/_)):k==="mirror"&&(L=u)),A=fa(0,1,Y)*_}const E=C?{done:!1,value:m[0]}:L.next(A);p&&(E.value=p(E.value));let{done:O}=E;!C&&g!==null&&(O=this.speed>=0?this.currentTime>=v:this.currentTime<=0);const z=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&O);return z&&c!==void 0&&(E.value=Gd(m,this.options,c)),w&&w(E.value),z&&this.finish(),E}get duration(){const{resolved:s}=this;return s?la(s.calculatedDuration):0}get time(){return la(this.currentTime)}set time(s){s=ra(s),this.currentTime=s,this.holdTime!==null||this.speed===0?this.holdTime=s:this.driver&&(this.startTime=this.driver.now()-s/this.speed)}get speed(){return this.playbackSpeed}set speed(s){const o=this.playbackSpeed!==s;this.playbackSpeed=s,o&&(this.time=la(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:s=N4,onPlay:o,startTime:r}=this.options;this.driver||(this.driver=s(d=>this.tick(d))),o&&o();const c=this.driver.now();this.holdTime!==null?this.startTime=c-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=c):this.startTime=r??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var s;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(s=this.currentTime)!==null&&s!==void 0?s:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:s}=this.options;s&&s()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(s){return this.startTime=0,this.tick(s,!0)}}const A4=new Set(["opacity","clipPath","filter","transform"]);function D4(t,s,o,{delay:r=0,duration:c=300,repeat:d=0,repeatType:u="loop",ease:p="easeInOut",times:m}={}){const g={[s]:o};m&&(g.offset=m);const v=$x(p,c);return Array.isArray(v)&&(g.easing=v),t.animate(g,{delay:r,duration:c,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:d+1,direction:u==="reverse"?"alternate":"normal"})}const R4=ah(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),bd=10,M4=2e4;function I4(t){return ih(t.type)||t.type==="spring"||!Bx(t.ease)}function O4(t,s){const o=new mh({...s,keyframes:t,repeat:0,delay:0,isGenerator:!0});let r={done:!1,value:t[0]};const c=[];let d=0;for(;!r.done&&d<M4;)r=o.sample(d),c.push(r.value),d+=bd;return{times:void 0,keyframes:c,duration:d-bd,ease:"linear"}}const m1={anticipate:Gx,backInOut:Vx,circInOut:Fx};function L4(t){return t in m1}class lb extends r1{constructor(s){super(s);const{name:o,motionValue:r,element:c,keyframes:d}=this.options;this.resolver=new o1(d,(u,p)=>this.onKeyframesResolved(u,p),o,r,c),this.resolver.scheduleResolve()}initPlayback(s,o){let{duration:r=300,times:c,ease:d,type:u,motionValue:p,name:m,startTime:g}=this.options;if(!p.owner||!p.owner.current)return!1;if(typeof d=="string"&&gd()&&L4(d)&&(d=m1[d]),I4(this.options)){const{onComplete:_,onUpdate:b,motionValue:x,element:k,...j}=this.options,w=O4(s,j);s=w.keyframes,s.length===1&&(s[1]=s[0]),r=w.duration,c=w.times,d=w.ease,u="keyframes"}const v=D4(p.owner.current,m,s,{...this.options,duration:r,times:c,ease:d});return v.startTime=g??this.calcStartTime(),this.pendingTimeline?(Jy(v,this.pendingTimeline),this.pendingTimeline=void 0):v.onfinish=()=>{const{onComplete:_}=this.options;p.set(Gd(s,this.options,o)),_&&_(),this.cancel(),this.resolveFinishedPromise()},{animation:v,duration:r,times:c,type:u,ease:d,keyframes:s}}get duration(){const{resolved:s}=this;if(!s)return 0;const{duration:o}=s;return la(o)}get time(){const{resolved:s}=this;if(!s)return 0;const{animation:o}=s;return la(o.currentTime||0)}set time(s){const{resolved:o}=this;if(!o)return;const{animation:r}=o;r.currentTime=ra(s)}get speed(){const{resolved:s}=this;if(!s)return 1;const{animation:o}=s;return o.playbackRate}set speed(s){const{resolved:o}=this;if(!o)return;const{animation:r}=o;r.playbackRate=s}get state(){const{resolved:s}=this;if(!s)return"idle";const{animation:o}=s;return o.playState}get startTime(){const{resolved:s}=this;if(!s)return null;const{animation:o}=s;return o.startTime}attachTimeline(s){if(!this._resolved)this.pendingTimeline=s;else{const{resolved:o}=this;if(!o)return zn;const{animation:r}=o;Jy(r,s)}return zn}play(){if(this.isStopped)return;const{resolved:s}=this;if(!s)return;const{animation:o}=s;o.playState==="finished"&&this.updateFinishedPromise(),o.play()}pause(){const{resolved:s}=this;if(!s)return;const{animation:o}=s;o.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:s}=this;if(!s)return;const{animation:o,keyframes:r,duration:c,type:d,ease:u,times:p}=s;if(o.playState==="idle"||o.playState==="finished")return;if(this.time){const{motionValue:g,onUpdate:v,onComplete:_,element:b,...x}=this.options,k=new mh({...x,keyframes:r,duration:c,type:d,ease:u,times:p,isGenerator:!0}),j=ra(this.time);g.setWithVelocity(k.sample(j-bd).value,k.sample(j).value,bd)}const{onStop:m}=this.options;m&&m(),this.cancel()}complete(){const{resolved:s}=this;s&&s.animation.finish()}cancel(){const{resolved:s}=this;s&&s.animation.cancel()}static supports(s){const{motionValue:o,name:r,repeatDelay:c,repeatType:d,damping:u,type:p}=s;if(!o||!o.owner||!(o.owner.current instanceof HTMLElement))return!1;const{onUpdate:m,transformTemplate:g}=o.owner.getProps();return R4()&&r&&A4.has(r)&&!m&&!g&&!c&&d!=="mirror"&&u!==0&&p!=="inertia"}}const B4={type:"spring",stiffness:500,damping:25,restSpeed:10},$4=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),z4={type:"keyframes",duration:.8},H4={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},P4=(t,{keyframes:s})=>s.length>2?z4:$i.has(t)?t.startsWith("scale")?$4(s[1]):B4:H4;function U4({when:t,delay:s,delayChildren:o,staggerChildren:r,staggerDirection:c,repeat:d,repeatType:u,repeatDelay:p,from:m,elapsed:g,...v}){return!!Object.keys(v).length}const hh=(t,s,o,r={},c,d)=>u=>{const p=eh(r,t)||{},m=p.delay||r.delay||0;let{elapsed:g=0}=r;g=g-ra(m);let v={keyframes:Array.isArray(o)?o:[null,o],ease:"easeOut",velocity:s.getVelocity(),...p,delay:-g,onUpdate:b=>{s.set(b),p.onUpdate&&p.onUpdate(b)},onComplete:()=>{u(),p.onComplete&&p.onComplete()},name:t,motionValue:s,element:d?void 0:c};U4(p)||(v={...v,...P4(t,v)}),v.duration&&(v.duration=ra(v.duration)),v.repeatDelay&&(v.repeatDelay=ra(v.repeatDelay)),v.from!==void 0&&(v.keyframes[0]=v.from);let _=!1;if((v.type===!1||v.duration===0&&!v.repeatDelay)&&(v.duration=0,v.delay===0&&(_=!0)),_&&!d&&s.get()!==void 0){const b=Gd(v.keyframes,p);if(b!==void 0)return Nt.update(()=>{v.onUpdate(b),v.onComplete()}),new _R([])}return!d&&lb.supports(v)?new lb(v):new mh(v)};function V4({protectedKeys:t,needsAnimating:s},o){const r=t.hasOwnProperty(o)&&s[o]!==!0;return s[o]=!1,r}function h1(t,s,{delay:o=0,transitionOverride:r,type:c}={}){var d;let{transition:u=t.getDefaultTransition(),transitionEnd:p,...m}=s;r&&(u=r);const g=[],v=c&&t.animationState&&t.animationState.getState()[c];for(const _ in m){const b=t.getValue(_,(d=t.latestValues[_])!==null&&d!==void 0?d:null),x=m[_];if(x===void 0||v&&V4(v,_))continue;const k={delay:o,...eh(u||{},_)};let j=!1;if(window.MotionHandoffAnimation){const T=Ox(t);if(T){const C=window.MotionHandoffAnimation(T,_,Nt);C!==null&&(k.startTime=C,j=!0)}}im(t,_),b.start(hh(_,b,x,t.shouldReduceMotion&&Mx.has(_)?{type:!1}:k,t,j));const w=b.animation;w&&g.push(w)}return p&&Promise.all(g).then(()=>{Nt.update(()=>{p&&gR(t,p)})}),g}function mm(t,s,o={}){var r;const c=Vd(t,s,o.type==="exit"?(r=t.presenceContext)===null||r===void 0?void 0:r.custom:void 0);let{transition:d=t.getDefaultTransition()||{}}=c||{};o.transitionOverride&&(d=o.transitionOverride);const u=c?()=>Promise.all(h1(t,c,o)):()=>Promise.resolve(),p=t.variantChildren&&t.variantChildren.size?(g=0)=>{const{delayChildren:v=0,staggerChildren:_,staggerDirection:b}=d;return G4(t,s,v+g,_,b,o)}:()=>Promise.resolve(),{when:m}=d;if(m){const[g,v]=m==="beforeChildren"?[u,p]:[p,u];return g().then(()=>v())}else return Promise.all([u(),p(o.delay)])}function G4(t,s,o=0,r=0,c=1,d){const u=[],p=(t.variantChildren.size-1)*r,m=c===1?(g=0)=>g*r:(g=0)=>p-g*r;return Array.from(t.variantChildren).sort(q4).forEach((g,v)=>{g.notify("AnimationStart",s),u.push(mm(g,s,{...d,delay:o+m(v)}).then(()=>g.notify("AnimationComplete",s)))}),Promise.all(u)}function q4(t,s){return t.sortNodePosition(s)}function F4(t,s,o={}){t.notify("AnimationStart",s);let r;if(Array.isArray(s)){const c=s.map(d=>mm(t,d,o));r=Promise.all(c)}else if(typeof s=="string")r=mm(t,s,o);else{const c=typeof s=="function"?Vd(t,s,o.custom):s;r=Promise.all(h1(t,c,o))}return r.then(()=>{t.notify("AnimationComplete",s)})}const Z4=Um.length;function g1(t){if(!t)return;if(!t.isControllingVariants){const o=t.parent?g1(t.parent)||{}:{};return t.props.initial!==void 0&&(o.initial=t.props.initial),o}const s={};for(let o=0;o<Z4;o++){const r=Um[o],c=t.props[r];(dl(c)||c===!1)&&(s[r]=c)}return s}const K4=[...Pm].reverse(),Y4=Pm.length;function J4(t){return s=>Promise.all(s.map(({animation:o,options:r})=>F4(t,o,r)))}function W4(t){let s=J4(t),o=cb(),r=!0;const c=m=>(g,v)=>{var _;const b=Vd(t,v,m==="exit"?(_=t.presenceContext)===null||_===void 0?void 0:_.custom:void 0);if(b){const{transition:x,transitionEnd:k,...j}=b;g={...g,...j,...k}}return g};function d(m){s=m(t)}function u(m){const{props:g}=t,v=g1(t.parent)||{},_=[],b=new Set;let x={},k=1/0;for(let w=0;w<Y4;w++){const T=K4[w],C=o[T],A=g[T]!==void 0?g[T]:v[T],L=dl(A),E=T===m?C.isActive:null;E===!1&&(k=w);let O=A===v[T]&&A!==g[T]&&L;if(O&&r&&t.manuallyAnimateOnMount&&(O=!1),C.protectedKeys={...x},!C.isActive&&E===null||!A&&!C.prevProp||Pd(A)||typeof A=="boolean")continue;const z=X4(C.prevProp,A);let D=z||T===m&&C.isActive&&!O&&L||w>k&&L,H=!1;const Y=Array.isArray(A)?A:[A];let U=Y.reduce(c(T),{});E===!1&&(U={});const{prevResolvedValues:X={}}=C,he={...X,...U},W=R=>{D=!0,b.has(R)&&(H=!0,b.delete(R)),C.needsAnimating[R]=!0;const se=t.getValue(R);se&&(se.liveStyle=!1)};for(const R in he){const se=U[R],oe=X[R];if(x.hasOwnProperty(R))continue;let G=!1;am(se)&&am(oe)?G=!Rx(se,oe):G=se!==oe,G?se!=null?W(R):b.add(R):se!==void 0&&b.has(R)?W(R):C.protectedKeys[R]=!0}C.prevProp=A,C.prevResolvedValues=U,C.isActive&&(x={...x,...U}),r&&t.blockInitialAnimation&&(D=!1),D&&(!(O&&z)||H)&&_.push(...Y.map(R=>({animation:R,options:{type:T}})))}if(b.size){const w={};b.forEach(T=>{const C=t.getBaseTarget(T),A=t.getValue(T);A&&(A.liveStyle=!0),w[T]=C??null}),_.push({animation:w})}let j=!!_.length;return r&&(g.initial===!1||g.initial===g.animate)&&!t.manuallyAnimateOnMount&&(j=!1),r=!1,j?s(_):Promise.resolve()}function p(m,g){var v;if(o[m].isActive===g)return Promise.resolve();(v=t.variantChildren)===null||v===void 0||v.forEach(b=>{var x;return(x=b.animationState)===null||x===void 0?void 0:x.setActive(m,g)}),o[m].isActive=g;const _=u(m);for(const b in o)o[b].protectedKeys={};return _}return{animateChanges:u,setActive:p,setAnimateFunction:d,getState:()=>o,reset:()=>{o=cb(),r=!0}}}function X4(t,s){return typeof s=="string"?s!==t:Array.isArray(s)?!Rx(s,t):!1}function Ti(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function cb(){return{animate:Ti(!0),whileInView:Ti(),whileHover:Ti(),whileTap:Ti(),whileDrag:Ti(),whileFocus:Ti(),exit:Ti()}}class ti{constructor(s){this.isMounted=!1,this.node=s}update(){}}class Q4 extends ti{constructor(s){super(s),s.animationState||(s.animationState=W4(s))}updateAnimationControlsSubscription(){const{animate:s}=this.node.getProps();Pd(s)&&(this.unmountControls=s.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:s}=this.node.getProps(),{animate:o}=this.node.prevProps||{};s!==o&&this.updateAnimationControlsSubscription()}unmount(){var s;this.node.animationState.reset(),(s=this.unmountControls)===null||s===void 0||s.call(this)}}let eM=0;class tM extends ti{constructor(){super(...arguments),this.id=eM++}update(){if(!this.node.presenceContext)return;const{isPresent:s,onExitComplete:o}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||s===r)return;const c=this.node.animationState.setActive("exit",!s);o&&!s&&c.then(()=>o(this.id))}mount(){const{register:s}=this.node.presenceContext||{};s&&(this.unmount=s(this.id))}unmount(){}}const nM={animation:{Feature:Q4},exit:{Feature:tM}},_s={x:!1,y:!1};function v1(){return _s.x||_s.y}function sM(t){return t==="x"||t==="y"?_s[t]?null:(_s[t]=!0,()=>{_s[t]=!1}):_s.x||_s.y?null:(_s.x=_s.y=!0,()=>{_s.x=_s.y=!1})}const gh=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1;function ml(t,s,o,r={passive:!0}){return t.addEventListener(s,o,r),()=>t.removeEventListener(s,o)}function Sl(t){return{point:{x:t.pageX,y:t.pageY}}}const aM=t=>s=>gh(s)&&t(s,Sl(s));function tl(t,s,o,r){return ml(t,s,aM(o),r)}const db=(t,s)=>Math.abs(t-s);function iM(t,s){const o=db(t.x,s.x),r=db(t.y,s.y);return Math.sqrt(o**2+r**2)}class y1{constructor(s,o,{transformPagePoint:r,contextWindow:c,dragSnapToOrigin:d=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const _=Dp(this.lastMoveEventInfo,this.history),b=this.startEvent!==null,x=iM(_.offset,{x:0,y:0})>=3;if(!b&&!x)return;const{point:k}=_,{timestamp:j}=fn;this.history.push({...k,timestamp:j});const{onStart:w,onMove:T}=this.handlers;b||(w&&w(this.lastMoveEvent,_),this.startEvent=this.lastMoveEvent),T&&T(this.lastMoveEvent,_)},this.handlePointerMove=(_,b)=>{this.lastMoveEvent=_,this.lastMoveEventInfo=Ap(b,this.transformPagePoint),Nt.update(this.updatePoint,!0)},this.handlePointerUp=(_,b)=>{this.end();const{onEnd:x,onSessionEnd:k,resumeAnimation:j}=this.handlers;if(this.dragSnapToOrigin&&j&&j(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const w=Dp(_.type==="pointercancel"?this.lastMoveEventInfo:Ap(b,this.transformPagePoint),this.history);this.startEvent&&x&&x(_,w),k&&k(_,w)},!gh(s))return;this.dragSnapToOrigin=d,this.handlers=o,this.transformPagePoint=r,this.contextWindow=c||window;const u=Sl(s),p=Ap(u,this.transformPagePoint),{point:m}=p,{timestamp:g}=fn;this.history=[{...m,timestamp:g}];const{onSessionStart:v}=o;v&&v(s,Dp(p,this.history)),this.removeListeners=kl(tl(this.contextWindow,"pointermove",this.handlePointerMove),tl(this.contextWindow,"pointerup",this.handlePointerUp),tl(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(s){this.handlers=s}end(){this.removeListeners&&this.removeListeners(),Qa(this.updatePoint)}}function Ap(t,s){return s?{point:s(t.point)}:t}function ub(t,s){return{x:t.x-s.x,y:t.y-s.y}}function Dp({point:t},s){return{point:t,delta:ub(t,b1(s)),offset:ub(t,oM(s)),velocity:rM(s,.1)}}function oM(t){return t[0]}function b1(t){return t[t.length-1]}function rM(t,s){if(t.length<2)return{x:0,y:0};let o=t.length-1,r=null;const c=b1(t);for(;o>=0&&(r=t[o],!(c.timestamp-r.timestamp>ra(s)));)o--;if(!r)return{x:0,y:0};const d=la(c.timestamp-r.timestamp);if(d===0)return{x:0,y:0};const u={x:(c.x-r.x)/d,y:(c.y-r.y)/d};return u.x===1/0&&(u.x=0),u.y===1/0&&(u.y=0),u}const _1=1e-4,lM=1-_1,cM=1+_1,x1=.01,dM=0-x1,uM=0+x1;function Pn(t){return t.max-t.min}function fM(t,s,o){return Math.abs(t-s)<=o}function fb(t,s,o,r=.5){t.origin=r,t.originPoint=Ot(s.min,s.max,t.origin),t.scale=Pn(o)/Pn(s),t.translate=Ot(o.min,o.max,t.origin)-t.originPoint,(t.scale>=lM&&t.scale<=cM||isNaN(t.scale))&&(t.scale=1),(t.translate>=dM&&t.translate<=uM||isNaN(t.translate))&&(t.translate=0)}function nl(t,s,o,r){fb(t.x,s.x,o.x,r?r.originX:void 0),fb(t.y,s.y,o.y,r?r.originY:void 0)}function pb(t,s,o){t.min=o.min+s.min,t.max=t.min+Pn(s)}function pM(t,s,o){pb(t.x,s.x,o.x),pb(t.y,s.y,o.y)}function mb(t,s,o){t.min=s.min-o.min,t.max=t.min+Pn(s)}function sl(t,s,o){mb(t.x,s.x,o.x),mb(t.y,s.y,o.y)}function mM(t,{min:s,max:o},r){return s!==void 0&&t<s?t=r?Ot(s,t,r.min):Math.max(t,s):o!==void 0&&t>o&&(t=r?Ot(o,t,r.max):Math.min(t,o)),t}function hb(t,s,o){return{min:s!==void 0?t.min+s:void 0,max:o!==void 0?t.max+o-(t.max-t.min):void 0}}function hM(t,{top:s,left:o,bottom:r,right:c}){return{x:hb(t.x,o,c),y:hb(t.y,s,r)}}function gb(t,s){let o=s.min-t.min,r=s.max-t.max;return s.max-s.min<t.max-t.min&&([o,r]=[r,o]),{min:o,max:r}}function gM(t,s){return{x:gb(t.x,s.x),y:gb(t.y,s.y)}}function vM(t,s){let o=.5;const r=Pn(t),c=Pn(s);return c>r?o=Ho(s.min,s.max-r,t.min):r>c&&(o=Ho(t.min,t.max-c,s.min)),fa(0,1,o)}function yM(t,s){const o={};return s.min!==void 0&&(o.min=s.min-t.min),s.max!==void 0&&(o.max=s.max-t.min),o}const hm=.35;function bM(t=hm){return t===!1?t=0:t===!0&&(t=hm),{x:vb(t,"left","right"),y:vb(t,"top","bottom")}}function vb(t,s,o){return{min:yb(t,s),max:yb(t,o)}}function yb(t,s){return typeof t=="number"?t:t[s]||0}const bb=()=>({translate:0,scale:1,origin:0,originPoint:0}),Io=()=>({x:bb(),y:bb()}),_b=()=>({min:0,max:0}),Pt=()=>({x:_b(),y:_b()});function is(t){return[t("x"),t("y")]}function k1({top:t,left:s,right:o,bottom:r}){return{x:{min:s,max:o},y:{min:t,max:r}}}function _M({x:t,y:s}){return{top:s.min,right:t.max,bottom:s.max,left:t.min}}function xM(t,s){if(!s)return t;const o=s({x:t.left,y:t.top}),r=s({x:t.right,y:t.bottom});return{top:o.y,left:o.x,bottom:r.y,right:r.x}}function Rp(t){return t===void 0||t===1}function gm({scale:t,scaleX:s,scaleY:o}){return!Rp(t)||!Rp(s)||!Rp(o)}function Ci(t){return gm(t)||S1(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function S1(t){return xb(t.x)||xb(t.y)}function xb(t){return t&&t!=="0%"}function _d(t,s,o){const r=t-o,c=s*r;return o+c}function kb(t,s,o,r,c){return c!==void 0&&(t=_d(t,c,r)),_d(t,o,r)+s}function vm(t,s=0,o=1,r,c){t.min=kb(t.min,s,o,r,c),t.max=kb(t.max,s,o,r,c)}function j1(t,{x:s,y:o}){vm(t.x,s.translate,s.scale,s.originPoint),vm(t.y,o.translate,o.scale,o.originPoint)}const Sb=.999999999999,jb=1.0000000000001;function kM(t,s,o,r=!1){const c=o.length;if(!c)return;s.x=s.y=1;let d,u;for(let p=0;p<c;p++){d=o[p],u=d.projectionDelta;const{visualElement:m}=d.options;m&&m.props.style&&m.props.style.display==="contents"||(r&&d.options.layoutScroll&&d.scroll&&d!==d.root&&Lo(t,{x:-d.scroll.offset.x,y:-d.scroll.offset.y}),u&&(s.x*=u.x.scale,s.y*=u.y.scale,j1(t,u)),r&&Ci(d.latestValues)&&Lo(t,d.latestValues))}s.x<jb&&s.x>Sb&&(s.x=1),s.y<jb&&s.y>Sb&&(s.y=1)}function Oo(t,s){t.min=t.min+s,t.max=t.max+s}function Tb(t,s,o,r,c=.5){const d=Ot(t.min,t.max,c);vm(t,s,o,d,r)}function Lo(t,s){Tb(t.x,s.x,s.scaleX,s.scale,s.originX),Tb(t.y,s.y,s.scaleY,s.scale,s.originY)}function T1(t,s){return k1(xM(t.getBoundingClientRect(),s))}function SM(t,s,o){const r=T1(t,o),{scroll:c}=s;return c&&(Oo(r.x,c.offset.x),Oo(r.y,c.offset.y)),r}const w1=({current:t})=>t?t.ownerDocument.defaultView:null,jM=new WeakMap;class TM{constructor(s){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Pt(),this.visualElement=s}start(s,{snapToCursor:o=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const c=v=>{const{dragSnapToOrigin:_}=this.getProps();_?this.pauseAnimation():this.stopAnimation(),o&&this.snapToCursor(Sl(v).point)},d=(v,_)=>{const{drag:b,dragPropagation:x,onDragStart:k}=this.getProps();if(b&&!x&&(this.openDragLock&&this.openDragLock(),this.openDragLock=sM(b),!this.openDragLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),is(w=>{let T=this.getAxisMotionValue(w).get()||0;if(Ls.test(T)){const{projection:C}=this.visualElement;if(C&&C.layout){const A=C.layout.layoutBox[w];A&&(T=Pn(A)*(parseFloat(T)/100))}}this.originPoint[w]=T}),k&&Nt.postRender(()=>k(v,_)),im(this.visualElement,"transform");const{animationState:j}=this.visualElement;j&&j.setActive("whileDrag",!0)},u=(v,_)=>{const{dragPropagation:b,dragDirectionLock:x,onDirectionLock:k,onDrag:j}=this.getProps();if(!b&&!this.openDragLock)return;const{offset:w}=_;if(x&&this.currentDirection===null){this.currentDirection=wM(w),this.currentDirection!==null&&k&&k(this.currentDirection);return}this.updateAxis("x",_.point,w),this.updateAxis("y",_.point,w),this.visualElement.render(),j&&j(v,_)},p=(v,_)=>this.stop(v,_),m=()=>is(v=>{var _;return this.getAnimationState(v)==="paused"&&((_=this.getAxisMotionValue(v).animation)===null||_===void 0?void 0:_.play())}),{dragSnapToOrigin:g}=this.getProps();this.panSession=new y1(s,{onSessionStart:c,onStart:d,onMove:u,onSessionEnd:p,resumeAnimation:m},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:g,contextWindow:w1(this.visualElement)})}stop(s,o){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:c}=o;this.startAnimation(c);const{onDragEnd:d}=this.getProps();d&&Nt.postRender(()=>d(s,o))}cancel(){this.isDragging=!1;const{projection:s,animationState:o}=this.visualElement;s&&(s.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),o&&o.setActive("whileDrag",!1)}updateAxis(s,o,r){const{drag:c}=this.getProps();if(!r||!Zc(s,c,this.currentDirection))return;const d=this.getAxisMotionValue(s);let u=this.originPoint[s]+r[s];this.constraints&&this.constraints[s]&&(u=mM(u,this.constraints[s],this.elastic[s])),d.set(u)}resolveConstraints(){var s;const{dragConstraints:o,dragElastic:r}=this.getProps(),c=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(s=this.visualElement.projection)===null||s===void 0?void 0:s.layout,d=this.constraints;o&&Ro(o)?this.constraints||(this.constraints=this.resolveRefConstraints()):o&&c?this.constraints=hM(c.layoutBox,o):this.constraints=!1,this.elastic=bM(r),d!==this.constraints&&c&&this.constraints&&!this.hasMutatedConstraints&&is(u=>{this.constraints!==!1&&this.getAxisMotionValue(u)&&(this.constraints[u]=yM(c.layoutBox[u],this.constraints[u]))})}resolveRefConstraints(){const{dragConstraints:s,onMeasureDragConstraints:o}=this.getProps();if(!s||!Ro(s))return!1;const r=s.current,{projection:c}=this.visualElement;if(!c||!c.layout)return!1;const d=SM(r,c.root,this.visualElement.getTransformPagePoint());let u=gM(c.layout.layoutBox,d);if(o){const p=o(_M(u));this.hasMutatedConstraints=!!p,p&&(u=k1(p))}return u}startAnimation(s){const{drag:o,dragMomentum:r,dragElastic:c,dragTransition:d,dragSnapToOrigin:u,onDragTransitionEnd:p}=this.getProps(),m=this.constraints||{},g=is(v=>{if(!Zc(v,o,this.currentDirection))return;let _=m&&m[v]||{};u&&(_={min:0,max:0});const b=c?200:1e6,x=c?40:1e7,k={type:"inertia",velocity:r?s[v]:0,bounceStiffness:b,bounceDamping:x,timeConstant:750,restDelta:1,restSpeed:10,...d,..._};return this.startAxisValueAnimation(v,k)});return Promise.all(g).then(p)}startAxisValueAnimation(s,o){const r=this.getAxisMotionValue(s);return im(this.visualElement,s),r.start(hh(s,r,0,o,this.visualElement,!1))}stopAnimation(){is(s=>this.getAxisMotionValue(s).stop())}pauseAnimation(){is(s=>{var o;return(o=this.getAxisMotionValue(s).animation)===null||o===void 0?void 0:o.pause()})}getAnimationState(s){var o;return(o=this.getAxisMotionValue(s).animation)===null||o===void 0?void 0:o.state}getAxisMotionValue(s){const o=`_drag${s.toUpperCase()}`,r=this.visualElement.getProps(),c=r[o];return c||this.visualElement.getValue(s,(r.initial?r.initial[s]:void 0)||0)}snapToCursor(s){is(o=>{const{drag:r}=this.getProps();if(!Zc(o,r,this.currentDirection))return;const{projection:c}=this.visualElement,d=this.getAxisMotionValue(o);if(c&&c.layout){const{min:u,max:p}=c.layout.layoutBox[o];d.set(s[o]-Ot(u,p,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:s,dragConstraints:o}=this.getProps(),{projection:r}=this.visualElement;if(!Ro(o)||!r||!this.constraints)return;this.stopAnimation();const c={x:0,y:0};is(u=>{const p=this.getAxisMotionValue(u);if(p&&this.constraints!==!1){const m=p.get();c[u]=vM({min:m,max:m},this.constraints[u])}});const{transformTemplate:d}=this.visualElement.getProps();this.visualElement.current.style.transform=d?d({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),is(u=>{if(!Zc(u,s,null))return;const p=this.getAxisMotionValue(u),{min:m,max:g}=this.constraints[u];p.set(Ot(m,g,c[u]))})}addListeners(){if(!this.visualElement.current)return;jM.set(this.visualElement,this);const s=this.visualElement.current,o=tl(s,"pointerdown",m=>{const{drag:g,dragListener:v=!0}=this.getProps();g&&v&&this.start(m)}),r=()=>{const{dragConstraints:m}=this.getProps();Ro(m)&&m.current&&(this.constraints=this.resolveRefConstraints())},{projection:c}=this.visualElement,d=c.addEventListener("measure",r);c&&!c.layout&&(c.root&&c.root.updateScroll(),c.updateLayout()),Nt.read(r);const u=ml(window,"resize",()=>this.scalePositionWithinConstraints()),p=c.addEventListener("didUpdate",(({delta:m,hasLayoutChanged:g})=>{this.isDragging&&g&&(is(v=>{const _=this.getAxisMotionValue(v);_&&(this.originPoint[v]+=m[v].translate,_.set(_.get()+m[v].translate))}),this.visualElement.render())}));return()=>{u(),o(),d(),p&&p()}}getProps(){const s=this.visualElement.getProps(),{drag:o=!1,dragDirectionLock:r=!1,dragPropagation:c=!1,dragConstraints:d=!1,dragElastic:u=hm,dragMomentum:p=!0}=s;return{...s,drag:o,dragDirectionLock:r,dragPropagation:c,dragConstraints:d,dragElastic:u,dragMomentum:p}}}function Zc(t,s,o){return(s===!0||s===t)&&(o===null||o===t)}function wM(t,s=10){let o=null;return Math.abs(t.y)>s?o="y":Math.abs(t.x)>s&&(o="x"),o}class NM extends ti{constructor(s){super(s),this.removeGroupControls=zn,this.removeListeners=zn,this.controls=new TM(s)}mount(){const{dragControls:s}=this.node.getProps();s&&(this.removeGroupControls=s.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||zn}unmount(){this.removeGroupControls(),this.removeListeners()}}const wb=t=>(s,o)=>{t&&Nt.postRender(()=>t(s,o))};class CM extends ti{constructor(){super(...arguments),this.removePointerDownListener=zn}onPointerDown(s){this.session=new y1(s,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:w1(this.node)})}createPanHandlers(){const{onPanSessionStart:s,onPanStart:o,onPan:r,onPanEnd:c}=this.node.getProps();return{onSessionStart:wb(s),onStart:wb(o),onMove:r,onEnd:(d,u)=>{delete this.session,c&&Nt.postRender(()=>c(d,u))}}}mount(){this.removePointerDownListener=tl(this.node.current,"pointerdown",s=>this.onPointerDown(s))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const rd={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Nb(t,s){return s.max===s.min?0:t/(s.max-s.min)*100}const Vr={correct:(t,s)=>{if(!s.target)return t;if(typeof t=="string")if(De.test(t))t=parseFloat(t);else return t;const o=Nb(t,s.target.x),r=Nb(t,s.target.y);return`${o}% ${r}%`}},EM={correct:(t,{treeScale:s,projectionDelta:o})=>{const r=t,c=ei.parse(t);if(c.length>5)return r;const d=ei.createTransformer(t),u=typeof c[0]!="number"?1:0,p=o.x.scale*s.x,m=o.y.scale*s.y;c[0+u]/=p,c[1+u]/=m;const g=Ot(p,m,.5);return typeof c[2+u]=="number"&&(c[2+u]/=g),typeof c[3+u]=="number"&&(c[3+u]/=g),d(c)}};class AM extends y.Component{componentDidMount(){const{visualElement:s,layoutGroup:o,switchLayoutGroup:r,layoutId:c}=this.props,{projection:d}=s;nR(DM),d&&(o.group&&o.group.add(d),r&&r.register&&c&&r.register(d),d.root.didUpdate(),d.addEventListener("animationComplete",()=>{this.safeToRemove()}),d.setOptions({...d.options,onExitComplete:()=>this.safeToRemove()})),rd.hasEverUpdated=!0}getSnapshotBeforeUpdate(s){const{layoutDependency:o,visualElement:r,drag:c,isPresent:d}=this.props,u=r.projection;return u&&(u.isPresent=d,c||s.layoutDependency!==o||o===void 0?u.willUpdate():this.safeToRemove(),s.isPresent!==d&&(d?u.promote():u.relegate()||Nt.postRender(()=>{const p=u.getStack();(!p||!p.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:s}=this.props.visualElement;s&&(s.root.didUpdate(),Gm.postRender(()=>{!s.currentAnimation&&s.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:s,layoutGroup:o,switchLayoutGroup:r}=this.props,{projection:c}=s;c&&(c.scheduleCheckAfterUnmount(),o&&o.group&&o.group.remove(c),r&&r.deregister&&r.deregister(c))}safeToRemove(){const{safeToRemove:s}=this.props;s&&s()}render(){return null}}function N1(t){const[s,o]=ux(),r=y.useContext(Bm);return a.jsx(AM,{...t,layoutGroup:r,switchLayoutGroup:y.useContext(bx),isPresent:s,safeToRemove:o})}const DM={borderRadius:{...Vr,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Vr,borderTopRightRadius:Vr,borderBottomLeftRadius:Vr,borderBottomRightRadius:Vr,boxShadow:EM};function RM(t,s,o){const r=vn(t)?t:fl(t);return r.start(hh("",r,s,o)),r.animation}function MM(t){return t instanceof SVGElement&&t.tagName!=="svg"}const IM=(t,s)=>t.depth-s.depth;class OM{constructor(){this.children=[],this.isDirty=!1}add(s){th(this.children,s),this.isDirty=!0}remove(s){nh(this.children,s),this.isDirty=!0}forEach(s){this.isDirty&&this.children.sort(IM),this.isDirty=!1,this.children.forEach(s)}}function LM(t,s){const o=Bs.now(),r=({timestamp:c})=>{const d=c-o;d>=s&&(Qa(r),t(d-s))};return Nt.read(r,!0),()=>Qa(r)}const C1=["TopLeft","TopRight","BottomLeft","BottomRight"],BM=C1.length,Cb=t=>typeof t=="string"?parseFloat(t):t,Eb=t=>typeof t=="number"||De.test(t);function $M(t,s,o,r,c,d){c?(t.opacity=Ot(0,o.opacity!==void 0?o.opacity:1,zM(r)),t.opacityExit=Ot(s.opacity!==void 0?s.opacity:1,0,HM(r))):d&&(t.opacity=Ot(s.opacity!==void 0?s.opacity:1,o.opacity!==void 0?o.opacity:1,r));for(let u=0;u<BM;u++){const p=`border${C1[u]}Radius`;let m=Ab(s,p),g=Ab(o,p);if(m===void 0&&g===void 0)continue;m||(m=0),g||(g=0),m===0||g===0||Eb(m)===Eb(g)?(t[p]=Math.max(Ot(Cb(m),Cb(g),r),0),(Ls.test(g)||Ls.test(m))&&(t[p]+="%")):t[p]=g}(s.rotate||o.rotate)&&(t.rotate=Ot(s.rotate||0,o.rotate||0,r))}function Ab(t,s){return t[s]!==void 0?t[s]:t.borderRadius}const zM=E1(0,.5,qx),HM=E1(.5,.95,zn);function E1(t,s,o){return r=>r<t?0:r>s?1:o(Ho(t,s,r))}function Db(t,s){t.min=s.min,t.max=s.max}function ts(t,s){Db(t.x,s.x),Db(t.y,s.y)}function Rb(t,s){t.translate=s.translate,t.scale=s.scale,t.originPoint=s.originPoint,t.origin=s.origin}function Mb(t,s,o,r,c){return t-=s,t=_d(t,1/o,r),c!==void 0&&(t=_d(t,1/c,r)),t}function PM(t,s=0,o=1,r=.5,c,d=t,u=t){if(Ls.test(s)&&(s=parseFloat(s),s=Ot(u.min,u.max,s/100)-u.min),typeof s!="number")return;let p=Ot(d.min,d.max,r);t===d&&(p-=s),t.min=Mb(t.min,s,o,p,c),t.max=Mb(t.max,s,o,p,c)}function Ib(t,s,[o,r,c],d,u){PM(t,s[o],s[r],s[c],s.scale,d,u)}const UM=["x","scaleX","originX"],VM=["y","scaleY","originY"];function Ob(t,s,o,r){Ib(t.x,s,UM,o?o.x:void 0,r?r.x:void 0),Ib(t.y,s,VM,o?o.y:void 0,r?r.y:void 0)}function Lb(t){return t.translate===0&&t.scale===1}function A1(t){return Lb(t.x)&&Lb(t.y)}function Bb(t,s){return t.min===s.min&&t.max===s.max}function GM(t,s){return Bb(t.x,s.x)&&Bb(t.y,s.y)}function $b(t,s){return Math.round(t.min)===Math.round(s.min)&&Math.round(t.max)===Math.round(s.max)}function D1(t,s){return $b(t.x,s.x)&&$b(t.y,s.y)}function zb(t){return Pn(t.x)/Pn(t.y)}function Hb(t,s){return t.translate===s.translate&&t.scale===s.scale&&t.originPoint===s.originPoint}class qM{constructor(){this.members=[]}add(s){th(this.members,s),s.scheduleRender()}remove(s){if(nh(this.members,s),s===this.prevLead&&(this.prevLead=void 0),s===this.lead){const o=this.members[this.members.length-1];o&&this.promote(o)}}relegate(s){const o=this.members.findIndex(c=>s===c);if(o===0)return!1;let r;for(let c=o;c>=0;c--){const d=this.members[c];if(d.isPresent!==!1){r=d;break}}return r?(this.promote(r),!0):!1}promote(s,o){const r=this.lead;if(s!==r&&(this.prevLead=r,this.lead=s,s.show(),r)){r.instance&&r.scheduleRender(),s.scheduleRender(),s.resumeFrom=r,o&&(s.resumeFrom.preserveOpacity=!0),r.snapshot&&(s.snapshot=r.snapshot,s.snapshot.latestValues=r.animationValues||r.latestValues),s.root&&s.root.isUpdating&&(s.isLayoutDirty=!0);const{crossfade:c}=s.options;c===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(s=>{const{options:o,resumingFrom:r}=s;o.onExitComplete&&o.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(s=>{s.instance&&s.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function FM(t,s,o){let r="";const c=t.x.translate/s.x,d=t.y.translate/s.y,u=(o==null?void 0:o.z)||0;if((c||d||u)&&(r=`translate3d(${c}px, ${d}px, ${u}px) `),(s.x!==1||s.y!==1)&&(r+=`scale(${1/s.x}, ${1/s.y}) `),o){const{transformPerspective:g,rotate:v,rotateX:_,rotateY:b,skewX:x,skewY:k}=o;g&&(r=`perspective(${g}px) ${r}`),v&&(r+=`rotate(${v}deg) `),_&&(r+=`rotateX(${_}deg) `),b&&(r+=`rotateY(${b}deg) `),x&&(r+=`skewX(${x}deg) `),k&&(r+=`skewY(${k}deg) `)}const p=t.x.scale*s.x,m=t.y.scale*s.y;return(p!==1||m!==1)&&(r+=`scale(${p}, ${m})`),r||"none"}const Ei={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},Jr=typeof window<"u"&&window.MotionDebug!==void 0,Mp=["","X","Y","Z"],ZM={visibility:"hidden"},Pb=1e3;let KM=0;function Ip(t,s,o,r){const{latestValues:c}=s;c[t]&&(o[t]=c[t],s.setStaticValue(t,0),r&&(r[t]=0))}function R1(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:s}=t.options;if(!s)return;const o=Ox(s);if(window.MotionHasOptimisedAnimation(o,"transform")){const{layout:c,layoutId:d}=t.options;window.MotionCancelOptimisedAnimation(o,"transform",Nt,!(c||d))}const{parent:r}=t;r&&!r.hasCheckedOptimisedAppear&&R1(r)}function M1({attachResizeListener:t,defaultParent:s,measureScroll:o,checkIsScrollRoot:r,resetTransform:c}){return class{constructor(u={},p=s==null?void 0:s()){this.id=KM++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,Jr&&(Ei.totalNodes=Ei.resolvedTargetDeltas=Ei.recalculatedProjection=0),this.nodes.forEach(WM),this.nodes.forEach(n3),this.nodes.forEach(s3),this.nodes.forEach(XM),Jr&&window.MotionDebug.record(Ei)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=u,this.root=p?p.root||p:this,this.path=p?[...p.path,p]:[],this.parent=p,this.depth=p?p.depth+1:0;for(let m=0;m<this.path.length;m++)this.path[m].shouldResetTransform=!0;this.root===this&&(this.nodes=new OM)}addEventListener(u,p){return this.eventHandlers.has(u)||this.eventHandlers.set(u,new sh),this.eventHandlers.get(u).add(p)}notifyListeners(u,...p){const m=this.eventHandlers.get(u);m&&m.notify(...p)}hasListeners(u){return this.eventHandlers.has(u)}mount(u,p=this.root.hasTreeAnimated){if(this.instance)return;this.isSVG=MM(u),this.instance=u;const{layoutId:m,layout:g,visualElement:v}=this.options;if(v&&!v.current&&v.mount(u),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),p&&(g||m)&&(this.isLayoutDirty=!0),t){let _;const b=()=>this.root.updateBlockedByResize=!1;t(u,()=>{this.root.updateBlockedByResize=!0,_&&_(),_=LM(b,250),rd.hasAnimatedSinceResize&&(rd.hasAnimatedSinceResize=!1,this.nodes.forEach(Vb))})}m&&this.root.registerSharedNode(m,this),this.options.animate!==!1&&v&&(m||g)&&this.addEventListener("didUpdate",({delta:_,hasLayoutChanged:b,hasRelativeTargetChanged:x,layout:k})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const j=this.options.transition||v.getDefaultTransition()||l3,{onLayoutAnimationStart:w,onLayoutAnimationComplete:T}=v.getProps(),C=!this.targetLayout||!D1(this.targetLayout,k)||x,A=!b&&x;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||A||b&&(C||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(_,A);const L={...eh(j,"layout"),onPlay:w,onComplete:T};(v.shouldReduceMotion||this.options.layoutRoot)&&(L.delay=0,L.type=!1),this.startAnimation(L)}else b||Vb(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=k})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const u=this.getStack();u&&u.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Qa(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(a3),this.animationId++)}getTransformTemplate(){const{visualElement:u}=this.options;return u&&u.getProps().transformTemplate}willUpdate(u=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&R1(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let v=0;v<this.path.length;v++){const _=this.path[v];_.shouldResetTransform=!0,_.updateScroll("snapshot"),_.options.layoutRoot&&_.willUpdate(!1)}const{layoutId:p,layout:m}=this.options;if(p===void 0&&!m)return;const g=this.getTransformTemplate();this.prevTransformTemplateValue=g?g(this.latestValues,""):void 0,this.updateSnapshot(),u&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Ub);return}this.isUpdating||this.nodes.forEach(e3),this.isUpdating=!1,this.nodes.forEach(t3),this.nodes.forEach(YM),this.nodes.forEach(JM),this.clearAllSnapshots();const p=Bs.now();fn.delta=fa(0,1e3/60,p-fn.timestamp),fn.timestamp=p,fn.isProcessing=!0,Tp.update.process(fn),Tp.preRender.process(fn),Tp.render.process(fn),fn.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Gm.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(QM),this.sharedNodes.forEach(i3)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Nt.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Nt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let m=0;m<this.path.length;m++)this.path[m].updateScroll();const u=this.layout;this.layout=this.measure(!1),this.layoutCorrected=Pt(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:p}=this.options;p&&p.notify("LayoutMeasure",this.layout.layoutBox,u?u.layoutBox:void 0)}updateScroll(u="measure"){let p=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===u&&(p=!1),p){const m=r(this.instance);this.scroll={animationId:this.root.animationId,phase:u,isRoot:m,offset:o(this.instance),wasRoot:this.scroll?this.scroll.isRoot:m}}}resetTransform(){if(!c)return;const u=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,p=this.projectionDelta&&!A1(this.projectionDelta),m=this.getTransformTemplate(),g=m?m(this.latestValues,""):void 0,v=g!==this.prevTransformTemplateValue;u&&(p||Ci(this.latestValues)||v)&&(c(this.instance,g),this.shouldResetTransform=!1,this.scheduleRender())}measure(u=!0){const p=this.measurePageBox();let m=this.removeElementScroll(p);return u&&(m=this.removeTransform(m)),c3(m),{animationId:this.root.animationId,measuredBox:p,layoutBox:m,latestValues:{},source:this.id}}measurePageBox(){var u;const{visualElement:p}=this.options;if(!p)return Pt();const m=p.measureViewportBox();if(!(((u=this.scroll)===null||u===void 0?void 0:u.wasRoot)||this.path.some(d3))){const{scroll:v}=this.root;v&&(Oo(m.x,v.offset.x),Oo(m.y,v.offset.y))}return m}removeElementScroll(u){var p;const m=Pt();if(ts(m,u),!((p=this.scroll)===null||p===void 0)&&p.wasRoot)return m;for(let g=0;g<this.path.length;g++){const v=this.path[g],{scroll:_,options:b}=v;v!==this.root&&_&&b.layoutScroll&&(_.wasRoot&&ts(m,u),Oo(m.x,_.offset.x),Oo(m.y,_.offset.y))}return m}applyTransform(u,p=!1){const m=Pt();ts(m,u);for(let g=0;g<this.path.length;g++){const v=this.path[g];!p&&v.options.layoutScroll&&v.scroll&&v!==v.root&&Lo(m,{x:-v.scroll.offset.x,y:-v.scroll.offset.y}),Ci(v.latestValues)&&Lo(m,v.latestValues)}return Ci(this.latestValues)&&Lo(m,this.latestValues),m}removeTransform(u){const p=Pt();ts(p,u);for(let m=0;m<this.path.length;m++){const g=this.path[m];if(!g.instance||!Ci(g.latestValues))continue;gm(g.latestValues)&&g.updateSnapshot();const v=Pt(),_=g.measurePageBox();ts(v,_),Ob(p,g.latestValues,g.snapshot?g.snapshot.layoutBox:void 0,v)}return Ci(this.latestValues)&&Ob(p,this.latestValues),p}setTargetDelta(u){this.targetDelta=u,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(u){this.options={...this.options,...u,crossfade:u.crossfade!==void 0?u.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==fn.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(u=!1){var p;const m=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=m.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=m.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=m.isSharedProjectionDirty);const g=!!this.resumingFrom||this!==m;if(!(u||g&&this.isSharedProjectionDirty||this.isProjectionDirty||!((p=this.parent)===null||p===void 0)&&p.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:_,layoutId:b}=this.options;if(!(!this.layout||!(_||b))){if(this.resolvedRelativeTargetAt=fn.timestamp,!this.targetDelta&&!this.relativeTarget){const x=this.getClosestProjectingParent();x&&x.layout&&this.animationProgress!==1?(this.relativeParent=x,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Pt(),this.relativeTargetOrigin=Pt(),sl(this.relativeTargetOrigin,this.layout.layoutBox,x.layout.layoutBox),ts(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)){if(this.target||(this.target=Pt(),this.targetWithTransforms=Pt()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),pM(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):ts(this.target,this.layout.layoutBox),j1(this.target,this.targetDelta)):ts(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;const x=this.getClosestProjectingParent();x&&!!x.resumingFrom==!!this.resumingFrom&&!x.options.layoutScroll&&x.target&&this.animationProgress!==1?(this.relativeParent=x,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Pt(),this.relativeTargetOrigin=Pt(),sl(this.relativeTargetOrigin,this.target,x.target),ts(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}Jr&&Ei.resolvedTargetDeltas++}}}getClosestProjectingParent(){if(!(!this.parent||gm(this.parent.latestValues)||S1(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var u;const p=this.getLead(),m=!!this.resumingFrom||this!==p;let g=!0;if((this.isProjectionDirty||!((u=this.parent)===null||u===void 0)&&u.isProjectionDirty)&&(g=!1),m&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(g=!1),this.resolvedRelativeTargetAt===fn.timestamp&&(g=!1),g)return;const{layout:v,layoutId:_}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(v||_))return;ts(this.layoutCorrected,this.layout.layoutBox);const b=this.treeScale.x,x=this.treeScale.y;kM(this.layoutCorrected,this.treeScale,this.path,m),p.layout&&!p.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(p.target=p.layout.layoutBox,p.targetWithTransforms=Pt());const{target:k}=p;if(!k){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Rb(this.prevProjectionDelta.x,this.projectionDelta.x),Rb(this.prevProjectionDelta.y,this.projectionDelta.y)),nl(this.projectionDelta,this.layoutCorrected,k,this.latestValues),(this.treeScale.x!==b||this.treeScale.y!==x||!Hb(this.projectionDelta.x,this.prevProjectionDelta.x)||!Hb(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",k)),Jr&&Ei.recalculatedProjection++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(u=!0){var p;if((p=this.options.visualElement)===null||p===void 0||p.scheduleRender(),u){const m=this.getStack();m&&m.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Io(),this.projectionDelta=Io(),this.projectionDeltaWithTransform=Io()}setAnimationOrigin(u,p=!1){const m=this.snapshot,g=m?m.latestValues:{},v={...this.latestValues},_=Io();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!p;const b=Pt(),x=m?m.source:void 0,k=this.layout?this.layout.source:void 0,j=x!==k,w=this.getStack(),T=!w||w.members.length<=1,C=!!(j&&!T&&this.options.crossfade===!0&&!this.path.some(r3));this.animationProgress=0;let A;this.mixTargetDelta=L=>{const E=L/1e3;Gb(_.x,u.x,E),Gb(_.y,u.y,E),this.setTargetDelta(_),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(sl(b,this.layout.layoutBox,this.relativeParent.layout.layoutBox),o3(this.relativeTarget,this.relativeTargetOrigin,b,E),A&&GM(this.relativeTarget,A)&&(this.isProjectionDirty=!1),A||(A=Pt()),ts(A,this.relativeTarget)),j&&(this.animationValues=v,$M(v,g,this.latestValues,E,C,T)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=E},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(u){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Qa(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Nt.update(()=>{rd.hasAnimatedSinceResize=!0,this.currentAnimation=RM(0,Pb,{...u,onUpdate:p=>{this.mixTargetDelta(p),u.onUpdate&&u.onUpdate(p)},onComplete:()=>{u.onComplete&&u.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const u=this.getStack();u&&u.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Pb),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const u=this.getLead();let{targetWithTransforms:p,target:m,layout:g,latestValues:v}=u;if(!(!p||!m||!g)){if(this!==u&&this.layout&&g&&I1(this.options.animationType,this.layout.layoutBox,g.layoutBox)){m=this.target||Pt();const _=Pn(this.layout.layoutBox.x);m.x.min=u.target.x.min,m.x.max=m.x.min+_;const b=Pn(this.layout.layoutBox.y);m.y.min=u.target.y.min,m.y.max=m.y.min+b}ts(p,m),Lo(p,v),nl(this.projectionDeltaWithTransform,this.layoutCorrected,p,v)}}registerSharedNode(u,p){this.sharedNodes.has(u)||this.sharedNodes.set(u,new qM),this.sharedNodes.get(u).add(p);const g=p.options.initialPromotionConfig;p.promote({transition:g?g.transition:void 0,preserveFollowOpacity:g&&g.shouldPreserveFollowOpacity?g.shouldPreserveFollowOpacity(p):void 0})}isLead(){const u=this.getStack();return u?u.lead===this:!0}getLead(){var u;const{layoutId:p}=this.options;return p?((u=this.getStack())===null||u===void 0?void 0:u.lead)||this:this}getPrevLead(){var u;const{layoutId:p}=this.options;return p?(u=this.getStack())===null||u===void 0?void 0:u.prevLead:void 0}getStack(){const{layoutId:u}=this.options;if(u)return this.root.sharedNodes.get(u)}promote({needsReset:u,transition:p,preserveFollowOpacity:m}={}){const g=this.getStack();g&&g.promote(this,m),u&&(this.projectionDelta=void 0,this.needsReset=!0),p&&this.setOptions({transition:p})}relegate(){const u=this.getStack();return u?u.relegate(this):!1}resetSkewAndRotation(){const{visualElement:u}=this.options;if(!u)return;let p=!1;const{latestValues:m}=u;if((m.z||m.rotate||m.rotateX||m.rotateY||m.rotateZ||m.skewX||m.skewY)&&(p=!0),!p)return;const g={};m.z&&Ip("z",u,g,this.animationValues);for(let v=0;v<Mp.length;v++)Ip(`rotate${Mp[v]}`,u,g,this.animationValues),Ip(`skew${Mp[v]}`,u,g,this.animationValues);u.render();for(const v in g)u.setStaticValue(v,g[v]),this.animationValues&&(this.animationValues[v]=g[v]);u.scheduleRender()}getProjectionStyles(u){var p,m;if(!this.instance||this.isSVG)return;if(!this.isVisible)return ZM;const g={visibility:""},v=this.getTransformTemplate();if(this.needsReset)return this.needsReset=!1,g.opacity="",g.pointerEvents=id(u==null?void 0:u.pointerEvents)||"",g.transform=v?v(this.latestValues,""):"none",g;const _=this.getLead();if(!this.projectionDelta||!this.layout||!_.target){const j={};return this.options.layoutId&&(j.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,j.pointerEvents=id(u==null?void 0:u.pointerEvents)||""),this.hasProjected&&!Ci(this.latestValues)&&(j.transform=v?v({},""):"none",this.hasProjected=!1),j}const b=_.animationValues||_.latestValues;this.applyTransformsToTarget(),g.transform=FM(this.projectionDeltaWithTransform,this.treeScale,b),v&&(g.transform=v(b,g.transform));const{x,y:k}=this.projectionDelta;g.transformOrigin=`${x.origin*100}% ${k.origin*100}% 0`,_.animationValues?g.opacity=_===this?(m=(p=b.opacity)!==null&&p!==void 0?p:this.latestValues.opacity)!==null&&m!==void 0?m:1:this.preserveOpacity?this.latestValues.opacity:b.opacityExit:g.opacity=_===this?b.opacity!==void 0?b.opacity:"":b.opacityExit!==void 0?b.opacityExit:0;for(const j in hd){if(b[j]===void 0)continue;const{correct:w,applyTo:T}=hd[j],C=g.transform==="none"?b[j]:w(b[j],_);if(T){const A=T.length;for(let L=0;L<A;L++)g[T[L]]=C}else g[j]=C}return this.options.layoutId&&(g.pointerEvents=_===this?id(u==null?void 0:u.pointerEvents)||"":"none"),g}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(u=>{var p;return(p=u.currentAnimation)===null||p===void 0?void 0:p.stop()}),this.root.nodes.forEach(Ub),this.root.sharedNodes.clear()}}}function YM(t){t.updateLayout()}function JM(t){var s;const o=((s=t.resumeFrom)===null||s===void 0?void 0:s.snapshot)||t.snapshot;if(t.isLead()&&t.layout&&o&&t.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:c}=t.layout,{animationType:d}=t.options,u=o.source!==t.layout.source;d==="size"?is(_=>{const b=u?o.measuredBox[_]:o.layoutBox[_],x=Pn(b);b.min=r[_].min,b.max=b.min+x}):I1(d,o.layoutBox,r)&&is(_=>{const b=u?o.measuredBox[_]:o.layoutBox[_],x=Pn(r[_]);b.max=b.min+x,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[_].max=t.relativeTarget[_].min+x)});const p=Io();nl(p,r,o.layoutBox);const m=Io();u?nl(m,t.applyTransform(c,!0),o.measuredBox):nl(m,r,o.layoutBox);const g=!A1(p);let v=!1;if(!t.resumeFrom){const _=t.getClosestProjectingParent();if(_&&!_.resumeFrom){const{snapshot:b,layout:x}=_;if(b&&x){const k=Pt();sl(k,o.layoutBox,b.layoutBox);const j=Pt();sl(j,r,x.layoutBox),D1(k,j)||(v=!0),_.options.layoutRoot&&(t.relativeTarget=j,t.relativeTargetOrigin=k,t.relativeParent=_)}}}t.notifyListeners("didUpdate",{layout:r,snapshot:o,delta:m,layoutDelta:p,hasLayoutChanged:g,hasRelativeTargetChanged:v})}else if(t.isLead()){const{onExitComplete:r}=t.options;r&&r()}t.options.transition=void 0}function WM(t){Jr&&Ei.totalNodes++,t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function XM(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function QM(t){t.clearSnapshot()}function Ub(t){t.clearMeasurements()}function e3(t){t.isLayoutDirty=!1}function t3(t){const{visualElement:s}=t.options;s&&s.getProps().onBeforeLayoutMeasure&&s.notify("BeforeLayoutMeasure"),t.resetTransform()}function Vb(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function n3(t){t.resolveTargetDelta()}function s3(t){t.calcProjection()}function a3(t){t.resetSkewAndRotation()}function i3(t){t.removeLeadSnapshot()}function Gb(t,s,o){t.translate=Ot(s.translate,0,o),t.scale=Ot(s.scale,1,o),t.origin=s.origin,t.originPoint=s.originPoint}function qb(t,s,o,r){t.min=Ot(s.min,o.min,r),t.max=Ot(s.max,o.max,r)}function o3(t,s,o,r){qb(t.x,s.x,o.x,r),qb(t.y,s.y,o.y,r)}function r3(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const l3={duration:.45,ease:[.4,0,.1,1]},Fb=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),Zb=Fb("applewebkit/")&&!Fb("chrome/")?Math.round:zn;function Kb(t){t.min=Zb(t.min),t.max=Zb(t.max)}function c3(t){Kb(t.x),Kb(t.y)}function I1(t,s,o){return t==="position"||t==="preserve-aspect"&&!fM(zb(s),zb(o),.2)}function d3(t){var s;return t!==t.root&&((s=t.scroll)===null||s===void 0?void 0:s.wasRoot)}const u3=M1({attachResizeListener:(t,s)=>ml(t,"resize",s),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Op={current:void 0},O1=M1({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!Op.current){const t=new u3({});t.mount(window),t.setOptions({layoutScroll:!0}),Op.current=t}return Op.current},resetTransform:(t,s)=>{t.style.transform=s!==void 0?s:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),f3={pan:{Feature:CM},drag:{Feature:NM,ProjectionNode:O1,MeasureLayout:N1}};function p3(t,s,o){var r;if(t instanceof Element)return[t];if(typeof t=="string"){let c=document;const d=(r=void 0)!==null&&r!==void 0?r:c.querySelectorAll(t);return d?Array.from(d):[]}return Array.from(t)}function L1(t,s){const o=p3(t),r=new AbortController,c={passive:!0,...s,signal:r.signal};return[o,c,()=>r.abort()]}function Yb(t){return s=>{s.pointerType==="touch"||v1()||t(s)}}function m3(t,s,o={}){const[r,c,d]=L1(t,o),u=Yb(p=>{const{target:m}=p,g=s(p);if(typeof g!="function"||!m)return;const v=Yb(_=>{g(_),m.removeEventListener("pointerleave",v)});m.addEventListener("pointerleave",v,c)});return r.forEach(p=>{p.addEventListener("pointerenter",u,c)}),d}function Jb(t,s,o){const{props:r}=t;t.animationState&&r.whileHover&&t.animationState.setActive("whileHover",o==="Start");const c="onHover"+o,d=r[c];d&&Nt.postRender(()=>d(s,Sl(s)))}class h3 extends ti{mount(){const{current:s}=this.node;s&&(this.unmount=m3(s,o=>(Jb(this.node,o,"Start"),r=>Jb(this.node,r,"End"))))}unmount(){}}class g3 extends ti{constructor(){super(...arguments),this.isActive=!1}onFocus(){let s=!1;try{s=this.node.current.matches(":focus-visible")}catch{s=!0}!s||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=kl(ml(this.node.current,"focus",()=>this.onFocus()),ml(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const B1=(t,s)=>s?t===s?!0:B1(t,s.parentElement):!1,v3=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function y3(t){return v3.has(t.tagName)||t.tabIndex!==-1}const Wr=new WeakSet;function Wb(t){return s=>{s.key==="Enter"&&t(s)}}function Lp(t,s){t.dispatchEvent(new PointerEvent("pointer"+s,{isPrimary:!0,bubbles:!0}))}const b3=(t,s)=>{const o=t.currentTarget;if(!o)return;const r=Wb(()=>{if(Wr.has(o))return;Lp(o,"down");const c=Wb(()=>{Lp(o,"up")}),d=()=>Lp(o,"cancel");o.addEventListener("keyup",c,s),o.addEventListener("blur",d,s)});o.addEventListener("keydown",r,s),o.addEventListener("blur",()=>o.removeEventListener("keydown",r),s)};function Xb(t){return gh(t)&&!v1()}function _3(t,s,o={}){const[r,c,d]=L1(t,o),u=p=>{const m=p.currentTarget;if(!Xb(p)||Wr.has(m))return;Wr.add(m);const g=s(p),v=(x,k)=>{window.removeEventListener("pointerup",_),window.removeEventListener("pointercancel",b),!(!Xb(x)||!Wr.has(m))&&(Wr.delete(m),typeof g=="function"&&g(x,{success:k}))},_=x=>{v(x,o.useGlobalTarget||B1(m,x.target))},b=x=>{v(x,!1)};window.addEventListener("pointerup",_,c),window.addEventListener("pointercancel",b,c)};return r.forEach(p=>{!y3(p)&&p.getAttribute("tabindex")===null&&(p.tabIndex=0),(o.useGlobalTarget?window:p).addEventListener("pointerdown",u,c),p.addEventListener("focus",g=>b3(g,c),c)}),d}function Qb(t,s,o){const{props:r}=t;t.animationState&&r.whileTap&&t.animationState.setActive("whileTap",o==="Start");const c="onTap"+(o==="End"?"":o),d=r[c];d&&Nt.postRender(()=>d(s,Sl(s)))}class x3 extends ti{mount(){const{current:s}=this.node;s&&(this.unmount=_3(s,o=>(Qb(this.node,o,"Start"),(r,{success:c})=>Qb(this.node,r,c?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const ym=new WeakMap,Bp=new WeakMap,k3=t=>{const s=ym.get(t.target);s&&s(t)},S3=t=>{t.forEach(k3)};function j3({root:t,...s}){const o=t||document;Bp.has(o)||Bp.set(o,{});const r=Bp.get(o),c=JSON.stringify(s);return r[c]||(r[c]=new IntersectionObserver(S3,{root:t,...s})),r[c]}function T3(t,s,o){const r=j3(s);return ym.set(t,o),r.observe(t),()=>{ym.delete(t),r.unobserve(t)}}const w3={some:0,all:1};class N3 extends ti{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:s={}}=this.node.getProps(),{root:o,margin:r,amount:c="some",once:d}=s,u={root:o?o.current:void 0,rootMargin:r,threshold:typeof c=="number"?c:w3[c]},p=m=>{const{isIntersecting:g}=m;if(this.isInView===g||(this.isInView=g,d&&!g&&this.hasEnteredView))return;g&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",g);const{onViewportEnter:v,onViewportLeave:_}=this.node.getProps(),b=g?v:_;b&&b(m)};return T3(this.node.current,u,p)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:s,prevProps:o}=this.node;["amount","margin","root"].some(C3(s,o))&&this.startObserver()}unmount(){}}function C3({viewport:t={}},{viewport:s={}}={}){return o=>t[o]!==s[o]}const E3={inView:{Feature:N3},tap:{Feature:x3},focus:{Feature:g3},hover:{Feature:h3}},A3={layout:{ProjectionNode:O1,MeasureLayout:N1}},xd={current:null},vh={current:!1};function $1(){if(vh.current=!0,!!Hm)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),s=()=>xd.current=t.matches;t.addListener(s),s()}else xd.current=!1}const D3=[...i1,gn,ei],R3=t=>D3.find(a1(t)),e_=new WeakMap;function M3(t,s,o){for(const r in s){const c=s[r],d=o[r];if(vn(c))t.addValue(r,c);else if(vn(d))t.addValue(r,fl(c,{owner:t}));else if(d!==c)if(t.hasValue(r)){const u=t.getValue(r);u.liveStyle===!0?u.jump(c):u.hasAnimated||u.set(c)}else{const u=t.getStaticValue(r);t.addValue(r,fl(u!==void 0?u:c,{owner:t}))}}for(const r in o)s[r]===void 0&&t.removeValue(r);return s}const t_=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class I3{scrapeMotionValuesFromProps(s,o,r){return{}}constructor({parent:s,props:o,presenceContext:r,reducedMotionConfig:c,blockInitialAnimation:d,visualState:u},p={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=fh,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const x=Bs.now();this.renderScheduledAt<x&&(this.renderScheduledAt=x,Nt.render(this.render,!1,!0))};const{latestValues:m,renderState:g,onUpdate:v}=u;this.onUpdate=v,this.latestValues=m,this.baseTarget={...m},this.initialValues=o.initial?{...m}:{},this.renderState=g,this.parent=s,this.props=o,this.presenceContext=r,this.depth=s?s.depth+1:0,this.reducedMotionConfig=c,this.options=p,this.blockInitialAnimation=!!d,this.isControllingVariants=Ud(o),this.isVariantNode=vx(o),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(s&&s.current);const{willChange:_,...b}=this.scrapeMotionValuesFromProps(o,{},this);for(const x in b){const k=b[x];m[x]!==void 0&&vn(k)&&k.set(m[x],!1)}}mount(s){this.current=s,e_.set(s,this),this.projection&&!this.projection.instance&&this.projection.mount(s),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((o,r)=>this.bindToMotionValue(r,o)),vh.current||$1(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:xd.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e_.delete(this.current),this.projection&&this.projection.unmount(),Qa(this.notifyUpdate),Qa(this.render),this.valueSubscriptions.forEach(s=>s()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const s in this.events)this.events[s].clear();for(const s in this.features){const o=this.features[s];o&&(o.unmount(),o.isMounted=!1)}this.current=null}bindToMotionValue(s,o){this.valueSubscriptions.has(s)&&this.valueSubscriptions.get(s)();const r=$i.has(s),c=o.on("change",p=>{this.latestValues[s]=p,this.props.onUpdate&&Nt.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0)}),d=o.on("renderRequest",this.scheduleRender);let u;window.MotionCheckAppearSync&&(u=window.MotionCheckAppearSync(this,s,o)),this.valueSubscriptions.set(s,()=>{c(),d(),u&&u(),o.owner&&o.stop()})}sortNodePosition(s){return!this.current||!this.sortInstanceNodePosition||this.type!==s.type?0:this.sortInstanceNodePosition(this.current,s.current)}updateFeatures(){let s="animation";for(s in zo){const o=zo[s];if(!o)continue;const{isEnabled:r,Feature:c}=o;if(!this.features[s]&&c&&r(this.props)&&(this.features[s]=new c(this)),this.features[s]){const d=this.features[s];d.isMounted?d.update():(d.mount(),d.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Pt()}getStaticValue(s){return this.latestValues[s]}setStaticValue(s,o){this.latestValues[s]=o}update(s,o){(s.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=s,this.prevPresenceContext=this.presenceContext,this.presenceContext=o;for(let r=0;r<t_.length;r++){const c=t_[r];this.propEventSubscriptions[c]&&(this.propEventSubscriptions[c](),delete this.propEventSubscriptions[c]);const d="on"+c,u=s[d];u&&(this.propEventSubscriptions[c]=this.on(c,u))}this.prevMotionValues=M3(this,this.scrapeMotionValuesFromProps(s,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue(),this.onUpdate&&this.onUpdate(this)}getProps(){return this.props}getVariant(s){return this.props.variants?this.props.variants[s]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(s){const o=this.getClosestVariantNode();if(o)return o.variantChildren&&o.variantChildren.add(s),()=>o.variantChildren.delete(s)}addValue(s,o){const r=this.values.get(s);o!==r&&(r&&this.removeValue(s),this.bindToMotionValue(s,o),this.values.set(s,o),this.latestValues[s]=o.get())}removeValue(s){this.values.delete(s);const o=this.valueSubscriptions.get(s);o&&(o(),this.valueSubscriptions.delete(s)),delete this.latestValues[s],this.removeValueFromRenderState(s,this.renderState)}hasValue(s){return this.values.has(s)}getValue(s,o){if(this.props.values&&this.props.values[s])return this.props.values[s];let r=this.values.get(s);return r===void 0&&o!==void 0&&(r=fl(o===null?void 0:o,{owner:this}),this.addValue(s,r)),r}readValue(s,o){var r;let c=this.latestValues[s]!==void 0||!this.current?this.latestValues[s]:(r=this.getBaseTargetFromProps(this.props,s))!==null&&r!==void 0?r:this.readValueFromInstance(this.current,s,this.options);return c!=null&&(typeof c=="string"&&(n1(c)||Zx(c))?c=parseFloat(c):!R3(c)&&ei.test(o)&&(c=Qx(s,o)),this.setBaseTarget(s,vn(c)?c.get():c)),vn(c)?c.get():c}setBaseTarget(s,o){this.baseTarget[s]=o}getBaseTarget(s){var o;const{initial:r}=this.props;let c;if(typeof r=="string"||typeof r=="object"){const u=Fm(this.props,r,(o=this.presenceContext)===null||o===void 0?void 0:o.custom);u&&(c=u[s])}if(r&&c!==void 0)return c;const d=this.getBaseTargetFromProps(this.props,s);return d!==void 0&&!vn(d)?d:this.initialValues[s]!==void 0&&c===void 0?void 0:this.baseTarget[s]}on(s,o){return this.events[s]||(this.events[s]=new sh),this.events[s].add(o)}notify(s,...o){this.events[s]&&this.events[s].notify(...o)}}class z1 extends I3{constructor(){super(...arguments),this.KeyframeResolver=o1}sortInstanceNodePosition(s,o){return s.compareDocumentPosition(o)&2?1:-1}getBaseTargetFromProps(s,o){return s.style?s.style[o]:void 0}removeValueFromRenderState(s,{vars:o,style:r}){delete o[s],delete r[s]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:s}=this.props;vn(s)&&(this.childSubscription=s.on("change",o=>{this.current&&(this.current.textContent=`${o}`)}))}}function O3(t){return window.getComputedStyle(t)}class L3 extends z1{constructor(){super(...arguments),this.type="html",this.renderInstance=wx}readValueFromInstance(s,o){if($i.has(o)){const r=uh(o);return r&&r.default||0}else{const r=O3(s),c=(Sx(o)?r.getPropertyValue(o):r[o])||0;return typeof c=="string"?c.trim():c}}measureInstanceViewportBox(s,{transformPagePoint:o}){return T1(s,o)}build(s,o,r){Ym(s,o,r.transformTemplate)}scrapeMotionValuesFromProps(s,o,r){return Qm(s,o,r)}}class B3 extends z1{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Pt}getBaseTargetFromProps(s,o){return s[o]}readValueFromInstance(s,o){if($i.has(o)){const r=uh(o);return r&&r.default||0}return o=Nx.has(o)?o:Vm(o),s.getAttribute(o)}scrapeMotionValuesFromProps(s,o,r){return Ax(s,o,r)}build(s,o,r){Jm(s,o,this.isSVGTag,r.transformTemplate)}renderInstance(s,o,r,c){Cx(s,o,r,c)}mount(s){this.isSVGTag=Xm(s.tagName),super.mount(s)}}const $3=(t,s)=>qm(t)?new B3(s):new L3(s,{allowProjection:t!==y.Fragment}),z3=uR({...nM,...E3,...f3,...A3},$3),Rt=wD(z3);function H3(){!vh.current&&$1();const[t]=y.useState(xd.current);return t}const P3="_overlay_cmicx_1",U3="_dialog_cmicx_11",V3="_title_cmicx_30",G3="_description_cmicx_38",q3="_actions_cmicx_45",F3="_cancelButton_cmicx_52",Z3="_confirmButton_cmicx_79",wi={overlay:P3,dialog:U3,title:V3,description:G3,actions:q3,cancelButton:F3,confirmButton:Z3};function ks({isOpen:t,title:s,description:o,confirmLabel:r="Delete",onConfirm:c,onCancel:d}){const u=y.useId(),p=y.useId();return a.jsx(rs,{children:t&&a.jsx(Rt.div,{className:wi.overlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onClick:d,onKeyDown:m=>{m.key==="Escape"&&d()},role:"dialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":o?p:void 0,children:a.jsxs(Rt.div,{className:wi.dialog,initial:{opacity:0,scale:.93,y:-10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.93,y:-10},transition:{duration:.15,ease:[.16,1,.3,1]},onClick:m=>m.stopPropagation(),children:[a.jsx("h3",{id:u,className:wi.title,children:s}),o&&a.jsx("p",{id:p,className:wi.description,children:o}),a.jsxs("div",{className:wi.actions,children:[a.jsx("button",{type:"button",className:wi.cancelButton,onClick:d,autoFocus:!0,children:"Cancel"}),a.jsx("button",{type:"button",className:wi.confirmButton,onClick:c,children:r})]})]})})})}const K3="_skeleton_1gqp4_9",Y3="_circular_1gqp4_17",J3="_textContainer_1gqp4_26",W3="_card_1gqp4_31",kd={skeleton:K3,circular:Y3,textContainer:J3,card:W3};function Ne({width:t="100%",height:s="1rem",borderRadius:o,variant:r="rectangular",className:c}){const d=[kd.skeleton,r==="circular"?kd.circular:"",c??""].filter(Boolean).join(" ");return a.jsx("div",{className:d,style:{width:t,height:s,...o&&r!=="circular"?{borderRadius:o}:{}},"aria-hidden":"true","data-testid":"skeleton"})}function bm({lines:t=3,lastLineWidth:s="60%",lineHeight:o="0.75rem",gap:r="var(--space-sm)",className:c}){return a.jsx("div",{className:`${kd.textContainer} ${c??""}`,style:{gap:r},"aria-hidden":"true","data-testid":"skeleton-text",children:Array.from({length:t},(d,u)=>a.jsx(Ne,{width:u===t-1&&t>1?s:"100%",height:o},u))})}function Sd({lines:t=2,className:s}){return a.jsxs("div",{className:`${kd.card} ${s??""}`,"aria-hidden":"true","data-testid":"skeleton-card",children:[a.jsx(Ne,{width:"40%",height:"1.25rem"}),a.jsx(bm,{lines:t})]})}const X3="_spinner_1uyt1_1",Q3="_spin_1uyt1_1",e6="_sm_1uyt1_14",t6="_md_1uyt1_20",n6="_lg_1uyt1_26",s6="_xl_1uyt1_32",n_={spinner:X3,spin:Q3,sm:e6,md:t6,lg:n6,xl:s6};function H1({size:t="md",className:s,label:o="Loading",liveRegion:r=!1}){return a.jsx("span",{className:`${n_.spinner} ${n_[t]} ${s??""}`,role:r?"status":void 0,"aria-label":o,"aria-hidden":r?void 0:!0})}function qd(t){return`/${t.replace(/^\//,"")}`}const a6="_splash_1bn1g_1",i6="_logo_1bn1g_11",s_={splash:a6,logo:i6};function P1(){return a.jsxs("div",{className:s_.splash,"data-testid":"splash-screen",children:[a.jsx("img",{src:qd("grackle-logo.png"),alt:"Grackle",className:s_.logo}),a.jsx(H1,{size:"xl",label:"Loading Grackle",liveRegion:!0})]})}const o6="_wrapper_4e5yt_1",r6="_wrapperBlock_4e5yt_6",l6="_tooltip_4e5yt_11",c6="_visible_4e5yt_31",d6="_top_4e5yt_41",u6="_bottom_4e5yt_48",f6="_left_4e5yt_55",p6="_right_4e5yt_62",Gr={wrapper:o6,wrapperBlock:r6,tooltip:l6,visible:c6,top:d6,bottom:u6,left:f6,right:p6},m6=300,Kc=6;function Ii({text:t,placement:s="top",delayMs:o=m6,inline:r=!0,children:c,className:d,"data-testid":u}){const[p,m]=y.useState(!1),[g,v]=y.useState({top:0,left:0}),_=y.useRef(null),b=y.useRef(null),x=y.useRef(void 0),k=y.useId(),j=typeof document<"u",w=y.useCallback(()=>{if(!_.current||!b.current)return;const H=_.current.getBoundingClientRect(),Y=b.current.getBoundingClientRect();let U=0,X=0;switch(s){case"top":U=H.top-Y.height-Kc,X=H.left+H.width/2-Y.width/2;break;case"bottom":U=H.bottom+Kc,X=H.left+H.width/2-Y.width/2;break;case"left":U=H.top+H.height/2-Y.height/2,X=H.left-Y.width-Kc;break;case"right":U=H.top+H.height/2-Y.height/2,X=H.right+Kc;break}v({top:U,left:X})},[s]),T=y.useCallback(H=>{x.current!==void 0&&clearTimeout(x.current),x.current=setTimeout(()=>{w(),m(!0),x.current=void 0},H)},[w]),C=y.useCallback(()=>{T(o)},[o,T]),A=y.useCallback(()=>{T(0)},[T]),L=y.useCallback(()=>{x.current!==void 0&&(clearTimeout(x.current),x.current=void 0),m(!1)},[]);y.useEffect(()=>{if(!p)return;const H=Y=>{Y.key==="Escape"&&L()};return document.addEventListener("keydown",H),window.addEventListener("scroll",w,!0),window.addEventListener("resize",w),()=>{document.removeEventListener("keydown",H),window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w)}},[p,L,w]),y.useEffect(()=>()=>{x.current!==void 0&&clearTimeout(x.current)},[]);const E=r?"span":"div",O=[r?Gr.wrapper:Gr.wrapperBlock,d].filter(Boolean).join(" ");let z=c;if(y.isValidElement(c)){const H=c,Y=H.props["aria-describedby"],U=p?Y?`${Y} ${k}`:k:Y;z=y.cloneElement(H,{"aria-describedby":U})}const D=a.jsx("div",{ref:b,id:k,role:"tooltip",className:`${Gr.tooltip} ${Gr[s]} ${p?Gr.visible:""}`,style:{top:g.top,left:g.left},"data-testid":u??"tooltip",children:t});return a.jsxs(E,{ref:_,className:O,onMouseEnter:C,onMouseLeave:L,onFocus:A,onBlur:L,children:[z,j?B2.createPortal(D,document.body):null]})}const h6="_attemptSelector_ggigl_1",g6="_attemptLabel_ggigl_17",v6="_attemptButton_ggigl_21",y6="_attemptActive_ggigl_38",b6="_attemptStatus_ggigl_44",qr={attemptSelector:h6,attemptLabel:g6,attemptButton:v6,attemptActive:y6,attemptStatus:b6};function _6({taskSessions:t,selectedSessionId:s,onSelect:o}){if(!(t.length<2))return a.jsxs("div",{className:qr.attemptSelector,"data-testid":"attempt-selector",children:[a.jsx("span",{className:qr.attemptLabel,children:"Attempts:"}),t.map((r,c)=>{const d=r.id===s,u=r.status==="stopped"&&r.endReason==="completed"?"✓":r.status==="stopped"?"✗":r.status==="running"||r.status==="idle"?"●":"";return a.jsxs("button",{className:`${qr.attemptButton} ${d?qr.attemptActive:""}`,onClick:()=>o(r.id),title:`Attempt #${c+1} — ${r.status}`,"aria-label":`Attempt #${c+1}, ${r.status}`,"aria-pressed":d,"data-testid":`attempt-${c+1}`,children:["#",c+1,u&&a.jsx("span",{className:qr.attemptStatus,children:u})]},r.id)})]})}const x6="_row_ldkru_1",k6="_hoverActions_ldkru_5",S6="_hoverButton_ldkru_31",j6="_selectingRow_ldkru_72",T6="_selected_ldkru_83",w6="_checkboxArea_ldkru_90",N6="_checkbox_ldkru_90",C6="_contentArea_ldkru_106",vs={row:x6,hoverActions:k6,hoverButton:S6,selectingRow:j6,selected:T6,checkboxArea:w6,checkbox:N6,contentArea:C6};function E6({copyText:t,isContentBearing:s,isSelecting:o,isSelected:r,checkboxLabel:c,onSelect:d,onToggle:u,onCopied:p,children:m}){const[g,v]=y.useState(!1),_=y.useRef(void 0);y.useEffect(()=>()=>{_.current!==void 0&&clearTimeout(_.current)},[]);const b=y.useCallback(async()=>{try{await navigator.clipboard.writeText(t),v(!0),p==null||p(),_.current!==void 0&&clearTimeout(_.current),_.current=setTimeout(()=>{v(!1)},2e3)}catch{}},[t,p]),x=y.useCallback(k=>{!o||k.target.closest("a, button, input, textarea, select, [role=button]")||(k.preventDefault(),u(k.shiftKey))},[o,u]);return s?o?a.jsxs("div",{className:`${vs.row} ${vs.selectingRow} ${r?vs.selected:""}`,onClick:x,"data-testid":"event-selectable-row",children:[a.jsx("div",{className:vs.checkboxArea,children:a.jsx("input",{type:"checkbox",checked:r,onChange:k=>{u(k.nativeEvent.shiftKey)},onClick:k=>{k.stopPropagation()},className:vs.checkbox,"aria-label":c??"Select this event","data-testid":"event-select-checkbox"})}),a.jsx("div",{className:vs.contentArea,children:m})]}):a.jsxs("div",{className:vs.row,"data-testid":"event-hover-row",children:[a.jsxs("div",{className:vs.hoverActions,"data-testid":"event-hover-actions",children:[a.jsx("button",{type:"button",className:vs.hoverButton,onClick:()=>{b().catch(()=>{})},"aria-label":"Copy event content","data-testid":"event-hover-copy",children:g?a.jsx(Oi,{size:it,"aria-hidden":"true"}):a.jsx($_,{size:it,"aria-hidden":"true"})}),a.jsx("button",{type:"button",className:vs.hoverButton,onClick:d,"aria-label":"Select this event","data-testid":"event-hover-select",children:a.jsx(BT,{size:it,"aria-hidden":"true"})})]}),m]}):a.jsx("div",{className:vs.row,children:m})}const A6="_bar_lagql_1",D6="_left_lagql_21",R6="_right_lagql_27",M6="_count_lagql_33",I6="_toggleButton_lagql_40",O6="_copyButton_lagql_68",L6="_forwardButton_lagql_108",B6="_cancelButton_lagql_148",Va={bar:A6,left:D6,right:R6,count:M6,toggleButton:I6,copyButton:O6,forwardButton:L6,cancelButton:B6};function $6({selectedCount:t,totalSelectable:s,onSelectAll:o,onDeselectAll:r,onCopy:c,onForward:d,forwardDisabled:u=!1,onCancel:p}){const m=t>0&&t>=s;return a.jsxs(Rt.div,{className:Va.bar,initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},transition:{duration:.15},"data-testid":"floating-action-bar",children:[a.jsxs("div",{className:Va.left,children:[a.jsxs("span",{className:Va.count,"data-testid":"floating-bar-count",children:[t," selected"]}),a.jsx("button",{type:"button",className:Va.toggleButton,onClick:m?r:o,"data-testid":"floating-bar-select-all",children:m?"Deselect all":"Select all"})]}),a.jsxs("div",{className:Va.right,children:[a.jsxs("button",{type:"button",className:Va.copyButton,onClick:c,disabled:t===0,"data-testid":"floating-bar-copy",children:[a.jsx(Fj,{size:it,"aria-hidden":"true"}),"Copy"]}),d!==void 0&&a.jsx(Ii,{text:u?"No active sessions to forward to":"Forward to another session",children:a.jsxs("button",{type:"button",className:Va.forwardButton,"aria-disabled":u||t===0,onClick:()=>{!u&&t>0&&d()},"data-testid":"floating-bar-forward",children:[a.jsx(eT,{size:it,"aria-hidden":"true"}),"Forward"]})}),a.jsx("button",{type:"button",className:Va.cancelButton,onClick:p,"aria-label":"Cancel selection","data-testid":"floating-bar-cancel",children:a.jsx($s,{size:it,"aria-hidden":"true"})})]})]})}const z6="_overlay_1hra6_1",H6="_dialog_1hra6_11",P6="_header_1hra6_27",U6="_title_1hra6_35",V6="_closeButton_1hra6_42",G6="_filterRow_1hra6_78",q6="_searchIcon_1hra6_86",F6="_filterInput_1hra6_91",Z6="_list_1hra6_108",K6="_emptyItem_1hra6_116",Y6="_sessionRow_1hra6_123",J6="_sessionMain_1hra6_158",W6="_envName_1hra6_165",X6="_personaName_1hra6_175",Q6="_statusBadge_1hra6_189",e5="_status_running_1hra6_198",t5="_status_idle_1hra6_202",n5="_status_other_1hra6_206",s5="_sessionPrompt_1hra6_211",a5="_noSessions_1hra6_220",Xt={overlay:z6,dialog:H6,header:P6,title:U6,closeButton:V6,filterRow:G6,searchIcon:q6,filterInput:F6,list:Z6,emptyItem:K6,sessionRow:Y6,sessionMain:J6,envName:W6,personaName:X6,statusBadge:Q6,status_running:e5,status_idle:t5,status_other:n5,sessionPrompt:s5,noSessions:a5};function i5(t){return t==="running"?"running":t==="idle"?"idle":t}function o5({isOpen:t,sessions:s,environments:o,personas:r,onSelect:c,onCancel:d}){const[u,p]=y.useState(""),m=y.useRef(null),g=y.useRef(null);y.useEffect(()=>{var j;t&&s.length<=4&&((j=g.current)==null||j.focus())},[t,s.length]);const v=new Map(o.map(j=>[j.id,j.displayName])),_=new Map((r??[]).map(j=>[j.id,j.name])),b=s.map(j=>({session:j,environmentName:v.get(j.environmentId)??j.environmentId})),x=s.length>4,k=u.trim()?b.filter(({session:j,environmentName:w})=>w.toLowerCase().includes(u.toLowerCase())||j.prompt.toLowerCase().includes(u.toLowerCase())):b;return a.jsx(rs,{children:t&&a.jsx(Rt.div,{className:Xt.overlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onClick:d,onKeyDown:j=>{j.key==="Escape"&&d()},role:"dialog","aria-modal":"true","aria-label":"Forward to session","data-testid":"session-picker-overlay",children:a.jsxs(Rt.div,{ref:m,className:Xt.dialog,initial:{opacity:0,scale:.93,y:-10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.93,y:-10},transition:{duration:.15,ease:[.16,1,.3,1]},onClick:j=>{j.stopPropagation()},"data-testid":"session-picker-dialog",children:[a.jsxs("div",{className:Xt.header,children:[a.jsx("h3",{className:Xt.title,children:"Forward to session"}),a.jsx("button",{ref:g,type:"button",className:Xt.closeButton,onClick:d,"aria-label":"Close session picker","data-testid":"session-picker-close",children:a.jsx($s,{size:it,"aria-hidden":"true"})})]}),x&&a.jsxs("div",{className:Xt.filterRow,children:[a.jsx(fd,{size:it,className:Xt.searchIcon,"aria-hidden":"true"}),a.jsx("input",{type:"text",className:Xt.filterInput,placeholder:"Filter sessions...",value:u,onChange:j=>{p(j.target.value)},"data-testid":"session-picker-filter",autoFocus:!0})]}),s.length===0?a.jsxs("div",{className:Xt.noSessions,"data-testid":"session-picker-no-sessions",children:[a.jsx(fd,{size:Gt,"aria-hidden":"true"}),a.jsx("p",{children:"No active sessions to forward to."})]}):a.jsx("ul",{className:Xt.list,"data-testid":"session-picker-list",children:k.length===0?a.jsx("li",{className:Xt.emptyItem,"data-testid":"session-picker-empty",children:"No matching sessions"}):k.map(({session:j,environmentName:w})=>{const T=j.personaId?_.get(j.personaId)??void 0:void 0;return a.jsx("li",{children:a.jsxs("button",{type:"button",className:Xt.sessionRow,onClick:()=>{c(j.id)},"data-testid":`session-picker-item-${j.id}`,children:[a.jsxs("div",{className:Xt.sessionMain,children:[a.jsx("span",{className:Xt.envName,children:w}),T!==void 0&&a.jsx("span",{className:Xt.personaName,"data-testid":`session-picker-persona-${j.id}`,children:T}),a.jsx("span",{className:`${Xt.statusBadge} ${Xt[`status_${j.status}`]??Xt.status_other}`,"data-testid":`session-picker-status-${j.id}`,children:i5(j.status)})]}),a.jsx("div",{className:Xt.sessionPrompt,children:j.prompt.length>80?`${j.prompt.slice(0,80)}...`:j.prompt})]})},j.id)})})]})})})}const U1=50;function r5(t,s,o,r,c=U1){return r?t<c:s-t-o<c}function l5(t,s){const o=s-t;return o>0?o:0}function c5({scrollRef:t,contentLength:s,isReversed:o,paused:r}){const[c,d]=y.useState(!0),u=y.useRef(0),p=y.useRef(!1),m=y.useRef(0);y.useEffect(()=>{const v=t.current;if(!v)return;let _=!0;const b=()=>{m.current||(m.current=requestAnimationFrame(()=>{m.current=0;const x=r5(v.scrollTop,v.scrollHeight,v.clientHeight,o,U1);x!==_&&(_=x,d(x))}))};return v.addEventListener("scroll",b,{passive:!0}),()=>{v.removeEventListener("scroll",b),m.current&&(cancelAnimationFrame(m.current),m.current=0)}},[t,o]),y.useLayoutEffect(()=>{const v=t.current;!v||p.current||(p.current=!0,o?v.scrollTop=0:v.scrollTop=v.scrollHeight,d(!0))},[t,o]),y.useLayoutEffect(()=>{const v=t.current;if(v){if(r){u.current=v.scrollHeight;return}if(o&&!c){const _=l5(u.current,v.scrollHeight);_>0&&(v.scrollTop+=_)}c&&(o?v.scrollTo({top:0,behavior:"smooth"}):v.scrollTo({top:v.scrollHeight,behavior:"smooth"})),u.current=v.scrollHeight}},[s,c,o,r,t]);const g=y.useCallback(()=>{const v=t.current;if(!v)return;const _=o?0:v.scrollHeight;v.scrollTo({top:_,behavior:"smooth"}),d(!0)},[t,o]);return{isAtAnchor:c,scrollToAnchor:g}}const d5=new Set(["text","output","user_input","tool_use","tool_result","error"]);function hl(t){return d5.has(t.eventType)}function u5(t){var s;switch(t.eventType){case"tool_result":{if((s=t.toolUseCtx)!=null&&s.detailedResult)return t.toolUseCtx.detailedResult;let o=t.content;if(t.content.trimStart().startsWith("{"))try{const r=JSON.parse(t.content);typeof r.content=="string"&&(o=r.content)}catch{}return o}case"tool_use":try{const o=JSON.parse(t.content),r=o.tool??"tool",c=o.args!==void 0?JSON.stringify(o.args,void 0,2):"";return`${r}
299
+ ${c}`}catch{return t.content}default:return t.content}}function a_(t){if(t==null)return"";if(typeof t!="object")return String(t);const s=t;return typeof s.command=="string"?`\`${s.command}\``:typeof s.file_path=="string"||typeof s.filePath=="string"?`\`${s.file_path??s.filePath}\``:typeof s.path=="string"?`\`${s.path}\``:typeof s.query=="string"?`\`${s.query}\``:typeof s.pattern=="string"?`\`${s.pattern}\``:""}function V1(t){var o;const s=[];for(const r of t){if(!hl(r))continue;const c=new Date(r.timestamp).toLocaleTimeString();switch(r.eventType){case"text":case"output":{s.push(`**Assistant** (${c}):
300
300
  ${r.content}`);break}case"user_input":{s.push(`**User** (${c}):
301
301
  ${r.content}`);break}case"tool_result":{let d=((o=r.toolUseCtx)==null?void 0:o.detailedResult)??void 0;if(!d&&(d=r.content,r.content.trimStart().startsWith("{")))try{const u=JSON.parse(r.content);typeof u.content=="string"&&(d=u.content)}catch{}if(r.toolUseCtx){const u=a_(r.toolUseCtx.args),p=u?`**Tool: ${r.toolUseCtx.tool}** ${u}`:`**Tool: ${r.toolUseCtx.tool}**`;s.push(`${p} (${c}):
302
302
  ${d}`)}else s.push(`**Tool output** (${c}):
@@ -306,11 +306,11 @@ ${JSON.stringify(u,void 0,2)}
306
306
  \`\`\``):s.push(`${m} (${c}):`);break}case"error":{s.push(`**Error** (${c}):
307
307
  ${r.content}`);break}}}return s.join(`
308
308
 
309
- `)}function u5(t,s){const o=f5(t),r=U1(s);return`--- Forwarded from ${o} ---
309
+ `)}function f5(t,s){const o=p5(t),r=V1(s);return`--- Forwarded from ${o} ---
310
310
 
311
311
  ${r}
312
312
 
313
- --- End forwarded ---`}function f5(t){return t.replace(/[\r\n]+/g," ").trim().replace(/---/g,"—")}function p5({events:t,formatForClipboard:s}){const[o,r]=y.useState(!1),[c,d]=y.useState(new Set),u=y.useRef(void 0),p=y.useMemo(()=>c.size,[c]),m=y.useCallback(k=>{r(!0),k!==void 0?(d(new Set([k])),u.current=k):(d(new Set),u.current=void 0)},[]),g=y.useCallback(()=>{r(!1),d(new Set),u.current=void 0},[]),v=y.useCallback((k,j)=>{if(j&&u.current!==void 0){const w=Math.min(u.current,k),T=Math.max(u.current,k);d(C=>{const A=new Set(C);for(let L=w;L<=T;L++)L<t.length&&hl(t[L])&&A.add(L);return A})}else d(w=>{const T=new Set(w);return T.has(k)?T.delete(k):T.add(k),T.size===0?(r(!1),u.current=void 0):u.current=k,T})},[t]),_=y.useCallback(()=>{const k=new Set;for(let j=0;j<t.length;j++)hl(t[j])&&k.add(j);d(k)},[t]),b=y.useCallback(()=>{d(new Set)},[]),x=y.useCallback(async()=>{const j=[...c].sort((T,C)=>T-C).filter(T=>T<t.length).map(T=>t[T]);if(j.length===0)return!1;const w=s(j);try{return await navigator.clipboard.writeText(w),!0}catch{return!1}},[c,t,s]);return{isSelecting:o,selectedIndices:c,selectedCount:p,enterSelectionMode:m,cancelSelection:g,toggleEvent:v,selectAll:_,deselectAll:b,copySelected:x}}const m5="_wrapper_1cdza_1",h5="_scrollContainer_1cdza_9",g5="_selectingPadding_1cdza_16",v5="_toolbar_1cdza_20",y5="_directionToggle_1cdza_27",b5="_scrollToAnchor_1cdza_65",_5="_scrollToAnchorBottom_1cdza_89",x5="_scrollToAnchorTop_1cdza_93",k5="_eventOverflowWarning_1cdza_97",oa={wrapper:m5,scrollContainer:h5,selectingPadding:g5,toolbar:v5,directionToggle:y5,scrollToAnchor:b5,scrollToAnchorBottom:_5,scrollToAnchorTop:x5,eventOverflowWarning:k5},S5=10*1024,j5=new Set(["running","idle"]);function T5(t){const s=new Date(t.timestamp).toLocaleTimeString();switch(t.eventType){case"text":case"output":return`Select message from assistant at ${s}`;case"user_input":return`Select message from user at ${s}`;case"tool_result":case"tool_use":return`Select tool event at ${s}`;case"error":return`Select error at ${s}`;default:return`Select event at ${s}`}}const V1="grackle-stream-direction";function w5(){try{return localStorage.getItem(V1)==="reversed"}catch{return!1}}function N5({eventsDropped:t}){return t<=0?a.jsx(a.Fragment,{}):a.jsxs("div",{className:oa.eventOverflowWarning,role:"alert",children:[a.jsx(Cm,{size:Gt,"aria-hidden":"true"})," ",t.toLocaleString()," older event",t===1?"":"s"," were dropped — only the most recent 5,000 are shown. Full history is available in the session log."]})}function al({events:t,eventsDropped:s,emptyState:o,onShowToast:r,sessions:c,currentSessionId:d,environments:u,personas:p,onForward:m}){const g=y.useRef(null),[v,_]=y.useState(w5),b=z3(),[x,k]=y.useState(!1),[j,w]=y.useState(!1),[T,C]=y.useState(void 0),A=p5({events:t,formatForClipboard:U1}),L=y.useMemo(()=>t.filter(hl).length,[t]),E=y.useMemo(()=>c?c.filter(G=>j5.has(G.status)&&G.id!==d):[],[c,d]),O=y.useMemo(()=>v?[...t].reverse():t,[t,v]),{isAtAnchor:z,scrollToAnchor:D}=l5({scrollRef:g,contentLength:t.length,isReversed:v,paused:A.isSelecting}),H=()=>{const G=!v;_(G);try{localStorage.setItem(V1,G?"reversed":"default")}catch{}};y.useEffect(()=>{if(!A.isSelecting)return;const G=pe=>{pe.key==="Escape"&&!x&&!j&&A.cancelSelection()};return window.addEventListener("keydown",G),()=>{window.removeEventListener("keydown",G)}},[A.isSelecting,A.cancelSelection,x,j]);const Y=y.useCallback(async()=>{await A.copySelected()&&(r==null||r(`Copied ${A.selectedCount} message${A.selectedCount===1?"":"s"} to clipboard`,"success"))},[A,r]),U=y.useCallback(()=>[...A.selectedIndices].sort((pe,de)=>pe-de).filter(pe=>pe<t.length).map(pe=>t[pe]),[A.selectedIndices,t]),X=y.useCallback(G=>{if(!G)return"this session";const pe=c==null?void 0:c.find(xe=>xe.id===G);if(!pe)return G.slice(0,8);const de=u==null?void 0:u.find(xe=>xe.id===pe.environmentId);return(de==null?void 0:de.displayName)??pe.environmentId.slice(0,8)},[c,u]),ge=y.useCallback(async(G,pe)=>{if(!m)return;const de=X(G);try{await m(G,pe);const xe=A.selectedCount;r==null||r(`Forwarded ${xe} message${xe===1?"":"s"} to ${de}`,"success"),A.cancelSelection()}catch{r==null||r("Failed to forward messages","error")}},[m,X,r,A]),W=y.useCallback(G=>{k(!1);const pe=U(),de=X(d),xe=u5(de,pe);if(new TextEncoder().encode(xe).length>S5){C({sessionId:G,text:xe}),w(!0);return}ge(G,xe).catch(()=>{})},[U,X,d,ge]),le=y.useCallback(()=>{w(!1),T&&(ge(T.sessionId,T.text).catch(()=>{}),C(void 0))},[T,ge]),B=y.useCallback(()=>{w(!1),C(void 0)},[]),R=b?0:.2,se=v?-8:8,oe=T?Math.round(new TextEncoder().encode(T.text).length/1024):0;return a.jsxs("div",{className:oa.wrapper,children:[a.jsx("div",{className:oa.toolbar,children:a.jsx(Oi,{text:v?"Showing newest first":"Showing oldest first",children:a.jsx("button",{className:oa.directionToggle,onClick:H,"aria-label":v?"Switch to newest at bottom":"Switch to newest at top","data-testid":"direction-toggle",children:v?a.jsx(Ty,{size:Gt,"aria-hidden":"true"}):a.jsx(wy,{size:Gt,"aria-hidden":"true"})})})}),a.jsxs("div",{ref:g,className:`${oa.scrollContainer} ${A.isSelecting?oa.selectingPadding:""}`,"data-testid":"event-stream-scroll",children:[t.length===0&&o,a.jsx(N5,{eventsDropped:s}),a.jsx(rs,{initial:!1,children:O.map((G,pe)=>{const de=v?t.length-1-pe:pe;return a.jsx(Rt.div,{initial:{opacity:0,y:se},animate:{opacity:1,y:0},transition:{duration:R,ease:"easeOut"},children:a.jsx(C6,{copyText:d5(G),isContentBearing:hl(G),isSelecting:A.isSelecting,isSelected:A.selectedIndices.has(de),checkboxLabel:T5(G),onSelect:()=>{A.enterSelectionMode(de)},onToggle:xe=>{A.toggleEvent(de,xe)},onCopied:()=>{r==null||r("Copied to clipboard","success")},children:a.jsx(pD,{event:G,toolUseCtx:G.toolUseCtx,settled:G.settled})})},`${G.sessionId}-${G.timestamp}-${de}`)})})]}),a.jsx(rs,{children:A.isSelecting&&a.jsx(B6,{selectedCount:A.selectedCount,totalSelectable:L,onSelectAll:A.selectAll,onDeselectAll:A.deselectAll,onCopy:()=>{Y().catch(()=>{})},onForward:m!==void 0?()=>{k(!0)}:void 0,forwardDisabled:E.length===0,onCancel:A.cancelSelection})}),a.jsx(i5,{isOpen:x,sessions:E,environments:u??[],personas:p,onSelect:W,onCancel:()=>{k(!1)}}),a.jsx(ks,{isOpen:j,title:"Send large message?",description:`This will forward a large message (${oe} KB). Continue?`,confirmLabel:"Send",onConfirm:le,onCancel:B}),a.jsx(rs,{children:!z&&a.jsxs(Rt.button,{className:`${oa.scrollToAnchor} ${v?oa.scrollToAnchorTop:oa.scrollToAnchorBottom}`,onClick:D,initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15},"aria-label":"Scroll to latest","data-testid":"scroll-to-anchor",children:[v?a.jsx(wy,{size:Gt,"aria-hidden":"true"}):a.jsx(Ty,{size:Gt,"aria-hidden":"true"})," New events"]})})]})}function yh(t){const{value:s,onSave:o,validate:r,fieldId:c,activeFieldId:d,onActivate:u,enterToSave:p=!0,trimOnSave:m=!0}=t,[g,v]=y.useState(""),[_,b]=y.useState(""),x=y.useRef(!1),k=d===c,j=y.useCallback(z=>{v(z),b("")},[]),w=y.useCallback(()=>{b("")},[]),T=y.useCallback(()=>{x.current=!1,u==null||u(null),v(""),b("")},[u]),C=y.useCallback(()=>{const z=m?g.trim():g;if(r){const H=r(g);if(H){b(H);return}}const D=m?s.trim():s;if(z===D){T();return}o(z),T()},[g,s,m,r,o,T]),A=y.useCallback(()=>{x.current=!0,u==null||u(c),v(s),b("")},[c,s,u]),L=y.useCallback(z=>{if(x.current){x.current=!1;return}z.relatedTarget instanceof HTMLElement&&z.relatedTarget.dataset.editAction===c||C()},[c,C]),E=y.useCallback(z=>{z.key==="Escape"?T():z.key==="Enter"&&p&&C()},[T,p,C]),O=(()=>{if(!k)return!1;const z=m?s.trim():s;return(m?g.trim():g)!==z})();return y.useEffect(()=>{!k&&(g!==""||_!=="")&&(v(""),b(""))},[k,g,_]),{isEditing:k,draft:g,error:_,isDirty:O,startEdit:A,cancelEdit:T,save:C,setDraft:j,clearError:w,handleBlur:L,handleKeyDown:E,ignoreInitialBlurRef:x}}const C5="_editFieldWrapper_yuzty_1",E5="_editInput_yuzty_10",A5="_editTextarea_yuzty_42",D5="_editSelect_yuzty_78",R5="_editError_yuzty_111",M5="_editInputInvalid_yuzty_118",I5="_editHint_yuzty_123",O5="_unsavedDot_yuzty_132",L5="_metaValueClickable_yuzty_140",B5="_editButton_yuzty_159",$5="_metaPlaceholder_yuzty_175",z5="_worktreeToggle_yuzty_180",at={editFieldWrapper:C5,editInput:E5,editTextarea:A5,editSelect:D5,editError:R5,editInputInvalid:M5,editHint:I5,unsavedDot:O5,metaValueClickable:L5,editButton:B5,metaPlaceholder:$5,worktreeToggle:z5};function Ut(t){const{value:s,onSave:o,validate:r,mode:c="edit",fieldId:d="text",activeFieldId:u,onActivate:p,onChange:m,renderDisplay:g,placeholder:v,maxLength:_,ariaLabel:b,"data-testid":x}=t,k=y.useRef(null),j=yh({value:s,onSave:o,validate:r,fieldId:d,activeFieldId:u,onActivate:p,enterToSave:!0,trimOnSave:!0});if(y.useEffect(()=>{if(j.isEditing){const T=window.setTimeout(()=>{var C;(C=k.current)==null||C.focus()},0);return()=>window.clearTimeout(T)}},[j.isEditing]),c==="create"){const T=A=>{m==null||m(A.target.value)},C=r==null?void 0:r(s);return a.jsxs("div",{className:at.editFieldWrapper,children:[a.jsx("input",{className:`${at.editInput} ${C?at.editInputInvalid:""}`,value:s,onChange:T,maxLength:_,placeholder:v,"aria-label":b,"data-testid":x?`${x}-input`:void 0}),C&&a.jsx("span",{className:at.editError,"data-testid":"edit-error",children:C})]})}if(j.isEditing)return a.jsxs("div",{className:at.editFieldWrapper,children:[a.jsx("input",{ref:k,className:`${at.editInput} ${j.error?at.editInputInvalid:""}`,value:j.draft,onChange:T=>j.setDraft(T.target.value),onBlur:j.handleBlur,onKeyDown:j.handleKeyDown,maxLength:_,placeholder:v,"aria-label":b,"data-testid":x?`${x}-input`:void 0}),j.isDirty&&a.jsx("span",{className:at.unsavedDot,title:"Unsaved changes"}),j.error&&a.jsx("span",{className:at.editError,"data-testid":"edit-error",children:j.error}),a.jsx("span",{className:at.editHint,children:"Enter to save · Esc to cancel"})]});const w=g==null?void 0:g(s);return a.jsxs("span",{role:"button",tabIndex:0,className:at.metaValueClickable,onClick:()=>j.startEdit(),onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),j.startEdit())},title:"Click to edit","aria-label":b,"data-testid":x?`${x}-button`:void 0,children:[w!==void 0?w:s?a.jsx("span",{children:s}):a.jsx("span",{className:at.metaPlaceholder,children:v||"None"}),a.jsx("span",{className:at.editButton,"aria-hidden":"true",children:"✏️"})]})}function _m(t){const{value:s,onSave:o,validate:r,mode:c="edit",fieldId:d="textarea",activeFieldId:u,onActivate:p,onChange:m,renderDisplay:g,placeholder:v,ariaLabel:_,"data-testid":b}=t,x=y.useRef(null),k=yh({value:s,onSave:o,validate:r,fieldId:d,activeFieldId:u,onActivate:p,enterToSave:!1,trimOnSave:!1});if(y.useEffect(()=>{if(k.isEditing){const w=window.setTimeout(()=>{var T;(T=x.current)==null||T.focus()},0);return()=>window.clearTimeout(w)}},[k.isEditing]),c==="create"){const w=C=>{m==null||m(C.target.value)},T=r==null?void 0:r(s);return a.jsxs("div",{className:at.editFieldWrapper,children:[a.jsx("textarea",{className:`${at.editTextarea} ${T?at.editInputInvalid:""}`,value:s,onChange:w,placeholder:v,"aria-label":_,"data-testid":b?`${b}-input`:void 0}),T&&a.jsx("span",{className:at.editError,"data-testid":"edit-error",children:T})]})}if(k.isEditing)return a.jsxs("div",{className:at.editFieldWrapper,children:[a.jsx("textarea",{ref:x,className:`${at.editTextarea} ${k.error?at.editInputInvalid:""}`,value:k.draft,onChange:w=>k.setDraft(w.target.value),onBlur:k.handleBlur,onKeyDown:k.handleKeyDown,title:_,"aria-label":_,"data-testid":b?`${b}-input`:void 0}),k.isDirty&&a.jsx("span",{className:at.unsavedDot,title:"Unsaved changes"}),k.error&&a.jsx("span",{className:at.editError,"data-testid":"edit-error",children:k.error}),a.jsx("span",{className:at.editHint,children:"Tab to save · Esc to cancel"})]});const j=g==null?void 0:g(s);return a.jsxs("span",{role:"button",tabIndex:0,className:at.metaValueClickable,onClick:()=>k.startEdit(),onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),k.startEdit())},title:"Click to edit","aria-label":_,"data-testid":b?`${b}-button`:void 0,children:[j!==void 0?j:s?a.jsx("span",{children:s}):a.jsx("span",{className:at.metaPlaceholder,children:v||"None"}),a.jsx("span",{className:at.editButton,"aria-hidden":"true",children:"✏️"})]})}function jd(t){var A;const{value:s,onSave:o,mode:r="edit",options:c,fieldId:d="select",activeFieldId:u,onActivate:p,onChange:m,renderDisplay:g,placeholder:v,ariaLabel:_,"data-testid":b}=t,x=y.useRef(null),k=yh({value:s,onSave:o,fieldId:d,activeFieldId:u,onActivate:p,enterToSave:!1,trimOnSave:!1});y.useEffect(()=>{if(k.isEditing){const L=window.setTimeout(()=>{var E;(E=x.current)==null||E.focus()},0);return()=>window.clearTimeout(L)}},[k.isEditing]);const j=y.useCallback(L=>{const E=L.target.value;k.ignoreInitialBlurRef.current=!1,E!==s&&o(E),k.cancelEdit()},[s,o,k]),w=y.useCallback(L=>{if(k.ignoreInitialBlurRef.current){k.ignoreInitialBlurRef.current=!1;return}L.relatedTarget instanceof HTMLElement&&L.relatedTarget.dataset.editAction===d||k.cancelEdit()},[d,k]);if(r==="create")return a.jsx("select",{className:at.editSelect,value:s,onChange:L=>m==null?void 0:m(L.target.value),"aria-label":_,"data-testid":b?`${b}-select`:void 0,children:c.map(L=>a.jsx("option",{value:L.value,children:L.label},L.value))});if(k.isEditing)return a.jsx("select",{ref:x,className:at.editSelect,value:k.draft,onChange:j,onBlur:w,title:_,"aria-label":_,"data-testid":b?`${b}-select`:void 0,children:c.map(L=>a.jsx("option",{value:L.value,children:L.label},L.value))});const T=g==null?void 0:g(s),C=(A=c.find(L=>L.value===s))==null?void 0:A.label;return a.jsxs("button",{type:"button",className:at.metaValueClickable,onClick:()=>k.startEdit(),title:"Click to change","aria-label":_,"data-testid":b?`${b}-button`:void 0,children:[T!==void 0?T:C?a.jsx("span",{children:C}):a.jsx("span",{className:at.metaPlaceholder,children:v||"None"}),a.jsx("span",{className:at.editButton,"aria-hidden":"true",children:"✏️"})]})}function H5(t){const{checked:s,onChange:o,label:r,ariaLabel:c,"data-testid":d}=t;return a.jsxs("label",{className:at.worktreeToggle,"data-testid":d,children:[a.jsx("input",{type:"checkbox",checked:s,onChange:u=>o(u.target.checked),"aria-label":c}),a.jsx("span",{children:r})]})}const P5="_nav_1snmp_1",U5="_searchForm_1snmp_8",V5="_searchInput_1snmp_15",G5="_searchButton_1snmp_33",q5="_clearButton_1snmp_68",F5="_workspaceSelect_1snmp_85",Z5="_listHeader_1snmp_99",K5="_nodeList_1snmp_108",Y5="_nodeItem_1snmp_116",J5="_indicator_1snmp_129",W5="_label_1snmp_136",X5="_badge_1snmp_145",ns={nav:P5,searchForm:U5,searchInput:V5,searchButton:G5,clearButton:q5,workspaceSelect:F5,listHeader:Z5,nodeList:K5,nodeItem:Y5,indicator:J5,label:W5,badge:X5};function Q5({nodes:t,workspaces:s,loading:o,searchQuery:r,onSearch:c,onClearSearch:d,onSelectNode:u,onWorkspaceChange:p}){const[m,g]=y.useState(""),v=y.useCallback(k=>{k.preventDefault(),m.trim()&&c(m.trim())},[m,c]),_=y.useCallback(()=>{g(""),d()},[d]),b=y.useCallback(k=>{u(k)},[u]),x=y.useCallback(k=>{g(""),p(k)},[p]);return a.jsxs("div",{className:ns.nav,"data-testid":"knowledge-nav",children:[a.jsxs("form",{className:ns.searchForm,onSubmit:v,children:[a.jsx("input",{className:ns.searchInput,type:"text",placeholder:"Search...",value:m,onChange:k=>{g(k.target.value)},"data-testid":"knowledge-search-input","aria-label":"Search knowledge nodes"}),a.jsx("button",{type:"submit",className:ns.searchButton,disabled:o,children:"Go"})]}),r&&a.jsx("button",{type:"button",className:ns.clearButton,onClick:_,children:"Clear search"}),a.jsxs("select",{className:ns.workspaceSelect,onChange:k=>{x(k.target.value)},"data-testid":"knowledge-workspace-filter","aria-label":"Filter by workspace",children:[a.jsx("option",{value:"",children:"All workspaces"}),s.map(k=>a.jsx("option",{value:k.id,children:k.name},k.id))]}),a.jsxs("div",{className:ns.listHeader,children:["Nodes (",t.length,")"]}),a.jsx("ul",{className:ns.nodeList,children:t.map(k=>a.jsxs("li",{className:ns.nodeItem,onClick:()=>{b(k.id)},onKeyDown:j=>{(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),b(k.id))},role:"button",tabIndex:0,children:[a.jsx("span",{className:ns.indicator,style:{backgroundColor:k.kind==="reference"?"#4A9EFF":k.category==="decision"?"#22C55E":k.category==="concept"?"#A855F7":k.category==="snippet"?"#6B7280":"#EAB308"}}),a.jsx("span",{className:ns.label,children:k.label}),a.jsx("span",{className:ns.badge,children:k.kind==="reference"?k.sourceType:k.category})]},k.id))})]})}const eI="_container_bwu10_1",tI="_hamburger_bwu10_33",nI="_brand_bwu10_49",sI="_brandLogo_bwu10_68",aI="_info_bwu10_75",iI="_connectionLabel_bwu10_90",oI="_connectionDot_bwu10_103",rI="_connected_bwu10_106",lI="_disconnected_bwu10_110",cI="_connecting_bwu10_113",Ms={container:eI,hamburger:tI,brand:nI,brandLogo:sI,info:aI,connectionLabel:iI,connectionDot:oI,connected:rI,disconnected:lI,connecting:cI},dI={connected:"Connected",connecting:"Connecting...",disconnected:"Disconnected"},uI={connected:Ms.connected,connecting:Ms.connecting,disconnected:Ms.disconnected};function fI({connectionStatus:t,environments:s,sessions:o,onToggleSidebar:r,sidebarOpen:c}){const d=dt(),u=s.length,p=s.filter(v=>v.status==="connected").length,m=o.filter(v=>["running","idle"].includes(v.status)).length,g=dI[t];return a.jsxs("div",{className:Ms.container,children:[r&&a.jsx("button",{type:"button",className:Ms.hamburger,onClick:r,"aria-label":"Toggle sidebar","aria-expanded":c,children:a.jsx(gT,{size:Dt,"aria-hidden":"true"})}),a.jsx(Oi,{text:"Home",placement:"bottom",children:a.jsxs("button",{type:"button",className:Ms.brand,onClick:()=>d(Ii),"data-testid":"statusbar-brand",children:[a.jsx("img",{src:qd("icon-192x192.png"),alt:"",className:Ms.brandLogo,"aria-hidden":"true","data-testid":"statusbar-logo"}),"Grackle"]})}),a.jsxs("div",{className:Ms.info,children:[a.jsxs("span",{"aria-label":g,children:[a.jsx("span",{className:`${Ms.connectionDot} ${uI[t]}`,"aria-hidden":"true",children:a.jsx(Ja,{size:Em,fill:"currentColor"})})," ",a.jsx("span",{className:Ms.connectionLabel,"aria-hidden":"true",children:g})]}),a.jsxs("span",{children:[p,"/",u," env",u!==1?"s":""]}),a.jsxs("span",{children:[m," active"]})]})]})}const pI="_nav_gx5h3_1",mI="_tab_gx5h3_35",hI="_tabIcon_gx5h3_68",gI="_tabLabel_gx5h3_79",vI="_tabActive_gx5h3_84",yI="_tabEnd_gx5h3_90",Ao={nav:pI,tab:mI,tabIcon:hI,tabLabel:gI,tabActive:vI,tabEnd:yI},ld=[{view:"dashboard",label:"Dashboard",icon:a.jsx(sT,{size:Dt}),route:Ii,testId:"sidebar-tab-dashboard",order:0},{view:"tasks",label:"Tasks",icon:a.jsx(Hj,{size:Dt}),route:YN,testId:"sidebar-tab-tasks",order:1},{view:"environments",label:"Environments",icon:a.jsx(bT,{size:Dt}),route:$o,testId:"sidebar-tab-environments",order:2},{view:"chat",label:"Sessions",icon:a.jsx($_,{size:Dt}),route:cl,testId:"sidebar-tab-chat",order:3},{view:"findings",label:"Findings",icon:a.jsx(fd,{size:Dt}),route:$d,testId:"sidebar-tab-findings",order:4},{view:"knowledge",label:"Knowledge",icon:a.jsx(Rj,{size:Dt}),route:rx,testId:"sidebar-tab-knowledge",order:5},{view:"settings",label:"Settings",icon:a.jsx(IT,{size:Dt}),route:VN,testId:"sidebar-tab-settings",align:"end"}];function bI(t){return t===Ii||t==="/"?"dashboard":t.startsWith("/chat")||t.startsWith("/sessions")?"chat":t.startsWith("/workspaces")||t.startsWith("/environments")?"environments":t.startsWith(rx)?"knowledge":t.startsWith($d)?"findings":t.startsWith(Ai)?"settings":"tasks"}function _I({tabs:t=ld}){var g;const s=Jt(),o=dt(),r=y.useRef(null),c=bI(s.pathname),d=y.useMemo(()=>{const v=(_,b)=>(_.order??Number.MAX_SAFE_INTEGER)-(b.order??Number.MAX_SAFE_INTEGER);return[...t.filter(_=>_.align!=="end").sort(v),...t.filter(_=>_.align==="end")]},[t]),u=(g=d.find(v=>v.align==="end"))==null?void 0:g.view,p=y.useCallback(v=>{o(v.route)},[o]),m=y.useCallback(v=>{var j,w;const _=(j=r.current)==null?void 0:j.querySelectorAll('[role="tab"]');if(!_)return;const b=Array.from(_).findIndex(T=>T===document.activeElement),x=b>=0?b:d.findIndex(T=>T.view===c);let k=x;if(v.key==="ArrowRight"||v.key==="j"||v.key==="J")v.preventDefault(),k=(x+1)%d.length;else if(v.key==="ArrowLeft"||v.key==="k"||v.key==="K")v.preventDefault(),k=(x-1+d.length)%d.length;else if(v.key==="Home")v.preventDefault(),k=0;else if(v.key==="End")v.preventDefault(),k=d.length-1;else return;o(d[k].route),(w=_[k])==null||w.focus()},[c,o,d]);return a.jsx("nav",{className:Ao.nav,ref:r,role:"tablist","aria-orientation":"horizontal","aria-label":"App navigation",onKeyDown:m,"data-testid":"sidebar-nav",children:d.map(v=>{const _=v.view===c,b=v.view===u;return a.jsx(Oi,{text:v.label,placement:"bottom",className:b?Ao.tabEnd:void 0,children:a.jsxs("button",{role:"tab",type:"button","aria-selected":_,tabIndex:_?0:-1,className:`${Ao.tab} ${_?Ao.tabActive:""}`,onClick:()=>p(v),"data-testid":v.testId,"aria-label":v.label,children:[a.jsx("span",{className:Ao.tabIcon,"aria-hidden":"true",children:v.icon}),a.jsx("span",{className:Ao.tabLabel,children:v.label})]})},v.view)})})}const xI="_container_pi6ii_1",kI="_content_pi6ii_66",i_={container:xI,content:kI},SI=320,G1=220,q1=600,F1="grackle-sidebar-width";function jI(){try{const t=localStorage.getItem(F1);if(t!==null){const s=Number(t);if(Number.isFinite(s)&&s>=G1&&s<=q1)return s}}catch{}return SI}function TI(t){try{localStorage.setItem(F1,String(t))}catch{}}function wI({content:t}){const[s]=y.useState(jI),o=y.useRef(null);if(y.useEffect(()=>{const r=o.current;if(!r)return;const c=new ResizeObserver(d=>{for(const u of d){const p=u.borderBoxSize[0];if(p){const m=Math.round(p.inlineSize);m>=G1&&m<=q1&&TI(m)}}});return c.observe(r),()=>{c.disconnect()}},[]),t!==void 0)return a.jsx("div",{className:i_.container,ref:o,"data-testid":"sidebar",style:{width:s},children:a.jsx("div",{className:i_.content,children:t})})}const NI="_bar_tnfsh_1",CI="_btnPrimary_tnfsh_32",EI="_statusText_tnfsh_85",AI="_statusCompleted_tnfsh_90",DI="_statusFailed_tnfsh_94",RI="_statusBlocked_tnfsh_98",MI="_hintText_tnfsh_103",At={bar:NI,btnPrimary:CI,statusText:EI,statusCompleted:AI,statusFailed:DI,statusBlocked:RI,hintText:MI};function II({sessions:t,tasks:s,environments:o}){const r=dt(),c=Jt(),d=It("/sessions/:sessionId"),u=It("/tasks/:taskId"),p=It("/tasks/:taskId/stream"),m=It("/tasks/:taskId/findings"),g=It("/tasks/:taskId/edit"),v=It("/environments/:environmentId/workspaces/:workspaceId/tasks/:taskId"),_=It("/environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/stream"),b=It("/environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/findings"),x=It("/environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/edit"),k=It("/sessions/new"),j=It("/environments/:environmentId/workspaces/:workspaceId"),w=It("/tasks/new"),T=It("/chat"),C=It("/"),A=It("/settings/*"),L=d==null?void 0:d.params.sessionId,E=(u==null?void 0:u.params.taskId)??(p==null?void 0:p.params.taskId)??(m==null?void 0:m.params.taskId)??(v==null?void 0:v.params.taskId)??(_==null?void 0:_.params.taskId)??(b==null?void 0:b.params.taskId)??(x==null?void 0:x.params.taskId),O=v??_??b??x,z=(O==null?void 0:O.params.environmentId)??(j==null?void 0:j.params.environmentId),D=c.pathname.startsWith("/environments")&&!j&&!O,H=!!T,Y=!!k,U=!!j&&!v&&!_&&!b&&!x,X=!!w;if(!!C&&!Y&&!U&&!X||!!A||(!!g||!!x)||X||D||Y)return a.jsx(a.Fragment,{});if(H)return o.find(R=>R.adapterType==="local"&&R.status==="connected")?a.jsx(a.Fragment,{}):a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Add a local environment to start chatting"})});if(U)return a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Select a task or click + to create one"})});if(E){const B=s.find(oe=>oe.id===E);if(!B)return a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Loading..."})});const R=new Map(s.map(oe=>[oe.id,oe])),se=B.dependsOn.some(oe=>{const G=R.get(oe);return G!==void 0&&G.status!=="complete"});if(B.status==="not_started"){const oe=se?B.dependsOn.map(G=>R.get(G)).filter(G=>G&&G.status!=="complete").map(G=>G.title):[];return a.jsx("div",{className:At.bar,children:se?a.jsxs("span",{className:At.statusBlocked,children:["Blocked by: ",oe.join(", ")]}):a.jsx("span",{className:At.hintText,children:"Use the buttons above to start or manage this task"})})}if(B.status==="working"||B.status==="paused"){const oe=B.latestSessionId||void 0,G=oe?t.find(de=>de.id===oe):void 0;return G&&G.status!=="stopped"?a.jsx(a.Fragment,{}):a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Waiting for agent..."})})}if(B.status==="complete")return a.jsxs("div",{className:At.bar,children:[a.jsx("span",{className:`${At.statusText} ${At.statusCompleted}`,children:"Task completed"}),a.jsx("button",{onClick:()=>r($i(B.workspaceId,void 0,z)),className:At.btnPrimary,children:"+ New Task"})]});if(B.status==="failed")return a.jsx("div",{className:At.bar,children:a.jsx("span",{className:`${At.statusText} ${At.statusFailed}`,children:"Task failed"})})}if(L){const B=t.find(oe=>oe.id===L),R=(B==null?void 0:B.status)==="stopped";if(B!==void 0&&!R)return a.jsx(a.Fragment,{});if(R)return a.jsxs("div",{className:At.bar,children:[a.jsxs("span",{className:`${At.statusText} ${At.hintText}`,children:["Session ",B.endReason||B.status]}),a.jsx("button",{onClick:()=>r(sx(B.environmentId)),className:At.btnPrimary,children:"+ New Chat"})]})}return a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Loading..."})})}const OI="_nav_14i94_1",LI="_tab_14i94_24",BI="_tabActive_14i94_62",$I="_tabLabel_14i94_75",zI="_statusDot_14i94_81",HI="_pulse_14i94_87",PI="_addButton_14i94_99",UI="_empty_14i94_132",Ga={nav:OI,tab:LI,tabActive:BI,tabLabel:$I,statusDot:zI,pulse:HI,addButton:PI,empty:UI},VI={connected:"var(--accent-green)",sleeping:"var(--accent-yellow)",error:"var(--accent-red)",disconnected:"var(--text-tertiary)",connecting:"var(--accent-blue)"};function GI({environments:t}){const s=dt(),o=y.useRef(null),r=It("/environments/:environmentId"),c=It("/environments/:environmentId/edit"),d=It("/environments/:environmentId/workspaces/:workspaceId"),u=It("/environments/:environmentId/workspaces/:workspaceId/*"),p=(r==null?void 0:r.params.environmentId)??(c==null?void 0:c.params.environmentId)??(d==null?void 0:d.params.environmentId)??(u==null?void 0:u.params.environmentId),m=p==="new"?void 0:p,g=y.useCallback(b=>{s(Mi(b))},[s]),v=y.useCallback(b=>{var T;const x=(T=o.current)==null?void 0:T.querySelectorAll('[role="tab"]');if(!x||x.length===0)return;const k=Array.from(x).findIndex(C=>C===document.activeElement),j=k>=0?k:t.findIndex(C=>C.id===m);let w=j;if(b.key==="ArrowDown"||b.key==="j"||b.key==="J")b.preventDefault(),w=(j+1)%x.length;else if(b.key==="ArrowUp"||b.key==="k"||b.key==="K")b.preventDefault(),w=(j-1+x.length)%x.length;else if(b.key==="Home")b.preventDefault(),w=0;else if(b.key==="End")b.preventDefault(),w=x.length-1;else return;w<t.length&&s(Mi(t[w].id)),x[w].focus()},[m,t,s]),_=m??(t.length>0?t[0].id:void 0);return a.jsxs("div",{className:Ga.nav,"data-testid":"environment-nav",children:[a.jsx("nav",{ref:o,role:"tablist","aria-orientation":"vertical","aria-label":"Environments",onKeyDown:v,children:t.map(b=>{const x=b.id===m,k=b.id===_,j=VI[b.status]||"var(--text-tertiary)",w=b.status==="connected";return a.jsxs("button",{role:"tab",type:"button","aria-selected":x,tabIndex:k?0:-1,className:`${Ga.tab} ${x?Ga.tabActive:""}`,onClick:()=>g(b.id),"data-testid":"env-nav-item",children:[a.jsx("span",{className:`${Ga.statusDot} ${w?Ga.pulse:""}`,style:{color:j},"aria-hidden":"true",children:a.jsx(Ja,{size:Em,fill:"currentColor"})}),a.jsx("span",{className:Ga.tabLabel,title:b.displayName||b.id,children:b.displayName||b.id})]},b.id)})}),a.jsx("button",{type:"button",className:Ga.addButton,onClick:()=>s(PN),title:"Add environment","data-testid":"env-nav-add",children:"+ Add Environment"}),t.length===0&&a.jsx("div",{className:Ga.empty,children:"No environments yet."})]})}function Vo(t){const s=new Date(t),o=new Date,r=o.getTime()-s.getTime(),c=Math.floor(r/1e3),d=Math.floor(c/60),u=Math.floor(d/60),p=Math.floor(u/24);if(c<60)return"just now";if(d<60)return`${d}m ago`;if(u<24)return`${u}h ago`;if(p===1)return"yesterday";if(p<7)return`${p} days ago`;const m=s.getFullYear()===o.getFullYear(),g=s.toLocaleString("en-US",{month:"short"}),v=s.getDate();return m?`${g} ${v}`:`${g} ${v} ${s.getFullYear()}`}function Z1(t){const s=new Date(t);if(Number.isNaN(s.getTime()))return"—";const o=new Date,r=s.getTime()-o.getTime();if(r<=0)return"overdue";const c=Math.floor(r/1e3),d=Math.floor(c/60),u=Math.floor(d/60),p=Math.floor(u/24);if(c<60)return`in ${c}s`;if(d<60)return`in ${d}m`;if(u<24)return`in ${u}h`;if(p<7)return`in ${p} day${p===1?"":"s"}`;const m=s.getFullYear()===o.getFullYear(),g=s.toLocaleString("en-US",{month:"short"}),v=s.getDate();return m?`${g} ${v}`:`${g} ${v} ${s.getFullYear()}`}const o_={architecture:{text:"var(--accent-blue)",bg:"var(--accent-blue-dim)"},api:{text:"var(--accent-green)",bg:"var(--accent-green-dim)"},bug:{text:"var(--accent-red)",bg:"var(--accent-red-dim)"},decision:{text:"var(--accent-yellow)",bg:"var(--accent-yellow-dim)"},dependency:{text:"var(--accent-purple)",bg:"var(--accent-purple-dim)"},pattern:{text:"var(--accent-cyan)",bg:"var(--accent-cyan-dim)"},general:{text:"var(--text-secondary)",bg:"var(--bg-elevated)"}};function Td(t){return o_[t]||o_.general}const qI="_nav_dlm8m_1",FI="_categoryPills_dlm8m_24",ZI="_categoryPill_dlm8m_24",KI="_tab_dlm8m_42",YI="_tabActive_dlm8m_80",JI="_tabContent_dlm8m_93",WI="_tabLabel_dlm8m_100",XI="_tabMeta_dlm8m_106",QI="_categoryDot_dlm8m_111",eO="_empty_dlm8m_118",Ds={nav:qI,categoryPills:FI,categoryPill:ZI,tab:KI,tabActive:YI,tabContent:JI,tabLabel:WI,tabMeta:XI,categoryDot:QI,empty:eO};function tO({findings:t,workspaceId:s,environmentId:o}){const r=dt(),c=y.useRef(null),d=It("/findings/:findingId"),u=It("/environments/:environmentId/workspaces/:workspaceId/findings/:findingId"),p=(d==null?void 0:d.params.findingId)??(u==null?void 0:u.params.findingId),m=y.useMemo(()=>{const b=new Set(t.map(x=>x.category).filter(Boolean));return Array.from(b).sort()},[t]),g=y.useCallback(b=>{r(tm(b,s,o))},[r,s,o]),v=y.useCallback(b=>{var T;const x=(T=c.current)==null?void 0:T.querySelectorAll('[role="tab"]');if(!x||x.length===0)return;const k=Array.from(x).findIndex(C=>C===document.activeElement),j=k>=0?k:t.findIndex(C=>C.id===p);let w=j;if(b.key==="ArrowDown"||b.key==="j"||b.key==="J")b.preventDefault(),w=(j+1)%x.length;else if(b.key==="ArrowUp"||b.key==="k"||b.key==="K")b.preventDefault(),w=(j-1+x.length)%x.length;else if(b.key==="Home")b.preventDefault(),w=0;else if(b.key==="End")b.preventDefault(),w=x.length-1;else return;w<t.length&&r(tm(t[w].id,s,o)),x[w].focus()},[p,t,r,s,o]),_=p??(t.length>0?t[0].id:void 0);return a.jsxs("div",{className:Ds.nav,"data-testid":"findings-nav",children:[m.length>1&&a.jsx("div",{className:Ds.categoryPills,"data-testid":"findings-nav-categories",children:m.map(b=>a.jsx("span",{className:Ds.categoryPill,style:{color:Td(b).text},children:b},b))}),a.jsx("nav",{ref:c,role:"tablist","aria-orientation":"vertical","aria-label":"Findings",onKeyDown:v,children:t.map(b=>{const x=b.id===p,k=b.id===_;return a.jsxs("button",{role:"tab",type:"button","aria-selected":x,tabIndex:k?0:-1,className:`${Ds.tab} ${x?Ds.tabActive:""}`,onClick:()=>g(b.id),"data-testid":"finding-nav-item",children:[a.jsx("span",{className:Ds.categoryDot,style:{color:Td(b.category).text},"aria-hidden":"true",children:a.jsx(Ja,{size:Em,fill:"currentColor"})}),a.jsxs("span",{className:Ds.tabContent,children:[a.jsx("span",{className:Ds.tabLabel,title:b.title,children:b.title}),a.jsx("span",{className:Ds.tabMeta,title:b.createdAt,children:Vo(b.createdAt)})]})]},b.id)})}),t.length===0&&a.jsx("div",{className:Ds.empty,children:"No findings yet. Agents will post discoveries here."})]})}function nO(t){if(t.length===0)return[];const s=[...t].sort((r,c)=>r[0]-c[0]),o=[[s[0][0],s[0][1]]];for(let r=1;r<s.length;r++){const c=o[o.length-1],[d,u]=s[r];d<=c[1]+1?c[1]=Math.max(c[1],u):o.push([d,u])}return o}function K1({text:t,indices:s,highlightClass:o}){if(!s||s.length===0)return a.jsx(a.Fragment,{children:t});const r=nO(s),c=[];let d=0;for(const[u,p]of r)u>d&&c.push(a.jsx("span",{children:t.slice(d,u)},`p${d}`)),c.push(a.jsx("mark",{className:o,children:t.slice(u,p+1)},`m${u}`)),d=p+1;return d<t.length&&c.push(a.jsx("span",{children:t.slice(d)},`p${d}`)),a.jsx(a.Fragment,{children:c})}function sO(t){const s=new Map(t.map(r=>[r.id,{...r,children:[]}])),o=[];for(const r of s.values())r.parentTaskId&&s.has(r.parentTaskId)?s.get(r.parentTaskId).children.push(r):o.push(r);for(const r of s.values())r.children.sort((c,d)=>c.sortOrder-d.sortOrder);return o.sort((r,c)=>r.sortOrder-c.sortOrder)}function aO(t,s){const o=new Map;for(const d of t){const p=d.dependsOn.length>0&&d.dependsOn.some(g=>s.get(g)!=="complete")?"blocked":d.status,m=o.get(p);m?m.push(d):o.set(p,[d])}const r=[],c=new Set;for(const d of qT){c.add(d);const u=o.get(d);if(u&&u.length>0){u.sort((m,g)=>m.sortOrder-g.sortOrder);const p=Wa(d);r.push({status:d,label:p.label,style:p,tasks:u})}}for(const[d,u]of o)if(!c.has(d)&&u.length>0){u.sort((m,g)=>m.sortOrder-g.sortOrder);const p=Wa(d);r.push({status:d,label:p.label,style:p,tasks:u})}return r}const iO="_container_z4i38_1",oO="_header_z4i38_5",rO="_headerActions_z4i38_17",lO="_searchInput_z4i38_23",cO="_searchHighlight_z4i38_56",dO="_groupToggle_z4i38_62",uO="_groupToggleActive_z4i38_89",fO="_addButton_z4i38_93",pO="_taskRow_z4i38_120",mO="_selected_z4i38_140",hO="_expandArrow_z4i38_150",gO="_expanded_z4i38_157",vO="_leafSpacer_z4i38_161",yO="_taskStatusIcon_z4i38_166",bO="_taskTitle_z4i38_170",_O="_workspaceBadge_z4i38_177",xO="_childCountBadge_z4i38_195",kO="_dependencyBadge_z4i38_208",SO="_blockedBadge_z4i38_220",jO="_addChildButton_z4i38_225",TO="_emptyState_z4i38_268",wO="_statusGroupHeader_z4i38_275",NO="_statusGroupIcon_z4i38_294",CO="_statusGroupLabel_z4i38_298",EO="_statusGroupCount_z4i38_303",We={container:iO,header:oO,headerActions:rO,searchInput:lO,searchHighlight:cO,groupToggle:dO,groupToggleActive:uO,addButton:fO,taskRow:pO,selected:mO,expandArrow:hO,expanded:gO,leafSpacer:vO,taskStatusIcon:yO,taskTitle:bO,workspaceBadge:_O,childCountBadge:xO,dependencyBadge:kO,blockedBadge:SO,addChildButton:jO,emptyState:TO,statusGroupHeader:wO,statusGroupIcon:NO,statusGroupLabel:CO,statusGroupCount:EO},AO=[{name:"title",weight:2},{name:"description",weight:1}],Y1=16,DO=16,J1="grackle-task-group-by-status";function r_(){try{return localStorage.getItem(J1)==="true"}catch{return!1}}function RO(t){try{localStorage.setItem(J1,String(t))}catch{}}function MO({group:t,isExpanded:s,onToggle:o,selectedTaskId:r,navigate:c,titleHighlights:d,workspaceNames:u}){return a.jsxs("div",{"data-testid":`status-group-${t.status}`,children:[a.jsxs("div",{className:We.statusGroupHeader,role:"button",tabIndex:0,"aria-expanded":s,onClick:o,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),o())},children:[a.jsx("span",{className:`${We.expandArrow} ${s?We.expanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),a.jsx("span",{className:We.statusGroupIcon,style:{color:t.style.color},"aria-hidden":"true",children:t.style.icon}),a.jsx("span",{className:We.statusGroupLabel,children:t.label}),a.jsx("span",{className:We.statusGroupCount,children:t.tasks.length})]}),a.jsx(rs,{children:s&&a.jsx(Rt.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2},style:{overflow:"hidden"},children:t.tasks.map(p=>{const m=Wa(p.status),g=r===p.id,v=p.parentTaskId||!p.workspaceId?void 0:u.get(p.workspaceId);return a.jsxs("div",{onClick:()=>c(Hn(p.id)),role:"button",tabIndex:0,"aria-label":p.title,onKeyDown:_=>{_.currentTarget===_.target&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),c(Hn(p.id)))},className:`${We.taskRow} ${g?We.selected:""}`,style:{"--task-indent":`${Y1}px`},"data-task-id":p.id,children:[a.jsx("span",{className:We.leafSpacer}),a.jsx("span",{className:We.taskStatusIcon,style:{color:m.color},"aria-hidden":"true","data-testid":`task-status-${gl(p.status)}`,children:m.icon}),a.jsx("span",{className:We.taskTitle,title:p.title,children:a.jsx(K1,{text:p.title,indices:d.get(p.id),highlightClass:We.searchHighlight})}),v&&a.jsx("span",{className:We.workspaceBadge,title:v,children:v})]},p.id)})})})]})}function W1({node:t,depth:s,expandedTasks:o,toggleTask:r,selectedTaskId:c,navigate:d,taskStatusById:u,titleHighlights:p,workspaceNames:m}){const g=Wa(t.status),v=t.dependsOn.length>0&&t.dependsOn.some(T=>u.get(T)!=="complete"),_=o.has(t.id),b=t.children.length>0,x=c===t.id,k=Y1+s*DO,w=s===0&&!t.parentTaskId&&t.workspaceId?m.get(t.workspaceId):void 0;return a.jsxs(a.Fragment,{children:[a.jsxs("div",{onClick:()=>d(Hn(t.id)),role:"button",tabIndex:0,"aria-label":t.title,onKeyDown:T=>{T.currentTarget===T.target&&(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),d(Hn(t.id)))},className:`${We.taskRow} ${x?We.selected:""}`,style:{"--task-indent":`${k}px`},"data-task-id":t.id,children:[b&&a.jsx("span",{className:`${We.expandArrow} ${_?We.expanded:""}`,role:"button",tabIndex:0,"aria-label":_?"Collapse task":"Expand task",onClick:T=>{T.stopPropagation(),r(t.id)},onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),T.stopPropagation(),r(t.id))},children:a.jsx(ma,{size:it,"aria-hidden":"true"})}),!b&&a.jsx("span",{className:We.leafSpacer}),a.jsx("span",{className:We.taskStatusIcon,style:{color:g.color},"aria-hidden":"true","data-testid":`task-status-${gl(t.status)}`,children:g.icon}),a.jsx("span",{className:We.taskTitle,title:t.title,children:a.jsx(K1,{text:t.title,indices:p.get(t.id),highlightClass:We.searchHighlight})}),w&&a.jsx("span",{className:We.workspaceBadge,title:w,children:w}),b&&a.jsxs("span",{className:We.childCountBadge,children:[t.children.filter(T=>T.status==="complete").length,"/",t.children.length]}),t.dependsOn.length>0&&a.jsx("span",{className:`${We.dependencyBadge} ${v?We.blockedBadge:""}`,title:`Depends on: ${t.dependsOn.join(", ")}`,children:v?"blocked":"dep"}),s<V2&&a.jsx(Oi,{text:"Add child task",children:a.jsx("button",{onClick:T=>{T.stopPropagation(),d($i(t.workspaceId,t.id))},"aria-label":"Add child task",className:We.addChildButton,children:"+"})})]}),a.jsx(rs,{children:b&&_&&a.jsx(Rt.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.15},style:{overflow:"hidden"},children:t.children.map(T=>a.jsx(W1,{node:T,depth:s+1,expandedTasks:o,toggleTask:r,selectedTaskId:c,navigate:d,taskStatusById:u,titleHighlights:p,workspaceNames:m},T.id))})})]})}function IO({workspaces:t,tasks:s}){const o=dt(),[r,c]=y.useState(new Set),[d,u]=y.useState(new Set),[p,m]=y.useState(r_),[g,v]=y.useState(r_),[_,b]=y.useState(new Map),x=It("/tasks/:taskId/*"),k=(x==null?void 0:x.params.taskId)!=="new"?x==null?void 0:x.params.taskId:void 0,j=y.useMemo(()=>new Map(s.map(W=>[W.id,W.status])),[s]),w=y.useMemo(()=>new Map(t.map(W=>[W.id,W.name])),[t]),T=()=>{const W=!p;RO(W),m(W),W&&(v(!0),b(new Map))},C=W=>{b(le=>{const B=new Map(le),R=B.has(W)?B.get(W):g;return B.set(W,!R),B})},A=W=>_.has(W)?_.get(W):g,L=W=>{c(le=>{const B=new Set(le);return B.has(W)?(B.delete(W),u(R=>new Set(R).add(W))):(B.add(W),u(R=>{const se=new Set(R);return se.delete(W),se})),B})};y.useEffect(()=>{const W=new Set(s.filter(le=>le.parentTaskId).map(le=>le.parentTaskId));W.size>0&&c(le=>{const B=new Set(le);for(const R of W)d.has(R)||B.add(R);return B})},[s,d]);const[E,O]=y.useState(""),{directMatchTaskIds:z,treeMatchTaskIds:D,titleHighlights:H}=y.useMemo(()=>{if(!E.trim())return{directMatchTaskIds:null,treeMatchTaskIds:null,titleHighlights:new Map};const W=U2(s,E,AO),le=new Set(W.map(oe=>oe.item.id)),B=new Map;for(const oe of W){const G=oe.matches.find(pe=>pe.key==="title");G&&B.set(oe.item.id,G.indices)}const R=new Set(le),se=new Map(s.map(oe=>[oe.id,oe]));for(const oe of[...le]){let G=se.get(oe);for(;G!=null&&G.parentTaskId;)R.add(G.parentTaskId),G=se.get(G.parentTaskId)}return{directMatchTaskIds:le,treeMatchTaskIds:R,titleHighlights:B}},[E,s]),Y=z!==null,U=Y?p?z:D:null,X=U?s.filter(W=>U.has(W.id)):s,ge=p?[]:sO(X);return a.jsxs("div",{className:We.container,children:[a.jsxs("div",{className:We.header,children:[a.jsx("span",{children:"Tasks"}),a.jsxs("div",{className:We.headerActions,children:[a.jsx(Oi,{text:p?"Switch to tree view":"Group tasks by status",children:a.jsx("button",{className:`${We.groupToggle} ${p?We.groupToggleActive:""}`,onClick:T,"aria-label":p?"Switch to tree view":"Group tasks by status","aria-pressed":p,"data-testid":"task-group-by-status-toggle",children:a.jsx(fT,{size:Gt})})}),a.jsx(Oi,{text:"New task",children:a.jsx("button",{className:We.addButton,onClick:()=>o($i()),"aria-label":"New task","data-testid":"new-task-button",children:"+"})})]})]}),s.length>0&&a.jsx("input",{type:"text",value:E,onChange:W=>O(W.target.value),placeholder:"Filter...","aria-label":"Filter tasks",className:We.searchInput,"data-testid":"sidebar-search"}),p?aO(X,j).map(W=>a.jsx(MO,{group:W,isExpanded:A(W.status),onToggle:()=>C(W.status),selectedTaskId:k,navigate:o,titleHighlights:H,workspaceNames:w},W.status)):ge.map(W=>a.jsx(W1,{node:W,depth:0,expandedTasks:r,toggleTask:L,selectedTaskId:k,navigate:o,taskStatusById:j,titleHighlights:H,workspaceNames:w},W.id)),X.length===0&&!Y&&a.jsx("div",{className:We.emptyState,children:"No tasks yet. Click + to create one."}),X.length===0&&Y&&a.jsx("div",{className:We.emptyState,children:"No matching tasks"})]})}const OO="_toast_ed2dk_1",LO="_success_ed2dk_18",BO="_icon_ed2dk_22",$O="_error_ed2dk_25",zO="_warning_ed2dk_32",HO="_info_ed2dk_38",PO="_message_ed2dk_53",UO="_close_ed2dk_60",Fr={toast:OO,success:LO,icon:BO,error:$O,warning:zO,info:HO,message:PO,close:UO},VO={success:a.jsx(Li,{size:Dt}),error:a.jsx($s,{size:Dt}),warning:a.jsx(Cm,{size:Dt}),info:a.jsx(Nm,{size:Dt})};function GO({toast:t,onDismiss:s}){return y.useEffect(()=>{const o=setTimeout(()=>s(t.id),t.duration);return()=>clearTimeout(o)},[t.id,t.duration,s]),a.jsxs(Rt.div,{className:`${Fr.toast} ${Fr[t.variant]}`,role:"status",initial:{opacity:0,y:-16,scale:.94},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-8,scale:.94},transition:{duration:.2,ease:"easeOut"},layout:!0,children:[a.jsx("span",{className:Fr.icon,"aria-hidden":"true",children:VO[t.variant]}),a.jsx("span",{className:Fr.message,children:t.message}),a.jsx("button",{type:"button",className:Fr.close,onClick:()=>s(t.id),"aria-label":"Dismiss notification",children:a.jsx($s,{size:Gt,"aria-hidden":"true"})})]})}const qO="_container_qqse2_1",FO={container:qO};function ZO({toasts:t,onDismiss:s}){return a.jsx("div",{className:FO.container,"data-testid":"toast-container",children:a.jsx(rs,{children:t.map(o=>a.jsx(GO,{toast:o,onDismiss:s},o.id))})})}const KO="_callout_e5awm_1",YO="_success_e5awm_11",JO="_icon_e5awm_15",WO="_error_e5awm_18",XO="_warning_e5awm_25",QO="_info_e5awm_32",eL="_content_e5awm_48",tL="_close_e5awm_53",Zr={callout:KO,success:YO,icon:JO,error:WO,warning:XO,info:QO,content:eL,close:tL},nL={success:a.jsx(Li,{size:Dt}),error:a.jsx($s,{size:Dt}),warning:a.jsx(Cm,{size:Dt}),info:a.jsx(Nm,{size:Dt})};function sL({variant:t="info",children:s,dismissible:o=!1,className:r}){const[c,d]=y.useState(!1);return a.jsx(a.Fragment,{children:!c&&a.jsxs("div",{className:[Zr.callout,Zr[t],r].filter(Boolean).join(" "),role:t==="error"||t==="warning"?"alert":"status",children:[a.jsx("span",{className:Zr.icon,"aria-hidden":"true",children:nL[t]}),a.jsx("span",{className:Zr.content,children:s}),o&&a.jsx("button",{type:"button",className:Zr.close,onClick:()=>d(!0),"aria-label":"Dismiss",children:a.jsx($s,{size:Gt,"aria-hidden":"true"})})]})})}function aL({currentVersion:t,latestVersion:s,updateAvailable:o,isDocker:r}){if(!o)return a.jsx(a.Fragment,{});const c=r?"docker pull ghcr.io/nick-pape/grackle:latest && docker restart grackle":`npm install -g @grackle-ai/cli@${s}`;return a.jsx("div",{"data-testid":"update-banner",children:a.jsxs(sL,{variant:"info",dismissible:!0,children:[a.jsxs("strong",{children:["Grackle v",s]})," is available (you have v",t,")."," ","Run: ",a.jsx("code",{children:c})]})})}const iL="_container_de44x_1",oL="_emptyState_de44x_8",rL="_card_de44x_14",lL="_cardClickable_de44x_34",cL="_cardHeader_de44x_42",dL="_categoryBadge_de44x_54",uL="_findingTitle_de44x_62",fL="_findingDate_de44x_68",pL="_findingContent_de44x_80",mL="_tags_de44x_86",hL="_tag_de44x_86",ys={container:iL,emptyState:oL,card:rL,cardClickable:lL,cardHeader:cL,categoryBadge:dL,findingTitle:uL,findingDate:fL,findingContent:pL,tags:mL,tag:hL};function X1({findings:t,onFindingClick:s}){return t.length===0?a.jsx("div",{className:ys.emptyState,children:"No findings yet. Agents will post discoveries here."}):a.jsx("div",{className:ys.container,children:t.map((o,r)=>{const c=Td(o.category),d=s?Rt.button:Rt.div;return a.jsxs(d,{type:s?"button":void 0,className:`${ys.card} ${s?ys.cardClickable:""}`,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:r*.05,duration:.2},onClick:s?()=>{s(o.id)}:void 0,children:[a.jsxs("div",{className:ys.cardHeader,children:[a.jsx("span",{className:ys.categoryBadge,style:{background:c.bg,color:c.text},children:o.category}),a.jsx("span",{className:ys.findingTitle,children:o.title}),a.jsx("span",{className:ys.findingDate,title:o.createdAt,children:Vo(o.createdAt)})]}),a.jsx("div",{className:ys.findingContent,children:o.content.length>300?o.content.slice(0,300)+"...":o.content}),o.tags.length>0&&a.jsx("div",{className:ys.tags,children:o.tags.map(u=>a.jsx("span",{className:ys.tag,style:{color:c.text,textShadow:`0 0 8px ${c.text}`},children:u},u))})]},o.id)})})}const gL="_container_m1fsr_1",vL="_heading_m1fsr_7",yL="_section_m1fsr_14",bL="_sectionTitle_m1fsr_26",_L="_sectionDescription_m1fsr_35",xL="_emptyState_m1fsr_41",kL="_tokenList_m1fsr_48",SL="_tokenRow_m1fsr_55",jL="_tokenBadge_m1fsr_68",TL="_tokenName_m1fsr_83",wL="_tokenTarget_m1fsr_90",NL="_deleteButton_m1fsr_99",CL="_addForm_m1fsr_113",EL="_formRow_m1fsr_119",AL="_input_m1fsr_125",DL="_select_m1fsr_155",RL="_addButton_m1fsr_187",ML="_emptyStateInfo_m1fsr_221",IL="_themeOptions_m1fsr_229",OL="_themeOption_m1fsr_229",LL="_themeOptionSelected_m1fsr_254",BL="_themeOptionHeader_m1fsr_259",$L="_themeOptionLabel_m1fsr_266",zL="_themeOptionDesc_m1fsr_273",HL="_variantToggle_m1fsr_279",PL="_variantButton_m1fsr_286",UL="_variantActive_m1fsr_305",VL="_themeSwatches_m1fsr_311",GL="_themeSwatch_m1fsr_311",qL="_systemToggle_m1fsr_325",FL="_systemToggleHint_m1fsr_341",ZL="_themeActive_m1fsr_348",KL="_aboutGrid_m1fsr_354",YL="_aboutItem_m1fsr_360",JL="_aboutLabel_m1fsr_373",WL="_aboutValue_m1fsr_379",XL="_aboutDot_m1fsr_387",QL="_aboutDotConnected_m1fsr_394",eB="_aboutDotDisconnected_m1fsr_398",tB="_aboutDotConnecting_m1fsr_402",fe={container:gL,heading:vL,section:yL,sectionTitle:bL,sectionDescription:_L,emptyState:xL,tokenList:kL,tokenRow:SL,tokenBadge:jL,tokenName:TL,tokenTarget:wL,deleteButton:NL,addForm:CL,formRow:EL,input:AL,select:DL,addButton:RL,emptyStateInfo:ML,themeOptions:IL,themeOption:OL,themeOptionSelected:LL,themeOptionHeader:BL,themeOptionLabel:$L,themeOptionDesc:zL,variantToggle:HL,variantButton:PL,variantActive:UL,themeSwatches:VL,themeSwatch:GL,systemToggle:qL,systemToggleHint:FL,themeActive:ZL,aboutGrid:KL,aboutItem:YL,aboutLabel:JL,aboutValue:WL,aboutDot:XL,aboutDotConnected:QL,aboutDotDisconnected:eB,aboutDotConnecting:tB},nB=[{value:"env_var",label:"Environment Variable"},{value:"file",label:"File"}];function sB({tokens:t,onSetToken:s,onDeleteToken:o,onShowToast:r}){const[c,d]=y.useState(""),[u,p]=y.useState(""),[m,g]=y.useState("env_var"),[v,_]=y.useState(""),[b,x]=y.useState(null),k=T=>{if(T.preventDefault(),!c||!u)return;const C=m==="env_var"?v||c.toUpperCase()+"_TOKEN":"";s(c,u,m,C,m==="file"?v:""),r==null||r("Token saved successfully","success"),d(""),p(""),_("")},j=T=>{x(T)},w=()=>{b&&(o(b),r==null||r("Token deleted","info")),x(null)};return a.jsxs(a.Fragment,{children:[a.jsx(ks,{isOpen:b!==null,title:"Delete Token?",description:b?`"${b}" will be permanently removed.`:void 0,onConfirm:w,onCancel:()=>x(null)}),a.jsxs("section",{className:fe.section,children:[a.jsx("h3",{className:fe.sectionTitle,children:"Tokens"}),a.jsx("p",{className:fe.sectionDescription,children:"API tokens are auto-pushed to environments when set or updated. Values are write-only."}),t.length===0?a.jsx("div",{className:fe.emptyStateInfo,children:"Add your first API token to enable service integrations."}):a.jsx("div",{className:fe.tokenList,children:t.map(T=>a.jsxs("div",{className:fe.tokenRow,children:[a.jsx("span",{className:fe.tokenBadge,children:T.tokenType}),a.jsx("span",{className:fe.tokenName,children:T.name}),a.jsx("span",{className:fe.tokenTarget,children:T.tokenType==="env_var"?T.envVar:T.filePath}),a.jsx("button",{className:fe.deleteButton,onClick:()=>j(T.name),title:`Delete ${T.name}`,"aria-label":`Delete ${T.name}`,children:a.jsx($s,{size:Gt,"aria-hidden":"true"})})]},T.name))}),a.jsxs("form",{className:fe.addForm,onSubmit:k,children:[a.jsxs("div",{className:fe.formRow,children:[a.jsx("input",{className:fe.input,type:"text",placeholder:"Token name",value:c,onChange:T=>d(T.target.value)}),a.jsx("input",{className:fe.input,type:"password",placeholder:"Value",value:u,onChange:T=>p(T.target.value)})]}),a.jsxs("div",{className:fe.formRow,children:[a.jsx("select",{className:fe.select,value:m,onChange:T=>g(T.target.value),children:nB.map(T=>a.jsx("option",{value:T.value,children:T.label},T.value))}),a.jsx("input",{className:fe.input,type:"text",placeholder:m==="env_var"?"Env var name (e.g. API_TOKEN)":"File path (e.g. /home/user/.token)",value:v,onChange:T=>_(T.target.value)}),a.jsx("button",{className:fe.addButton,type:"submit",children:"Add Token"})]})]})]})]})}const Fd=[{id:"grackle",label:"Grackle",description:"The default Grackle theme — iridescent purple on clean dark.",swatches:["#0e1218","#8b5cf6","#60a5fa","#e5e7eb","#34d399"],variantLightId:"grackle-light",variantDarkId:"grackle-dark"},{id:"grackle-light",label:"Grackle Light",description:"Light Grackle variant.",hidden:!0},{id:"grackle-dark",label:"Grackle Dark",description:"Dark Grackle variant.",hidden:!0},{id:"glass",label:"Glassmorphism",description:"Dark frosted-glass aesthetic with backdrop blur effects.",swatches:["#0a0c14","#4ecca3","#70a1ff","#e2e8f0","#a855f7"]},{id:"matrix",label:"Matrix",description:"Phosphor-green CRT terminal with scanlines and glow.",swatches:["#050505","#00ff41","#00bfff","#33ff77","#ffb000"]},{id:"brutalist",label:"Neubrutalism",description:"Thick borders, raw colors, bold type — ugly on purpose.",swatches:["#f5f0e8","#ff5757","#5ce1e6","#1a1a1a","#ffde59"],variantLightId:"brutalist-light",variantDarkId:"brutalist-dark"},{id:"brutalist-light",label:"Neubrutalism Light",description:"Light neubrutalism variant.",hidden:!0},{id:"brutalist-dark",label:"Neubrutalism Dark",description:"Dark neubrutalism variant.",hidden:!0},{id:"monokai",label:"Monokai",description:"Classic warm editor palette — pink, green, and purple.",swatches:["#272822","#f92672","#a6e22e","#f8f8f2","#ae81ff"],variantLightId:"monokai-light",variantDarkId:"monokai-dark"},{id:"monokai-dark",label:"Monokai Dark",description:"Dark Monokai variant.",hidden:!0},{id:"monokai-light",label:"Monokai Light",description:"Light Monokai variant.",hidden:!0},{id:"ubuntu",label:"Ubuntu",description:"Aubergine terminal with the GNOME Tango palette.",swatches:["#300a24","#8ae234","#ef2929","#eeeeec","#fce94f"]},{id:"sandstone",label:"Sandstone",description:"Warm terracotta accent on dark brown, in the style of Claude Code.",swatches:["#1a1815","#C15F3C","#6b8afd","#e8e6e3","#a78bfa"]},{id:"verdigris",label:"Verdigris",description:"Teal accent on charcoal, in the style of ChatGPT.",swatches:["#141414","#00a67e","#3b82f6","#ececec","#ab68ff"]},{id:"primer",label:"Primer",description:"Blue accent on ink-dark grey, in the style of GitHub.",swatches:["#0d1117","#58a6ff","#3fb950","#c9d1d9","#bc8cff"]}],Q1=new Set(Fd.map(t=>t.id)),l_="grackle";function xm(t){return Fd.find(s=>s.id===t)}function aB({themeId:t,resolvedThemeId:s,onSetTheme:o,preferSystem:r,onSetPreferSystem:c}){return a.jsxs("section",{className:fe.section,children:[a.jsx("h3",{className:fe.sectionTitle,children:"Appearance"}),a.jsx("p",{className:fe.sectionDescription,children:"Choose how Grackle looks across the app."}),a.jsx("div",{className:fe.themeOptions,children:Fd.filter(d=>!d.hidden).map(d=>{const u=!!(d.variantLightId&&d.variantDarkId),p=u?t===d.id||t===d.variantLightId||t===d.variantDarkId:t===d.id,m=u&&s===d.variantLightId;return a.jsxs("button",{type:"button",className:`${fe.themeOption} ${p?fe.themeOptionSelected:""}`,"aria-pressed":p,onClick:()=>o(d.id),children:[a.jsxs("span",{className:fe.themeOptionHeader,children:[a.jsxs("span",{children:[a.jsx("span",{className:fe.themeOptionLabel,children:d.label}),a.jsx("span",{className:fe.themeOptionDesc,children:d.description})]}),u&&a.jsxs("span",{className:fe.variantToggle,children:[a.jsx("span",{role:"button",tabIndex:0,className:`${fe.variantButton} ${p&&m?fe.variantActive:""}`,onClick:g=>{g.stopPropagation(),c(!1),o(d.variantLightId)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),g.stopPropagation(),c(!1),o(d.variantLightId))},"aria-label":"Light variant","aria-pressed":p&&m,children:"☼"}),a.jsx("span",{role:"button",tabIndex:0,className:`${fe.variantButton} ${p&&!m?fe.variantActive:""}`,onClick:g=>{g.stopPropagation(),c(!1),o(d.variantDarkId)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),g.stopPropagation(),c(!1),o(d.variantDarkId))},"aria-label":"Dark variant","aria-pressed":p&&!m,children:"☾"})]})]}),d.swatches&&a.jsx("span",{className:fe.themeSwatches,children:d.swatches.map((g,v)=>a.jsx("span",{className:fe.themeSwatch,style:{background:g}},v))})]},d.id)})}),a.jsxs("label",{className:fe.systemToggle,children:[a.jsx("input",{type:"checkbox",checked:r,onChange:d=>c(d.target.checked)}),a.jsx("span",{children:"Match system light/dark preference"})]}),a.jsx("p",{className:fe.systemToggleHint,children:"Automatically switches between light and dark variants when available."}),a.jsxs("p",{className:fe.themeActive,children:["Active theme: ",a.jsx("strong",{children:s})]})]})}const iB={connected:"Connected",connecting:"Connecting...",disconnected:"Disconnected"},oB={connected:fe.aboutDotConnected,connecting:fe.aboutDotConnecting,disconnected:fe.aboutDotDisconnected};function rB({connectionStatus:t,environments:s,sessions:o}){const r=s.filter(u=>u.status==="connected").length,c=s.length,d=o.filter(u=>["running","idle"].includes(u.status)).length;return a.jsxs("section",{className:fe.section,"data-testid":"about-panel",children:[a.jsx("h3",{className:fe.sectionTitle,children:"About"}),a.jsx("p",{className:fe.sectionDescription,children:"Connection status and application information."}),a.jsxs("div",{className:fe.aboutGrid,children:[a.jsxs("div",{className:fe.aboutItem,children:[a.jsx("span",{className:fe.aboutLabel,children:"Connection"}),a.jsxs("span",{className:fe.aboutValue,children:[a.jsx("span",{className:`${fe.aboutDot} ${oB[t]}`}),iB[t]]})]}),a.jsxs("div",{className:fe.aboutItem,children:[a.jsx("span",{className:fe.aboutLabel,children:"Environments"}),a.jsxs("span",{className:fe.aboutValue,children:[r,"/",c," connected"]})]}),a.jsxs("div",{className:fe.aboutItem,children:[a.jsx("span",{className:fe.aboutLabel,children:"Active Sessions"}),a.jsx("span",{className:fe.aboutValue,children:d})]}),a.jsxs("div",{className:fe.aboutItem,children:[a.jsx("span",{className:fe.aboutLabel,children:"Version"}),a.jsx("span",{className:fe.aboutValue,children:"0.112.0"})]})]})]})}const lB="_container_cddyd_1",cB="_header_cddyd_8",dB="_headerTitle_cddyd_35",uB="_badge_cddyd_44",fB="_headerActions_cddyd_54",pB="_body_cddyd_61",mB="_formContent_cddyd_73",hB="_section_cddyd_85",gB="_label_cddyd_91",vB="_titleInput_cddyd_98",yB="_descriptionTextarea_cddyd_131",bB="_parentContext_cddyd_167",_B="_parentLabel_cddyd_175",xB="_parentName_cddyd_182",kB="_personaSelect_cddyd_186",SB="_depList_cddyd_220",jB="_depItem_cddyd_226",TB="_depItemSelected_cddyd_248",wB="_noDeps_cddyd_252",NB="_btnPrimary_cddyd_258",CB="_btnGhost_cddyd_289",st={container:lB,header:cB,headerTitle:dB,badge:uB,headerActions:fB,body:pB,formContent:mB,section:hB,label:gB,titleInput:vB,descriptionTextarea:yB,parentContext:bB,parentLabel:_B,parentName:xB,personaSelect:kB,depList:SB,depItem:jB,depItemSelected:TB,noDeps:wB,btnPrimary:NB,btnGhost:CB};function ek({mode:t,taskId:s,workspaceId:o,parentTaskId:r,environmentId:c,tasks:d,workspaces:u,personas:p,onCreateTask:m,onUpdateTask:g,onEditDone:v,onShowToast:_}){const b=dt(),x=t==="edit",k=x&&s?d.find(_e=>_e.id===s):void 0,j=x?(k==null?void 0:k.workspaceId)??"":o??"",[w,T]=y.useState(j),C=j||w,A=u.find(_e=>_e.id===C),L=c??(A==null?void 0:A.linkedEnvironmentIds[0]),E=!x&&!o,O=x?(k==null?void 0:k.parentTaskId)??"":r??"",z=O?d.find(_e=>_e.id===O):void 0,[D,H]=y.useState((k==null?void 0:k.title)??""),[Y,U]=y.useState((k==null?void 0:k.description)??""),[X,ge]=y.useState((k==null?void 0:k.dependsOn)??[]),[W,le]=y.useState((k==null?void 0:k.defaultPersonaId)??""),[B,R]=y.useState((k==null?void 0:k.canDecompose)??!1),[se,oe]=y.useState(!1),G=y.useRef(!1);y.useEffect(()=>{x&&k&&!G.current&&(G.current=!0,H(k.title),U(k.description),ge(k.dependsOn),le(k.defaultPersonaId),R(k.canDecompose))},[x,k]);const pe=d.filter(_e=>_e.workspaceId===C&&(!x||_e.id!==s)&&_e.id!==O),de=D.trim().length>0&&(!x||k!==void 0)&&C.length>0,xe=_e=>{ge(Ie=>Ie.includes(_e)?Ie.filter(Mt=>Mt!==_e):[...Ie,_e])},Se=()=>{!de||se||x&&k===void 0||(x&&s?(g(s,D.trim(),Y,X,W),_==null||_("Task updated","success"),v?v():b(Hn(s,void 0,C,L),{replace:!0})):(oe(!0),m(C,D.trim(),Y,X.length>0?X:void 0,O||void 0,W,B,()=>{_==null||_("Task created","success"),b(o?Ri(o,L):"/tasks",{replace:!0})},_e=>{_==null||_(_e,"error"),oe(!1)})))},Pe=()=>{if(v){v();return}b(x&&s?Hn(s,void 0,C,L):o?Ri(o,L):"/tasks")},gt=x?"edit task":O?"child task":"new task";return a.jsxs("div",{className:st.container,children:[a.jsxs("div",{className:st.header,children:[a.jsxs("div",{className:st.headerTitle,children:[a.jsx("span",{className:st.badge,children:gt}),z&&a.jsxs("span",{className:st.parentContext,children:[a.jsx("span",{className:st.parentLabel,children:"Child of"}),a.jsx("span",{className:st.parentName,children:z.title})]})]}),a.jsxs("div",{className:st.headerActions,children:[a.jsx("button",{onClick:Se,disabled:!de||se,className:st.btnPrimary,"data-testid":"task-edit-save",children:se?"Creating…":x?"Save Changes":"Create"}),a.jsx("button",{onClick:Pe,className:st.btnGhost,children:"Cancel"})]})]}),a.jsx("div",{className:st.body,children:a.jsxs("div",{className:st.formContent,children:[E&&a.jsxs("div",{className:st.section,children:[a.jsx("label",{className:st.label,htmlFor:"task-edit-workspace",children:"Workspace"}),a.jsxs("select",{id:"task-edit-workspace",value:w,onChange:_e=>T(_e.target.value),className:st.personaSelect,"data-testid":"task-edit-workspace",children:[a.jsx("option",{value:"",children:"Select a workspace..."}),u.map(_e=>a.jsx("option",{value:_e.id,children:_e.name},_e.id))]})]}),a.jsxs("div",{className:st.section,children:[a.jsx("label",{className:st.label,htmlFor:"task-edit-title",children:"Title"}),a.jsx("input",{id:"task-edit-title",type:"text",value:D,onChange:_e=>H(_e.target.value),placeholder:"Task title...",autoFocus:!0,className:st.titleInput,"data-testid":"task-edit-title",onKeyDown:_e=>{_e.key==="Enter"&&de&&Se()}})]}),a.jsxs("div",{className:st.section,children:[a.jsx("label",{className:st.label,htmlFor:"task-edit-description",children:"Description"}),a.jsx("textarea",{id:"task-edit-description",value:Y,onChange:_e=>U(_e.target.value),placeholder:"Describe the task... (markdown supported)",className:st.descriptionTextarea,"data-testid":"task-edit-description",rows:8})]}),a.jsxs("div",{className:st.section,children:[a.jsx("label",{className:st.label,htmlFor:"task-edit-persona",children:"Default Persona"}),a.jsxs("select",{id:"task-edit-persona",value:W,onChange:_e=>le(_e.target.value),className:st.personaSelect,"data-testid":"task-edit-persona",children:[a.jsx("option",{value:"",children:"(Inherit)"}),p.map(_e=>a.jsx("option",{value:_e.id,children:_e.name},_e.id))]})]}),!x&&a.jsx("div",{className:st.section,children:a.jsxs("label",{className:st.depItem,"data-testid":"task-edit-can-decompose",children:[a.jsx("input",{type:"checkbox",checked:B,onChange:_e=>R(_e.target.checked)}),"Can spawn subtasks"]})}),a.jsxs("div",{className:st.section,children:[a.jsx("div",{className:st.label,children:"Dependencies"}),pe.length===0?a.jsx("div",{className:st.noDeps,children:"No other tasks in this workspace"}):a.jsx("div",{className:st.depList,children:pe.map(_e=>{const Ie=X.includes(_e.id);return a.jsxs("label",{className:`${st.depItem} ${Ie?st.depItemSelected:""}`,"data-testid":`dep-option-${_e.id}`,children:[a.jsx("input",{type:"checkbox",checked:Ie,onChange:()=>xe(_e.id)}),_e.title,a.jsxs("span",{style:{opacity:.5,fontSize:"11px",marginLeft:"4px"},children:["(",_e.status,")"]})]},_e.id)})})]})]})})]})}const EB="_actionButtons_1rjka_1",AB="_btnPrimary_1rjka_8",DB="_btnDanger_1rjka_39",RB="_btnGhost_1rjka_78",Qt={actionButtons:EB,btnPrimary:AB,btnDanger:DB,btnGhost:RB};function MB({task:t,sessionId:s,isBlocked:o,onStart:r,onResume:c,onStop:d,onPause:u,onDelete:p,onEdit:m}){if(t.status==="not_started")return o?a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{onClick:m,className:Qt.btnGhost,"data-testid":"task-action-edit",children:"Edit"}),a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})]}):a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{"data-testid":"task-header-start",onClick:r,className:Qt.btnPrimary,children:"Start"}),a.jsx("button",{onClick:m,className:Qt.btnGhost,"data-testid":"task-action-edit",children:"Edit"}),a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})]});if(t.status==="working")return a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{onClick:d,className:Qt.btnDanger,"data-testid":"task-action-stop",children:"Stop"}),a.jsx("button",{onClick:u,disabled:!s,className:Qt.btnGhost,"data-testid":"task-action-pause",children:"Pause"})]});if(t.status==="paused")return a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{onClick:d,className:Qt.btnPrimary,"data-testid":"task-action-stop",children:"Stop"}),a.jsx("button",{onClick:c,className:Qt.btnGhost,"data-testid":"task-action-resume",children:"Resume"}),a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})]});if(t.status==="complete")return a.jsx("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})});if(t.status==="failed")return a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{onClick:r,className:Qt.btnPrimary,"data-testid":"task-header-start",children:"Retry"}),a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})]})}const IB="_workpadSection_y8nj9_1",OB="_workpadLabel_y8nj9_9",LB="_workpadStatus_y8nj9_17",BB="_workpadSummary_y8nj9_23",$B="_workpadExtra_y8nj9_29",qa={workpadSection:IB,workpadLabel:OB,workpadStatus:LB,workpadSummary:BB,workpadExtra:$B};function zB({workpad:t}){if(!t)return;let s;try{const o=JSON.parse(t);if(o==null||typeof o!="object"||Array.isArray(o))return;s=o}catch{return a.jsxs("div",{className:qa.workpadSection,"data-testid":"workpad-panel",children:[a.jsx("div",{className:qa.workpadLabel,children:"Workpad"}),a.jsx("div",{className:qa.workpadExtra,children:t})]})}if(!(!s.status&&!s.summary&&!s.extra))return a.jsxs("div",{className:qa.workpadSection,"data-testid":"workpad-panel",children:[a.jsx("div",{className:qa.workpadLabel,children:"Workpad"}),s.status&&a.jsx("div",{className:qa.workpadStatus,"data-testid":"workpad-status",children:s.status}),s.summary&&a.jsx("div",{className:qa.workpadSummary,"data-testid":"workpad-summary",children:s.summary}),s.extra&&Object.keys(s.extra).length>0&&a.jsx("div",{className:qa.workpadExtra,"data-testid":"workpad-extra",children:JSON.stringify(s.extra,null,2)})]})}const HB="_overviewDashboard_r05qm_1",PB="_overviewHero_r05qm_7",UB="_statusBadge_r05qm_14",VB="_statusPending_r05qm_26",GB="_statusAssigned_r05qm_31",qB="_statusInProgress_r05qm_36",FB="_statusReview_r05qm_41",ZB="_statusDone_r05qm_46",KB="_statusFailed_r05qm_51",YB="_statusWaitingInput_r05qm_56",JB="_overviewBranchPill_r05qm_61",WB="_branchLink_r05qm_76",XB="_overviewSection_r05qm_87",QB="_overviewLabel_r05qm_93",e8="_overviewValue_r05qm_100",t8="_overviewMuted_r05qm_105",n8="_overviewMarkdown_r05qm_111",s8="_envRow_r05qm_180",a8="_envDot_r05qm_186",i8="_envDotGreen_r05qm_193",o8="_envDotYellow_r05qm_197",r8="_envDotRed_r05qm_201",l8="_envDotGray_r05qm_205",c8="_depList_r05qm_209",d8="_depItem_r05qm_215",u8="_depBlocked_r05qm_222",f8="_depDone_r05qm_226",p8="_timeline_r05qm_230",m8="_timelineRow_r05qm_236",h8="_timelineKey_r05qm_243",g8="_timelineValue_r05qm_249",v8="_timelineDelta_r05qm_253",y8="_reviewNotes_r05qm_264",be={overviewDashboard:HB,overviewHero:PB,statusBadge:UB,statusPending:VB,statusAssigned:GB,statusInProgress:qB,statusReview:FB,statusDone:ZB,statusFailed:KB,statusWaitingInput:YB,overviewBranchPill:JB,branchLink:WB,overviewSection:XB,overviewLabel:QB,overviewValue:e8,overviewMuted:t8,overviewMarkdown:n8,envRow:s8,envDot:a8,envDotGreen:i8,envDotYellow:o8,envDotRed:r8,envDotGray:l8,depList:c8,depItem:d8,depBlocked:u8,depDone:f8,timeline:p8,timelineRow:m8,timelineKey:h8,timelineValue:g8,timelineDelta:v8,reviewNotes:y8};function Yc(t){if(!t)return"—";const s=new Date(t);return isNaN(s.getTime())?"—":s.toLocaleString(void 0,{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"})}function $p(t,s){if(!t||!s)return;const o=new Date(s).getTime()-new Date(t).getTime();if(isNaN(o)||o<0)return;const r=Math.floor(o/6e4),c=Math.floor(o%6e4/1e3);if(r===0)return`${c}s`;const d=Math.floor(r/60),u=r%60;return d===0?`${r}m ${c}s`:`${d}h ${u}m`}function c_(t){const s=t.toLowerCase();return s==="ready"||s==="running"||s==="available"||s==="connected"?be.envDotGreen:s==="provisioning"||s==="starting"||s==="pending"||s==="connecting"?be.envDotYellow:s==="error"||s==="failed"||s==="disconnected"?be.envDotRed:be.envDotGray}function b8({status:t}){const s=Wa(t),o=GT(t);return a.jsx("span",{className:`${be.statusBadge} ${be[o]??be.statusPending}`,"data-testid":"task-overview-status-badge",children:s.label})}function _8({task:t,tasksById:s,environments:o,workspaces:r,taskSessions:c,selectedEnvId:d,taskUsage:u,treeUsage:p}){const m=c.length>0?c[c.length-1]:void 0,g=(m==null?void 0:m.environmentId)??"",v=g?o.find(k=>k.id===g):void 0,_=r.find(k=>k.id===t.workspaceId),b=o.find(k=>k.id===d),x=t.branch&&(_!=null&&_.repoUrl)?`${_.repoUrl.replace(/\/$/,"")}/tree/${encodeURIComponent(t.branch)}`:void 0;return a.jsxs("div",{className:be.overviewDashboard,"data-testid":"task-overview-panel",children:[a.jsxs("div",{className:be.overviewHero,children:[a.jsx(b8,{status:t.status}),t.branch&&a.jsx("span",{className:be.overviewBranchPill,"data-testid":"task-overview-branch",children:x?a.jsxs("a",{href:x,target:"_blank",rel:"noreferrer noopener",className:be.branchLink,children:["🔗"," ",t.branch]}):a.jsxs("span",{children:["🔗"," ",t.branch]})})]}),typeof t.description=="string"&&t.description&&a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-description",children:[a.jsx("div",{className:be.overviewLabel,children:"Description"}),a.jsx("div",{className:be.overviewMarkdown,children:a.jsx(Ed,{remarkPlugins:[Ad],children:t.description})})]}),t.workpad&&a.jsx(zB,{workpad:t.workpad}),a.jsxs("div",{className:be.overviewSection,children:[a.jsx("div",{className:be.overviewLabel,children:"Environment"}),g&&v?a.jsxs("div",{className:be.envRow,"data-testid":"task-overview-environment",children:[a.jsx("span",{className:`${be.envDot} ${c_(v.status)}`,title:v.status,"aria-label":`Status: ${v.status}`,role:"img"}),a.jsx("span",{className:be.overviewValue,children:v.displayName})]}):b?a.jsxs("div",{className:be.envRow,"data-testid":"task-overview-environment",children:[a.jsx("span",{className:`${be.envDot} ${c_(b.status)}`,title:b.status,"aria-label":`Status: ${b.status}`,role:"img"}),a.jsx("span",{className:be.overviewValue,children:b.displayName}),a.jsx("span",{className:be.overviewMuted,children:"(workspace default)"})]}):a.jsx("div",{className:be.overviewMuted,children:"Set in workspace settings"})]}),a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-dependencies",children:[a.jsx("div",{className:be.overviewLabel,children:"Dependencies"}),t.dependsOn.length===0?a.jsx("div",{className:be.overviewMuted,children:"None"}):a.jsx("div",{className:be.depList,children:t.dependsOn.map(k=>{const j=s.get(k),w=(j==null?void 0:j.status)==="complete";return a.jsxs("div",{className:`${be.depItem} ${w?be.depDone:be.depBlocked}`,children:[a.jsx("span",{children:w?"✓":"○"}),a.jsx("span",{children:(j==null?void 0:j.title)??k})]},k)})})]}),a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-timeline",children:[a.jsx("div",{className:be.overviewLabel,children:"Timeline"}),a.jsxs("div",{className:be.timeline,children:[t.createdAt&&a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Created"}),a.jsx("span",{className:be.timelineValue,children:Yc(t.createdAt)})]}),t.assignedAt&&(()=>{const k=$p(t.createdAt,t.assignedAt);return a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Assigned"}),a.jsx("span",{className:be.timelineValue,children:Yc(t.assignedAt)}),k!==void 0&&a.jsx("span",{className:be.timelineDelta,children:k})]})})(),t.startedAt&&(()=>{const k=$p(t.assignedAt??t.createdAt,t.startedAt);return a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Started"}),a.jsx("span",{className:be.timelineValue,children:Yc(t.startedAt)}),k!==void 0&&a.jsx("span",{className:be.timelineDelta,children:k})]})})(),t.completedAt&&(()=>{const k=$p(t.startedAt,t.completedAt);return a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Completed"}),a.jsx("span",{className:be.timelineValue,children:Yc(t.completedAt)}),k!==void 0&&a.jsx("span",{className:be.timelineDelta,children:k})]})})(),!t.createdAt&&!t.assignedAt&&!t.startedAt&&!t.completedAt&&a.jsx("div",{className:be.overviewMuted,children:"No timing data"})]})]}),u&&u.costMillicents>0&&a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-usage",children:[a.jsx("div",{className:be.overviewLabel,children:"Usage"}),a.jsxs("div",{className:be.timeline,children:[a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Cost"}),a.jsx("span",{className:be.timelineValue,children:Is(u.costMillicents)}),a.jsxs("span",{className:be.timelineDelta,children:[u.sessionCount," session",u.sessionCount!==1?"s":""]})]}),p&&p.costMillicents>u.costMillicents&&a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Total (incl. subtasks)"}),a.jsx("span",{className:be.timelineValue,children:Is(p.costMillicents)}),a.jsxs("span",{className:be.timelineDelta,children:[p.sessionCount," session",p.sessionCount!==1?"s":""]})]})]})]}),(t.tokenBudget>0||t.costBudgetMillicents>0)&&a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-budget",children:[a.jsx("div",{className:be.overviewLabel,children:"Budget"}),a.jsxs("div",{className:be.timeline,children:[t.tokenBudget>0&&a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Tokens"}),a.jsxs("span",{className:be.timelineValue,children:[zo(((u==null?void 0:u.inputTokens)??0)+((u==null?void 0:u.outputTokens)??0))," / ",zo(t.tokenBudget)]})]}),t.costBudgetMillicents>0&&a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Cost"}),a.jsxs("span",{className:be.timelineValue,children:[Is((u==null?void 0:u.costMillicents)??0)," / ",Is(t.costBudgetMillicents)]})]})]})]}),t.reviewNotes&&a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-review-notes",children:[a.jsx("div",{className:be.overviewLabel,children:"Review Notes"}),a.jsx("div",{className:be.reviewNotes,children:t.reviewNotes})]})]})}function x8({plugins:t,loading:s,onSetPluginEnabled:o}){return a.jsxs("div",{className:fe.container,"data-testid":"plugins-panel",children:[a.jsx("h2",{className:fe.heading,children:"Plugins"}),a.jsxs("div",{className:fe.section,children:[a.jsx("p",{className:fe.sectionDescription,children:"Enable or disable optional Grackle plugins. A server restart is required for changes to take effect."}),s&&a.jsx("p",{className:fe.emptyState,children:"Loading plugins..."}),!s&&t.length===0&&a.jsx("p",{className:fe.emptyState,children:"No plugins found."}),!s&&t.map(r=>{const c=r.enabled!==r.loaded;return a.jsxs("div",{className:fe.tokenRow,"data-testid":`plugin-row-${r.name}`,children:[a.jsxs("div",{style:{flex:1},children:[a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[a.jsx("span",{className:fe.tokenName,children:r.name}),r.required&&a.jsx("span",{className:fe.tokenBadge,title:"Required — cannot be disabled",children:"required"})]}),a.jsx("div",{className:fe.tokenTarget,children:r.description}),c&&a.jsx("div",{style:{fontSize:"var(--font-size-xs)",color:"var(--accent-yellow)",marginTop:"2px"},"data-testid":`plugin-restart-notice-${r.name}`,children:"Restart Grackle to apply changes"})]}),a.jsx("label",{style:{display:"flex",alignItems:"center",gap:"6px",cursor:r.required?"not-allowed":"pointer"},title:r.required?"Core is required and cannot be disabled":void 0,children:a.jsx("input",{type:"checkbox",checked:r.enabled,disabled:r.required,onChange:d=>o(r.name,d.target.checked),"data-testid":`plugin-toggle-${r.name}`,"aria-label":`Enable or disable ${r.name} plugin`,style:{accentColor:"var(--accent-green)",width:"16px",height:"16px"}})})]},r.name)})]})]})}function k8({githubAccounts:t,githubAccountsLoading:s,onAddGitHubAccount:o,onUpdateGitHubAccount:r,onRemoveGitHubAccount:c,onImportGitHubAccounts:d,onShowToast:u}){const[p,m]=y.useState(""),[g,v]=y.useState(""),[_,b]=y.useState(!1),[x,k]=y.useState(!1),[j,w]=y.useState(!1),[T,C]=y.useState(null),A=t.find(D=>D.id===T),L=async D=>{if(D.preventDefault(),!(!p.trim()||!g.trim())){k(!0);try{await o(p.trim(),g.trim(),"",_),u==null||u("GitHub account added","success"),m(""),v(""),b(!1)}catch(H){const Y=H instanceof Error?H.message:"Failed to add account";u==null||u(Y,"error")}finally{k(!1)}}},E=async D=>{try{await r(D,{isDefault:!0}),u==null||u("Default account updated","success")}catch(H){const Y=H instanceof Error?H.message:"Failed to update account";u==null||u(Y,"error")}},O=async()=>{if(T)try{await c(T),u==null||u("GitHub account removed","info")}catch(D){const H=D instanceof Error?D.message:"Failed to remove account";u==null||u(H,"error")}finally{C(null)}},z=async()=>{w(!0);try{const D=await d();D.imported>0?u==null||u(`Imported ${D.imported} account(s): ${D.usernames.join(", ")}`,"success"):u==null||u("No new accounts to import","info")}catch(D){const H=D instanceof Error?D.message:"Import failed";u==null||u(H,"error")}finally{w(!1)}};return a.jsxs(a.Fragment,{children:[a.jsx(ks,{isOpen:T!==null,title:"Remove GitHub Account?",description:A?`"${A.label}"${A.username?` (@${A.username})`:""} will be permanently removed.`:void 0,onConfirm:()=>{O().catch(()=>{})},onCancel:()=>C(null)}),a.jsxs("section",{className:fe.section,"data-testid":"github-accounts-panel",children:[a.jsx("h3",{className:fe.sectionTitle,children:"GitHub Accounts"}),a.jsx("p",{className:fe.sectionDescription,children:"Register multiple GitHub accounts to use different identities per environment. The default account is used when no specific account is assigned."}),s&&t.length===0?a.jsx("div",{className:fe.emptyState,children:"Loading..."}):t.length===0?a.jsx("div",{className:fe.emptyStateInfo,children:"No GitHub accounts registered. Add one below or import from the gh CLI."}):a.jsx("div",{className:fe.tokenList,children:t.map(D=>a.jsxs("div",{className:fe.tokenRow,"data-testid":`github-account-row-${D.id}`,children:[D.isDefault&&a.jsx("span",{className:fe.tokenBadge,title:"Default account",children:"default"}),a.jsx("span",{className:fe.tokenName,children:D.label}),D.username&&a.jsxs("span",{className:fe.tokenTarget,children:["@",D.username]}),!D.isDefault&&a.jsx("button",{className:fe.deleteButton,onClick:()=>{E(D.id).catch(()=>{})},title:"Set as default","aria-label":`Set ${D.label} as default`,"data-testid":`github-account-set-default-${D.id}`,children:a.jsx($T,{size:Gt,"aria-hidden":"true"})}),a.jsx("button",{className:fe.deleteButton,onClick:()=>C(D.id),title:`Remove ${D.label}`,"aria-label":`Remove ${D.label}`,"data-testid":`github-account-remove-${D.id}`,children:a.jsx($s,{size:Gt,"aria-hidden":"true"})})]},D.id))}),a.jsxs("form",{className:fe.addForm,onSubmit:D=>{L(D).catch(()=>{})},children:[a.jsxs("div",{className:fe.formRow,children:[a.jsx("input",{className:fe.input,type:"text",placeholder:"Label (e.g. personal, work)",value:p,onChange:D=>m(D.target.value),"data-testid":"github-account-label-input"}),a.jsx("input",{className:fe.input,type:"password",placeholder:"Personal access token",value:g,onChange:D=>v(D.target.value),"data-testid":"github-account-token-input"})]}),a.jsxs("div",{className:fe.formRow,children:[a.jsxs("label",{className:fe.tokenTarget,style:{display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},children:[a.jsx("input",{type:"checkbox",checked:_,onChange:D=>b(D.target.checked),"data-testid":"github-account-default-checkbox"}),"Set as default"]}),a.jsx("button",{className:fe.addButton,type:"submit",disabled:!p.trim()||!g.trim()||x,"data-testid":"github-account-add-button",children:x?"Adding...":"Add Account"}),a.jsx("button",{className:fe.addButton,type:"button",onClick:()=>{z().catch(()=>{})},disabled:j,"data-testid":"github-account-import-button",children:j?"Importing...":"Import from gh CLI"})]})]})]})]})}const S8="_container_legrg_1",j8="_header_legrg_8",T8="_headerTitle_legrg_35",w8="_badge_legrg_44",N8="_headerActions_legrg_54",C8="_body_legrg_61",E8="_formContent_legrg_73",A8="_section_legrg_85",D8="_label_legrg_91",R8="_nameInput_legrg_98",M8="_fieldInput_legrg_131",I8="_adapterSelect_legrg_164",O8="_readOnlyValue_legrg_198",L8="_codespaceSection_legrg_204",B8="_codespaceActions_legrg_210",$8="_creatingHint_legrg_216",z8="_errorHint_legrg_222",H8="_btnPrimary_legrg_235",P8="_btnGhost_legrg_266",ie={container:S8,header:j8,headerTitle:T8,badge:w8,headerActions:N8,body:C8,formContent:E8,section:A8,label:D8,nameInput:R8,fieldInput:M8,adapterSelect:I8,readOnlyValue:O8,codespaceSection:L8,codespaceActions:B8,creatingHint:$8,errorHint:z8,btnPrimary:H8,btnGhost:P8},cd=1,dd=65535;function zp(t){if(!t.trim())return!0;const s=Number(t);return Number.isInteger(s)&&s>=cd&&s<=dd}function Hp(t){try{const s=JSON.parse(t);if(typeof s=="object"&&s!==null&&!Array.isArray(s))return s}catch{}return{}}function U8({codespaceName:t,onCodespaceNameChange:s,envName:o,onEnvNameChange:r,codespaces:c,codespaceError:d,codespaceListError:u,codespaceCreating:p,onCreateCodespace:m}){const[g,v]=y.useState("pick"),[_,b]=y.useState(""),[x,k]=y.useState("");return g==="create"?a.jsxs("div",{className:ie.codespaceSection,children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Repository"}),a.jsx("input",{type:"text",value:_,onChange:j=>b(j.target.value),placeholder:"owner/repo",className:ie.fieldInput,"data-testid":"env-codespace-repo"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Machine Type"}),a.jsx("input",{type:"text",value:x,onChange:j=>k(j.target.value),placeholder:"Machine type (optional)...",className:ie.fieldInput,"data-testid":"env-codespace-machine"})]}),a.jsxs("div",{className:ie.codespaceActions,children:[a.jsx("button",{onClick:()=>{_.trim()&&(m(_.trim(),x.trim()||void 0),v("pick"),b(""),k(""))},disabled:!_.trim(),className:ie.btnPrimary,children:"Create"}),a.jsx("button",{onClick:()=>{v("pick"),b(""),k("")},className:ie.btnGhost,children:"Cancel"})]})]}):a.jsx("div",{className:ie.codespaceSection,children:a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Codespace"}),!u&&a.jsxs("select",{value:t,onChange:j=>{j.target.value==="__create__"?(v("create"),s("")):(s(j.target.value),j.target.value&&!o.trim()&&r(j.target.value))},disabled:p,className:ie.adapterSelect,"data-testid":"env-codespace-select",children:[a.jsx("option",{value:"",children:"Select a codespace..."}),c.map(j=>a.jsxs("option",{value:j.name,children:[j.name," (",j.repository,") — ",j.state]},j.name)),a.jsx("option",{value:"__create__",children:"Create new from repo..."})]}),p&&a.jsx("span",{className:ie.creatingHint,children:"Creating codespace..."}),u&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:ie.errorHint,children:u}),a.jsx("input",{type:"text",value:t,onChange:j=>s(j.target.value),placeholder:"Or enter codespace name manually...",className:ie.fieldInput,"data-testid":"env-codespace-manual"})]}),d&&!u&&a.jsx("span",{className:ie.errorHint,children:d})]})})}function tk({mode:t,environmentId:s,environments:o,githubAccounts:r,onAddEnvironment:c,onUpdateEnvironment:d,onListCodespaces:u,codespaces:p,codespaceError:m,codespaceListError:g,codespaceCreating:v,onCreateCodespace:_,onListDockerContainers:b,dockerContainers:x,dockerContainersError:k,onShowToast:j}){const w=dt(),T=t==="edit",C=T&&s?o.find(re=>re.id===s):void 0,[A,L]=y.useState(""),[E,O]=y.useState("local"),[z,D]=y.useState(""),[H,Y]=y.useState(""),[U,X]=y.useState(""),[ge,W]=y.useState(""),[le,B]=y.useState(""),[R,se]=y.useState(""),[oe,G]=y.useState(""),[pe,de]=y.useState(""),[xe,Se]=y.useState("create"),[Pe,gt]=y.useState(""),[_e,Ie]=y.useState(null),Mt=y.useCallback(()=>{const re={};if(E==="local"){if(z.trim()&&(re.host=z.trim()),H.trim()){const ve=Number(H);Number.isInteger(ve)&&(re.port=ve)}}else if(E==="ssh"){if(re.host=z.trim(),U.trim()&&(re.user=U.trim()),H.trim()){const ve=Number(H);Number.isInteger(ve)&&(re.sshPort=ve)}ge.trim()&&(re.identityFile=ge.trim())}else E==="docker"?xe==="attach"?Pe.trim()&&(re.attach=Pe.trim()):(le.trim()&&(re.image=le.trim()),R.trim()&&(re.repo=R.trim())):E==="codespace"&&(re.codespaceName=oe.trim());return re},[E,z,H,U,ge,le,R,oe,xe,Pe]),hn=()=>!(!A.trim()||E==="ssh"&&!z.trim()||E==="codespace"&&!oe.trim()||E==="docker"&&xe==="attach"&&!Pe.trim()||(E==="local"||E==="ssh")&&!zp(H)),ce=()=>{hn()&&(c(A.trim(),E,Mt(),pe||void 0),j==null||j("Environment added successfully","success"),w($o,{replace:!0}))},Ue=()=>{w(s?Mi(s):$o)},ut=y.useCallback((re,ve)=>{if(!C||!s)return;const ft=Hp(C.adapterConfig),Me=ve.trim();Me?ft[re]=Me:delete ft[re],d(s,{adapterConfig:ft})},[C,s,d]),te=y.useCallback((re,ve)=>{if(!C||!s)return;const ft=Hp(C.adapterConfig);if(ve.trim()){const Me=Number(ve);Number.isInteger(Me)&&Me>=cd&&Me<=dd&&(ft[re]=Me)}else delete ft[re];d(s,{adapterConfig:ft})},[C,s,d]);if(T){if(!C)return a.jsxs("div",{className:ie.container,children:[a.jsxs("div",{className:ie.header,children:[a.jsx("div",{className:ie.headerTitle,children:a.jsx("span",{className:ie.badge,children:"edit environment"})}),a.jsx("div",{className:ie.headerActions,children:a.jsx("button",{onClick:Ue,className:ie.btnGhost,children:"Back"})})]}),a.jsx("div",{className:ie.body,children:a.jsx("div",{className:ie.formContent,children:a.jsx("span",{className:ie.readOnlyValue,children:"Environment not found"})})})]});const re=Hp(C.adapterConfig);return a.jsxs("div",{className:ie.container,"data-testid":"env-edit-panel",children:[a.jsxs("div",{className:ie.header,children:[a.jsx("div",{className:ie.headerTitle,children:a.jsx("span",{className:ie.badge,children:"edit environment"})}),a.jsx("div",{className:ie.headerActions,children:a.jsx("button",{onClick:Ue,className:ie.btnGhost,"data-testid":"env-edit-back",children:"Back"})})]}),a.jsx("div",{className:ie.body,children:a.jsxs("div",{className:ie.formContent,children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Name"}),a.jsx(Ut,{value:C.displayName,onSave:ve=>{s&&d(s,{displayName:ve})},validate:ve=>ve.trim()===""?"Name cannot be empty":void 0,mode:"edit",fieldId:"name",activeFieldId:_e,onActivate:Ie,placeholder:"Environment name",ariaLabel:"Environment name","data-testid":"env-edit-name"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Adapter Type"}),a.jsx("span",{className:ie.readOnlyValue,"data-testid":"env-edit-adapter-type",children:C.adapterType})]}),(C.adapterType==="codespace"||C.adapterType==="docker")&&(r.length>0||!!C.githubAccountId)&&a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"GitHub Account"}),a.jsxs("select",{value:C.githubAccountId||"",onChange:ve=>{s&&d(s,{githubAccountId:ve.target.value})},className:ie.adapterSelect,"data-testid":"env-edit-github-account",children:[a.jsx("option",{value:"",children:"(Default)"}),r.map(ve=>a.jsxs("option",{value:ve.id,children:[ve.label,ve.username?` (@${ve.username})`:"",ve.isDefault?" — default":""]},ve.id))]})]}),C.adapterType==="local"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Host"}),a.jsx(Ut,{value:String(re.host??""),onSave:ve=>ut("host",ve),mode:"edit",fieldId:"host",activeFieldId:_e,onActivate:Ie,placeholder:"(default)",ariaLabel:"Host","data-testid":"env-edit-host"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Port"}),a.jsx(Ut,{value:String(re.port??""),onSave:ve=>te("port",ve),validate:ve=>zp(ve)?void 0:"Port must be 1-65535",mode:"edit",fieldId:"port",activeFieldId:_e,onActivate:Ie,placeholder:"(default)",ariaLabel:"Port","data-testid":"env-edit-port"})]})]}),C.adapterType==="ssh"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Host"}),a.jsx(Ut,{value:String(re.host??""),onSave:ve=>ut("host",ve),validate:ve=>ve.trim()===""?"Host is required":void 0,mode:"edit",fieldId:"host",activeFieldId:_e,onActivate:Ie,placeholder:"hostname or IP",ariaLabel:"Host","data-testid":"env-edit-host"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"User"}),a.jsx(Ut,{value:String(re.user??""),onSave:ve=>ut("user",ve),mode:"edit",fieldId:"user",activeFieldId:_e,onActivate:Ie,placeholder:"(default)",ariaLabel:"User","data-testid":"env-edit-user"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"SSH Port"}),a.jsx(Ut,{value:String(re.sshPort??""),onSave:ve=>te("sshPort",ve),validate:ve=>zp(ve)?void 0:"Port must be 1-65535",mode:"edit",fieldId:"sshPort",activeFieldId:_e,onActivate:Ie,placeholder:"22",ariaLabel:"SSH Port","data-testid":"env-edit-ssh-port"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Identity File"}),a.jsx(Ut,{value:String(re.identityFile??""),onSave:ve=>ut("identityFile",ve),mode:"edit",fieldId:"identityFile",activeFieldId:_e,onActivate:Ie,placeholder:"~/.ssh/id_rsa",ariaLabel:"Identity File","data-testid":"env-edit-identity-file"})]})]}),C.adapterType==="docker"&&re.attach!==void 0&&a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Attach (container)"}),a.jsx(Ut,{value:String(re.attach??""),onSave:ve=>ut("attach",ve),validate:ve=>ve.trim()===""?"Container name is required":void 0,mode:"edit",fieldId:"attach",activeFieldId:_e,onActivate:Ie,placeholder:"container name or ID",ariaLabel:"Attach container","data-testid":"env-edit-attach"})]}),C.adapterType==="docker"&&re.attach===void 0&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Image"}),a.jsx(Ut,{value:String(re.image??""),onSave:ve=>ut("image",ve),mode:"edit",fieldId:"image",activeFieldId:_e,onActivate:Ie,placeholder:"(default)",ariaLabel:"Image","data-testid":"env-edit-image"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Repo"}),a.jsx(Ut,{value:String(re.repo??""),onSave:ve=>ut("repo",ve),mode:"edit",fieldId:"repo",activeFieldId:_e,onActivate:Ie,placeholder:"(none)",ariaLabel:"Repo","data-testid":"env-edit-repo"})]})]}),C.adapterType==="codespace"&&a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Codespace Name"}),a.jsx(Ut,{value:String(re.codespaceName??""),onSave:ve=>ut("codespaceName",ve),validate:ve=>ve.trim()===""?"Codespace name is required":void 0,mode:"edit",fieldId:"codespaceName",activeFieldId:_e,onActivate:Ie,placeholder:"codespace-name",ariaLabel:"Codespace Name","data-testid":"env-edit-codespace-name"})]})]})})]})}return a.jsxs("div",{className:ie.container,"data-testid":"env-create-panel",children:[a.jsxs("div",{className:ie.header,children:[a.jsx("div",{className:ie.headerTitle,children:a.jsx("span",{className:ie.badge,children:"new environment"})}),a.jsxs("div",{className:ie.headerActions,children:[a.jsx("button",{onClick:ce,disabled:!hn(),className:ie.btnPrimary,"data-testid":"env-create-submit",children:"Create"}),a.jsx("button",{onClick:Ue,className:ie.btnGhost,children:"Cancel"})]})]}),a.jsx("div",{className:ie.body,children:a.jsxs("div",{className:ie.formContent,children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-name",children:"Name"}),a.jsx("input",{id:"env-create-name",type:"text",value:A,onChange:re=>L(re.target.value),placeholder:"Environment name...",autoFocus:!0,className:ie.nameInput,"data-testid":"env-create-name",onKeyDown:re=>{re.key==="Enter"&&hn()&&ce()}})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-adapter",children:"Adapter Type"}),a.jsxs("select",{id:"env-create-adapter",value:E,onChange:re=>{O(re.target.value),re.target.value==="codespace"&&u(pe||void 0)},className:ie.adapterSelect,"data-testid":"env-create-adapter",children:[a.jsx("option",{value:"local",children:"local"}),a.jsx("option",{value:"ssh",children:"ssh"}),a.jsx("option",{value:"docker",children:"docker"}),a.jsx("option",{value:"codespace",children:"codespace"})]})]}),(E==="codespace"||E==="docker")&&r.length>0&&a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-github-account",children:"GitHub Account"}),a.jsxs("select",{id:"env-create-github-account",value:pe,onChange:re=>{de(re.target.value),E==="codespace"&&u(re.target.value||void 0)},className:ie.adapterSelect,"data-testid":"env-create-github-account",children:[a.jsx("option",{value:"",children:"(Default)"}),r.map(re=>a.jsxs("option",{value:re.id,children:[re.label," (@",re.username,")",re.isDefault?" — default":""]},re.id))]})]}),E==="local"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-host",children:"Host"}),a.jsx("input",{id:"env-create-host",type:"text",value:z,onChange:re=>D(re.target.value),placeholder:"Host (optional)...",className:ie.fieldInput,"data-testid":"env-create-host"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-port",children:"Port"}),a.jsx("input",{id:"env-create-port",type:"number",min:cd,max:dd,value:H,onChange:re=>Y(re.target.value),placeholder:"Port (optional)...",className:ie.fieldInput,"data-testid":"env-create-port"})]})]}),E==="ssh"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-host",children:"Host"}),a.jsx("input",{id:"env-create-host",type:"text",value:z,onChange:re=>D(re.target.value),placeholder:"Host (required)...",className:ie.fieldInput,"data-testid":"env-create-host"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-user",children:"User"}),a.jsx("input",{id:"env-create-user",type:"text",value:U,onChange:re=>X(re.target.value),placeholder:"User (optional)...",className:ie.fieldInput,"data-testid":"env-create-user"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-port",children:"SSH Port"}),a.jsx("input",{id:"env-create-port",type:"number",min:cd,max:dd,value:H,onChange:re=>Y(re.target.value),placeholder:"SSH port (optional)...",className:ie.fieldInput,"data-testid":"env-create-port"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-identity",children:"Identity File"}),a.jsx("input",{id:"env-create-identity",type:"text",value:ge,onChange:re=>W(re.target.value),placeholder:"Identity file (optional)...",className:ie.fieldInput,"data-testid":"env-create-identity"})]})]}),E==="docker"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-docker-mode",children:"Source"}),a.jsxs("select",{id:"env-docker-mode",value:xe,onChange:re=>{const ve=re.target.value;Se(ve),ve==="attach"&&b()},className:ie.adapterSelect,"data-testid":"env-docker-mode",children:[a.jsx("option",{value:"create",children:"Create new container"}),a.jsx("option",{value:"attach",children:"Attach to existing container"})]})]}),xe==="create"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-image",children:"Image"}),a.jsx("input",{id:"env-create-image",type:"text",value:le,onChange:re=>B(re.target.value),placeholder:"Image (optional)...",className:ie.fieldInput,"data-testid":"env-create-image"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-repo",children:"Repo"}),a.jsx("input",{id:"env-create-repo",type:"text",value:R,onChange:re=>se(re.target.value),placeholder:"Repo (optional)...",className:ie.fieldInput,"data-testid":"env-create-repo"})]})]}):a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Container"}),!k&&x.length>0&&a.jsxs("select",{value:Pe,onChange:re=>{gt(re.target.value),re.target.value&&!A.trim()&&L(re.target.value)},className:ie.adapterSelect,"data-testid":"env-docker-container-select",children:[a.jsx("option",{value:"",children:"Select a container..."}),x.map(re=>a.jsxs("option",{value:re.name,children:[re.name," (",re.image,") ",re.status]},re.id))]}),(k||x.length===0)&&a.jsxs(a.Fragment,{children:[k?a.jsx("span",{className:ie.errorHint,children:k}):a.jsx("span",{className:ie.creatingHint,children:"No running containers found."}),a.jsx("input",{type:"text",value:Pe,onChange:re=>{gt(re.target.value),re.target.value&&!A.trim()&&L(re.target.value)},placeholder:"Enter container name/ID...",className:ie.fieldInput,"data-testid":"env-docker-container-manual"})]})]})]}),E==="codespace"&&a.jsx(U8,{codespaceName:oe,onCodespaceNameChange:G,envName:A,onEnvNameChange:L,codespaces:p,codespaceError:m,codespaceListError:g,codespaceCreating:v,onCreateCodespace:_})]})})]})}const V8="_group_1iprv_1",G8="_groupTitle_1iprv_8",q8="_shortcutList_1iprv_17",F8="_shortcutRow_1iprv_23",Z8="_keys_1iprv_36",K8="_kbd_1iprv_43",Y8="_description_1iprv_60",wi={group:V8,groupTitle:G8,shortcutList:q8,shortcutRow:F8,keys:Z8,kbd:K8,description:Y8},J8=[{title:"Global",shortcuts:[{keys:["?"],description:"Open keyboard shortcuts reference"},{keys:["N"],description:"Create a new task"},{keys:["Escape"],description:"Close dialog or cancel editing"}]},{title:"Task Page",shortcuts:[{keys:["1"],description:"Switch to Overview tab"},{keys:["2"],description:"Switch to Stream tab"},{keys:["3"],description:"Switch to Findings tab"}]},{title:"Workspace Page",shortcuts:[{keys:["1"],description:"Switch to Graph view"},{keys:["2"],description:"Switch to Board view"},{keys:["3"],description:"Switch to Tasks view"}]},{title:"Navigation Lists",shortcuts:[{keys:["←"],description:"Previous tab (horizontal nav)"},{keys:["→"],description:"Next tab (horizontal nav)"},{keys:["↑"],description:"Previous item (vertical nav)"},{keys:["↓"],description:"Next item (vertical nav)"},{keys:["J"],description:"Next item (alias for arrow down/right)"},{keys:["K"],description:"Previous item (alias for arrow up/left)"},{keys:["Home"],description:"Jump to first item"},{keys:["End"],description:"Jump to last item"}]},{title:"Editing",shortcuts:[{keys:["Enter"],description:"Activate / save inline edit"},{keys:["Space"],description:"Activate button or start editing"},{keys:["Escape"],description:"Cancel edit and discard changes"}]},{title:"Sessions",shortcuts:[{keys:["Ctrl/Cmd","Enter"],description:"Send message (when the composer is focused)"},{keys:["Enter"],description:"Insert a new line in the message composer"}]}];function W8(){return a.jsxs("section",{className:fe.section,"data-testid":"keyboard-shortcuts-panel",children:[a.jsx("h3",{className:fe.sectionTitle,children:"Keyboard Shortcuts"}),a.jsx("p",{className:fe.sectionDescription,children:"Keyboard shortcuts for navigating and interacting with Grackle. Global shortcuts are suppressed while typing in text fields."}),J8.map(t=>a.jsxs("div",{className:wi.group,children:[a.jsx("h4",{className:wi.groupTitle,children:t.title}),a.jsx("div",{className:wi.shortcutList,children:t.shortcuts.map(s=>a.jsxs("div",{className:wi.shortcutRow,children:[a.jsx("span",{className:wi.keys,children:s.keys.map(o=>a.jsx("kbd",{className:wi.kbd,children:o},o))}),a.jsx("span",{className:wi.description,children:s.description})]},s.description))})]},t.title))]})}const X8=[{key:"claude",label:"Claude",description:"Forward Claude credentials for AI agent access.",options:[{value:"off",label:"Off"},{value:"subscription",label:"Subscription"},{value:"api_key",label:"API Key"}]},{key:"github",label:"GitHub",description:"Forward GITHUB_TOKEN and GH_TOKEN for git operations.",options:[{value:"off",label:"Off"},{value:"on",label:"On"}]},{key:"copilot",label:"Copilot",description:"Forward Copilot tokens (COPILOT_GITHUB_TOKEN, CLI config).",options:[{value:"off",label:"Off"},{value:"on",label:"On"}]},{key:"codex",label:"Codex",description:"Forward OPENAI_API_KEY for Codex/OpenAI access.",options:[{value:"off",label:"Off"},{value:"on",label:"On"}]},{key:"goose",label:"Goose",description:"Forward Goose config and API keys for Goose agent access.",options:[{value:"off",label:"Off"},{value:"on",label:"On"}]}];function Q8({credentialProviders:t,onUpdateCredentialProviders:s}){const o=(r,c)=>{const d={...t};r==="claude"?d.claude=c:d[r]=c,s(d)};return a.jsxs("section",{className:fe.section,children:[a.jsx("h3",{className:fe.sectionTitle,children:"Credential Providers"}),a.jsx("p",{className:fe.sectionDescription,children:"Enable providers to automatically forward credentials to environments at task start. Credentials are read fresh from the host each time."}),a.jsx("div",{className:fe.tokenList,children:X8.map(r=>a.jsxs("div",{className:fe.tokenRow,children:[a.jsx("span",{className:fe.tokenName,children:r.label}),a.jsx("span",{className:fe.tokenTarget,children:r.description}),a.jsx("select",{className:fe.select,value:t[r.key],onChange:c=>o(r.key,c.target.value),children:r.options.map(c=>a.jsx("option",{value:c.value,children:c.label},c.value))})]},r.key))})]})}const e7="_container_10efq_1",t7="_header_10efq_7",n7="_list_10efq_105",s7="_card_10efq_111",a7="_cardHeader_10efq_125",i7="_cardTitle_10efq_135",o7="_defaultBadge_10efq_141",r7="_cardActions_10efq_155",l7="_description_10efq_160",c7="_meta_10efq_166",d7="_empty_10efq_212",u7="_typeBadge_10efq_362",ss={container:e7,header:t7,list:n7,card:s7,cardHeader:a7,cardTitle:i7,defaultBadge:o7,cardActions:r7,description:l7,meta:c7,empty:d7,typeBadge:u7};function f7({personas:t,appDefaultPersonaId:s,onDeletePersona:o,onSetAppDefaultPersonaId:r,onNavigateToNew:c,onNavigateToPersona:d}){const[u,p]=y.useState(null),m=u?t.find(v=>v.id===u):void 0,g=async v=>{await o(v),p(null)};return a.jsxs("div",{className:ss.container,children:[a.jsxs("div",{className:ss.header,children:[a.jsx("h2",{children:"Personas"}),a.jsx(on,{variant:"primary",size:"md",onClick:c,"data-testid":"persona-new-button",children:"+ New Persona"})]}),t.length===0?a.jsx("p",{className:ss.empty,children:"No personas yet. Create one to get started."}):a.jsx("div",{className:ss.list,children:t.map(v=>{const _=s===v.id,b=v.type==="script";return a.jsxs("div",{className:ss.card,"data-testid":`persona-card-${v.id}`,onClick:()=>d(v.id),role:"button",tabIndex:0,onKeyDown:x=>{x.currentTarget===x.target&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),d(v.id))},children:[a.jsxs("div",{className:ss.cardHeader,children:[a.jsxs("span",{className:ss.cardTitle,children:[a.jsx("strong",{children:v.name}),a.jsx("span",{className:ss.typeBadge,"data-testid":`persona-type-badge-${v.id}`,children:b?"Script":"Agent"}),_&&a.jsx("span",{className:ss.defaultBadge,"data-testid":`persona-default-badge-${v.id}`,children:"App Default"})]}),a.jsxs("div",{className:ss.cardActions,onClick:x=>x.stopPropagation(),children:[!_&&a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>{r(v.id).catch(()=>{})},"data-testid":`persona-set-default-${v.id}`,title:"Set as app default persona",children:"Set Default"}),a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>d(v.id),children:"Edit"}),a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>p(v.id),"data-testid":`persona-delete-${v.id}`,children:"Delete"})]})]}),v.description&&a.jsx("p",{className:ss.description,children:v.description}),a.jsxs("div",{className:ss.meta,children:[v.runtime&&a.jsxs("span",{children:["Runtime: ",v.runtime]}),v.model&&a.jsxs("span",{children:["Model: ",v.model]}),v.maxTurns>0&&a.jsxs("span",{children:["Max turns: ",v.maxTurns]})]})]},v.id)})}),a.jsx(ks,{isOpen:u!==null,title:"Delete Persona?",description:`"${(m==null?void 0:m.name)??""}" will be permanently removed.`,confirmLabel:"Delete",onConfirm:()=>{u&&g(u).catch(()=>{})},onCancel:()=>p(null)})]})}const p7="_container_uy08i_1",m7="_header_uy08i_7",h7="_count_uy08i_13",g7="_presets_uy08i_18",v7="_presetButton_uy08i_24",y7="_filterInput_uy08i_41",b7="_groups_uy08i_53",_7="_group_uy08i_53",x7="_groupHeader_uy08i_68",k7="_groupName_uy08i_77",S7="_groupCount_uy08i_81",j7="_toolList_uy08i_87",T7="_toolItem_uy08i_95",w7="_toolName_uy08i_103",_n={container:p7,header:m7,count:h7,presets:g7,presetButton:v7,filterInput:y7,groups:b7,group:_7,groupHeader:x7,groupName:k7,groupCount:S7,toolList:j7,toolItem:T7,toolName:w7},N7=(()=>{const t=new Map;for(const s of R_){const o=s==="get_version_status"?"version":s.split("_")[0];t.has(o)||t.set(o,[]),t.get(o).push(s)}return[...t.entries()].sort(([s],[o])=>s.localeCompare(o)).map(([s,o])=>({group:s,tools:o.sort()}))})(),C7=[{name:"default",label:"Default",tools:D_},{name:"worker",label:"Worker",tools:G2},{name:"orchestrator",label:"Orchestrator",tools:q2},{name:"admin",label:"Admin",tools:F2}];function d_({selectedTools:t,onChange:s,disabled:o}){const[r,c]=y.useState(""),d=y.useMemo(()=>new Set(t),[t]),u=y.useCallback(v=>{if(o)return;const _=new Set(d);_.has(v)?_.delete(v):_.add(v),s([..._].sort())},[d,s,o]),p=y.useCallback((v,_)=>{if(o)return;const b=new Set(d);for(const x of v)_?b.delete(x):b.add(x);s([...b].sort())},[d,s,o]),m=y.useCallback(v=>{o||s([...v].sort())},[s,o]),g=r.toLowerCase();return a.jsxs("div",{className:_n.container,"data-testid":"mcp-tool-selector",children:[a.jsx("div",{className:_n.header,children:a.jsx("span",{className:_n.count,children:t.length===0?`Using default (${D_.length} tools)`:`${t.length} of ${R_.size} tools selected`})}),a.jsxs("div",{className:_n.presets,"data-testid":"mcp-tool-presets",children:[C7.map(v=>a.jsx("button",{type:"button",className:_n.presetButton,disabled:o,onClick:()=>m(v.tools),"data-testid":`preset-${v.name}`,children:v.label},v.name)),a.jsx("button",{type:"button",className:_n.presetButton,disabled:o,onClick:()=>s([]),"data-testid":"preset-clear",children:"Clear"})]}),a.jsx("input",{type:"text",className:_n.filterInput,placeholder:"Filter tools...",value:r,onChange:v=>c(v.target.value),disabled:o,"data-testid":"mcp-tool-filter"}),a.jsx("div",{className:_n.groups,children:N7.map(({group:v,tools:_})=>{const b=g?_.filter(k=>k.toLowerCase().includes(g)):_;if(b.length===0)return null;const x=b.every(k=>d.has(k));return a.jsxs("div",{className:_n.group,"data-testid":`tool-group-${v}`,children:[a.jsxs("label",{className:_n.groupHeader,children:[a.jsx("input",{type:"checkbox",checked:x,onChange:()=>p(b,x),disabled:o,"data-testid":`group-toggle-${v}`}),a.jsx("span",{className:_n.groupName,children:v}),a.jsxs("span",{className:_n.groupCount,children:["(",b.filter(k=>d.has(k)).length,"/",b.length,")"]})]}),a.jsx("div",{className:_n.toolList,children:b.map(k=>a.jsxs("label",{className:_n.toolItem,children:[a.jsx("input",{type:"checkbox",checked:d.has(k),onChange:()=>u(k),disabled:o,"data-testid":`tool-${k}`}),a.jsx("span",{className:_n.toolName,children:k})]},k))})]},v)})})]})}const E7="_container_1gfuq_1",A7="_header_1gfuq_7",D7="_list_1gfuq_19",R7="_card_1gfuq_25",M7="_cardHeader_1gfuq_40",I7="_cardTitle_1gfuq_46",O7="_statusBadge_1gfuq_56",L7="_enabled_1gfuq_68",B7="_disabled_1gfuq_71",$7="_cardActions_1gfuq_75",z7="_cardMeta_1gfuq_80",H7="_empty_1gfuq_98",as={container:E7,header:A7,list:D7,card:R7,cardHeader:M7,cardTitle:I7,statusBadge:O7,enabled:L7,disabled:B7,cardActions:$7,cardMeta:z7,empty:H7};function P7({schedules:t,personas:s,onDeleteSchedule:o,onToggleEnabled:r,onNavigateToNew:c,onNavigateToSchedule:d}){const[u,p]=y.useState(null),m=u?t.find(b=>b.id===u):void 0,g=async b=>{await o(b),p(null)},v=y.useMemo(()=>{const b=new Map;for(const x of s)b.set(x.id,x.name);return b},[s]),_=b=>v.get(b)??b;return a.jsxs("div",{className:as.container,children:[a.jsxs("div",{className:as.header,children:[a.jsx("h2",{children:"Schedules"}),a.jsx(on,{variant:"primary",size:"md",onClick:c,"data-testid":"schedule-new-button",children:"+ New Schedule"})]}),t.length===0?a.jsx("p",{className:as.empty,"data-testid":"schedule-empty-state",children:"No schedules yet. Create one to run tasks on a recurring cadence."}):a.jsx("div",{className:as.list,children:t.map(b=>a.jsxs("div",{className:as.card,"data-testid":`schedule-card-${b.id}`,onClick:()=>d(b.id),role:"button",tabIndex:0,onKeyDown:x=>{x.currentTarget===x.target&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),d(b.id))},children:[a.jsxs("div",{className:as.cardHeader,children:[a.jsxs("span",{className:as.cardTitle,children:[a.jsx("strong",{children:b.title}),a.jsx("span",{className:`${as.statusBadge} ${b.enabled?as.enabled:as.disabled}`,"data-testid":`schedule-status-badge-${b.id}`,children:b.enabled?"Enabled":"Disabled"})]}),a.jsxs("div",{className:as.cardActions,onClick:x=>x.stopPropagation(),children:[a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>{(async()=>{await r(b.id,{enabled:!b.enabled})})().catch(()=>{})},"data-testid":`schedule-toggle-${b.id}`,title:b.enabled?"Disable schedule":"Enable schedule",children:b.enabled?"Disable":"Enable"}),a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>d(b.id),"data-testid":`schedule-edit-${b.id}`,children:"Edit"}),a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>p(b.id),"data-testid":`schedule-delete-${b.id}`,children:"Delete"})]})]}),a.jsxs("div",{className:as.cardMeta,children:[a.jsx("span",{"data-testid":`schedule-expression-${b.id}`,children:b.scheduleExpression}),b.personaId&&a.jsxs("span",{"data-testid":`schedule-persona-${b.id}`,children:["Persona: ",_(b.personaId)]}),a.jsxs("span",{"data-testid":`schedule-last-run-${b.id}`,children:["Last run: ",b.lastRunAt?Vo(b.lastRunAt):"Never"]}),b.enabled&&b.nextRunAt?a.jsxs("span",{"data-testid":`schedule-next-run-${b.id}`,children:["Next run: ",Z1(b.nextRunAt)]}):null,b.runCount>0&&a.jsxs("span",{"data-testid":`schedule-run-count-${b.id}`,children:["Runs: ",b.runCount]})]})]},b.id))}),a.jsx(ks,{isOpen:u!==null,title:"Delete Schedule?",description:`"${(m==null?void 0:m.title)??""}" will be permanently removed. Tasks already created by this schedule will not be affected.`,confirmLabel:"Delete",onConfirm:()=>{u&&g(u).catch(()=>{})},onCancel:()=>p(null)})]})}const U7="_nav_1bhou_1",V7="_tab_1bhou_24",G7="_tabIcon_1bhou_62",q7="_tabActive_1bhou_68",Jc={nav:U7,tab:V7,tabIcon:G7,tabActive:q7},ia=[{path:"credentials",label:"Credentials",icon:a.jsx(oT,{size:Dt})},{path:"github-accounts",label:"GitHub Accounts",icon:a.jsx(tT,{size:Dt})},{path:"personas",label:"Personas",icon:a.jsx(PT,{size:Dt})},{path:"schedules",label:"Schedules",icon:a.jsx(Ij,{size:Dt})},{path:"appearance",label:"Appearance",icon:a.jsx(xT,{size:Dt})},{path:"shortcuts",label:"Shortcuts",icon:a.jsx(lT,{size:Dt})},{path:"plugins",label:"Plugins",icon:a.jsx(NT,{size:Dt})},{path:"about",label:"About",icon:a.jsx(Nm,{size:Dt})}];function F7(){var u;const t=Jt(),s=dt(),o=y.useRef(null),r=((u=ia.find(p=>{const m=`${Ai}/${p.path}`;return t.pathname===m||t.pathname.startsWith(`${m}/`)}))==null?void 0:u.path)??ia[0].path,c=y.useCallback(p=>{s(`${Ai}/${p}`)},[s]),d=y.useCallback(p=>{var x,k;const m=(x=o.current)==null?void 0:x.querySelectorAll('[role="tab"]');if(!m)return;const g=Array.from(m).findIndex(j=>j===document.activeElement),v=g>=0?g:ia.findIndex(j=>j.path===r);let _=v;if(p.key==="ArrowDown"||p.key==="j"||p.key==="J")p.preventDefault(),_=(v+1)%ia.length;else if(p.key==="ArrowUp"||p.key==="k"||p.key==="K")p.preventDefault(),_=(v-1+ia.length)%ia.length;else if(p.key==="Home")p.preventDefault(),_=0;else if(p.key==="End")p.preventDefault(),_=ia.length-1;else return;const b=ia[_].path;s(`${Ai}/${b}`),(k=m[_])==null||k.focus()},[r,s]);return a.jsx("nav",{className:Jc.nav,ref:o,role:"tablist","aria-orientation":"vertical","aria-label":"Settings",onKeyDown:d,children:ia.map(p=>{const m=p.path===r;return a.jsxs("button",{role:"tab",type:"button","aria-selected":m,tabIndex:m?0:-1,className:`${Jc.tab} ${m?Jc.tabActive:""}`,onClick:()=>c(p.path),children:[a.jsx("span",{className:Jc.tabIcon,"aria-hidden":"true",children:p.icon}),p.label]},p.path)})})}const Z7="_container_1dqrb_1",K7="_header_1dqrb_5",Y7="_refreshButton_1dqrb_17",J7="_streamRow_1dqrb_32",W7="_selected_1dqrb_49",X7="_systemRow_1dqrb_53 _streamRow_1dqrb_32",Q7="_streamIcon_1dqrb_60",e$="_streamName_1dqrb_65",t$="_subscriberBadge_1dqrb_74",n$="_emptyState_1dqrb_88",s$="_loading_1dqrb_95",xn={container:Z7,header:K7,refreshButton:Y7,streamRow:J7,selected:W7,systemRow:X7,streamIcon:Q7,streamName:e$,subscriberBadge:t$,emptyState:n$,loading:s$},u_=14;function a$({streams:t,loading:s,streamsLoadError:o=!1,streamsLoadedOnce:r=!0,onRefresh:c}){const d=dt(),u=Jt(),p=It("/chat/:streamId"),m=p==null?void 0:p.params.streamId,g=!m&&u.pathname===cl,v=[...t].sort((x,k)=>x.name.localeCompare(k.name)),_=y.useCallback(()=>{d(cl)},[d]),b=y.useCallback(x=>{d(KN(x))},[d]);return a.jsxs("div",{className:xn.container,"data-testid":"stream-list",children:[a.jsxs("div",{className:xn.header,children:[a.jsx("span",{children:"Streams"}),c&&a.jsx("button",{className:xn.refreshButton,onClick:c,"aria-label":"Refresh streams","data-testid":"stream-list-refresh",children:a.jsx(DT,{size:12})})]}),a.jsxs("button",{type:"button",className:`${xn.systemRow}${g?` ${xn.selected}`:""}`,onClick:_,"data-testid":"stream-list-system-row","aria-current":g?"page":void 0,children:[a.jsx($_,{size:u_,className:xn.streamIcon}),a.jsx("span",{className:xn.streamName,children:"System"})]}),s&&v.length===0&&a.jsx("div",{className:xn.loading,children:"Loading..."}),!s&&o&&a.jsx("div",{className:xn.emptyState,"data-testid":"stream-list-error",children:"Unable to load streams"}),!s&&!o&&r&&v.length===0&&a.jsx("div",{className:xn.emptyState,children:"No streams"}),v.map(x=>{const k=m===x.id;return a.jsxs("button",{type:"button",className:`${xn.streamRow}${k?` ${xn.selected}`:""}`,onClick:()=>b(x.id),"data-testid":`stream-list-row-${x.id}`,"aria-current":k?"page":void 0,children:[a.jsx(ET,{size:u_,className:xn.streamIcon}),a.jsx("span",{className:xn.streamName,children:x.name}),x.subscriberCount>0&&a.jsx("span",{className:xn.subscriberBadge,children:x.subscriberCount})]},x.id)})]})}const i$="_panel_1au81_1",o$="_header_1au81_24",r$="_title_1au81_33",l$="_closeButton_1au81_43",c$="_body_1au81_57",d$="_section_1au81_63",u$="_sectionLabel_1au81_67",f$="_metaRow_1au81_76",p$="_metaKey_1au81_84",m$="_metaValue_1au81_90",h$="_subscriberCard_1au81_99",g$="_subscriberHeader_1au81_107",v$="_sessionLink_1au81_114",y$="_badges_1au81_132",b$="_badgeRw_1au81_150 _badge_1au81_132",_$="_badgeR_1au81_150 _badge_1au81_132",x$="_badgeW_1au81_162 _badge_1au81_132",k$="_badgeAsync_1au81_168 _badge_1au81_132",S$="_badgeSync_1au81_174 _badge_1au81_132",j$="_badgeDetach_1au81_178 _badge_1au81_132",T$="_spawnTag_1au81_184 _badge_1au81_132",w$="_fdNumber_1au81_189",N$="_emptySubscribers_1au81_195",lt={panel:i$,header:o$,title:r$,closeButton:l$,body:c$,section:d$,sectionLabel:u$,metaRow:f$,metaKey:p$,metaValue:m$,subscriberCard:h$,subscriberHeader:g$,sessionLink:v$,badges:y$,badgeRw:b$,badgeR:_$,badgeW:x$,badgeAsync:k$,badgeSync:S$,badgeDetach:j$,spawnTag:T$,fdNumber:w$,emptySubscribers:N$};function C$({permission:t}){const s=t==="rw"?lt.badgeRw:t==="r"?lt.badgeR:lt.badgeW;return a.jsx("span",{className:s,children:t})}function E$({mode:t}){const s=t==="async"?lt.badgeAsync:t==="detach"?lt.badgeDetach:lt.badgeSync;return a.jsx("span",{className:s,children:t})}function A$({stream:t,onClose:s}){const o=dt();return y.useEffect(()=>{const r=c=>{c.key==="Escape"&&s()};return document.addEventListener("keydown",r),()=>{document.removeEventListener("keydown",r)}},[s]),a.jsxs("div",{className:lt.panel,"data-testid":"stream-detail-panel",children:[a.jsxs("div",{className:lt.header,children:[a.jsx("h3",{className:lt.title,children:t.name}),a.jsx("button",{className:lt.closeButton,onClick:s,"aria-label":"Close stream details",children:"×"})]}),a.jsxs("div",{className:lt.body,children:[a.jsxs("div",{className:lt.section,children:[a.jsx("div",{className:lt.sectionLabel,children:"Overview"}),a.jsxs("div",{className:lt.metaRow,children:[a.jsx("span",{className:lt.metaKey,children:"Stream ID"}),a.jsx("span",{className:lt.metaValue,children:t.id})]}),a.jsxs("div",{className:lt.metaRow,children:[a.jsx("span",{className:lt.metaKey,children:"Subscribers"}),a.jsx("span",{className:lt.metaValue,children:t.subscriberCount})]}),a.jsxs("div",{className:lt.metaRow,children:[a.jsx("span",{className:lt.metaKey,children:"Buffered"}),a.jsxs("span",{className:lt.metaValue,children:[t.messageBufferDepth," msgs"]})]})]}),a.jsxs("div",{className:lt.section,children:[a.jsx("div",{className:lt.sectionLabel,children:"Subscribers"}),t.subscribers.length===0?a.jsx("div",{className:lt.emptySubscribers,children:"No active subscribers"}):t.subscribers.map(r=>a.jsxs("div",{className:lt.subscriberCard,"data-testid":`subscriber-card-${r.subscriptionId}`,children:[a.jsxs("div",{className:lt.subscriberHeader,children:[a.jsxs("span",{className:lt.fdNumber,children:["fd ",r.fd]}),a.jsxs("button",{className:lt.sessionLink,onClick:()=>{o(Bd(r.sessionId))},title:r.sessionId,children:[r.sessionId.slice(0,12),"…"]})]}),a.jsxs("div",{className:lt.badges,children:[a.jsx(C$,{permission:r.permission}),a.jsx(E$,{mode:r.deliveryMode}),r.createdBySpawn&&a.jsx("span",{className:lt.spawnTag,children:"spawn"})]})]},r.subscriptionId))]})]})]})}function D$({tasks:t,taskStatusById:s,sessionStatusByTaskId:o}){const r=new Map;for(const d of t)if(d.parentTaskId){const u=r.get(d.parentTaskId);u?u.push(d):r.set(d.parentTaskId,[d])}const c=new Map(Ny.map(d=>[d,[]]));for(const d of t){const u=gl(d.status),p=d.dependsOn.length>0&&d.dependsOn.some(k=>s.get(k)!=="complete"),m=r.get(d.id)??[],g=m.length,v=m.filter(k=>k.status==="complete").length;let _;if(u==="paused"&&o){const k=o.get(d.id);k==="idle"?_="Needs input":k==="completed"&&(_="Ready to complete")}const b={task:d,isBlocked:p,childCount:g,doneChildCount:v,pausedSubBadge:_},x=c.get(u);x?x.push(b):c.get("not_started").push(b)}for(const d of c.values())d.sort((u,p)=>u.task.sortOrder-p.task.sortOrder);return Ny.map(d=>{const u=Wa(d);return{status:d,label:u.label,style:u,tasks:c.get(d)??[]}})}const R$="_boardContainer_1c4y1_1",M$="_column_1c4y1_17",I$="_columnHeader_1c4y1_34",O$="_columnIcon_1c4y1_47",L$="_columnLabel_1c4y1_52",B$="_columnCount_1c4y1_57",$$="_cardList_1c4y1_67",z$="_emptyPlaceholder_1c4y1_76",H$="_card_1c4y1_67",P$="_cardHeader_1c4y1_107",U$="_cardStatusIcon_1c4y1_113",V$="_cardTitle_1c4y1_119",G$="_cardBadges_1c4y1_127",q$="_badge_1c4y1_134",F$="_blockedBadge_1c4y1_146",Z$="_childBadge_1c4y1_151",K$="_depBadge_1c4y1_155",Y$="_parentBadge_1c4y1_159",J$="_pausedSubBadge_1c4y1_166",W$="_personaBadge_1c4y1_170",X$="_envBadge_1c4y1_174",Q$="_emptyCta_1c4y1_178",ez="_ctaButton_1c4y1_188",tz="_ctaDescription_1c4y1_204",ct={boardContainer:R$,column:M$,columnHeader:I$,columnIcon:O$,columnLabel:L$,columnCount:B$,cardList:$$,emptyPlaceholder:z$,card:H$,cardHeader:P$,cardStatusIcon:U$,cardTitle:V$,cardBadges:G$,badge:q$,blockedBadge:F$,childBadge:Z$,depBadge:K$,parentBadge:Y$,pausedSubBadge:J$,personaBadge:W$,envBadge:X$,emptyCta:Q$,ctaButton:ez,ctaDescription:tz};function nz({workspaceId:t,environmentId:s,tasks:o,sessions:r,personas:c,environments:d}){const u=dt(),p=y.useMemo(()=>o.filter(b=>b.workspaceId===t),[o,t]),m=y.useMemo(()=>new Map(o.map(b=>[b.id,b.status])),[o]),g=y.useMemo(()=>new Map(p.map(b=>[b.id,b])),[p]),v=y.useMemo(()=>{const b=new Map(r.map(C=>[C.id,C])),x=new Map(c.map(C=>[C.id,C])),k=new Map(d.map(C=>[C.id,C])),j=new Map,w=new Map,T=new Map;for(const C of p)if(C.latestSessionId){const A=b.get(C.latestSessionId);if(A){if(j.set(C.id,A.endReason||A.status),A.personaId){const L=x.get(A.personaId);L&&w.set(C.id,L.name)}if(A.environmentId){const L=k.get(A.environmentId);L&&T.set(C.id,L.displayName)}}}return{sessionStatusByTaskId:j,personaNameByTaskId:w,environmentNameByTaskId:T}},[p,r,c,d]),_=y.useMemo(()=>D$({tasks:p,taskStatusById:m,sessionStatusByTaskId:v.sessionStatusByTaskId}),[p,m,v]);return p.length===0?a.jsxs("div",{className:ct.emptyCta,"data-testid":"board-empty-cta",children:[a.jsx("button",{className:ct.ctaButton,onClick:()=>u($i(t,void 0,s)),children:"Create Task"}),a.jsx("div",{className:ct.ctaDescription,children:"Break your work into tasks and let agents tackle them"})]}):a.jsx("div",{className:ct.boardContainer,"data-testid":"board-container",children:_.map(b=>a.jsxs("section",{className:ct.column,"data-testid":`board-column-${b.status}`,"aria-label":`${b.label}, ${b.tasks.length} ${b.tasks.length===1?"task":"tasks"}`,children:[a.jsxs("div",{className:ct.columnHeader,children:[a.jsx("span",{className:ct.columnIcon,style:{color:b.style.color},children:b.style.icon}),a.jsx("span",{className:ct.columnLabel,children:b.label}),a.jsx("span",{className:ct.columnCount,"data-testid":`board-count-${b.status}`,children:b.tasks.length})]}),a.jsx("div",{className:ct.cardList,children:b.tasks.length===0?a.jsx("div",{className:ct.emptyPlaceholder,children:"No tasks"}):a.jsx(rs,{mode:"popLayout",children:b.tasks.map(x=>a.jsx(Rt.div,{layout:!0,initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},children:a.jsx(sz,{boardTask:x,tasksById:g,personaName:v.personaNameByTaskId.get(x.task.id),envName:v.environmentNameByTaskId.get(x.task.id),onClick:()=>u(Hn(x.task.id,void 0,t,s))})},x.task.id))})})]},b.status))})}function sz({boardTask:t,tasksById:s,personaName:o,envName:r,onClick:c}){const{task:d,isBlocked:u,childCount:p,doneChildCount:m,pausedSubBadge:g}=t,v=Wa(d.status),_=d.parentTaskId?s.get(d.parentTaskId):void 0;return a.jsxs("div",{className:ct.card,tabIndex:0,role:"button","data-testid":`board-card-${d.id}`,onClick:c,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),c())},children:[a.jsxs("div",{className:ct.cardHeader,children:[a.jsx("span",{className:ct.cardStatusIcon,style:{color:v.color},children:v.icon}),a.jsx("span",{className:ct.cardTitle,children:d.title})]}),a.jsxs("div",{className:ct.cardBadges,children:[_&&a.jsx("span",{className:`${ct.badge} ${ct.parentBadge}`,title:_.title,children:_.title}),p>0&&a.jsxs("span",{className:`${ct.badge} ${ct.childBadge}`,children:[m,"/",p]}),u&&a.jsx("span",{className:`${ct.badge} ${ct.blockedBadge}`,children:"blocked"}),d.dependsOn.length>0&&!u&&a.jsx("span",{className:`${ct.badge} ${ct.depBadge}`,children:"dep"}),g&&a.jsx("span",{className:`${ct.badge} ${ct.pausedSubBadge}`,children:g}),o&&a.jsx("span",{className:`${ct.badge} ${ct.personaBadge}`,children:o}),r&&a.jsx("span",{className:`${ct.badge} ${ct.envBadge}`,children:r})]})]})}const az="_formContent_ymnez_1",iz="_section_ymnez_13",oz="_label_ymnez_19",rz="_titleInput_ymnez_26",lz="_descriptionTextarea_ymnez_58",cz="_selectField_ymnez_94",dz="_checkboxRow_ymnez_128",uz="_checkboxLabel_ymnez_141",fz="_fieldError_ymnez_146",Tt={formContent:az,section:iz,label:oz,titleInput:rz,descriptionTextarea:lz,selectField:cz,checkboxRow:dz,checkboxLabel:uz,fieldError:fz};function pz(t,s){return{name:(t==null?void 0:t.name)??"",description:(t==null?void 0:t.description)??"",repoUrl:(t==null?void 0:t.repoUrl)??"",environmentId:(t==null?void 0:t.linkedEnvironmentIds[0])??s??"",defaultPersonaId:(t==null?void 0:t.defaultPersonaId)??"",useWorktrees:(t==null?void 0:t.useWorktrees)??!0,workingDirectory:(t==null?void 0:t.workingDirectory)??""}}const mz=100;function hz({values:t,onChange:s,environments:o,personas:r,errors:c,disabled:d,autoFocusName:u}){const p=(m,g)=>{s({...t,[m]:g})};return a.jsxs("div",{className:Tt.formContent,children:[a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-name",children:"Name"}),a.jsx("input",{id:"ws-name",className:Tt.titleInput,type:"text",value:t.name,onChange:m=>p("name",m.target.value),placeholder:"Workspace name",maxLength:mz,autoFocus:u,disabled:d,"data-testid":"workspace-form-name"}),(c==null?void 0:c.name)&&a.jsx("span",{className:Tt.fieldError,"data-testid":"workspace-form-error-name",children:c.name})]}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-description",children:"Description"}),a.jsx("textarea",{id:"ws-description",className:Tt.descriptionTextarea,value:t.description,onChange:m=>p("description",m.target.value),placeholder:"Optional description (Markdown supported)",disabled:d,"data-testid":"workspace-form-description"})]}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-repo",children:"Repository URL"}),a.jsx("input",{id:"ws-repo",className:Tt.titleInput,type:"text",value:t.repoUrl,onChange:m=>p("repoUrl",m.target.value),placeholder:"https://github.com/org/repo",disabled:d,"data-testid":"workspace-form-repo"}),(c==null?void 0:c.repoUrl)&&a.jsx("span",{className:Tt.fieldError,"data-testid":"workspace-form-error-repoUrl",children:c.repoUrl})]}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-environment",children:"Environment"}),a.jsxs("select",{id:"ws-environment",className:Tt.selectField,value:t.environmentId,onChange:m=>p("environmentId",m.target.value),disabled:d,"data-testid":"workspace-form-environment",children:[a.jsx("option",{value:"",children:"Select environment…"}),o.map(m=>a.jsx("option",{value:m.id,children:m.displayName||m.id},m.id))]}),(c==null?void 0:c.environmentId)&&a.jsx("span",{className:Tt.fieldError,"data-testid":"workspace-form-error-environmentId",children:c.environmentId})]}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-persona",children:"Default Persona"}),a.jsxs("select",{id:"ws-persona",className:Tt.selectField,value:t.defaultPersonaId,onChange:m=>p("defaultPersonaId",m.target.value),disabled:d,"data-testid":"workspace-form-persona",children:[a.jsx("option",{value:"",children:"(Inherit)"}),r.map(m=>a.jsx("option",{value:m.id,children:m.name},m.id))]})]}),a.jsx("div",{className:Tt.section,children:a.jsxs("label",{className:Tt.checkboxRow,children:[a.jsx("input",{type:"checkbox",checked:t.useWorktrees,onChange:m=>p("useWorktrees",m.target.checked),disabled:d,"data-testid":"workspace-form-worktrees"}),a.jsx("span",{className:Tt.checkboxLabel,children:"Enable worktree isolation"})]})}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-workdir",children:"Working Directory"}),a.jsx("input",{id:"ws-workdir",className:Tt.titleInput,type:"text",value:t.workingDirectory,onChange:m=>p("workingDirectory",m.target.value),placeholder:"Default (server default)",disabled:d,"data-testid":"workspace-form-workdir"})]})]})}const nk=y.createContext(void 0),gz=4e3;function vz({children:t}){const[s,o]=y.useState([]),r=y.useRef(0),c=y.useCallback(u=>{o(p=>p.filter(m=>m.id!==u))},[]),d=y.useCallback((u,p="info",m=gz)=>{const g=`toast-${++r.current}`;o(v=>[...v,{id:g,message:u,variant:p,duration:m}])},[]);return a.jsx(nk.Provider,{value:{toasts:s,showToast:d,dismissToast:c},children:t})}function mn(){const t=y.useContext(nk);if(!t)throw new Error("useToast must be used within ToastProvider");return t}const km="grackle-theme",sk="grackle-prefer-system",ak="(prefers-color-scheme: dark)";let Xr=[],ud;function Pp(){ud=void 0;for(const t of Xr)t()}function Sm(){return typeof window>"u"?!1:window.matchMedia(ak).matches}function il(){if(typeof localStorage>"u")return l_;try{const t=localStorage.getItem(km);if(t!==null&&Q1.has(t))return t}catch{}return l_}function wd(){if(typeof localStorage>"u")return!1;try{return localStorage.getItem(sk)==="true"}catch{return!1}}function jm(t){return Fd.find(s=>s.variantLightId===t||s.variantDarkId===t)}function ik(t,s){const o=xm(t);if(o!=null&&o.variantDarkId)return s&&o.variantLightId?Sm()?o.variantDarkId:o.variantLightId:o.variantDarkId;if(o!=null&&o.hidden&&s){const r=jm(t);if(r!=null&&r.variantLightId&&r.variantDarkId)return Sm()?r.variantDarkId:r.variantLightId}return t}function Ro(t,s,o=!1){o&&document.documentElement.classList.add("no-transitions"),document.documentElement.dataset.theme=ik(t,s),o&&(document.documentElement.offsetHeight,requestAnimationFrame(()=>{document.documentElement.classList.remove("no-transitions")}))}typeof document<"u"&&Ro(il(),wd());function yz(){return ud===void 0&&(ud={themeId:il(),systemDark:Sm(),preferSystem:wd()}),ud}function bz(t){return Xr=[...Xr,t],()=>{Xr=Xr.filter(s=>s!==t)}}function _z(){const t=y.useSyncExternalStore(bz,yz),{themeId:s,preferSystem:o}=t,r=ik(s,o),c=y.useCallback(u=>{if(Q1.has(u)){try{localStorage.setItem(km,u)}catch{}Ro(u,wd(),!0),Pp()}},[]),d=y.useCallback(u=>{try{localStorage.setItem(sk,u?"true":"false")}catch{}if(u){const p=il(),m=xm(p);if(m!=null&&m.hidden){const g=jm(p);if(g)try{localStorage.setItem(km,g.id)}catch{}}}Ro(il(),u,!0),Pp()},[]);return y.useEffect(()=>{Ro(s,o)},[s,o]),y.useEffect(()=>{if(typeof window>"u")return;const u=window.matchMedia(ak),p=()=>{const m=il(),g=wd();if(g){const v=xm(m);if(v!=null&&v.variantDarkId&&v.variantLightId&&Ro(m,g),v!=null&&v.hidden){const _=jm(m);_!=null&&_.variantDarkId&&_.variantLightId&&Ro(m,g)}}Pp()};return u.addEventListener("change",p),()=>{u.removeEventListener("change",p)}},[]),{themeId:s,setTheme:c,resolvedThemeId:r,preferSystem:o,setPreferSystem:d}}const ok=y.createContext(void 0);function xz({children:t}){const s=_z();return a.jsx(ok.Provider,{value:s,children:t})}function rk(){const t=y.useContext(ok);if(!t)throw new Error("useThemeContext must be used within ThemeProvider");return t}const lk=y.createContext(void 0),ck=y.createContext(void 0);function kz({children:t}){const[s,o]=y.useState(void 0),r=y.useCallback(c=>{o(c)},[]);return a.jsx(ck.Provider,{value:r,children:a.jsx(lk.Provider,{value:s,children:t})})}function Sz(){return y.useContext(lk)}function jz(){const t=y.useContext(ck);if(t===void 0)throw new Error("useSidebarSetter must be used within a SidebarProvider");return t}const bh=y.createContext(void 0);function ot(){const t=y.useContext(bh);if(!t)throw new Error("useGrackle must be used within GrackleProvider");return t}function dk(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function uk(t,s){return console.warn(`[ws] Malformed "${t}" message: ${s}`),!1}function Tz(t){return dk(t)&&typeof t.sessionId=="string"&&typeof t.eventType=="string"&&typeof t.timestamp=="string"&&typeof t.content=="string"&&(t.raw===void 0||typeof t.raw=="string")}const wz=new Set(["off","subscription","api_key"]),Wc=new Set(["off","on"]);function Nz(t){return dk(t)&&wz.has(t.claude)&&Wc.has(t.github)&&Wc.has(t.copilot)&&Wc.has(t.codex)&&Wc.has(t.goose)}function fk(t){switch(t){case"waiting_input":return"idle";case"completed":return"stopped";case"killed":return"stopped";case"failed":return"stopped";case"interrupted":return"stopped";case"terminated":return"stopped";default:return t}}function pk(t){switch(t){case"completed":return"completed";case"killed":return"killed";case"failed":return"interrupted";case"interrupted":return"interrupted";case"terminated":return"terminated";default:return}}const Do=5e3;function Cz(t,s){const o=[];let r=t;const c=new Set;for(;r&&s.has(r)&&!c.has(r);){c.add(r);const d=s.get(r);o.unshift(d),r=d.parentTaskId||void 0}return o}const pa={label:"Home",url:Ii};function Ez(t){return t?[pa,{label:"Settings",url:Ai},{label:t,url:void 0}]:[pa,{label:"Settings",url:void 0}]}const _h={label:"Environments",url:$o};function Az(){return[pa,{label:"Environments",url:void 0}]}function Dz(){return[pa,{label:"New Chat",url:void 0}]}function Rz(t){return[pa,{label:`Session ${t.slice(0,8)}`,url:void 0}]}function Mz(t,s,o,r){const c=o.find(u=>u.id===t),d=r.find(u=>u.id===s);return[pa,_h,{label:(d==null?void 0:d.displayName)??"Environment",url:Mi(s)},{label:(c==null?void 0:c.name)??"Workspace",url:void 0}]}function Iz(t,s,o,r,c){const d=Cz(t,c),u=c.get(t),p=u==null?void 0:u.workspaceId,m=p?o.find(x=>x.id===p):void 0,g=s??(m==null?void 0:m.linkedEnvironmentIds[0]),v=g?r.find(x=>x.id===g):void 0,_=[pa];v&&g&&(_.push(_h),_.push({label:v.displayName,url:Mi(g)})),m&&g&&_.push({label:m.name,url:Ri(m.id,g)});for(let x=0;x<d.length-1;x++)_.push({label:d[x].title,url:Hn(d[x].id,void 0,p,g)});const b=d[d.length-1];return _.push({label:(b==null?void 0:b.title)??t,url:void 0}),_}const Oz={label:"Findings",url:$d};function Lz(){return[pa,{label:"Findings",url:void 0}]}function mk(t,s,o,r,c){const d=[pa];if(s&&o){const u=r.find(m=>m.id===s),p=c.find(m=>m.id===o);d.push(_h),p&&d.push({label:p.displayName,url:Mi(o)}),u&&d.push({label:u.name,url:Ri(s,o)}),d.push({label:"Findings",url:JN(s,o)})}else d.push(Oz);return d.push({label:t,url:void 0}),d}function xh(t){const s=[];for(const o of t){const r=s[s.length-1];o.eventType==="text"&&(r==null?void 0:r.eventType)==="text"?s[s.length-1]={...r,content:r.content+o.content}:s.push(o)}return s}function Xc(t){if(typeof t.id=="string")return t.id;const s=t.data;if(s&&typeof s.toolCallId=="string")return s.toolCallId;const o=t.item;if(o&&typeof o.id=="string")return o.id}function Bz(t){if(typeof t.tool_use_id=="string")return t.tool_use_id;const s=t.data;if(s&&typeof s.toolCallId=="string")return s.toolCallId;const o=t.item;if(o&&typeof o.id=="string")return o.id}function kh(t){const s=new Map;for(const v of t)if(v.raw)try{s.set(v,JSON.parse(v.raw))}catch{}const o=new Map;for(const v of t){if(v.eventType!=="tool_use")continue;const _=s.get(v),b=_?Xc(_):void 0;if(b)try{const x=JSON.parse(v.content);o.set(b,{tool:x.tool,args:x.args})}catch{}}const r=new Set,c=new Set,d=t.map((v,_)=>{if(v.eventType!=="tool_result")return v;const b=s.get(v),x=b?Bz(b):void 0;if(!x)return v;const k=o.get(x);if(!k)return v;r.add(x),c.add(_);let j;const w=v.content.trim();if(w.startsWith("{"))try{const T=JSON.parse(w);typeof T.detailedContent=="string"&&(j=T.detailedContent)}catch{}return{...v,toolUseCtx:{...k,detailedResult:j}}}),u=[];for(let v=0;v<d.length;v++){if(d[v].eventType!=="tool_use")continue;const _=s.get(d[v]),b=_?Xc(_):void 0;b&&r.has(b)||u.push(v)}const p=[];for(let v=0;v<d.length;v++)d[v].eventType!=="tool_result"||c.has(v)||p.push(v);let m=0;for(const v of u){for(;m<p.length&&p[m]<v;)m++;if(m>=p.length)break;const _=p[m];if(_!==v+1)continue;const b=d[v],x=d[_];let k;try{const j=JSON.parse(b.content);k={tool:j.tool,args:j.args}}catch{}if(k){let j;const w=x.content.trim();if(w.startsWith("{"))try{const A=JSON.parse(w);typeof A.detailedContent=="string"&&(j=A.detailedContent)}catch{}d[_]={...x,toolUseCtx:{...k,detailedResult:j}},c.add(_);const T=s.get(b),C=T?Xc(T):void 0;C?r.add(C):(r.add(`__seq_${v}`),s.set(b,{...T??{},__seqId:`__seq_${v}`})),m++}}const g=d.filter(v=>{if(v.eventType!=="tool_use")return!0;const _=s.get(v);if(!_)return!0;const b=Xc(_);if(b&&r.has(b))return!1;const x=_.__seqId;return!(x&&r.has(x))});for(let v=0;v<g.length;v++){if(g[v].eventType!=="tool_use")continue;let _=!1;for(let b=v+1;b<g.length;b++)if(g[b].eventType!=="tool_use"){_=!0;break}_&&(g[v]={...g[v],settled:!0})}return g}function $z(t,s,o){const r=t.filter(m=>m.status==="running"||m.status==="idle"||m.status==="waiting").length,c=hk(s),d=s.filter(m=>Tm(m,c)).length,u=s.filter(m=>m.status==="paused"||m.status==="failed"||Tm(m,c)).length,p=o.filter(m=>m.status==="disconnected"||m.status==="error").length;return{activeSessions:r,blockedTasks:d,attentionTasks:u,unhealthyEnvironments:p}}function hk(t){const s=new Map;for(const o of t)s.set(o.id,o.status);return s}function Tm(t,s){return t.dependsOn.some(o=>s.get(o)!=="complete")}function zz(t,s){var u;const o=new Map;for(const p of s)o.set(p.id,p);const r=hk(t),c=[];for(const p of t){const m=p.workspaceId?((u=o.get(p.workspaceId))==null?void 0:u.name)??"Unknown":"Unknown";p.status==="failed"?c.push({task:p,reason:"failed",workspaceName:m}):Tm(p,r)?c.push({task:p,reason:"blocked",workspaceName:m}):p.status==="paused"&&c.push({task:p,reason:"paused",workspaceName:m})}const d={failed:0,blocked:1,paused:2};return c.sort((p,m)=>(d[p.reason]??3)-(d[m.reason]??3)),c}function Hz(t,s){const o=new Map;for(const r of s)o.set(r.id,r);return t.filter(r=>r.status==="running"||r.status==="idle"||r.status==="waiting").map(r=>{var c;return{session:r,environmentName:((c=o.get(r.environmentId))==null?void 0:c.displayName)??"Unknown"}})}function Pz(t,s,o){const r=new Map;for(const c of s){if(!c.workspaceId)continue;let d=r.get(c.workspaceId);d||(d={totalTasks:0,completedTasks:0,workingTasks:0,failedTasks:0},r.set(c.workspaceId,d)),d.totalTasks+=1,c.status==="complete"?d.completedTasks+=1:c.status==="working"?d.workingTasks+=1:c.status==="failed"&&(d.failedTasks+=1)}return t.map(c=>{const d=r.get(c.id)??{totalTasks:0,completedTasks:0,workingTasks:0,failedTasks:0};return{workspace:c,totalTasks:d.totalTasks,completedTasks:d.completedTasks,workingTasks:d.workingTasks,failedTasks:d.failedTasks}})}const Rs=[{id:"kn-auth-flow",label:"Authentication Flow",kind:"knowledge",category:"concept",content:"The application uses JWT Bearer tokens for stateless authentication. Access tokens expire after 24h. Refresh tokens are stored in the database and rotated on use. The auth middleware verifies tokens and attaches the decoded payload to req.user.",tags:["auth","jwt","security"],workspaceId:"proj-alpha",createdAt:"2026-02-25T10:30:00Z",updatedAt:"2026-02-27T08:15:00Z",val:5},{id:"kn-db-schema",label:"Database Schema",kind:"knowledge",category:"concept",content:"PostgreSQL database with tables: users, sessions, refresh_tokens, audit_log. Uses UUID primary keys, TIMESTAMPTZ for all timestamps, and JSONB for flexible metadata columns. Connection pooling via pg-pool with per-tenant isolation.",tags:["database","postgres","schema"],workspaceId:"proj-alpha",createdAt:"2026-02-23T11:00:00Z",updatedAt:"2026-02-26T22:45:00Z",val:4},{id:"kn-error-handling",label:"Error Response Pattern",kind:"knowledge",category:"concept",content:"All API errors follow the shape { error: string, code: string, details?: unknown }. HTTP status codes map to: 400 (validation), 401 (unauthenticated), 403 (forbidden), 404 (not found), 409 (conflict), 429 (rate limited), 500 (internal).",tags:["api","errors","patterns"],workspaceId:"proj-alpha",createdAt:"2026-02-27T08:17:00Z",updatedAt:"2026-02-27T08:17:00Z",val:3},{id:"kn-rate-limiting",label:"Rate Limiting Strategy",kind:"knowledge",category:"concept",content:"Token-bucket algorithm with in-memory state per client IP. Default rate: 100 requests/minute, burst: 20. Returns 429 with Retry-After header. Redis adapter available for multi-instance deployments.",tags:["api","rate-limiting","infrastructure"],workspaceId:"proj-alpha",createdAt:"2026-02-27T09:00:00Z",updatedAt:"2026-02-27T09:00:00Z",val:2},{id:"kn-etl-pipeline",label:"ETL Pipeline Architecture",kind:"knowledge",category:"concept",content:"Data pipelines follow an Extract-Transform-Load pattern with pluggable stages. Each stage reads from a source (Postgres, S3, API), transforms via configurable mappers, and loads into a target (Parquet, BigQuery, S3). Incremental loads use high-watermark tracking.",tags:["etl","pipeline","architecture"],workspaceId:"proj-beta",createdAt:"2026-02-26T08:00:00Z",updatedAt:"2026-02-27T09:05:00Z",val:4},{id:"kn-parquet-format",label:"Parquet Output Format",kind:"knowledge",category:"concept",content:"Parquet files are written with row-group buffering (configurable batch size, default 10000 rows). Supports Snappy, ZSTD, and GZIP compression. Schema is derived from the internal column type system using Arrow type mapping.",tags:["parquet","data-format","compression"],workspaceId:"proj-beta",createdAt:"2026-02-26T08:05:00Z",updatedAt:"2026-02-26T08:15:00Z",val:3},{id:"kn-jwt-over-session",label:"JWT over Session Auth",kind:"knowledge",category:"decision",content:"Chose JWT tokens over server-side sessions for stateless auth. Rationale: (1) no session store needed, (2) works across microservices without shared state, (3) supports mobile clients natively. Trade-off: tokens can't be revoked instantly (mitigated by short expiry + refresh rotation).",tags:["auth","decision","jwt"],workspaceId:"proj-alpha",createdAt:"2026-02-25T10:00:00Z",updatedAt:"2026-02-25T10:00:00Z",val:3},{id:"kn-pg-pool-decision",label:"pg-pool over Knex",kind:"knowledge",category:"decision",content:"Chose pg-pool over Knex for connection pooling. pg-pool gives direct control over idle timeout, max connections, and health check queries. Knex wraps pg-pool and adds query-building overhead we don't need since we write raw SQL with parameterized queries.",tags:["database","decision","postgres"],workspaceId:"proj-alpha",createdAt:"2026-02-23T11:30:00Z",updatedAt:"2026-02-23T11:30:00Z",val:2},{id:"kn-watermark-decision",label:"Local Watermark Storage",kind:"knowledge",category:"decision",content:"Currently using local SQLite for watermark storage. This works for single-worker pipelines but needs to move to a shared store (Redis or Postgres) for production multi-worker scenarios. Tracked as a follow-up task.",tags:["pipeline","decision","watermarks"],workspaceId:"proj-beta",createdAt:"2026-02-27T09:05:00Z",updatedAt:"2026-02-27T09:05:00Z",val:2},{id:"kn-jwt-middleware",label:"JWT Verify Middleware",kind:"knowledge",category:"snippet",content:`\`\`\`typescript
313
+ --- End forwarded ---`}function p5(t){return t.replace(/[\r\n]+/g," ").trim().replace(/---/g,"—")}function m5({events:t,formatForClipboard:s}){const[o,r]=y.useState(!1),[c,d]=y.useState(new Set),u=y.useRef(void 0),p=y.useMemo(()=>c.size,[c]),m=y.useCallback(k=>{r(!0),k!==void 0?(d(new Set([k])),u.current=k):(d(new Set),u.current=void 0)},[]),g=y.useCallback(()=>{r(!1),d(new Set),u.current=void 0},[]),v=y.useCallback((k,j)=>{if(j&&u.current!==void 0){const w=Math.min(u.current,k),T=Math.max(u.current,k);d(C=>{const A=new Set(C);for(let L=w;L<=T;L++)L<t.length&&hl(t[L])&&A.add(L);return A})}else d(w=>{const T=new Set(w);return T.has(k)?T.delete(k):T.add(k),T.size===0?(r(!1),u.current=void 0):u.current=k,T})},[t]),_=y.useCallback(()=>{const k=new Set;for(let j=0;j<t.length;j++)hl(t[j])&&k.add(j);d(k)},[t]),b=y.useCallback(()=>{d(new Set)},[]),x=y.useCallback(async()=>{const j=[...c].sort((T,C)=>T-C).filter(T=>T<t.length).map(T=>t[T]);if(j.length===0)return!1;const w=s(j);try{return await navigator.clipboard.writeText(w),!0}catch{return!1}},[c,t,s]);return{isSelecting:o,selectedIndices:c,selectedCount:p,enterSelectionMode:m,cancelSelection:g,toggleEvent:v,selectAll:_,deselectAll:b,copySelected:x}}const h5="_wrapper_1cdza_1",g5="_scrollContainer_1cdza_9",v5="_selectingPadding_1cdza_16",y5="_toolbar_1cdza_20",b5="_directionToggle_1cdza_27",_5="_scrollToAnchor_1cdza_65",x5="_scrollToAnchorBottom_1cdza_89",k5="_scrollToAnchorTop_1cdza_93",S5="_eventOverflowWarning_1cdza_97",oa={wrapper:h5,scrollContainer:g5,selectingPadding:v5,toolbar:y5,directionToggle:b5,scrollToAnchor:_5,scrollToAnchorBottom:x5,scrollToAnchorTop:k5,eventOverflowWarning:S5},j5=10*1024,T5=new Set(["running","idle"]);function w5(t){const s=new Date(t.timestamp).toLocaleTimeString();switch(t.eventType){case"text":case"output":return`Select message from assistant at ${s}`;case"user_input":return`Select message from user at ${s}`;case"tool_result":case"tool_use":return`Select tool event at ${s}`;case"error":return`Select error at ${s}`;default:return`Select event at ${s}`}}const G1="grackle-stream-direction";function N5(){try{return localStorage.getItem(G1)==="reversed"}catch{return!1}}function C5({eventsDropped:t}){return t<=0?a.jsx(a.Fragment,{}):a.jsxs("div",{className:oa.eventOverflowWarning,role:"alert",children:[a.jsx(Cm,{size:Gt,"aria-hidden":"true"})," ",t.toLocaleString()," older event",t===1?"":"s"," were dropped — only the most recent 5,000 are shown. Full history is available in the session log."]})}function al({events:t,eventsDropped:s,emptyState:o,onShowToast:r,sessions:c,currentSessionId:d,environments:u,personas:p,onForward:m}){const g=y.useRef(null),[v,_]=y.useState(N5),b=H3(),[x,k]=y.useState(!1),[j,w]=y.useState(!1),[T,C]=y.useState(void 0),A=m5({events:t,formatForClipboard:V1}),L=y.useMemo(()=>t.filter(hl).length,[t]),E=y.useMemo(()=>c?c.filter(G=>T5.has(G.status)&&G.id!==d):[],[c,d]),O=y.useMemo(()=>v?[...t].reverse():t,[t,v]),{isAtAnchor:z,scrollToAnchor:D}=c5({scrollRef:g,contentLength:t.length,isReversed:v,paused:A.isSelecting}),H=()=>{const G=!v;_(G);try{localStorage.setItem(G1,G?"reversed":"default")}catch{}};y.useEffect(()=>{if(!A.isSelecting)return;const G=pe=>{pe.key==="Escape"&&!x&&!j&&A.cancelSelection()};return window.addEventListener("keydown",G),()=>{window.removeEventListener("keydown",G)}},[A.isSelecting,A.cancelSelection,x,j]);const Y=y.useCallback(async()=>{await A.copySelected()&&(r==null||r(`Copied ${A.selectedCount} message${A.selectedCount===1?"":"s"} to clipboard`,"success"))},[A,r]),U=y.useCallback(()=>[...A.selectedIndices].sort((pe,de)=>pe-de).filter(pe=>pe<t.length).map(pe=>t[pe]),[A.selectedIndices,t]),X=y.useCallback(G=>{if(!G)return"this session";const pe=c==null?void 0:c.find(xe=>xe.id===G);if(!pe)return G.slice(0,8);const de=u==null?void 0:u.find(xe=>xe.id===pe.environmentId);return(de==null?void 0:de.displayName)??pe.environmentId.slice(0,8)},[c,u]),he=y.useCallback(async(G,pe)=>{if(!m)return;const de=X(G);try{await m(G,pe);const xe=A.selectedCount;r==null||r(`Forwarded ${xe} message${xe===1?"":"s"} to ${de}`,"success"),A.cancelSelection()}catch{r==null||r("Failed to forward messages","error")}},[m,X,r,A]),W=y.useCallback(G=>{k(!1);const pe=U(),de=X(d),xe=f5(de,pe);if(new TextEncoder().encode(xe).length>j5){C({sessionId:G,text:xe}),w(!0);return}he(G,xe).catch(()=>{})},[U,X,d,he]),le=y.useCallback(()=>{w(!1),T&&(he(T.sessionId,T.text).catch(()=>{}),C(void 0))},[T,he]),B=y.useCallback(()=>{w(!1),C(void 0)},[]),R=b?0:.2,se=v?-8:8,oe=T?Math.round(new TextEncoder().encode(T.text).length/1024):0;return a.jsxs("div",{className:oa.wrapper,children:[a.jsx("div",{className:oa.toolbar,children:a.jsx(Ii,{text:v?"Showing newest first":"Showing oldest first",children:a.jsx("button",{className:oa.directionToggle,onClick:H,"aria-label":v?"Switch to newest at bottom":"Switch to newest at top","data-testid":"direction-toggle",children:v?a.jsx(Ty,{size:Gt,"aria-hidden":"true"}):a.jsx(wy,{size:Gt,"aria-hidden":"true"})})})}),a.jsxs("div",{ref:g,className:`${oa.scrollContainer} ${A.isSelecting?oa.selectingPadding:""}`,"data-testid":"event-stream-scroll",children:[t.length===0&&o,a.jsx(C5,{eventsDropped:s}),a.jsx(rs,{initial:!1,children:O.map((G,pe)=>{const de=v?t.length-1-pe:pe;return a.jsx(Rt.div,{initial:{opacity:0,y:se},animate:{opacity:1,y:0},transition:{duration:R,ease:"easeOut"},children:a.jsx(E6,{copyText:u5(G),isContentBearing:hl(G),isSelecting:A.isSelecting,isSelected:A.selectedIndices.has(de),checkboxLabel:w5(G),onSelect:()=>{A.enterSelectionMode(de)},onToggle:xe=>{A.toggleEvent(de,xe)},onCopied:()=>{r==null||r("Copied to clipboard","success")},children:a.jsx(mD,{event:G,toolUseCtx:G.toolUseCtx,settled:G.settled})})},`${G.sessionId}-${G.timestamp}-${de}`)})})]}),a.jsx(rs,{children:A.isSelecting&&a.jsx($6,{selectedCount:A.selectedCount,totalSelectable:L,onSelectAll:A.selectAll,onDeselectAll:A.deselectAll,onCopy:()=>{Y().catch(()=>{})},onForward:m!==void 0?()=>{k(!0)}:void 0,forwardDisabled:E.length===0,onCancel:A.cancelSelection})}),a.jsx(o5,{isOpen:x,sessions:E,environments:u??[],personas:p,onSelect:W,onCancel:()=>{k(!1)}}),a.jsx(ks,{isOpen:j,title:"Send large message?",description:`This will forward a large message (${oe} KB). Continue?`,confirmLabel:"Send",onConfirm:le,onCancel:B}),a.jsx(rs,{children:!z&&a.jsxs(Rt.button,{className:`${oa.scrollToAnchor} ${v?oa.scrollToAnchorTop:oa.scrollToAnchorBottom}`,onClick:D,initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15},"aria-label":"Scroll to latest","data-testid":"scroll-to-anchor",children:[v?a.jsx(wy,{size:Gt,"aria-hidden":"true"}):a.jsx(Ty,{size:Gt,"aria-hidden":"true"})," New events"]})})]})}function yh(t){const{value:s,onSave:o,validate:r,fieldId:c,activeFieldId:d,onActivate:u,enterToSave:p=!0,trimOnSave:m=!0}=t,[g,v]=y.useState(""),[_,b]=y.useState(""),x=y.useRef(!1),k=d===c,j=y.useCallback(z=>{v(z),b("")},[]),w=y.useCallback(()=>{b("")},[]),T=y.useCallback(()=>{x.current=!1,u==null||u(null),v(""),b("")},[u]),C=y.useCallback(()=>{const z=m?g.trim():g;if(r){const H=r(g);if(H){b(H);return}}const D=m?s.trim():s;if(z===D){T();return}o(z),T()},[g,s,m,r,o,T]),A=y.useCallback(()=>{x.current=!0,u==null||u(c),v(s),b("")},[c,s,u]),L=y.useCallback(z=>{if(x.current){x.current=!1;return}z.relatedTarget instanceof HTMLElement&&z.relatedTarget.dataset.editAction===c||C()},[c,C]),E=y.useCallback(z=>{z.key==="Escape"?T():z.key==="Enter"&&p&&C()},[T,p,C]),O=(()=>{if(!k)return!1;const z=m?s.trim():s;return(m?g.trim():g)!==z})();return y.useEffect(()=>{!k&&(g!==""||_!=="")&&(v(""),b(""))},[k,g,_]),{isEditing:k,draft:g,error:_,isDirty:O,startEdit:A,cancelEdit:T,save:C,setDraft:j,clearError:w,handleBlur:L,handleKeyDown:E,ignoreInitialBlurRef:x}}const E5="_editFieldWrapper_yuzty_1",A5="_editInput_yuzty_10",D5="_editTextarea_yuzty_42",R5="_editSelect_yuzty_78",M5="_editError_yuzty_111",I5="_editInputInvalid_yuzty_118",O5="_editHint_yuzty_123",L5="_unsavedDot_yuzty_132",B5="_metaValueClickable_yuzty_140",$5="_editButton_yuzty_159",z5="_metaPlaceholder_yuzty_175",H5="_worktreeToggle_yuzty_180",at={editFieldWrapper:E5,editInput:A5,editTextarea:D5,editSelect:R5,editError:M5,editInputInvalid:I5,editHint:O5,unsavedDot:L5,metaValueClickable:B5,editButton:$5,metaPlaceholder:z5,worktreeToggle:H5};function Ut(t){const{value:s,onSave:o,validate:r,mode:c="edit",fieldId:d="text",activeFieldId:u,onActivate:p,onChange:m,renderDisplay:g,placeholder:v,maxLength:_,ariaLabel:b,"data-testid":x}=t,k=y.useRef(null),j=yh({value:s,onSave:o,validate:r,fieldId:d,activeFieldId:u,onActivate:p,enterToSave:!0,trimOnSave:!0});if(y.useEffect(()=>{if(j.isEditing){const T=window.setTimeout(()=>{var C;(C=k.current)==null||C.focus()},0);return()=>window.clearTimeout(T)}},[j.isEditing]),c==="create"){const T=A=>{m==null||m(A.target.value)},C=r==null?void 0:r(s);return a.jsxs("div",{className:at.editFieldWrapper,children:[a.jsx("input",{className:`${at.editInput} ${C?at.editInputInvalid:""}`,value:s,onChange:T,maxLength:_,placeholder:v,"aria-label":b,"data-testid":x?`${x}-input`:void 0}),C&&a.jsx("span",{className:at.editError,"data-testid":"edit-error",children:C})]})}if(j.isEditing)return a.jsxs("div",{className:at.editFieldWrapper,children:[a.jsx("input",{ref:k,className:`${at.editInput} ${j.error?at.editInputInvalid:""}`,value:j.draft,onChange:T=>j.setDraft(T.target.value),onBlur:j.handleBlur,onKeyDown:j.handleKeyDown,maxLength:_,placeholder:v,"aria-label":b,"data-testid":x?`${x}-input`:void 0}),j.isDirty&&a.jsx("span",{className:at.unsavedDot,title:"Unsaved changes"}),j.error&&a.jsx("span",{className:at.editError,"data-testid":"edit-error",children:j.error}),a.jsx("span",{className:at.editHint,children:"Enter to save · Esc to cancel"})]});const w=g==null?void 0:g(s);return a.jsxs("span",{role:"button",tabIndex:0,className:at.metaValueClickable,onClick:()=>j.startEdit(),onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),j.startEdit())},title:"Click to edit","aria-label":b,"data-testid":x?`${x}-button`:void 0,children:[w!==void 0?w:s?a.jsx("span",{children:s}):a.jsx("span",{className:at.metaPlaceholder,children:v||"None"}),a.jsx("span",{className:at.editButton,"aria-hidden":"true",children:"✏️"})]})}function _m(t){const{value:s,onSave:o,validate:r,mode:c="edit",fieldId:d="textarea",activeFieldId:u,onActivate:p,onChange:m,renderDisplay:g,placeholder:v,ariaLabel:_,"data-testid":b}=t,x=y.useRef(null),k=yh({value:s,onSave:o,validate:r,fieldId:d,activeFieldId:u,onActivate:p,enterToSave:!1,trimOnSave:!1});if(y.useEffect(()=>{if(k.isEditing){const w=window.setTimeout(()=>{var T;(T=x.current)==null||T.focus()},0);return()=>window.clearTimeout(w)}},[k.isEditing]),c==="create"){const w=C=>{m==null||m(C.target.value)},T=r==null?void 0:r(s);return a.jsxs("div",{className:at.editFieldWrapper,children:[a.jsx("textarea",{className:`${at.editTextarea} ${T?at.editInputInvalid:""}`,value:s,onChange:w,placeholder:v,"aria-label":_,"data-testid":b?`${b}-input`:void 0}),T&&a.jsx("span",{className:at.editError,"data-testid":"edit-error",children:T})]})}if(k.isEditing)return a.jsxs("div",{className:at.editFieldWrapper,children:[a.jsx("textarea",{ref:x,className:`${at.editTextarea} ${k.error?at.editInputInvalid:""}`,value:k.draft,onChange:w=>k.setDraft(w.target.value),onBlur:k.handleBlur,onKeyDown:k.handleKeyDown,title:_,"aria-label":_,"data-testid":b?`${b}-input`:void 0}),k.isDirty&&a.jsx("span",{className:at.unsavedDot,title:"Unsaved changes"}),k.error&&a.jsx("span",{className:at.editError,"data-testid":"edit-error",children:k.error}),a.jsx("span",{className:at.editHint,children:"Tab to save · Esc to cancel"})]});const j=g==null?void 0:g(s);return a.jsxs("span",{role:"button",tabIndex:0,className:at.metaValueClickable,onClick:()=>k.startEdit(),onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),k.startEdit())},title:"Click to edit","aria-label":_,"data-testid":b?`${b}-button`:void 0,children:[j!==void 0?j:s?a.jsx("span",{children:s}):a.jsx("span",{className:at.metaPlaceholder,children:v||"None"}),a.jsx("span",{className:at.editButton,"aria-hidden":"true",children:"✏️"})]})}function jd(t){var A;const{value:s,onSave:o,mode:r="edit",options:c,fieldId:d="select",activeFieldId:u,onActivate:p,onChange:m,renderDisplay:g,placeholder:v,ariaLabel:_,"data-testid":b}=t,x=y.useRef(null),k=yh({value:s,onSave:o,fieldId:d,activeFieldId:u,onActivate:p,enterToSave:!1,trimOnSave:!1});y.useEffect(()=>{if(k.isEditing){const L=window.setTimeout(()=>{var E;(E=x.current)==null||E.focus()},0);return()=>window.clearTimeout(L)}},[k.isEditing]);const j=y.useCallback(L=>{const E=L.target.value;k.ignoreInitialBlurRef.current=!1,E!==s&&o(E),k.cancelEdit()},[s,o,k]),w=y.useCallback(L=>{if(k.ignoreInitialBlurRef.current){k.ignoreInitialBlurRef.current=!1;return}L.relatedTarget instanceof HTMLElement&&L.relatedTarget.dataset.editAction===d||k.cancelEdit()},[d,k]);if(r==="create")return a.jsx("select",{className:at.editSelect,value:s,onChange:L=>m==null?void 0:m(L.target.value),"aria-label":_,"data-testid":b?`${b}-select`:void 0,children:c.map(L=>a.jsx("option",{value:L.value,children:L.label},L.value))});if(k.isEditing)return a.jsx("select",{ref:x,className:at.editSelect,value:k.draft,onChange:j,onBlur:w,title:_,"aria-label":_,"data-testid":b?`${b}-select`:void 0,children:c.map(L=>a.jsx("option",{value:L.value,children:L.label},L.value))});const T=g==null?void 0:g(s),C=(A=c.find(L=>L.value===s))==null?void 0:A.label;return a.jsxs("button",{type:"button",className:at.metaValueClickable,onClick:()=>k.startEdit(),title:"Click to change","aria-label":_,"data-testid":b?`${b}-button`:void 0,children:[T!==void 0?T:C?a.jsx("span",{children:C}):a.jsx("span",{className:at.metaPlaceholder,children:v||"None"}),a.jsx("span",{className:at.editButton,"aria-hidden":"true",children:"✏️"})]})}function P5(t){const{checked:s,onChange:o,label:r,ariaLabel:c,"data-testid":d}=t;return a.jsxs("label",{className:at.worktreeToggle,"data-testid":d,children:[a.jsx("input",{type:"checkbox",checked:s,onChange:u=>o(u.target.checked),"aria-label":c}),a.jsx("span",{children:r})]})}const U5="_nav_1snmp_1",V5="_searchForm_1snmp_8",G5="_searchInput_1snmp_15",q5="_searchButton_1snmp_33",F5="_clearButton_1snmp_68",Z5="_workspaceSelect_1snmp_85",K5="_listHeader_1snmp_99",Y5="_nodeList_1snmp_108",J5="_nodeItem_1snmp_116",W5="_indicator_1snmp_129",X5="_label_1snmp_136",Q5="_badge_1snmp_145",ns={nav:U5,searchForm:V5,searchInput:G5,searchButton:q5,clearButton:F5,workspaceSelect:Z5,listHeader:K5,nodeList:Y5,nodeItem:J5,indicator:W5,label:X5,badge:Q5};function eI({nodes:t,workspaces:s,loading:o,searchQuery:r,onSearch:c,onClearSearch:d,onSelectNode:u,onWorkspaceChange:p}){const[m,g]=y.useState(""),v=y.useCallback(k=>{k.preventDefault(),m.trim()&&c(m.trim())},[m,c]),_=y.useCallback(()=>{g(""),d()},[d]),b=y.useCallback(k=>{u(k)},[u]),x=y.useCallback(k=>{g(""),p(k)},[p]);return a.jsxs("div",{className:ns.nav,"data-testid":"knowledge-nav",children:[a.jsxs("form",{className:ns.searchForm,onSubmit:v,children:[a.jsx("input",{className:ns.searchInput,type:"text",placeholder:"Search...",value:m,onChange:k=>{g(k.target.value)},"data-testid":"knowledge-search-input","aria-label":"Search knowledge nodes"}),a.jsx("button",{type:"submit",className:ns.searchButton,disabled:o,children:"Go"})]}),r&&a.jsx("button",{type:"button",className:ns.clearButton,onClick:_,children:"Clear search"}),a.jsxs("select",{className:ns.workspaceSelect,onChange:k=>{x(k.target.value)},"data-testid":"knowledge-workspace-filter","aria-label":"Filter by workspace",children:[a.jsx("option",{value:"",children:"All workspaces"}),s.map(k=>a.jsx("option",{value:k.id,children:k.name},k.id))]}),a.jsxs("div",{className:ns.listHeader,children:["Nodes (",t.length,")"]}),a.jsx("ul",{className:ns.nodeList,children:t.map(k=>a.jsxs("li",{className:ns.nodeItem,onClick:()=>{b(k.id)},onKeyDown:j=>{(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),b(k.id))},role:"button",tabIndex:0,children:[a.jsx("span",{className:ns.indicator,style:{backgroundColor:k.kind==="reference"?"#4A9EFF":k.category==="decision"?"#22C55E":k.category==="concept"?"#A855F7":k.category==="snippet"?"#6B7280":"#EAB308"}}),a.jsx("span",{className:ns.label,children:k.label}),a.jsx("span",{className:ns.badge,children:k.kind==="reference"?k.sourceType:k.category})]},k.id))})]})}const tI="_container_bwu10_1",nI="_hamburger_bwu10_33",sI="_brand_bwu10_49",aI="_brandLogo_bwu10_68",iI="_info_bwu10_75",oI="_connectionLabel_bwu10_90",rI="_connectionDot_bwu10_103",lI="_connected_bwu10_106",cI="_disconnected_bwu10_110",dI="_connecting_bwu10_113",Ms={container:tI,hamburger:nI,brand:sI,brandLogo:aI,info:iI,connectionLabel:oI,connectionDot:rI,connected:lI,disconnected:cI,connecting:dI},uI={connected:"Connected",connecting:"Connecting...",disconnected:"Disconnected"},fI={connected:Ms.connected,connecting:Ms.connecting,disconnected:Ms.disconnected};function pI({connectionStatus:t,environments:s,sessions:o,onToggleSidebar:r,sidebarOpen:c}){const d=dt(),u=s.length,p=s.filter(v=>v.status==="connected").length,m=o.filter(v=>["running","idle"].includes(v.status)).length,g=uI[t];return a.jsxs("div",{className:Ms.container,children:[r&&a.jsx("button",{type:"button",className:Ms.hamburger,onClick:r,"aria-label":"Toggle sidebar","aria-expanded":c,children:a.jsx(vT,{size:Dt,"aria-hidden":"true"})}),a.jsx(Ii,{text:"Home",placement:"bottom",children:a.jsxs("button",{type:"button",className:Ms.brand,onClick:()=>d(qo),"data-testid":"statusbar-brand",children:[a.jsx("img",{src:qd("icon-192x192.png"),alt:"",className:Ms.brandLogo,"aria-hidden":"true","data-testid":"statusbar-logo"}),"Grackle"]})}),a.jsxs("div",{className:Ms.info,children:[a.jsxs("span",{"aria-label":g,children:[a.jsx("span",{className:`${Ms.connectionDot} ${fI[t]}`,"aria-hidden":"true",children:a.jsx(Ja,{size:Em,fill:"currentColor"})})," ",a.jsx("span",{className:Ms.connectionLabel,"aria-hidden":"true",children:g})]}),a.jsxs("span",{children:[p,"/",u," env",u!==1?"s":""]}),a.jsxs("span",{children:[m," active"]})]})]})}const mI="_nav_gx5h3_1",hI="_tab_gx5h3_35",gI="_tabIcon_gx5h3_68",vI="_tabLabel_gx5h3_79",yI="_tabActive_gx5h3_84",bI="_tabEnd_gx5h3_90",Eo={nav:mI,tab:hI,tabIcon:gI,tabLabel:vI,tabActive:yI,tabEnd:bI},ld=[{view:"dashboard",label:"Dashboard",icon:a.jsx(aT,{size:Dt}),route:qo,testId:"sidebar-tab-dashboard",order:0},{view:"tasks",label:"Tasks",icon:a.jsx(Pj,{size:Dt}),route:JN,testId:"sidebar-tab-tasks",order:1},{view:"environments",label:"Environments",icon:a.jsx(_T,{size:Dt}),route:Bo,testId:"sidebar-tab-environments",order:2},{view:"chat",label:"Sessions",icon:a.jsx(z_,{size:Dt}),route:cl,testId:"sidebar-tab-chat",order:3},{view:"findings",label:"Findings",icon:a.jsx(fd,{size:Dt}),route:$d,testId:"sidebar-tab-findings",order:4},{view:"knowledge",label:"Knowledge",icon:a.jsx(Mj,{size:Dt}),route:lx,testId:"sidebar-tab-knowledge",order:5},{view:"settings",label:"Settings",icon:a.jsx(OT,{size:Dt}),route:GN,testId:"sidebar-tab-settings",align:"end"}];function _I(t){return t===qo||t==="/"?"dashboard":t.startsWith("/chat")||t.startsWith("/sessions")?"chat":t.startsWith("/workspaces")||t.startsWith("/environments")?"environments":t.startsWith(lx)?"knowledge":t.startsWith($d)?"findings":t.startsWith(Di)?"settings":"tasks"}function xI({tabs:t=ld}){var g;const s=Jt(),o=dt(),r=y.useRef(null),c=_I(s.pathname),d=y.useMemo(()=>{const v=(_,b)=>(_.order??Number.MAX_SAFE_INTEGER)-(b.order??Number.MAX_SAFE_INTEGER);return[...t.filter(_=>_.align!=="end").sort(v),...t.filter(_=>_.align==="end")]},[t]),u=(g=d.find(v=>v.align==="end"))==null?void 0:g.view,p=y.useCallback(v=>{o(v.route)},[o]),m=y.useCallback(v=>{var j,w;const _=(j=r.current)==null?void 0:j.querySelectorAll('[role="tab"]');if(!_)return;const b=Array.from(_).findIndex(T=>T===document.activeElement),x=b>=0?b:d.findIndex(T=>T.view===c);let k=x;if(v.key==="ArrowRight"||v.key==="j"||v.key==="J")v.preventDefault(),k=(x+1)%d.length;else if(v.key==="ArrowLeft"||v.key==="k"||v.key==="K")v.preventDefault(),k=(x-1+d.length)%d.length;else if(v.key==="Home")v.preventDefault(),k=0;else if(v.key==="End")v.preventDefault(),k=d.length-1;else return;o(d[k].route),(w=_[k])==null||w.focus()},[c,o,d]);return a.jsx("nav",{className:Eo.nav,ref:r,role:"tablist","aria-orientation":"horizontal","aria-label":"App navigation",onKeyDown:m,"data-testid":"sidebar-nav",children:d.map(v=>{const _=v.view===c,b=v.view===u;return a.jsx(Ii,{text:v.label,placement:"bottom",className:b?Eo.tabEnd:void 0,children:a.jsxs("button",{role:"tab",type:"button","aria-selected":_,tabIndex:_?0:-1,className:`${Eo.tab} ${_?Eo.tabActive:""}`,onClick:()=>p(v),"data-testid":v.testId,"aria-label":v.label,children:[a.jsx("span",{className:Eo.tabIcon,"aria-hidden":"true",children:v.icon}),a.jsx("span",{className:Eo.tabLabel,children:v.label})]})},v.view)})})}const kI="_container_pi6ii_1",SI="_content_pi6ii_66",i_={container:kI,content:SI},jI=320,q1=220,F1=600,Z1="grackle-sidebar-width";function TI(){try{const t=localStorage.getItem(Z1);if(t!==null){const s=Number(t);if(Number.isFinite(s)&&s>=q1&&s<=F1)return s}}catch{}return jI}function wI(t){try{localStorage.setItem(Z1,String(t))}catch{}}function NI({content:t}){const[s]=y.useState(TI),o=y.useRef(null);if(y.useEffect(()=>{const r=o.current;if(!r)return;const c=new ResizeObserver(d=>{for(const u of d){const p=u.borderBoxSize[0];if(p){const m=Math.round(p.inlineSize);m>=q1&&m<=F1&&wI(m)}}});return c.observe(r),()=>{c.disconnect()}},[]),t!==void 0)return a.jsx("div",{className:i_.container,ref:o,"data-testid":"sidebar",style:{width:s},children:a.jsx("div",{className:i_.content,children:t})})}const CI="_bar_tnfsh_1",EI="_btnPrimary_tnfsh_32",AI="_statusText_tnfsh_85",DI="_statusCompleted_tnfsh_90",RI="_statusFailed_tnfsh_94",MI="_statusBlocked_tnfsh_98",II="_hintText_tnfsh_103",At={bar:CI,btnPrimary:EI,statusText:AI,statusCompleted:DI,statusFailed:RI,statusBlocked:MI,hintText:II};function OI({sessions:t,tasks:s,environments:o}){const r=dt(),c=Jt(),d=It("/sessions/:sessionId"),u=It("/tasks/:taskId"),p=It("/tasks/:taskId/stream"),m=It("/tasks/:taskId/findings"),g=It("/tasks/:taskId/edit"),v=It("/environments/:environmentId/workspaces/:workspaceId/tasks/:taskId"),_=It("/environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/stream"),b=It("/environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/findings"),x=It("/environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/edit"),k=It("/sessions/new"),j=It("/environments/:environmentId/workspaces/:workspaceId"),w=It("/tasks/new"),T=It("/chat"),C=It("/"),A=It("/settings/*"),L=d==null?void 0:d.params.sessionId,E=(u==null?void 0:u.params.taskId)??(p==null?void 0:p.params.taskId)??(m==null?void 0:m.params.taskId)??(v==null?void 0:v.params.taskId)??(_==null?void 0:_.params.taskId)??(b==null?void 0:b.params.taskId)??(x==null?void 0:x.params.taskId),O=v??_??b??x,z=(O==null?void 0:O.params.environmentId)??(j==null?void 0:j.params.environmentId),D=c.pathname.startsWith("/environments")&&!j&&!O,H=!!T,Y=!!k,U=!!j&&!v&&!_&&!b&&!x,X=!!w;if(!!C&&!Y&&!U&&!X||!!A||(!!g||!!x)||X||D||Y)return a.jsx(a.Fragment,{});if(H)return o.find(R=>R.adapterType==="local"&&R.status==="connected")?a.jsx(a.Fragment,{}):a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Add a local environment to start chatting"})});if(U)return a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Select a task or click + to create one"})});if(E){const B=s.find(oe=>oe.id===E);if(!B)return a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Loading..."})});const R=new Map(s.map(oe=>[oe.id,oe])),se=B.dependsOn.some(oe=>{const G=R.get(oe);return G!==void 0&&G.status!=="complete"});if(B.status==="not_started"){const oe=se?B.dependsOn.map(G=>R.get(G)).filter(G=>G&&G.status!=="complete").map(G=>G.title):[];return a.jsx("div",{className:At.bar,children:se?a.jsxs("span",{className:At.statusBlocked,children:["Blocked by: ",oe.join(", ")]}):a.jsx("span",{className:At.hintText,children:"Use the buttons above to start or manage this task"})})}if(B.status==="working"||B.status==="paused"){const oe=B.latestSessionId||void 0,G=oe?t.find(de=>de.id===oe):void 0;return G&&G.status!=="stopped"?a.jsx(a.Fragment,{}):a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Waiting for agent..."})})}if(B.status==="complete")return a.jsxs("div",{className:At.bar,children:[a.jsx("span",{className:`${At.statusText} ${At.statusCompleted}`,children:"Task completed"}),a.jsx("button",{onClick:()=>r(Bi(B.workspaceId,void 0,z)),className:At.btnPrimary,children:"+ New Task"})]});if(B.status==="failed")return a.jsx("div",{className:At.bar,children:a.jsx("span",{className:`${At.statusText} ${At.statusFailed}`,children:"Task failed"})})}if(L){const B=t.find(oe=>oe.id===L),R=(B==null?void 0:B.status)==="stopped";if(B!==void 0&&!R)return a.jsx(a.Fragment,{});if(R)return a.jsxs("div",{className:At.bar,children:[a.jsxs("span",{className:`${At.statusText} ${At.hintText}`,children:["Session ",B.endReason||B.status]}),a.jsx("button",{onClick:()=>r(ax(B.environmentId)),className:At.btnPrimary,children:"+ New Chat"})]})}return a.jsx("div",{className:At.bar,children:a.jsx("span",{className:At.hintText,children:"Loading..."})})}const LI="_nav_14i94_1",BI="_tab_14i94_24",$I="_tabActive_14i94_62",zI="_tabLabel_14i94_75",HI="_statusDot_14i94_81",PI="_pulse_14i94_87",UI="_addButton_14i94_99",VI="_empty_14i94_132",Ga={nav:LI,tab:BI,tabActive:$I,tabLabel:zI,statusDot:HI,pulse:PI,addButton:UI,empty:VI},GI={connected:"var(--accent-green)",sleeping:"var(--accent-yellow)",error:"var(--accent-red)",disconnected:"var(--text-tertiary)",connecting:"var(--accent-blue)"};function qI({environments:t}){const s=dt(),o=y.useRef(null),r=It("/environments/:environmentId"),c=It("/environments/:environmentId/edit"),d=It("/environments/:environmentId/workspaces/:workspaceId"),u=It("/environments/:environmentId/workspaces/:workspaceId/*"),p=(r==null?void 0:r.params.environmentId)??(c==null?void 0:c.params.environmentId)??(d==null?void 0:d.params.environmentId)??(u==null?void 0:u.params.environmentId),m=p==="new"?void 0:p,g=y.useCallback(b=>{s(Mi(b))},[s]),v=y.useCallback(b=>{var T;const x=(T=o.current)==null?void 0:T.querySelectorAll('[role="tab"]');if(!x||x.length===0)return;const k=Array.from(x).findIndex(C=>C===document.activeElement),j=k>=0?k:t.findIndex(C=>C.id===m);let w=j;if(b.key==="ArrowDown"||b.key==="j"||b.key==="J")b.preventDefault(),w=(j+1)%x.length;else if(b.key==="ArrowUp"||b.key==="k"||b.key==="K")b.preventDefault(),w=(j-1+x.length)%x.length;else if(b.key==="Home")b.preventDefault(),w=0;else if(b.key==="End")b.preventDefault(),w=x.length-1;else return;w<t.length&&s(Mi(t[w].id)),x[w].focus()},[m,t,s]),_=m??(t.length>0?t[0].id:void 0);return a.jsxs("div",{className:Ga.nav,"data-testid":"environment-nav",children:[a.jsx("nav",{ref:o,role:"tablist","aria-orientation":"vertical","aria-label":"Environments",onKeyDown:v,children:t.map(b=>{const x=b.id===m,k=b.id===_,j=GI[b.status]||"var(--text-tertiary)",w=b.status==="connected";return a.jsxs("button",{role:"tab",type:"button","aria-selected":x,tabIndex:k?0:-1,className:`${Ga.tab} ${x?Ga.tabActive:""}`,onClick:()=>g(b.id),"data-testid":"env-nav-item",children:[a.jsx("span",{className:`${Ga.statusDot} ${w?Ga.pulse:""}`,style:{color:j},"aria-hidden":"true",children:a.jsx(Ja,{size:Em,fill:"currentColor"})}),a.jsx("span",{className:Ga.tabLabel,title:b.displayName||b.id,children:b.displayName||b.id})]},b.id)})}),a.jsx("button",{type:"button",className:Ga.addButton,onClick:()=>s(UN),title:"Add environment","data-testid":"env-nav-add",children:"+ Add Environment"}),t.length===0&&a.jsx("div",{className:Ga.empty,children:"No environments yet."})]})}function Uo(t){const s=new Date(t),o=new Date,r=o.getTime()-s.getTime(),c=Math.floor(r/1e3),d=Math.floor(c/60),u=Math.floor(d/60),p=Math.floor(u/24);if(c<60)return"just now";if(d<60)return`${d}m ago`;if(u<24)return`${u}h ago`;if(p===1)return"yesterday";if(p<7)return`${p} days ago`;const m=s.getFullYear()===o.getFullYear(),g=s.toLocaleString("en-US",{month:"short"}),v=s.getDate();return m?`${g} ${v}`:`${g} ${v} ${s.getFullYear()}`}function K1(t){const s=new Date(t);if(Number.isNaN(s.getTime()))return"—";const o=new Date,r=s.getTime()-o.getTime();if(r<=0)return"overdue";const c=Math.floor(r/1e3),d=Math.floor(c/60),u=Math.floor(d/60),p=Math.floor(u/24);if(c<60)return`in ${c}s`;if(d<60)return`in ${d}m`;if(u<24)return`in ${u}h`;if(p<7)return`in ${p} day${p===1?"":"s"}`;const m=s.getFullYear()===o.getFullYear(),g=s.toLocaleString("en-US",{month:"short"}),v=s.getDate();return m?`${g} ${v}`:`${g} ${v} ${s.getFullYear()}`}const o_={architecture:{text:"var(--accent-blue)",bg:"var(--accent-blue-dim)"},api:{text:"var(--accent-green)",bg:"var(--accent-green-dim)"},bug:{text:"var(--accent-red)",bg:"var(--accent-red-dim)"},decision:{text:"var(--accent-yellow)",bg:"var(--accent-yellow-dim)"},dependency:{text:"var(--accent-purple)",bg:"var(--accent-purple-dim)"},pattern:{text:"var(--accent-cyan)",bg:"var(--accent-cyan-dim)"},general:{text:"var(--text-secondary)",bg:"var(--bg-elevated)"}};function Td(t){return o_[t]||o_.general}const FI="_nav_dlm8m_1",ZI="_categoryPills_dlm8m_24",KI="_categoryPill_dlm8m_24",YI="_tab_dlm8m_42",JI="_tabActive_dlm8m_80",WI="_tabContent_dlm8m_93",XI="_tabLabel_dlm8m_100",QI="_tabMeta_dlm8m_106",eO="_categoryDot_dlm8m_111",tO="_empty_dlm8m_118",Ds={nav:FI,categoryPills:ZI,categoryPill:KI,tab:YI,tabActive:JI,tabContent:WI,tabLabel:XI,tabMeta:QI,categoryDot:eO,empty:tO};function nO({findings:t,workspaceId:s,environmentId:o}){const r=dt(),c=y.useRef(null),d=It("/findings/:findingId"),u=It("/environments/:environmentId/workspaces/:workspaceId/findings/:findingId"),p=(d==null?void 0:d.params.findingId)??(u==null?void 0:u.params.findingId),m=y.useMemo(()=>{const b=new Set(t.map(x=>x.category).filter(Boolean));return Array.from(b).sort()},[t]),g=y.useCallback(b=>{r(tm(b,s,o))},[r,s,o]),v=y.useCallback(b=>{var T;const x=(T=c.current)==null?void 0:T.querySelectorAll('[role="tab"]');if(!x||x.length===0)return;const k=Array.from(x).findIndex(C=>C===document.activeElement),j=k>=0?k:t.findIndex(C=>C.id===p);let w=j;if(b.key==="ArrowDown"||b.key==="j"||b.key==="J")b.preventDefault(),w=(j+1)%x.length;else if(b.key==="ArrowUp"||b.key==="k"||b.key==="K")b.preventDefault(),w=(j-1+x.length)%x.length;else if(b.key==="Home")b.preventDefault(),w=0;else if(b.key==="End")b.preventDefault(),w=x.length-1;else return;w<t.length&&r(tm(t[w].id,s,o)),x[w].focus()},[p,t,r,s,o]),_=p??(t.length>0?t[0].id:void 0);return a.jsxs("div",{className:Ds.nav,"data-testid":"findings-nav",children:[m.length>1&&a.jsx("div",{className:Ds.categoryPills,"data-testid":"findings-nav-categories",children:m.map(b=>a.jsx("span",{className:Ds.categoryPill,style:{color:Td(b).text},children:b},b))}),a.jsx("nav",{ref:c,role:"tablist","aria-orientation":"vertical","aria-label":"Findings",onKeyDown:v,children:t.map(b=>{const x=b.id===p,k=b.id===_;return a.jsxs("button",{role:"tab",type:"button","aria-selected":x,tabIndex:k?0:-1,className:`${Ds.tab} ${x?Ds.tabActive:""}`,onClick:()=>g(b.id),"data-testid":"finding-nav-item",children:[a.jsx("span",{className:Ds.categoryDot,style:{color:Td(b.category).text},"aria-hidden":"true",children:a.jsx(Ja,{size:Em,fill:"currentColor"})}),a.jsxs("span",{className:Ds.tabContent,children:[a.jsx("span",{className:Ds.tabLabel,title:b.title,children:b.title}),a.jsx("span",{className:Ds.tabMeta,title:b.createdAt,children:Uo(b.createdAt)})]})]},b.id)})}),t.length===0&&a.jsx("div",{className:Ds.empty,children:"No findings yet. Agents will post discoveries here."})]})}function sO(t){if(t.length===0)return[];const s=[...t].sort((r,c)=>r[0]-c[0]),o=[[s[0][0],s[0][1]]];for(let r=1;r<s.length;r++){const c=o[o.length-1],[d,u]=s[r];d<=c[1]+1?c[1]=Math.max(c[1],u):o.push([d,u])}return o}function Y1({text:t,indices:s,highlightClass:o}){if(!s||s.length===0)return a.jsx(a.Fragment,{children:t});const r=sO(s),c=[];let d=0;for(const[u,p]of r)u>d&&c.push(a.jsx("span",{children:t.slice(d,u)},`p${d}`)),c.push(a.jsx("mark",{className:o,children:t.slice(u,p+1)},`m${u}`)),d=p+1;return d<t.length&&c.push(a.jsx("span",{children:t.slice(d)},`p${d}`)),a.jsx(a.Fragment,{children:c})}function aO(t){const s=new Map(t.map(r=>[r.id,{...r,children:[]}])),o=[];for(const r of s.values())r.parentTaskId&&s.has(r.parentTaskId)?s.get(r.parentTaskId).children.push(r):o.push(r);for(const r of s.values())r.children.sort((c,d)=>c.sortOrder-d.sortOrder);return o.sort((r,c)=>r.sortOrder-c.sortOrder)}function iO(t,s){const o=new Map;for(const d of t){const p=d.dependsOn.length>0&&d.dependsOn.some(g=>s.get(g)!=="complete")?"blocked":d.status,m=o.get(p);m?m.push(d):o.set(p,[d])}const r=[],c=new Set;for(const d of FT){c.add(d);const u=o.get(d);if(u&&u.length>0){u.sort((m,g)=>m.sortOrder-g.sortOrder);const p=Wa(d);r.push({status:d,label:p.label,style:p,tasks:u})}}for(const[d,u]of o)if(!c.has(d)&&u.length>0){u.sort((m,g)=>m.sortOrder-g.sortOrder);const p=Wa(d);r.push({status:d,label:p.label,style:p,tasks:u})}return r}const oO="_container_z4i38_1",rO="_header_z4i38_5",lO="_headerActions_z4i38_17",cO="_searchInput_z4i38_23",dO="_searchHighlight_z4i38_56",uO="_groupToggle_z4i38_62",fO="_groupToggleActive_z4i38_89",pO="_addButton_z4i38_93",mO="_taskRow_z4i38_120",hO="_selected_z4i38_140",gO="_expandArrow_z4i38_150",vO="_expanded_z4i38_157",yO="_leafSpacer_z4i38_161",bO="_taskStatusIcon_z4i38_166",_O="_taskTitle_z4i38_170",xO="_workspaceBadge_z4i38_177",kO="_childCountBadge_z4i38_195",SO="_dependencyBadge_z4i38_208",jO="_blockedBadge_z4i38_220",TO="_addChildButton_z4i38_225",wO="_emptyState_z4i38_268",NO="_statusGroupHeader_z4i38_275",CO="_statusGroupIcon_z4i38_294",EO="_statusGroupLabel_z4i38_298",AO="_statusGroupCount_z4i38_303",We={container:oO,header:rO,headerActions:lO,searchInput:cO,searchHighlight:dO,groupToggle:uO,groupToggleActive:fO,addButton:pO,taskRow:mO,selected:hO,expandArrow:gO,expanded:vO,leafSpacer:yO,taskStatusIcon:bO,taskTitle:_O,workspaceBadge:xO,childCountBadge:kO,dependencyBadge:SO,blockedBadge:jO,addChildButton:TO,emptyState:wO,statusGroupHeader:NO,statusGroupIcon:CO,statusGroupLabel:EO,statusGroupCount:AO},DO=[{name:"title",weight:2},{name:"description",weight:1}],J1=16,RO=16,W1="grackle-task-group-by-status";function r_(){try{return localStorage.getItem(W1)==="true"}catch{return!1}}function MO(t){try{localStorage.setItem(W1,String(t))}catch{}}function IO({group:t,isExpanded:s,onToggle:o,selectedTaskId:r,navigate:c,titleHighlights:d,workspaceNames:u}){return a.jsxs("div",{"data-testid":`status-group-${t.status}`,children:[a.jsxs("div",{className:We.statusGroupHeader,role:"button",tabIndex:0,"aria-expanded":s,onClick:o,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),o())},children:[a.jsx("span",{className:`${We.expandArrow} ${s?We.expanded:""}`,"aria-hidden":"true",children:a.jsx(ma,{size:it})}),a.jsx("span",{className:We.statusGroupIcon,style:{color:t.style.color},"aria-hidden":"true",children:t.style.icon}),a.jsx("span",{className:We.statusGroupLabel,children:t.label}),a.jsx("span",{className:We.statusGroupCount,children:t.tasks.length})]}),a.jsx(rs,{children:s&&a.jsx(Rt.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2},style:{overflow:"hidden"},children:t.tasks.map(p=>{const m=Wa(p.status),g=r===p.id,v=p.parentTaskId||!p.workspaceId?void 0:u.get(p.workspaceId);return a.jsxs("div",{onClick:()=>c(Hn(p.id)),role:"button",tabIndex:0,"aria-label":p.title,onKeyDown:_=>{_.currentTarget===_.target&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),c(Hn(p.id)))},className:`${We.taskRow} ${g?We.selected:""}`,style:{"--task-indent":`${J1}px`},"data-task-id":p.id,children:[a.jsx("span",{className:We.leafSpacer}),a.jsx("span",{className:We.taskStatusIcon,style:{color:m.color},"aria-hidden":"true","data-testid":`task-status-${gl(p.status)}`,children:m.icon}),a.jsx("span",{className:We.taskTitle,title:p.title,children:a.jsx(Y1,{text:p.title,indices:d.get(p.id),highlightClass:We.searchHighlight})}),v&&a.jsx("span",{className:We.workspaceBadge,title:v,children:v})]},p.id)})})})]})}function X1({node:t,depth:s,expandedTasks:o,toggleTask:r,selectedTaskId:c,navigate:d,taskStatusById:u,titleHighlights:p,workspaceNames:m}){const g=Wa(t.status),v=t.dependsOn.length>0&&t.dependsOn.some(T=>u.get(T)!=="complete"),_=o.has(t.id),b=t.children.length>0,x=c===t.id,k=J1+s*RO,w=s===0&&!t.parentTaskId&&t.workspaceId?m.get(t.workspaceId):void 0;return a.jsxs(a.Fragment,{children:[a.jsxs("div",{onClick:()=>d(Hn(t.id)),role:"button",tabIndex:0,"aria-label":t.title,onKeyDown:T=>{T.currentTarget===T.target&&(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),d(Hn(t.id)))},className:`${We.taskRow} ${x?We.selected:""}`,style:{"--task-indent":`${k}px`},"data-task-id":t.id,children:[b&&a.jsx("span",{className:`${We.expandArrow} ${_?We.expanded:""}`,role:"button",tabIndex:0,"aria-label":_?"Collapse task":"Expand task",onClick:T=>{T.stopPropagation(),r(t.id)},onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),T.stopPropagation(),r(t.id))},children:a.jsx(ma,{size:it,"aria-hidden":"true"})}),!b&&a.jsx("span",{className:We.leafSpacer}),a.jsx("span",{className:We.taskStatusIcon,style:{color:g.color},"aria-hidden":"true","data-testid":`task-status-${gl(t.status)}`,children:g.icon}),a.jsx("span",{className:We.taskTitle,title:t.title,children:a.jsx(Y1,{text:t.title,indices:p.get(t.id),highlightClass:We.searchHighlight})}),w&&a.jsx("span",{className:We.workspaceBadge,title:w,children:w}),b&&a.jsxs("span",{className:We.childCountBadge,children:[t.children.filter(T=>T.status==="complete").length,"/",t.children.length]}),t.dependsOn.length>0&&a.jsx("span",{className:`${We.dependencyBadge} ${v?We.blockedBadge:""}`,title:`Depends on: ${t.dependsOn.join(", ")}`,children:v?"blocked":"dep"}),s<G2&&a.jsx(Ii,{text:"Add child task",children:a.jsx("button",{onClick:T=>{T.stopPropagation(),d(Bi(t.workspaceId,t.id))},"aria-label":"Add child task",className:We.addChildButton,children:"+"})})]}),a.jsx(rs,{children:b&&_&&a.jsx(Rt.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.15},style:{overflow:"hidden"},children:t.children.map(T=>a.jsx(X1,{node:T,depth:s+1,expandedTasks:o,toggleTask:r,selectedTaskId:c,navigate:d,taskStatusById:u,titleHighlights:p,workspaceNames:m},T.id))})})]})}function OO({workspaces:t,tasks:s}){const o=dt(),[r,c]=y.useState(new Set),[d,u]=y.useState(new Set),[p,m]=y.useState(r_),[g,v]=y.useState(r_),[_,b]=y.useState(new Map),x=It("/tasks/:taskId/*"),k=(x==null?void 0:x.params.taskId)!=="new"?x==null?void 0:x.params.taskId:void 0,j=y.useMemo(()=>new Map(s.map(W=>[W.id,W.status])),[s]),w=y.useMemo(()=>new Map(t.map(W=>[W.id,W.name])),[t]),T=()=>{const W=!p;MO(W),m(W),W&&(v(!0),b(new Map))},C=W=>{b(le=>{const B=new Map(le),R=B.has(W)?B.get(W):g;return B.set(W,!R),B})},A=W=>_.has(W)?_.get(W):g,L=W=>{c(le=>{const B=new Set(le);return B.has(W)?(B.delete(W),u(R=>new Set(R).add(W))):(B.add(W),u(R=>{const se=new Set(R);return se.delete(W),se})),B})};y.useEffect(()=>{const W=new Set(s.filter(le=>le.parentTaskId).map(le=>le.parentTaskId));W.size>0&&c(le=>{const B=new Set(le);for(const R of W)d.has(R)||B.add(R);return B})},[s,d]);const[E,O]=y.useState(""),{directMatchTaskIds:z,treeMatchTaskIds:D,titleHighlights:H}=y.useMemo(()=>{if(!E.trim())return{directMatchTaskIds:null,treeMatchTaskIds:null,titleHighlights:new Map};const W=V2(s,E,DO),le=new Set(W.map(oe=>oe.item.id)),B=new Map;for(const oe of W){const G=oe.matches.find(pe=>pe.key==="title");G&&B.set(oe.item.id,G.indices)}const R=new Set(le),se=new Map(s.map(oe=>[oe.id,oe]));for(const oe of[...le]){let G=se.get(oe);for(;G!=null&&G.parentTaskId;)R.add(G.parentTaskId),G=se.get(G.parentTaskId)}return{directMatchTaskIds:le,treeMatchTaskIds:R,titleHighlights:B}},[E,s]),Y=z!==null,U=Y?p?z:D:null,X=U?s.filter(W=>U.has(W.id)):s,he=p?[]:aO(X);return a.jsxs("div",{className:We.container,children:[a.jsxs("div",{className:We.header,children:[a.jsx("span",{children:"Tasks"}),a.jsxs("div",{className:We.headerActions,children:[a.jsx(Ii,{text:p?"Switch to tree view":"Group tasks by status",children:a.jsx("button",{className:`${We.groupToggle} ${p?We.groupToggleActive:""}`,onClick:T,"aria-label":p?"Switch to tree view":"Group tasks by status","aria-pressed":p,"data-testid":"task-group-by-status-toggle",children:a.jsx(pT,{size:Gt})})}),a.jsx(Ii,{text:"New task",children:a.jsx("button",{className:We.addButton,onClick:()=>o(Bi()),"aria-label":"New task","data-testid":"new-task-button",children:"+"})})]})]}),s.length>0&&a.jsx("input",{type:"text",value:E,onChange:W=>O(W.target.value),placeholder:"Filter...","aria-label":"Filter tasks",className:We.searchInput,"data-testid":"sidebar-search"}),p?iO(X,j).map(W=>a.jsx(IO,{group:W,isExpanded:A(W.status),onToggle:()=>C(W.status),selectedTaskId:k,navigate:o,titleHighlights:H,workspaceNames:w},W.status)):he.map(W=>a.jsx(X1,{node:W,depth:0,expandedTasks:r,toggleTask:L,selectedTaskId:k,navigate:o,taskStatusById:j,titleHighlights:H,workspaceNames:w},W.id)),X.length===0&&!Y&&a.jsx("div",{className:We.emptyState,children:"No tasks yet. Click + to create one."}),X.length===0&&Y&&a.jsx("div",{className:We.emptyState,children:"No matching tasks"})]})}const LO="_toast_ed2dk_1",BO="_success_ed2dk_18",$O="_icon_ed2dk_22",zO="_error_ed2dk_25",HO="_warning_ed2dk_32",PO="_info_ed2dk_38",UO="_message_ed2dk_53",VO="_close_ed2dk_60",Fr={toast:LO,success:BO,icon:$O,error:zO,warning:HO,info:PO,message:UO,close:VO},GO={success:a.jsx(Oi,{size:Dt}),error:a.jsx($s,{size:Dt}),warning:a.jsx(Cm,{size:Dt}),info:a.jsx(Nm,{size:Dt})};function qO({toast:t,onDismiss:s}){return y.useEffect(()=>{const o=setTimeout(()=>s(t.id),t.duration);return()=>clearTimeout(o)},[t.id,t.duration,s]),a.jsxs(Rt.div,{className:`${Fr.toast} ${Fr[t.variant]}`,role:"status",initial:{opacity:0,y:-16,scale:.94},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-8,scale:.94},transition:{duration:.2,ease:"easeOut"},layout:!0,children:[a.jsx("span",{className:Fr.icon,"aria-hidden":"true",children:GO[t.variant]}),a.jsx("span",{className:Fr.message,children:t.message}),a.jsx("button",{type:"button",className:Fr.close,onClick:()=>s(t.id),"aria-label":"Dismiss notification",children:a.jsx($s,{size:Gt,"aria-hidden":"true"})})]})}const FO="_container_qqse2_1",ZO={container:FO};function KO({toasts:t,onDismiss:s}){return a.jsx("div",{className:ZO.container,"data-testid":"toast-container",children:a.jsx(rs,{children:t.map(o=>a.jsx(qO,{toast:o,onDismiss:s},o.id))})})}const YO="_callout_e5awm_1",JO="_success_e5awm_11",WO="_icon_e5awm_15",XO="_error_e5awm_18",QO="_warning_e5awm_25",eL="_info_e5awm_32",tL="_content_e5awm_48",nL="_close_e5awm_53",Zr={callout:YO,success:JO,icon:WO,error:XO,warning:QO,info:eL,content:tL,close:nL},sL={success:a.jsx(Oi,{size:Dt}),error:a.jsx($s,{size:Dt}),warning:a.jsx(Cm,{size:Dt}),info:a.jsx(Nm,{size:Dt})};function aL({variant:t="info",children:s,dismissible:o=!1,className:r}){const[c,d]=y.useState(!1);return a.jsx(a.Fragment,{children:!c&&a.jsxs("div",{className:[Zr.callout,Zr[t],r].filter(Boolean).join(" "),role:t==="error"||t==="warning"?"alert":"status",children:[a.jsx("span",{className:Zr.icon,"aria-hidden":"true",children:sL[t]}),a.jsx("span",{className:Zr.content,children:s}),o&&a.jsx("button",{type:"button",className:Zr.close,onClick:()=>d(!0),"aria-label":"Dismiss",children:a.jsx($s,{size:Gt,"aria-hidden":"true"})})]})})}function iL({currentVersion:t,latestVersion:s,updateAvailable:o,isDocker:r}){if(!o)return a.jsx(a.Fragment,{});const c=r?"docker pull ghcr.io/nick-pape/grackle:latest && docker restart grackle":`npm install -g @grackle-ai/cli@${s}`;return a.jsx("div",{"data-testid":"update-banner",children:a.jsxs(aL,{variant:"info",dismissible:!0,children:[a.jsxs("strong",{children:["Grackle v",s]})," is available (you have v",t,")."," ","Run: ",a.jsx("code",{children:c})]})})}const oL="_container_de44x_1",rL="_emptyState_de44x_8",lL="_card_de44x_14",cL="_cardClickable_de44x_34",dL="_cardHeader_de44x_42",uL="_categoryBadge_de44x_54",fL="_findingTitle_de44x_62",pL="_findingDate_de44x_68",mL="_findingContent_de44x_80",hL="_tags_de44x_86",gL="_tag_de44x_86",ys={container:oL,emptyState:rL,card:lL,cardClickable:cL,cardHeader:dL,categoryBadge:uL,findingTitle:fL,findingDate:pL,findingContent:mL,tags:hL,tag:gL};function Q1({findings:t,onFindingClick:s}){return t.length===0?a.jsx("div",{className:ys.emptyState,children:"No findings yet. Agents will post discoveries here."}):a.jsx("div",{className:ys.container,children:t.map((o,r)=>{const c=Td(o.category),d=s?Rt.button:Rt.div;return a.jsxs(d,{type:s?"button":void 0,className:`${ys.card} ${s?ys.cardClickable:""}`,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:r*.05,duration:.2},onClick:s?()=>{s(o.id)}:void 0,children:[a.jsxs("div",{className:ys.cardHeader,children:[a.jsx("span",{className:ys.categoryBadge,style:{background:c.bg,color:c.text},children:o.category}),a.jsx("span",{className:ys.findingTitle,children:o.title}),a.jsx("span",{className:ys.findingDate,title:o.createdAt,children:Uo(o.createdAt)})]}),a.jsx("div",{className:ys.findingContent,children:o.content.length>300?o.content.slice(0,300)+"...":o.content}),o.tags.length>0&&a.jsx("div",{className:ys.tags,children:o.tags.map(u=>a.jsx("span",{className:ys.tag,style:{color:c.text,textShadow:`0 0 8px ${c.text}`},children:u},u))})]},o.id)})})}const vL="_container_m1fsr_1",yL="_heading_m1fsr_7",bL="_section_m1fsr_14",_L="_sectionTitle_m1fsr_26",xL="_sectionDescription_m1fsr_35",kL="_emptyState_m1fsr_41",SL="_tokenList_m1fsr_48",jL="_tokenRow_m1fsr_55",TL="_tokenBadge_m1fsr_68",wL="_tokenName_m1fsr_83",NL="_tokenTarget_m1fsr_90",CL="_deleteButton_m1fsr_99",EL="_addForm_m1fsr_113",AL="_formRow_m1fsr_119",DL="_input_m1fsr_125",RL="_select_m1fsr_155",ML="_addButton_m1fsr_187",IL="_emptyStateInfo_m1fsr_221",OL="_themeOptions_m1fsr_229",LL="_themeOption_m1fsr_229",BL="_themeOptionSelected_m1fsr_254",$L="_themeOptionHeader_m1fsr_259",zL="_themeOptionLabel_m1fsr_266",HL="_themeOptionDesc_m1fsr_273",PL="_variantToggle_m1fsr_279",UL="_variantButton_m1fsr_286",VL="_variantActive_m1fsr_305",GL="_themeSwatches_m1fsr_311",qL="_themeSwatch_m1fsr_311",FL="_systemToggle_m1fsr_325",ZL="_systemToggleHint_m1fsr_341",KL="_themeActive_m1fsr_348",YL="_aboutGrid_m1fsr_354",JL="_aboutItem_m1fsr_360",WL="_aboutLabel_m1fsr_373",XL="_aboutValue_m1fsr_379",QL="_aboutDot_m1fsr_387",eB="_aboutDotConnected_m1fsr_394",tB="_aboutDotDisconnected_m1fsr_398",nB="_aboutDotConnecting_m1fsr_402",fe={container:vL,heading:yL,section:bL,sectionTitle:_L,sectionDescription:xL,emptyState:kL,tokenList:SL,tokenRow:jL,tokenBadge:TL,tokenName:wL,tokenTarget:NL,deleteButton:CL,addForm:EL,formRow:AL,input:DL,select:RL,addButton:ML,emptyStateInfo:IL,themeOptions:OL,themeOption:LL,themeOptionSelected:BL,themeOptionHeader:$L,themeOptionLabel:zL,themeOptionDesc:HL,variantToggle:PL,variantButton:UL,variantActive:VL,themeSwatches:GL,themeSwatch:qL,systemToggle:FL,systemToggleHint:ZL,themeActive:KL,aboutGrid:YL,aboutItem:JL,aboutLabel:WL,aboutValue:XL,aboutDot:QL,aboutDotConnected:eB,aboutDotDisconnected:tB,aboutDotConnecting:nB},sB=[{value:"env_var",label:"Environment Variable"},{value:"file",label:"File"}];function aB({tokens:t,onSetToken:s,onDeleteToken:o,onShowToast:r}){const[c,d]=y.useState(""),[u,p]=y.useState(""),[m,g]=y.useState("env_var"),[v,_]=y.useState(""),[b,x]=y.useState(null),k=T=>{if(T.preventDefault(),!c||!u)return;const C=m==="env_var"?v||c.toUpperCase()+"_TOKEN":"";s(c,u,m,C,m==="file"?v:""),r==null||r("Token saved successfully","success"),d(""),p(""),_("")},j=T=>{x(T)},w=()=>{b&&(o(b),r==null||r("Token deleted","info")),x(null)};return a.jsxs(a.Fragment,{children:[a.jsx(ks,{isOpen:b!==null,title:"Delete Token?",description:b?`"${b}" will be permanently removed.`:void 0,onConfirm:w,onCancel:()=>x(null)}),a.jsxs("section",{className:fe.section,children:[a.jsx("h3",{className:fe.sectionTitle,children:"Tokens"}),a.jsx("p",{className:fe.sectionDescription,children:"API tokens are auto-pushed to environments when set or updated. Values are write-only."}),t.length===0?a.jsx("div",{className:fe.emptyStateInfo,children:"Add your first API token to enable service integrations."}):a.jsx("div",{className:fe.tokenList,children:t.map(T=>a.jsxs("div",{className:fe.tokenRow,children:[a.jsx("span",{className:fe.tokenBadge,children:T.tokenType}),a.jsx("span",{className:fe.tokenName,children:T.name}),a.jsx("span",{className:fe.tokenTarget,children:T.tokenType==="env_var"?T.envVar:T.filePath}),a.jsx("button",{className:fe.deleteButton,onClick:()=>j(T.name),title:`Delete ${T.name}`,"aria-label":`Delete ${T.name}`,children:a.jsx($s,{size:Gt,"aria-hidden":"true"})})]},T.name))}),a.jsxs("form",{className:fe.addForm,onSubmit:k,children:[a.jsxs("div",{className:fe.formRow,children:[a.jsx("input",{className:fe.input,type:"text",placeholder:"Token name",value:c,onChange:T=>d(T.target.value)}),a.jsx("input",{className:fe.input,type:"password",placeholder:"Value",value:u,onChange:T=>p(T.target.value)})]}),a.jsxs("div",{className:fe.formRow,children:[a.jsx("select",{className:fe.select,value:m,onChange:T=>g(T.target.value),children:sB.map(T=>a.jsx("option",{value:T.value,children:T.label},T.value))}),a.jsx("input",{className:fe.input,type:"text",placeholder:m==="env_var"?"Env var name (e.g. API_TOKEN)":"File path (e.g. /home/user/.token)",value:v,onChange:T=>_(T.target.value)}),a.jsx("button",{className:fe.addButton,type:"submit",children:"Add Token"})]})]})]})]})}const Fd=[{id:"grackle",label:"Grackle",description:"The default Grackle theme — iridescent purple on clean dark.",swatches:["#0e1218","#8b5cf6","#60a5fa","#e5e7eb","#34d399"],variantLightId:"grackle-light",variantDarkId:"grackle-dark"},{id:"grackle-light",label:"Grackle Light",description:"Light Grackle variant.",hidden:!0},{id:"grackle-dark",label:"Grackle Dark",description:"Dark Grackle variant.",hidden:!0},{id:"glass",label:"Glassmorphism",description:"Dark frosted-glass aesthetic with backdrop blur effects.",swatches:["#0a0c14","#4ecca3","#70a1ff","#e2e8f0","#a855f7"]},{id:"matrix",label:"Matrix",description:"Phosphor-green CRT terminal with scanlines and glow.",swatches:["#050505","#00ff41","#00bfff","#33ff77","#ffb000"]},{id:"brutalist",label:"Neubrutalism",description:"Thick borders, raw colors, bold type — ugly on purpose.",swatches:["#f5f0e8","#ff5757","#5ce1e6","#1a1a1a","#ffde59"],variantLightId:"brutalist-light",variantDarkId:"brutalist-dark"},{id:"brutalist-light",label:"Neubrutalism Light",description:"Light neubrutalism variant.",hidden:!0},{id:"brutalist-dark",label:"Neubrutalism Dark",description:"Dark neubrutalism variant.",hidden:!0},{id:"monokai",label:"Monokai",description:"Classic warm editor palette — pink, green, and purple.",swatches:["#272822","#f92672","#a6e22e","#f8f8f2","#ae81ff"],variantLightId:"monokai-light",variantDarkId:"monokai-dark"},{id:"monokai-dark",label:"Monokai Dark",description:"Dark Monokai variant.",hidden:!0},{id:"monokai-light",label:"Monokai Light",description:"Light Monokai variant.",hidden:!0},{id:"ubuntu",label:"Ubuntu",description:"Aubergine terminal with the GNOME Tango palette.",swatches:["#300a24","#8ae234","#ef2929","#eeeeec","#fce94f"]},{id:"sandstone",label:"Sandstone",description:"Warm terracotta accent on dark brown, in the style of Claude Code.",swatches:["#1a1815","#C15F3C","#6b8afd","#e8e6e3","#a78bfa"]},{id:"verdigris",label:"Verdigris",description:"Teal accent on charcoal, in the style of ChatGPT.",swatches:["#141414","#00a67e","#3b82f6","#ececec","#ab68ff"]},{id:"primer",label:"Primer",description:"Blue accent on ink-dark grey, in the style of GitHub.",swatches:["#0d1117","#58a6ff","#3fb950","#c9d1d9","#bc8cff"]}],ek=new Set(Fd.map(t=>t.id)),l_="grackle";function xm(t){return Fd.find(s=>s.id===t)}function iB({themeId:t,resolvedThemeId:s,onSetTheme:o,preferSystem:r,onSetPreferSystem:c}){return a.jsxs("section",{className:fe.section,children:[a.jsx("h3",{className:fe.sectionTitle,children:"Appearance"}),a.jsx("p",{className:fe.sectionDescription,children:"Choose how Grackle looks across the app."}),a.jsx("div",{className:fe.themeOptions,children:Fd.filter(d=>!d.hidden).map(d=>{const u=!!(d.variantLightId&&d.variantDarkId),p=u?t===d.id||t===d.variantLightId||t===d.variantDarkId:t===d.id,m=u&&s===d.variantLightId;return a.jsxs("button",{type:"button",className:`${fe.themeOption} ${p?fe.themeOptionSelected:""}`,"aria-pressed":p,onClick:()=>o(d.id),children:[a.jsxs("span",{className:fe.themeOptionHeader,children:[a.jsxs("span",{children:[a.jsx("span",{className:fe.themeOptionLabel,children:d.label}),a.jsx("span",{className:fe.themeOptionDesc,children:d.description})]}),u&&a.jsxs("span",{className:fe.variantToggle,children:[a.jsx("span",{role:"button",tabIndex:0,className:`${fe.variantButton} ${p&&m?fe.variantActive:""}`,onClick:g=>{g.stopPropagation(),c(!1),o(d.variantLightId)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),g.stopPropagation(),c(!1),o(d.variantLightId))},"aria-label":"Light variant","aria-pressed":p&&m,children:"☼"}),a.jsx("span",{role:"button",tabIndex:0,className:`${fe.variantButton} ${p&&!m?fe.variantActive:""}`,onClick:g=>{g.stopPropagation(),c(!1),o(d.variantDarkId)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),g.stopPropagation(),c(!1),o(d.variantDarkId))},"aria-label":"Dark variant","aria-pressed":p&&!m,children:"☾"})]})]}),d.swatches&&a.jsx("span",{className:fe.themeSwatches,children:d.swatches.map((g,v)=>a.jsx("span",{className:fe.themeSwatch,style:{background:g}},v))})]},d.id)})}),a.jsxs("label",{className:fe.systemToggle,children:[a.jsx("input",{type:"checkbox",checked:r,onChange:d=>c(d.target.checked)}),a.jsx("span",{children:"Match system light/dark preference"})]}),a.jsx("p",{className:fe.systemToggleHint,children:"Automatically switches between light and dark variants when available."}),a.jsxs("p",{className:fe.themeActive,children:["Active theme: ",a.jsx("strong",{children:s})]})]})}const oB={connected:"Connected",connecting:"Connecting...",disconnected:"Disconnected"},rB={connected:fe.aboutDotConnected,connecting:fe.aboutDotConnecting,disconnected:fe.aboutDotDisconnected};function lB({connectionStatus:t,environments:s,sessions:o}){const r=s.filter(u=>u.status==="connected").length,c=s.length,d=o.filter(u=>["running","idle"].includes(u.status)).length;return a.jsxs("section",{className:fe.section,"data-testid":"about-panel",children:[a.jsx("h3",{className:fe.sectionTitle,children:"About"}),a.jsx("p",{className:fe.sectionDescription,children:"Connection status and application information."}),a.jsxs("div",{className:fe.aboutGrid,children:[a.jsxs("div",{className:fe.aboutItem,children:[a.jsx("span",{className:fe.aboutLabel,children:"Connection"}),a.jsxs("span",{className:fe.aboutValue,children:[a.jsx("span",{className:`${fe.aboutDot} ${rB[t]}`}),oB[t]]})]}),a.jsxs("div",{className:fe.aboutItem,children:[a.jsx("span",{className:fe.aboutLabel,children:"Environments"}),a.jsxs("span",{className:fe.aboutValue,children:[r,"/",c," connected"]})]}),a.jsxs("div",{className:fe.aboutItem,children:[a.jsx("span",{className:fe.aboutLabel,children:"Active Sessions"}),a.jsx("span",{className:fe.aboutValue,children:d})]}),a.jsxs("div",{className:fe.aboutItem,children:[a.jsx("span",{className:fe.aboutLabel,children:"Version"}),a.jsx("span",{className:fe.aboutValue,children:"0.112.1"})]})]})]})}const cB="_container_cddyd_1",dB="_header_cddyd_8",uB="_headerTitle_cddyd_35",fB="_badge_cddyd_44",pB="_headerActions_cddyd_54",mB="_body_cddyd_61",hB="_formContent_cddyd_73",gB="_section_cddyd_85",vB="_label_cddyd_91",yB="_titleInput_cddyd_98",bB="_descriptionTextarea_cddyd_131",_B="_parentContext_cddyd_167",xB="_parentLabel_cddyd_175",kB="_parentName_cddyd_182",SB="_personaSelect_cddyd_186",jB="_depList_cddyd_220",TB="_depItem_cddyd_226",wB="_depItemSelected_cddyd_248",NB="_noDeps_cddyd_252",CB="_btnPrimary_cddyd_258",EB="_btnGhost_cddyd_289",st={container:cB,header:dB,headerTitle:uB,badge:fB,headerActions:pB,body:mB,formContent:hB,section:gB,label:vB,titleInput:yB,descriptionTextarea:bB,parentContext:_B,parentLabel:xB,parentName:kB,personaSelect:SB,depList:jB,depItem:TB,depItemSelected:wB,noDeps:NB,btnPrimary:CB,btnGhost:EB};function tk({mode:t,taskId:s,workspaceId:o,parentTaskId:r,environmentId:c,tasks:d,workspaces:u,personas:p,onCreateTask:m,onUpdateTask:g,onEditDone:v,onShowToast:_}){const b=dt(),x=t==="edit",k=x&&s?d.find(_e=>_e.id===s):void 0,j=x?(k==null?void 0:k.workspaceId)??"":o??"",[w,T]=y.useState(j),C=j||w,A=u.find(_e=>_e.id===C),L=c??(A==null?void 0:A.linkedEnvironmentIds[0]),E=!x&&!o,O=x?(k==null?void 0:k.parentTaskId)??"":r??"",z=O?d.find(_e=>_e.id===O):void 0,[D,H]=y.useState((k==null?void 0:k.title)??""),[Y,U]=y.useState((k==null?void 0:k.description)??""),[X,he]=y.useState((k==null?void 0:k.dependsOn)??[]),[W,le]=y.useState((k==null?void 0:k.defaultPersonaId)??""),[B,R]=y.useState((k==null?void 0:k.canDecompose)??!1),[se,oe]=y.useState(!1),G=y.useRef(!1);y.useEffect(()=>{x&&k&&!G.current&&(G.current=!0,H(k.title),U(k.description),he(k.dependsOn),le(k.defaultPersonaId),R(k.canDecompose))},[x,k]);const pe=d.filter(_e=>_e.workspaceId===C&&(!x||_e.id!==s)&&_e.id!==O),de=D.trim().length>0&&(!x||k!==void 0)&&C.length>0,xe=_e=>{he(Ie=>Ie.includes(_e)?Ie.filter(Mt=>Mt!==_e):[...Ie,_e])},Se=()=>{!de||se||x&&k===void 0||(x&&s?(g(s,D.trim(),Y,X,W),_==null||_("Task updated","success"),v?v():b(Hn(s,void 0,C,L),{replace:!0})):(oe(!0),m(C,D.trim(),Y,X.length>0?X:void 0,O||void 0,W,B,()=>{_==null||_("Task created","success"),b(o?Xa(o,L):"/tasks",{replace:!0})},_e=>{_==null||_(_e,"error"),oe(!1)})))},Pe=()=>{if(v){v();return}b(x&&s?Hn(s,void 0,C,L):o?Xa(o,L):"/tasks")},gt=x?"edit task":O?"child task":"new task";return a.jsxs("div",{className:st.container,children:[a.jsxs("div",{className:st.header,children:[a.jsxs("div",{className:st.headerTitle,children:[a.jsx("span",{className:st.badge,children:gt}),z&&a.jsxs("span",{className:st.parentContext,children:[a.jsx("span",{className:st.parentLabel,children:"Child of"}),a.jsx("span",{className:st.parentName,children:z.title})]})]}),a.jsxs("div",{className:st.headerActions,children:[a.jsx("button",{onClick:Se,disabled:!de||se,className:st.btnPrimary,"data-testid":"task-edit-save",children:se?"Creating…":x?"Save Changes":"Create"}),a.jsx("button",{onClick:Pe,className:st.btnGhost,children:"Cancel"})]})]}),a.jsx("div",{className:st.body,children:a.jsxs("div",{className:st.formContent,children:[E&&a.jsxs("div",{className:st.section,children:[a.jsx("label",{className:st.label,htmlFor:"task-edit-workspace",children:"Workspace"}),a.jsxs("select",{id:"task-edit-workspace",value:w,onChange:_e=>T(_e.target.value),className:st.personaSelect,"data-testid":"task-edit-workspace",children:[a.jsx("option",{value:"",children:"Select a workspace..."}),u.map(_e=>a.jsx("option",{value:_e.id,children:_e.name},_e.id))]})]}),a.jsxs("div",{className:st.section,children:[a.jsx("label",{className:st.label,htmlFor:"task-edit-title",children:"Title"}),a.jsx("input",{id:"task-edit-title",type:"text",value:D,onChange:_e=>H(_e.target.value),placeholder:"Task title...",autoFocus:!0,className:st.titleInput,"data-testid":"task-edit-title",onKeyDown:_e=>{_e.key==="Enter"&&de&&Se()}})]}),a.jsxs("div",{className:st.section,children:[a.jsx("label",{className:st.label,htmlFor:"task-edit-description",children:"Description"}),a.jsx("textarea",{id:"task-edit-description",value:Y,onChange:_e=>U(_e.target.value),placeholder:"Describe the task... (markdown supported)",className:st.descriptionTextarea,"data-testid":"task-edit-description",rows:8})]}),a.jsxs("div",{className:st.section,children:[a.jsx("label",{className:st.label,htmlFor:"task-edit-persona",children:"Default Persona"}),a.jsxs("select",{id:"task-edit-persona",value:W,onChange:_e=>le(_e.target.value),className:st.personaSelect,"data-testid":"task-edit-persona",children:[a.jsx("option",{value:"",children:"(Inherit)"}),p.map(_e=>a.jsx("option",{value:_e.id,children:_e.name},_e.id))]})]}),!x&&a.jsx("div",{className:st.section,children:a.jsxs("label",{className:st.depItem,"data-testid":"task-edit-can-decompose",children:[a.jsx("input",{type:"checkbox",checked:B,onChange:_e=>R(_e.target.checked)}),"Can spawn subtasks"]})}),a.jsxs("div",{className:st.section,children:[a.jsx("div",{className:st.label,children:"Dependencies"}),pe.length===0?a.jsx("div",{className:st.noDeps,children:"No other tasks in this workspace"}):a.jsx("div",{className:st.depList,children:pe.map(_e=>{const Ie=X.includes(_e.id);return a.jsxs("label",{className:`${st.depItem} ${Ie?st.depItemSelected:""}`,"data-testid":`dep-option-${_e.id}`,children:[a.jsx("input",{type:"checkbox",checked:Ie,onChange:()=>xe(_e.id)}),_e.title,a.jsxs("span",{style:{opacity:.5,fontSize:"11px",marginLeft:"4px"},children:["(",_e.status,")"]})]},_e.id)})})]})]})})]})}const AB="_actionButtons_1rjka_1",DB="_btnPrimary_1rjka_8",RB="_btnDanger_1rjka_39",MB="_btnGhost_1rjka_78",Qt={actionButtons:AB,btnPrimary:DB,btnDanger:RB,btnGhost:MB};function IB({task:t,sessionId:s,isBlocked:o,onStart:r,onResume:c,onStop:d,onPause:u,onDelete:p,onEdit:m}){if(t.status==="not_started")return o?a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{onClick:m,className:Qt.btnGhost,"data-testid":"task-action-edit",children:"Edit"}),a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})]}):a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{"data-testid":"task-header-start",onClick:r,className:Qt.btnPrimary,children:"Start"}),a.jsx("button",{onClick:m,className:Qt.btnGhost,"data-testid":"task-action-edit",children:"Edit"}),a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})]});if(t.status==="working")return a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{onClick:d,className:Qt.btnDanger,"data-testid":"task-action-stop",children:"Stop"}),a.jsx("button",{onClick:u,disabled:!s,className:Qt.btnGhost,"data-testid":"task-action-pause",children:"Pause"})]});if(t.status==="paused")return a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{onClick:d,className:Qt.btnPrimary,"data-testid":"task-action-stop",children:"Stop"}),a.jsx("button",{onClick:c,className:Qt.btnGhost,"data-testid":"task-action-resume",children:"Resume"}),a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})]});if(t.status==="complete")return a.jsx("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})});if(t.status==="failed")return a.jsxs("div",{className:Qt.actionButtons,"data-testid":"task-action-buttons",children:[a.jsx("button",{onClick:r,className:Qt.btnPrimary,"data-testid":"task-header-start",children:"Retry"}),a.jsx("button",{onClick:p,className:Qt.btnDanger,"data-testid":"task-action-delete",children:"Delete"})]})}const OB="_workpadSection_y8nj9_1",LB="_workpadLabel_y8nj9_9",BB="_workpadStatus_y8nj9_17",$B="_workpadSummary_y8nj9_23",zB="_workpadExtra_y8nj9_29",qa={workpadSection:OB,workpadLabel:LB,workpadStatus:BB,workpadSummary:$B,workpadExtra:zB};function HB({workpad:t}){if(!t)return;let s;try{const o=JSON.parse(t);if(o==null||typeof o!="object"||Array.isArray(o))return;s=o}catch{return a.jsxs("div",{className:qa.workpadSection,"data-testid":"workpad-panel",children:[a.jsx("div",{className:qa.workpadLabel,children:"Workpad"}),a.jsx("div",{className:qa.workpadExtra,children:t})]})}if(!(!s.status&&!s.summary&&!s.extra))return a.jsxs("div",{className:qa.workpadSection,"data-testid":"workpad-panel",children:[a.jsx("div",{className:qa.workpadLabel,children:"Workpad"}),s.status&&a.jsx("div",{className:qa.workpadStatus,"data-testid":"workpad-status",children:s.status}),s.summary&&a.jsx("div",{className:qa.workpadSummary,"data-testid":"workpad-summary",children:s.summary}),s.extra&&Object.keys(s.extra).length>0&&a.jsx("div",{className:qa.workpadExtra,"data-testid":"workpad-extra",children:JSON.stringify(s.extra,null,2)})]})}const PB="_overviewDashboard_r05qm_1",UB="_overviewHero_r05qm_7",VB="_statusBadge_r05qm_14",GB="_statusPending_r05qm_26",qB="_statusAssigned_r05qm_31",FB="_statusInProgress_r05qm_36",ZB="_statusReview_r05qm_41",KB="_statusDone_r05qm_46",YB="_statusFailed_r05qm_51",JB="_statusWaitingInput_r05qm_56",WB="_overviewBranchPill_r05qm_61",XB="_branchLink_r05qm_76",QB="_overviewSection_r05qm_87",e8="_overviewLabel_r05qm_93",t8="_overviewValue_r05qm_100",n8="_overviewMuted_r05qm_105",s8="_overviewMarkdown_r05qm_111",a8="_envRow_r05qm_180",i8="_envDot_r05qm_186",o8="_envDotGreen_r05qm_193",r8="_envDotYellow_r05qm_197",l8="_envDotRed_r05qm_201",c8="_envDotGray_r05qm_205",d8="_depList_r05qm_209",u8="_depItem_r05qm_215",f8="_depBlocked_r05qm_222",p8="_depDone_r05qm_226",m8="_timeline_r05qm_230",h8="_timelineRow_r05qm_236",g8="_timelineKey_r05qm_243",v8="_timelineValue_r05qm_249",y8="_timelineDelta_r05qm_253",b8="_reviewNotes_r05qm_264",be={overviewDashboard:PB,overviewHero:UB,statusBadge:VB,statusPending:GB,statusAssigned:qB,statusInProgress:FB,statusReview:ZB,statusDone:KB,statusFailed:YB,statusWaitingInput:JB,overviewBranchPill:WB,branchLink:XB,overviewSection:QB,overviewLabel:e8,overviewValue:t8,overviewMuted:n8,overviewMarkdown:s8,envRow:a8,envDot:i8,envDotGreen:o8,envDotYellow:r8,envDotRed:l8,envDotGray:c8,depList:d8,depItem:u8,depBlocked:f8,depDone:p8,timeline:m8,timelineRow:h8,timelineKey:g8,timelineValue:v8,timelineDelta:y8,reviewNotes:b8};function Yc(t){if(!t)return"—";const s=new Date(t);return isNaN(s.getTime())?"—":s.toLocaleString(void 0,{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"})}function $p(t,s){if(!t||!s)return;const o=new Date(s).getTime()-new Date(t).getTime();if(isNaN(o)||o<0)return;const r=Math.floor(o/6e4),c=Math.floor(o%6e4/1e3);if(r===0)return`${c}s`;const d=Math.floor(r/60),u=r%60;return d===0?`${r}m ${c}s`:`${d}h ${u}m`}function c_(t){const s=t.toLowerCase();return s==="ready"||s==="running"||s==="available"||s==="connected"?be.envDotGreen:s==="provisioning"||s==="starting"||s==="pending"||s==="connecting"?be.envDotYellow:s==="error"||s==="failed"||s==="disconnected"?be.envDotRed:be.envDotGray}function _8({status:t}){const s=Wa(t),o=qT(t);return a.jsx("span",{className:`${be.statusBadge} ${be[o]??be.statusPending}`,"data-testid":"task-overview-status-badge",children:s.label})}function x8({task:t,tasksById:s,environments:o,workspaces:r,taskSessions:c,selectedEnvId:d,taskUsage:u,treeUsage:p}){const m=c.length>0?c[c.length-1]:void 0,g=(m==null?void 0:m.environmentId)??"",v=g?o.find(k=>k.id===g):void 0,_=r.find(k=>k.id===t.workspaceId),b=o.find(k=>k.id===d),x=t.branch&&(_!=null&&_.repoUrl)?`${_.repoUrl.replace(/\/$/,"")}/tree/${encodeURIComponent(t.branch)}`:void 0;return a.jsxs("div",{className:be.overviewDashboard,"data-testid":"task-overview-panel",children:[a.jsxs("div",{className:be.overviewHero,children:[a.jsx(_8,{status:t.status}),t.branch&&a.jsx("span",{className:be.overviewBranchPill,"data-testid":"task-overview-branch",children:x?a.jsxs("a",{href:x,target:"_blank",rel:"noreferrer noopener",className:be.branchLink,children:["🔗"," ",t.branch]}):a.jsxs("span",{children:["🔗"," ",t.branch]})})]}),typeof t.description=="string"&&t.description&&a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-description",children:[a.jsx("div",{className:be.overviewLabel,children:"Description"}),a.jsx("div",{className:be.overviewMarkdown,children:a.jsx(Ed,{remarkPlugins:[Ad],children:t.description})})]}),t.workpad&&a.jsx(HB,{workpad:t.workpad}),a.jsxs("div",{className:be.overviewSection,children:[a.jsx("div",{className:be.overviewLabel,children:"Environment"}),g&&v?a.jsxs("div",{className:be.envRow,"data-testid":"task-overview-environment",children:[a.jsx("span",{className:`${be.envDot} ${c_(v.status)}`,title:v.status,"aria-label":`Status: ${v.status}`,role:"img"}),a.jsx("span",{className:be.overviewValue,children:v.displayName})]}):b?a.jsxs("div",{className:be.envRow,"data-testid":"task-overview-environment",children:[a.jsx("span",{className:`${be.envDot} ${c_(b.status)}`,title:b.status,"aria-label":`Status: ${b.status}`,role:"img"}),a.jsx("span",{className:be.overviewValue,children:b.displayName}),a.jsx("span",{className:be.overviewMuted,children:"(workspace default)"})]}):a.jsx("div",{className:be.overviewMuted,children:"Set in workspace settings"})]}),a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-dependencies",children:[a.jsx("div",{className:be.overviewLabel,children:"Dependencies"}),t.dependsOn.length===0?a.jsx("div",{className:be.overviewMuted,children:"None"}):a.jsx("div",{className:be.depList,children:t.dependsOn.map(k=>{const j=s.get(k),w=(j==null?void 0:j.status)==="complete";return a.jsxs("div",{className:`${be.depItem} ${w?be.depDone:be.depBlocked}`,children:[a.jsx("span",{children:w?"✓":"○"}),a.jsx("span",{children:(j==null?void 0:j.title)??k})]},k)})})]}),a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-timeline",children:[a.jsx("div",{className:be.overviewLabel,children:"Timeline"}),a.jsxs("div",{className:be.timeline,children:[t.createdAt&&a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Created"}),a.jsx("span",{className:be.timelineValue,children:Yc(t.createdAt)})]}),t.assignedAt&&(()=>{const k=$p(t.createdAt,t.assignedAt);return a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Assigned"}),a.jsx("span",{className:be.timelineValue,children:Yc(t.assignedAt)}),k!==void 0&&a.jsx("span",{className:be.timelineDelta,children:k})]})})(),t.startedAt&&(()=>{const k=$p(t.assignedAt??t.createdAt,t.startedAt);return a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Started"}),a.jsx("span",{className:be.timelineValue,children:Yc(t.startedAt)}),k!==void 0&&a.jsx("span",{className:be.timelineDelta,children:k})]})})(),t.completedAt&&(()=>{const k=$p(t.startedAt,t.completedAt);return a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Completed"}),a.jsx("span",{className:be.timelineValue,children:Yc(t.completedAt)}),k!==void 0&&a.jsx("span",{className:be.timelineDelta,children:k})]})})(),!t.createdAt&&!t.assignedAt&&!t.startedAt&&!t.completedAt&&a.jsx("div",{className:be.overviewMuted,children:"No timing data"})]})]}),u&&u.costMillicents>0&&a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-usage",children:[a.jsx("div",{className:be.overviewLabel,children:"Usage"}),a.jsxs("div",{className:be.timeline,children:[a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Cost"}),a.jsx("span",{className:be.timelineValue,children:Is(u.costMillicents)}),a.jsxs("span",{className:be.timelineDelta,children:[u.sessionCount," session",u.sessionCount!==1?"s":""]})]}),p&&p.costMillicents>u.costMillicents&&a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Total (incl. subtasks)"}),a.jsx("span",{className:be.timelineValue,children:Is(p.costMillicents)}),a.jsxs("span",{className:be.timelineDelta,children:[p.sessionCount," session",p.sessionCount!==1?"s":""]})]})]})]}),(t.tokenBudget>0||t.costBudgetMillicents>0)&&a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-budget",children:[a.jsx("div",{className:be.overviewLabel,children:"Budget"}),a.jsxs("div",{className:be.timeline,children:[t.tokenBudget>0&&a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Tokens"}),a.jsxs("span",{className:be.timelineValue,children:[$o(((u==null?void 0:u.inputTokens)??0)+((u==null?void 0:u.outputTokens)??0))," / ",$o(t.tokenBudget)]})]}),t.costBudgetMillicents>0&&a.jsxs("div",{className:be.timelineRow,children:[a.jsx("span",{className:be.timelineKey,children:"Cost"}),a.jsxs("span",{className:be.timelineValue,children:[Is((u==null?void 0:u.costMillicents)??0)," / ",Is(t.costBudgetMillicents)]})]})]})]}),t.reviewNotes&&a.jsxs("div",{className:be.overviewSection,"data-testid":"task-overview-review-notes",children:[a.jsx("div",{className:be.overviewLabel,children:"Review Notes"}),a.jsx("div",{className:be.reviewNotes,children:t.reviewNotes})]})]})}function k8({plugins:t,loading:s,onSetPluginEnabled:o}){return a.jsxs("div",{className:fe.container,"data-testid":"plugins-panel",children:[a.jsx("h2",{className:fe.heading,children:"Plugins"}),a.jsxs("div",{className:fe.section,children:[a.jsx("p",{className:fe.sectionDescription,children:"Enable or disable optional Grackle plugins. A server restart is required for changes to take effect."}),s&&a.jsx("p",{className:fe.emptyState,children:"Loading plugins..."}),!s&&t.length===0&&a.jsx("p",{className:fe.emptyState,children:"No plugins found."}),!s&&t.map(r=>{const c=r.enabled!==r.loaded;return a.jsxs("div",{className:fe.tokenRow,"data-testid":`plugin-row-${r.name}`,children:[a.jsxs("div",{style:{flex:1},children:[a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[a.jsx("span",{className:fe.tokenName,children:r.name}),r.required&&a.jsx("span",{className:fe.tokenBadge,title:"Required — cannot be disabled",children:"required"})]}),a.jsx("div",{className:fe.tokenTarget,children:r.description}),c&&a.jsx("div",{style:{fontSize:"var(--font-size-xs)",color:"var(--accent-yellow)",marginTop:"2px"},"data-testid":`plugin-restart-notice-${r.name}`,children:"Restart Grackle to apply changes"})]}),a.jsx("label",{style:{display:"flex",alignItems:"center",gap:"6px",cursor:r.required?"not-allowed":"pointer"},title:r.required?"Core is required and cannot be disabled":void 0,children:a.jsx("input",{type:"checkbox",checked:r.enabled,disabled:r.required,onChange:d=>o(r.name,d.target.checked),"data-testid":`plugin-toggle-${r.name}`,"aria-label":`Enable or disable ${r.name} plugin`,style:{accentColor:"var(--accent-green)",width:"16px",height:"16px"}})})]},r.name)})]})]})}function S8({githubAccounts:t,githubAccountsLoading:s,onAddGitHubAccount:o,onUpdateGitHubAccount:r,onRemoveGitHubAccount:c,onImportGitHubAccounts:d,onShowToast:u}){const[p,m]=y.useState(""),[g,v]=y.useState(""),[_,b]=y.useState(!1),[x,k]=y.useState(!1),[j,w]=y.useState(!1),[T,C]=y.useState(null),A=t.find(D=>D.id===T),L=async D=>{if(D.preventDefault(),!(!p.trim()||!g.trim())){k(!0);try{await o(p.trim(),g.trim(),"",_),u==null||u("GitHub account added","success"),m(""),v(""),b(!1)}catch(H){const Y=H instanceof Error?H.message:"Failed to add account";u==null||u(Y,"error")}finally{k(!1)}}},E=async D=>{try{await r(D,{isDefault:!0}),u==null||u("Default account updated","success")}catch(H){const Y=H instanceof Error?H.message:"Failed to update account";u==null||u(Y,"error")}},O=async()=>{if(T)try{await c(T),u==null||u("GitHub account removed","info")}catch(D){const H=D instanceof Error?D.message:"Failed to remove account";u==null||u(H,"error")}finally{C(null)}},z=async()=>{w(!0);try{const D=await d();D.imported>0?u==null||u(`Imported ${D.imported} account(s): ${D.usernames.join(", ")}`,"success"):u==null||u("No new accounts to import","info")}catch(D){const H=D instanceof Error?D.message:"Import failed";u==null||u(H,"error")}finally{w(!1)}};return a.jsxs(a.Fragment,{children:[a.jsx(ks,{isOpen:T!==null,title:"Remove GitHub Account?",description:A?`"${A.label}"${A.username?` (@${A.username})`:""} will be permanently removed.`:void 0,onConfirm:()=>{O().catch(()=>{})},onCancel:()=>C(null)}),a.jsxs("section",{className:fe.section,"data-testid":"github-accounts-panel",children:[a.jsx("h3",{className:fe.sectionTitle,children:"GitHub Accounts"}),a.jsx("p",{className:fe.sectionDescription,children:"Register multiple GitHub accounts to use different identities per environment. The default account is used when no specific account is assigned."}),s&&t.length===0?a.jsx("div",{className:fe.emptyState,children:"Loading..."}):t.length===0?a.jsx("div",{className:fe.emptyStateInfo,children:"No GitHub accounts registered. Add one below or import from the gh CLI."}):a.jsx("div",{className:fe.tokenList,children:t.map(D=>a.jsxs("div",{className:fe.tokenRow,"data-testid":`github-account-row-${D.id}`,children:[D.isDefault&&a.jsx("span",{className:fe.tokenBadge,title:"Default account",children:"default"}),a.jsx("span",{className:fe.tokenName,children:D.label}),D.username&&a.jsxs("span",{className:fe.tokenTarget,children:["@",D.username]}),!D.isDefault&&a.jsx("button",{className:fe.deleteButton,onClick:()=>{E(D.id).catch(()=>{})},title:"Set as default","aria-label":`Set ${D.label} as default`,"data-testid":`github-account-set-default-${D.id}`,children:a.jsx(zT,{size:Gt,"aria-hidden":"true"})}),a.jsx("button",{className:fe.deleteButton,onClick:()=>C(D.id),title:`Remove ${D.label}`,"aria-label":`Remove ${D.label}`,"data-testid":`github-account-remove-${D.id}`,children:a.jsx($s,{size:Gt,"aria-hidden":"true"})})]},D.id))}),a.jsxs("form",{className:fe.addForm,onSubmit:D=>{L(D).catch(()=>{})},children:[a.jsxs("div",{className:fe.formRow,children:[a.jsx("input",{className:fe.input,type:"text",placeholder:"Label (e.g. personal, work)",value:p,onChange:D=>m(D.target.value),"data-testid":"github-account-label-input"}),a.jsx("input",{className:fe.input,type:"password",placeholder:"Personal access token",value:g,onChange:D=>v(D.target.value),"data-testid":"github-account-token-input"})]}),a.jsxs("div",{className:fe.formRow,children:[a.jsxs("label",{className:fe.tokenTarget,style:{display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},children:[a.jsx("input",{type:"checkbox",checked:_,onChange:D=>b(D.target.checked),"data-testid":"github-account-default-checkbox"}),"Set as default"]}),a.jsx("button",{className:fe.addButton,type:"submit",disabled:!p.trim()||!g.trim()||x,"data-testid":"github-account-add-button",children:x?"Adding...":"Add Account"}),a.jsx("button",{className:fe.addButton,type:"button",onClick:()=>{z().catch(()=>{})},disabled:j,"data-testid":"github-account-import-button",children:j?"Importing...":"Import from gh CLI"})]})]})]})]})}const j8="_container_legrg_1",T8="_header_legrg_8",w8="_headerTitle_legrg_35",N8="_badge_legrg_44",C8="_headerActions_legrg_54",E8="_body_legrg_61",A8="_formContent_legrg_73",D8="_section_legrg_85",R8="_label_legrg_91",M8="_nameInput_legrg_98",I8="_fieldInput_legrg_131",O8="_adapterSelect_legrg_164",L8="_readOnlyValue_legrg_198",B8="_codespaceSection_legrg_204",$8="_codespaceActions_legrg_210",z8="_creatingHint_legrg_216",H8="_errorHint_legrg_222",P8="_btnPrimary_legrg_235",U8="_btnGhost_legrg_266",ie={container:j8,header:T8,headerTitle:w8,badge:N8,headerActions:C8,body:E8,formContent:A8,section:D8,label:R8,nameInput:M8,fieldInput:I8,adapterSelect:O8,readOnlyValue:L8,codespaceSection:B8,codespaceActions:$8,creatingHint:z8,errorHint:H8,btnPrimary:P8,btnGhost:U8},cd=1,dd=65535;function zp(t){if(!t.trim())return!0;const s=Number(t);return Number.isInteger(s)&&s>=cd&&s<=dd}function Hp(t){try{const s=JSON.parse(t);if(typeof s=="object"&&s!==null&&!Array.isArray(s))return s}catch{}return{}}function V8({codespaceName:t,onCodespaceNameChange:s,envName:o,onEnvNameChange:r,codespaces:c,codespaceError:d,codespaceListError:u,codespaceCreating:p,onCreateCodespace:m}){const[g,v]=y.useState("pick"),[_,b]=y.useState(""),[x,k]=y.useState("");return g==="create"?a.jsxs("div",{className:ie.codespaceSection,children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Repository"}),a.jsx("input",{type:"text",value:_,onChange:j=>b(j.target.value),placeholder:"owner/repo",className:ie.fieldInput,"data-testid":"env-codespace-repo"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Machine Type"}),a.jsx("input",{type:"text",value:x,onChange:j=>k(j.target.value),placeholder:"Machine type (optional)...",className:ie.fieldInput,"data-testid":"env-codespace-machine"})]}),a.jsxs("div",{className:ie.codespaceActions,children:[a.jsx("button",{onClick:()=>{_.trim()&&(m(_.trim(),x.trim()||void 0),v("pick"),b(""),k(""))},disabled:!_.trim(),className:ie.btnPrimary,children:"Create"}),a.jsx("button",{onClick:()=>{v("pick"),b(""),k("")},className:ie.btnGhost,children:"Cancel"})]})]}):a.jsx("div",{className:ie.codespaceSection,children:a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Codespace"}),!u&&a.jsxs("select",{value:t,onChange:j=>{j.target.value==="__create__"?(v("create"),s("")):(s(j.target.value),j.target.value&&!o.trim()&&r(j.target.value))},disabled:p,className:ie.adapterSelect,"data-testid":"env-codespace-select",children:[a.jsx("option",{value:"",children:"Select a codespace..."}),c.map(j=>a.jsxs("option",{value:j.name,children:[j.name," (",j.repository,") — ",j.state]},j.name)),a.jsx("option",{value:"__create__",children:"Create new from repo..."})]}),p&&a.jsx("span",{className:ie.creatingHint,children:"Creating codespace..."}),u&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:ie.errorHint,children:u}),a.jsx("input",{type:"text",value:t,onChange:j=>s(j.target.value),placeholder:"Or enter codespace name manually...",className:ie.fieldInput,"data-testid":"env-codespace-manual"})]}),d&&!u&&a.jsx("span",{className:ie.errorHint,children:d})]})})}function nk({mode:t,environmentId:s,environments:o,githubAccounts:r,onAddEnvironment:c,onUpdateEnvironment:d,onListCodespaces:u,codespaces:p,codespaceError:m,codespaceListError:g,codespaceCreating:v,onCreateCodespace:_,onListDockerContainers:b,dockerContainers:x,dockerContainersError:k,onShowToast:j}){const w=dt(),T=t==="edit",C=T&&s?o.find(re=>re.id===s):void 0,[A,L]=y.useState(""),[E,O]=y.useState("local"),[z,D]=y.useState(""),[H,Y]=y.useState(""),[U,X]=y.useState(""),[he,W]=y.useState(""),[le,B]=y.useState(""),[R,se]=y.useState(""),[oe,G]=y.useState(""),[pe,de]=y.useState(""),[xe,Se]=y.useState("create"),[Pe,gt]=y.useState(""),[_e,Ie]=y.useState(null),Mt=y.useCallback(()=>{const re={};if(E==="local"){if(z.trim()&&(re.host=z.trim()),H.trim()){const ve=Number(H);Number.isInteger(ve)&&(re.port=ve)}}else if(E==="ssh"){if(re.host=z.trim(),U.trim()&&(re.user=U.trim()),H.trim()){const ve=Number(H);Number.isInteger(ve)&&(re.sshPort=ve)}he.trim()&&(re.identityFile=he.trim())}else E==="docker"?xe==="attach"?Pe.trim()&&(re.attach=Pe.trim()):(le.trim()&&(re.image=le.trim()),R.trim()&&(re.repo=R.trim())):E==="codespace"&&(re.codespaceName=oe.trim());return re},[E,z,H,U,he,le,R,oe,xe,Pe]),hn=()=>!(!A.trim()||E==="ssh"&&!z.trim()||E==="codespace"&&!oe.trim()||E==="docker"&&xe==="attach"&&!Pe.trim()||(E==="local"||E==="ssh")&&!zp(H)),ce=()=>{hn()&&(c(A.trim(),E,Mt(),pe||void 0),j==null||j("Environment added successfully","success"),w(Bo,{replace:!0}))},Ue=()=>{w(s?Mi(s):Bo)},ut=y.useCallback((re,ve)=>{if(!C||!s)return;const ft=Hp(C.adapterConfig),Me=ve.trim();Me?ft[re]=Me:delete ft[re],d(s,{adapterConfig:ft})},[C,s,d]),te=y.useCallback((re,ve)=>{if(!C||!s)return;const ft=Hp(C.adapterConfig);if(ve.trim()){const Me=Number(ve);Number.isInteger(Me)&&Me>=cd&&Me<=dd&&(ft[re]=Me)}else delete ft[re];d(s,{adapterConfig:ft})},[C,s,d]);if(T){if(!C)return a.jsxs("div",{className:ie.container,children:[a.jsxs("div",{className:ie.header,children:[a.jsx("div",{className:ie.headerTitle,children:a.jsx("span",{className:ie.badge,children:"edit environment"})}),a.jsx("div",{className:ie.headerActions,children:a.jsx("button",{onClick:Ue,className:ie.btnGhost,children:"Back"})})]}),a.jsx("div",{className:ie.body,children:a.jsx("div",{className:ie.formContent,children:a.jsx("span",{className:ie.readOnlyValue,children:"Environment not found"})})})]});const re=Hp(C.adapterConfig);return a.jsxs("div",{className:ie.container,"data-testid":"env-edit-panel",children:[a.jsxs("div",{className:ie.header,children:[a.jsx("div",{className:ie.headerTitle,children:a.jsx("span",{className:ie.badge,children:"edit environment"})}),a.jsx("div",{className:ie.headerActions,children:a.jsx("button",{onClick:Ue,className:ie.btnGhost,"data-testid":"env-edit-back",children:"Back"})})]}),a.jsx("div",{className:ie.body,children:a.jsxs("div",{className:ie.formContent,children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Name"}),a.jsx(Ut,{value:C.displayName,onSave:ve=>{s&&d(s,{displayName:ve})},validate:ve=>ve.trim()===""?"Name cannot be empty":void 0,mode:"edit",fieldId:"name",activeFieldId:_e,onActivate:Ie,placeholder:"Environment name",ariaLabel:"Environment name","data-testid":"env-edit-name"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Adapter Type"}),a.jsx("span",{className:ie.readOnlyValue,"data-testid":"env-edit-adapter-type",children:C.adapterType})]}),(C.adapterType==="codespace"||C.adapterType==="docker")&&(r.length>0||!!C.githubAccountId)&&a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"GitHub Account"}),a.jsxs("select",{value:C.githubAccountId||"",onChange:ve=>{s&&d(s,{githubAccountId:ve.target.value})},className:ie.adapterSelect,"data-testid":"env-edit-github-account",children:[a.jsx("option",{value:"",children:"(Default)"}),r.map(ve=>a.jsxs("option",{value:ve.id,children:[ve.label,ve.username?` (@${ve.username})`:"",ve.isDefault?" — default":""]},ve.id))]})]}),C.adapterType==="local"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Host"}),a.jsx(Ut,{value:String(re.host??""),onSave:ve=>ut("host",ve),mode:"edit",fieldId:"host",activeFieldId:_e,onActivate:Ie,placeholder:"(default)",ariaLabel:"Host","data-testid":"env-edit-host"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Port"}),a.jsx(Ut,{value:String(re.port??""),onSave:ve=>te("port",ve),validate:ve=>zp(ve)?void 0:"Port must be 1-65535",mode:"edit",fieldId:"port",activeFieldId:_e,onActivate:Ie,placeholder:"(default)",ariaLabel:"Port","data-testid":"env-edit-port"})]})]}),C.adapterType==="ssh"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Host"}),a.jsx(Ut,{value:String(re.host??""),onSave:ve=>ut("host",ve),validate:ve=>ve.trim()===""?"Host is required":void 0,mode:"edit",fieldId:"host",activeFieldId:_e,onActivate:Ie,placeholder:"hostname or IP",ariaLabel:"Host","data-testid":"env-edit-host"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"User"}),a.jsx(Ut,{value:String(re.user??""),onSave:ve=>ut("user",ve),mode:"edit",fieldId:"user",activeFieldId:_e,onActivate:Ie,placeholder:"(default)",ariaLabel:"User","data-testid":"env-edit-user"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"SSH Port"}),a.jsx(Ut,{value:String(re.sshPort??""),onSave:ve=>te("sshPort",ve),validate:ve=>zp(ve)?void 0:"Port must be 1-65535",mode:"edit",fieldId:"sshPort",activeFieldId:_e,onActivate:Ie,placeholder:"22",ariaLabel:"SSH Port","data-testid":"env-edit-ssh-port"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Identity File"}),a.jsx(Ut,{value:String(re.identityFile??""),onSave:ve=>ut("identityFile",ve),mode:"edit",fieldId:"identityFile",activeFieldId:_e,onActivate:Ie,placeholder:"~/.ssh/id_rsa",ariaLabel:"Identity File","data-testid":"env-edit-identity-file"})]})]}),C.adapterType==="docker"&&re.attach!==void 0&&a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Attach (container)"}),a.jsx(Ut,{value:String(re.attach??""),onSave:ve=>ut("attach",ve),validate:ve=>ve.trim()===""?"Container name is required":void 0,mode:"edit",fieldId:"attach",activeFieldId:_e,onActivate:Ie,placeholder:"container name or ID",ariaLabel:"Attach container","data-testid":"env-edit-attach"})]}),C.adapterType==="docker"&&re.attach===void 0&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Image"}),a.jsx(Ut,{value:String(re.image??""),onSave:ve=>ut("image",ve),mode:"edit",fieldId:"image",activeFieldId:_e,onActivate:Ie,placeholder:"(default)",ariaLabel:"Image","data-testid":"env-edit-image"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Repo"}),a.jsx(Ut,{value:String(re.repo??""),onSave:ve=>ut("repo",ve),mode:"edit",fieldId:"repo",activeFieldId:_e,onActivate:Ie,placeholder:"(none)",ariaLabel:"Repo","data-testid":"env-edit-repo"})]})]}),C.adapterType==="codespace"&&a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Codespace Name"}),a.jsx(Ut,{value:String(re.codespaceName??""),onSave:ve=>ut("codespaceName",ve),validate:ve=>ve.trim()===""?"Codespace name is required":void 0,mode:"edit",fieldId:"codespaceName",activeFieldId:_e,onActivate:Ie,placeholder:"codespace-name",ariaLabel:"Codespace Name","data-testid":"env-edit-codespace-name"})]})]})})]})}return a.jsxs("div",{className:ie.container,"data-testid":"env-create-panel",children:[a.jsxs("div",{className:ie.header,children:[a.jsx("div",{className:ie.headerTitle,children:a.jsx("span",{className:ie.badge,children:"new environment"})}),a.jsxs("div",{className:ie.headerActions,children:[a.jsx("button",{onClick:ce,disabled:!hn(),className:ie.btnPrimary,"data-testid":"env-create-submit",children:"Create"}),a.jsx("button",{onClick:Ue,className:ie.btnGhost,children:"Cancel"})]})]}),a.jsx("div",{className:ie.body,children:a.jsxs("div",{className:ie.formContent,children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-name",children:"Name"}),a.jsx("input",{id:"env-create-name",type:"text",value:A,onChange:re=>L(re.target.value),placeholder:"Environment name...",autoFocus:!0,className:ie.nameInput,"data-testid":"env-create-name",onKeyDown:re=>{re.key==="Enter"&&hn()&&ce()}})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-adapter",children:"Adapter Type"}),a.jsxs("select",{id:"env-create-adapter",value:E,onChange:re=>{O(re.target.value),re.target.value==="codespace"&&u(pe||void 0)},className:ie.adapterSelect,"data-testid":"env-create-adapter",children:[a.jsx("option",{value:"local",children:"local"}),a.jsx("option",{value:"ssh",children:"ssh"}),a.jsx("option",{value:"docker",children:"docker"}),a.jsx("option",{value:"codespace",children:"codespace"})]})]}),(E==="codespace"||E==="docker")&&r.length>0&&a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-github-account",children:"GitHub Account"}),a.jsxs("select",{id:"env-create-github-account",value:pe,onChange:re=>{de(re.target.value),E==="codespace"&&u(re.target.value||void 0)},className:ie.adapterSelect,"data-testid":"env-create-github-account",children:[a.jsx("option",{value:"",children:"(Default)"}),r.map(re=>a.jsxs("option",{value:re.id,children:[re.label," (@",re.username,")",re.isDefault?" — default":""]},re.id))]})]}),E==="local"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-host",children:"Host"}),a.jsx("input",{id:"env-create-host",type:"text",value:z,onChange:re=>D(re.target.value),placeholder:"Host (optional)...",className:ie.fieldInput,"data-testid":"env-create-host"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-port",children:"Port"}),a.jsx("input",{id:"env-create-port",type:"number",min:cd,max:dd,value:H,onChange:re=>Y(re.target.value),placeholder:"Port (optional)...",className:ie.fieldInput,"data-testid":"env-create-port"})]})]}),E==="ssh"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-host",children:"Host"}),a.jsx("input",{id:"env-create-host",type:"text",value:z,onChange:re=>D(re.target.value),placeholder:"Host (required)...",className:ie.fieldInput,"data-testid":"env-create-host"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-user",children:"User"}),a.jsx("input",{id:"env-create-user",type:"text",value:U,onChange:re=>X(re.target.value),placeholder:"User (optional)...",className:ie.fieldInput,"data-testid":"env-create-user"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-port",children:"SSH Port"}),a.jsx("input",{id:"env-create-port",type:"number",min:cd,max:dd,value:H,onChange:re=>Y(re.target.value),placeholder:"SSH port (optional)...",className:ie.fieldInput,"data-testid":"env-create-port"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-identity",children:"Identity File"}),a.jsx("input",{id:"env-create-identity",type:"text",value:he,onChange:re=>W(re.target.value),placeholder:"Identity file (optional)...",className:ie.fieldInput,"data-testid":"env-create-identity"})]})]}),E==="docker"&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-docker-mode",children:"Source"}),a.jsxs("select",{id:"env-docker-mode",value:xe,onChange:re=>{const ve=re.target.value;Se(ve),ve==="attach"&&b()},className:ie.adapterSelect,"data-testid":"env-docker-mode",children:[a.jsx("option",{value:"create",children:"Create new container"}),a.jsx("option",{value:"attach",children:"Attach to existing container"})]})]}),xe==="create"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-image",children:"Image"}),a.jsx("input",{id:"env-create-image",type:"text",value:le,onChange:re=>B(re.target.value),placeholder:"Image (optional)...",className:ie.fieldInput,"data-testid":"env-create-image"})]}),a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,htmlFor:"env-create-repo",children:"Repo"}),a.jsx("input",{id:"env-create-repo",type:"text",value:R,onChange:re=>se(re.target.value),placeholder:"Repo (optional)...",className:ie.fieldInput,"data-testid":"env-create-repo"})]})]}):a.jsxs("div",{className:ie.section,children:[a.jsx("label",{className:ie.label,children:"Container"}),!k&&x.length>0&&a.jsxs("select",{value:Pe,onChange:re=>{gt(re.target.value),re.target.value&&!A.trim()&&L(re.target.value)},className:ie.adapterSelect,"data-testid":"env-docker-container-select",children:[a.jsx("option",{value:"",children:"Select a container..."}),x.map(re=>a.jsxs("option",{value:re.name,children:[re.name," (",re.image,") ",re.status]},re.id))]}),(k||x.length===0)&&a.jsxs(a.Fragment,{children:[k?a.jsx("span",{className:ie.errorHint,children:k}):a.jsx("span",{className:ie.creatingHint,children:"No running containers found."}),a.jsx("input",{type:"text",value:Pe,onChange:re=>{gt(re.target.value),re.target.value&&!A.trim()&&L(re.target.value)},placeholder:"Enter container name/ID...",className:ie.fieldInput,"data-testid":"env-docker-container-manual"})]})]})]}),E==="codespace"&&a.jsx(V8,{codespaceName:oe,onCodespaceNameChange:G,envName:A,onEnvNameChange:L,codespaces:p,codespaceError:m,codespaceListError:g,codespaceCreating:v,onCreateCodespace:_})]})})]})}const G8="_group_1iprv_1",q8="_groupTitle_1iprv_8",F8="_shortcutList_1iprv_17",Z8="_shortcutRow_1iprv_23",K8="_keys_1iprv_36",Y8="_kbd_1iprv_43",J8="_description_1iprv_60",Ni={group:G8,groupTitle:q8,shortcutList:F8,shortcutRow:Z8,keys:K8,kbd:Y8,description:J8},W8=[{title:"Global",shortcuts:[{keys:["?"],description:"Open keyboard shortcuts reference"},{keys:["N"],description:"Create a new task"},{keys:["Escape"],description:"Close dialog or cancel editing"}]},{title:"Task Page",shortcuts:[{keys:["1"],description:"Switch to Overview tab"},{keys:["2"],description:"Switch to Stream tab"},{keys:["3"],description:"Switch to Findings tab"}]},{title:"Workspace Page",shortcuts:[{keys:["1"],description:"Switch to Graph view"},{keys:["2"],description:"Switch to Board view"},{keys:["3"],description:"Switch to Tasks view"}]},{title:"Navigation Lists",shortcuts:[{keys:["←"],description:"Previous tab (horizontal nav)"},{keys:["→"],description:"Next tab (horizontal nav)"},{keys:["↑"],description:"Previous item (vertical nav)"},{keys:["↓"],description:"Next item (vertical nav)"},{keys:["J"],description:"Next item (alias for arrow down/right)"},{keys:["K"],description:"Previous item (alias for arrow up/left)"},{keys:["Home"],description:"Jump to first item"},{keys:["End"],description:"Jump to last item"}]},{title:"Editing",shortcuts:[{keys:["Enter"],description:"Activate / save inline edit"},{keys:["Space"],description:"Activate button or start editing"},{keys:["Escape"],description:"Cancel edit and discard changes"}]},{title:"Sessions",shortcuts:[{keys:["Ctrl/Cmd","Enter"],description:"Send message (when the composer is focused)"},{keys:["Enter"],description:"Insert a new line in the message composer"}]}];function X8(){return a.jsxs("section",{className:fe.section,"data-testid":"keyboard-shortcuts-panel",children:[a.jsx("h3",{className:fe.sectionTitle,children:"Keyboard Shortcuts"}),a.jsx("p",{className:fe.sectionDescription,children:"Keyboard shortcuts for navigating and interacting with Grackle. Global shortcuts are suppressed while typing in text fields."}),W8.map(t=>a.jsxs("div",{className:Ni.group,children:[a.jsx("h4",{className:Ni.groupTitle,children:t.title}),a.jsx("div",{className:Ni.shortcutList,children:t.shortcuts.map(s=>a.jsxs("div",{className:Ni.shortcutRow,children:[a.jsx("span",{className:Ni.keys,children:s.keys.map(o=>a.jsx("kbd",{className:Ni.kbd,children:o},o))}),a.jsx("span",{className:Ni.description,children:s.description})]},s.description))})]},t.title))]})}const Q8=[{key:"claude",label:"Claude",description:"Forward Claude credentials for AI agent access.",options:[{value:"off",label:"Off"},{value:"subscription",label:"Subscription"},{value:"api_key",label:"API Key"}]},{key:"github",label:"GitHub",description:"Forward GITHUB_TOKEN and GH_TOKEN for git operations.",options:[{value:"off",label:"Off"},{value:"on",label:"On"}]},{key:"copilot",label:"Copilot",description:"Forward Copilot tokens (COPILOT_GITHUB_TOKEN, CLI config).",options:[{value:"off",label:"Off"},{value:"on",label:"On"}]},{key:"codex",label:"Codex",description:"Forward OPENAI_API_KEY for Codex/OpenAI access.",options:[{value:"off",label:"Off"},{value:"on",label:"On"}]},{key:"goose",label:"Goose",description:"Forward Goose config and API keys for Goose agent access.",options:[{value:"off",label:"Off"},{value:"on",label:"On"}]}];function e7({credentialProviders:t,onUpdateCredentialProviders:s}){const o=(r,c)=>{const d={...t};r==="claude"?d.claude=c:d[r]=c,s(d)};return a.jsxs("section",{className:fe.section,children:[a.jsx("h3",{className:fe.sectionTitle,children:"Credential Providers"}),a.jsx("p",{className:fe.sectionDescription,children:"Enable providers to automatically forward credentials to environments at task start. Credentials are read fresh from the host each time."}),a.jsx("div",{className:fe.tokenList,children:Q8.map(r=>a.jsxs("div",{className:fe.tokenRow,children:[a.jsx("span",{className:fe.tokenName,children:r.label}),a.jsx("span",{className:fe.tokenTarget,children:r.description}),a.jsx("select",{className:fe.select,value:t[r.key],onChange:c=>o(r.key,c.target.value),children:r.options.map(c=>a.jsx("option",{value:c.value,children:c.label},c.value))})]},r.key))})]})}const t7="_container_10efq_1",n7="_header_10efq_7",s7="_list_10efq_105",a7="_card_10efq_111",i7="_cardHeader_10efq_125",o7="_cardTitle_10efq_135",r7="_defaultBadge_10efq_141",l7="_cardActions_10efq_155",c7="_description_10efq_160",d7="_meta_10efq_166",u7="_empty_10efq_212",f7="_typeBadge_10efq_362",ss={container:t7,header:n7,list:s7,card:a7,cardHeader:i7,cardTitle:o7,defaultBadge:r7,cardActions:l7,description:c7,meta:d7,empty:u7,typeBadge:f7};function p7({personas:t,appDefaultPersonaId:s,onDeletePersona:o,onSetAppDefaultPersonaId:r,onNavigateToNew:c,onNavigateToPersona:d}){const[u,p]=y.useState(null),m=u?t.find(v=>v.id===u):void 0,g=async v=>{await o(v),p(null)};return a.jsxs("div",{className:ss.container,children:[a.jsxs("div",{className:ss.header,children:[a.jsx("h2",{children:"Personas"}),a.jsx(on,{variant:"primary",size:"md",onClick:c,"data-testid":"persona-new-button",children:"+ New Persona"})]}),t.length===0?a.jsx("p",{className:ss.empty,children:"No personas yet. Create one to get started."}):a.jsx("div",{className:ss.list,children:t.map(v=>{const _=s===v.id,b=v.type==="script";return a.jsxs("div",{className:ss.card,"data-testid":`persona-card-${v.id}`,onClick:()=>d(v.id),role:"button",tabIndex:0,onKeyDown:x=>{x.currentTarget===x.target&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),d(v.id))},children:[a.jsxs("div",{className:ss.cardHeader,children:[a.jsxs("span",{className:ss.cardTitle,children:[a.jsx("strong",{children:v.name}),a.jsx("span",{className:ss.typeBadge,"data-testid":`persona-type-badge-${v.id}`,children:b?"Script":"Agent"}),_&&a.jsx("span",{className:ss.defaultBadge,"data-testid":`persona-default-badge-${v.id}`,children:"App Default"})]}),a.jsxs("div",{className:ss.cardActions,onClick:x=>x.stopPropagation(),children:[!_&&a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>{r(v.id).catch(()=>{})},"data-testid":`persona-set-default-${v.id}`,title:"Set as app default persona",children:"Set Default"}),a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>d(v.id),children:"Edit"}),a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>p(v.id),"data-testid":`persona-delete-${v.id}`,children:"Delete"})]})]}),v.description&&a.jsx("p",{className:ss.description,children:v.description}),a.jsxs("div",{className:ss.meta,children:[v.runtime&&a.jsxs("span",{children:["Runtime: ",v.runtime]}),v.model&&a.jsxs("span",{children:["Model: ",v.model]}),v.maxTurns>0&&a.jsxs("span",{children:["Max turns: ",v.maxTurns]})]})]},v.id)})}),a.jsx(ks,{isOpen:u!==null,title:"Delete Persona?",description:`"${(m==null?void 0:m.name)??""}" will be permanently removed.`,confirmLabel:"Delete",onConfirm:()=>{u&&g(u).catch(()=>{})},onCancel:()=>p(null)})]})}const m7="_container_uy08i_1",h7="_header_uy08i_7",g7="_count_uy08i_13",v7="_presets_uy08i_18",y7="_presetButton_uy08i_24",b7="_filterInput_uy08i_41",_7="_groups_uy08i_53",x7="_group_uy08i_53",k7="_groupHeader_uy08i_68",S7="_groupName_uy08i_77",j7="_groupCount_uy08i_81",T7="_toolList_uy08i_87",w7="_toolItem_uy08i_95",N7="_toolName_uy08i_103",_n={container:m7,header:h7,count:g7,presets:v7,presetButton:y7,filterInput:b7,groups:_7,group:x7,groupHeader:k7,groupName:S7,groupCount:j7,toolList:T7,toolItem:w7,toolName:N7},C7=(()=>{const t=new Map;for(const s of M_){const o=s==="get_version_status"?"version":s.split("_")[0];t.has(o)||t.set(o,[]),t.get(o).push(s)}return[...t.entries()].sort(([s],[o])=>s.localeCompare(o)).map(([s,o])=>({group:s,tools:o.sort()}))})(),E7=[{name:"default",label:"Default",tools:R_},{name:"worker",label:"Worker",tools:q2},{name:"orchestrator",label:"Orchestrator",tools:F2},{name:"admin",label:"Admin",tools:Z2}];function d_({selectedTools:t,onChange:s,disabled:o}){const[r,c]=y.useState(""),d=y.useMemo(()=>new Set(t),[t]),u=y.useCallback(v=>{if(o)return;const _=new Set(d);_.has(v)?_.delete(v):_.add(v),s([..._].sort())},[d,s,o]),p=y.useCallback((v,_)=>{if(o)return;const b=new Set(d);for(const x of v)_?b.delete(x):b.add(x);s([...b].sort())},[d,s,o]),m=y.useCallback(v=>{o||s([...v].sort())},[s,o]),g=r.toLowerCase();return a.jsxs("div",{className:_n.container,"data-testid":"mcp-tool-selector",children:[a.jsx("div",{className:_n.header,children:a.jsx("span",{className:_n.count,children:t.length===0?`Using default (${R_.length} tools)`:`${t.length} of ${M_.size} tools selected`})}),a.jsxs("div",{className:_n.presets,"data-testid":"mcp-tool-presets",children:[E7.map(v=>a.jsx("button",{type:"button",className:_n.presetButton,disabled:o,onClick:()=>m(v.tools),"data-testid":`preset-${v.name}`,children:v.label},v.name)),a.jsx("button",{type:"button",className:_n.presetButton,disabled:o,onClick:()=>s([]),"data-testid":"preset-clear",children:"Clear"})]}),a.jsx("input",{type:"text",className:_n.filterInput,placeholder:"Filter tools...",value:r,onChange:v=>c(v.target.value),disabled:o,"data-testid":"mcp-tool-filter"}),a.jsx("div",{className:_n.groups,children:C7.map(({group:v,tools:_})=>{const b=g?_.filter(k=>k.toLowerCase().includes(g)):_;if(b.length===0)return null;const x=b.every(k=>d.has(k));return a.jsxs("div",{className:_n.group,"data-testid":`tool-group-${v}`,children:[a.jsxs("label",{className:_n.groupHeader,children:[a.jsx("input",{type:"checkbox",checked:x,onChange:()=>p(b,x),disabled:o,"data-testid":`group-toggle-${v}`}),a.jsx("span",{className:_n.groupName,children:v}),a.jsxs("span",{className:_n.groupCount,children:["(",b.filter(k=>d.has(k)).length,"/",b.length,")"]})]}),a.jsx("div",{className:_n.toolList,children:b.map(k=>a.jsxs("label",{className:_n.toolItem,children:[a.jsx("input",{type:"checkbox",checked:d.has(k),onChange:()=>u(k),disabled:o,"data-testid":`tool-${k}`}),a.jsx("span",{className:_n.toolName,children:k})]},k))})]},v)})})]})}const A7="_container_1gfuq_1",D7="_header_1gfuq_7",R7="_list_1gfuq_19",M7="_card_1gfuq_25",I7="_cardHeader_1gfuq_40",O7="_cardTitle_1gfuq_46",L7="_statusBadge_1gfuq_56",B7="_enabled_1gfuq_68",$7="_disabled_1gfuq_71",z7="_cardActions_1gfuq_75",H7="_cardMeta_1gfuq_80",P7="_empty_1gfuq_98",as={container:A7,header:D7,list:R7,card:M7,cardHeader:I7,cardTitle:O7,statusBadge:L7,enabled:B7,disabled:$7,cardActions:z7,cardMeta:H7,empty:P7};function U7({schedules:t,personas:s,onDeleteSchedule:o,onToggleEnabled:r,onNavigateToNew:c,onNavigateToSchedule:d}){const[u,p]=y.useState(null),m=u?t.find(b=>b.id===u):void 0,g=async b=>{await o(b),p(null)},v=y.useMemo(()=>{const b=new Map;for(const x of s)b.set(x.id,x.name);return b},[s]),_=b=>v.get(b)??b;return a.jsxs("div",{className:as.container,children:[a.jsxs("div",{className:as.header,children:[a.jsx("h2",{children:"Schedules"}),a.jsx(on,{variant:"primary",size:"md",onClick:c,"data-testid":"schedule-new-button",children:"+ New Schedule"})]}),t.length===0?a.jsx("p",{className:as.empty,"data-testid":"schedule-empty-state",children:"No schedules yet. Create one to run tasks on a recurring cadence."}):a.jsx("div",{className:as.list,children:t.map(b=>a.jsxs("div",{className:as.card,"data-testid":`schedule-card-${b.id}`,onClick:()=>d(b.id),role:"button",tabIndex:0,onKeyDown:x=>{x.currentTarget===x.target&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),d(b.id))},children:[a.jsxs("div",{className:as.cardHeader,children:[a.jsxs("span",{className:as.cardTitle,children:[a.jsx("strong",{children:b.title}),a.jsx("span",{className:`${as.statusBadge} ${b.enabled?as.enabled:as.disabled}`,"data-testid":`schedule-status-badge-${b.id}`,children:b.enabled?"Enabled":"Disabled"})]}),a.jsxs("div",{className:as.cardActions,onClick:x=>x.stopPropagation(),children:[a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>{(async()=>{await r(b.id,{enabled:!b.enabled})})().catch(()=>{})},"data-testid":`schedule-toggle-${b.id}`,title:b.enabled?"Disable schedule":"Enable schedule",children:b.enabled?"Disable":"Enable"}),a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>d(b.id),"data-testid":`schedule-edit-${b.id}`,children:"Edit"}),a.jsx(on,{variant:"ghost",size:"sm",onClick:()=>p(b.id),"data-testid":`schedule-delete-${b.id}`,children:"Delete"})]})]}),a.jsxs("div",{className:as.cardMeta,children:[a.jsx("span",{"data-testid":`schedule-expression-${b.id}`,children:b.scheduleExpression}),b.personaId&&a.jsxs("span",{"data-testid":`schedule-persona-${b.id}`,children:["Persona: ",_(b.personaId)]}),a.jsxs("span",{"data-testid":`schedule-last-run-${b.id}`,children:["Last run: ",b.lastRunAt?Uo(b.lastRunAt):"Never"]}),b.enabled&&b.nextRunAt?a.jsxs("span",{"data-testid":`schedule-next-run-${b.id}`,children:["Next run: ",K1(b.nextRunAt)]}):null,b.runCount>0&&a.jsxs("span",{"data-testid":`schedule-run-count-${b.id}`,children:["Runs: ",b.runCount]})]})]},b.id))}),a.jsx(ks,{isOpen:u!==null,title:"Delete Schedule?",description:`"${(m==null?void 0:m.title)??""}" will be permanently removed. Tasks already created by this schedule will not be affected.`,confirmLabel:"Delete",onConfirm:()=>{u&&g(u).catch(()=>{})},onCancel:()=>p(null)})]})}const V7="_nav_1bhou_1",G7="_tab_1bhou_24",q7="_tabIcon_1bhou_62",F7="_tabActive_1bhou_68",Jc={nav:V7,tab:G7,tabIcon:q7,tabActive:F7},ia=[{path:"credentials",label:"Credentials",icon:a.jsx(rT,{size:Dt})},{path:"github-accounts",label:"GitHub Accounts",icon:a.jsx(nT,{size:Dt})},{path:"personas",label:"Personas",icon:a.jsx(UT,{size:Dt})},{path:"schedules",label:"Schedules",icon:a.jsx(Oj,{size:Dt})},{path:"appearance",label:"Appearance",icon:a.jsx(kT,{size:Dt})},{path:"shortcuts",label:"Shortcuts",icon:a.jsx(cT,{size:Dt})},{path:"plugins",label:"Plugins",icon:a.jsx(CT,{size:Dt})},{path:"about",label:"About",icon:a.jsx(Nm,{size:Dt})}];function Z7(){var u;const t=Jt(),s=dt(),o=y.useRef(null),r=((u=ia.find(p=>{const m=`${Di}/${p.path}`;return t.pathname===m||t.pathname.startsWith(`${m}/`)}))==null?void 0:u.path)??ia[0].path,c=y.useCallback(p=>{s(`${Di}/${p}`)},[s]),d=y.useCallback(p=>{var x,k;const m=(x=o.current)==null?void 0:x.querySelectorAll('[role="tab"]');if(!m)return;const g=Array.from(m).findIndex(j=>j===document.activeElement),v=g>=0?g:ia.findIndex(j=>j.path===r);let _=v;if(p.key==="ArrowDown"||p.key==="j"||p.key==="J")p.preventDefault(),_=(v+1)%ia.length;else if(p.key==="ArrowUp"||p.key==="k"||p.key==="K")p.preventDefault(),_=(v-1+ia.length)%ia.length;else if(p.key==="Home")p.preventDefault(),_=0;else if(p.key==="End")p.preventDefault(),_=ia.length-1;else return;const b=ia[_].path;s(`${Di}/${b}`),(k=m[_])==null||k.focus()},[r,s]);return a.jsx("nav",{className:Jc.nav,ref:o,role:"tablist","aria-orientation":"vertical","aria-label":"Settings",onKeyDown:d,children:ia.map(p=>{const m=p.path===r;return a.jsxs("button",{role:"tab",type:"button","aria-selected":m,tabIndex:m?0:-1,className:`${Jc.tab} ${m?Jc.tabActive:""}`,onClick:()=>c(p.path),children:[a.jsx("span",{className:Jc.tabIcon,"aria-hidden":"true",children:p.icon}),p.label]},p.path)})})}const K7="_container_1dqrb_1",Y7="_header_1dqrb_5",J7="_refreshButton_1dqrb_17",W7="_streamRow_1dqrb_32",X7="_selected_1dqrb_49",Q7="_systemRow_1dqrb_53 _streamRow_1dqrb_32",e$="_streamIcon_1dqrb_60",t$="_streamName_1dqrb_65",n$="_subscriberBadge_1dqrb_74",s$="_emptyState_1dqrb_88",a$="_loading_1dqrb_95",xn={container:K7,header:Y7,refreshButton:J7,streamRow:W7,selected:X7,systemRow:Q7,streamIcon:e$,streamName:t$,subscriberBadge:n$,emptyState:s$,loading:a$},u_=14;function i$({streams:t,loading:s,streamsLoadError:o=!1,streamsLoadedOnce:r=!0,onRefresh:c}){const d=dt(),u=Jt(),p=It("/chat/:streamId"),m=p==null?void 0:p.params.streamId,g=!m&&u.pathname===cl,v=[...t].sort((x,k)=>x.name.localeCompare(k.name)),_=y.useCallback(()=>{d(cl)},[d]),b=y.useCallback(x=>{d(YN(x))},[d]);return a.jsxs("div",{className:xn.container,"data-testid":"stream-list",children:[a.jsxs("div",{className:xn.header,children:[a.jsx("span",{children:"Streams"}),c&&a.jsx("button",{className:xn.refreshButton,onClick:c,"aria-label":"Refresh streams","data-testid":"stream-list-refresh",children:a.jsx(RT,{size:12})})]}),a.jsxs("button",{type:"button",className:`${xn.systemRow}${g?` ${xn.selected}`:""}`,onClick:_,"data-testid":"stream-list-system-row","aria-current":g?"page":void 0,children:[a.jsx(z_,{size:u_,className:xn.streamIcon}),a.jsx("span",{className:xn.streamName,children:"System"})]}),s&&v.length===0&&a.jsx("div",{className:xn.loading,children:"Loading..."}),!s&&o&&a.jsx("div",{className:xn.emptyState,"data-testid":"stream-list-error",children:"Unable to load streams"}),!s&&!o&&r&&v.length===0&&a.jsx("div",{className:xn.emptyState,children:"No streams"}),v.map(x=>{const k=m===x.id;return a.jsxs("button",{type:"button",className:`${xn.streamRow}${k?` ${xn.selected}`:""}`,onClick:()=>b(x.id),"data-testid":`stream-list-row-${x.id}`,"aria-current":k?"page":void 0,children:[a.jsx(AT,{size:u_,className:xn.streamIcon}),a.jsx("span",{className:xn.streamName,children:x.name}),x.subscriberCount>0&&a.jsx("span",{className:xn.subscriberBadge,children:x.subscriberCount})]},x.id)})]})}const o$="_panel_1au81_1",r$="_header_1au81_24",l$="_title_1au81_33",c$="_closeButton_1au81_43",d$="_body_1au81_57",u$="_section_1au81_63",f$="_sectionLabel_1au81_67",p$="_metaRow_1au81_76",m$="_metaKey_1au81_84",h$="_metaValue_1au81_90",g$="_subscriberCard_1au81_99",v$="_subscriberHeader_1au81_107",y$="_sessionLink_1au81_114",b$="_badges_1au81_132",_$="_badgeRw_1au81_150 _badge_1au81_132",x$="_badgeR_1au81_150 _badge_1au81_132",k$="_badgeW_1au81_162 _badge_1au81_132",S$="_badgeAsync_1au81_168 _badge_1au81_132",j$="_badgeSync_1au81_174 _badge_1au81_132",T$="_badgeDetach_1au81_178 _badge_1au81_132",w$="_spawnTag_1au81_184 _badge_1au81_132",N$="_fdNumber_1au81_189",C$="_emptySubscribers_1au81_195",lt={panel:o$,header:r$,title:l$,closeButton:c$,body:d$,section:u$,sectionLabel:f$,metaRow:p$,metaKey:m$,metaValue:h$,subscriberCard:g$,subscriberHeader:v$,sessionLink:y$,badges:b$,badgeRw:_$,badgeR:x$,badgeW:k$,badgeAsync:S$,badgeSync:j$,badgeDetach:T$,spawnTag:w$,fdNumber:N$,emptySubscribers:C$};function E$({permission:t}){const s=t==="rw"?lt.badgeRw:t==="r"?lt.badgeR:lt.badgeW;return a.jsx("span",{className:s,children:t})}function A$({mode:t}){const s=t==="async"?lt.badgeAsync:t==="detach"?lt.badgeDetach:lt.badgeSync;return a.jsx("span",{className:s,children:t})}function D$({stream:t,onClose:s}){const o=dt();return y.useEffect(()=>{const r=c=>{c.key==="Escape"&&s()};return document.addEventListener("keydown",r),()=>{document.removeEventListener("keydown",r)}},[s]),a.jsxs("div",{className:lt.panel,"data-testid":"stream-detail-panel",children:[a.jsxs("div",{className:lt.header,children:[a.jsx("h3",{className:lt.title,children:t.name}),a.jsx("button",{className:lt.closeButton,onClick:s,"aria-label":"Close stream details",children:"×"})]}),a.jsxs("div",{className:lt.body,children:[a.jsxs("div",{className:lt.section,children:[a.jsx("div",{className:lt.sectionLabel,children:"Overview"}),a.jsxs("div",{className:lt.metaRow,children:[a.jsx("span",{className:lt.metaKey,children:"Stream ID"}),a.jsx("span",{className:lt.metaValue,children:t.id})]}),a.jsxs("div",{className:lt.metaRow,children:[a.jsx("span",{className:lt.metaKey,children:"Subscribers"}),a.jsx("span",{className:lt.metaValue,children:t.subscriberCount})]}),a.jsxs("div",{className:lt.metaRow,children:[a.jsx("span",{className:lt.metaKey,children:"Buffered"}),a.jsxs("span",{className:lt.metaValue,children:[t.messageBufferDepth," msgs"]})]})]}),a.jsxs("div",{className:lt.section,children:[a.jsx("div",{className:lt.sectionLabel,children:"Subscribers"}),t.subscribers.length===0?a.jsx("div",{className:lt.emptySubscribers,children:"No active subscribers"}):t.subscribers.map(r=>a.jsxs("div",{className:lt.subscriberCard,"data-testid":`subscriber-card-${r.subscriptionId}`,children:[a.jsxs("div",{className:lt.subscriberHeader,children:[a.jsxs("span",{className:lt.fdNumber,children:["fd ",r.fd]}),a.jsxs("button",{className:lt.sessionLink,onClick:()=>{o(Bd(r.sessionId))},title:r.sessionId,children:[r.sessionId.slice(0,12),"…"]})]}),a.jsxs("div",{className:lt.badges,children:[a.jsx(E$,{permission:r.permission}),a.jsx(A$,{mode:r.deliveryMode}),r.createdBySpawn&&a.jsx("span",{className:lt.spawnTag,children:"spawn"})]})]},r.subscriptionId))]})]})]})}function R$({tasks:t,taskStatusById:s,sessionStatusByTaskId:o}){const r=new Map;for(const d of t)if(d.parentTaskId){const u=r.get(d.parentTaskId);u?u.push(d):r.set(d.parentTaskId,[d])}const c=new Map(Ny.map(d=>[d,[]]));for(const d of t){const u=gl(d.status),p=d.dependsOn.length>0&&d.dependsOn.some(k=>s.get(k)!=="complete"),m=r.get(d.id)??[],g=m.length,v=m.filter(k=>k.status==="complete").length;let _;if(u==="paused"&&o){const k=o.get(d.id);k==="idle"?_="Needs input":k==="completed"&&(_="Ready to complete")}const b={task:d,isBlocked:p,childCount:g,doneChildCount:v,pausedSubBadge:_},x=c.get(u);x?x.push(b):c.get("not_started").push(b)}for(const d of c.values())d.sort((u,p)=>u.task.sortOrder-p.task.sortOrder);return Ny.map(d=>{const u=Wa(d);return{status:d,label:u.label,style:u,tasks:c.get(d)??[]}})}const M$="_boardContainer_1c4y1_1",I$="_column_1c4y1_17",O$="_columnHeader_1c4y1_34",L$="_columnIcon_1c4y1_47",B$="_columnLabel_1c4y1_52",$$="_columnCount_1c4y1_57",z$="_cardList_1c4y1_67",H$="_emptyPlaceholder_1c4y1_76",P$="_card_1c4y1_67",U$="_cardHeader_1c4y1_107",V$="_cardStatusIcon_1c4y1_113",G$="_cardTitle_1c4y1_119",q$="_cardBadges_1c4y1_127",F$="_badge_1c4y1_134",Z$="_blockedBadge_1c4y1_146",K$="_childBadge_1c4y1_151",Y$="_depBadge_1c4y1_155",J$="_parentBadge_1c4y1_159",W$="_pausedSubBadge_1c4y1_166",X$="_personaBadge_1c4y1_170",Q$="_envBadge_1c4y1_174",ez="_emptyCta_1c4y1_178",tz="_ctaButton_1c4y1_188",nz="_ctaDescription_1c4y1_204",ct={boardContainer:M$,column:I$,columnHeader:O$,columnIcon:L$,columnLabel:B$,columnCount:$$,cardList:z$,emptyPlaceholder:H$,card:P$,cardHeader:U$,cardStatusIcon:V$,cardTitle:G$,cardBadges:q$,badge:F$,blockedBadge:Z$,childBadge:K$,depBadge:Y$,parentBadge:J$,pausedSubBadge:W$,personaBadge:X$,envBadge:Q$,emptyCta:ez,ctaButton:tz,ctaDescription:nz};function sz({workspaceId:t,environmentId:s,tasks:o,sessions:r,personas:c,environments:d}){const u=dt(),p=y.useMemo(()=>o.filter(b=>b.workspaceId===t),[o,t]),m=y.useMemo(()=>new Map(o.map(b=>[b.id,b.status])),[o]),g=y.useMemo(()=>new Map(p.map(b=>[b.id,b])),[p]),v=y.useMemo(()=>{const b=new Map(r.map(C=>[C.id,C])),x=new Map(c.map(C=>[C.id,C])),k=new Map(d.map(C=>[C.id,C])),j=new Map,w=new Map,T=new Map;for(const C of p)if(C.latestSessionId){const A=b.get(C.latestSessionId);if(A){if(j.set(C.id,A.endReason||A.status),A.personaId){const L=x.get(A.personaId);L&&w.set(C.id,L.name)}if(A.environmentId){const L=k.get(A.environmentId);L&&T.set(C.id,L.displayName)}}}return{sessionStatusByTaskId:j,personaNameByTaskId:w,environmentNameByTaskId:T}},[p,r,c,d]),_=y.useMemo(()=>R$({tasks:p,taskStatusById:m,sessionStatusByTaskId:v.sessionStatusByTaskId}),[p,m,v]);return p.length===0?a.jsxs("div",{className:ct.emptyCta,"data-testid":"board-empty-cta",children:[a.jsx("button",{className:ct.ctaButton,onClick:()=>u(Bi(t,void 0,s)),children:"Create Task"}),a.jsx("div",{className:ct.ctaDescription,children:"Break your work into tasks and let agents tackle them"})]}):a.jsx("div",{className:ct.boardContainer,"data-testid":"board-container",children:_.map(b=>a.jsxs("section",{className:ct.column,"data-testid":`board-column-${b.status}`,"aria-label":`${b.label}, ${b.tasks.length} ${b.tasks.length===1?"task":"tasks"}`,children:[a.jsxs("div",{className:ct.columnHeader,children:[a.jsx("span",{className:ct.columnIcon,style:{color:b.style.color},children:b.style.icon}),a.jsx("span",{className:ct.columnLabel,children:b.label}),a.jsx("span",{className:ct.columnCount,"data-testid":`board-count-${b.status}`,children:b.tasks.length})]}),a.jsx("div",{className:ct.cardList,children:b.tasks.length===0?a.jsx("div",{className:ct.emptyPlaceholder,children:"No tasks"}):a.jsx(rs,{mode:"popLayout",children:b.tasks.map(x=>a.jsx(Rt.div,{layout:!0,initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},children:a.jsx(az,{boardTask:x,tasksById:g,personaName:v.personaNameByTaskId.get(x.task.id),envName:v.environmentNameByTaskId.get(x.task.id),onClick:()=>u(Hn(x.task.id,void 0,t,s))})},x.task.id))})})]},b.status))})}function az({boardTask:t,tasksById:s,personaName:o,envName:r,onClick:c}){const{task:d,isBlocked:u,childCount:p,doneChildCount:m,pausedSubBadge:g}=t,v=Wa(d.status),_=d.parentTaskId?s.get(d.parentTaskId):void 0;return a.jsxs("div",{className:ct.card,tabIndex:0,role:"button","data-testid":`board-card-${d.id}`,onClick:c,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),c())},children:[a.jsxs("div",{className:ct.cardHeader,children:[a.jsx("span",{className:ct.cardStatusIcon,style:{color:v.color},children:v.icon}),a.jsx("span",{className:ct.cardTitle,children:d.title})]}),a.jsxs("div",{className:ct.cardBadges,children:[_&&a.jsx("span",{className:`${ct.badge} ${ct.parentBadge}`,title:_.title,children:_.title}),p>0&&a.jsxs("span",{className:`${ct.badge} ${ct.childBadge}`,children:[m,"/",p]}),u&&a.jsx("span",{className:`${ct.badge} ${ct.blockedBadge}`,children:"blocked"}),d.dependsOn.length>0&&!u&&a.jsx("span",{className:`${ct.badge} ${ct.depBadge}`,children:"dep"}),g&&a.jsx("span",{className:`${ct.badge} ${ct.pausedSubBadge}`,children:g}),o&&a.jsx("span",{className:`${ct.badge} ${ct.personaBadge}`,children:o}),r&&a.jsx("span",{className:`${ct.badge} ${ct.envBadge}`,children:r})]})]})}const iz="_formContent_ymnez_1",oz="_section_ymnez_13",rz="_label_ymnez_19",lz="_titleInput_ymnez_26",cz="_descriptionTextarea_ymnez_58",dz="_selectField_ymnez_94",uz="_checkboxRow_ymnez_128",fz="_checkboxLabel_ymnez_141",pz="_fieldError_ymnez_146",Tt={formContent:iz,section:oz,label:rz,titleInput:lz,descriptionTextarea:cz,selectField:dz,checkboxRow:uz,checkboxLabel:fz,fieldError:pz};function mz(t,s){return{name:(t==null?void 0:t.name)??"",description:(t==null?void 0:t.description)??"",repoUrl:(t==null?void 0:t.repoUrl)??"",environmentId:(t==null?void 0:t.linkedEnvironmentIds[0])??s??"",defaultPersonaId:(t==null?void 0:t.defaultPersonaId)??"",useWorktrees:(t==null?void 0:t.useWorktrees)??!0,workingDirectory:(t==null?void 0:t.workingDirectory)??""}}const hz=100;function gz({values:t,onChange:s,environments:o,personas:r,errors:c,disabled:d,autoFocusName:u}){const p=(m,g)=>{s({...t,[m]:g})};return a.jsxs("div",{className:Tt.formContent,children:[a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-name",children:"Name"}),a.jsx("input",{id:"ws-name",className:Tt.titleInput,type:"text",value:t.name,onChange:m=>p("name",m.target.value),placeholder:"Workspace name",maxLength:hz,autoFocus:u,disabled:d,"data-testid":"workspace-form-name"}),(c==null?void 0:c.name)&&a.jsx("span",{className:Tt.fieldError,"data-testid":"workspace-form-error-name",children:c.name})]}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-description",children:"Description"}),a.jsx("textarea",{id:"ws-description",className:Tt.descriptionTextarea,value:t.description,onChange:m=>p("description",m.target.value),placeholder:"Optional description (Markdown supported)",disabled:d,"data-testid":"workspace-form-description"})]}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-repo",children:"Repository URL"}),a.jsx("input",{id:"ws-repo",className:Tt.titleInput,type:"text",value:t.repoUrl,onChange:m=>p("repoUrl",m.target.value),placeholder:"https://github.com/org/repo",disabled:d,"data-testid":"workspace-form-repo"}),(c==null?void 0:c.repoUrl)&&a.jsx("span",{className:Tt.fieldError,"data-testid":"workspace-form-error-repoUrl",children:c.repoUrl})]}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-environment",children:"Environment"}),a.jsxs("select",{id:"ws-environment",className:Tt.selectField,value:t.environmentId,onChange:m=>p("environmentId",m.target.value),disabled:d,"data-testid":"workspace-form-environment",children:[a.jsx("option",{value:"",children:"Select environment…"}),o.map(m=>a.jsx("option",{value:m.id,children:m.displayName||m.id},m.id))]}),(c==null?void 0:c.environmentId)&&a.jsx("span",{className:Tt.fieldError,"data-testid":"workspace-form-error-environmentId",children:c.environmentId})]}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-persona",children:"Default Persona"}),a.jsxs("select",{id:"ws-persona",className:Tt.selectField,value:t.defaultPersonaId,onChange:m=>p("defaultPersonaId",m.target.value),disabled:d,"data-testid":"workspace-form-persona",children:[a.jsx("option",{value:"",children:"(Inherit)"}),r.map(m=>a.jsx("option",{value:m.id,children:m.name},m.id))]})]}),a.jsx("div",{className:Tt.section,children:a.jsxs("label",{className:Tt.checkboxRow,children:[a.jsx("input",{type:"checkbox",checked:t.useWorktrees,onChange:m=>p("useWorktrees",m.target.checked),disabled:d,"data-testid":"workspace-form-worktrees"}),a.jsx("span",{className:Tt.checkboxLabel,children:"Enable worktree isolation"})]})}),a.jsxs("div",{className:Tt.section,children:[a.jsx("label",{className:Tt.label,htmlFor:"ws-workdir",children:"Working Directory"}),a.jsx("input",{id:"ws-workdir",className:Tt.titleInput,type:"text",value:t.workingDirectory,onChange:m=>p("workingDirectory",m.target.value),placeholder:"Default (server default)",disabled:d,"data-testid":"workspace-form-workdir"})]})]})}const sk=y.createContext(void 0),vz=4e3;function yz({children:t}){const[s,o]=y.useState([]),r=y.useRef(0),c=y.useCallback(u=>{o(p=>p.filter(m=>m.id!==u))},[]),d=y.useCallback((u,p="info",m=vz)=>{const g=`toast-${++r.current}`;o(v=>[...v,{id:g,message:u,variant:p,duration:m}])},[]);return a.jsx(sk.Provider,{value:{toasts:s,showToast:d,dismissToast:c},children:t})}function mn(){const t=y.useContext(sk);if(!t)throw new Error("useToast must be used within ToastProvider");return t}const km="grackle-theme",ak="grackle-prefer-system",ik="(prefers-color-scheme: dark)";let Xr=[],ud;function Pp(){ud=void 0;for(const t of Xr)t()}function Sm(){return typeof window>"u"?!1:window.matchMedia(ik).matches}function il(){if(typeof localStorage>"u")return l_;try{const t=localStorage.getItem(km);if(t!==null&&ek.has(t))return t}catch{}return l_}function wd(){if(typeof localStorage>"u")return!1;try{return localStorage.getItem(ak)==="true"}catch{return!1}}function jm(t){return Fd.find(s=>s.variantLightId===t||s.variantDarkId===t)}function ok(t,s){const o=xm(t);if(o!=null&&o.variantDarkId)return s&&o.variantLightId?Sm()?o.variantDarkId:o.variantLightId:o.variantDarkId;if(o!=null&&o.hidden&&s){const r=jm(t);if(r!=null&&r.variantLightId&&r.variantDarkId)return Sm()?r.variantDarkId:r.variantLightId}return t}function Do(t,s,o=!1){o&&document.documentElement.classList.add("no-transitions"),document.documentElement.dataset.theme=ok(t,s),o&&(document.documentElement.offsetHeight,requestAnimationFrame(()=>{document.documentElement.classList.remove("no-transitions")}))}typeof document<"u"&&Do(il(),wd());function bz(){return ud===void 0&&(ud={themeId:il(),systemDark:Sm(),preferSystem:wd()}),ud}function _z(t){return Xr=[...Xr,t],()=>{Xr=Xr.filter(s=>s!==t)}}function xz(){const t=y.useSyncExternalStore(_z,bz),{themeId:s,preferSystem:o}=t,r=ok(s,o),c=y.useCallback(u=>{if(ek.has(u)){try{localStorage.setItem(km,u)}catch{}Do(u,wd(),!0),Pp()}},[]),d=y.useCallback(u=>{try{localStorage.setItem(ak,u?"true":"false")}catch{}if(u){const p=il(),m=xm(p);if(m!=null&&m.hidden){const g=jm(p);if(g)try{localStorage.setItem(km,g.id)}catch{}}}Do(il(),u,!0),Pp()},[]);return y.useEffect(()=>{Do(s,o)},[s,o]),y.useEffect(()=>{if(typeof window>"u")return;const u=window.matchMedia(ik),p=()=>{const m=il(),g=wd();if(g){const v=xm(m);if(v!=null&&v.variantDarkId&&v.variantLightId&&Do(m,g),v!=null&&v.hidden){const _=jm(m);_!=null&&_.variantDarkId&&_.variantLightId&&Do(m,g)}}Pp()};return u.addEventListener("change",p),()=>{u.removeEventListener("change",p)}},[]),{themeId:s,setTheme:c,resolvedThemeId:r,preferSystem:o,setPreferSystem:d}}const rk=y.createContext(void 0);function kz({children:t}){const s=xz();return a.jsx(rk.Provider,{value:s,children:t})}function lk(){const t=y.useContext(rk);if(!t)throw new Error("useThemeContext must be used within ThemeProvider");return t}const ck=y.createContext(void 0),dk=y.createContext(void 0);function Sz({children:t}){const[s,o]=y.useState(void 0),r=y.useCallback(c=>{o(c)},[]);return a.jsx(dk.Provider,{value:r,children:a.jsx(ck.Provider,{value:s,children:t})})}function jz(){return y.useContext(ck)}function Tz(){const t=y.useContext(dk);if(t===void 0)throw new Error("useSidebarSetter must be used within a SidebarProvider");return t}const bh=y.createContext(void 0);function ot(){const t=y.useContext(bh);if(!t)throw new Error("useGrackle must be used within GrackleProvider");return t}function uk(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function fk(t,s){return console.warn(`[ws] Malformed "${t}" message: ${s}`),!1}function wz(t){return uk(t)&&typeof t.sessionId=="string"&&typeof t.eventType=="string"&&typeof t.timestamp=="string"&&typeof t.content=="string"&&(t.raw===void 0||typeof t.raw=="string")}const Nz=new Set(["off","subscription","api_key"]),Wc=new Set(["off","on"]);function Cz(t){return uk(t)&&Nz.has(t.claude)&&Wc.has(t.github)&&Wc.has(t.copilot)&&Wc.has(t.codex)&&Wc.has(t.goose)}function pk(t){switch(t){case"waiting_input":return"idle";case"completed":return"stopped";case"killed":return"stopped";case"failed":return"stopped";case"interrupted":return"stopped";case"terminated":return"stopped";default:return t}}function mk(t){switch(t){case"completed":return"completed";case"killed":return"killed";case"failed":return"interrupted";case"interrupted":return"interrupted";case"terminated":return"terminated";default:return}}const Ao=5e3;function Ez(t,s){const o=[];let r=t;const c=new Set;for(;r&&s.has(r)&&!c.has(r);){c.add(r);const d=s.get(r);o.unshift(d),r=d.parentTaskId||void 0}return o}const pa={label:"Home",url:qo};function Az(t){return t?[pa,{label:"Settings",url:Di},{label:t,url:void 0}]:[pa,{label:"Settings",url:void 0}]}const _h={label:"Environments",url:Bo};function Dz(){return[pa,{label:"Environments",url:void 0}]}function Rz(){return[pa,{label:"New Chat",url:void 0}]}function Mz(t){return[pa,{label:`Session ${t.slice(0,8)}`,url:void 0}]}function Iz(t,s,o,r){const c=o.find(u=>u.id===t),d=r.find(u=>u.id===s);return[pa,_h,{label:(d==null?void 0:d.displayName)??"Environment",url:Mi(s)},{label:(c==null?void 0:c.name)??"Workspace",url:void 0}]}function Oz(t,s,o,r,c){const d=Ez(t,c),u=c.get(t),p=u==null?void 0:u.workspaceId,m=p?o.find(x=>x.id===p):void 0,g=s??(m==null?void 0:m.linkedEnvironmentIds[0]),v=g?r.find(x=>x.id===g):void 0,_=[pa];v&&g&&(_.push(_h),_.push({label:v.displayName,url:Mi(g)})),m&&g&&_.push({label:m.name,url:Xa(m.id,g)});for(let x=0;x<d.length-1;x++)_.push({label:d[x].title,url:Hn(d[x].id,void 0,p,g)});const b=d[d.length-1];return _.push({label:(b==null?void 0:b.title)??t,url:void 0}),_}const Lz={label:"Findings",url:$d};function Bz(){return[pa,{label:"Findings",url:void 0}]}function hk(t,s,o,r,c){const d=[pa];if(s&&o){const u=r.find(m=>m.id===s),p=c.find(m=>m.id===o);d.push(_h),p&&d.push({label:p.displayName,url:Mi(o)}),u&&d.push({label:u.name,url:Xa(s,o)}),d.push({label:"Findings",url:WN(s,o)})}else d.push(Lz);return d.push({label:t,url:void 0}),d}function xh(t){const s=[];for(const o of t){const r=s[s.length-1];o.eventType==="text"&&(r==null?void 0:r.eventType)==="text"?s[s.length-1]={...r,content:r.content+o.content}:s.push(o)}return s}function Xc(t){if(typeof t.id=="string")return t.id;const s=t.data;if(s&&typeof s.toolCallId=="string")return s.toolCallId;const o=t.item;if(o&&typeof o.id=="string")return o.id}function $z(t){if(typeof t.tool_use_id=="string")return t.tool_use_id;const s=t.data;if(s&&typeof s.toolCallId=="string")return s.toolCallId;const o=t.item;if(o&&typeof o.id=="string")return o.id}function kh(t){const s=new Map;for(const v of t)if(v.raw)try{s.set(v,JSON.parse(v.raw))}catch{}const o=new Map;for(const v of t){if(v.eventType!=="tool_use")continue;const _=s.get(v),b=_?Xc(_):void 0;if(b)try{const x=JSON.parse(v.content);o.set(b,{tool:x.tool,args:x.args})}catch{}}const r=new Set,c=new Set,d=t.map((v,_)=>{if(v.eventType!=="tool_result")return v;const b=s.get(v),x=b?$z(b):void 0;if(!x)return v;const k=o.get(x);if(!k)return v;r.add(x),c.add(_);let j;const w=v.content.trim();if(w.startsWith("{"))try{const T=JSON.parse(w);typeof T.detailedContent=="string"&&(j=T.detailedContent)}catch{}return{...v,toolUseCtx:{...k,detailedResult:j}}}),u=[];for(let v=0;v<d.length;v++){if(d[v].eventType!=="tool_use")continue;const _=s.get(d[v]),b=_?Xc(_):void 0;b&&r.has(b)||u.push(v)}const p=[];for(let v=0;v<d.length;v++)d[v].eventType!=="tool_result"||c.has(v)||p.push(v);let m=0;for(const v of u){for(;m<p.length&&p[m]<v;)m++;if(m>=p.length)break;const _=p[m];if(_!==v+1)continue;const b=d[v],x=d[_];let k;try{const j=JSON.parse(b.content);k={tool:j.tool,args:j.args}}catch{}if(k){let j;const w=x.content.trim();if(w.startsWith("{"))try{const A=JSON.parse(w);typeof A.detailedContent=="string"&&(j=A.detailedContent)}catch{}d[_]={...x,toolUseCtx:{...k,detailedResult:j}},c.add(_);const T=s.get(b),C=T?Xc(T):void 0;C?r.add(C):(r.add(`__seq_${v}`),s.set(b,{...T??{},__seqId:`__seq_${v}`})),m++}}const g=d.filter(v=>{if(v.eventType!=="tool_use")return!0;const _=s.get(v);if(!_)return!0;const b=Xc(_);if(b&&r.has(b))return!1;const x=_.__seqId;return!(x&&r.has(x))});for(let v=0;v<g.length;v++){if(g[v].eventType!=="tool_use")continue;let _=!1;for(let b=v+1;b<g.length;b++)if(g[b].eventType!=="tool_use"){_=!0;break}_&&(g[v]={...g[v],settled:!0})}return g}function zz(t,s,o){const r=t.filter(m=>m.status==="running"||m.status==="idle"||m.status==="waiting").length,c=gk(s),d=s.filter(m=>Tm(m,c)).length,u=s.filter(m=>m.status==="paused"||m.status==="failed"||Tm(m,c)).length,p=o.filter(m=>m.status==="disconnected"||m.status==="error").length;return{activeSessions:r,blockedTasks:d,attentionTasks:u,unhealthyEnvironments:p}}function gk(t){const s=new Map;for(const o of t)s.set(o.id,o.status);return s}function Tm(t,s){return t.dependsOn.some(o=>s.get(o)!=="complete")}function Hz(t,s){var u;const o=new Map;for(const p of s)o.set(p.id,p);const r=gk(t),c=[];for(const p of t){const m=p.workspaceId?((u=o.get(p.workspaceId))==null?void 0:u.name)??"Unknown":"Unknown";p.status==="failed"?c.push({task:p,reason:"failed",workspaceName:m}):Tm(p,r)?c.push({task:p,reason:"blocked",workspaceName:m}):p.status==="paused"&&c.push({task:p,reason:"paused",workspaceName:m})}const d={failed:0,blocked:1,paused:2};return c.sort((p,m)=>(d[p.reason]??3)-(d[m.reason]??3)),c}function Pz(t,s){const o=new Map;for(const r of s)o.set(r.id,r);return t.filter(r=>r.status==="running"||r.status==="idle"||r.status==="waiting").map(r=>{var c;return{session:r,environmentName:((c=o.get(r.environmentId))==null?void 0:c.displayName)??"Unknown"}})}function Uz(t,s,o){const r=new Map;for(const c of s){if(!c.workspaceId)continue;let d=r.get(c.workspaceId);d||(d={totalTasks:0,completedTasks:0,workingTasks:0,failedTasks:0},r.set(c.workspaceId,d)),d.totalTasks+=1,c.status==="complete"?d.completedTasks+=1:c.status==="working"?d.workingTasks+=1:c.status==="failed"&&(d.failedTasks+=1)}return t.map(c=>{const d=r.get(c.id)??{totalTasks:0,completedTasks:0,workingTasks:0,failedTasks:0};return{workspace:c,totalTasks:d.totalTasks,completedTasks:d.completedTasks,workingTasks:d.workingTasks,failedTasks:d.failedTasks}})}const Rs=[{id:"kn-auth-flow",label:"Authentication Flow",kind:"knowledge",category:"concept",content:"The application uses JWT Bearer tokens for stateless authentication. Access tokens expire after 24h. Refresh tokens are stored in the database and rotated on use. The auth middleware verifies tokens and attaches the decoded payload to req.user.",tags:["auth","jwt","security"],workspaceId:"proj-alpha",createdAt:"2026-02-25T10:30:00Z",updatedAt:"2026-02-27T08:15:00Z",val:5},{id:"kn-db-schema",label:"Database Schema",kind:"knowledge",category:"concept",content:"PostgreSQL database with tables: users, sessions, refresh_tokens, audit_log. Uses UUID primary keys, TIMESTAMPTZ for all timestamps, and JSONB for flexible metadata columns. Connection pooling via pg-pool with per-tenant isolation.",tags:["database","postgres","schema"],workspaceId:"proj-alpha",createdAt:"2026-02-23T11:00:00Z",updatedAt:"2026-02-26T22:45:00Z",val:4},{id:"kn-error-handling",label:"Error Response Pattern",kind:"knowledge",category:"concept",content:"All API errors follow the shape { error: string, code: string, details?: unknown }. HTTP status codes map to: 400 (validation), 401 (unauthenticated), 403 (forbidden), 404 (not found), 409 (conflict), 429 (rate limited), 500 (internal).",tags:["api","errors","patterns"],workspaceId:"proj-alpha",createdAt:"2026-02-27T08:17:00Z",updatedAt:"2026-02-27T08:17:00Z",val:3},{id:"kn-rate-limiting",label:"Rate Limiting Strategy",kind:"knowledge",category:"concept",content:"Token-bucket algorithm with in-memory state per client IP. Default rate: 100 requests/minute, burst: 20. Returns 429 with Retry-After header. Redis adapter available for multi-instance deployments.",tags:["api","rate-limiting","infrastructure"],workspaceId:"proj-alpha",createdAt:"2026-02-27T09:00:00Z",updatedAt:"2026-02-27T09:00:00Z",val:2},{id:"kn-etl-pipeline",label:"ETL Pipeline Architecture",kind:"knowledge",category:"concept",content:"Data pipelines follow an Extract-Transform-Load pattern with pluggable stages. Each stage reads from a source (Postgres, S3, API), transforms via configurable mappers, and loads into a target (Parquet, BigQuery, S3). Incremental loads use high-watermark tracking.",tags:["etl","pipeline","architecture"],workspaceId:"proj-beta",createdAt:"2026-02-26T08:00:00Z",updatedAt:"2026-02-27T09:05:00Z",val:4},{id:"kn-parquet-format",label:"Parquet Output Format",kind:"knowledge",category:"concept",content:"Parquet files are written with row-group buffering (configurable batch size, default 10000 rows). Supports Snappy, ZSTD, and GZIP compression. Schema is derived from the internal column type system using Arrow type mapping.",tags:["parquet","data-format","compression"],workspaceId:"proj-beta",createdAt:"2026-02-26T08:05:00Z",updatedAt:"2026-02-26T08:15:00Z",val:3},{id:"kn-jwt-over-session",label:"JWT over Session Auth",kind:"knowledge",category:"decision",content:"Chose JWT tokens over server-side sessions for stateless auth. Rationale: (1) no session store needed, (2) works across microservices without shared state, (3) supports mobile clients natively. Trade-off: tokens can't be revoked instantly (mitigated by short expiry + refresh rotation).",tags:["auth","decision","jwt"],workspaceId:"proj-alpha",createdAt:"2026-02-25T10:00:00Z",updatedAt:"2026-02-25T10:00:00Z",val:3},{id:"kn-pg-pool-decision",label:"pg-pool over Knex",kind:"knowledge",category:"decision",content:"Chose pg-pool over Knex for connection pooling. pg-pool gives direct control over idle timeout, max connections, and health check queries. Knex wraps pg-pool and adds query-building overhead we don't need since we write raw SQL with parameterized queries.",tags:["database","decision","postgres"],workspaceId:"proj-alpha",createdAt:"2026-02-23T11:30:00Z",updatedAt:"2026-02-23T11:30:00Z",val:2},{id:"kn-watermark-decision",label:"Local Watermark Storage",kind:"knowledge",category:"decision",content:"Currently using local SQLite for watermark storage. This works for single-worker pipelines but needs to move to a shared store (Redis or Postgres) for production multi-worker scenarios. Tracked as a follow-up task.",tags:["pipeline","decision","watermarks"],workspaceId:"proj-beta",createdAt:"2026-02-27T09:05:00Z",updatedAt:"2026-02-27T09:05:00Z",val:2},{id:"kn-jwt-middleware",label:"JWT Verify Middleware",kind:"knowledge",category:"snippet",content:`\`\`\`typescript
314
314
  export function verifyToken(req: Request, res: Response, next: NextFunction): void {
315
315
  const header = req.headers.authorization;
316
316
  if (!header?.startsWith("Bearer ")) {
@@ -333,7 +333,7 @@ CREATE TABLE audit_log (
333
333
  ip_address INET,
334
334
  created_at TIMESTAMPTZ DEFAULT now()
335
335
  );
336
- \`\`\``,tags:["database","audit","schema","sql"],workspaceId:"proj-alpha",createdAt:"2026-02-26T22:45:15Z",updatedAt:"2026-02-26T22:45:15Z",val:2},{id:"kn-n1-query",label:"N+1 Query in User List",kind:"knowledge",category:"insight",content:"GET /api/users performs a separate query for each user's role metadata, resulting in N+1 queries. For 500 users this adds ~2 seconds of latency. Solution: use a JOIN or batch lookup to fetch all role data in a single query.",tags:["performance","database","n+1"],workspaceId:"proj-alpha",createdAt:"2026-02-22T09:30:00Z",updatedAt:"2026-02-22T09:30:00Z",val:2},{id:"kn-session-race",label:"Session Cleanup Race Condition",kind:"knowledge",category:"insight",content:"When two concurrent requests hit /api/logout, the second call throws a 500 because the session row has already been deleted. Fix: use DELETE ... RETURNING or add IF EXISTS guard to make the operation idempotent.",tags:["bug","concurrency","sessions"],workspaceId:"proj-alpha",createdAt:"2026-02-26T22:50:00Z",updatedAt:"2026-02-26T22:50:00Z",val:2},{id:"kn-ref-task-001",label:"JWT Auth Task",kind:"reference",sourceType:"task",sourceId:"task-001",content:"Implement JWT authentication across all protected routes, replacing session-based auth.",workspaceId:"proj-alpha",createdAt:"2026-02-25T10:00:00Z",updatedAt:"2026-02-27T08:15:00Z",val:3},{id:"kn-ref-task-006",label:"Parquet Export Task",kind:"reference",sourceType:"task",sourceId:"task-006",content:"Add Parquet export support for pipeline outputs, enabling downstream Spark consumption.",workspaceId:"proj-beta",createdAt:"2026-02-26T08:00:00Z",updatedAt:"2026-02-27T09:00:00Z",val:3},{id:"kn-ref-sess-001",label:"Auth Middleware Session",kind:"reference",sourceType:"session",sourceId:"sess-001",content:"Active session implementing JWT auth middleware, rewrote auth.ts, login.ts, and test suite.",workspaceId:"proj-alpha",createdAt:"2026-02-27T08:15:00Z",updatedAt:"2026-02-27T08:15:42Z",val:2}],Fa=[{source:"kn-auth-flow",target:"kn-jwt-over-session",type:"decided_by"},{source:"kn-auth-flow",target:"kn-jwt-middleware",type:"implemented_by"},{source:"kn-auth-flow",target:"kn-ref-task-001",type:"tracked_in"},{source:"kn-auth-flow",target:"kn-error-handling",type:"relates_to"},{source:"kn-jwt-over-session",target:"kn-ref-task-001",type:"motivated_by"},{source:"kn-db-schema",target:"kn-pg-pool-decision",type:"decided_by"},{source:"kn-db-schema",target:"kn-audit-schema",type:"contains"},{source:"kn-db-schema",target:"kn-n1-query",type:"affected_by"},{source:"kn-db-schema",target:"kn-session-race",type:"affected_by"},{source:"kn-rate-limiting",target:"kn-error-handling",type:"relates_to"},{source:"kn-rate-limiting",target:"kn-auth-flow",type:"depends_on"},{source:"kn-etl-pipeline",target:"kn-parquet-format",type:"outputs_to"},{source:"kn-etl-pipeline",target:"kn-watermark-decision",type:"decided_by"},{source:"kn-etl-pipeline",target:"kn-ref-task-006",type:"tracked_in"},{source:"kn-parquet-format",target:"kn-ref-task-006",type:"tracked_in"},{source:"kn-watermark-decision",target:"kn-etl-pipeline",type:"relates_to"},{source:"kn-ref-task-001",target:"kn-ref-sess-001",type:"has_session"},{source:"kn-jwt-middleware",target:"kn-ref-sess-001",type:"created_in"},{source:"kn-audit-schema",target:"kn-db-schema",type:"part_of"}],Uz=new Map(Rs.map(t=>[t.id,t]));function Up(t){const s=Uz.get(t);if(!s)throw new Error(`MOCK_KNOWLEDGE_NODES is missing node "${t}"`);return s}const f_={"kn-auth-flow":{node:Up("kn-auth-flow"),edges:[{fromId:"kn-auth-flow",toId:"kn-jwt-over-session",type:"decided_by"},{fromId:"kn-auth-flow",toId:"kn-jwt-middleware",type:"implemented_by"},{fromId:"kn-auth-flow",toId:"kn-ref-task-001",type:"tracked_in"},{fromId:"kn-auth-flow",toId:"kn-error-handling",type:"relates_to"},{fromId:"kn-rate-limiting",toId:"kn-auth-flow",type:"depends_on"}]},"kn-db-schema":{node:Up("kn-db-schema"),edges:[{fromId:"kn-db-schema",toId:"kn-pg-pool-decision",type:"decided_by"},{fromId:"kn-db-schema",toId:"kn-audit-schema",type:"contains"},{fromId:"kn-db-schema",toId:"kn-n1-query",type:"affected_by"},{fromId:"kn-db-schema",toId:"kn-session-race",type:"affected_by"},{fromId:"kn-audit-schema",toId:"kn-db-schema",type:"part_of"}]},"kn-etl-pipeline":{node:Up("kn-etl-pipeline"),edges:[{fromId:"kn-etl-pipeline",toId:"kn-parquet-format",type:"outputs_to"},{fromId:"kn-etl-pipeline",toId:"kn-watermark-decision",type:"decided_by"},{fromId:"kn-etl-pipeline",toId:"kn-ref-task-006",type:"tracked_in"},{fromId:"kn-watermark-decision",toId:"kn-etl-pipeline",type:"relates_to"}]}},Vz=[{id:"env-local-01",displayName:"Local Dev",adapterType:"local",adapterConfig:"{}",status:"connected",bootstrapped:!0,githubAccountId:""},{id:"env-docker-01",displayName:"Docker Sandbox",adapterType:"docker",adapterConfig:'{"image":"node:20"}',status:"connected",bootstrapped:!0,githubAccountId:""},{id:"env-cs-01",displayName:"GitHub Codespace",adapterType:"codespace",adapterConfig:'{"codespaceName":"my-codespace"}',status:"connected",bootstrapped:!0,githubAccountId:""},{id:"env-remote-01",displayName:"Staging (SSH)",adapterType:"ssh",adapterConfig:'{"host":"192.168.1.10","user":"deploy","sshPort":22}',status:"disconnected",bootstrapped:!1,githubAccountId:""},{id:"error-env",displayName:"Error Test",adapterType:"local",adapterConfig:"{}",status:"connected",bootstrapped:!0,githubAccountId:""}],Gz=[{id:"sess-001-prev",environmentId:"env-local-01",runtime:"claude-code",status:"stopped",endReason:"interrupted",prompt:"Implement auth middleware",startedAt:"2026-02-26T14:00:00Z",endedAt:"2026-02-26T15:12:00Z",error:"Context window exceeded before completing implementation",inputTokens:84200,outputTokens:12750,costMillicents:41e3},{id:"sess-001",environmentId:"env-local-01",runtime:"claude-code",status:"running",prompt:"Refactor the authentication middleware to use JWT tokens",startedAt:"2026-02-27T08:15:00Z",inputTokens:42600,outputTokens:8100,costMillicents:22e3},{id:"sess-002",environmentId:"env-docker-01",runtime:"copilot",status:"stopped",endReason:"completed",prompt:"Write unit tests for the user registration endpoint",startedAt:"2026-02-27T07:30:00Z",endedAt:"2026-02-27T07:33:00Z",inputTokens:31400,outputTokens:9800,costMillicents:18e3},{id:"sess-003",environmentId:"env-local-01",runtime:"claude-code",status:"stopped",endReason:"interrupted",prompt:"Migrate database schema to add audit_log table",startedAt:"2026-02-26T22:45:00Z",endedAt:"2026-02-26T23:10:00Z",inputTokens:56300,outputTokens:14200,costMillicents:31e3},{id:"sess-004",environmentId:"env-docker-01",runtime:"codex",status:"running",prompt:"Implement rate limiting for the public API",startedAt:"2026-02-27T09:00:00Z",inputTokens:18900,outputTokens:4500,costMillicents:1e4},{id:"sess-005",environmentId:"env-cs-01",runtime:"claude-code",status:"suspended",prompt:"Refactor database connection pooling for multi-tenant isolation",startedAt:"2026-02-27T06:00:00Z",inputTokens:67800,outputTokens:19300,costMillicents:38e3}],qz=[{sessionId:"sess-001-prev",eventType:"status",timestamp:"2026-02-26T14:00:01Z",content:"running"},{sessionId:"sess-001-prev",eventType:"system",timestamp:"2026-02-26T14:00:02Z",content:`You are a senior backend engineer. Focus on security best practices and thorough testing.
336
+ \`\`\``,tags:["database","audit","schema","sql"],workspaceId:"proj-alpha",createdAt:"2026-02-26T22:45:15Z",updatedAt:"2026-02-26T22:45:15Z",val:2},{id:"kn-n1-query",label:"N+1 Query in User List",kind:"knowledge",category:"insight",content:"GET /api/users performs a separate query for each user's role metadata, resulting in N+1 queries. For 500 users this adds ~2 seconds of latency. Solution: use a JOIN or batch lookup to fetch all role data in a single query.",tags:["performance","database","n+1"],workspaceId:"proj-alpha",createdAt:"2026-02-22T09:30:00Z",updatedAt:"2026-02-22T09:30:00Z",val:2},{id:"kn-session-race",label:"Session Cleanup Race Condition",kind:"knowledge",category:"insight",content:"When two concurrent requests hit /api/logout, the second call throws a 500 because the session row has already been deleted. Fix: use DELETE ... RETURNING or add IF EXISTS guard to make the operation idempotent.",tags:["bug","concurrency","sessions"],workspaceId:"proj-alpha",createdAt:"2026-02-26T22:50:00Z",updatedAt:"2026-02-26T22:50:00Z",val:2},{id:"kn-ref-task-001",label:"JWT Auth Task",kind:"reference",sourceType:"task",sourceId:"task-001",content:"Implement JWT authentication across all protected routes, replacing session-based auth.",workspaceId:"proj-alpha",createdAt:"2026-02-25T10:00:00Z",updatedAt:"2026-02-27T08:15:00Z",val:3},{id:"kn-ref-task-006",label:"Parquet Export Task",kind:"reference",sourceType:"task",sourceId:"task-006",content:"Add Parquet export support for pipeline outputs, enabling downstream Spark consumption.",workspaceId:"proj-beta",createdAt:"2026-02-26T08:00:00Z",updatedAt:"2026-02-27T09:00:00Z",val:3},{id:"kn-ref-sess-001",label:"Auth Middleware Session",kind:"reference",sourceType:"session",sourceId:"sess-001",content:"Active session implementing JWT auth middleware, rewrote auth.ts, login.ts, and test suite.",workspaceId:"proj-alpha",createdAt:"2026-02-27T08:15:00Z",updatedAt:"2026-02-27T08:15:42Z",val:2}],Fa=[{source:"kn-auth-flow",target:"kn-jwt-over-session",type:"decided_by"},{source:"kn-auth-flow",target:"kn-jwt-middleware",type:"implemented_by"},{source:"kn-auth-flow",target:"kn-ref-task-001",type:"tracked_in"},{source:"kn-auth-flow",target:"kn-error-handling",type:"relates_to"},{source:"kn-jwt-over-session",target:"kn-ref-task-001",type:"motivated_by"},{source:"kn-db-schema",target:"kn-pg-pool-decision",type:"decided_by"},{source:"kn-db-schema",target:"kn-audit-schema",type:"contains"},{source:"kn-db-schema",target:"kn-n1-query",type:"affected_by"},{source:"kn-db-schema",target:"kn-session-race",type:"affected_by"},{source:"kn-rate-limiting",target:"kn-error-handling",type:"relates_to"},{source:"kn-rate-limiting",target:"kn-auth-flow",type:"depends_on"},{source:"kn-etl-pipeline",target:"kn-parquet-format",type:"outputs_to"},{source:"kn-etl-pipeline",target:"kn-watermark-decision",type:"decided_by"},{source:"kn-etl-pipeline",target:"kn-ref-task-006",type:"tracked_in"},{source:"kn-parquet-format",target:"kn-ref-task-006",type:"tracked_in"},{source:"kn-watermark-decision",target:"kn-etl-pipeline",type:"relates_to"},{source:"kn-ref-task-001",target:"kn-ref-sess-001",type:"has_session"},{source:"kn-jwt-middleware",target:"kn-ref-sess-001",type:"created_in"},{source:"kn-audit-schema",target:"kn-db-schema",type:"part_of"}],Vz=new Map(Rs.map(t=>[t.id,t]));function Up(t){const s=Vz.get(t);if(!s)throw new Error(`MOCK_KNOWLEDGE_NODES is missing node "${t}"`);return s}const f_={"kn-auth-flow":{node:Up("kn-auth-flow"),edges:[{fromId:"kn-auth-flow",toId:"kn-jwt-over-session",type:"decided_by"},{fromId:"kn-auth-flow",toId:"kn-jwt-middleware",type:"implemented_by"},{fromId:"kn-auth-flow",toId:"kn-ref-task-001",type:"tracked_in"},{fromId:"kn-auth-flow",toId:"kn-error-handling",type:"relates_to"},{fromId:"kn-rate-limiting",toId:"kn-auth-flow",type:"depends_on"}]},"kn-db-schema":{node:Up("kn-db-schema"),edges:[{fromId:"kn-db-schema",toId:"kn-pg-pool-decision",type:"decided_by"},{fromId:"kn-db-schema",toId:"kn-audit-schema",type:"contains"},{fromId:"kn-db-schema",toId:"kn-n1-query",type:"affected_by"},{fromId:"kn-db-schema",toId:"kn-session-race",type:"affected_by"},{fromId:"kn-audit-schema",toId:"kn-db-schema",type:"part_of"}]},"kn-etl-pipeline":{node:Up("kn-etl-pipeline"),edges:[{fromId:"kn-etl-pipeline",toId:"kn-parquet-format",type:"outputs_to"},{fromId:"kn-etl-pipeline",toId:"kn-watermark-decision",type:"decided_by"},{fromId:"kn-etl-pipeline",toId:"kn-ref-task-006",type:"tracked_in"},{fromId:"kn-watermark-decision",toId:"kn-etl-pipeline",type:"relates_to"}]}},Gz=[{id:"env-local-01",displayName:"Local Dev",adapterType:"local",adapterConfig:"{}",status:"connected",bootstrapped:!0,githubAccountId:""},{id:"env-docker-01",displayName:"Docker Sandbox",adapterType:"docker",adapterConfig:'{"image":"node:20"}',status:"connected",bootstrapped:!0,githubAccountId:""},{id:"env-cs-01",displayName:"GitHub Codespace",adapterType:"codespace",adapterConfig:'{"codespaceName":"my-codespace"}',status:"connected",bootstrapped:!0,githubAccountId:""},{id:"env-remote-01",displayName:"Staging (SSH)",adapterType:"ssh",adapterConfig:'{"host":"192.168.1.10","user":"deploy","sshPort":22}',status:"disconnected",bootstrapped:!1,githubAccountId:""},{id:"error-env",displayName:"Error Test",adapterType:"local",adapterConfig:"{}",status:"connected",bootstrapped:!0,githubAccountId:""}],qz=[{id:"sess-001-prev",environmentId:"env-local-01",runtime:"claude-code",status:"stopped",endReason:"interrupted",prompt:"Implement auth middleware",startedAt:"2026-02-26T14:00:00Z",endedAt:"2026-02-26T15:12:00Z",error:"Context window exceeded before completing implementation",inputTokens:84200,outputTokens:12750,costMillicents:41e3},{id:"sess-001",environmentId:"env-local-01",runtime:"claude-code",status:"running",prompt:"Refactor the authentication middleware to use JWT tokens",startedAt:"2026-02-27T08:15:00Z",inputTokens:42600,outputTokens:8100,costMillicents:22e3},{id:"sess-002",environmentId:"env-docker-01",runtime:"copilot",status:"stopped",endReason:"completed",prompt:"Write unit tests for the user registration endpoint",startedAt:"2026-02-27T07:30:00Z",endedAt:"2026-02-27T07:33:00Z",inputTokens:31400,outputTokens:9800,costMillicents:18e3},{id:"sess-003",environmentId:"env-local-01",runtime:"claude-code",status:"stopped",endReason:"interrupted",prompt:"Migrate database schema to add audit_log table",startedAt:"2026-02-26T22:45:00Z",endedAt:"2026-02-26T23:10:00Z",inputTokens:56300,outputTokens:14200,costMillicents:31e3},{id:"sess-004",environmentId:"env-docker-01",runtime:"codex",status:"running",prompt:"Implement rate limiting for the public API",startedAt:"2026-02-27T09:00:00Z",inputTokens:18900,outputTokens:4500,costMillicents:1e4},{id:"sess-005",environmentId:"env-cs-01",runtime:"claude-code",status:"suspended",prompt:"Refactor database connection pooling for multi-tenant isolation",startedAt:"2026-02-27T06:00:00Z",inputTokens:67800,outputTokens:19300,costMillicents:38e3}],Fz=[{sessionId:"sess-001-prev",eventType:"status",timestamp:"2026-02-26T14:00:01Z",content:"running"},{sessionId:"sess-001-prev",eventType:"system",timestamp:"2026-02-26T14:00:02Z",content:`You are a senior backend engineer. Focus on security best practices and thorough testing.
337
337
  Project: acme/alpha — Node.js + Express REST API
338
338
  Task: Implement auth middleware using JWT tokens`,raw:JSON.stringify({systemContext:!0})},{sessionId:"sess-001-prev",eventType:"text",timestamp:"2026-02-26T14:00:05Z",content:"I'll start by reading the current authentication middleware to understand what needs to change."},{sessionId:"sess-001-prev",eventType:"tool_use",timestamp:"2026-02-26T14:00:06Z",content:JSON.stringify({tool:"Read",args:{file_path:"src/middleware/auth.ts"}}),raw:JSON.stringify({id:"tu-prev-001",type:"tool_use"})},{sessionId:"sess-001-prev",eventType:"tool_result",timestamp:"2026-02-26T14:00:07Z",content:`import session from "express-session";
339
339
  import type { Request, Response, NextFunction } from "express";
@@ -642,7 +642,7 @@ src/services/analytics.ts:1:import { pool } from "../db/pool.js";`,raw:JSON.stri
642
642
  2. Update all consumers to use \`getPool(tenantId)\` instead of the global pool
643
643
  3. Add middleware to extract tenant ID from the request
644
644
 
645
- This is a significant refactor. Let me start with the PoolManager class.`},{sessionId:"sess-005",eventType:"usage",timestamp:"2026-02-27T06:30:00Z",content:JSON.stringify({input_tokens:67800,output_tokens:19300,cost_millicents:38e3})},{sessionId:"sess-005",eventType:"status",timestamp:"2026-02-27T06:30:01Z",content:"suspended"}],Fz=[{id:"proj-alpha",name:"Workspace Alpha",description:"Core platform API and authentication services",repoUrl:"https://github.com/acme/alpha",linkedEnvironmentIds:["env-local-01","env-docker-01"],status:"active",workingDirectory:"",useWorktrees:!0,defaultPersonaId:"",tokenBudget:0,costBudgetMillicents:0,createdAt:"2026-01-15T10:00:00Z",updatedAt:"2026-01-15T10:00:00Z"},{id:"proj-beta",name:"Data Pipeline",description:"ETL pipelines for analytics and reporting",repoUrl:"https://github.com/acme/data-pipeline",linkedEnvironmentIds:["env-docker-01"],status:"active",workingDirectory:"",useWorktrees:!0,defaultPersonaId:"",tokenBudget:0,costBudgetMillicents:0,createdAt:"2026-02-01T14:30:00Z",updatedAt:"2026-02-01T14:30:00Z"},{id:"proj-gamma",name:"Mobile App",description:"React Native cross-platform mobile application",repoUrl:"",linkedEnvironmentIds:["env-local-01"],status:"archived",workingDirectory:"",useWorktrees:!0,defaultPersonaId:"",tokenBudget:0,costBudgetMillicents:0,createdAt:"2025-11-20T09:00:00Z",updatedAt:"2025-11-20T09:00:00Z"}],Zz=[{id:"task-001",workspaceId:"proj-alpha",title:"Implement JWT authentication",description:"Replace session-based auth with JWT tokens across all protected routes",status:"working",branch:"feat/jwt-auth",latestSessionId:"sess-001",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-25T10:00:00Z",parentTaskId:"",depth:0,childTaskIds:["task-001a","task-001b","task-001c"],canDecompose:!0,defaultPersonaId:"",workpad:JSON.stringify({status:"in_progress",summary:"Design and implement JWT-based authentication with access/refresh tokens, replacing session-based auth.",extra:{approach:"Replace express-session with JWT Bearer tokens. Access tokens expire in 24h, refresh tokens stored in DB.",files_changed:["src/middleware/auth.ts","src/routes/login.ts","src/routes/protected.ts"],decisions:["Chose jsonwebtoken over jose for consistency with existing codebase","24h access token expiry — long enough for dev sessions, short enough for security","Refresh tokens are 48-byte random hex stored in DB with user association"],blockers:"Need to verify token rotation strategy with security team before merging"}}),tokenBudget:0,costBudgetMillicents:0},{id:"task-001a",workspaceId:"proj-alpha",title:"Design token schema",description:"Define JWT payload structure, expiry, and refresh token strategy",status:"complete",branch:"feat/jwt-auth/design-token-schema",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-25T10:10:00Z",parentTaskId:"task-001",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-001b",workspaceId:"proj-alpha",title:"Implement auth middleware",description:"Build Express middleware that verifies JWT Bearer tokens",status:"working",branch:"feat/jwt-auth/implement-auth-middleware",latestSessionId:"sess-001",dependsOn:[],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-25T10:15:00Z",parentTaskId:"task-001",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-001c",workspaceId:"proj-alpha",title:"Write auth integration tests",description:"End-to-end tests for login flow, token refresh, and protected route access",status:"not_started",branch:"",latestSessionId:"",dependsOn:["task-001b"],reviewNotes:void 0,sortOrder:3,createdAt:"2026-02-25T10:20:00Z",parentTaskId:"task-001",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-002",workspaceId:"proj-alpha",title:"Add rate limiting",description:"Implement token-bucket rate limiting for public API endpoints",status:"not_started",branch:"",latestSessionId:"",dependsOn:["task-001"],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-25T10:05:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-003",workspaceId:"proj-alpha",title:"Set up OpenAPI documentation",description:"Generate Swagger docs from route decorators and serve at /api/docs",status:"paused",branch:"feat/openapi-docs",latestSessionId:"sess-002",dependsOn:[],reviewNotes:void 0,sortOrder:3,createdAt:"2026-02-24T16:00:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-004",workspaceId:"proj-alpha",title:"Database connection pooling",description:"Switch from single connection to a connection pool with health checks",status:"complete",branch:"feat/db-pool",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:4,createdAt:"2026-02-23T11:00:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-005",workspaceId:"proj-alpha",title:"Fix N+1 query in user list",description:"Use a JOIN instead of per-row lookups in GET /api/users",status:"not_started",branch:"fix/user-list-n1",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:5,createdAt:"2026-02-22T09:30:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-006",workspaceId:"proj-beta",title:"Add Parquet export support",description:"Allow pipeline outputs to be written as Parquet files for Spark consumption",status:"working",branch:"feat/parquet-export",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-26T08:00:00Z",parentTaskId:"",depth:0,childTaskIds:["task-006a","task-006b","task-006c","task-006d"],canDecompose:!0,defaultPersonaId:"",workpad:JSON.stringify({status:"in_progress",summary:"Plan for adding Parquet export support, including compression options and performance benchmarks.",extra:{approach:"Use apache-arrow npm package for Parquet write support. Map internal column types to Arrow type system.",compression:{supported:["snappy","zstd","gzip"],default:"snappy"},benchmarks:{"1M rows snappy":"2.3s","1M rows zstd":"3.1s","1M rows gzip":"4.8s"}}}),tokenBudget:0,costBudgetMillicents:0},{id:"task-006a",workspaceId:"proj-beta",title:"Define Parquet schema mapping",description:"Map internal column types to Arrow/Parquet type system",status:"complete",branch:"feat/parquet-export/define-parquet-schema-mapping",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-26T08:05:00Z",parentTaskId:"task-006",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-006b",workspaceId:"proj-beta",title:"Implement row-group writer",description:"Write buffered row groups with configurable batch size",status:"complete",branch:"feat/parquet-export/implement-row-group-writer",latestSessionId:"",dependsOn:["task-006a"],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-26T08:10:00Z",parentTaskId:"task-006",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-006c",workspaceId:"proj-beta",title:"Add compression options",description:"Support Snappy, ZSTD, and GZIP compression for Parquet output",status:"working",branch:"feat/parquet-export/add-compression-options",latestSessionId:"sess-004",dependsOn:["task-006b"],reviewNotes:void 0,sortOrder:3,createdAt:"2026-02-26T08:15:00Z",parentTaskId:"task-006",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-006d",workspaceId:"proj-beta",title:"Write Parquet integration tests",description:"Round-trip tests: write Parquet, read back with pyarrow, verify data integrity",status:"not_started",branch:"",latestSessionId:"",dependsOn:["task-006c"],reviewNotes:void 0,sortOrder:4,createdAt:"2026-02-26T08:20:00Z",parentTaskId:"task-006",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-007",workspaceId:"proj-beta",title:"Implement incremental loads",description:"Track watermarks so pipelines only process new/changed rows",status:"working",branch:"feat/incremental",latestSessionId:"sess-004",dependsOn:[],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-26T08:30:00Z",parentTaskId:"",depth:0,childTaskIds:["task-007a","task-007b"],canDecompose:!0,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-007a",workspaceId:"proj-beta",title:"Design watermark storage",description:"Define schema for per-pipeline high-watermark tracking",status:"complete",branch:"feat/incremental/design-watermark-storage",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-26T08:35:00Z",parentTaskId:"task-007",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-007b",workspaceId:"proj-beta",title:"Implement change detection query",description:"Generate WHERE clauses from watermarks to fetch only changed rows",status:"failed",branch:"feat/incremental/implement-change-detection-query",latestSessionId:"",dependsOn:["task-007a"],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-26T08:40:00Z",parentTaskId:"task-007",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-008",workspaceId:"proj-beta",title:"Add pipeline monitoring dashboard",description:"Real-time metrics for pipeline throughput, latency, and error rates",status:"paused",branch:"feat/monitoring",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:3,createdAt:"2026-02-26T09:00:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0}],Qc=[{id:"find-001",workspaceId:"proj-alpha",taskId:"task-001",sessionId:"sess-001",category:"architecture",title:"Auth middleware is tightly coupled to Express",content:"The current auth middleware directly references Express Request/Response types. Consider extracting a framework-agnostic token verification layer so we can reuse it in the WebSocket auth path.",tags:["auth","decoupling","middleware"],createdAt:"2026-02-27T08:16:00Z"},{id:"find-002",workspaceId:"proj-alpha",taskId:"task-003",sessionId:"sess-002",category:"api",title:"Missing pagination on GET /api/users",content:"The users endpoint returns all rows without limit/offset. For datasets over 10k rows this will cause timeouts. Recommend cursor-based pagination with a default page size of 50.",tags:["api","pagination","performance"],createdAt:"2026-02-27T07:31:00Z"},{id:"find-003",workspaceId:"proj-alpha",taskId:"task-005",sessionId:"sess-003",category:"bug",title:"Race condition in session cleanup",content:"When two requests hit /api/logout concurrently, the second call throws a 500 because the session row has already been deleted. Needs an idempotent DELETE or a conditional check.",tags:["bug","concurrency","sessions"],createdAt:"2026-02-26T22:50:00Z"},{id:"find-004",workspaceId:"proj-alpha",taskId:"task-004",sessionId:"",category:"decision",title:"Chose pg-pool over knex connection pool",content:"pg-pool gives us direct control over idle timeout, max connections, and health check queries. Knex wraps pg-pool anyway and adds overhead we don't need since we write raw SQL.",tags:["database","decision","postgres"],createdAt:"2026-02-23T11:30:00Z"},{id:"find-005",workspaceId:"proj-alpha",taskId:"",sessionId:"",category:"dependency",title:"jsonwebtoken has 3 high-severity CVEs",content:"The jsonwebtoken package (v8.x) has known vulnerabilities. Consider migrating to jose which is maintained, supports ESM, and covers the same JWS/JWE surface area with zero dependencies.",tags:["security","dependency","jwt"],createdAt:"2026-02-27T08:20:00Z"},{id:"find-006",workspaceId:"proj-alpha",taskId:"task-001",sessionId:"sess-001",category:"pattern",title:"Consistent error response shape",content:"All error responses should follow the shape `{ error: string, code: string, details?: unknown }`. Currently some routes return `{ message: string }` and others return `{ error: string }`.",tags:["api","consistency","error-handling"],createdAt:"2026-02-27T08:17:00Z"},{id:"find-007",workspaceId:"proj-beta",taskId:"task-007",sessionId:"sess-004",category:"architecture",title:"Watermark storage should be pluggable",content:"The incremental load watermarks are currently stored in a local SQLite file. For production multi-worker scenarios, this needs to be backed by a shared store (Redis or Postgres).",tags:["architecture","pipeline","scalability"],createdAt:"2026-02-27T09:05:00Z"}],Kz=[{name:"anthropic",tokenType:"env_var",envVar:"ANTHROPIC_API_KEY",filePath:"",expiresAt:""},{name:"github",tokenType:"env_var",envVar:"GITHUB_TOKEN",filePath:"",expiresAt:"2026-12-31T23:59:59Z"},{name:"gcp-service-account",tokenType:"file",envVar:"",filePath:"/home/user/.config/gcloud/credentials.json",expiresAt:""}],Yz=[{id:"persona-arch",name:"Software Architect",description:"Designs system architecture, defines interfaces, and decomposes large features into implementable tasks.",systemPrompt:"You are a senior software architect. Focus on clean interfaces, separation of concerns, and scalable patterns. When decomposing work, create concrete subtasks with clear acceptance criteria.",toolConfig:JSON.stringify({allowedTools:["Read","Grep","Glob","Write","Edit"]}),runtime:"claude-code",model:"claude-sonnet-4-6",maxTurns:50,mcpServers:"[]",createdAt:"2026-02-20T10:00:00Z",updatedAt:"2026-02-20T10:00:00Z",type:"agent",script:"",allowedMcpTools:["task_create","task_update","task_list","finding_post","finding_list","knowledge_search","knowledge_create_node","session_spawn"]},{id:"persona-fe",name:"Frontend Engineer",description:"React specialist — builds UI components, writes CSS, implements routing, and creates Playwright tests.",systemPrompt:"You are a frontend engineer specializing in React, TypeScript, and modern CSS. Follow component composition patterns, use semantic HTML, and write accessible markup.",toolConfig:JSON.stringify({allowedTools:["Read","Grep","Glob","Write","Edit","Bash"]}),runtime:"claude-code",model:"claude-sonnet-4-6",maxTurns:100,mcpServers:"[]",createdAt:"2026-02-20T10:05:00Z",updatedAt:"2026-02-20T10:05:00Z",type:"agent",script:"",allowedMcpTools:[]},{id:"persona-reviewer",name:"Code Reviewer",description:"Reviews diffs for correctness, security, and style. Posts findings for issues discovered.",systemPrompt:"You are a meticulous code reviewer. Check for security vulnerabilities, performance issues, and style consistency. Post findings for anything noteworthy.",toolConfig:JSON.stringify({allowedTools:["Read","Grep","Glob"]}),runtime:"claude-code",model:"claude-sonnet-4-6",maxTurns:30,mcpServers:"[]",createdAt:"2026-02-20T10:10:00Z",updatedAt:"2026-02-20T10:10:00Z",type:"agent",script:"",allowedMcpTools:["finding_post","finding_list","knowledge_search"]},{id:"persona-tester",name:"QA Engineer",description:"Writes comprehensive test suites — unit tests, integration tests, and E2E Playwright specs.",systemPrompt:"You are a QA engineer focused on test coverage. Write tests that cover happy paths, edge cases, error scenarios, and accessibility. Use Playwright for E2E tests.",toolConfig:JSON.stringify({allowedTools:["Read","Grep","Glob","Write","Edit","Bash"]}),runtime:"claude-code",model:"claude-sonnet-4-6",maxTurns:80,mcpServers:"[]",createdAt:"2026-02-20T10:15:00Z",updatedAt:"2026-02-20T10:15:00Z",type:"agent",script:"",allowedMcpTools:[]},{id:"persona-lint",name:"Lint & Format",description:"Scripted persona — runs ESLint and Prettier on changed files, auto-fixes violations, and posts a findings summary.",systemPrompt:"",toolConfig:"{}",runtime:"genaiscript",model:"",maxTurns:1,mcpServers:"[]",createdAt:"2026-02-21T09:00:00Z",updatedAt:"2026-02-21T09:00:00Z",type:"script",script:`const files = env.files.filter(f => /\\.(ts|tsx|js)$/.test(f.filename));
645
+ This is a significant refactor. Let me start with the PoolManager class.`},{sessionId:"sess-005",eventType:"usage",timestamp:"2026-02-27T06:30:00Z",content:JSON.stringify({input_tokens:67800,output_tokens:19300,cost_millicents:38e3})},{sessionId:"sess-005",eventType:"status",timestamp:"2026-02-27T06:30:01Z",content:"suspended"}],Zz=[{id:"proj-alpha",name:"Workspace Alpha",description:"Core platform API and authentication services",repoUrl:"https://github.com/acme/alpha",linkedEnvironmentIds:["env-local-01","env-docker-01"],status:"active",workingDirectory:"",useWorktrees:!0,defaultPersonaId:"",tokenBudget:0,costBudgetMillicents:0,createdAt:"2026-01-15T10:00:00Z",updatedAt:"2026-01-15T10:00:00Z"},{id:"proj-beta",name:"Data Pipeline",description:"ETL pipelines for analytics and reporting",repoUrl:"https://github.com/acme/data-pipeline",linkedEnvironmentIds:["env-docker-01"],status:"active",workingDirectory:"",useWorktrees:!0,defaultPersonaId:"",tokenBudget:0,costBudgetMillicents:0,createdAt:"2026-02-01T14:30:00Z",updatedAt:"2026-02-01T14:30:00Z"},{id:"proj-gamma",name:"Mobile App",description:"React Native cross-platform mobile application",repoUrl:"",linkedEnvironmentIds:["env-local-01"],status:"archived",workingDirectory:"",useWorktrees:!0,defaultPersonaId:"",tokenBudget:0,costBudgetMillicents:0,createdAt:"2025-11-20T09:00:00Z",updatedAt:"2025-11-20T09:00:00Z"}],Kz=[{id:"task-001",workspaceId:"proj-alpha",title:"Implement JWT authentication",description:"Replace session-based auth with JWT tokens across all protected routes",status:"working",branch:"feat/jwt-auth",latestSessionId:"sess-001",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-25T10:00:00Z",parentTaskId:"",depth:0,childTaskIds:["task-001a","task-001b","task-001c"],canDecompose:!0,defaultPersonaId:"",workpad:JSON.stringify({status:"in_progress",summary:"Design and implement JWT-based authentication with access/refresh tokens, replacing session-based auth.",extra:{approach:"Replace express-session with JWT Bearer tokens. Access tokens expire in 24h, refresh tokens stored in DB.",files_changed:["src/middleware/auth.ts","src/routes/login.ts","src/routes/protected.ts"],decisions:["Chose jsonwebtoken over jose for consistency with existing codebase","24h access token expiry — long enough for dev sessions, short enough for security","Refresh tokens are 48-byte random hex stored in DB with user association"],blockers:"Need to verify token rotation strategy with security team before merging"}}),tokenBudget:0,costBudgetMillicents:0},{id:"task-001a",workspaceId:"proj-alpha",title:"Design token schema",description:"Define JWT payload structure, expiry, and refresh token strategy",status:"complete",branch:"feat/jwt-auth/design-token-schema",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-25T10:10:00Z",parentTaskId:"task-001",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-001b",workspaceId:"proj-alpha",title:"Implement auth middleware",description:"Build Express middleware that verifies JWT Bearer tokens",status:"working",branch:"feat/jwt-auth/implement-auth-middleware",latestSessionId:"sess-001",dependsOn:[],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-25T10:15:00Z",parentTaskId:"task-001",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-001c",workspaceId:"proj-alpha",title:"Write auth integration tests",description:"End-to-end tests for login flow, token refresh, and protected route access",status:"not_started",branch:"",latestSessionId:"",dependsOn:["task-001b"],reviewNotes:void 0,sortOrder:3,createdAt:"2026-02-25T10:20:00Z",parentTaskId:"task-001",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-002",workspaceId:"proj-alpha",title:"Add rate limiting",description:"Implement token-bucket rate limiting for public API endpoints",status:"not_started",branch:"",latestSessionId:"",dependsOn:["task-001"],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-25T10:05:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-003",workspaceId:"proj-alpha",title:"Set up OpenAPI documentation",description:"Generate Swagger docs from route decorators and serve at /api/docs",status:"paused",branch:"feat/openapi-docs",latestSessionId:"sess-002",dependsOn:[],reviewNotes:void 0,sortOrder:3,createdAt:"2026-02-24T16:00:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-004",workspaceId:"proj-alpha",title:"Database connection pooling",description:"Switch from single connection to a connection pool with health checks",status:"complete",branch:"feat/db-pool",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:4,createdAt:"2026-02-23T11:00:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-005",workspaceId:"proj-alpha",title:"Fix N+1 query in user list",description:"Use a JOIN instead of per-row lookups in GET /api/users",status:"not_started",branch:"fix/user-list-n1",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:5,createdAt:"2026-02-22T09:30:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-006",workspaceId:"proj-beta",title:"Add Parquet export support",description:"Allow pipeline outputs to be written as Parquet files for Spark consumption",status:"working",branch:"feat/parquet-export",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-26T08:00:00Z",parentTaskId:"",depth:0,childTaskIds:["task-006a","task-006b","task-006c","task-006d"],canDecompose:!0,defaultPersonaId:"",workpad:JSON.stringify({status:"in_progress",summary:"Plan for adding Parquet export support, including compression options and performance benchmarks.",extra:{approach:"Use apache-arrow npm package for Parquet write support. Map internal column types to Arrow type system.",compression:{supported:["snappy","zstd","gzip"],default:"snappy"},benchmarks:{"1M rows snappy":"2.3s","1M rows zstd":"3.1s","1M rows gzip":"4.8s"}}}),tokenBudget:0,costBudgetMillicents:0},{id:"task-006a",workspaceId:"proj-beta",title:"Define Parquet schema mapping",description:"Map internal column types to Arrow/Parquet type system",status:"complete",branch:"feat/parquet-export/define-parquet-schema-mapping",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-26T08:05:00Z",parentTaskId:"task-006",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-006b",workspaceId:"proj-beta",title:"Implement row-group writer",description:"Write buffered row groups with configurable batch size",status:"complete",branch:"feat/parquet-export/implement-row-group-writer",latestSessionId:"",dependsOn:["task-006a"],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-26T08:10:00Z",parentTaskId:"task-006",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-006c",workspaceId:"proj-beta",title:"Add compression options",description:"Support Snappy, ZSTD, and GZIP compression for Parquet output",status:"working",branch:"feat/parquet-export/add-compression-options",latestSessionId:"sess-004",dependsOn:["task-006b"],reviewNotes:void 0,sortOrder:3,createdAt:"2026-02-26T08:15:00Z",parentTaskId:"task-006",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-006d",workspaceId:"proj-beta",title:"Write Parquet integration tests",description:"Round-trip tests: write Parquet, read back with pyarrow, verify data integrity",status:"not_started",branch:"",latestSessionId:"",dependsOn:["task-006c"],reviewNotes:void 0,sortOrder:4,createdAt:"2026-02-26T08:20:00Z",parentTaskId:"task-006",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-007",workspaceId:"proj-beta",title:"Implement incremental loads",description:"Track watermarks so pipelines only process new/changed rows",status:"working",branch:"feat/incremental",latestSessionId:"sess-004",dependsOn:[],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-26T08:30:00Z",parentTaskId:"",depth:0,childTaskIds:["task-007a","task-007b"],canDecompose:!0,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-007a",workspaceId:"proj-beta",title:"Design watermark storage",description:"Define schema for per-pipeline high-watermark tracking",status:"complete",branch:"feat/incremental/design-watermark-storage",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:1,createdAt:"2026-02-26T08:35:00Z",parentTaskId:"task-007",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-007b",workspaceId:"proj-beta",title:"Implement change detection query",description:"Generate WHERE clauses from watermarks to fetch only changed rows",status:"failed",branch:"feat/incremental/implement-change-detection-query",latestSessionId:"",dependsOn:["task-007a"],reviewNotes:void 0,sortOrder:2,createdAt:"2026-02-26T08:40:00Z",parentTaskId:"task-007",depth:1,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0},{id:"task-008",workspaceId:"proj-beta",title:"Add pipeline monitoring dashboard",description:"Real-time metrics for pipeline throughput, latency, and error rates",status:"paused",branch:"feat/monitoring",latestSessionId:"",dependsOn:[],reviewNotes:void 0,sortOrder:3,createdAt:"2026-02-26T09:00:00Z",parentTaskId:"",depth:0,childTaskIds:[],canDecompose:!1,defaultPersonaId:"",workpad:"",tokenBudget:0,costBudgetMillicents:0}],Qc=[{id:"find-001",workspaceId:"proj-alpha",taskId:"task-001",sessionId:"sess-001",category:"architecture",title:"Auth middleware is tightly coupled to Express",content:"The current auth middleware directly references Express Request/Response types. Consider extracting a framework-agnostic token verification layer so we can reuse it in the WebSocket auth path.",tags:["auth","decoupling","middleware"],createdAt:"2026-02-27T08:16:00Z"},{id:"find-002",workspaceId:"proj-alpha",taskId:"task-003",sessionId:"sess-002",category:"api",title:"Missing pagination on GET /api/users",content:"The users endpoint returns all rows without limit/offset. For datasets over 10k rows this will cause timeouts. Recommend cursor-based pagination with a default page size of 50.",tags:["api","pagination","performance"],createdAt:"2026-02-27T07:31:00Z"},{id:"find-003",workspaceId:"proj-alpha",taskId:"task-005",sessionId:"sess-003",category:"bug",title:"Race condition in session cleanup",content:"When two requests hit /api/logout concurrently, the second call throws a 500 because the session row has already been deleted. Needs an idempotent DELETE or a conditional check.",tags:["bug","concurrency","sessions"],createdAt:"2026-02-26T22:50:00Z"},{id:"find-004",workspaceId:"proj-alpha",taskId:"task-004",sessionId:"",category:"decision",title:"Chose pg-pool over knex connection pool",content:"pg-pool gives us direct control over idle timeout, max connections, and health check queries. Knex wraps pg-pool anyway and adds overhead we don't need since we write raw SQL.",tags:["database","decision","postgres"],createdAt:"2026-02-23T11:30:00Z"},{id:"find-005",workspaceId:"proj-alpha",taskId:"",sessionId:"",category:"dependency",title:"jsonwebtoken has 3 high-severity CVEs",content:"The jsonwebtoken package (v8.x) has known vulnerabilities. Consider migrating to jose which is maintained, supports ESM, and covers the same JWS/JWE surface area with zero dependencies.",tags:["security","dependency","jwt"],createdAt:"2026-02-27T08:20:00Z"},{id:"find-006",workspaceId:"proj-alpha",taskId:"task-001",sessionId:"sess-001",category:"pattern",title:"Consistent error response shape",content:"All error responses should follow the shape `{ error: string, code: string, details?: unknown }`. Currently some routes return `{ message: string }` and others return `{ error: string }`.",tags:["api","consistency","error-handling"],createdAt:"2026-02-27T08:17:00Z"},{id:"find-007",workspaceId:"proj-beta",taskId:"task-007",sessionId:"sess-004",category:"architecture",title:"Watermark storage should be pluggable",content:"The incremental load watermarks are currently stored in a local SQLite file. For production multi-worker scenarios, this needs to be backed by a shared store (Redis or Postgres).",tags:["architecture","pipeline","scalability"],createdAt:"2026-02-27T09:05:00Z"}],Yz=[{name:"anthropic",tokenType:"env_var",envVar:"ANTHROPIC_API_KEY",filePath:"",expiresAt:""},{name:"github",tokenType:"env_var",envVar:"GITHUB_TOKEN",filePath:"",expiresAt:"2026-12-31T23:59:59Z"},{name:"gcp-service-account",tokenType:"file",envVar:"",filePath:"/home/user/.config/gcloud/credentials.json",expiresAt:""}],Jz=[{id:"persona-arch",name:"Software Architect",description:"Designs system architecture, defines interfaces, and decomposes large features into implementable tasks.",systemPrompt:"You are a senior software architect. Focus on clean interfaces, separation of concerns, and scalable patterns. When decomposing work, create concrete subtasks with clear acceptance criteria.",toolConfig:JSON.stringify({allowedTools:["Read","Grep","Glob","Write","Edit"]}),runtime:"claude-code",model:"claude-sonnet-4-6",maxTurns:50,mcpServers:"[]",createdAt:"2026-02-20T10:00:00Z",updatedAt:"2026-02-20T10:00:00Z",type:"agent",script:"",allowedMcpTools:["task_create","task_update","task_list","finding_post","finding_list","knowledge_search","knowledge_create_node","session_spawn"]},{id:"persona-fe",name:"Frontend Engineer",description:"React specialist — builds UI components, writes CSS, implements routing, and creates Playwright tests.",systemPrompt:"You are a frontend engineer specializing in React, TypeScript, and modern CSS. Follow component composition patterns, use semantic HTML, and write accessible markup.",toolConfig:JSON.stringify({allowedTools:["Read","Grep","Glob","Write","Edit","Bash"]}),runtime:"claude-code",model:"claude-sonnet-4-6",maxTurns:100,mcpServers:"[]",createdAt:"2026-02-20T10:05:00Z",updatedAt:"2026-02-20T10:05:00Z",type:"agent",script:"",allowedMcpTools:[]},{id:"persona-reviewer",name:"Code Reviewer",description:"Reviews diffs for correctness, security, and style. Posts findings for issues discovered.",systemPrompt:"You are a meticulous code reviewer. Check for security vulnerabilities, performance issues, and style consistency. Post findings for anything noteworthy.",toolConfig:JSON.stringify({allowedTools:["Read","Grep","Glob"]}),runtime:"claude-code",model:"claude-sonnet-4-6",maxTurns:30,mcpServers:"[]",createdAt:"2026-02-20T10:10:00Z",updatedAt:"2026-02-20T10:10:00Z",type:"agent",script:"",allowedMcpTools:["finding_post","finding_list","knowledge_search"]},{id:"persona-tester",name:"QA Engineer",description:"Writes comprehensive test suites — unit tests, integration tests, and E2E Playwright specs.",systemPrompt:"You are a QA engineer focused on test coverage. Write tests that cover happy paths, edge cases, error scenarios, and accessibility. Use Playwright for E2E tests.",toolConfig:JSON.stringify({allowedTools:["Read","Grep","Glob","Write","Edit","Bash"]}),runtime:"claude-code",model:"claude-sonnet-4-6",maxTurns:80,mcpServers:"[]",createdAt:"2026-02-20T10:15:00Z",updatedAt:"2026-02-20T10:15:00Z",type:"agent",script:"",allowedMcpTools:[]},{id:"persona-lint",name:"Lint & Format",description:"Scripted persona — runs ESLint and Prettier on changed files, auto-fixes violations, and posts a findings summary.",systemPrompt:"",toolConfig:"{}",runtime:"genaiscript",model:"",maxTurns:1,mcpServers:"[]",createdAt:"2026-02-21T09:00:00Z",updatedAt:"2026-02-21T09:00:00Z",type:"script",script:`const files = env.files.filter(f => /\\.(ts|tsx|js)$/.test(f.filename));
646
646
  for (const f of files) {
647
647
  const eslintResult = await host.exec("npx", ["eslint", "--fix", f.filename]);
648
648
  if (eslintResult.exitCode !== 0) {
@@ -653,7 +653,7 @@ for (const f of files) {
653
653
  env.findings.push({ category: "format", title: \`Prettier issues in \${f.filename}\`, content: prettierResult.stderr });
654
654
  }
655
655
  }
656
- env.findings.push({ category: "summary", title: "Lint & format pass complete", content: \`Ran ESLint and Prettier on \${files.length} files\` });`,allowedMcpTools:[]}],Jz={"task-001b":[{id:"sess-001-prev",environmentId:"env-local-01",runtime:"claude-code",status:"stopped",endReason:"interrupted",prompt:"Implement auth middleware",startedAt:"2026-02-26T14:00:00Z"},{id:"sess-001",environmentId:"env-local-01",runtime:"claude-code",status:"running",prompt:"Implement auth middleware",startedAt:"2026-02-27T08:15:00Z"}],"task-006c":[{id:"sess-004",environmentId:"env-docker-01",runtime:"claude-code",status:"running",prompt:"Add compression options",startedAt:"2026-02-27T09:00:00Z"}]};function Le(t){return new Date(Date.now()+t).toISOString()}const p_=[{label:"API Refactor",pauseForInput:!1,steps:[{delayMs:0,event:{eventType:"status",timestamp:Le(0),content:"running"}},{delayMs:600,event:{eventType:"text",timestamp:Le(600),content:"I'll start by finding all API route files that need refactoring."}},{delayMs:1200,event:{eventType:"tool_use",timestamp:Le(1200),content:JSON.stringify({tool:"Glob",args:{pattern:"src/routes/**/*.ts"}}),raw:JSON.stringify({id:"stream-a-01",type:"tool_use"})}},{delayMs:1600,event:{eventType:"tool_result",timestamp:Le(1600),content:`src/routes/users.ts
656
+ env.findings.push({ category: "summary", title: "Lint & format pass complete", content: \`Ran ESLint and Prettier on \${files.length} files\` });`,allowedMcpTools:[]}],Wz={"task-001b":[{id:"sess-001-prev",environmentId:"env-local-01",runtime:"claude-code",status:"stopped",endReason:"interrupted",prompt:"Implement auth middleware",startedAt:"2026-02-26T14:00:00Z"},{id:"sess-001",environmentId:"env-local-01",runtime:"claude-code",status:"running",prompt:"Implement auth middleware",startedAt:"2026-02-27T08:15:00Z"}],"task-006c":[{id:"sess-004",environmentId:"env-docker-01",runtime:"claude-code",status:"running",prompt:"Add compression options",startedAt:"2026-02-27T09:00:00Z"}]};function Le(t){return new Date(Date.now()+t).toISOString()}const p_=[{label:"API Refactor",pauseForInput:!1,steps:[{delayMs:0,event:{eventType:"status",timestamp:Le(0),content:"running"}},{delayMs:600,event:{eventType:"text",timestamp:Le(600),content:"I'll start by finding all API route files that need refactoring."}},{delayMs:1200,event:{eventType:"tool_use",timestamp:Le(1200),content:JSON.stringify({tool:"Glob",args:{pattern:"src/routes/**/*.ts"}}),raw:JSON.stringify({id:"stream-a-01",type:"tool_use"})}},{delayMs:1600,event:{eventType:"tool_result",timestamp:Le(1600),content:`src/routes/users.ts
657
657
  src/routes/auth.ts
658
658
  src/routes/billing.ts
659
659
  src/routes/admin.ts
@@ -737,18 +737,18 @@ export function verifyToken(req: Request, res: Response, next: NextFunction): vo
737
737
 
738
738
  Tests: 3 passed, 3 total
739
739
  Time: 1.234s`,raw:JSON.stringify({tool_use_id:"tool-mock-003",is_error:!1})}},{delayMs:6400,event:{eventType:"tool_use",timestamp:Le(6400),content:JSON.stringify({tool:"Grep",args:{pattern:"decoded\\.exp",path:"src/"}}),raw:JSON.stringify({id:"tool-mock-004"})}},{delayMs:7e3,event:{eventType:"tool_result",timestamp:Le(7e3),content:`src/middleware/auth.ts:14: if (decoded.exp < Date.now() / 1000) {
740
- src/utils/token-refresh.ts:28: const remaining = decoded.exp - Date.now() / 1000;`,raw:JSON.stringify({tool_use_id:"tool-mock-004",is_error:!1})}},{delayMs:7800,event:{eventType:"text",timestamp:Le(7800),content:"Fixed. The token expiry comparison was inverted — `decoded.exp > Date.now()` should have been `<` (a token is expired when its `exp` is in the past). The other occurrence in `token-refresh.ts` uses subtraction (not comparison), so it was already correct. All 3 auth tests pass."}},{delayMs:8400,event:{eventType:"usage",timestamp:Le(8400),content:JSON.stringify({input_tokens:42600,output_tokens:1850,cost_millicents:12e3})}},{delayMs:8800,event:{eventType:"status",timestamp:Le(8800),content:"completed"}}]}],Bn={onConnect:async()=>{},onDisconnect:()=>{},handleEvent:()=>!1},m_=400;function Wz({children:t}){const[s,o]=y.useState(Vz),[r,c]=y.useState(Gz),[d,u]=y.useState(qz),[p,m]=y.useState(void 0),[g,v]=y.useState(Fz),[_,b]=y.useState(""),[x,k]=y.useState(Zz),[j,w]=y.useState(Qc),[T,C]=y.useState(void 0),A=!1,[L,E]=y.useState(Kz),[O,z]=y.useState({claude:"off",github:"off",copilot:"off",codex:"off",goose:"off"}),[D,H]=y.useState(Yz),[Y,U]=y.useState([]),[X]=y.useState(Jz),[ge,W]=y.useState(""),[le,B]=y.useState(Rs),[R,se]=y.useState(Fa),[oe,G]=y.useState(void 0),[pe,de]=y.useState(void 0),[xe,Se]=y.useState(""),Pe=y.useRef(void 0),gt=y.useRef(0),_e=y.useRef(0),Ie=y.useRef(new Set),Mt=y.useRef(new Map),hn=y.useRef(x);hn.current=x;const ce=y.useRef(new Map),Ue=y.useRef(new Map),ut=y.useCallback(P=>(gt.current+=1,`mock-${P}-${String(gt.current).padStart(3,"0")}`),[]),te=y.useCallback(()=>{const P=p_[_e.current%p_.length];return _e.current+=1,P},[]),re=y.useCallback((P,ee,ue)=>{const me=setTimeout(()=>{var ye;Ie.current.delete(me),ue&&((ye=Mt.current.get(ue))==null||ye.delete(me)),P()},ee);Ie.current.add(me),ue&&(Mt.current.has(ue)||Mt.current.set(ue,new Set),Mt.current.get(ue).add(me))},[]),ve=y.useCallback(P=>{const ee=Mt.current.get(P);ee&&(ee.forEach(ue=>{clearTimeout(ue),Ie.current.delete(ue)}),Mt.current.delete(P))},[]),ft=y.useCallback((P,ee,ue)=>{c(me=>me.map(ye=>ye.id===P?{...ye,status:ee,...ue!==void 0?{endReason:ue}:{}}:ye))},[]),Me=y.useCallback(P=>{u(ee=>[...ee,P])},[]),rn=y.useCallback((P,ee,ue)=>{ee.forEach((me,ye)=>{re(()=>{const Ze={sessionId:P,...me.event,timestamp:new Date().toISOString()};if(Me(Ze),me.event.eventType==="status"){const Te=fk(me.event.content),Oe=pk(me.event.content);ft(P,Te,Oe)}ye===ee.length-1&&ue&&ue()},me.delayMs,P)})},[re,Me,ft]),ga=y.useCallback(async(P,ee,ue,me)=>{console.log("[MockGrackle] spawn",{environmentId:P,prompt:ee,runtime:me});const ye=ut("sess"),Ze={id:ye,environmentId:P,runtime:me||"claude-code",status:"running",prompt:ee,startedAt:new Date().toISOString()};c(Oe=>[...Oe,Ze]),m(ye);const Te=te();if(console.log(`[MockGrackle] Playing scenario: ${Te.label}`),Te.pauseForInput){const Oe=Te.pauseAfterStep??Te.steps.length-1,Qe=Te.steps.slice(0,Oe+1),_t=Qe.length>0?Qe[Qe.length-1].delayMs:0;rn(ye,Qe),re(()=>{ft(ye,"idle"),Me({sessionId:ye,eventType:"status",timestamp:new Date().toISOString(),content:"idle"})},_t+m_,ye),Te.resumeSteps&&ce.current.set(ye,Te.resumeSteps)}else rn(ye,Te.steps)},[ut,te,rn,re,ft,Me]),us=y.useCallback(async P=>{console.log("[MockGrackle] kill",P),ve(P),ce.current.delete(P),ft(P,"stopped","killed"),Me({sessionId:P,eventType:"status",timestamp:new Date().toISOString(),content:"killed"}),k(ee=>ee.map(ue=>ue.latestSessionId===P&&ue.status==="working"?{...ue,status:"not_started"}:ue))},[ve,ft,Me]),ti=y.useCallback(async P=>{console.log("[MockGrackle] stopGraceful",P),ve(P),ce.current.delete(P),ft(P,"stopped","terminated"),Me({sessionId:P,eventType:"status",timestamp:new Date().toISOString(),content:"terminated"}),k(ee=>ee.map(ue=>ue.latestSessionId===P&&ue.status==="working"?{...ue,status:"not_started"}:ue))},[ve,ft,Me]),va=y.useCallback(()=>{console.log("[MockGrackle] refresh")},[]),en=y.useCallback(async P=>{console.log("[MockGrackle] loadSessionEvents",P)},[]),Hi=y.useCallback(()=>{console.log("[MockGrackle] clearEvents"),u([])},[]),ya=y.useCallback(async(P,ee,ue,me,ye,Ze,Te,Oe,Qe)=>{console.log("[MockGrackle] createWorkspace",{name:P,description:ee});const _t={id:ut("proj"),name:P,description:ee||"",repoUrl:ue||"",linkedEnvironmentIds:me?[me]:[],status:"active",workingDirectory:Te||"",useWorktrees:Ze??!0,defaultPersonaId:ye||"",tokenBudget:0,costBudgetMillicents:0,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};v(Ge=>[...Ge,_t]),Oe&&Oe()},[ut]),ni=y.useCallback(async P=>{console.log("[MockGrackle] archiveWorkspace",P),v(ee=>ee.map(ue=>ue.id===P?{...ue,status:"archived"}:ue))},[]),js=y.useCallback(async P=>{console.log("[MockGrackle] loadTasks",P)},[]),Pi=y.useCallback(async(P,ee,ue,me,ye,Ze,Te,Oe,Qe)=>{console.log("[MockGrackle] createTask",{workspaceId:P,title:ee,parentTaskId:ye}),k(_t=>{const et=_t.filter(zs=>zs.workspaceId===P).reduce((zs,Jo)=>Math.max(zs,Jo.sortOrder),0),pt=ye?_t.find(zs=>zs.id===ye):void 0;if(ye&&!pt)return console.warn("[MockGrackle] Parent task not found:",ye),_t;if(pt&&!pt.canDecompose)return console.warn("[MockGrackle] Parent task does not have decomposition rights:",ye),_t;const kt=pt?pt.depth+1:0,ws={id:ut("task"),workspaceId:P,title:ee,description:ue||"",status:"not_started",branch:"",latestSessionId:"",dependsOn:me||[],reviewNotes:void 0,sortOrder:et+1,createdAt:new Date().toISOString(),parentTaskId:ye||"",depth:kt,childTaskIds:[],canDecompose:Te??!ye,defaultPersonaId:Ze||"",workpad:"",tokenBudget:0,costBudgetMillicents:0};return[..._t,ws]}),Oe&&Oe()},[ut]),Gn=y.useCallback(async(P,ee,ue,me)=>{var _t;console.log("[MockGrackle] startTask",{taskId:P});const ye=hn.current.find(Ge=>Ge.id===P),Ze=(ye==null?void 0:ye.title)??"",Te=ut("sess"),Oe={id:Te,environmentId:"env-local-01",runtime:"claude-code",status:"running",prompt:Ze||P,startedAt:new Date().toISOString()};c(Ge=>[...Ge,Oe]),k(Ge=>Ge.map(et=>et.id===P?{...et,status:"working",latestSessionId:Te,branch:`mock/${P.slice(0,8)}`}:et));const Qe=te();if(console.log(`[MockGrackle] Playing task scenario: ${Qe.label}`),Qe.pauseForInput){const Ge=Qe.pauseAfterStep??Qe.steps.length-1,et=Qe.steps.slice(0,Ge+1),pt=et.length>0?et[et.length-1].delayMs:0;if(rn(Te,et),re(()=>{ft(Te,"idle"),Me({sessionId:Te,eventType:"status",timestamp:new Date().toISOString(),content:"idle"})},pt+m_,Te),Qe.resumeSteps){const kt=[...Qe.resumeSteps];ce.current.set(Te,kt);const ws=kt.reduce((zs,Jo)=>Math.max(zs,Jo.delayMs),0);Ue.current.set(Te,{taskId:P,delayAfterResume:ws+200})}}else{const Ge=Qe.steps.length>0?Qe.steps[Qe.steps.length-1].delayMs:0;rn(Te,Qe.steps);const et=(_t=Qe.steps[Qe.steps.length-1])==null?void 0:_t.event.content;re(()=>{et==="completed"?k(pt=>pt.map(kt=>kt.id===P&&kt.status==="working"?{...kt,status:"paused"}:kt)):et==="failed"&&k(pt=>pt.map(kt=>kt.id===P&&kt.status==="working"?{...kt,status:"failed"}:kt))},Ge+100,Te)}},[ut,te,rn,re,ft,Me]),Ee=y.useCallback(async(P,ee)=>{console.log("[MockGrackle] sendInput",{sessionId:P,text:ee}),Me({sessionId:P,eventType:"output",timestamp:new Date().toISOString(),content:`User input: ${ee}`}),ft(P,"running"),Me({sessionId:P,eventType:"status",timestamp:new Date().toISOString(),content:"running"});const ue=ce.current.get(P);if(ue)ce.current.delete(P),rn(P,ue);else{const ye=[{delayMs:500,event:{eventType:"output",timestamp:new Date().toISOString(),content:"I received your input, continuing..."}},{delayMs:1500,event:{eventType:"status",timestamp:new Date().toISOString(),content:"completed"}}];rn(P,ye)}const me=Ue.current.get(P);me&&(Ue.current.delete(P),re(()=>{k(ye=>ye.map(Ze=>Ze.id===me.taskId&&Ze.status==="working"?{...Ze,status:"paused"}:Ze))},me.delayAfterResume,P))},[Me,ft,rn,re]),Ve=y.useCallback(async P=>{console.log("[MockGrackle] completeTask",P),k(ee=>ee.map(ue=>ue.id===P?{...ue,status:"complete"}:ue))},[]),tn=y.useCallback(async P=>{console.log("[MockGrackle] resumeTask",P)},[]),Ct=y.useCallback(async(P,ee,ue,me,ye)=>{console.log("[MockGrackle] updateTask",{taskId:P,title:ee}),k(Ze=>Ze.map(Te=>Te.id===P?{...Te,title:ee.trim()||Te.title,description:ue,dependsOn:me,...ye!==void 0?{defaultPersonaId:ye}:{}}:Te))},[]),yn=y.useCallback(async P=>{console.log("[MockGrackle] deleteTask",P),k(ee=>ee.filter(ue=>ue.id!==P))},[]),nn=y.useCallback(async P=>{console.log("[MockGrackle] loadFindings",P),w(Qc.filter(ee=>ee.workspaceId===P))},[]),Ui=y.useCallback(async()=>{console.log("[MockGrackle] loadAllFindings"),w([...Qc])},[]),Vi=y.useCallback(async P=>{console.log("[MockGrackle] loadFinding",P);const ee=Qc.find(ue=>ue.id===P);C(ee)},[]),Gi=y.useCallback(async(P,ee,ue,me,ye)=>{console.log("[MockGrackle] postFinding",{workspaceId:P,title:ee});const Ze={id:ut("find"),workspaceId:P,taskId:"",sessionId:"",category:me||"general",title:ee,content:ue,tags:ye||[],createdAt:new Date().toISOString()};w(Te=>[...Te,Ze])},[ut]),si=y.useCallback(async()=>{console.log("[MockGrackle] loadEnvironments")},[]),ai=y.useCallback(async(P,ee,ue)=>{console.log("[MockGrackle] addEnvironment",{displayName:P,adapterType:ee,adapterConfig:ue})},[]),ii=y.useCallback(async(P,ee)=>{console.log("[MockGrackle] updateEnvironment",{environmentId:P,...ee}),o(ue=>ue.map(me=>me.id!==P?me:{...me,...ee.displayName!==void 0?{displayName:ee.displayName}:{},...ee.adapterConfig!==void 0?{adapterConfig:JSON.stringify(ee.adapterConfig)}:{}}))},[]),Ts=y.useCallback(async()=>{console.log("[MockGrackle] loadTokens")},[]),oi=y.useCallback(async(P,ee,ue,me,ye)=>{console.log("[MockGrackle] setToken",{name:P,tokenType:ue}),E(Ze=>[...Ze.filter(Oe=>Oe.name!==P),{name:P,tokenType:ue,envVar:me,filePath:ye,expiresAt:""}])},[]),ba=y.useCallback(async P=>{console.log("[MockGrackle] deleteToken",P),E(ee=>ee.filter(ue=>ue.name!==P))},[]),jl=y.useCallback(async P=>{console.log("[MockGrackle] updateCredentialProviders",P),z(P)},[]);y.useEffect(()=>()=>{Ie.current.forEach(clearTimeout),Ie.current.clear()},[]);const Tl=y.useMemo(()=>({connectionStatus:"connected",environments:{environments:s,environmentsLoading:!1,provisionStatus:{},operationError:"",clearOperationError:()=>{},loadEnvironments:si,addEnvironment:ai,updateEnvironment:ii,provisionEnvironment:async(P,ee)=>{},stopEnvironment:async()=>{},removeEnvironment:async()=>{},domainHook:Bn},sessions:{sessions:r,sessionsLoading:!1,events:d,eventsDropped:0,lastSpawnedId:p,taskSessions:X,spawn:ga,sendInput:Ee,kill:us,stopGraceful:ti,loadSessionEvents:en,clearEvents:Hi,loadTaskSessions:async P=>{console.log("[MockGrackle] loadTaskSessions",P)},domainHook:Bn},workspaces:{workspaces:g,workspacesLoading:!1,workspaceCreating:!1,loadWorkspaces:async()=>{console.log("[MockGrackle] loadWorkspaces")},createWorkspace:ya,archiveWorkspace:ni,updateWorkspace:async(P,ee)=>{console.log("[MockGrackle] updateWorkspace",{workspaceId:P,...ee}),v(ue=>ue.map(me=>me.id!==P?me:{...me,...ee.name!==void 0?{name:ee.name}:{},...ee.description!==void 0?{description:ee.description}:{},...ee.repoUrl!==void 0?{repoUrl:ee.repoUrl}:{},...ee.environmentId!==void 0?{environmentId:ee.environmentId}:{},...ee.workingDirectory!==void 0?{workingDirectory:ee.workingDirectory}:{},...ee.useWorktrees!==void 0?{useWorktrees:ee.useWorktrees}:{},...ee.defaultPersonaId!==void 0?{defaultPersonaId:ee.defaultPersonaId}:{},updatedAt:new Date().toISOString()}))},linkEnvironment:async(P,ee)=>{if(console.log("[MockGrackle] linkEnvironment",{workspaceId:P,environmentId:ee}),ee==="error-env"){b("Failed to link environment");return}b(""),v(ue=>ue.map(me=>me.id!==P||me.linkedEnvironmentIds.includes(ee)?me:{...me,linkedEnvironmentIds:[...me.linkedEnvironmentIds,ee]}))},unlinkEnvironment:async(P,ee)=>{if(console.log("[MockGrackle] unlinkEnvironment",{workspaceId:P,environmentId:ee}),ee==="error-env"){b("Failed to unlink environment");return}b(""),v(ue=>ue.map(me=>me.id!==P?me:{...me,linkedEnvironmentIds:me.linkedEnvironmentIds.filter(ye=>ye!==ee)}))},linkOperationError:_,clearLinkOperationError:()=>{b("")},domainHook:Bn},tasks:{tasks:x,tasksLoading:!1,taskStartingId:void 0,loadTasks:js,loadAllTasks:async()=>{console.log("[MockGrackle] loadAllTasks")},createTask:Pi,startTask:Gn,stopTask:async P=>{console.log("[MockGrackle] stopTask",{taskId:P}),await Ve(P)},completeTask:Ve,resumeTask:tn,updateTask:Ct,deleteTask:yn,domainHook:Bn},findings:{findings:j,selectedFinding:T,findingLoading:A,findingsLoading:!1,loadFindings:nn,loadAllFindings:Ui,loadFinding:Vi,postFinding:Gi,domainHook:Bn},tokens:{tokens:L,tokensLoading:!1,loadTokens:Ts,setToken:oi,deleteToken:ba,domainHook:Bn},credentials:{credentialProviders:O,credentialsLoading:!1,updateCredentialProviders:jl,domainHook:Bn},codespaces:{codespaces:[],codespaceError:"",codespaceListError:"",codespaceCreating:!1,listCodespaces:async()=>{},createCodespace:async()=>{},domainHook:Bn},dockerContainers:{dockerContainers:[],dockerContainersError:"",listDockerContainers:async()=>{},domainHook:Bn},personas:{personas:D,personasLoading:!1,createPersona:async(P,ee,ue,me,ye,Ze,Te,Oe,Qe)=>{console.log("[MockGrackle] createPersona",{name:P});const _t={id:`mock-persona-${Date.now()}`,name:P,description:ee,systemPrompt:ue,toolConfig:"{}",runtime:me??"claude-code",model:ye||"",maxTurns:Ze||0,mcpServers:"[]",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),type:Te||"agent",script:Oe||"",allowedMcpTools:Qe||[]};return H(Ge=>[...Ge,_t]),_t},updatePersona:async(P,ee,ue,me,ye,Ze,Te,Oe,Qe,_t)=>{console.log("[MockGrackle] updatePersona",{personaId:P,name:ee});const Ge=D.find(kt=>kt.id===P);if(!Ge)throw new Error(`Persona not found: ${P}`);const et=new Date().toISOString(),pt={...Ge,...ee!==void 0?{name:ee}:{},...ue!==void 0?{description:ue}:{},...me!==void 0?{systemPrompt:me}:{},...ye!==void 0?{runtime:ye}:{},...Ze!==void 0?{model:Ze}:{},...Te!==void 0?{maxTurns:Te}:{},...Oe!==void 0?{type:Oe}:{},...Qe!==void 0?{script:Qe}:{},..._t!==void 0?{allowedMcpTools:_t}:{},updatedAt:et};return H(kt=>kt.map(ws=>ws.id===P?pt:ws)),pt},deletePersona:async P=>{console.log("[MockGrackle] deletePersona",P),H(ee=>ee.filter(ue=>ue.id!==P))},domainHook:Bn},schedules:{schedules:Y,schedulesLoading:!1,createSchedule:async(P,ee,ue,me,ye)=>{console.log("[MockGrackle] createSchedule",{title:P});const Ze={id:`mock-schedule-${Date.now()}`,title:P,description:ee,scheduleExpression:ue,personaId:me,workspaceId:ye??"",parentTaskId:"",enabled:!0,lastRunAt:"",nextRunAt:new Date(Date.now()+6e4).toISOString(),runCount:0,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return U(Te=>[...Te,Ze]),Ze},updateSchedule:async(P,ee)=>{console.log("[MockGrackle] updateSchedule",{scheduleId:P,fields:ee});let ue;if(U(me=>me.map(ye=>ye.id!==P?ye:(ue={...ye,...ee,updatedAt:new Date().toISOString()},ue))),!ue)throw new Error(`Schedule not found: ${P}`);return ue},deleteSchedule:async P=>{console.log("[MockGrackle] deleteSchedule",P),U(ee=>ee.filter(ue=>ue.id!==P))},domainHook:Bn},streams:{streams:[],streamsLoading:!1,streamsLoadedOnce:!0,streamsLoadError:!1,loadStreams:async()=>{},domainHook:Bn},knowledge:{graphData:{nodes:le,links:R},selectedNode:oe,loading:!1,selectedId:pe,searchQuery:xe,search:async P=>{if(console.log("[MockGrackle] knowledge.search",P),!P.trim()){Se(P);return}Se(P);const ee=Pe.current,ue=ee?Rs.filter(Te=>!Te.workspaceId||Te.workspaceId===ee):Rs,me=P.toLowerCase(),ye=ue.filter(Te=>{var Oe,Qe,_t;return Te.label.toLowerCase().includes(me)||((Oe=Te.content)==null?void 0:Oe.toLowerCase().includes(me))||((Qe=Te.tags)==null?void 0:Qe.some(Ge=>Ge.toLowerCase().includes(me)))||((_t=Te.category)==null?void 0:_t.toLowerCase().includes(me))});B(ye);const Ze=new Set(ye.map(Te=>Te.id));se(Fa.filter(Te=>Ze.has(Te.source)&&Ze.has(Te.target))),de(void 0),G(void 0)},clearSearch:()=>{console.log("[MockGrackle] knowledge.clearSearch"),Se("");const P=Pe.current,ee=P?Rs.filter(me=>!me.workspaceId||me.workspaceId===P):Rs;B(ee);const ue=new Set(ee.map(me=>me.id));se(Fa.filter(me=>ue.has(me.source)&&ue.has(me.target)))},selectNode:async P=>{console.log("[MockGrackle] knowledge.selectNode",P),de(P);const ee=P in f_?f_[P]:void 0;if(ee)G(ee);else{const ue=Rs.find(me=>me.id===P);if(ue){const me=Fa.filter(ye=>ye.source===P||ye.target===P).map(ye=>({fromId:ye.source,toId:ye.target,type:ye.type}));G({node:ue,edges:me})}}},clearSelection:()=>{console.log("[MockGrackle] knowledge.clearSelection"),de(void 0),G(void 0)},expandNode:async P=>{console.log("[MockGrackle] knowledge.expandNode",P),B(ee=>{const ue=new Set(ee.map(Oe=>Oe.id)),me=Fa.filter(Oe=>Oe.source===P||Oe.target===P),ye=new Set;for(const Oe of me)ue.has(Oe.source)||ye.add(Oe.source),ue.has(Oe.target)||ye.add(Oe.target);if(ye.size===0)return ee;const Ze=Rs.filter(Oe=>ye.has(Oe.id)),Te=new Set([...ue,...ye]);return se(Oe=>{const Qe=new Set(Oe.map(Ge=>`${Ge.source}|${Ge.target}|${Ge.type}`)),_t=Fa.filter(Ge=>Te.has(Ge.source)&&Te.has(Ge.target)&&!Qe.has(`${Ge.source}|${Ge.target}|${Ge.type}`));return _t.length>0?[...Oe,..._t]:Oe}),[...ee,...Ze]})},loadRecent:async P=>{if(console.log("[MockGrackle] knowledge.loadRecent",P),Pe.current=P,P){const ee=Rs.filter(me=>!me.workspaceId||me.workspaceId===P);B(ee);const ue=new Set(ee.map(me=>me.id));se(Fa.filter(me=>ue.has(me.source)&&ue.has(me.target)))}else B(Rs),se(Fa);Se("")},handleEvent:()=>!1,domainHook:Bn},githubAccounts:{githubAccounts:[],githubAccountsLoading:!1,loadGitHubAccounts:async()=>{console.log("[MockGrackle] loadGitHubAccounts")},addGitHubAccount:async(P,ee,ue,me)=>{console.log("[MockGrackle] addGitHubAccount",P)},updateGitHubAccount:async(P,ee)=>{console.log("[MockGrackle] updateGitHubAccount",P,ee)},removeGitHubAccount:async P=>{console.log("[MockGrackle] removeGitHubAccount",P)},importGitHubAccounts:async()=>(console.log("[MockGrackle] importGitHubAccounts"),{imported:0,usernames:[]})},plugins:{plugins:[{name:"core",description:"Core infrastructure",enabled:!0,required:!0,loaded:!0},{name:"orchestration",description:"Task orchestration",enabled:!0,required:!1,loaded:!0},{name:"scheduling",description:"Scheduled triggers",enabled:!0,required:!1,loaded:!0},{name:"knowledge",description:"Knowledge graph",enabled:!1,required:!1,loaded:!1}],pluginsLoading:!1,loadPlugins:async()=>{console.log("[MockGrackle] loadPlugins")},setPluginEnabled:async(P,ee)=>{console.log("[MockGrackle] setPluginEnabled",P,ee)}},appDefaultPersonaId:ge,setAppDefaultPersonaId:async P=>{console.log("[MockGrackle] setAppDefaultPersonaId",P),W(P)},onboardingCompleted:!0,completeOnboarding:async()=>{console.log("[MockGrackle] completeOnboarding")},usageCache:{"workspace:proj-alpha":{inputTokens:214500,outputTokens:44850,costMillicents:112e3,sessionCount:4},"workspace:proj-beta":{inputTokens:86700,outputTokens:23800,costMillicents:48e3,sessionCount:3},"task:task-001":{inputTokens:126800,outputTokens:20850,costMillicents:63e3,sessionCount:2},"task:task-006":{inputTokens:18900,outputTokens:4500,costMillicents:1e4,sessionCount:1},"task_tree:task-001":{inputTokens:126800,outputTokens:20850,costMillicents:63e3,sessionCount:2},"task_tree:task-006":{inputTokens:18900,outputTokens:4500,costMillicents:1e4,sessionCount:1}},loadUsage:async(P,ee)=>{console.log(`[MockGrackle] loadUsage(${P}, ${ee})`)},refresh:va}),[s,r,d,p,X,g,_,x,j,T,L,O,D,Y,ge,le,R,oe,pe,xe,ga,Ee,us,ti,en,Hi,ya,ni,js,Pi,Gn,Ve,tn,Ct,yn,nn,Ui,Vi,Gi,si,ai,ii,Ts,oi,ba,jl,va]);return a.jsx(bh.Provider,{value:Tl,children:t})}const gk=3e3,Xz=gk;function Qz(t){const[s,o]=y.useState("connecting"),r=y.useRef(t.onSessionEvent);r.current=t.onSessionEvent;const c=y.useRef(t.onDomainEvent);c.current=t.onDomainEvent;const d=y.useRef(t.onConnect);d.current=t.onConnect;const u=y.useRef(t.onDisconnect);return u.current=t.onDisconnect,y.useEffect(()=>{let p=!1,m,g;async function v(){var x,k;if(p)return;Promise.resolve((x=d.current)==null?void 0:x.call(d)).catch(()=>{});let _=!1;const b=()=>{!_&&!p&&(_=!0,o("connected"))};g=setTimeout(b,Xz);try{const j=$e.streamEvents({});for await(const w of j){if(b(),p)break;const T=w.event;if(T.case==="sessionEvent"){const C=T.value;r.current({sessionId:C.sessionId,type:C.type,timestamp:C.timestamp,content:C.content,raw:C.raw})}else if(T.case==="domainEvent"){const C=T.value;c.current({id:C.id,type:C.type,timestamp:C.timestamp,payloadJson:C.payloadJson})}}}catch(j){if(clearTimeout(g),j instanceof da&&j.code===M_.Unauthenticated){window.location.href=ZN;return}}clearTimeout(g),p||(o("connecting"),(k=u.current)==null||k.call(u),m=setTimeout(()=>{v().catch(()=>{})},gk))}return v().catch(()=>{}),()=>{p=!0,clearTimeout(m),clearTimeout(g)}},[]),{connectionStatus:s}}const wm=["core","orchestration","scheduling"],vk=y.createContext({pluginNames:[...wm],loading:!1,error:void 0});function eH({children:t}){const[s,o]=y.useState([...wm]),[r,c]=y.useState(!0),[d,u]=y.useState(void 0);return y.useEffect(()=>{let p=!1;return fetch("/api/manifest").then(async m=>{if(!m.ok)throw new Error(`Manifest fetch returned ${m.status}`);return m.json()}).then(m=>{p||(o(m.plugins.map(g=>g.name)),c(!1))}).catch(m=>{p||(o([...wm]),u(m instanceof Error?m:new Error(String(m))),c(!1))}),()=>{p=!0}},[]),a.jsx(vk.Provider,{value:{pluginNames:s,loading:r,error:d},children:t})}function Sh(){return y.useContext(vk)}const tH=new Set(["dashboard","chat","environments","settings"]),nH=new Set(["tasks","findings"]),sH=new Set(["knowledge"]),yk={core:{navItems:ld.filter(t=>tH.has(t.view)),domainHookKeys:["environments","sessions","workspaces","tokens","credentials","codespaces","dockerContainers","streams","plugins"]},orchestration:{navItems:ld.filter(t=>nH.has(t.view)),domainHookKeys:["tasks","findings","personas","notifications"]},scheduling:{navItems:[],domainHookKeys:["schedules"]},knowledge:{navItems:ld.filter(t=>sH.has(t.view)),domainHookKeys:["knowledge"]}};function aH(t){return t.flatMap(s=>{var o;return((o=yk[s])==null?void 0:o.navItems)??[]})}function iH(t){return new Set(t.flatMap(s=>{var o;return((o=yk[s])==null?void 0:o.domainHookKeys)??[]}))}function oH(t){return{id:t.id,displayName:t.displayName,adapterType:t.adapterType,adapterConfig:t.adapterConfig||"{}",status:t.status,bootstrapped:t.bootstrapped,githubAccountId:t.githubAccountId||""}}function h_(t){return{id:t.id,environmentId:t.environmentId,runtime:t.runtime,status:t.status,prompt:t.prompt,startedAt:t.startedAt,endedAt:t.endedAt||void 0,error:t.error||void 0,endReason:t.endReason||void 0,personaId:t.personaId||void 0,inputTokens:t.inputTokens,outputTokens:t.outputTokens,costMillicents:t.costMillicents}}function rH(t){return{sessionId:t.sessionId,eventType:I_(t.type),timestamp:t.timestamp,content:t.content,raw:t.raw||void 0}}function lH(t){return{id:t.id,name:t.name,description:t.description,repoUrl:t.repoUrl,linkedEnvironmentIds:[...t.linkedEnvironmentIds],status:Z2(t.status),workingDirectory:t.workingDirectory,useWorktrees:t.useWorktrees,defaultPersonaId:t.defaultPersonaId,tokenBudget:t.tokenBudget,costBudgetMillicents:t.costBudgetMillicents,createdAt:t.createdAt,updatedAt:t.updatedAt}}function g_(t){return{id:t.id,workspaceId:t.workspaceId??void 0,title:t.title,description:t.description,status:K2(t.status),branch:t.branch,latestSessionId:t.latestSessionId,dependsOn:[...t.dependsOn],sortOrder:t.sortOrder,createdAt:t.createdAt,startedAt:t.startedAt||void 0,completedAt:t.completedAt||void 0,parentTaskId:t.parentTaskId,depth:t.depth,childTaskIds:[...t.childTaskIds],canDecompose:t.canDecompose,defaultPersonaId:t.defaultPersonaId,workpad:t.workpad,tokenBudget:t.tokenBudget,costBudgetMillicents:t.costBudgetMillicents}}function Vp(t){return{id:t.id,workspaceId:t.workspaceId,taskId:t.taskId,sessionId:t.sessionId,category:t.category,title:t.title,content:t.content,tags:[...t.tags],createdAt:t.createdAt}}function cH(t){return{name:t.name,tokenType:t.type,envVar:t.envVar,filePath:t.filePath,expiresAt:t.expiresAt}}function dH(t){return{claude:Y2(t.claude),github:$c(t.github),copilot:$c(t.copilot),codex:$c(t.codex),goose:$c(t.goose)}}function uH(t){return{name:t.name,repository:t.repository,state:t.state,gitStatus:t.gitStatus}}function fH(t){return{id:t.id,name:t.name,image:t.image,state:t.state,status:t.status}}function Gp(t){return{id:t.id,name:t.name,description:t.description,systemPrompt:t.systemPrompt,toolConfig:t.toolConfig?JSON.stringify({allowedTools:[...t.toolConfig.allowedTools],disallowedTools:[...t.toolConfig.disallowedTools]}):"{}",runtime:t.runtime,model:t.model,maxTurns:t.maxTurns,mcpServers:JSON.stringify(t.mcpServers.map(s=>({name:s.name,command:s.command,args:[...s.args],tools:[...s.tools]}))),createdAt:t.createdAt,updatedAt:t.updatedAt,type:t.type||"agent",script:t.script,allowedMcpTools:[...t.allowedMcpTools]}}function pH(t){return{inputTokens:t.inputTokens,outputTokens:t.outputTokens,costMillicents:t.costMillicents,sessionCount:t.sessionCount}}function qp(t){return{id:t.id,title:t.title,description:t.description,scheduleExpression:t.scheduleExpression,personaId:t.personaId,workspaceId:t.workspaceId,parentTaskId:t.parentTaskId,enabled:t.enabled,lastRunAt:t.lastRunAt,nextRunAt:t.nextRunAt,runCount:t.runCount,createdAt:t.createdAt,updatedAt:t.updatedAt}}function ed(t,s=0){return{id:t.id,label:t.title||t.label||t.id,kind:t.kind,category:t.category||void 0,sourceType:t.sourceType||void 0,sourceId:t.sourceId||void 0,content:t.content||void 0,tags:t.tags.length>0?[...t.tags]:void 0,workspaceId:t.workspaceId||void 0,createdAt:t.createdAt||void 0,updatedAt:t.updatedAt||void 0,val:s}}function Fp(t){return{source:t.fromId,target:t.toId,type:t.type}}function mH(t){return{subscriptionId:t.subscriptionId,sessionId:t.sessionId,fd:t.fd,permission:t.permission,deliveryMode:t.deliveryMode,createdBySpawn:t.createdBySpawn}}function hH(t){return{id:t.id,name:t.name,subscriberCount:t.subscriberCount,messageBufferDepth:t.messageBufferDepth,subscribers:t.subscribers.map(mH)}}function ds(){const[t,s]=y.useState(!1),o=y.useRef(0),r=y.useCallback(c=>(o.current++,o.current===1&&s(!0),c.finally(()=>{o.current--,o.current===0&&s(!1)})),[]);return{loading:t,track:r}}const v_=5e3;function Kr(t){return t instanceof da?t.message:"Operation failed"}function gH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),[c,d]=y.useState({}),[u,p]=y.useState(""),m=y.useCallback(()=>{p("")},[]),g=y.useCallback(async()=>{try{const C=await r($e.listEnvironments({}));s(C.environments.map(oH))}catch{}},[r]),v=y.useCallback(C=>{switch(C.type){case"environment.added":return!0;case"environment.removed":{const A=C.payload.environmentId;return A&&(s(L=>L.filter(E=>E.id!==A)),d(L=>{const E={...L};return delete E[A],E})),!0}case"environment.changed":return g().catch(()=>{}),!0;case"environment.provision_progress":{const A=C.payload;if(typeof A.environmentId!="string"||typeof A.stage!="string"||typeof A.message!="string"||typeof A.progress!="number")return uk("environment.provision_progress","invalid payload"),!0;if(d(L=>({...L,[A.environmentId]:{stage:A.stage,message:A.message,progress:A.progress}})),A.stage==="ready"){const L=A.environmentId;setTimeout(()=>{d(E=>{const O={...E};return delete O[L],O})},v_)}return!0}default:return!1}},[g]),_=y.useCallback(C=>{var A;if(C.type==="environments"){const L=Array.isArray((A=C.payload)==null?void 0:A.environments)?C.payload.environments:[];return s(L),!0}return!1},[]),b=y.useCallback(async(C,A,L,E)=>{p("");try{await $e.addEnvironment({displayName:C,adapterType:A,adapterConfig:JSON.stringify(L??{}),githubAccountId:E??""})}catch(O){p(Kr(O))}},[]),x=y.useCallback(async(C,A)=>{p("");try{await $e.updateEnvironment({id:C,displayName:A.displayName,adapterConfig:A.adapterConfig?JSON.stringify(A.adapterConfig):void 0,githubAccountId:A.githubAccountId})}catch(L){p(Kr(L))}},[]),k=y.useCallback(async(C,A)=>{p("");try{const L=$e.provisionEnvironment({id:C,force:A??!1});for await(const E of L)d(O=>({...O,[C]:{stage:E.stage,message:E.message,progress:E.progress}})),E.stage==="ready"&&setTimeout(()=>{d(O=>{const z={...O};return delete z[C],z})},v_)}catch(L){d(E=>{const O={...E};return delete O[C],O}),p(Kr(L))}},[]),j=y.useCallback(async C=>{p("");try{await $e.stopEnvironment({id:C})}catch(A){p(Kr(A))}},[]),w=y.useCallback(async C=>{p("");try{await $e.removeEnvironment({id:C})}catch(A){p(Kr(A))}},[]);return{environments:t,environmentsLoading:o,provisionStatus:c,operationError:u,clearOperationError:m,loadEnvironments:g,addEnvironment:b,updateEnvironment:x,provisionEnvironment:k,stopEnvironment:j,removeEnvironment:w,handleEvent:v,handleLegacyMessage:_,domainHook:{onConnect:()=>g(),onDisconnect:()=>{},handleEvent:v}}}const Zp=new Set(["pending","running","idle"]),vH=new Set(["completed","failed","interrupted","hibernating","suspended"]),y_=["pending","running","idle"];function yH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),[c,d]=y.useState([]),[u,p]=y.useState(0),[m,g]=y.useState(void 0),[v,_]=y.useState({}),b=y.useCallback(async()=>{try{const H=(await r($e.listSessions({}))).sessions.map(h_);s(Y=>{const U=new Map(Y.map(X=>[X.id,X]));return H.map(X=>{const ge=U.get(X.id),W=ge==null?void 0:ge.status;return!W||W===X.status?X:vH.has(W)&&Zp.has(X.status)?{...X,status:W,...ge.endReason!==void 0?{endReason:ge.endReason}:{}}:Zp.has(W)&&Zp.has(X.status)&&y_.indexOf(W)>y_.indexOf(X.status)?{...X,status:W}:X})})}catch{}},[r]),x=y.useCallback(D=>{if(D.type!=="session_event")return!1;if(!Tz(D.payload))return uk("session_event","payload is not a valid SessionEvent"),!0;const H=D.payload;let Y=0;if(d(U=>{const X=[...U,H];return X.length>Do?(Y=X.length-Do,X.slice(-Do)):X}),Y>0&&p(U=>U+Y),H.eventType==="usage")try{const U=JSON.parse(H.content),X=Number(U.input_tokens)||0,ge=Number(U.output_tokens)||0,W=Number(U.cost_millicents)||0;(X>0||ge>0||W>0)&&s(le=>le.map(B=>B.id===H.sessionId?{...B,inputTokens:(B.inputTokens??0)+X,outputTokens:(B.outputTokens??0)+ge,costMillicents:(B.costMillicents??0)+W}:B))}catch{}if(H.eventType==="status"){const U=fk(H.content),X=pk(H.content);s(ge=>ge.some(le=>le.id===H.sessionId)?ge.map(le=>le.id===H.sessionId?{...le,status:U,...X!==void 0?{endReason:X}:{}}:le):[...ge,{id:H.sessionId,environmentId:"",runtime:"",status:U,prompt:"",startedAt:H.timestamp,...X!==void 0?{endReason:X}:{}}])}return!0},[]),k=y.useCallback(D=>{x({type:"session_event",payload:D})},[x]),j=y.useCallback(D=>{var H,Y,U,X,ge;switch(D.type){case"sessions":{const W=Array.isArray((H=D.payload)==null?void 0:H.sessions)?D.payload.sessions:[];return s(W),!0}case"spawned":{const W=(Y=D.payload)==null?void 0:Y.sessionId;return typeof W=="string"&&W&&g(W),b().catch(()=>{}),!0}case"session_events":{const W=Array.isArray((U=D.payload)==null?void 0:U.events)?D.payload.events:[];return W.length>0&&d(W),!0}case"task_sessions":{const W=(X=D.payload)==null?void 0:X.taskId;if(typeof W=="string"&&W){const le=Array.isArray((ge=D.payload)==null?void 0:ge.sessions)?D.payload.sessions:[];_(B=>({...B,[W]:le}))}return!0}default:return!1}},[b]),w=y.useCallback(async(D,H,Y,U,X)=>{try{const ge=await $e.spawnAgent({environmentId:D,prompt:H,personaId:Y||"",workingDirectory:U||"",workspaceId:X||""});g(ge.id),await b()}catch{}},[b]),T=y.useCallback(async(D,H)=>{await $e.sendInput({sessionId:D,text:H})},[]),C=y.useCallback(async D=>{try{await $e.killAgent({id:D,graceful:!1})}catch{}},[]),A=y.useCallback(async D=>{try{await $e.killAgent({id:D,graceful:!0})}catch{}},[]),L=y.useCallback(async D=>{try{const Y=(await $e.getSessionEvents({id:D})).events.map(rH);if(Y.length>0){let U=0;d(X=>{const ge=new Set;for(const B of X)B.sessionId===D&&ge.add(`${B.timestamp}|${B.eventType}`);const W=Y.filter(B=>!ge.has(`${B.timestamp}|${B.eventType}`)),le=[...X,...W].sort((B,R)=>B.sessionId!==R.sessionId?0:B.timestamp.localeCompare(R.timestamp));return le.length>Do?(U=le.length-Do,le.slice(-Do)):le}),U>0&&p(X=>X+U)}}catch{}},[]),E=y.useCallback(()=>{d([]),p(0)},[]),O=y.useCallback(async D=>{try{const Y=(await $e.getTaskSessions({id:D})).sessions.map(h_);_(U=>({...U,[D]:Y}))}catch{}},[]);return{sessions:t,sessionsLoading:o,events:c,eventsDropped:u,lastSpawnedId:m,taskSessions:v,loadSessions:b,spawn:w,sendInput:T,kill:C,stopGraceful:A,loadSessionEvents:L,clearEvents:E,loadTaskSessions:O,handleMessage:x,handleSessionEvent:k,handleLegacyMessage:j,domainHook:{onConnect:()=>b(),onDisconnect:()=>{E()},handleEvent:()=>!1}}}function b_(t){return t instanceof da?t.message:"Operation failed"}function bH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),[c,d]=y.useState(!1),[u,p]=y.useState(""),m=y.useCallback(async()=>{try{const C=await r($e.listWorkspaces({}));s(C.workspaces.map(lH))}catch{}},[r]),g=y.useCallback(C=>{switch(C.type){case"workspace.created":return d(!1),m().catch(()=>{}),!0;case"workspace.archived":case"workspace.updated":return m().catch(()=>{}),!0;default:return!1}},[m]),v=y.useCallback(()=>{d(!1)},[]),_=y.useCallback(async(C,A,L,E,O,z,D,H,Y)=>{d(!0);try{await $e.createWorkspace({name:C,description:A||"",repoUrl:L||"",environmentId:E||"",defaultPersonaId:O||void 0,useWorktrees:z??!0,workingDirectory:D||void 0}),d(!1),H==null||H()}catch(U){d(!1);const X=U instanceof da?U.message:"Failed to create workspace";Y==null||Y(X)}},[]),b=y.useCallback(async C=>{try{await $e.archiveWorkspace({id:C})}catch{}},[]),x=y.useCallback(async(C,A)=>{try{await $e.updateWorkspace({id:C,...A})}catch{}},[]),k=y.useCallback(()=>{p("")},[]),j=y.useCallback(async(C,A)=>{try{p(""),await $e.linkEnvironment({workspaceId:C,environmentId:A}),await m().catch(()=>{})}catch(L){p(b_(L))}},[m]),w=y.useCallback(async(C,A)=>{try{p(""),await $e.unlinkEnvironment({workspaceId:C,environmentId:A}),await m().catch(()=>{})}catch(L){p(b_(L))}},[m]);return{workspaces:t,workspacesLoading:o,workspaceCreating:c,loadWorkspaces:m,createWorkspace:_,archiveWorkspace:b,updateWorkspace:x,linkEnvironment:j,unlinkEnvironment:w,linkOperationError:u,clearLinkOperationError:k,handleEvent:g,onDisconnect:v,domainHook:{onConnect:()=>m(),onDisconnect:v,handleEvent:g}}}function _H(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),[c,d]=y.useState(void 0),u=y.useRef({}),p=y.useCallback(async E=>{try{const z=(await pn.listTasks({workspaceId:E})).tasks.map(g_);s(D=>[...D.filter(H=>H.workspaceId!==E),...z])}catch{}},[]),m=y.useCallback(async()=>{try{const O=(await r(pn.listTasks({}))).tasks.map(g_);s(z=>{const D=new Set(O.map(H=>H.id));return[...z.filter(H=>!D.has(H.id)),...O]})}catch{}},[r]),g=y.useCallback((E,O)=>{const z=D=>{clearTimeout(u.current[D]),u.current[D]=setTimeout(()=>{delete u.current[D],p(D).catch(()=>{})},200)};E?z(E):O&&s(D=>{const H=D.find(Y=>Y.id===O);return H!=null&&H.workspaceId?z(H.workspaceId):m().catch(()=>{}),D})},[p,m]),v=y.useCallback(E=>{const O=E.payload;switch(E.type){case"task.created":{const z=typeof O.workspaceId=="string"?O.workspaceId:"";return z&&p(z).catch(()=>{}),!0}case"task.started":{const z=typeof O.taskId=="string"?O.taskId:"",D=typeof O.sessionId=="string"?O.sessionId:"",H=typeof O.workspaceId=="string"?O.workspaceId:"";return d(Y=>z&&Y===z?void 0:Y),D&&z&&s(Y=>Y.map(U=>U.id===z?{...U,latestSessionId:D}:U)),g(H,z),!0}case"task.completed":case"task.deleted":case"task.reparented":case"task.updated":{const z=typeof O.workspaceId=="string"?O.workspaceId:"",D=typeof O.taskId=="string"?O.taskId:"";return d(H=>D&&H===D?void 0:H),g(z,D),!0}default:return!1}},[p,g]),_=y.useCallback(()=>{d(void 0)},[]),b=y.useCallback(E=>{var O,z;if(E.type==="tasks"){const D=Array.isArray((O=E.payload)==null?void 0:O.tasks)?E.payload.tasks:[],H=typeof((z=E.payload)==null?void 0:z.workspaceId)=="string"&&E.payload.workspaceId?E.payload.workspaceId:"";return s(H?Y=>[...Y.filter(U=>U.workspaceId!==H),...D]:Y=>{const U=new Set(D.map(X=>X.id));return[...Y.filter(X=>!U.has(X.id)),...D]}),!0}return!1},[]),x=y.useCallback(async(E,O,z,D,H,Y,U,X,ge)=>{try{await pn.createTask({workspaceId:E,title:O,description:z||"",dependsOn:D||[],parentTaskId:H||"",defaultPersonaId:Y||void 0,canDecompose:U??void 0}),X==null||X()}catch(W){const le=W instanceof da?W.message:"Failed to create task";ge==null||ge(le)}},[]),k=y.useCallback(async(E,O,z,D)=>{d(E);try{await pn.startTask({taskId:E,personaId:O||"",environmentId:z||"",notes:D||""})}catch(H){if(H instanceof da&&H.code===M_.ResourceExhausted)return;throw d(void 0),H}},[]),j=y.useCallback(async E=>{try{await pn.stopTask({id:E})}catch{}},[]),w=y.useCallback(async E=>{try{await pn.completeTask({id:E})}catch{}},[]),T=y.useCallback(async E=>{try{await pn.resumeTask({id:E})}catch{}},[]),C=y.useCallback(async(E,O,z,D,H)=>{try{await pn.updateTask({id:E,title:O,description:z,dependsOn:D,...H!==void 0?{defaultPersonaId:H}:{}})}catch{}},[]),A=y.useCallback(async E=>{try{await pn.deleteTask({id:E})}catch{}},[]);return{tasks:t,tasksLoading:o,taskStartingId:c,loadTasks:p,loadAllTasks:m,createTask:x,startTask:k,stopTask:j,completeTask:w,resumeTask:T,updateTask:C,deleteTask:A,handleEvent:v,onDisconnect:_,handleLegacyMessage:b,domainHook:{onConnect:()=>m(),onDisconnect:_,handleEvent:v}}}function xH(){const[t,s]=y.useState([]),[o,r]=y.useState(void 0),[c,d]=y.useState(!1),{loading:u,track:p}=ds(),m=y.useCallback(async k=>{try{const j=await p(pn.queryFindings({workspaceId:k}));s(j.findings.map(Vp))}catch{}},[p]),g=y.useCallback(async()=>{try{const k=await p(pn.queryFindings({workspaceId:""}));s(k.findings.map(Vp))}catch{}},[p]),v=y.useCallback(async k=>{r(void 0),d(!0);try{const j=await pn.getFinding({id:k});r(Vp(j))}catch{r(void 0)}finally{d(!1)}},[]),_=y.useCallback(k=>{if(k.type==="finding.posted"){const j=typeof k.payload.workspaceId=="string"?k.payload.workspaceId:"";return j&&m(j).catch(()=>{}),!0}return!1},[m]),b=y.useCallback(async(k,j,w,T,C)=>{try{await pn.postFinding({workspaceId:k,title:j,content:w,category:T??"general",tags:C??[]})}catch{}},[]);return{findings:t,selectedFinding:o,findingLoading:c,findingsLoading:u,loadFindings:m,loadAllFindings:g,loadFinding:v,postFinding:b,handleEvent:_,domainHook:{onConnect:()=>g(),onDisconnect:()=>{},handleEvent:_}}}function kH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const g=await r($e.listTokens({}));s(g.tokens.map(cH))}catch{}},[r]),d=y.useCallback(g=>g.type==="token.changed"?(c().catch(()=>{}),!0):!1,[c]),u=y.useCallback(async(g,v,_,b,x)=>{try{await $e.setToken({name:g,value:v,type:_,envVar:b,filePath:x})}catch{}},[]),p=y.useCallback(async g=>{try{await $e.deleteToken({name:g})}catch{}},[]);return{tokens:t,tokensLoading:o,loadTokens:c,setToken:u,deleteToken:p,handleEvent:d,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function SH(){const[t,s]=y.useState({claude:"off",github:"off",copilot:"off",codex:"off",goose:"off"}),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const m=await r($e.getCredentialProviders({}));s(dH(m))}catch{}},[r]),d=y.useCallback(m=>m.type==="credential.providers_changed"?(Nz(m.payload)&&s(m.payload),!0):!1,[]),u=y.useCallback(async m=>{const g=[{provider:"claude",value:m.claude},{provider:"github",value:m.github},{provider:"copilot",value:m.copilot},{provider:"codex",value:m.codex},{provider:"goose",value:m.goose}];await Promise.allSettled(g.map(({provider:v,value:_})=>$e.setCredentialProvider({provider:v,value:_})))},[]);return{credentialProviders:t,credentialsLoading:o,loadCredentials:c,updateCredentialProviders:u,handleEvent:d,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function jH(){const[t,s]=y.useState([]),[o,r]=y.useState(""),[c,d]=y.useState(""),[u,p]=y.useState(!1),m=y.useCallback(async _=>{try{const b=await $e.listCodespaces({githubAccountId:_??""});s(b.codespaces.map(uH)),d(b.error)}catch{}},[]),g=y.useCallback(async(_,b)=>{p(!0),r("");try{await $e.createCodespace({repo:_,machine:b??""}),p(!1),await m()}catch(x){p(!1);const k=x instanceof da?x.message:"Failed to create codespace";r(k)}},[m]);return{codespaces:t,codespaceError:o,codespaceListError:c,codespaceCreating:u,listCodespaces:m,createCodespace:g,domainHook:{onConnect:()=>m(),onDisconnect:()=>{},handleEvent:()=>!1}}}function TH(){const[t,s]=y.useState([]),[o,r]=y.useState(""),c=y.useCallback(async()=>{try{const u=await $e.listDockerContainers({});s(u.containers.map(fH)),r(u.error)}catch(u){s([]),r(u instanceof Error?u.message:"Failed to list Docker containers")}},[]);return{dockerContainers:t,dockerContainersError:o,listDockerContainers:c,domainHook:{onConnect:async()=>{},onDisconnect:()=>{},handleEvent:()=>!1}}}function wH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const v=await r(pn.listPersonas({}));s(v.personas.map(Gp))}catch{}},[r]),d=y.useCallback(v=>{switch(v.type){case"persona.created":case"persona.updated":case"persona.deleted":return c().catch(()=>{}),!0;default:return!1}},[c]),u=y.useCallback(async(v,_,b,x,k,j,w,T,C)=>{const A=await pn.createPersona({name:v,description:_,systemPrompt:b,runtime:x||"",model:k||"",maxTurns:j||0,type:w||"agent",script:T||"",allowedMcpTools:C||[]}),L=Gp(A);return s(E=>[...E.filter(O=>O.id!==L.id),L]),L},[]),p=y.useCallback(async(v,_,b,x,k,j,w,T,C,A)=>{const L={id:v};_!==void 0&&(L.name=_),b!==void 0&&(L.description=b),x!==void 0&&(L.systemPrompt=x),k!==void 0&&(L.runtime=k),j!==void 0&&(L.model=j),w!==void 0&&(L.maxTurns=w),T!==void 0&&(L.type=T),C!==void 0&&(L.script=C),A!==void 0&&(L.allowedMcpTools={tools:A});const E=await pn.updatePersona(L),O=Gp(E);return s(z=>z.map(D=>D.id===O.id?O:D)),O},[]),m=y.useCallback(async v=>{await pn.deletePersona({id:v}),s(_=>_.filter(b=>b.id!==v))},[]);return{personas:t,personasLoading:o,loadPersonas:c,createPersona:u,updatePersona:p,deletePersona:m,handleEvent:d,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function NH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useRef(void 0),d=y.useCallback(async()=>{try{const _=await r(Hc.listSchedules({}));s(_.schedules.map(qp))}catch{}},[r]),u=y.useCallback(_=>{switch(_.type){case"schedule.created":case"schedule.updated":case"schedule.deleted":return d().catch(()=>{}),!0;case"schedule.fired":return clearTimeout(c.current),c.current=setTimeout(()=>{d().catch(()=>{})},500),!0;default:return!1}},[d]),p=y.useCallback(async(_,b,x,k,j,w)=>{const T=await Hc.createSchedule({title:_,description:b,scheduleExpression:x,personaId:k,workspaceId:j||"",parentTaskId:w||""}),C=qp(T);return s(A=>[...A.filter(L=>L.id!==C.id),C]),C},[]),m=y.useCallback(async(_,b)=>{const x={id:_};b.title!==void 0&&(x.title=b.title),b.description!==void 0&&(x.description=b.description),b.scheduleExpression!==void 0&&(x.scheduleExpression=b.scheduleExpression),b.personaId!==void 0&&(x.personaId=b.personaId),b.enabled!==void 0&&(x.enabled=b.enabled);const k=await Hc.updateSchedule(x),j=qp(k);return s(w=>w.map(T=>T.id===j.id?j:T)),j},[]),g=y.useCallback(async _=>{await Hc.deleteSchedule({id:_}),s(b=>b.filter(x=>x.id!==_))},[]);return{schedules:t,schedulesLoading:o,loadSchedules:d,createSchedule:p,updateSchedule:m,deleteSchedule:g,handleEvent:u,domainHook:{onConnect:()=>d(),onDisconnect:()=>{clearTimeout(c.current)},handleEvent:u}}}function CH(t){if(t)try{return JSON.parse(t)}catch{return}}function EH(){const[t,s]=y.useState(new Map),[o,r]=y.useState([]),[c,d]=y.useState(void 0),[u,p]=y.useState(void 0),[m,g]=y.useState(!1),[v,_]=y.useState(""),b=y.useRef(""),x=y.useCallback(async E=>{const O=E??"";b.current=O,_(""),g(!0);try{const z=await Pc.listRecentKnowledgeNodes({limit:30,workspaceId:O}),D=new Map,H=[];for(const Y of z.nodes)D.set(Y.id,ed(Y));for(const Y of z.edges)H.push(Fp(Y));for(const Y of H){const U=D.get(Y.source);U&&(U.val+=1);const X=D.get(Y.target);X&&(X.val+=1)}s(D),r(H)}catch{}finally{g(!1)}},[]),k=y.useCallback(async E=>{if(E.trim()){_(E),p(void 0),d(void 0),g(!0);try{const O=await Pc.searchKnowledge({query:E,limit:20,workspaceId:b.current}),z=new Map,D=[];for(const H of O.results){H.node&&z.set(H.node.id,ed(H.node,H.edges.length));for(const Y of H.edges)D.push(Fp(Y))}s(z),r(D)}catch{}finally{g(!1)}}},[]),j=y.useCallback(()=>{x(b.current).catch(()=>{})},[x]),w=y.useCallback(async E=>{p(E);try{const O=await Pc.getKnowledgeNode({id:E});if(!O.node){d(void 0);return}d({node:ed(O.node,O.edges.length),edges:O.edges.map(z=>({fromId:z.fromId,toId:z.toId,type:z.type,metadata:CH(z.metadataJson)}))})}catch{d(void 0)}},[]),T=y.useCallback(()=>{p(void 0),d(void 0)},[]),C=y.useCallback(async E=>{try{const O=await Pc.expandKnowledgeNode({id:E,depth:1});s(z=>{const D=new Map(z);for(const H of O.nodes)D.has(H.id)||D.set(H.id,ed(H));return D}),r(z=>{const D=new Set(z.map(Y=>`${Y.source}:${Y.target}:${Y.type}`)),H=[];for(const Y of O.edges){const U=Fp(Y),X=`${U.source}:${U.target}:${U.type}`;D.has(X)||H.push(U)}return[...z,...H]})}catch{}},[]),A=y.useCallback(E=>!1,[]),L={onConnect:async()=>{},onDisconnect:()=>{},handleEvent:A};return{graphData:{nodes:[...t.values()],links:o},selectedNode:c,selectedId:u,loading:m,searchQuery:v,search:k,clearSearch:j,selectNode:w,clearSelection:T,expandNode:C,loadRecent:x,handleEvent:A,domainHook:L}}function AH(){const t=y.useRef("default");y.useEffect(()=>{typeof Notification>"u"||(t.current=Notification.permission)},[]);function s(r){if(r.type!=="notification.escalated")return!1;if(typeof Notification>"u")return!0;if(t.current==="default")return Notification.requestPermission().then(u=>{t.current=u}).catch(()=>{}),!0;if(t.current!=="granted")return!0;const c=r.payload,d=new Notification(c.title||"Agent needs input",{body:c.message||"An agent is waiting for your input.",tag:c.escalationId,icon:qd("icon-192x192.png")});return d.onclick=()=>{window.focus(),c.taskUrl&&(window.location.href=c.taskUrl),d.close()},!0}return{handleEvent:s,domainHook:{onConnect:async()=>{},onDisconnect:()=>{},handleEvent:s}}}function DH(){const[t,s]=y.useState([]),[o,r]=y.useState(!1),[c,d]=y.useState(!1),{loading:u,track:p}=ds(),m=y.useRef(0),g=y.useCallback(async()=>{const b=m.current;try{const x=await p($e.listStreams({}));m.current===b&&(s(x.streams.map(hH)),d(!1))}catch{m.current===b&&d(!0)}finally{m.current===b&&r(!0)}},[p]),v=y.useCallback(b=>!1,[]);return{streams:t,streamsLoading:u,streamsLoadedOnce:o,streamsLoadError:c,loadStreams:g,handleEvent:v,domainHook:{onConnect:g,onDisconnect:()=>{m.current+=1,s([]),r(!1),d(!1)},handleEvent:v}}}function RH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const m=await r($e.listPlugins({}));s(m.plugins.map(g=>({name:g.name,description:g.description,enabled:g.enabled,required:g.required,loaded:g.loaded})))}catch{}},[r]),d=y.useCallback(m=>m.type==="plugin.changed"?(c().catch(()=>{}),!0):!1,[c]),u=y.useCallback(async(m,g)=>{try{const v=await $e.setPluginEnabled({name:m,enabled:g});s(_=>_.map(b=>b.name===v.name?{...b,enabled:v.enabled}:b))}catch{}},[]);return{plugins:t,pluginsLoading:o,loadPlugins:c,setPluginEnabled:u,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function MH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const _=await r($e.listGitHubAccounts({}));s(_.accounts.map(b=>({id:b.id,label:b.label,username:b.username,isDefault:b.isDefault,createdAt:b.createdAt})))}catch{}},[r]),d=y.useCallback(_=>_.type==="github_account.changed"?(c().catch(()=>{}),!0):!1,[c]),u=y.useCallback(async(_,b,x,k)=>{const j=await $e.addGitHubAccount({label:_,token:b,username:x,isDefault:k});s(w=>[...j.isDefault?w.map(C=>({...C,isDefault:!1})):w,{id:j.id,label:j.label,username:j.username,isDefault:j.isDefault,createdAt:j.createdAt}])},[]),p=y.useCallback(async(_,b)=>{const x=await $e.updateGitHubAccount({id:_,...b});s(k=>k.map(j=>j.id===x.id?{...j,label:x.label,username:x.username,isDefault:x.isDefault}:b.isDefault?{...j,isDefault:!1}:j))},[]),m=y.useCallback(async _=>{await $e.removeGitHubAccount({id:_}),s(b=>b.filter(x=>x.id!==_))},[]),g=y.useCallback(async()=>{const _=await $e.importGitHubAccounts({});return _.imported>0&&await c(),{imported:_.imported,usernames:_.usernames}},[c]);return{githubAccounts:t,githubAccountsLoading:o,loadGitHubAccounts:c,addGitHubAccount:u,updateGitHubAccount:p,removeGitHubAccount:m,importGitHubAccounts:g,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function IH(){const[t,s]=y.useState(""),[o,r]=y.useState(void 0),[c,d]=y.useState({}),{pluginNames:u}=Sh(),p=iH(u),m=gH(),g=yH(),v=bH(),_=_H(),b=xH(),x=kH(),k=SH(),j=jH(),w=TH(),T=wH(),C=NH(),A=EH(),L=AH(),E=DH(),O=RH(),z=MH(),D=[...p.has("environments")?[m.domainHook]:[],...p.has("sessions")?[g.domainHook]:[],...p.has("workspaces")?[v.domainHook]:[],...p.has("tasks")?[_.domainHook]:[],...p.has("findings")?[b.domainHook]:[],...p.has("tokens")?[x.domainHook]:[],...p.has("credentials")?[k.domainHook]:[],...p.has("codespaces")?[j.domainHook]:[],...p.has("dockerContainers")?[w.domainHook]:[],...p.has("personas")?[T.domainHook]:[],...p.has("schedules")?[C.domainHook]:[],...p.has("knowledge")?[A.domainHook]:[],...p.has("notifications")?[L.domainHook]:[],...p.has("streams")?[E.domainHook]:[],...p.has("plugins")?[O.domainHook]:[],z.domainHook],{connectionStatus:H}=Qz({onSessionEvent:oe=>{g.handleSessionEvent({sessionId:oe.sessionId,eventType:I_(oe.type),timestamp:oe.timestamp,content:oe.content,raw:oe.raw||void 0})},onDomainEvent:oe=>{try{const G=JSON.parse(oe.payloadJson);le({id:oe.id,type:oe.type,timestamp:oe.timestamp,payload:G})}catch{console.warn("[grackle] Failed to parse domain event payloadJson:",oe.payloadJson)}},onConnect:B,onDisconnect:R}),Y="default_persona_id",U="onboarding_completed",X=y.useCallback(async oe=>{const G=await $e.setSetting({key:Y,value:oe});s(G.value)},[]),ge=y.useCallback(async()=>{r(!0);try{await $e.setSetting({key:U,value:"true"})}catch{}},[]),W=y.useCallback(async(oe,G)=>{try{const pe=await $e.getUsage({scope:oe,id:G}),de=`${oe}:${G}`;d(xe=>({...xe,[de]:pH(pe)}))}catch{}},[]);function le(oe){const G=oe.payload.key,pe=oe.payload.value;if(oe.type==="setting.changed"){G===Y&&s(pe??""),G===U&&r(pe==="true");return}for(const de of D)if(de.handleEvent(oe))break;(oe.type==="environment.removed"||oe.type==="task.started")&&g.loadSessions().catch(()=>{}),(oe.type==="session.started"||oe.type==="session.stopped")&&E.loadStreams().catch(()=>{})}async function B(){for(const oe of D)oe.onConnect().catch(()=>{});try{const oe=await $e.getSetting({key:Y});s(oe.value)}catch{}try{const oe=await $e.getSetting({key:U});r(oe.value==="true")}catch{}}function R(){D.forEach(oe=>oe.onDisconnect())}const se=y.useCallback(()=>{m.loadEnvironments().catch(()=>{}),g.loadSessions().catch(()=>{}),v.loadWorkspaces().catch(()=>{}),x.loadTokens().catch(()=>{})},[m.loadEnvironments,g.loadSessions,v.loadWorkspaces,x.loadTokens]);return{connectionStatus:H,environments:{environments:m.environments,environmentsLoading:m.environmentsLoading,provisionStatus:m.provisionStatus,operationError:m.operationError,clearOperationError:m.clearOperationError,loadEnvironments:m.loadEnvironments,addEnvironment:m.addEnvironment,updateEnvironment:m.updateEnvironment,provisionEnvironment:m.provisionEnvironment,stopEnvironment:m.stopEnvironment,removeEnvironment:m.removeEnvironment,domainHook:m.domainHook},sessions:{sessions:g.sessions,sessionsLoading:g.sessionsLoading,events:g.events,eventsDropped:g.eventsDropped,lastSpawnedId:g.lastSpawnedId,taskSessions:g.taskSessions,spawn:g.spawn,sendInput:g.sendInput,kill:g.kill,stopGraceful:g.stopGraceful,loadSessionEvents:g.loadSessionEvents,clearEvents:g.clearEvents,loadTaskSessions:g.loadTaskSessions,domainHook:g.domainHook},workspaces:{workspaces:v.workspaces,workspacesLoading:v.workspacesLoading,workspaceCreating:v.workspaceCreating,loadWorkspaces:v.loadWorkspaces,createWorkspace:v.createWorkspace,archiveWorkspace:v.archiveWorkspace,updateWorkspace:v.updateWorkspace,linkEnvironment:v.linkEnvironment,unlinkEnvironment:v.unlinkEnvironment,linkOperationError:v.linkOperationError,clearLinkOperationError:v.clearLinkOperationError,domainHook:v.domainHook},tasks:{tasks:_.tasks,tasksLoading:_.tasksLoading,taskStartingId:_.taskStartingId,loadTasks:_.loadTasks,loadAllTasks:_.loadAllTasks,createTask:_.createTask,startTask:_.startTask,stopTask:_.stopTask,completeTask:_.completeTask,resumeTask:_.resumeTask,updateTask:_.updateTask,deleteTask:_.deleteTask,domainHook:_.domainHook},findings:{findings:b.findings,selectedFinding:b.selectedFinding,findingLoading:b.findingLoading,findingsLoading:b.findingsLoading,loadFindings:b.loadFindings,loadAllFindings:b.loadAllFindings,loadFinding:b.loadFinding,postFinding:b.postFinding,domainHook:b.domainHook},tokens:{tokens:x.tokens,tokensLoading:x.tokensLoading,loadTokens:x.loadTokens,setToken:x.setToken,deleteToken:x.deleteToken,domainHook:x.domainHook},credentials:{credentialProviders:k.credentialProviders,credentialsLoading:k.credentialsLoading,updateCredentialProviders:k.updateCredentialProviders,domainHook:k.domainHook},codespaces:{codespaces:j.codespaces,codespaceError:j.codespaceError,codespaceListError:j.codespaceListError,codespaceCreating:j.codespaceCreating,listCodespaces:j.listCodespaces,createCodespace:j.createCodespace,domainHook:j.domainHook},dockerContainers:{dockerContainers:w.dockerContainers,dockerContainersError:w.dockerContainersError,listDockerContainers:w.listDockerContainers,domainHook:w.domainHook},personas:{personas:T.personas,personasLoading:T.personasLoading,createPersona:T.createPersona,updatePersona:T.updatePersona,deletePersona:T.deletePersona,domainHook:T.domainHook},schedules:{schedules:C.schedules,schedulesLoading:C.schedulesLoading,createSchedule:C.createSchedule,updateSchedule:C.updateSchedule,deleteSchedule:C.deleteSchedule,domainHook:C.domainHook},streams:{streams:E.streams,streamsLoading:E.streamsLoading,streamsLoadedOnce:E.streamsLoadedOnce,streamsLoadError:E.streamsLoadError,loadStreams:E.loadStreams,domainHook:E.domainHook},knowledge:A,plugins:{plugins:O.plugins,pluginsLoading:O.pluginsLoading,loadPlugins:O.loadPlugins,setPluginEnabled:O.setPluginEnabled},githubAccounts:{githubAccounts:z.githubAccounts,githubAccountsLoading:z.githubAccountsLoading,loadGitHubAccounts:z.loadGitHubAccounts,addGitHubAccount:z.addGitHubAccount,updateGitHubAccount:z.updateGitHubAccount,removeGitHubAccount:z.removeGitHubAccount,importGitHubAccounts:z.importGitHubAccounts},appDefaultPersonaId:t,setAppDefaultPersonaId:X,onboardingCompleted:o,completeOnboarding:ge,usageCache:c,loadUsage:W,refresh:se}}function OH({children:t}){const s=IH();return a.jsx(bh.Provider,{value:s,children:t})}function LH(t,s){const o=y.useRef(null);y.useEffect(()=>{const r=o.current;if(o.current=t,r===null)return;const c=new Map;for(const u of r)c.set(u.id,u);const d=new Set;for(const u of t){d.add(u.id);const p=c.get(u.id);p&&p.status!==u.status&&(u.status==="sleeping"||u.status==="connecting"||(u.status==="connected"?s("Environment connected","success"):u.status==="error"?s("Environment provision failed","error"):u.status==="disconnected"&&p.status==="connected"&&s("Environment disconnected","warning")))}for(const u of r)d.has(u.id)||s("Environment removed","info")},[t,s])}function BH(t,s,o){const r=y.useRef(t);y.useEffect(()=>{t&&t!==r.current&&(o(t,"error"),s()),r.current=t},[t,s,o])}const $H={working:{message:"Task is now running",variant:"info"},paused:{message:"Task paused",variant:"warning"},complete:{message:"Task complete",variant:"success"},failed:{message:"Task failed to complete",variant:"error"}};function zH(t){return $H[t]}function HH(t,s){if(t===void 0)return[];const o=[],r=new Map;for(const d of t)r.set(d.id,d);const c=new Set;for(const d of s){c.add(d.id);const u=r.get(d.id);if(!u||u.status===d.status)continue;const p=zH(d.status);p&&o.push(p)}for(const d of t)c.has(d.id)||o.push({message:"Task deleted",variant:"info"});return o}function PH(t,s){const o=y.useRef(void 0);y.useEffect(()=>{const r=o.current;o.current=t;const c=HH(r,t);for(const d of c)s(d.message,d.variant)},[t,s])}const UH="_dashboard_16pzm_1",VH="_kpiStrip_16pzm_11",GH="_kpiCard_16pzm_23",qH="_kpiValue_16pzm_68",FH="_kpiLabel_16pzm_76",ZH="_bodyGrid_16pzm_84",KH="_section_16pzm_96",YH="_sectionHeader_16pzm_109",JH="_sectionIcon_16pzm_118",WH="_sectionTitle_16pzm_123",XH="_sectionCount_16pzm_131",QH="_sectionBody_16pzm_138",e9="_emptyHint_16pzm_143",t9="_sessionRow_16pzm_150",n9="_sessionPrompt_16pzm_177",s9="_sessionEnv_16pzm_186",a9="_sessionRuntime_16pzm_192",i9="_sessionStatus_16pzm_198",o9="_statusDot_16pzm_207",r9="_attentionRow_16pzm_233",l9="_attentionTitle_16pzm_259",c9="_attentionMeta_16pzm_267",d9="_reasonBadge_16pzm_274",u9="_bottomGrid_16pzm_301",f9="_envRow_16pzm_312",p9="_envName_16pzm_323",m9="_envStatusBadge_16pzm_333",h9="_workspaceRow_16pzm_369",g9="_workspaceTop_16pzm_395",v9="_workspaceName_16pzm_401",y9="_workspaceCounts_16pzm_407",b9="_progressBar_16pzm_415",_9="_progressFill_16pzm_422",he={dashboard:UH,kpiStrip:VH,kpiCard:GH,kpiValue:qH,kpiLabel:FH,bodyGrid:ZH,section:KH,sectionHeader:YH,sectionIcon:JH,sectionTitle:WH,sectionCount:XH,sectionBody:QH,emptyHint:e9,sessionRow:t9,sessionPrompt:n9,sessionEnv:s9,sessionRuntime:a9,sessionStatus:i9,statusDot:o9,attentionRow:r9,attentionTitle:l9,attentionMeta:c9,reasonBadge:d9,bottomGrid:u9,envRow:f9,envName:p9,envStatusBadge:m9,workspaceRow:h9,workspaceTop:g9,workspaceName:v9,workspaceCounts:y9,progressBar:b9,progressFill:_9};function x9(){return a.jsxs("div",{className:he.dashboard,"aria-hidden":"true",children:[a.jsx("div",{className:he.kpiStrip,children:Array.from({length:4},(t,s)=>a.jsxs("div",{className:he.kpiCard,children:[a.jsx(Ne,{width:"3rem",height:"2rem"}),a.jsx(Ne,{width:"80%",height:"0.75rem"})]},s))}),a.jsxs("div",{className:he.bodyGrid,children:[a.jsxs("div",{className:he.section,children:[a.jsxs("div",{className:he.sectionHeader,children:[a.jsx(Ne,{width:"1rem",height:"1rem",variant:"circular"}),a.jsx(Ne,{width:"8rem",height:"0.75rem"}),a.jsx("span",{className:he.sectionCount,children:a.jsx(Ne,{width:"1rem",height:"0.75rem"})})]}),a.jsx("div",{className:he.sectionBody,children:Array.from({length:3},(t,s)=>a.jsxs("div",{className:he.sessionRow,style:{cursor:"default"},children:[a.jsx(Ne,{width:"60%",height:"0.875rem"}),a.jsx(Ne,{width:"4rem",height:"0.75rem"}),a.jsx(Ne,{width:"3rem",height:"0.75rem"}),a.jsx(Ne,{width:"3rem",height:"0.75rem"})]},s))})]}),a.jsxs("div",{className:he.section,children:[a.jsxs("div",{className:he.sectionHeader,children:[a.jsx(Ne,{width:"1rem",height:"1rem",variant:"circular"}),a.jsx(Ne,{width:"8rem",height:"0.75rem"}),a.jsx("span",{className:he.sectionCount,children:a.jsx(Ne,{width:"1rem",height:"0.75rem"})})]}),a.jsx("div",{className:he.sectionBody,children:Array.from({length:2},(t,s)=>a.jsxs("div",{className:he.attentionRow,style:{cursor:"default"},children:[a.jsxs("div",{className:he.attentionTitle,children:[a.jsx(Ne,{width:"3rem",height:"0.875rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"70%",height:"0.875rem"})]}),a.jsx("div",{className:he.attentionMeta,children:a.jsx(Ne,{width:"5rem",height:"0.625rem"})})]},s))})]})]}),a.jsxs("div",{className:he.bottomGrid,children:[a.jsxs("div",{className:he.section,children:[a.jsxs("div",{className:he.sectionHeader,children:[a.jsx(Ne,{width:"1rem",height:"1rem",variant:"circular"}),a.jsx(Ne,{width:"9rem",height:"0.75rem"}),a.jsx("span",{className:he.sectionCount,children:a.jsx(Ne,{width:"1rem",height:"0.75rem"})})]}),a.jsx("div",{className:he.sectionBody,children:Array.from({length:2},(t,s)=>a.jsxs("div",{className:he.envRow,children:[a.jsx(Ne,{width:"60%",height:"0.875rem"}),a.jsx(Ne,{width:"4rem",height:"0.875rem",borderRadius:"var(--radius-sm)"})]},s))})]}),a.jsxs("div",{className:he.section,children:[a.jsxs("div",{className:he.sectionHeader,children:[a.jsx(Ne,{width:"1rem",height:"1rem",variant:"circular"}),a.jsx(Ne,{width:"6rem",height:"0.75rem"}),a.jsx("span",{className:he.sectionCount,children:a.jsx(Ne,{width:"1rem",height:"0.75rem"})})]}),a.jsx("div",{className:he.sectionBody,children:Array.from({length:2},(t,s)=>a.jsxs("div",{className:he.workspaceRow,style:{cursor:"default"},children:[a.jsxs("div",{className:he.workspaceTop,children:[a.jsx(Ne,{width:"50%",height:"0.875rem"}),a.jsx(Ne,{width:"2rem",height:"0.75rem"})]}),a.jsx("div",{className:he.progressBar,children:a.jsx("div",{className:he.progressFill,style:{width:"0%"}})})]},s))})]})]})]})}const k9={hidden:{opacity:0,y:12},visible:t=>({opacity:1,y:0,transition:{delay:t*.06,duration:.3,ease:"easeOut"}})},td={hidden:{opacity:0,y:16},visible:t=>({opacity:1,y:0,transition:{delay:.15+t*.08,duration:.35,ease:"easeOut"}})};function S9(t,s,o,r){const c=[`${t} of ${s} tasks completed`];return o>0&&c.push(`${o} in progress`),r>0&&c.push(`${r} failed`),c.join(", ")}function nd({value:t,label:s,accent:o,index:r,testId:c}){return a.jsxs(Rt.div,{className:he.kpiCard,"data-accent":o,"data-testid":c,variants:k9,initial:"hidden",animate:"visible",custom:r,children:[a.jsx("span",{className:he.kpiValue,children:t}),a.jsx("span",{className:he.kpiLabel,children:s})]})}function j9(){const{workspaces:{workspaces:t,workspacesLoading:s},tasks:{tasks:o,tasksLoading:r,loadTasks:c},sessions:{sessions:d,sessionsLoading:u},environments:{environments:p,environmentsLoading:m}}=ot(),g=dt(),v=y.useRef(new Set);y.useEffect(()=>{for(const w of t)v.current.has(w.id)||(v.current.add(w.id),c(w.id).catch(()=>{}))},[t,c]);const _=y.useMemo(()=>$z(d,o,p),[d,o,p]),b=y.useMemo(()=>Hz(d,p),[d,p]),x=y.useMemo(()=>zz(o,t),[o,t]),k=y.useMemo(()=>Pz(t,o),[t,o,p]);return d.length===0&&o.length===0&&p.length===0&&t.length===0&&(u||r||m||s)?a.jsx(x9,{}):a.jsxs("div",{className:he.dashboard,"data-testid":"dashboard",children:[a.jsxs("div",{className:he.kpiStrip,"data-testid":"dashboard-kpi-strip",children:[a.jsx(nd,{value:_.activeSessions,label:"Active Sessions",accent:"green",index:0,testId:"kpi-active-sessions"}),a.jsx(nd,{value:_.blockedTasks,label:"Blocked Tasks",accent:"yellow",index:1,testId:"kpi-blocked-tasks"}),a.jsx(nd,{value:_.attentionTasks,label:"Needs Attention",accent:"red",index:2,testId:"kpi-attention-tasks"}),a.jsx(nd,{value:_.unhealthyEnvironments,label:"Unhealthy Envs",accent:"blue",index:3,testId:"kpi-unhealthy-envs"})]}),a.jsxs("div",{className:he.bodyGrid,children:[a.jsxs(Rt.div,{className:he.section,variants:td,initial:"hidden",animate:"visible",custom:0,"data-testid":"dashboard-active-sessions",children:[a.jsxs("div",{className:he.sectionHeader,children:[a.jsx("span",{className:he.sectionIcon,"aria-hidden":"true",children:"●"}),a.jsx("span",{className:he.sectionTitle,children:"Active Sessions"}),a.jsx("span",{className:he.sectionCount,children:b.length})]}),a.jsx("div",{className:he.sectionBody,children:b.length===0?a.jsx("div",{className:he.emptyHint,children:"No active sessions"}):b.map(({session:w,environmentName:T})=>a.jsxs("button",{type:"button",className:he.sessionRow,onClick:()=>g(Bd(w.id)),"data-testid":"session-row",children:[a.jsx("span",{className:he.sessionPrompt,title:w.prompt,children:w.prompt||"—"}),a.jsx("span",{className:he.sessionEnv,children:T}),a.jsx("span",{className:he.sessionRuntime,children:w.runtime}),a.jsxs("span",{className:he.sessionStatus,children:[a.jsx("span",{className:he.statusDot,"data-status":w.status}),w.status]})]},w.id))})]}),a.jsxs(Rt.div,{className:he.section,variants:td,initial:"hidden",animate:"visible",custom:1,"data-testid":"dashboard-needs-attention",children:[a.jsxs("div",{className:he.sectionHeader,children:[a.jsx("span",{className:he.sectionIcon,"aria-hidden":"true",children:"⚑"}),a.jsx("span",{className:he.sectionTitle,children:"Needs Attention"}),a.jsx("span",{className:he.sectionCount,children:x.length})]}),a.jsx("div",{className:he.sectionBody,children:x.length===0?a.jsx("div",{className:he.emptyHint,children:"All clear"}):x.map(({task:w,reason:T,workspaceName:C})=>a.jsxs("button",{type:"button",className:he.attentionRow,onClick:()=>g(Hn(w.id)),"data-testid":"attention-row",children:[a.jsxs("div",{className:he.attentionTitle,children:[a.jsx("span",{className:he.reasonBadge,"data-reason":T,children:T}),w.title]}),a.jsx("div",{className:he.attentionMeta,children:a.jsx("span",{children:C})})]},w.id))})]})]}),a.jsxs("div",{className:he.bottomGrid,children:[a.jsxs(Rt.div,{className:he.section,variants:td,initial:"hidden",animate:"visible",custom:2,"data-testid":"dashboard-env-health",children:[a.jsxs("div",{className:he.sectionHeader,children:[a.jsx("span",{className:he.sectionIcon,"aria-hidden":"true",children:"◈"}),a.jsx("span",{className:he.sectionTitle,children:"Environment Health"}),a.jsx("span",{className:he.sectionCount,children:p.length})]}),a.jsx("div",{className:he.sectionBody,children:p.length===0?a.jsx("div",{className:he.emptyHint,children:"No environments configured"}):p.map(w=>a.jsxs("div",{className:he.envRow,"data-testid":"dashboard-env-row",children:[a.jsx("span",{className:he.envName,children:w.displayName}),a.jsx("span",{className:he.envStatusBadge,"data-status":w.status,children:w.status})]},w.id))})]}),a.jsxs(Rt.div,{className:he.section,variants:td,initial:"hidden",animate:"visible",custom:3,"data-testid":"dashboard-workspace-snapshot",children:[a.jsxs("div",{className:he.sectionHeader,children:[a.jsx("span",{className:he.sectionIcon,"aria-hidden":"true",children:"▦"}),a.jsx("span",{className:he.sectionTitle,children:"Workspaces"}),a.jsx("span",{className:he.sectionCount,children:t.length})]}),a.jsx("div",{className:he.sectionBody,children:k.length===0?a.jsx("div",{className:he.emptyHint,children:"No workspaces yet"}):k.map(({workspace:w,totalTasks:T,completedTasks:C,workingTasks:A,failedTasks:L})=>{const E=T>0?Math.round(C/T*100):0;return a.jsxs("button",{type:"button",className:he.workspaceRow,onClick:()=>g(Ri(w.id,w.linkedEnvironmentIds[0])),"data-testid":"workspace-row",children:[a.jsxs("div",{className:he.workspaceTop,children:[a.jsx("span",{className:he.workspaceName,children:w.name}),a.jsxs("span",{className:he.workspaceCounts,"aria-label":S9(C,T,A,L),children:[C,"/",T,A>0&&a.jsxs("span",{style:{color:"var(--accent-green)"},"aria-hidden":"true",children:["▸",A]}),L>0&&a.jsxs("span",{style:{color:"var(--accent-red)"},"aria-hidden":"true",children:["✗",L]})]})]}),T>0&&a.jsx("div",{className:he.progressBar,children:a.jsx("div",{className:he.progressFill,style:{width:`${E}%`}})})]},w.id)})})]})]})]})}const T9="_panelContainer_1udy7_1",w9="_emptyState_1udy7_8",N9="_workspaceSummary_1udy7_17",C9="_workspaceSummaryTitle_1udy7_28",E9="_workspaceSummarySubtitle_1udy7_32",A9="_header_1udy7_36",D9="_headerInfo_1udy7_71",R9="_headerTitle_1udy7_106",M9="_taskStatusBadge_1udy7_128",I9="_taskBranch_1udy7_137",O9="_taskBlockedBadge_1udy7_143",L9="_tabBar_1udy7_277",B9="_tab_1udy7_277",$9="_active_1udy7_303",z9="_eventScroll_1udy7_308",H9="_tabContent_1udy7_314",P9="_noContext_1udy7_319",U9="_overviewContent_1udy7_325",V9="_overviewDashboard_1udy7_334",G9="_overviewHero_1udy7_340",q9="_overviewSection_1udy7_347",F9="_overviewLabel_1udy7_353",Z9="_envRow_1udy7_360",K9="_timeline_1udy7_366",Y9="_timelineRow_1udy7_372",J9="_waitingMessage_1udy7_379",W9="_errorMessage_1udy7_383",X9="_emptyCta_1udy7_387",Q9="_ctaTitle_1udy7_399",eP="_ctaDescription_1udy7_405",tP="_ctaButton_1udy7_412",nP="_workspaceHeader_1udy7_533",sP="_workspaceName_1udy7_558",aP="_workspaceMeta_1udy7_571",iP="_metaRow_1udy7_579",oP="_metaLabel_1udy7_592",rP="_metaValue_1udy7_607",lP="_archiveButton_1udy7_617",cP="_repoLink_1udy7_647",dP="_metaToggle_1udy7_657",uP="_metaToggleArrow_1udy7_678",fP="_metaToggleArrowOpen_1udy7_683",pP="_progressBarContainer_1udy7_687",mP="_progressBar_1udy7_687",hP="_progressFill_1udy7_703",gP="_progressLabel_1udy7_710",vP="_metaTimestamps_1udy7_717",yP="_metaTimestamp_1udy7_717",bP="_metaPlaceholder_1udy7_739",_P="_linkedEnvList_1udy7_744",xP="_linkedEnvChip_1udy7_750",kP="_chipDismiss_1udy7_762",SP="_linkError_1udy7_777",jP="_linkEnvSelect_1udy7_782",J={panelContainer:T9,emptyState:w9,workspaceSummary:N9,workspaceSummaryTitle:C9,workspaceSummarySubtitle:E9,header:A9,headerInfo:D9,headerTitle:R9,taskStatusBadge:M9,taskBranch:I9,taskBlockedBadge:O9,tabBar:L9,tab:B9,active:$9,eventScroll:z9,tabContent:H9,noContext:P9,overviewContent:U9,overviewDashboard:V9,overviewHero:G9,overviewSection:q9,overviewLabel:F9,envRow:Z9,timeline:K9,timelineRow:Y9,waitingMessage:J9,errorMessage:W9,emptyCta:X9,ctaTitle:Q9,ctaDescription:eP,ctaButton:tP,workspaceHeader:nP,workspaceName:sP,workspaceMeta:aP,metaRow:iP,metaLabel:oP,metaValue:rP,archiveButton:lP,repoLink:cP,metaToggle:dP,metaToggleArrow:uP,metaToggleArrowOpen:fP,progressBarContainer:pP,progressBar:mP,progressFill:hP,progressLabel:gP,metaTimestamps:vP,metaTimestamp:yP,metaPlaceholder:bP,linkedEnvList:_P,linkedEnvChip:xP,chipDismiss:kP,linkError:SP,linkEnvSelect:jP};function TP(){return a.jsx("div",{className:J.emptyState,children:"Select a task or click + to create one"})}function wP(){return a.jsx("div",{className:J.emptyState,children:"Select an environment to manage its workspaces, or add a new one."})}function NP(){const{workspaces:{workspaces:t},environments:{environments:s}}=ot(),o=dt(),r=s.length>0;return t.length>0?a.jsx(j9,{}):a.jsxs("div",{className:J.emptyCta,"data-testid":"welcome-cta",children:[a.jsx("div",{className:J.ctaTitle,children:"Welcome to Grackle"}),a.jsx("div",{className:J.ctaDescription,children:"Organize your work into workspaces and let agents tackle the tasks."}),a.jsx("button",{className:J.ctaButton,onClick:()=>o(ox),disabled:!r,"data-testid":"welcome-create-button",children:"Create Your First Workspace"}),!r&&a.jsx("div",{className:J.ctaDescription,children:"Add an environment first before creating a workspace."})]})}const CP="_panelContainer_1rih4_1",EP="_chatHeader_1rih4_9",AP="_chatHeaderInfo_1rih4_38",DP="_chatHeaderActions_1rih4_44",RP="_detailButton_1rih4_50",MP="_emptyState_1rih4_64",IP="_emptyTitle_1rih4_76",OP="_emptyDescription_1rih4_82",LP="_emptyHint_1rih4_88",Yt={panelContainer:CP,chatHeader:EP,chatHeaderInfo:AP,chatHeaderActions:DP,detailButton:RP,emptyState:MP,emptyTitle:IP,emptyDescription:OP,emptyHint:LP};function Kp(){return a.jsx("div",{className:Yt.panelContainer,"aria-hidden":"true",children:a.jsxs("div",{style:{flex:1,overflow:"hidden",padding:"var(--space-md)",display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:[a.jsx(Ne,{width:"65%",height:"2.5rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"85%",height:"4rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"45%",height:"2rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"75%",height:"3rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"55%",height:"2.5rem",borderRadius:"var(--radius-sm)"})]})})}function BP({hasLocalEnvironment:t}){return a.jsxs("div",{className:Yt.emptyState,"data-testid":"chat-empty-state",children:[a.jsx("div",{className:Yt.emptyTitle,children:"Welcome to Grackle"}),a.jsx("div",{className:Yt.emptyDescription,children:t?"Type a message below to start chatting with the System agent. It can help you plan work, create tasks, and coordinate agents.":"Add a local environment in Settings to start chatting."}),!t&&a.jsx("div",{className:Yt.emptyHint,children:"Go to Settings → Environments to add one."})]})}function $P({streamName:t}){return a.jsxs("div",{className:Yt.emptyState,"data-testid":"stream-no-session-state",children:[a.jsx("div",{className:Yt.emptyTitle,children:t}),a.jsx("div",{className:Yt.emptyDescription,children:"No active sessions on this stream."})]})}function zP(){return a.jsxs("div",{className:Yt.emptyState,"data-testid":"stream-not-found-state",children:[a.jsx("div",{className:Yt.emptyTitle,children:"Stream not found"}),a.jsxs("div",{className:Yt.emptyDescription,children:["This stream no longer exists or hasn't been created yet."," ",a.jsx(bl,{to:cl,children:"Back to System"})]})]})}function HP(){return a.jsxs("div",{className:Yt.emptyState,"data-testid":"stream-unavailable-state",children:[a.jsx("div",{className:Yt.emptyTitle,children:"Stream unavailable"}),a.jsxs("div",{className:Yt.emptyDescription,children:["The stream could not be loaded. It may have been deleted, or there may be a temporary network problem."," ",a.jsx(bl,{to:cl,children:"Back to System"})]})]})}function __(){const{streamId:t}=Vn(),{tasks:{tasks:s,tasksLoading:o,startTask:r},sessions:{sessions:c,sessionsLoading:d,events:u,eventsDropped:p,taskSessions:m,loadTaskSessions:g,loadSessionEvents:v,kill:_,stopGraceful:b,sendInput:x,spawn:k},environments:{environments:j,provisionEnvironment:w},personas:{personas:T},streams:{streams:C,streamsLoading:A,streamsLoadedOnce:L,streamsLoadError:E}}=ot(),{showToast:O}=mn(),[z,D]=y.useState(!1),H=y.useRef(void 0),[Y,U]=y.useState(),X=s.find(Se=>Se.id===Hr),ge=t===void 0&&X!=null&&X.latestSessionId?c.find(Se=>Se.id===X.latestSessionId)??(m[Hr]??[]).find(Se=>Se.id===X.latestSessionId):void 0;y.useEffect(()=>{t===void 0&&g(Hr).catch(()=>{})},[t,g]),y.useEffect(()=>{t===void 0&&(X!=null&&X.latestSessionId)&&g(Hr).catch(()=>{})},[t,X==null?void 0:X.latestSessionId,g]);const W=t!==void 0?C.find(Se=>Se.id===t):void 0,le=y.useMemo(()=>!W||W.subscribers.length===0?void 0:(W.subscribers.find(gt=>gt.permission==="rw")??W.subscribers[0]).sessionId,[W]),B=le!==void 0?c.find(Se=>Se.id===le):void 0,R=t===void 0?ge:B;y.useEffect(()=>{R&&R.id!==H.current&&(H.current=R.id,v(R.id).catch(()=>{}))},[R==null?void 0:R.id,v]),y.useEffect(()=>{H.current=void 0,D(!1)},[t]);const se=y.useMemo(()=>{if(!R)return[];const Se=u.filter(Pe=>Pe.sessionId===R.id);return kh(xh(Se))},[u,R==null?void 0:R.id]),oe=j.find(Se=>Se.adapterType==="local"&&Se.status==="connected"),G=R!==void 0&&R.status!=="stopped"&&R.status!=="suspended",pe=(R==null?void 0:R.status)==="idle";y.useEffect(()=>{Y&&R&&pe&&(x(R.id,Y).catch(()=>{O("Failed to send message","error")}),U(void 0))},[Y,pe,R==null?void 0:R.id,x,O]);const de=y.useCallback((Se,Pe,gt,_e)=>{_e&&U(_e),r(Se,Pe,gt).catch(()=>{})},[r]);if(t===void 0&&!X&&(d||o))return a.jsx(Kp,{});if(t!==void 0&&!W&&(A||!L))return a.jsx(Kp,{});if(t!==void 0&&W&&d&&!R)return a.jsx(Kp,{});if(t!==void 0&&!W)return a.jsx("div",{className:Yt.panelContainer,"data-testid":"chat-page",children:a.jsx(al,{events:[],eventsDropped:0,emptyState:E?a.jsx(HP,{}):a.jsx(zP,{}),onShowToast:O})});const xe=t!==void 0&&W?W.name:void 0;return a.jsxs("div",{className:Yt.panelContainer,"data-testid":"chat-page",children:[G&&a.jsxs("div",{className:Yt.chatHeader,children:[a.jsxs("span",{className:Yt.chatHeaderInfo,children:[xe&&a.jsxs("strong",{children:[xe," — "]}),"Session: ",R.id.slice(0,8)," | ",R.runtime," | ",R.status]}),a.jsxs("div",{className:Yt.chatHeaderActions,children:[W&&a.jsx("button",{className:Yt.detailButton,onClick:()=>D(Se=>!Se),"aria-label":"Stream details","aria-expanded":z,"data-testid":"stream-detail-toggle",children:"Info"}),a.jsx(lx,{label:"Stop",onClick:()=>{b(R.id).catch(()=>{})},variant:"danger",size:"sm","data-testid":"stop-split-button",options:[{label:"Stop",description:"Graceful shutdown",onClick:()=>{b(R.id).catch(()=>{})}},{label:"Kill",description:"Force kill",onClick:()=>{_(R.id).catch(()=>{})}}]})]})]}),t!==void 0&&W&&!R&&!d&&a.jsx(al,{events:[],eventsDropped:0,emptyState:a.jsx($P,{streamName:W.name}),onShowToast:O}),(t===void 0||R)&&a.jsx(al,{events:se,eventsDropped:p,emptyState:t===void 0?a.jsx(BP,{hasLocalEnvironment:!!oe}):void 0,onShowToast:O}),t===void 0&&oe&&a.jsx(Rd,{mode:G?"send":"start",sessionId:G?R.id:void 0,taskId:Hr,environmentId:G?R.environmentId:oe.id,personas:T,environments:j,onSendInput:(Se,Pe)=>{x(Se,Pe).catch(()=>{O("Failed to send message","error")})},onSpawn:(Se,Pe,gt)=>{k(Se,Pe,gt).catch(()=>{})},onStartTask:de,onProvisionEnvironment:Se=>{w(Se).catch(()=>{})},onShowToast:O}),z&&W&&a.jsx(A$,{stream:W,onClose:()=>D(!1)})]})}function PP(){const t=Dz(),[s]=Lm(),o=s.get("env")??"",{sessions:{sendInput:r,spawn:c},tasks:{startTask:d},personas:{personas:u},environments:{environments:p,provisionEnvironment:m}}=ot(),{showToast:g}=mn();return a.jsxs("div",{className:J.panelContainer,children:[a.jsx(Ss,{segments:t}),a.jsx("div",{className:J.emptyState,children:"Enter a prompt below to start a new session"}),a.jsx(Rd,{mode:"spawn",environmentId:o,showPersonaSelect:!0,personas:u,environments:p,onSendInput:(v,_)=>{r(v,_).catch(()=>{g("Failed to send message","error")})},onSpawn:(v,_,b)=>{c(v,_,b).catch(()=>{})},onStartTask:(v,_,b)=>{d(v,_,b).catch(()=>{})},onProvisionEnvironment:v=>{m(v).catch(()=>{})},onShowToast:g})]})}function UP(){return a.jsxs("div",{className:J.panelContainer,"aria-hidden":"true",children:[a.jsxs("div",{className:J.header,children:[a.jsx("span",{children:a.jsx(Ne,{width:"10rem",height:"0.875rem"})}),a.jsx("span",{className:J.headerInfo,children:a.jsx(Ne,{width:"16rem",height:"0.875rem"})})]}),a.jsx("div",{className:J.eventScroll,children:a.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:[a.jsx(Ne,{width:"70%",height:"2.5rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"90%",height:"4rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"50%",height:"2rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"80%",height:"3.5rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"60%",height:"2.5rem",borderRadius:"var(--radius-sm)"})]})})]})}function VP({sessionId:t,session:s,isActive:o,onStop:r,onKill:c}){return a.jsxs("div",{className:J.header,children:[a.jsxs("span",{children:["Session: ",t.slice(0,8),s&&` | ${s.runtime} | ${s.endReason||s.status}`,s!=null&&s.inputTokens||s!=null&&s.outputTokens||s!=null&&s.costMillicents?` | ${zo((s.inputTokens??0)+(s.outputTokens??0))} tokens · ${Is(s.costMillicents??0)}`:""]}),a.jsxs("span",{className:J.headerInfo,children:[s&&a.jsx("span",{children:s.prompt.length>60?s.prompt.slice(0,60)+"...":s.prompt}),o&&a.jsx(lx,{label:"Stop",onClick:r,variant:"danger",size:"sm","data-testid":"stop-split-button",options:[{label:"Stop",description:"Graceful shutdown",onClick:r},{label:"Kill",description:"Force kill",onClick:c}]})]})]})}function GP({session:t}){const s=t&&(t.status==="stopped"||t.status==="suspended"),o=s?`Session ${t.endReason||t.status} with no events recorded.`:"Waiting for events...";return a.jsx("div",{className:s?J.errorMessage:J.waitingMessage,children:o})}function qP(){const{sessionId:t}=Vn(),{sessions:{events:s,eventsDropped:o,sessions:r,sessionsLoading:c,kill:d,stopGraceful:u,loadSessionEvents:p,sendInput:m,spawn:g},tasks:{startTask:v},personas:{personas:_},environments:{environments:b,provisionEnvironment:x}}=ot(),{showToast:k}=mn(),j=y.useRef(void 0),w=Rz(t),T=r.find(L=>L.id===t)??void 0,C=y.useMemo(()=>{const L=t?s.filter(E=>E.sessionId===t):[];return kh(xh(L))},[s,t]);if(y.useEffect(()=>{t&&t!==j.current&&(j.current=t,p(t).catch(()=>{}))},[t,p]),!T&&c)return a.jsx(UP,{});if(!t)return a.jsx("div",{className:J.emptyState,children:"No session selected"});const A=(T==null?void 0:T.status)==="running"||(T==null?void 0:T.status)==="idle";return a.jsxs("div",{className:J.panelContainer,children:[a.jsx(Ss,{segments:w}),a.jsx(VP,{sessionId:t,session:T,isActive:A,onStop:()=>{u(t).catch(()=>{})},onKill:()=>{d(t).catch(()=>{})}}),a.jsx(al,{events:C,eventsDropped:o,emptyState:a.jsx(GP,{session:T}),onShowToast:k,sessions:r,currentSessionId:t,environments:b,personas:_,onForward:(L,E)=>m(L,E)}),A&&a.jsx(Rd,{mode:"send",sessionId:t,environmentId:T.environmentId,personas:_,environments:b,onSendInput:(L,E)=>{m(L,E).catch(()=>{k("Failed to send message","error")})},onSpawn:(L,E,O)=>{g(L,E,O).catch(()=>{})},onStartTask:(L,E,O)=>{v(L,E,O).catch(()=>{})},onProvisionEnvironment:L=>{x(L).catch(()=>{})},onShowToast:k})]})}function FP(t){if(!t)return!1;const s=t.tagName;return!!(s==="INPUT"||s==="TEXTAREA"||s==="SELECT"||t.isContentEditable)}function ca(t,s){const o=y.useRef(s);o.current=s;const{key:r,ctrl:c=!1,shift:d=!1,suppressInInputs:u=!0,enabled:p=!0}=t;y.useEffect(()=>{if(!p)return;const m=g=>{if(u&&FP(document.activeElement??void 0))return;const v=g.ctrlKey||g.metaKey;c===v&&(d&&!g.shiftKey||g.key===r&&o.current())};return document.addEventListener("keydown",m),()=>{document.removeEventListener("keydown",m)}},[r,c,d,u,p])}function ZP(){return a.jsxs("div",{className:J.panelContainer,"aria-hidden":"true",children:[a.jsx("div",{className:J.workspaceHeader,children:a.jsx("span",{className:J.workspaceName,children:a.jsx(Ne,{width:"12rem",height:"1.25rem"})})}),a.jsx("div",{className:J.metaToggle,style:{cursor:"default"},children:a.jsx(Ne,{width:"4rem",height:"0.625rem"})}),a.jsxs("div",{className:J.progressBarContainer,children:[a.jsx("div",{className:J.progressBar,children:a.jsx("div",{className:J.progressFill,style:{width:"0%"}})}),a.jsx(Ne,{width:"2rem",height:"0.625rem"})]}),a.jsxs("div",{className:J.tabBar,role:"tablist","aria-label":"Workspace view",children:[a.jsx("span",{className:`${J.tab} ${J.active}`,children:"Graph"}),a.jsx("span",{className:J.tab,children:"Board"}),a.jsx("span",{className:J.tab,children:"Tasks"})]}),a.jsx("div",{className:J.overviewContent,children:Array.from({length:3},(t,s)=>a.jsx(Sd,{lines:2},s))})]})}function x_(t){if(!t)return"";const s=new Date(t);if(isNaN(s.getTime()))return"";const r=Date.now()-s.getTime();if(r<0)return"just now";const c=Math.floor(r/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;const d=Math.floor(c/60);if(d<24)return`${d}h ago`;const u=Math.floor(d/24);return u<30?`${u}d ago`:s.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}const Yp=100;function KP(t){try{const s=new URL(t);return s.protocol!=="http:"&&s.protocol!=="https:"?void 0:s.toString()}catch{return}}function YP(){const{workspaceId:t,environmentId:s}=Vn(),o=dt(),{tasks:{tasks:r},environments:{environments:c},workspaces:{workspaces:d,workspacesLoading:u,archiveWorkspace:p,updateWorkspace:m,linkEnvironment:g,unlinkEnvironment:v,linkOperationError:_,clearLinkOperationError:b},personas:{personas:x},sessions:{sessions:k},usageCache:j,loadUsage:w}=ot(),{resolvedThemeId:T}=rk(),[C,A]=y.useState("tasks"),[L,E]=y.useState(!1),[O,z]=y.useState(null),[D,H]=y.useState(!1),Y=y.useRef(void 0),U=d.find(G=>G.id===t),X=s??(U==null?void 0:U.linkedEnvironmentIds[0])??"",ge=Mz(t,X,d,c);ca({key:"1"},()=>A("graph")),ca({key:"2"},()=>A("board")),ca({key:"3"},()=>A("tasks")),y.useEffect(()=>{const G=Y.current;Y.current=t,!(G===void 0||G===t)&&O!==null&&z(null)},[t,O]);const W=k.reduce((G,pe)=>G+(pe.costMillicents??0),0);y.useEffect(()=>{t&&w("workspace",t).catch(()=>{})},[t,w,W]);const le=t?j[`workspace:${t}`]:void 0,B=r.filter(G=>G.workspaceId===t),R=B.filter(G=>G.status==="complete").length,se=B.length,oe=se>0?Math.round(R/se*100):0;return!U&&u?a.jsx(ZP,{}):a.jsxs("div",{className:J.panelContainer,children:[a.jsx(Ss,{segments:ge}),a.jsxs("div",{className:J.workspaceHeader,children:[a.jsx("span",{className:J.workspaceName,"data-testid":"workspace-name",children:a.jsx(Ut,{value:(U==null?void 0:U.name)||"",onSave:G=>{U&&m(U.id,{name:G}).catch(()=>{})},validate:G=>{const pe=G.trim();if(!pe)return"Name is required";if(pe.length>Yp)return`Max ${Yp} characters`},maxLength:Yp,fieldId:"name",activeFieldId:O,onActivate:z,ariaLabel:"Workspace name",renderDisplay:G=>G||t||void 0,"data-testid":"edit-name"})}),a.jsx("button",{className:J.archiveButton,onClick:()=>E(!0),title:"Archive workspace","data-testid":"archive-workspace-button",children:"Archive"})]}),a.jsxs("button",{className:J.metaToggle,onClick:()=>H(!D),"aria-expanded":!D,"aria-controls":"workspace-meta-panel","data-testid":"meta-toggle",children:[a.jsx("span",{className:`${J.metaToggleArrow} ${D?"":J.metaToggleArrowOpen}`,children:"▶"}),"Details"]}),!D&&a.jsxs("div",{className:J.workspaceMeta,"data-testid":"workspace-meta",id:"workspace-meta-panel",children:[a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Description"}),a.jsx("div",{className:J.metaValue,children:a.jsx(_m,{value:(U==null?void 0:U.description)||"",onSave:G=>{U&&m(U.id,{description:G}).catch(()=>{})},fieldId:"description",activeFieldId:O,onActivate:z,renderDisplay:G=>G?a.jsx("span",{className:J.overviewMarkdown,children:a.jsx(Ed,{remarkPlugins:[Ad],children:G})}):void 0,placeholder:"No description",ariaLabel:"Workspace description","data-testid":"edit-description"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Repository"}),a.jsx("div",{className:J.metaValue,children:a.jsx(Ut,{value:(U==null?void 0:U.repoUrl)||"",onSave:G=>{U&&m(U.id,{repoUrl:G}).catch(()=>{})},validate:G=>{const pe=G.trim();if(pe&&!/^https?:\/\/.+/.test(pe))return"Must be a valid http(s) URL"},fieldId:"repoUrl",activeFieldId:O,onActivate:z,renderDisplay:G=>{const pe=KP(G);return pe?a.jsx("a",{className:J.repoLink,href:pe,target:"_blank",rel:"noopener noreferrer",onClick:de=>de.stopPropagation(),children:G}):G?a.jsx("span",{children:G}):void 0},placeholder:"No repository",ariaLabel:"Workspace repository URL","data-testid":"edit-repo"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Environments"}),a.jsx("div",{className:J.metaValue,"data-testid":"linked-environments",children:U?a.jsxs("span",{className:J.linkedEnvList,children:[(()=>{const G=[...new Set(U.linkedEnvironmentIds)];return G.length===0?a.jsx("span",{className:J.metaPlaceholder,children:"None"}):G.map(pe=>{const de=c.find(xe=>xe.id===pe);return a.jsxs("span",{className:J.linkedEnvChip,"data-testid":`linked-env-${pe}`,children:[(de==null?void 0:de.displayName)||pe,a.jsx("button",{className:J.chipDismiss,onClick:()=>{v(U.id,pe).catch(()=>{})},title:`Unlink ${(de==null?void 0:de.displayName)||pe}`,"aria-label":`Unlink ${(de==null?void 0:de.displayName)||pe}`,"data-testid":`unlink-env-${pe}`,disabled:G.length<=1,children:"x"})]},pe)})})(),(()=>{const G=new Set(U.linkedEnvironmentIds),pe=c.filter(de=>!G.has(de.id));return pe.length===0?null:a.jsxs("select",{className:J.linkEnvSelect,value:"",onChange:de=>{de.target.value&&g(U.id,de.target.value).catch(()=>{})},"aria-label":"Link environment","data-testid":"link-env-select",children:[a.jsx("option",{value:"",children:"+ Link"}),pe.map(de=>a.jsx("option",{value:de.id,children:de.displayName||de.id},de.id))]})})(),_&&a.jsxs("span",{className:J.linkError,"data-testid":"link-operation-error",role:"alert",children:[_,a.jsx("button",{className:J.chipDismiss,onClick:b,"aria-label":"Dismiss error","data-testid":"dismiss-link-error",children:"x"})]})]}):a.jsx("span",{className:J.metaPlaceholder,children:"None"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Persona"}),a.jsx("div",{className:J.metaValue,children:a.jsx(jd,{value:(U==null?void 0:U.defaultPersonaId)||"",onSave:G=>{U&&m(U.id,{defaultPersonaId:G}).catch(()=>{})},options:[{value:"",label:"(Inherit)"},...x.map(G=>({value:G.id,label:G.name}))],fieldId:"defaultPersonaId",activeFieldId:O,onActivate:z,renderDisplay:G=>{const pe=x.find(de=>de.id===G);if(pe)return a.jsx("span",{children:pe.name})},placeholder:(U==null?void 0:U.defaultPersonaId)||"(Inherit)",ariaLabel:"Workspace default persona","data-testid":"edit-persona"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Worktrees"}),a.jsx("div",{className:J.metaValue,children:a.jsx(H5,{checked:(U==null?void 0:U.useWorktrees)??!0,onChange:G=>{U&&m(U.id,{useWorktrees:G}).catch(()=>{})},label:"Enable worktree isolation","data-testid":"worktree-toggle"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Working Dir"}),a.jsx("div",{className:J.metaValue,children:a.jsx(Ut,{value:(U==null?void 0:U.workingDirectory)||"",onSave:G=>{U&&m(U.id,{workingDirectory:G}).catch(()=>{})},fieldId:"workingDirectory",activeFieldId:O,onActivate:z,placeholder:"Default (server default)",ariaLabel:"Working directory","data-testid":"edit-working-directory"})})]}),U&&a.jsxs("div",{className:J.metaTimestamps,children:[a.jsxs("span",{className:J.metaTimestamp,children:["Created ",x_(U.createdAt)]}),U.updatedAt&&U.updatedAt!==U.createdAt&&a.jsxs("span",{className:J.metaTimestamp,children:["· Updated ",x_(U.updatedAt)]})]})]}),se>0&&a.jsxs("div",{className:J.progressBarContainer,"data-testid":"progress-bar",children:[a.jsx("div",{className:J.progressBar,children:a.jsx("div",{className:J.progressFill,style:{width:`${oe}%`}})}),a.jsxs("span",{className:J.progressLabel,children:[R,"/",se]})]}),le&&le.costMillicents>0&&a.jsx("div",{className:J.progressBarContainer,children:a.jsxs("span",{className:J.progressLabel,children:["Usage: ",Is(le.costMillicents)," (",le.sessionCount," session",le.sessionCount!==1?"s":"",")"]})}),U&&(U.tokenBudget>0||U.costBudgetMillicents>0)&&a.jsx("div",{className:J.progressBarContainer,children:a.jsxs("span",{className:J.progressLabel,children:["Budget:"," ",U.tokenBudget>0&&a.jsxs(a.Fragment,{children:["Tokens: ",zo(((le==null?void 0:le.inputTokens)??0)+((le==null?void 0:le.outputTokens)??0))," / ",zo(U.tokenBudget)]}),U.tokenBudget>0&&U.costBudgetMillicents>0&&" | ",U.costBudgetMillicents>0&&a.jsxs(a.Fragment,{children:["Cost: ",Is((le==null?void 0:le.costMillicents)??0)," / ",Is(U.costBudgetMillicents)]})]})}),a.jsxs("div",{className:J.tabBar,role:"tablist","aria-label":"Workspace view",children:[a.jsx("button",{role:"tab","aria-selected":C==="graph",className:`${J.tab} ${C==="graph"?J.active:""}`,onClick:()=>A("graph"),children:"Graph"}),a.jsx("button",{role:"tab","aria-selected":C==="board",className:`${J.tab} ${C==="board"?J.active:""}`,onClick:()=>A("board"),"data-testid":"board-tab",children:"Board"}),a.jsx("button",{role:"tab","aria-selected":C==="tasks",className:`${J.tab} ${C==="tasks"?J.active:""}`,onClick:()=>A("tasks"),children:"Tasks"})]}),C==="tasks"&&se>0&&a.jsxs("div",{className:J.workspaceSummary,children:[a.jsx("span",{className:J.workspaceSummaryTitle,children:`${R}/${se} tasks complete`}),a.jsx("span",{className:J.workspaceSummarySubtitle,children:"Select a task or click + to create one"})]}),C==="tasks"&&se===0&&a.jsxs("div",{className:J.emptyCta,children:[a.jsx("button",{className:J.ctaButton,onClick:()=>o($i(t,void 0,X)),children:"Create Task"}),a.jsx("div",{className:J.ctaDescription,children:"Break your work into tasks and let agents tackle them"})]}),C==="board"&&a.jsx(nz,{workspaceId:t,environmentId:X,tasks:r,sessions:k,personas:x,environments:c}),C==="graph"&&a.jsx(QN,{workspaceId:t,environmentId:X,tasks:r,resolvedThemeId:T}),a.jsx(ks,{isOpen:L,title:"Archive Workspace?",description:"This will hide the workspace from the sidebar. Tasks will not be deleted.",confirmLabel:"Archive",onConfirm:()=>{U&&(p(U.id).catch(()=>{}),o("/",{replace:!0})),E(!1)},onCancel:()=>E(!1)})]})}const JP="_container_3pgew_1",WP="_header_3pgew_8",XP="_headerTitle_3pgew_35",QP="_headerActions_3pgew_44",eU="_body_3pgew_51",tU="_btnPrimary_3pgew_63",nU="_btnGhost_3pgew_94",sU="_error_3pgew_116",Za={container:JP,header:WP,headerTitle:XP,headerActions:QP,body:eU,btnPrimary:tU,btnGhost:nU,error:sU};function aU(t){const s={};return t.name.trim()||(s.name="Name is required"),t.repoUrl.trim()&&!/^https?:\/\/.+/i.test(t.repoUrl.trim())&&(s.repoUrl="Must be a valid http(s) URL"),t.environmentId||(s.environmentId="Environment is required"),Object.keys(s).length>0?s:void 0}const iU=[{label:"Home",url:Ii},{label:"New Workspace",url:void 0}];function oU(){const[t]=Lm(),s=t.get("environment")??void 0,{environments:{environments:o},personas:{personas:r},workspaces:{createWorkspace:c,workspaceCreating:d}}=ot(),{showToast:u}=mn(),p=dt(),[m,g]=y.useState(()=>{var w;return pz(void 0,s||((w=o[0])==null?void 0:w.id))}),[v,_]=y.useState(),[b,x]=y.useState();y.useEffect(()=>{s||m.environmentId||o.length===0||g(w=>{var T;return w.environmentId?w:{...w,environmentId:((T=o[0])==null?void 0:T.id)??""}})},[o,s,m.environmentId]);const k=()=>{const w=aU(m);if(w){_(w),x(void 0);return}_(void 0),x(void 0),c(m.name.trim(),m.description,m.repoUrl.trim(),m.environmentId,m.defaultPersonaId,m.useWorktrees,m.workingDirectory,()=>{u("Workspace created","success"),p(Ii,{replace:!0})},T=>{x(T)}).catch(()=>{})},j=()=>{p(s?Mi(s):Ii,{replace:!0})};return a.jsxs("div",{className:Za.container,children:[a.jsxs("div",{className:Za.header,children:[a.jsx("div",{className:Za.headerTitle,children:a.jsx(Ss,{segments:iU})}),a.jsxs("div",{className:Za.headerActions,children:[a.jsx("button",{className:Za.btnGhost,onClick:j,disabled:d,"data-testid":"workspace-create-cancel",children:"Cancel"}),a.jsx("button",{className:Za.btnPrimary,onClick:k,disabled:d||!m.name.trim()||!m.environmentId,"data-testid":"workspace-create-save",children:d?a.jsx(z1,{size:"sm",label:"Creating"}):"Create Workspace"})]})]}),a.jsxs("div",{className:Za.body,children:[a.jsx(hz,{values:m,onChange:w=>{g(w),_(void 0),x(void 0)},environments:o,personas:r,errors:v,disabled:d,autoFocusName:!0}),b&&a.jsx("div",{className:Za.error,"data-testid":"workspace-create-submit-error",children:b})]})]})}function k_(){const{workspaceId:t,environmentId:s}=Vn(),[o]=Lm(),r=t??o.get("workspace")??"",c=o.get("parent")??void 0,{tasks:{tasks:d,createTask:u,updateTask:p},workspaces:{workspaces:m},personas:{personas:g}}=ot(),{showToast:v}=mn();return a.jsx(ek,{mode:"new",workspaceId:r,parentTaskId:c,environmentId:s,tasks:d,workspaces:m,personas:g,onCreateTask:(_,b,x,k,j,w,T,C,A)=>{u(_,b,x,k,j,w,T,C,A).catch(()=>{})},onUpdateTask:(_,b,x,k,j)=>{p(_,b,x,k,j).catch(()=>{})},onShowToast:v})}function rU(){return a.jsxs("div",{className:J.panelContainer,"aria-hidden":"true",children:[a.jsx("div",{className:J.header,children:a.jsxs("span",{className:J.headerTitle,children:[a.jsx(Ne,{width:"12rem",height:"1rem"}),a.jsx(Ne,{width:"4rem",height:"1rem",borderRadius:"var(--radius-full)"})]})}),a.jsxs("div",{className:J.tabBar,role:"tablist","aria-label":"Task view",children:[a.jsx("span",{className:`${J.tab} ${J.active}`,children:"Overview"}),a.jsx("span",{className:J.tab,children:"Stream"}),a.jsx("span",{className:J.tab,children:"Findings"})]}),a.jsx("div",{className:J.overviewContent,children:a.jsxs("div",{className:J.overviewDashboard,children:[a.jsx("div",{className:J.overviewHero,children:a.jsx(Ne,{width:"5rem",height:"1.5rem",borderRadius:"var(--radius-full)"})}),a.jsxs("div",{className:J.overviewSection,children:[a.jsx("div",{className:J.overviewLabel,children:"Description"}),a.jsx(bm,{lines:2})]}),a.jsxs("div",{className:J.overviewSection,children:[a.jsx("div",{className:J.overviewLabel,children:"Environment"}),a.jsxs("div",{className:J.envRow,children:[a.jsx(Ne,{width:"0.5rem",height:"0.5rem",variant:"circular"}),a.jsx(Ne,{width:"8rem",height:"0.875rem"})]})]}),a.jsxs("div",{className:J.overviewSection,children:[a.jsx("div",{className:J.overviewLabel,children:"Dependencies"}),a.jsx(bm,{lines:2})]}),a.jsxs("div",{className:J.overviewSection,children:[a.jsx("div",{className:J.overviewLabel,children:"Timeline"}),a.jsx("div",{className:J.timeline,children:Array.from({length:4},(t,s)=>a.jsxs("div",{className:J.timelineRow,children:[a.jsx(Ne,{width:"4rem",height:"0.75rem"}),a.jsx(Ne,{width:"10rem",height:"0.75rem"})]},s))})]})]})})]})}function Ka(){const{taskId:t,workspaceId:s,environmentId:o}=Vn(),r=Jt(),c=dt(),{showToast:d}=mn(),{sessions:{events:u,eventsDropped:p,sessions:m,loadSessionEvents:g,taskSessions:v,loadTaskSessions:_,sendInput:b,spawn:x,kill:k},tasks:{tasks:j,tasksLoading:w,startTask:T,stopTask:C,resumeTask:A,deleteTask:L,createTask:E,updateTask:O},environments:{environments:z,provisionEnvironment:D},findings:{findings:H,loadFindings:Y},workspaces:{workspaces:U},personas:{personas:X},usageCache:ge,loadUsage:W}=ot(),le=y.useRef(void 0),B=y.useRef(void 0),R=y.useRef(void 0),se=y.useRef(void 0),oe=y.useRef(void 0),G=r.pathname.endsWith("/stream")?"stream":r.pathname.endsWith("/findings")?"findings":"overview",pe=r.pathname.endsWith("/edit"),[de,xe]=y.useState(G),[Se,Pe]=y.useState(!1),[gt,_e]=y.useState(void 0),[Ie,Mt]=y.useState(""),[hn,ce]=y.useState(pe),Ue=y.useRef(G),ut=y.useRef(pe),te=j.find(Ee=>Ee.id===t),re=(te==null?void 0:te.workspaceId)||void 0,ve=U.find(Ee=>Ee.id===re);y.useEffect(()=>{G!==Ue.current&&(Ue.current=G,G!==de&&xe(G))},[G,de]),y.useEffect(()=>{pe!==ut.current&&(ut.current=pe,pe!==hn&&ce(pe))},[pe,hn]),y.useEffect(()=>{if(Ie===""){if(ve!=null&&ve.linkedEnvironmentIds[0])Mt(ve.linkedEnvironmentIds[0]);else if(z.length>0){const Ee=z.find(Ve=>Ve.status==="connected");Mt((Ee==null?void 0:Ee.id)??z[0].id)}}},[Ie,ve==null?void 0:ve.linkedEnvironmentIds[0],z]);const ft=te?v[te.id]??[]:[];let Me;gt&&ft.some(Ee=>Ee.id===gt)?Me=gt:Me=(te==null?void 0:te.latestSessionId)||void 0;const rn=()=>{Pe(!0)},ga=()=>{if(!te)return;L(te.id).catch(()=>{}),Pe(!1);const Ee=o??(ve==null?void 0:ve.linkedEnvironmentIds[0]);c(te.workspaceId&&Ee?Ri(te.workspaceId,Ee):"/",{replace:!0})};y.useEffect(()=>{(te==null?void 0:te.id)!==B.current&&(B.current=te==null?void 0:te.id,_e(void 0),Mt(""),ce(pe))},[te==null?void 0:te.id,pe]),y.useEffect(()=>{if(!(te!=null&&te.id))return;const Ee=te.id!==se.current,Ve=te.latestSessionId!==oe.current;(Ee||Ve)&&(se.current=te.id,oe.current=te.latestSessionId,_(te.id).catch(()=>{}))},[te==null?void 0:te.id,te==null?void 0:te.latestSessionId,_]),y.useEffect(()=>{if((te==null?void 0:te.status)!==R.current){const Ee=R.current===void 0;R.current=te==null?void 0:te.status;const Ve=(te==null?void 0:te.status)==="not_started"?"overview":(te==null?void 0:te.status)==="working"||(te==null?void 0:te.status)==="paused"?"stream":(te==null?void 0:te.status)==="complete"?"findings":void 0;Ve&&Ve!==de&&!(Ee&&G!=="overview")&&xe(Ve)}},[te==null?void 0:te.status,de,G]);const us=y.useMemo(()=>new Map(j.map(Ee=>[Ee.id,Ee])),[j]),ti=y.useMemo(()=>{const Ee=Me?u.filter(Ve=>Ve.sessionId===Me):[];return kh(xh(Ee))},[u,Me]),va=te?te.dependsOn.some(Ee=>{const Ve=us.get(Ee);return Ve!==void 0&&Ve.status!=="complete"}):!1,en=y.useMemo(()=>Iz(t,o,U,z,us),[t,o,U,z,us]);y.useEffect(()=>{Me&&Me!==le.current&&(le.current=Me,g(Me).catch(()=>{}))},[Me,g]),y.useEffect(()=>{de==="findings"&&re&&Y(re).catch(()=>{})},[de,re,Y]);const Hi=ft.reduce((Ee,Ve)=>Ee+(Ve.costMillicents??0),0);y.useEffect(()=>{te&&(W("task",te.id).catch(()=>{}),te.childTaskIds.length>0&&W("task_tree",te.id).catch(()=>{}))},[te==null?void 0:te.id,te==null?void 0:te.childTaskIds.length,W,Hi]);const ya=te?`task:${te.id}`:"",ni=ya in ge?ge[ya]:void 0,js=te?`task_tree:${te.id}`:"",Pi=te&&te.childTaskIds.length>0&&js in ge?ge[js]:void 0,Gn=Ee=>{xe(Ee),c(Hn(t,Ee==="overview"?void 0:Ee,s,o))};return ca({key:"1"},()=>Gn("overview")),ca({key:"2"},()=>Gn("stream")),ca({key:"3"},()=>Gn("findings")),!te&&w?a.jsx(rU,{}):a.jsxs("div",{className:J.panelContainer,children:[a.jsx(Ss,{segments:en}),a.jsxs("div",{className:J.header,children:[a.jsxs("span",{className:J.headerTitle,children:[a.jsx("span",{"data-testid":"task-title",children:(te==null?void 0:te.title)||t}),te&&a.jsx("span",{className:J.taskStatusBadge,"data-testid":"task-status",children:te.status}),(te==null?void 0:te.branch)&&a.jsx("span",{className:J.taskBranch,children:te.branch}),va&&a.jsx("span",{className:J.taskBlockedBadge,children:"blocked"})]}),te&&a.jsx(MB,{task:te,sessionId:Me,isBlocked:va,onStart:()=>{T(te.id,void 0,Ie).catch(Ee=>{const Ve=Ee instanceof da?Ee.message:"Failed to start task";d(Ve,"error")})},onResume:()=>{A(te.id).catch(()=>{})},onStop:()=>{C(te.id).catch(()=>{})},onPause:()=>{Me&&k(Me).catch(()=>{})},onDelete:rn,onEdit:()=>ce(!0)})]}),a.jsxs("div",{className:J.tabBar,role:"tablist","aria-label":"Task view",children:[a.jsx("button",{role:"tab","aria-selected":de==="overview",className:`${J.tab} ${de==="overview"?J.active:""}`,onClick:()=>Gn("overview"),children:"Overview"}),a.jsx("button",{role:"tab","aria-selected":de==="stream",className:`${J.tab} ${de==="stream"?J.active:""}`,onClick:()=>Gn("stream"),children:"Stream"}),a.jsx("button",{role:"tab","aria-selected":de==="findings",className:`${J.tab} ${de==="findings"?J.active:""}`,onClick:()=>Gn("findings"),children:"Findings"})]}),a.jsxs(rs,{mode:"wait",children:[de==="overview"&&a.jsx(Rt.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:J.overviewContent,"data-testid":"task-overview",children:hn&&te?a.jsx(ek,{mode:"edit",taskId:te.id,workspaceId:re,environmentId:o,tasks:j,workspaces:U,personas:X,onCreateTask:(Ee,Ve,tn,Ct,yn,nn,Ui,Vi,Gi)=>{E(Ee,Ve,tn,Ct,yn,nn,Ui,Vi,Gi).catch(()=>{})},onUpdateTask:(Ee,Ve,tn,Ct,yn)=>{O(Ee,Ve,tn,Ct,yn).catch(()=>{})},onEditDone:()=>{pe?c(Hn(te.id,void 0,s,o),{replace:!0}):ce(!1)},onShowToast:d}):te?a.jsx(_8,{task:te,tasksById:us,environments:z,workspaces:U,taskSessions:ft,selectedEnvId:Ie,taskUsage:ni,treeUsage:Pi}):a.jsx("div",{className:J.waitingMessage,children:"No additional details"})},"overview"),de==="stream"&&a.jsxs(Rt.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},style:{display:"flex",flexDirection:"column",flex:1,overflow:"hidden"},children:[a.jsx(b6,{taskSessions:ft,selectedSessionId:Me,onSelect:Ee=>_e(Ee)}),a.jsx(al,{events:ti,eventsDropped:p,emptyState:!Me&&te?va?a.jsx("div",{className:J.emptyCta,"data-testid":"stream-blocked-message",children:a.jsx("div",{className:J.ctaDescription,children:"This task is blocked by incomplete dependencies"})}):a.jsxs("div",{className:J.emptyCta,children:[a.jsx("button",{"data-testid":"stream-start-cta",className:J.ctaButton,onClick:()=>{T(te.id,void 0,Ie).catch(Ee=>{const Ve=Ee instanceof da?Ee.message:"Failed to start task";d(Ve,"error")})},children:"Start Task"}),a.jsx("div",{className:J.ctaDescription,children:"Click to begin agent execution"})]}):Me&&ti.length===0?a.jsx("div",{className:J.waitingMessage,children:"Waiting for events..."}):void 0,onShowToast:d})]},"stream"),de==="findings"&&a.jsx(Rt.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:J.tabContent,children:re?a.jsx(X1,{findings:H.filter(Ee=>Ee.workspaceId===re)}):a.jsx("div",{className:J.noContext,children:"Navigate to a task within a workspace to view findings"})},"findings")]}),(()=>{if(!te||te.status!=="working"&&te.status!=="paused")return;const Ee=Me?m.find(Ve=>Ve.id===Me):void 0;if(!(!Ee||Ee.status==="stopped"))return a.jsx(Rd,{mode:"send",sessionId:Ee.id,environmentId:Ee.environmentId,personas:X,environments:z,onSendInput:(Ve,tn)=>{b(Ve,tn).catch(()=>{d("Failed to send message","error")})},onSpawn:(Ve,tn,Ct)=>{x(Ve,tn,Ct,void 0,re).catch(()=>{})},onStartTask:(Ve,tn,Ct)=>{T(Ve,tn,Ct).catch(()=>{})},onProvisionEnvironment:Ve=>{D(Ve).catch(()=>{})},onShowToast:d})})(),te&&a.jsx(ks,{isOpen:Se,title:"Delete Task?",description:`"${te.title}" will be permanently removed.`,onConfirm:ga,onCancel:()=>Pe(!1)})]})}function lU(){const{environments:{environments:t,addEnvironment:s,updateEnvironment:o},codespaces:{codespaces:r,codespaceError:c,codespaceListError:d,codespaceCreating:u,listCodespaces:p,createCodespace:m},dockerContainers:{dockerContainers:g,dockerContainersError:v,listDockerContainers:_},githubAccounts:{githubAccounts:b}}=ot(),{showToast:x}=mn();return a.jsx(tk,{mode:"new",environments:t,githubAccounts:b,onAddEnvironment:(k,j,w,T)=>{s(k,j,w,T).catch(()=>{})},onUpdateEnvironment:(k,j)=>{o(k,j).catch(()=>{})},onListCodespaces:k=>{p(k).catch(()=>{})},codespaces:r,codespaceError:c,codespaceListError:d,codespaceCreating:u,onCreateCodespace:(k,j)=>{m(k,j).catch(()=>{})},onListDockerContainers:()=>{_().catch(()=>{})},dockerContainers:g,dockerContainersError:v,onShowToast:x})}function cU(){const{environmentId:t}=Vn(),{environments:{environments:s,addEnvironment:o,updateEnvironment:r},codespaces:{codespaces:c,codespaceError:d,codespaceListError:u,codespaceCreating:p,listCodespaces:m,createCodespace:g},dockerContainers:{dockerContainers:v,dockerContainersError:_,listDockerContainers:b},githubAccounts:{githubAccounts:x}}=ot(),{showToast:k}=mn();return a.jsx(tk,{mode:"edit",environmentId:t,environments:s,githubAccounts:x,onAddEnvironment:(j,w,T,C)=>{o(j,w,T,C).catch(()=>{})},onUpdateEnvironment:(j,w)=>{r(j,w).catch(()=>{})},onListCodespaces:j=>{m(j).catch(()=>{})},codespaces:c,codespaceError:d,codespaceListError:u,codespaceCreating:p,onCreateCodespace:(j,w)=>{g(j,w).catch(()=>{})},onListDockerContainers:()=>{b().catch(()=>{})},dockerContainers:v,dockerContainersError:_,onShowToast:k})}const dU="_layout_11u79_1",uU="_content_11u79_8",fU="_tabPanel_11u79_14",ol={layout:dU,content:uU,tabPanel:fU};function pU(){const t=Az();return a.jsxs("div",{className:ol.layout,children:[a.jsx(Ss,{segments:t}),a.jsx("div",{className:ol.content,children:a.jsx(ha,{})})]})}const mU="_container_144a4_1",hU="_envHeader_144a4_6",gU="_envTitleRow_144a4_10",vU="_statusDot_144a4_16",yU="_envName_144a4_21",bU="_statusBadge_144a4_27",_U="_envMeta_144a4_33",xU="_metaTag_144a4_39",kU="_actions_144a4_51",SU="_provisionMessage_144a4_59",jU="_errorMessage_144a4_64",TU="_section_144a4_69",wU="_sectionHeader_144a4_73",NU="_cardList_144a4_121",CU="_card_144a4_121",EU="_cardHeader_144a4_138",AU="_cardName_144a4_144",DU="_cardActions_144a4_149",RU="_cardDescription_144a4_154",MU="_cardMeta_144a4_160",IU="_repoLink_144a4_166",OU="_empty_144a4_174",LU="_errorHint_144a4_180",BU="_btnPrimary_144a4_186",$U="_btnOutline_144a4_220",zU="_btnSmall_144a4_247",HU="_btnDanger_144a4_273",Re={container:mU,envHeader:hU,envTitleRow:gU,statusDot:vU,envName:yU,statusBadge:bU,envMeta:_U,metaTag:xU,actions:kU,provisionMessage:SU,errorMessage:jU,section:TU,sectionHeader:wU,cardList:NU,card:CU,cardHeader:EU,cardName:AU,cardActions:DU,cardDescription:RU,cardMeta:MU,repoLink:IU,empty:OU,errorHint:LU,btnPrimary:BU,btnOutline:$U,btnSmall:zU,btnDanger:HU};function PU(){return a.jsxs("div",{className:Re.container,"aria-hidden":"true",children:[a.jsxs("div",{className:Re.envHeader,children:[a.jsxs("div",{className:Re.envTitleRow,children:[a.jsx(Ne,{width:"0.875rem",height:"0.875rem",variant:"circular"}),a.jsx(Ne,{width:"12rem",height:"1.5rem"}),a.jsx(Ne,{width:"4rem",height:"0.875rem"})]}),a.jsxs("div",{className:Re.envMeta,children:[a.jsx(Ne,{width:"6rem",height:"1.25rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"5rem",height:"1.25rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"4.5rem",height:"1.25rem",borderRadius:"var(--radius-sm)"})]})]}),a.jsxs("div",{className:Re.actions,children:[a.jsx(Ne,{width:"5rem",height:"2rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"4rem",height:"2rem",borderRadius:"var(--radius-sm)"})]}),a.jsxs("div",{className:Re.section,children:[a.jsx("div",{className:Re.sectionHeader,children:a.jsx("h3",{style:{margin:0},children:"Workspaces"})}),a.jsxs("div",{className:Re.cardList,children:[a.jsx(Sd,{lines:2}),a.jsx(Sd,{lines:2})]})]})]})}const UU={connected:"var(--accent-green)",sleeping:"var(--accent-yellow)",error:"var(--accent-red)",disconnected:"var(--text-tertiary)",connecting:"var(--accent-blue)"};function VU(){const{environmentId:t}=Vn(),s=dt(),{environments:{environments:o,environmentsLoading:r,provisionStatus:c,provisionEnvironment:d,stopEnvironment:u,removeEnvironment:p},workspaces:{workspaces:m,archiveWorkspace:g,linkEnvironment:v,unlinkEnvironment:_,linkOperationError:b,clearLinkOperationError:x},sessions:{sessions:k}}=ot(),[j,w]=y.useState(!1),[T,C]=y.useState(!1),[A,L]=y.useState(void 0),E=o.find(R=>R.id===t);if(!E&&r)return a.jsx(PU,{});if(!t||!E)return a.jsx(os,{to:$o,replace:!0});const O=m.filter(R=>R.linkedEnvironmentIds.includes(E.id)),z=k.filter(R=>R.environmentId===E.id),D=z.reduce((R,se)=>R+(se.costMillicents??0),0),H=UU[E.status]||"var(--text-tertiary)",Y=E.status==="connected",U=E.status==="connecting",X=E.status==="disconnected"||E.status==="error"||E.status==="sleeping",ge=E.id in c?c[E.id]:void 0,W=()=>{p(E.id).catch(()=>{}),w(!1),s($o,{replace:!0})},le=()=>{C(!1),d(E.id,!0).catch(()=>{})},B=R=>{g(R).catch(()=>{}),L(void 0)};return a.jsxs("div",{className:Re.container,children:[a.jsx(ks,{isOpen:j,title:"Delete Environment?",description:`"${E.displayName||E.id}" will be permanently removed along with all its data.`,onConfirm:W,onCancel:()=>w(!1)}),a.jsx(ks,{isOpen:T,title:"Reprovision Environment?",description:"This will kill any active session and force a fresh provision cycle. The environment will be temporarily disconnected.",confirmLabel:"Reprovision",onConfirm:le,onCancel:()=>C(!1)}),a.jsxs("div",{className:Re.envHeader,children:[a.jsxs("div",{className:Re.envTitleRow,children:[a.jsx("span",{className:Re.statusDot,style:{color:H},children:"●"}),a.jsx("h2",{className:Re.envName,children:E.displayName||E.id}),a.jsx("span",{className:Re.statusBadge,style:{color:H},children:E.status})]}),a.jsxs("div",{className:Re.envMeta,children:[a.jsxs("span",{className:Re.metaTag,children:["Adapter: ",E.adapterType]}),z.length>0&&a.jsxs("span",{className:Re.metaTag,children:[z.length," session",z.length!==1?"s":""]}),D>0&&a.jsxs("span",{className:Re.metaTag,children:["Cost: ",Is(D)]})]})]}),a.jsxs("div",{className:Re.actions,children:[Y&&a.jsxs(a.Fragment,{children:[a.jsx("button",{className:Re.btnPrimary,onClick:()=>s(sx(E.id)),children:"New Chat"}),a.jsx("button",{className:Re.btnOutline,onClick:()=>{u(E.id).catch(()=>{})},children:"Stop"}),a.jsx("button",{className:Re.btnOutline,onClick:()=>C(!0),disabled:ge!==void 0,"data-testid":"env-reprovision-btn",children:"Reprovision"})]}),X&&a.jsx("button",{className:Re.btnPrimary,onClick:()=>{d(E.id).catch(()=>{})},children:E.status==="error"?"Retry":E.status==="sleeping"?"Wake":"Connect"}),U&&ge!==void 0&&a.jsx("span",{className:Re.provisionMessage,children:ge.message}),E.status==="error"&&(ge==null?void 0:ge.stage)==="error"&&a.jsx("span",{className:Re.errorMessage,children:ge.message}),a.jsx("button",{className:Re.btnOutline,onClick:()=>s(UN(E.id)),"data-testid":"env-edit-btn",children:"Edit Config"}),a.jsx("button",{className:Re.btnDanger,onClick:()=>w(!0),children:"Delete"})]}),a.jsxs("div",{className:Re.section,children:[a.jsxs("div",{className:Re.sectionHeader,children:[a.jsx("h3",{children:"Workspaces"}),a.jsx("button",{className:Re.btnPrimary,onClick:()=>s(`${ox}?environment=${encodeURIComponent(E.id)}`),"data-testid":"workspace-create-button",children:"+ New Workspace"}),(()=>{const R=m.filter(se=>!se.linkedEnvironmentIds.includes(E.id)&&se.status==="active");return R.length===0?null:a.jsxs("select",{className:Re.btnPrimary,value:"",onChange:se=>{se.target.value&&v(se.target.value,E.id).catch(()=>{})},"aria-label":"Link a workspace","data-testid":"link-workspace-select",children:[a.jsx("option",{value:"",children:"+ Link Workspace"}),R.map(se=>a.jsx("option",{value:se.id,children:se.name},se.id))]})})()]}),b&&a.jsxs("p",{className:Re.errorHint,"data-testid":"link-operation-error",role:"alert",children:[b,a.jsx("button",{className:Re.btnSmall,onClick:x,"aria-label":"Dismiss error","data-testid":"dismiss-link-error",children:"Dismiss"})]}),O.length===0&&a.jsx("p",{className:Re.empty,"data-testid":"linked-workspaces-empty",children:"No workspaces yet. Create one to get started."}),a.jsx("div",{className:Re.cardList,"data-testid":"linked-workspaces-list",children:O.map(R=>a.jsx(GU,{workspace:R,confirmArchiveId:A,onOpen:()=>s(Ri(R.id,E.id)),onArchive:()=>L(R.id),onConfirmArchive:()=>B(R.id),onCancelArchive:()=>L(void 0),onUnlink:()=>{_(R.id,E.id).catch(()=>{})}},R.id))})]})]})}function GU({workspace:t,confirmArchiveId:s,onOpen:o,onArchive:r,onConfirmArchive:c,onCancelArchive:d,onUnlink:u}){const p=s===t.id,m=t.repoUrl&&/^https?:\/\//.test(t.repoUrl);return a.jsxs("div",{className:Re.card,"data-testid":"workspace-card","data-workspace-id":t.id,children:[a.jsxs("div",{className:Re.cardHeader,children:[a.jsx("strong",{className:Re.cardName,children:t.name}),a.jsxs("div",{className:Re.cardActions,children:[a.jsx("button",{className:Re.btnSmall,onClick:o,children:"Open"}),a.jsx("button",{className:Re.btnSmall,onClick:u,disabled:t.linkedEnvironmentIds.length<=1,"data-testid":`unlink-workspace-${t.id}`,children:"Unlink"}),p?a.jsxs(a.Fragment,{children:[a.jsx("button",{className:Re.btnDanger,onClick:c,children:"Confirm"}),a.jsx("button",{className:Re.btnSmall,onClick:d,children:"Cancel"})]}):a.jsx("button",{className:Re.btnSmall,onClick:r,children:"Archive"})]})]}),t.description&&a.jsx("p",{className:Re.cardDescription,children:t.description}),t.repoUrl&&a.jsx("div",{className:Re.cardMeta,children:m?a.jsx("a",{href:t.repoUrl,target:"_blank",rel:"noopener noreferrer",className:Re.repoLink,children:t.repoUrl}):a.jsx("span",{children:t.repoUrl})})]})}const qU={credentials:"Credentials","github-accounts":"GitHub Accounts",personas:"Personas",schedules:"Schedules",appearance:"Appearance",about:"About",shortcuts:"Shortcuts",plugins:"Plugins"};function FU(){const s=Jt().pathname.replace(/^\/settings\/?/,"").split("/")[0],o=qU[s],r=Ez(o);return a.jsxs("div",{className:ol.layout,children:[a.jsx(Ss,{segments:r}),a.jsx("div",{className:ol.content,children:a.jsx("div",{className:ol.tabPanel,children:a.jsx(ha,{})},s)})]})}function ZU(){const{tokens:{tokens:t,setToken:s,deleteToken:o},credentials:{credentialProviders:r,updateCredentialProviders:c}}=ot(),{showToast:d}=mn();return a.jsxs(a.Fragment,{children:[a.jsx(Q8,{credentialProviders:r,onUpdateCredentialProviders:u=>{c(u).catch(()=>{})}}),a.jsx(sB,{tokens:t,onSetToken:(u,p,m,g,v)=>{s(u,p,m,g,v).catch(()=>{})},onDeleteToken:u=>{o(u).catch(()=>{})},onShowToast:d})]})}function KU(){const{githubAccounts:{githubAccounts:t,githubAccountsLoading:s,addGitHubAccount:o,updateGitHubAccount:r,removeGitHubAccount:c,importGitHubAccounts:d}}=ot(),{showToast:u}=mn();return a.jsx(k8,{githubAccounts:t,githubAccountsLoading:s,onAddGitHubAccount:o,onUpdateGitHubAccount:r,onRemoveGitHubAccount:c,onImportGitHubAccounts:d,onShowToast:u})}function YU(){const{personas:{personas:t,deletePersona:s},appDefaultPersonaId:o,setAppDefaultPersonaId:r}=ot(),{showToast:c}=mn(),d=dt();return a.jsx(f7,{personas:t,appDefaultPersonaId:o,onDeletePersona:async u=>{try{await s(u)}catch(p){throw console.error("Failed to delete persona",{personaId:u,error:p}),c("Failed to delete persona","error"),p}},onSetAppDefaultPersonaId:async u=>{try{await r(u)}catch(p){console.error("Failed to set app default persona ID",{personaId:u,error:p}),c("Failed to set app default persona","error")}},onNavigateToNew:()=>d(GN),onNavigateToPersona:u=>d(ax(u))})}const JU="_container_1ooin_1",WU="_form_1ooin_7",XU="_formActions_1ooin_75",QU="_editableSection_1ooin_82",eV="_defaultBadge_1ooin_93",tV="_typeToggle_1ooin_107",nV="_scriptEditor_1ooin_121",sV="_optional_1ooin_128",bs={container:JU,form:WU,formActions:XU,editableSection:QU,defaultBadge:eV,typeToggle:tV,scriptEditor:nV,optional:sV},S_=[{value:"claude-code",label:"claude-code"},{value:"codex",label:"codex"},{value:"copilot",label:"copilot"},{value:"goose",label:"goose"},{value:"stub",label:"stub"},{value:"claude-code-acp",label:"claude-code-acp (experimental)"},{value:"codex-acp",label:"codex-acp (experimental)"},{value:"copilot-acp",label:"copilot-acp (experimental)"}],j_=[{value:"genaiscript",label:"genaiscript"}],aV="0";function T_(){const{personaId:t}=Vn(),s=dt(),{showToast:o}=mn(),{personas:{personas:r,createPersona:c,updatePersona:d,deletePersona:u},appDefaultPersonaId:p,setAppDefaultPersonaId:m}=ot(),g=t===void 0,v=g?void 0:r.find(b=>b.id===t);if(!g&&r.length>0&&!v)return a.jsx(os,{to:cp,replace:!0});const _=[{label:"Settings",url:Ai},{label:"Personas",url:cp},{label:g?"New Persona":(v==null?void 0:v.name)??"Persona",url:void 0}];return a.jsxs("div",{className:bs.container,children:[a.jsx(Ss,{segments:_}),a.jsx(iV,{existing:v,isNew:g,appDefaultPersonaId:p,onCreatePersona:c,onUpdatePersona:d,onDeletePersona:u,onSetAppDefaultPersonaId:m,onDone:()=>{s(cp)},showToast:o})]})}function iV({existing:t,isNew:s,appDefaultPersonaId:o,onCreatePersona:r,onUpdatePersona:c,onDeletePersona:d,onSetAppDefaultPersonaId:u,onDone:p,showToast:m}){const g=dt(),[v,_]=y.useState((t==null?void 0:t.name)??""),[b,x]=y.useState((t==null?void 0:t.description)??""),[k,j]=y.useState((t==null?void 0:t.systemPrompt)??""),[w,T]=y.useState((t==null?void 0:t.runtime)??"claude-code"),[C,A]=y.useState((t==null?void 0:t.model)??"sonnet"),[L,E]=y.useState((t==null?void 0:t.maxTurns)??0),[O,z]=y.useState((t==null?void 0:t.type)==="script"?"script":"agent"),[D,H]=y.useState((t==null?void 0:t.script)??""),[Y,U]=y.useState((t==null?void 0:t.allowedMcpTools)??[]),[X,ge]=y.useState(!1),[W,le]=y.useState(null),[B,R]=y.useState(!!s);y.useEffect(()=>{if(!s&&t&&!B){R(!0),_(t.name),x(t.description),j(t.systemPrompt);const ce=t.type==="script"?"script":"agent";T(ce==="script"?t.runtime||"genaiscript":t.runtime),A(t.model),E(t.maxTurns),z(ce),H(t.script||""),U(t.allowedMcpTools)}},[s,t,B]);const se=ce=>{z(ce),ce==="script"?T("genaiscript"):w==="genaiscript"&&T("claude-code")},oe=!s&&t===void 0,G=v.trim().length>0&&!oe&&k.trim().length>0&&(O==="script"?D.trim().length>0:!!w&&!!C),pe=s&&G,de=!s&&o===(t==null?void 0:t.id),xe=!s&&t&&!de&&O==="agent"&&!!w&&!!C,Se=(ce,Ue)=>{if(!ce.trim())return`${Ue} is required`},Pe=ce=>{if(ce.preventDefault(),!(oe||!G)){if(t){c(t.id,v,b,k,w,C,L,O,D).then(()=>{m("Persona updated","success"),p()},()=>{m("Failed to save persona","error")});return}r(v,b,k,w,C,L,O,D,Y).then(Ue=>{m("Persona created","success"),g(ax(Ue.id),{replace:!0})},()=>{m("Failed to save persona","error")})}},gt=()=>{t&&d(t.id).then(()=>{m("Persona deleted","success"),p()},()=>{m("Failed to delete persona","error")})},_e=async(ce,Ue,ut,te)=>ce().then(()=>{Ue(),m(ut,"success")},()=>{m(te,"error")}),Ie=(ce,Ue)=>{if(!t)return;const ut=ce==="type"?String(Ue):O,te=ce==="runtime"?String(Ue):ce==="type"?String(Ue)==="script"?"genaiscript":w==="genaiscript"?"claude-code":w:w,re=ce==="model"?String(Ue):C,ve=ce==="maxTurns"?Number(Ue):L,ft=ce==="systemPrompt"?String(Ue):k,Me=ce==="script"?String(Ue):D;_e(()=>c(t.id,ce==="name"?String(Ue):v,ce==="description"?String(Ue):b,ft,te,re,ve,ut,Me),()=>{if(ce==="type"){const rn=String(Ue)==="script"?"script":"agent";z(rn),T(te)}ce==="runtime"&&T(String(Ue)),ce==="name"&&_(String(Ue)),ce==="description"&&x(String(Ue)),ce==="systemPrompt"&&j(String(Ue)),ce==="model"&&A(String(Ue)),ce==="maxTurns"&&E(Number(Ue)),ce==="script"&&H(String(Ue))},"Persona updated","Failed to update persona").catch(()=>{})},Mt=ce=>{Pe(ce)},hn=()=>{t&&u(t.id).then(()=>{m("Set as app default","success")},()=>{m("Failed to set app default","error")})};return a.jsxs(a.Fragment,{children:[oe?a.jsxs("div",{className:bs.form,children:[a.jsx("h3",{children:"Edit Persona"}),a.jsx("p",{children:"Loading persona..."})]}):s?a.jsxs("form",{onSubmit:Mt,className:bs.form,children:[a.jsx("h3",{children:"Create Persona"}),a.jsxs("div",{className:bs.typeToggle,"data-testid":"persona-type-toggle",children:[a.jsxs("label",{children:[a.jsx("input",{type:"radio",name:"personaType",value:"agent",checked:O==="agent",onChange:()=>se("agent")}),"Agent"]}),a.jsxs("label",{children:[a.jsx("input",{type:"radio",name:"personaType",value:"script",checked:O==="script",onChange:()=>se("script")}),"Script"]})]}),a.jsxs("label",{children:["Name",a.jsx("input",{type:"text",value:v,onChange:ce=>_(ce.target.value),placeholder:O==="script"?"e.g. Nightly Report":"e.g. Frontend Engineer",required:!0,"data-testid":"persona-detail-name"})]}),a.jsxs("label",{children:["Description",a.jsx("input",{type:"text",value:b,onChange:ce=>x(ce.target.value),placeholder:"Brief description...","data-testid":"persona-detail-description"})]}),a.jsxs("label",{children:["Runtime",a.jsx("select",{value:w,onChange:ce=>T(ce.target.value),"data-testid":"persona-runtime-select",children:(O==="script"?j_:S_).map(ce=>a.jsx("option",{value:ce.value,children:ce.label},ce.value))})]}),O==="agent"&&a.jsxs(a.Fragment,{children:[a.jsxs("label",{children:["Model",a.jsx("input",{type:"text",value:C,onChange:ce=>A(ce.target.value),placeholder:"e.g. sonnet","data-testid":"persona-detail-model"})]}),a.jsxs("label",{children:["Max Turns",a.jsx("input",{type:"number",value:L,onChange:ce=>E(parseInt(ce.target.value,10)||0),min:0,"data-testid":"persona-detail-max-turns"})]}),a.jsxs("label",{children:["System Prompt",a.jsx("textarea",{value:k,onChange:ce=>j(ce.target.value),placeholder:"You are a senior frontend engineer...",rows:10,required:!0,"data-testid":"persona-detail-prompt"})]})]}),O==="script"&&a.jsxs(a.Fragment,{children:[a.jsxs("label",{children:["Model ",a.jsx("span",{className:bs.optional,children:"(optional)"}),a.jsx("input",{type:"text",value:C,onChange:ce=>A(ce.target.value),placeholder:"e.g. sonnet (leave empty for script-only)","data-testid":"persona-detail-model"})]}),a.jsxs("label",{children:["System Prompt",a.jsx("textarea",{value:k,onChange:ce=>j(ce.target.value),placeholder:"Context for the script...",rows:4,required:!0,"data-testid":"persona-detail-prompt"})]}),a.jsxs("label",{children:["Script",a.jsx("textarea",{value:D,onChange:ce=>H(ce.target.value),placeholder:`script({ model: "openai:gpt-4o" });
740
+ src/utils/token-refresh.ts:28: const remaining = decoded.exp - Date.now() / 1000;`,raw:JSON.stringify({tool_use_id:"tool-mock-004",is_error:!1})}},{delayMs:7800,event:{eventType:"text",timestamp:Le(7800),content:"Fixed. The token expiry comparison was inverted — `decoded.exp > Date.now()` should have been `<` (a token is expired when its `exp` is in the past). The other occurrence in `token-refresh.ts` uses subtraction (not comparison), so it was already correct. All 3 auth tests pass."}},{delayMs:8400,event:{eventType:"usage",timestamp:Le(8400),content:JSON.stringify({input_tokens:42600,output_tokens:1850,cost_millicents:12e3})}},{delayMs:8800,event:{eventType:"status",timestamp:Le(8800),content:"completed"}}]}],Bn={onConnect:async()=>{},onDisconnect:()=>{},handleEvent:()=>!1},m_=400;function Xz({children:t}){const[s,o]=y.useState(Gz),[r,c]=y.useState(qz),[d,u]=y.useState(Fz),[p,m]=y.useState(void 0),[g,v]=y.useState(Zz),[_,b]=y.useState(""),[x,k]=y.useState(Kz),[j,w]=y.useState(Qc),[T,C]=y.useState(void 0),A=!1,[L,E]=y.useState(Yz),[O,z]=y.useState({claude:"off",github:"off",copilot:"off",codex:"off",goose:"off"}),[D,H]=y.useState(Jz),[Y,U]=y.useState([]),[X]=y.useState(Wz),[he,W]=y.useState(""),[le,B]=y.useState(Rs),[R,se]=y.useState(Fa),[oe,G]=y.useState(void 0),[pe,de]=y.useState(void 0),[xe,Se]=y.useState(""),Pe=y.useRef(void 0),gt=y.useRef(0),_e=y.useRef(0),Ie=y.useRef(new Set),Mt=y.useRef(new Map),hn=y.useRef(x);hn.current=x;const ce=y.useRef(new Map),Ue=y.useRef(new Map),ut=y.useCallback(P=>(gt.current+=1,`mock-${P}-${String(gt.current).padStart(3,"0")}`),[]),te=y.useCallback(()=>{const P=p_[_e.current%p_.length];return _e.current+=1,P},[]),re=y.useCallback((P,ee,ue)=>{const me=setTimeout(()=>{var ye;Ie.current.delete(me),ue&&((ye=Mt.current.get(ue))==null||ye.delete(me)),P()},ee);Ie.current.add(me),ue&&(Mt.current.has(ue)||Mt.current.set(ue,new Set),Mt.current.get(ue).add(me))},[]),ve=y.useCallback(P=>{const ee=Mt.current.get(P);ee&&(ee.forEach(ue=>{clearTimeout(ue),Ie.current.delete(ue)}),Mt.current.delete(P))},[]),ft=y.useCallback((P,ee,ue)=>{c(me=>me.map(ye=>ye.id===P?{...ye,status:ee,...ue!==void 0?{endReason:ue}:{}}:ye))},[]),Me=y.useCallback(P=>{u(ee=>[...ee,P])},[]),rn=y.useCallback((P,ee,ue)=>{ee.forEach((me,ye)=>{re(()=>{const Ze={sessionId:P,...me.event,timestamp:new Date().toISOString()};if(Me(Ze),me.event.eventType==="status"){const Te=pk(me.event.content),Oe=mk(me.event.content);ft(P,Te,Oe)}ye===ee.length-1&&ue&&ue()},me.delayMs,P)})},[re,Me,ft]),ga=y.useCallback(async(P,ee,ue,me)=>{console.log("[MockGrackle] spawn",{environmentId:P,prompt:ee,runtime:me});const ye=ut("sess"),Ze={id:ye,environmentId:P,runtime:me||"claude-code",status:"running",prompt:ee,startedAt:new Date().toISOString()};c(Oe=>[...Oe,Ze]),m(ye);const Te=te();if(console.log(`[MockGrackle] Playing scenario: ${Te.label}`),Te.pauseForInput){const Oe=Te.pauseAfterStep??Te.steps.length-1,Qe=Te.steps.slice(0,Oe+1),vt=Qe.length>0?Qe[Qe.length-1].delayMs:0;rn(ye,Qe),re(()=>{ft(ye,"idle"),Me({sessionId:ye,eventType:"status",timestamp:new Date().toISOString(),content:"idle"})},vt+m_,ye),Te.resumeSteps&&ce.current.set(ye,Te.resumeSteps)}else rn(ye,Te.steps)},[ut,te,rn,re,ft,Me]),us=y.useCallback(async P=>{console.log("[MockGrackle] kill",P),ve(P),ce.current.delete(P),ft(P,"stopped","killed"),Me({sessionId:P,eventType:"status",timestamp:new Date().toISOString(),content:"killed"}),k(ee=>ee.map(ue=>ue.latestSessionId===P&&ue.status==="working"?{...ue,status:"not_started"}:ue))},[ve,ft,Me]),ni=y.useCallback(async P=>{console.log("[MockGrackle] stopGraceful",P),ve(P),ce.current.delete(P),ft(P,"stopped","terminated"),Me({sessionId:P,eventType:"status",timestamp:new Date().toISOString(),content:"terminated"}),k(ee=>ee.map(ue=>ue.latestSessionId===P&&ue.status==="working"?{...ue,status:"not_started"}:ue))},[ve,ft,Me]),va=y.useCallback(()=>{console.log("[MockGrackle] refresh")},[]),en=y.useCallback(async P=>{console.log("[MockGrackle] loadSessionEvents",P)},[]),zi=y.useCallback(()=>{console.log("[MockGrackle] clearEvents"),u([])},[]),ya=y.useCallback(async(P,ee,ue,me,ye,Ze,Te,Oe,Qe)=>{console.log("[MockGrackle] createWorkspace",{name:P,description:ee});const vt={id:ut("proj"),name:P,description:ee||"",repoUrl:ue||"",linkedEnvironmentIds:me?[me]:[],status:"active",workingDirectory:Te||"",useWorktrees:Ze??!0,defaultPersonaId:ye||"",tokenBudget:0,costBudgetMillicents:0,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};v(Ge=>[...Ge,vt]),Oe&&Oe(vt)},[ut]),si=y.useCallback(async P=>{console.log("[MockGrackle] archiveWorkspace",P),v(ee=>ee.map(ue=>ue.id===P?{...ue,status:"archived"}:ue))},[]),js=y.useCallback(async P=>{console.log("[MockGrackle] loadTasks",P)},[]),Hi=y.useCallback(async(P,ee,ue,me,ye,Ze,Te,Oe,Qe)=>{console.log("[MockGrackle] createTask",{workspaceId:P,title:ee,parentTaskId:ye}),k(vt=>{const et=vt.filter(zs=>zs.workspaceId===P).reduce((zs,Jo)=>Math.max(zs,Jo.sortOrder),0),pt=ye?vt.find(zs=>zs.id===ye):void 0;if(ye&&!pt)return console.warn("[MockGrackle] Parent task not found:",ye),vt;if(pt&&!pt.canDecompose)return console.warn("[MockGrackle] Parent task does not have decomposition rights:",ye),vt;const kt=pt?pt.depth+1:0,ws={id:ut("task"),workspaceId:P,title:ee,description:ue||"",status:"not_started",branch:"",latestSessionId:"",dependsOn:me||[],reviewNotes:void 0,sortOrder:et+1,createdAt:new Date().toISOString(),parentTaskId:ye||"",depth:kt,childTaskIds:[],canDecompose:Te??!ye,defaultPersonaId:Ze||"",workpad:"",tokenBudget:0,costBudgetMillicents:0};return[...vt,ws]}),Oe&&Oe()},[ut]),Gn=y.useCallback(async(P,ee,ue,me)=>{var vt;console.log("[MockGrackle] startTask",{taskId:P});const ye=hn.current.find(Ge=>Ge.id===P),Ze=(ye==null?void 0:ye.title)??"",Te=ut("sess"),Oe={id:Te,environmentId:"env-local-01",runtime:"claude-code",status:"running",prompt:Ze||P,startedAt:new Date().toISOString()};c(Ge=>[...Ge,Oe]),k(Ge=>Ge.map(et=>et.id===P?{...et,status:"working",latestSessionId:Te,branch:`mock/${P.slice(0,8)}`}:et));const Qe=te();if(console.log(`[MockGrackle] Playing task scenario: ${Qe.label}`),Qe.pauseForInput){const Ge=Qe.pauseAfterStep??Qe.steps.length-1,et=Qe.steps.slice(0,Ge+1),pt=et.length>0?et[et.length-1].delayMs:0;if(rn(Te,et),re(()=>{ft(Te,"idle"),Me({sessionId:Te,eventType:"status",timestamp:new Date().toISOString(),content:"idle"})},pt+m_,Te),Qe.resumeSteps){const kt=[...Qe.resumeSteps];ce.current.set(Te,kt);const ws=kt.reduce((zs,Jo)=>Math.max(zs,Jo.delayMs),0);Ue.current.set(Te,{taskId:P,delayAfterResume:ws+200})}}else{const Ge=Qe.steps.length>0?Qe.steps[Qe.steps.length-1].delayMs:0;rn(Te,Qe.steps);const et=(vt=Qe.steps[Qe.steps.length-1])==null?void 0:vt.event.content;re(()=>{et==="completed"?k(pt=>pt.map(kt=>kt.id===P&&kt.status==="working"?{...kt,status:"paused"}:kt)):et==="failed"&&k(pt=>pt.map(kt=>kt.id===P&&kt.status==="working"?{...kt,status:"failed"}:kt))},Ge+100,Te)}},[ut,te,rn,re,ft,Me]),Ee=y.useCallback(async(P,ee)=>{console.log("[MockGrackle] sendInput",{sessionId:P,text:ee}),Me({sessionId:P,eventType:"output",timestamp:new Date().toISOString(),content:`User input: ${ee}`}),ft(P,"running"),Me({sessionId:P,eventType:"status",timestamp:new Date().toISOString(),content:"running"});const ue=ce.current.get(P);if(ue)ce.current.delete(P),rn(P,ue);else{const ye=[{delayMs:500,event:{eventType:"output",timestamp:new Date().toISOString(),content:"I received your input, continuing..."}},{delayMs:1500,event:{eventType:"status",timestamp:new Date().toISOString(),content:"completed"}}];rn(P,ye)}const me=Ue.current.get(P);me&&(Ue.current.delete(P),re(()=>{k(ye=>ye.map(Ze=>Ze.id===me.taskId&&Ze.status==="working"?{...Ze,status:"paused"}:Ze))},me.delayAfterResume,P))},[Me,ft,rn,re]),Ve=y.useCallback(async P=>{console.log("[MockGrackle] completeTask",P),k(ee=>ee.map(ue=>ue.id===P?{...ue,status:"complete"}:ue))},[]),tn=y.useCallback(async P=>{console.log("[MockGrackle] resumeTask",P)},[]),Ct=y.useCallback(async(P,ee,ue,me,ye)=>{console.log("[MockGrackle] updateTask",{taskId:P,title:ee}),k(Ze=>Ze.map(Te=>Te.id===P?{...Te,title:ee.trim()||Te.title,description:ue,dependsOn:me,...ye!==void 0?{defaultPersonaId:ye}:{}}:Te))},[]),yn=y.useCallback(async P=>{console.log("[MockGrackle] deleteTask",P),k(ee=>ee.filter(ue=>ue.id!==P))},[]),nn=y.useCallback(async P=>{console.log("[MockGrackle] loadFindings",P),w(Qc.filter(ee=>ee.workspaceId===P))},[]),Pi=y.useCallback(async()=>{console.log("[MockGrackle] loadAllFindings"),w([...Qc])},[]),Ui=y.useCallback(async P=>{console.log("[MockGrackle] loadFinding",P);const ee=Qc.find(ue=>ue.id===P);C(ee)},[]),Vi=y.useCallback(async(P,ee,ue,me,ye)=>{console.log("[MockGrackle] postFinding",{workspaceId:P,title:ee});const Ze={id:ut("find"),workspaceId:P,taskId:"",sessionId:"",category:me||"general",title:ee,content:ue,tags:ye||[],createdAt:new Date().toISOString()};w(Te=>[...Te,Ze])},[ut]),ai=y.useCallback(async()=>{console.log("[MockGrackle] loadEnvironments")},[]),ii=y.useCallback(async(P,ee,ue)=>{console.log("[MockGrackle] addEnvironment",{displayName:P,adapterType:ee,adapterConfig:ue})},[]),oi=y.useCallback(async(P,ee)=>{console.log("[MockGrackle] updateEnvironment",{environmentId:P,...ee}),o(ue=>ue.map(me=>me.id!==P?me:{...me,...ee.displayName!==void 0?{displayName:ee.displayName}:{},...ee.adapterConfig!==void 0?{adapterConfig:JSON.stringify(ee.adapterConfig)}:{}}))},[]),Ts=y.useCallback(async()=>{console.log("[MockGrackle] loadTokens")},[]),ri=y.useCallback(async(P,ee,ue,me,ye)=>{console.log("[MockGrackle] setToken",{name:P,tokenType:ue}),E(Ze=>[...Ze.filter(Oe=>Oe.name!==P),{name:P,tokenType:ue,envVar:me,filePath:ye,expiresAt:""}])},[]),ba=y.useCallback(async P=>{console.log("[MockGrackle] deleteToken",P),E(ee=>ee.filter(ue=>ue.name!==P))},[]),jl=y.useCallback(async P=>{console.log("[MockGrackle] updateCredentialProviders",P),z(P)},[]);y.useEffect(()=>()=>{Ie.current.forEach(clearTimeout),Ie.current.clear()},[]);const Tl=y.useMemo(()=>({connectionStatus:"connected",environments:{environments:s,environmentsLoading:!1,provisionStatus:{},operationError:"",clearOperationError:()=>{},loadEnvironments:ai,addEnvironment:ii,updateEnvironment:oi,provisionEnvironment:async(P,ee)=>{},stopEnvironment:async()=>{},removeEnvironment:async()=>{},domainHook:Bn},sessions:{sessions:r,sessionsLoading:!1,events:d,eventsDropped:0,lastSpawnedId:p,taskSessions:X,spawn:ga,sendInput:Ee,kill:us,stopGraceful:ni,loadSessionEvents:en,clearEvents:zi,loadTaskSessions:async P=>{console.log("[MockGrackle] loadTaskSessions",P)},domainHook:Bn},workspaces:{workspaces:g,workspacesLoading:!1,workspaceCreating:!1,loadWorkspaces:async()=>{console.log("[MockGrackle] loadWorkspaces")},createWorkspace:ya,archiveWorkspace:si,updateWorkspace:async(P,ee)=>{console.log("[MockGrackle] updateWorkspace",{workspaceId:P,...ee}),v(ue=>ue.map(me=>me.id!==P?me:{...me,...ee.name!==void 0?{name:ee.name}:{},...ee.description!==void 0?{description:ee.description}:{},...ee.repoUrl!==void 0?{repoUrl:ee.repoUrl}:{},...ee.environmentId!==void 0?{environmentId:ee.environmentId}:{},...ee.workingDirectory!==void 0?{workingDirectory:ee.workingDirectory}:{},...ee.useWorktrees!==void 0?{useWorktrees:ee.useWorktrees}:{},...ee.defaultPersonaId!==void 0?{defaultPersonaId:ee.defaultPersonaId}:{},updatedAt:new Date().toISOString()}))},linkEnvironment:async(P,ee)=>{if(console.log("[MockGrackle] linkEnvironment",{workspaceId:P,environmentId:ee}),ee==="error-env"){b("Failed to link environment");return}b(""),v(ue=>ue.map(me=>me.id!==P||me.linkedEnvironmentIds.includes(ee)?me:{...me,linkedEnvironmentIds:[...me.linkedEnvironmentIds,ee]}))},unlinkEnvironment:async(P,ee)=>{if(console.log("[MockGrackle] unlinkEnvironment",{workspaceId:P,environmentId:ee}),ee==="error-env"){b("Failed to unlink environment");return}b(""),v(ue=>ue.map(me=>me.id!==P?me:{...me,linkedEnvironmentIds:me.linkedEnvironmentIds.filter(ye=>ye!==ee)}))},linkOperationError:_,clearLinkOperationError:()=>{b("")},domainHook:Bn},tasks:{tasks:x,tasksLoading:!1,taskStartingId:void 0,loadTasks:js,loadAllTasks:async()=>{console.log("[MockGrackle] loadAllTasks")},createTask:Hi,startTask:Gn,stopTask:async P=>{console.log("[MockGrackle] stopTask",{taskId:P}),await Ve(P)},completeTask:Ve,resumeTask:tn,updateTask:Ct,deleteTask:yn,domainHook:Bn},findings:{findings:j,selectedFinding:T,findingLoading:A,findingsLoading:!1,loadFindings:nn,loadAllFindings:Pi,loadFinding:Ui,postFinding:Vi,domainHook:Bn},tokens:{tokens:L,tokensLoading:!1,loadTokens:Ts,setToken:ri,deleteToken:ba,domainHook:Bn},credentials:{credentialProviders:O,credentialsLoading:!1,updateCredentialProviders:jl,domainHook:Bn},codespaces:{codespaces:[],codespaceError:"",codespaceListError:"",codespaceCreating:!1,listCodespaces:async()=>{},createCodespace:async()=>{},domainHook:Bn},dockerContainers:{dockerContainers:[],dockerContainersError:"",listDockerContainers:async()=>{},domainHook:Bn},personas:{personas:D,personasLoading:!1,createPersona:async(P,ee,ue,me,ye,Ze,Te,Oe,Qe)=>{console.log("[MockGrackle] createPersona",{name:P});const vt={id:`mock-persona-${Date.now()}`,name:P,description:ee,systemPrompt:ue,toolConfig:"{}",runtime:me??"claude-code",model:ye||"",maxTurns:Ze||0,mcpServers:"[]",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),type:Te||"agent",script:Oe||"",allowedMcpTools:Qe||[]};return H(Ge=>[...Ge,vt]),vt},updatePersona:async(P,ee,ue,me,ye,Ze,Te,Oe,Qe,vt)=>{console.log("[MockGrackle] updatePersona",{personaId:P,name:ee});const Ge=D.find(kt=>kt.id===P);if(!Ge)throw new Error(`Persona not found: ${P}`);const et=new Date().toISOString(),pt={...Ge,...ee!==void 0?{name:ee}:{},...ue!==void 0?{description:ue}:{},...me!==void 0?{systemPrompt:me}:{},...ye!==void 0?{runtime:ye}:{},...Ze!==void 0?{model:Ze}:{},...Te!==void 0?{maxTurns:Te}:{},...Oe!==void 0?{type:Oe}:{},...Qe!==void 0?{script:Qe}:{},...vt!==void 0?{allowedMcpTools:vt}:{},updatedAt:et};return H(kt=>kt.map(ws=>ws.id===P?pt:ws)),pt},deletePersona:async P=>{console.log("[MockGrackle] deletePersona",P),H(ee=>ee.filter(ue=>ue.id!==P))},domainHook:Bn},schedules:{schedules:Y,schedulesLoading:!1,createSchedule:async(P,ee,ue,me,ye)=>{console.log("[MockGrackle] createSchedule",{title:P});const Ze={id:`mock-schedule-${Date.now()}`,title:P,description:ee,scheduleExpression:ue,personaId:me,workspaceId:ye??"",parentTaskId:"",enabled:!0,lastRunAt:"",nextRunAt:new Date(Date.now()+6e4).toISOString(),runCount:0,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return U(Te=>[...Te,Ze]),Ze},updateSchedule:async(P,ee)=>{console.log("[MockGrackle] updateSchedule",{scheduleId:P,fields:ee});let ue;if(U(me=>me.map(ye=>ye.id!==P?ye:(ue={...ye,...ee,updatedAt:new Date().toISOString()},ue))),!ue)throw new Error(`Schedule not found: ${P}`);return ue},deleteSchedule:async P=>{console.log("[MockGrackle] deleteSchedule",P),U(ee=>ee.filter(ue=>ue.id!==P))},domainHook:Bn},streams:{streams:[],streamsLoading:!1,streamsLoadedOnce:!0,streamsLoadError:!1,loadStreams:async()=>{},domainHook:Bn},knowledge:{graphData:{nodes:le,links:R},selectedNode:oe,loading:!1,selectedId:pe,searchQuery:xe,search:async P=>{if(console.log("[MockGrackle] knowledge.search",P),!P.trim()){Se(P);return}Se(P);const ee=Pe.current,ue=ee?Rs.filter(Te=>!Te.workspaceId||Te.workspaceId===ee):Rs,me=P.toLowerCase(),ye=ue.filter(Te=>{var Oe,Qe,vt;return Te.label.toLowerCase().includes(me)||((Oe=Te.content)==null?void 0:Oe.toLowerCase().includes(me))||((Qe=Te.tags)==null?void 0:Qe.some(Ge=>Ge.toLowerCase().includes(me)))||((vt=Te.category)==null?void 0:vt.toLowerCase().includes(me))});B(ye);const Ze=new Set(ye.map(Te=>Te.id));se(Fa.filter(Te=>Ze.has(Te.source)&&Ze.has(Te.target))),de(void 0),G(void 0)},clearSearch:()=>{console.log("[MockGrackle] knowledge.clearSearch"),Se("");const P=Pe.current,ee=P?Rs.filter(me=>!me.workspaceId||me.workspaceId===P):Rs;B(ee);const ue=new Set(ee.map(me=>me.id));se(Fa.filter(me=>ue.has(me.source)&&ue.has(me.target)))},selectNode:async P=>{console.log("[MockGrackle] knowledge.selectNode",P),de(P);const ee=P in f_?f_[P]:void 0;if(ee)G(ee);else{const ue=Rs.find(me=>me.id===P);if(ue){const me=Fa.filter(ye=>ye.source===P||ye.target===P).map(ye=>({fromId:ye.source,toId:ye.target,type:ye.type}));G({node:ue,edges:me})}}},clearSelection:()=>{console.log("[MockGrackle] knowledge.clearSelection"),de(void 0),G(void 0)},expandNode:async P=>{console.log("[MockGrackle] knowledge.expandNode",P),B(ee=>{const ue=new Set(ee.map(Oe=>Oe.id)),me=Fa.filter(Oe=>Oe.source===P||Oe.target===P),ye=new Set;for(const Oe of me)ue.has(Oe.source)||ye.add(Oe.source),ue.has(Oe.target)||ye.add(Oe.target);if(ye.size===0)return ee;const Ze=Rs.filter(Oe=>ye.has(Oe.id)),Te=new Set([...ue,...ye]);return se(Oe=>{const Qe=new Set(Oe.map(Ge=>`${Ge.source}|${Ge.target}|${Ge.type}`)),vt=Fa.filter(Ge=>Te.has(Ge.source)&&Te.has(Ge.target)&&!Qe.has(`${Ge.source}|${Ge.target}|${Ge.type}`));return vt.length>0?[...Oe,...vt]:Oe}),[...ee,...Ze]})},loadRecent:async P=>{if(console.log("[MockGrackle] knowledge.loadRecent",P),Pe.current=P,P){const ee=Rs.filter(me=>!me.workspaceId||me.workspaceId===P);B(ee);const ue=new Set(ee.map(me=>me.id));se(Fa.filter(me=>ue.has(me.source)&&ue.has(me.target)))}else B(Rs),se(Fa);Se("")},handleEvent:()=>!1,domainHook:Bn},githubAccounts:{githubAccounts:[],githubAccountsLoading:!1,loadGitHubAccounts:async()=>{console.log("[MockGrackle] loadGitHubAccounts")},addGitHubAccount:async(P,ee,ue,me)=>{console.log("[MockGrackle] addGitHubAccount",P)},updateGitHubAccount:async(P,ee)=>{console.log("[MockGrackle] updateGitHubAccount",P,ee)},removeGitHubAccount:async P=>{console.log("[MockGrackle] removeGitHubAccount",P)},importGitHubAccounts:async()=>(console.log("[MockGrackle] importGitHubAccounts"),{imported:0,usernames:[]})},plugins:{plugins:[{name:"core",description:"Core infrastructure",enabled:!0,required:!0,loaded:!0},{name:"orchestration",description:"Task orchestration",enabled:!0,required:!1,loaded:!0},{name:"scheduling",description:"Scheduled triggers",enabled:!0,required:!1,loaded:!0},{name:"knowledge",description:"Knowledge graph",enabled:!1,required:!1,loaded:!1}],pluginsLoading:!1,loadPlugins:async()=>{console.log("[MockGrackle] loadPlugins")},setPluginEnabled:async(P,ee)=>{console.log("[MockGrackle] setPluginEnabled",P,ee)}},appDefaultPersonaId:he,setAppDefaultPersonaId:async P=>{console.log("[MockGrackle] setAppDefaultPersonaId",P),W(P)},onboardingCompleted:!0,completeOnboarding:async()=>{console.log("[MockGrackle] completeOnboarding")},usageCache:{"workspace:proj-alpha":{inputTokens:214500,outputTokens:44850,costMillicents:112e3,sessionCount:4},"workspace:proj-beta":{inputTokens:86700,outputTokens:23800,costMillicents:48e3,sessionCount:3},"task:task-001":{inputTokens:126800,outputTokens:20850,costMillicents:63e3,sessionCount:2},"task:task-006":{inputTokens:18900,outputTokens:4500,costMillicents:1e4,sessionCount:1},"task_tree:task-001":{inputTokens:126800,outputTokens:20850,costMillicents:63e3,sessionCount:2},"task_tree:task-006":{inputTokens:18900,outputTokens:4500,costMillicents:1e4,sessionCount:1}},loadUsage:async(P,ee)=>{console.log(`[MockGrackle] loadUsage(${P}, ${ee})`)},refresh:va}),[s,r,d,p,X,g,_,x,j,T,L,O,D,Y,he,le,R,oe,pe,xe,ga,Ee,us,ni,en,zi,ya,si,js,Hi,Gn,Ve,tn,Ct,yn,nn,Pi,Ui,Vi,ai,ii,oi,Ts,ri,ba,jl,va]);return a.jsx(bh.Provider,{value:Tl,children:t})}const vk=3e3,Qz=vk;function eH(t){const[s,o]=y.useState("connecting"),r=y.useRef(t.onSessionEvent);r.current=t.onSessionEvent;const c=y.useRef(t.onDomainEvent);c.current=t.onDomainEvent;const d=y.useRef(t.onConnect);d.current=t.onConnect;const u=y.useRef(t.onDisconnect);return u.current=t.onDisconnect,y.useEffect(()=>{let p=!1,m,g;async function v(){var x,k;if(p)return;Promise.resolve((x=d.current)==null?void 0:x.call(d)).catch(()=>{});let _=!1;const b=()=>{!_&&!p&&(_=!0,o("connected"))};g=setTimeout(b,Qz);try{const j=$e.streamEvents({});for await(const w of j){if(b(),p)break;const T=w.event;if(T.case==="sessionEvent"){const C=T.value;r.current({sessionId:C.sessionId,type:C.type,timestamp:C.timestamp,content:C.content,raw:C.raw})}else if(T.case==="domainEvent"){const C=T.value;c.current({id:C.id,type:C.type,timestamp:C.timestamp,payloadJson:C.payloadJson})}}}catch(j){if(clearTimeout(g),j instanceof da&&j.code===I_.Unauthenticated){window.location.href=KN;return}}clearTimeout(g),p||(o("connecting"),(k=u.current)==null||k.call(u),m=setTimeout(()=>{v().catch(()=>{})},vk))}return v().catch(()=>{}),()=>{p=!0,clearTimeout(m),clearTimeout(g)}},[]),{connectionStatus:s}}const wm=["core","orchestration","scheduling"],yk=y.createContext({pluginNames:[...wm],loading:!1,error:void 0});function tH({children:t}){const[s,o]=y.useState([...wm]),[r,c]=y.useState(!0),[d,u]=y.useState(void 0);return y.useEffect(()=>{let p=!1;return fetch("/api/manifest").then(async m=>{if(!m.ok)throw new Error(`Manifest fetch returned ${m.status}`);return m.json()}).then(m=>{p||(o(m.plugins.map(g=>g.name)),c(!1))}).catch(m=>{p||(o([...wm]),u(m instanceof Error?m:new Error(String(m))),c(!1))}),()=>{p=!0}},[]),a.jsx(yk.Provider,{value:{pluginNames:s,loading:r,error:d},children:t})}function Sh(){return y.useContext(yk)}const nH=new Set(["dashboard","chat","environments","settings"]),sH=new Set(["tasks","findings"]),aH=new Set(["knowledge"]),bk={core:{navItems:ld.filter(t=>nH.has(t.view)),domainHookKeys:["environments","sessions","workspaces","tokens","credentials","codespaces","dockerContainers","streams","plugins"]},orchestration:{navItems:ld.filter(t=>sH.has(t.view)),domainHookKeys:["tasks","findings","personas","notifications"]},scheduling:{navItems:[],domainHookKeys:["schedules"]},knowledge:{navItems:ld.filter(t=>aH.has(t.view)),domainHookKeys:["knowledge"]}};function iH(t){return t.flatMap(s=>{var o;return((o=bk[s])==null?void 0:o.navItems)??[]})}function oH(t){return new Set(t.flatMap(s=>{var o;return((o=bk[s])==null?void 0:o.domainHookKeys)??[]}))}function rH(t){return{id:t.id,displayName:t.displayName,adapterType:t.adapterType,adapterConfig:t.adapterConfig||"{}",status:t.status,bootstrapped:t.bootstrapped,githubAccountId:t.githubAccountId||""}}function h_(t){return{id:t.id,environmentId:t.environmentId,runtime:t.runtime,status:t.status,prompt:t.prompt,startedAt:t.startedAt,endedAt:t.endedAt||void 0,error:t.error||void 0,endReason:t.endReason||void 0,personaId:t.personaId||void 0,inputTokens:t.inputTokens,outputTokens:t.outputTokens,costMillicents:t.costMillicents}}function lH(t){return{sessionId:t.sessionId,eventType:O_(t.type),timestamp:t.timestamp,content:t.content,raw:t.raw||void 0}}function g_(t){return{id:t.id,name:t.name,description:t.description,repoUrl:t.repoUrl,linkedEnvironmentIds:[...t.linkedEnvironmentIds],status:K2(t.status),workingDirectory:t.workingDirectory,useWorktrees:t.useWorktrees,defaultPersonaId:t.defaultPersonaId,tokenBudget:t.tokenBudget,costBudgetMillicents:t.costBudgetMillicents,createdAt:t.createdAt,updatedAt:t.updatedAt}}function v_(t){return{id:t.id,workspaceId:t.workspaceId??void 0,title:t.title,description:t.description,status:Y2(t.status),branch:t.branch,latestSessionId:t.latestSessionId,dependsOn:[...t.dependsOn],sortOrder:t.sortOrder,createdAt:t.createdAt,startedAt:t.startedAt||void 0,completedAt:t.completedAt||void 0,parentTaskId:t.parentTaskId,depth:t.depth,childTaskIds:[...t.childTaskIds],canDecompose:t.canDecompose,defaultPersonaId:t.defaultPersonaId,workpad:t.workpad,tokenBudget:t.tokenBudget,costBudgetMillicents:t.costBudgetMillicents}}function Vp(t){return{id:t.id,workspaceId:t.workspaceId,taskId:t.taskId,sessionId:t.sessionId,category:t.category,title:t.title,content:t.content,tags:[...t.tags],createdAt:t.createdAt}}function cH(t){return{name:t.name,tokenType:t.type,envVar:t.envVar,filePath:t.filePath,expiresAt:t.expiresAt}}function dH(t){return{claude:J2(t.claude),github:$c(t.github),copilot:$c(t.copilot),codex:$c(t.codex),goose:$c(t.goose)}}function uH(t){return{name:t.name,repository:t.repository,state:t.state,gitStatus:t.gitStatus}}function fH(t){return{id:t.id,name:t.name,image:t.image,state:t.state,status:t.status}}function Gp(t){return{id:t.id,name:t.name,description:t.description,systemPrompt:t.systemPrompt,toolConfig:t.toolConfig?JSON.stringify({allowedTools:[...t.toolConfig.allowedTools],disallowedTools:[...t.toolConfig.disallowedTools]}):"{}",runtime:t.runtime,model:t.model,maxTurns:t.maxTurns,mcpServers:JSON.stringify(t.mcpServers.map(s=>({name:s.name,command:s.command,args:[...s.args],tools:[...s.tools]}))),createdAt:t.createdAt,updatedAt:t.updatedAt,type:t.type||"agent",script:t.script,allowedMcpTools:[...t.allowedMcpTools]}}function pH(t){return{inputTokens:t.inputTokens,outputTokens:t.outputTokens,costMillicents:t.costMillicents,sessionCount:t.sessionCount}}function qp(t){return{id:t.id,title:t.title,description:t.description,scheduleExpression:t.scheduleExpression,personaId:t.personaId,workspaceId:t.workspaceId,parentTaskId:t.parentTaskId,enabled:t.enabled,lastRunAt:t.lastRunAt,nextRunAt:t.nextRunAt,runCount:t.runCount,createdAt:t.createdAt,updatedAt:t.updatedAt}}function ed(t,s=0){return{id:t.id,label:t.title||t.label||t.id,kind:t.kind,category:t.category||void 0,sourceType:t.sourceType||void 0,sourceId:t.sourceId||void 0,content:t.content||void 0,tags:t.tags.length>0?[...t.tags]:void 0,workspaceId:t.workspaceId||void 0,createdAt:t.createdAt||void 0,updatedAt:t.updatedAt||void 0,val:s}}function Fp(t){return{source:t.fromId,target:t.toId,type:t.type}}function mH(t){return{subscriptionId:t.subscriptionId,sessionId:t.sessionId,fd:t.fd,permission:t.permission,deliveryMode:t.deliveryMode,createdBySpawn:t.createdBySpawn}}function hH(t){return{id:t.id,name:t.name,subscriberCount:t.subscriberCount,messageBufferDepth:t.messageBufferDepth,subscribers:t.subscribers.map(mH)}}function ds(){const[t,s]=y.useState(!1),o=y.useRef(0),r=y.useCallback(c=>(o.current++,o.current===1&&s(!0),c.finally(()=>{o.current--,o.current===0&&s(!1)})),[]);return{loading:t,track:r}}const y_=5e3;function Kr(t){return t instanceof da?t.message:"Operation failed"}function gH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),[c,d]=y.useState({}),[u,p]=y.useState(""),m=y.useCallback(()=>{p("")},[]),g=y.useCallback(async()=>{try{const C=await r($e.listEnvironments({}));s(C.environments.map(rH))}catch{}},[r]),v=y.useCallback(C=>{switch(C.type){case"environment.added":return!0;case"environment.removed":{const A=C.payload.environmentId;return A&&(s(L=>L.filter(E=>E.id!==A)),d(L=>{const E={...L};return delete E[A],E})),!0}case"environment.changed":return g().catch(()=>{}),!0;case"environment.provision_progress":{const A=C.payload;if(typeof A.environmentId!="string"||typeof A.stage!="string"||typeof A.message!="string"||typeof A.progress!="number")return fk("environment.provision_progress","invalid payload"),!0;if(d(L=>({...L,[A.environmentId]:{stage:A.stage,message:A.message,progress:A.progress}})),A.stage==="ready"){const L=A.environmentId;setTimeout(()=>{d(E=>{const O={...E};return delete O[L],O})},y_)}return!0}default:return!1}},[g]),_=y.useCallback(C=>{var A;if(C.type==="environments"){const L=Array.isArray((A=C.payload)==null?void 0:A.environments)?C.payload.environments:[];return s(L),!0}return!1},[]),b=y.useCallback(async(C,A,L,E)=>{p("");try{await $e.addEnvironment({displayName:C,adapterType:A,adapterConfig:JSON.stringify(L??{}),githubAccountId:E??""})}catch(O){p(Kr(O))}},[]),x=y.useCallback(async(C,A)=>{p("");try{await $e.updateEnvironment({id:C,displayName:A.displayName,adapterConfig:A.adapterConfig?JSON.stringify(A.adapterConfig):void 0,githubAccountId:A.githubAccountId})}catch(L){p(Kr(L))}},[]),k=y.useCallback(async(C,A)=>{p("");try{const L=$e.provisionEnvironment({id:C,force:A??!1});for await(const E of L)d(O=>({...O,[C]:{stage:E.stage,message:E.message,progress:E.progress}})),E.stage==="ready"&&setTimeout(()=>{d(O=>{const z={...O};return delete z[C],z})},y_)}catch(L){d(E=>{const O={...E};return delete O[C],O}),p(Kr(L))}},[]),j=y.useCallback(async C=>{p("");try{await $e.stopEnvironment({id:C})}catch(A){p(Kr(A))}},[]),w=y.useCallback(async C=>{p("");try{await $e.removeEnvironment({id:C})}catch(A){p(Kr(A))}},[]);return{environments:t,environmentsLoading:o,provisionStatus:c,operationError:u,clearOperationError:m,loadEnvironments:g,addEnvironment:b,updateEnvironment:x,provisionEnvironment:k,stopEnvironment:j,removeEnvironment:w,handleEvent:v,handleLegacyMessage:_,domainHook:{onConnect:()=>g(),onDisconnect:()=>{},handleEvent:v}}}const Zp=new Set(["pending","running","idle"]),vH=new Set(["completed","failed","interrupted","hibernating","suspended"]),b_=["pending","running","idle"];function yH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),[c,d]=y.useState([]),[u,p]=y.useState(0),[m,g]=y.useState(void 0),[v,_]=y.useState({}),b=y.useCallback(async()=>{try{const H=(await r($e.listSessions({}))).sessions.map(h_);s(Y=>{const U=new Map(Y.map(X=>[X.id,X]));return H.map(X=>{const he=U.get(X.id),W=he==null?void 0:he.status;return!W||W===X.status?X:vH.has(W)&&Zp.has(X.status)?{...X,status:W,...he.endReason!==void 0?{endReason:he.endReason}:{}}:Zp.has(W)&&Zp.has(X.status)&&b_.indexOf(W)>b_.indexOf(X.status)?{...X,status:W}:X})})}catch{}},[r]),x=y.useCallback(D=>{if(D.type!=="session_event")return!1;if(!wz(D.payload))return fk("session_event","payload is not a valid SessionEvent"),!0;const H=D.payload;let Y=0;if(d(U=>{const X=[...U,H];return X.length>Ao?(Y=X.length-Ao,X.slice(-Ao)):X}),Y>0&&p(U=>U+Y),H.eventType==="usage")try{const U=JSON.parse(H.content),X=Number(U.input_tokens)||0,he=Number(U.output_tokens)||0,W=Number(U.cost_millicents)||0;(X>0||he>0||W>0)&&s(le=>le.map(B=>B.id===H.sessionId?{...B,inputTokens:(B.inputTokens??0)+X,outputTokens:(B.outputTokens??0)+he,costMillicents:(B.costMillicents??0)+W}:B))}catch{}if(H.eventType==="status"){const U=pk(H.content),X=mk(H.content);s(he=>he.some(le=>le.id===H.sessionId)?he.map(le=>le.id===H.sessionId?{...le,status:U,...X!==void 0?{endReason:X}:{}}:le):[...he,{id:H.sessionId,environmentId:"",runtime:"",status:U,prompt:"",startedAt:H.timestamp,...X!==void 0?{endReason:X}:{}}])}return!0},[]),k=y.useCallback(D=>{x({type:"session_event",payload:D})},[x]),j=y.useCallback(D=>{var H,Y,U,X,he;switch(D.type){case"sessions":{const W=Array.isArray((H=D.payload)==null?void 0:H.sessions)?D.payload.sessions:[];return s(W),!0}case"spawned":{const W=(Y=D.payload)==null?void 0:Y.sessionId;return typeof W=="string"&&W&&g(W),b().catch(()=>{}),!0}case"session_events":{const W=Array.isArray((U=D.payload)==null?void 0:U.events)?D.payload.events:[];return W.length>0&&d(W),!0}case"task_sessions":{const W=(X=D.payload)==null?void 0:X.taskId;if(typeof W=="string"&&W){const le=Array.isArray((he=D.payload)==null?void 0:he.sessions)?D.payload.sessions:[];_(B=>({...B,[W]:le}))}return!0}default:return!1}},[b]),w=y.useCallback(async(D,H,Y,U,X)=>{try{const he=await $e.spawnAgent({environmentId:D,prompt:H,personaId:Y||"",workingDirectory:U||"",workspaceId:X||""});g(he.id),await b()}catch{}},[b]),T=y.useCallback(async(D,H)=>{await $e.sendInput({sessionId:D,text:H})},[]),C=y.useCallback(async D=>{try{await $e.killAgent({id:D,graceful:!1})}catch{}},[]),A=y.useCallback(async D=>{try{await $e.killAgent({id:D,graceful:!0})}catch{}},[]),L=y.useCallback(async D=>{try{const Y=(await $e.getSessionEvents({id:D})).events.map(lH);if(Y.length>0){let U=0;d(X=>{const he=new Set;for(const B of X)B.sessionId===D&&he.add(`${B.timestamp}|${B.eventType}`);const W=Y.filter(B=>!he.has(`${B.timestamp}|${B.eventType}`)),le=[...X,...W].sort((B,R)=>B.sessionId!==R.sessionId?0:B.timestamp.localeCompare(R.timestamp));return le.length>Ao?(U=le.length-Ao,le.slice(-Ao)):le}),U>0&&p(X=>X+U)}}catch{}},[]),E=y.useCallback(()=>{d([]),p(0)},[]),O=y.useCallback(async D=>{try{const Y=(await $e.getTaskSessions({id:D})).sessions.map(h_);_(U=>({...U,[D]:Y}))}catch{}},[]);return{sessions:t,sessionsLoading:o,events:c,eventsDropped:u,lastSpawnedId:m,taskSessions:v,loadSessions:b,spawn:w,sendInput:T,kill:C,stopGraceful:A,loadSessionEvents:L,clearEvents:E,loadTaskSessions:O,handleMessage:x,handleSessionEvent:k,handleLegacyMessage:j,domainHook:{onConnect:()=>b(),onDisconnect:()=>{E()},handleEvent:()=>!1}}}function __(t){return t instanceof da?t.message:"Operation failed"}function bH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),[c,d]=y.useState(!1),[u,p]=y.useState(""),m=y.useCallback(async()=>{try{const C=await r($e.listWorkspaces({}));s(C.workspaces.map(g_))}catch{}},[r]),g=y.useCallback(C=>{switch(C.type){case"workspace.created":return d(!1),m().catch(()=>{}),!0;case"workspace.archived":case"workspace.updated":return m().catch(()=>{}),!0;default:return!1}},[m]),v=y.useCallback(()=>{d(!1)},[]),_=y.useCallback(async(C,A,L,E,O,z,D,H,Y)=>{d(!0);try{const U=await $e.createWorkspace({name:C,description:A||"",repoUrl:L||"",environmentId:E||"",defaultPersonaId:O||void 0,useWorktrees:z??!0,workingDirectory:D||void 0}),X=g_(U);s(he=>he.some(W=>W.id===X.id)?he:[...he,X]),d(!1),H==null||H(X)}catch(U){d(!1);const X=U instanceof da?U.message:"Failed to create workspace";Y==null||Y(X)}},[]),b=y.useCallback(async C=>{try{await $e.archiveWorkspace({id:C})}catch{}},[]),x=y.useCallback(async(C,A)=>{try{await $e.updateWorkspace({id:C,...A})}catch{}},[]),k=y.useCallback(()=>{p("")},[]),j=y.useCallback(async(C,A)=>{try{p(""),await $e.linkEnvironment({workspaceId:C,environmentId:A}),await m().catch(()=>{})}catch(L){p(__(L))}},[m]),w=y.useCallback(async(C,A)=>{try{p(""),await $e.unlinkEnvironment({workspaceId:C,environmentId:A}),await m().catch(()=>{})}catch(L){p(__(L))}},[m]);return{workspaces:t,workspacesLoading:o,workspaceCreating:c,loadWorkspaces:m,createWorkspace:_,archiveWorkspace:b,updateWorkspace:x,linkEnvironment:j,unlinkEnvironment:w,linkOperationError:u,clearLinkOperationError:k,handleEvent:g,onDisconnect:v,domainHook:{onConnect:()=>m(),onDisconnect:v,handleEvent:g}}}function _H(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),[c,d]=y.useState(void 0),u=y.useRef({}),p=y.useCallback(async E=>{try{const z=(await pn.listTasks({workspaceId:E})).tasks.map(v_);s(D=>[...D.filter(H=>H.workspaceId!==E),...z])}catch{}},[]),m=y.useCallback(async()=>{try{const O=(await r(pn.listTasks({}))).tasks.map(v_);s(z=>{const D=new Set(O.map(H=>H.id));return[...z.filter(H=>!D.has(H.id)),...O]})}catch{}},[r]),g=y.useCallback((E,O)=>{const z=D=>{clearTimeout(u.current[D]),u.current[D]=setTimeout(()=>{delete u.current[D],p(D).catch(()=>{})},200)};E?z(E):O&&s(D=>{const H=D.find(Y=>Y.id===O);return H!=null&&H.workspaceId?z(H.workspaceId):m().catch(()=>{}),D})},[p,m]),v=y.useCallback(E=>{const O=E.payload;switch(E.type){case"task.created":{const z=typeof O.workspaceId=="string"?O.workspaceId:"";return z&&p(z).catch(()=>{}),!0}case"task.started":{const z=typeof O.taskId=="string"?O.taskId:"",D=typeof O.sessionId=="string"?O.sessionId:"",H=typeof O.workspaceId=="string"?O.workspaceId:"";return d(Y=>z&&Y===z?void 0:Y),D&&z&&s(Y=>Y.map(U=>U.id===z?{...U,latestSessionId:D}:U)),g(H,z),!0}case"task.completed":case"task.deleted":case"task.reparented":case"task.updated":{const z=typeof O.workspaceId=="string"?O.workspaceId:"",D=typeof O.taskId=="string"?O.taskId:"";return d(H=>D&&H===D?void 0:H),g(z,D),!0}default:return!1}},[p,g]),_=y.useCallback(()=>{d(void 0)},[]),b=y.useCallback(E=>{var O,z;if(E.type==="tasks"){const D=Array.isArray((O=E.payload)==null?void 0:O.tasks)?E.payload.tasks:[],H=typeof((z=E.payload)==null?void 0:z.workspaceId)=="string"&&E.payload.workspaceId?E.payload.workspaceId:"";return s(H?Y=>[...Y.filter(U=>U.workspaceId!==H),...D]:Y=>{const U=new Set(D.map(X=>X.id));return[...Y.filter(X=>!U.has(X.id)),...D]}),!0}return!1},[]),x=y.useCallback(async(E,O,z,D,H,Y,U,X,he)=>{try{await pn.createTask({workspaceId:E,title:O,description:z||"",dependsOn:D||[],parentTaskId:H||"",defaultPersonaId:Y||void 0,canDecompose:U??void 0}),X==null||X()}catch(W){const le=W instanceof da?W.message:"Failed to create task";he==null||he(le)}},[]),k=y.useCallback(async(E,O,z,D)=>{d(E);try{await pn.startTask({taskId:E,personaId:O||"",environmentId:z||"",notes:D||""})}catch(H){if(H instanceof da&&H.code===I_.ResourceExhausted)return;throw d(void 0),H}},[]),j=y.useCallback(async E=>{try{await pn.stopTask({id:E})}catch{}},[]),w=y.useCallback(async E=>{try{await pn.completeTask({id:E})}catch{}},[]),T=y.useCallback(async E=>{try{await pn.resumeTask({id:E})}catch{}},[]),C=y.useCallback(async(E,O,z,D,H)=>{try{await pn.updateTask({id:E,title:O,description:z,dependsOn:D,...H!==void 0?{defaultPersonaId:H}:{}})}catch{}},[]),A=y.useCallback(async E=>{try{await pn.deleteTask({id:E})}catch{}},[]);return{tasks:t,tasksLoading:o,taskStartingId:c,loadTasks:p,loadAllTasks:m,createTask:x,startTask:k,stopTask:j,completeTask:w,resumeTask:T,updateTask:C,deleteTask:A,handleEvent:v,onDisconnect:_,handleLegacyMessage:b,domainHook:{onConnect:()=>m(),onDisconnect:_,handleEvent:v}}}function xH(){const[t,s]=y.useState([]),[o,r]=y.useState(void 0),[c,d]=y.useState(!1),{loading:u,track:p}=ds(),m=y.useCallback(async k=>{try{const j=await p(pn.queryFindings({workspaceId:k}));s(j.findings.map(Vp))}catch{}},[p]),g=y.useCallback(async()=>{try{const k=await p(pn.queryFindings({workspaceId:""}));s(k.findings.map(Vp))}catch{}},[p]),v=y.useCallback(async k=>{r(void 0),d(!0);try{const j=await pn.getFinding({id:k});r(Vp(j))}catch{r(void 0)}finally{d(!1)}},[]),_=y.useCallback(k=>{if(k.type==="finding.posted"){const j=typeof k.payload.workspaceId=="string"?k.payload.workspaceId:"";return j&&m(j).catch(()=>{}),!0}return!1},[m]),b=y.useCallback(async(k,j,w,T,C)=>{try{await pn.postFinding({workspaceId:k,title:j,content:w,category:T??"general",tags:C??[]})}catch{}},[]);return{findings:t,selectedFinding:o,findingLoading:c,findingsLoading:u,loadFindings:m,loadAllFindings:g,loadFinding:v,postFinding:b,handleEvent:_,domainHook:{onConnect:()=>g(),onDisconnect:()=>{},handleEvent:_}}}function kH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const g=await r($e.listTokens({}));s(g.tokens.map(cH))}catch{}},[r]),d=y.useCallback(g=>g.type==="token.changed"?(c().catch(()=>{}),!0):!1,[c]),u=y.useCallback(async(g,v,_,b,x)=>{try{await $e.setToken({name:g,value:v,type:_,envVar:b,filePath:x})}catch{}},[]),p=y.useCallback(async g=>{try{await $e.deleteToken({name:g})}catch{}},[]);return{tokens:t,tokensLoading:o,loadTokens:c,setToken:u,deleteToken:p,handleEvent:d,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function SH(){const[t,s]=y.useState({claude:"off",github:"off",copilot:"off",codex:"off",goose:"off"}),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const m=await r($e.getCredentialProviders({}));s(dH(m))}catch{}},[r]),d=y.useCallback(m=>m.type==="credential.providers_changed"?(Cz(m.payload)&&s(m.payload),!0):!1,[]),u=y.useCallback(async m=>{const g=[{provider:"claude",value:m.claude},{provider:"github",value:m.github},{provider:"copilot",value:m.copilot},{provider:"codex",value:m.codex},{provider:"goose",value:m.goose}];await Promise.allSettled(g.map(({provider:v,value:_})=>$e.setCredentialProvider({provider:v,value:_})))},[]);return{credentialProviders:t,credentialsLoading:o,loadCredentials:c,updateCredentialProviders:u,handleEvent:d,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function jH(){const[t,s]=y.useState([]),[o,r]=y.useState(""),[c,d]=y.useState(""),[u,p]=y.useState(!1),m=y.useCallback(async _=>{try{const b=await $e.listCodespaces({githubAccountId:_??""});s(b.codespaces.map(uH)),d(b.error)}catch{}},[]),g=y.useCallback(async(_,b)=>{p(!0),r("");try{await $e.createCodespace({repo:_,machine:b??""}),p(!1),await m()}catch(x){p(!1);const k=x instanceof da?x.message:"Failed to create codespace";r(k)}},[m]);return{codespaces:t,codespaceError:o,codespaceListError:c,codespaceCreating:u,listCodespaces:m,createCodespace:g,domainHook:{onConnect:()=>m(),onDisconnect:()=>{},handleEvent:()=>!1}}}function TH(){const[t,s]=y.useState([]),[o,r]=y.useState(""),c=y.useCallback(async()=>{try{const u=await $e.listDockerContainers({});s(u.containers.map(fH)),r(u.error)}catch(u){s([]),r(u instanceof Error?u.message:"Failed to list Docker containers")}},[]);return{dockerContainers:t,dockerContainersError:o,listDockerContainers:c,domainHook:{onConnect:async()=>{},onDisconnect:()=>{},handleEvent:()=>!1}}}function wH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const v=await r(pn.listPersonas({}));s(v.personas.map(Gp))}catch{}},[r]),d=y.useCallback(v=>{switch(v.type){case"persona.created":case"persona.updated":case"persona.deleted":return c().catch(()=>{}),!0;default:return!1}},[c]),u=y.useCallback(async(v,_,b,x,k,j,w,T,C)=>{const A=await pn.createPersona({name:v,description:_,systemPrompt:b,runtime:x||"",model:k||"",maxTurns:j||0,type:w||"agent",script:T||"",allowedMcpTools:C||[]}),L=Gp(A);return s(E=>[...E.filter(O=>O.id!==L.id),L]),L},[]),p=y.useCallback(async(v,_,b,x,k,j,w,T,C,A)=>{const L={id:v};_!==void 0&&(L.name=_),b!==void 0&&(L.description=b),x!==void 0&&(L.systemPrompt=x),k!==void 0&&(L.runtime=k),j!==void 0&&(L.model=j),w!==void 0&&(L.maxTurns=w),T!==void 0&&(L.type=T),C!==void 0&&(L.script=C),A!==void 0&&(L.allowedMcpTools={tools:A});const E=await pn.updatePersona(L),O=Gp(E);return s(z=>z.map(D=>D.id===O.id?O:D)),O},[]),m=y.useCallback(async v=>{await pn.deletePersona({id:v}),s(_=>_.filter(b=>b.id!==v))},[]);return{personas:t,personasLoading:o,loadPersonas:c,createPersona:u,updatePersona:p,deletePersona:m,handleEvent:d,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function NH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useRef(void 0),d=y.useCallback(async()=>{try{const _=await r(Hc.listSchedules({}));s(_.schedules.map(qp))}catch{}},[r]),u=y.useCallback(_=>{switch(_.type){case"schedule.created":case"schedule.updated":case"schedule.deleted":return d().catch(()=>{}),!0;case"schedule.fired":return clearTimeout(c.current),c.current=setTimeout(()=>{d().catch(()=>{})},500),!0;default:return!1}},[d]),p=y.useCallback(async(_,b,x,k,j,w)=>{const T=await Hc.createSchedule({title:_,description:b,scheduleExpression:x,personaId:k,workspaceId:j||"",parentTaskId:w||""}),C=qp(T);return s(A=>[...A.filter(L=>L.id!==C.id),C]),C},[]),m=y.useCallback(async(_,b)=>{const x={id:_};b.title!==void 0&&(x.title=b.title),b.description!==void 0&&(x.description=b.description),b.scheduleExpression!==void 0&&(x.scheduleExpression=b.scheduleExpression),b.personaId!==void 0&&(x.personaId=b.personaId),b.enabled!==void 0&&(x.enabled=b.enabled);const k=await Hc.updateSchedule(x),j=qp(k);return s(w=>w.map(T=>T.id===j.id?j:T)),j},[]),g=y.useCallback(async _=>{await Hc.deleteSchedule({id:_}),s(b=>b.filter(x=>x.id!==_))},[]);return{schedules:t,schedulesLoading:o,loadSchedules:d,createSchedule:p,updateSchedule:m,deleteSchedule:g,handleEvent:u,domainHook:{onConnect:()=>d(),onDisconnect:()=>{clearTimeout(c.current)},handleEvent:u}}}function CH(t){if(t)try{return JSON.parse(t)}catch{return}}function EH(){const[t,s]=y.useState(new Map),[o,r]=y.useState([]),[c,d]=y.useState(void 0),[u,p]=y.useState(void 0),[m,g]=y.useState(!1),[v,_]=y.useState(""),b=y.useRef(""),x=y.useCallback(async E=>{const O=E??"";b.current=O,_(""),g(!0);try{const z=await Pc.listRecentKnowledgeNodes({limit:30,workspaceId:O}),D=new Map,H=[];for(const Y of z.nodes)D.set(Y.id,ed(Y));for(const Y of z.edges)H.push(Fp(Y));for(const Y of H){const U=D.get(Y.source);U&&(U.val+=1);const X=D.get(Y.target);X&&(X.val+=1)}s(D),r(H)}catch{}finally{g(!1)}},[]),k=y.useCallback(async E=>{if(E.trim()){_(E),p(void 0),d(void 0),g(!0);try{const O=await Pc.searchKnowledge({query:E,limit:20,workspaceId:b.current}),z=new Map,D=[];for(const H of O.results){H.node&&z.set(H.node.id,ed(H.node,H.edges.length));for(const Y of H.edges)D.push(Fp(Y))}s(z),r(D)}catch{}finally{g(!1)}}},[]),j=y.useCallback(()=>{x(b.current).catch(()=>{})},[x]),w=y.useCallback(async E=>{p(E);try{const O=await Pc.getKnowledgeNode({id:E});if(!O.node){d(void 0);return}d({node:ed(O.node,O.edges.length),edges:O.edges.map(z=>({fromId:z.fromId,toId:z.toId,type:z.type,metadata:CH(z.metadataJson)}))})}catch{d(void 0)}},[]),T=y.useCallback(()=>{p(void 0),d(void 0)},[]),C=y.useCallback(async E=>{try{const O=await Pc.expandKnowledgeNode({id:E,depth:1});s(z=>{const D=new Map(z);for(const H of O.nodes)D.has(H.id)||D.set(H.id,ed(H));return D}),r(z=>{const D=new Set(z.map(Y=>`${Y.source}:${Y.target}:${Y.type}`)),H=[];for(const Y of O.edges){const U=Fp(Y),X=`${U.source}:${U.target}:${U.type}`;D.has(X)||H.push(U)}return[...z,...H]})}catch{}},[]),A=y.useCallback(E=>!1,[]),L={onConnect:async()=>{},onDisconnect:()=>{},handleEvent:A};return{graphData:{nodes:[...t.values()],links:o},selectedNode:c,selectedId:u,loading:m,searchQuery:v,search:k,clearSearch:j,selectNode:w,clearSelection:T,expandNode:C,loadRecent:x,handleEvent:A,domainHook:L}}function AH(){const t=y.useRef("default");y.useEffect(()=>{typeof Notification>"u"||(t.current=Notification.permission)},[]);function s(r){if(r.type!=="notification.escalated")return!1;if(typeof Notification>"u")return!0;if(t.current==="default")return Notification.requestPermission().then(u=>{t.current=u}).catch(()=>{}),!0;if(t.current!=="granted")return!0;const c=r.payload,d=new Notification(c.title||"Agent needs input",{body:c.message||"An agent is waiting for your input.",tag:c.escalationId,icon:qd("icon-192x192.png")});return d.onclick=()=>{window.focus(),c.taskUrl&&(window.location.href=c.taskUrl),d.close()},!0}return{handleEvent:s,domainHook:{onConnect:async()=>{},onDisconnect:()=>{},handleEvent:s}}}function DH(){const[t,s]=y.useState([]),[o,r]=y.useState(!1),[c,d]=y.useState(!1),{loading:u,track:p}=ds(),m=y.useRef(0),g=y.useCallback(async()=>{const b=m.current;try{const x=await p($e.listStreams({}));m.current===b&&(s(x.streams.map(hH)),d(!1))}catch{m.current===b&&d(!0)}finally{m.current===b&&r(!0)}},[p]),v=y.useCallback(b=>!1,[]);return{streams:t,streamsLoading:u,streamsLoadedOnce:o,streamsLoadError:c,loadStreams:g,handleEvent:v,domainHook:{onConnect:g,onDisconnect:()=>{m.current+=1,s([]),r(!1),d(!1)},handleEvent:v}}}function RH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const m=await r($e.listPlugins({}));s(m.plugins.map(g=>({name:g.name,description:g.description,enabled:g.enabled,required:g.required,loaded:g.loaded})))}catch{}},[r]),d=y.useCallback(m=>m.type==="plugin.changed"?(c().catch(()=>{}),!0):!1,[c]),u=y.useCallback(async(m,g)=>{try{const v=await $e.setPluginEnabled({name:m,enabled:g});s(_=>_.map(b=>b.name===v.name?{...b,enabled:v.enabled}:b))}catch{}},[]);return{plugins:t,pluginsLoading:o,loadPlugins:c,setPluginEnabled:u,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function MH(){const[t,s]=y.useState([]),{loading:o,track:r}=ds(),c=y.useCallback(async()=>{try{const _=await r($e.listGitHubAccounts({}));s(_.accounts.map(b=>({id:b.id,label:b.label,username:b.username,isDefault:b.isDefault,createdAt:b.createdAt})))}catch{}},[r]),d=y.useCallback(_=>_.type==="github_account.changed"?(c().catch(()=>{}),!0):!1,[c]),u=y.useCallback(async(_,b,x,k)=>{const j=await $e.addGitHubAccount({label:_,token:b,username:x,isDefault:k});s(w=>[...j.isDefault?w.map(C=>({...C,isDefault:!1})):w,{id:j.id,label:j.label,username:j.username,isDefault:j.isDefault,createdAt:j.createdAt}])},[]),p=y.useCallback(async(_,b)=>{const x=await $e.updateGitHubAccount({id:_,...b});s(k=>k.map(j=>j.id===x.id?{...j,label:x.label,username:x.username,isDefault:x.isDefault}:b.isDefault?{...j,isDefault:!1}:j))},[]),m=y.useCallback(async _=>{await $e.removeGitHubAccount({id:_}),s(b=>b.filter(x=>x.id!==_))},[]),g=y.useCallback(async()=>{const _=await $e.importGitHubAccounts({});return _.imported>0&&await c(),{imported:_.imported,usernames:_.usernames}},[c]);return{githubAccounts:t,githubAccountsLoading:o,loadGitHubAccounts:c,addGitHubAccount:u,updateGitHubAccount:p,removeGitHubAccount:m,importGitHubAccounts:g,domainHook:{onConnect:()=>c(),onDisconnect:()=>{},handleEvent:d}}}function IH(){const[t,s]=y.useState(""),[o,r]=y.useState(void 0),[c,d]=y.useState({}),{pluginNames:u}=Sh(),p=oH(u),m=gH(),g=yH(),v=bH(),_=_H(),b=xH(),x=kH(),k=SH(),j=jH(),w=TH(),T=wH(),C=NH(),A=EH(),L=AH(),E=DH(),O=RH(),z=MH(),D=[...p.has("environments")?[m.domainHook]:[],...p.has("sessions")?[g.domainHook]:[],...p.has("workspaces")?[v.domainHook]:[],...p.has("tasks")?[_.domainHook]:[],...p.has("findings")?[b.domainHook]:[],...p.has("tokens")?[x.domainHook]:[],...p.has("credentials")?[k.domainHook]:[],...p.has("codespaces")?[j.domainHook]:[],...p.has("dockerContainers")?[w.domainHook]:[],...p.has("personas")?[T.domainHook]:[],...p.has("schedules")?[C.domainHook]:[],...p.has("knowledge")?[A.domainHook]:[],...p.has("notifications")?[L.domainHook]:[],...p.has("streams")?[E.domainHook]:[],...p.has("plugins")?[O.domainHook]:[],z.domainHook],{connectionStatus:H}=eH({onSessionEvent:oe=>{g.handleSessionEvent({sessionId:oe.sessionId,eventType:O_(oe.type),timestamp:oe.timestamp,content:oe.content,raw:oe.raw||void 0})},onDomainEvent:oe=>{try{const G=JSON.parse(oe.payloadJson);le({id:oe.id,type:oe.type,timestamp:oe.timestamp,payload:G})}catch{console.warn("[grackle] Failed to parse domain event payloadJson:",oe.payloadJson)}},onConnect:B,onDisconnect:R}),Y="default_persona_id",U="onboarding_completed",X=y.useCallback(async oe=>{const G=await $e.setSetting({key:Y,value:oe});s(G.value)},[]),he=y.useCallback(async()=>{r(!0);try{await $e.setSetting({key:U,value:"true"})}catch{}},[]),W=y.useCallback(async(oe,G)=>{try{const pe=await $e.getUsage({scope:oe,id:G}),de=`${oe}:${G}`;d(xe=>({...xe,[de]:pH(pe)}))}catch{}},[]);function le(oe){const G=oe.payload.key,pe=oe.payload.value;if(oe.type==="setting.changed"){G===Y&&s(pe??""),G===U&&r(pe==="true");return}for(const de of D)if(de.handleEvent(oe))break;(oe.type==="environment.removed"||oe.type==="task.started")&&g.loadSessions().catch(()=>{}),(oe.type==="session.started"||oe.type==="session.stopped")&&E.loadStreams().catch(()=>{})}async function B(){for(const oe of D)oe.onConnect().catch(()=>{});try{const oe=await $e.getSetting({key:Y});s(oe.value)}catch{}try{const oe=await $e.getSetting({key:U});r(oe.value==="true")}catch{}}function R(){D.forEach(oe=>oe.onDisconnect())}const se=y.useCallback(()=>{m.loadEnvironments().catch(()=>{}),g.loadSessions().catch(()=>{}),v.loadWorkspaces().catch(()=>{}),x.loadTokens().catch(()=>{})},[m.loadEnvironments,g.loadSessions,v.loadWorkspaces,x.loadTokens]);return{connectionStatus:H,environments:{environments:m.environments,environmentsLoading:m.environmentsLoading,provisionStatus:m.provisionStatus,operationError:m.operationError,clearOperationError:m.clearOperationError,loadEnvironments:m.loadEnvironments,addEnvironment:m.addEnvironment,updateEnvironment:m.updateEnvironment,provisionEnvironment:m.provisionEnvironment,stopEnvironment:m.stopEnvironment,removeEnvironment:m.removeEnvironment,domainHook:m.domainHook},sessions:{sessions:g.sessions,sessionsLoading:g.sessionsLoading,events:g.events,eventsDropped:g.eventsDropped,lastSpawnedId:g.lastSpawnedId,taskSessions:g.taskSessions,spawn:g.spawn,sendInput:g.sendInput,kill:g.kill,stopGraceful:g.stopGraceful,loadSessionEvents:g.loadSessionEvents,clearEvents:g.clearEvents,loadTaskSessions:g.loadTaskSessions,domainHook:g.domainHook},workspaces:{workspaces:v.workspaces,workspacesLoading:v.workspacesLoading,workspaceCreating:v.workspaceCreating,loadWorkspaces:v.loadWorkspaces,createWorkspace:v.createWorkspace,archiveWorkspace:v.archiveWorkspace,updateWorkspace:v.updateWorkspace,linkEnvironment:v.linkEnvironment,unlinkEnvironment:v.unlinkEnvironment,linkOperationError:v.linkOperationError,clearLinkOperationError:v.clearLinkOperationError,domainHook:v.domainHook},tasks:{tasks:_.tasks,tasksLoading:_.tasksLoading,taskStartingId:_.taskStartingId,loadTasks:_.loadTasks,loadAllTasks:_.loadAllTasks,createTask:_.createTask,startTask:_.startTask,stopTask:_.stopTask,completeTask:_.completeTask,resumeTask:_.resumeTask,updateTask:_.updateTask,deleteTask:_.deleteTask,domainHook:_.domainHook},findings:{findings:b.findings,selectedFinding:b.selectedFinding,findingLoading:b.findingLoading,findingsLoading:b.findingsLoading,loadFindings:b.loadFindings,loadAllFindings:b.loadAllFindings,loadFinding:b.loadFinding,postFinding:b.postFinding,domainHook:b.domainHook},tokens:{tokens:x.tokens,tokensLoading:x.tokensLoading,loadTokens:x.loadTokens,setToken:x.setToken,deleteToken:x.deleteToken,domainHook:x.domainHook},credentials:{credentialProviders:k.credentialProviders,credentialsLoading:k.credentialsLoading,updateCredentialProviders:k.updateCredentialProviders,domainHook:k.domainHook},codespaces:{codespaces:j.codespaces,codespaceError:j.codespaceError,codespaceListError:j.codespaceListError,codespaceCreating:j.codespaceCreating,listCodespaces:j.listCodespaces,createCodespace:j.createCodespace,domainHook:j.domainHook},dockerContainers:{dockerContainers:w.dockerContainers,dockerContainersError:w.dockerContainersError,listDockerContainers:w.listDockerContainers,domainHook:w.domainHook},personas:{personas:T.personas,personasLoading:T.personasLoading,createPersona:T.createPersona,updatePersona:T.updatePersona,deletePersona:T.deletePersona,domainHook:T.domainHook},schedules:{schedules:C.schedules,schedulesLoading:C.schedulesLoading,createSchedule:C.createSchedule,updateSchedule:C.updateSchedule,deleteSchedule:C.deleteSchedule,domainHook:C.domainHook},streams:{streams:E.streams,streamsLoading:E.streamsLoading,streamsLoadedOnce:E.streamsLoadedOnce,streamsLoadError:E.streamsLoadError,loadStreams:E.loadStreams,domainHook:E.domainHook},knowledge:A,plugins:{plugins:O.plugins,pluginsLoading:O.pluginsLoading,loadPlugins:O.loadPlugins,setPluginEnabled:O.setPluginEnabled},githubAccounts:{githubAccounts:z.githubAccounts,githubAccountsLoading:z.githubAccountsLoading,loadGitHubAccounts:z.loadGitHubAccounts,addGitHubAccount:z.addGitHubAccount,updateGitHubAccount:z.updateGitHubAccount,removeGitHubAccount:z.removeGitHubAccount,importGitHubAccounts:z.importGitHubAccounts},appDefaultPersonaId:t,setAppDefaultPersonaId:X,onboardingCompleted:o,completeOnboarding:he,usageCache:c,loadUsage:W,refresh:se}}function OH({children:t}){const s=IH();return a.jsx(bh.Provider,{value:s,children:t})}function LH(t,s){const o=y.useRef(null);y.useEffect(()=>{const r=o.current;if(o.current=t,r===null)return;const c=new Map;for(const u of r)c.set(u.id,u);const d=new Set;for(const u of t){d.add(u.id);const p=c.get(u.id);p&&p.status!==u.status&&(u.status==="sleeping"||u.status==="connecting"||(u.status==="connected"?s("Environment connected","success"):u.status==="error"?s("Environment provision failed","error"):u.status==="disconnected"&&p.status==="connected"&&s("Environment disconnected","warning")))}for(const u of r)d.has(u.id)||s("Environment removed","info")},[t,s])}function BH(t,s,o){const r=y.useRef(t);y.useEffect(()=>{t&&t!==r.current&&(o(t,"error"),s()),r.current=t},[t,s,o])}const $H={working:{message:"Task is now running",variant:"info"},paused:{message:"Task paused",variant:"warning"},complete:{message:"Task complete",variant:"success"},failed:{message:"Task failed to complete",variant:"error"}};function zH(t){return $H[t]}function HH(t,s){if(t===void 0)return[];const o=[],r=new Map;for(const d of t)r.set(d.id,d);const c=new Set;for(const d of s){c.add(d.id);const u=r.get(d.id);if(!u||u.status===d.status)continue;const p=zH(d.status);p&&o.push(p)}for(const d of t)c.has(d.id)||o.push({message:"Task deleted",variant:"info"});return o}function PH(t,s){const o=y.useRef(void 0);y.useEffect(()=>{const r=o.current;o.current=t;const c=HH(r,t);for(const d of c)s(d.message,d.variant)},[t,s])}const UH="_dashboard_16pzm_1",VH="_kpiStrip_16pzm_11",GH="_kpiCard_16pzm_23",qH="_kpiValue_16pzm_68",FH="_kpiLabel_16pzm_76",ZH="_bodyGrid_16pzm_84",KH="_section_16pzm_96",YH="_sectionHeader_16pzm_109",JH="_sectionIcon_16pzm_118",WH="_sectionTitle_16pzm_123",XH="_sectionCount_16pzm_131",QH="_sectionBody_16pzm_138",e9="_emptyHint_16pzm_143",t9="_sessionRow_16pzm_150",n9="_sessionPrompt_16pzm_177",s9="_sessionEnv_16pzm_186",a9="_sessionRuntime_16pzm_192",i9="_sessionStatus_16pzm_198",o9="_statusDot_16pzm_207",r9="_attentionRow_16pzm_233",l9="_attentionTitle_16pzm_259",c9="_attentionMeta_16pzm_267",d9="_reasonBadge_16pzm_274",u9="_bottomGrid_16pzm_301",f9="_envRow_16pzm_312",p9="_envName_16pzm_323",m9="_envStatusBadge_16pzm_333",h9="_workspaceRow_16pzm_369",g9="_workspaceTop_16pzm_395",v9="_workspaceName_16pzm_401",y9="_workspaceCounts_16pzm_407",b9="_progressBar_16pzm_415",_9="_progressFill_16pzm_422",ge={dashboard:UH,kpiStrip:VH,kpiCard:GH,kpiValue:qH,kpiLabel:FH,bodyGrid:ZH,section:KH,sectionHeader:YH,sectionIcon:JH,sectionTitle:WH,sectionCount:XH,sectionBody:QH,emptyHint:e9,sessionRow:t9,sessionPrompt:n9,sessionEnv:s9,sessionRuntime:a9,sessionStatus:i9,statusDot:o9,attentionRow:r9,attentionTitle:l9,attentionMeta:c9,reasonBadge:d9,bottomGrid:u9,envRow:f9,envName:p9,envStatusBadge:m9,workspaceRow:h9,workspaceTop:g9,workspaceName:v9,workspaceCounts:y9,progressBar:b9,progressFill:_9};function x9(){return a.jsxs("div",{className:ge.dashboard,"aria-hidden":"true",children:[a.jsx("div",{className:ge.kpiStrip,children:Array.from({length:4},(t,s)=>a.jsxs("div",{className:ge.kpiCard,children:[a.jsx(Ne,{width:"3rem",height:"2rem"}),a.jsx(Ne,{width:"80%",height:"0.75rem"})]},s))}),a.jsxs("div",{className:ge.bodyGrid,children:[a.jsxs("div",{className:ge.section,children:[a.jsxs("div",{className:ge.sectionHeader,children:[a.jsx(Ne,{width:"1rem",height:"1rem",variant:"circular"}),a.jsx(Ne,{width:"8rem",height:"0.75rem"}),a.jsx("span",{className:ge.sectionCount,children:a.jsx(Ne,{width:"1rem",height:"0.75rem"})})]}),a.jsx("div",{className:ge.sectionBody,children:Array.from({length:3},(t,s)=>a.jsxs("div",{className:ge.sessionRow,style:{cursor:"default"},children:[a.jsx(Ne,{width:"60%",height:"0.875rem"}),a.jsx(Ne,{width:"4rem",height:"0.75rem"}),a.jsx(Ne,{width:"3rem",height:"0.75rem"}),a.jsx(Ne,{width:"3rem",height:"0.75rem"})]},s))})]}),a.jsxs("div",{className:ge.section,children:[a.jsxs("div",{className:ge.sectionHeader,children:[a.jsx(Ne,{width:"1rem",height:"1rem",variant:"circular"}),a.jsx(Ne,{width:"8rem",height:"0.75rem"}),a.jsx("span",{className:ge.sectionCount,children:a.jsx(Ne,{width:"1rem",height:"0.75rem"})})]}),a.jsx("div",{className:ge.sectionBody,children:Array.from({length:2},(t,s)=>a.jsxs("div",{className:ge.attentionRow,style:{cursor:"default"},children:[a.jsxs("div",{className:ge.attentionTitle,children:[a.jsx(Ne,{width:"3rem",height:"0.875rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"70%",height:"0.875rem"})]}),a.jsx("div",{className:ge.attentionMeta,children:a.jsx(Ne,{width:"5rem",height:"0.625rem"})})]},s))})]})]}),a.jsxs("div",{className:ge.bottomGrid,children:[a.jsxs("div",{className:ge.section,children:[a.jsxs("div",{className:ge.sectionHeader,children:[a.jsx(Ne,{width:"1rem",height:"1rem",variant:"circular"}),a.jsx(Ne,{width:"9rem",height:"0.75rem"}),a.jsx("span",{className:ge.sectionCount,children:a.jsx(Ne,{width:"1rem",height:"0.75rem"})})]}),a.jsx("div",{className:ge.sectionBody,children:Array.from({length:2},(t,s)=>a.jsxs("div",{className:ge.envRow,children:[a.jsx(Ne,{width:"60%",height:"0.875rem"}),a.jsx(Ne,{width:"4rem",height:"0.875rem",borderRadius:"var(--radius-sm)"})]},s))})]}),a.jsxs("div",{className:ge.section,children:[a.jsxs("div",{className:ge.sectionHeader,children:[a.jsx(Ne,{width:"1rem",height:"1rem",variant:"circular"}),a.jsx(Ne,{width:"6rem",height:"0.75rem"}),a.jsx("span",{className:ge.sectionCount,children:a.jsx(Ne,{width:"1rem",height:"0.75rem"})})]}),a.jsx("div",{className:ge.sectionBody,children:Array.from({length:2},(t,s)=>a.jsxs("div",{className:ge.workspaceRow,style:{cursor:"default"},children:[a.jsxs("div",{className:ge.workspaceTop,children:[a.jsx(Ne,{width:"50%",height:"0.875rem"}),a.jsx(Ne,{width:"2rem",height:"0.75rem"})]}),a.jsx("div",{className:ge.progressBar,children:a.jsx("div",{className:ge.progressFill,style:{width:"0%"}})})]},s))})]})]})]})}const k9={hidden:{opacity:0,y:12},visible:t=>({opacity:1,y:0,transition:{delay:t*.06,duration:.3,ease:"easeOut"}})},td={hidden:{opacity:0,y:16},visible:t=>({opacity:1,y:0,transition:{delay:.15+t*.08,duration:.35,ease:"easeOut"}})};function S9(t,s,o,r){const c=[`${t} of ${s} tasks completed`];return o>0&&c.push(`${o} in progress`),r>0&&c.push(`${r} failed`),c.join(", ")}function nd({value:t,label:s,accent:o,index:r,testId:c}){return a.jsxs(Rt.div,{className:ge.kpiCard,"data-accent":o,"data-testid":c,variants:k9,initial:"hidden",animate:"visible",custom:r,children:[a.jsx("span",{className:ge.kpiValue,children:t}),a.jsx("span",{className:ge.kpiLabel,children:s})]})}function j9(){const{workspaces:{workspaces:t,workspacesLoading:s},tasks:{tasks:o,tasksLoading:r,loadTasks:c},sessions:{sessions:d,sessionsLoading:u},environments:{environments:p,environmentsLoading:m}}=ot(),g=dt(),v=y.useRef(new Set);y.useEffect(()=>{for(const w of t)v.current.has(w.id)||(v.current.add(w.id),c(w.id).catch(()=>{}))},[t,c]);const _=y.useMemo(()=>zz(d,o,p),[d,o,p]),b=y.useMemo(()=>Pz(d,p),[d,p]),x=y.useMemo(()=>Hz(o,t),[o,t]),k=y.useMemo(()=>Uz(t,o),[t,o,p]);return d.length===0&&o.length===0&&p.length===0&&t.length===0&&(u||r||m||s)?a.jsx(x9,{}):a.jsxs("div",{className:ge.dashboard,"data-testid":"dashboard",children:[a.jsxs("div",{className:ge.kpiStrip,"data-testid":"dashboard-kpi-strip",children:[a.jsx(nd,{value:_.activeSessions,label:"Active Sessions",accent:"green",index:0,testId:"kpi-active-sessions"}),a.jsx(nd,{value:_.blockedTasks,label:"Blocked Tasks",accent:"yellow",index:1,testId:"kpi-blocked-tasks"}),a.jsx(nd,{value:_.attentionTasks,label:"Needs Attention",accent:"red",index:2,testId:"kpi-attention-tasks"}),a.jsx(nd,{value:_.unhealthyEnvironments,label:"Unhealthy Envs",accent:"blue",index:3,testId:"kpi-unhealthy-envs"})]}),a.jsxs("div",{className:ge.bodyGrid,children:[a.jsxs(Rt.div,{className:ge.section,variants:td,initial:"hidden",animate:"visible",custom:0,"data-testid":"dashboard-active-sessions",children:[a.jsxs("div",{className:ge.sectionHeader,children:[a.jsx("span",{className:ge.sectionIcon,"aria-hidden":"true",children:"●"}),a.jsx("span",{className:ge.sectionTitle,children:"Active Sessions"}),a.jsx("span",{className:ge.sectionCount,children:b.length})]}),a.jsx("div",{className:ge.sectionBody,children:b.length===0?a.jsx("div",{className:ge.emptyHint,children:"No active sessions"}):b.map(({session:w,environmentName:T})=>a.jsxs("button",{type:"button",className:ge.sessionRow,onClick:()=>g(Bd(w.id)),"data-testid":"session-row",children:[a.jsx("span",{className:ge.sessionPrompt,title:w.prompt,children:w.prompt||"—"}),a.jsx("span",{className:ge.sessionEnv,children:T}),a.jsx("span",{className:ge.sessionRuntime,children:w.runtime}),a.jsxs("span",{className:ge.sessionStatus,children:[a.jsx("span",{className:ge.statusDot,"data-status":w.status}),w.status]})]},w.id))})]}),a.jsxs(Rt.div,{className:ge.section,variants:td,initial:"hidden",animate:"visible",custom:1,"data-testid":"dashboard-needs-attention",children:[a.jsxs("div",{className:ge.sectionHeader,children:[a.jsx("span",{className:ge.sectionIcon,"aria-hidden":"true",children:"⚑"}),a.jsx("span",{className:ge.sectionTitle,children:"Needs Attention"}),a.jsx("span",{className:ge.sectionCount,children:x.length})]}),a.jsx("div",{className:ge.sectionBody,children:x.length===0?a.jsx("div",{className:ge.emptyHint,children:"All clear"}):x.map(({task:w,reason:T,workspaceName:C})=>a.jsxs("button",{type:"button",className:ge.attentionRow,onClick:()=>g(Hn(w.id)),"data-testid":"attention-row",children:[a.jsxs("div",{className:ge.attentionTitle,children:[a.jsx("span",{className:ge.reasonBadge,"data-reason":T,children:T}),w.title]}),a.jsx("div",{className:ge.attentionMeta,children:a.jsx("span",{children:C})})]},w.id))})]})]}),a.jsxs("div",{className:ge.bottomGrid,children:[a.jsxs(Rt.div,{className:ge.section,variants:td,initial:"hidden",animate:"visible",custom:2,"data-testid":"dashboard-env-health",children:[a.jsxs("div",{className:ge.sectionHeader,children:[a.jsx("span",{className:ge.sectionIcon,"aria-hidden":"true",children:"◈"}),a.jsx("span",{className:ge.sectionTitle,children:"Environment Health"}),a.jsx("span",{className:ge.sectionCount,children:p.length})]}),a.jsx("div",{className:ge.sectionBody,children:p.length===0?a.jsx("div",{className:ge.emptyHint,children:"No environments configured"}):p.map(w=>a.jsxs("div",{className:ge.envRow,"data-testid":"dashboard-env-row",children:[a.jsx("span",{className:ge.envName,children:w.displayName}),a.jsx("span",{className:ge.envStatusBadge,"data-status":w.status,children:w.status})]},w.id))})]}),a.jsxs(Rt.div,{className:ge.section,variants:td,initial:"hidden",animate:"visible",custom:3,"data-testid":"dashboard-workspace-snapshot",children:[a.jsxs("div",{className:ge.sectionHeader,children:[a.jsx("span",{className:ge.sectionIcon,"aria-hidden":"true",children:"▦"}),a.jsx("span",{className:ge.sectionTitle,children:"Workspaces"}),a.jsx("span",{className:ge.sectionCount,children:t.length})]}),a.jsx("div",{className:ge.sectionBody,children:k.length===0?a.jsx("div",{className:ge.emptyHint,children:"No workspaces yet"}):k.map(({workspace:w,totalTasks:T,completedTasks:C,workingTasks:A,failedTasks:L})=>{const E=T>0?Math.round(C/T*100):0;return a.jsxs("button",{type:"button",className:ge.workspaceRow,onClick:()=>g(Xa(w.id,w.linkedEnvironmentIds[0])),"data-testid":"workspace-row",children:[a.jsxs("div",{className:ge.workspaceTop,children:[a.jsx("span",{className:ge.workspaceName,children:w.name}),a.jsxs("span",{className:ge.workspaceCounts,"aria-label":S9(C,T,A,L),children:[C,"/",T,A>0&&a.jsxs("span",{style:{color:"var(--accent-green)"},"aria-hidden":"true",children:["▸",A]}),L>0&&a.jsxs("span",{style:{color:"var(--accent-red)"},"aria-hidden":"true",children:["✗",L]})]})]}),T>0&&a.jsx("div",{className:ge.progressBar,children:a.jsx("div",{className:ge.progressFill,style:{width:`${E}%`}})})]},w.id)})})]})]})]})}const T9="_panelContainer_1udy7_1",w9="_emptyState_1udy7_8",N9="_workspaceSummary_1udy7_17",C9="_workspaceSummaryTitle_1udy7_28",E9="_workspaceSummarySubtitle_1udy7_32",A9="_header_1udy7_36",D9="_headerInfo_1udy7_71",R9="_headerTitle_1udy7_106",M9="_taskStatusBadge_1udy7_128",I9="_taskBranch_1udy7_137",O9="_taskBlockedBadge_1udy7_143",L9="_tabBar_1udy7_277",B9="_tab_1udy7_277",$9="_active_1udy7_303",z9="_eventScroll_1udy7_308",H9="_tabContent_1udy7_314",P9="_noContext_1udy7_319",U9="_overviewContent_1udy7_325",V9="_overviewDashboard_1udy7_334",G9="_overviewHero_1udy7_340",q9="_overviewSection_1udy7_347",F9="_overviewLabel_1udy7_353",Z9="_envRow_1udy7_360",K9="_timeline_1udy7_366",Y9="_timelineRow_1udy7_372",J9="_waitingMessage_1udy7_379",W9="_errorMessage_1udy7_383",X9="_emptyCta_1udy7_387",Q9="_ctaTitle_1udy7_399",eP="_ctaDescription_1udy7_405",tP="_ctaButton_1udy7_412",nP="_workspaceHeader_1udy7_533",sP="_workspaceName_1udy7_558",aP="_workspaceMeta_1udy7_571",iP="_metaRow_1udy7_579",oP="_metaLabel_1udy7_592",rP="_metaValue_1udy7_607",lP="_archiveButton_1udy7_617",cP="_repoLink_1udy7_647",dP="_metaToggle_1udy7_657",uP="_metaToggleArrow_1udy7_678",fP="_metaToggleArrowOpen_1udy7_683",pP="_progressBarContainer_1udy7_687",mP="_progressBar_1udy7_687",hP="_progressFill_1udy7_703",gP="_progressLabel_1udy7_710",vP="_metaTimestamps_1udy7_717",yP="_metaTimestamp_1udy7_717",bP="_metaPlaceholder_1udy7_739",_P="_linkedEnvList_1udy7_744",xP="_linkedEnvChip_1udy7_750",kP="_chipDismiss_1udy7_762",SP="_linkError_1udy7_777",jP="_linkEnvSelect_1udy7_782",J={panelContainer:T9,emptyState:w9,workspaceSummary:N9,workspaceSummaryTitle:C9,workspaceSummarySubtitle:E9,header:A9,headerInfo:D9,headerTitle:R9,taskStatusBadge:M9,taskBranch:I9,taskBlockedBadge:O9,tabBar:L9,tab:B9,active:$9,eventScroll:z9,tabContent:H9,noContext:P9,overviewContent:U9,overviewDashboard:V9,overviewHero:G9,overviewSection:q9,overviewLabel:F9,envRow:Z9,timeline:K9,timelineRow:Y9,waitingMessage:J9,errorMessage:W9,emptyCta:X9,ctaTitle:Q9,ctaDescription:eP,ctaButton:tP,workspaceHeader:nP,workspaceName:sP,workspaceMeta:aP,metaRow:iP,metaLabel:oP,metaValue:rP,archiveButton:lP,repoLink:cP,metaToggle:dP,metaToggleArrow:uP,metaToggleArrowOpen:fP,progressBarContainer:pP,progressBar:mP,progressFill:hP,progressLabel:gP,metaTimestamps:vP,metaTimestamp:yP,metaPlaceholder:bP,linkedEnvList:_P,linkedEnvChip:xP,chipDismiss:kP,linkError:SP,linkEnvSelect:jP};function TP(){return a.jsx("div",{className:J.emptyState,children:"Select a task or click + to create one"})}function wP(){return a.jsx("div",{className:J.emptyState,children:"Select an environment to manage its workspaces, or add a new one."})}function NP(){const{workspaces:{workspaces:t},environments:{environments:s}}=ot(),o=dt(),r=s.length>0;return t.length>0?a.jsx(j9,{}):a.jsxs("div",{className:J.emptyCta,"data-testid":"welcome-cta",children:[a.jsx("div",{className:J.ctaTitle,children:"Welcome to Grackle"}),a.jsx("div",{className:J.ctaDescription,children:"Organize your work into workspaces and let agents tackle the tasks."}),a.jsx("button",{className:J.ctaButton,onClick:()=>o(rx),disabled:!r,"data-testid":"welcome-create-button",children:"Create Your First Workspace"}),!r&&a.jsx("div",{className:J.ctaDescription,children:"Add an environment first before creating a workspace."})]})}const CP="_panelContainer_1rih4_1",EP="_chatHeader_1rih4_9",AP="_chatHeaderInfo_1rih4_38",DP="_chatHeaderActions_1rih4_44",RP="_detailButton_1rih4_50",MP="_emptyState_1rih4_64",IP="_emptyTitle_1rih4_76",OP="_emptyDescription_1rih4_82",LP="_emptyHint_1rih4_88",Yt={panelContainer:CP,chatHeader:EP,chatHeaderInfo:AP,chatHeaderActions:DP,detailButton:RP,emptyState:MP,emptyTitle:IP,emptyDescription:OP,emptyHint:LP};function Kp(){return a.jsx("div",{className:Yt.panelContainer,"aria-hidden":"true",children:a.jsxs("div",{style:{flex:1,overflow:"hidden",padding:"var(--space-md)",display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:[a.jsx(Ne,{width:"65%",height:"2.5rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"85%",height:"4rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"45%",height:"2rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"75%",height:"3rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"55%",height:"2.5rem",borderRadius:"var(--radius-sm)"})]})})}function BP({hasLocalEnvironment:t}){return a.jsxs("div",{className:Yt.emptyState,"data-testid":"chat-empty-state",children:[a.jsx("div",{className:Yt.emptyTitle,children:"Welcome to Grackle"}),a.jsx("div",{className:Yt.emptyDescription,children:t?"Type a message below to start chatting with the System agent. It can help you plan work, create tasks, and coordinate agents.":"Add a local environment in Settings to start chatting."}),!t&&a.jsx("div",{className:Yt.emptyHint,children:"Go to Settings → Environments to add one."})]})}function $P({streamName:t}){return a.jsxs("div",{className:Yt.emptyState,"data-testid":"stream-no-session-state",children:[a.jsx("div",{className:Yt.emptyTitle,children:t}),a.jsx("div",{className:Yt.emptyDescription,children:"No active sessions on this stream."})]})}function zP(){return a.jsxs("div",{className:Yt.emptyState,"data-testid":"stream-not-found-state",children:[a.jsx("div",{className:Yt.emptyTitle,children:"Stream not found"}),a.jsxs("div",{className:Yt.emptyDescription,children:["This stream no longer exists or hasn't been created yet."," ",a.jsx(bl,{to:cl,children:"Back to System"})]})]})}function HP(){return a.jsxs("div",{className:Yt.emptyState,"data-testid":"stream-unavailable-state",children:[a.jsx("div",{className:Yt.emptyTitle,children:"Stream unavailable"}),a.jsxs("div",{className:Yt.emptyDescription,children:["The stream could not be loaded. It may have been deleted, or there may be a temporary network problem."," ",a.jsx(bl,{to:cl,children:"Back to System"})]})]})}function x_(){const{streamId:t}=Vn(),{tasks:{tasks:s,tasksLoading:o,startTask:r},sessions:{sessions:c,sessionsLoading:d,events:u,eventsDropped:p,taskSessions:m,loadTaskSessions:g,loadSessionEvents:v,kill:_,stopGraceful:b,sendInput:x,spawn:k},environments:{environments:j,provisionEnvironment:w},personas:{personas:T},streams:{streams:C,streamsLoading:A,streamsLoadedOnce:L,streamsLoadError:E}}=ot(),{showToast:O}=mn(),[z,D]=y.useState(!1),H=y.useRef(void 0),[Y,U]=y.useState(),X=s.find(Se=>Se.id===Hr),he=t===void 0&&X!=null&&X.latestSessionId?c.find(Se=>Se.id===X.latestSessionId)??(m[Hr]??[]).find(Se=>Se.id===X.latestSessionId):void 0;y.useEffect(()=>{t===void 0&&g(Hr).catch(()=>{})},[t,g]),y.useEffect(()=>{t===void 0&&(X!=null&&X.latestSessionId)&&g(Hr).catch(()=>{})},[t,X==null?void 0:X.latestSessionId,g]);const W=t!==void 0?C.find(Se=>Se.id===t):void 0,le=y.useMemo(()=>!W||W.subscribers.length===0?void 0:(W.subscribers.find(gt=>gt.permission==="rw")??W.subscribers[0]).sessionId,[W]),B=le!==void 0?c.find(Se=>Se.id===le):void 0,R=t===void 0?he:B;y.useEffect(()=>{R&&R.id!==H.current&&(H.current=R.id,v(R.id).catch(()=>{}))},[R==null?void 0:R.id,v]),y.useEffect(()=>{H.current=void 0,D(!1)},[t]);const se=y.useMemo(()=>{if(!R)return[];const Se=u.filter(Pe=>Pe.sessionId===R.id);return kh(xh(Se))},[u,R==null?void 0:R.id]),oe=j.find(Se=>Se.adapterType==="local"&&Se.status==="connected"),G=R!==void 0&&R.status!=="stopped"&&R.status!=="suspended",pe=(R==null?void 0:R.status)==="idle";y.useEffect(()=>{Y&&R&&pe&&(x(R.id,Y).catch(()=>{O("Failed to send message","error")}),U(void 0))},[Y,pe,R==null?void 0:R.id,x,O]);const de=y.useCallback((Se,Pe,gt,_e)=>{_e&&U(_e),r(Se,Pe,gt).catch(()=>{})},[r]);if(t===void 0&&!X&&(d||o))return a.jsx(Kp,{});if(t!==void 0&&!W&&(A||!L))return a.jsx(Kp,{});if(t!==void 0&&W&&d&&!R)return a.jsx(Kp,{});if(t!==void 0&&!W)return a.jsx("div",{className:Yt.panelContainer,"data-testid":"chat-page",children:a.jsx(al,{events:[],eventsDropped:0,emptyState:E?a.jsx(HP,{}):a.jsx(zP,{}),onShowToast:O})});const xe=t!==void 0&&W?W.name:void 0;return a.jsxs("div",{className:Yt.panelContainer,"data-testid":"chat-page",children:[G&&a.jsxs("div",{className:Yt.chatHeader,children:[a.jsxs("span",{className:Yt.chatHeaderInfo,children:[xe&&a.jsxs("strong",{children:[xe," — "]}),"Session: ",R.id.slice(0,8)," | ",R.runtime," | ",R.status]}),a.jsxs("div",{className:Yt.chatHeaderActions,children:[W&&a.jsx("button",{className:Yt.detailButton,onClick:()=>D(Se=>!Se),"aria-label":"Stream details","aria-expanded":z,"data-testid":"stream-detail-toggle",children:"Info"}),a.jsx(cx,{label:"Stop",onClick:()=>{b(R.id).catch(()=>{})},variant:"danger",size:"sm","data-testid":"stop-split-button",options:[{label:"Stop",description:"Graceful shutdown",onClick:()=>{b(R.id).catch(()=>{})}},{label:"Kill",description:"Force kill",onClick:()=>{_(R.id).catch(()=>{})}}]})]})]}),t!==void 0&&W&&!R&&!d&&a.jsx(al,{events:[],eventsDropped:0,emptyState:a.jsx($P,{streamName:W.name}),onShowToast:O}),(t===void 0||R)&&a.jsx(al,{events:se,eventsDropped:p,emptyState:t===void 0?a.jsx(BP,{hasLocalEnvironment:!!oe}):void 0,onShowToast:O}),t===void 0&&oe&&a.jsx(Rd,{mode:G?"send":"start",sessionId:G?R.id:void 0,taskId:Hr,environmentId:G?R.environmentId:oe.id,personas:T,environments:j,onSendInput:(Se,Pe)=>{x(Se,Pe).catch(()=>{O("Failed to send message","error")})},onSpawn:(Se,Pe,gt)=>{k(Se,Pe,gt).catch(()=>{})},onStartTask:de,onProvisionEnvironment:Se=>{w(Se).catch(()=>{})},onShowToast:O}),z&&W&&a.jsx(D$,{stream:W,onClose:()=>D(!1)})]})}function PP(){const t=Rz(),[s]=Lm(),o=s.get("env")??"",{sessions:{sendInput:r,spawn:c},tasks:{startTask:d},personas:{personas:u},environments:{environments:p,provisionEnvironment:m}}=ot(),{showToast:g}=mn();return a.jsxs("div",{className:J.panelContainer,children:[a.jsx(Ss,{segments:t}),a.jsx("div",{className:J.emptyState,children:"Enter a prompt below to start a new session"}),a.jsx(Rd,{mode:"spawn",environmentId:o,showPersonaSelect:!0,personas:u,environments:p,onSendInput:(v,_)=>{r(v,_).catch(()=>{g("Failed to send message","error")})},onSpawn:(v,_,b)=>{c(v,_,b).catch(()=>{})},onStartTask:(v,_,b)=>{d(v,_,b).catch(()=>{})},onProvisionEnvironment:v=>{m(v).catch(()=>{})},onShowToast:g})]})}function UP(){return a.jsxs("div",{className:J.panelContainer,"aria-hidden":"true",children:[a.jsxs("div",{className:J.header,children:[a.jsx("span",{children:a.jsx(Ne,{width:"10rem",height:"0.875rem"})}),a.jsx("span",{className:J.headerInfo,children:a.jsx(Ne,{width:"16rem",height:"0.875rem"})})]}),a.jsx("div",{className:J.eventScroll,children:a.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:[a.jsx(Ne,{width:"70%",height:"2.5rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"90%",height:"4rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"50%",height:"2rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"80%",height:"3.5rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"60%",height:"2.5rem",borderRadius:"var(--radius-sm)"})]})})]})}function VP({sessionId:t,session:s,isActive:o,onStop:r,onKill:c}){return a.jsxs("div",{className:J.header,children:[a.jsxs("span",{children:["Session: ",t.slice(0,8),s&&` | ${s.runtime} | ${s.endReason||s.status}`,s!=null&&s.inputTokens||s!=null&&s.outputTokens||s!=null&&s.costMillicents?` | ${$o((s.inputTokens??0)+(s.outputTokens??0))} tokens · ${Is(s.costMillicents??0)}`:""]}),a.jsxs("span",{className:J.headerInfo,children:[s&&a.jsx("span",{children:s.prompt.length>60?s.prompt.slice(0,60)+"...":s.prompt}),o&&a.jsx(cx,{label:"Stop",onClick:r,variant:"danger",size:"sm","data-testid":"stop-split-button",options:[{label:"Stop",description:"Graceful shutdown",onClick:r},{label:"Kill",description:"Force kill",onClick:c}]})]})]})}function GP({session:t}){const s=t&&(t.status==="stopped"||t.status==="suspended"),o=s?`Session ${t.endReason||t.status} with no events recorded.`:"Waiting for events...";return a.jsx("div",{className:s?J.errorMessage:J.waitingMessage,children:o})}function qP(){const{sessionId:t}=Vn(),{sessions:{events:s,eventsDropped:o,sessions:r,sessionsLoading:c,kill:d,stopGraceful:u,loadSessionEvents:p,sendInput:m,spawn:g},tasks:{startTask:v},personas:{personas:_},environments:{environments:b,provisionEnvironment:x}}=ot(),{showToast:k}=mn(),j=y.useRef(void 0),w=Mz(t),T=r.find(L=>L.id===t)??void 0,C=y.useMemo(()=>{const L=t?s.filter(E=>E.sessionId===t):[];return kh(xh(L))},[s,t]);if(y.useEffect(()=>{t&&t!==j.current&&(j.current=t,p(t).catch(()=>{}))},[t,p]),!T&&c)return a.jsx(UP,{});if(!t)return a.jsx("div",{className:J.emptyState,children:"No session selected"});const A=(T==null?void 0:T.status)==="running"||(T==null?void 0:T.status)==="idle";return a.jsxs("div",{className:J.panelContainer,children:[a.jsx(Ss,{segments:w}),a.jsx(VP,{sessionId:t,session:T,isActive:A,onStop:()=>{u(t).catch(()=>{})},onKill:()=>{d(t).catch(()=>{})}}),a.jsx(al,{events:C,eventsDropped:o,emptyState:a.jsx(GP,{session:T}),onShowToast:k,sessions:r,currentSessionId:t,environments:b,personas:_,onForward:(L,E)=>m(L,E)}),A&&a.jsx(Rd,{mode:"send",sessionId:t,environmentId:T.environmentId,personas:_,environments:b,onSendInput:(L,E)=>{m(L,E).catch(()=>{k("Failed to send message","error")})},onSpawn:(L,E,O)=>{g(L,E,O).catch(()=>{})},onStartTask:(L,E,O)=>{v(L,E,O).catch(()=>{})},onProvisionEnvironment:L=>{x(L).catch(()=>{})},onShowToast:k})]})}function FP(t){if(!t)return!1;const s=t.tagName;return!!(s==="INPUT"||s==="TEXTAREA"||s==="SELECT"||t.isContentEditable)}function ca(t,s){const o=y.useRef(s);o.current=s;const{key:r,ctrl:c=!1,shift:d=!1,suppressInInputs:u=!0,enabled:p=!0}=t;y.useEffect(()=>{if(!p)return;const m=g=>{if(u&&FP(document.activeElement??void 0))return;const v=g.ctrlKey||g.metaKey;c===v&&(d&&!g.shiftKey||g.key===r&&o.current())};return document.addEventListener("keydown",m),()=>{document.removeEventListener("keydown",m)}},[r,c,d,u,p])}function ZP(){return a.jsxs("div",{className:J.panelContainer,"aria-hidden":"true",children:[a.jsx("div",{className:J.workspaceHeader,children:a.jsx("span",{className:J.workspaceName,children:a.jsx(Ne,{width:"12rem",height:"1.25rem"})})}),a.jsx("div",{className:J.metaToggle,style:{cursor:"default"},children:a.jsx(Ne,{width:"4rem",height:"0.625rem"})}),a.jsxs("div",{className:J.progressBarContainer,children:[a.jsx("div",{className:J.progressBar,children:a.jsx("div",{className:J.progressFill,style:{width:"0%"}})}),a.jsx(Ne,{width:"2rem",height:"0.625rem"})]}),a.jsxs("div",{className:J.tabBar,role:"tablist","aria-label":"Workspace view",children:[a.jsx("span",{className:`${J.tab} ${J.active}`,children:"Graph"}),a.jsx("span",{className:J.tab,children:"Board"}),a.jsx("span",{className:J.tab,children:"Tasks"})]}),a.jsx("div",{className:J.overviewContent,children:Array.from({length:3},(t,s)=>a.jsx(Sd,{lines:2},s))})]})}function k_(t){if(!t)return"";const s=new Date(t);if(isNaN(s.getTime()))return"";const r=Date.now()-s.getTime();if(r<0)return"just now";const c=Math.floor(r/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;const d=Math.floor(c/60);if(d<24)return`${d}h ago`;const u=Math.floor(d/24);return u<30?`${u}d ago`:s.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}const Yp=100;function KP(t){try{const s=new URL(t);return s.protocol!=="http:"&&s.protocol!=="https:"?void 0:s.toString()}catch{return}}function YP(){const{workspaceId:t,environmentId:s}=Vn(),o=dt(),{tasks:{tasks:r},environments:{environments:c},workspaces:{workspaces:d,workspacesLoading:u,archiveWorkspace:p,updateWorkspace:m,linkEnvironment:g,unlinkEnvironment:v,linkOperationError:_,clearLinkOperationError:b},personas:{personas:x},sessions:{sessions:k},usageCache:j,loadUsage:w}=ot(),{resolvedThemeId:T}=lk(),[C,A]=y.useState("tasks"),[L,E]=y.useState(!1),[O,z]=y.useState(null),[D,H]=y.useState(!1),Y=y.useRef(void 0),U=d.find(G=>G.id===t),X=s??(U==null?void 0:U.linkedEnvironmentIds[0])??"",he=Iz(t,X,d,c);ca({key:"1"},()=>A("graph")),ca({key:"2"},()=>A("board")),ca({key:"3"},()=>A("tasks")),y.useEffect(()=>{const G=Y.current;Y.current=t,!(G===void 0||G===t)&&O!==null&&z(null)},[t,O]);const W=k.reduce((G,pe)=>G+(pe.costMillicents??0),0);y.useEffect(()=>{t&&w("workspace",t).catch(()=>{})},[t,w,W]);const le=t?j[`workspace:${t}`]:void 0,B=r.filter(G=>G.workspaceId===t),R=B.filter(G=>G.status==="complete").length,se=B.length,oe=se>0?Math.round(R/se*100):0;return!U&&u?a.jsx(ZP,{}):a.jsxs("div",{className:J.panelContainer,children:[a.jsx(Ss,{segments:he}),a.jsxs("div",{className:J.workspaceHeader,children:[a.jsx("span",{className:J.workspaceName,"data-testid":"workspace-name",children:a.jsx(Ut,{value:(U==null?void 0:U.name)||"",onSave:G=>{U&&m(U.id,{name:G}).catch(()=>{})},validate:G=>{const pe=G.trim();if(!pe)return"Name is required";if(pe.length>Yp)return`Max ${Yp} characters`},maxLength:Yp,fieldId:"name",activeFieldId:O,onActivate:z,ariaLabel:"Workspace name",renderDisplay:G=>G||t||void 0,"data-testid":"edit-name"})}),a.jsx("button",{className:J.archiveButton,onClick:()=>E(!0),title:"Archive workspace","data-testid":"archive-workspace-button",children:"Archive"})]}),a.jsxs("button",{className:J.metaToggle,onClick:()=>H(!D),"aria-expanded":!D,"aria-controls":"workspace-meta-panel","data-testid":"meta-toggle",children:[a.jsx("span",{className:`${J.metaToggleArrow} ${D?"":J.metaToggleArrowOpen}`,children:"▶"}),"Details"]}),!D&&a.jsxs("div",{className:J.workspaceMeta,"data-testid":"workspace-meta",id:"workspace-meta-panel",children:[a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Description"}),a.jsx("div",{className:J.metaValue,children:a.jsx(_m,{value:(U==null?void 0:U.description)||"",onSave:G=>{U&&m(U.id,{description:G}).catch(()=>{})},fieldId:"description",activeFieldId:O,onActivate:z,renderDisplay:G=>G?a.jsx("span",{className:J.overviewMarkdown,children:a.jsx(Ed,{remarkPlugins:[Ad],children:G})}):void 0,placeholder:"No description",ariaLabel:"Workspace description","data-testid":"edit-description"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Repository"}),a.jsx("div",{className:J.metaValue,children:a.jsx(Ut,{value:(U==null?void 0:U.repoUrl)||"",onSave:G=>{U&&m(U.id,{repoUrl:G}).catch(()=>{})},validate:G=>{const pe=G.trim();if(pe&&!/^https?:\/\/.+/.test(pe))return"Must be a valid http(s) URL"},fieldId:"repoUrl",activeFieldId:O,onActivate:z,renderDisplay:G=>{const pe=KP(G);return pe?a.jsx("a",{className:J.repoLink,href:pe,target:"_blank",rel:"noopener noreferrer",onClick:de=>de.stopPropagation(),children:G}):G?a.jsx("span",{children:G}):void 0},placeholder:"No repository",ariaLabel:"Workspace repository URL","data-testid":"edit-repo"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Environments"}),a.jsx("div",{className:J.metaValue,"data-testid":"linked-environments",children:U?a.jsxs("span",{className:J.linkedEnvList,children:[(()=>{const G=[...new Set(U.linkedEnvironmentIds)];return G.length===0?a.jsx("span",{className:J.metaPlaceholder,children:"None"}):G.map(pe=>{const de=c.find(xe=>xe.id===pe);return a.jsxs("span",{className:J.linkedEnvChip,"data-testid":`linked-env-${pe}`,children:[(de==null?void 0:de.displayName)||pe,a.jsx("button",{className:J.chipDismiss,onClick:()=>{v(U.id,pe).catch(()=>{})},title:`Unlink ${(de==null?void 0:de.displayName)||pe}`,"aria-label":`Unlink ${(de==null?void 0:de.displayName)||pe}`,"data-testid":`unlink-env-${pe}`,disabled:G.length<=1,children:"x"})]},pe)})})(),(()=>{const G=new Set(U.linkedEnvironmentIds),pe=c.filter(de=>!G.has(de.id));return pe.length===0?null:a.jsxs("select",{className:J.linkEnvSelect,value:"",onChange:de=>{de.target.value&&g(U.id,de.target.value).catch(()=>{})},"aria-label":"Link environment","data-testid":"link-env-select",children:[a.jsx("option",{value:"",children:"+ Link"}),pe.map(de=>a.jsx("option",{value:de.id,children:de.displayName||de.id},de.id))]})})(),_&&a.jsxs("span",{className:J.linkError,"data-testid":"link-operation-error",role:"alert",children:[_,a.jsx("button",{className:J.chipDismiss,onClick:b,"aria-label":"Dismiss error","data-testid":"dismiss-link-error",children:"x"})]})]}):a.jsx("span",{className:J.metaPlaceholder,children:"None"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Persona"}),a.jsx("div",{className:J.metaValue,children:a.jsx(jd,{value:(U==null?void 0:U.defaultPersonaId)||"",onSave:G=>{U&&m(U.id,{defaultPersonaId:G}).catch(()=>{})},options:[{value:"",label:"(Inherit)"},...x.map(G=>({value:G.id,label:G.name}))],fieldId:"defaultPersonaId",activeFieldId:O,onActivate:z,renderDisplay:G=>{const pe=x.find(de=>de.id===G);if(pe)return a.jsx("span",{children:pe.name})},placeholder:(U==null?void 0:U.defaultPersonaId)||"(Inherit)",ariaLabel:"Workspace default persona","data-testid":"edit-persona"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Worktrees"}),a.jsx("div",{className:J.metaValue,children:a.jsx(P5,{checked:(U==null?void 0:U.useWorktrees)??!0,onChange:G=>{U&&m(U.id,{useWorktrees:G}).catch(()=>{})},label:"Enable worktree isolation","data-testid":"worktree-toggle"})})]}),a.jsxs("div",{className:J.metaRow,children:[a.jsx("span",{className:J.metaLabel,children:"Working Dir"}),a.jsx("div",{className:J.metaValue,children:a.jsx(Ut,{value:(U==null?void 0:U.workingDirectory)||"",onSave:G=>{U&&m(U.id,{workingDirectory:G}).catch(()=>{})},fieldId:"workingDirectory",activeFieldId:O,onActivate:z,placeholder:"Default (server default)",ariaLabel:"Working directory","data-testid":"edit-working-directory"})})]}),U&&a.jsxs("div",{className:J.metaTimestamps,children:[a.jsxs("span",{className:J.metaTimestamp,children:["Created ",k_(U.createdAt)]}),U.updatedAt&&U.updatedAt!==U.createdAt&&a.jsxs("span",{className:J.metaTimestamp,children:["· Updated ",k_(U.updatedAt)]})]})]}),se>0&&a.jsxs("div",{className:J.progressBarContainer,"data-testid":"progress-bar",children:[a.jsx("div",{className:J.progressBar,children:a.jsx("div",{className:J.progressFill,style:{width:`${oe}%`}})}),a.jsxs("span",{className:J.progressLabel,children:[R,"/",se]})]}),le&&le.costMillicents>0&&a.jsx("div",{className:J.progressBarContainer,children:a.jsxs("span",{className:J.progressLabel,children:["Usage: ",Is(le.costMillicents)," (",le.sessionCount," session",le.sessionCount!==1?"s":"",")"]})}),U&&(U.tokenBudget>0||U.costBudgetMillicents>0)&&a.jsx("div",{className:J.progressBarContainer,children:a.jsxs("span",{className:J.progressLabel,children:["Budget:"," ",U.tokenBudget>0&&a.jsxs(a.Fragment,{children:["Tokens: ",$o(((le==null?void 0:le.inputTokens)??0)+((le==null?void 0:le.outputTokens)??0))," / ",$o(U.tokenBudget)]}),U.tokenBudget>0&&U.costBudgetMillicents>0&&" | ",U.costBudgetMillicents>0&&a.jsxs(a.Fragment,{children:["Cost: ",Is((le==null?void 0:le.costMillicents)??0)," / ",Is(U.costBudgetMillicents)]})]})}),a.jsxs("div",{className:J.tabBar,role:"tablist","aria-label":"Workspace view",children:[a.jsx("button",{role:"tab","aria-selected":C==="graph",className:`${J.tab} ${C==="graph"?J.active:""}`,onClick:()=>A("graph"),children:"Graph"}),a.jsx("button",{role:"tab","aria-selected":C==="board",className:`${J.tab} ${C==="board"?J.active:""}`,onClick:()=>A("board"),"data-testid":"board-tab",children:"Board"}),a.jsx("button",{role:"tab","aria-selected":C==="tasks",className:`${J.tab} ${C==="tasks"?J.active:""}`,onClick:()=>A("tasks"),children:"Tasks"})]}),C==="tasks"&&se>0&&a.jsxs("div",{className:J.workspaceSummary,children:[a.jsx("span",{className:J.workspaceSummaryTitle,children:`${R}/${se} tasks complete`}),a.jsx("span",{className:J.workspaceSummarySubtitle,children:"Select a task or click + to create one"})]}),C==="tasks"&&se===0&&a.jsxs("div",{className:J.emptyCta,children:[a.jsx("button",{className:J.ctaButton,onClick:()=>o(Bi(t,void 0,X)),children:"Create Task"}),a.jsx("div",{className:J.ctaDescription,children:"Break your work into tasks and let agents tackle them"})]}),C==="board"&&a.jsx(sz,{workspaceId:t,environmentId:X,tasks:r,sessions:k,personas:x,environments:c}),C==="graph"&&a.jsx(eC,{workspaceId:t,environmentId:X,tasks:r,resolvedThemeId:T}),a.jsx(ks,{isOpen:L,title:"Archive Workspace?",description:"This will hide the workspace from the sidebar. Tasks will not be deleted.",confirmLabel:"Archive",onConfirm:()=>{U&&(p(U.id).catch(()=>{}),o("/",{replace:!0})),E(!1)},onCancel:()=>E(!1)})]})}const JP="_container_3pgew_1",WP="_header_3pgew_8",XP="_headerTitle_3pgew_35",QP="_headerActions_3pgew_44",eU="_body_3pgew_51",tU="_btnPrimary_3pgew_63",nU="_btnGhost_3pgew_94",sU="_error_3pgew_116",Za={container:JP,header:WP,headerTitle:XP,headerActions:QP,body:eU,btnPrimary:tU,btnGhost:nU,error:sU};function aU(t){const s={};return t.name.trim()||(s.name="Name is required"),t.repoUrl.trim()&&!/^https?:\/\/.+/i.test(t.repoUrl.trim())&&(s.repoUrl="Must be a valid http(s) URL"),t.environmentId||(s.environmentId="Environment is required"),Object.keys(s).length>0?s:void 0}const iU=[{label:"Home",url:qo},{label:"New Workspace",url:void 0}];function oU(){const[t]=Lm(),s=t.get("environment")??void 0,{environments:{environments:o},personas:{personas:r},workspaces:{createWorkspace:c,workspaceCreating:d}}=ot(),{showToast:u}=mn(),p=dt(),[m,g]=y.useState(()=>{var w;return mz(void 0,s||((w=o[0])==null?void 0:w.id))}),[v,_]=y.useState(),[b,x]=y.useState();y.useEffect(()=>{s||m.environmentId||o.length===0||g(w=>{var T;return w.environmentId?w:{...w,environmentId:((T=o[0])==null?void 0:T.id)??""}})},[o,s,m.environmentId]);const k=()=>{const w=aU(m);if(w){_(w),x(void 0);return}_(void 0),x(void 0),c(m.name.trim(),m.description,m.repoUrl.trim(),m.environmentId,m.defaultPersonaId,m.useWorktrees,m.workingDirectory,T=>{u("Workspace created","success"),p(Xa(T.id,T.linkedEnvironmentIds[0]??m.environmentId),{replace:!0})},T=>{x(T)}).catch(()=>{})},j=()=>{p(s?Mi(s):qo,{replace:!0})};return a.jsxs("div",{className:Za.container,children:[a.jsxs("div",{className:Za.header,children:[a.jsx("div",{className:Za.headerTitle,children:a.jsx(Ss,{segments:iU})}),a.jsxs("div",{className:Za.headerActions,children:[a.jsx("button",{className:Za.btnGhost,onClick:j,disabled:d,"data-testid":"workspace-create-cancel",children:"Cancel"}),a.jsx("button",{className:Za.btnPrimary,onClick:k,disabled:d||!m.name.trim()||!m.environmentId,"data-testid":"workspace-create-save",children:d?a.jsx(H1,{size:"sm",label:"Creating"}):"Create Workspace"})]})]}),a.jsxs("div",{className:Za.body,children:[a.jsx(gz,{values:m,onChange:w=>{g(w),_(void 0),x(void 0)},environments:o,personas:r,errors:v,disabled:d,autoFocusName:!0}),b&&a.jsx("div",{className:Za.error,"data-testid":"workspace-create-submit-error",children:b})]})]})}function S_(){const{workspaceId:t,environmentId:s}=Vn(),[o]=Lm(),r=t??o.get("workspace")??"",c=o.get("parent")??void 0,{tasks:{tasks:d,createTask:u,updateTask:p},workspaces:{workspaces:m},personas:{personas:g}}=ot(),{showToast:v}=mn();return a.jsx(tk,{mode:"new",workspaceId:r,parentTaskId:c,environmentId:s,tasks:d,workspaces:m,personas:g,onCreateTask:(_,b,x,k,j,w,T,C,A)=>{u(_,b,x,k,j,w,T,C,A).catch(()=>{})},onUpdateTask:(_,b,x,k,j)=>{p(_,b,x,k,j).catch(()=>{})},onShowToast:v})}function rU(){return a.jsxs("div",{className:J.panelContainer,"aria-hidden":"true",children:[a.jsx("div",{className:J.header,children:a.jsxs("span",{className:J.headerTitle,children:[a.jsx(Ne,{width:"12rem",height:"1rem"}),a.jsx(Ne,{width:"4rem",height:"1rem",borderRadius:"var(--radius-full)"})]})}),a.jsxs("div",{className:J.tabBar,role:"tablist","aria-label":"Task view",children:[a.jsx("span",{className:`${J.tab} ${J.active}`,children:"Overview"}),a.jsx("span",{className:J.tab,children:"Stream"}),a.jsx("span",{className:J.tab,children:"Findings"})]}),a.jsx("div",{className:J.overviewContent,children:a.jsxs("div",{className:J.overviewDashboard,children:[a.jsx("div",{className:J.overviewHero,children:a.jsx(Ne,{width:"5rem",height:"1.5rem",borderRadius:"var(--radius-full)"})}),a.jsxs("div",{className:J.overviewSection,children:[a.jsx("div",{className:J.overviewLabel,children:"Description"}),a.jsx(bm,{lines:2})]}),a.jsxs("div",{className:J.overviewSection,children:[a.jsx("div",{className:J.overviewLabel,children:"Environment"}),a.jsxs("div",{className:J.envRow,children:[a.jsx(Ne,{width:"0.5rem",height:"0.5rem",variant:"circular"}),a.jsx(Ne,{width:"8rem",height:"0.875rem"})]})]}),a.jsxs("div",{className:J.overviewSection,children:[a.jsx("div",{className:J.overviewLabel,children:"Dependencies"}),a.jsx(bm,{lines:2})]}),a.jsxs("div",{className:J.overviewSection,children:[a.jsx("div",{className:J.overviewLabel,children:"Timeline"}),a.jsx("div",{className:J.timeline,children:Array.from({length:4},(t,s)=>a.jsxs("div",{className:J.timelineRow,children:[a.jsx(Ne,{width:"4rem",height:"0.75rem"}),a.jsx(Ne,{width:"10rem",height:"0.75rem"})]},s))})]})]})})]})}function Ka(){const{taskId:t,workspaceId:s,environmentId:o}=Vn(),r=Jt(),c=dt(),{showToast:d}=mn(),{sessions:{events:u,eventsDropped:p,sessions:m,loadSessionEvents:g,taskSessions:v,loadTaskSessions:_,sendInput:b,spawn:x,kill:k},tasks:{tasks:j,tasksLoading:w,startTask:T,stopTask:C,resumeTask:A,deleteTask:L,createTask:E,updateTask:O},environments:{environments:z,provisionEnvironment:D},findings:{findings:H,loadFindings:Y},workspaces:{workspaces:U},personas:{personas:X},usageCache:he,loadUsage:W}=ot(),le=y.useRef(void 0),B=y.useRef(void 0),R=y.useRef(void 0),se=y.useRef(void 0),oe=y.useRef(void 0),G=r.pathname.endsWith("/stream")?"stream":r.pathname.endsWith("/findings")?"findings":"overview",pe=r.pathname.endsWith("/edit"),[de,xe]=y.useState(G),[Se,Pe]=y.useState(!1),[gt,_e]=y.useState(void 0),[Ie,Mt]=y.useState(""),[hn,ce]=y.useState(pe),Ue=y.useRef(G),ut=y.useRef(pe),te=j.find(Ee=>Ee.id===t),re=(te==null?void 0:te.workspaceId)||void 0,ve=U.find(Ee=>Ee.id===re);y.useEffect(()=>{G!==Ue.current&&(Ue.current=G,G!==de&&xe(G))},[G,de]),y.useEffect(()=>{pe!==ut.current&&(ut.current=pe,pe!==hn&&ce(pe))},[pe,hn]),y.useEffect(()=>{if(Ie===""){if(ve!=null&&ve.linkedEnvironmentIds[0])Mt(ve.linkedEnvironmentIds[0]);else if(z.length>0){const Ee=z.find(Ve=>Ve.status==="connected");Mt((Ee==null?void 0:Ee.id)??z[0].id)}}},[Ie,ve==null?void 0:ve.linkedEnvironmentIds[0],z]);const ft=te?v[te.id]??[]:[];let Me;gt&&ft.some(Ee=>Ee.id===gt)?Me=gt:Me=(te==null?void 0:te.latestSessionId)||void 0;const rn=()=>{Pe(!0)},ga=()=>{if(!te)return;L(te.id).catch(()=>{}),Pe(!1);const Ee=o??(ve==null?void 0:ve.linkedEnvironmentIds[0]);c(te.workspaceId&&Ee?Xa(te.workspaceId,Ee):"/",{replace:!0})};y.useEffect(()=>{(te==null?void 0:te.id)!==B.current&&(B.current=te==null?void 0:te.id,_e(void 0),Mt(""),ce(pe))},[te==null?void 0:te.id,pe]),y.useEffect(()=>{if(!(te!=null&&te.id))return;const Ee=te.id!==se.current,Ve=te.latestSessionId!==oe.current;(Ee||Ve)&&(se.current=te.id,oe.current=te.latestSessionId,_(te.id).catch(()=>{}))},[te==null?void 0:te.id,te==null?void 0:te.latestSessionId,_]),y.useEffect(()=>{if((te==null?void 0:te.status)!==R.current){const Ee=R.current===void 0;R.current=te==null?void 0:te.status;const Ve=(te==null?void 0:te.status)==="not_started"?"overview":(te==null?void 0:te.status)==="working"||(te==null?void 0:te.status)==="paused"?"stream":(te==null?void 0:te.status)==="complete"?"findings":void 0;Ve&&Ve!==de&&!(Ee&&G!=="overview")&&xe(Ve)}},[te==null?void 0:te.status,de,G]);const us=y.useMemo(()=>new Map(j.map(Ee=>[Ee.id,Ee])),[j]),ni=y.useMemo(()=>{const Ee=Me?u.filter(Ve=>Ve.sessionId===Me):[];return kh(xh(Ee))},[u,Me]),va=te?te.dependsOn.some(Ee=>{const Ve=us.get(Ee);return Ve!==void 0&&Ve.status!=="complete"}):!1,en=y.useMemo(()=>Oz(t,o,U,z,us),[t,o,U,z,us]);y.useEffect(()=>{Me&&Me!==le.current&&(le.current=Me,g(Me).catch(()=>{}))},[Me,g]),y.useEffect(()=>{de==="findings"&&re&&Y(re).catch(()=>{})},[de,re,Y]);const zi=ft.reduce((Ee,Ve)=>Ee+(Ve.costMillicents??0),0);y.useEffect(()=>{te&&(W("task",te.id).catch(()=>{}),te.childTaskIds.length>0&&W("task_tree",te.id).catch(()=>{}))},[te==null?void 0:te.id,te==null?void 0:te.childTaskIds.length,W,zi]);const ya=te?`task:${te.id}`:"",si=ya in he?he[ya]:void 0,js=te?`task_tree:${te.id}`:"",Hi=te&&te.childTaskIds.length>0&&js in he?he[js]:void 0,Gn=Ee=>{xe(Ee),c(Hn(t,Ee==="overview"?void 0:Ee,s,o))};return ca({key:"1"},()=>Gn("overview")),ca({key:"2"},()=>Gn("stream")),ca({key:"3"},()=>Gn("findings")),!te&&w?a.jsx(rU,{}):a.jsxs("div",{className:J.panelContainer,children:[a.jsx(Ss,{segments:en}),a.jsxs("div",{className:J.header,children:[a.jsxs("span",{className:J.headerTitle,children:[a.jsx("span",{"data-testid":"task-title",children:(te==null?void 0:te.title)||t}),te&&a.jsx("span",{className:J.taskStatusBadge,"data-testid":"task-status",children:te.status}),(te==null?void 0:te.branch)&&a.jsx("span",{className:J.taskBranch,children:te.branch}),va&&a.jsx("span",{className:J.taskBlockedBadge,children:"blocked"})]}),te&&a.jsx(IB,{task:te,sessionId:Me,isBlocked:va,onStart:()=>{T(te.id,void 0,Ie).catch(Ee=>{const Ve=Ee instanceof da?Ee.message:"Failed to start task";d(Ve,"error")})},onResume:()=>{A(te.id).catch(()=>{})},onStop:()=>{C(te.id).catch(()=>{})},onPause:()=>{Me&&k(Me).catch(()=>{})},onDelete:rn,onEdit:()=>ce(!0)})]}),a.jsxs("div",{className:J.tabBar,role:"tablist","aria-label":"Task view",children:[a.jsx("button",{role:"tab","aria-selected":de==="overview",className:`${J.tab} ${de==="overview"?J.active:""}`,onClick:()=>Gn("overview"),children:"Overview"}),a.jsx("button",{role:"tab","aria-selected":de==="stream",className:`${J.tab} ${de==="stream"?J.active:""}`,onClick:()=>Gn("stream"),children:"Stream"}),a.jsx("button",{role:"tab","aria-selected":de==="findings",className:`${J.tab} ${de==="findings"?J.active:""}`,onClick:()=>Gn("findings"),children:"Findings"})]}),a.jsxs(rs,{mode:"wait",children:[de==="overview"&&a.jsx(Rt.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:J.overviewContent,"data-testid":"task-overview",children:hn&&te?a.jsx(tk,{mode:"edit",taskId:te.id,workspaceId:re,environmentId:o,tasks:j,workspaces:U,personas:X,onCreateTask:(Ee,Ve,tn,Ct,yn,nn,Pi,Ui,Vi)=>{E(Ee,Ve,tn,Ct,yn,nn,Pi,Ui,Vi).catch(()=>{})},onUpdateTask:(Ee,Ve,tn,Ct,yn)=>{O(Ee,Ve,tn,Ct,yn).catch(()=>{})},onEditDone:()=>{pe?c(Hn(te.id,void 0,s,o),{replace:!0}):ce(!1)},onShowToast:d}):te?a.jsx(x8,{task:te,tasksById:us,environments:z,workspaces:U,taskSessions:ft,selectedEnvId:Ie,taskUsage:si,treeUsage:Hi}):a.jsx("div",{className:J.waitingMessage,children:"No additional details"})},"overview"),de==="stream"&&a.jsxs(Rt.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},style:{display:"flex",flexDirection:"column",flex:1,overflow:"hidden"},children:[a.jsx(_6,{taskSessions:ft,selectedSessionId:Me,onSelect:Ee=>_e(Ee)}),a.jsx(al,{events:ni,eventsDropped:p,emptyState:!Me&&te?va?a.jsx("div",{className:J.emptyCta,"data-testid":"stream-blocked-message",children:a.jsx("div",{className:J.ctaDescription,children:"This task is blocked by incomplete dependencies"})}):a.jsxs("div",{className:J.emptyCta,children:[a.jsx("button",{"data-testid":"stream-start-cta",className:J.ctaButton,onClick:()=>{T(te.id,void 0,Ie).catch(Ee=>{const Ve=Ee instanceof da?Ee.message:"Failed to start task";d(Ve,"error")})},children:"Start Task"}),a.jsx("div",{className:J.ctaDescription,children:"Click to begin agent execution"})]}):Me&&ni.length===0?a.jsx("div",{className:J.waitingMessage,children:"Waiting for events..."}):void 0,onShowToast:d})]},"stream"),de==="findings"&&a.jsx(Rt.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:J.tabContent,children:re?a.jsx(Q1,{findings:H.filter(Ee=>Ee.workspaceId===re)}):a.jsx("div",{className:J.noContext,children:"Navigate to a task within a workspace to view findings"})},"findings")]}),(()=>{if(!te||te.status!=="working"&&te.status!=="paused")return;const Ee=Me?m.find(Ve=>Ve.id===Me):void 0;if(!(!Ee||Ee.status==="stopped"))return a.jsx(Rd,{mode:"send",sessionId:Ee.id,environmentId:Ee.environmentId,personas:X,environments:z,onSendInput:(Ve,tn)=>{b(Ve,tn).catch(()=>{d("Failed to send message","error")})},onSpawn:(Ve,tn,Ct)=>{x(Ve,tn,Ct,void 0,re).catch(()=>{})},onStartTask:(Ve,tn,Ct)=>{T(Ve,tn,Ct).catch(()=>{})},onProvisionEnvironment:Ve=>{D(Ve).catch(()=>{})},onShowToast:d})})(),te&&a.jsx(ks,{isOpen:Se,title:"Delete Task?",description:`"${te.title}" will be permanently removed.`,onConfirm:ga,onCancel:()=>Pe(!1)})]})}function lU(){const{environments:{environments:t,addEnvironment:s,updateEnvironment:o},codespaces:{codespaces:r,codespaceError:c,codespaceListError:d,codespaceCreating:u,listCodespaces:p,createCodespace:m},dockerContainers:{dockerContainers:g,dockerContainersError:v,listDockerContainers:_},githubAccounts:{githubAccounts:b}}=ot(),{showToast:x}=mn();return a.jsx(nk,{mode:"new",environments:t,githubAccounts:b,onAddEnvironment:(k,j,w,T)=>{s(k,j,w,T).catch(()=>{})},onUpdateEnvironment:(k,j)=>{o(k,j).catch(()=>{})},onListCodespaces:k=>{p(k).catch(()=>{})},codespaces:r,codespaceError:c,codespaceListError:d,codespaceCreating:u,onCreateCodespace:(k,j)=>{m(k,j).catch(()=>{})},onListDockerContainers:()=>{_().catch(()=>{})},dockerContainers:g,dockerContainersError:v,onShowToast:x})}function cU(){const{environmentId:t}=Vn(),{environments:{environments:s,addEnvironment:o,updateEnvironment:r},codespaces:{codespaces:c,codespaceError:d,codespaceListError:u,codespaceCreating:p,listCodespaces:m,createCodespace:g},dockerContainers:{dockerContainers:v,dockerContainersError:_,listDockerContainers:b},githubAccounts:{githubAccounts:x}}=ot(),{showToast:k}=mn();return a.jsx(nk,{mode:"edit",environmentId:t,environments:s,githubAccounts:x,onAddEnvironment:(j,w,T,C)=>{o(j,w,T,C).catch(()=>{})},onUpdateEnvironment:(j,w)=>{r(j,w).catch(()=>{})},onListCodespaces:j=>{m(j).catch(()=>{})},codespaces:c,codespaceError:d,codespaceListError:u,codespaceCreating:p,onCreateCodespace:(j,w)=>{g(j,w).catch(()=>{})},onListDockerContainers:()=>{b().catch(()=>{})},dockerContainers:v,dockerContainersError:_,onShowToast:k})}const dU="_layout_11u79_1",uU="_content_11u79_8",fU="_tabPanel_11u79_14",ol={layout:dU,content:uU,tabPanel:fU};function pU(){const t=Dz();return a.jsxs("div",{className:ol.layout,children:[a.jsx(Ss,{segments:t}),a.jsx("div",{className:ol.content,children:a.jsx(ha,{})})]})}const mU="_container_144a4_1",hU="_envHeader_144a4_6",gU="_envTitleRow_144a4_10",vU="_statusDot_144a4_16",yU="_envName_144a4_21",bU="_statusBadge_144a4_27",_U="_envMeta_144a4_33",xU="_metaTag_144a4_39",kU="_actions_144a4_51",SU="_provisionMessage_144a4_59",jU="_errorMessage_144a4_64",TU="_section_144a4_69",wU="_sectionHeader_144a4_73",NU="_cardList_144a4_121",CU="_card_144a4_121",EU="_cardHeader_144a4_138",AU="_cardName_144a4_144",DU="_cardActions_144a4_149",RU="_cardDescription_144a4_154",MU="_cardMeta_144a4_160",IU="_repoLink_144a4_166",OU="_empty_144a4_174",LU="_errorHint_144a4_180",BU="_btnPrimary_144a4_186",$U="_btnOutline_144a4_220",zU="_btnSmall_144a4_247",HU="_btnDanger_144a4_273",Re={container:mU,envHeader:hU,envTitleRow:gU,statusDot:vU,envName:yU,statusBadge:bU,envMeta:_U,metaTag:xU,actions:kU,provisionMessage:SU,errorMessage:jU,section:TU,sectionHeader:wU,cardList:NU,card:CU,cardHeader:EU,cardName:AU,cardActions:DU,cardDescription:RU,cardMeta:MU,repoLink:IU,empty:OU,errorHint:LU,btnPrimary:BU,btnOutline:$U,btnSmall:zU,btnDanger:HU};function PU(){return a.jsxs("div",{className:Re.container,"aria-hidden":"true",children:[a.jsxs("div",{className:Re.envHeader,children:[a.jsxs("div",{className:Re.envTitleRow,children:[a.jsx(Ne,{width:"0.875rem",height:"0.875rem",variant:"circular"}),a.jsx(Ne,{width:"12rem",height:"1.5rem"}),a.jsx(Ne,{width:"4rem",height:"0.875rem"})]}),a.jsxs("div",{className:Re.envMeta,children:[a.jsx(Ne,{width:"6rem",height:"1.25rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"5rem",height:"1.25rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"4.5rem",height:"1.25rem",borderRadius:"var(--radius-sm)"})]})]}),a.jsxs("div",{className:Re.actions,children:[a.jsx(Ne,{width:"5rem",height:"2rem",borderRadius:"var(--radius-sm)"}),a.jsx(Ne,{width:"4rem",height:"2rem",borderRadius:"var(--radius-sm)"})]}),a.jsxs("div",{className:Re.section,children:[a.jsx("div",{className:Re.sectionHeader,children:a.jsx("h3",{style:{margin:0},children:"Workspaces"})}),a.jsxs("div",{className:Re.cardList,children:[a.jsx(Sd,{lines:2}),a.jsx(Sd,{lines:2})]})]})]})}const UU={connected:"var(--accent-green)",sleeping:"var(--accent-yellow)",error:"var(--accent-red)",disconnected:"var(--text-tertiary)",connecting:"var(--accent-blue)"};function VU(){const{environmentId:t}=Vn(),s=dt(),{environments:{environments:o,environmentsLoading:r,provisionStatus:c,provisionEnvironment:d,stopEnvironment:u,removeEnvironment:p},workspaces:{workspaces:m,archiveWorkspace:g,linkEnvironment:v,unlinkEnvironment:_,linkOperationError:b,clearLinkOperationError:x},sessions:{sessions:k}}=ot(),[j,w]=y.useState(!1),[T,C]=y.useState(!1),[A,L]=y.useState(void 0),E=o.find(R=>R.id===t);if(!E&&r)return a.jsx(PU,{});if(!t||!E)return a.jsx(os,{to:Bo,replace:!0});const O=m.filter(R=>R.linkedEnvironmentIds.includes(E.id)),z=k.filter(R=>R.environmentId===E.id),D=z.reduce((R,se)=>R+(se.costMillicents??0),0),H=UU[E.status]||"var(--text-tertiary)",Y=E.status==="connected",U=E.status==="connecting",X=E.status==="disconnected"||E.status==="error"||E.status==="sleeping",he=E.id in c?c[E.id]:void 0,W=()=>{p(E.id).catch(()=>{}),w(!1),s(Bo,{replace:!0})},le=()=>{C(!1),d(E.id,!0).catch(()=>{})},B=R=>{g(R).catch(()=>{}),L(void 0)};return a.jsxs("div",{className:Re.container,children:[a.jsx(ks,{isOpen:j,title:"Delete Environment?",description:`"${E.displayName||E.id}" will be permanently removed along with all its data.`,onConfirm:W,onCancel:()=>w(!1)}),a.jsx(ks,{isOpen:T,title:"Reprovision Environment?",description:"This will kill any active session and force a fresh provision cycle. The environment will be temporarily disconnected.",confirmLabel:"Reprovision",onConfirm:le,onCancel:()=>C(!1)}),a.jsxs("div",{className:Re.envHeader,children:[a.jsxs("div",{className:Re.envTitleRow,children:[a.jsx("span",{className:Re.statusDot,style:{color:H},children:"●"}),a.jsx("h2",{className:Re.envName,children:E.displayName||E.id}),a.jsx("span",{className:Re.statusBadge,style:{color:H},children:E.status})]}),a.jsxs("div",{className:Re.envMeta,children:[a.jsxs("span",{className:Re.metaTag,children:["Adapter: ",E.adapterType]}),z.length>0&&a.jsxs("span",{className:Re.metaTag,children:[z.length," session",z.length!==1?"s":""]}),D>0&&a.jsxs("span",{className:Re.metaTag,children:["Cost: ",Is(D)]})]})]}),a.jsxs("div",{className:Re.actions,children:[Y&&a.jsxs(a.Fragment,{children:[a.jsx("button",{className:Re.btnPrimary,onClick:()=>s(ax(E.id)),children:"New Chat"}),a.jsx("button",{className:Re.btnOutline,onClick:()=>{u(E.id).catch(()=>{})},children:"Stop"}),a.jsx("button",{className:Re.btnOutline,onClick:()=>C(!0),disabled:he!==void 0,"data-testid":"env-reprovision-btn",children:"Reprovision"})]}),X&&a.jsx("button",{className:Re.btnPrimary,onClick:()=>{d(E.id).catch(()=>{})},children:E.status==="error"?"Retry":E.status==="sleeping"?"Wake":"Connect"}),U&&he!==void 0&&a.jsx("span",{className:Re.provisionMessage,children:he.message}),E.status==="error"&&(he==null?void 0:he.stage)==="error"&&a.jsx("span",{className:Re.errorMessage,children:he.message}),a.jsx("button",{className:Re.btnOutline,onClick:()=>s(VN(E.id)),"data-testid":"env-edit-btn",children:"Edit Config"}),a.jsx("button",{className:Re.btnDanger,onClick:()=>w(!0),children:"Delete"})]}),a.jsxs("div",{className:Re.section,children:[a.jsxs("div",{className:Re.sectionHeader,children:[a.jsx("h3",{children:"Workspaces"}),a.jsx("button",{className:Re.btnPrimary,onClick:()=>s(`${rx}?environment=${encodeURIComponent(E.id)}`),"data-testid":"workspace-create-button",children:"+ New Workspace"}),(()=>{const R=m.filter(se=>!se.linkedEnvironmentIds.includes(E.id)&&se.status==="active");return R.length===0?null:a.jsxs("select",{className:Re.btnPrimary,value:"",onChange:se=>{se.target.value&&v(se.target.value,E.id).catch(()=>{})},"aria-label":"Link a workspace","data-testid":"link-workspace-select",children:[a.jsx("option",{value:"",children:"+ Link Workspace"}),R.map(se=>a.jsx("option",{value:se.id,children:se.name},se.id))]})})()]}),b&&a.jsxs("p",{className:Re.errorHint,"data-testid":"link-operation-error",role:"alert",children:[b,a.jsx("button",{className:Re.btnSmall,onClick:x,"aria-label":"Dismiss error","data-testid":"dismiss-link-error",children:"Dismiss"})]}),O.length===0&&a.jsx("p",{className:Re.empty,"data-testid":"linked-workspaces-empty",children:"No workspaces yet. Create one to get started."}),a.jsx("div",{className:Re.cardList,"data-testid":"linked-workspaces-list",children:O.map(R=>a.jsx(GU,{workspace:R,confirmArchiveId:A,onOpen:()=>s(Xa(R.id,E.id)),onArchive:()=>L(R.id),onConfirmArchive:()=>B(R.id),onCancelArchive:()=>L(void 0),onUnlink:()=>{_(R.id,E.id).catch(()=>{})}},R.id))})]})]})}function GU({workspace:t,confirmArchiveId:s,onOpen:o,onArchive:r,onConfirmArchive:c,onCancelArchive:d,onUnlink:u}){const p=s===t.id,m=t.repoUrl&&/^https?:\/\//.test(t.repoUrl);return a.jsxs("div",{className:Re.card,"data-testid":"workspace-card","data-workspace-id":t.id,children:[a.jsxs("div",{className:Re.cardHeader,children:[a.jsx("strong",{className:Re.cardName,children:t.name}),a.jsxs("div",{className:Re.cardActions,children:[a.jsx("button",{className:Re.btnSmall,onClick:o,children:"Open"}),a.jsx("button",{className:Re.btnSmall,onClick:u,disabled:t.linkedEnvironmentIds.length<=1,"data-testid":`unlink-workspace-${t.id}`,children:"Unlink"}),p?a.jsxs(a.Fragment,{children:[a.jsx("button",{className:Re.btnDanger,onClick:c,children:"Confirm"}),a.jsx("button",{className:Re.btnSmall,onClick:d,children:"Cancel"})]}):a.jsx("button",{className:Re.btnSmall,onClick:r,children:"Archive"})]})]}),t.description&&a.jsx("p",{className:Re.cardDescription,children:t.description}),t.repoUrl&&a.jsx("div",{className:Re.cardMeta,children:m?a.jsx("a",{href:t.repoUrl,target:"_blank",rel:"noopener noreferrer",className:Re.repoLink,children:t.repoUrl}):a.jsx("span",{children:t.repoUrl})})]})}const qU={credentials:"Credentials","github-accounts":"GitHub Accounts",personas:"Personas",schedules:"Schedules",appearance:"Appearance",about:"About",shortcuts:"Shortcuts",plugins:"Plugins"};function FU(){const s=Jt().pathname.replace(/^\/settings\/?/,"").split("/")[0],o=qU[s],r=Az(o);return a.jsxs("div",{className:ol.layout,children:[a.jsx(Ss,{segments:r}),a.jsx("div",{className:ol.content,children:a.jsx("div",{className:ol.tabPanel,children:a.jsx(ha,{})},s)})]})}function ZU(){const{tokens:{tokens:t,setToken:s,deleteToken:o},credentials:{credentialProviders:r,updateCredentialProviders:c}}=ot(),{showToast:d}=mn();return a.jsxs(a.Fragment,{children:[a.jsx(e7,{credentialProviders:r,onUpdateCredentialProviders:u=>{c(u).catch(()=>{})}}),a.jsx(aB,{tokens:t,onSetToken:(u,p,m,g,v)=>{s(u,p,m,g,v).catch(()=>{})},onDeleteToken:u=>{o(u).catch(()=>{})},onShowToast:d})]})}function KU(){const{githubAccounts:{githubAccounts:t,githubAccountsLoading:s,addGitHubAccount:o,updateGitHubAccount:r,removeGitHubAccount:c,importGitHubAccounts:d}}=ot(),{showToast:u}=mn();return a.jsx(S8,{githubAccounts:t,githubAccountsLoading:s,onAddGitHubAccount:o,onUpdateGitHubAccount:r,onRemoveGitHubAccount:c,onImportGitHubAccounts:d,onShowToast:u})}function YU(){const{personas:{personas:t,deletePersona:s},appDefaultPersonaId:o,setAppDefaultPersonaId:r}=ot(),{showToast:c}=mn(),d=dt();return a.jsx(p7,{personas:t,appDefaultPersonaId:o,onDeletePersona:async u=>{try{await s(u)}catch(p){throw console.error("Failed to delete persona",{personaId:u,error:p}),c("Failed to delete persona","error"),p}},onSetAppDefaultPersonaId:async u=>{try{await r(u)}catch(p){console.error("Failed to set app default persona ID",{personaId:u,error:p}),c("Failed to set app default persona","error")}},onNavigateToNew:()=>d(qN),onNavigateToPersona:u=>d(ix(u))})}const JU="_container_1ooin_1",WU="_form_1ooin_7",XU="_formActions_1ooin_75",QU="_editableSection_1ooin_82",eV="_defaultBadge_1ooin_93",tV="_typeToggle_1ooin_107",nV="_scriptEditor_1ooin_121",sV="_optional_1ooin_128",bs={container:JU,form:WU,formActions:XU,editableSection:QU,defaultBadge:eV,typeToggle:tV,scriptEditor:nV,optional:sV},j_=[{value:"claude-code",label:"claude-code"},{value:"codex",label:"codex"},{value:"copilot",label:"copilot"},{value:"goose",label:"goose"},{value:"stub",label:"stub"},{value:"claude-code-acp",label:"claude-code-acp (experimental)"},{value:"codex-acp",label:"codex-acp (experimental)"},{value:"copilot-acp",label:"copilot-acp (experimental)"}],T_=[{value:"genaiscript",label:"genaiscript"}],aV="0";function w_(){const{personaId:t}=Vn(),s=dt(),{showToast:o}=mn(),{personas:{personas:r,createPersona:c,updatePersona:d,deletePersona:u},appDefaultPersonaId:p,setAppDefaultPersonaId:m}=ot(),g=t===void 0,v=g?void 0:r.find(b=>b.id===t);if(!g&&r.length>0&&!v)return a.jsx(os,{to:cp,replace:!0});const _=[{label:"Settings",url:Di},{label:"Personas",url:cp},{label:g?"New Persona":(v==null?void 0:v.name)??"Persona",url:void 0}];return a.jsxs("div",{className:bs.container,children:[a.jsx(Ss,{segments:_}),a.jsx(iV,{existing:v,isNew:g,appDefaultPersonaId:p,onCreatePersona:c,onUpdatePersona:d,onDeletePersona:u,onSetAppDefaultPersonaId:m,onDone:()=>{s(cp)},showToast:o})]})}function iV({existing:t,isNew:s,appDefaultPersonaId:o,onCreatePersona:r,onUpdatePersona:c,onDeletePersona:d,onSetAppDefaultPersonaId:u,onDone:p,showToast:m}){const g=dt(),[v,_]=y.useState((t==null?void 0:t.name)??""),[b,x]=y.useState((t==null?void 0:t.description)??""),[k,j]=y.useState((t==null?void 0:t.systemPrompt)??""),[w,T]=y.useState((t==null?void 0:t.runtime)??"claude-code"),[C,A]=y.useState((t==null?void 0:t.model)??"sonnet"),[L,E]=y.useState((t==null?void 0:t.maxTurns)??0),[O,z]=y.useState((t==null?void 0:t.type)==="script"?"script":"agent"),[D,H]=y.useState((t==null?void 0:t.script)??""),[Y,U]=y.useState((t==null?void 0:t.allowedMcpTools)??[]),[X,he]=y.useState(!1),[W,le]=y.useState(null),[B,R]=y.useState(!!s);y.useEffect(()=>{if(!s&&t&&!B){R(!0),_(t.name),x(t.description),j(t.systemPrompt);const ce=t.type==="script"?"script":"agent";T(ce==="script"?t.runtime||"genaiscript":t.runtime),A(t.model),E(t.maxTurns),z(ce),H(t.script||""),U(t.allowedMcpTools)}},[s,t,B]);const se=ce=>{z(ce),ce==="script"?T("genaiscript"):w==="genaiscript"&&T("claude-code")},oe=!s&&t===void 0,G=v.trim().length>0&&!oe&&k.trim().length>0&&(O==="script"?D.trim().length>0:!!w&&!!C),pe=s&&G,de=!s&&o===(t==null?void 0:t.id),xe=!s&&t&&!de&&O==="agent"&&!!w&&!!C,Se=(ce,Ue)=>{if(!ce.trim())return`${Ue} is required`},Pe=ce=>{if(ce.preventDefault(),!(oe||!G)){if(t){c(t.id,v,b,k,w,C,L,O,D).then(()=>{m("Persona updated","success"),p()},()=>{m("Failed to save persona","error")});return}r(v,b,k,w,C,L,O,D,Y).then(Ue=>{m("Persona created","success"),g(ix(Ue.id),{replace:!0})},()=>{m("Failed to save persona","error")})}},gt=()=>{t&&d(t.id).then(()=>{m("Persona deleted","success"),p()},()=>{m("Failed to delete persona","error")})},_e=async(ce,Ue,ut,te)=>ce().then(()=>{Ue(),m(ut,"success")},()=>{m(te,"error")}),Ie=(ce,Ue)=>{if(!t)return;const ut=ce==="type"?String(Ue):O,te=ce==="runtime"?String(Ue):ce==="type"?String(Ue)==="script"?"genaiscript":w==="genaiscript"?"claude-code":w:w,re=ce==="model"?String(Ue):C,ve=ce==="maxTurns"?Number(Ue):L,ft=ce==="systemPrompt"?String(Ue):k,Me=ce==="script"?String(Ue):D;_e(()=>c(t.id,ce==="name"?String(Ue):v,ce==="description"?String(Ue):b,ft,te,re,ve,ut,Me),()=>{if(ce==="type"){const rn=String(Ue)==="script"?"script":"agent";z(rn),T(te)}ce==="runtime"&&T(String(Ue)),ce==="name"&&_(String(Ue)),ce==="description"&&x(String(Ue)),ce==="systemPrompt"&&j(String(Ue)),ce==="model"&&A(String(Ue)),ce==="maxTurns"&&E(Number(Ue)),ce==="script"&&H(String(Ue))},"Persona updated","Failed to update persona").catch(()=>{})},Mt=ce=>{Pe(ce)},hn=()=>{t&&u(t.id).then(()=>{m("Set as app default","success")},()=>{m("Failed to set app default","error")})};return a.jsxs(a.Fragment,{children:[oe?a.jsxs("div",{className:bs.form,children:[a.jsx("h3",{children:"Edit Persona"}),a.jsx("p",{children:"Loading persona..."})]}):s?a.jsxs("form",{onSubmit:Mt,className:bs.form,children:[a.jsx("h3",{children:"Create Persona"}),a.jsxs("div",{className:bs.typeToggle,"data-testid":"persona-type-toggle",children:[a.jsxs("label",{children:[a.jsx("input",{type:"radio",name:"personaType",value:"agent",checked:O==="agent",onChange:()=>se("agent")}),"Agent"]}),a.jsxs("label",{children:[a.jsx("input",{type:"radio",name:"personaType",value:"script",checked:O==="script",onChange:()=>se("script")}),"Script"]})]}),a.jsxs("label",{children:["Name",a.jsx("input",{type:"text",value:v,onChange:ce=>_(ce.target.value),placeholder:O==="script"?"e.g. Nightly Report":"e.g. Frontend Engineer",required:!0,"data-testid":"persona-detail-name"})]}),a.jsxs("label",{children:["Description",a.jsx("input",{type:"text",value:b,onChange:ce=>x(ce.target.value),placeholder:"Brief description...","data-testid":"persona-detail-description"})]}),a.jsxs("label",{children:["Runtime",a.jsx("select",{value:w,onChange:ce=>T(ce.target.value),"data-testid":"persona-runtime-select",children:(O==="script"?T_:j_).map(ce=>a.jsx("option",{value:ce.value,children:ce.label},ce.value))})]}),O==="agent"&&a.jsxs(a.Fragment,{children:[a.jsxs("label",{children:["Model",a.jsx("input",{type:"text",value:C,onChange:ce=>A(ce.target.value),placeholder:"e.g. sonnet","data-testid":"persona-detail-model"})]}),a.jsxs("label",{children:["Max Turns",a.jsx("input",{type:"number",value:L,onChange:ce=>E(parseInt(ce.target.value,10)||0),min:0,"data-testid":"persona-detail-max-turns"})]}),a.jsxs("label",{children:["System Prompt",a.jsx("textarea",{value:k,onChange:ce=>j(ce.target.value),placeholder:"You are a senior frontend engineer...",rows:10,required:!0,"data-testid":"persona-detail-prompt"})]})]}),O==="script"&&a.jsxs(a.Fragment,{children:[a.jsxs("label",{children:["Model ",a.jsx("span",{className:bs.optional,children:"(optional)"}),a.jsx("input",{type:"text",value:C,onChange:ce=>A(ce.target.value),placeholder:"e.g. sonnet (leave empty for script-only)","data-testid":"persona-detail-model"})]}),a.jsxs("label",{children:["System Prompt",a.jsx("textarea",{value:k,onChange:ce=>j(ce.target.value),placeholder:"Context for the script...",rows:4,required:!0,"data-testid":"persona-detail-prompt"})]}),a.jsxs("label",{children:["Script",a.jsx("textarea",{value:D,onChange:ce=>H(ce.target.value),placeholder:`script({ model: "openai:gpt-4o" });
741
741
 
742
742
  const grackle = await host.mcpServer({
743
743
  id: "grackle",
744
744
  url: env.vars.GRACKLE_MCP_URL,
745
745
  });
746
746
 
747
- $\`Summarize the current tasks.\`;`,rows:20,className:bs.scriptEditor,required:!0,"data-testid":"persona-script-editor"})]})]}),O==="agent"&&a.jsxs("div",{children:[a.jsx("label",{children:"Allowed MCP Tools"}),a.jsx(d_,{selectedTools:Y,onChange:U})]}),a.jsxs("div",{className:bs.formActions,children:[a.jsx(on,{type:"submit",variant:"primary",size:"md",disabled:!pe,"data-testid":"persona-detail-save",children:"Create"}),a.jsx(on,{type:"button",variant:"outline",size:"md",onClick:p,"data-testid":"persona-detail-cancel",children:"Cancel"})]})]}):t?a.jsxs("div",{className:bs.form,children:[a.jsx("h3",{children:"Edit Persona"}),a.jsxs("div",{className:bs.formActions,children:[a.jsx(on,{type:"button",variant:"outline",size:"md",onClick:p,"data-testid":"persona-detail-cancel",children:"Back to Personas"}),xe&&a.jsx(on,{type:"button",variant:"ghost",size:"md",onClick:hn,"data-testid":"persona-detail-set-default",children:"Set as App Default"}),de&&a.jsx("span",{className:bs.defaultBadge,children:"App Default"}),a.jsx(on,{type:"button",variant:"danger",size:"md",onClick:()=>ge(!0),"data-testid":"persona-detail-delete",children:"Delete"})]}),a.jsxs("div",{className:bs.editableSection,children:[a.jsxs("label",{children:["Name",a.jsx(Ut,{value:v,onSave:ce=>{Ie("name",ce)},validate:ce=>Se(ce,"Name"),fieldId:"persona-name",activeFieldId:W,onActivate:le,ariaLabel:"Persona name","data-testid":"persona-detail-name"})]}),a.jsxs("label",{children:["Description",a.jsx(Ut,{value:b,onSave:ce=>{Ie("description",ce)},fieldId:"persona-description",activeFieldId:W,onActivate:le,placeholder:"Brief description...",ariaLabel:"Persona description","data-testid":"persona-detail-description"})]}),a.jsxs("label",{children:["Type",a.jsx(jd,{value:O,onSave:ce=>{Ie("type",ce)},options:[{value:"agent",label:"Agent"},{value:"script",label:"Script"}],fieldId:"persona-type",activeFieldId:W,onActivate:le,ariaLabel:"Persona type","data-testid":"persona-type-toggle"})]}),a.jsxs("label",{children:["Runtime",a.jsx(jd,{value:w,onSave:ce=>{Ie("runtime",ce)},options:O==="script"?j_:S_,fieldId:"persona-runtime",activeFieldId:W,onActivate:le,ariaLabel:"Persona runtime","data-testid":"persona-runtime"})]}),a.jsxs("label",{children:["Model",O==="script"?" (optional)":"",a.jsx(Ut,{value:C,onSave:ce=>{Ie("model",ce)},validate:O==="agent"?ce=>Se(ce,"Model"):void 0,fieldId:"persona-model",activeFieldId:W,onActivate:le,placeholder:O==="script"?"e.g. sonnet (leave empty for script-only)":"e.g. sonnet",ariaLabel:"Persona model","data-testid":"persona-detail-model"})]}),a.jsxs("label",{children:["Max Turns",a.jsx(Ut,{value:String(L),onSave:ce=>{Ie("maxTurns",parseInt(ce,10)||0)},validate:ce=>/^\d+$/.test(ce.trim())?void 0:"Max Turns must be a non-negative integer",fieldId:"persona-max-turns",activeFieldId:W,onActivate:le,placeholder:aV,ariaLabel:"Persona max turns","data-testid":"persona-detail-max-turns"})]}),a.jsxs("label",{children:["System Prompt",a.jsx(_m,{value:k,onSave:ce=>{Ie("systemPrompt",ce)},validate:ce=>Se(ce,"System Prompt"),fieldId:"persona-system-prompt",activeFieldId:W,onActivate:le,placeholder:O==="script"?"Context for the script...":"You are a senior frontend engineer...",ariaLabel:"Persona system prompt","data-testid":"persona-detail-prompt"})]}),O==="script"&&a.jsxs("label",{children:["Script",a.jsx(_m,{value:D,onSave:ce=>{Ie("script",ce)},validate:ce=>Se(ce,"Script"),fieldId:"persona-script",activeFieldId:W,onActivate:le,placeholder:`script({ model: "openai:gpt-4o" });
747
+ $\`Summarize the current tasks.\`;`,rows:20,className:bs.scriptEditor,required:!0,"data-testid":"persona-script-editor"})]})]}),O==="agent"&&a.jsxs("div",{children:[a.jsx("label",{children:"Allowed MCP Tools"}),a.jsx(d_,{selectedTools:Y,onChange:U})]}),a.jsxs("div",{className:bs.formActions,children:[a.jsx(on,{type:"submit",variant:"primary",size:"md",disabled:!pe,"data-testid":"persona-detail-save",children:"Create"}),a.jsx(on,{type:"button",variant:"outline",size:"md",onClick:p,"data-testid":"persona-detail-cancel",children:"Cancel"})]})]}):t?a.jsxs("div",{className:bs.form,children:[a.jsx("h3",{children:"Edit Persona"}),a.jsxs("div",{className:bs.formActions,children:[a.jsx(on,{type:"button",variant:"outline",size:"md",onClick:p,"data-testid":"persona-detail-cancel",children:"Back to Personas"}),xe&&a.jsx(on,{type:"button",variant:"ghost",size:"md",onClick:hn,"data-testid":"persona-detail-set-default",children:"Set as App Default"}),de&&a.jsx("span",{className:bs.defaultBadge,children:"App Default"}),a.jsx(on,{type:"button",variant:"danger",size:"md",onClick:()=>he(!0),"data-testid":"persona-detail-delete",children:"Delete"})]}),a.jsxs("div",{className:bs.editableSection,children:[a.jsxs("label",{children:["Name",a.jsx(Ut,{value:v,onSave:ce=>{Ie("name",ce)},validate:ce=>Se(ce,"Name"),fieldId:"persona-name",activeFieldId:W,onActivate:le,ariaLabel:"Persona name","data-testid":"persona-detail-name"})]}),a.jsxs("label",{children:["Description",a.jsx(Ut,{value:b,onSave:ce=>{Ie("description",ce)},fieldId:"persona-description",activeFieldId:W,onActivate:le,placeholder:"Brief description...",ariaLabel:"Persona description","data-testid":"persona-detail-description"})]}),a.jsxs("label",{children:["Type",a.jsx(jd,{value:O,onSave:ce=>{Ie("type",ce)},options:[{value:"agent",label:"Agent"},{value:"script",label:"Script"}],fieldId:"persona-type",activeFieldId:W,onActivate:le,ariaLabel:"Persona type","data-testid":"persona-type-toggle"})]}),a.jsxs("label",{children:["Runtime",a.jsx(jd,{value:w,onSave:ce=>{Ie("runtime",ce)},options:O==="script"?T_:j_,fieldId:"persona-runtime",activeFieldId:W,onActivate:le,ariaLabel:"Persona runtime","data-testid":"persona-runtime"})]}),a.jsxs("label",{children:["Model",O==="script"?" (optional)":"",a.jsx(Ut,{value:C,onSave:ce=>{Ie("model",ce)},validate:O==="agent"?ce=>Se(ce,"Model"):void 0,fieldId:"persona-model",activeFieldId:W,onActivate:le,placeholder:O==="script"?"e.g. sonnet (leave empty for script-only)":"e.g. sonnet",ariaLabel:"Persona model","data-testid":"persona-detail-model"})]}),a.jsxs("label",{children:["Max Turns",a.jsx(Ut,{value:String(L),onSave:ce=>{Ie("maxTurns",parseInt(ce,10)||0)},validate:ce=>/^\d+$/.test(ce.trim())?void 0:"Max Turns must be a non-negative integer",fieldId:"persona-max-turns",activeFieldId:W,onActivate:le,placeholder:aV,ariaLabel:"Persona max turns","data-testid":"persona-detail-max-turns"})]}),a.jsxs("label",{children:["System Prompt",a.jsx(_m,{value:k,onSave:ce=>{Ie("systemPrompt",ce)},validate:ce=>Se(ce,"System Prompt"),fieldId:"persona-system-prompt",activeFieldId:W,onActivate:le,placeholder:O==="script"?"Context for the script...":"You are a senior frontend engineer...",ariaLabel:"Persona system prompt","data-testid":"persona-detail-prompt"})]}),O==="script"&&a.jsxs("label",{children:["Script",a.jsx(_m,{value:D,onSave:ce=>{Ie("script",ce)},validate:ce=>Se(ce,"Script"),fieldId:"persona-script",activeFieldId:W,onActivate:le,placeholder:`script({ model: "openai:gpt-4o" });
748
748
 
749
749
  const grackle = await host.mcpServer({
750
750
  id: "grackle",
751
751
  url: env.vars.GRACKLE_MCP_URL,
752
752
  });
753
753
 
754
- $\`Summarize the current tasks.\`;`,ariaLabel:"Persona script","data-testid":"persona-script-editor"})]}),O==="agent"&&a.jsxs("div",{children:[a.jsx("label",{children:"Allowed MCP Tools"}),a.jsx(d_,{selectedTools:Y,onChange:ce=>{U(ce),_e(()=>c(t.id,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,ce),()=>{},"MCP tools updated","Failed to update MCP tools").catch(()=>{})}})]})]}),!xe&&!de&&a.jsx("p",{style:{fontSize:"var(--font-size-xs)",color:"var(--text-tertiary)",marginTop:"var(--space-xs)"},children:"Only agent personas with a runtime and model can be set as app default."})]}):null,a.jsx(ks,{isOpen:X,title:"Delete Persona?",description:`"${t==null?void 0:t.name}" will be permanently removed.`,confirmLabel:"Delete",onConfirm:gt,onCancel:()=>ge(!1)})]})}function oV(){const{schedules:{schedules:t,deleteSchedule:s,updateSchedule:o},personas:{personas:r}}=ot(),{showToast:c}=mn(),d=dt();return a.jsx(P7,{schedules:t,personas:r,onDeleteSchedule:async u=>{try{await s(u)}catch(p){throw console.error("Failed to delete schedule",{scheduleId:u,error:p}),c("Failed to delete schedule","error"),p}},onToggleEnabled:async(u,p)=>{try{return await o(u,p)}catch(m){throw console.error("Failed to update schedule",{scheduleId:u,error:m}),c("Failed to update schedule","error"),m}},onNavigateToNew:()=>d(qN),onNavigateToSchedule:u=>d(ix(u))})}const rV="_container_1g4qh_1",lV="_form_1g4qh_7",cV="_formActions_1g4qh_66",dV="_editableSection_1g4qh_73",uV="_helperText_1g4qh_84",fV="_metaSection_1g4qh_90",pV="_optional_1g4qh_108",mV="_readonlyValue_1g4qh_113",$n={container:rV,form:lV,formActions:cV,editableSection:dV,helperText:uV,metaSection:fV,optional:pV,readonlyValue:mV};function w_(){const{scheduleId:t}=Vn(),s=dt(),{showToast:o}=mn(),{schedules:{schedules:r,schedulesLoading:c,createSchedule:d,updateSchedule:u,deleteSchedule:p},personas:{personas:m},workspaces:{workspaces:g}}=ot(),v=t===void 0,_=v?void 0:r.find(x=>x.id===t);if(!v&&!c&&r.length>0&&!_)return a.jsx(os,{to:dp,replace:!0});const b=[{label:"Settings",url:Ai},{label:"Schedules",url:dp},{label:v?"New Schedule":(_==null?void 0:_.title)??"Schedule",url:void 0}];return a.jsxs("div",{className:$n.container,children:[a.jsx(Ss,{segments:b}),a.jsx(hV,{existing:_,isNew:v,personas:m,workspaces:g,onCreateSchedule:d,onUpdateSchedule:u,onDeleteSchedule:p,onDone:()=>{s(dp)},showToast:o})]})}function hV({existing:t,isNew:s,personas:o,workspaces:r,onCreateSchedule:c,onUpdateSchedule:d,onDeleteSchedule:u,onDone:p,showToast:m}){var B;const g=dt(),[v,_]=y.useState((t==null?void 0:t.title)??""),[b,x]=y.useState((t==null?void 0:t.description)??""),[k,j]=y.useState((t==null?void 0:t.scheduleExpression)??""),[w,T]=y.useState((t==null?void 0:t.personaId)??""),[C,A]=y.useState((t==null?void 0:t.workspaceId)??""),[L,E]=y.useState(!1),[O,z]=y.useState(null);y.useEffect(()=>{s||t&&O===null&&(_(t.title),x(t.description),j(t.scheduleExpression),T(t.personaId),A(t.workspaceId))},[s,t,O]);const D=!s&&t===void 0,H=s&&v.trim().length>0&&k.trim().length>0&&w.length>0,Y=o.map(R=>({value:R.id,label:R.name})),U=[{value:"",label:"System-level (no workspace)"},...r.map(R=>({value:R.id,label:R.name}))],X=R=>{R.preventDefault(),H&&c(v,b,k,w,C||void 0).then(se=>{m("Schedule created","success"),g(ix(se.id),{replace:!0})},()=>{m("Failed to create schedule","error")})},ge=(R,se)=>{t&&d(t.id,{[R]:se}).then(()=>{m("Schedule updated","success"),R==="title"&&_(String(se)),R==="description"&&x(String(se)),R==="scheduleExpression"&&j(String(se)),R==="personaId"&&T(String(se))},()=>{m("Failed to update schedule","error")})},W=()=>{if(!t)return;const R=!t.enabled;d(t.id,{enabled:R}).then(()=>{m(R?"Schedule enabled":"Schedule disabled","success")},()=>{m("Failed to update schedule","error")})},le=()=>{t&&u(t.id).then(()=>{m("Schedule deleted","success"),p()},()=>{m("Failed to delete schedule","error")})};return a.jsxs(a.Fragment,{children:[D?a.jsxs("div",{className:$n.form,children:[a.jsx("h3",{children:"Edit Schedule"}),a.jsx("p",{children:"Loading schedule..."})]}):s?a.jsxs("form",{onSubmit:X,className:$n.form,children:[a.jsx("h3",{children:"Create Schedule"}),a.jsxs("label",{children:["Title",a.jsx("input",{type:"text",value:v,onChange:R=>_(R.target.value),placeholder:"e.g. Nightly Review",required:!0,"data-testid":"schedule-detail-title"})]}),a.jsxs("label",{children:["Description ",a.jsx("span",{className:$n.optional,children:"(optional)"}),a.jsx("input",{type:"text",value:b,onChange:R=>x(R.target.value),placeholder:"Brief description...","data-testid":"schedule-detail-description"})]}),a.jsxs("label",{children:["Schedule Expression",a.jsx("input",{type:"text",value:k,onChange:R=>j(R.target.value),placeholder:"e.g. 30s, 5m, 1h, or 0 9 * * MON",required:!0,"data-testid":"schedule-detail-expression"}),a.jsxs("p",{className:$n.helperText,children:["Interval: ",a.jsx("code",{children:"30s"}),", ",a.jsx("code",{children:"5m"}),", ",a.jsx("code",{children:"1h"}),", ",a.jsx("code",{children:"1d"})," (min 10s)  |  Cron: ",a.jsx("code",{children:"0 9 * * MON"})," (standard 5-field cron syntax)"]})]}),a.jsxs("label",{children:["Persona",a.jsxs("select",{value:w,onChange:R=>T(R.target.value),required:!0,"data-testid":"schedule-detail-persona",children:[a.jsx("option",{value:"",children:"Select a persona..."}),Y.map(R=>a.jsx("option",{value:R.value,children:R.label},R.value))]})]}),a.jsxs("label",{children:["Workspace ",a.jsx("span",{className:$n.optional,children:"(optional)"}),a.jsx("select",{value:C,onChange:R=>A(R.target.value),"data-testid":"schedule-detail-workspace",children:U.map(R=>a.jsx("option",{value:R.value,children:R.label},R.value))})]}),a.jsxs("div",{className:$n.formActions,children:[a.jsx(on,{type:"submit",variant:"primary",size:"md",disabled:!H,"data-testid":"schedule-detail-save",children:"Create"}),a.jsx(on,{type:"button",variant:"outline",size:"md",onClick:p,"data-testid":"schedule-detail-cancel",children:"Cancel"})]})]}):t?a.jsxs("div",{className:$n.form,children:[a.jsx("h3",{children:"Edit Schedule"}),a.jsxs("div",{className:$n.formActions,children:[a.jsx(on,{type:"button",variant:"outline",size:"md",onClick:p,"data-testid":"schedule-detail-cancel",children:"Back to Schedules"}),a.jsx(on,{type:"button",variant:t.enabled?"ghost":"primary",size:"md",onClick:W,"data-testid":"schedule-detail-toggle",children:t.enabled?"Disable":"Enable"}),a.jsx(on,{type:"button",variant:"danger",size:"md",onClick:()=>E(!0),"data-testid":"schedule-detail-delete",children:"Delete"})]}),a.jsxs("div",{className:$n.editableSection,children:[a.jsxs("label",{children:["Title",a.jsx(Ut,{value:v,onSave:R=>{ge("title",R)},validate:R=>R.trim()?void 0:"Title is required",fieldId:"schedule-title",activeFieldId:O,onActivate:z,ariaLabel:"Schedule title","data-testid":"schedule-detail-title"})]}),a.jsxs("label",{children:["Description",a.jsx(Ut,{value:b,onSave:R=>{ge("description",R)},fieldId:"schedule-description",activeFieldId:O,onActivate:z,placeholder:"Brief description...",ariaLabel:"Schedule description","data-testid":"schedule-detail-description"})]}),a.jsxs("label",{children:["Schedule Expression",a.jsx(Ut,{value:k,onSave:R=>{ge("scheduleExpression",R)},validate:R=>R.trim()?void 0:"Schedule expression is required",fieldId:"schedule-expression",activeFieldId:O,onActivate:z,placeholder:"e.g. 30s, 5m, 1h, or 0 9 * * MON",ariaLabel:"Schedule expression","data-testid":"schedule-detail-expression"})]}),a.jsxs("label",{children:["Persona",a.jsx(jd,{value:w,onSave:R=>{ge("personaId",R)},options:Y,fieldId:"schedule-persona",activeFieldId:O,onActivate:z,ariaLabel:"Schedule persona","data-testid":"schedule-detail-persona"})]}),a.jsxs("label",{children:["Workspace ",a.jsx("span",{className:$n.optional,children:"(optional — set at creation)"}),a.jsx("span",{className:$n.readonlyValue,"data-testid":"schedule-detail-workspace",children:((B=r.find(R=>R.id===t.workspaceId))==null?void 0:B.name)??"System-level (no workspace)"})]})]}),a.jsxs("div",{className:$n.metaSection,children:[t.lastRunAt?a.jsxs("span",{children:["Last run: ",Vo(t.lastRunAt)]}):a.jsx("span",{children:"Last run: Never"}),t.enabled&&t.nextRunAt?a.jsxs("span",{children:["Next run: ",Z1(t.nextRunAt)]}):null,t.runCount>0&&a.jsxs("span",{children:["Total runs: ",t.runCount]}),a.jsxs("span",{children:["Created: ",Vo(t.createdAt)]})]})]}):null,a.jsx(ks,{isOpen:L,title:"Delete Schedule?",description:`"${t==null?void 0:t.title}" will be permanently removed. Tasks already created by this schedule will not be affected.`,confirmLabel:"Delete",onConfirm:le,onCancel:()=>E(!1)})]})}function gV(){const{themeId:t,resolvedThemeId:s,setTheme:o,preferSystem:r,setPreferSystem:c}=rk();return a.jsx(aB,{themeId:t,resolvedThemeId:s,onSetTheme:o,preferSystem:r,onSetPreferSystem:c})}function vV(){const[t,s]=y.useState(void 0);return y.useEffect(()=>{let o=!1;return(async()=>{try{const c=await $e.getVersionStatus({});o||s({currentVersion:c.currentVersion,latestVersion:c.latestVersion,updateAvailable:c.updateAvailable,isDocker:c.isDocker})}catch{}})().catch(()=>{}),()=>{o=!0}},[]),t}function yV(){const{connectionStatus:t,environments:{environments:s},sessions:{sessions:o}}=ot(),r=vV();return a.jsxs(a.Fragment,{children:[r&&a.jsx(aL,{currentVersion:r.currentVersion,latestVersion:r.latestVersion,updateAvailable:r.updateAvailable,isDocker:r.isDocker}),a.jsx(rB,{connectionStatus:t,environments:s,sessions:o})]})}function bV(){return a.jsx(W8,{})}function _V(){const{plugins:{plugins:t,pluginsLoading:s,setPluginEnabled:o}}=ot();return a.jsx(x8,{plugins:t,loading:s,onSetPluginEnabled:(r,c)=>{o(r,c).catch(()=>{})}})}const N_=$i();function xV(){const t=dt();return ca({key:"?"},()=>{t(FN)}),ca({key:"n"},()=>{t(N_)}),ca({key:"N"},()=>{t(N_)}),a.jsx(a.Fragment,{})}function Yo(t){const s=jz();y.useLayoutEffect(()=>(s(t),()=>{s(void 0)}),[t,s])}function kV(){const{workspaces:{workspaces:t},tasks:{tasks:s}}=ot(),o=y.useMemo(()=>a.jsx(IO,{workspaces:t,tasks:s}),[t,s]);return Yo(o),a.jsx(ha,{})}function SV(){const{environments:{environments:t}}=ot(),s=y.useMemo(()=>a.jsx(GI,{environments:t}),[t]);return Yo(s),a.jsx(ha,{})}function jV(){const t=y.useMemo(()=>a.jsx(F7,{}),[]);return Yo(t),a.jsx(ha,{})}function TV(){const{findings:{findings:t,loadFindings:s,loadAllFindings:o}}=ot(),{workspaceId:r,environmentId:c}=Vn();y.useEffect(()=>{r?s(r).catch(()=>{}):o().catch(()=>{})},[r,s,o]);const d=y.useMemo(()=>a.jsx(tO,{findings:t,workspaceId:r,environmentId:c}),[t,r,c]);return Yo(d),a.jsx(ha,{})}function wV(){const{knowledge:t,workspaces:{workspaces:s}}=ot(),o=y.useCallback(p=>{t.search(p).catch(()=>{})},[t]),r=y.useCallback(()=>{t.clearSearch()},[t]),c=y.useCallback(p=>{t.selectNode(p).catch(()=>{})},[t]),d=y.useCallback(p=>{t.loadRecent(p||void 0).catch(()=>{})},[t]),u=y.useMemo(()=>a.jsx(Q5,{nodes:t.graphData.nodes,workspaces:s,loading:t.loading,searchQuery:t.searchQuery,onSearch:o,onClearSearch:r,onSelectNode:c,onWorkspaceChange:d}),[t,s,o,r,c,d]);return Yo(u),a.jsx(ha,{})}function NV(){const{streams:{streams:t,streamsLoading:s,streamsLoadError:o,streamsLoadedOnce:r,loadStreams:c}}=ot(),d=y.useCallback(()=>{c().catch(()=>{})},[c]),u=y.useMemo(()=>a.jsx(a$,{streams:t,loading:s,streamsLoadError:o,streamsLoadedOnce:r,onRefresh:d}),[t,s,o,r,d]);return Yo(u),a.jsx(ha,{})}const CV="_container_ce571_1",EV="_title_ce571_6",Nd={container:CV,title:EV};function AV(){return a.jsxs("div",{className:Nd.container,"aria-hidden":"true",children:[a.jsx("h1",{className:Nd.title,children:"Findings"}),a.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-sm)"},children:Array.from({length:4},(t,s)=>a.jsx(Sd,{lines:3},s))})]})}function C_(){const{environmentId:t,workspaceId:s}=Vn(),{findings:{findings:o,findingsLoading:r,loadFindings:c},workspaces:{workspaces:d},environments:{environments:u}}=ot(),p=dt();y.useEffect(()=>{s&&c(s).catch(()=>{})},[s,c]);const m=y.useCallback(v=>{p(tm(v,s,t))},[p,s,t]);if(r)return a.jsx(AV,{});const g=s&&t?mk("Findings",s,t,d,u).slice(0,-1):Lz();return a.jsxs("div",{className:Nd.container,"data-testid":"findings-list-page",children:[a.jsx(Ss,{segments:g}),a.jsx("h1",{className:Nd.title,children:"Findings"}),a.jsx(X1,{findings:o,onFindingClick:m})]})}const DV="_container_1wwpb_1",RV="_notFound_1wwpb_6",MV="_header_1wwpb_12",IV="_categoryBadge_1wwpb_19",OV="_title_1wwpb_28",LV="_content_1wwpb_35",BV="_tags_1wwpb_77",$V="_tag_1wwpb_77",zV="_meta_1wwpb_92",HV="_metaTimestamp_1wwpb_100",PV="_metaLink_1wwpb_105",kn={container:DV,notFound:RV,header:MV,categoryBadge:IV,title:OV,content:LV,tags:BV,tag:$V,meta:zV,metaTimestamp:HV,metaLink:PV};function E_(){const{findingId:t,environmentId:s,workspaceId:o}=Vn(),{findings:{selectedFinding:r,findingLoading:c,loadFinding:d},workspaces:{workspaces:u},environments:{environments:p}}=ot(),m=dt();if(y.useEffect(()=>{t&&d(t).catch(()=>{})},[t,d]),c)return a.jsx("div",{className:kn.container,"data-testid":"finding-detail-page",children:a.jsx("div",{className:kn.notFound,children:"Loading..."})});if(!r)return a.jsx("div",{className:kn.container,"data-testid":"finding-detail-page",children:a.jsx("div",{className:kn.notFound,children:"Finding not found."})});const g=mk(r.title,o,s,u,p),v=Td(r.category);return a.jsxs("div",{className:kn.container,"data-testid":"finding-detail-page",children:[a.jsx(Ss,{segments:g}),a.jsxs("div",{className:kn.header,children:[a.jsx("span",{className:kn.categoryBadge,style:{background:v.bg,color:v.text},children:r.category}),a.jsx("h1",{className:kn.title,children:r.title})]}),r.content&&a.jsx("div",{className:kn.content,children:a.jsx(Ed,{remarkPlugins:[Ad],children:r.content})}),r.tags.length>0&&a.jsx("div",{className:kn.tags,children:r.tags.map(_=>a.jsx("span",{className:kn.tag,children:_},_))}),a.jsxs("div",{className:kn.meta,children:[a.jsx("span",{className:kn.metaTimestamp,title:r.createdAt,children:Vo(r.createdAt)}),r.taskId&&a.jsx("button",{type:"button",className:kn.metaLink,onClick:()=>{m(Hn(r.taskId))},children:"View Task"}),r.sessionId&&a.jsx("button",{type:"button",className:kn.metaLink,onClick:()=>{m(Bd(r.sessionId))},children:"View Session"})]})]})}const UV="_wizard_1260s_1",VV="_container_1260s_10",GV="_stepContent_1260s_19",qV="_logoArea_1260s_28",FV="_logoImage_1260s_32",ZV="_heading_1260s_41",KV="_tagline_1260s_49",YV="_subtitle_1260s_56",JV="_featureList_1260s_64",WV="_runtimeGrid_1260s_89",XV="_runtimeCard_1260s_101",QV="_runtimeName_1260s_133",eG="_runtimeDescription_1260s_139",tG="_buttonRow_1260s_144",nG="_primaryButton_1260s_151",sG="_ghostButton_1260s_185",aG="_dots_1260s_213",iG="_dot_1260s_213",Xe={wizard:UV,container:VV,stepContent:GV,logoArea:qV,logoImage:FV,heading:ZV,tagline:KV,subtitle:YV,featureList:JV,runtimeGrid:WV,runtimeCard:XV,runtimeName:QV,runtimeDescription:eG,buttonRow:tG,primaryButton:nG,ghostButton:sG,dots:aG,dot:iG};function oG({onNext:t}){return a.jsxs("div",{className:Xe.stepContent,"data-testid":"setup-welcome",children:[a.jsx("div",{className:Xe.logoArea,children:a.jsx("img",{src:qd("grackle-logo.png"),alt:"Grackle",className:Xe.logoImage})}),a.jsx("h1",{className:Xe.heading,children:"Welcome to Grackle"}),a.jsx("p",{className:Xe.tagline,children:"Multi-agent orchestration for software teams"}),a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:t,"data-testid":"setup-get-started",children:"Get Started"})]})}function rG({onNext:t,onBack:s}){return a.jsxs("div",{className:Xe.stepContent,"data-testid":"setup-about",children:[a.jsx("h2",{className:Xe.heading,children:"What is Grackle?"}),a.jsxs("ul",{className:Xe.featureList,children:[a.jsx("li",{children:"Run Claude, Copilot, and Codex agents side by side"}),a.jsx("li",{children:"Provision and control dev environments — SSH, Codespaces, or local"}),a.jsx("li",{children:"Organize work into workspaces with agent-executable tasks"}),a.jsx("li",{children:"Customize agent behavior with personas, tools, and MCP servers"}),a.jsx("li",{children:"Live-stream agent sessions with full terminal replay"})]}),a.jsxs("div",{className:Xe.buttonRow,children:[a.jsx("button",{type:"button",className:Xe.ghostButton,onClick:s,children:"Back"}),a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:t,"data-testid":"setup-about-next",children:"Next"})]})]})}const lG=[{id:"claude-code",name:"Claude Code",description:"Anthropic's agentic coding tool"},{id:"copilot",name:"Copilot Coding Agent",description:"GitHub's AI pair programmer"},{id:"codex",name:"Codex CLI",description:"OpenAI's coding agent"},{id:"goose",name:"Goose",description:"Block's open-source AI coding agent"}];function cG({currentRuntime:t,onFinish:s,onBack:o,finishDisabled:r}){const[c,d]=y.useState(t||"claude-code");return y.useEffect(()=>{t&&d(t)},[t]),a.jsxs("div",{className:Xe.stepContent,"data-testid":"setup-runtime",children:[a.jsx("h2",{className:Xe.heading,children:"Choose Your Runtime"}),a.jsx("p",{className:Xe.subtitle,children:"Select the primary agent runtime for your workspace. You can change this later."}),a.jsx("div",{className:Xe.runtimeGrid,children:lG.map(u=>a.jsxs("button",{type:"button",className:Xe.runtimeCard,"data-selected":c===u.id,"aria-pressed":c===u.id,"data-testid":`runtime-card-${u.id}`,onClick:()=>d(u.id),children:[a.jsx("span",{className:Xe.runtimeName,children:u.name}),a.jsx("span",{className:Xe.runtimeDescription,children:u.description})]},u.id))}),a.jsxs("div",{className:Xe.buttonRow,children:[a.jsx("button",{type:"button",className:Xe.ghostButton,onClick:o,children:"Back"}),a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:()=>{s(c)},disabled:r,"data-testid":"setup-runtime-next",children:"Next"})]})]})}function dG(){return typeof Notification<"u"}function uG({onFinish:t,onBack:s,finishDisabled:o}){const r=dG(),c=r&&Notification.permission!=="default";function d(){r&&Notification.requestPermission().catch(()=>{}),t()}return a.jsxs("div",{className:Xe.stepContent,"data-testid":"setup-notifications",children:[a.jsx("h2",{className:Xe.heading,children:"Stay in the Loop"}),a.jsx("p",{className:Xe.subtitle,children:"Grackle can send you a browser notification when an agent needs your input, so you never miss an important moment."}),c?a.jsx("p",{className:Xe.subtitle,children:Notification.permission==="granted"?"Notifications are already enabled.":"Notifications have been blocked. You can change this in your browser settings."}):null,a.jsxs("div",{className:Xe.buttonRow,children:[a.jsx("button",{type:"button",className:Xe.ghostButton,onClick:s,disabled:o,children:"Back"}),!c&&r?a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",className:Xe.ghostButton,onClick:t,disabled:o,"data-testid":"setup-notifications-skip",children:"Skip"}),a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:d,disabled:o,"data-testid":"setup-notifications-enable",children:"Enable Notifications"})]}):a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:t,disabled:o,"data-testid":"setup-finish",children:"Finish"})]})]})}const fG=4,A_={"claude-code":"sonnet",copilot:"gpt-4o",codex:"o3",goose:""};function pG(){const{personas:{personas:t,updatePersona:s},completeOnboarding:o,onboardingCompleted:r}=ot(),{showToast:c}=mn(),d=dt(),[u,p]=y.useState(0),[m,g]=y.useState("claude-code"),[v,_]=y.useState(!1),b=t.find(j=>j.id==="claude-code"),x=y.useCallback(j=>{g(j),p(3)},[]),k=y.useCallback(()=>{const j=m;_(!0);const w=[];if(b&&j!==b.runtime){const C=A_[j]??"sonnet";w.push(s(b.id,void 0,void 0,void 0,j,C))}const T=t.find(C=>C.id===vy);if(T&&j!==T.runtime){const C=A_[j]??"sonnet";w.push(s(vy,void 0,void 0,void 0,j,C))}Promise.all(w).then(()=>o()).then(()=>{d("/",{replace:!0})},()=>{c("Failed to update runtime -- please try again","error"),_(!1)})},[m,b,t,s,o,d,c]);return r===!0?a.jsx(os,{to:"/",replace:!0}):a.jsx("div",{className:Xe.wizard,"data-testid":"setup-wizard",children:a.jsxs("div",{className:Xe.container,children:[a.jsx(rs,{mode:"wait",children:a.jsxs(Rt.div,{initial:{opacity:0,x:40},animate:{opacity:1,x:0},exit:{opacity:0,x:-40},transition:{duration:.2,ease:"easeInOut"},children:[u===0&&a.jsx(oG,{onNext:()=>p(1)}),u===1&&a.jsx(rG,{onNext:()=>p(2),onBack:()=>p(0)}),u===2&&a.jsx(cG,{currentRuntime:m,onFinish:x,onBack:()=>p(1),finishDisabled:!b}),u===3&&a.jsx(uG,{onFinish:k,onBack:()=>p(2),finishDisabled:v})]},u)}),a.jsx("div",{className:Xe.dots,children:Array.from({length:fG},(j,w)=>a.jsx("span",{className:Xe.dot,"data-active":w===u},w))})]})})}const mG="_root_zndgp_1",hG="_body_zndgp_7",gG="_main_zndgp_19",vG="_sidebarWrapper_zndgp_26",yG="_overlay_zndgp_51",Qr={root:mG,body:hG,main:gG,sidebarWrapper:vG,overlay:yG},bG=y.lazy(()=>rj(()=>import("./KnowledgePage-BbGCP_P-.js"),__vite__mapDeps([0,1,2,3,4])).then(t=>({default:t.KnowledgePage}))),bk=typeof window<"u"&&new URLSearchParams(window.location.search).has("mock");function _G({tabs:t}){const{connectionStatus:s,environments:{environments:o},sessions:{sessions:r},tasks:{tasks:c}}=ot(),{toasts:d,dismissToast:u}=mn(),p=Jt(),m=Sz(),g=m!==void 0,[v,_]=y.useState(!1),b=y.useCallback(()=>_(x=>!x),[]);return y.useEffect(()=>{_(!1)},[p.pathname]),y.useEffect(()=>{if(!v)return;const x=k=>{k.key==="Escape"&&_(!1)};return document.addEventListener("keydown",x),()=>{document.removeEventListener("keydown",x)}},[v]),a.jsxs(a.Fragment,{children:[a.jsx(fI,{connectionStatus:s,environments:o,sessions:r,onToggleSidebar:g?b:void 0,sidebarOpen:v}),a.jsx(_I,{tabs:t}),a.jsxs("div",{className:Qr.body,children:[g&&a.jsx("div",{className:Qr.sidebarWrapper,"data-sidebar-open":v,children:a.jsx(wI,{content:m})}),g&&v&&a.jsx("div",{className:Qr.overlay,"data-testid":"drawer-overlay",onClick:()=>_(!1)}),a.jsxs("div",{className:Qr.main,children:[a.jsx(ha,{}),a.jsx(II,{sessions:r,tasks:c,environments:o})]})]}),a.jsx(ZO,{toasts:d,onDismiss:u}),a.jsx(xV,{})]})}function xG(){const{sessions:{lastSpawnedId:t},environments:{environments:s,operationError:o,clearOperationError:r},tasks:{tasks:c},connectionStatus:d,onboardingCompleted:u}=ot(),{pluginNames:p}=Sh(),{showToast:m}=mn();LH(s,m),PH(c,m),BH(o,r,m);const g=dt(),v=Jt();if(y.useEffect(()=>{t&&!v.pathname.includes("/tasks/")&&g(Bd(t),{replace:!0})},[t,g,v.pathname]),d==="connected"&&u===!1)return a.jsx(os,{to:"/setup",replace:!0});const _=aH(p);return a.jsx(kz,{children:a.jsxs("div",{className:Qr.root,children:[bk&&a.jsx(kC,{}),a.jsx(_G,{tabs:_})]})})}function Jp(){const{workspaceId:t}=Vn(),{workspaces:{workspaces:s}}=ot(),o=Jt(),r=s.find(g=>g.id===t),c=r!=null&&r.linkedEnvironmentIds?[...r.linkedEnvironmentIds].sort()[0]:void 0;if(!c)return s.length===0?void 0:a.jsx(os,{to:"/environments",replace:!0});const d=encodeURIComponent(t),u=`/workspaces/${d}`,p=o.pathname.startsWith(u)?o.pathname.slice(u.length):"",m=`/environments/${encodeURIComponent(c)}/workspaces/${d}${p}${o.search}${o.hash}`;return a.jsx(os,{to:m,replace:!0})}function kG(){const{pluginNames:t}=Sh(),s=t.includes("orchestration"),o=t.includes("knowledge");return a.jsxs(oN,{children:[a.jsx(we,{path:"setup",element:a.jsx(pG,{})}),a.jsxs(we,{element:a.jsx(xG,{}),children:[a.jsx(we,{index:!0,element:a.jsx(NP,{})}),a.jsx(we,{path:"sessions/new",element:a.jsx(PP,{})}),a.jsxs(we,{element:a.jsx(NV,{}),children:[a.jsx(we,{path:"chat",element:a.jsx(__,{})}),a.jsx(we,{path:"chat/:streamId",element:a.jsx(__,{})})]}),a.jsx(we,{path:"sessions/:sessionId",element:a.jsx(qP,{})}),o&&a.jsx(we,{element:a.jsx(wV,{}),children:a.jsx(we,{path:"knowledge",element:a.jsx(y.Suspense,{fallback:a.jsx(H1,{}),children:a.jsx(bG,{})})})}),s&&a.jsxs(we,{element:a.jsx(kV,{}),children:[a.jsx(we,{path:"tasks",element:a.jsx(TP,{})}),a.jsx(we,{path:"tasks/new",element:a.jsx(k_,{})}),a.jsx(we,{path:"tasks/:taskId",element:a.jsx(Ka,{})}),a.jsx(we,{path:"tasks/:taskId/edit",element:a.jsx(Ka,{})}),a.jsx(we,{path:"tasks/:taskId/stream",element:a.jsx(Ka,{})}),a.jsx(we,{path:"tasks/:taskId/findings",element:a.jsx(Ka,{})})]}),s&&a.jsxs(we,{element:a.jsx(TV,{}),children:[a.jsx(we,{path:"findings",element:a.jsx(C_,{})}),a.jsx(we,{path:"findings/:findingId",element:a.jsx(E_,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/findings",element:a.jsx(C_,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/findings/:findingId",element:a.jsx(E_,{})})]}),a.jsxs(we,{element:a.jsx(SV,{}),children:[a.jsx(we,{path:"workspaces",element:a.jsx(os,{to:"/environments",replace:!0})}),a.jsx(we,{path:"workspaces/new",element:a.jsx(oU,{})}),a.jsx(we,{path:"workspaces/:workspaceId",element:a.jsx(Jp,{})}),a.jsx(we,{path:"workspaces/:workspaceId/tasks/:taskId",element:a.jsx(Jp,{})}),a.jsx(we,{path:"workspaces/:workspaceId/tasks/:taskId/*",element:a.jsx(Jp,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId",element:a.jsx(YP,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/new",element:a.jsx(k_,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/:taskId",element:a.jsx(Ka,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/edit",element:a.jsx(Ka,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/stream",element:a.jsx(Ka,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/findings",element:a.jsx(Ka,{})}),a.jsxs(we,{path:"environments",element:a.jsx(pU,{}),children:[a.jsx(we,{index:!0,element:a.jsx(wP,{})}),a.jsx(we,{path:"new",element:a.jsx(lU,{})}),a.jsx(we,{path:":environmentId",element:a.jsx(VU,{})}),a.jsx(we,{path:":environmentId/edit",element:a.jsx(cU,{})})]})]}),a.jsx(we,{element:a.jsx(jV,{}),children:a.jsxs(we,{path:"settings",element:a.jsx(FU,{}),children:[a.jsx(we,{index:!0,element:a.jsx(os,{to:"credentials",replace:!0})}),a.jsx(we,{path:"environments",element:a.jsx(os,{to:"/environments",replace:!0})}),a.jsx(we,{path:"credentials",element:a.jsx(ZU,{})}),a.jsx(we,{path:"github-accounts",element:a.jsx(KU,{})}),a.jsx(we,{path:"tokens",element:a.jsx(os,{to:"../credentials",replace:!0})}),a.jsx(we,{path:"personas",element:a.jsx(YU,{})}),a.jsx(we,{path:"personas/new",element:a.jsx(T_,{})}),a.jsx(we,{path:"personas/:personaId",element:a.jsx(T_,{})}),a.jsx(we,{path:"schedules",element:a.jsx(oV,{})}),a.jsx(we,{path:"schedules/new",element:a.jsx(w_,{})}),a.jsx(we,{path:"schedules/:scheduleId",element:a.jsx(w_,{})}),a.jsx(we,{path:"appearance",element:a.jsx(gV,{})}),a.jsx(we,{path:"shortcuts",element:a.jsx(bV,{})}),a.jsx(we,{path:"plugins",element:a.jsx(_V,{})}),a.jsx(we,{path:"about",element:a.jsx(yV,{})})]})}),a.jsx(we,{path:"*",element:a.jsx(os,{to:"/",replace:!0})})]})]})}const SG=1e4;function jG(){const{onboardingCompleted:t}=ot(),[s,o]=y.useState(!1);y.useEffect(()=>{if(t!==void 0)return;const c=setTimeout(()=>o(!0),SG);return()=>clearTimeout(c)},[t]);const r=t===void 0&&!s;return a.jsx(rs,{mode:"wait",children:r?a.jsx(Rt.div,{initial:{opacity:1},exit:{opacity:0},transition:{duration:.25},children:a.jsx(H1,{})},"splash"):a.jsx(Rt.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.25},style:{minHeight:"100vh"},children:a.jsx(DN,{basename:"/".replace(/\/$/,""),children:a.jsx(kG,{})})},"app")})}function TG(){const t=bk?Wz:OH;return a.jsx(eH,{children:a.jsx(xz,{children:a.jsx(vz,{children:a.jsx(t,{children:a.jsx(jG,{})})})})})}aj.createRoot(document.getElementById("root")).render(a.jsx(y.StrictMode,{children:a.jsx(TG,{})}));export{Ss as B,rx as K,ot as a,tm as f,Bd as s,Hn as t,dt as u};
754
+ $\`Summarize the current tasks.\`;`,ariaLabel:"Persona script","data-testid":"persona-script-editor"})]}),O==="agent"&&a.jsxs("div",{children:[a.jsx("label",{children:"Allowed MCP Tools"}),a.jsx(d_,{selectedTools:Y,onChange:ce=>{U(ce),_e(()=>c(t.id,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,ce),()=>{},"MCP tools updated","Failed to update MCP tools").catch(()=>{})}})]})]}),!xe&&!de&&a.jsx("p",{style:{fontSize:"var(--font-size-xs)",color:"var(--text-tertiary)",marginTop:"var(--space-xs)"},children:"Only agent personas with a runtime and model can be set as app default."})]}):null,a.jsx(ks,{isOpen:X,title:"Delete Persona?",description:`"${t==null?void 0:t.name}" will be permanently removed.`,confirmLabel:"Delete",onConfirm:gt,onCancel:()=>he(!1)})]})}function oV(){const{schedules:{schedules:t,deleteSchedule:s,updateSchedule:o},personas:{personas:r}}=ot(),{showToast:c}=mn(),d=dt();return a.jsx(U7,{schedules:t,personas:r,onDeleteSchedule:async u=>{try{await s(u)}catch(p){throw console.error("Failed to delete schedule",{scheduleId:u,error:p}),c("Failed to delete schedule","error"),p}},onToggleEnabled:async(u,p)=>{try{return await o(u,p)}catch(m){throw console.error("Failed to update schedule",{scheduleId:u,error:m}),c("Failed to update schedule","error"),m}},onNavigateToNew:()=>d(FN),onNavigateToSchedule:u=>d(ox(u))})}const rV="_container_1g4qh_1",lV="_form_1g4qh_7",cV="_formActions_1g4qh_66",dV="_editableSection_1g4qh_73",uV="_helperText_1g4qh_84",fV="_metaSection_1g4qh_90",pV="_optional_1g4qh_108",mV="_readonlyValue_1g4qh_113",$n={container:rV,form:lV,formActions:cV,editableSection:dV,helperText:uV,metaSection:fV,optional:pV,readonlyValue:mV};function N_(){const{scheduleId:t}=Vn(),s=dt(),{showToast:o}=mn(),{schedules:{schedules:r,schedulesLoading:c,createSchedule:d,updateSchedule:u,deleteSchedule:p},personas:{personas:m},workspaces:{workspaces:g}}=ot(),v=t===void 0,_=v?void 0:r.find(x=>x.id===t);if(!v&&!c&&r.length>0&&!_)return a.jsx(os,{to:dp,replace:!0});const b=[{label:"Settings",url:Di},{label:"Schedules",url:dp},{label:v?"New Schedule":(_==null?void 0:_.title)??"Schedule",url:void 0}];return a.jsxs("div",{className:$n.container,children:[a.jsx(Ss,{segments:b}),a.jsx(hV,{existing:_,isNew:v,personas:m,workspaces:g,onCreateSchedule:d,onUpdateSchedule:u,onDeleteSchedule:p,onDone:()=>{s(dp)},showToast:o})]})}function hV({existing:t,isNew:s,personas:o,workspaces:r,onCreateSchedule:c,onUpdateSchedule:d,onDeleteSchedule:u,onDone:p,showToast:m}){var B;const g=dt(),[v,_]=y.useState((t==null?void 0:t.title)??""),[b,x]=y.useState((t==null?void 0:t.description)??""),[k,j]=y.useState((t==null?void 0:t.scheduleExpression)??""),[w,T]=y.useState((t==null?void 0:t.personaId)??""),[C,A]=y.useState((t==null?void 0:t.workspaceId)??""),[L,E]=y.useState(!1),[O,z]=y.useState(null);y.useEffect(()=>{s||t&&O===null&&(_(t.title),x(t.description),j(t.scheduleExpression),T(t.personaId),A(t.workspaceId))},[s,t,O]);const D=!s&&t===void 0,H=s&&v.trim().length>0&&k.trim().length>0&&w.length>0,Y=o.map(R=>({value:R.id,label:R.name})),U=[{value:"",label:"System-level (no workspace)"},...r.map(R=>({value:R.id,label:R.name}))],X=R=>{R.preventDefault(),H&&c(v,b,k,w,C||void 0).then(se=>{m("Schedule created","success"),g(ox(se.id),{replace:!0})},()=>{m("Failed to create schedule","error")})},he=(R,se)=>{t&&d(t.id,{[R]:se}).then(()=>{m("Schedule updated","success"),R==="title"&&_(String(se)),R==="description"&&x(String(se)),R==="scheduleExpression"&&j(String(se)),R==="personaId"&&T(String(se))},()=>{m("Failed to update schedule","error")})},W=()=>{if(!t)return;const R=!t.enabled;d(t.id,{enabled:R}).then(()=>{m(R?"Schedule enabled":"Schedule disabled","success")},()=>{m("Failed to update schedule","error")})},le=()=>{t&&u(t.id).then(()=>{m("Schedule deleted","success"),p()},()=>{m("Failed to delete schedule","error")})};return a.jsxs(a.Fragment,{children:[D?a.jsxs("div",{className:$n.form,children:[a.jsx("h3",{children:"Edit Schedule"}),a.jsx("p",{children:"Loading schedule..."})]}):s?a.jsxs("form",{onSubmit:X,className:$n.form,children:[a.jsx("h3",{children:"Create Schedule"}),a.jsxs("label",{children:["Title",a.jsx("input",{type:"text",value:v,onChange:R=>_(R.target.value),placeholder:"e.g. Nightly Review",required:!0,"data-testid":"schedule-detail-title"})]}),a.jsxs("label",{children:["Description ",a.jsx("span",{className:$n.optional,children:"(optional)"}),a.jsx("input",{type:"text",value:b,onChange:R=>x(R.target.value),placeholder:"Brief description...","data-testid":"schedule-detail-description"})]}),a.jsxs("label",{children:["Schedule Expression",a.jsx("input",{type:"text",value:k,onChange:R=>j(R.target.value),placeholder:"e.g. 30s, 5m, 1h, or 0 9 * * MON",required:!0,"data-testid":"schedule-detail-expression"}),a.jsxs("p",{className:$n.helperText,children:["Interval: ",a.jsx("code",{children:"30s"}),", ",a.jsx("code",{children:"5m"}),", ",a.jsx("code",{children:"1h"}),", ",a.jsx("code",{children:"1d"})," (min 10s)  |  Cron: ",a.jsx("code",{children:"0 9 * * MON"})," (standard 5-field cron syntax)"]})]}),a.jsxs("label",{children:["Persona",a.jsxs("select",{value:w,onChange:R=>T(R.target.value),required:!0,"data-testid":"schedule-detail-persona",children:[a.jsx("option",{value:"",children:"Select a persona..."}),Y.map(R=>a.jsx("option",{value:R.value,children:R.label},R.value))]})]}),a.jsxs("label",{children:["Workspace ",a.jsx("span",{className:$n.optional,children:"(optional)"}),a.jsx("select",{value:C,onChange:R=>A(R.target.value),"data-testid":"schedule-detail-workspace",children:U.map(R=>a.jsx("option",{value:R.value,children:R.label},R.value))})]}),a.jsxs("div",{className:$n.formActions,children:[a.jsx(on,{type:"submit",variant:"primary",size:"md",disabled:!H,"data-testid":"schedule-detail-save",children:"Create"}),a.jsx(on,{type:"button",variant:"outline",size:"md",onClick:p,"data-testid":"schedule-detail-cancel",children:"Cancel"})]})]}):t?a.jsxs("div",{className:$n.form,children:[a.jsx("h3",{children:"Edit Schedule"}),a.jsxs("div",{className:$n.formActions,children:[a.jsx(on,{type:"button",variant:"outline",size:"md",onClick:p,"data-testid":"schedule-detail-cancel",children:"Back to Schedules"}),a.jsx(on,{type:"button",variant:t.enabled?"ghost":"primary",size:"md",onClick:W,"data-testid":"schedule-detail-toggle",children:t.enabled?"Disable":"Enable"}),a.jsx(on,{type:"button",variant:"danger",size:"md",onClick:()=>E(!0),"data-testid":"schedule-detail-delete",children:"Delete"})]}),a.jsxs("div",{className:$n.editableSection,children:[a.jsxs("label",{children:["Title",a.jsx(Ut,{value:v,onSave:R=>{he("title",R)},validate:R=>R.trim()?void 0:"Title is required",fieldId:"schedule-title",activeFieldId:O,onActivate:z,ariaLabel:"Schedule title","data-testid":"schedule-detail-title"})]}),a.jsxs("label",{children:["Description",a.jsx(Ut,{value:b,onSave:R=>{he("description",R)},fieldId:"schedule-description",activeFieldId:O,onActivate:z,placeholder:"Brief description...",ariaLabel:"Schedule description","data-testid":"schedule-detail-description"})]}),a.jsxs("label",{children:["Schedule Expression",a.jsx(Ut,{value:k,onSave:R=>{he("scheduleExpression",R)},validate:R=>R.trim()?void 0:"Schedule expression is required",fieldId:"schedule-expression",activeFieldId:O,onActivate:z,placeholder:"e.g. 30s, 5m, 1h, or 0 9 * * MON",ariaLabel:"Schedule expression","data-testid":"schedule-detail-expression"})]}),a.jsxs("label",{children:["Persona",a.jsx(jd,{value:w,onSave:R=>{he("personaId",R)},options:Y,fieldId:"schedule-persona",activeFieldId:O,onActivate:z,ariaLabel:"Schedule persona","data-testid":"schedule-detail-persona"})]}),a.jsxs("label",{children:["Workspace ",a.jsx("span",{className:$n.optional,children:"(optional — set at creation)"}),a.jsx("span",{className:$n.readonlyValue,"data-testid":"schedule-detail-workspace",children:((B=r.find(R=>R.id===t.workspaceId))==null?void 0:B.name)??"System-level (no workspace)"})]})]}),a.jsxs("div",{className:$n.metaSection,children:[t.lastRunAt?a.jsxs("span",{children:["Last run: ",Uo(t.lastRunAt)]}):a.jsx("span",{children:"Last run: Never"}),t.enabled&&t.nextRunAt?a.jsxs("span",{children:["Next run: ",K1(t.nextRunAt)]}):null,t.runCount>0&&a.jsxs("span",{children:["Total runs: ",t.runCount]}),a.jsxs("span",{children:["Created: ",Uo(t.createdAt)]})]})]}):null,a.jsx(ks,{isOpen:L,title:"Delete Schedule?",description:`"${t==null?void 0:t.title}" will be permanently removed. Tasks already created by this schedule will not be affected.`,confirmLabel:"Delete",onConfirm:le,onCancel:()=>E(!1)})]})}function gV(){const{themeId:t,resolvedThemeId:s,setTheme:o,preferSystem:r,setPreferSystem:c}=lk();return a.jsx(iB,{themeId:t,resolvedThemeId:s,onSetTheme:o,preferSystem:r,onSetPreferSystem:c})}function vV(){const[t,s]=y.useState(void 0);return y.useEffect(()=>{let o=!1;return(async()=>{try{const c=await $e.getVersionStatus({});o||s({currentVersion:c.currentVersion,latestVersion:c.latestVersion,updateAvailable:c.updateAvailable,isDocker:c.isDocker})}catch{}})().catch(()=>{}),()=>{o=!0}},[]),t}function yV(){const{connectionStatus:t,environments:{environments:s},sessions:{sessions:o}}=ot(),r=vV();return a.jsxs(a.Fragment,{children:[r&&a.jsx(iL,{currentVersion:r.currentVersion,latestVersion:r.latestVersion,updateAvailable:r.updateAvailable,isDocker:r.isDocker}),a.jsx(lB,{connectionStatus:t,environments:s,sessions:o})]})}function bV(){return a.jsx(X8,{})}function _V(){const{plugins:{plugins:t,pluginsLoading:s,setPluginEnabled:o}}=ot();return a.jsx(k8,{plugins:t,loading:s,onSetPluginEnabled:(r,c)=>{o(r,c).catch(()=>{})}})}const C_=Bi();function xV(){const t=dt();return ca({key:"?"},()=>{t(ZN)}),ca({key:"n"},()=>{t(C_)}),ca({key:"N"},()=>{t(C_)}),a.jsx(a.Fragment,{})}function Yo(t){const s=Tz();y.useLayoutEffect(()=>(s(t),()=>{s(void 0)}),[t,s])}function kV(){const{workspaces:{workspaces:t},tasks:{tasks:s}}=ot(),o=y.useMemo(()=>a.jsx(OO,{workspaces:t,tasks:s}),[t,s]);return Yo(o),a.jsx(ha,{})}function SV(){const{environments:{environments:t}}=ot(),s=y.useMemo(()=>a.jsx(qI,{environments:t}),[t]);return Yo(s),a.jsx(ha,{})}function jV(){const t=y.useMemo(()=>a.jsx(Z7,{}),[]);return Yo(t),a.jsx(ha,{})}function TV(){const{findings:{findings:t,loadFindings:s,loadAllFindings:o}}=ot(),{workspaceId:r,environmentId:c}=Vn();y.useEffect(()=>{r?s(r).catch(()=>{}):o().catch(()=>{})},[r,s,o]);const d=y.useMemo(()=>a.jsx(nO,{findings:t,workspaceId:r,environmentId:c}),[t,r,c]);return Yo(d),a.jsx(ha,{})}function wV(){const{knowledge:t,workspaces:{workspaces:s}}=ot(),o=y.useCallback(p=>{t.search(p).catch(()=>{})},[t]),r=y.useCallback(()=>{t.clearSearch()},[t]),c=y.useCallback(p=>{t.selectNode(p).catch(()=>{})},[t]),d=y.useCallback(p=>{t.loadRecent(p||void 0).catch(()=>{})},[t]),u=y.useMemo(()=>a.jsx(eI,{nodes:t.graphData.nodes,workspaces:s,loading:t.loading,searchQuery:t.searchQuery,onSearch:o,onClearSearch:r,onSelectNode:c,onWorkspaceChange:d}),[t,s,o,r,c,d]);return Yo(u),a.jsx(ha,{})}function NV(){const{streams:{streams:t,streamsLoading:s,streamsLoadError:o,streamsLoadedOnce:r,loadStreams:c}}=ot(),d=y.useCallback(()=>{c().catch(()=>{})},[c]),u=y.useMemo(()=>a.jsx(i$,{streams:t,loading:s,streamsLoadError:o,streamsLoadedOnce:r,onRefresh:d}),[t,s,o,r,d]);return Yo(u),a.jsx(ha,{})}const CV="_container_ce571_1",EV="_title_ce571_6",Nd={container:CV,title:EV};function AV(){return a.jsxs("div",{className:Nd.container,"aria-hidden":"true",children:[a.jsx("h1",{className:Nd.title,children:"Findings"}),a.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-sm)"},children:Array.from({length:4},(t,s)=>a.jsx(Sd,{lines:3},s))})]})}function E_(){const{environmentId:t,workspaceId:s}=Vn(),{findings:{findings:o,findingsLoading:r,loadFindings:c},workspaces:{workspaces:d},environments:{environments:u}}=ot(),p=dt();y.useEffect(()=>{s&&c(s).catch(()=>{})},[s,c]);const m=y.useCallback(v=>{p(tm(v,s,t))},[p,s,t]);if(r)return a.jsx(AV,{});const g=s&&t?hk("Findings",s,t,d,u).slice(0,-1):Bz();return a.jsxs("div",{className:Nd.container,"data-testid":"findings-list-page",children:[a.jsx(Ss,{segments:g}),a.jsx("h1",{className:Nd.title,children:"Findings"}),a.jsx(Q1,{findings:o,onFindingClick:m})]})}const DV="_container_1wwpb_1",RV="_notFound_1wwpb_6",MV="_header_1wwpb_12",IV="_categoryBadge_1wwpb_19",OV="_title_1wwpb_28",LV="_content_1wwpb_35",BV="_tags_1wwpb_77",$V="_tag_1wwpb_77",zV="_meta_1wwpb_92",HV="_metaTimestamp_1wwpb_100",PV="_metaLink_1wwpb_105",kn={container:DV,notFound:RV,header:MV,categoryBadge:IV,title:OV,content:LV,tags:BV,tag:$V,meta:zV,metaTimestamp:HV,metaLink:PV};function A_(){const{findingId:t,environmentId:s,workspaceId:o}=Vn(),{findings:{selectedFinding:r,findingLoading:c,loadFinding:d},workspaces:{workspaces:u},environments:{environments:p}}=ot(),m=dt();if(y.useEffect(()=>{t&&d(t).catch(()=>{})},[t,d]),c)return a.jsx("div",{className:kn.container,"data-testid":"finding-detail-page",children:a.jsx("div",{className:kn.notFound,children:"Loading..."})});if(!r)return a.jsx("div",{className:kn.container,"data-testid":"finding-detail-page",children:a.jsx("div",{className:kn.notFound,children:"Finding not found."})});const g=hk(r.title,o,s,u,p),v=Td(r.category);return a.jsxs("div",{className:kn.container,"data-testid":"finding-detail-page",children:[a.jsx(Ss,{segments:g}),a.jsxs("div",{className:kn.header,children:[a.jsx("span",{className:kn.categoryBadge,style:{background:v.bg,color:v.text},children:r.category}),a.jsx("h1",{className:kn.title,children:r.title})]}),r.content&&a.jsx("div",{className:kn.content,children:a.jsx(Ed,{remarkPlugins:[Ad],children:r.content})}),r.tags.length>0&&a.jsx("div",{className:kn.tags,children:r.tags.map(_=>a.jsx("span",{className:kn.tag,children:_},_))}),a.jsxs("div",{className:kn.meta,children:[a.jsx("span",{className:kn.metaTimestamp,title:r.createdAt,children:Uo(r.createdAt)}),r.taskId&&a.jsx("button",{type:"button",className:kn.metaLink,onClick:()=>{m(Hn(r.taskId))},children:"View Task"}),r.sessionId&&a.jsx("button",{type:"button",className:kn.metaLink,onClick:()=>{m(Bd(r.sessionId))},children:"View Session"})]})]})}const UV="_wizard_1260s_1",VV="_container_1260s_10",GV="_stepContent_1260s_19",qV="_logoArea_1260s_28",FV="_logoImage_1260s_32",ZV="_heading_1260s_41",KV="_tagline_1260s_49",YV="_subtitle_1260s_56",JV="_featureList_1260s_64",WV="_runtimeGrid_1260s_89",XV="_runtimeCard_1260s_101",QV="_runtimeName_1260s_133",eG="_runtimeDescription_1260s_139",tG="_buttonRow_1260s_144",nG="_primaryButton_1260s_151",sG="_ghostButton_1260s_185",aG="_dots_1260s_213",iG="_dot_1260s_213",Xe={wizard:UV,container:VV,stepContent:GV,logoArea:qV,logoImage:FV,heading:ZV,tagline:KV,subtitle:YV,featureList:JV,runtimeGrid:WV,runtimeCard:XV,runtimeName:QV,runtimeDescription:eG,buttonRow:tG,primaryButton:nG,ghostButton:sG,dots:aG,dot:iG};function oG({onNext:t}){return a.jsxs("div",{className:Xe.stepContent,"data-testid":"setup-welcome",children:[a.jsx("div",{className:Xe.logoArea,children:a.jsx("img",{src:qd("grackle-logo.png"),alt:"Grackle",className:Xe.logoImage})}),a.jsx("h1",{className:Xe.heading,children:"Welcome to Grackle"}),a.jsx("p",{className:Xe.tagline,children:"Multi-agent orchestration for software teams"}),a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:t,"data-testid":"setup-get-started",children:"Get Started"})]})}function rG({onNext:t,onBack:s}){return a.jsxs("div",{className:Xe.stepContent,"data-testid":"setup-about",children:[a.jsx("h2",{className:Xe.heading,children:"What is Grackle?"}),a.jsxs("ul",{className:Xe.featureList,children:[a.jsx("li",{children:"Run Claude, Copilot, and Codex agents side by side"}),a.jsx("li",{children:"Provision and control dev environments — SSH, Codespaces, or local"}),a.jsx("li",{children:"Organize work into workspaces with agent-executable tasks"}),a.jsx("li",{children:"Customize agent behavior with personas, tools, and MCP servers"}),a.jsx("li",{children:"Live-stream agent sessions with full terminal replay"})]}),a.jsxs("div",{className:Xe.buttonRow,children:[a.jsx("button",{type:"button",className:Xe.ghostButton,onClick:s,children:"Back"}),a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:t,"data-testid":"setup-about-next",children:"Next"})]})]})}const lG=[{id:"claude-code",name:"Claude Code",description:"Anthropic's agentic coding tool"},{id:"copilot",name:"Copilot Coding Agent",description:"GitHub's AI pair programmer"},{id:"codex",name:"Codex CLI",description:"OpenAI's coding agent"},{id:"goose",name:"Goose",description:"Block's open-source AI coding agent"}];function cG({currentRuntime:t,onFinish:s,onBack:o,finishDisabled:r}){const[c,d]=y.useState(t||"claude-code");return y.useEffect(()=>{t&&d(t)},[t]),a.jsxs("div",{className:Xe.stepContent,"data-testid":"setup-runtime",children:[a.jsx("h2",{className:Xe.heading,children:"Choose Your Runtime"}),a.jsx("p",{className:Xe.subtitle,children:"Select the primary agent runtime for your workspace. You can change this later."}),a.jsx("div",{className:Xe.runtimeGrid,children:lG.map(u=>a.jsxs("button",{type:"button",className:Xe.runtimeCard,"data-selected":c===u.id,"aria-pressed":c===u.id,"data-testid":`runtime-card-${u.id}`,onClick:()=>d(u.id),children:[a.jsx("span",{className:Xe.runtimeName,children:u.name}),a.jsx("span",{className:Xe.runtimeDescription,children:u.description})]},u.id))}),a.jsxs("div",{className:Xe.buttonRow,children:[a.jsx("button",{type:"button",className:Xe.ghostButton,onClick:o,children:"Back"}),a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:()=>{s(c)},disabled:r,"data-testid":"setup-runtime-next",children:"Next"})]})]})}function dG(){return typeof Notification<"u"}function uG({onFinish:t,onBack:s,finishDisabled:o}){const r=dG(),c=r&&Notification.permission!=="default";function d(){r&&Notification.requestPermission().catch(()=>{}),t()}return a.jsxs("div",{className:Xe.stepContent,"data-testid":"setup-notifications",children:[a.jsx("h2",{className:Xe.heading,children:"Stay in the Loop"}),a.jsx("p",{className:Xe.subtitle,children:"Grackle can send you a browser notification when an agent needs your input, so you never miss an important moment."}),c?a.jsx("p",{className:Xe.subtitle,children:Notification.permission==="granted"?"Notifications are already enabled.":"Notifications have been blocked. You can change this in your browser settings."}):null,a.jsxs("div",{className:Xe.buttonRow,children:[a.jsx("button",{type:"button",className:Xe.ghostButton,onClick:s,disabled:o,children:"Back"}),!c&&r?a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",className:Xe.ghostButton,onClick:t,disabled:o,"data-testid":"setup-notifications-skip",children:"Skip"}),a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:d,disabled:o,"data-testid":"setup-notifications-enable",children:"Enable Notifications"})]}):a.jsx("button",{type:"button",className:Xe.primaryButton,onClick:t,disabled:o,"data-testid":"setup-finish",children:"Finish"})]})]})}const fG=4,D_={"claude-code":"sonnet",copilot:"gpt-4o",codex:"o3",goose:""};function pG(){const{personas:{personas:t,updatePersona:s},completeOnboarding:o,onboardingCompleted:r}=ot(),{showToast:c}=mn(),d=dt(),[u,p]=y.useState(0),[m,g]=y.useState("claude-code"),[v,_]=y.useState(!1),b=t.find(j=>j.id==="claude-code"),x=y.useCallback(j=>{g(j),p(3)},[]),k=y.useCallback(()=>{const j=m;_(!0);const w=[];if(b&&j!==b.runtime){const C=D_[j]??"sonnet";w.push(s(b.id,void 0,void 0,void 0,j,C))}const T=t.find(C=>C.id===vy);if(T&&j!==T.runtime){const C=D_[j]??"sonnet";w.push(s(vy,void 0,void 0,void 0,j,C))}Promise.all(w).then(()=>o()).then(()=>{d("/",{replace:!0})},()=>{c("Failed to update runtime -- please try again","error"),_(!1)})},[m,b,t,s,o,d,c]);return r===!0?a.jsx(os,{to:"/",replace:!0}):a.jsx("div",{className:Xe.wizard,"data-testid":"setup-wizard",children:a.jsxs("div",{className:Xe.container,children:[a.jsx(rs,{mode:"wait",children:a.jsxs(Rt.div,{initial:{opacity:0,x:40},animate:{opacity:1,x:0},exit:{opacity:0,x:-40},transition:{duration:.2,ease:"easeInOut"},children:[u===0&&a.jsx(oG,{onNext:()=>p(1)}),u===1&&a.jsx(rG,{onNext:()=>p(2),onBack:()=>p(0)}),u===2&&a.jsx(cG,{currentRuntime:m,onFinish:x,onBack:()=>p(1),finishDisabled:!b}),u===3&&a.jsx(uG,{onFinish:k,onBack:()=>p(2),finishDisabled:v})]},u)}),a.jsx("div",{className:Xe.dots,children:Array.from({length:fG},(j,w)=>a.jsx("span",{className:Xe.dot,"data-active":w===u},w))})]})})}const mG="_root_zndgp_1",hG="_body_zndgp_7",gG="_main_zndgp_19",vG="_sidebarWrapper_zndgp_26",yG="_overlay_zndgp_51",Qr={root:mG,body:hG,main:gG,sidebarWrapper:vG,overlay:yG},bG=y.lazy(()=>lj(()=>import("./KnowledgePage-so1JlxJH.js"),__vite__mapDeps([0,1,2,3,4])).then(t=>({default:t.KnowledgePage}))),_k=typeof window<"u"&&new URLSearchParams(window.location.search).has("mock");function _G({tabs:t}){const{connectionStatus:s,environments:{environments:o},sessions:{sessions:r},tasks:{tasks:c}}=ot(),{toasts:d,dismissToast:u}=mn(),p=Jt(),m=jz(),g=m!==void 0,[v,_]=y.useState(!1),b=y.useCallback(()=>_(x=>!x),[]);return y.useEffect(()=>{_(!1)},[p.pathname]),y.useEffect(()=>{if(!v)return;const x=k=>{k.key==="Escape"&&_(!1)};return document.addEventListener("keydown",x),()=>{document.removeEventListener("keydown",x)}},[v]),a.jsxs(a.Fragment,{children:[a.jsx(pI,{connectionStatus:s,environments:o,sessions:r,onToggleSidebar:g?b:void 0,sidebarOpen:v}),a.jsx(xI,{tabs:t}),a.jsxs("div",{className:Qr.body,children:[g&&a.jsx("div",{className:Qr.sidebarWrapper,"data-sidebar-open":v,children:a.jsx(NI,{content:m})}),g&&v&&a.jsx("div",{className:Qr.overlay,"data-testid":"drawer-overlay",onClick:()=>_(!1)}),a.jsxs("div",{className:Qr.main,children:[a.jsx(ha,{}),a.jsx(OI,{sessions:r,tasks:c,environments:o})]})]}),a.jsx(KO,{toasts:d,onDismiss:u}),a.jsx(xV,{})]})}function xG(){const{sessions:{lastSpawnedId:t},environments:{environments:s,operationError:o,clearOperationError:r},tasks:{tasks:c},connectionStatus:d,onboardingCompleted:u}=ot(),{pluginNames:p}=Sh(),{showToast:m}=mn();LH(s,m),PH(c,m),BH(o,r,m);const g=dt(),v=Jt();if(y.useEffect(()=>{t&&!v.pathname.includes("/tasks/")&&g(Bd(t),{replace:!0})},[t,g,v.pathname]),d==="connected"&&u===!1)return a.jsx(os,{to:"/setup",replace:!0});const _=iH(p);return a.jsx(Sz,{children:a.jsxs("div",{className:Qr.root,children:[_k&&a.jsx(SC,{}),a.jsx(_G,{tabs:_})]})})}function Jp(){const{workspaceId:t}=Vn(),{workspaces:{workspaces:s}}=ot(),o=Jt(),r=s.find(g=>g.id===t),c=r!=null&&r.linkedEnvironmentIds?[...r.linkedEnvironmentIds].sort()[0]:void 0;if(!c)return s.length===0?void 0:a.jsx(os,{to:"/environments",replace:!0});const d=encodeURIComponent(t),u=`/workspaces/${d}`,p=o.pathname.startsWith(u)?o.pathname.slice(u.length):"",m=`/environments/${encodeURIComponent(c)}/workspaces/${d}${p}${o.search}${o.hash}`;return a.jsx(os,{to:m,replace:!0})}function kG(){const{pluginNames:t}=Sh(),s=t.includes("orchestration"),o=t.includes("knowledge");return a.jsxs(rN,{children:[a.jsx(we,{path:"setup",element:a.jsx(pG,{})}),a.jsxs(we,{element:a.jsx(xG,{}),children:[a.jsx(we,{index:!0,element:a.jsx(NP,{})}),a.jsx(we,{path:"sessions/new",element:a.jsx(PP,{})}),a.jsxs(we,{element:a.jsx(NV,{}),children:[a.jsx(we,{path:"chat",element:a.jsx(x_,{})}),a.jsx(we,{path:"chat/:streamId",element:a.jsx(x_,{})})]}),a.jsx(we,{path:"sessions/:sessionId",element:a.jsx(qP,{})}),o&&a.jsx(we,{element:a.jsx(wV,{}),children:a.jsx(we,{path:"knowledge",element:a.jsx(y.Suspense,{fallback:a.jsx(P1,{}),children:a.jsx(bG,{})})})}),s&&a.jsxs(we,{element:a.jsx(kV,{}),children:[a.jsx(we,{path:"tasks",element:a.jsx(TP,{})}),a.jsx(we,{path:"tasks/new",element:a.jsx(S_,{})}),a.jsx(we,{path:"tasks/:taskId",element:a.jsx(Ka,{})}),a.jsx(we,{path:"tasks/:taskId/edit",element:a.jsx(Ka,{})}),a.jsx(we,{path:"tasks/:taskId/stream",element:a.jsx(Ka,{})}),a.jsx(we,{path:"tasks/:taskId/findings",element:a.jsx(Ka,{})})]}),s&&a.jsxs(we,{element:a.jsx(TV,{}),children:[a.jsx(we,{path:"findings",element:a.jsx(E_,{})}),a.jsx(we,{path:"findings/:findingId",element:a.jsx(A_,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/findings",element:a.jsx(E_,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/findings/:findingId",element:a.jsx(A_,{})})]}),a.jsxs(we,{element:a.jsx(SV,{}),children:[a.jsx(we,{path:"workspaces",element:a.jsx(os,{to:"/environments",replace:!0})}),a.jsx(we,{path:"workspaces/new",element:a.jsx(oU,{})}),a.jsx(we,{path:"workspaces/:workspaceId",element:a.jsx(Jp,{})}),a.jsx(we,{path:"workspaces/:workspaceId/tasks/:taskId",element:a.jsx(Jp,{})}),a.jsx(we,{path:"workspaces/:workspaceId/tasks/:taskId/*",element:a.jsx(Jp,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId",element:a.jsx(YP,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/new",element:a.jsx(S_,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/:taskId",element:a.jsx(Ka,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/edit",element:a.jsx(Ka,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/stream",element:a.jsx(Ka,{})}),a.jsx(we,{path:"environments/:environmentId/workspaces/:workspaceId/tasks/:taskId/findings",element:a.jsx(Ka,{})}),a.jsxs(we,{path:"environments",element:a.jsx(pU,{}),children:[a.jsx(we,{index:!0,element:a.jsx(wP,{})}),a.jsx(we,{path:"new",element:a.jsx(lU,{})}),a.jsx(we,{path:":environmentId",element:a.jsx(VU,{})}),a.jsx(we,{path:":environmentId/edit",element:a.jsx(cU,{})})]})]}),a.jsx(we,{element:a.jsx(jV,{}),children:a.jsxs(we,{path:"settings",element:a.jsx(FU,{}),children:[a.jsx(we,{index:!0,element:a.jsx(os,{to:"credentials",replace:!0})}),a.jsx(we,{path:"environments",element:a.jsx(os,{to:"/environments",replace:!0})}),a.jsx(we,{path:"credentials",element:a.jsx(ZU,{})}),a.jsx(we,{path:"github-accounts",element:a.jsx(KU,{})}),a.jsx(we,{path:"tokens",element:a.jsx(os,{to:"../credentials",replace:!0})}),a.jsx(we,{path:"personas",element:a.jsx(YU,{})}),a.jsx(we,{path:"personas/new",element:a.jsx(w_,{})}),a.jsx(we,{path:"personas/:personaId",element:a.jsx(w_,{})}),a.jsx(we,{path:"schedules",element:a.jsx(oV,{})}),a.jsx(we,{path:"schedules/new",element:a.jsx(N_,{})}),a.jsx(we,{path:"schedules/:scheduleId",element:a.jsx(N_,{})}),a.jsx(we,{path:"appearance",element:a.jsx(gV,{})}),a.jsx(we,{path:"shortcuts",element:a.jsx(bV,{})}),a.jsx(we,{path:"plugins",element:a.jsx(_V,{})}),a.jsx(we,{path:"about",element:a.jsx(yV,{})})]})}),a.jsx(we,{path:"*",element:a.jsx(os,{to:"/",replace:!0})})]})]})}const SG=1e4;function jG(){const{onboardingCompleted:t}=ot(),[s,o]=y.useState(!1);y.useEffect(()=>{if(t!==void 0)return;const c=setTimeout(()=>o(!0),SG);return()=>clearTimeout(c)},[t]);const r=t===void 0&&!s;return a.jsx(rs,{mode:"wait",children:r?a.jsx(Rt.div,{initial:{opacity:1},exit:{opacity:0},transition:{duration:.25},children:a.jsx(P1,{})},"splash"):a.jsx(Rt.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.25},style:{minHeight:"100vh"},children:a.jsx(RN,{basename:"/".replace(/\/$/,""),children:a.jsx(kG,{})})},"app")})}function TG(){const t=_k?Xz:OH;return a.jsx(tH,{children:a.jsx(kz,{children:a.jsx(yz,{children:a.jsx(t,{children:a.jsx(jG,{})})})})})}ij.createRoot(document.getElementById("root")).render(a.jsx(y.StrictMode,{children:a.jsx(TG,{})}));export{Ss as B,lx as K,ot as a,tm as f,Bd as s,Hn as t,dt as u};