@mastra/deployer-cloud 1.60.0-alpha.2 → 1.60.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/studio/assets/{core-NO1YcobU.js → core-DZeucpK3.js} +1 -1
- package/dist/studio/assets/{index-B3XsbJ57.js → index-DByO3QVi.js} +2 -2
- package/dist/studio/assets/{main-kgl2Yjlv.js → main-Z5ffQhxC.js} +3 -3
- package/dist/studio/index.html +1 -1
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-DZeucpK3.js","./engine-compile-BkERmzkH.js","./preload-helper-PPVm8Dsz.js","./engine-javascript-CSIo_1eZ.js","./html-C2L_23MC.js","./javascript-ySlJ1b_l.js","./css-BPhBrDlE.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{_ as Da}from"./preload-helper-PPVm8Dsz.js";function xWt(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in e)){const a=Object.getOwnPropertyDescriptor(r,s);a&&Object.defineProperty(e,s,a.get?a:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var fj=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function zl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var RK={exports:{}},GA={};var S$e;function wWt(){if(S$e)return GA;S$e=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,s,a){var i=null;if(a!==void 0&&(i=""+a),s.key!==void 0&&(i=""+s.key),"key"in s){a={};for(var l in s)l!=="key"&&(a[l]=s[l])}else a=s;return s=a.ref,{$$typeof:e,type:r,key:i,ref:s!==void 0?s:null,props:a}}return GA.Fragment=t,GA.jsx=n,GA.jsxs=n,GA}var k$e;function SWt(){return k$e||(k$e=1,RK.exports=wWt()),RK.exports}var o=SWt(),PK={exports:{}},qr={},O$e;function kWt(){if(O$e)return qr;O$e=1;var e={env:{}};var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),h=Symbol.iterator;function m(V){return V===null||typeof V!="object"?null:(V=h&&V[h]||V["@@iterator"],typeof V=="function"?V:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function x(V,$,z){this.props=V,this.context=$,this.refs=b,this.updater=z||v}x.prototype.isReactComponent={},x.prototype.setState=function(V,$){if(typeof V!="object"&&typeof V!="function"&&V!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,V,$,"setState")},x.prototype.forceUpdate=function(V){this.updater.enqueueForceUpdate(this,V,"forceUpdate")};function S(){}S.prototype=x.prototype;function k(V,$,z){this.props=V,this.context=$,this.refs=b,this.updater=z||v}var C=k.prototype=new S;C.constructor=k,y(C,x.prototype),C.isPureReactComponent=!0;var _=Array.isArray;function E(){}var T={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function I(V,$,z){var Z=z.ref;return{$$typeof:t,type:V,key:$,ref:Z!==void 0?Z:null,props:z}}function A(V,$){return I(V.type,$,V.props)}function R(V){return typeof V=="object"&&V!==null&&V.$$typeof===t}function L(V){var $={"=":"=0",":":"=2"};return"$"+V.replace(/[=:]/g,function(z){return $[z]})}var D=/\/+/g;function F(V,$){return typeof V=="object"&&V!==null&&V.key!=null?L(""+V.key):$.toString(36)}function H(V){switch(V.status){case"fulfilled":return V.value;case"rejected":throw V.reason;default:switch(typeof V.status=="string"?V.then(E,E):(V.status="pending",V.then(function($){V.status==="pending"&&(V.status="fulfilled",V.value=$)},function($){V.status==="pending"&&(V.status="rejected",V.reason=$)})),V.status){case"fulfilled":return V.value;case"rejected":throw V.reason}}throw V}function B(V,$,z,Z,K){var ne=typeof V;(ne==="undefined"||ne==="boolean")&&(V=null);var ee=!1;if(V===null)ee=!0;else switch(ne){case"bigint":case"string":case"number":ee=!0;break;case"object":switch(V.$$typeof){case t:case n:ee=!0;break;case f:return ee=V._init,B(ee(V._payload),$,z,Z,K)}}if(ee)return K=K(V),ee=Z===""?"."+F(V,0):Z,_(K)?(z="",ee!=null&&(z=ee.replace(D,"$&/")+"/"),B(K,$,z,"",function(pe){return pe})):K!=null&&(R(K)&&(K=A(K,z+(K.key==null||V&&V.key===K.key?"":(""+K.key).replace(D,"$&/")+"/")+ee)),$.push(K)),1;ee=0;var J=Z===""?".":Z+":";if(_(V))for(var ae=0;ae<V.length;ae++)Z=V[ae],ne=J+F(Z,ae),ee+=B(Z,$,z,ne,K);else if(ae=m(V),typeof ae=="function")for(V=ae.call(V),ae=0;!(Z=V.next()).done;)Z=Z.value,ne=J+F(Z,ae++),ee+=B(Z,$,z,ne,K);else if(ne==="object"){if(typeof V.then=="function")return B(H(V),$,z,Z,K);throw $=String(V),Error("Objects are not valid as a React child (found: "+($==="[object Object]"?"object with keys {"+Object.keys(V).join(", ")+"}":$)+"). If you meant to render a collection of children, use an array instead.")}return ee}function U(V,$,z){if(V==null)return V;var Z=[],K=0;return B(V,Z,"","",function(ne){return $.call(z,ne,K++)}),Z}function q(V){if(V._status===-1){var $=V._result;$=$(),$.then(function(z){(V._status===0||V._status===-1)&&(V._status=1,V._result=z)},function(z){(V._status===0||V._status===-1)&&(V._status=2,V._result=z)}),V._status===-1&&(V._status=0,V._result=$)}if(V._status===1)return V._result.default;throw V._result}var M=typeof reportError=="function"?reportError:function(V){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var $=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof V=="object"&&V!==null&&typeof V.message=="string"?String(V.message):String(V),error:V});if(!window.dispatchEvent($))return}else if(typeof e=="object"&&typeof e.emit=="function"){e.emit("uncaughtException",V);return}console.error(V)},G={map:U,forEach:function(V,$,z){U(V,function(){$.apply(this,arguments)},z)},count:function(V){var $=0;return U(V,function(){$++}),$},toArray:function(V){return U(V,function($){return $})||[]},only:function(V){if(!R(V))throw Error("React.Children.only expected to receive a single React element child.");return V}};return qr.Activity=p,qr.Children=G,qr.Component=x,qr.Fragment=r,qr.Profiler=a,qr.PureComponent=k,qr.StrictMode=s,qr.Suspense=u,qr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,qr.__COMPILER_RUNTIME={__proto__:null,c:function(V){return T.H.useMemoCache(V)}},qr.cache=function(V){return function(){return V.apply(null,arguments)}},qr.cacheSignal=function(){return null},qr.cloneElement=function(V,$,z){if(V==null)throw Error("The argument must be a React element, but you passed "+V+".");var Z=y({},V.props),K=V.key;if($!=null)for(ne in $.key!==void 0&&(K=""+$.key),$)!N.call($,ne)||ne==="key"||ne==="__self"||ne==="__source"||ne==="ref"&&$.ref===void 0||(Z[ne]=$[ne]);var ne=arguments.length-2;if(ne===1)Z.children=z;else if(1<ne){for(var ee=Array(ne),J=0;J<ne;J++)ee[J]=arguments[J+2];Z.children=ee}return I(V.type,K,Z)},qr.createContext=function(V){return V={$$typeof:l,_currentValue:V,_currentValue2:V,_threadCount:0,Provider:null,Consumer:null},V.Provider=V,V.Consumer={$$typeof:i,_context:V},V},qr.createElement=function(V,$,z){var Z,K={},ne=null;if($!=null)for(Z in $.key!==void 0&&(ne=""+$.key),$)N.call($,Z)&&Z!=="key"&&Z!=="__self"&&Z!=="__source"&&(K[Z]=$[Z]);var ee=arguments.length-2;if(ee===1)K.children=z;else if(1<ee){for(var J=Array(ee),ae=0;ae<ee;ae++)J[ae]=arguments[ae+2];K.children=J}if(V&&V.defaultProps)for(Z in ee=V.defaultProps,ee)K[Z]===void 0&&(K[Z]=ee[Z]);return I(V,ne,K)},qr.createRef=function(){return{current:null}},qr.forwardRef=function(V){return{$$typeof:c,render:V}},qr.isValidElement=R,qr.lazy=function(V){return{$$typeof:f,_payload:{_status:-1,_result:V},_init:q}},qr.memo=function(V,$){return{$$typeof:d,type:V,compare:$===void 0?null:$}},qr.startTransition=function(V){var $=T.T,z={};T.T=z;try{var Z=V(),K=T.S;K!==null&&K(z,Z),typeof Z=="object"&&Z!==null&&typeof Z.then=="function"&&Z.then(E,M)}catch(ne){M(ne)}finally{$!==null&&z.types!==null&&($.types=z.types),T.T=$}},qr.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},qr.use=function(V){return T.H.use(V)},qr.useActionState=function(V,$,z){return T.H.useActionState(V,$,z)},qr.useCallback=function(V,$){return T.H.useCallback(V,$)},qr.useContext=function(V){return T.H.useContext(V)},qr.useDebugValue=function(){},qr.useDeferredValue=function(V,$){return T.H.useDeferredValue(V,$)},qr.useEffect=function(V,$){return T.H.useEffect(V,$)},qr.useEffectEvent=function(V){return T.H.useEffectEvent(V)},qr.useId=function(){return T.H.useId()},qr.useImperativeHandle=function(V,$,z){return T.H.useImperativeHandle(V,$,z)},qr.useInsertionEffect=function(V,$){return T.H.useInsertionEffect(V,$)},qr.useLayoutEffect=function(V,$){return T.H.useLayoutEffect(V,$)},qr.useMemo=function(V,$){return T.H.useMemo(V,$)},qr.useOptimistic=function(V,$){return T.H.useOptimistic(V,$)},qr.useReducer=function(V,$,z){return T.H.useReducer(V,$,z)},qr.useRef=function(V){return T.H.useRef(V)},qr.useState=function(V){return T.H.useState(V)},qr.useSyncExternalStore=function(V,$,z){return T.H.useSyncExternalStore(V,$,z)},qr.useTransition=function(){return T.H.useTransition()},qr.version="19.2.7",qr}var _$e;function LN(){return _$e||(_$e=1,PK.exports=kWt()),PK.exports}var g=LN();const ze=zl(g),FN=xWt({__proto__:null,default:ze},[g]);var $K={exports:{}},QA={},MK={exports:{}},DK={};var C$e;function OWt(){return C$e||(C$e=1,(function(e){function t(H,B){var U=H.length;H.push(B);e:for(;0<U;){var q=U-1>>>1,M=H[q];if(0<s(M,B))H[q]=B,H[U]=M,U=q;else break e}}function n(H){return H.length===0?null:H[0]}function r(H){if(H.length===0)return null;var B=H[0],U=H.pop();if(U!==B){H[0]=U;e:for(var q=0,M=H.length,G=M>>>1;q<G;){var V=2*(q+1)-1,$=H[V],z=V+1,Z=H[z];if(0>s($,U))z<M&&0>s(Z,$)?(H[q]=Z,H[z]=U,q=z):(H[q]=$,H[V]=U,q=V);else if(z<M&&0>s(Z,U))H[q]=Z,H[z]=U,q=z;else break e}}return B}function s(H,B){var U=H.sortIndex-B.sortIndex;return U!==0?U:H.id-B.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var c=[],u=[],d=1,f=null,p=3,h=!1,m=!1,v=!1,y=!1,b=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function k(H){for(var B=n(u);B!==null;){if(B.callback===null)r(u);else if(B.startTime<=H)r(u),B.sortIndex=B.expirationTime,t(c,B);else break;B=n(u)}}function C(H){if(v=!1,k(H),!m)if(n(c)!==null)m=!0,_||(_=!0,R());else{var B=n(u);B!==null&&F(C,B.startTime-H)}}var _=!1,E=-1,T=5,N=-1;function I(){return y?!0:!(e.unstable_now()-N<T)}function A(){if(y=!1,_){var H=e.unstable_now();N=H;var B=!0;try{e:{m=!1,v&&(v=!1,x(E),E=-1),h=!0;var U=p;try{t:{for(k(H),f=n(c);f!==null&&!(f.expirationTime>H&&I());){var q=f.callback;if(typeof q=="function"){f.callback=null,p=f.priorityLevel;var M=q(f.expirationTime<=H);if(H=e.unstable_now(),typeof M=="function"){f.callback=M,k(H),B=!0;break t}f===n(c)&&r(c),k(H)}else r(c);f=n(c)}if(f!==null)B=!0;else{var G=n(u);G!==null&&F(C,G.startTime-H),B=!1}}break e}finally{f=null,p=U,h=!1}B=void 0}}finally{B?R():_=!1}}}var R;if(typeof S=="function")R=function(){S(A)};else if(typeof MessageChannel<"u"){var L=new MessageChannel,D=L.port2;L.port1.onmessage=A,R=function(){D.postMessage(null)}}else R=function(){b(A,0)};function F(H,B){E=b(function(){H(e.unstable_now())},B)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(H){H.callback=null},e.unstable_forceFrameRate=function(H){0>H||125<H?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<H?Math.floor(1e3/H):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_next=function(H){switch(p){case 1:case 2:case 3:var B=3;break;default:B=p}var U=p;p=B;try{return H()}finally{p=U}},e.unstable_requestPaint=function(){y=!0},e.unstable_runWithPriority=function(H,B){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var U=p;p=H;try{return B()}finally{p=U}},e.unstable_scheduleCallback=function(H,B,U){var q=e.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?q+U:q):U=q,H){case 1:var M=-1;break;case 2:M=250;break;case 5:M=1073741823;break;case 4:M=1e4;break;default:M=5e3}return M=U+M,H={id:d++,callback:B,priorityLevel:H,startTime:U,expirationTime:M,sortIndex:-1},U>q?(H.sortIndex=U,t(u,H),n(c)===null&&H===n(u)&&(v?(x(E),E=-1):v=!0,F(C,U-q))):(H.sortIndex=M,t(c,H),m||h||(m=!0,_||(_=!0,R()))),H},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(H){var B=p;return function(){var U=p;p=B;try{return H.apply(this,arguments)}finally{p=U}}}})(DK)),DK}var E$e;function _Wt(){return E$e||(E$e=1,MK.exports=OWt()),MK.exports}var LK={exports:{}},wu={};var T$e;function CWt(){if(T$e)return wu;T$e=1;var e=LN();function t(c){var u="https://react.dev/errors/"+c;if(1<arguments.length){u+="?args[]="+encodeURIComponent(arguments[1]);for(var d=2;d<arguments.length;d++)u+="&args[]="+encodeURIComponent(arguments[d])}return"Minified React error #"+c+"; visit "+u+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},s=Symbol.for("react.portal");function a(c,u,d){var f=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:f==null?null:""+f,children:c,containerInfo:u,implementation:d}}var i=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(c,u){if(c==="font")return"";if(typeof u=="string")return u==="use-credentials"?u:""}return wu.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,wu.createPortal=function(c,u){var d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!u||u.nodeType!==1&&u.nodeType!==9&&u.nodeType!==11)throw Error(t(299));return a(c,u,null,d)},wu.flushSync=function(c){var u=i.T,d=r.p;try{if(i.T=null,r.p=2,c)return c()}finally{i.T=u,r.p=d,r.d.f()}},wu.preconnect=function(c,u){typeof c=="string"&&(u?(u=u.crossOrigin,u=typeof u=="string"?u==="use-credentials"?u:"":void 0):u=null,r.d.C(c,u))},wu.prefetchDNS=function(c){typeof c=="string"&&r.d.D(c)},wu.preinit=function(c,u){if(typeof c=="string"&&u&&typeof u.as=="string"){var d=u.as,f=l(d,u.crossOrigin),p=typeof u.integrity=="string"?u.integrity:void 0,h=typeof u.fetchPriority=="string"?u.fetchPriority:void 0;d==="style"?r.d.S(c,typeof u.precedence=="string"?u.precedence:void 0,{crossOrigin:f,integrity:p,fetchPriority:h}):d==="script"&&r.d.X(c,{crossOrigin:f,integrity:p,fetchPriority:h,nonce:typeof u.nonce=="string"?u.nonce:void 0})}},wu.preinitModule=function(c,u){if(typeof c=="string")if(typeof u=="object"&&u!==null){if(u.as==null||u.as==="script"){var d=l(u.as,u.crossOrigin);r.d.M(c,{crossOrigin:d,integrity:typeof u.integrity=="string"?u.integrity:void 0,nonce:typeof u.nonce=="string"?u.nonce:void 0})}}else u==null&&r.d.M(c)},wu.preload=function(c,u){if(typeof c=="string"&&typeof u=="object"&&u!==null&&typeof u.as=="string"){var d=u.as,f=l(d,u.crossOrigin);r.d.L(c,d,{crossOrigin:f,integrity:typeof u.integrity=="string"?u.integrity:void 0,nonce:typeof u.nonce=="string"?u.nonce:void 0,type:typeof u.type=="string"?u.type:void 0,fetchPriority:typeof u.fetchPriority=="string"?u.fetchPriority:void 0,referrerPolicy:typeof u.referrerPolicy=="string"?u.referrerPolicy:void 0,imageSrcSet:typeof u.imageSrcSet=="string"?u.imageSrcSet:void 0,imageSizes:typeof u.imageSizes=="string"?u.imageSizes:void 0,media:typeof u.media=="string"?u.media:void 0})}},wu.preloadModule=function(c,u){if(typeof c=="string")if(u){var d=l(u.as,u.crossOrigin);r.d.m(c,{as:typeof u.as=="string"&&u.as!=="script"?u.as:void 0,crossOrigin:d,integrity:typeof u.integrity=="string"?u.integrity:void 0})}else r.d.m(c)},wu.requestFormReset=function(c){r.d.r(c)},wu.unstable_batchedUpdates=function(c,u){return c(u)},wu.useFormState=function(c,u,d){return i.H.useFormState(c,u,d)},wu.useFormStatus=function(){return i.H.useHostTransitionStatus()},wu.version="19.2.7",wu}var j$e;function Uot(){if(j$e)return LK.exports;j$e=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),LK.exports=CWt(),LK.exports}var N$e;function EWt(){if(N$e)return QA;N$e=1;var e={env:{}};var t=_Wt(),n=LN(),r=Uot();function s(w){var O="https://react.dev/errors/"+w;if(1<arguments.length){O+="?args[]="+encodeURIComponent(arguments[1]);for(var j=2;j<arguments.length;j++)O+="&args[]="+encodeURIComponent(arguments[j])}return"Minified React error #"+w+"; visit "+O+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(w){return!(!w||w.nodeType!==1&&w.nodeType!==9&&w.nodeType!==11)}function i(w){var O=w,j=w;if(w.alternate)for(;O.return;)O=O.return;else{w=O;do O=w,(O.flags&4098)!==0&&(j=O.return),w=O.return;while(w)}return O.tag===3?j:null}function l(w){if(w.tag===13){var O=w.memoizedState;if(O===null&&(w=w.alternate,w!==null&&(O=w.memoizedState)),O!==null)return O.dehydrated}return null}function c(w){if(w.tag===31){var O=w.memoizedState;if(O===null&&(w=w.alternate,w!==null&&(O=w.memoizedState)),O!==null)return O.dehydrated}return null}function u(w){if(i(w)!==w)throw Error(s(188))}function d(w){var O=w.alternate;if(!O){if(O=i(w),O===null)throw Error(s(188));return O!==w?null:w}for(var j=w,P=O;;){var W=j.return;if(W===null)break;var Q=W.alternate;if(Q===null){if(P=W.return,P!==null){j=P;continue}break}if(W.child===Q.child){for(Q=W.child;Q;){if(Q===j)return u(W),w;if(Q===P)return u(W),O;Q=Q.sibling}throw Error(s(188))}if(j.return!==P.return)j=W,P=Q;else{for(var oe=!1,Se=W.child;Se;){if(Se===j){oe=!0,j=W,P=Q;break}if(Se===P){oe=!0,P=W,j=Q;break}Se=Se.sibling}if(!oe){for(Se=Q.child;Se;){if(Se===j){oe=!0,j=Q,P=W;break}if(Se===P){oe=!0,P=Q,j=W;break}Se=Se.sibling}if(!oe)throw Error(s(189))}}if(j.alternate!==P)throw Error(s(190))}if(j.tag!==3)throw Error(s(188));return j.stateNode.current===j?w:O}function f(w){var O=w.tag;if(O===5||O===26||O===27||O===6)return w;for(w=w.child;w!==null;){if(O=f(w),O!==null)return O;w=w.sibling}return null}var p=Object.assign,h=Symbol.for("react.element"),m=Symbol.for("react.transitional.element"),v=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),b=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),k=Symbol.for("react.context"),C=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),E=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),I=Symbol.for("react.activity"),A=Symbol.for("react.memo_cache_sentinel"),R=Symbol.iterator;function L(w){return w===null||typeof w!="object"?null:(w=R&&w[R]||w["@@iterator"],typeof w=="function"?w:null)}var D=Symbol.for("react.client.reference");function F(w){if(w==null)return null;if(typeof w=="function")return w.$$typeof===D?null:w.displayName||w.name||null;if(typeof w=="string")return w;switch(w){case y:return"Fragment";case x:return"Profiler";case b:return"StrictMode";case _:return"Suspense";case E:return"SuspenseList";case I:return"Activity"}if(typeof w=="object")switch(w.$$typeof){case v:return"Portal";case k:return w.displayName||"Context";case S:return(w._context.displayName||"Context")+".Consumer";case C:var O=w.render;return w=w.displayName,w||(w=O.displayName||O.name||"",w=w!==""?"ForwardRef("+w+")":"ForwardRef"),w;case T:return O=w.displayName||null,O!==null?O:F(w.type)||"Memo";case N:O=w._payload,w=w._init;try{return F(w(O))}catch{}}return null}var H=Array.isArray,B=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q={pending:!1,data:null,method:null,action:null},M=[],G=-1;function V(w){return{current:w}}function $(w){0>G||(w.current=M[G],M[G]=null,G--)}function z(w,O){G++,M[G]=w.current,w.current=O}var Z=V(null),K=V(null),ne=V(null),ee=V(null);function J(w,O){switch(z(ne,O),z(K,w),z(Z,null),O.nodeType){case 9:case 11:w=(w=O.documentElement)&&(w=w.namespaceURI)?H2e(w):0;break;default:if(w=O.tagName,O=O.namespaceURI)O=H2e(O),w=W2e(O,w);else switch(w){case"svg":w=1;break;case"math":w=2;break;default:w=0}}$(Z),z(Z,w)}function ae(){$(Z),$(K),$(ne)}function pe(w){w.memoizedState!==null&&z(ee,w);var O=Z.current,j=W2e(O,w.type);O!==j&&(z(K,w),z(Z,j))}function Y(w){K.current===w&&($(Z),$(K)),ee.current===w&&($(ee),VA._currentValue=q)}var te,ue;function fe(w){if(te===void 0)try{throw Error()}catch(j){var O=j.stack.trim().match(/\n( *(at )?)/);te=O&&O[1]||"",ue=-1<j.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<j.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+te+w+ue}var ce=!1;function me(w,O){if(!w||ce)return"";ce=!0;var j=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var P={DetermineComponentFrameRoot:function(){try{if(O){var Nt=function(){throw Error()};if(Object.defineProperty(Nt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Nt,[])}catch(ht){var ct=ht}Reflect.construct(w,[],Nt)}else{try{Nt.call()}catch(ht){ct=ht}w.call(Nt.prototype)}}else{try{throw Error()}catch(ht){ct=ht}(Nt=w())&&typeof Nt.catch=="function"&&Nt.catch(function(){})}}catch(ht){if(ht&&ct&&typeof ht.stack=="string")return[ht.stack,ct.stack]}return[null,null]}};P.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var W=Object.getOwnPropertyDescriptor(P.DetermineComponentFrameRoot,"name");W&&W.configurable&&Object.defineProperty(P.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var Q=P.DetermineComponentFrameRoot(),oe=Q[0],Se=Q[1];if(oe&&Se){var Ue=oe.split(`
|
|
@@ -231,7 +231,7 @@ attempted value: ${i}
|
|
|
231
231
|
\${}
|
|
232
232
|
}
|
|
233
233
|
}`,{label:"class",detail:"definition",type:"keyword"}),rf('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),rf('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],R1t=bke.concat([rf("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),rf("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),rf("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),b8e=new Dxt,P1t=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function xR(e){return(t,n)=>{let r=t.node.getChild("VariableDefinition");return r&&n(r,e),!0}}const XBn=["FunctionDeclaration"],JBn={FunctionDeclaration:xR("function"),ClassDeclaration:xR("class"),ClassExpression:()=>!0,EnumDeclaration:xR("constant"),TypeAliasDeclaration:xR("type"),NamespaceDeclaration:xR("namespace"),VariableDefinition(e,t){e.matchContext(XBn)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function $1t(e,t){let n=b8e.get(t);if(n)return n;let r=[],s=!0;function a(i,l){let c=e.sliceString(i.from,i.to);r.push({label:c,type:l})}return t.cursor(La.IncludeAnonymous).iterate(i=>{if(s)s=!1;else if(i.name){let l=JBn[i.name];if(l&&l(i,a)||P1t.has(i.name))return!1}else if(i.to-i.from>8192){for(let l of $1t(e,i.node))r.push(l);return!1}}),b8e.set(t,r),r}const kB=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,xke=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function M1t(e){let t=xi(e.state).resolveInner(e.pos,-1);if(xke.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&kB.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let s=t;s;s=s.parent)P1t.has(s.name)&&(r=r.concat($1t(e.state.doc,s)));return{options:r,from:n?t.from:e.pos,validFor:kB}}function kee(e,t,n){var r;let s=[];for(;;){let a=t.firstChild,i;if(a?.name=="VariableName")return s.push(e(a)),{path:s.reverse(),name:n};if(a?.name=="MemberExpression"&&((r=i=a.lastChild)===null||r===void 0?void 0:r.name)=="PropertyName")s.push(e(i)),t=a;else return null}}function D1t(e){let t=r=>e.state.doc.sliceString(r.from,r.to),n=xi(e.state).resolveInner(e.pos,-1);return n.name=="PropertyName"?kee(t,n.parent,t(n)):(n.name=="."||n.name=="?.")&&n.parent.name=="MemberExpression"?kee(t,n.parent,""):xke.indexOf(n.name)>-1?null:n.name=="VariableName"||n.to-n.from<20&&kB.test(t(n))?{path:[],name:t(n)}:n.name=="MemberExpression"?kee(t,n,""):e.explicit?{path:[],name:""}:null}function eUn(e,t){let n=e,r=[],s=new Set;for(let a=0;;a++){for(let l of(Object.getOwnPropertyNames||Object.keys)(e)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(l)||s.has(l))continue;s.add(l);let c;try{c=n[l]}catch{continue}r.push({label:l,type:typeof c=="function"?/^[A-Z]/.test(l)?"class":t?"function":"method":t?"variable":"property",boost:-a})}let i=Object.getPrototypeOf(e);if(!i)return r;e=i}}function tUn(e){let t=new Map;return n=>{let r=D1t(n);if(!r)return null;let s=e;for(let i of r.path)if(s=s[i],!s)return null;let a=t.get(s);return a||t.set(s,a=eUn(s,!r.path.length)),{from:n.pos-r.name.length,options:a,validFor:kB}}}const em=FO.define({name:"javascript",parser:KBn.configure({props:[W_.add({IfStatement:HT({except:/^\s*({|else\b)/}),TryStatement:HT({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Qzn,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:Gzn({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":HT({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),Z_.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":JSe,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name=="JSXSelfClosingTag")return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){var t;let n=(t=e.firstChild)===null||t===void 0?void 0:t.nextSibling,r=e.lastChild;return!n||n.type.isError?null:{from:n.to,to:r.type.isError?e.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),L1t={test:e=>/^JSX/.test(e.name),facet:NH({commentTokens:{block:{open:"{/*",close:"*/}"}}})},wke=em.configure({dialect:"ts"},"typescript"),Ske=em.configure({dialect:"jsx",props:[YSe.add(e=>e.isTop?[L1t]:void 0)]}),kke=em.configure({dialect:"jsx ts",props:[YSe.add(e=>e.isTop?[L1t]:void 0)]},"typescript");let F1t=e=>({label:e,type:"keyword"});const z1t="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(F1t),nUn=z1t.concat(["declare","implements","private","protected","public"].map(F1t));function OB(e={}){let t=e.jsx?e.typescript?kke:Ske:e.typescript?wke:em,n=e.typescript?R1t.concat(nUn):bke.concat(z1t);return new BO(t,[em.data.of({autocomplete:P8n(xke,Lwt(n))}),em.data.of({autocomplete:M1t}),e.jsx?B1t:[]])}function rUn(e){for(;;){if(e.name=="JSXOpenTag"||e.name=="JSXSelfClosingTag"||e.name=="JSXFragmentTag")return e;if(e.name=="JSXEscape"||!e.parent)return null;e=e.parent}}function x8e(e,t,n=e.length){for(let r=t?.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return e.sliceString(r.from,Math.min(r.to,n));return""}const sUn=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),B1t=At.inputHandler.of((e,t,n,r,s)=>{if((sUn?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=">"&&r!="/"||!em.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u;let{head:d}=c,f=xi(i).resolveInner(d-1,-1),p;if(f.name=="JSXStartTag"&&(f=f.parent),!(i.doc.sliceString(d-1,d)!=r||f.name=="JSXAttributeValue"&&f.to>d)){if(r==">"&&f.name=="JSXFragmentTag")return{range:c,changes:{from:d,insert:"</>"}};if(r=="/"&&f.name=="JSXStartCloseTag"){let h=f.parent,m=h.parent;if(m&&h.from==d-2&&((p=x8e(i.doc,m.firstChild,d))||((u=m.firstChild)===null||u===void 0?void 0:u.name)=="JSXFragmentTag")){let v=`${p}>`;return{range:bt.cursor(d+v.length,-1),changes:{from:d,insert:v}}}}else if(r==">"){let h=rUn(f);if(h&&h.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(i.doc.sliceString(d,d+2))&&(p=x8e(i.doc,h,d)))return{range:c,changes:{from:d,insert:`</${p}>`}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([a,i.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});function aUn(e,t){return t||(t={parserOptions:{ecmaVersion:2019,sourceType:"module"},env:{browser:!0,node:!0,es6:!0,es2015:!0,es2017:!0,es2020:!0},rules:{}},e.getRules().forEach((n,r)=>{var s;!((s=n.meta.docs)===null||s===void 0)&&s.recommended&&(t.rules[r]=2)})),n=>{let{state:r}=n,s=[];for(let{from:a,to:i}of em.findRegions(r)){let l=r.doc.lineAt(a),c={line:l.number-1,col:a-l.from,pos:a};for(let u of e.verify(r.sliceDoc(a,i),t))s.push(iUn(u,r.doc,c))}return s}}function w8e(e,t,n,r){return n.line(e+r.line).from+t+(e==1?r.col-1:-1)}function iUn(e,t,n){let r=w8e(e.line,e.column,t,n),s={from:r,to:e.endLine!=null&&e.endColumn!=1?w8e(e.endLine,e.endColumn,t,n):r,message:e.message,source:e.ruleId?"eslint:"+e.ruleId:"eslint",severity:e.severity==1?"warning":"error"};if(e.fix){let{range:a,text:i}=e.fix,l=a[0]+n.pos-r,c=a[1]+n.pos-r;s.actions=[{name:"fix",apply(u,d){u.dispatch({changes:{from:d+l,to:d+c,insert:i},scrollIntoView:!0})}}]}return s}const H6=Object.freeze(Object.defineProperty({__proto__:null,autoCloseTags:B1t,completionPath:D1t,esLint:aUn,javascript:OB,javascriptLanguage:em,jsxLanguage:Ske,localCompletionSource:M1t,scopeCompletionSource:tUn,snippets:bke,tsxLanguage:kke,typescriptLanguage:wke,typescriptSnippets:R1t},Symbol.toStringTag,{value:"Module"})),wR=["_blank","_self","_top","_parent"],Oee=["ascii","utf-8","utf-16","latin1","latin1"],_ee=["get","post","put","delete"],Cee=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],op=["true","false"],tr={},oUn={a:{attrs:{href:null,ping:null,type:null,media:null,target:wR,hreflang:null}},abbr:tr,address:tr,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:tr,aside:tr,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:tr,base:{attrs:{href:null,target:wR}},bdi:tr,bdo:tr,blockquote:{attrs:{cite:null}},body:tr,br:tr,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Cee,formmethod:_ee,formnovalidate:["novalidate"],formtarget:wR,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:tr,center:tr,cite:tr,code:tr,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:tr,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:tr,div:tr,dl:tr,dt:tr,em:tr,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:tr,figure:tr,footer:tr,form:{attrs:{action:null,name:null,"accept-charset":Oee,autocomplete:["on","off"],enctype:Cee,method:_ee,novalidate:["novalidate"],target:wR}},h1:tr,h2:tr,h3:tr,h4:tr,h5:tr,h6:tr,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:tr,hgroup:tr,hr:tr,html:{attrs:{manifest:null}},i:tr,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Cee,formmethod:_ee,formnovalidate:["novalidate"],formtarget:wR,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:tr,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:tr,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:tr,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Oee,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:tr,noscript:tr,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:tr,param:{attrs:{name:null,value:null}},pre:tr,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:tr,rt:tr,ruby:tr,samp:tr,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Oee}},section:tr,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:tr,source:{attrs:{src:null,type:null,media:null}},span:tr,strong:tr,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:tr,summary:tr,sup:tr,table:tr,tbody:tr,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:tr,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:tr,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:tr,time:{attrs:{datetime:null}},title:tr,tr,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:tr,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:tr},U1t={accesskey:null,class:null,contenteditable:op,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:op,autocorrect:op,autocapitalize:op,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":op,"aria-autocomplete":["inline","list","both","none"],"aria-busy":op,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":op,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":op,"aria-hidden":op,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":op,"aria-multiselectable":op,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":op,"aria-relevant":null,"aria-required":op,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},q1t="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of q1t)U1t[e]=null;class vM{constructor(t,n){this.tags={...oUn,...t},this.globalAttrs={...U1t,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}vM.default=new vM;function zj(e,t,n=e.length){if(!t)return"";let r=t.firstChild,s=r&&r.getChild("TagName");return s?e.sliceString(s.from,Math.min(s.to,n)):""}function Bj(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function V1t(e,t,n){let r=n.tags[zj(e,Bj(t))];return r?.children||n.allTags}function Oke(e,t){let n=[];for(let r=Bj(t);r&&!r.type.isTop;r=Bj(r.parent)){let s=zj(e,r);if(s&&r.lastChild.name=="CloseTag")break;s&&n.indexOf(s)<0&&(t.name=="EndTag"||t.from>=r.firstChild.to)&&n.push(s)}return n}const H1t=/^[:\-\.\w\u00b7-\uffff]*$/;function S8e(e,t,n,r,s){let a=/\s*>/.test(e.sliceDoc(s,s+5))?"":">",i=Bj(n,n.name=="StartTag"||n.name=="TagName");return{from:r,to:s,options:V1t(e.doc,i,t).map(l=>({label:l,type:"type"})).concat(Oke(e.doc,n).map((l,c)=>({label:"/"+l,apply:"/"+l+a,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function k8e(e,t,n,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:Oke(e.doc,t).map((a,i)=>({label:a,apply:a+s,type:"type",boost:99-i})),validFor:H1t}}function lUn(e,t,n,r){let s=[],a=0;for(let i of V1t(e.doc,n,t))s.push({label:"<"+i,type:"type"});for(let i of Oke(e.doc,n))s.push({label:"</"+i+">",type:"type",boost:99-a++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function cUn(e,t,n,r,s){let a=Bj(n),i=a?t.tags[zj(e.doc,a)]:null,l=i&&i.attrs?Object.keys(i.attrs):[],c=i&&i.globalAttrs===!1?l:l.length?l.concat(t.globalAttrNames):t.globalAttrNames;return{from:r,to:s,options:c.map(u=>({label:u,type:"property"})),validFor:H1t}}function uUn(e,t,n,r,s){var a;let i=(a=n.parent)===null||a===void 0?void 0:a.getChild("AttributeName"),l=[],c;if(i){let u=e.sliceDoc(i.from,i.to),d=t.globalAttrs[u];if(!d){let f=Bj(n),p=f?t.tags[zj(e.doc,f)]:null;d=p?.attrs&&p.attrs[u]}if(d){let f=e.sliceDoc(r,s).toLowerCase(),p='"',h='"';/^['"]/.test(f)?(c=f[0]=='"'?/^[^"]*$/:/^[^']*$/,p="",h=e.sliceDoc(s,s+1)==f[0]?"":f[0],f=f.slice(1),r++):c=/^[^\s<>='"]*$/;for(let m of d)l.push({label:m,apply:p+m+h,type:"constant"})}}return{from:r,to:s,options:l,validFor:c}}function W1t(e,t){let{state:n,pos:r}=t,s=xi(n).resolveInner(r,-1),a=s.resolve(r);for(let i=r,l;a==s&&(l=s.childBefore(i));){let c=l.lastChild;if(!c||!c.type.isError||c.from<c.to)break;a=s=l,i=c.from}return s.name=="TagName"?s.parent&&/CloseTag$/.test(s.parent.name)?k8e(n,s,s.from,r):S8e(n,e,s,s.from,r):s.name=="StartTag"||s.name=="IncompleteTag"?S8e(n,e,s,r,r):s.name=="StartCloseTag"||s.name=="IncompleteCloseTag"?k8e(n,s,r,r):s.name=="OpenTag"||s.name=="SelfClosingTag"||s.name=="AttributeName"?cUn(n,e,s,s.name=="AttributeName"?s.from:r,r):s.name=="Is"||s.name=="AttributeValue"||s.name=="UnquotedAttributeValue"?uUn(n,e,s,s.name=="Is"?r:s.from,r):t.explicit&&(a.name=="Element"||a.name=="Text"||a.name=="Document")?lUn(n,e,s,r):null}function dUn(e){return W1t(vM.default,e)}function fUn(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new vM(t,n):vM.default;return s=>W1t(r,s)}const pUn=em.parser.configure({top:"SingleExpression"}),Z1t=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:wke.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:Ske.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:kke.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:pUn},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:em.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:SB.parser}],G1t=[{name:"style",parser:SB.parser.configure({top:"Styles"})}].concat(q1t.map(e=>({name:e,parser:em.parser}))),Q1t=FO.define({name:"html",parser:L7n.configure({props:[W_.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t=null,n;for(let r=e.node;;){let s=r.lastChild;if(!s||s.name!="Element"||s.to!=r.to)break;t=r=s}return t&&!((n=t.lastChild)&&(n.name=="CloseTag"||n.name=="SelfClosingTag"))?e.lineIndent(t.from)+e.unit:null}}),Z_.add({Element(e){let t=e.firstChild,n=e.lastChild;return!t||t.name!="OpenTag"?null:{from:t.to,to:n.name=="CloseTag"?n.from:e.to}}}),Iwt.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),E8=Q1t.configure({wrap:C1t(Z1t,G1t)});function hUn(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=C1t((e.nestedLanguages||[]).concat(Z1t),(e.nestedAttributes||[]).concat(G1t)));let r=n?Q1t.configure({wrap:n,dialect:t}):t?E8.configure({dialect:t}):E8;return new BO(r,[E8.data.of({autocomplete:fUn(e)}),e.autoCloseTags!==!1?mUn:[],OB().support,xBn().support])}const O8e=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),mUn=At.inputHandler.of((e,t,n,r,s)=>{if(e.composing||e.state.readOnly||t!=n||r!=">"&&r!="/"||!E8.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u,d,f;let p=i.doc.sliceString(c.from-1,c.to)==r,{head:h}=c,m=xi(i).resolveInner(h,-1),v;if(p&&r==">"&&m.name=="EndTag"){let y=m.parent;if(((d=(u=y.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(v=zj(i.doc,y.parent,h))&&!O8e.has(v)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`</${v}>`;return{range:c,changes:{from:h,to:b,insert:x}}}}else if(p&&r=="/"&&m.name=="IncompleteCloseTag"){let y=m.parent;if(m.from==h-2&&((f=y.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(v=zj(i.doc,y,h))&&!O8e.has(v)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`${v}>`;return{range:bt.cursor(h+x.length,-1),changes:{from:h,to:b,insert:x}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([a,i.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Y1t=NH({commentTokens:{block:{open:"<!--",close:"-->"}}}),K1t=new Dr,X1t=z9n.configure({props:[Z_.add(e=>!e.is("Block")||e.is("Document")||jge(e)!=null||gUn(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),K1t.add(jge),W_.add({Document:()=>null}),Nw.add({Document:Y1t})]});function jge(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function gUn(e){return e.name=="OrderedList"||e.name=="BulletList"}function vUn(e,t){let n=e;for(;;){let r=n.nextSibling,s;if(!r||(s=jge(r.type))!=null&&s<=t)break;n=r}return n.to}const yUn=bwt.of((e,t,n)=>{for(let r=xi(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let s=r.type.prop(K1t);if(s==null)continue;let a=vUn(r,s);if(a>n)return{from:n,to:a}}return null});function _ke(e){return new Tp(Y1t,e,[],"markdown")}const J1t=_ke(X1t),bUn=X1t.configure([K9n,J9n,X9n,e7n,{props:[Z_.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),VO=_ke(bUn);function xUn(e,t){return n=>{if(n&&e){let r=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?r=e(n):r=ig.matchLanguageName(e,n,!0),r instanceof ig)return r.support?r.support.language.parser:zO.getSkippingParser(r.load());if(r)return r.parser}return t?t.parser:null}}class Eee{constructor(t,n,r,s,a,i,l){this.node=t,this.from=n,this.to=r,this.spaceBefore=s,this.spaceAfter=a,this.type=i,this.item=l}blank(t,n=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;r.length<t;)r+=" ";return r}else{for(let s=this.to-this.from-r.length-this.spaceAfter.length;s>0;s--)r+=" ";return r+(n?this.spaceAfter:"")}}marker(t,n){let r=this.node.name=="OrderedList"?String(+tSt(this.item,t)[2]+n):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function eSt(e,t){let n=[],r=[];for(let s=e;s;s=s.parent){if(s.name=="FencedCode")return r;(s.name=="ListItem"||s.name=="Blockquote")&&n.push(s)}for(let s=n.length-1;s>=0;s--){let a=n[s],i,l=t.lineAt(a.from),c=a.from-l.from;if(a.name=="Blockquote"&&(i=/^ *>( ?)/.exec(l.text.slice(c))))r.push(new Eee(a,c,c+i[0].length,"",i[1],">",null));else if(a.name=="ListItem"&&a.parent.name=="OrderedList"&&(i=/^( *)\d+([.)])( *)/.exec(l.text.slice(c)))){let u=i[3],d=i[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),r.push(new Eee(a.parent,c,c+d,i[1],u,i[2],a))}else if(a.name=="ListItem"&&a.parent.name=="BulletList"&&(i=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(l.text.slice(c)))){let u=i[4],d=i[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=i[2];i[3]&&(f+=i[3].replace(/[xX]/," ")),r.push(new Eee(a.parent,c,c+d,i[1],u,f,a))}}return r}function tSt(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Tee(e,t,n,r=0){for(let s=-1,a=e;;){if(a.name=="ListItem"){let l=tSt(a,t),c=+l[2];if(s>=0){if(c!=s+1)return;n.push({from:a.from+l[1].length,to:a.from+l[0].length,insert:String(s+2+r)})}s=c}let i=a.nextSibling;if(!i)break;a=i}}function Cke(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(uI)!=" ")return e;let r=Dg(e,4,n),s="";for(let a=r;a>0;)a>=4?(s+=" ",a-=4):(s+=" ",a--);return s+e.slice(n)}const nSt=(e={})=>({state:t,dispatch:n})=>{let r=xi(t),{doc:s}=t,a=null,i=t.changeByRange(l=>{if(!l.empty||!VO.isActiveAt(t,l.from,-1)&&!VO.isActiveAt(t,l.from,1))return a={range:l};let c=l.from,u=s.lineAt(c),d=eSt(r.resolveInner(c,-1),s);for(;d.length&&d[d.length-1].from>c-u.from;)d.pop();if(!d.length)return a={range:l};let f=d[d.length-1];if(f.to-f.spaceAfter.length>c-u.from)return a={range:l};let p=c>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&p){let b=f.node.firstChild,x=f.node.getChild("ListItem","ListItem");if(b.to>=c||x&&x.to<c||u.from>0&&!/[^\s>]/.test(s.lineAt(u.from-1).text)||e.nonTightLists===!1){let S=d.length>1?d[d.length-2]:null,k,C="";S&&S.item?(k=u.from+S.from,C=S.marker(s,1)):k=u.from+(S?S.to:0);let _=[{from:k,to:c,insert:C}];return f.node.name=="OrderedList"&&Tee(f.item,s,_,-2),S&&S.node.name=="OrderedList"&&Tee(S.item,s,_),{range:bt.cursor(k+C.length),changes:_}}else{let S=C8e(d,t,u);return{range:bt.cursor(c+S.length+1),changes:{from:u.from,insert:S+t.lineBreak}}}}if(f.node.name=="Blockquote"&&p&&u.from){let b=s.lineAt(u.from-1),x=/>\s*$/.exec(b.text);if(x&&x.index==f.from){let S=t.changes([{from:b.from+x.index,to:b.to},{from:u.from+f.from,to:u.to}]);return{range:l.map(S),changes:S}}}let h=[];f.node.name=="OrderedList"&&Tee(f.item,s,h);let m=f.item&&f.item.from<u.from,v="";if(!m||/^[\s\d.)\-+*>]*/.exec(u.text)[0].length>=f.to)for(let b=0,x=d.length-1;b<=x;b++)v+=b==x&&!m?d[b].marker(s,1):d[b].blank(b<x?Dg(u.text,4,d[b+1].from)-v.length:null);let y=c;for(;y>u.from&&/\s/.test(u.text.charAt(y-u.from-1));)y--;return v=Cke(v,t),wUn(f.node,t.doc)&&(v=C8e(d,t,u)+t.lineBreak+v),h.push({from:y,to:c,insert:t.lineBreak+v}),{range:bt.cursor(y+v.length+1),changes:h}});return a?!1:(n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)},rSt=nSt();function _8e(e){return e.name=="QuoteMark"||e.name=="ListMark"}function wUn(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,r=e.getChild("ListItem","ListItem");if(!r)return!1;let s=t.lineAt(n.to),a=t.lineAt(r.from),i=/^[\s>]*$/.test(s.text);return s.number+(i?0:1)<a.number}function C8e(e,t,n){let r="";for(let s=0,a=e.length-2;s<=a;s++)r+=e[s].blank(s<a?Dg(n.text,4,e[s+1].from)-r.length:null,s<a);return Cke(r,t)}function SUn(e,t){let n=e.resolveInner(t,-1),r=t;_8e(n)&&(r=n.from,n=n.parent);for(let s;s=n.childBefore(r);)if(_8e(s))r=s.from;else if(s.name=="OrderedList"||s.name=="BulletList")n=s.lastChild,r=n.to;else break;return n}const sSt=({state:e,dispatch:t})=>{let n=xi(e),r=null,s=e.changeByRange(a=>{let i=a.from,{doc:l}=e;if(a.empty&&VO.isActiveAt(e,a.from)){let c=l.lineAt(i),u=eSt(SUn(n,i),l);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(i-c.from>f&&!/\S/.test(c.text.slice(f,i-c.from)))return{range:bt.cursor(c.from+f),changes:{from:c.from+f,to:i}};if(i-c.from==f&&(!d.item||c.from<=d.item.from||!/\S/.test(c.text.slice(0,d.to)))){let p=c.from+d.from;if(d.item&&d.node.from<d.item.from&&/\S/.test(c.text.slice(d.from,d.to))){let h=d.blank(Dg(c.text,4,d.to)-Dg(c.text,4,d.from));return p==c.from&&(h=Cke(h,e)),{range:bt.cursor(p+h.length),changes:{from:p,to:c.from+d.to,insert:h}}}if(p<i)return{range:bt.cursor(p),changes:{from:p,to:i}}}}}return r={range:a}});return r?!1:(t(e.update(s,{scrollIntoView:!0,userEvent:"delete"})),!0)},aSt=[{key:"Enter",run:rSt},{key:"Backspace",run:sSt}],iSt=hUn({matchClosingTags:!1});function Eke(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:s}=J1t,completeHTMLTags:a=!0,pasteURLAsLink:i=!0,htmlTagLanguage:l=iSt}=e;if(!(s instanceof PH))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],u=[l.support,yUn],d;i&&u.push(oSt),n instanceof BO?(u.push(n.support),d=n.language):n&&(d=n);let f=t||d?xUn(t,d):void 0;c.push(U9n({codeParser:f,htmlParser:l.language.parser})),r&&u.push(th.high(cI.of(aSt)));let p=_ke(s.configure(c));return a&&u.push(p.data.of({autocomplete:kUn})),new BO(p,u)}function kUn(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let s=xi(t).resolveInner(n,-1);for(;s&&!s.type.isTop;){if(s.name=="CodeBlock"||s.name=="FencedCode"||s.name=="ProcessingInstructionBlock"||s.name=="CommentBlock"||s.name=="Link"||s.name=="Image")return null;s=s.parent}return{from:n-r[0].length,to:n,options:OUn(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let jee=null;function OUn(){if(jee)return jee;let e=dUn(new rke(us.create({extensions:iSt}),0,!0));return jee=e?e.options:[]}const _Un=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,oSt=At.domEventHandlers({paste:(e,t)=>{var n;let{main:r}=t.state.selection;if(r.empty)return!1;let s=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!s||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(s)||(/^www\./.test(s)&&(s="https://"+s),!VO.isActiveAt(t.state,r.from,1)))return!1;let a=xi(t.state),i=!1;return a.iterate({from:r.from,to:r.to,enter:l=>{(l.from>r.from||_Un.test(l.name))&&(i=!0)},leave:l=>{l.to<r.to&&(i=!0)}}),i?!1:(t.dispatch({changes:[{from:r.from,insert:"["},{from:r.to,insert:`](${s})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}}),CUn=Object.freeze(Object.defineProperty({__proto__:null,commonmarkLanguage:J1t,deleteMarkupBackward:sSt,insertNewlineContinueMarkup:rSt,insertNewlineContinueMarkupCommand:nSt,markdown:Eke,markdownKeymap:aSt,markdownLanguage:VO,pasteURLAsLink:oSt},Symbol.toStringTag,{value:"Module"}));function HO(){return HO=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},HO.apply(null,arguments)}var EUn=e=>{var t=e.theme,n=e.settings,r=n===void 0?{}:n,s=e.styles,a=s===void 0?[]:s,i={".cm-gutters":{}},l={};r.background&&(l.backgroundColor=r.background),r.backgroundImage&&(l.backgroundImage=r.backgroundImage),r.foreground&&(l.color=r.foreground),r.fontSize&&(l.fontSize=r.fontSize),(r.background||r.foreground)&&(i["&"]=l),r.fontFamily&&(i["&.cm-editor .cm-scroller"]={fontFamily:r.fontFamily}),r.gutterBackground&&(i[".cm-gutters"].backgroundColor=r.gutterBackground),r.gutterForeground&&(i[".cm-gutters"].color=r.gutterForeground),r.gutterBorder&&(i[".cm-gutters"].borderRightColor=r.gutterBorder),r.caret&&(i[".cm-content"]={caretColor:r.caret},i[".cm-cursor, .cm-dropCursor"]={borderLeftColor:r.caret});var c={};r.gutterActiveForeground&&(c.color=r.gutterActiveForeground),r.lineHighlight&&(i[".cm-activeLine"]={backgroundColor:r.lineHighlight},c.backgroundColor=r.lineHighlight),i[".cm-activeLineGutter"]=c,r.selection&&(i["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:r.selection+" !important"}),r.selectionMatch&&(i["& .cm-selectionMatch"]={backgroundColor:r.selectionMatch});var u=At.theme(i,{dark:t==="dark"}),d=Hg.define(a),f=[u,J1(d)];return f},TUn={background:"#282a36",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"#282a36",gutterForeground:"#6D8A88",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},jUn=[{tag:he.comment,color:"#6272a4"},{tag:he.string,color:"#f1fa8c"},{tag:he.atom,color:"#bd93f9"},{tag:he.meta,color:"#f8f8f2"},{tag:[he.keyword,he.operator,he.tagName],color:"#ff79c6"},{tag:[he.function(he.propertyName),he.propertyName],color:"#66d9ef"},{tag:[he.definition(he.variableName),he.function(he.variableName),he.className,he.attributeName],color:"#50fa7b"},{tag:he.atom,color:"#bd93f9"}],fI=e=>{var t=e||{},n=t.theme,r=n===void 0?"dark":n,s=t.settings,a=s===void 0?{}:s,i=t.styles,l=i===void 0?[]:i;return EUn({theme:r,settings:HO({},TUn,a),styles:[...jUn,...l]})};fI();function lSt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}const NUn=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=jke(e.state,n.from);return r.line?IUn(e):r.block?RUn(e):!1};function Tke(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let s=e(t,n);return s?(r(n.update(s)),!0):!1}}const IUn=Tke(MUn,0),AUn=Tke(cSt,0),RUn=Tke((e,t)=>cSt(e,t,$Un(t)),0);function jke(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const SR=50;function PUn(e,{open:t,close:n},r,s){let a=e.sliceDoc(r-SR,r),i=e.sliceDoc(s,s+SR),l=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(i)[0].length,u=a.length-l;if(a.slice(u-t.length,u)==t&&i.slice(c,c+n.length)==n)return{open:{pos:r-l,margin:l&&1},close:{pos:s+c,margin:c&&1}};let d,f;s-r<=2*SR?d=f=e.sliceDoc(r,s):(d=e.sliceDoc(r,r+SR),f=e.sliceDoc(s-SR,s));let p=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(f)[0].length,m=f.length-h-n.length;return d.slice(p,p+t.length)==t&&f.slice(m,m+n.length)==n?{open:{pos:r+p+t.length,margin:/\s/.test(d.charAt(p+t.length))?1:0},close:{pos:s-h-n.length,margin:/\s/.test(f.charAt(m-1))?1:0}}:null}function $Un(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),s=n.to<=r.to?r:e.doc.lineAt(n.to);s.from>r.from&&s.from==n.to&&(s=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=s.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:s.to})}return t}function cSt(e,t,n=t.selection.ranges){let r=n.map(a=>jke(t,a.from).block);if(!r.every(a=>a))return null;let s=n.map((a,i)=>PUn(t,r[i],a.from,a.to));if(e!=2&&!s.every(a=>a))return{changes:t.changes(n.map((a,i)=>s[i]?[]:[{from:a.from,insert:r[i].open+" "},{from:a.to,insert:" "+r[i].close}]))};if(e!=1&&s.some(a=>a)){let a=[];for(let i=0,l;i<s.length;i++)if(l=s[i]){let c=r[i],{open:u,close:d}=l;a.push({from:u.pos-c.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+c.close.length})}return{changes:a}}return null}function MUn(e,t,n=t.selection.ranges){let r=[],s=-1;e:for(let{from:a,to:i}of n){let l=r.length,c=1e9,u;for(let d=a;d<=i;){let f=t.doc.lineAt(d);if(u==null&&(u=jke(t,f.from).line,!u))continue e;if(f.from>s&&(a==i||i>f.from)){s=f.from;let p=/^\s*/.exec(f.text)[0].length,h=p==f.length,m=f.text.slice(p,p+u.length)==u?p:-1;p<f.text.length&&p<c&&(c=p),r.push({line:f,comment:m,token:u,indent:p,empty:h,single:!1})}d=f.to+1}if(c<1e9)for(let d=l;d<r.length;d++)r[d].indent<r[d].line.text.length&&(r[d].indent=c);r.length==l+1&&(r[l].single=!0)}if(e!=2&&r.some(a=>a.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:l,token:c,indent:u,empty:d,single:f}of r)(f||!d)&&a.push({from:l.from+u,insert:c+" "});let i=t.changes(a);return{changes:i,selection:t.selection.map(i,1)}}else if(e!=1&&r.some(a=>a.comment>=0)){let a=[];for(let{line:i,comment:l,token:c}of r)if(l>=0){let u=i.from+l,d=u+c.length;i.text[d-i.from]==" "&&d++,a.push({from:u,to:d})}return{changes:a}}return null}const Nge=Ly.define(),DUn=Ly.define(),LUn=jn.define(),uSt=jn.define({combine(e){return Fy(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,s)=>t(r,s)||n(r,s)})}}),dSt=bl.define({create(){return Wv.empty},update(e,t){let n=t.state.facet(uSt),r=t.annotation(Nge);if(r){let c=bf.fromTransaction(t,r.selection),u=r.side,d=u==0?e.undone:e.done;return c?d=_B(d,d.length,n.minDepth,c):d=hSt(d,t.startState.selection),new Wv(u==0?r.rest:d,u==0?d:r.rest)}let s=t.annotation(DUn);if((s=="full"||s=="before")&&(e=e.isolate()),t.annotation(Pl.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=bf.fromTransaction(t),i=t.annotation(Pl.time),l=t.annotation(Pl.userEvent);return a?e=e.addChanges(a,i,l,n,t):t.selection&&(e=e.addSelection(t.startState.selection,i,l,n.newGroupDelay)),(s=="full"||s=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new Wv(e.done.map(bf.fromJSON),e.undone.map(bf.fromJSON))}});function FUn(e={}){return[dSt,uSt.of(e),At.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?fSt:t.inputType=="historyRedo"?Ige:null;return r?(t.preventDefault(),r(n)):!1}})]}function $H(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let s=n.field(dSt,!1);if(!s)return!1;let a=s.pop(e,n,t);return a?(r(a),!0):!1}}const fSt=$H(0,!1),Ige=$H(1,!1),zUn=$H(0,!0),BUn=$H(1,!0);class bf{constructor(t,n,r,s,a){this.changes=t,this.effects=n,this.mapped=r,this.startSelection=s,this.selectionsAfter=a}setSelAfter(t){return new bf(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,r;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(t){return new bf(t.changes&&Al.fromJSON(t.changes),[],t.mapped&&ry.fromJSON(t.mapped),t.startSelection&&bt.fromJSON(t.startSelection),t.selectionsAfter.map(bt.fromJSON))}static fromTransaction(t,n){let r=Vh;for(let s of t.startState.facet(LUn)){let a=s(t);a.length&&(r=r.concat(a))}return!r.length&&t.changes.empty?null:new bf(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,Vh)}static selection(t){return new bf(void 0,Vh,void 0,void 0,t)}}function _B(e,t,n,r){let s=t+1>n+20?t-n-1:0,a=e.slice(s,t);return a.push(r),a}function UUn(e,t){let n=[],r=!1;return e.iterChangedRanges((s,a)=>n.push(s,a)),t.iterChangedRanges((s,a,i,l)=>{for(let c=0;c<n.length;){let u=n[c++],d=n[c++];l>=u&&i<=d&&(r=!0)}}),r}function qUn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function pSt(e,t){return e.length?t.length?e.concat(t):e:t}const Vh=[],VUn=200;function hSt(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-VUn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),_B(e,e.length-1,1e9,n.setSelAfter(r)))}else return[bf.selection([t])]}function HUn(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function Nee(e,t){if(!e.length)return e;let n=e.length,r=Vh;for(;n;){let s=WUn(e[n-1],t,r);if(s.changes&&!s.changes.empty||s.effects.length){let a=e.slice(0,n);return a[n-1]=s,a}else t=s.mapped,n--,r=s.selectionsAfter}return r.length?[bf.selection(r)]:Vh}function WUn(e,t,n){let r=pSt(e.selectionsAfter.length?e.selectionsAfter.map(l=>l.map(t)):Vh,n);if(!e.changes)return bf.selection(r);let s=e.changes.map(t),a=t.mapDesc(e.changes,!0),i=e.mapped?e.mapped.composeDesc(a):a;return new bf(s,xr.mapEffects(e.effects,t),i,e.startSelection.map(a),r)}const ZUn=/^(input\.type|delete)($|\.)/;class Wv{constructor(t,n,r=0,s=void 0){this.done=t,this.undone=n,this.prevTime=r,this.prevUserEvent=s}isolate(){return this.prevTime?new Wv(this.done,this.undone):this}addChanges(t,n,r,s,a){let i=this.done,l=i[i.length-1];return l&&l.changes&&!l.changes.empty&&t.changes&&(!r||ZUn.test(r))&&(!l.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(a,UUn(l.changes,t.changes))||r=="input.type.compose")?i=_B(i,i.length-1,s.minDepth,new bf(t.changes.compose(l.changes),pSt(xr.mapEffects(t.effects,l.changes),l.effects),l.mapped,l.startSelection,Vh)):i=_B(i,i.length,s.minDepth,t),new Wv(i,Vh,n,r)}addSelection(t,n,r,s){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:Vh;return a.length>0&&n-this.prevTime<s&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&qUn(a[a.length-1],t)?this:new Wv(hSt(this.done,t),this.undone,n,r)}addMapping(t){return new Wv(Nee(this.done,t),Nee(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,n,r){let s=t==0?this.done:this.undone;if(s.length==0)return null;let a=s[s.length-1],i=a.selectionsAfter[0]||(a.startSelection?a.startSelection.map(a.changes.invertedDesc,1):n.selection);if(r&&a.selectionsAfter.length)return n.update({selection:a.selectionsAfter[a.selectionsAfter.length-1],annotations:Nge.of({side:t,rest:HUn(s),selection:i}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(a.changes){let l=s.length==1?Vh:s.slice(0,s.length-1);return a.mapped&&(l=Nee(l,a.mapped)),n.update({changes:a.changes,selection:a.startSelection,effects:a.effects,annotations:Nge.of({side:t,rest:l,selection:i}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}Wv.empty=new Wv(Vh,Vh);const GUn=[{key:"Mod-z",run:fSt,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Ige,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Ige,preventDefault:!0},{key:"Mod-u",run:zUn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:BUn,preventDefault:!0}];function pI(e,t){return bt.create(e.ranges.map(t),e.mainIndex)}function Wg(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Zg({state:e,dispatch:t},n){let r=pI(e.selection,n);return r.eq(e.selection,!0)?!1:(t(Wg(e,r)),!0)}function MH(e,t){return bt.cursor(t?e.to:e.from)}function mSt(e,t){return Zg(e,n=>n.empty?e.moveByChar(n,t):MH(n,t))}function nd(e){return e.textDirectionAt(e.state.selection.main.head)==Ci.LTR}const gSt=e=>mSt(e,!nd(e)),vSt=e=>mSt(e,nd(e));function ySt(e,t){return Zg(e,n=>n.empty?e.moveByGroup(n,t):MH(n,t))}const QUn=e=>ySt(e,!nd(e)),YUn=e=>ySt(e,nd(e));function KUn(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function DH(e,t,n){let r=xi(e).resolveInner(t.head),s=n?Dr.closedBy:Dr.openedBy;for(let c=t.head;;){let u=n?r.childAfter(c):r.childBefore(c);if(!u)break;KUn(e,u,s)?r=u:c=n?u.to:u.from}let a=r.type.prop(s),i,l;return a&&(i=n?Hv(e,r.from,1):Hv(e,r.to,-1))&&i.matched?l=n?i.end.to:i.end.from:l=n?r.to:r.from,bt.cursor(l,n?-1:1)}const XUn=e=>Zg(e,t=>DH(e.state,t,!nd(e))),JUn=e=>Zg(e,t=>DH(e.state,t,nd(e)));function bSt(e,t){return Zg(e,n=>{if(!n.empty)return MH(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const xSt=e=>bSt(e,!1),wSt=e=>bSt(e,!0);function SSt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,s;if(t){for(let a of e.state.facet(At.scrollMargins)){let i=a(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}s=e.scrollDOM.clientHeight-n-r}else s=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,s-5)}}function kSt(e,t){let n=SSt(e),{state:r}=e,s=pI(r.selection,i=>i.empty?e.moveVertically(i,t,n.height):MH(i,t));if(s.eq(r.selection))return!1;let a;if(n.selfScroll){let i=e.coordsAtPos(r.selection.main.head),l=e.scrollDOM.getBoundingClientRect(),c=l.top+n.marginTop,u=l.bottom-n.marginBottom;i&&i.top>c&&i.bottom<u&&(a=At.scrollIntoView(s.main.head,{y:"start",yMargin:i.top-c}))}return e.dispatch(Wg(r,s),{effects:a}),!0}const E8e=e=>kSt(e,!1),Age=e=>kSt(e,!0);function eS(e,t,n){let r=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,n);if(s.head==t.head&&s.head!=(n?r.to:r.from)&&(s=e.moveToLineBoundary(t,n,!1)),!n&&s.head==r.from&&r.length){let a=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;a&&t.head!=r.from+a&&(s=bt.cursor(r.from+a))}return s}const eqn=e=>Zg(e,t=>eS(e,t,!0)),tqn=e=>Zg(e,t=>eS(e,t,!1)),nqn=e=>Zg(e,t=>eS(e,t,!nd(e))),rqn=e=>Zg(e,t=>eS(e,t,nd(e))),sqn=e=>Zg(e,t=>bt.cursor(e.lineBlockAt(t.head).from,1)),aqn=e=>Zg(e,t=>bt.cursor(e.lineBlockAt(t.head).to,-1));function iqn(e,t,n){let r=!1,s=pI(e.selection,a=>{let i=Hv(e,a.head,-1)||Hv(e,a.head,1)||a.head>0&&Hv(e,a.head-1,1)||a.head<e.doc.length&&Hv(e,a.head+1,-1);if(!i||!i.end)return a;r=!0;let l=i.start.from==a.head?i.end.to:i.end.from;return bt.cursor(l)});return r?(t(Wg(e,s)),!0):!1}const oqn=({state:e,dispatch:t})=>iqn(e,t);function Tm(e,t,n){let r=pI(e.state.selection,s=>{s.undirectional&&s.head>=s.anchor!=t&&(s=bt.range(s.head,s.anchor));let a=n(s);return bt.range(s.anchor,a.head,a.goalColumn,a.bidiLevel||void 0,a.assoc)});return r.eq(e.state.selection)?!1:(e.dispatch(Wg(e.state,r)),!0)}function OSt(e,t){return Tm(e,t,n=>e.moveByChar(n,t))}const _St=e=>OSt(e,!nd(e)),CSt=e=>OSt(e,nd(e));function ESt(e,t){return Tm(e,t,n=>e.moveByGroup(n,t))}const lqn=e=>ESt(e,!nd(e)),cqn=e=>ESt(e,nd(e)),uqn=e=>{let t=!nd(e);return Tm(e,t,n=>DH(e.state,n,t))},dqn=e=>{let t=nd(e);return Tm(e,t,n=>DH(e.state,n,t))};function TSt(e,t){return Tm(e,t,n=>e.moveVertically(n,t))}const jSt=e=>TSt(e,!1),NSt=e=>TSt(e,!0);function ISt(e,t){return Tm(e,t,n=>e.moveVertically(n,t,SSt(e).height))}const T8e=e=>ISt(e,!1),j8e=e=>ISt(e,!0),fqn=e=>Tm(e,!0,t=>eS(e,t,!0)),pqn=e=>Tm(e,!1,t=>eS(e,t,!1)),hqn=e=>{let t=!nd(e);return Tm(e,t,n=>eS(e,n,t))},mqn=e=>{let t=nd(e);return Tm(e,t,n=>eS(e,n,t))},gqn=e=>Tm(e,!1,t=>bt.cursor(e.lineBlockAt(t.head).from)),vqn=e=>Tm(e,!0,t=>bt.cursor(e.lineBlockAt(t.head).to)),N8e=({state:e,dispatch:t})=>(t(Wg(e,{anchor:0})),!0),I8e=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.doc.length})),!0),A8e=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.selection.main.anchor,head:0})),!0),R8e=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),yqn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),bqn=({state:e,dispatch:t})=>{let n=LH(e).map(({from:r,to:s})=>bt.range(r,Math.min(s+1,e.doc.length)));return t(e.update({selection:bt.create(n),userEvent:"select"})),!0},xqn=({state:e,dispatch:t})=>{let n=pI(e.selection,r=>{let s=xi(e),a=s.resolveStack(r.from,1);if(r.empty){let i=s.resolveStack(r.from,-1);i.node.from>=a.node.from&&i.node.to<=a.node.to&&(a=i)}for(let i=a;i;i=i.next){let{node:l}=i;if((l.from<r.from&&l.to>=r.to||l.to>r.to&&l.from<=r.from)&&i.next)return bt.range(l.to,l.from)}return r});return n.eq(e.selection)?!1:(t(Wg(e,n)),!0)};function ASt(e,t){let{state:n}=e,r=n.selection,s=n.selection.ranges.slice();for(let a of n.selection.ranges){let i=n.doc.lineAt(a.head);if(t?i.to<e.state.doc.length:i.from>0)for(let l=a;;){let c=e.moveVertically(l,t);if(c.head<i.from||c.head>i.to){s.some(u=>u.head==c.head)||s.push(c);break}else{if(c.head==l.head)break;l=c}}}return s.length==r.ranges.length?!1:(e.dispatch(Wg(n,bt.create(s,s.length-1))),!0)}const wqn=e=>ASt(e,!1),Sqn=e=>ASt(e,!0),kqn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=bt.create([n.main]):n.main.empty||(r=bt.create([bt.cursor(n.main.head)])),r?(t(Wg(e,r)),!0):!1};function I3(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,s=r.changeByRange(a=>{let{from:i,to:l}=a;if(i==l){let c=t(a);c<i?(n="delete.backward",c=W6(e,c,!1)):c>i&&(n="delete.forward",c=W6(e,c,!0)),i=Math.min(i,c),l=Math.max(l,c)}else i=W6(e,i,!1),l=W6(e,l,!0);return i==l?{range:a}:{changes:{from:i,to:l},range:bt.cursor(i,i<a.head?-1:1)}});return s.changes.empty?!1:(e.dispatch(r.update(s,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?At.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function W6(e,t,n){if(e instanceof At)for(let r of e.state.facet(At.atomicRanges).map(s=>s(e)))r.between(t,t,(s,a)=>{s<t&&a>t&&(t=n?a:s)});return t}const RSt=(e,t,n)=>I3(e,r=>{let s=r.from,{state:a}=e,i=a.doc.lineAt(s),l,c;if(n&&!t&&s>i.from&&s<i.from+200&&!/[^ \t]/.test(l=i.text.slice(0,s-i.from))){if(l[l.length-1]==" ")return s-1;let u=Dg(l,a.tabSize),d=u%UO(a)||UO(a);for(let f=0;f<d&&l[l.length-1-f]==" ";f++)s--;c=s}else c=Oc(i.text,s-i.from,t,t)+i.from,c==s&&i.number!=(t?a.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(i.text.slice(c-i.from,s-i.from))&&(c=Oc(i.text,c-i.from,!1,!1)+i.from);return c}),Rge=e=>RSt(e,!1,!0),PSt=e=>RSt(e,!0,!1),$St=(e,t)=>I3(e,n=>{let r=n.head,{state:s}=e,a=s.doc.lineAt(r),i=s.charCategorizer(r);for(let l=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?s.doc.lines:1)&&(r+=t?1:-1);break}let c=Oc(a.text,r-a.from,t)+a.from,u=a.text.slice(Math.min(r,c)-a.from,Math.max(r,c)-a.from),d=i(u);if(l!=null&&d!=l)break;(u!=" "||r!=n.head)&&(l=d),r=c}return r}),MSt=e=>$St(e,!1),Oqn=e=>$St(e,!0),_qn=e=>I3(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),Cqn=e=>I3(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),Eqn=e=>I3(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),Tqn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:ka.of(["",""])},range:bt.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},jqn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let s=r.from,a=e.doc.lineAt(s),i=s==a.from?s-1:Oc(a.text,s-a.from,!1)+a.from,l=s==a.to?s+1:Oc(a.text,s-a.from,!0)+a.from;return{changes:{from:i,to:l,insert:e.doc.slice(s,l).append(e.doc.slice(i,s))},range:bt.cursor(l)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function LH(e){let t=[],n=-1;for(let r of e.selection.ranges){let s=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=s.number){let i=t[t.length-1];i.to=a.to,i.ranges.push(r)}else t.push({from:s.from,to:a.to,ranges:[r]});n=a.number+1}return t}function DSt(e,t,n){if(e.readOnly)return!1;let r=[],s=[];for(let a of LH(e)){if(n?a.to==e.doc.length:a.from==0)continue;let i=e.doc.lineAt(n?a.to+1:a.from-1),l=i.length+1;if(n){r.push({from:a.to,to:i.to},{from:a.from,insert:i.text+e.lineBreak});for(let c of a.ranges)s.push(bt.range(Math.min(e.doc.length,c.anchor+l),Math.min(e.doc.length,c.head+l)))}else{r.push({from:i.from,to:a.from},{from:a.to,insert:e.lineBreak+i.text});for(let c of a.ranges)s.push(bt.range(c.anchor-l,c.head-l))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:bt.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const Nqn=({state:e,dispatch:t})=>DSt(e,t,!1),Iqn=({state:e,dispatch:t})=>DSt(e,t,!0);function LSt(e,t,n){if(e.readOnly)return!1;let r=[];for(let a of LH(e))n?r.push({from:a.from,insert:e.doc.slice(a.from,a.to)+e.lineBreak}):r.push({from:a.to,insert:e.lineBreak+e.doc.slice(a.from,a.to)});let s=e.changes(r);return t(e.update({changes:s,selection:e.selection.map(s,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Aqn=({state:e,dispatch:t})=>LSt(e,t,!1),Rqn=({state:e,dispatch:t})=>LSt(e,t,!0),Pqn=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(LH(t).map(({from:s,to:a})=>(s>0?s--:a<t.doc.length&&a++,{from:s,to:a}))),r=pI(t.selection,s=>{let a;if(e.lineWrapping){let i=e.lineBlockAt(s.head),l=e.coordsAtPos(s.head,s.assoc||1);l&&(a=i.bottom+e.documentTop-l.bottom+e.defaultLineHeight/2)}return e.moveVertically(s,!0,a)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function $qn(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=xi(e).resolveInner(t),r=n.childBefore(t),s=n.childAfter(t),a;return r&&s&&r.to<=t&&s.from>=t&&(a=r.type.prop(Dr.closedBy))&&a.indexOf(s.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(s.from).from&&!/\S/.test(e.sliceDoc(r.to,s.from))?{from:r.to,to:s.from}:null}const P8e=FSt(!1),Mqn=FSt(!0);function FSt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(s=>{let{from:a,to:i}=s,l=t.doc.lineAt(a),c=!e&&a==i&&$qn(t,a);e&&(a=i=(i<=l.to?l:t.doc.lineAt(i)).to);let u=new IH(t,{simulateBreak:a,simulateDoubleBreak:!!c}),d=KSe(u,a);for(d==null&&(d=Dg(/^\s*/.exec(t.doc.lineAt(a).text)[0],t.tabSize));i<l.to&&/\s/.test(l.text[i-l.from]);)i++;c?{from:a,to:i}=c:a>l.from&&a<l.from+100&&!/\S/.test(l.text.slice(0,a))&&(a=l.from);let f=["",cM(t,d)];return c&&f.push(cM(t,u.lineIndent(l.from,-1))),{changes:{from:a,to:i,insert:ka.of(f)},range:bt.cursor(a+1+f[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Nke(e,t){let n=-1;return e.changeByRange(r=>{let s=[];for(let i=r.from;i<=r.to;){let l=e.doc.lineAt(i);l.number>n&&(r.empty||r.to>l.from)&&(t(l,s,r),n=l.number),i=l.to+1}let a=e.changes(s);return{changes:s,range:bt.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}const Dqn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new IH(e,{overrideIndentation:a=>{let i=n[a];return i??-1}}),s=Nke(e,(a,i,l)=>{let c=KSe(r,a.from);if(c==null)return;/\S/.test(a.text)||(c=0);let u=/^\s*/.exec(a.text)[0],d=cM(e,c);(u!=d||l.from<a.from+u.length)&&(n[a.from]=c,i.push({from:a.from,to:a.from+u.length,insert:d}))});return s.changes.empty||t(e.update(s,{userEvent:"indent"})),!0},zSt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Nke(e,(n,r)=>{r.push({from:n.from,insert:e.facet(uI)})}),{userEvent:"input.indent"})),!0),BSt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Nke(e,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let a=Dg(s,e.tabSize),i=0,l=cM(e,Math.max(0,a-UO(e)));for(;i<s.length&&i<l.length&&s.charCodeAt(i)==l.charCodeAt(i);)i++;r.push({from:n.from+i,to:n.from+s.length,insert:l.slice(i)})}),{userEvent:"delete.dedent"})),!0),Lqn=e=>(e.setTabFocusMode(),!0),Fqn=[{key:"Ctrl-b",run:gSt,shift:_St,preventDefault:!0},{key:"Ctrl-f",run:vSt,shift:CSt},{key:"Ctrl-p",run:xSt,shift:jSt},{key:"Ctrl-n",run:wSt,shift:NSt},{key:"Ctrl-a",run:sqn,shift:gqn},{key:"Ctrl-e",run:aqn,shift:vqn},{key:"Ctrl-d",run:PSt},{key:"Ctrl-h",run:Rge},{key:"Ctrl-k",run:_qn},{key:"Ctrl-Alt-h",run:MSt},{key:"Ctrl-o",run:Tqn},{key:"Ctrl-t",run:jqn},{key:"Ctrl-v",run:Age}],zqn=[{key:"ArrowLeft",run:gSt,shift:_St,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:QUn,shift:lqn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:nqn,shift:hqn,preventDefault:!0},{key:"ArrowRight",run:vSt,shift:CSt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:YUn,shift:cqn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:rqn,shift:mqn,preventDefault:!0},{key:"ArrowUp",run:xSt,shift:jSt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:N8e,shift:A8e},{mac:"Ctrl-ArrowUp",run:E8e,shift:T8e},{key:"ArrowDown",run:wSt,shift:NSt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:I8e,shift:R8e},{mac:"Ctrl-ArrowDown",run:Age,shift:j8e},{key:"PageUp",run:E8e,shift:T8e},{key:"PageDown",run:Age,shift:j8e},{key:"Home",run:tqn,shift:pqn,preventDefault:!0},{key:"Mod-Home",run:N8e,shift:A8e},{key:"End",run:eqn,shift:fqn,preventDefault:!0},{key:"Mod-End",run:I8e,shift:R8e},{key:"Enter",run:P8e,shift:P8e},{key:"Mod-a",run:yqn},{key:"Backspace",run:Rge,shift:Rge,preventDefault:!0},{key:"Delete",run:PSt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:MSt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Oqn,preventDefault:!0},{mac:"Mod-Backspace",run:Cqn,preventDefault:!0},{mac:"Mod-Delete",run:Eqn,preventDefault:!0}].concat(Fqn.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),Bqn=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:XUn,shift:uqn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:JUn,shift:dqn},{key:"Alt-ArrowUp",run:Nqn},{key:"Shift-Alt-ArrowUp",run:Aqn},{key:"Alt-ArrowDown",run:Iqn},{key:"Shift-Alt-ArrowDown",run:Rqn},{key:"Mod-Alt-ArrowUp",run:wqn},{key:"Mod-Alt-ArrowDown",run:Sqn},{key:"Escape",run:kqn},{key:"Mod-Enter",run:Mqn},{key:"Alt-l",mac:"Ctrl-l",run:bqn},{key:"Mod-i",run:xqn,preventDefault:!0},{key:"Mod-[",run:BSt},{key:"Mod-]",run:zSt},{key:"Mod-Alt-\\",run:Dqn},{key:"Shift-Mod-k",run:Pqn},{key:"Shift-Mod-\\",run:oqn},{key:"Mod-/",run:NUn},{key:"Alt-A",run:AUn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Lqn}].concat(zqn),Uqn={key:"Tab",run:zSt,shift:BSt},$8e=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class $x{constructor(t,n,r=0,s=t.length,a,i){this.test=i,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(r,s),this.bufferStart=r,this.normalize=a?l=>a($8e(l)):$8e,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return uf(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=ASe(t),r=this.bufferStart+this.bufferPos;this.bufferPos+=Pv(t);let s=this.normalize(n);if(s.length)for(let a=0,i=r,l=!0;;a++){let c=s.charCodeAt(a),u=this.match(c,i,l,this.bufferPos+this.bufferStart,a==s.length-1);if(u)return this.value=u,this;if(a==s.length-1)break;l&&a<n.length&&n.charCodeAt(a)==c?i++:l=!1}}}match(t,n,r,s,a){let i=null;for(let l=0;l<this.matches.length;){let c=this.matches[l],u=!1;this.query.charCodeAt(c.index)==t&&(c.index==this.query.length-1?i={from:c.from,to:s,precise:a&&c.precise}:(c.index++,u=!0)),u?l++:this.matches.splice(l,1)}return this.query.charCodeAt(0)==t&&(this.query.length==1?i={from:n,to:s,precise:r&&a}:this.matches.push({from:n,index:1,precise:r})),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&($x.prototype[Symbol.iterator]=function(){return this});const USt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Ike="gm"+(/x/.unicode==null?"":"u");class qSt{constructor(t,n,r,s=0,a=t.length){if(this.text=t,this.to=a,this.curLine="",this.done=!1,this.value=USt,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new VSt(t,n,r,s,a);this.re=new RegExp(n,Ike+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let i=t.lineAt(s);this.curLineStart=i.from,this.matchPos=CB(t,s),this.getLine(this.curLineStart)}getLine(t){this.iter.next(t),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,s=r+n[0].length;if(this.matchPos=CB(this.text,s+(r==s?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<s||r>this.value.to)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),t=0;else return this.done=!0,this}}}const Iee=new WeakMap;class ZT{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let s=Iee.get(t);if(!s||s.from>=r||s.to<=n){let l=new ZT(n,t.sliceString(n,r));return Iee.set(t,l),l}if(s.from==n&&s.to==r)return s;let{text:a,from:i}=s;return i>n&&(a=t.sliceString(n,i)+a,i=n),s.to<r&&(a+=t.sliceString(s.to,r)),Iee.set(t,new ZT(i,a)),new ZT(n,a.slice(n-i,r-i))}}class VSt{constructor(t,n,r,s,a){this.text=t,this.to=a,this.done=!1,this.value=USt,this.matchPos=CB(t,s),this.re=new RegExp(n,Ike+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=ZT.get(t,s,this.chunkEnd(s+5e3))}chunkEnd(t){return t>=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,s=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,precise:!0,match:n},this.matchPos=CB(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ZT.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(qSt.prototype[Symbol.iterator]=VSt.prototype[Symbol.iterator]=function(){return this});function qqn(e){try{return new RegExp(e,Ike),!0}catch{return!1}}function CB(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}const Vqn=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:s}=_zn(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return s.then(a=>{let i=a&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(a.elements.line.value);if(!i){e.dispatch({effects:r});return}let l=t.doc.lineAt(t.selection.main.head),[,c,u,d,f]=i,p=d?+d.slice(1):0,h=u?+u:l.number;if(u&&f){let y=h/100;c&&(y=y*(c=="-"?-1:1)+l.number/t.doc.lines),h=Math.round(t.doc.lines*y)}else u&&c&&(h=h*(c=="-"?-1:1)+l.number);let m=t.doc.line(Math.max(1,Math.min(t.doc.lines,h))),v=bt.cursor(m.from+Math.max(0,Math.min(p,m.length)));e.dispatch({effects:[r,At.scrollIntoView(v.from,{y:"center"})],selection:v})}),!0},Hqn={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Wqn=jn.define({combine(e){return Fy(e,Hqn,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Zqn(e){return[Xqn,Kqn]}const Gqn=An.mark({class:"cm-selectionMatch"}),Qqn=An.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function M8e(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=So.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=So.Word)}function Yqn(e,t,n,r){return e(t.sliceDoc(n,n+1))==So.Word&&e(t.sliceDoc(r-1,r))==So.Word}const Kqn=Co.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Wqn),{state:n}=e,r=n.selection;if(r.ranges.length>1)return An.none;let s=r.main,a,i=null;if(s.empty){if(!t.highlightWordAroundCursor)return An.none;let c=n.wordAt(s.head);if(!c)return An.none;i=n.charCategorizer(s.head),a=n.sliceDoc(c.from,c.to)}else{let c=s.to-s.from;if(c<t.minSelectionLength||c>200)return An.none;if(t.wholeWords){if(a=n.sliceDoc(s.from,s.to),i=n.charCategorizer(s.head),!(M8e(i,n,s.from,s.to)&&Yqn(i,n,s.from,s.to)))return An.none}else if(a=n.sliceDoc(s.from,s.to),!a)return An.none}let l=[];for(let c of e.visibleRanges){let u=new $x(n.doc,a,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!i||M8e(i,n,d,f))&&(s.empty&&d<=s.from&&f>=s.to?l.push(Qqn.range(d,f)):(d>=s.to||f<=s.from)&&l.push(Gqn.range(d,f)),l.length>t.maxMatches))return An.none}}return An.set(l)}},{decorations:e=>e.decorations}),Xqn=At.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Jqn=({state:e,dispatch:t})=>{let{selection:n}=e,r=bt.create(n.ranges.map(s=>e.wordAt(s.head)||bt.cursor(s.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function eVn(e,t){let{main:n,ranges:r}=e.selection,s=e.wordAt(n.head),a=s&&s.from==n.from&&s.to==n.to;for(let i=!1,l=new $x(e.doc,t,r[r.length-1].to);;)if(l.next(),l.done){if(i)return null;l=new $x(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),i=!0}else{if(i&&r.some(c=>c.from==l.value.from))continue;if(a){let c=e.wordAt(l.value.from);if(!c||c.from!=l.value.from||c.to!=l.value.to)continue}return l.value}}const tVn=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(a=>a.from===a.to))return Jqn({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(a=>e.sliceDoc(a.from,a.to)!=r))return!1;let s=eVn(e,r);return s?(t(e.update({selection:e.selection.addRange(bt.range(s.from,s.to),!1),effects:At.scrollIntoView(s.to)})),!0):!1},hI=jn.define({combine(e){return Fy(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new mVn(t),scrollToMatch:t=>At.scrollIntoView(t)})}});class HSt{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||qqn(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
|
|
234
|
-
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new oVn(this):new sVn(this)}getCursor(t,n=0,r){let s=t.doc?t:us.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?HE(this,s,n,r):VE(this,s,n,r)}}class WSt{constructor(t){this.spec=t}}function nVn(e,t,n){return(r,s,a,i)=>{if(n&&!n(r,s,a,i))return!1;let l=r>=i&&s<=i+a.length?a.slice(r-i,s-i):t.doc.sliceString(r,s);return e(l,t,r,s)}}function VE(e,t,n,r){let s;return e.wholeWord&&(s=rVn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=nVn(e.test,t,s)),new $x(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function rVn(e,t){return(n,r,s,a)=>((a>n||a+s.length<r)&&(a=Math.max(0,n-2),s=e.sliceString(a,Math.min(e.length,r+2))),(t(EB(s,n-a))!=So.Word||t(TB(s,n-a))!=So.Word)&&(t(TB(s,r-a))!=So.Word||t(EB(s,r-a))!=So.Word))}class sVn extends WSt{constructor(t){super(t)}nextMatch(t,n,r){let s=VE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=VE(this.spec,t,0,a).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(t,n,r){for(let s=r;;){let a=Math.max(n,s-1e4-this.spec.unquoted.length),i=VE(this.spec,t,a,s),l=null;for(;!i.nextOverlapping().done;)l=i.value;if(l)return l;if(a==n)return null;s-=1e4}}prevMatch(t,n,r){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=VE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=VE(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function aVn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function HE(e,t,n,r){let s;return e.wholeWord&&(s=iVn(t.charCategorizer(t.selection.main.head))),e.test&&(s=aVn(e.test,t,s)),new qSt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function EB(e,t){return e.slice(Oc(e,t,!1),t)}function TB(e,t){return e.slice(t,Oc(e,t))}function iVn(e){return(t,n,r)=>!r[0].length||(e(EB(r.input,r.index))!=So.Word||e(TB(r.input,r.index))!=So.Word)&&(e(TB(r.input,r.index+r[0].length))!=So.Word||e(EB(r.input,r.index+r[0].length))!=So.Word)}class oVn extends WSt{nextMatch(t,n,r){let s=HE(this.spec,t,r,t.doc.length).next();return s.done&&(s=HE(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,r){for(let s=1;;s++){let a=Math.max(n,r-s*1e4),i=HE(this.spec,t,a,r),l=null;for(;!i.next().done;)l=i.value;if(l&&(a==n||l.from>a+10))return l;if(a==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let a=+r.slice(0,s);if(a>0&&a<t.match.length)return t.match[a]+r.slice(s)}return n})}matchAll(t,n){let r=HE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=HE(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const yM=xr.define(),Ake=xr.define(),Qw=bl.define({create(e){return new Aee(Pge(e).create(),null)},update(e,t){for(let n of t.effects)n.is(yM)?e=new Aee(n.value.create(),e.panel):n.is(Ake)&&(e=new Aee(e.query,n.value?Rke:null));return e},provide:e=>lM.from(e,t=>t.panel)});class Aee{constructor(t,n){this.query=t,this.panel=n}}const lVn=An.mark({class:"cm-searchMatch"}),cVn=An.mark({class:"cm-searchMatch cm-searchMatch-selected"}),uVn=Co.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Qw))}update(e){let t=e.state.field(Qw);(t!=e.startState.field(Qw)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return An.none;let{view:n}=this,r=new Md;for(let s=0,a=n.visibleRanges,i=a.length;s<i;s++){let{from:l,to:c}=a[s];for(;s<i-1&&c>a[s+1].from-500;)c=a[++s].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(p=>p.from==u&&p.to==d);r.add(u,d,f?cVn:lVn)})}return r.finish()}},{decorations:e=>e.decorations});function A3(e){return t=>{let n=t.state.field(Qw,!1);return n&&n.query.spec.valid?e(t,n):QSt(t)}}const jB=A3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=bt.single(r.from,r.to),a=e.state.facet(hI);return e.dispatch({selection:s,effects:[Pke(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),GSt(e),!0}),NB=A3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=bt.single(s.from,s.to),i=e.state.facet(hI);return e.dispatch({selection:a,effects:[Pke(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),GSt(e),!0}),dVn=A3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:bt.create(n.map(r=>bt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),fVn=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,a=[],i=0;for(let l=new $x(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(bt.range(l.value.from,l.value.to))}return t(e.update({selection:bt.create(a,i),userEvent:"select.search.matches"})),!0},D8e=A3((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),i=t.nextMatch(n,i.from,i.to),d.push(At.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):i=t.nextMatch(n,i.from,i.to);let f=e.state.changes(l);return i&&(c=bt.single(i.from,i.to).map(f),d.push(Pke(e,i)),d.push(n.facet(hI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),pVn=A3((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:At.announce.of(r),userEvent:"input.replace.all"}),!0});function Rke(e){return e.state.facet(hI).createPanel(e)}function Pge(e,t){var n,r,s,a,i;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(hI);return new HSt({search:((n=t?.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(s=t?.literal)!==null&&s!==void 0?s:u.literal,regexp:(a=t?.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(i=t?.wholeWord)!==null&&i!==void 0?i:u.wholeWord})}function ZSt(e){let t=QSe(e,Rke);return t&&t.dom.querySelector("[main-field]")}function GSt(e){let t=ZSt(e);t&&t==e.root.activeElement&&t.select()}const QSt=e=>{let t=e.state.field(Qw,!1);if(t&&t.panel){let n=ZSt(e);if(n&&n!=e.root.activeElement){let r=Pge(e.state,t.query.spec);r.valid&&e.dispatch({effects:yM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[Ake.of(!0),t?yM.of(Pge(e.state,t.query.spec)):xr.appendConfig.of(vVn)]});return!0},YSt=e=>{let t=e.state.field(Qw,!1);if(!t||!t.panel)return!1;let n=QSe(e,Rke);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:Ake.of(!1)}),!0},hVn=[{key:"Mod-f",run:QSt,scope:"editor search-panel"},{key:"F3",run:jB,shift:NB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:jB,shift:NB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:YSt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:fVn},{key:"Mod-Alt-g",run:Vqn},{key:"Mod-d",run:tVn,preventDefault:!0}];class mVn{constructor(t){this.view=t;let n=this.query=t.state.field(Qw).query.spec;this.commit=this.commit.bind(this),this.searchField=hi("input",{value:n.search,placeholder:lp(t,"Find"),"aria-label":lp(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=hi("input",{value:n.replace,placeholder:lp(t,"Replace"),"aria-label":lp(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=hi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=hi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=hi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return hi("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=hi("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>jB(t),[lp(t,"next")]),r("prev",()=>NB(t),[lp(t,"previous")]),r("select",()=>dVn(t),[lp(t,"all")]),hi("label",null,[this.caseField,lp(t,"match case")]),hi("label",null,[this.reField,lp(t,"regexp")]),hi("label",null,[this.wordField,lp(t,"by word")]),...t.state.readOnly?[]:[hi("br"),this.replaceField,r("replace",()=>D8e(t),[lp(t,"replace")]),r("replaceAll",()=>pVn(t),[lp(t,"replace all")])],hi("button",{name:"close",onclick:()=>YSt(t),"aria-label":lp(t,"close"),type:"button"},["×"])])}commit(){let t=new HSt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:yM.of(t)}))}keydown(t){$Fn(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?NB:jB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),D8e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(yM)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(hI).top}}function lp(e,t){return e.state.phrase(t)}const Z6=30,G6=/[\s\.,:;?!]/;function Pke(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-Z6),i=Math.min(s,n+Z6),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<Z6;c++)if(!G6.test(l[c+1])&&G6.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-Z6;c--)if(!G6.test(l[c-1])&&G6.test(l[c])){l=l.slice(0,c);break}}return At.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const gVn=At.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),vVn=[Qw,th.low(uVn),gVn];class L8e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class Ck{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(bM).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Md,l=[],c=0;for(let d=0;;){let f=d==a.length?null:a[d];if(!f&&!l.length)break;let p,h;for(l.length?(p=c,h=l.reduce((v,y)=>Math.min(v,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let v=a[d];if(v.from==p&&(v.to>v.from||v.to==p))l.push(v),d++,h=Math.min(v.to,h);else{h=Math.min(v.from,h);break}}let m=NVn(l);if(l.some(v=>v.from==v.to||v.from==v.to-1&&r.doc.lineAt(v.from).to==v.from))i.add(p,p,An.widget({widget:new CVn(m),diagnostics:l.slice()}));else{let v=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,An.mark({class:"cm-lintRange cm-lintRange-"+m+v,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let v=0;v<l.length;v++)l[v].to<=c&&l.splice(v--,1)}let u=i.finish();return new Ck(u,n,Uj(u))}}function Uj(e,t=null,n=0){let r=null;return e.between(n,1e9,(s,a,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new L8e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new L8e(r.from,a,r.diagnostic)}}),r}function yVn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(bM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(KSt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function bVn(e,t){return e.field(jp,!1)?t:t.concat(xr.appendConfig.of(IVn))}const KSt=xr.define(),$ke=xr.define(),XSt=xr.define(),jp=bl.define({create(){return new Ck(An.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,s=e.panel;if(e.selected){let a=t.changes.mapPos(e.selected.from,1);r=Uj(n,e.selected.diagnostic,a)||Uj(n,null,a)}!n.size&&s&&t.state.facet(bM).autoPanel&&(s=null),e=new Ck(n,s,r)}for(let n of t.effects)if(n.is(KSt)){let r=t.state.facet(bM).autoPanel?n.value.length?xM.open:null:e.panel;e=Ck.init(n.value,r,t.state)}else n.is($ke)?e=new Ck(e.diagnostics,n.value?xM.open:null,e.selected):n.is(XSt)&&(e=new Ck(e.diagnostics,e.panel,n.value));return e},provide:e=>[lM.from(e,t=>t.panel),At.decorations.from(e,t=>t.diagnostics)]}),xVn=An.mark({class:"cm-lintRange cm-lintRange-active"});function wVn(e,t,n){let{diagnostics:r}=e.state.field(jp),s,a=-1,i=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(t<u||n<0)))return s=d.diagnostics,a=c,i=u,!1});let l=e.state.facet(bM).tooltipFilter;return s&&l&&(s=l(s,e.state)),s?{pos:a,end:i,above:e.state.doc.lineAt(a).to<i,create(){return{dom:SVn(e,s)}}}:null}function SVn(e,t){return hi("ul",{class:"cm-tooltip-lint"},t.map(n=>ekt(e,n,!1)))}const kVn=e=>{let t=e.state.field(jp,!1);(!t||!t.panel)&&e.dispatch({effects:bVn(e.state,[$ke.of(!0)])});let n=QSe(e,xM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},F8e=e=>{let t=e.state.field(jp,!1);return!t||!t.panel?!1:(e.dispatch({effects:$ke.of(!1)}),!0)},OVn=e=>{let t=e.state.field(jp,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},_Vn=[{key:"Mod-Shift-m",run:kVn,preventDefault:!0},{key:"F8",run:OVn}],bM=jn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Fy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:z8e,tooltipFilter:z8e,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,s,a)=>t(r,s,a)||n(r,s,a):t:n,autoPanel:(t,n)=>t||n})}}});function z8e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function JSt(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!t.some(a=>a.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function ekt(e,t,n){var r;let s=n?JSt(t.actions):[];return hi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},hi("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(r=t.actions)===null||r===void 0?void 0:r.map((a,i)=>{let l=!1,c=h=>{if(h.preventDefault(),l)return;l=!0;let m=Uj(e.state.field(jp).diagnostics,t);m&&a.apply(e,m.from,m.to)},{name:u}=a,d=s[i]?u.indexOf(s[i]):-1,f=d<0?u:[u.slice(0,d),hi("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return hi("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&hi("div",{class:"cm-diagnosticSource"},t.source))}class CVn extends nh{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return hi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class B8e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=ekt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class xM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)F8e(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],i=JSt(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=Uj(this.view.state.field(jp).diagnostics,a);c&&a.actions[l].apply(t,c.from,c.to)}}else return;s.preventDefault()},r=s=>{for(let a=0;a<this.items.length;a++)this.items[a].dom.contains(s.target)&&this.moveSelection(a)};this.list=hi("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=hi("div",{class:"cm-panel-lint"},this.list,hi("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>F8e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(jp).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(jp),r=0,s=!1,a=null,i=new Set;for(t.between(0,this.view.state.doc.length,(l,c,{spec:u})=>{for(let d of u.diagnostics){if(i.has(d))continue;i.add(d);let f=-1,p;for(let h=r;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(p=new B8e(this.view,d),this.items.splice(r,0,p),s=!0):(p=this.items[f],f>r&&(this.items.splice(r,f-r),s=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),a=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new B8e(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),a?(this.list.setAttribute("aria-activedescendant",a.id),this.view.requestMeasure({key:this,read:()=>({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.top<c.top?this.list.scrollTop-=(c.top-l.top)/u:l.bottom>c.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(jp),r=Uj(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:XSt.of(r)})}static open(t){return new xM(t)}}function EVn(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function Q6(e){return EVn(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const TVn=At.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Q6("#d11")},".cm-lintRange-warning":{backgroundImage:Q6("orange")},".cm-lintRange-info":{backgroundImage:Q6("#999")},".cm-lintRange-hint":{backgroundImage:Q6("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function jVn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function NVn(e){let t="hint",n=1;for(let r of e){let s=jVn(r.severity);s>n&&(n=s,t=r.severity)}return t}const IVn=[jp,At.decorations.compute([jp],e=>{let{selected:t,panel:n}=e.field(jp);return!t||!n||t.from==t.to?An.none:An.set([xVn.range(t.from,t.to)])}),kzn(wVn,{hideOn:yVn}),TVn];var U8e=function(t){t===void 0&&(t={});var n=t,r=n.crosshairCursor,s=r===void 0?!1:r,a=[];t.closeBracketsKeymap!==!1&&(a=a.concat(x9n)),t.defaultKeymap!==!1&&(a=a.concat(Bqn)),t.searchKeymap!==!1&&(a=a.concat(hVn)),t.historyKeymap!==!1&&(a=a.concat(GUn)),t.foldKeymap!==!1&&(a=a.concat(a8n)),t.completionKeymap!==!1&&(a=a.concat(Gwt)),t.lintKeymap!==!1&&(a=a.concat(_Vn));var i=[];return t.lineNumbers!==!1&&i.push($zn()),t.highlightActiveLineGutter!==!1&&i.push(Lzn()),t.highlightSpecialChars!==!1&&i.push(KFn()),t.history!==!1&&i.push(FUn()),t.foldGutter!==!1&&i.push(c8n()),t.drawSelection!==!1&&i.push(BFn()),t.dropCursor!==!1&&i.push(WFn()),t.allowMultipleSelections!==!1&&i.push(us.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(Kzn()),t.syntaxHighlighting!==!1&&i.push(J1(p8n,{fallback:!0})),t.bracketMatching!==!1&&i.push(x8n()),t.closeBrackets!==!1&&i.push(g9n()),t.autocompletion!==!1&&i.push(Zwt()),t.rectangularSelection!==!1&&i.push(dzn()),s!==!1&&i.push(hzn()),t.highlightActiveLine!==!1&&i.push(rzn()),t.highlightSelectionMatches!==!1&&i.push(Zqn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(uI.of(" ".repeat(t.tabSize))),i.concat([cI.of(a.flat())]).filter(Boolean)};const AVn="#e5c07b",q8e="#e06c75",RVn="#56b6c2",PVn="#ffffff",T8="#abb2bf",$ge="#7d8799",$Vn="#61afef",MVn="#98c379",V8e="#d19a66",DVn="#c678dd",LVn="#21252b",H8e="#2c313a",W8e="#282c34",Ree="#353a42",FVn="#3E4451",Z8e="#528bff",zVn=At.theme({"&":{color:T8,backgroundColor:W8e},".cm-content":{caretColor:Z8e},".cm-cursor, .cm-dropCursor":{borderLeftColor:Z8e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:FVn},".cm-panels":{backgroundColor:LVn,color:T8},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:W8e,color:$ge,border:"none"},".cm-activeLineGutter":{backgroundColor:H8e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ree},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ree,borderBottomColor:Ree},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:H8e,color:T8}}},{dark:!0}),BVn=Hg.define([{tag:he.keyword,color:DVn},{tag:[he.name,he.deleted,he.character,he.propertyName,he.macroName],color:q8e},{tag:[he.function(he.variableName),he.labelName],color:$Vn},{tag:[he.color,he.constant(he.name),he.standard(he.name)],color:V8e},{tag:[he.definition(he.name),he.separator],color:T8},{tag:[he.typeName,he.className,he.number,he.changed,he.annotation,he.modifier,he.self,he.namespace],color:AVn},{tag:[he.operator,he.operatorKeyword,he.url,he.escape,he.regexp,he.link,he.special(he.string)],color:RVn},{tag:[he.meta,he.comment],color:$ge},{tag:he.strong,fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.link,color:$ge,textDecoration:"underline"},{tag:he.heading,fontWeight:"bold",color:q8e},{tag:[he.atom,he.bool,he.special(he.variableName)],color:V8e},{tag:[he.processingInstruction,he.string,he.inserted],color:MVn},{tag:he.invalid,color:PVn}]),UVn=[zVn,J1(BVn)];var qVn=At.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),VVn=function(t){t===void 0&&(t={});var n=t,r=n.indentWithTab,s=r===void 0?!0:r,a=n.editable,i=a===void 0?!0:a,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,p=f===void 0?"":f,h=n.basicSetup,m=h===void 0?!0:h,v=[];switch(s&&v.unshift(cI.of([Uqn])),m&&(typeof m=="boolean"?v.unshift(U8e()):v.unshift(U8e(m))),p&&v.unshift(ozn(p)),d){case"light":v.push(qVn);break;case"dark":v.push(UVn);break;case"none":break;default:v.push(d);break}return i===!1&&v.push(At.editable.of(!1)),c&&v.push(us.readOnly.of(!0)),[...v]},HVn=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class WVn{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class G8e{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var Pee=null,ZVn=()=>typeof window>"u"?new G8e:(Pee||(Pee=new G8e),Pee),GVn=At.theme({"& .cm-scroller":{height:"100% !important"}}),Q8e=null,$ee=null;function QVn(e,t,n,r,s,a){if(!e&&!t&&!n&&!r&&!s&&!a)return null;var i=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a});return i===Q8e||(Q8e=i,$ee=At.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),$ee}var Y8e=Ly.define(),YVn=200,KVn=[];function XVn(e){var t=e.value,n=e.selection,r=e.onChange,s=e.onStatistics,a=e.onCreateEditor,i=e.onUpdate,l=e.extensions,c=l===void 0?KVn:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,p=e.height,h=p===void 0?null:p,m=e.minHeight,v=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,x=e.width,S=x===void 0?null:x,k=e.minWidth,C=k===void 0?null:k,_=e.maxWidth,E=_===void 0?null:_,T=e.placeholder,N=T===void 0?"":T,I=e.editable,A=I===void 0?!0:I,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,F=D===void 0?!0:D,H=e.basicSetup,B=H===void 0?!0:H,U=e.root,q=e.initialState,M=g.useState(),G=M[0],V=M[1],$=g.useState(),z=$[0],Z=$[1],K=g.useState(),ne=K[0],ee=K[1],J=g.useState(()=>({current:null}))[0],ae=g.useState(()=>({current:null}))[0],pe=QVn(h,v,b,S,C,E),Y=At.updateListener.of(fe=>{if(fe.docChanged&&typeof r=="function"&&!fe.transactions.some(be=>be.annotation(Y8e))){J.current?J.current.reset():(J.current=new WVn(()=>{if(ae.current){var be=ae.current;ae.current=null,be()}J.current=null},YVn),ZVn().add(J.current));var ce=fe.state.doc,me=ce.toString();r(me,fe)}s&&s(HVn(fe))}),te=VVn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:F,basicSetup:B}),ue=[Y,...pe?[pe]:[],GVn,...te];return i&&typeof i=="function"&&ue.push(At.updateListener.of(i)),ue=ue.concat(c),g.useLayoutEffect(()=>{if(G&&!ne){var fe={doc:t,selection:n,extensions:ue},ce=q?us.fromJSON(q.json,fe,q.fields):us.create(fe);if(ee(ce),!z){var me=new At({state:ce,parent:G,root:U});Z(me),a&&a(me,ce)}}return()=>{z&&(ee(void 0),Z(void 0))}},[G,ne]),g.useEffect(()=>{e.container&&V(e.container)},[e.container]),g.useEffect(()=>()=>{z&&(z.destroy(),Z(void 0)),J.current&&(J.current.cancel(),J.current=null)},[z]),g.useEffect(()=>{u&&z&&z.focus()},[u,z]),g.useEffect(()=>{z&&z.dispatch({effects:xr.reconfigure.of(ue)})},[f,c,h,v,b,S,C,E,N,A,L,F,B,r,i]),g.useEffect(()=>{if(t!==void 0){var fe=z?z.state.doc.toString():"";if(z&&t!==fe){var ce=J.current&&!J.current.isDone,me=()=>{z&&t!==z.state.doc.toString()&&z.dispatch({changes:{from:0,to:z.state.doc.toString().length,insert:t||""},annotations:[Y8e.of(!0)]})};ce?ae.current=me:me()}}},[t,z]),{state:ne,setState:ee,view:z,setView:Z,container:G,setContainer:V}}var JVn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Yu=g.forwardRef((e,t)=>{var n=e.className,r=e.value,s=r===void 0?"":r,a=e.selection,i=e.extensions,l=i===void 0?[]:i,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,p=e.autoFocus,h=e.theme,m=h===void 0?"light":h,v=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,C=e.basicSetup,_=e.placeholder,E=e.indentWithTab,T=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=lSt(e,JVn),L=g.useRef(null),D=XVn({root:I,value:s,autoFocus:p,theme:m,height:v,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:C,placeholder:_,indentWithTab:E,editable:T,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),F=D.state,H=D.view,B=D.container,U=D.setContainer;g.useImperativeHandle(t,()=>({editor:L.current,state:F,view:H}),[L,B,F,H]);var q=g.useCallback(G=>{L.current=G,U(G)},[U]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var M=typeof m=="string"?"cm-theme-"+m:"cm-theme";return o.jsx("div",HO({ref:q,className:""+M+(n?" "+n:"")},R))});Yu.displayName="CodeMirror";const eHn={js:"javascript",javascript:"javascript",mjs:"javascript",cjs:"javascript",node:"javascript",ts:"typescript",typescript:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",jsx:"jsx",json:"json",json5:"json",md:"markdown",markdown:"markdown",py:"python",python:"python",sh:"bash",bash:"bash",shell:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",diff:"diff",patch:"diff",css:"css",scss:"css",html:"html",htm:"html",xml:"xml",svg:"xml",sql:"sql"};let Mee=null;function tHn(){return Mee||(Mee=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([Da(()=>import("./core-NO1YcobU.js"),__vite__mapDeps([0,1,2]),import.meta.url),Da(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[Da(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),Da(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[Da(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),Da(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),Da(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),Da(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),Da(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),Da(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),Da(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),Da(()=>import("./python-DhUJRlN_.js"),[],import.meta.url),Da(()=>import("./yaml-CVw76BM1.js"),[],import.meta.url),Da(()=>import("./diff-BgYniUM_.js"),[],import.meta.url),Da(()=>import("./css-BPhBrDlE.js"),[],import.meta.url),Da(()=>import("./html-C2L_23MC.js"),__vite__mapDeps([4,5,6]),import.meta.url),Da(()=>import("./xml-DGRTSKzu.js"),[],import.meta.url),Da(()=>import("./sql-COK4E0Yg.js"),[],import.meta.url)],engine:t()})})()),Mee}async function nHn(e,t){const n=eHn[t?.toLowerCase()];if(!n)return null;const r=await tHn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function rHn(e){return new BO(eke.define(e))}const tkt=[ig.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return Da(()=>Promise.resolve().then(()=>H6),void 0,import.meta.url).then(e=>e.javascript())}}),ig.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return Da(()=>Promise.resolve().then(()=>A8n),void 0,import.meta.url).then(e=>e.json())}}),ig.of({name:"JSX",extensions:["jsx"],load(){return Da(()=>Promise.resolve().then(()=>H6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),ig.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return Da(()=>Promise.resolve().then(()=>CUn),void 0,import.meta.url).then(e=>e.markdown())}}),ig.of({name:"TSX",extensions:["tsx"],load(){return Da(()=>Promise.resolve().then(()=>H6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),ig.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return Da(()=>Promise.resolve().then(()=>H6),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),ig.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return Da(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>rHn(e.shell))}})];function sHn(e,t=5){if(!e?.properties)return[];const n=[];function r(s,a,i){if(i>t)return;const l=Array.isArray(s.type)?s.type.join(" | "):s.type;if(n.push({path:a,label:a,description:s.description??s.title,type:l}),s.properties)for(const[c,u]of Object.entries(s.properties))r(u,`${a}.${c}`,i+1);if(s.items?.properties)for(const[c,u]of Object.entries(s.items.properties))r(u,`${a}[].${c}`,i+1)}for(const[s,a]of Object.entries(e.properties))r(a,s,1);return n}function aHn(e){const t=sHn(e);return Zwt({override:[iHn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function iHn(e){return t=>{const r=t.state.sliceDoc(Math.max(0,t.pos-50),t.pos).match(/\{\{([a-zA-Z0-9_.\[\]]*)?$/);if(!r)return null;const s=r[1]??"",a=t.pos-s.length,i=s?e.filter(c=>c.path.toLowerCase().startsWith(s.toLowerCase())):e;if(i.length===0)return null;const l=i.map(c=>({label:c.path,displayLabel:c.path,detail:c.type,info:c.description,apply:(u,d,f,p)=>{const v=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:v},selection:{anchor:f+v.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const oHn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,lHn=An.mark({class:"cm-variable-highlight"}),K8e=new owt({regexp:oHn,decoration:()=>lHn}),cHn=Co.fromClass(class{decorations;constructor(e){this.decorations=K8e.createDeco(e)}update(e){this.decorations=K8e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),uHn=cHn;function dHn(){const e=fI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"var(--neutral2)",background:"transparent",foreground:"var(--neutral6)",caret:"var(--neutral6)"},styles:[{tag:[he.className,he.propertyName],color:"var(--neutral6)"},{tag:he.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[he.heading1,he.heading2,he.heading3,he.heading4,he.heading5,he.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:he.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:he.link,color:"var(--accent3)",textDecoration:"underline"},{tag:he.url,color:"var(--accent3)"},{tag:he.monospace,color:"var(--neutral6)"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=At.theme({".cm-editor":{backgroundColor:"transparent"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{color:"var(--neutral3)"},".cm-cursor":{borderLeftColor:"var(--neutral6)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in srgb, var(--accent3) 22%, transparent)"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}});return[e,t]}function fHn(){const e=At.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.8rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--neutral3)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"},"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{background:"color-mix(in srgb, var(--accent3) 22%, transparent) !important"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}}),t=Hg.define([{tag:[he.comment,he.bracket],color:"var(--neutral2)"},{tag:[he.string,he.meta,he.regexp],color:"var(--accent1)"},{tag:[he.atom,he.bool,he.special(he.variableName)],color:"var(--accent6)"},{tag:[he.keyword,he.operator,he.tagName],color:"var(--accent2)"},{tag:[he.function(he.propertyName),he.propertyName],color:"var(--accent5)"},{tag:[he.definition(he.variableName),he.function(he.variableName),he.className,he.attributeName],color:"var(--accent3)"},{tag:[he.variableName,he.number],color:"var(--accent5)"},{tag:[he.name,he.quote],color:"var(--accent1)"},{tag:he.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[he.heading1,he.heading2,he.heading3,he.heading4,he.heading5,he.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[he.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[he.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:he.link,color:"var(--accent3)",textDecoration:"underline"},{tag:he.url,color:"var(--accent3)"},{tag:he.monospace,color:"var(--neutral6)"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:[he.deleted],color:"var(--accent2)"},{tag:he.invalid,color:"var(--error)"},{tag:[he.standard(he.tagName)],color:"var(--accent1)"}]);return[e,J1(t)]}const a0=()=>{const e=q_().resolvedTheme==="dark";return g.useMemo(()=>e?dHn():fHn(),[e])},pHn=co(X("relative overflow-hidden font-mono outline-hidden focus-within:outline-hidden focus:outline-hidden","duration-normal transition-colors ease-out-custom"),{variants:{variant:{default:"rounded-md border border-border1 bg-surface3 p-1 focus-within:border-neutral6/20",embedded:"rounded-none border-none bg-transparent p-0"}},defaultVariants:{variant:"default"}}),hHn=th.highest(At.editorAttributes.of({style:"outline: none"})),mHn=th.highest(At.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),gHn=[hHn,mHn],Hr=g.forwardRef(({data:e,value:t,onChange:n,showCopyButton:r=!0,className:s,language:a="json",highlightVariables:i=!1,placeholder:l,schema:c,autoFocus:u,lineNumbers:d=!0,lineWrapping:f=!0,editable:p,variant:h,...m},v)=>{const y=a0(),b=e?JSON.stringify(e,null,2):t??"",x=g.useMemo(()=>{const S=[...gHn];return f&&S.push(At.lineWrapping),a==="json"?S.push($p):a==="markdown"&&S.push(Eke({base:VO,codeLanguages:tkt})),i&&a==="markdown"&&S.push(uHn),c&&a==="markdown"&&S.push(aHn(c)),p===!1&&S.push(us.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:X(pHn({variant:h}),s),...m,children:[r&&o.jsx(za,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(Yu,{ref:v,value:b,theme:y,extensions:x,onChange:n,editable:p,"aria-label":"Code editor",placeholder:l,height:"100%",style:{height:"100%"},autoFocus:u,basicSetup:{lineNumbers:d}})]})}),vHn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},yHn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=a0(),{settings:r,setSettings:s}=fH(),a=r?.tracingOptions,i=g.useMemo(()=>vHn(a),[a]),[l,c]=g.useState(()=>i),u=g.useRef(!1);g.useEffect(()=>{u.current||c(i)},[i]);const d=p=>{u.current=!0,c(p)},f=()=>{if(!l){s({...r,tracingOptions:void 0}),t?.();return}try{const p=JSON.parse(l);typeof p=="object"&&p!==null&&s({...r,tracingOptions:p})}catch{return}t?.()};return o.jsxs("div",{className:"space-y-2 px-5 py-2",children:[o.jsx(ye,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Yu,{value:l,onChange:d,theme:n,extensions:[$p],className:X("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(le,{type:"button",onClick:f,children:"Save"})})]})},bHn=()=>{const[e,t]=g.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(le,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(Ve,{children:o.jsx(rV,{})})})}),o.jsx(On,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Options"}),o.jsx(zs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Ir,{children:o.jsx(yHn,{onSaved:()=>t(!1)})})]})})]})};function xHn({status:e}){switch(e){case"running":return o.jsx(Jt,{});case"failed":return o.jsx(ws,{className:"text-accent2"});case"canceled":return o.jsx($f,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(hj,{className:"text-neutral3"});case"suspended":return o.jsx(Kq,{className:"text-accent3"});case"success":return o.jsx(da,{className:"text-accent1"});default:return o.jsx(hj,{className:"text-neutral3"})}}function nkt({status:e}){return o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(Ve,{"aria-label":e,className:"shrink-0",children:o.jsx(xHn,{status:e})})}),o.jsx(On,{children:e})]})}var Dee,X8e;function Mke(){if(X8e)return Dee;X8e=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(d){d&&(this._isDirected=Object.hasOwn(d,"directed")?d.directed:!0,this._isMultigraph=Object.hasOwn(d,"multigraph")?d.multigraph:!1,this._isCompound=Object.hasOwn(d,"compound")?d.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(d){return this._label=d,this}graph(){return this._label}setDefaultNodeLabel(d){return this._defaultNodeLabelFn=d,typeof d!="function"&&(this._defaultNodeLabelFn=()=>d),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var d=this;return this.nodes().filter(f=>Object.keys(d._in[f]).length===0)}sinks(){var d=this;return this.nodes().filter(f=>Object.keys(d._out[f]).length===0)}setNodes(d,f){var p=arguments,h=this;return d.forEach(function(m){p.length>1?h.setNode(m,f):h.setNode(m)}),this}setNode(d,f){return Object.hasOwn(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=t,this._children[d]={},this._children[t][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)}node(d){return this._nodes[d]}hasNode(d){return Object.hasOwn(this._nodes,d)}removeNode(d){var f=this;if(Object.hasOwn(this._nodes,d)){var p=h=>f.removeEdge(f._edgeObjs[h]);delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],this.children(d).forEach(function(h){f.setParent(h)}),delete this._children[d]),Object.keys(this._in[d]).forEach(p),delete this._in[d],delete this._preds[d],Object.keys(this._out[d]).forEach(p),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this}setParent(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f===void 0)f=t;else{f+="";for(var p=f;p!==void 0;p=this.parent(p))if(p===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this}_removeFromParentsChildList(d){delete this._children[this._parent[d]][d]}parent(d){if(this._isCompound){var f=this._parent[d];if(f!==t)return f}}children(d=t){if(this._isCompound){var f=this._children[d];if(f)return Object.keys(f)}else{if(d===t)return this.nodes();if(this.hasNode(d))return[]}}predecessors(d){var f=this._preds[d];if(f)return Object.keys(f)}successors(d){var f=this._sucs[d];if(f)return Object.keys(f)}neighbors(d){var f=this.predecessors(d);if(f){const h=new Set(f);for(var p of this.successors(d))h.add(p);return Array.from(h.values())}}isLeaf(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0}filterNodes(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;Object.entries(this._nodes).forEach(function([v,y]){d(v)&&f.setNode(v,y)}),Object.values(this._edgeObjs).forEach(function(v){f.hasNode(v.v)&&f.hasNode(v.w)&&f.setEdge(v,p.edge(v))});var h={};function m(v){var y=p.parent(v);return y===void 0||f.hasNode(y)?(h[v]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(v=>f.setParent(v,m(v))),f}setDefaultEdgeLabel(d){return this._defaultEdgeLabelFn=d,typeof d!="function"&&(this._defaultEdgeLabelFn=()=>d),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(d,f){var p=this,h=arguments;return d.reduce(function(m,v){return h.length>1?p.setEdge(m,v,f):p.setEdge(m,v),v}),this}setEdge(){var d,f,p,h,m=!1,v=arguments[0];typeof v=="object"&&v!==null&&"v"in v?(d=v.v,f=v.w,p=v.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=v,f=arguments[1],p=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),d=""+d,f=""+f,p!==void 0&&(p=""+p);var y=i(this._isDirected,d,f,p);if(Object.hasOwn(this._edgeLabels,y))return m&&(this._edgeLabels[y]=h),this;if(p!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[y]=m?h:this._defaultEdgeLabelFn(d,f,p);var b=l(this._isDirected,d,f,p);return d=b.v,f=b.w,Object.freeze(b),this._edgeObjs[y]=b,s(this._preds[f],d),s(this._sucs[d],f),this._in[f][y]=b,this._out[d][y]=b,this._edgeCount++,this}edge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return this._edgeLabels[h]}edgeAsObj(){const d=this.edge(...arguments);return typeof d!="object"?{label:d}:d}hasEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return Object.hasOwn(this._edgeLabels,h)}removeEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p),m=this._edgeObjs[h];return m&&(d=m.v,f=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],a(this._preds[f],d),a(this._sucs[d],f),delete this._in[f][h],delete this._out[d][h],this._edgeCount--),this}inEdges(d,f){var p=this._in[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.v===f):h}}outEdges(d,f){var p=this._out[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.w===f):h}}nodeEdges(d,f){var p=this.inEdges(d,f);if(p)return p.concat(this.outEdges(d,f))}}function s(u,d){u[d]?u[d]++:u[d]=1}function a(u,d){--u[d]||delete u[d]}function i(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}return h+n+m+n+(p===void 0?e:p)}function l(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}var y={v:h,w:m};return p&&(y.name=p),y}function c(u,d){return i(u,d.v,d.w,d.name)}return Dee=r,Dee}var Lee,J8e;function wHn(){return J8e||(J8e=1,Lee="2.2.4"),Lee}var Fee,e9e;function SHn(){return e9e||(e9e=1,Fee={Graph:Mke(),version:wHn()}),Fee}var zee,t9e;function kHn(){if(t9e)return zee;t9e=1;var e=Mke();zee={write:t,read:s};function t(a){var i={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:n(a),edges:r(a)};return a.graph()!==void 0&&(i.value=structuredClone(a.graph())),i}function n(a){return a.nodes().map(function(i){var l=a.node(i),c=a.parent(i),u={v:i};return l!==void 0&&(u.value=l),c!==void 0&&(u.parent=c),u})}function r(a){return a.edges().map(function(i){var l=a.edge(i),c={v:i.v,w:i.w};return i.name!==void 0&&(c.name=i.name),l!==void 0&&(c.value=l),c})}function s(a){var i=new e(a.options).setGraph(a.value);return a.nodes.forEach(function(l){i.setNode(l.v,l.value),l.parent&&i.setParent(l.v,l.parent)}),a.edges.forEach(function(l){i.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),i}return zee}var Bee,n9e;function OHn(){if(n9e)return Bee;n9e=1,Bee=e;function e(t){var n={},r=[],s;function a(i){Object.hasOwn(n,i)||(n[i]=!0,s.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){s=[],a(i),s.length&&r.push(s)}),r}return Bee}var Uee,r9e;function rkt(){if(r9e)return Uee;r9e=1;class e{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var a=this._arr,i=a.length;return s[n]=i,a.push({key:n,priority:r}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)}_heapify(n){var r=this._arr,s=2*n,a=s+1,i=n;s<r.length&&(i=r[s].priority<r[i].priority?s:i,a<r.length&&(i=r[a].priority<r[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var r=this._arr,s=r[n].priority,a;n!==0&&(a=n>>1,!(r[a].priority<s));)this._swap(n,a),n=a}_swap(n,r){var s=this._arr,a=this._keyIndices,i=s[n],l=s[r];s[n]=l,s[r]=i,a[l.key]=n,a[i.key]=r}}return Uee=e,Uee}var qee,s9e;function skt(){if(s9e)return qee;s9e=1;var e=rkt();qee=n;var t=()=>1;function n(s,a,i,l){return r(s,String(a),i||t,l||function(c){return s.outEdges(c)})}function r(s,a,i,l){var c={},u=new e,d,f,p=function(h){var m=h.v!==d?h.v:h.w,v=c[m],y=i(h),b=f.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);b<v.distance&&(v.distance=b,v.predecessor=d,u.decrease(m,b))};for(s.nodes().forEach(function(h){var m=h===a?0:Number.POSITIVE_INFINITY;c[h]={distance:m},u.add(h,m)});u.size()>0&&(d=u.removeMin(),f=c[d],f.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(p);return c}return qee}var Vee,a9e;function _Hn(){if(a9e)return Vee;a9e=1;var e=skt();Vee=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return Vee}var Hee,i9e;function akt(){if(i9e)return Hee;i9e=1,Hee=e;function e(t){var n=0,r=[],s={},a=[];function i(l){var c=s[l]={onStack:!0,lowlink:n,index:n++};if(r.push(l),t.successors(l).forEach(function(f){Object.hasOwn(s,f)?s[f].onStack&&(c.lowlink=Math.min(c.lowlink,s[f].index)):(i(f),c.lowlink=Math.min(c.lowlink,s[f].lowlink))}),c.lowlink===c.index){var u=[],d;do d=r.pop(),s[d].onStack=!1,u.push(d);while(l!==d);a.push(u)}}return t.nodes().forEach(function(l){Object.hasOwn(s,l)||i(l)}),a}return Hee}var Wee,o9e;function CHn(){if(o9e)return Wee;o9e=1;var e=akt();Wee=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return Wee}var Zee,l9e;function EHn(){if(l9e)return Zee;l9e=1,Zee=t;var e=()=>1;function t(r,s,a){return n(r,s||e,a||function(i){return r.outEdges(i)})}function n(r,s,a){var i={},l=r.nodes();return l.forEach(function(c){i[c]={},i[c][c]={distance:0},l.forEach(function(u){c!==u&&(i[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var d=u.v===c?u.w:u.v,f=s(u);i[c][d]={distance:f,predecessor:c}})}),l.forEach(function(c){var u=i[c];l.forEach(function(d){var f=i[d];l.forEach(function(p){var h=f[c],m=u[p],v=f[p],y=h.distance+m.distance;y<v.distance&&(v.distance=y,v.predecessor=m.predecessor)})})}),i}return Zee}var Gee,c9e;function ikt(){if(c9e)return Gee;c9e=1;function e(n){var r={},s={},a=[];function i(l){if(Object.hasOwn(s,l))throw new t;Object.hasOwn(r,l)||(s[l]=!0,r[l]=!0,n.predecessors(l).forEach(i),delete s[l],a.push(l))}if(n.sinks().forEach(i),Object.keys(r).length!==n.nodeCount())throw new t;return a}class t extends Error{constructor(){super(...arguments)}}return Gee=e,e.CycleException=t,Gee}var Qee,u9e;function THn(){if(u9e)return Qee;u9e=1;var e=ikt();Qee=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Qee}var Yee,d9e;function okt(){if(d9e)return Yee;d9e=1,Yee=e;function e(s,a,i){Array.isArray(a)||(a=[a]);var l=s.isDirected()?f=>s.successors(f):f=>s.neighbors(f),c=i==="post"?t:n,u=[],d={};return a.forEach(f=>{if(!s.hasNode(f))throw new Error("Graph does not have node: "+f);c(f,l,d,u)}),u}function t(s,a,i,l){for(var c=[[s,!1]];c.length>0;){var u=c.pop();u[1]?l.push(u[0]):Object.hasOwn(i,u[0])||(i[u[0]]=!0,c.push([u[0],!0]),r(a(u[0]),d=>c.push([d,!1])))}}function n(s,a,i,l){for(var c=[s];c.length>0;){var u=c.pop();Object.hasOwn(i,u)||(i[u]=!0,l.push(u),r(a(u),d=>c.push(d)))}}function r(s,a){for(var i=s.length;i--;)a(s[i],i,s);return s}return Yee}var Kee,f9e;function jHn(){if(f9e)return Kee;f9e=1;var e=okt();Kee=t;function t(n,r){return e(n,r,"post")}return Kee}var Xee,p9e;function NHn(){if(p9e)return Xee;p9e=1;var e=okt();Xee=t;function t(n,r){return e(n,r,"pre")}return Xee}var Jee,h9e;function IHn(){if(h9e)return Jee;h9e=1;var e=Mke(),t=rkt();Jee=n;function n(r,s){var a=new e,i={},l=new t,c;function u(f){var p=f.v===c?f.w:f.v,h=l.priority(p);if(h!==void 0){var m=s(f);m<h&&(i[p]=c,l.decrease(p,m))}}if(r.nodeCount()===0)return a;r.nodes().forEach(function(f){l.add(f,Number.POSITIVE_INFINITY),a.setNode(f)}),l.decrease(r.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),Object.hasOwn(i,c))a.setEdge(c,i[c]);else{if(d)throw new Error("Input graph is not connected: "+r);d=!0}r.nodeEdges(c).forEach(u)}return a}return Jee}var ete,m9e;function AHn(){return m9e||(m9e=1,ete={components:OHn(),dijkstra:skt(),dijkstraAll:_Hn(),findCycles:CHn(),floydWarshall:EHn(),isAcyclic:THn(),postorder:jHn(),preorder:NHn(),prim:IHn(),tarjan:akt(),topsort:ikt()}),ete}var tte,g9e;function Fg(){if(g9e)return tte;g9e=1;var e=SHn();return tte={Graph:e.Graph,json:kHn(),alg:AHn(),version:e.version},tte}var nte,v9e;function RHn(){if(v9e)return nte;v9e=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,a=s._prev;if(a!==s)return t(a),a}enqueue(s){let a=this._sentinel;s._prev&&s._next&&t(s),s._next=a._next,a._next._prev=s,a._next=s,s._prev=a}toString(){let s=[],a=this._sentinel,i=a._prev;for(;i!==a;)s.push(JSON.stringify(i,n)),i=i._prev;return"["+s.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,s){if(r!=="_next"&&r!=="_prev")return s}return nte=e,nte}var rte,y9e;function PHn(){if(y9e)return rte;y9e=1;let e=Fg().Graph,t=RHn();rte=r;let n=()=>1;function r(u,d){if(u.nodeCount()<=1)return[];let f=i(u,d||n);return s(f.graph,f.buckets,f.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function s(u,d,f){let p=[],h=d[d.length-1],m=d[0],v;for(;u.nodeCount();){for(;v=m.dequeue();)a(u,d,f,v);for(;v=h.dequeue();)a(u,d,f,v);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(v=d[y].dequeue(),v){p=p.concat(a(u,d,f,v,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(v=>{let y=u.edge(v),b=u.node(v.v);h&&m.push({v:v.v,w:v.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(v=>{let y=u.edge(v),b=v.w,x=u.node(b);x.in-=y,l(d,f,x)}),u.removeNode(p.v),m}function i(u,d){let f=new e,p=0,h=0;u.nodes().forEach(y=>{f.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let b=f.edge(y.v,y.w)||0,x=d(y),S=b+x;f.setEdge(y.v,y.w,S),h=Math.max(h,f.node(y.v).out+=x),p=Math.max(p,f.node(y.w).in+=x)});let m=c(h+p+3).map(()=>new t),v=p+1;return f.nodes().forEach(y=>{l(m,v,f.node(y))}),{graph:f,buckets:m,zeroIdx:v}}function l(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}function c(u){const d=[];for(let f=0;f<u;f++)d.push(f);return d}return rte}var ste,b9e;function Ml(){if(b9e)return ste;b9e=1;let e=Fg().Graph;ste={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:_,maxRank:m,normalizeRanks:c,notime:b,partition:v,pick:C,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:E};function t(T,N,I,A){for(var R=A;T.hasNode(R);)R=S(A);return I.dummy=N,T.setNode(R,I),R}function n(T){let N=new e().setGraph(T.graph());return T.nodes().forEach(I=>N.setNode(I,T.node(I))),T.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=T.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(T){let N=new e({multigraph:T.isMultigraph()}).setGraph(T.graph());return T.nodes().forEach(I=>{T.children(I).length||N.setNode(I,T.node(I))}),T.edges().forEach(I=>{N.setEdge(I,T.edge(I))}),N}function s(T){let N=T.nodes().map(I=>{let A={};return T.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+T.edge(R).weight}),A});return E(T.nodes(),N)}function a(T){let N=T.nodes().map(I=>{let A={};return T.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+T.edge(R).weight}),A});return E(T.nodes(),N)}function i(T,N){let I=T.x,A=T.y,R=N.x-I,L=N.y-A,D=T.width/2,F=T.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,B;return Math.abs(L)*D>Math.abs(R)*F?(L<0&&(F=-F),H=F*R/L,B=F):(R<0&&(D=-D),H=D,B=D*L/R),{x:I+H,y:A+B}}function l(T){let N=k(m(T)+1).map(()=>[]);return T.nodes().forEach(I=>{let A=T.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(T){let N=T.nodes().map(A=>{let R=T.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);T.nodes().forEach(A=>{let R=T.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(T){let N=T.nodes().map(D=>T.node(D).rank),I=h(Math.min,N),A=[];T.nodes().forEach(D=>{let F=T.node(D).rank-I;A[F]||(A[F]=[]),A[F].push(D)});let R=0,L=T.graph().nodeRankFactor;Array.from(A).forEach((D,F)=>{D===void 0&&F%L!==0?--R:D!==void 0&&R&&D.forEach(H=>T.node(H).rank+=R)})}function d(T,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(T,"border",R,N)}function f(T,N=p){const I=[];for(let A=0;A<T.length;A+=N){const R=T.slice(A,A+N);I.push(R)}return I}const p=65535;function h(T,N){if(N.length>p){const I=f(N);return T.apply(null,I.map(A=>T.apply(null,A)))}else return T.apply(null,N)}function m(T){const I=T.nodes().map(A=>{let R=T.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function v(T,N){let I={lhs:[],rhs:[]};return T.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(T,N){let I=Date.now();try{return N()}finally{console.log(T+" time: "+(Date.now()-I)+"ms")}}function b(T,N){return N()}let x=0;function S(T){var N=++x;return T+(""+N)}function k(T,N,I=1){N==null&&(N=T,T=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=T;A(L);L+=I)R.push(L);return R}function C(T,N){const I={};for(const A of N)T[A]!==void 0&&(I[A]=T[A]);return I}function _(T,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(T).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function E(T,N){return T.reduce((I,A,R)=>(I[A]=N[R],I),{})}return ste}var ate,x9e;function $Hn(){if(x9e)return ate;x9e=1;let e=PHn(),t=Ml().uniqueId;ate={run:n,undo:s};function n(a){(a.graph().acyclicer==="greedy"?e(a,l(a)):r(a)).forEach(c=>{let u=a.edge(c);a.removeEdge(c),u.forwardName=c.name,u.reversed=!0,a.setEdge(c.w,c.v,u,t("rev"))});function l(c){return u=>c.edge(u).weight}}function r(a){let i=[],l={},c={};function u(d){Object.hasOwn(c,d)||(c[d]=!0,l[d]=!0,a.outEdges(d).forEach(f=>{Object.hasOwn(l,f.w)?i.push(f):u(f.w)}),delete l[d])}return a.nodes().forEach(u),i}function s(a){a.edges().forEach(i=>{let l=a.edge(i);if(l.reversed){a.removeEdge(i);let c=l.forwardName;delete l.reversed,delete l.forwardName,a.setEdge(i.w,i.v,l,c)}})}return ate}var ite,w9e;function MHn(){if(w9e)return ite;w9e=1;let e=Ml();ite={run:t,undo:r};function t(s){s.graph().dummyChains=[],s.edges().forEach(a=>n(s,a))}function n(s,a){let i=a.v,l=s.node(i).rank,c=a.w,u=s.node(c).rank,d=a.name,f=s.edge(a),p=f.labelRank;if(u===l+1)return;s.removeEdge(a);let h,m,v;for(v=0,++l;l<u;++v,++l)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},h=e.addDummyNode(s,"edge",m,"_d"),l===p&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),s.setEdge(i,h,{weight:f.weight},d),v===0&&s.graph().dummyChains.push(h),i=h;s.setEdge(i,c,{weight:f.weight},d)}function r(s){s.graph().dummyChains.forEach(a=>{let i=s.node(a),l=i.edgeLabel,c;for(s.setEdge(i.edgeObj,l);i.dummy;)c=s.successors(a)[0],s.removeNode(a),l.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(l.x=i.x,l.y=i.y,l.width=i.width,l.height=i.height),a=c,i=s.node(a)})}return ite}var ote,S9e;function IB(){if(S9e)return ote;S9e=1;const{applyWithChunking:e}=Ml();ote={longestPath:t,slack:n};function t(r){var s={};function a(i){var l=r.node(i);if(Object.hasOwn(s,i))return l.rank;s[i]=!0;let c=r.outEdges(i).map(d=>d==null?Number.POSITIVE_INFINITY:a(d.w)-r.edge(d).minlen);var u=e(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),l.rank=u}r.sources().forEach(a)}function n(r,s){return r.node(s.w).rank-r.node(s.v).rank-r.edge(s).minlen}return ote}var lte,k9e;function lkt(){if(k9e)return lte;k9e=1;var e=Fg().Graph,t=IB().slack;lte=n;function n(i){var l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(var d,f;r(l,i)<u;)d=s(l,i),f=l.hasNode(d.v)?t(i,d):-t(i,d),a(l,i,f);return l}function r(i,l){function c(u){l.nodeEdges(u).forEach(d=>{var f=d.v,p=u===f?d.w:f;!i.hasNode(p)&&!t(l,d)&&(i.setNode(p,{}),i.setEdge(u,p,{}),c(p))})}return i.nodes().forEach(c),i.nodeCount()}function s(i,l){return l.edges().reduce((u,d)=>{let f=Number.POSITIVE_INFINITY;return i.hasNode(d.v)!==i.hasNode(d.w)&&(f=t(l,d)),f<u[0]?[f,d]:u},[Number.POSITIVE_INFINITY,null])[1]}function a(i,l,c){i.nodes().forEach(u=>l.node(u).rank+=c)}return lte}var cte,O9e;function DHn(){if(O9e)return cte;O9e=1;var e=lkt(),t=IB().slack,n=IB().longestPath,r=Fg().alg.preorder,s=Fg().alg.postorder,a=Ml().simplify;cte=i,i.initLowLimValues=d,i.initCutValues=l,i.calcCutValue=u,i.leaveEdge=p,i.enterEdge=h,i.exchangeEdges=m;function i(x){x=a(x),n(x);var S=e(x);d(S),l(S,x);for(var k,C;k=p(S);)C=h(S,x,k),m(S,x,k,C)}function l(x,S){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(C=>c(x,S,C))}function c(x,S,k){var C=x.node(k),_=C.parent;x.edge(k,_).cutvalue=u(x,S,k)}function u(x,S,k){var C=x.node(k),_=C.parent,E=!0,T=S.edge(k,_),N=0;return T||(E=!1,T=S.edge(_,k)),N=T.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==_){var L=A===E,D=S.edge(I).weight;if(N+=L?D:-D,y(x,k,R)){var F=x.edge(k,R).cutvalue;N+=L?-F:F}}}),N}function d(x,S){arguments.length<2&&(S=x.nodes()[0]),f(x,{},1,S)}function f(x,S,k,C,_){var E=k,T=x.node(C);return S[C]=!0,x.neighbors(C).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,C))}),T.low=E,T.lim=k++,_?T.parent=_:delete T.parent,k}function p(x){return x.edges().find(S=>x.edge(S).cutvalue<0)}function h(x,S,k){var C=k.v,_=k.w;S.hasEdge(C,_)||(C=k.w,_=k.v);var E=x.node(C),T=x.node(_),N=E,I=!1;E.lim>T.lim&&(N=T,I=!0);var A=S.edges().filter(R=>I===b(x,x.node(R.v),N)&&I!==b(x,x.node(R.w),N));return A.reduce((R,L)=>t(S,L)<t(S,R)?L:R)}function m(x,S,k,C){var _=k.v,E=k.w;x.removeEdge(_,E),x.setEdge(C.v,C.w,{}),d(x),l(x,S),v(x,S)}function v(x,S){var k=x.nodes().find(_=>!S.node(_).parent),C=r(x,k);C=C.slice(1),C.forEach(_=>{var E=x.node(_).parent,T=S.edge(_,E),N=!1;T||(T=S.edge(E,_),N=!0),S.node(_).rank=S.node(E).rank+(N?T.minlen:-T.minlen)})}function y(x,S,k){return x.hasEdge(S,k)}function b(x,S,k){return k.low<=S.lim&&S.lim<=k.lim}return cte}var ute,_9e;function LHn(){if(_9e)return ute;_9e=1;var e=IB(),t=e.longestPath,n=lkt(),r=DHn();ute=s;function s(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":i(c);break;case"longest-path":a(c);break;case"none":break;default:l(c)}}var a=t;function i(c){t(c),n(c)}function l(c){r(c)}return ute}var dte,C9e;function FHn(){if(C9e)return dte;C9e=1,dte=e;function e(r){let s=n(r);r.graph().dummyChains.forEach(a=>{let i=r.node(a),l=i.edgeObj,c=t(r,s,l.v,l.w),u=c.path,d=c.lca,f=0,p=u[f],h=!0;for(;a!==l.w;){if(i=r.node(a),h){for(;(p=u[f])!==d&&r.node(p).maxRank<i.rank;)f++;p===d&&(h=!1)}if(!h){for(;f<u.length-1&&r.node(p=u[f+1]).minRank<=i.rank;)f++;p=u[f]}r.setParent(a,p),a=r.successors(a)[0]}})}function t(r,s,a,i){let l=[],c=[],u=Math.min(s[a].low,s[i].low),d=Math.max(s[a].lim,s[i].lim),f,p;f=a;do f=r.parent(f),l.push(f);while(f&&(s[f].low>u||d>s[f].lim));for(p=f,f=i;(f=r.parent(f))!==p;)c.push(f);return{path:l.concat(c.reverse()),lca:p}}function n(r){let s={},a=0;function i(l){let c=a;r.children(l).forEach(i),s[l]={low:c,lim:a++}}return r.children().forEach(i),s}return dte}var fte,E9e;function zHn(){if(E9e)return fte;E9e=1;let e=Ml();fte={run:t,cleanup:a};function t(i){let l=e.addDummyNode(i,"root",{},"_root"),c=r(i),u=Object.values(c),d=e.applyWithChunking(Math.max,u)-1,f=2*d+1;i.graph().nestingRoot=l,i.edges().forEach(h=>i.edge(h).minlen*=f);let p=s(i)+1;i.children().forEach(h=>n(i,l,f,p,d,c,h)),i.graph().nodeRankFactor=f}function n(i,l,c,u,d,f,p){let h=i.children(p);if(!h.length){p!==l&&i.setEdge(l,p,{weight:0,minlen:c});return}let m=e.addBorderNode(i,"_bt"),v=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(v,p),y.borderBottom=v,h.forEach(b=>{n(i,l,c,u,d,f,b);let x=i.node(b),S=x.borderTop?x.borderTop:b,k=x.borderBottom?x.borderBottom:b,C=x.borderTop?u:2*u,_=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:C,minlen:_,nestingEdge:!0}),i.setEdge(k,v,{weight:C,minlen:_,nestingEdge:!0})}),i.parent(p)||i.setEdge(l,m,{weight:0,minlen:d+f[p]})}function r(i){var l={};function c(u,d){var f=i.children(u);f&&f.length&&f.forEach(p=>c(p,d+1)),l[u]=d}return i.children().forEach(u=>c(u,1)),l}function s(i){return i.edges().reduce((l,c)=>l+i.edge(c).weight,0)}function a(i){var l=i.graph();i.removeNode(l.nestingRoot),delete l.nestingRoot,i.edges().forEach(c=>{var u=i.edge(c);u.nestingEdge&&i.removeEdge(c)})}return fte}var pte,T9e;function BHn(){if(T9e)return pte;T9e=1;let e=Ml();pte=t;function t(r){function s(a){let i=r.children(a),l=r.node(a);if(i.length&&i.forEach(s),Object.hasOwn(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(let c=l.minRank,u=l.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",a,l,c),n(r,"borderRight","_br",a,l,c)}}r.children().forEach(s)}function n(r,s,a,i,l,c){let u={width:0,height:0,rank:c,borderType:s},d=l[s][c-1],f=e.addDummyNode(r,"border",u,a);l[s][c]=f,r.setParent(f,i),d&&r.setEdge(d,f,{weight:1})}return pte}var hte,j9e;function UHn(){if(j9e)return hte;j9e=1,hte={adjust:e,undo:t};function e(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&s(c),(u==="lr"||u==="rl")&&(i(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function s(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(a),Object.hasOwn(d,"y")&&a(d)})}function a(c){c.y=-c.y}function i(c){c.nodes().forEach(u=>l(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(l),Object.hasOwn(d,"x")&&l(d)})}function l(c){let u=c.x;c.x=c.y,c.y=u}return hte}var mte,N9e;function qHn(){if(N9e)return mte;N9e=1;let e=Ml();mte=t;function t(n){let r={},s=n.nodes().filter(d=>!n.children(d).length),a=s.map(d=>n.node(d).rank),i=e.applyWithChunking(Math.max,a),l=e.range(i+1).map(()=>[]);function c(d){if(r[d])return;r[d]=!0;let f=n.node(d);l[f.rank].push(d),n.successors(d).forEach(c)}return s.sort((d,f)=>n.node(d).rank-n.node(f).rank).forEach(c),l}return mte}var gte,I9e;function VHn(){if(I9e)return gte;I9e=1;let e=Ml().zipObject;gte=t;function t(r,s){let a=0;for(let i=1;i<s.length;++i)a+=n(r,s[i-1],s[i]);return a}function n(r,s,a){let i=e(a,a.map((p,h)=>h)),l=s.flatMap(p=>r.outEdges(p).map(h=>({pos:i[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),c=1;for(;c<a.length;)c<<=1;let u=2*c-1;c-=1;let d=new Array(u).fill(0),f=0;return l.forEach(p=>{let h=p.pos+c;d[h]+=p.weight;let m=0;for(;h>0;)h%2&&(m+=d[h+1]),h=h-1>>1,d[h]+=p.weight;f+=p.weight*m}),f}return gte}var vte,A9e;function HHn(){if(A9e)return vte;A9e=1,vte=e;function e(t,n=[]){return n.map(r=>{let s=t.inEdges(r);if(s.length){let a=s.reduce((i,l)=>{let c=t.edge(l),u=t.node(l.v);return{sum:i.sum+c.weight*u.order,weight:i.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}return vte}var yte,R9e;function WHn(){if(R9e)return yte;R9e=1;let e=Ml();yte=t;function t(s,a){let i={};s.forEach((c,u)=>{let d=i[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(d.barycenter=c.barycenter,d.weight=c.weight)}),a.edges().forEach(c=>{let u=i[c.v],d=i[c.w];u!==void 0&&d!==void 0&&(d.indegree++,u.out.push(i[c.w]))});let l=Object.values(i).filter(c=>!c.indegree);return n(l)}function n(s){let a=[];function i(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function l(c){return u=>{u.in.push(c),--u.indegree===0&&s.push(u)}}for(;s.length;){let c=s.pop();a.push(c),c.in.reverse().forEach(i(c)),c.out.forEach(l(c))}return a.filter(c=>!c.merged).map(c=>e.pick(c,["vs","i","barycenter","weight"]))}function r(s,a){let i=0,l=0;s.weight&&(i+=s.barycenter*s.weight,l+=s.weight),a.weight&&(i+=a.barycenter*a.weight,l+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=i/l,s.weight=l,s.i=Math.min(a.i,s.i),a.merged=!0}return yte}var bte,P9e;function ZHn(){if(P9e)return bte;P9e=1;let e=Ml();bte=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,v)=>v.i-m.i),u=[],d=0,f=0,p=0;l.sort(r(!!a)),p=n(u,c,p),l.forEach(m=>{p+=m.vs.length,u.push(m.vs),d+=m.barycenter*m.weight,f+=m.weight,p=n(u,c,p)});let h={vs:u.flat(!0)};return f&&(h.barycenter=d/f,h.weight=f),h}function n(s,a,i){let l;for(;a.length&&(l=a[a.length-1]).i<=i;)a.pop(),s.push(l.vs),i++;return i}function r(s){return(a,i)=>a.barycenter<i.barycenter?-1:a.barycenter>i.barycenter?1:s?i.i-a.i:a.i-i.i}return bte}var xte,$9e;function GHn(){if($9e)return xte;$9e=1;let e=HHn(),t=WHn(),n=ZHn();xte=r;function r(i,l,c,u){let d=i.children(l),f=i.node(l),p=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,m={};p&&(d=d.filter(x=>x!==p&&x!==h));let v=e(i,d);v.forEach(x=>{if(i.children(x.v).length){let S=r(i,x.v,c,u);m[x.v]=S,Object.hasOwn(S,"barycenter")&&a(x,S)}});let y=t(v,c);s(y,m);let b=n(y,u);if(p&&(b.vs=[p,b.vs,h].flat(!0),i.predecessors(p).length)){let x=i.node(i.predecessors(p)[0]),S=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+x.order+S.order)/(b.weight+2),b.weight+=2}return b}function s(i,l){i.forEach(c=>{c.vs=c.vs.flatMap(u=>l[u]?l[u].vs:u)})}function a(i,l){i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+l.barycenter*l.weight)/(i.weight+l.weight),i.weight+=l.weight):(i.barycenter=l.barycenter,i.weight=l.weight)}return xte}var wte,M9e;function QHn(){if(M9e)return wte;M9e=1;let e=Fg().Graph,t=Ml();wte=n;function n(s,a,i,l){l||(l=s.nodes());let c=r(s),u=new e({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(d=>s.node(d));return l.forEach(d=>{let f=s.node(d),p=s.parent(d);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(u.setNode(d),u.setParent(d,p||c),s[i](d).forEach(h=>{let m=h.v===d?h.w:h.v,v=u.edge(m,d),y=v!==void 0?v.weight:0;u.setEdge(m,d,{weight:s.edge(h).weight+y})}),Object.hasOwn(f,"minRank")&&u.setNode(d,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),u}function r(s){for(var a;s.hasNode(a=t.uniqueId("_root")););return a}return wte}var Ste,D9e;function YHn(){if(D9e)return Ste;D9e=1,Ste=e;function e(t,n,r){let s={},a;r.forEach(i=>{let l=t.parent(i),c,u;for(;l;){if(c=t.parent(l),c?(u=s[c],s[c]=l):(u=a,a=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return Ste}var kte,L9e;function KHn(){if(L9e)return kte;L9e=1;let e=qHn(),t=VHn(),n=GHn(),r=QHn(),s=YHn(),a=Fg().Graph,i=Ml();kte=l;function l(f,p){if(p&&typeof p.customOrder=="function"){p.customOrder(f,l);return}let h=i.maxRank(f),m=c(f,i.range(1,h+1),"inEdges"),v=c(f,i.range(h-1,-1,-1),"outEdges"),y=e(f);if(d(f,y),p&&p.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,x;for(let S=0,k=0;k<4;++S,++k){u(S%2?m:v,S%4>=2),y=i.buildLayerMatrix(f);let C=t(f,y);C<b&&(k=0,x=Object.assign({},y),b=C)}d(f,x)}function c(f,p,h){const m=new Map,v=(y,b)=>{m.has(y)||m.set(y,[]),m.get(y).push(b)};for(const y of f.nodes()){const b=f.node(y);if(typeof b.rank=="number"&&v(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&v(x,y)}return p.map(function(y){return r(f,y,h,m.get(y)||[])})}function u(f,p){let h=new a;f.forEach(function(m){let v=m.graph().root,y=n(m,v,h,p);y.vs.forEach((b,x)=>m.node(b).order=x),s(m,h,y.vs)})}function d(f,p){Object.values(p).forEach(h=>h.forEach((m,v)=>f.node(m).order=v))}return kte}var Ote,F9e;function XHn(){if(F9e)return Ote;F9e=1;let e=Fg().Graph,t=Ml();Ote={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:i,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:f,findSmallestWidthAlignment:d,balance:p};function n(y,b){let x={};function S(k,C){let _=0,E=0,T=k.length,N=C[C.length-1];return C.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:T;(R||I===N)&&(C.slice(E,A+1).forEach(D=>{y.predecessors(D).forEach(F=>{let H=y.node(F),B=H.order;(B<_||L<B)&&!(H.dummy&&y.node(D).dummy)&&a(x,F,D)})}),E=A+1,_=L)}),C}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(C,_,E,T,N){let I;t.range(_,E).forEach(A=>{I=C[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<T||L.order>N)&&a(x,R,I)})})}function k(C,_){let E=-1,T,N=0;return _.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(T=y.node(R[0]).order,S(_,N,A,E,T),N=A,E=T)}S(_,N,_.length,T,C.length)}),_}return b.length&&b.reduce(k),x}function s(y,b){if(y.node(b).dummy)return y.predecessors(b).find(x=>y.node(x).dummy)}function a(y,b,x){if(b>x){let k=b;b=x,x=k}let S=y[b];S||(y[b]=S={}),S[x]=!0}function i(y,b,x){if(b>x){let S=b;b=x,x=S}return!!y[b]&&Object.hasOwn(y[b],x)}function l(y,b,x,S){let k={},C={},_={};return b.forEach(E=>{E.forEach((T,N)=>{k[T]=T,C[T]=T,_[T]=N})}),b.forEach(E=>{let T=-1;E.forEach(N=>{let I=S(N);if(I.length){I=I.sort((R,L)=>_[R]-_[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];C[N]===N&&T<_[D]&&!i(x,N,D)&&(C[D]=N,C[N]=k[N]=k[D],T=_[D])}}})}),{root:k,align:C}}function c(y,b,x,S,k){let C={},_=u(y,b,x,k),E=k?"borderLeft":"borderRight";function T(A,R){let L=_.nodes(),D=L.pop(),F={};for(;D;)F[D]?A(D):(F[D]=!0,L.push(D),L=L.concat(R(D))),D=L.pop()}function N(A){C[A]=_.inEdges(A).reduce((R,L)=>Math.max(R,C[L.v]+_.edge(L)),0)}function I(A){let R=_.outEdges(A).reduce((D,F)=>Math.min(D,C[F.w]-_.edge(F)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==E&&(C[A]=Math.max(C[A],R))}return T(N,_.predecessors.bind(_)),T(I,_.successors.bind(_)),Object.keys(S).forEach(A=>C[A]=C[x[A]]),C}function u(y,b,x,S){let k=new e,C=y.graph(),_=m(C.nodesep,C.edgesep,S);return b.forEach(E=>{let T;E.forEach(N=>{let I=x[N];if(k.setNode(I),T){var A=x[T],R=k.edge(A,I);k.setEdge(A,I,Math.max(_(y,N,T),R||0))}T=N})}),k}function d(y,b){return Object.values(b).reduce((x,S)=>{let k=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([E,T])=>{let N=v(y,E)/2;k=Math.max(T+N,k),C=Math.min(T-N,C)});const _=k-C;return _<x[0]&&(x=[_,S]),x},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let x=Object.values(b),S=t.applyWithChunking(Math.min,x),k=t.applyWithChunking(Math.max,x);["u","d"].forEach(C=>{["l","r"].forEach(_=>{let E=C+_,T=y[E];if(T===b)return;let N=Object.values(T),I=S-t.applyWithChunking(Math.min,N);_!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[E]=t.mapValues(T,A=>A+I))})})}function p(y,b){return t.mapValues(y.ul,(x,S)=>{if(b)return y[b.toLowerCase()][S];{let k=Object.values(y).map(C=>C[S]).sort((C,_)=>C-_);return(k[1]+k[2])/2}})}function h(y){let b=t.buildLayerMatrix(y),x=Object.assign(n(y,b),r(y,b)),S={},k;["u","d"].forEach(_=>{k=_==="u"?b:Object.values(b).reverse(),["l","r"].forEach(E=>{E==="r"&&(k=k.map(A=>Object.values(A).reverse()));let T=(_==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,T),I=c(y,k,N.root,N.align,E==="r");E==="r"&&(I=t.mapValues(I,A=>-A)),S[_+E]=I})});let C=d(y,S);return f(S,C),p(S,y.graph().align)}function m(y,b,x){return(S,k,C)=>{let _=S.node(k),E=S.node(C),T=0,N;if(T+=_.width/2,Object.hasOwn(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":N=-_.width/2;break;case"r":N=_.width/2;break}if(N&&(T+=x?N:-N),N=0,T+=(_.dummy?b:y)/2,T+=(E.dummy?b:y)/2,T+=E.width/2,Object.hasOwn(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":N=E.width/2;break;case"r":N=-E.width/2;break}return N&&(T+=x?N:-N),N=0,T}}function v(y,b){return y.node(b).width}return Ote}var _te,z9e;function JHn(){if(z9e)return _te;z9e=1;let e=Ml(),t=XHn().positionX;_te=n;function n(s){s=e.asNonCompoundGraph(s),r(s),Object.entries(t(s)).forEach(([a,i])=>s.node(a).x=i)}function r(s){let a=e.buildLayerMatrix(s),i=s.graph().ranksep,l=0;a.forEach(c=>{const u=c.reduce((d,f)=>{const p=s.node(f).height;return d>p?d:p},0);c.forEach(d=>s.node(d).y=l+u/2),l+=u+i})}return _te}var Cte,B9e;function eWn(){if(B9e)return Cte;B9e=1;let e=$Hn(),t=MHn(),n=LHn(),r=Ml().normalizeRanks,s=FHn(),a=Ml().removeEmptyRanks,i=zHn(),l=BHn(),c=UHn(),u=KHn(),d=JHn(),f=Ml(),p=Fg().Graph;Cte=h;function h($,z){let Z=z&&z.debugTiming?f.time:f.notime;Z("layout",()=>{let K=Z(" buildLayoutGraph",()=>T($));Z(" runLayout",()=>m(K,Z,z)),Z(" updateInputGraph",()=>v($,K))})}function m($,z,Z){z(" makeSpaceForEdgeLabels",()=>N($)),z(" removeSelfEdges",()=>U($)),z(" acyclic",()=>e.run($)),z(" nestingGraph.run",()=>i.run($)),z(" rank",()=>n(f.asNonCompoundGraph($))),z(" injectEdgeLabelProxies",()=>I($)),z(" removeEmptyRanks",()=>a($)),z(" nestingGraph.cleanup",()=>i.cleanup($)),z(" normalizeRanks",()=>r($)),z(" assignRankMinMax",()=>A($)),z(" removeEdgeLabelProxies",()=>R($)),z(" normalize.run",()=>t.run($)),z(" parentDummyChains",()=>s($)),z(" addBorderSegments",()=>l($)),z(" order",()=>u($,Z)),z(" insertSelfEdges",()=>q($)),z(" adjustCoordinateSystem",()=>c.adjust($)),z(" position",()=>d($)),z(" positionSelfEdges",()=>M($)),z(" removeBorderNodes",()=>B($)),z(" normalize.undo",()=>t.undo($)),z(" fixupEdgeLabelCoords",()=>F($)),z(" undoCoordinateSystem",()=>c.undo($)),z(" translateGraph",()=>L($)),z(" assignNodeIntersects",()=>D($)),z(" reversePoints",()=>H($)),z(" acyclic.undo",()=>e.undo($))}function v($,z){$.nodes().forEach(Z=>{let K=$.node(Z),ne=z.node(Z);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,z.children(Z).length&&(K.width=ne.width,K.height=ne.height))}),$.edges().forEach(Z=>{let K=$.edge(Z),ne=z.edge(Z);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),$.graph().width=z.graph().width,$.graph().height=z.graph().height}let y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},x=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},C=["minlen","weight","width","height","labeloffset"],_={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function T($){let z=new p({multigraph:!0,compound:!0}),Z=V($.graph());return z.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,x))),$.nodes().forEach(K=>{let ne=V($.node(K));const ee=G(ne,S);Object.keys(k).forEach(J=>{ee[J]===void 0&&(ee[J]=k[J])}),z.setNode(K,ee),z.setParent(K,$.parent(K))}),$.edges().forEach(K=>{let ne=V($.edge(K));z.setEdge(K,Object.assign({},_,G(ne,C),f.pick(ne,E)))}),z}function N($){let z=$.graph();z.ranksep/=2,$.edges().forEach(Z=>{let K=$.edge(Z);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(z.rankdir==="TB"||z.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function I($){$.edges().forEach(z=>{let Z=$.edge(z);if(Z.width&&Z.height){let K=$.node(z.v),ee={rank:($.node(z.w).rank-K.rank)/2+K.rank,e:z};f.addDummyNode($,"edge-proxy",ee,"_ep")}})}function A($){let z=0;$.nodes().forEach(Z=>{let K=$.node(Z);K.borderTop&&(K.minRank=$.node(K.borderTop).rank,K.maxRank=$.node(K.borderBottom).rank,z=Math.max(z,K.maxRank))}),$.graph().maxRank=z}function R($){$.nodes().forEach(z=>{let Z=$.node(z);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(z))})}function L($){let z=Number.POSITIVE_INFINITY,Z=0,K=Number.POSITIVE_INFINITY,ne=0,ee=$.graph(),J=ee.marginx||0,ae=ee.marginy||0;function pe(Y){let te=Y.x,ue=Y.y,fe=Y.width,ce=Y.height;z=Math.min(z,te-fe/2),Z=Math.max(Z,te+fe/2),K=Math.min(K,ue-ce/2),ne=Math.max(ne,ue+ce/2)}$.nodes().forEach(Y=>pe($.node(Y))),$.edges().forEach(Y=>{let te=$.edge(Y);Object.hasOwn(te,"x")&&pe(te)}),z-=J,K-=ae,$.nodes().forEach(Y=>{let te=$.node(Y);te.x-=z,te.y-=K}),$.edges().forEach(Y=>{let te=$.edge(Y);te.points.forEach(ue=>{ue.x-=z,ue.y-=K}),Object.hasOwn(te,"x")&&(te.x-=z),Object.hasOwn(te,"y")&&(te.y-=K)}),ee.width=Z-z+J,ee.height=ne-K+ae}function D($){$.edges().forEach(z=>{let Z=$.edge(z),K=$.node(z.v),ne=$.node(z.w),ee,J;Z.points?(ee=Z.points[0],J=Z.points[Z.points.length-1]):(Z.points=[],ee=ne,J=K),Z.points.unshift(f.intersectRect(K,ee)),Z.points.push(f.intersectRect(ne,J))})}function F($){$.edges().forEach(z=>{let Z=$.edge(z);if(Object.hasOwn(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function H($){$.edges().forEach(z=>{let Z=$.edge(z);Z.reversed&&Z.points.reverse()})}function B($){$.nodes().forEach(z=>{if($.children(z).length){let Z=$.node(z),K=$.node(Z.borderTop),ne=$.node(Z.borderBottom),ee=$.node(Z.borderLeft[Z.borderLeft.length-1]),J=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(J.x-ee.x),Z.height=Math.abs(ne.y-K.y),Z.x=ee.x+Z.width/2,Z.y=K.y+Z.height/2}}),$.nodes().forEach(z=>{$.node(z).dummy==="border"&&$.removeNode(z)})}function U($){$.edges().forEach(z=>{if(z.v===z.w){var Z=$.node(z.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:z,label:$.edge(z)}),$.removeEdge(z)}})}function q($){var z=f.buildLayerMatrix($);z.forEach(Z=>{var K=0;Z.forEach((ne,ee)=>{var J=$.node(ne);J.order=ee+K,(J.selfEdges||[]).forEach(ae=>{f.addDummyNode($,"selfedge",{width:ae.label.width,height:ae.label.height,rank:J.rank,order:ee+ ++K,e:ae.e,label:ae.label},"_se")}),delete J.selfEdges})})}function M($){$.nodes().forEach(z=>{var Z=$.node(z);if(Z.dummy==="selfedge"){var K=$.node(Z.e.v),ne=K.x+K.width/2,ee=K.y,J=Z.x-ne,ae=K.height/2;$.setEdge(Z.e,Z.label),$.removeNode(z),Z.label.points=[{x:ne+2*J/3,y:ee-ae},{x:ne+5*J/6,y:ee-ae},{x:ne+J,y:ee},{x:ne+5*J/6,y:ee+ae},{x:ne+2*J/3,y:ee+ae}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G($,z){return f.mapValues(f.pick($,z),Number)}function V($){var z={};return $&&Object.entries($).forEach(([Z,K])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),z[Z]=K}),z}return Cte}var Ete,U9e;function tWn(){if(U9e)return Ete;U9e=1;let e=Ml(),t=Fg().Graph;Ete={debugOrdering:n};function n(r){let s=e.buildLayerMatrix(r),a=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(i=>{a.setNode(i,{label:i}),a.setParent(i,"layer"+r.node(i).rank)}),r.edges().forEach(i=>a.setEdge(i.v,i.w,{},i.name)),s.forEach((i,l)=>{let c="layer"+l;a.setNode(c,{rank:"same"}),i.reduce((u,d)=>(a.setEdge(u,d,{style:"invis"}),d))}),a}return Ete}var Tte,q9e;function nWn(){return q9e||(q9e=1,Tte="1.1.8"),Tte}var jte,V9e;function rWn(){return V9e||(V9e=1,jte={graphlib:Fg(),layout:eWn(),debug:tWn(),util:{time:Ml().time,notime:Ml().notime},version:nWn()}),jte}var sWn=rWn();const H9e=zl(sWn);function Vl(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Vl(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var aWn={value:()=>{}};function FH(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new j8(n)}function j8(e){this._=e}function iWn(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}j8.prototype=FH.prototype={constructor:j8,on:function(e,t){var n=this._,r=iWn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=oWn(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(s=(e=r[a]).type)n[s]=W9e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=W9e(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new j8(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function oWn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function W9e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=aWn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Mge="http://www.w3.org/1999/xhtml";const Z9e={svg:"http://www.w3.org/2000/svg",xhtml:Mge,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function zH(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Z9e.hasOwnProperty(t)?{space:Z9e[t],local:e}:e}function lWn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Mge&&t.documentElement.namespaceURI===Mge?t.createElement(e):t.createElementNS(n,e)}}function cWn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ckt(e){var t=zH(e);return(t.local?cWn:lWn)(t)}function uWn(){}function Dke(e){return e==null?uWn:function(){return this.querySelector(e)}}function dWn(e){typeof e!="function"&&(e=Dke(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=new Array(i),c,u,d=0;d<i;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),l[d]=u);return new Qp(r,this._parents)}function fWn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function pWn(){return[]}function ukt(e){return e==null?pWn:function(){return this.querySelectorAll(e)}}function hWn(e){return function(){return fWn(e.apply(this,arguments))}}function mWn(e){typeof e=="function"?e=hWn(e):e=ukt(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&(r.push(e.call(c,c.__data__,u,i)),s.push(c));return new Qp(r,s)}function dkt(e){return function(){return this.matches(e)}}function fkt(e){return function(t){return t.matches(e)}}var gWn=Array.prototype.find;function vWn(e){return function(){return gWn.call(this.children,e)}}function yWn(){return this.firstElementChild}function bWn(e){return this.select(e==null?yWn:vWn(typeof e=="function"?e:fkt(e)))}var xWn=Array.prototype.filter;function wWn(){return Array.from(this.children)}function SWn(e){return function(){return xWn.call(this.children,e)}}function kWn(e){return this.selectAll(e==null?wWn:SWn(typeof e=="function"?e:fkt(e)))}function OWn(e){typeof e!="function"&&(e=dkt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Qp(r,this._parents)}function pkt(e){return new Array(e.length)}function _Wn(){return new Qp(this._enter||this._groups.map(pkt),this._parents)}function AB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}AB.prototype={constructor:AB,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function CWn(e){return function(){return e}}function EWn(e,t,n,r,s,a){for(var i=0,l,c=t.length,u=a.length;i<u;++i)(l=t[i])?(l.__data__=a[i],r[i]=l):n[i]=new AB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function TWn(e,t,n,r,s,a,i){var l,c,u=new Map,d=t.length,f=a.length,p=new Array(d),h;for(l=0;l<d;++l)(c=t[l])&&(p[l]=h=i.call(c,c.__data__,l,t)+"",u.has(h)?s[l]=c:u.set(h,c));for(l=0;l<f;++l)h=i.call(e,a[l],l,a)+"",(c=u.get(h))?(r[l]=c,c.__data__=a[l],u.delete(h)):n[l]=new AB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function jWn(e){return e.__data__}function NWn(e,t){if(!arguments.length)return Array.from(this,jWn);var n=t?TWn:EWn,r=this._parents,s=this._groups;typeof e!="function"&&(e=CWn(e));for(var a=s.length,i=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],p=f.length,h=IWn(e.call(d,d&&d.__data__,u,r)),m=h.length,v=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,v,y,b,h,t);for(var x=0,S=0,k,C;x<m;++x)if(k=v[x]){for(x>=S&&(S=x+1);!(C=y[S])&&++S<m;);k._next=C||null}}return i=new Qp(i,r),i._enter=l,i._exit=c,i}function IWn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function AWn(){return new Qp(this._exit||this._groups.map(pkt),this._parents)}function RWn(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function PWn(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,i=Math.min(s,a),l=new Array(s),c=0;c<i;++c)for(var u=n[c],d=r[c],f=u.length,p=l[c]=new Array(f),h,m=0;m<f;++m)(h=u[m]||d[m])&&(p[m]=h);for(;c<s;++c)l[c]=n[c];return new Qp(l,this._parents)}function $Wn(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],i;--s>=0;)(i=r[s])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function MWn(e){e||(e=DWn);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var i=n[a],l=i.length,c=s[a]=new Array(l),u,d=0;d<l;++d)(u=i[d])&&(c[d]=u);c.sort(t)}return new Qp(s,this._parents).order()}function DWn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function LWn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function FWn(){return Array.from(this)}function zWn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var i=r[s];if(i)return i}return null}function BWn(){let e=0;for(const t of this)++e;return e}function UWn(){return!this.node()}function qWn(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,i=s.length,l;a<i;++a)(l=s[a])&&e.call(l,l.__data__,a,s);return this}function VWn(e){return function(){this.removeAttribute(e)}}function HWn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function WWn(e,t){return function(){this.setAttribute(e,t)}}function ZWn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function GWn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function QWn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function YWn(e,t){var n=zH(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?HWn:VWn:typeof t=="function"?n.local?QWn:GWn:n.local?ZWn:WWn)(n,t))}function hkt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function KWn(e){return function(){this.style.removeProperty(e)}}function XWn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function JWn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function eZn(e,t,n){return arguments.length>1?this.each((t==null?KWn:typeof t=="function"?JWn:XWn)(e,t,n??"")):qj(this.node(),e)}function qj(e,t){return e.style.getPropertyValue(t)||hkt(e).getComputedStyle(e,null).getPropertyValue(t)}function tZn(e){return function(){delete this[e]}}function nZn(e,t){return function(){this[e]=t}}function rZn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function sZn(e,t){return arguments.length>1?this.each((t==null?tZn:typeof t=="function"?rZn:nZn)(e,t)):this.node()[e]}function mkt(e){return e.trim().split(/^|\s+/)}function Lke(e){return e.classList||new gkt(e)}function gkt(e){this._node=e,this._names=mkt(e.getAttribute("class")||"")}gkt.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function vkt(e,t){for(var n=Lke(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function ykt(e,t){for(var n=Lke(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function aZn(e){return function(){vkt(this,e)}}function iZn(e){return function(){ykt(this,e)}}function oZn(e,t){return function(){(t.apply(this,arguments)?vkt:ykt)(this,e)}}function lZn(e,t){var n=mkt(e+"");if(arguments.length<2){for(var r=Lke(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?oZn:t?aZn:iZn)(n,t))}function cZn(){this.textContent=""}function uZn(e){return function(){this.textContent=e}}function dZn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function fZn(e){return arguments.length?this.each(e==null?cZn:(typeof e=="function"?dZn:uZn)(e)):this.node().textContent}function pZn(){this.innerHTML=""}function hZn(e){return function(){this.innerHTML=e}}function mZn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function gZn(e){return arguments.length?this.each(e==null?pZn:(typeof e=="function"?mZn:hZn)(e)):this.node().innerHTML}function vZn(){this.nextSibling&&this.parentNode.appendChild(this)}function yZn(){return this.each(vZn)}function bZn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function xZn(){return this.each(bZn)}function wZn(e){var t=typeof e=="function"?e:ckt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function SZn(){return null}function kZn(e,t){var n=typeof e=="function"?e:ckt(e),r=t==null?SZn:typeof t=="function"?t:Dke(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function OZn(){var e=this.parentNode;e&&e.removeChild(this)}function _Zn(){return this.each(OZn)}function CZn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function EZn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function TZn(e){return this.select(e?EZn:CZn)}function jZn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function NZn(e){return function(t){e.call(this,t,this.__data__)}}function IZn(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function AZn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function RZn(e,t,n){return function(){var r=this.__on,s,a=NZn(t);if(r){for(var i=0,l=r.length;i<l;++i)if((s=r[i]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function PZn(e,t,n){var r=IZn(e+""),s,a=r.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,u=l.length,d;c<u;++c)for(s=0,d=l[c];s<a;++s)if((i=r[s]).type===d.type&&i.name===d.name)return d.value}return}for(l=t?RZn:AZn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function bkt(e,t,n){var r=hkt(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function $Zn(e,t){return function(){return bkt(this,e,t)}}function MZn(e,t){return function(){return bkt(this,e,t.apply(this,arguments))}}function DZn(e,t){return this.each((typeof t=="function"?MZn:$Zn)(e,t))}function*LZn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,i;s<a;++s)(i=r[s])&&(yield i)}var xkt=[null];function Qp(e,t){this._groups=e,this._parents=t}function R3(){return new Qp([[document.documentElement]],xkt)}function FZn(){return this}Qp.prototype=R3.prototype={constructor:Qp,select:dWn,selectAll:mWn,selectChild:bWn,selectChildren:kWn,filter:OWn,data:NWn,enter:_Wn,exit:AWn,join:RWn,merge:PWn,selection:FZn,order:$Wn,sort:MWn,call:LWn,nodes:FWn,node:zWn,size:BWn,empty:UWn,each:qWn,attr:YWn,style:eZn,property:sZn,classed:lZn,text:fZn,html:gZn,raise:yZn,lower:xZn,append:wZn,insert:kZn,remove:_Zn,clone:TZn,datum:jZn,on:PZn,dispatch:DZn,[Symbol.iterator]:LZn};function _p(e){return typeof e=="string"?new Qp([[document.querySelector(e)]],[document.documentElement]):new Qp([[e]],xkt)}function zZn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function og(e,t){if(e=zZn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const BZn={passive:!1},wM={capture:!0,passive:!1};function Nte(e){e.stopImmediatePropagation()}function GT(e){e.preventDefault(),e.stopImmediatePropagation()}function wkt(e){var t=e.document.documentElement,n=_p(e).on("dragstart.drag",GT,wM);"onselectstart"in t?n.on("selectstart.drag",GT,wM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Skt(e,t){var n=e.document.documentElement,r=_p(e).on("dragstart.drag",null);t&&(r.on("click.drag",GT,wM),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const Y6=e=>()=>e;function Dge(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:i,y:l,dx:c,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}Dge.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function UZn(e){return!e.ctrlKey&&!e.button}function qZn(){return this.parentNode}function VZn(e,t){return t??{x:e.x,y:e.y}}function HZn(){return navigator.maxTouchPoints||"ontouchstart"in this}function kkt(){var e=UZn,t=qZn,n=VZn,r=HZn,s={},a=FH("start","drag","end"),i=0,l,c,u,d,f=0;function p(k){k.on("mousedown.drag",h).filter(r).on("touchstart.drag",y).on("touchmove.drag",b,BZn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,C){if(!(d||!e.call(this,k,C))){var _=S(this,t.call(this,k,C),k,C,"mouse");_&&(_p(k.view).on("mousemove.drag",m,wM).on("mouseup.drag",v,wM),wkt(k.view),Nte(k),u=!1,l=k.clientX,c=k.clientY,_("start",k))}}function m(k){if(GT(k),!u){var C=k.clientX-l,_=k.clientY-c;u=C*C+_*_>f}s.mouse("drag",k)}function v(k){_p(k.view).on("mousemove.drag mouseup.drag",null),Skt(k.view,u),GT(k),s.mouse("end",k)}function y(k,C){if(e.call(this,k,C)){var _=k.changedTouches,E=t.call(this,k,C),T=_.length,N,I;for(N=0;N<T;++N)(I=S(this,E,k,C,_[N].identifier,_[N]))&&(Nte(k),I("start",k,_[N]))}}function b(k){var C=k.changedTouches,_=C.length,E,T;for(E=0;E<_;++E)(T=s[C[E].identifier])&&(GT(k),T("drag",k,C[E]))}function x(k){var C=k.changedTouches,_=C.length,E,T;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<_;++E)(T=s[C[E].identifier])&&(Nte(k),T("end",k,C[E]))}function S(k,C,_,E,T,N){var I=a.copy(),A=og(N||_,C),R,L,D;if((D=n.call(k,new Dge("beforestart",{sourceEvent:_,target:p,identifier:T,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),E))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function F(H,B,U){var q=A,M;switch(H){case"start":s[T]=F,M=i++;break;case"end":delete s[T],--i;case"drag":A=og(U||B,C),M=i;break}I.call(H,k,new Dge(H,{sourceEvent:B,subject:D,target:p,identifier:T,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-q[0],dy:A[1]-q[1],dispatch:I}),E)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:Y6(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:Y6(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:Y6(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:Y6(!!k),p):r},p.on=function(){var k=a.on.apply(a,arguments);return k===a?p:k},p.clickDistance=function(k){return arguments.length?(f=(k=+k)*k,p):Math.sqrt(f)},p}function Fke(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Okt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function P3(){}var SM=.7,RB=1/SM,QT="\\s*([+-]?\\d+)\\s*",kM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",sy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",WZn=/^#([0-9a-f]{3,8})$/,ZZn=new RegExp(`^rgb\\(${QT},${QT},${QT}\\)$`),GZn=new RegExp(`^rgb\\(${sy},${sy},${sy}\\)$`),QZn=new RegExp(`^rgba\\(${QT},${QT},${QT},${kM}\\)$`),YZn=new RegExp(`^rgba\\(${sy},${sy},${sy},${kM}\\)$`),KZn=new RegExp(`^hsl\\(${kM},${sy},${sy}\\)$`),XZn=new RegExp(`^hsla\\(${kM},${sy},${sy},${kM}\\)$`),G9e={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Fke(P3,WO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Q9e,formatHex:Q9e,formatHex8:JZn,formatHsl:eGn,formatRgb:Y9e,toString:Y9e});function Q9e(){return this.rgb().formatHex()}function JZn(){return this.rgb().formatHex8()}function eGn(){return _kt(this).formatHsl()}function Y9e(){return this.rgb().formatRgb()}function WO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=WZn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?K9e(t):n===3?new xf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?K6(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?K6(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ZZn.exec(e))?new xf(t[1],t[2],t[3],1):(t=GZn.exec(e))?new xf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=QZn.exec(e))?K6(t[1],t[2],t[3],t[4]):(t=YZn.exec(e))?K6(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=KZn.exec(e))?e7e(t[1],t[2]/100,t[3]/100,1):(t=XZn.exec(e))?e7e(t[1],t[2]/100,t[3]/100,t[4]):G9e.hasOwnProperty(e)?K9e(G9e[e]):e==="transparent"?new xf(NaN,NaN,NaN,0):null}function K9e(e){return new xf(e>>16&255,e>>8&255,e&255,1)}function K6(e,t,n,r){return r<=0&&(e=t=n=NaN),new xf(e,t,n,r)}function tGn(e){return e instanceof P3||(e=WO(e)),e?(e=e.rgb(),new xf(e.r,e.g,e.b,e.opacity)):new xf}function Lge(e,t,n,r){return arguments.length===1?tGn(e):new xf(e,t,n,r??1)}function xf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Fke(xf,Lge,Okt(P3,{brighter(e){return e=e==null?RB:Math.pow(RB,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?SM:Math.pow(SM,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xf(nO(this.r),nO(this.g),nO(this.b),PB(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:X9e,formatHex:X9e,formatHex8:nGn,formatRgb:J9e,toString:J9e}));function X9e(){return`#${Lk(this.r)}${Lk(this.g)}${Lk(this.b)}`}function nGn(){return`#${Lk(this.r)}${Lk(this.g)}${Lk(this.b)}${Lk((isNaN(this.opacity)?1:this.opacity)*255)}`}function J9e(){const e=PB(this.opacity);return`${e===1?"rgb(":"rgba("}${nO(this.r)}, ${nO(this.g)}, ${nO(this.b)}${e===1?")":`, ${e})`}`}function PB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function nO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Lk(e){return e=nO(e),(e<16?"0":"")+e.toString(16)}function e7e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hg(e,t,n,r)}function _kt(e){if(e instanceof hg)return new hg(e.h,e.s,e.l,e.opacity);if(e instanceof P3||(e=WO(e)),!e)return new hg;if(e instanceof hg)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),i=NaN,l=a-s,c=(a+s)/2;return l?(t===a?i=(n-r)/l+(n<r)*6:n===a?i=(r-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+s:2-a-s,i*=60):l=c>0&&c<1?0:i,new hg(i,l,c,e.opacity)}function rGn(e,t,n,r){return arguments.length===1?_kt(e):new hg(e,t,n,r??1)}function hg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Fke(hg,rGn,Okt(P3,{brighter(e){return e=e==null?RB:Math.pow(RB,e),new hg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?SM:Math.pow(SM,e),new hg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new xf(Ite(e>=240?e-240:e+120,s,r),Ite(e,s,r),Ite(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new hg(t7e(this.h),X6(this.s),X6(this.l),PB(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=PB(this.opacity);return`${e===1?"hsl(":"hsla("}${t7e(this.h)}, ${X6(this.s)*100}%, ${X6(this.l)*100}%${e===1?")":`, ${e})`}`}}));function t7e(e){return e=(e||0)%360,e<0?e+360:e}function X6(e){return Math.max(0,Math.min(1,e||0))}function Ite(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const zke=e=>()=>e;function sGn(e,t){return function(n){return e+n*t}}function aGn(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function iGn(e){return(e=+e)==1?Ckt:function(t,n){return n-t?aGn(t,n,e):zke(isNaN(t)?n:t)}}function Ckt(e,t){var n=t-e;return n?sGn(e,n):zke(isNaN(e)?t:e)}const $B=(function e(t){var n=iGn(t);function r(s,a){var i=n((s=Lge(s)).r,(a=Lge(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=Ckt(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function oGn(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function lGn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cGn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),i;for(i=0;i<r;++i)s[i]=fx(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<r;++i)a[i]=s[i](l);return a}}function uGn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function cg(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function dGn(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=fx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var Fge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ate=new RegExp(Fge.source,"g");function fGn(e){return function(){return e}}function pGn(e){return function(t){return e(t)+""}}function Ekt(e,t){var n=Fge.lastIndex=Ate.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=Fge.exec(e))&&(s=Ate.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(r=r[0])===(s=s[0])?l[i]?l[i]+=s:l[++i]=s:(l[++i]=null,c.push({i,x:cg(r,s)})),n=Ate.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?pGn(c[0].x):fGn(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function fx(e,t){var n=typeof t,r;return t==null||n==="boolean"?zke(t):(n==="number"?cg:n==="string"?(r=WO(t))?(t=r,$B):Ekt:t instanceof WO?$B:t instanceof Date?uGn:lGn(t)?oGn:Array.isArray(t)?cGn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?dGn:cg)(e,t)}function Bke(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var n7e=180/Math.PI,zge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Tkt(e,t,n,r,s,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,c/=l),e*r<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*n7e,skewX:Math.atan(c)*n7e,scaleX:i,scaleY:l}}var J6;function hGn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?zge:Tkt(t.a,t.b,t.c,t.d,t.e,t.f)}function mGn(e){return e==null||(J6||(J6=document.createElementNS("http://www.w3.org/2000/svg","g")),J6.setAttribute("transform",e),!(e=J6.transform.baseVal.consolidate()))?zge:(e=e.matrix,Tkt(e.a,e.b,e.c,e.d,e.e,e.f))}function jkt(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push("translate(",null,t,null,n);m.push({i:v-4,x:cg(u,f)},{i:v-2,x:cg(d,p)})}else(f||p)&&h.push("translate("+f+t+p+n)}function i(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(s(f)+"rotate(",null,r)-2,x:cg(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function l(u,d,f,p){u!==d?p.push({i:f.push(s(f)+"skewX(",null,r)-2,x:cg(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push(s(h)+"scale(",null,",",null,")");m.push({i:v-4,x:cg(u,f)},{i:v-2,x:cg(d,p)})}else(f!==1||p!==1)&&h.push(s(h)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,p),i(u.rotate,d.rotate,f,p),l(u.skewX,d.skewX,f,p),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(h){for(var m=-1,v=p.length,y;++m<v;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var gGn=jkt(hGn,"px, ","px)","deg)"),vGn=jkt(mGn,", ",")",")"),yGn=1e-12;function r7e(e){return((e=Math.exp(e))+1/e)/2}function bGn(e){return((e=Math.exp(e))-1/e)/2}function xGn(e){return((e=Math.exp(2*e))-1)/(e+1)}const N8=(function e(t,n,r){function s(a,i){var l=a[0],c=a[1],u=a[2],d=i[0],f=i[1],p=i[2],h=d-l,m=f-c,v=h*h+m*m,y,b;if(v<yGn)b=Math.log(p/u)/t,y=function(E){return[l+E*h,c+E*m,u*Math.exp(t*E*b)]};else{var x=Math.sqrt(v),S=(p*p-u*u+r*v)/(2*u*n*x),k=(p*p-u*u-r*v)/(2*p*n*x),C=Math.log(Math.sqrt(S*S+1)-S),_=Math.log(Math.sqrt(k*k+1)-k);b=(_-C)/t,y=function(E){var T=E*b,N=r7e(C),I=u/(n*x)*(N*xGn(t*T+C)-bGn(C));return[l+I*h,c+I*m,u*N/r7e(t*T+C)]}}return y.duration=b*1e3*t/Math.SQRT2,y}return s.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},s})(Math.SQRT2,2,4);function wGn(e,t){t===void 0&&(t=e,e=fx);for(var n=0,r=t.length-1,s=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(s,s=t[++n]);return function(i){var l=Math.max(0,Math.min(r-1,Math.floor(i*=r)));return a[l](i-l)}}var Vj=0,zP=0,kR=0,Nkt=1e3,MB,BP,DB=0,ZO=0,BH=0,OM=typeof performance=="object"&&performance.now?performance:Date,Ikt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Uke(){return ZO||(Ikt(SGn),ZO=OM.now()+BH)}function SGn(){ZO=0}function LB(){this._call=this._time=this._next=null}LB.prototype=Akt.prototype={constructor:LB,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Uke():+n)+(t==null?0:+t),!this._next&&BP!==this&&(BP?BP._next=this:MB=this,BP=this),this._call=e,this._time=n,Bge()},stop:function(){this._call&&(this._call=null,this._time=1/0,Bge())}};function Akt(e,t,n){var r=new LB;return r.restart(e,t,n),r}function kGn(){Uke(),++Vj;for(var e=MB,t;e;)(t=ZO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Vj}function s7e(){ZO=(DB=OM.now())+BH,Vj=zP=0;try{kGn()}finally{Vj=0,_Gn(),ZO=0}}function OGn(){var e=OM.now(),t=e-DB;t>Nkt&&(BH-=t,DB=e)}function _Gn(){for(var e,t=MB,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:MB=n);BP=e,Bge(r)}function Bge(e){if(!Vj){zP&&(zP=clearTimeout(zP));var t=e-ZO;t>24?(e<1/0&&(zP=setTimeout(s7e,e-OM.now()-BH)),kR&&(kR=clearInterval(kR))):(kR||(DB=OM.now(),kR=setInterval(OGn,Nkt)),Vj=1,Ikt(s7e))}}function a7e(e,t,n){var r=new LB;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var CGn=FH("start","end","cancel","interrupt"),EGn=[],Rkt=0,i7e=1,Uge=2,I8=3,o7e=4,qge=5,A8=6;function UH(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;TGn(e,n,{name:t,index:r,group:s,on:CGn,tween:EGn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Rkt})}function qke(e,t){var n=Gg(e,t);if(n.state>Rkt)throw new Error("too late; already scheduled");return n}function zy(e,t){var n=Gg(e,t);if(n.state>I8)throw new Error("too late; already running");return n}function Gg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function TGn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=Akt(a,0,n.time);function a(u){n.state=i7e,n.timer.restart(i,n.delay,n.time),n.delay<=u&&i(u-n.delay)}function i(u){var d,f,p,h;if(n.state!==i7e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===I8)return a7e(i);h.state===o7e?(h.state=A8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=A8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(a7e(function(){n.state===I8&&(n.state=o7e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=Uge,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Uge){for(n.state=I8,s=new Array(p=n.tween.length),d=0,f=-1;d<p;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=h);s.length=f+1}}function l(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=qge,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===qge&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=A8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function R8(e,t){var n=e.__transition,r,s,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((r=n[i]).name!==t){a=!1;continue}s=r.state>Uge&&r.state<qge,r.state=A8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function jGn(e){return this.each(function(){R8(this,e)})}function NGn(e,t){var n,r;return function(){var s=zy(this,e),a=s.tween;if(a!==n){r=n=a;for(var i=0,l=r.length;i<l;++i)if(r[i].name===t){r=r.slice(),r.splice(i,1);break}}s.tween=r}}function IGn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=zy(this,e),i=a.tween;if(i!==r){s=(r=i).slice();for(var l={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=l;break}c===u&&s.push(l)}a.tween=s}}function AGn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Gg(this.node(),n).tween,s=0,a=r.length,i;s<a;++s)if((i=r[s]).name===e)return i.value;return null}return this.each((t==null?NGn:IGn)(n,e,t))}function Vke(e,t,n){var r=e._id;return e.each(function(){var s=zy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Gg(s,r).value[t]}}function Pkt(e,t){var n;return(typeof t=="number"?cg:t instanceof WO?$B:(n=WO(t))?(t=n,$B):Ekt)(e,t)}function RGn(e){return function(){this.removeAttribute(e)}}function PGn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function $Gn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttribute(e);return i===s?null:i===r?a:a=t(r=i,n)}}function MGn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===r?a:a=t(r=i,n)}}function DGn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function LGn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function FGn(e,t){var n=zH(e),r=n==="transform"?vGn:Pkt;return this.attrTween(e,typeof t=="function"?(n.local?LGn:DGn)(n,r,Vke(this,"attr."+e,t)):t==null?(n.local?PGn:RGn)(n):(n.local?MGn:$Gn)(n,r,t))}function zGn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function BGn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function UGn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&BGn(e,a)),n}return s._value=t,s}function qGn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&zGn(e,a)),n}return s._value=t,s}function VGn(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=zH(e);return this.tween(n,(r.local?UGn:qGn)(r,t))}function HGn(e,t){return function(){qke(this,e).delay=+t.apply(this,arguments)}}function WGn(e,t){return t=+t,function(){qke(this,e).delay=t}}function ZGn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?HGn:WGn)(t,e)):Gg(this.node(),t).delay}function GGn(e,t){return function(){zy(this,e).duration=+t.apply(this,arguments)}}function QGn(e,t){return t=+t,function(){zy(this,e).duration=t}}function YGn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?GGn:QGn)(t,e)):Gg(this.node(),t).duration}function KGn(e,t){if(typeof t!="function")throw new Error;return function(){zy(this,e).ease=t}}function XGn(e){var t=this._id;return arguments.length?this.each(KGn(t,e)):Gg(this.node(),t).ease}function JGn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;zy(this,e).ease=n}}function eQn(e){if(typeof e!="function")throw new Error;return this.each(JGn(this._id,e))}function tQn(e){typeof e!="function"&&(e=dkt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Mx(r,this._parents,this._name,this._id)}function nQn(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),i=new Array(r),l=0;l<a;++l)for(var c=t[l],u=n[l],d=c.length,f=i[l]=new Array(d),p,h=0;h<d;++h)(p=c[h]||u[h])&&(f[h]=p);for(;l<r;++l)i[l]=t[l];return new Mx(i,this._parents,this._name,this._id)}function rQn(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function sQn(e,t,n){var r,s,a=rQn(t)?qke:zy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function aQn(e,t){var n=this._id;return arguments.length<2?Gg(this.node(),n).on.on(e):this.each(sQn(n,e,t))}function iQn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function oQn(){return this.on("end.remove",iQn(this._id))}function lQn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Dke(e));for(var r=this._groups,s=r.length,a=new Array(s),i=0;i<s;++i)for(var l=r[i],c=l.length,u=a[i]=new Array(c),d,f,p=0;p<c;++p)(d=l[p])&&(f=e.call(d,d.__data__,p,l))&&("__data__"in d&&(f.__data__=d.__data__),u[p]=f,UH(u[p],t,n,p,u,Gg(d,n)));return new Mx(a,this._parents,t,n)}function cQn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ukt(e));for(var r=this._groups,s=r.length,a=[],i=[],l=0;l<s;++l)for(var c=r[l],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var p=e.call(d,d.__data__,f,c),h,m=Gg(d,n),v=0,y=p.length;v<y;++v)(h=p[v])&&UH(h,t,n,v,p,m);a.push(p),i.push(d)}return new Mx(a,i,t,n)}var uQn=R3.prototype.constructor;function dQn(){return new uQn(this._groups,this._parents)}function fQn(e,t){var n,r,s;return function(){var a=qj(this,e),i=(this.style.removeProperty(e),qj(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function $kt(e){return function(){this.style.removeProperty(e)}}function pQn(e,t,n){var r,s=n+"",a;return function(){var i=qj(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function hQn(e,t,n){var r,s,a;return function(){var i=qj(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),qj(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function mQn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=zy(this,e),u=c.on,d=c.value[a]==null?l||(l=$kt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function gQn(e,t,n){var r=(e+="")=="transform"?gGn:Pkt;return t==null?this.styleTween(e,fQn(e,r)).on("end.style."+e,$kt(e)):typeof t=="function"?this.styleTween(e,hQn(e,r,Vke(this,"style."+e,t))).each(mQn(this._id,e)):this.styleTween(e,pQn(e,r,t),n).on("end.style."+e,null)}function vQn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function yQn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&vQn(e,i,n)),r}return a._value=t,a}function bQn(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,yQn(e,t,n??""))}function xQn(e){return function(){this.textContent=e}}function wQn(e){return function(){var t=e(this);this.textContent=t??""}}function SQn(e){return this.tween("text",typeof e=="function"?wQn(Vke(this,"text",e)):xQn(e==null?"":e+""))}function kQn(e){return function(t){this.textContent=e.call(this,t)}}function OQn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&kQn(s)),t}return r._value=e,r}function _Qn(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,OQn(e))}function CQn(){for(var e=this._name,t=this._id,n=Mkt(),r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)if(c=i[u]){var d=Gg(c,t);UH(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Mx(r,this._parents,e,n)}function EQn(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--s===0&&a()}};n.each(function(){var u=zy(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),u.on=t}),s===0&&a()})}var TQn=0;function Mx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Mkt(){return++TQn}var bb=R3.prototype;Mx.prototype={constructor:Mx,select:lQn,selectAll:cQn,selectChild:bb.selectChild,selectChildren:bb.selectChildren,filter:tQn,merge:nQn,selection:dQn,transition:CQn,call:bb.call,nodes:bb.nodes,node:bb.node,size:bb.size,empty:bb.empty,each:bb.each,on:aQn,attr:FGn,attrTween:VGn,style:gQn,styleTween:bQn,text:SQn,textTween:_Qn,remove:oQn,tween:AGn,delay:ZGn,duration:YGn,ease:XGn,easeVarying:eQn,end:EQn,[Symbol.iterator]:bb[Symbol.iterator]};function jQn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var NQn={time:null,delay:0,duration:250,ease:jQn};function IQn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function AQn(e){var t,n;e instanceof Mx?(t=e._id,e=e._name):(t=Mkt(),(n=NQn).time=Uke(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&UH(c,e,t,u,i,n||IQn(c,t));return new Mx(r,this._parents,e,t)}R3.prototype.interrupt=jGn;R3.prototype.transition=AQn;const eF=e=>()=>e;function RQn(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function ex(e,t,n){this.k=e,this.x=t,this.y=n}ex.prototype={constructor:ex,scale:function(e){return e===1?this:new ex(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ex(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var qH=new ex(1,0,0);Dkt.prototype=ex.prototype;function Dkt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return qH;return e.__zoom}function Rte(e){e.stopImmediatePropagation()}function OR(e){e.preventDefault(),e.stopImmediatePropagation()}function PQn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function $Qn(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function l7e(){return this.__zoom||qH}function MQn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function DQn(){return navigator.maxTouchPoints||"ontouchstart"in this}function LQn(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function Lkt(){var e=PQn,t=$Qn,n=LQn,r=MQn,s=DQn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=N8,u=FH("start","zoom","end"),d,f,p,h=500,m=150,v=0,y=10;function b(D){D.property("__zoom",l7e).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,F,H,B){var U=D.selection?D.selection():D;U.property("__zoom",l7e),D!==U?C(D,F,H,B):U.interrupt().each(function(){_(this,arguments).event(B).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(D,F,H,B){b.scaleTo(D,function(){var U=this.__zoom.k,q=typeof F=="function"?F.apply(this,arguments):F;return U*q},H,B)},b.scaleTo=function(D,F,H,B){b.transform(D,function(){var U=t.apply(this,arguments),q=this.__zoom,M=H==null?k(U):typeof H=="function"?H.apply(this,arguments):H,G=q.invert(M),V=typeof F=="function"?F.apply(this,arguments):F;return n(S(x(q,V),M,G),U,i)},H,B)},b.translateBy=function(D,F,H,B){b.transform(D,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),i)},null,B)},b.translateTo=function(D,F,H,B,U){b.transform(D,function(){var q=t.apply(this,arguments),M=this.__zoom,G=B==null?k(q):typeof B=="function"?B.apply(this,arguments):B;return n(qH.translate(G[0],G[1]).scale(M.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof H=="function"?-H.apply(this,arguments):-H),q,i)},B,U)};function x(D,F){return F=Math.max(a[0],Math.min(a[1],F)),F===D.k?D:new ex(F,D.x,D.y)}function S(D,F,H){var B=F[0]-H[0]*D.k,U=F[1]-H[1]*D.k;return B===D.x&&U===D.y?D:new ex(D.k,B,U)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function C(D,F,H,B){D.on("start.zoom",function(){_(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(B).end()}).tween("zoom",function(){var U=this,q=arguments,M=_(U,q).event(B),G=t.apply(U,q),V=H==null?k(G):typeof H=="function"?H.apply(U,q):H,$=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),z=U.__zoom,Z=typeof F=="function"?F.apply(U,q):F,K=c(z.invert(V).concat($/z.k),Z.invert(V).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var ee=K(ne),J=$/ee[2];ne=new ex(J,V[0]-ee[0]*J,V[1]-ee[1]*J)}M.zoom(null,ne)}})}function _(D,F,H){return!H&&D.__zooming||new E(D,F)}function E(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}E.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,F){return this.mouse&&D!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var F=_p(this.that).datum();u.call(D,this.that,new RQn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function T(D,...F){if(!e.apply(this,arguments))return;var H=_(this,F).event(D),B=this.__zoom,U=Math.max(a[0],Math.min(a[1],B.k*Math.pow(2,r.apply(this,arguments)))),q=og(D);if(H.wheel)(H.mouse[0][0]!==q[0]||H.mouse[0][1]!==q[1])&&(H.mouse[1]=B.invert(H.mouse[0]=q)),clearTimeout(H.wheel);else{if(B.k===U)return;H.mouse=[q,B.invert(q)],R8(this),H.start()}OR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(B,U),H.mouse[0],H.mouse[1]),H.extent,i));function M(){H.wheel=null,H.end()}}function N(D,...F){if(p||!e.apply(this,arguments))return;var H=D.currentTarget,B=_(this,F,!0).event(D),U=_p(D.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",$,!0),q=og(D,H),M=D.clientX,G=D.clientY;wkt(D.view),Rte(D),B.mouse=[q,this.__zoom.invert(q)],R8(this),B.start();function V(z){if(OR(z),!B.moved){var Z=z.clientX-M,K=z.clientY-G;B.moved=Z*Z+K*K>v}B.event(z).zoom("mouse",n(S(B.that.__zoom,B.mouse[0]=og(z,H),B.mouse[1]),B.extent,i))}function $(z){U.on("mousemove.zoom mouseup.zoom",null),Skt(z.view,B.moved),OR(z),B.event(z).end()}}function I(D,...F){if(e.apply(this,arguments)){var H=this.__zoom,B=og(D.changedTouches?D.changedTouches[0]:D,this),U=H.invert(B),q=H.k*(D.shiftKey?.5:2),M=n(S(x(H,q),B,U),t.apply(this,F),i);OR(D),l>0?_p(this).transition().duration(l).call(C,M,B,D):_p(this).call(b.transform,M,B,D)}}function A(D,...F){if(e.apply(this,arguments)){var H=D.touches,B=H.length,U=_(this,F,D.changedTouches.length===B).event(D),q,M,G,V;for(Rte(D),M=0;M<B;++M)G=H[M],V=og(G,this),V=[V,this.__zoom.invert(V),G.identifier],U.touch0?!U.touch1&&U.touch0[2]!==V[2]&&(U.touch1=V,U.taps=0):(U.touch0=V,q=!0,U.taps=1+!!d);d&&(d=clearTimeout(d)),q&&(U.taps<2&&(f=V[0],d=setTimeout(function(){d=null},h)),R8(this),U.start())}}function R(D,...F){if(this.__zooming){var H=_(this,F).event(D),B=D.changedTouches,U=B.length,q,M,G,V;for(OR(D),q=0;q<U;++q)M=B[q],G=og(M,this),H.touch0&&H.touch0[2]===M.identifier?H.touch0[0]=G:H.touch1&&H.touch1[2]===M.identifier&&(H.touch1[0]=G);if(M=H.that.__zoom,H.touch1){var $=H.touch0[0],z=H.touch0[1],Z=H.touch1[0],K=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,ee=(ee=K[0]-z[0])*ee+(ee=K[1]-z[1])*ee;M=x(M,Math.sqrt(ne/ee)),G=[($[0]+Z[0])/2,($[1]+Z[1])/2],V=[(z[0]+K[0])/2,(z[1]+K[1])/2]}else if(H.touch0)G=H.touch0[0],V=H.touch0[1];else return;H.zoom("touch",n(S(M,G,V),H.extent,i))}}function L(D,...F){if(this.__zooming){var H=_(this,F).event(D),B=D.changedTouches,U=B.length,q,M;for(Rte(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),q=0;q<U;++q)M=B[q],H.touch0&&H.touch0[2]===M.identifier?delete H.touch0:H.touch1&&H.touch1[2]===M.identifier&&delete H.touch1;if(H.touch1&&!H.touch0&&(H.touch0=H.touch1,delete H.touch1),H.touch0)H.touch0[1]=this.__zoom.invert(H.touch0[0]);else if(H.end(),H.taps===2&&(M=og(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=_p(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:eF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:eF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:eF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:eF([[+D[0][0],+D[0][1]],[+D[1][0],+D[1][1]]]),b):t},b.scaleExtent=function(D){return arguments.length?(a[0]=+D[0],a[1]=+D[1],b):[a[0],a[1]]},b.translateExtent=function(D){return arguments.length?(i[0][0]=+D[0][0],i[1][0]=+D[1][0],i[0][1]=+D[0][1],i[1][1]=+D[1][1],b):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},b.constrain=function(D){return arguments.length?(n=D,b):n},b.duration=function(D){return arguments.length?(l=+D,b):l},b.interpolate=function(D){return arguments.length?(c=D,b):c},b.on=function(){var D=u.on.apply(u,arguments);return D===u?b:D},b.clickDistance=function(D){return arguments.length?(v=(D=+D)*D,b):Math.sqrt(v)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const xy={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},_M=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Fkt=["Enter"," ","Escape"],zkt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Hj;(function(e){e.Strict="strict",e.Loose="loose"})(Hj||(Hj={}));var rO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(rO||(rO={}));var CM;(function(e){e.Partial="partial",e.Full="full"})(CM||(CM={}));const Bkt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Sw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Sw||(Sw={}));var EM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(EM||(EM={}));var ar;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ar||(ar={}));const c7e={[ar.Left]:ar.Right,[ar.Right]:ar.Left,[ar.Top]:ar.Bottom,[ar.Bottom]:ar.Top};function Ukt(e){return e===null?null:e?"valid":"invalid"}const qkt=e=>"id"in e&&"source"in e&&"target"in e,FQn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Hke=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),$3=(e,t=[0,0])=>{const{width:n,height:r}=i0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},zQn=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,s)=>{const a=typeof s=="string";let i=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(i=a?t.nodeLookup.get(s):Hke(s)?s:t.nodeLookup.get(s.id));const l=i?FB(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return VH(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return HH(n)},M3=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=VH(n,FB(s)),r=!0)}),r?HH(n):{x:0,y:0,width:0,height:0}},Wke=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...L3(t,[n,r,s]),width:t.width/s,height:t.height/s},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:p=!1}=u;if(i&&!f||p)continue;const h=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,v=TM(l,Zj(u)),y=(h??0)*(m??0),b=a&&v>0;(!u.internals.handleBounds||b||v>=y||u.dragging)&&c.push(u)}return c},BQn=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function UQn(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(t?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function qQn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=UQn(e,i),c=M3(l),u=Zke(c,t,n,i?.minZoom??s,i?.maxZoom??a,i?.padding??.1);return await r.setViewport(u,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)}function Vkt({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=i.origin??r;let f=i.extent||s;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",xy.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&Gj(i.extent)&&(f=[[i.extent[0][0]+c,i.extent[0][1]+u],[i.extent[1][0]+c,i.extent[1][1]+u]]);const p=Gj(f)?GO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",xy.error015()),{position:{x:p.x-c+(i.measured.width??0)*d[0],y:p.y-u+(i.measured.height??0)*d[1]},positionAbsolute:p}}async function VQn({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(p=>p.id)),i=[];for(const p of n){if(p.deletable===!1)continue;const h=a.has(p.id),m=!h&&p.parentId&&i.find(v=>v.id===p.parentId);(h||m)&&i.push(p)}const l=new Set(t.map(p=>p.id)),c=r.filter(p=>p.deletable!==!1),d=BQn(i,c);for(const p of c)l.has(p.id)&&!d.find(m=>m.id===p.id)&&d.push(p);if(!s)return{edges:d,nodes:i};const f=await s({nodes:i,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:i}:{edges:[],nodes:[]}:f}const Wj=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),GO=(e={x:0,y:0},t,n)=>({x:Wj(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Wj(e.y,t[0][1],t[1][1]-(n?.height??0))});function Hkt(e,t,n){const{width:r,height:s}=i0(n),{x:a,y:i}=n.internals.positionAbsolute;return GO(e,[[a,i],[a+r,i+s]],t)}const u7e=(e,t,n)=>e<t?Wj(Math.abs(e-t),1,t)/t:e>n?-Wj(Math.abs(e-n),1,t)/t:0,Wkt=(e,t,n=15,r=40)=>{const s=u7e(e.x,r,t.width-r)*n,a=u7e(e.y,r,t.height-r)*n;return[s,a]},VH=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Vge=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),HH=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Zj=(e,t=[0,0])=>{const{x:n,y:r}=Hke(e)?e.internals.positionAbsolute:$3(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},FB=(e,t=[0,0])=>{const{x:n,y:r}=Hke(e)?e.internals.positionAbsolute:$3(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Zkt=(e,t)=>HH(VH(Vge(e),Vge(t))),TM=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},d7e=e=>xg(e.width)&&xg(e.height)&&xg(e.x)&&xg(e.y),xg=e=>!isNaN(e)&&isFinite(e),HQn=(e,t)=>{},D3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),L3=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?D3(l,i):l},zB=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function uE(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function WQn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=uE(e,n),s=uE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=uE(e.top??e.y??0,n),s=uE(e.bottom??e.y??0,n),a=uE(e.left??e.x??0,t),i=uE(e.right??e.x??0,t);return{top:r,right:i,bottom:s,left:a,x:a+i,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function ZQn(e,t,n,r,s,a){const{x:i,y:l}=zB(e,[t,n,r]),{x:c,y:u}=zB({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const Zke=(e,t,n,r,s,a)=>{const i=WQn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=Wj(u,r,s),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,m=n/2-p*d,v=ZQn(e,h,m,d,t,n),y={left:Math.min(v.left-i.left,0),top:Math.min(v.top-i.top,0),right:Math.min(v.right-i.right,0),bottom:Math.min(v.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},jM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Gj(e){return e!=null&&e!=="parent"}function i0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Gkt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Qkt(e,t={width:0,height:0},n,r,s){const a={...e},i=r.get(n);if(i){const l=i.origin||s;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function f7e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function GQn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function QQn(e){return{...zkt,...e||{}}}function S2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=wg(e),l=L3({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?D3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const Gke=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ykt=e=>e?.getRootNode?.()||window?.document,YQn=["INPUT","SELECT","TEXTAREA"];function Kkt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:YQn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Xkt=e=>"clientX"in e,wg=(e,t)=>{const n=Xkt(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},p7e=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:s,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/r,y:(l.top-n.top)/r,...Gke(i)}})};function Jkt({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+s*.375+i*.375+n*.125,u=t*.125+a*.375+l*.375+r*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function tF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function h7e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case ar.Left:return[t-tF(t-r,a),n];case ar.Right:return[t+tF(r-t,a),n];case ar.Top:return[t,n-tF(n-s,a)];case ar.Bottom:return[t,n+tF(s-n,a)]}}function Qke({sourceX:e,sourceY:t,sourcePosition:n=ar.Bottom,targetX:r,targetY:s,targetPosition:a=ar.Top,curvature:i=.25}){const[l,c]=h7e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=h7e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=Jkt({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${r},${s}`,f,p,h,m]}function eOt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,i=Math.abs(r-t)/2,l=r<t?r+i:r-i;return[a,l,s,i]}function KQn({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="manual")return r;const i=s&&n?r+1e3:r,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return i+l}function XQn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=VH(FB(e),FB(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return TM(i,HH(a))>0}const JQn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,eYn=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),tYn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||JQn;let s;return qkt(e)?s={...e}:s={...e,id:r(e)},eYn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function tOt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=eOt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const m7e={[ar.Left]:{x:-1,y:0},[ar.Right]:{x:1,y:0},[ar.Top]:{x:0,y:-1},[ar.Bottom]:{x:0,y:1}},nYn=({source:e,sourcePosition:t=ar.Bottom,target:n})=>t===ar.Left||t===ar.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},g7e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function rYn({source:e,sourcePosition:t=ar.Bottom,target:n,targetPosition:r=ar.Top,center:s,offset:a,stepPosition:i}){const l=m7e[t],c=m7e[r],u={x:e.x+l.x*a,y:e.y+l.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=nYn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],v,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=eOt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(v=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(v=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const T=[{x:v,y:u.y},{x:v,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?T:N:m=p==="x"?N:T}else{const T=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:T:m=l.y===h?T:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const F=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*F:x[p]=(d[p]>n[p]?-1:1)*F}}if(t!==r){const D=p==="x"?"y":"x",F=l[p]===c[D],H=u[D]>d[D],B=u[D]<d[D];(l[p]===1&&(!F&&H||F&&B)||l[p]!==1&&(!F&&B||F&&H))&&(m=p==="x"?T:N)}const I={x:u.x+b.x,y:u.y+b.y},A={x:d.x+x.x,y:d.y+x.y},R=Math.max(Math.abs(I.x-m[0].x),Math.abs(A.x-m[0].x)),L=Math.max(Math.abs(I.y-m[0].y),Math.abs(A.y-m[0].y));R>=L?(v=(I.x+A.x)/2,y=m[0].y):(v=m[0].x,y=(I.y+A.y)/2)}const C={x:u.x+b.x,y:u.y+b.y},_={x:d.x+x.x,y:d.y+x.y};return[[e,...C.x!==m[0].x||C.y!==m[0].y?[C]:[],...m,..._.x!==m[m.length-1].x||_.y!==m[m.length-1].y?[_]:[],n],v,y,S,k]}function sYn(e,t,n,r){const s=Math.min(g7e(e,t)/2,g7e(t,n)/2,r),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${a+s*u},${i}Q ${a},${i} ${a},${i+s*d}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+s*c}Q ${a},${i} ${a+s*l},${i}`}function Hge({sourceX:e,sourceY:t,sourcePosition:n=ar.Bottom,targetX:r,targetY:s,targetPosition:a=ar.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,v]=rYn({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:l,y:c},offset:u,stepPosition:d});let y=`M${f[0].x} ${f[0].y}`;for(let b=1;b<f.length-1;b++)y+=sYn(f[b-1],f[b],f[b+1],i);return y+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[y,p,h,m,v]}function v7e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function aYn(e){const{sourceNode:t,targetNode:n}=e;if(!v7e(t)||!v7e(n))return null;const r=t.internals.handleBounds||y7e(t.handles),s=n.internals.handleBounds||y7e(n.handles),a=b7e(r?.source??[],e.sourceHandle),i=b7e(e.connectionMode===Hj.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",xy.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||ar.Bottom,c=i?.position||ar.Top,u=QO(t,a,l),d=QO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function y7e(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function QO(e,t,n=ar.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??i0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case ar.Top:return{x:s+i/2,y:a};case ar.Right:return{x:s+i,y:a+l/2};case ar.Bottom:return{x:s+i/2,y:a+l};case ar.Left:return{x:s,y:a+l/2}}}function b7e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Wge(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function iYn(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||r,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=Wge(c,t);a.has(u)||(i.push({id:u,color:c.color||n,...c}),a.add(u))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const nOt=1e3,oYn=10,Yke={nodeOrigin:[0,0],nodeExtent:_M,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},lYn={...Yke,checkEquality:!0};function Kke(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function cYn(e,t,n){const r=Kke(Yke,n);for(const s of e.values())if(s.parentId)Jke(s,e,t,r);else{const a=$3(s,r.nodeOrigin),i=Gj(s.extent)?s.extent:r.nodeExtent,l=GO(a,i,i0(s));s.internals.positionAbsolute=l}}function uYn(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function Xke(e){return e==="manual"}function Zge(e,t,n,r={}){const s=Kke(lYn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!Xke(s.zIndexMode)?nOt:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=i.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const p=$3(d,s.nodeOrigin),h=Gj(d.extent)?d.extent:s.nodeExtent,m=GO(p,h,i0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:uYn(d,f),z:rOt(d,l,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&Jke(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function dYn(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Jke(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=Kke(Yke,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}dYn(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*oYn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!Xke(c)?nOt:0,{x:p,y:h,z:m}=fYn(e,d,i,l,f,c),{positionAbsolute:v}=e.internals,y=p!==v.x||h!==v.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:v,z:m}})}function rOt(e,t,n){const r=xg(e.zIndex)?e.zIndex:0;return Xke(n)?r:r+(e.selected?t:0)}function fYn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=i0(e),u=$3(e,n),d=Gj(e.extent)?GO(u,e.extent,c):u;let f=GO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=Hkt(f,c,t));const p=rOt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function eOe(e,t,n,r=[0,0]){const s=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??Zj(l),u=Zkt(c,i.rect);a.set(i.parentId,{expandedRect:u,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const u=l.internals.positionAbsolute,d=i0(l),f=l.origin??r,p=i.x<u.x?Math.round(Math.abs(u.x-i.x)):0,h=i.y<u.y?Math.round(Math.abs(u.y-i.y)):0,m=Math.max(d.width,Math.round(i.width)),v=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(v-d.height)*f[1];(p>0||h>0||y||b)&&(s.push({id:c,type:"position",position:{x:l.position.x-p+y,y:l.position.y-h+b}}),n.get(c)?.forEach(x=>{e.some(S=>S.id===x.id)||s.push({id:x.id,type:"position",position:{x:x.position.x+p,y:x.position.y+h}})})),(d.width<i.width||d.height<i.height||p||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(p?f[0]*p-y:0),height:v+(h?f[1]*h-b:0)}})}),s}function pYn(e,t,n,r,s,a,i){const l=r?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(const h of e.values()){const m=t.get(h.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),c=!0;continue}const v=Gke(h.nodeElement),y=m.measured.width!==v.width||m.measured.height!==v.height;if(!!(v.width&&v.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=Gj(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=Hkt(k,v,t.get(m.parentId)):S&&(k=GO(k,S,v));const C={...m,measured:v,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:p7e("source",h.nodeElement,x,f,m.id),target:p7e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,C),m.parentId&&Jke(C,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:v}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:Zj(C,s)}))}}if(p.length>0){const h=eOe(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function hYn({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r),l=!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2]);return Promise.resolve(l)}function x7e(e,t,n,r,s,a){let i=s;const l=r.get(i)||new Map;r.set(i,l.set(n,t)),i=`${s}-${e}`;const c=r.get(i)||new Map;if(r.set(i,c.set(n,t)),a){i=`${s}-${e}-${a}`;const u=r.get(i)||new Map;r.set(i,u.set(n,t))}}function sOt(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:i=null,targetHandle:l=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:i,targetHandle:l},u=`${s}-${i}--${a}-${l}`,d=`${a}-${l}--${s}-${i}`;x7e("source",c,d,e,s,i),x7e("target",c,u,e,a,l),t.set(r.id,r)}}function aOt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:aOt(n,t):!1}function w7e(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function mYn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!aOt(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&s.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function Pte({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function gYn({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},i=D3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function vYn({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},i=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,p=null,h=!1,m=!1,v=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:C,nodeId:_,nodeClickDistance:E=0}){p=_p(k);function T({x:R,y:L}){const{nodeLookup:D,nodeExtent:F,snapGrid:H,snapToGrid:B,nodeOrigin:U,onNodeDrag:q,onSelectionDrag:M,onError:G,updateNodePositions:V}=t();a={x:R,y:L};let $=!1;const z=l.size>1,Z=z&&F?Vge(M3(l)):null,K=z&&B?gYn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,ee]of l){if(!D.has(ne))continue;let J={x:R-ee.distance.x,y:L-ee.distance.y};B&&(J=K?{x:Math.round(J.x+K.x),y:Math.round(J.y+K.y)}:D3(J,H));let ae=null;if(z&&F&&!ee.extent&&Z){const{positionAbsolute:te}=ee.internals,ue=te.x-Z.x+F[0][0],fe=te.x+ee.measured.width-Z.x2+F[1][0],ce=te.y-Z.y+F[0][1],me=te.y+ee.measured.height-Z.y2+F[1][1];ae=[[ue,ce],[fe,me]]}const{position:pe,positionAbsolute:Y}=Vkt({nodeId:ne,nextPosition:J,nodeLookup:D,nodeExtent:ae||F,nodeOrigin:U,onError:G});$=$||ee.position.x!==pe.x||ee.position.y!==pe.y,ee.position=pe,ee.internals.positionAbsolute=Y}if(m=m||$,!!$&&(V(l,!0),v&&(r||q||!_&&M))){const[ne,ee]=Pte({nodeId:_,dragItems:l,nodeLookup:D});r?.(v,l,ne,ee),q?.(v,ne,ee),_||M?.(v,ee)}}async function N(){if(!d)return;const{transform:R,panBy:L,autoPanSpeed:D,autoPanOnNodeDrag:F}=t();if(!F){c=!1,cancelAnimationFrame(i);return}const[H,B]=Wkt(u,d,D);(H!==0||B!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-B/R[2],await L({x:H,y:B})&&T(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:F,transform:H,snapGrid:B,snapToGrid:U,selectNodesOnDrag:q,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:V}=t();f=!0,(!q||!C)&&!D&&_&&(L.get(_)?.selected||V()),C&&q&&_&&e?.(_);const $=S2(R.sourceEvent,{transform:H,snapGrid:B,snapToGrid:U,containerBounds:d});if(a=$,l=mYn(L,F,$,_),l.size>0&&(n||M||!_&&G)){const[z,Z]=Pte({nodeId:_,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,z,Z),M?.(R.sourceEvent,z,Z),_||G?.(R.sourceEvent,Z)}}const A=kkt().clickDistance(E).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:F,snapGrid:H,snapToGrid:B}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,v=R.sourceEvent,D===0&&I(R),a=S2(R.sourceEvent,{transform:F,snapGrid:H,snapToGrid:B,containerBounds:d}),u=wg(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:F,snapToGrid:H,nodeDragThreshold:B,nodeLookup:U}=t(),q=S2(R.sourceEvent,{transform:D,snapGrid:F,snapToGrid:H,containerBounds:d});if(v=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||_&&!U.has(_))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=wg(R.sourceEvent,d),G=M.x-u.x,V=M.y-u.y;Math.sqrt(G*G+V*V)>B&&I(R)}(a.x!==q.xSnapped||a.y!==q.ySnapped)&&l&&f&&(u=wg(R.sourceEvent,d),T(q))}}).on("end",R=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:L,updateNodePositions:D,onNodeDragStop:F,onSelectionDragStop:H}=t();if(m&&(D(l,!1),m=!1),s||F||!_&&H){const[B,U]=Pte({nodeId:_,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,B,U),F?.(R.sourceEvent,B,U),_||H?.(R.sourceEvent,U)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!w7e(L,`.${x}`,k))&&(!S||w7e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function yYn(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())TM(s,Zj(a))>0&&r.push(a);return r}const bYn=250;function xYn(e,t,n,r){let s=[],a=1/0;const i=yYn(e,n,t+bYn);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=QO(l,u,u.position,!0),p=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));p>t||(p<a?(s=[{...u,x:d,y:f}],a=p):p===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const l=r.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function iOt(e,t,n,r,s,a=!1){const i=r.get(e);if(!i)return null;const l=s==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(u=>u.id===n):l?.[0])??null;return c&&a?{...c,...QO(i,c,c.position,!0)}:c}function oOt(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function wYn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const lOt=()=>!0;function SYn(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:h,onConnectStart:m,onConnect:v,onConnectEnd:y,isValidConnection:b=lOt,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:C,autoPanSpeed:_,dragThreshold:E=1,handleDomNode:T}){const N=Ykt(e.target);let I=0,A;const{x:R,y:L}=wg(e),D=oOt(a,T),F=l?.getBoundingClientRect();let H=!1;if(!F||!D)return;const B=iOt(s,D,r,c,t);if(!B)return;let U=wg(e,F),q=!1,M=null,G=!1,V=null;function $(){if(!d||!F)return;const[pe,Y]=Wkt(U,F,_);p({x:pe,y:Y}),I=requestAnimationFrame($)}const z={...B,nodeId:s,type:D,position:B.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:QO(Z,z,ar.Left,!0),fromHandle:z,fromPosition:z.position,fromNode:Z,to:U,toHandle:null,toPosition:c7e[z.position],toNode:null,pointer:U};function ee(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&ee();function J(pe){if(!H){const{x:me,y:be}=wg(pe),we=me-R,_e=be-L;if(!(we*we+_e*_e>E*E))return;ee()}if(!C()||!z){ae(pe);return}const Y=k();U=wg(pe,F),A=xYn(L3(U,Y,!1,[1,1]),n,c,z),q||($(),q=!0);const te=cOt(pe,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});V=te.handleDomNode,M=te.connection,G=wYn(!!A,te.isValid);const ue=c.get(s),fe=ue?QO(ue,z,ar.Left,!0):ne.from,ce={...ne,from:fe,isValid:G,to:te.toHandle&&G?zB({x:te.toHandle.x,y:te.toHandle.y},Y):U,toHandle:te.toHandle,toPosition:G&&te.toHandle?te.toHandle.position:c7e[z.position],toNode:te.toHandle?c.get(te.toHandle.nodeId):null,pointer:U};S(ce),ne=ce}function ae(pe){if(!("touches"in pe&&pe.touches.length>0)){if(H){(A||V)&&M&&G&&v?.(M);const{inProgress:Y,...te}=ne,ue={...te,toPosition:ne.toHandle?ne.toPosition:null};y?.(pe,ue),a&&x?.(pe,ue)}h(),cancelAnimationFrame(I),q=!1,G=!1,M=null,V=null,N.removeEventListener("mousemove",J),N.removeEventListener("mouseup",ae),N.removeEventListener("touchmove",J),N.removeEventListener("touchend",ae)}}N.addEventListener("mousemove",J),N.addEventListener("mouseup",ae),N.addEventListener("touchmove",J),N.addEventListener("touchend",ae)}function cOt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=lOt,nodeLookup:d}){const f=a==="target",p=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:m}=wg(e),v=i.elementFromPoint(h,m),y=v?.classList.contains(`${l}-flow__handle`)?v:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=oOt(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),C=y.classList.contains("connectable"),_=y.classList.contains("connectableend");if(!S||!x)return b;const E={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=E;const N=C&&_&&(n===Hj.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(E),b.toHandle=iOt(S,x,k,d,n,!0)}return b}const Gge={onPointerDown:SYn,isValid:cOt};function kYn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=_p(e);function a({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:p=!0,inversePan:h=!1}){const m=S=>{if(S.sourceEvent.type!=="wheel"||!t)return;const k=n(),C=S.sourceEvent.ctrlKey&&jM()?10:1,_=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,E=k[2]*Math.pow(2,_*C);t.scaleTo(E)};let v=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(v=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},b=S=>{const k=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const C=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],_=[C[0]-v[0],C[1]-v[1]];v=C;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),T={x:k[0]-_[0]*E,y:k[1]-_[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:T.x,y:T.y,zoom:k[2]},N,l)},x=Lkt().on("start",y).on("zoom",f?b:null).on("zoom.wheel",p?m:null);s.call(x,{})}function i(){s.on("zoom",null)}return{update:a,destroy:i,pointer:og}}const WH=e=>({x:e.x,y:e.y,zoom:e.k}),$te=({x:e,y:t,zoom:n})=>qH.translate(e,t).scale(n),dT=(e,t)=>e.target.closest(`.${t}`),uOt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),OYn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Mte=(e,t=0,n=OYn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},dOt=e=>{const t=e.ctrlKey&&jM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function _Yn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(dT(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&i){const y=og(d),b=dOt(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===rO.Vertical?0:d.deltaX*p,m=s===rO.Horizontal?0:d.deltaY*p;!jM()&&d.shiftKey&&s!==rO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const v=WH(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,v),e.panScrollTimeout=setTimeout(()=>{u?.(d,v),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,v))}}function CYn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=dT(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function EYn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=WH(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function TYn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&uOt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,WH(a.transform))}}function jYn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&uOt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=WH(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function NYn({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:i,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{const p=e||t,h=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(dT(f,`${u}-flow__node`)||dT(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||dT(f,l)&&m||dT(f,c)&&(!m||s&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!s&&!h&&m||!r&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(r)&&!r.includes(f.button)&&f.type==="mousedown")return!1;const v=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&v}}function IYn({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=Lkt().scaleExtent([t,n]).translateExtent(r),p=_p(e).call(f);x({x:s.x,y:s.y,zoom:Wj(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(dOt);function v(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?fx:N8).transform(Mte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function y({noWheelClassName:A,noPanClassName:R,onPaneContextMenu:L,userSelectionActive:D,panOnScroll:F,panOnDrag:H,panOnScrollMode:B,panOnScrollSpeed:U,preventScrolling:q,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:V,zoomActivationKeyPressed:$,lib:z,onTransformChange:Z,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:ee}){D&&!u.isZoomingOrPanning&&b();const J=F&&!$&&!D;f.clickDistance(ee?1/0:!xg(ne)||ne<0?0:ne);const ae=J?_Yn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:B,panOnScrollSpeed:U,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):CYn({noWheelClassName:A,preventScrolling:q,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=EYn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const te=TYn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",te);const ue=jYn({zoomPanValues:u,panOnDrag:H,panOnScroll:F,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",ue)}const pe=NYn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:G,panOnScroll:F,zoomOnDoubleClick:V,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:z,connectionInProgress:K});f.filter(pe),V?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=$te(A),F=f?.constrain()(D,R,L);return F&&await v(F),new Promise(H=>H(F))}async function S(A,R){const L=$te(A);return await v(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=$te(A),L=p.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&f?.transform(p,R,null,{sync:!0})}}function C(){const A=p?Dkt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function _(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?fx:N8).scaleTo(Mte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?fx:N8).scaleBy(Mte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function T(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!xg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:C,scaleTo:_,scaleBy:E,setScaleExtent:T,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var Qj;(function(e){e.Line="line",e.Handle="handle"})(Qj||(Qj={}));function AYn({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const i=e-t,l=n-r,c=[i>0?1:i<0?-1:0,l>0?1:l<0?-1:0];return i&&s&&(c[0]=c[0]*-1),l&&a&&(c[1]=c[1]*-1),c}function S7e(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:s}}function J0(e,t){return Math.max(0,t-e)}function ew(e,t){return Math.max(0,e-t)}function nF(e,t,n){return Math.max(0,t-e,e-n)}function k7e(e,t){return e?!t:t}function RYn(e,t,n,r,s,a,i,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:h,ySnapped:m}=n,{minWidth:v,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:C,height:_,aspectRatio:E}=e;let T=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=C+(c?-T:T),A=_+(u?-N:N),R=-a[0]*C,L=-a[1]*_;let D=nF(I,v,y),F=nF(A,b,x);if(i){let U=0,q=0;c&&T<0?U=J0(S+T+R,i[0][0]):!c&&T>0&&(U=ew(S+I+R,i[1][0])),u&&N<0?q=J0(k+N+L,i[0][1]):!u&&N>0&&(q=ew(k+A+L,i[1][1])),D=Math.max(D,U),F=Math.max(F,q)}if(l){let U=0,q=0;c&&T>0?U=ew(S+T,l[0][0]):!c&&T<0&&(U=J0(S+I,l[1][0])),u&&N>0?q=ew(k+N,l[0][1]):!u&&N<0&&(q=J0(k+A,l[1][1])),D=Math.max(D,U),F=Math.max(F,q)}if(s){if(d){const U=nF(I/E,b,x)*E;if(D=Math.max(D,U),i){let q=0;!c&&!u||c&&!u&&p?q=ew(k+L+I/E,i[1][1])*E:q=J0(k+L+(c?T:-T)/E,i[0][1])*E,D=Math.max(D,q)}if(l){let q=0;!c&&!u||c&&!u&&p?q=J0(k+I/E,l[1][1])*E:q=ew(k+(c?T:-T)/E,l[0][1])*E,D=Math.max(D,q)}}if(f){const U=nF(A*E,v,y)/E;if(F=Math.max(F,U),i){let q=0;!c&&!u||u&&!c&&p?q=ew(S+A*E+R,i[1][0])/E:q=J0(S+(u?N:-N)*E+R,i[0][0])/E,F=Math.max(F,q)}if(l){let q=0;!c&&!u||u&&!c&&p?q=J0(S+A*E,l[1][0])/E:q=ew(S+(u?N:-N)*E,l[0][0])/E,F=Math.max(F,q)}}}N=N+(N<0?F:-F),T=T+(T<0?D:-D),s&&(p?I>A*E?N=(k7e(c,u)?-T:T)/E:T=(k7e(c,u)?-N:N)*E:d?(N=T/E,u=c):(T=N*E,c=u));const H=c?S+T:S,B=u?k+N:k;return{width:C+(c?-T:T),height:_+(u?-N:N),x:a[0]*T*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+B}}const fOt={width:0,height:0,x:0,y:0},PYn={...fOt,pointerX:0,pointerY:0,aspectRatio:1};function $Yn(e){return[[0,0],[e.measured.width,e.measured.height]]}function MYn(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,i=e.measured.height??0,l=n[0]*a,c=n[1]*i;return[[r-l,s-c],[r+a-l,s+i-c]]}function DYn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=_p(e);let i={controlDirection:S7e("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:p,onResizeStart:h,onResize:m,onResizeEnd:v,shouldResize:y}){let b={...fOt},x={...PYn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:S7e(u)};let S,k=null,C=[],_,E,T,N=!1;const I=kkt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:F,nodeOrigin:H,paneDomNode:B}=n();if(S=R.get(t),!S)return;k=B?.getBoundingClientRect()??null;const{xSnapped:U,ySnapped:q}=S2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:F,containerBounds:k});b={width:S.measured.width??0,height:S.measured.height??0,x:S.position.x??0,y:S.position.y??0},x={...b,pointerX:U,pointerY:q,aspectRatio:b.width/b.height},_=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(_=R.get(S.parentId),E=_&&S.extent==="parent"?$Yn(_):void 0),C=[],T=void 0;for(const[M,G]of R)if(G.parentId===t&&(C.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const V=MYn(G,S,G.origin??H);T?T=[[Math.min(V[0][0],T[0][0]),Math.min(V[0][1],T[0][1])],[Math.max(V[1][0],T[1][0]),Math.max(V[1][1],T[1][1])]]:T=V}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:F}=n(),H=S2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),B=[];if(!S)return;const{x:U,y:q,width:M,height:G}=b,V={},$=S.origin??F,{width:z,height:Z,x:K,y:ne}=RYn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,E,T),ee=z!==M,J=Z!==G,ae=K!==U&&ee,pe=ne!==q&&J;if(!ae&&!pe&&!ee&&!J)return;if((ae||pe||$[0]===1||$[1]===1)&&(V.x=ae?K:b.x,V.y=pe?ne:b.y,b.x=V.x,b.y=V.y,C.length>0)){const fe=K-U,ce=ne-q;for(const me of C)me.position={x:me.position.x-fe+$[0]*(z-M),y:me.position.y-ce+$[1]*(Z-G)},B.push(me)}if((ee||J)&&(V.width=ee&&(!i.resizeDirection||i.resizeDirection==="horizontal")?z:b.width,V.height=J&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=V.width,b.height=V.height),_&&S.expandParent){const fe=$[0]*(V.width??0);V.x&&V.x<fe&&(b.x=fe,x.x=x.x-(V.x-fe));const ce=$[1]*(V.height??0);V.y&&V.y<ce&&(b.y=ce,x.y=x.y-(V.y-ce))}const Y=AYn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),te={...b,direction:Y};y?.(A,te)!==!1&&(N=!0,m?.(A,te),r(V,B))}).on("end",A=>{N&&(v?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const LYn={},O7e=e=>{let t;const n=new Set,r=(d,f)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const h=t;t=f??(typeof p!="object"||p===null)?p:Object.assign({},t,p),n.forEach(m=>m(t,h))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(LYn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,s,c);return c},FYn=e=>e?O7e(e):O7e,{useDebugValue:zYn}=ze,{useSyncExternalStoreWithSelector:BYn}=PCn,UYn=e=>e;function pOt(e,t=UYn,n){const r=BYn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return zYn(r),r}const _7e=(e,t)=>{const n=FYn(e),r=(s,a=t)=>pOt(n,s,a);return Object.assign(r,n),r},qYn=(e,t)=>e?_7e(e,t):_7e;function io(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const ZH=g.createContext(null),VYn=ZH.Provider,hOt=xy.error001();function Us(e,t){const n=g.useContext(ZH);if(n===null)throw new Error(hOt);return pOt(n,e,t)}function To(){const e=g.useContext(ZH);if(e===null)throw new Error(hOt);return g.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const C7e={display:"none"},HYn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},mOt="react-flow__node-desc",gOt="react-flow__edge-desc",WYn="react-flow__aria-live",ZYn=e=>e.ariaLiveMessage,GYn=e=>e.ariaLabelConfig;function QYn({rfId:e}){const t=Us(ZYn);return o.jsx("div",{id:`${WYn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:HYn,children:t})}function YYn({rfId:e,disableKeyboardA11y:t}){const n=Us(GYn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${mOt}-${e}`,style:C7e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${gOt}-${e}`,style:C7e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(QYn,{rfId:e})]})}const F3=g.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Vl(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});F3.displayName="Panel";function KYn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(F3,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const XYn=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},rF=e=>e.id;function JYn(e,t){return io(e.selectedNodes.map(rF),t.selectedNodes.map(rF))&&io(e.selectedEdges.map(rF),t.selectedEdges.map(rF))}function eKn({onSelectionChange:e}){const t=To(),{selectedNodes:n,selectedEdges:r}=Us(XYn,JYn);return g.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const tKn=e=>!!e.onSelectionChangeHandlers;function nKn({onSelectionChange:e}){const t=Us(tKn);return e||t?o.jsx(eKn,{onSelectionChange:e}):null}const Qge=typeof window<"u"?g.useLayoutEffect:g.useEffect,vOt=[0,0],rKn={x:0,y:0,zoom:1},sKn=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],E7e=[...sKn,"rfId"],aKn=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),T7e={translateExtent:_M,nodeOrigin:vOt,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function iKn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(aKn,io),u=To();Qge(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=T7e,l()}),[]);const d=g.useRef(T7e);return Qge(()=>{for(const f of E7e){const p=e[f],h=d.current[f];p!==h&&(typeof e[f]>"u"||(f==="nodes"?t(p):f==="edges"?n(p):f==="minZoom"?r(p):f==="maxZoom"?s(p):f==="translateExtent"?a(p):f==="nodeExtent"?i(p):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:QQn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},E7e.map(f=>e[f])),null}function j7e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function oKn(e){const[t,n]=g.useState(e==="system"?null:e);return g.useEffect(()=>{if(e!=="system"){n(e);return}const r=j7e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:j7e()?.matches?"dark":"light"}const N7e=typeof document<"u"?document:null;function NM(e=null,t={target:N7e,actInsideInputWithModifier:!0}){const[n,r]=g.useState(!1),s=g.useRef(!1),a=g.useRef(new Set([])),[i,l]=g.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
234
|
+
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new oVn(this):new sVn(this)}getCursor(t,n=0,r){let s=t.doc?t:us.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?HE(this,s,n,r):VE(this,s,n,r)}}class WSt{constructor(t){this.spec=t}}function nVn(e,t,n){return(r,s,a,i)=>{if(n&&!n(r,s,a,i))return!1;let l=r>=i&&s<=i+a.length?a.slice(r-i,s-i):t.doc.sliceString(r,s);return e(l,t,r,s)}}function VE(e,t,n,r){let s;return e.wholeWord&&(s=rVn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=nVn(e.test,t,s)),new $x(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function rVn(e,t){return(n,r,s,a)=>((a>n||a+s.length<r)&&(a=Math.max(0,n-2),s=e.sliceString(a,Math.min(e.length,r+2))),(t(EB(s,n-a))!=So.Word||t(TB(s,n-a))!=So.Word)&&(t(TB(s,r-a))!=So.Word||t(EB(s,r-a))!=So.Word))}class sVn extends WSt{constructor(t){super(t)}nextMatch(t,n,r){let s=VE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=VE(this.spec,t,0,a).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(t,n,r){for(let s=r;;){let a=Math.max(n,s-1e4-this.spec.unquoted.length),i=VE(this.spec,t,a,s),l=null;for(;!i.nextOverlapping().done;)l=i.value;if(l)return l;if(a==n)return null;s-=1e4}}prevMatch(t,n,r){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=VE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=VE(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function aVn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function HE(e,t,n,r){let s;return e.wholeWord&&(s=iVn(t.charCategorizer(t.selection.main.head))),e.test&&(s=aVn(e.test,t,s)),new qSt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function EB(e,t){return e.slice(Oc(e,t,!1),t)}function TB(e,t){return e.slice(t,Oc(e,t))}function iVn(e){return(t,n,r)=>!r[0].length||(e(EB(r.input,r.index))!=So.Word||e(TB(r.input,r.index))!=So.Word)&&(e(TB(r.input,r.index+r[0].length))!=So.Word||e(EB(r.input,r.index+r[0].length))!=So.Word)}class oVn extends WSt{nextMatch(t,n,r){let s=HE(this.spec,t,r,t.doc.length).next();return s.done&&(s=HE(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,r){for(let s=1;;s++){let a=Math.max(n,r-s*1e4),i=HE(this.spec,t,a,r),l=null;for(;!i.next().done;)l=i.value;if(l&&(a==n||l.from>a+10))return l;if(a==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let a=+r.slice(0,s);if(a>0&&a<t.match.length)return t.match[a]+r.slice(s)}return n})}matchAll(t,n){let r=HE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=HE(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const yM=xr.define(),Ake=xr.define(),Qw=bl.define({create(e){return new Aee(Pge(e).create(),null)},update(e,t){for(let n of t.effects)n.is(yM)?e=new Aee(n.value.create(),e.panel):n.is(Ake)&&(e=new Aee(e.query,n.value?Rke:null));return e},provide:e=>lM.from(e,t=>t.panel)});class Aee{constructor(t,n){this.query=t,this.panel=n}}const lVn=An.mark({class:"cm-searchMatch"}),cVn=An.mark({class:"cm-searchMatch cm-searchMatch-selected"}),uVn=Co.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Qw))}update(e){let t=e.state.field(Qw);(t!=e.startState.field(Qw)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return An.none;let{view:n}=this,r=new Md;for(let s=0,a=n.visibleRanges,i=a.length;s<i;s++){let{from:l,to:c}=a[s];for(;s<i-1&&c>a[s+1].from-500;)c=a[++s].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(p=>p.from==u&&p.to==d);r.add(u,d,f?cVn:lVn)})}return r.finish()}},{decorations:e=>e.decorations});function A3(e){return t=>{let n=t.state.field(Qw,!1);return n&&n.query.spec.valid?e(t,n):QSt(t)}}const jB=A3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=bt.single(r.from,r.to),a=e.state.facet(hI);return e.dispatch({selection:s,effects:[Pke(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),GSt(e),!0}),NB=A3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=bt.single(s.from,s.to),i=e.state.facet(hI);return e.dispatch({selection:a,effects:[Pke(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),GSt(e),!0}),dVn=A3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:bt.create(n.map(r=>bt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),fVn=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,a=[],i=0;for(let l=new $x(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(bt.range(l.value.from,l.value.to))}return t(e.update({selection:bt.create(a,i),userEvent:"select.search.matches"})),!0},D8e=A3((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),i=t.nextMatch(n,i.from,i.to),d.push(At.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):i=t.nextMatch(n,i.from,i.to);let f=e.state.changes(l);return i&&(c=bt.single(i.from,i.to).map(f),d.push(Pke(e,i)),d.push(n.facet(hI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),pVn=A3((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:At.announce.of(r),userEvent:"input.replace.all"}),!0});function Rke(e){return e.state.facet(hI).createPanel(e)}function Pge(e,t){var n,r,s,a,i;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(hI);return new HSt({search:((n=t?.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(s=t?.literal)!==null&&s!==void 0?s:u.literal,regexp:(a=t?.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(i=t?.wholeWord)!==null&&i!==void 0?i:u.wholeWord})}function ZSt(e){let t=QSe(e,Rke);return t&&t.dom.querySelector("[main-field]")}function GSt(e){let t=ZSt(e);t&&t==e.root.activeElement&&t.select()}const QSt=e=>{let t=e.state.field(Qw,!1);if(t&&t.panel){let n=ZSt(e);if(n&&n!=e.root.activeElement){let r=Pge(e.state,t.query.spec);r.valid&&e.dispatch({effects:yM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[Ake.of(!0),t?yM.of(Pge(e.state,t.query.spec)):xr.appendConfig.of(vVn)]});return!0},YSt=e=>{let t=e.state.field(Qw,!1);if(!t||!t.panel)return!1;let n=QSe(e,Rke);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:Ake.of(!1)}),!0},hVn=[{key:"Mod-f",run:QSt,scope:"editor search-panel"},{key:"F3",run:jB,shift:NB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:jB,shift:NB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:YSt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:fVn},{key:"Mod-Alt-g",run:Vqn},{key:"Mod-d",run:tVn,preventDefault:!0}];class mVn{constructor(t){this.view=t;let n=this.query=t.state.field(Qw).query.spec;this.commit=this.commit.bind(this),this.searchField=hi("input",{value:n.search,placeholder:lp(t,"Find"),"aria-label":lp(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=hi("input",{value:n.replace,placeholder:lp(t,"Replace"),"aria-label":lp(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=hi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=hi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=hi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return hi("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=hi("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>jB(t),[lp(t,"next")]),r("prev",()=>NB(t),[lp(t,"previous")]),r("select",()=>dVn(t),[lp(t,"all")]),hi("label",null,[this.caseField,lp(t,"match case")]),hi("label",null,[this.reField,lp(t,"regexp")]),hi("label",null,[this.wordField,lp(t,"by word")]),...t.state.readOnly?[]:[hi("br"),this.replaceField,r("replace",()=>D8e(t),[lp(t,"replace")]),r("replaceAll",()=>pVn(t),[lp(t,"replace all")])],hi("button",{name:"close",onclick:()=>YSt(t),"aria-label":lp(t,"close"),type:"button"},["×"])])}commit(){let t=new HSt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:yM.of(t)}))}keydown(t){$Fn(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?NB:jB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),D8e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(yM)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(hI).top}}function lp(e,t){return e.state.phrase(t)}const Z6=30,G6=/[\s\.,:;?!]/;function Pke(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-Z6),i=Math.min(s,n+Z6),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<Z6;c++)if(!G6.test(l[c+1])&&G6.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-Z6;c--)if(!G6.test(l[c-1])&&G6.test(l[c])){l=l.slice(0,c);break}}return At.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const gVn=At.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),vVn=[Qw,th.low(uVn),gVn];class L8e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class Ck{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(bM).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Md,l=[],c=0;for(let d=0;;){let f=d==a.length?null:a[d];if(!f&&!l.length)break;let p,h;for(l.length?(p=c,h=l.reduce((v,y)=>Math.min(v,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let v=a[d];if(v.from==p&&(v.to>v.from||v.to==p))l.push(v),d++,h=Math.min(v.to,h);else{h=Math.min(v.from,h);break}}let m=NVn(l);if(l.some(v=>v.from==v.to||v.from==v.to-1&&r.doc.lineAt(v.from).to==v.from))i.add(p,p,An.widget({widget:new CVn(m),diagnostics:l.slice()}));else{let v=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,An.mark({class:"cm-lintRange cm-lintRange-"+m+v,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let v=0;v<l.length;v++)l[v].to<=c&&l.splice(v--,1)}let u=i.finish();return new Ck(u,n,Uj(u))}}function Uj(e,t=null,n=0){let r=null;return e.between(n,1e9,(s,a,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new L8e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new L8e(r.from,a,r.diagnostic)}}),r}function yVn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(bM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(KSt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function bVn(e,t){return e.field(jp,!1)?t:t.concat(xr.appendConfig.of(IVn))}const KSt=xr.define(),$ke=xr.define(),XSt=xr.define(),jp=bl.define({create(){return new Ck(An.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,s=e.panel;if(e.selected){let a=t.changes.mapPos(e.selected.from,1);r=Uj(n,e.selected.diagnostic,a)||Uj(n,null,a)}!n.size&&s&&t.state.facet(bM).autoPanel&&(s=null),e=new Ck(n,s,r)}for(let n of t.effects)if(n.is(KSt)){let r=t.state.facet(bM).autoPanel?n.value.length?xM.open:null:e.panel;e=Ck.init(n.value,r,t.state)}else n.is($ke)?e=new Ck(e.diagnostics,n.value?xM.open:null,e.selected):n.is(XSt)&&(e=new Ck(e.diagnostics,e.panel,n.value));return e},provide:e=>[lM.from(e,t=>t.panel),At.decorations.from(e,t=>t.diagnostics)]}),xVn=An.mark({class:"cm-lintRange cm-lintRange-active"});function wVn(e,t,n){let{diagnostics:r}=e.state.field(jp),s,a=-1,i=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(t<u||n<0)))return s=d.diagnostics,a=c,i=u,!1});let l=e.state.facet(bM).tooltipFilter;return s&&l&&(s=l(s,e.state)),s?{pos:a,end:i,above:e.state.doc.lineAt(a).to<i,create(){return{dom:SVn(e,s)}}}:null}function SVn(e,t){return hi("ul",{class:"cm-tooltip-lint"},t.map(n=>ekt(e,n,!1)))}const kVn=e=>{let t=e.state.field(jp,!1);(!t||!t.panel)&&e.dispatch({effects:bVn(e.state,[$ke.of(!0)])});let n=QSe(e,xM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},F8e=e=>{let t=e.state.field(jp,!1);return!t||!t.panel?!1:(e.dispatch({effects:$ke.of(!1)}),!0)},OVn=e=>{let t=e.state.field(jp,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},_Vn=[{key:"Mod-Shift-m",run:kVn,preventDefault:!0},{key:"F8",run:OVn}],bM=jn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Fy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:z8e,tooltipFilter:z8e,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,s,a)=>t(r,s,a)||n(r,s,a):t:n,autoPanel:(t,n)=>t||n})}}});function z8e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function JSt(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!t.some(a=>a.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function ekt(e,t,n){var r;let s=n?JSt(t.actions):[];return hi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},hi("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(r=t.actions)===null||r===void 0?void 0:r.map((a,i)=>{let l=!1,c=h=>{if(h.preventDefault(),l)return;l=!0;let m=Uj(e.state.field(jp).diagnostics,t);m&&a.apply(e,m.from,m.to)},{name:u}=a,d=s[i]?u.indexOf(s[i]):-1,f=d<0?u:[u.slice(0,d),hi("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return hi("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&hi("div",{class:"cm-diagnosticSource"},t.source))}class CVn extends nh{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return hi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class B8e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=ekt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class xM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)F8e(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],i=JSt(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=Uj(this.view.state.field(jp).diagnostics,a);c&&a.actions[l].apply(t,c.from,c.to)}}else return;s.preventDefault()},r=s=>{for(let a=0;a<this.items.length;a++)this.items[a].dom.contains(s.target)&&this.moveSelection(a)};this.list=hi("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=hi("div",{class:"cm-panel-lint"},this.list,hi("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>F8e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(jp).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(jp),r=0,s=!1,a=null,i=new Set;for(t.between(0,this.view.state.doc.length,(l,c,{spec:u})=>{for(let d of u.diagnostics){if(i.has(d))continue;i.add(d);let f=-1,p;for(let h=r;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(p=new B8e(this.view,d),this.items.splice(r,0,p),s=!0):(p=this.items[f],f>r&&(this.items.splice(r,f-r),s=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),a=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new B8e(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),a?(this.list.setAttribute("aria-activedescendant",a.id),this.view.requestMeasure({key:this,read:()=>({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.top<c.top?this.list.scrollTop-=(c.top-l.top)/u:l.bottom>c.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(jp),r=Uj(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:XSt.of(r)})}static open(t){return new xM(t)}}function EVn(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function Q6(e){return EVn(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const TVn=At.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Q6("#d11")},".cm-lintRange-warning":{backgroundImage:Q6("orange")},".cm-lintRange-info":{backgroundImage:Q6("#999")},".cm-lintRange-hint":{backgroundImage:Q6("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function jVn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function NVn(e){let t="hint",n=1;for(let r of e){let s=jVn(r.severity);s>n&&(n=s,t=r.severity)}return t}const IVn=[jp,At.decorations.compute([jp],e=>{let{selected:t,panel:n}=e.field(jp);return!t||!n||t.from==t.to?An.none:An.set([xVn.range(t.from,t.to)])}),kzn(wVn,{hideOn:yVn}),TVn];var U8e=function(t){t===void 0&&(t={});var n=t,r=n.crosshairCursor,s=r===void 0?!1:r,a=[];t.closeBracketsKeymap!==!1&&(a=a.concat(x9n)),t.defaultKeymap!==!1&&(a=a.concat(Bqn)),t.searchKeymap!==!1&&(a=a.concat(hVn)),t.historyKeymap!==!1&&(a=a.concat(GUn)),t.foldKeymap!==!1&&(a=a.concat(a8n)),t.completionKeymap!==!1&&(a=a.concat(Gwt)),t.lintKeymap!==!1&&(a=a.concat(_Vn));var i=[];return t.lineNumbers!==!1&&i.push($zn()),t.highlightActiveLineGutter!==!1&&i.push(Lzn()),t.highlightSpecialChars!==!1&&i.push(KFn()),t.history!==!1&&i.push(FUn()),t.foldGutter!==!1&&i.push(c8n()),t.drawSelection!==!1&&i.push(BFn()),t.dropCursor!==!1&&i.push(WFn()),t.allowMultipleSelections!==!1&&i.push(us.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(Kzn()),t.syntaxHighlighting!==!1&&i.push(J1(p8n,{fallback:!0})),t.bracketMatching!==!1&&i.push(x8n()),t.closeBrackets!==!1&&i.push(g9n()),t.autocompletion!==!1&&i.push(Zwt()),t.rectangularSelection!==!1&&i.push(dzn()),s!==!1&&i.push(hzn()),t.highlightActiveLine!==!1&&i.push(rzn()),t.highlightSelectionMatches!==!1&&i.push(Zqn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(uI.of(" ".repeat(t.tabSize))),i.concat([cI.of(a.flat())]).filter(Boolean)};const AVn="#e5c07b",q8e="#e06c75",RVn="#56b6c2",PVn="#ffffff",T8="#abb2bf",$ge="#7d8799",$Vn="#61afef",MVn="#98c379",V8e="#d19a66",DVn="#c678dd",LVn="#21252b",H8e="#2c313a",W8e="#282c34",Ree="#353a42",FVn="#3E4451",Z8e="#528bff",zVn=At.theme({"&":{color:T8,backgroundColor:W8e},".cm-content":{caretColor:Z8e},".cm-cursor, .cm-dropCursor":{borderLeftColor:Z8e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:FVn},".cm-panels":{backgroundColor:LVn,color:T8},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:W8e,color:$ge,border:"none"},".cm-activeLineGutter":{backgroundColor:H8e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ree},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ree,borderBottomColor:Ree},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:H8e,color:T8}}},{dark:!0}),BVn=Hg.define([{tag:he.keyword,color:DVn},{tag:[he.name,he.deleted,he.character,he.propertyName,he.macroName],color:q8e},{tag:[he.function(he.variableName),he.labelName],color:$Vn},{tag:[he.color,he.constant(he.name),he.standard(he.name)],color:V8e},{tag:[he.definition(he.name),he.separator],color:T8},{tag:[he.typeName,he.className,he.number,he.changed,he.annotation,he.modifier,he.self,he.namespace],color:AVn},{tag:[he.operator,he.operatorKeyword,he.url,he.escape,he.regexp,he.link,he.special(he.string)],color:RVn},{tag:[he.meta,he.comment],color:$ge},{tag:he.strong,fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.link,color:$ge,textDecoration:"underline"},{tag:he.heading,fontWeight:"bold",color:q8e},{tag:[he.atom,he.bool,he.special(he.variableName)],color:V8e},{tag:[he.processingInstruction,he.string,he.inserted],color:MVn},{tag:he.invalid,color:PVn}]),UVn=[zVn,J1(BVn)];var qVn=At.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),VVn=function(t){t===void 0&&(t={});var n=t,r=n.indentWithTab,s=r===void 0?!0:r,a=n.editable,i=a===void 0?!0:a,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,p=f===void 0?"":f,h=n.basicSetup,m=h===void 0?!0:h,v=[];switch(s&&v.unshift(cI.of([Uqn])),m&&(typeof m=="boolean"?v.unshift(U8e()):v.unshift(U8e(m))),p&&v.unshift(ozn(p)),d){case"light":v.push(qVn);break;case"dark":v.push(UVn);break;case"none":break;default:v.push(d);break}return i===!1&&v.push(At.editable.of(!1)),c&&v.push(us.readOnly.of(!0)),[...v]},HVn=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class WVn{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class G8e{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var Pee=null,ZVn=()=>typeof window>"u"?new G8e:(Pee||(Pee=new G8e),Pee),GVn=At.theme({"& .cm-scroller":{height:"100% !important"}}),Q8e=null,$ee=null;function QVn(e,t,n,r,s,a){if(!e&&!t&&!n&&!r&&!s&&!a)return null;var i=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a});return i===Q8e||(Q8e=i,$ee=At.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),$ee}var Y8e=Ly.define(),YVn=200,KVn=[];function XVn(e){var t=e.value,n=e.selection,r=e.onChange,s=e.onStatistics,a=e.onCreateEditor,i=e.onUpdate,l=e.extensions,c=l===void 0?KVn:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,p=e.height,h=p===void 0?null:p,m=e.minHeight,v=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,x=e.width,S=x===void 0?null:x,k=e.minWidth,C=k===void 0?null:k,_=e.maxWidth,E=_===void 0?null:_,T=e.placeholder,N=T===void 0?"":T,I=e.editable,A=I===void 0?!0:I,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,F=D===void 0?!0:D,H=e.basicSetup,B=H===void 0?!0:H,U=e.root,q=e.initialState,M=g.useState(),G=M[0],V=M[1],$=g.useState(),z=$[0],Z=$[1],K=g.useState(),ne=K[0],ee=K[1],J=g.useState(()=>({current:null}))[0],ae=g.useState(()=>({current:null}))[0],pe=QVn(h,v,b,S,C,E),Y=At.updateListener.of(fe=>{if(fe.docChanged&&typeof r=="function"&&!fe.transactions.some(be=>be.annotation(Y8e))){J.current?J.current.reset():(J.current=new WVn(()=>{if(ae.current){var be=ae.current;ae.current=null,be()}J.current=null},YVn),ZVn().add(J.current));var ce=fe.state.doc,me=ce.toString();r(me,fe)}s&&s(HVn(fe))}),te=VVn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:F,basicSetup:B}),ue=[Y,...pe?[pe]:[],GVn,...te];return i&&typeof i=="function"&&ue.push(At.updateListener.of(i)),ue=ue.concat(c),g.useLayoutEffect(()=>{if(G&&!ne){var fe={doc:t,selection:n,extensions:ue},ce=q?us.fromJSON(q.json,fe,q.fields):us.create(fe);if(ee(ce),!z){var me=new At({state:ce,parent:G,root:U});Z(me),a&&a(me,ce)}}return()=>{z&&(ee(void 0),Z(void 0))}},[G,ne]),g.useEffect(()=>{e.container&&V(e.container)},[e.container]),g.useEffect(()=>()=>{z&&(z.destroy(),Z(void 0)),J.current&&(J.current.cancel(),J.current=null)},[z]),g.useEffect(()=>{u&&z&&z.focus()},[u,z]),g.useEffect(()=>{z&&z.dispatch({effects:xr.reconfigure.of(ue)})},[f,c,h,v,b,S,C,E,N,A,L,F,B,r,i]),g.useEffect(()=>{if(t!==void 0){var fe=z?z.state.doc.toString():"";if(z&&t!==fe){var ce=J.current&&!J.current.isDone,me=()=>{z&&t!==z.state.doc.toString()&&z.dispatch({changes:{from:0,to:z.state.doc.toString().length,insert:t||""},annotations:[Y8e.of(!0)]})};ce?ae.current=me:me()}}},[t,z]),{state:ne,setState:ee,view:z,setView:Z,container:G,setContainer:V}}var JVn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Yu=g.forwardRef((e,t)=>{var n=e.className,r=e.value,s=r===void 0?"":r,a=e.selection,i=e.extensions,l=i===void 0?[]:i,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,p=e.autoFocus,h=e.theme,m=h===void 0?"light":h,v=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,C=e.basicSetup,_=e.placeholder,E=e.indentWithTab,T=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=lSt(e,JVn),L=g.useRef(null),D=XVn({root:I,value:s,autoFocus:p,theme:m,height:v,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:C,placeholder:_,indentWithTab:E,editable:T,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),F=D.state,H=D.view,B=D.container,U=D.setContainer;g.useImperativeHandle(t,()=>({editor:L.current,state:F,view:H}),[L,B,F,H]);var q=g.useCallback(G=>{L.current=G,U(G)},[U]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var M=typeof m=="string"?"cm-theme-"+m:"cm-theme";return o.jsx("div",HO({ref:q,className:""+M+(n?" "+n:"")},R))});Yu.displayName="CodeMirror";const eHn={js:"javascript",javascript:"javascript",mjs:"javascript",cjs:"javascript",node:"javascript",ts:"typescript",typescript:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",jsx:"jsx",json:"json",json5:"json",md:"markdown",markdown:"markdown",py:"python",python:"python",sh:"bash",bash:"bash",shell:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",diff:"diff",patch:"diff",css:"css",scss:"css",html:"html",htm:"html",xml:"xml",svg:"xml",sql:"sql"};let Mee=null;function tHn(){return Mee||(Mee=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([Da(()=>import("./core-DZeucpK3.js"),__vite__mapDeps([0,1,2]),import.meta.url),Da(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[Da(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),Da(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[Da(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),Da(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),Da(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),Da(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),Da(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),Da(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),Da(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),Da(()=>import("./python-DhUJRlN_.js"),[],import.meta.url),Da(()=>import("./yaml-CVw76BM1.js"),[],import.meta.url),Da(()=>import("./diff-BgYniUM_.js"),[],import.meta.url),Da(()=>import("./css-BPhBrDlE.js"),[],import.meta.url),Da(()=>import("./html-C2L_23MC.js"),__vite__mapDeps([4,5,6]),import.meta.url),Da(()=>import("./xml-DGRTSKzu.js"),[],import.meta.url),Da(()=>import("./sql-COK4E0Yg.js"),[],import.meta.url)],engine:t()})})()),Mee}async function nHn(e,t){const n=eHn[t?.toLowerCase()];if(!n)return null;const r=await tHn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function rHn(e){return new BO(eke.define(e))}const tkt=[ig.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return Da(()=>Promise.resolve().then(()=>H6),void 0,import.meta.url).then(e=>e.javascript())}}),ig.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return Da(()=>Promise.resolve().then(()=>A8n),void 0,import.meta.url).then(e=>e.json())}}),ig.of({name:"JSX",extensions:["jsx"],load(){return Da(()=>Promise.resolve().then(()=>H6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),ig.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return Da(()=>Promise.resolve().then(()=>CUn),void 0,import.meta.url).then(e=>e.markdown())}}),ig.of({name:"TSX",extensions:["tsx"],load(){return Da(()=>Promise.resolve().then(()=>H6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),ig.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return Da(()=>Promise.resolve().then(()=>H6),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),ig.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return Da(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>rHn(e.shell))}})];function sHn(e,t=5){if(!e?.properties)return[];const n=[];function r(s,a,i){if(i>t)return;const l=Array.isArray(s.type)?s.type.join(" | "):s.type;if(n.push({path:a,label:a,description:s.description??s.title,type:l}),s.properties)for(const[c,u]of Object.entries(s.properties))r(u,`${a}.${c}`,i+1);if(s.items?.properties)for(const[c,u]of Object.entries(s.items.properties))r(u,`${a}[].${c}`,i+1)}for(const[s,a]of Object.entries(e.properties))r(a,s,1);return n}function aHn(e){const t=sHn(e);return Zwt({override:[iHn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function iHn(e){return t=>{const r=t.state.sliceDoc(Math.max(0,t.pos-50),t.pos).match(/\{\{([a-zA-Z0-9_.\[\]]*)?$/);if(!r)return null;const s=r[1]??"",a=t.pos-s.length,i=s?e.filter(c=>c.path.toLowerCase().startsWith(s.toLowerCase())):e;if(i.length===0)return null;const l=i.map(c=>({label:c.path,displayLabel:c.path,detail:c.type,info:c.description,apply:(u,d,f,p)=>{const v=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:v},selection:{anchor:f+v.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const oHn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,lHn=An.mark({class:"cm-variable-highlight"}),K8e=new owt({regexp:oHn,decoration:()=>lHn}),cHn=Co.fromClass(class{decorations;constructor(e){this.decorations=K8e.createDeco(e)}update(e){this.decorations=K8e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),uHn=cHn;function dHn(){const e=fI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"var(--neutral2)",background:"transparent",foreground:"var(--neutral6)",caret:"var(--neutral6)"},styles:[{tag:[he.className,he.propertyName],color:"var(--neutral6)"},{tag:he.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[he.heading1,he.heading2,he.heading3,he.heading4,he.heading5,he.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:he.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:he.link,color:"var(--accent3)",textDecoration:"underline"},{tag:he.url,color:"var(--accent3)"},{tag:he.monospace,color:"var(--neutral6)"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=At.theme({".cm-editor":{backgroundColor:"transparent"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{color:"var(--neutral3)"},".cm-cursor":{borderLeftColor:"var(--neutral6)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in srgb, var(--accent3) 22%, transparent)"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}});return[e,t]}function fHn(){const e=At.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.8rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--neutral3)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"},"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{background:"color-mix(in srgb, var(--accent3) 22%, transparent) !important"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}}),t=Hg.define([{tag:[he.comment,he.bracket],color:"var(--neutral2)"},{tag:[he.string,he.meta,he.regexp],color:"var(--accent1)"},{tag:[he.atom,he.bool,he.special(he.variableName)],color:"var(--accent6)"},{tag:[he.keyword,he.operator,he.tagName],color:"var(--accent2)"},{tag:[he.function(he.propertyName),he.propertyName],color:"var(--accent5)"},{tag:[he.definition(he.variableName),he.function(he.variableName),he.className,he.attributeName],color:"var(--accent3)"},{tag:[he.variableName,he.number],color:"var(--accent5)"},{tag:[he.name,he.quote],color:"var(--accent1)"},{tag:he.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[he.heading1,he.heading2,he.heading3,he.heading4,he.heading5,he.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[he.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[he.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:he.link,color:"var(--accent3)",textDecoration:"underline"},{tag:he.url,color:"var(--accent3)"},{tag:he.monospace,color:"var(--neutral6)"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:[he.deleted],color:"var(--accent2)"},{tag:he.invalid,color:"var(--error)"},{tag:[he.standard(he.tagName)],color:"var(--accent1)"}]);return[e,J1(t)]}const a0=()=>{const e=q_().resolvedTheme==="dark";return g.useMemo(()=>e?dHn():fHn(),[e])},pHn=co(X("relative overflow-hidden font-mono outline-hidden focus-within:outline-hidden focus:outline-hidden","duration-normal transition-colors ease-out-custom"),{variants:{variant:{default:"rounded-md border border-border1 bg-surface3 p-1 focus-within:border-neutral6/20",embedded:"rounded-none border-none bg-transparent p-0"}},defaultVariants:{variant:"default"}}),hHn=th.highest(At.editorAttributes.of({style:"outline: none"})),mHn=th.highest(At.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),gHn=[hHn,mHn],Hr=g.forwardRef(({data:e,value:t,onChange:n,showCopyButton:r=!0,className:s,language:a="json",highlightVariables:i=!1,placeholder:l,schema:c,autoFocus:u,lineNumbers:d=!0,lineWrapping:f=!0,editable:p,variant:h,...m},v)=>{const y=a0(),b=e?JSON.stringify(e,null,2):t??"",x=g.useMemo(()=>{const S=[...gHn];return f&&S.push(At.lineWrapping),a==="json"?S.push($p):a==="markdown"&&S.push(Eke({base:VO,codeLanguages:tkt})),i&&a==="markdown"&&S.push(uHn),c&&a==="markdown"&&S.push(aHn(c)),p===!1&&S.push(us.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:X(pHn({variant:h}),s),...m,children:[r&&o.jsx(za,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(Yu,{ref:v,value:b,theme:y,extensions:x,onChange:n,editable:p,"aria-label":"Code editor",placeholder:l,height:"100%",style:{height:"100%"},autoFocus:u,basicSetup:{lineNumbers:d}})]})}),vHn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},yHn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=a0(),{settings:r,setSettings:s}=fH(),a=r?.tracingOptions,i=g.useMemo(()=>vHn(a),[a]),[l,c]=g.useState(()=>i),u=g.useRef(!1);g.useEffect(()=>{u.current||c(i)},[i]);const d=p=>{u.current=!0,c(p)},f=()=>{if(!l){s({...r,tracingOptions:void 0}),t?.();return}try{const p=JSON.parse(l);typeof p=="object"&&p!==null&&s({...r,tracingOptions:p})}catch{return}t?.()};return o.jsxs("div",{className:"space-y-2 px-5 py-2",children:[o.jsx(ye,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Yu,{value:l,onChange:d,theme:n,extensions:[$p],className:X("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(le,{type:"button",onClick:f,children:"Save"})})]})},bHn=()=>{const[e,t]=g.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(le,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(Ve,{children:o.jsx(rV,{})})})}),o.jsx(On,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Options"}),o.jsx(zs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Ir,{children:o.jsx(yHn,{onSaved:()=>t(!1)})})]})})]})};function xHn({status:e}){switch(e){case"running":return o.jsx(Jt,{});case"failed":return o.jsx(ws,{className:"text-accent2"});case"canceled":return o.jsx($f,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(hj,{className:"text-neutral3"});case"suspended":return o.jsx(Kq,{className:"text-accent3"});case"success":return o.jsx(da,{className:"text-accent1"});default:return o.jsx(hj,{className:"text-neutral3"})}}function nkt({status:e}){return o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(Ve,{"aria-label":e,className:"shrink-0",children:o.jsx(xHn,{status:e})})}),o.jsx(On,{children:e})]})}var Dee,X8e;function Mke(){if(X8e)return Dee;X8e=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(d){d&&(this._isDirected=Object.hasOwn(d,"directed")?d.directed:!0,this._isMultigraph=Object.hasOwn(d,"multigraph")?d.multigraph:!1,this._isCompound=Object.hasOwn(d,"compound")?d.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(d){return this._label=d,this}graph(){return this._label}setDefaultNodeLabel(d){return this._defaultNodeLabelFn=d,typeof d!="function"&&(this._defaultNodeLabelFn=()=>d),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var d=this;return this.nodes().filter(f=>Object.keys(d._in[f]).length===0)}sinks(){var d=this;return this.nodes().filter(f=>Object.keys(d._out[f]).length===0)}setNodes(d,f){var p=arguments,h=this;return d.forEach(function(m){p.length>1?h.setNode(m,f):h.setNode(m)}),this}setNode(d,f){return Object.hasOwn(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=t,this._children[d]={},this._children[t][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)}node(d){return this._nodes[d]}hasNode(d){return Object.hasOwn(this._nodes,d)}removeNode(d){var f=this;if(Object.hasOwn(this._nodes,d)){var p=h=>f.removeEdge(f._edgeObjs[h]);delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],this.children(d).forEach(function(h){f.setParent(h)}),delete this._children[d]),Object.keys(this._in[d]).forEach(p),delete this._in[d],delete this._preds[d],Object.keys(this._out[d]).forEach(p),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this}setParent(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f===void 0)f=t;else{f+="";for(var p=f;p!==void 0;p=this.parent(p))if(p===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this}_removeFromParentsChildList(d){delete this._children[this._parent[d]][d]}parent(d){if(this._isCompound){var f=this._parent[d];if(f!==t)return f}}children(d=t){if(this._isCompound){var f=this._children[d];if(f)return Object.keys(f)}else{if(d===t)return this.nodes();if(this.hasNode(d))return[]}}predecessors(d){var f=this._preds[d];if(f)return Object.keys(f)}successors(d){var f=this._sucs[d];if(f)return Object.keys(f)}neighbors(d){var f=this.predecessors(d);if(f){const h=new Set(f);for(var p of this.successors(d))h.add(p);return Array.from(h.values())}}isLeaf(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0}filterNodes(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;Object.entries(this._nodes).forEach(function([v,y]){d(v)&&f.setNode(v,y)}),Object.values(this._edgeObjs).forEach(function(v){f.hasNode(v.v)&&f.hasNode(v.w)&&f.setEdge(v,p.edge(v))});var h={};function m(v){var y=p.parent(v);return y===void 0||f.hasNode(y)?(h[v]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(v=>f.setParent(v,m(v))),f}setDefaultEdgeLabel(d){return this._defaultEdgeLabelFn=d,typeof d!="function"&&(this._defaultEdgeLabelFn=()=>d),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(d,f){var p=this,h=arguments;return d.reduce(function(m,v){return h.length>1?p.setEdge(m,v,f):p.setEdge(m,v),v}),this}setEdge(){var d,f,p,h,m=!1,v=arguments[0];typeof v=="object"&&v!==null&&"v"in v?(d=v.v,f=v.w,p=v.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=v,f=arguments[1],p=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),d=""+d,f=""+f,p!==void 0&&(p=""+p);var y=i(this._isDirected,d,f,p);if(Object.hasOwn(this._edgeLabels,y))return m&&(this._edgeLabels[y]=h),this;if(p!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[y]=m?h:this._defaultEdgeLabelFn(d,f,p);var b=l(this._isDirected,d,f,p);return d=b.v,f=b.w,Object.freeze(b),this._edgeObjs[y]=b,s(this._preds[f],d),s(this._sucs[d],f),this._in[f][y]=b,this._out[d][y]=b,this._edgeCount++,this}edge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return this._edgeLabels[h]}edgeAsObj(){const d=this.edge(...arguments);return typeof d!="object"?{label:d}:d}hasEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return Object.hasOwn(this._edgeLabels,h)}removeEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p),m=this._edgeObjs[h];return m&&(d=m.v,f=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],a(this._preds[f],d),a(this._sucs[d],f),delete this._in[f][h],delete this._out[d][h],this._edgeCount--),this}inEdges(d,f){var p=this._in[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.v===f):h}}outEdges(d,f){var p=this._out[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.w===f):h}}nodeEdges(d,f){var p=this.inEdges(d,f);if(p)return p.concat(this.outEdges(d,f))}}function s(u,d){u[d]?u[d]++:u[d]=1}function a(u,d){--u[d]||delete u[d]}function i(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}return h+n+m+n+(p===void 0?e:p)}function l(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}var y={v:h,w:m};return p&&(y.name=p),y}function c(u,d){return i(u,d.v,d.w,d.name)}return Dee=r,Dee}var Lee,J8e;function wHn(){return J8e||(J8e=1,Lee="2.2.4"),Lee}var Fee,e9e;function SHn(){return e9e||(e9e=1,Fee={Graph:Mke(),version:wHn()}),Fee}var zee,t9e;function kHn(){if(t9e)return zee;t9e=1;var e=Mke();zee={write:t,read:s};function t(a){var i={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:n(a),edges:r(a)};return a.graph()!==void 0&&(i.value=structuredClone(a.graph())),i}function n(a){return a.nodes().map(function(i){var l=a.node(i),c=a.parent(i),u={v:i};return l!==void 0&&(u.value=l),c!==void 0&&(u.parent=c),u})}function r(a){return a.edges().map(function(i){var l=a.edge(i),c={v:i.v,w:i.w};return i.name!==void 0&&(c.name=i.name),l!==void 0&&(c.value=l),c})}function s(a){var i=new e(a.options).setGraph(a.value);return a.nodes.forEach(function(l){i.setNode(l.v,l.value),l.parent&&i.setParent(l.v,l.parent)}),a.edges.forEach(function(l){i.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),i}return zee}var Bee,n9e;function OHn(){if(n9e)return Bee;n9e=1,Bee=e;function e(t){var n={},r=[],s;function a(i){Object.hasOwn(n,i)||(n[i]=!0,s.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){s=[],a(i),s.length&&r.push(s)}),r}return Bee}var Uee,r9e;function rkt(){if(r9e)return Uee;r9e=1;class e{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var a=this._arr,i=a.length;return s[n]=i,a.push({key:n,priority:r}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)}_heapify(n){var r=this._arr,s=2*n,a=s+1,i=n;s<r.length&&(i=r[s].priority<r[i].priority?s:i,a<r.length&&(i=r[a].priority<r[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var r=this._arr,s=r[n].priority,a;n!==0&&(a=n>>1,!(r[a].priority<s));)this._swap(n,a),n=a}_swap(n,r){var s=this._arr,a=this._keyIndices,i=s[n],l=s[r];s[n]=l,s[r]=i,a[l.key]=n,a[i.key]=r}}return Uee=e,Uee}var qee,s9e;function skt(){if(s9e)return qee;s9e=1;var e=rkt();qee=n;var t=()=>1;function n(s,a,i,l){return r(s,String(a),i||t,l||function(c){return s.outEdges(c)})}function r(s,a,i,l){var c={},u=new e,d,f,p=function(h){var m=h.v!==d?h.v:h.w,v=c[m],y=i(h),b=f.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);b<v.distance&&(v.distance=b,v.predecessor=d,u.decrease(m,b))};for(s.nodes().forEach(function(h){var m=h===a?0:Number.POSITIVE_INFINITY;c[h]={distance:m},u.add(h,m)});u.size()>0&&(d=u.removeMin(),f=c[d],f.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(p);return c}return qee}var Vee,a9e;function _Hn(){if(a9e)return Vee;a9e=1;var e=skt();Vee=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return Vee}var Hee,i9e;function akt(){if(i9e)return Hee;i9e=1,Hee=e;function e(t){var n=0,r=[],s={},a=[];function i(l){var c=s[l]={onStack:!0,lowlink:n,index:n++};if(r.push(l),t.successors(l).forEach(function(f){Object.hasOwn(s,f)?s[f].onStack&&(c.lowlink=Math.min(c.lowlink,s[f].index)):(i(f),c.lowlink=Math.min(c.lowlink,s[f].lowlink))}),c.lowlink===c.index){var u=[],d;do d=r.pop(),s[d].onStack=!1,u.push(d);while(l!==d);a.push(u)}}return t.nodes().forEach(function(l){Object.hasOwn(s,l)||i(l)}),a}return Hee}var Wee,o9e;function CHn(){if(o9e)return Wee;o9e=1;var e=akt();Wee=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return Wee}var Zee,l9e;function EHn(){if(l9e)return Zee;l9e=1,Zee=t;var e=()=>1;function t(r,s,a){return n(r,s||e,a||function(i){return r.outEdges(i)})}function n(r,s,a){var i={},l=r.nodes();return l.forEach(function(c){i[c]={},i[c][c]={distance:0},l.forEach(function(u){c!==u&&(i[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var d=u.v===c?u.w:u.v,f=s(u);i[c][d]={distance:f,predecessor:c}})}),l.forEach(function(c){var u=i[c];l.forEach(function(d){var f=i[d];l.forEach(function(p){var h=f[c],m=u[p],v=f[p],y=h.distance+m.distance;y<v.distance&&(v.distance=y,v.predecessor=m.predecessor)})})}),i}return Zee}var Gee,c9e;function ikt(){if(c9e)return Gee;c9e=1;function e(n){var r={},s={},a=[];function i(l){if(Object.hasOwn(s,l))throw new t;Object.hasOwn(r,l)||(s[l]=!0,r[l]=!0,n.predecessors(l).forEach(i),delete s[l],a.push(l))}if(n.sinks().forEach(i),Object.keys(r).length!==n.nodeCount())throw new t;return a}class t extends Error{constructor(){super(...arguments)}}return Gee=e,e.CycleException=t,Gee}var Qee,u9e;function THn(){if(u9e)return Qee;u9e=1;var e=ikt();Qee=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Qee}var Yee,d9e;function okt(){if(d9e)return Yee;d9e=1,Yee=e;function e(s,a,i){Array.isArray(a)||(a=[a]);var l=s.isDirected()?f=>s.successors(f):f=>s.neighbors(f),c=i==="post"?t:n,u=[],d={};return a.forEach(f=>{if(!s.hasNode(f))throw new Error("Graph does not have node: "+f);c(f,l,d,u)}),u}function t(s,a,i,l){for(var c=[[s,!1]];c.length>0;){var u=c.pop();u[1]?l.push(u[0]):Object.hasOwn(i,u[0])||(i[u[0]]=!0,c.push([u[0],!0]),r(a(u[0]),d=>c.push([d,!1])))}}function n(s,a,i,l){for(var c=[s];c.length>0;){var u=c.pop();Object.hasOwn(i,u)||(i[u]=!0,l.push(u),r(a(u),d=>c.push(d)))}}function r(s,a){for(var i=s.length;i--;)a(s[i],i,s);return s}return Yee}var Kee,f9e;function jHn(){if(f9e)return Kee;f9e=1;var e=okt();Kee=t;function t(n,r){return e(n,r,"post")}return Kee}var Xee,p9e;function NHn(){if(p9e)return Xee;p9e=1;var e=okt();Xee=t;function t(n,r){return e(n,r,"pre")}return Xee}var Jee,h9e;function IHn(){if(h9e)return Jee;h9e=1;var e=Mke(),t=rkt();Jee=n;function n(r,s){var a=new e,i={},l=new t,c;function u(f){var p=f.v===c?f.w:f.v,h=l.priority(p);if(h!==void 0){var m=s(f);m<h&&(i[p]=c,l.decrease(p,m))}}if(r.nodeCount()===0)return a;r.nodes().forEach(function(f){l.add(f,Number.POSITIVE_INFINITY),a.setNode(f)}),l.decrease(r.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),Object.hasOwn(i,c))a.setEdge(c,i[c]);else{if(d)throw new Error("Input graph is not connected: "+r);d=!0}r.nodeEdges(c).forEach(u)}return a}return Jee}var ete,m9e;function AHn(){return m9e||(m9e=1,ete={components:OHn(),dijkstra:skt(),dijkstraAll:_Hn(),findCycles:CHn(),floydWarshall:EHn(),isAcyclic:THn(),postorder:jHn(),preorder:NHn(),prim:IHn(),tarjan:akt(),topsort:ikt()}),ete}var tte,g9e;function Fg(){if(g9e)return tte;g9e=1;var e=SHn();return tte={Graph:e.Graph,json:kHn(),alg:AHn(),version:e.version},tte}var nte,v9e;function RHn(){if(v9e)return nte;v9e=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,a=s._prev;if(a!==s)return t(a),a}enqueue(s){let a=this._sentinel;s._prev&&s._next&&t(s),s._next=a._next,a._next._prev=s,a._next=s,s._prev=a}toString(){let s=[],a=this._sentinel,i=a._prev;for(;i!==a;)s.push(JSON.stringify(i,n)),i=i._prev;return"["+s.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,s){if(r!=="_next"&&r!=="_prev")return s}return nte=e,nte}var rte,y9e;function PHn(){if(y9e)return rte;y9e=1;let e=Fg().Graph,t=RHn();rte=r;let n=()=>1;function r(u,d){if(u.nodeCount()<=1)return[];let f=i(u,d||n);return s(f.graph,f.buckets,f.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function s(u,d,f){let p=[],h=d[d.length-1],m=d[0],v;for(;u.nodeCount();){for(;v=m.dequeue();)a(u,d,f,v);for(;v=h.dequeue();)a(u,d,f,v);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(v=d[y].dequeue(),v){p=p.concat(a(u,d,f,v,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(v=>{let y=u.edge(v),b=u.node(v.v);h&&m.push({v:v.v,w:v.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(v=>{let y=u.edge(v),b=v.w,x=u.node(b);x.in-=y,l(d,f,x)}),u.removeNode(p.v),m}function i(u,d){let f=new e,p=0,h=0;u.nodes().forEach(y=>{f.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let b=f.edge(y.v,y.w)||0,x=d(y),S=b+x;f.setEdge(y.v,y.w,S),h=Math.max(h,f.node(y.v).out+=x),p=Math.max(p,f.node(y.w).in+=x)});let m=c(h+p+3).map(()=>new t),v=p+1;return f.nodes().forEach(y=>{l(m,v,f.node(y))}),{graph:f,buckets:m,zeroIdx:v}}function l(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}function c(u){const d=[];for(let f=0;f<u;f++)d.push(f);return d}return rte}var ste,b9e;function Ml(){if(b9e)return ste;b9e=1;let e=Fg().Graph;ste={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:_,maxRank:m,normalizeRanks:c,notime:b,partition:v,pick:C,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:E};function t(T,N,I,A){for(var R=A;T.hasNode(R);)R=S(A);return I.dummy=N,T.setNode(R,I),R}function n(T){let N=new e().setGraph(T.graph());return T.nodes().forEach(I=>N.setNode(I,T.node(I))),T.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=T.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(T){let N=new e({multigraph:T.isMultigraph()}).setGraph(T.graph());return T.nodes().forEach(I=>{T.children(I).length||N.setNode(I,T.node(I))}),T.edges().forEach(I=>{N.setEdge(I,T.edge(I))}),N}function s(T){let N=T.nodes().map(I=>{let A={};return T.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+T.edge(R).weight}),A});return E(T.nodes(),N)}function a(T){let N=T.nodes().map(I=>{let A={};return T.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+T.edge(R).weight}),A});return E(T.nodes(),N)}function i(T,N){let I=T.x,A=T.y,R=N.x-I,L=N.y-A,D=T.width/2,F=T.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,B;return Math.abs(L)*D>Math.abs(R)*F?(L<0&&(F=-F),H=F*R/L,B=F):(R<0&&(D=-D),H=D,B=D*L/R),{x:I+H,y:A+B}}function l(T){let N=k(m(T)+1).map(()=>[]);return T.nodes().forEach(I=>{let A=T.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(T){let N=T.nodes().map(A=>{let R=T.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);T.nodes().forEach(A=>{let R=T.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(T){let N=T.nodes().map(D=>T.node(D).rank),I=h(Math.min,N),A=[];T.nodes().forEach(D=>{let F=T.node(D).rank-I;A[F]||(A[F]=[]),A[F].push(D)});let R=0,L=T.graph().nodeRankFactor;Array.from(A).forEach((D,F)=>{D===void 0&&F%L!==0?--R:D!==void 0&&R&&D.forEach(H=>T.node(H).rank+=R)})}function d(T,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(T,"border",R,N)}function f(T,N=p){const I=[];for(let A=0;A<T.length;A+=N){const R=T.slice(A,A+N);I.push(R)}return I}const p=65535;function h(T,N){if(N.length>p){const I=f(N);return T.apply(null,I.map(A=>T.apply(null,A)))}else return T.apply(null,N)}function m(T){const I=T.nodes().map(A=>{let R=T.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function v(T,N){let I={lhs:[],rhs:[]};return T.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(T,N){let I=Date.now();try{return N()}finally{console.log(T+" time: "+(Date.now()-I)+"ms")}}function b(T,N){return N()}let x=0;function S(T){var N=++x;return T+(""+N)}function k(T,N,I=1){N==null&&(N=T,T=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=T;A(L);L+=I)R.push(L);return R}function C(T,N){const I={};for(const A of N)T[A]!==void 0&&(I[A]=T[A]);return I}function _(T,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(T).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function E(T,N){return T.reduce((I,A,R)=>(I[A]=N[R],I),{})}return ste}var ate,x9e;function $Hn(){if(x9e)return ate;x9e=1;let e=PHn(),t=Ml().uniqueId;ate={run:n,undo:s};function n(a){(a.graph().acyclicer==="greedy"?e(a,l(a)):r(a)).forEach(c=>{let u=a.edge(c);a.removeEdge(c),u.forwardName=c.name,u.reversed=!0,a.setEdge(c.w,c.v,u,t("rev"))});function l(c){return u=>c.edge(u).weight}}function r(a){let i=[],l={},c={};function u(d){Object.hasOwn(c,d)||(c[d]=!0,l[d]=!0,a.outEdges(d).forEach(f=>{Object.hasOwn(l,f.w)?i.push(f):u(f.w)}),delete l[d])}return a.nodes().forEach(u),i}function s(a){a.edges().forEach(i=>{let l=a.edge(i);if(l.reversed){a.removeEdge(i);let c=l.forwardName;delete l.reversed,delete l.forwardName,a.setEdge(i.w,i.v,l,c)}})}return ate}var ite,w9e;function MHn(){if(w9e)return ite;w9e=1;let e=Ml();ite={run:t,undo:r};function t(s){s.graph().dummyChains=[],s.edges().forEach(a=>n(s,a))}function n(s,a){let i=a.v,l=s.node(i).rank,c=a.w,u=s.node(c).rank,d=a.name,f=s.edge(a),p=f.labelRank;if(u===l+1)return;s.removeEdge(a);let h,m,v;for(v=0,++l;l<u;++v,++l)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},h=e.addDummyNode(s,"edge",m,"_d"),l===p&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),s.setEdge(i,h,{weight:f.weight},d),v===0&&s.graph().dummyChains.push(h),i=h;s.setEdge(i,c,{weight:f.weight},d)}function r(s){s.graph().dummyChains.forEach(a=>{let i=s.node(a),l=i.edgeLabel,c;for(s.setEdge(i.edgeObj,l);i.dummy;)c=s.successors(a)[0],s.removeNode(a),l.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(l.x=i.x,l.y=i.y,l.width=i.width,l.height=i.height),a=c,i=s.node(a)})}return ite}var ote,S9e;function IB(){if(S9e)return ote;S9e=1;const{applyWithChunking:e}=Ml();ote={longestPath:t,slack:n};function t(r){var s={};function a(i){var l=r.node(i);if(Object.hasOwn(s,i))return l.rank;s[i]=!0;let c=r.outEdges(i).map(d=>d==null?Number.POSITIVE_INFINITY:a(d.w)-r.edge(d).minlen);var u=e(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),l.rank=u}r.sources().forEach(a)}function n(r,s){return r.node(s.w).rank-r.node(s.v).rank-r.edge(s).minlen}return ote}var lte,k9e;function lkt(){if(k9e)return lte;k9e=1;var e=Fg().Graph,t=IB().slack;lte=n;function n(i){var l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(var d,f;r(l,i)<u;)d=s(l,i),f=l.hasNode(d.v)?t(i,d):-t(i,d),a(l,i,f);return l}function r(i,l){function c(u){l.nodeEdges(u).forEach(d=>{var f=d.v,p=u===f?d.w:f;!i.hasNode(p)&&!t(l,d)&&(i.setNode(p,{}),i.setEdge(u,p,{}),c(p))})}return i.nodes().forEach(c),i.nodeCount()}function s(i,l){return l.edges().reduce((u,d)=>{let f=Number.POSITIVE_INFINITY;return i.hasNode(d.v)!==i.hasNode(d.w)&&(f=t(l,d)),f<u[0]?[f,d]:u},[Number.POSITIVE_INFINITY,null])[1]}function a(i,l,c){i.nodes().forEach(u=>l.node(u).rank+=c)}return lte}var cte,O9e;function DHn(){if(O9e)return cte;O9e=1;var e=lkt(),t=IB().slack,n=IB().longestPath,r=Fg().alg.preorder,s=Fg().alg.postorder,a=Ml().simplify;cte=i,i.initLowLimValues=d,i.initCutValues=l,i.calcCutValue=u,i.leaveEdge=p,i.enterEdge=h,i.exchangeEdges=m;function i(x){x=a(x),n(x);var S=e(x);d(S),l(S,x);for(var k,C;k=p(S);)C=h(S,x,k),m(S,x,k,C)}function l(x,S){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(C=>c(x,S,C))}function c(x,S,k){var C=x.node(k),_=C.parent;x.edge(k,_).cutvalue=u(x,S,k)}function u(x,S,k){var C=x.node(k),_=C.parent,E=!0,T=S.edge(k,_),N=0;return T||(E=!1,T=S.edge(_,k)),N=T.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==_){var L=A===E,D=S.edge(I).weight;if(N+=L?D:-D,y(x,k,R)){var F=x.edge(k,R).cutvalue;N+=L?-F:F}}}),N}function d(x,S){arguments.length<2&&(S=x.nodes()[0]),f(x,{},1,S)}function f(x,S,k,C,_){var E=k,T=x.node(C);return S[C]=!0,x.neighbors(C).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,C))}),T.low=E,T.lim=k++,_?T.parent=_:delete T.parent,k}function p(x){return x.edges().find(S=>x.edge(S).cutvalue<0)}function h(x,S,k){var C=k.v,_=k.w;S.hasEdge(C,_)||(C=k.w,_=k.v);var E=x.node(C),T=x.node(_),N=E,I=!1;E.lim>T.lim&&(N=T,I=!0);var A=S.edges().filter(R=>I===b(x,x.node(R.v),N)&&I!==b(x,x.node(R.w),N));return A.reduce((R,L)=>t(S,L)<t(S,R)?L:R)}function m(x,S,k,C){var _=k.v,E=k.w;x.removeEdge(_,E),x.setEdge(C.v,C.w,{}),d(x),l(x,S),v(x,S)}function v(x,S){var k=x.nodes().find(_=>!S.node(_).parent),C=r(x,k);C=C.slice(1),C.forEach(_=>{var E=x.node(_).parent,T=S.edge(_,E),N=!1;T||(T=S.edge(E,_),N=!0),S.node(_).rank=S.node(E).rank+(N?T.minlen:-T.minlen)})}function y(x,S,k){return x.hasEdge(S,k)}function b(x,S,k){return k.low<=S.lim&&S.lim<=k.lim}return cte}var ute,_9e;function LHn(){if(_9e)return ute;_9e=1;var e=IB(),t=e.longestPath,n=lkt(),r=DHn();ute=s;function s(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":i(c);break;case"longest-path":a(c);break;case"none":break;default:l(c)}}var a=t;function i(c){t(c),n(c)}function l(c){r(c)}return ute}var dte,C9e;function FHn(){if(C9e)return dte;C9e=1,dte=e;function e(r){let s=n(r);r.graph().dummyChains.forEach(a=>{let i=r.node(a),l=i.edgeObj,c=t(r,s,l.v,l.w),u=c.path,d=c.lca,f=0,p=u[f],h=!0;for(;a!==l.w;){if(i=r.node(a),h){for(;(p=u[f])!==d&&r.node(p).maxRank<i.rank;)f++;p===d&&(h=!1)}if(!h){for(;f<u.length-1&&r.node(p=u[f+1]).minRank<=i.rank;)f++;p=u[f]}r.setParent(a,p),a=r.successors(a)[0]}})}function t(r,s,a,i){let l=[],c=[],u=Math.min(s[a].low,s[i].low),d=Math.max(s[a].lim,s[i].lim),f,p;f=a;do f=r.parent(f),l.push(f);while(f&&(s[f].low>u||d>s[f].lim));for(p=f,f=i;(f=r.parent(f))!==p;)c.push(f);return{path:l.concat(c.reverse()),lca:p}}function n(r){let s={},a=0;function i(l){let c=a;r.children(l).forEach(i),s[l]={low:c,lim:a++}}return r.children().forEach(i),s}return dte}var fte,E9e;function zHn(){if(E9e)return fte;E9e=1;let e=Ml();fte={run:t,cleanup:a};function t(i){let l=e.addDummyNode(i,"root",{},"_root"),c=r(i),u=Object.values(c),d=e.applyWithChunking(Math.max,u)-1,f=2*d+1;i.graph().nestingRoot=l,i.edges().forEach(h=>i.edge(h).minlen*=f);let p=s(i)+1;i.children().forEach(h=>n(i,l,f,p,d,c,h)),i.graph().nodeRankFactor=f}function n(i,l,c,u,d,f,p){let h=i.children(p);if(!h.length){p!==l&&i.setEdge(l,p,{weight:0,minlen:c});return}let m=e.addBorderNode(i,"_bt"),v=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(v,p),y.borderBottom=v,h.forEach(b=>{n(i,l,c,u,d,f,b);let x=i.node(b),S=x.borderTop?x.borderTop:b,k=x.borderBottom?x.borderBottom:b,C=x.borderTop?u:2*u,_=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:C,minlen:_,nestingEdge:!0}),i.setEdge(k,v,{weight:C,minlen:_,nestingEdge:!0})}),i.parent(p)||i.setEdge(l,m,{weight:0,minlen:d+f[p]})}function r(i){var l={};function c(u,d){var f=i.children(u);f&&f.length&&f.forEach(p=>c(p,d+1)),l[u]=d}return i.children().forEach(u=>c(u,1)),l}function s(i){return i.edges().reduce((l,c)=>l+i.edge(c).weight,0)}function a(i){var l=i.graph();i.removeNode(l.nestingRoot),delete l.nestingRoot,i.edges().forEach(c=>{var u=i.edge(c);u.nestingEdge&&i.removeEdge(c)})}return fte}var pte,T9e;function BHn(){if(T9e)return pte;T9e=1;let e=Ml();pte=t;function t(r){function s(a){let i=r.children(a),l=r.node(a);if(i.length&&i.forEach(s),Object.hasOwn(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(let c=l.minRank,u=l.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",a,l,c),n(r,"borderRight","_br",a,l,c)}}r.children().forEach(s)}function n(r,s,a,i,l,c){let u={width:0,height:0,rank:c,borderType:s},d=l[s][c-1],f=e.addDummyNode(r,"border",u,a);l[s][c]=f,r.setParent(f,i),d&&r.setEdge(d,f,{weight:1})}return pte}var hte,j9e;function UHn(){if(j9e)return hte;j9e=1,hte={adjust:e,undo:t};function e(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&s(c),(u==="lr"||u==="rl")&&(i(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function s(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(a),Object.hasOwn(d,"y")&&a(d)})}function a(c){c.y=-c.y}function i(c){c.nodes().forEach(u=>l(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(l),Object.hasOwn(d,"x")&&l(d)})}function l(c){let u=c.x;c.x=c.y,c.y=u}return hte}var mte,N9e;function qHn(){if(N9e)return mte;N9e=1;let e=Ml();mte=t;function t(n){let r={},s=n.nodes().filter(d=>!n.children(d).length),a=s.map(d=>n.node(d).rank),i=e.applyWithChunking(Math.max,a),l=e.range(i+1).map(()=>[]);function c(d){if(r[d])return;r[d]=!0;let f=n.node(d);l[f.rank].push(d),n.successors(d).forEach(c)}return s.sort((d,f)=>n.node(d).rank-n.node(f).rank).forEach(c),l}return mte}var gte,I9e;function VHn(){if(I9e)return gte;I9e=1;let e=Ml().zipObject;gte=t;function t(r,s){let a=0;for(let i=1;i<s.length;++i)a+=n(r,s[i-1],s[i]);return a}function n(r,s,a){let i=e(a,a.map((p,h)=>h)),l=s.flatMap(p=>r.outEdges(p).map(h=>({pos:i[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),c=1;for(;c<a.length;)c<<=1;let u=2*c-1;c-=1;let d=new Array(u).fill(0),f=0;return l.forEach(p=>{let h=p.pos+c;d[h]+=p.weight;let m=0;for(;h>0;)h%2&&(m+=d[h+1]),h=h-1>>1,d[h]+=p.weight;f+=p.weight*m}),f}return gte}var vte,A9e;function HHn(){if(A9e)return vte;A9e=1,vte=e;function e(t,n=[]){return n.map(r=>{let s=t.inEdges(r);if(s.length){let a=s.reduce((i,l)=>{let c=t.edge(l),u=t.node(l.v);return{sum:i.sum+c.weight*u.order,weight:i.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}return vte}var yte,R9e;function WHn(){if(R9e)return yte;R9e=1;let e=Ml();yte=t;function t(s,a){let i={};s.forEach((c,u)=>{let d=i[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(d.barycenter=c.barycenter,d.weight=c.weight)}),a.edges().forEach(c=>{let u=i[c.v],d=i[c.w];u!==void 0&&d!==void 0&&(d.indegree++,u.out.push(i[c.w]))});let l=Object.values(i).filter(c=>!c.indegree);return n(l)}function n(s){let a=[];function i(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function l(c){return u=>{u.in.push(c),--u.indegree===0&&s.push(u)}}for(;s.length;){let c=s.pop();a.push(c),c.in.reverse().forEach(i(c)),c.out.forEach(l(c))}return a.filter(c=>!c.merged).map(c=>e.pick(c,["vs","i","barycenter","weight"]))}function r(s,a){let i=0,l=0;s.weight&&(i+=s.barycenter*s.weight,l+=s.weight),a.weight&&(i+=a.barycenter*a.weight,l+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=i/l,s.weight=l,s.i=Math.min(a.i,s.i),a.merged=!0}return yte}var bte,P9e;function ZHn(){if(P9e)return bte;P9e=1;let e=Ml();bte=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,v)=>v.i-m.i),u=[],d=0,f=0,p=0;l.sort(r(!!a)),p=n(u,c,p),l.forEach(m=>{p+=m.vs.length,u.push(m.vs),d+=m.barycenter*m.weight,f+=m.weight,p=n(u,c,p)});let h={vs:u.flat(!0)};return f&&(h.barycenter=d/f,h.weight=f),h}function n(s,a,i){let l;for(;a.length&&(l=a[a.length-1]).i<=i;)a.pop(),s.push(l.vs),i++;return i}function r(s){return(a,i)=>a.barycenter<i.barycenter?-1:a.barycenter>i.barycenter?1:s?i.i-a.i:a.i-i.i}return bte}var xte,$9e;function GHn(){if($9e)return xte;$9e=1;let e=HHn(),t=WHn(),n=ZHn();xte=r;function r(i,l,c,u){let d=i.children(l),f=i.node(l),p=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,m={};p&&(d=d.filter(x=>x!==p&&x!==h));let v=e(i,d);v.forEach(x=>{if(i.children(x.v).length){let S=r(i,x.v,c,u);m[x.v]=S,Object.hasOwn(S,"barycenter")&&a(x,S)}});let y=t(v,c);s(y,m);let b=n(y,u);if(p&&(b.vs=[p,b.vs,h].flat(!0),i.predecessors(p).length)){let x=i.node(i.predecessors(p)[0]),S=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+x.order+S.order)/(b.weight+2),b.weight+=2}return b}function s(i,l){i.forEach(c=>{c.vs=c.vs.flatMap(u=>l[u]?l[u].vs:u)})}function a(i,l){i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+l.barycenter*l.weight)/(i.weight+l.weight),i.weight+=l.weight):(i.barycenter=l.barycenter,i.weight=l.weight)}return xte}var wte,M9e;function QHn(){if(M9e)return wte;M9e=1;let e=Fg().Graph,t=Ml();wte=n;function n(s,a,i,l){l||(l=s.nodes());let c=r(s),u=new e({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(d=>s.node(d));return l.forEach(d=>{let f=s.node(d),p=s.parent(d);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(u.setNode(d),u.setParent(d,p||c),s[i](d).forEach(h=>{let m=h.v===d?h.w:h.v,v=u.edge(m,d),y=v!==void 0?v.weight:0;u.setEdge(m,d,{weight:s.edge(h).weight+y})}),Object.hasOwn(f,"minRank")&&u.setNode(d,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),u}function r(s){for(var a;s.hasNode(a=t.uniqueId("_root")););return a}return wte}var Ste,D9e;function YHn(){if(D9e)return Ste;D9e=1,Ste=e;function e(t,n,r){let s={},a;r.forEach(i=>{let l=t.parent(i),c,u;for(;l;){if(c=t.parent(l),c?(u=s[c],s[c]=l):(u=a,a=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return Ste}var kte,L9e;function KHn(){if(L9e)return kte;L9e=1;let e=qHn(),t=VHn(),n=GHn(),r=QHn(),s=YHn(),a=Fg().Graph,i=Ml();kte=l;function l(f,p){if(p&&typeof p.customOrder=="function"){p.customOrder(f,l);return}let h=i.maxRank(f),m=c(f,i.range(1,h+1),"inEdges"),v=c(f,i.range(h-1,-1,-1),"outEdges"),y=e(f);if(d(f,y),p&&p.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,x;for(let S=0,k=0;k<4;++S,++k){u(S%2?m:v,S%4>=2),y=i.buildLayerMatrix(f);let C=t(f,y);C<b&&(k=0,x=Object.assign({},y),b=C)}d(f,x)}function c(f,p,h){const m=new Map,v=(y,b)=>{m.has(y)||m.set(y,[]),m.get(y).push(b)};for(const y of f.nodes()){const b=f.node(y);if(typeof b.rank=="number"&&v(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&v(x,y)}return p.map(function(y){return r(f,y,h,m.get(y)||[])})}function u(f,p){let h=new a;f.forEach(function(m){let v=m.graph().root,y=n(m,v,h,p);y.vs.forEach((b,x)=>m.node(b).order=x),s(m,h,y.vs)})}function d(f,p){Object.values(p).forEach(h=>h.forEach((m,v)=>f.node(m).order=v))}return kte}var Ote,F9e;function XHn(){if(F9e)return Ote;F9e=1;let e=Fg().Graph,t=Ml();Ote={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:i,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:f,findSmallestWidthAlignment:d,balance:p};function n(y,b){let x={};function S(k,C){let _=0,E=0,T=k.length,N=C[C.length-1];return C.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:T;(R||I===N)&&(C.slice(E,A+1).forEach(D=>{y.predecessors(D).forEach(F=>{let H=y.node(F),B=H.order;(B<_||L<B)&&!(H.dummy&&y.node(D).dummy)&&a(x,F,D)})}),E=A+1,_=L)}),C}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(C,_,E,T,N){let I;t.range(_,E).forEach(A=>{I=C[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<T||L.order>N)&&a(x,R,I)})})}function k(C,_){let E=-1,T,N=0;return _.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(T=y.node(R[0]).order,S(_,N,A,E,T),N=A,E=T)}S(_,N,_.length,T,C.length)}),_}return b.length&&b.reduce(k),x}function s(y,b){if(y.node(b).dummy)return y.predecessors(b).find(x=>y.node(x).dummy)}function a(y,b,x){if(b>x){let k=b;b=x,x=k}let S=y[b];S||(y[b]=S={}),S[x]=!0}function i(y,b,x){if(b>x){let S=b;b=x,x=S}return!!y[b]&&Object.hasOwn(y[b],x)}function l(y,b,x,S){let k={},C={},_={};return b.forEach(E=>{E.forEach((T,N)=>{k[T]=T,C[T]=T,_[T]=N})}),b.forEach(E=>{let T=-1;E.forEach(N=>{let I=S(N);if(I.length){I=I.sort((R,L)=>_[R]-_[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];C[N]===N&&T<_[D]&&!i(x,N,D)&&(C[D]=N,C[N]=k[N]=k[D],T=_[D])}}})}),{root:k,align:C}}function c(y,b,x,S,k){let C={},_=u(y,b,x,k),E=k?"borderLeft":"borderRight";function T(A,R){let L=_.nodes(),D=L.pop(),F={};for(;D;)F[D]?A(D):(F[D]=!0,L.push(D),L=L.concat(R(D))),D=L.pop()}function N(A){C[A]=_.inEdges(A).reduce((R,L)=>Math.max(R,C[L.v]+_.edge(L)),0)}function I(A){let R=_.outEdges(A).reduce((D,F)=>Math.min(D,C[F.w]-_.edge(F)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==E&&(C[A]=Math.max(C[A],R))}return T(N,_.predecessors.bind(_)),T(I,_.successors.bind(_)),Object.keys(S).forEach(A=>C[A]=C[x[A]]),C}function u(y,b,x,S){let k=new e,C=y.graph(),_=m(C.nodesep,C.edgesep,S);return b.forEach(E=>{let T;E.forEach(N=>{let I=x[N];if(k.setNode(I),T){var A=x[T],R=k.edge(A,I);k.setEdge(A,I,Math.max(_(y,N,T),R||0))}T=N})}),k}function d(y,b){return Object.values(b).reduce((x,S)=>{let k=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([E,T])=>{let N=v(y,E)/2;k=Math.max(T+N,k),C=Math.min(T-N,C)});const _=k-C;return _<x[0]&&(x=[_,S]),x},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let x=Object.values(b),S=t.applyWithChunking(Math.min,x),k=t.applyWithChunking(Math.max,x);["u","d"].forEach(C=>{["l","r"].forEach(_=>{let E=C+_,T=y[E];if(T===b)return;let N=Object.values(T),I=S-t.applyWithChunking(Math.min,N);_!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[E]=t.mapValues(T,A=>A+I))})})}function p(y,b){return t.mapValues(y.ul,(x,S)=>{if(b)return y[b.toLowerCase()][S];{let k=Object.values(y).map(C=>C[S]).sort((C,_)=>C-_);return(k[1]+k[2])/2}})}function h(y){let b=t.buildLayerMatrix(y),x=Object.assign(n(y,b),r(y,b)),S={},k;["u","d"].forEach(_=>{k=_==="u"?b:Object.values(b).reverse(),["l","r"].forEach(E=>{E==="r"&&(k=k.map(A=>Object.values(A).reverse()));let T=(_==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,T),I=c(y,k,N.root,N.align,E==="r");E==="r"&&(I=t.mapValues(I,A=>-A)),S[_+E]=I})});let C=d(y,S);return f(S,C),p(S,y.graph().align)}function m(y,b,x){return(S,k,C)=>{let _=S.node(k),E=S.node(C),T=0,N;if(T+=_.width/2,Object.hasOwn(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":N=-_.width/2;break;case"r":N=_.width/2;break}if(N&&(T+=x?N:-N),N=0,T+=(_.dummy?b:y)/2,T+=(E.dummy?b:y)/2,T+=E.width/2,Object.hasOwn(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":N=E.width/2;break;case"r":N=-E.width/2;break}return N&&(T+=x?N:-N),N=0,T}}function v(y,b){return y.node(b).width}return Ote}var _te,z9e;function JHn(){if(z9e)return _te;z9e=1;let e=Ml(),t=XHn().positionX;_te=n;function n(s){s=e.asNonCompoundGraph(s),r(s),Object.entries(t(s)).forEach(([a,i])=>s.node(a).x=i)}function r(s){let a=e.buildLayerMatrix(s),i=s.graph().ranksep,l=0;a.forEach(c=>{const u=c.reduce((d,f)=>{const p=s.node(f).height;return d>p?d:p},0);c.forEach(d=>s.node(d).y=l+u/2),l+=u+i})}return _te}var Cte,B9e;function eWn(){if(B9e)return Cte;B9e=1;let e=$Hn(),t=MHn(),n=LHn(),r=Ml().normalizeRanks,s=FHn(),a=Ml().removeEmptyRanks,i=zHn(),l=BHn(),c=UHn(),u=KHn(),d=JHn(),f=Ml(),p=Fg().Graph;Cte=h;function h($,z){let Z=z&&z.debugTiming?f.time:f.notime;Z("layout",()=>{let K=Z(" buildLayoutGraph",()=>T($));Z(" runLayout",()=>m(K,Z,z)),Z(" updateInputGraph",()=>v($,K))})}function m($,z,Z){z(" makeSpaceForEdgeLabels",()=>N($)),z(" removeSelfEdges",()=>U($)),z(" acyclic",()=>e.run($)),z(" nestingGraph.run",()=>i.run($)),z(" rank",()=>n(f.asNonCompoundGraph($))),z(" injectEdgeLabelProxies",()=>I($)),z(" removeEmptyRanks",()=>a($)),z(" nestingGraph.cleanup",()=>i.cleanup($)),z(" normalizeRanks",()=>r($)),z(" assignRankMinMax",()=>A($)),z(" removeEdgeLabelProxies",()=>R($)),z(" normalize.run",()=>t.run($)),z(" parentDummyChains",()=>s($)),z(" addBorderSegments",()=>l($)),z(" order",()=>u($,Z)),z(" insertSelfEdges",()=>q($)),z(" adjustCoordinateSystem",()=>c.adjust($)),z(" position",()=>d($)),z(" positionSelfEdges",()=>M($)),z(" removeBorderNodes",()=>B($)),z(" normalize.undo",()=>t.undo($)),z(" fixupEdgeLabelCoords",()=>F($)),z(" undoCoordinateSystem",()=>c.undo($)),z(" translateGraph",()=>L($)),z(" assignNodeIntersects",()=>D($)),z(" reversePoints",()=>H($)),z(" acyclic.undo",()=>e.undo($))}function v($,z){$.nodes().forEach(Z=>{let K=$.node(Z),ne=z.node(Z);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,z.children(Z).length&&(K.width=ne.width,K.height=ne.height))}),$.edges().forEach(Z=>{let K=$.edge(Z),ne=z.edge(Z);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),$.graph().width=z.graph().width,$.graph().height=z.graph().height}let y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},x=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},C=["minlen","weight","width","height","labeloffset"],_={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function T($){let z=new p({multigraph:!0,compound:!0}),Z=V($.graph());return z.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,x))),$.nodes().forEach(K=>{let ne=V($.node(K));const ee=G(ne,S);Object.keys(k).forEach(J=>{ee[J]===void 0&&(ee[J]=k[J])}),z.setNode(K,ee),z.setParent(K,$.parent(K))}),$.edges().forEach(K=>{let ne=V($.edge(K));z.setEdge(K,Object.assign({},_,G(ne,C),f.pick(ne,E)))}),z}function N($){let z=$.graph();z.ranksep/=2,$.edges().forEach(Z=>{let K=$.edge(Z);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(z.rankdir==="TB"||z.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function I($){$.edges().forEach(z=>{let Z=$.edge(z);if(Z.width&&Z.height){let K=$.node(z.v),ee={rank:($.node(z.w).rank-K.rank)/2+K.rank,e:z};f.addDummyNode($,"edge-proxy",ee,"_ep")}})}function A($){let z=0;$.nodes().forEach(Z=>{let K=$.node(Z);K.borderTop&&(K.minRank=$.node(K.borderTop).rank,K.maxRank=$.node(K.borderBottom).rank,z=Math.max(z,K.maxRank))}),$.graph().maxRank=z}function R($){$.nodes().forEach(z=>{let Z=$.node(z);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(z))})}function L($){let z=Number.POSITIVE_INFINITY,Z=0,K=Number.POSITIVE_INFINITY,ne=0,ee=$.graph(),J=ee.marginx||0,ae=ee.marginy||0;function pe(Y){let te=Y.x,ue=Y.y,fe=Y.width,ce=Y.height;z=Math.min(z,te-fe/2),Z=Math.max(Z,te+fe/2),K=Math.min(K,ue-ce/2),ne=Math.max(ne,ue+ce/2)}$.nodes().forEach(Y=>pe($.node(Y))),$.edges().forEach(Y=>{let te=$.edge(Y);Object.hasOwn(te,"x")&&pe(te)}),z-=J,K-=ae,$.nodes().forEach(Y=>{let te=$.node(Y);te.x-=z,te.y-=K}),$.edges().forEach(Y=>{let te=$.edge(Y);te.points.forEach(ue=>{ue.x-=z,ue.y-=K}),Object.hasOwn(te,"x")&&(te.x-=z),Object.hasOwn(te,"y")&&(te.y-=K)}),ee.width=Z-z+J,ee.height=ne-K+ae}function D($){$.edges().forEach(z=>{let Z=$.edge(z),K=$.node(z.v),ne=$.node(z.w),ee,J;Z.points?(ee=Z.points[0],J=Z.points[Z.points.length-1]):(Z.points=[],ee=ne,J=K),Z.points.unshift(f.intersectRect(K,ee)),Z.points.push(f.intersectRect(ne,J))})}function F($){$.edges().forEach(z=>{let Z=$.edge(z);if(Object.hasOwn(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function H($){$.edges().forEach(z=>{let Z=$.edge(z);Z.reversed&&Z.points.reverse()})}function B($){$.nodes().forEach(z=>{if($.children(z).length){let Z=$.node(z),K=$.node(Z.borderTop),ne=$.node(Z.borderBottom),ee=$.node(Z.borderLeft[Z.borderLeft.length-1]),J=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(J.x-ee.x),Z.height=Math.abs(ne.y-K.y),Z.x=ee.x+Z.width/2,Z.y=K.y+Z.height/2}}),$.nodes().forEach(z=>{$.node(z).dummy==="border"&&$.removeNode(z)})}function U($){$.edges().forEach(z=>{if(z.v===z.w){var Z=$.node(z.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:z,label:$.edge(z)}),$.removeEdge(z)}})}function q($){var z=f.buildLayerMatrix($);z.forEach(Z=>{var K=0;Z.forEach((ne,ee)=>{var J=$.node(ne);J.order=ee+K,(J.selfEdges||[]).forEach(ae=>{f.addDummyNode($,"selfedge",{width:ae.label.width,height:ae.label.height,rank:J.rank,order:ee+ ++K,e:ae.e,label:ae.label},"_se")}),delete J.selfEdges})})}function M($){$.nodes().forEach(z=>{var Z=$.node(z);if(Z.dummy==="selfedge"){var K=$.node(Z.e.v),ne=K.x+K.width/2,ee=K.y,J=Z.x-ne,ae=K.height/2;$.setEdge(Z.e,Z.label),$.removeNode(z),Z.label.points=[{x:ne+2*J/3,y:ee-ae},{x:ne+5*J/6,y:ee-ae},{x:ne+J,y:ee},{x:ne+5*J/6,y:ee+ae},{x:ne+2*J/3,y:ee+ae}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G($,z){return f.mapValues(f.pick($,z),Number)}function V($){var z={};return $&&Object.entries($).forEach(([Z,K])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),z[Z]=K}),z}return Cte}var Ete,U9e;function tWn(){if(U9e)return Ete;U9e=1;let e=Ml(),t=Fg().Graph;Ete={debugOrdering:n};function n(r){let s=e.buildLayerMatrix(r),a=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(i=>{a.setNode(i,{label:i}),a.setParent(i,"layer"+r.node(i).rank)}),r.edges().forEach(i=>a.setEdge(i.v,i.w,{},i.name)),s.forEach((i,l)=>{let c="layer"+l;a.setNode(c,{rank:"same"}),i.reduce((u,d)=>(a.setEdge(u,d,{style:"invis"}),d))}),a}return Ete}var Tte,q9e;function nWn(){return q9e||(q9e=1,Tte="1.1.8"),Tte}var jte,V9e;function rWn(){return V9e||(V9e=1,jte={graphlib:Fg(),layout:eWn(),debug:tWn(),util:{time:Ml().time,notime:Ml().notime},version:nWn()}),jte}var sWn=rWn();const H9e=zl(sWn);function Vl(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Vl(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var aWn={value:()=>{}};function FH(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new j8(n)}function j8(e){this._=e}function iWn(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}j8.prototype=FH.prototype={constructor:j8,on:function(e,t){var n=this._,r=iWn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=oWn(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(s=(e=r[a]).type)n[s]=W9e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=W9e(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new j8(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function oWn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function W9e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=aWn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Mge="http://www.w3.org/1999/xhtml";const Z9e={svg:"http://www.w3.org/2000/svg",xhtml:Mge,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function zH(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Z9e.hasOwnProperty(t)?{space:Z9e[t],local:e}:e}function lWn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Mge&&t.documentElement.namespaceURI===Mge?t.createElement(e):t.createElementNS(n,e)}}function cWn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ckt(e){var t=zH(e);return(t.local?cWn:lWn)(t)}function uWn(){}function Dke(e){return e==null?uWn:function(){return this.querySelector(e)}}function dWn(e){typeof e!="function"&&(e=Dke(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=new Array(i),c,u,d=0;d<i;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),l[d]=u);return new Qp(r,this._parents)}function fWn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function pWn(){return[]}function ukt(e){return e==null?pWn:function(){return this.querySelectorAll(e)}}function hWn(e){return function(){return fWn(e.apply(this,arguments))}}function mWn(e){typeof e=="function"?e=hWn(e):e=ukt(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&(r.push(e.call(c,c.__data__,u,i)),s.push(c));return new Qp(r,s)}function dkt(e){return function(){return this.matches(e)}}function fkt(e){return function(t){return t.matches(e)}}var gWn=Array.prototype.find;function vWn(e){return function(){return gWn.call(this.children,e)}}function yWn(){return this.firstElementChild}function bWn(e){return this.select(e==null?yWn:vWn(typeof e=="function"?e:fkt(e)))}var xWn=Array.prototype.filter;function wWn(){return Array.from(this.children)}function SWn(e){return function(){return xWn.call(this.children,e)}}function kWn(e){return this.selectAll(e==null?wWn:SWn(typeof e=="function"?e:fkt(e)))}function OWn(e){typeof e!="function"&&(e=dkt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Qp(r,this._parents)}function pkt(e){return new Array(e.length)}function _Wn(){return new Qp(this._enter||this._groups.map(pkt),this._parents)}function AB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}AB.prototype={constructor:AB,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function CWn(e){return function(){return e}}function EWn(e,t,n,r,s,a){for(var i=0,l,c=t.length,u=a.length;i<u;++i)(l=t[i])?(l.__data__=a[i],r[i]=l):n[i]=new AB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function TWn(e,t,n,r,s,a,i){var l,c,u=new Map,d=t.length,f=a.length,p=new Array(d),h;for(l=0;l<d;++l)(c=t[l])&&(p[l]=h=i.call(c,c.__data__,l,t)+"",u.has(h)?s[l]=c:u.set(h,c));for(l=0;l<f;++l)h=i.call(e,a[l],l,a)+"",(c=u.get(h))?(r[l]=c,c.__data__=a[l],u.delete(h)):n[l]=new AB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function jWn(e){return e.__data__}function NWn(e,t){if(!arguments.length)return Array.from(this,jWn);var n=t?TWn:EWn,r=this._parents,s=this._groups;typeof e!="function"&&(e=CWn(e));for(var a=s.length,i=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],p=f.length,h=IWn(e.call(d,d&&d.__data__,u,r)),m=h.length,v=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,v,y,b,h,t);for(var x=0,S=0,k,C;x<m;++x)if(k=v[x]){for(x>=S&&(S=x+1);!(C=y[S])&&++S<m;);k._next=C||null}}return i=new Qp(i,r),i._enter=l,i._exit=c,i}function IWn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function AWn(){return new Qp(this._exit||this._groups.map(pkt),this._parents)}function RWn(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function PWn(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,i=Math.min(s,a),l=new Array(s),c=0;c<i;++c)for(var u=n[c],d=r[c],f=u.length,p=l[c]=new Array(f),h,m=0;m<f;++m)(h=u[m]||d[m])&&(p[m]=h);for(;c<s;++c)l[c]=n[c];return new Qp(l,this._parents)}function $Wn(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],i;--s>=0;)(i=r[s])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function MWn(e){e||(e=DWn);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var i=n[a],l=i.length,c=s[a]=new Array(l),u,d=0;d<l;++d)(u=i[d])&&(c[d]=u);c.sort(t)}return new Qp(s,this._parents).order()}function DWn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function LWn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function FWn(){return Array.from(this)}function zWn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var i=r[s];if(i)return i}return null}function BWn(){let e=0;for(const t of this)++e;return e}function UWn(){return!this.node()}function qWn(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,i=s.length,l;a<i;++a)(l=s[a])&&e.call(l,l.__data__,a,s);return this}function VWn(e){return function(){this.removeAttribute(e)}}function HWn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function WWn(e,t){return function(){this.setAttribute(e,t)}}function ZWn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function GWn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function QWn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function YWn(e,t){var n=zH(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?HWn:VWn:typeof t=="function"?n.local?QWn:GWn:n.local?ZWn:WWn)(n,t))}function hkt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function KWn(e){return function(){this.style.removeProperty(e)}}function XWn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function JWn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function eZn(e,t,n){return arguments.length>1?this.each((t==null?KWn:typeof t=="function"?JWn:XWn)(e,t,n??"")):qj(this.node(),e)}function qj(e,t){return e.style.getPropertyValue(t)||hkt(e).getComputedStyle(e,null).getPropertyValue(t)}function tZn(e){return function(){delete this[e]}}function nZn(e,t){return function(){this[e]=t}}function rZn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function sZn(e,t){return arguments.length>1?this.each((t==null?tZn:typeof t=="function"?rZn:nZn)(e,t)):this.node()[e]}function mkt(e){return e.trim().split(/^|\s+/)}function Lke(e){return e.classList||new gkt(e)}function gkt(e){this._node=e,this._names=mkt(e.getAttribute("class")||"")}gkt.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function vkt(e,t){for(var n=Lke(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function ykt(e,t){for(var n=Lke(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function aZn(e){return function(){vkt(this,e)}}function iZn(e){return function(){ykt(this,e)}}function oZn(e,t){return function(){(t.apply(this,arguments)?vkt:ykt)(this,e)}}function lZn(e,t){var n=mkt(e+"");if(arguments.length<2){for(var r=Lke(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?oZn:t?aZn:iZn)(n,t))}function cZn(){this.textContent=""}function uZn(e){return function(){this.textContent=e}}function dZn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function fZn(e){return arguments.length?this.each(e==null?cZn:(typeof e=="function"?dZn:uZn)(e)):this.node().textContent}function pZn(){this.innerHTML=""}function hZn(e){return function(){this.innerHTML=e}}function mZn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function gZn(e){return arguments.length?this.each(e==null?pZn:(typeof e=="function"?mZn:hZn)(e)):this.node().innerHTML}function vZn(){this.nextSibling&&this.parentNode.appendChild(this)}function yZn(){return this.each(vZn)}function bZn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function xZn(){return this.each(bZn)}function wZn(e){var t=typeof e=="function"?e:ckt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function SZn(){return null}function kZn(e,t){var n=typeof e=="function"?e:ckt(e),r=t==null?SZn:typeof t=="function"?t:Dke(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function OZn(){var e=this.parentNode;e&&e.removeChild(this)}function _Zn(){return this.each(OZn)}function CZn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function EZn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function TZn(e){return this.select(e?EZn:CZn)}function jZn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function NZn(e){return function(t){e.call(this,t,this.__data__)}}function IZn(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function AZn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function RZn(e,t,n){return function(){var r=this.__on,s,a=NZn(t);if(r){for(var i=0,l=r.length;i<l;++i)if((s=r[i]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function PZn(e,t,n){var r=IZn(e+""),s,a=r.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,u=l.length,d;c<u;++c)for(s=0,d=l[c];s<a;++s)if((i=r[s]).type===d.type&&i.name===d.name)return d.value}return}for(l=t?RZn:AZn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function bkt(e,t,n){var r=hkt(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function $Zn(e,t){return function(){return bkt(this,e,t)}}function MZn(e,t){return function(){return bkt(this,e,t.apply(this,arguments))}}function DZn(e,t){return this.each((typeof t=="function"?MZn:$Zn)(e,t))}function*LZn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,i;s<a;++s)(i=r[s])&&(yield i)}var xkt=[null];function Qp(e,t){this._groups=e,this._parents=t}function R3(){return new Qp([[document.documentElement]],xkt)}function FZn(){return this}Qp.prototype=R3.prototype={constructor:Qp,select:dWn,selectAll:mWn,selectChild:bWn,selectChildren:kWn,filter:OWn,data:NWn,enter:_Wn,exit:AWn,join:RWn,merge:PWn,selection:FZn,order:$Wn,sort:MWn,call:LWn,nodes:FWn,node:zWn,size:BWn,empty:UWn,each:qWn,attr:YWn,style:eZn,property:sZn,classed:lZn,text:fZn,html:gZn,raise:yZn,lower:xZn,append:wZn,insert:kZn,remove:_Zn,clone:TZn,datum:jZn,on:PZn,dispatch:DZn,[Symbol.iterator]:LZn};function _p(e){return typeof e=="string"?new Qp([[document.querySelector(e)]],[document.documentElement]):new Qp([[e]],xkt)}function zZn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function og(e,t){if(e=zZn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const BZn={passive:!1},wM={capture:!0,passive:!1};function Nte(e){e.stopImmediatePropagation()}function GT(e){e.preventDefault(),e.stopImmediatePropagation()}function wkt(e){var t=e.document.documentElement,n=_p(e).on("dragstart.drag",GT,wM);"onselectstart"in t?n.on("selectstart.drag",GT,wM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Skt(e,t){var n=e.document.documentElement,r=_p(e).on("dragstart.drag",null);t&&(r.on("click.drag",GT,wM),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const Y6=e=>()=>e;function Dge(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:i,y:l,dx:c,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}Dge.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function UZn(e){return!e.ctrlKey&&!e.button}function qZn(){return this.parentNode}function VZn(e,t){return t??{x:e.x,y:e.y}}function HZn(){return navigator.maxTouchPoints||"ontouchstart"in this}function kkt(){var e=UZn,t=qZn,n=VZn,r=HZn,s={},a=FH("start","drag","end"),i=0,l,c,u,d,f=0;function p(k){k.on("mousedown.drag",h).filter(r).on("touchstart.drag",y).on("touchmove.drag",b,BZn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,C){if(!(d||!e.call(this,k,C))){var _=S(this,t.call(this,k,C),k,C,"mouse");_&&(_p(k.view).on("mousemove.drag",m,wM).on("mouseup.drag",v,wM),wkt(k.view),Nte(k),u=!1,l=k.clientX,c=k.clientY,_("start",k))}}function m(k){if(GT(k),!u){var C=k.clientX-l,_=k.clientY-c;u=C*C+_*_>f}s.mouse("drag",k)}function v(k){_p(k.view).on("mousemove.drag mouseup.drag",null),Skt(k.view,u),GT(k),s.mouse("end",k)}function y(k,C){if(e.call(this,k,C)){var _=k.changedTouches,E=t.call(this,k,C),T=_.length,N,I;for(N=0;N<T;++N)(I=S(this,E,k,C,_[N].identifier,_[N]))&&(Nte(k),I("start",k,_[N]))}}function b(k){var C=k.changedTouches,_=C.length,E,T;for(E=0;E<_;++E)(T=s[C[E].identifier])&&(GT(k),T("drag",k,C[E]))}function x(k){var C=k.changedTouches,_=C.length,E,T;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<_;++E)(T=s[C[E].identifier])&&(Nte(k),T("end",k,C[E]))}function S(k,C,_,E,T,N){var I=a.copy(),A=og(N||_,C),R,L,D;if((D=n.call(k,new Dge("beforestart",{sourceEvent:_,target:p,identifier:T,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),E))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function F(H,B,U){var q=A,M;switch(H){case"start":s[T]=F,M=i++;break;case"end":delete s[T],--i;case"drag":A=og(U||B,C),M=i;break}I.call(H,k,new Dge(H,{sourceEvent:B,subject:D,target:p,identifier:T,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-q[0],dy:A[1]-q[1],dispatch:I}),E)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:Y6(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:Y6(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:Y6(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:Y6(!!k),p):r},p.on=function(){var k=a.on.apply(a,arguments);return k===a?p:k},p.clickDistance=function(k){return arguments.length?(f=(k=+k)*k,p):Math.sqrt(f)},p}function Fke(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Okt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function P3(){}var SM=.7,RB=1/SM,QT="\\s*([+-]?\\d+)\\s*",kM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",sy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",WZn=/^#([0-9a-f]{3,8})$/,ZZn=new RegExp(`^rgb\\(${QT},${QT},${QT}\\)$`),GZn=new RegExp(`^rgb\\(${sy},${sy},${sy}\\)$`),QZn=new RegExp(`^rgba\\(${QT},${QT},${QT},${kM}\\)$`),YZn=new RegExp(`^rgba\\(${sy},${sy},${sy},${kM}\\)$`),KZn=new RegExp(`^hsl\\(${kM},${sy},${sy}\\)$`),XZn=new RegExp(`^hsla\\(${kM},${sy},${sy},${kM}\\)$`),G9e={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Fke(P3,WO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Q9e,formatHex:Q9e,formatHex8:JZn,formatHsl:eGn,formatRgb:Y9e,toString:Y9e});function Q9e(){return this.rgb().formatHex()}function JZn(){return this.rgb().formatHex8()}function eGn(){return _kt(this).formatHsl()}function Y9e(){return this.rgb().formatRgb()}function WO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=WZn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?K9e(t):n===3?new xf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?K6(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?K6(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ZZn.exec(e))?new xf(t[1],t[2],t[3],1):(t=GZn.exec(e))?new xf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=QZn.exec(e))?K6(t[1],t[2],t[3],t[4]):(t=YZn.exec(e))?K6(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=KZn.exec(e))?e7e(t[1],t[2]/100,t[3]/100,1):(t=XZn.exec(e))?e7e(t[1],t[2]/100,t[3]/100,t[4]):G9e.hasOwnProperty(e)?K9e(G9e[e]):e==="transparent"?new xf(NaN,NaN,NaN,0):null}function K9e(e){return new xf(e>>16&255,e>>8&255,e&255,1)}function K6(e,t,n,r){return r<=0&&(e=t=n=NaN),new xf(e,t,n,r)}function tGn(e){return e instanceof P3||(e=WO(e)),e?(e=e.rgb(),new xf(e.r,e.g,e.b,e.opacity)):new xf}function Lge(e,t,n,r){return arguments.length===1?tGn(e):new xf(e,t,n,r??1)}function xf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Fke(xf,Lge,Okt(P3,{brighter(e){return e=e==null?RB:Math.pow(RB,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?SM:Math.pow(SM,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xf(nO(this.r),nO(this.g),nO(this.b),PB(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:X9e,formatHex:X9e,formatHex8:nGn,formatRgb:J9e,toString:J9e}));function X9e(){return`#${Lk(this.r)}${Lk(this.g)}${Lk(this.b)}`}function nGn(){return`#${Lk(this.r)}${Lk(this.g)}${Lk(this.b)}${Lk((isNaN(this.opacity)?1:this.opacity)*255)}`}function J9e(){const e=PB(this.opacity);return`${e===1?"rgb(":"rgba("}${nO(this.r)}, ${nO(this.g)}, ${nO(this.b)}${e===1?")":`, ${e})`}`}function PB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function nO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Lk(e){return e=nO(e),(e<16?"0":"")+e.toString(16)}function e7e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hg(e,t,n,r)}function _kt(e){if(e instanceof hg)return new hg(e.h,e.s,e.l,e.opacity);if(e instanceof P3||(e=WO(e)),!e)return new hg;if(e instanceof hg)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),i=NaN,l=a-s,c=(a+s)/2;return l?(t===a?i=(n-r)/l+(n<r)*6:n===a?i=(r-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+s:2-a-s,i*=60):l=c>0&&c<1?0:i,new hg(i,l,c,e.opacity)}function rGn(e,t,n,r){return arguments.length===1?_kt(e):new hg(e,t,n,r??1)}function hg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Fke(hg,rGn,Okt(P3,{brighter(e){return e=e==null?RB:Math.pow(RB,e),new hg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?SM:Math.pow(SM,e),new hg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new xf(Ite(e>=240?e-240:e+120,s,r),Ite(e,s,r),Ite(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new hg(t7e(this.h),X6(this.s),X6(this.l),PB(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=PB(this.opacity);return`${e===1?"hsl(":"hsla("}${t7e(this.h)}, ${X6(this.s)*100}%, ${X6(this.l)*100}%${e===1?")":`, ${e})`}`}}));function t7e(e){return e=(e||0)%360,e<0?e+360:e}function X6(e){return Math.max(0,Math.min(1,e||0))}function Ite(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const zke=e=>()=>e;function sGn(e,t){return function(n){return e+n*t}}function aGn(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function iGn(e){return(e=+e)==1?Ckt:function(t,n){return n-t?aGn(t,n,e):zke(isNaN(t)?n:t)}}function Ckt(e,t){var n=t-e;return n?sGn(e,n):zke(isNaN(e)?t:e)}const $B=(function e(t){var n=iGn(t);function r(s,a){var i=n((s=Lge(s)).r,(a=Lge(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=Ckt(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function oGn(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function lGn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cGn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),i;for(i=0;i<r;++i)s[i]=fx(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<r;++i)a[i]=s[i](l);return a}}function uGn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function cg(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function dGn(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=fx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var Fge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ate=new RegExp(Fge.source,"g");function fGn(e){return function(){return e}}function pGn(e){return function(t){return e(t)+""}}function Ekt(e,t){var n=Fge.lastIndex=Ate.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=Fge.exec(e))&&(s=Ate.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(r=r[0])===(s=s[0])?l[i]?l[i]+=s:l[++i]=s:(l[++i]=null,c.push({i,x:cg(r,s)})),n=Ate.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?pGn(c[0].x):fGn(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function fx(e,t){var n=typeof t,r;return t==null||n==="boolean"?zke(t):(n==="number"?cg:n==="string"?(r=WO(t))?(t=r,$B):Ekt:t instanceof WO?$B:t instanceof Date?uGn:lGn(t)?oGn:Array.isArray(t)?cGn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?dGn:cg)(e,t)}function Bke(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var n7e=180/Math.PI,zge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Tkt(e,t,n,r,s,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,c/=l),e*r<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*n7e,skewX:Math.atan(c)*n7e,scaleX:i,scaleY:l}}var J6;function hGn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?zge:Tkt(t.a,t.b,t.c,t.d,t.e,t.f)}function mGn(e){return e==null||(J6||(J6=document.createElementNS("http://www.w3.org/2000/svg","g")),J6.setAttribute("transform",e),!(e=J6.transform.baseVal.consolidate()))?zge:(e=e.matrix,Tkt(e.a,e.b,e.c,e.d,e.e,e.f))}function jkt(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push("translate(",null,t,null,n);m.push({i:v-4,x:cg(u,f)},{i:v-2,x:cg(d,p)})}else(f||p)&&h.push("translate("+f+t+p+n)}function i(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(s(f)+"rotate(",null,r)-2,x:cg(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function l(u,d,f,p){u!==d?p.push({i:f.push(s(f)+"skewX(",null,r)-2,x:cg(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push(s(h)+"scale(",null,",",null,")");m.push({i:v-4,x:cg(u,f)},{i:v-2,x:cg(d,p)})}else(f!==1||p!==1)&&h.push(s(h)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,p),i(u.rotate,d.rotate,f,p),l(u.skewX,d.skewX,f,p),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(h){for(var m=-1,v=p.length,y;++m<v;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var gGn=jkt(hGn,"px, ","px)","deg)"),vGn=jkt(mGn,", ",")",")"),yGn=1e-12;function r7e(e){return((e=Math.exp(e))+1/e)/2}function bGn(e){return((e=Math.exp(e))-1/e)/2}function xGn(e){return((e=Math.exp(2*e))-1)/(e+1)}const N8=(function e(t,n,r){function s(a,i){var l=a[0],c=a[1],u=a[2],d=i[0],f=i[1],p=i[2],h=d-l,m=f-c,v=h*h+m*m,y,b;if(v<yGn)b=Math.log(p/u)/t,y=function(E){return[l+E*h,c+E*m,u*Math.exp(t*E*b)]};else{var x=Math.sqrt(v),S=(p*p-u*u+r*v)/(2*u*n*x),k=(p*p-u*u-r*v)/(2*p*n*x),C=Math.log(Math.sqrt(S*S+1)-S),_=Math.log(Math.sqrt(k*k+1)-k);b=(_-C)/t,y=function(E){var T=E*b,N=r7e(C),I=u/(n*x)*(N*xGn(t*T+C)-bGn(C));return[l+I*h,c+I*m,u*N/r7e(t*T+C)]}}return y.duration=b*1e3*t/Math.SQRT2,y}return s.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},s})(Math.SQRT2,2,4);function wGn(e,t){t===void 0&&(t=e,e=fx);for(var n=0,r=t.length-1,s=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(s,s=t[++n]);return function(i){var l=Math.max(0,Math.min(r-1,Math.floor(i*=r)));return a[l](i-l)}}var Vj=0,zP=0,kR=0,Nkt=1e3,MB,BP,DB=0,ZO=0,BH=0,OM=typeof performance=="object"&&performance.now?performance:Date,Ikt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Uke(){return ZO||(Ikt(SGn),ZO=OM.now()+BH)}function SGn(){ZO=0}function LB(){this._call=this._time=this._next=null}LB.prototype=Akt.prototype={constructor:LB,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Uke():+n)+(t==null?0:+t),!this._next&&BP!==this&&(BP?BP._next=this:MB=this,BP=this),this._call=e,this._time=n,Bge()},stop:function(){this._call&&(this._call=null,this._time=1/0,Bge())}};function Akt(e,t,n){var r=new LB;return r.restart(e,t,n),r}function kGn(){Uke(),++Vj;for(var e=MB,t;e;)(t=ZO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Vj}function s7e(){ZO=(DB=OM.now())+BH,Vj=zP=0;try{kGn()}finally{Vj=0,_Gn(),ZO=0}}function OGn(){var e=OM.now(),t=e-DB;t>Nkt&&(BH-=t,DB=e)}function _Gn(){for(var e,t=MB,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:MB=n);BP=e,Bge(r)}function Bge(e){if(!Vj){zP&&(zP=clearTimeout(zP));var t=e-ZO;t>24?(e<1/0&&(zP=setTimeout(s7e,e-OM.now()-BH)),kR&&(kR=clearInterval(kR))):(kR||(DB=OM.now(),kR=setInterval(OGn,Nkt)),Vj=1,Ikt(s7e))}}function a7e(e,t,n){var r=new LB;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var CGn=FH("start","end","cancel","interrupt"),EGn=[],Rkt=0,i7e=1,Uge=2,I8=3,o7e=4,qge=5,A8=6;function UH(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;TGn(e,n,{name:t,index:r,group:s,on:CGn,tween:EGn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Rkt})}function qke(e,t){var n=Gg(e,t);if(n.state>Rkt)throw new Error("too late; already scheduled");return n}function zy(e,t){var n=Gg(e,t);if(n.state>I8)throw new Error("too late; already running");return n}function Gg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function TGn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=Akt(a,0,n.time);function a(u){n.state=i7e,n.timer.restart(i,n.delay,n.time),n.delay<=u&&i(u-n.delay)}function i(u){var d,f,p,h;if(n.state!==i7e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===I8)return a7e(i);h.state===o7e?(h.state=A8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=A8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(a7e(function(){n.state===I8&&(n.state=o7e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=Uge,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Uge){for(n.state=I8,s=new Array(p=n.tween.length),d=0,f=-1;d<p;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=h);s.length=f+1}}function l(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=qge,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===qge&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=A8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function R8(e,t){var n=e.__transition,r,s,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((r=n[i]).name!==t){a=!1;continue}s=r.state>Uge&&r.state<qge,r.state=A8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function jGn(e){return this.each(function(){R8(this,e)})}function NGn(e,t){var n,r;return function(){var s=zy(this,e),a=s.tween;if(a!==n){r=n=a;for(var i=0,l=r.length;i<l;++i)if(r[i].name===t){r=r.slice(),r.splice(i,1);break}}s.tween=r}}function IGn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=zy(this,e),i=a.tween;if(i!==r){s=(r=i).slice();for(var l={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=l;break}c===u&&s.push(l)}a.tween=s}}function AGn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Gg(this.node(),n).tween,s=0,a=r.length,i;s<a;++s)if((i=r[s]).name===e)return i.value;return null}return this.each((t==null?NGn:IGn)(n,e,t))}function Vke(e,t,n){var r=e._id;return e.each(function(){var s=zy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Gg(s,r).value[t]}}function Pkt(e,t){var n;return(typeof t=="number"?cg:t instanceof WO?$B:(n=WO(t))?(t=n,$B):Ekt)(e,t)}function RGn(e){return function(){this.removeAttribute(e)}}function PGn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function $Gn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttribute(e);return i===s?null:i===r?a:a=t(r=i,n)}}function MGn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===r?a:a=t(r=i,n)}}function DGn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function LGn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function FGn(e,t){var n=zH(e),r=n==="transform"?vGn:Pkt;return this.attrTween(e,typeof t=="function"?(n.local?LGn:DGn)(n,r,Vke(this,"attr."+e,t)):t==null?(n.local?PGn:RGn)(n):(n.local?MGn:$Gn)(n,r,t))}function zGn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function BGn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function UGn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&BGn(e,a)),n}return s._value=t,s}function qGn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&zGn(e,a)),n}return s._value=t,s}function VGn(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=zH(e);return this.tween(n,(r.local?UGn:qGn)(r,t))}function HGn(e,t){return function(){qke(this,e).delay=+t.apply(this,arguments)}}function WGn(e,t){return t=+t,function(){qke(this,e).delay=t}}function ZGn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?HGn:WGn)(t,e)):Gg(this.node(),t).delay}function GGn(e,t){return function(){zy(this,e).duration=+t.apply(this,arguments)}}function QGn(e,t){return t=+t,function(){zy(this,e).duration=t}}function YGn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?GGn:QGn)(t,e)):Gg(this.node(),t).duration}function KGn(e,t){if(typeof t!="function")throw new Error;return function(){zy(this,e).ease=t}}function XGn(e){var t=this._id;return arguments.length?this.each(KGn(t,e)):Gg(this.node(),t).ease}function JGn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;zy(this,e).ease=n}}function eQn(e){if(typeof e!="function")throw new Error;return this.each(JGn(this._id,e))}function tQn(e){typeof e!="function"&&(e=dkt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Mx(r,this._parents,this._name,this._id)}function nQn(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),i=new Array(r),l=0;l<a;++l)for(var c=t[l],u=n[l],d=c.length,f=i[l]=new Array(d),p,h=0;h<d;++h)(p=c[h]||u[h])&&(f[h]=p);for(;l<r;++l)i[l]=t[l];return new Mx(i,this._parents,this._name,this._id)}function rQn(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function sQn(e,t,n){var r,s,a=rQn(t)?qke:zy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function aQn(e,t){var n=this._id;return arguments.length<2?Gg(this.node(),n).on.on(e):this.each(sQn(n,e,t))}function iQn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function oQn(){return this.on("end.remove",iQn(this._id))}function lQn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Dke(e));for(var r=this._groups,s=r.length,a=new Array(s),i=0;i<s;++i)for(var l=r[i],c=l.length,u=a[i]=new Array(c),d,f,p=0;p<c;++p)(d=l[p])&&(f=e.call(d,d.__data__,p,l))&&("__data__"in d&&(f.__data__=d.__data__),u[p]=f,UH(u[p],t,n,p,u,Gg(d,n)));return new Mx(a,this._parents,t,n)}function cQn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ukt(e));for(var r=this._groups,s=r.length,a=[],i=[],l=0;l<s;++l)for(var c=r[l],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var p=e.call(d,d.__data__,f,c),h,m=Gg(d,n),v=0,y=p.length;v<y;++v)(h=p[v])&&UH(h,t,n,v,p,m);a.push(p),i.push(d)}return new Mx(a,i,t,n)}var uQn=R3.prototype.constructor;function dQn(){return new uQn(this._groups,this._parents)}function fQn(e,t){var n,r,s;return function(){var a=qj(this,e),i=(this.style.removeProperty(e),qj(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function $kt(e){return function(){this.style.removeProperty(e)}}function pQn(e,t,n){var r,s=n+"",a;return function(){var i=qj(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function hQn(e,t,n){var r,s,a;return function(){var i=qj(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),qj(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function mQn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=zy(this,e),u=c.on,d=c.value[a]==null?l||(l=$kt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function gQn(e,t,n){var r=(e+="")=="transform"?gGn:Pkt;return t==null?this.styleTween(e,fQn(e,r)).on("end.style."+e,$kt(e)):typeof t=="function"?this.styleTween(e,hQn(e,r,Vke(this,"style."+e,t))).each(mQn(this._id,e)):this.styleTween(e,pQn(e,r,t),n).on("end.style."+e,null)}function vQn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function yQn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&vQn(e,i,n)),r}return a._value=t,a}function bQn(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,yQn(e,t,n??""))}function xQn(e){return function(){this.textContent=e}}function wQn(e){return function(){var t=e(this);this.textContent=t??""}}function SQn(e){return this.tween("text",typeof e=="function"?wQn(Vke(this,"text",e)):xQn(e==null?"":e+""))}function kQn(e){return function(t){this.textContent=e.call(this,t)}}function OQn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&kQn(s)),t}return r._value=e,r}function _Qn(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,OQn(e))}function CQn(){for(var e=this._name,t=this._id,n=Mkt(),r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)if(c=i[u]){var d=Gg(c,t);UH(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Mx(r,this._parents,e,n)}function EQn(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--s===0&&a()}};n.each(function(){var u=zy(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),u.on=t}),s===0&&a()})}var TQn=0;function Mx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Mkt(){return++TQn}var bb=R3.prototype;Mx.prototype={constructor:Mx,select:lQn,selectAll:cQn,selectChild:bb.selectChild,selectChildren:bb.selectChildren,filter:tQn,merge:nQn,selection:dQn,transition:CQn,call:bb.call,nodes:bb.nodes,node:bb.node,size:bb.size,empty:bb.empty,each:bb.each,on:aQn,attr:FGn,attrTween:VGn,style:gQn,styleTween:bQn,text:SQn,textTween:_Qn,remove:oQn,tween:AGn,delay:ZGn,duration:YGn,ease:XGn,easeVarying:eQn,end:EQn,[Symbol.iterator]:bb[Symbol.iterator]};function jQn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var NQn={time:null,delay:0,duration:250,ease:jQn};function IQn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function AQn(e){var t,n;e instanceof Mx?(t=e._id,e=e._name):(t=Mkt(),(n=NQn).time=Uke(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&UH(c,e,t,u,i,n||IQn(c,t));return new Mx(r,this._parents,e,t)}R3.prototype.interrupt=jGn;R3.prototype.transition=AQn;const eF=e=>()=>e;function RQn(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function ex(e,t,n){this.k=e,this.x=t,this.y=n}ex.prototype={constructor:ex,scale:function(e){return e===1?this:new ex(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ex(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var qH=new ex(1,0,0);Dkt.prototype=ex.prototype;function Dkt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return qH;return e.__zoom}function Rte(e){e.stopImmediatePropagation()}function OR(e){e.preventDefault(),e.stopImmediatePropagation()}function PQn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function $Qn(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function l7e(){return this.__zoom||qH}function MQn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function DQn(){return navigator.maxTouchPoints||"ontouchstart"in this}function LQn(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function Lkt(){var e=PQn,t=$Qn,n=LQn,r=MQn,s=DQn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=N8,u=FH("start","zoom","end"),d,f,p,h=500,m=150,v=0,y=10;function b(D){D.property("__zoom",l7e).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,F,H,B){var U=D.selection?D.selection():D;U.property("__zoom",l7e),D!==U?C(D,F,H,B):U.interrupt().each(function(){_(this,arguments).event(B).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(D,F,H,B){b.scaleTo(D,function(){var U=this.__zoom.k,q=typeof F=="function"?F.apply(this,arguments):F;return U*q},H,B)},b.scaleTo=function(D,F,H,B){b.transform(D,function(){var U=t.apply(this,arguments),q=this.__zoom,M=H==null?k(U):typeof H=="function"?H.apply(this,arguments):H,G=q.invert(M),V=typeof F=="function"?F.apply(this,arguments):F;return n(S(x(q,V),M,G),U,i)},H,B)},b.translateBy=function(D,F,H,B){b.transform(D,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),i)},null,B)},b.translateTo=function(D,F,H,B,U){b.transform(D,function(){var q=t.apply(this,arguments),M=this.__zoom,G=B==null?k(q):typeof B=="function"?B.apply(this,arguments):B;return n(qH.translate(G[0],G[1]).scale(M.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof H=="function"?-H.apply(this,arguments):-H),q,i)},B,U)};function x(D,F){return F=Math.max(a[0],Math.min(a[1],F)),F===D.k?D:new ex(F,D.x,D.y)}function S(D,F,H){var B=F[0]-H[0]*D.k,U=F[1]-H[1]*D.k;return B===D.x&&U===D.y?D:new ex(D.k,B,U)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function C(D,F,H,B){D.on("start.zoom",function(){_(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(B).end()}).tween("zoom",function(){var U=this,q=arguments,M=_(U,q).event(B),G=t.apply(U,q),V=H==null?k(G):typeof H=="function"?H.apply(U,q):H,$=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),z=U.__zoom,Z=typeof F=="function"?F.apply(U,q):F,K=c(z.invert(V).concat($/z.k),Z.invert(V).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var ee=K(ne),J=$/ee[2];ne=new ex(J,V[0]-ee[0]*J,V[1]-ee[1]*J)}M.zoom(null,ne)}})}function _(D,F,H){return!H&&D.__zooming||new E(D,F)}function E(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}E.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,F){return this.mouse&&D!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var F=_p(this.that).datum();u.call(D,this.that,new RQn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function T(D,...F){if(!e.apply(this,arguments))return;var H=_(this,F).event(D),B=this.__zoom,U=Math.max(a[0],Math.min(a[1],B.k*Math.pow(2,r.apply(this,arguments)))),q=og(D);if(H.wheel)(H.mouse[0][0]!==q[0]||H.mouse[0][1]!==q[1])&&(H.mouse[1]=B.invert(H.mouse[0]=q)),clearTimeout(H.wheel);else{if(B.k===U)return;H.mouse=[q,B.invert(q)],R8(this),H.start()}OR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(B,U),H.mouse[0],H.mouse[1]),H.extent,i));function M(){H.wheel=null,H.end()}}function N(D,...F){if(p||!e.apply(this,arguments))return;var H=D.currentTarget,B=_(this,F,!0).event(D),U=_p(D.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",$,!0),q=og(D,H),M=D.clientX,G=D.clientY;wkt(D.view),Rte(D),B.mouse=[q,this.__zoom.invert(q)],R8(this),B.start();function V(z){if(OR(z),!B.moved){var Z=z.clientX-M,K=z.clientY-G;B.moved=Z*Z+K*K>v}B.event(z).zoom("mouse",n(S(B.that.__zoom,B.mouse[0]=og(z,H),B.mouse[1]),B.extent,i))}function $(z){U.on("mousemove.zoom mouseup.zoom",null),Skt(z.view,B.moved),OR(z),B.event(z).end()}}function I(D,...F){if(e.apply(this,arguments)){var H=this.__zoom,B=og(D.changedTouches?D.changedTouches[0]:D,this),U=H.invert(B),q=H.k*(D.shiftKey?.5:2),M=n(S(x(H,q),B,U),t.apply(this,F),i);OR(D),l>0?_p(this).transition().duration(l).call(C,M,B,D):_p(this).call(b.transform,M,B,D)}}function A(D,...F){if(e.apply(this,arguments)){var H=D.touches,B=H.length,U=_(this,F,D.changedTouches.length===B).event(D),q,M,G,V;for(Rte(D),M=0;M<B;++M)G=H[M],V=og(G,this),V=[V,this.__zoom.invert(V),G.identifier],U.touch0?!U.touch1&&U.touch0[2]!==V[2]&&(U.touch1=V,U.taps=0):(U.touch0=V,q=!0,U.taps=1+!!d);d&&(d=clearTimeout(d)),q&&(U.taps<2&&(f=V[0],d=setTimeout(function(){d=null},h)),R8(this),U.start())}}function R(D,...F){if(this.__zooming){var H=_(this,F).event(D),B=D.changedTouches,U=B.length,q,M,G,V;for(OR(D),q=0;q<U;++q)M=B[q],G=og(M,this),H.touch0&&H.touch0[2]===M.identifier?H.touch0[0]=G:H.touch1&&H.touch1[2]===M.identifier&&(H.touch1[0]=G);if(M=H.that.__zoom,H.touch1){var $=H.touch0[0],z=H.touch0[1],Z=H.touch1[0],K=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,ee=(ee=K[0]-z[0])*ee+(ee=K[1]-z[1])*ee;M=x(M,Math.sqrt(ne/ee)),G=[($[0]+Z[0])/2,($[1]+Z[1])/2],V=[(z[0]+K[0])/2,(z[1]+K[1])/2]}else if(H.touch0)G=H.touch0[0],V=H.touch0[1];else return;H.zoom("touch",n(S(M,G,V),H.extent,i))}}function L(D,...F){if(this.__zooming){var H=_(this,F).event(D),B=D.changedTouches,U=B.length,q,M;for(Rte(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),q=0;q<U;++q)M=B[q],H.touch0&&H.touch0[2]===M.identifier?delete H.touch0:H.touch1&&H.touch1[2]===M.identifier&&delete H.touch1;if(H.touch1&&!H.touch0&&(H.touch0=H.touch1,delete H.touch1),H.touch0)H.touch0[1]=this.__zoom.invert(H.touch0[0]);else if(H.end(),H.taps===2&&(M=og(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=_p(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:eF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:eF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:eF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:eF([[+D[0][0],+D[0][1]],[+D[1][0],+D[1][1]]]),b):t},b.scaleExtent=function(D){return arguments.length?(a[0]=+D[0],a[1]=+D[1],b):[a[0],a[1]]},b.translateExtent=function(D){return arguments.length?(i[0][0]=+D[0][0],i[1][0]=+D[1][0],i[0][1]=+D[0][1],i[1][1]=+D[1][1],b):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},b.constrain=function(D){return arguments.length?(n=D,b):n},b.duration=function(D){return arguments.length?(l=+D,b):l},b.interpolate=function(D){return arguments.length?(c=D,b):c},b.on=function(){var D=u.on.apply(u,arguments);return D===u?b:D},b.clickDistance=function(D){return arguments.length?(v=(D=+D)*D,b):Math.sqrt(v)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const xy={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},_M=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Fkt=["Enter"," ","Escape"],zkt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Hj;(function(e){e.Strict="strict",e.Loose="loose"})(Hj||(Hj={}));var rO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(rO||(rO={}));var CM;(function(e){e.Partial="partial",e.Full="full"})(CM||(CM={}));const Bkt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Sw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Sw||(Sw={}));var EM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(EM||(EM={}));var ar;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ar||(ar={}));const c7e={[ar.Left]:ar.Right,[ar.Right]:ar.Left,[ar.Top]:ar.Bottom,[ar.Bottom]:ar.Top};function Ukt(e){return e===null?null:e?"valid":"invalid"}const qkt=e=>"id"in e&&"source"in e&&"target"in e,FQn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Hke=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),$3=(e,t=[0,0])=>{const{width:n,height:r}=i0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},zQn=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,s)=>{const a=typeof s=="string";let i=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(i=a?t.nodeLookup.get(s):Hke(s)?s:t.nodeLookup.get(s.id));const l=i?FB(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return VH(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return HH(n)},M3=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=VH(n,FB(s)),r=!0)}),r?HH(n):{x:0,y:0,width:0,height:0}},Wke=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...L3(t,[n,r,s]),width:t.width/s,height:t.height/s},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:p=!1}=u;if(i&&!f||p)continue;const h=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,v=TM(l,Zj(u)),y=(h??0)*(m??0),b=a&&v>0;(!u.internals.handleBounds||b||v>=y||u.dragging)&&c.push(u)}return c},BQn=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function UQn(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(t?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function qQn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=UQn(e,i),c=M3(l),u=Zke(c,t,n,i?.minZoom??s,i?.maxZoom??a,i?.padding??.1);return await r.setViewport(u,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)}function Vkt({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=i.origin??r;let f=i.extent||s;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",xy.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&Gj(i.extent)&&(f=[[i.extent[0][0]+c,i.extent[0][1]+u],[i.extent[1][0]+c,i.extent[1][1]+u]]);const p=Gj(f)?GO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",xy.error015()),{position:{x:p.x-c+(i.measured.width??0)*d[0],y:p.y-u+(i.measured.height??0)*d[1]},positionAbsolute:p}}async function VQn({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(p=>p.id)),i=[];for(const p of n){if(p.deletable===!1)continue;const h=a.has(p.id),m=!h&&p.parentId&&i.find(v=>v.id===p.parentId);(h||m)&&i.push(p)}const l=new Set(t.map(p=>p.id)),c=r.filter(p=>p.deletable!==!1),d=BQn(i,c);for(const p of c)l.has(p.id)&&!d.find(m=>m.id===p.id)&&d.push(p);if(!s)return{edges:d,nodes:i};const f=await s({nodes:i,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:i}:{edges:[],nodes:[]}:f}const Wj=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),GO=(e={x:0,y:0},t,n)=>({x:Wj(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Wj(e.y,t[0][1],t[1][1]-(n?.height??0))});function Hkt(e,t,n){const{width:r,height:s}=i0(n),{x:a,y:i}=n.internals.positionAbsolute;return GO(e,[[a,i],[a+r,i+s]],t)}const u7e=(e,t,n)=>e<t?Wj(Math.abs(e-t),1,t)/t:e>n?-Wj(Math.abs(e-n),1,t)/t:0,Wkt=(e,t,n=15,r=40)=>{const s=u7e(e.x,r,t.width-r)*n,a=u7e(e.y,r,t.height-r)*n;return[s,a]},VH=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Vge=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),HH=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Zj=(e,t=[0,0])=>{const{x:n,y:r}=Hke(e)?e.internals.positionAbsolute:$3(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},FB=(e,t=[0,0])=>{const{x:n,y:r}=Hke(e)?e.internals.positionAbsolute:$3(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Zkt=(e,t)=>HH(VH(Vge(e),Vge(t))),TM=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},d7e=e=>xg(e.width)&&xg(e.height)&&xg(e.x)&&xg(e.y),xg=e=>!isNaN(e)&&isFinite(e),HQn=(e,t)=>{},D3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),L3=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?D3(l,i):l},zB=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function uE(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function WQn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=uE(e,n),s=uE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=uE(e.top??e.y??0,n),s=uE(e.bottom??e.y??0,n),a=uE(e.left??e.x??0,t),i=uE(e.right??e.x??0,t);return{top:r,right:i,bottom:s,left:a,x:a+i,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function ZQn(e,t,n,r,s,a){const{x:i,y:l}=zB(e,[t,n,r]),{x:c,y:u}=zB({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const Zke=(e,t,n,r,s,a)=>{const i=WQn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=Wj(u,r,s),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,m=n/2-p*d,v=ZQn(e,h,m,d,t,n),y={left:Math.min(v.left-i.left,0),top:Math.min(v.top-i.top,0),right:Math.min(v.right-i.right,0),bottom:Math.min(v.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},jM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Gj(e){return e!=null&&e!=="parent"}function i0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Gkt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Qkt(e,t={width:0,height:0},n,r,s){const a={...e},i=r.get(n);if(i){const l=i.origin||s;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function f7e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function GQn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function QQn(e){return{...zkt,...e||{}}}function S2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=wg(e),l=L3({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?D3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const Gke=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ykt=e=>e?.getRootNode?.()||window?.document,YQn=["INPUT","SELECT","TEXTAREA"];function Kkt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:YQn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Xkt=e=>"clientX"in e,wg=(e,t)=>{const n=Xkt(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},p7e=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:s,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/r,y:(l.top-n.top)/r,...Gke(i)}})};function Jkt({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+s*.375+i*.375+n*.125,u=t*.125+a*.375+l*.375+r*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function tF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function h7e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case ar.Left:return[t-tF(t-r,a),n];case ar.Right:return[t+tF(r-t,a),n];case ar.Top:return[t,n-tF(n-s,a)];case ar.Bottom:return[t,n+tF(s-n,a)]}}function Qke({sourceX:e,sourceY:t,sourcePosition:n=ar.Bottom,targetX:r,targetY:s,targetPosition:a=ar.Top,curvature:i=.25}){const[l,c]=h7e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=h7e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=Jkt({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${r},${s}`,f,p,h,m]}function eOt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,i=Math.abs(r-t)/2,l=r<t?r+i:r-i;return[a,l,s,i]}function KQn({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="manual")return r;const i=s&&n?r+1e3:r,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return i+l}function XQn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=VH(FB(e),FB(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return TM(i,HH(a))>0}const JQn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,eYn=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),tYn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||JQn;let s;return qkt(e)?s={...e}:s={...e,id:r(e)},eYn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function tOt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=eOt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const m7e={[ar.Left]:{x:-1,y:0},[ar.Right]:{x:1,y:0},[ar.Top]:{x:0,y:-1},[ar.Bottom]:{x:0,y:1}},nYn=({source:e,sourcePosition:t=ar.Bottom,target:n})=>t===ar.Left||t===ar.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},g7e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function rYn({source:e,sourcePosition:t=ar.Bottom,target:n,targetPosition:r=ar.Top,center:s,offset:a,stepPosition:i}){const l=m7e[t],c=m7e[r],u={x:e.x+l.x*a,y:e.y+l.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=nYn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],v,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=eOt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(v=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(v=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const T=[{x:v,y:u.y},{x:v,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?T:N:m=p==="x"?N:T}else{const T=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:T:m=l.y===h?T:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const F=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*F:x[p]=(d[p]>n[p]?-1:1)*F}}if(t!==r){const D=p==="x"?"y":"x",F=l[p]===c[D],H=u[D]>d[D],B=u[D]<d[D];(l[p]===1&&(!F&&H||F&&B)||l[p]!==1&&(!F&&B||F&&H))&&(m=p==="x"?T:N)}const I={x:u.x+b.x,y:u.y+b.y},A={x:d.x+x.x,y:d.y+x.y},R=Math.max(Math.abs(I.x-m[0].x),Math.abs(A.x-m[0].x)),L=Math.max(Math.abs(I.y-m[0].y),Math.abs(A.y-m[0].y));R>=L?(v=(I.x+A.x)/2,y=m[0].y):(v=m[0].x,y=(I.y+A.y)/2)}const C={x:u.x+b.x,y:u.y+b.y},_={x:d.x+x.x,y:d.y+x.y};return[[e,...C.x!==m[0].x||C.y!==m[0].y?[C]:[],...m,..._.x!==m[m.length-1].x||_.y!==m[m.length-1].y?[_]:[],n],v,y,S,k]}function sYn(e,t,n,r){const s=Math.min(g7e(e,t)/2,g7e(t,n)/2,r),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${a+s*u},${i}Q ${a},${i} ${a},${i+s*d}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+s*c}Q ${a},${i} ${a+s*l},${i}`}function Hge({sourceX:e,sourceY:t,sourcePosition:n=ar.Bottom,targetX:r,targetY:s,targetPosition:a=ar.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,v]=rYn({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:l,y:c},offset:u,stepPosition:d});let y=`M${f[0].x} ${f[0].y}`;for(let b=1;b<f.length-1;b++)y+=sYn(f[b-1],f[b],f[b+1],i);return y+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[y,p,h,m,v]}function v7e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function aYn(e){const{sourceNode:t,targetNode:n}=e;if(!v7e(t)||!v7e(n))return null;const r=t.internals.handleBounds||y7e(t.handles),s=n.internals.handleBounds||y7e(n.handles),a=b7e(r?.source??[],e.sourceHandle),i=b7e(e.connectionMode===Hj.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",xy.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||ar.Bottom,c=i?.position||ar.Top,u=QO(t,a,l),d=QO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function y7e(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function QO(e,t,n=ar.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??i0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case ar.Top:return{x:s+i/2,y:a};case ar.Right:return{x:s+i,y:a+l/2};case ar.Bottom:return{x:s+i/2,y:a+l};case ar.Left:return{x:s,y:a+l/2}}}function b7e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Wge(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function iYn(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||r,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=Wge(c,t);a.has(u)||(i.push({id:u,color:c.color||n,...c}),a.add(u))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const nOt=1e3,oYn=10,Yke={nodeOrigin:[0,0],nodeExtent:_M,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},lYn={...Yke,checkEquality:!0};function Kke(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function cYn(e,t,n){const r=Kke(Yke,n);for(const s of e.values())if(s.parentId)Jke(s,e,t,r);else{const a=$3(s,r.nodeOrigin),i=Gj(s.extent)?s.extent:r.nodeExtent,l=GO(a,i,i0(s));s.internals.positionAbsolute=l}}function uYn(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function Xke(e){return e==="manual"}function Zge(e,t,n,r={}){const s=Kke(lYn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!Xke(s.zIndexMode)?nOt:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=i.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const p=$3(d,s.nodeOrigin),h=Gj(d.extent)?d.extent:s.nodeExtent,m=GO(p,h,i0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:uYn(d,f),z:rOt(d,l,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&Jke(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function dYn(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Jke(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=Kke(Yke,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}dYn(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*oYn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!Xke(c)?nOt:0,{x:p,y:h,z:m}=fYn(e,d,i,l,f,c),{positionAbsolute:v}=e.internals,y=p!==v.x||h!==v.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:v,z:m}})}function rOt(e,t,n){const r=xg(e.zIndex)?e.zIndex:0;return Xke(n)?r:r+(e.selected?t:0)}function fYn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=i0(e),u=$3(e,n),d=Gj(e.extent)?GO(u,e.extent,c):u;let f=GO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=Hkt(f,c,t));const p=rOt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function eOe(e,t,n,r=[0,0]){const s=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??Zj(l),u=Zkt(c,i.rect);a.set(i.parentId,{expandedRect:u,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const u=l.internals.positionAbsolute,d=i0(l),f=l.origin??r,p=i.x<u.x?Math.round(Math.abs(u.x-i.x)):0,h=i.y<u.y?Math.round(Math.abs(u.y-i.y)):0,m=Math.max(d.width,Math.round(i.width)),v=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(v-d.height)*f[1];(p>0||h>0||y||b)&&(s.push({id:c,type:"position",position:{x:l.position.x-p+y,y:l.position.y-h+b}}),n.get(c)?.forEach(x=>{e.some(S=>S.id===x.id)||s.push({id:x.id,type:"position",position:{x:x.position.x+p,y:x.position.y+h}})})),(d.width<i.width||d.height<i.height||p||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(p?f[0]*p-y:0),height:v+(h?f[1]*h-b:0)}})}),s}function pYn(e,t,n,r,s,a,i){const l=r?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(const h of e.values()){const m=t.get(h.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),c=!0;continue}const v=Gke(h.nodeElement),y=m.measured.width!==v.width||m.measured.height!==v.height;if(!!(v.width&&v.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=Gj(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=Hkt(k,v,t.get(m.parentId)):S&&(k=GO(k,S,v));const C={...m,measured:v,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:p7e("source",h.nodeElement,x,f,m.id),target:p7e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,C),m.parentId&&Jke(C,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:v}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:Zj(C,s)}))}}if(p.length>0){const h=eOe(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function hYn({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r),l=!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2]);return Promise.resolve(l)}function x7e(e,t,n,r,s,a){let i=s;const l=r.get(i)||new Map;r.set(i,l.set(n,t)),i=`${s}-${e}`;const c=r.get(i)||new Map;if(r.set(i,c.set(n,t)),a){i=`${s}-${e}-${a}`;const u=r.get(i)||new Map;r.set(i,u.set(n,t))}}function sOt(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:i=null,targetHandle:l=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:i,targetHandle:l},u=`${s}-${i}--${a}-${l}`,d=`${a}-${l}--${s}-${i}`;x7e("source",c,d,e,s,i),x7e("target",c,u,e,a,l),t.set(r.id,r)}}function aOt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:aOt(n,t):!1}function w7e(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function mYn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!aOt(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&s.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function Pte({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function gYn({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},i=D3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function vYn({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},i=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,p=null,h=!1,m=!1,v=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:C,nodeId:_,nodeClickDistance:E=0}){p=_p(k);function T({x:R,y:L}){const{nodeLookup:D,nodeExtent:F,snapGrid:H,snapToGrid:B,nodeOrigin:U,onNodeDrag:q,onSelectionDrag:M,onError:G,updateNodePositions:V}=t();a={x:R,y:L};let $=!1;const z=l.size>1,Z=z&&F?Vge(M3(l)):null,K=z&&B?gYn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,ee]of l){if(!D.has(ne))continue;let J={x:R-ee.distance.x,y:L-ee.distance.y};B&&(J=K?{x:Math.round(J.x+K.x),y:Math.round(J.y+K.y)}:D3(J,H));let ae=null;if(z&&F&&!ee.extent&&Z){const{positionAbsolute:te}=ee.internals,ue=te.x-Z.x+F[0][0],fe=te.x+ee.measured.width-Z.x2+F[1][0],ce=te.y-Z.y+F[0][1],me=te.y+ee.measured.height-Z.y2+F[1][1];ae=[[ue,ce],[fe,me]]}const{position:pe,positionAbsolute:Y}=Vkt({nodeId:ne,nextPosition:J,nodeLookup:D,nodeExtent:ae||F,nodeOrigin:U,onError:G});$=$||ee.position.x!==pe.x||ee.position.y!==pe.y,ee.position=pe,ee.internals.positionAbsolute=Y}if(m=m||$,!!$&&(V(l,!0),v&&(r||q||!_&&M))){const[ne,ee]=Pte({nodeId:_,dragItems:l,nodeLookup:D});r?.(v,l,ne,ee),q?.(v,ne,ee),_||M?.(v,ee)}}async function N(){if(!d)return;const{transform:R,panBy:L,autoPanSpeed:D,autoPanOnNodeDrag:F}=t();if(!F){c=!1,cancelAnimationFrame(i);return}const[H,B]=Wkt(u,d,D);(H!==0||B!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-B/R[2],await L({x:H,y:B})&&T(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:F,transform:H,snapGrid:B,snapToGrid:U,selectNodesOnDrag:q,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:V}=t();f=!0,(!q||!C)&&!D&&_&&(L.get(_)?.selected||V()),C&&q&&_&&e?.(_);const $=S2(R.sourceEvent,{transform:H,snapGrid:B,snapToGrid:U,containerBounds:d});if(a=$,l=mYn(L,F,$,_),l.size>0&&(n||M||!_&&G)){const[z,Z]=Pte({nodeId:_,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,z,Z),M?.(R.sourceEvent,z,Z),_||G?.(R.sourceEvent,Z)}}const A=kkt().clickDistance(E).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:F,snapGrid:H,snapToGrid:B}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,v=R.sourceEvent,D===0&&I(R),a=S2(R.sourceEvent,{transform:F,snapGrid:H,snapToGrid:B,containerBounds:d}),u=wg(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:F,snapToGrid:H,nodeDragThreshold:B,nodeLookup:U}=t(),q=S2(R.sourceEvent,{transform:D,snapGrid:F,snapToGrid:H,containerBounds:d});if(v=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||_&&!U.has(_))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=wg(R.sourceEvent,d),G=M.x-u.x,V=M.y-u.y;Math.sqrt(G*G+V*V)>B&&I(R)}(a.x!==q.xSnapped||a.y!==q.ySnapped)&&l&&f&&(u=wg(R.sourceEvent,d),T(q))}}).on("end",R=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:L,updateNodePositions:D,onNodeDragStop:F,onSelectionDragStop:H}=t();if(m&&(D(l,!1),m=!1),s||F||!_&&H){const[B,U]=Pte({nodeId:_,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,B,U),F?.(R.sourceEvent,B,U),_||H?.(R.sourceEvent,U)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!w7e(L,`.${x}`,k))&&(!S||w7e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function yYn(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())TM(s,Zj(a))>0&&r.push(a);return r}const bYn=250;function xYn(e,t,n,r){let s=[],a=1/0;const i=yYn(e,n,t+bYn);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=QO(l,u,u.position,!0),p=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));p>t||(p<a?(s=[{...u,x:d,y:f}],a=p):p===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const l=r.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function iOt(e,t,n,r,s,a=!1){const i=r.get(e);if(!i)return null;const l=s==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(u=>u.id===n):l?.[0])??null;return c&&a?{...c,...QO(i,c,c.position,!0)}:c}function oOt(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function wYn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const lOt=()=>!0;function SYn(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:h,onConnectStart:m,onConnect:v,onConnectEnd:y,isValidConnection:b=lOt,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:C,autoPanSpeed:_,dragThreshold:E=1,handleDomNode:T}){const N=Ykt(e.target);let I=0,A;const{x:R,y:L}=wg(e),D=oOt(a,T),F=l?.getBoundingClientRect();let H=!1;if(!F||!D)return;const B=iOt(s,D,r,c,t);if(!B)return;let U=wg(e,F),q=!1,M=null,G=!1,V=null;function $(){if(!d||!F)return;const[pe,Y]=Wkt(U,F,_);p({x:pe,y:Y}),I=requestAnimationFrame($)}const z={...B,nodeId:s,type:D,position:B.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:QO(Z,z,ar.Left,!0),fromHandle:z,fromPosition:z.position,fromNode:Z,to:U,toHandle:null,toPosition:c7e[z.position],toNode:null,pointer:U};function ee(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&ee();function J(pe){if(!H){const{x:me,y:be}=wg(pe),we=me-R,_e=be-L;if(!(we*we+_e*_e>E*E))return;ee()}if(!C()||!z){ae(pe);return}const Y=k();U=wg(pe,F),A=xYn(L3(U,Y,!1,[1,1]),n,c,z),q||($(),q=!0);const te=cOt(pe,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});V=te.handleDomNode,M=te.connection,G=wYn(!!A,te.isValid);const ue=c.get(s),fe=ue?QO(ue,z,ar.Left,!0):ne.from,ce={...ne,from:fe,isValid:G,to:te.toHandle&&G?zB({x:te.toHandle.x,y:te.toHandle.y},Y):U,toHandle:te.toHandle,toPosition:G&&te.toHandle?te.toHandle.position:c7e[z.position],toNode:te.toHandle?c.get(te.toHandle.nodeId):null,pointer:U};S(ce),ne=ce}function ae(pe){if(!("touches"in pe&&pe.touches.length>0)){if(H){(A||V)&&M&&G&&v?.(M);const{inProgress:Y,...te}=ne,ue={...te,toPosition:ne.toHandle?ne.toPosition:null};y?.(pe,ue),a&&x?.(pe,ue)}h(),cancelAnimationFrame(I),q=!1,G=!1,M=null,V=null,N.removeEventListener("mousemove",J),N.removeEventListener("mouseup",ae),N.removeEventListener("touchmove",J),N.removeEventListener("touchend",ae)}}N.addEventListener("mousemove",J),N.addEventListener("mouseup",ae),N.addEventListener("touchmove",J),N.addEventListener("touchend",ae)}function cOt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=lOt,nodeLookup:d}){const f=a==="target",p=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:m}=wg(e),v=i.elementFromPoint(h,m),y=v?.classList.contains(`${l}-flow__handle`)?v:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=oOt(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),C=y.classList.contains("connectable"),_=y.classList.contains("connectableend");if(!S||!x)return b;const E={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=E;const N=C&&_&&(n===Hj.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(E),b.toHandle=iOt(S,x,k,d,n,!0)}return b}const Gge={onPointerDown:SYn,isValid:cOt};function kYn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=_p(e);function a({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:p=!0,inversePan:h=!1}){const m=S=>{if(S.sourceEvent.type!=="wheel"||!t)return;const k=n(),C=S.sourceEvent.ctrlKey&&jM()?10:1,_=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,E=k[2]*Math.pow(2,_*C);t.scaleTo(E)};let v=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(v=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},b=S=>{const k=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const C=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],_=[C[0]-v[0],C[1]-v[1]];v=C;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),T={x:k[0]-_[0]*E,y:k[1]-_[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:T.x,y:T.y,zoom:k[2]},N,l)},x=Lkt().on("start",y).on("zoom",f?b:null).on("zoom.wheel",p?m:null);s.call(x,{})}function i(){s.on("zoom",null)}return{update:a,destroy:i,pointer:og}}const WH=e=>({x:e.x,y:e.y,zoom:e.k}),$te=({x:e,y:t,zoom:n})=>qH.translate(e,t).scale(n),dT=(e,t)=>e.target.closest(`.${t}`),uOt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),OYn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Mte=(e,t=0,n=OYn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},dOt=e=>{const t=e.ctrlKey&&jM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function _Yn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(dT(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&i){const y=og(d),b=dOt(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===rO.Vertical?0:d.deltaX*p,m=s===rO.Horizontal?0:d.deltaY*p;!jM()&&d.shiftKey&&s!==rO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const v=WH(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,v),e.panScrollTimeout=setTimeout(()=>{u?.(d,v),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,v))}}function CYn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=dT(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function EYn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=WH(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function TYn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&uOt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,WH(a.transform))}}function jYn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&uOt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=WH(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function NYn({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:i,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{const p=e||t,h=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(dT(f,`${u}-flow__node`)||dT(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||dT(f,l)&&m||dT(f,c)&&(!m||s&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!s&&!h&&m||!r&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(r)&&!r.includes(f.button)&&f.type==="mousedown")return!1;const v=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&v}}function IYn({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=Lkt().scaleExtent([t,n]).translateExtent(r),p=_p(e).call(f);x({x:s.x,y:s.y,zoom:Wj(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(dOt);function v(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?fx:N8).transform(Mte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function y({noWheelClassName:A,noPanClassName:R,onPaneContextMenu:L,userSelectionActive:D,panOnScroll:F,panOnDrag:H,panOnScrollMode:B,panOnScrollSpeed:U,preventScrolling:q,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:V,zoomActivationKeyPressed:$,lib:z,onTransformChange:Z,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:ee}){D&&!u.isZoomingOrPanning&&b();const J=F&&!$&&!D;f.clickDistance(ee?1/0:!xg(ne)||ne<0?0:ne);const ae=J?_Yn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:B,panOnScrollSpeed:U,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):CYn({noWheelClassName:A,preventScrolling:q,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=EYn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const te=TYn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",te);const ue=jYn({zoomPanValues:u,panOnDrag:H,panOnScroll:F,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",ue)}const pe=NYn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:G,panOnScroll:F,zoomOnDoubleClick:V,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:z,connectionInProgress:K});f.filter(pe),V?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=$te(A),F=f?.constrain()(D,R,L);return F&&await v(F),new Promise(H=>H(F))}async function S(A,R){const L=$te(A);return await v(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=$te(A),L=p.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&f?.transform(p,R,null,{sync:!0})}}function C(){const A=p?Dkt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function _(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?fx:N8).scaleTo(Mte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?fx:N8).scaleBy(Mte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function T(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!xg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:C,scaleTo:_,scaleBy:E,setScaleExtent:T,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var Qj;(function(e){e.Line="line",e.Handle="handle"})(Qj||(Qj={}));function AYn({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const i=e-t,l=n-r,c=[i>0?1:i<0?-1:0,l>0?1:l<0?-1:0];return i&&s&&(c[0]=c[0]*-1),l&&a&&(c[1]=c[1]*-1),c}function S7e(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:s}}function J0(e,t){return Math.max(0,t-e)}function ew(e,t){return Math.max(0,e-t)}function nF(e,t,n){return Math.max(0,t-e,e-n)}function k7e(e,t){return e?!t:t}function RYn(e,t,n,r,s,a,i,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:h,ySnapped:m}=n,{minWidth:v,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:C,height:_,aspectRatio:E}=e;let T=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=C+(c?-T:T),A=_+(u?-N:N),R=-a[0]*C,L=-a[1]*_;let D=nF(I,v,y),F=nF(A,b,x);if(i){let U=0,q=0;c&&T<0?U=J0(S+T+R,i[0][0]):!c&&T>0&&(U=ew(S+I+R,i[1][0])),u&&N<0?q=J0(k+N+L,i[0][1]):!u&&N>0&&(q=ew(k+A+L,i[1][1])),D=Math.max(D,U),F=Math.max(F,q)}if(l){let U=0,q=0;c&&T>0?U=ew(S+T,l[0][0]):!c&&T<0&&(U=J0(S+I,l[1][0])),u&&N>0?q=ew(k+N,l[0][1]):!u&&N<0&&(q=J0(k+A,l[1][1])),D=Math.max(D,U),F=Math.max(F,q)}if(s){if(d){const U=nF(I/E,b,x)*E;if(D=Math.max(D,U),i){let q=0;!c&&!u||c&&!u&&p?q=ew(k+L+I/E,i[1][1])*E:q=J0(k+L+(c?T:-T)/E,i[0][1])*E,D=Math.max(D,q)}if(l){let q=0;!c&&!u||c&&!u&&p?q=J0(k+I/E,l[1][1])*E:q=ew(k+(c?T:-T)/E,l[0][1])*E,D=Math.max(D,q)}}if(f){const U=nF(A*E,v,y)/E;if(F=Math.max(F,U),i){let q=0;!c&&!u||u&&!c&&p?q=ew(S+A*E+R,i[1][0])/E:q=J0(S+(u?N:-N)*E+R,i[0][0])/E,F=Math.max(F,q)}if(l){let q=0;!c&&!u||u&&!c&&p?q=J0(S+A*E,l[1][0])/E:q=ew(S+(u?N:-N)*E,l[0][0])/E,F=Math.max(F,q)}}}N=N+(N<0?F:-F),T=T+(T<0?D:-D),s&&(p?I>A*E?N=(k7e(c,u)?-T:T)/E:T=(k7e(c,u)?-N:N)*E:d?(N=T/E,u=c):(T=N*E,c=u));const H=c?S+T:S,B=u?k+N:k;return{width:C+(c?-T:T),height:_+(u?-N:N),x:a[0]*T*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+B}}const fOt={width:0,height:0,x:0,y:0},PYn={...fOt,pointerX:0,pointerY:0,aspectRatio:1};function $Yn(e){return[[0,0],[e.measured.width,e.measured.height]]}function MYn(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,i=e.measured.height??0,l=n[0]*a,c=n[1]*i;return[[r-l,s-c],[r+a-l,s+i-c]]}function DYn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=_p(e);let i={controlDirection:S7e("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:p,onResizeStart:h,onResize:m,onResizeEnd:v,shouldResize:y}){let b={...fOt},x={...PYn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:S7e(u)};let S,k=null,C=[],_,E,T,N=!1;const I=kkt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:F,nodeOrigin:H,paneDomNode:B}=n();if(S=R.get(t),!S)return;k=B?.getBoundingClientRect()??null;const{xSnapped:U,ySnapped:q}=S2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:F,containerBounds:k});b={width:S.measured.width??0,height:S.measured.height??0,x:S.position.x??0,y:S.position.y??0},x={...b,pointerX:U,pointerY:q,aspectRatio:b.width/b.height},_=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(_=R.get(S.parentId),E=_&&S.extent==="parent"?$Yn(_):void 0),C=[],T=void 0;for(const[M,G]of R)if(G.parentId===t&&(C.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const V=MYn(G,S,G.origin??H);T?T=[[Math.min(V[0][0],T[0][0]),Math.min(V[0][1],T[0][1])],[Math.max(V[1][0],T[1][0]),Math.max(V[1][1],T[1][1])]]:T=V}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:F}=n(),H=S2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),B=[];if(!S)return;const{x:U,y:q,width:M,height:G}=b,V={},$=S.origin??F,{width:z,height:Z,x:K,y:ne}=RYn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,E,T),ee=z!==M,J=Z!==G,ae=K!==U&&ee,pe=ne!==q&&J;if(!ae&&!pe&&!ee&&!J)return;if((ae||pe||$[0]===1||$[1]===1)&&(V.x=ae?K:b.x,V.y=pe?ne:b.y,b.x=V.x,b.y=V.y,C.length>0)){const fe=K-U,ce=ne-q;for(const me of C)me.position={x:me.position.x-fe+$[0]*(z-M),y:me.position.y-ce+$[1]*(Z-G)},B.push(me)}if((ee||J)&&(V.width=ee&&(!i.resizeDirection||i.resizeDirection==="horizontal")?z:b.width,V.height=J&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=V.width,b.height=V.height),_&&S.expandParent){const fe=$[0]*(V.width??0);V.x&&V.x<fe&&(b.x=fe,x.x=x.x-(V.x-fe));const ce=$[1]*(V.height??0);V.y&&V.y<ce&&(b.y=ce,x.y=x.y-(V.y-ce))}const Y=AYn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),te={...b,direction:Y};y?.(A,te)!==!1&&(N=!0,m?.(A,te),r(V,B))}).on("end",A=>{N&&(v?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const LYn={},O7e=e=>{let t;const n=new Set,r=(d,f)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const h=t;t=f??(typeof p!="object"||p===null)?p:Object.assign({},t,p),n.forEach(m=>m(t,h))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(LYn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,s,c);return c},FYn=e=>e?O7e(e):O7e,{useDebugValue:zYn}=ze,{useSyncExternalStoreWithSelector:BYn}=PCn,UYn=e=>e;function pOt(e,t=UYn,n){const r=BYn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return zYn(r),r}const _7e=(e,t)=>{const n=FYn(e),r=(s,a=t)=>pOt(n,s,a);return Object.assign(r,n),r},qYn=(e,t)=>e?_7e(e,t):_7e;function io(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const ZH=g.createContext(null),VYn=ZH.Provider,hOt=xy.error001();function Us(e,t){const n=g.useContext(ZH);if(n===null)throw new Error(hOt);return pOt(n,e,t)}function To(){const e=g.useContext(ZH);if(e===null)throw new Error(hOt);return g.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const C7e={display:"none"},HYn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},mOt="react-flow__node-desc",gOt="react-flow__edge-desc",WYn="react-flow__aria-live",ZYn=e=>e.ariaLiveMessage,GYn=e=>e.ariaLabelConfig;function QYn({rfId:e}){const t=Us(ZYn);return o.jsx("div",{id:`${WYn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:HYn,children:t})}function YYn({rfId:e,disableKeyboardA11y:t}){const n=Us(GYn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${mOt}-${e}`,style:C7e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${gOt}-${e}`,style:C7e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(QYn,{rfId:e})]})}const F3=g.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Vl(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});F3.displayName="Panel";function KYn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(F3,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const XYn=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},rF=e=>e.id;function JYn(e,t){return io(e.selectedNodes.map(rF),t.selectedNodes.map(rF))&&io(e.selectedEdges.map(rF),t.selectedEdges.map(rF))}function eKn({onSelectionChange:e}){const t=To(),{selectedNodes:n,selectedEdges:r}=Us(XYn,JYn);return g.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const tKn=e=>!!e.onSelectionChangeHandlers;function nKn({onSelectionChange:e}){const t=Us(tKn);return e||t?o.jsx(eKn,{onSelectionChange:e}):null}const Qge=typeof window<"u"?g.useLayoutEffect:g.useEffect,vOt=[0,0],rKn={x:0,y:0,zoom:1},sKn=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],E7e=[...sKn,"rfId"],aKn=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),T7e={translateExtent:_M,nodeOrigin:vOt,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function iKn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(aKn,io),u=To();Qge(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=T7e,l()}),[]);const d=g.useRef(T7e);return Qge(()=>{for(const f of E7e){const p=e[f],h=d.current[f];p!==h&&(typeof e[f]>"u"||(f==="nodes"?t(p):f==="edges"?n(p):f==="minZoom"?r(p):f==="maxZoom"?s(p):f==="translateExtent"?a(p):f==="nodeExtent"?i(p):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:QQn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},E7e.map(f=>e[f])),null}function j7e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function oKn(e){const[t,n]=g.useState(e==="system"?null:e);return g.useEffect(()=>{if(e!=="system"){n(e);return}const r=j7e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:j7e()?.matches?"dark":"light"}const N7e=typeof document<"u"?document:null;function NM(e=null,t={target:N7e,actInsideInputWithModifier:!0}){const[n,r]=g.useState(!1),s=g.useRef(!1),a=g.useRef(new Set([])),[i,l]=g.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
235
235
|
`).replace(`
|
|
236
236
|
|
|
237
237
|
`,`
|
|
@@ -639,7 +639,7 @@ Token usage: ${n} input + ${r} output = ${s} total`:`The model stopped generatin
|
|
|
639
639
|
}
|
|
640
640
|
]`})]})]})}function gfs({errors:e,maxErrors:t=5}){if(e.length===0)return null;const n=e.slice(0,t),r=e.length-t;return o.jsxs("div",{className:"bg-accent2/10 border-accent2/30 rounded-md border p-3",children:[o.jsxs("div",{className:"text-accent2 mb-2 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(_f,{className:"h-4 w-4"})}),o.jsxs("span",{className:"text-sm font-medium",children:[e.length," validation error",e.length!==1?"s":""]})]}),o.jsx("ul",{className:"text-accent2/80 space-y-1 text-sm",children:n.map((s,a)=>o.jsxs("li",{className:"flex gap-2",children:[o.jsx("span",{className:"shrink-0",children:"•"}),o.jsx("span",{children:s.message})]},a))}),r>0&&o.jsxs("div",{className:"text-accent2/60 mt-2 text-xs",children:["+",r," more error",r!==1?"s":""]})]})}function vfs({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=g.useState("upload"),[i,l]=g.useState(null),[c,u]=g.useState({current:0,total:0}),[d,f]=g.useState(null),[p,h]=g.useState(!1),{parseFile:m,isParsing:v,error:y}=qus(),{batchInsertItems:b}=Ii(),x=g.useCallback(async I=>{try{const A=await m(I);l(A),a("preview")}catch{}},[m]),S=g.useCallback(async()=>{if(!i||i.items.length===0)return;a("importing"),h(!0);const{items:I}=i;u({current:0,total:I.length});try{await b.mutateAsync({datasetId:e,items:I.map(A=>({input:A.input,groundTruth:A.groundTruth,metadata:A.metadata}))}),f({success:I.length,errors:0})}catch{f({success:0,errors:I.length})}u({current:I.length,total:I.length}),h(!1),a("complete")},[i,b,e]),k=g.useCallback(()=>{n(!1),r?.(),d&&d.success>0&&Fe.success(`Imported ${d.success} item${d.success!==1?"s":""}`),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150)},[n,r,d]),C=g.useCallback(()=>{p||(n(!1),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150))},[p,n]),_=i&&i.items.length>0&&i.errors.length===0,E=()=>{switch(s){case"upload":return o.jsx(mfs,{onFileSelect:x,isParsing:v,error:y?.message});case"preview":return i?o.jsx("div",{className:"flex flex-col gap-4",children:i.errors.length>0?o.jsxs(o.Fragment,{children:[o.jsx(gfs,{errors:i.errors}),o.jsx("div",{className:"text-neutral4 text-sm",children:"Please fix the errors in your JSON file and try again."})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"text-neutral4 text-sm",children:["Found ",i.items.length," valid item",i.items.length!==1?"s":""," to import."]}),o.jsx(hfs,{items:i.items,maxRows:5})]})}):null;case"importing":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx(Jt,{}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-neutral1 text-lg font-medium",children:"Importing items..."}),o.jsxs("div",{className:"text-neutral4 mt-1 text-sm",children:[c.current," of ",c.total]})]})]});case"complete":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx("div",{className:"text-4xl",children:d&&d.errors===0?"✓":"⚠"}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-neutral1 text-lg font-medium",children:"Import Complete"}),o.jsxs("div",{className:"text-neutral4 mt-1 text-sm",children:[d?.success??0," item",d?.success!==1?"s":""," imported",d&&d.errors>0&&o.jsxs("span",{className:"text-accent2",children:[" ","(",d.errors," error",d.errors!==1?"s":"",")"]})]})]})]})}},T=()=>{switch(s){case"upload":return o.jsx(le,{onClick:C,children:"Cancel"});case"preview":return o.jsxs(o.Fragment,{children:[o.jsx(le,{onClick:()=>a("upload"),children:"Back"}),o.jsxs(le,{variant:"primary",onClick:S,disabled:!_,children:["Import ",i?.items.length??0," Item",i?.items.length!==1?"s":""]})]});case"importing":return null;case"complete":return o.jsx(le,{variant:"primary",onClick:k,children:"Done"})}},N={upload:"Import JSON",preview:"Preview Data",importing:"Importing",complete:"Import Complete"};return o.jsx(vr,{open:t,onOpenChange:C,children:o.jsxs(yr,{className:"max-h-[90vh] max-w-2xl",children:[o.jsxs(br,{children:[o.jsx(hr,{children:N[s]}),o.jsx(zs,{children:"Import dataset items from a JSON file."})]}),o.jsx(Ir,{className:"max-h-[50vh] min-h-[200px] overflow-y-auto",children:E()}),o.jsx(sc,{className:"flex justify-end gap-2 px-6 pt-4",children:T()})]})})}const mAe=e=>{const t=Ge(),{data:n}=OD(e),r=n?.experiments;return vt({queryKey:["dataset-review-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="needs-review").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:l.comment??""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})},yfs=e=>{const t=Ge(),{data:n}=OD(e),r=n?.experiments;return vt({queryKey:["dataset-completed-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="complete").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:l.comment??""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})};function bfs(e,t){if(typeof e=="string")return e.length>t?e.slice(0,t)+"...":e;try{const n=JSON.stringify(e);return n.length>t?n.slice(0,t)+"...":n}catch{return String(e)}}function OUt({datasetId:e,experimentId:t,featuredItemId:n}){const r=Ge(),{data:s}=r0(e),{data:a,isLoading:i}=mAe(e),{data:l,isLoading:c}=yfs(e),u=g.useMemo(()=>t?(a??[]).filter(je=>je.experimentId===t):a,[a,t]),d=g.useMemo(()=>t?(l??[]).filter(je=>je.experimentId===t):l,[l,t]),{updateExperimentResult:f}=Ii(),[p,h]=g.useState(n??null);g.useEffect(()=>{n!==void 0&&h(n)},[n]);const[m,v]=g.useState(null),[y,b]=g.useState(new Set),[x,S]=g.useState(!1),[k,C]=g.useState(!1),[_,E]=g.useState(!1),[T,N]=g.useState(""),[I,A]=g.useState(""),[R,L]=g.useState(""),[D,F]=g.useState([]),[H,B]=g.useState(!1),[U,q]=g.useState(null),M=g.useMemo(()=>U??u??[],[U,u]);g.useEffect(()=>{q(null)},[e,t]),g.useEffect(()=>{u&&U===null&&q(u)},[u,U]);const G=g.useMemo(()=>{const je=new Set;if(s?.tags)for(const Ee of s.tags)je.add(Ee);for(const Ee of M)for(const Oe of Ee.tags)je.add(Oe);return[...je].sort()},[s,M]),V=g.useCallback(je=>{!s||!e||(s.tags??[]).includes(je)},[s,e]),$=g.useMemo(()=>m?m==="__untagged__"?M.filter(je=>je.tags.length===0):M.filter(je=>je.tags.includes(m)):M,[M,m]),z=g.useMemo(()=>{const je=new Map;for(const Ee of M)for(const Oe of Ee.tags)je.set(Oe,(je.get(Oe)??0)+1);return[...je.entries()].sort((Ee,Oe)=>Oe[1]-Ee[1])},[M]),Z=g.useMemo(()=>M.filter(je=>je.tags.length===0).length,[M]),K=g.useMemo(()=>{let je=0;return m&&je++,x&&je++,je},[m,x]),ne=g.useCallback((je,Ee)=>{q(Ne=>(Ne??[]).map(Pe=>Pe.id===je?{...Pe,tags:Ee}:Pe));const Oe=M.find(Ne=>Ne.id===je);Oe?.experimentId&&Oe?.datasetId&&f.mutate({datasetId:Oe.datasetId,experimentId:Oe.experimentId,resultId:Oe.id,tags:Ee})},[M,f]),ee=g.useCallback((je,Ee)=>{const Oe=M.find(Ne=>Ne.id===je);Oe?.traceId&&Ee!==void 0&&r.createFeedback({feedback:{traceId:Oe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"rating",value:Ee==="positive"?1:-1,experimentId:Oe.experimentId??void 0,sourceId:Oe.id}}).catch(()=>{}),q(Ne=>(Ne??[]).map(Pe=>Pe.id===je?{...Pe,rating:Ee}:Pe))},[M,r]),J=g.useCallback((je,Ee)=>{const Oe=M.find(Ne=>Ne.id===je);Oe?.experimentId&&Oe?.datasetId&&f.mutate({datasetId:Oe.datasetId,experimentId:Oe.experimentId,resultId:Oe.id,comment:Ee}),Oe?.traceId&&r.createFeedback({feedback:{traceId:Oe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"comment",value:Ee,comment:Ee,experimentId:Oe.experimentId??void 0,sourceId:Oe.id}}).catch(()=>{}),q(Ne=>(Ne??[]).map(Pe=>Pe.id===je?{...Pe,comment:Ee}:Pe))},[M,r,f]),ae=g.useCallback(je=>{const Ee=M.find(Oe=>Oe.id===je);q(Oe=>(Oe??[]).filter(Ne=>Ne.id!==je)),b(Oe=>{const Ne=new Set(Oe);return Ne.delete(je),Ne}),p===je&&h(null),Ee?.experimentId&&Ee?.datasetId&&f.mutate({datasetId:Ee.datasetId,experimentId:Ee.experimentId,resultId:Ee.id,status:null})},[M,f,p]),pe=g.useCallback(je=>{const Ee=M.find(Oe=>Oe.id===je);q(Oe=>(Oe??[]).filter(Ne=>Ne.id!==je)),b(Oe=>{const Ne=new Set(Oe);return Ne.delete(je),Ne}),p===je&&h(null),Ee?.experimentId&&Ee?.datasetId&&f.mutate({datasetId:Ee.datasetId,experimentId:Ee.experimentId,resultId:Ee.id,status:"complete"})},[M,f,p]),Y=g.useMemo(()=>{const je=x?d??[]:$;return!x||!m?je:m==="__untagged__"?je.filter(Ee=>Ee.tags.length===0):je.filter(Ee=>Ee.tags.includes(m))},[x,d,$,m]),te=x?c:!1,ue=g.useMemo(()=>new Set(Y.map(je=>je.id)),[Y]),fe=g.useMemo(()=>[...y].filter(je=>ue.has(je)).length,[y,ue]),ce=Y.length>0&&fe===Y.length,me=fe>0&&!ce,be=g.useCallback(je=>{b(Ee=>{const Oe=new Set(Ee);return Oe.has(je)?Oe.delete(je):Oe.add(je),Oe})},[]),we=g.useCallback(()=>{b(ce?new Set:new Set(Y.map(je=>je.id)))},[ce,Y]),_e=g.useCallback(je=>{for(const Ee of y){const Oe=M.find(Ne=>Ne.id===Ee);Oe&&!Oe.tags.includes(je)&&ne(Ee,[...Oe.tags,je])}},[M,y,ne]),ke=g.useCallback(je=>{for(const Ee of y){const Oe=M.find(Ne=>Ne.id===Ee);Oe&&Oe.tags.includes(je)&&ne(Ee,Oe.tags.filter(Ne=>Ne!==je))}},[M,y,ne]),Ie=g.useCallback(()=>{for(const je of y)pe(je);b(new Set)},[y,pe]),Me=g.useCallback(()=>{for(const je of y)ae(je);b(new Set)},[y,ae]),ie=g.useCallback(()=>{N(""),E(!0)},[]),re=g.useCallback(async()=>{if(!(!I||!R)){C(!0),E(!1);try{const je=M.filter(Oe=>y.has(Oe.id));if(je.length===0){C(!1);return}const Ee=await r.clusterFailures({modelId:`${I}/${R}`,items:je.map(Oe=>({id:Oe.id,input:Oe.input,output:Oe.output??void 0,error:typeof Oe.error=="string"?Oe.error:Oe.error?String(Oe.error):void 0,scores:Oe.scores,existingTags:Oe.tags.length>0?Oe.tags:void 0})),availableTags:G.length>0?G:void 0,prompt:T||void 0});Ee.proposedTags&&Ee.proposedTags.length>0&&(F(Ee.proposedTags.map(Oe=>({...Oe,accepted:!0}))),B(!0))}catch(je){console.error("Analysis failed:",je)}finally{C(!1)}}},[I,R,M,y,r,G,T]),se=g.useCallback(()=>{for(const je of D){if(!je.accepted)continue;const Ee=M.find(Oe=>Oe.id===je.itemId);if(Ee){const Oe=[...new Set([...Ee.tags,...je.tags])];ne(Ee.id,Oe)}}B(!1)},[D,M,ne]),de=g.useCallback(je=>{h(Ee=>Ee===je?null:je)},[]),xe=g.useMemo(()=>p?Y.find(je=>je.id===p)??null:null,[p,Y]),Ce=p?Y.findIndex(je=>je.id===p):-1,Re=Ce>0?()=>h(Y[Ce-1].id):void 0,$e=Ce>=0&&Ce<Y.length-1?()=>h(Y[Ce+1].id):void 0,We="auto minmax(15rem,1fr) 10rem 8rem 6rem 6rem";return i?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(Jt,{className:"h-6 w-6"})}):o.jsxs("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:[o.jsx(vr,{open:_,onOpenChange:E,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Analyze Items"}),o.jsx(zs,{children:"Use an LLM to automatically suggest tags for the selected items."})]}),o.jsxs("div",{className:"space-y-4 py-2",children:[o.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[o.jsxs("div",{children:[o.jsx(Bt,{className:"mb-1 block text-xs",children:"Provider"}),o.jsx(qy,{value:I,onValueChange:A})]}),o.jsxs("div",{children:[o.jsx(Bt,{className:"mb-1 block text-xs",children:"Model"}),o.jsx(Vy,{llmId:I,value:R,onValueChange:L})]})]}),o.jsxs(ye,{variant:"ui-xs",className:"text-neutral3",children:[y.size," item",y.size!==1?"s":""," will be analyzed"]}),o.jsxs("div",{children:[o.jsx(Bt,{className:"text-xs",children:"Instructions (optional)"}),o.jsx($l,{value:T,onChange:je=>N(je.target.value),placeholder:"E.g., Focus on safety issues and factual errors...",rows:3,className:"mt-1 text-xs"})]})]}),o.jsxs(sc,{children:[o.jsx(le,{variant:"outline",onClick:()=>E(!1),children:"Cancel"}),o.jsxs(le,{onClick:re,disabled:!I||!R||k,children:[k?o.jsx(Jt,{className:"mr-1 h-4 w-4"}):null,"Analyze"]})]})]})}),o.jsx(vr,{open:H,onOpenChange:B,children:o.jsxs(yr,{className:"max-h-[80vh] max-w-2xl overflow-y-auto",children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Review Proposed Tags"}),o.jsxs(zs,{children:[D.filter(je=>je.accepted).length," of ",D.length," proposals selected"]})]}),o.jsx("div",{className:"space-y-3 py-2",children:D.map((je,Ee)=>{const Oe=M.find(Ne=>Ne.id===je.itemId);return o.jsx("div",{className:X("p-3 border rounded-lg",!je.accepted&&"opacity-50"),children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(Bo,{checked:je.accepted,onCheckedChange:Ne=>F(Pe=>Pe.map((qe,Je)=>Je===Ee?{...qe,accepted:!!Ne}:qe))}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 block truncate",children:Oe?typeof Oe.input=="string"?Oe.input.slice(0,100):JSON.stringify(Oe.input).slice(0,100):je.itemId}),o.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1",children:je.tags.map((Ne,Pe)=>o.jsx(lBt,{tag:Ne,onRename:qe=>F(Je=>Je.map((nt,Ft)=>Ft===Ee?{...nt,tags:nt.tags.map((_t,Ot)=>Ot===Pe?qe:_t)}:nt)),onRemove:()=>F(qe=>qe.map((Je,nt)=>nt===Ee?{...Je,tags:Je.tags.filter((Ft,_t)=>_t!==Pe)}:Je))},`${Ne}-${Pe}`))}),je.reason&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 mt-1 block italic",children:je.reason})]})]})},je.itemId)})}),o.jsxs(sc,{children:[o.jsx(le,{variant:"outline",onClick:()=>B(!1),children:"Cancel"}),o.jsxs(le,{onClick:se,disabled:D.filter(je=>je.accepted).length===0,children:["Accept ",D.filter(je=>je.accepted).length," proposals"]})]})]})}),o.jsxs("div",{className:X("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",xe&&"grid-cols-[1fr_1fr]"),children:[o.jsxs("div",{className:"grid w-full content-start gap-8 overflow-y-auto",children:[o.jsxs("div",{className:"flex w-full flex-wrap items-center justify-between gap-4 gap-x-6",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs(ot,{children:[o.jsx(ot.Trigger,{asChild:!0,children:o.jsxs(le,{variant:"outline",size:"md",children:[o.jsx(slt,{}),"Filter",K>0&&o.jsx("span",{className:X("ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5"),children:K})]})}),o.jsxs(ot.Content,{align:"start",className:X("min-w-48"),children:[o.jsxs(ot.Sub,{children:[o.jsxs(ot.SubTrigger,{children:["Status",x&&o.jsx("span",{className:X("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(ot.SubContent,{children:[o.jsx(ot.CheckboxItem,{checked:!x,onCheckedChange:()=>{S(!1),h(null)},onSelect:je=>je.preventDefault(),children:"Review Queue"}),o.jsx(ot.CheckboxItem,{checked:x,onCheckedChange:()=>{S(!0),h(null)},onSelect:je=>je.preventDefault(),children:"Completed"})]})]}),o.jsxs(ot.Sub,{children:[o.jsxs(ot.SubTrigger,{children:["Tags",m&&o.jsx("span",{className:X("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(ot.SubContent,{children:[o.jsx(ot.CheckboxItem,{checked:!m,onCheckedChange:()=>v(null),onSelect:je=>je.preventDefault(),children:"All"}),Z>0&&o.jsx(ot.CheckboxItem,{checked:m==="__untagged__",onCheckedChange:()=>v(m==="__untagged__"?null:"__untagged__"),onSelect:je=>je.preventDefault(),children:"Untagged"}),z.length>0&&o.jsx(ot.Separator,{}),z.map(([je])=>o.jsx(ot.CheckboxItem,{checked:m===je,onCheckedChange:()=>v(m===je?null:je),onSelect:Ee=>Ee.preventDefault(),children:je},je))]})]}),K>0&&o.jsxs(o.Fragment,{children:[o.jsx(ot.Separator,{}),o.jsxs(ot.Item,{onSelect:()=>{v(null),S(!1),h(null)},children:[o.jsx(ws,{}),"Clear all filters"]})]})]})]}),K>0&&o.jsxs(le,{variant:"outline",size:"md",onClick:()=>{v(null),S(!1),h(null)},children:[o.jsx(ws,{}),"Reset"]})]}),!x&&y.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(oBt,{selectedCount:y.size,vocabulary:G,onApplyTag:_e,onRemoveTag:ke,onNewTag:je=>_e(je)}),o.jsxs(ot,{children:[o.jsx(ot.Trigger,{asChild:!0,children:o.jsxs(le,{disabled:k,children:[k?o.jsx(Jt,{className:"h-4 w-4"}):o.jsx(Ve,{size:"sm",children:o.jsx(Na,{})}),"Actions"]})}),o.jsxs(ot.Content,{align:"end",children:[o.jsxs(ot.Item,{onSelect:Ie,children:[o.jsx(Ve,{size:"sm",children:o.jsx(pO,{})}),"Complete"]}),o.jsxs(ot.Item,{onSelect:Me,children:[o.jsx(Ve,{size:"sm",children:o.jsx(mu,{})}),"Remove"]}),o.jsx(ot.Separator,{}),o.jsxs(ot.Item,{onSelect:ie,children:[o.jsx(Ve,{size:"sm",children:o.jsx(Ng,{})}),"Analyze"]})]})]})]})]}),te?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(Jt,{className:"h-6 w-6"})}):Y.length===0?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsxs("div",{className:"px-8 text-center",children:[o.jsx(ye,{variant:"ui-sm",className:"text-neutral3 block",children:x?"No completed reviews yet":"No items to review"}),o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 mt-2 block",children:x?"Items marked as complete will appear here for auditing.":"When experiment results are flagged for review, they will appear here."})]})}):o.jsxs(ge,{columns:We,className:"min-w-0",children:[o.jsxs(ge.Top,{hasLeadingCell:!0,children:[x?o.jsx(ge.TopCell,{children:" "}):o.jsx(ge.TopSelectCell,{checked:ce?!0:me?"indeterminate":!1,onToggle:()=>we(),"aria-label":"Select all"}),o.jsxs(ge.TopCells,{colStart:2,children:[o.jsx(ge.TopCell,{children:"Input"}),o.jsx(ge.TopCell,{children:"Comment"}),o.jsx(ge.TopCell,{children:"Tags"}),o.jsx(ge.TopCell,{children:"Rating"}),o.jsx(ge.TopCell,{children:"Scores"})]})]}),Y.map(je=>{const Ee=je.scores?Object.entries(je.scores):[],Oe=p===je.id,Ne=o.jsxs(o.Fragment,{children:[o.jsx(ge.Cell,{height:"compact",className:"text-neutral4 min-w-0",children:o.jsx("span",{className:"block truncate",children:bfs(je.input,200)})}),o.jsx(ge.Cell,{height:"compact",className:"min-w-0",children:je.comment?o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 truncate",children:je.comment}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsx(ge.Cell,{height:"compact",className:"min-w-0",children:je.tags.length>0?o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 truncate",children:je.tags.join(", ")}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsxs(ge.Cell,{height:"compact",children:[je.rating==="positive"&&o.jsx(Ve,{size:"sm",className:"text-positive1",children:o.jsx(Bxe,{})}),je.rating==="negative"&&o.jsx(Ve,{size:"sm",className:"text-negative1",children:o.jsx(zxe,{})}),!je.rating&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})]}),o.jsx(ge.Cell,{height:"compact",children:Ee.length>0?o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Ve,{size:"sm",className:"text-neutral3",children:o.jsx(om,{})}),o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 font-mono",children:Ee[0][1].toFixed(2)}),Ee.length>1&&o.jsxs(on,{variant:"default",children:["+",Ee.length-1]})]}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})})]});return o.jsxs(ge.RowWrapper,{children:[x?o.jsx(ge.Cell,{height:"compact",className:"justify-items-center px-4",children:o.jsx("div",{role:"img","aria-label":je.error?"Error":"Success",title:je.error?"Error":"Success",className:X("w-2 h-2 rounded-full",je.error?"bg-red-700":"bg-green-600")})}):o.jsx(ge.SelectCell,{checked:y.has(je.id),onToggle:()=>be(je.id),"aria-label":`Select item ${je.id}`}),o.jsx(ge.RowButton,{flushLeft:!0,colStart:2,featured:Oe,onClick:()=>de(je.id),children:Ne})]},je.id)})]})]}),xe&&o.jsx(iBt,{item:xe,isCompleted:x,tagVocabulary:G,onRate:je=>ee(xe.id,je),onSetTags:je=>{ne(xe.id,je);for(const Ee of je)G.includes(Ee)||V(Ee)},onComment:je=>J(xe.id,je),onRemove:()=>ae(xe.id),onComplete:x?void 0:()=>pe(xe.id),onPrevious:Re,onNext:$e,onClose:()=>h(null)})]})]})}function xfs({datasetId:e,onAddItemClick:t,onNavigateToDataset:n}){const{navigate:r}=xn(),[s,a]=si(),{tab:i,activeVersion:l,handleTabChange:c}=pAe(s,a),[u,d]=g.useState(!1),[f,p]=g.useState(!1),[h,m]=g.useState(!1),[v,y]=g.useState([]),[b,x]=g.useState(!1),[S,k]=g.useState([]),[C,_]=g.useState(!1),[E,T]=g.useState([]),[N,I]=g.useState(0),[A,R]=g.useState(null),[L,D]=g.useState(""),[F]=aSe(L,300),{data:H}=r0(e),{data:B=[],total:U,isLoading:q,setEndOfListElement:M,isFetchingNextPage:G,hasNextPage:V}=F1(e,F||void 0,l),{total:$}=F1(e,void 0,l),[z,Z]=g.useState({}),{data:K,isLoading:ne}=OD(e,void 0,z),{data:ee}=OD(e),{deleteItems:J}=Ii(),ae=K?.experiments??[],pe=ee?.experiments??[],Y=wds({hasSearchQuery:!!F,filteredItemsLength:B.length,unfilteredItemsTotal:$,itemsTotal:U}),{data:te}=mAe(e),ue=te?.length??0,fe=se=>{R(se)},ce=()=>{R(null)},me=se=>{y(se),m(!0)},be=se=>{k(se),x(!0)},we=se=>{x(se),se||(k([]),I(de=>de+1))},_e=se=>{r(`/datasets/${e}/items?items=${se.join(",")}`)},ke=se=>{r(`/datasets/${e}/versions?ids=${se.join(",")}`)},Ie=se=>{T(se),_(!0)},Me=async()=>{await J.mutateAsync({datasetId:e,itemIds:E}),Fe.success(`Deleted ${E.length} items`),_(!1),T([]),I(se=>se+1)},ie=se=>{m(!1),y([]),I(de=>de+1),n?.(se)},re=se=>{m(se),se||(y([]),I(de=>de+1))};return o.jsxs(o.Fragment,{children:[o.jsxs(pc,{defaultTab:"items",value:i,onValueChange:c,className:"grid h-full grid-rows-[auto_1fr]",children:[o.jsxs(fc,{children:[o.jsxs(jr,{value:"items",children:["Items ",o.jsx(ea,{color:"gray",children:Y})]}),o.jsxs(jr,{value:"experiments",children:["Experiments",o.jsx(ea,{color:"gray",children:ae.length})]}),o.jsxs(jr,{value:"review",children:["Review",ue>0&&o.jsx(ea,{color:"orange",children:ue})]})]}),o.jsx(Xr,{value:"items",className:"mt-5 grid overflow-auto pb-0",children:o.jsx(pfs,{datasetId:e,items:B,isLoading:q,featuredItemId:A,onItemSelect:fe,onItemClose:ce,onAddClick:t??(()=>{}),onImportClick:()=>d(!0),onImportJsonClick:()=>p(!0),onBulkDeleteClick:Ie,onCreateDatasetClick:me,onAddToDatasetClick:be,onCompareItemsClick:_e,datasetName:H?.name,clearSelectionTrigger:N,setEndOfListElement:M,isFetchingNextPage:G,hasNextPage:V,searchQuery:L,activeSearchQuery:F,onSearchChange:D,currentDatasetVersion:H?.version,onCompareVersionsClick:ke})}),o.jsx(Xr,{value:"experiments",className:"mt-5 grid overflow-auto pb-0",children:o.jsx(Lds,{experiments:ae,allExperiments:pe,isLoading:ne,datasetId:e,filters:z,onFiltersChange:Z})}),o.jsx(Xr,{value:"review",className:"mt-2 overflow-auto pb-0",children:o.jsx(OUt,{datasetId:e})})]}),o.jsx(Nds,{datasetId:e,open:u,onOpenChange:d}),o.jsx(vfs,{datasetId:e,open:f,onOpenChange:p}),o.jsx(ids,{open:h,onOpenChange:re,items:v,onSuccess:ie}),o.jsx(ods,{open:b,onOpenChange:we,items:S,currentDatasetId:e}),o.jsx(Rt,{open:C,onOpenChange:_,children:o.jsxs(Rt.Content,{children:[o.jsxs(Rt.Header,{children:[o.jsx(Rt.Title,{children:"Delete Items"}),o.jsxs(Rt.Description,{children:["Are you sure you want to delete ",E.length," item",E.length!==1?"s":"","? This action cannot be undone."]})]}),o.jsxs(Rt.Footer,{children:[o.jsx(Rt.Cancel,{children:"Cancel"}),o.jsx(Rt.Action,{onClick:Me,children:J.isPending?"Deleting...":"Delete"})]})]})})]})}function wfs(e){if(!(e instanceof Error))return null;const t=e.message.match(/- ({.*})$/);if(!t)return null;try{const n=JSON.parse(t[1]);if(n.field&&Array.isArray(n.errors))return{field:n.field,errors:n.errors}}catch{}return null}function aie({field:e,errors:t}){return t.length?o.jsx("div",{className:"mt-2 space-y-1",children:t.map((n,r)=>o.jsxs("p",{className:"text-destructive text-xs",children:[o.jsxs("code",{className:"bg-destructive/10 rounded px-1",children:[e,n.path!=="/"?n.path:""]}),": ",n.message]},r))}):null}function Sfs({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=g.useState("{}"),[i,l]=g.useState(""),[c,u]=g.useState(""),[d,f]=g.useState(""),[p,h]=g.useState(""),[m,v]=g.useState(null),{addItem:y}=Ii(),b=async _=>{_.preventDefault();let E;try{E=JSON.parse(s)}catch{Fe.error("Input must be valid JSON");return}let T;if(i.trim())try{T=JSON.parse(i)}catch{Fe.error("Ground Truth must be valid JSON");return}let N;if(c.trim())try{N=JSON.parse(c)}catch{Fe.error("Expected Trajectory must be valid JSON");return}let I;if(d.trim())try{const R=JSON.parse(d);if(!Array.isArray(R)){Fe.error("Tool Mocks must be a JSON array");return}I=R}catch{Fe.error("Tool Mocks must be valid JSON");return}let A;if(p.trim())try{A=JSON.parse(p)}catch{Fe.error("Request Context must be valid JSON");return}try{await y.mutateAsync({datasetId:e,input:E,groundTruth:T,expectedTrajectory:N,toolMocks:I,requestContext:A}),Fe.success("Item added successfully"),v(null),a("{}"),l(""),u(""),f(""),h(""),n(!1),r?.()}catch(R){const L=wfs(R);L?v(L):Fe.error(`Failed to add item: ${R instanceof Error?R.message:"Unknown error"}`)}},x=_=>{a(_),m?.field==="input"&&v(null)},S=_=>{l(_),m?.field==="groundTruth"&&v(null)},k=_=>{f(_),m?.field==="toolMocks"&&v(null)},C=()=>{a("{}"),l(""),u(""),f(""),h(""),v(null),n(!1)};return o.jsx(vr,{open:t,onOpenChange:n,children:o.jsxs(yr,{className:"max-w-lg",children:[o.jsx(br,{children:o.jsx(hr,{children:"Add Item"})}),o.jsx(Ir,{children:o.jsxs("form",{onSubmit:b,className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(Bt,{htmlFor:"item-input",children:"Input (JSON) *"}),o.jsx(Hr,{value:s,onChange:x,showCopyButton:!1,className:"min-h-[120px]"}),m?.field==="input"&&o.jsx(aie,{field:"input",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Bt,{htmlFor:"item-ground-truth",children:"Ground Truth (JSON, optional)"}),o.jsx(Hr,{value:i,onChange:S,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="groundTruth"&&o.jsx(aie,{field:"groundTruth",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Bt,{htmlFor:"item-trajectory",children:"Expected Trajectory (JSON, optional)"}),o.jsx(Hr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Bt,{htmlFor:"item-tool-mocks",children:"Tool Mocks (JSON array, optional)"}),o.jsx(Hr,{value:d,onChange:k,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="toolMocks"&&o.jsx(aie,{field:"toolMocks",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Bt,{htmlFor:"item-request-context",children:"Request Context (JSON, optional)"}),o.jsx(Hr,{value:p,onChange:h,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[o.jsx(le,{type:"button",onClick:C,children:"Cancel"}),o.jsx(le,{type:"submit",variant:"primary",disabled:y.isPending,children:y.isPending?"Adding...":"Add Item"})]})]})})]})})}function kfs({item:e}){return o.jsx(ha,{withMargins:!1,children:o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{size:"smaller",children:[o.jsx(zN,{}),o.jsx("span",{className:"truncate",children:e.id}),o.jsx(za,{content:e.id,tooltip:`Copy item ID: ${e.id}`})]}),o.jsxs(ha.Description,{children:[o.jsxs(Oo,{children:[o.jsx(Yot,{})," Created ",rr(new Date(e.createdAt),"MMM d, yyyy h:mm aaa")]}),e.datasetVersion!=null&&o.jsxs(Oo,{children:[o.jsx(x_,{})," Version v",e.datasetVersion]})]})]})})}function gAe({item:e}){const t=e?.input?JSON.stringify(e.input,null,2):"null",n=e?.groundTruth?JSON.stringify(e.groundTruth,null,2):"null",r=e?.metadata?JSON.stringify(e.metadata,null,2):"null",s=e?.expectedTrajectory?JSON.stringify(e.expectedTrajectory,null,2):null;return o.jsxs(SIe,{children:[o.jsx(Is.CodeSection,{title:"Input",icon:o.jsx(hO,{}),codeStr:t}),o.jsx(Is.CodeSection,{title:"Ground Truth",icon:o.jsx(Cg,{}),codeStr:n}),s&&o.jsx(Is.CodeSection,{title:"Expected Trajectory",icon:o.jsx(Dxe,{}),codeStr:s}),o.jsx(Is.CodeSection,{title:"Metadata",icon:o.jsx(qN,{}),codeStr:r})]})}function Ofs({selectedScorers:e,setSelectedScorers:t,disabled:n=!1,container:r}){const{data:s,isLoading:a}=uh(),i=g.useMemo(()=>s?Object.entries(s).map(([l,c])=>({value:l,label:c.scorer?.config?.name||l,description:c.scorer?.config?.description||""})):[],[s]);return o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Bt,{children:"Scorers (Optional)"}),o.jsx(Ll,{multiple:!0,options:i,value:e,onValueChange:t,placeholder:"Select scorers...",searchPlaceholder:"Search scorers...",emptyText:"No scorers available",disabled:n||a,container:r})]})}const _fs=[{value:"agent",label:"Agent"},{value:"workflow",label:"Workflow"},{value:"scorer",label:"Scorer"}];function Cfs({targetType:e,setTargetType:t,targetId:n,setTargetId:r,container:s}){const{data:a,isLoading:i}=Im(),{data:l,isLoading:c}=Hy(),{data:u,isLoading:d}=uh(),f=e==="agent"?Object.entries(a??{}).map(([v,y])=>({value:v,label:y.name??v})):e==="workflow"?Object.entries(l??{}).map(([v,y])=>({value:v,label:y.name??v})):e==="scorer"?Object.entries(u??{}).map(([v,y])=>({value:v,label:y.scorer?.config?.name??v})):[],p=e==="agent"&&i||e==="workflow"&&c||e==="scorer"&&d,h=v=>{t(v),r("")},m=e==="agent"?"Agent":e==="workflow"?"Workflow":"Scorer";return o.jsxs("div",{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Bt,{children:"Target Type"}),o.jsx(Ll,{options:_fs,value:e,onValueChange:h,placeholder:"Select target type",searchPlaceholder:"Search types...",emptyText:"No types available",container:s})]}),e&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Bt,{children:m}),o.jsx(Ll,{options:f,value:n,onValueChange:r,placeholder:`Select ${e}`,searchPlaceholder:"Search...",emptyText:"No targets available",disabled:p,container:s})]})]})}function Efs({requestContextSchema:e,onChange:t}){const n=g.useMemo(()=>{try{return hm(e)}catch(r){return console.error("Failed to parse requestContextSchema:",r),null}},[e]);return n?o.jsxs("div",{className:"space-y-2",children:[o.jsx(Bt,{children:"Request Context"}),o.jsx(_3,{schema:n,onValuesChange:t,className:"[&_button[type=submit]]:hidden"})]}):o.jsx("p",{className:"text-destructive text-sm",children:"Failed to parse request context schema"})}function Tfs({datasetId:e,version:t,requestContextSchema:n,open:r,onOpenChange:s,onSuccess:a}){const i=g.useRef(null),[l,c]=g.useState(""),[u,d]=g.useState(""),[f,p]=g.useState([]),[h,m]=g.useState({}),[v,y]=g.useState(""),{triggerExperiment:b}=Ii(),x=!!(n&&Object.keys(n).length>0),S=l&&u,k=b.isPending,C=()=>{c(""),d(""),p([]),m({}),y("")},_=()=>{if(x){const N=Object.entries(h).filter(([,I])=>I!==void 0&&I!=="");return N.length>0?Object.fromEntries(N):void 0}if(v.trim()){let N;try{N=JSON.parse(v)}catch{throw new Error("Request Context must be valid JSON")}if(!N||typeof N!="object"||Array.isArray(N))throw new Error("Request Context must be a JSON object");return N}},E=async()=>{if(!S)return;let N;try{N=_()}catch(I){const A=I instanceof Error?I.message:"Request Context must be valid JSON";iu.error(A);return}try{const I=await b.mutateAsync({datasetId:e,targetType:l,targetId:u,scorerIds:f.length>0?f:void 0,version:t,requestContext:N});iu.success("Experiment triggered successfully"),s(!1),a?.(I.experimentId),C()}catch(I){const A=I instanceof Error?I.message:"Failed to trigger experiment";iu.error(A)}},T=()=>{k||(s(!1),C())};return o.jsx(vr,{open:r,onOpenChange:T,children:o.jsxs(yr,{ref:i,children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Experiment"}),o.jsx(zs,{children:t?`Execute items from ${rr(new Date(t),"MMM d, yyyy")} version against a target.`:"Execute all items in this dataset against a target."})]}),o.jsxs(Ir,{className:"grid gap-6",children:[o.jsx(Cfs,{targetType:l,setTargetType:c,targetId:u,setTargetId:d,container:i}),l&&l!=="scorer"&&o.jsx(Ofs,{selectedScorers:f,setSelectedScorers:p,disabled:k,container:i}),x?o.jsx(Efs,{requestContextSchema:n,onChange:m}):o.jsxs("div",{className:"space-y-2",children:[o.jsx(Bt,{children:"Request Context (JSON, optional)"}),o.jsx(Hr,{value:v,onChange:y,showCopyButton:!1,className:"min-h-[80px]"})]})]}),o.jsxs(sc,{className:"px-6 pt-4",children:[o.jsx(le,{onClick:T,disabled:k,children:"Cancel"}),o.jsx(le,{variant:"primary",onClick:E,disabled:!S||k,children:k?o.jsxs(o.Fragment,{children:[o.jsx(Jt,{className:"h-4 w-4"}),"Running..."]}):"Run"})]})]})})}const jfs=e=>{const t=Ge();return vt({queryKey:["experiment-trace-light",e],queryFn:async()=>{if(!e)throw new Error("Trace ID is required");return t.getTraceLight(e)},enabled:!!e})},vAe=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 9.45892 8.88606",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.53702 7.36403C8.98547 7.36403 9.34918 7.70502 9.34918 8.12535C9.34906 8.54559 8.9854 8.88606 8.53702 8.88606H5.6839C5.23552 8.88606 4.87186 8.54559 4.87174 8.12535C4.87174 7.70502 5.23545 7.36403 5.6839 7.36403H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.53702 3.67209C8.98547 3.67209 9.34918 4.01309 9.34918 4.43342C9.34911 4.8537 8.98543 5.19413 8.53702 5.19413H5.6839C5.23549 5.19413 4.87181 4.8537 4.87174 4.43342C4.87174 4.01309 5.23545 3.67209 5.6839 3.67209H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.67155 0C9.10635 2.06584e-05 9.45892 0.341006 9.45892 0.761326C9.45878 1.18153 9.10627 1.52201 8.67155 1.52203H2.88163C2.4469 1.52203 2.0944 1.18154 2.09427 0.761326C2.09427 0.340993 2.44681 3.80132e-08 2.88163 0H8.67155Z",fill:"currentColor"}),o.jsx("path",{d:"M0.757606 0.760086V4.01122H3.50594V4.76883H0.759466L0.762566 5.4291C0.76837 6.70703 1.8058 7.73972 3.08374 7.73973H3.67953V8.49796H3.08374C1.38863 8.49795 0.0120204 7.1273 0.00433981 5.4322L0 4.39188V0.760086H0.757606Z",fill:"currentColor"})]});function iie(e){try{return JSON.stringify(e??{})}catch{return String(e)}}function Nfs({report:e}){const{served:t,unconsumed:n,liveCalls:r,failure:s}=e,a=[...t.map(i=>({outcome:"served",toolName:i.toolName,args:i.args})),...r.map(i=>({outcome:"live",toolName:i.toolName,args:i.args})),...n.map(i=>({outcome:"unconsumed",toolName:i.toolName,args:i.args}))];return o.jsxs("div",{className:"grid gap-2","data-testid":"tool-mock-report",children:[o.jsx(wn.SectionHeading,{icon:o.jsx(Vp,{}),className:"mb-2",children:"Tool Mocks"}),s&&o.jsx(Sn,{variant:"destructive",title:"Mock mismatch",children:o.jsxs(Sn.Message,{children:[o.jsx("span",{className:"block",children:`Tool "${s.toolName}" was called with arguments that did not match an available mock (${s.code}).`}),o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Called with: ",iie(s.args)]}),n.length>0&&o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Unconsumed mocks: ",n.map(i=>iie(i.args)).join(", ")]})]})}),o.jsx("div",{className:"border-border1 divide-border1 divide-y rounded border text-sm",children:a.map((i,l)=>o.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5",children:[o.jsxs("span",{className:"min-w-0 truncate",children:[o.jsx("span",{className:"text-neutral4 font-mono",children:i.toolName}),o.jsx("span",{className:"text-neutral3 ml-2 font-mono text-xs",children:iie(i.args)})]}),o.jsx("span",{className:`shrink-0 rounded px-2 py-0.5 text-xs ${Ifs(i.outcome)}`,children:i.outcome})]},`${i.outcome}-${i.toolName}-${l}`))})]})}function Ifs(e){switch(e){case"served":return"bg-accent1/10 text-accent1";case"live":return"bg-orange-500/10 text-orange-400";case"unconsumed":return"bg-neutral3/10 text-neutral4"}}function Afs({result:e,scores:t,onPrevious:n,onNext:r,onClose:s,onShowTrace:a,onOpenInReview:i,onScoreClick:l,featuredScoreId:c,onFlagForReview:u,collapsed:d,onCollapsedChange:f}){const[p,h]=g.useState(!1),m=d??p,v=f??h,y=!!e?.error,b=Nz(e?.input),x=Nz(e?.output),S=Nz(e?.groundTruth),k=u&&e.status!=="needs-review"&&e.status!=="complete",C=Array.isArray(e.tags)?e.tags:[];return o.jsxs(wn,{collapsed:m,children:[o.jsxs(wn.Header,{children:[o.jsxs(wn.Heading,{children:["Result ",o.jsxs("b",{children:["# ",e.id.length>12?`${e.id.slice(0,12)}…`:e.id]})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[f&&o.jsx(le,{size:"md",tooltip:m?"Expand panel":"Collapse panel",onClick:()=>v(!m),children:m?o.jsx(elt,{}):o.jsx(Jot,{})}),o.jsx(wn.NextPrevNav,{onPrevious:n,onNext:r,previousLabel:"Previous result",nextLabel:"Next result"}),o.jsxs(le,{size:"md",onClick:a,disabled:!e.traceId,children:[o.jsx(vAe,{}),"Trace"]}),o.jsx(wn.CloseButton,{onClick:s,tooltip:"Close result panel"})]})]}),!m&&o.jsxs(wn.Content,{children:[o.jsxs("div",{className:"mb-6 grid gap-4",children:[o.jsxs(qt,{children:[o.jsx(qt.Key,{children:"Item Id"}),o.jsx(qt.ValueWithCopyBtn,{copyTooltip:"Copy Item Id to clipboard",copyValue:e.itemId,children:e.itemId}),o.jsx(qt.Key,{children:"Created"}),o.jsx(qt.Value,{children:rr(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")})]}),y&&o.jsx(Sn,{variant:"destructive",title:"Error",children:o.jsx(Sn.Message,{children:Nz(e?.error&&typeof e.error=="object"?e.error.message:e?.error)})}),t&&t.length>0&&o.jsxs(ge,{columns:"1fr 1fr",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Scorer"}),o.jsx(ge.TopCell,{children:"Score"})]}),t.map(_=>o.jsxs(ge.RowButton,{featured:c===_.id,onClick:()=>l?.(_.id),children:[o.jsx(ge.Cell,{height:"compact",children:_.scorerId}),o.jsx(ge.MonoCell,{children:_.score.toFixed(3)})]},_.id))]}),e.toolMockReport&&o.jsx(Nfs,{report:e.toolMockReport}),(e.status||C.length>0||k)&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(wn.SectionHeading,{icon:o.jsx(qN,{}),className:"mb-2",children:"Review"}),(e.status||C.length>0)&&o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.status&&o.jsx("span",{className:`rounded-full px-2 py-0.5 text-xs font-medium ${e.status==="needs-review"?"bg-orange-500/10 text-orange-400":e.status==="complete"?"bg-accent1/10 text-accent1":"bg-neutral3/10 text-neutral4"}`,children:e.status}),C.map(_=>o.jsx("span",{className:"bg-surface4 text-neutral4 rounded px-2 py-0.5 text-xs",children:_},_))]}),k&&o.jsx("div",{children:o.jsxs(le,{size:"sm",onClick:()=>u(e.id),children:[o.jsx(Xq,{}),"Flag for Review"]})}),e.status==="needs-review"&&i&&o.jsx("div",{children:o.jsxs(le,{size:"sm",onClick:i,children:[o.jsx(Oa,{}),"Review"]})})]})]}),o.jsxs("div",{className:"grid gap-3",children:[o.jsx(wn.CodeSection,{title:"Input",icon:o.jsx(zN,{}),codeStr:b}),o.jsx(wn.CodeSection,{title:"Output",icon:o.jsx(Cg,{}),codeStr:x}),o.jsx(wn.CodeSection,{title:"Ground Truth",icon:o.jsx(Fxe,{}),codeStr:S})]})]})]})}function Nz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Rfs({results:e,isLoading:t,featuredResultId:n,onResultClick:r,columns:s,scoresByItemId:a,scorerIds:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u,selectedIds:d,onToggleSelect:f}){const p=!!(d&&f),h=[p?"auto":"",...s.map(v=>v.size)].filter(Boolean).join(" "),m=s.some(v=>v.name==="input");return t?o.jsx(ol,{columns:h}):o.jsxs(ge,{columns:h,className:"min-w-0",children:[o.jsxs(ge.Top,{hasLeadingCell:p,children:[p&&o.jsx(ge.TopCell,{children:" "}),p?o.jsx(ge.TopCells,{colStart:2,children:s.map(v=>o.jsx(ge.TopCell,{children:v.label},v.name))}):s.map(v=>o.jsx(ge.TopCell,{children:v.label},v.name))]}),e.length===0?o.jsx(ge.NoMatch,{message:"No results yet"}):o.jsxs(o.Fragment,{children:[e.map(v=>{const y=!!v.error,b=v.id===n,x=o.jsxs(o.Fragment,{children:[o.jsx(ge.IdCell,{id:v.itemId}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("div",{className:"relative flex h-full w-10 items-center justify-center bg-transparent",children:o.jsx("div",{role:"img","aria-label":y?"Error":"Success",className:X("w-2 h-2 rounded-full",y?"bg-red-700":"bg-green-600")})})}),o.jsx(On,{children:y?"Error":"Success"})]})}),m&&o.jsx(ge.MonoCell,{children:$fs(Pfs(v.input),200)}),i?.map(S=>{const C=a?.[v.itemId]?.find(_=>_.scorerId===S);return o.jsx(ge.Cell,{height:"compact",className:"text-neutral3 text-ui-smd font-mono",children:C!=null?C.score.toFixed(3):"-"},S)})]});return p?o.jsxs(ge.RowWrapper,{children:[o.jsx(ge.SelectCell,{checked:d.has(v.id),onToggle:()=>f(v.id),"aria-label":`Select result ${v.itemId}`}),o.jsx(ge.RowButton,{flushLeft:!0,colStart:2,featured:b,onClick:()=>r(v.id),children:x})]},v.id):o.jsx(ge.RowButton,{featured:b,onClick:()=>r(v.id),children:x},v.id)}),o.jsx(ge.NextPageLoading,{isLoading:c,hasMore:u,setEndOfListElement:l})]})]})}function Pfs(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function $fs(e,t){return e.length<=t?e:e.slice(0,t-1)+"..."}function Mfs(e){const t=e.scorer;return t?.hasJudge===!1?!0:t?.hasJudge===!0?!1:!e.preprocessPrompt&&!e.analyzePrompt&&!e.generateScorePrompt&&!e.generateReasonPrompt}function Dfs({score:e,onNext:t,onPrevious:n,onClose:r,onShowTrace:s,collapsed:a,onCollapsedChange:i}){const[l,c]=g.useState(!1),u=a??l,d=i??c,f=Mfs(e),p=f?"N/A — code-based scorer":"N/A — step not configured";return o.jsxs(wn,{collapsed:u,children:[o.jsxs(wn.Header,{children:[o.jsxs(wn.Heading,{children:["Score ",o.jsx("b",{children:e.scorerId})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[i&&o.jsx(le,{size:"md",tooltip:u?"Expand panel":"Collapse panel",onClick:()=>d(!u),children:u?o.jsx(elt,{}):o.jsx(Jot,{})}),(n||t)&&o.jsx(wn.NextPrevNav,{onPrevious:n,onNext:t,previousLabel:"Previous score",nextLabel:"Next score"}),s&&o.jsxs(le,{size:"md",onClick:s,disabled:!e.traceId,children:[o.jsx(vAe,{}),"Trace"]}),o.jsx(wn.CloseButton,{onClick:r,tooltip:"Close score panel"})]})]}),!u&&o.jsx(wn.Content,{children:o.jsxs("div",{className:"grid gap-3",children:[o.jsx(wn.CodeSection,{title:`Score: ${e.score}`,icon:o.jsx(om,{}),codeStr:e.reason||p,simplified:!0}),!f&&o.jsxs(o.Fragment,{children:[o.jsx(wn.CodeSection,{title:"Preprocess Prompt",icon:o.jsx(jh,{}),codeStr:e.preprocessPrompt||p,simplified:!0}),o.jsx(wn.CodeSection,{title:"Analyze Prompt",icon:o.jsx(jh,{}),codeStr:e.analyzePrompt||p,simplified:!0}),o.jsx(wn.CodeSection,{title:"Generate Score Prompt",icon:o.jsx(jh,{}),codeStr:e.generateScorePrompt||p,simplified:!0}),o.jsx(wn.CodeSection,{title:"Generate Reason Prompt",icon:o.jsx(jh,{}),codeStr:e.generateReasonPrompt||p,simplified:!0})]})]})})]})}const ret=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"avg",label:"Avg Score",size:"1fr"},{name:"count",label:"Items Scored",size:"1fr"}];function Lfs({scoresByItemId:e,experimentStatus:t}){const n=g.useMemo(()=>{if(!e)return[];const r={};for(const s of Object.values(e))for(const a of s)r[a.scorerId]||(r[a.scorerId]={sum:0,count:0}),r[a.scorerId].sum+=a.score,r[a.scorerId].count++;return Object.entries(r).map(([s,{sum:a,count:i}])=>({scorerId:s,avg:a/i,count:i})).sort((s,a)=>s.scorerId.localeCompare(a.scorerId))},[e]);if(n.length===0){const r=t==="running"||t==="pending",s=e!==void 0;let a,i;return r?(a="Experiment in progress",i="Summary metrics will appear here once the experiment completes."):s?(a="No scorers configured",i="Add scorers when triggering an experiment to evaluate results and see summary metrics here."):(a="Loading scores",i="Fetching scorer results…"),o.jsx("div",{className:"flex h-full items-center justify-center py-12",children:o.jsx(Lr,{iconSlot:o.jsx(om,{className:"text-neutral3 h-8 w-8"}),titleSlot:a,descriptionSlot:i})})}return o.jsxs(bn,{children:[o.jsxs(bn.Header,{columns:ret,children:[o.jsx(bn.HeaderCol,{children:"Scorer"}),o.jsx(bn.HeaderCol,{children:"Avg Score"}),o.jsx(bn.HeaderCol,{children:"Items Scored"})]}),o.jsx(bn.Scroller,{children:o.jsx(bn.Items,{children:n.map(({scorerId:r,avg:s,count:a})=>o.jsxs(bn.Row,{columns:ret,children:[o.jsx(bn.TextCell,{children:r}),o.jsx(bn.TextCell,{className:"font-mono",children:s.toFixed(3)}),o.jsx(bn.TextCell,{className:"font-mono",children:a})]},r))})})]})}function _Ut({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoading:s,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l}){const[c,u]=g.useState(null),[d,f]=g.useState(null),[p,h]=g.useState(void 0),[m,v]=g.useState(null),[y,b]=g.useState(new Set),[x,S]=g.useState(!1),[k,C]=g.useState(!1),[_,E]=g.useState(!1),[T,N]=g.useState(!1),{updateExperimentResult:I}=Ii(),A=g.useCallback(re=>{b(se=>{const de=new Set(se);return de.has(re)?de.delete(re):de.add(re),de})},[]),R=g.useCallback(()=>b(new Set),[]),L=g.useCallback(()=>{const re=r.filter(se=>!!se.error).map(se=>se.id);b(new Set(re))},[r]),D=g.useCallback(async re=>{if(x||re.length===0)return;S(!0);let se=0;const de=new Set;try{for(const xe of re)try{await I.mutateAsync({datasetId:t,experimentId:e,resultId:xe,status:"needs-review"}),se++,de.add(xe)}catch{}}finally{S(!1)}de.size>0&&b(xe=>{const Ce=new Set(xe);for(const Re of de)Ce.delete(Re);return Ce}),se>0&&Fe(`${se} result${se>1?"s":""} flagged for review`)},[t,e,x,I]),F=r.find(re=>re.id===c)??null,[H,B]=g.useState("summary"),[U,q]=g.useState(null),M=re=>{B(re),re!=="reviews"&&q(null)},{data:G}=mAe(t),V=(G??[]).filter(re=>re.experimentId===e).length,{data:$}=nBt(e,n),z=g.useMemo(()=>{if(!$)return[];const re=new Set;for(const se of Object.values($))for(const de of se)re.add(de.scorerId);return[...re].sort()},[$]),Z=re=>{u(re),f(null),h(void 0),v(null)},K=re=>{Z(re===c?null:re)},ne=()=>{Z(null)},ee=()=>{if(!F)return;const re=r.findIndex(se=>se.id===F.id);if(re>=0&&re<r.length-1)return()=>Z(r[re+1].id)},J=()=>{if(!F)return;const re=r.findIndex(se=>se.id===F.id);if(re>0)return()=>Z(r[re-1].id)},ae=F?$?.[F.itemId]:void 0,pe=ae?.find(re=>re.id===m)??null,Y=re=>{v(re===m?null:re),f(null),h(void 0)},te=()=>{if(!m||!ae)return;const re=ae.findIndex(se=>se.id===m);if(re>=0&&re<ae.length-1)return()=>v(ae[re+1].id)},ue=()=>{if(!m||!ae)return;const re=ae.findIndex(se=>se.id===m);if(re>0)return()=>v(ae[re-1].id)},{data:fe,isLoading:ce}=jfs(d),me=fe?.spans,{data:be,isLoading:we}=SL(d,p),_e=be?.span,{handlePreviousSpan:ke,handleNextSpan:Ie}=uAe(me,p??null,h),Me=(()=>{const re=[],se=!!pe,de=!!d;return re.push(k?"auto":se||de?"2fr":"1fr"),se&&re.push(T?"auto":"3fr"),de&&re.push(_?"auto":"3fr"),de&&p&&re.push("3fr"),re.join(" ")})(),ie=g.useMemo(()=>[{name:"itemId",label:"Item ID",size:"7rem"},{name:"status",label:"Status",size:"5rem"},{name:"input",label:"Input",size:"minmax(15rem,1fr)"},...z.map(re=>({name:re,label:re,size:"12rem"}))],[z]);return o.jsxs(pc,{defaultTab:"summary",value:H,onValueChange:M,className:"grid h-full grid-rows-[auto_1fr] overflow-hidden",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"summary",children:"Summary"}),o.jsx(jr,{value:"results",children:"Results"}),o.jsxs(jr,{value:"reviews",children:["Reviews",V>0&&o.jsx(ea,{color:"orange",children:V})]})]}),o.jsx(Xr,{value:"summary",className:"mt-5 overflow-y-auto",children:o.jsx(Lfs,{scoresByItemId:$,experimentStatus:n})}),o.jsx(Xr,{value:"reviews",className:"mt-2 overflow-auto pb-0",children:o.jsx(OUt,{datasetId:t,experimentId:e,featuredItemId:U})}),o.jsxs(Xr,{value:"results",className:"mt-2 grid grid-rows-[auto_1fr] overflow-hidden",children:[o.jsxs("div",{className:"mb-4",children:[y.size>0&&o.jsxs("div",{className:"bg-surface3 flex items-center gap-2 px-4 py-2",children:[o.jsxs(ye,{variant:"ui-xs",className:"text-neutral5 font-medium",children:[y.size," selected"]}),o.jsx("div",{className:"flex-1"}),o.jsxs(le,{variant:"outline",size:"sm",disabled:x,onClick:()=>D([...y]),children:[o.jsx(Ve,{size:"sm",children:o.jsx(Xq,{})}),"Flag for Review"]}),o.jsx(le,{variant:"ghost",size:"sm",onClick:R,children:"Clear"})]}),r.length>0&&y.size===0&&!s&&o.jsx("div",{className:"flex items-center gap-2 px-4 py-2",children:o.jsx(le,{variant:"ghost",size:"sm",onClick:L,children:"Select loaded failures"})})]}),o.jsxs("div",{className:X("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",F&&"grid-cols-[1fr_1fr]"),children:[o.jsx("div",{className:"flex w-full overflow-y-auto",children:o.jsx("div",{className:"grid w-full content-start gap-8 overflow-y-auto",children:o.jsx(Rfs,{results:r,isLoading:s,featuredResultId:c,onResultClick:K,columns:ie,scoresByItemId:$,scorerIds:z,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l,selectedIds:y,onToggleSelect:A})})}),F&&o.jsxs("div",{className:"grid max-h-full min-h-0 content-start gap-4 overflow-auto",style:{gridTemplateRows:Me},children:[o.jsx(Afs,{result:F,scores:ae,onPrevious:J(),onNext:ee(),onClose:ne,onScoreClick:Y,featuredScoreId:m,onShowTrace:()=>{F.traceId&&(f(F.traceId),h(void 0),v(null),C(!0),E(!1))},onOpenInReview:()=>{q(F.id),B("reviews")},onFlagForReview:re=>D([re]),collapsed:k,onCollapsedChange:C}),pe&&o.jsx(Dfs,{score:pe,onNext:te(),onPrevious:ue(),onClose:()=>v(null),onShowTrace:()=>{pe.traceId&&(f(pe.traceId),h(void 0),C(!0),N(!0),E(!1))},collapsed:T,onCollapsedChange:N}),d&&o.jsxs(o.Fragment,{children:[o.jsx(nAe,{traceId:d,spans:me,isLoading:ce,onClose:()=>{f(null),h(void 0),C(!1),N(!1)},onSpanSelect:h,initialSpanId:p??null,placement:"traces-list",showUnavailableFeaturesMsg:!1,collapsed:_,onCollapsedChange:E,LinkComponent:_x,traceHref:`/traces/${d}`}),p&&o.jsx(JIe,{traceId:d,spanId:p,span:_e,isLoading:we,onPrevious:ke,onNext:Ie,onClose:()=>h(void 0)})]})]})]})]})]})}const Ffs={pending:o.jsx(hj,{}),running:o.jsx(cpe,{}),completed:o.jsx(da,{}),failed:o.jsx(ws,{})};function zfs({experiment:e,className:t}){const n=e.status,r=e.totalItems-e.succeededCount-e.failedCount;return o.jsxs("div",{className:X("grid justify-items-end gap-3",t),children:[o.jsxs("div",{className:"text-ui-lg text-neutral4 bg-surface5 flex items-center gap-2 rounded-lg p-1 px-3 capitalize",children:[o.jsx("span",{className:X("w-5 h-5 flex items-center justify-center rounded-full text-black","[&>svg]:w-4 [&>svg]:h-4",{"bg-green-700":n==="completed","bg-red-700":n==="failed","bg-cyan-600":n==="running","bg-yellow-600":n==="pending"}),children:Ffs[n]}),e.status]}),o.jsxs("div",{className:X("flex items-center gap-3 text-neutral3 text-ui-md ","[&>span]:flex [&>span]:gap-1 [&>span]:items-center ","[&_b]:text-neutral4 [&_b]:font-semibold"),children:[o.jsxs("span",{children:["Total: ",o.jsx("b",{children:e.totalItems})]}),o.jsxs("span",{children:["Succeeded: ",o.jsx("b",{children:e.succeededCount})]}),o.jsxs("span",{children:["Failed: ",o.jsx("b",{children:e.failedCount})]}),(n==="pending"||n==="running")&&o.jsxs("span",{children:["Pending: ",o.jsx("b",{children:r})]})]})]})}function Bfs({onPrevious:e,onNext:t,previousAriaLabel:n="Previous",nextAriaLabel:r="Next"}){return o.jsxs(Mr,{spacing:"close",children:[o.jsxs(le,{onClick:e,disabled:!e,"aria-label":n,children:[o.jsx(sH,{})," Prev"]}),o.jsxs(le,{onClick:t,disabled:!t,"aria-label":r,children:["Next",o.jsx(l3,{})]})]})}function yAe({delta:e}){const t=e>0?o.jsx(ea,{size:"small",color:"green",intensity:"muted",children:o.jsx(jD,{})}):e<0?o.jsx(ea,{size:"small",color:"red",intensity:"muted",children:o.jsx(FWt,{})}):null;return o.jsxs("span",{className:X("font-mono text-sm text-neutral4 min-w-20"),children:[o.jsx("span",{className:"inline-block w-3",children:e>0?"+ ":e<0?"- ":""}),Math.abs(e).toFixed(2)," ",t]})}function Iz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Ufs({item:e,baselineId:t,contenderId:n,baselineVersion:r,contenderVersion:s,onPrevious:a,onNext:i,onClose:l}){const c=e.results[t],u=e.results[n],d=!!(c&&u),f=new Set;if(c)for(const h of Object.keys(c.scores))f.add(h);if(u)for(const h of Object.keys(u.scores))f.add(h);const p=[...f].sort();return o.jsxs(Yr,{withLeftSeparator:!0,children:[o.jsxs(Yr.Toolbar,{children:[o.jsx(Bfs,{onPrevious:a,onNext:i,previousAriaLabel:"Previous comparison item",nextAriaLabel:"Next comparison item"}),o.jsx(Mr,{children:o.jsx(le,{onClick:l,"aria-label":"Close comparison detail panel",children:o.jsx(ws,{})})})]}),o.jsxs(Yr.Content,{className:"pb-6",children:[o.jsx(ha,{withMargins:!1,children:o.jsx(ha.Column,{children:o.jsxs(ha.Title,{size:"smaller",children:[o.jsx(zN,{})," ",e.itemId]})})}),d?o.jsx(o.Fragment,{children:o.jsxs(SIe,{children:[p.length>0&&o.jsxs("div",{className:"grid gap-3",children:[o.jsx("h4",{className:"text-neutral5 text-sm font-medium",children:"Scores"}),o.jsx("div",{className:"grid gap-2",children:p.map(h=>{const m=c?.scores[h]??null,v=u?.scores[h]??null,y=m!=null&&v!=null?v-m:null;return o.jsxs("div",{className:"bg-surface2 flex items-center justify-between gap-4 rounded-lg px-3 py-2",children:[o.jsx("span",{className:"text-neutral5 text-sm font-medium",children:h}),o.jsxs("div",{className:"flex items-center gap-4",children:[o.jsxs("span",{className:"text-neutral3 text-sm",children:[m!=null?m.toFixed(3):"-"," →"," ",v!=null?v.toFixed(3):"-"]}),y!=null&&o.jsx(yAe,{delta:y})]})]},h)})})]}),o.jsx(Is.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(ea,{color:"purple",children:"Baseline "})," Experiment Output"]}),icon:o.jsx(Cg,{}),codeStr:Iz(c?.output)}),o.jsx(Is.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(ea,{color:"cyan",children:"Contender "})," Experiment Output"]}),icon:o.jsx(Cg,{}),codeStr:Iz(u?.output)}),o.jsx(Is.CodeSection,{title:"Item Input",icon:o.jsx(hO,{}),codeStr:Iz(e.input)}),o.jsx(Is.CodeSection,{title:"Item Ground Truth",icon:o.jsx(Fxe,{}),codeStr:Iz(e.groundTruth)})]})}):o.jsx(Sn,{variant:"warning",title:"Comparison not available",children:o.jsx(Sn.Message,{children:(()=>{const h=c?"Contender":"Baseline",m=c?s:r;return o.jsxs(o.Fragment,{children:["The ",h," experiment was run against dataset",m!=null?` v. ${m}`:"",", which does not contain this item."]})})()})})]})]})}function qfs({items:e,baselineId:t,contenderId:n,scorerIds:r,featuredItemId:s,columns:a,onItemClick:i}){return o.jsx(Yr,{children:o.jsxs(bn,{children:[o.jsxs(bn.Header,{columns:a,children:[o.jsx(bn.HeaderCol,{children:"Item ID"}),!s&&r.map(l=>o.jsx(bn.HeaderCol,{className:"flex justify-center",children:l},l))]}),o.jsx(bn.Scroller,{children:o.jsx(bn.Items,{children:e.map(l=>{const c=l.results[t],u=l.results[n],d=!!(c&&u);return o.jsx(bn.Row,{children:o.jsxs(bn.RowButton,{item:{id:l.itemId},columns:a,isFeatured:s===l.itemId,onClick:i,children:[o.jsx(bn.IdCell,{id:l.itemId,className:d?"":"text-neutral1"}),!s&&o.jsx(o.Fragment,{children:r.map(f=>{const p=c?.scores[f]??null,h=u?.scores[f]??null,m=p!=null&&h!=null?h-p:null;return o.jsx(bn.Cell,{className:"flex items-center justify-center gap-5 font-mono",children:m!=null?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"text-neutral2 flex min-w-24 items-center",children:[p?.toFixed(2)," → ",h?.toFixed(2)]}),o.jsx(yAe,{delta:m})]}):o.jsx("span",{className:"text-neutral1",children:"-"})},f)})})]})},l.itemId)})})})]})})}const Vfs={baseline:{label:"Baseline",color:"purple",customStyle:"items-end justify-items-end [&>div]:justify-end border-r-0 rounded-r-none"},contender:{label:"Contender",color:"cyan",customStyle:"items-start justify-items-start [&>div]:justify-start border-l-0 rounded-l-none"}};function set({datasetId:e,experiment:t,type:n}){const{Link:r}=xn(),{label:s,color:a,customStyle:i}=Vfs[n];if(!t)return null;const l=t.createdAt?new Date(t.createdAt):null,c=oS(t.id)??t.id,u=t.name||c,d=o.jsx(le,{as:r,href:`/datasets/${e}/experiments/${t.id}`,children:o.jsx("span",{className:"min-w-0 truncate",children:u})});return o.jsxs("div",{className:`border-border1 grid gap-3 rounded-lg border-2 p-5 ${i}`,children:[o.jsxs("div",{className:"flex w-full items-center gap-3 overflow-clip",children:[n==="contender"&&o.jsxs(ea,{size:"small",color:a,children:[s,o.jsx(xm,{})]}),t.description?o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:d}),o.jsx(On,{children:t.description})]}):d,n==="baseline"&&o.jsxs(ea,{size:"small",color:a,children:[o.jsx(Rc,{})," ",s]})]}),o.jsxs("div",{className:"text-ui-sm text-neutral3 flex flex-wrap gap-x-4 gap-y-1",children:[t.name&&o.jsxs(Oo,{children:[o.jsx(ope,{})," ",c]}),o.jsxs(Oo,{children:[o.jsx(Fxe,{})," ",t.targetType," / ",t.targetId]}),o.jsxs(Oo,{children:[o.jsx(tV,{})," v",t.datasetVersion??"—"]}),l&&o.jsxs(Oo,{children:[o.jsx(Kot,{})," ",rr(l,"MMM d, yyyy HH:mm")]})]})]})}function Hfs({datasetId:e,experimentIdA:t,experimentIdB:n,onSwap:r}){const[s,a]=g.useState(null),{data:i,isLoading:l,error:c}=Rus(e,t,n),{data:u}=qq(e,t),{data:d}=qq(e,n),f=u&&d&&u.datasetVersion!==d.datasetVersion,p=g.useMemo(()=>{if(!i)return[];const E=new Set;for(const T of i.items)for(const N of Object.values(T.results))if(N)for(const I of Object.keys(N.scores))E.add(I);return[...E].sort()},[i]),h=g.useMemo(()=>{if(!i||p.length===0)return[];const E=i.baselineId,T=t===E?n:t;return p.map(N=>{let I=0,A=0,R=0,L=0;for(const B of i.items){const U=B.results[E]?.scores[N],q=B.results[T]?.scores[N];U!=null&&(I+=U,R++),q!=null&&(A+=q,L++)}const D=R>0?I/R:null,F=L>0?A/L:null,H=D!=null&&F!=null?F-D:null;return{scorerId:N,avgA:D,avgB:F,delta:H}})},[i,p,t,n]),m=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"baselineAvg",label:"Baseline Avg",size:"1fr"},{name:"comparisonAvg",label:"Comparison Avg",size:"1fr"},{name:"delta",label:"Delta",size:"1fr"}],v=g.useMemo(()=>[{name:"itemId",label:"Item ID",size:"8rem"},...s?[]:p.map(E=>({name:E,label:E,size:"1fr"}))],[p,s]),y=i?.items.find(E=>E.itemId===s)??null,b=E=>{a(E===s?null:E)},x=()=>{a(null)},S=()=>{if(!i||!s)return;const E=i.items.findIndex(T=>T.itemId===s);if(E>=0&&E<i.items.length-1)return()=>a(i.items[E+1].itemId)},k=()=>{if(!i||!s)return;const E=i.items.findIndex(T=>T.itemId===s);if(E>0)return()=>a(i.items[E-1].itemId)};if(l)return o.jsx("div",{className:"flex h-64 items-center justify-center",children:o.jsx(Jt,{})});if(c)return o.jsx(Sn,{variant:"warning",title:"Error loading comparison",children:o.jsx(Sn.Message,{children:c instanceof Error?c.message:"Unknown error"})});if(!i||i.items.length===0)return o.jsx("div",{className:"text-neutral4 py-8 text-center text-sm",children:"No comparison data"});const C=i.baselineId,_=t===C?n:t;return o.jsxs("div",{className:"grid gap-10",children:[u&&d&&o.jsxs("div",{className:X("relative grid xl:grid-cols-[1fr_auto_1fr] gap-4 xl:gap-0"),children:[o.jsx(set,{datasetId:e,experiment:u,type:"baseline"}),o.jsx("div",{className:"before:bg-border1 relative flex items-center justify-center px-[2vw] before:absolute before:inset-y-0 before:left-1/2 before:w-[2px] before:-translate-x-1/2",children:o.jsx("div",{className:"bg-surface2 relative z-1 rounded-lg p-2",children:o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(le,{onClick:r,children:"VS"})}),o.jsx(On,{children:"Switch the order"})]})})}),o.jsx(set,{datasetId:e,experiment:d,type:"contender"})]}),f&&o.jsx(Sn,{variant:"warning",title:"Version mismatch",children:o.jsxs(Sn.Message,{children:["These experiments used different dataset versions (v",u.datasetVersion," vs v",d.datasetVersion,"). Results may not be directly comparable."]})}),h.length>0&&o.jsxs(bn,{children:[o.jsxs(bn.Header,{columns:m,children:[o.jsx(bn.HeaderCol,{children:"Scorer"}),o.jsx(bn.HeaderCol,{className:"flex justify-center",children:o.jsxs(JXe,{children:[o.jsx(ea,{color:"purple",size:"small",intensity:"muted",children:"Baseline"}),o.jsx(ea,{color:"purple",size:"small",children:"Avg"})]})}),o.jsx(bn.HeaderCol,{className:"flex justify-center",children:o.jsxs(JXe,{children:[o.jsx(ea,{color:"cyan",size:"small",intensity:"muted",children:"Contender"}),o.jsx(ea,{color:"cyan",size:"small",children:"Avg"})]})}),o.jsx(bn.HeaderCol,{className:"flex justify-center",children:"Delta"})]}),o.jsx(bn.Scroller,{children:o.jsx(bn.Items,{children:h.map(({scorerId:E,avgA:T,avgB:N,delta:I})=>o.jsxs(bn.Row,{columns:m,children:[o.jsx(bn.TextCell,{children:E}),o.jsx(bn.TextCell,{className:"text-center font-mono",children:T!=null?T.toFixed(3):"-"}),o.jsx(bn.TextCell,{className:"text-center font-mono",children:N!=null?N.toFixed(3):"-"}),o.jsx(bn.TextCell,{className:"flex justify-center",children:I!=null?o.jsx(yAe,{delta:I}):"-"})]},E))})})]}),o.jsxs(cy,{className:X({"grid-cols-[1fr_2fr]":!!y}),children:[o.jsx(qfs,{items:i.items,baselineId:C,contenderId:_,scorerIds:p,featuredItemId:s,columns:v,onItemClick:b}),!!y&&o.jsx(Ufs,{item:y,baselineId:C,contenderId:_,baselineVersion:u?.datasetVersion,contenderVersion:d?.datasetVersion,onPrevious:k(),onNext:S(),onClose:x})]})]})}function Wfs({datasetId:e,itemId:t,onVersionSelect:n,onCompareVersionsClick:r,activeVersion:s}){const{data:a,isLoading:i}=fAe(e,t),[l,c]=g.useState(!1),[u,d]=g.useState(new Set),f=b=>{n?.(b)},p=b=>s==null?b.isLatest:b.datasetVersion===s,h=b=>{d(x=>{const S=new Set(x);if(S.has(b))S.delete(b);else if(S.size>=2){const[k]=Array.from(S);return new Set([k,b])}else S.add(b);return S})},m=()=>{c(!1),d(new Set)},v=()=>{c(!0)},y=()=>{u.size===2&&r?.([...u])};return o.jsxs(Yr,{className:"min-w-56",children:[l?o.jsx(Yr.Toolbar,{className:"grid w-full justify-stretch gap-3",children:o.jsxs(Mr,{children:[o.jsx(le,{onClick:m,children:"Cancel"}),o.jsx(le,{variant:"primary",disabled:u.size!==2,onClick:y,tooltip:u.size!==2?"Check 2 versions to compare":void 0,className:"grow",children:"Compare"})]})}):o.jsx(o.Fragment,{children:(a||[]).length>1&&o.jsx(Yr.Toolbar,{children:o.jsxs(le,{onClick:v,className:"w-full",children:[o.jsx(n1,{})," Compare Ver."]})})}),i?o.jsx(Zfs,{}):o.jsxs(bn,{children:[o.jsx(bn.Header,{children:o.jsx(bn.HeaderCol,{children:"Item Version History"})}),o.jsx(bn.Scroller,{children:o.jsx(bn.Items,{children:a?.map(b=>{const x=String(b.datasetVersion),S=typeof b.updatedAt=="string"?new Date(b.updatedAt):b.updatedAt;return o.jsxs(bn.Row,{isSelected:l&&u.has(x),children:[l&&o.jsx(bn.LabelCell,{children:o.jsx(Bo,{checked:u.has(x),disabled:b.isDeleted,onCheckedChange:()=>{},onClick:k=>{k.stopPropagation(),b.isDeleted||h(x)},"aria-label":`Select version ${b.datasetVersion}`})}),o.jsx(bn.RowButton,{item:b,columns:[{name:"version",label:"Item Version History",size:"1fr"}],isFeatured:p(b),onClick:()=>f(b),className:"py-2",children:o.jsx(bn.VersionCell,{version:b.datasetVersion,date:S,isLatest:b.isLatest,isDeleted:b.isDeleted})})]},String(b.datasetVersion))})})})]})]})}function Zfs(){return o.jsxs(bn,{children:[o.jsx(bn.Header,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(bn.HeaderCol,{children:"Item Version History"})}),o.jsx(bn.Items,{children:Array.from({length:3}).map((e,t)=>o.jsx(bn.Row,{children:o.jsx(bn.RowButton,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(bn.TextCell,{isLoading:!0,children:"Loading..."})})},t))})]})}function Gfs(e,t){if(t){const n=typeof t=="string"?new Date(t):t;return`v${e} ${rr(n,"MMM dd 'at' H:mm:ss a")}`}return`v${e}`}function Qfs({datasetId:e,versionA:t,versionB:n,onVersionChange:r}){const{data:s}=MIe(e),a=(s??[]).map(i=>({value:String(i.version),label:`${Gfs(i.version,i.createdAt)}${i.isCurrent?" (current)":""}`}));return o.jsxs(Yr.Toolbar,{className:"grid w-full grid-cols-[1fr_1fr_1fr_10rem] gap-4",children:[o.jsx("div",{}),o.jsx(Cc,{label:"Version A",labelIsHidden:!0,name:"version-a",placeholder:"Select version",options:a,value:t??"",onValueChange:i=>r?.(i,n??"")}),o.jsx(Cc,{label:"Version B",labelIsHidden:!0,name:"version-b",options:a,value:n??"",onValueChange:i=>r?.(t??"",i)}),o.jsx("div",{})]})}const Yfs=[{name:"id",label:"ID",size:"1fr"},{name:"versionA",label:"Version A",size:"1fr"},{name:"versionB",label:"Version B",size:"1fr"},{name:"compare",label:"Compare",size:"10rem"}],Kfs={added:{color:"blue",borderColor:"border-blue-900",icon:o.jsx(Zr,{}),tooltip:"Added in this version"},changed:{color:"orange",borderColor:"border-yellow-900",icon:o.jsx(flt,{}),tooltip:"Changed in this version"},same:{color:"green",borderColor:"border-green-900",icon:o.jsx(lGt,{}),tooltip:"Same in both versions"}};function oie({red:e=!1,tooltip:t}){return o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(QWt,{className:X("text-neutral3/40 w-5 h-5 ",{"text-red-900":e})})}),t&&o.jsx(On,{children:t})]})}function lk({variant:e,version:t}){if(!e)return o.jsxs("span",{className:"text-ui-md text-neutral4",children:["v. ",t]});const{color:n,icon:r,tooltip:s}=Kfs[e];return o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsxs("div",{className:"grid grid-cols-[1fr_auto]",children:[t!==void 0&&o.jsxs("span",{className:"text-ui-md text-neutral4 flex min-w-16 justify-end pr-3",children:["v. ",t]}),o.jsx(ea,{color:n,size:"small",children:r})]})}),o.jsx(On,{children:s})]})}function Xfs(e,t){return e&&t&&e.datasetVersion===t.datasetVersion?"same":e&&t&&e.datasetVersion!==t.datasetVersion?"changed":e?"added":"removed"}function Jfs({datasetId:e,versionA:t,versionB:n,allItems:r,itemsAMap:s,itemsBMap:a}){const{Link:i}=xn(),l=t>n;return o.jsx(bn,{children:o.jsx(bn.Scroller,{children:o.jsx(bn.Items,{children:r.map(({id:c})=>{const u=s.get(c),d=a.get(c),f=Xfs(u,d);return o.jsxs(bn.Row,{columns:Yfs,children:[o.jsx(bn.IdCell,{id:c,isShortened:!1}),f!=="same"?o.jsxs(o.Fragment,{children:[u?.datasetVersion?o.jsx(bn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!d&&l?o.jsx(lk,{variant:"added",version:u.datasetVersion}):f==="changed"&&l?o.jsx(lk,{variant:"changed",version:u.datasetVersion}):o.jsx(lk,{version:u.datasetVersion})}):o.jsx(bn.Cell,{className:"flex items-center justify-center",children:o.jsx(oie,{red:l,tooltip:l?"Deleted in this version":"Not present in this version"})}),d?.datasetVersion?o.jsx(bn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!u&&!l?o.jsx(lk,{variant:"added",version:d.datasetVersion}):f==="changed"&&!l?o.jsx(lk,{variant:"changed",version:d.datasetVersion}):o.jsx(lk,{version:d.datasetVersion})}):o.jsx(bn.Cell,{className:"flex items-center justify-center",children:o.jsx(oie,{red:!l,tooltip:l?"Not present in this version":"Deleted in this version"})})]}):o.jsx(bn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"col-span-2 gap-2",children:o.jsx(lk,{variant:"same",version:d?.datasetVersion})}),f==="changed"?o.jsx(bn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}/versions?ids=${u?.datasetVersion},${d?.datasetVersion}`,children:"Compare"}):o.jsx(bn.Cell,{children:o.jsx(oie,{tooltip:o.jsxs(o.Fragment,{children:["Comparing is available",o.jsx("br",{})," only for changed items"]})})})]},c)})})})})}const aet={needsReview:"#facc15",complete:"#22c55e"},eps=[{label:"Needs Review",color:aet.needsReview},{label:"Reviewed",color:aet.complete}];function tps({reviewSummary:e,experiments:t,datasets:n,isLoading:r,isError:s}){const{data:a,maxVal:i,totalInPipeline:l}=g.useMemo(()=>{if(!e?.counts||!t)return{data:[],maxVal:0,totalInPipeline:0};const u=new Map;for(const m of t)u.set(m.id,m);const d=new Map;if(n)for(const m of n)d.set(m.id,m.name);let f=0,p=0;const h=[];for(const m of e.counts){const v=m.needsReview+m.complete;if(v===0)continue;p+=v,v>f&&(f=v);const y=u.get(m.experimentId),b=y?.datasetId?d.get(y.datasetId):void 0,x=b?`${b} · ${m.experimentId.slice(0,8)}`:m.experimentId.slice(0,8);h.push({name:x,values:[m.needsReview,m.complete]})}return{data:h,maxVal:f,totalInPipeline:p}},[e,t,n]),c=a.length>0;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Review Pipeline",description:"Items in review across experiments."}),c&&o.jsx(Gt.Summary,{value:String(l),label:"Items in pipeline"})]}),r?o.jsx(Gt.Loading,{}):s?o.jsx(Gt.Error,{message:"Failed to load review data"}):o.jsx(Gt.Content,{children:c?o.jsx(RN,{data:a,segments:eps,maxVal:i,fmt:u=>String(u)}):o.jsx(Gt.NoData,{message:"No items have been sent to review yet"})})]})}function bAe(){const e=Ge();return vt({queryKey:["experiment-review-summary"],queryFn:()=>e.getExperimentReviewSummary()})}function CUt(e){const t=new Map;if(!e?.counts)return t;for(const n of e.counts)t.set(n.experimentId,{needsReview:n.needsReview,complete:n.complete,total:n.total});return t}function nps(e,t){const n=new Map,r=CUt(e);if(!r.size||!t)return n;for(const s of t){const a=r.get(s.id);if(!a||!s.datasetId||a.needsReview+a.complete===0)continue;const l=n.get(s.datasetId)??{needsReview:0,complete:0};l.needsReview+=a.needsReview,l.complete+=a.complete,n.set(s.datasetId,l)}return n}function rps(e){return e?.counts?e.counts.reduce((t,n)=>({needsReview:t.needsReview+n.needsReview,complete:t.complete+n.complete,inPipeline:t.inPipeline+n.needsReview+n.complete}),{needsReview:0,complete:0,inPipeline:0}):{needsReview:0,complete:0,inPipeline:0}}const sps=10;function aps(){const[e,t]=g.useState(!1),[n,r]=g.useState(""),[s,a]=g.useState("all"),[i,l]=g.useState("all"),[c,u]=g.useState("all"),[d,f]=g.useState(0),{data:p,isLoading:h,error:m}=Vg({page:d,perPage:sps}),{data:v,isLoading:y,error:b}=xQ(),{data:x}=bAe(),S=g.useMemo(()=>p?.datasets??[],[p?.datasets]),k=p?.pagination?.hasMore??!1,C=g.useMemo(()=>v?.experiments??[],[v?.experiments]),_=g.useMemo(()=>Kus(S),[S]),E=g.useMemo(()=>nps(x,C),[x,C]),T=h||y,N=m||b,I=()=>t(!0),A=g.useCallback(()=>f(q=>q+1),[]),R=g.useCallback(()=>f(q=>Math.max(0,q-1)),[]),L=g.useCallback(q=>{r(q),f(0)},[]),D=g.useCallback(q=>{a(q),f(0)},[]),F=g.useCallback(q=>{l(q),f(0)},[]),H=g.useCallback(q=>{u(q),f(0)},[]);if(N&&xs(N))return o.jsx(cr,{children:o.jsx(Zs,{})});if(N&&Ss(N))return o.jsx(cr,{children:o.jsx($s,{resource:"datasets"})});if(N)return o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load datasets",message:N.message})});if(S.length===0&&!T&&d===0)return o.jsxs(o.Fragment,{children:[o.jsx(cr,{children:o.jsx(nds,{onCreateClick:I})}),o.jsx(sxe,{open:e,onOpenChange:t})]});const B=s!=="all"||i!=="all"||c!=="all"||n!=="",U=()=>{r(""),a("all"),l("all"),u("all"),f(0)};return o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsx(ads,{search:n,onSearchChange:L,targetFilter:s,onTargetFilterChange:D,experimentFilter:i,onExperimentFilterChange:F,tagFilter:c,onTagFilterChange:H,tagOptions:_,onReset:U,hasActiveFilters:B,onCreateClick:I})}),o.jsx(tds,{datasets:S,experiments:C,reviewByDataset:E,isLoading:T,search:n,targetFilter:s,experimentFilter:i,tagFilter:c,currentPage:d,hasMore:k,onNextPage:A,onPrevPage:R}),o.jsx(sxe,{open:e,onOpenChange:t})]})}function Az({children:e}){return o.jsxs(Vt,{height:"full",children:[o.jsx("div",{}),o.jsx(Vt.MainArea,{isCentered:!0,children:e})]})}function ips(){const{datasetId:e}=Sr(),t=Ws(),[n,r]=si(),{activeVersion:s}=pAe(n,r),[a,i]=g.useState(!1),[l,c]=g.useState(!1),[u,d]=g.useState(!1),[f,p]=g.useState(!1),[h,m]=g.useState(!1),{data:v,error:y,isLoading:b}=r0(e),{data:x=[],isLoading:S}=F1(e,void 0,s),k=!S&&x.length===0;if(b)return null;if(y&&xs(y))return o.jsx(Az,{children:o.jsx(Zs,{})});if(y&&Ss(y))return o.jsx(Az,{children:o.jsx($s,{resource:"datasets"})});if(y&&vEe(y)||!b&&!y&&!v)return o.jsx(Az,{children:o.jsx(Lr,{iconSlot:o.jsx(uy,{}),titleSlot:"Dataset not found",descriptionSlot:`No dataset with id "${e}".`,actionSlot:o.jsxs(le,{as:ni,to:"/datasets",children:[o.jsx(Rc,{}),"Back to Datasets"]})})});if(y)return o.jsx(Az,{children:o.jsx(Hi,{title:"Failed to load dataset",message:y instanceof Error?y.message:"An unexpected error occurred. Please try again."})});const C=E=>{t(`/datasets/${e}/experiments/${E}`)},_=()=>{t("/datasets")};return o.jsxs(o.Fragment,{children:[o.jsxs(Vt,{height:"full",children:[o.jsx(Vt.TopArea,{children:o.jsxs(Vt.Row,{children:[o.jsxs(Vt.Column,{children:[v?.description&&o.jsx("p",{className:"text-ui-smd text-neutral3 mb-1",children:v.description}),o.jsxs(qt,{numOfCol:2,children:[o.jsx(qt.Key,{children:"Created at"}),o.jsx(qt.Value,{children:v?.createdAt?rr(new Date(v.createdAt),"MMM d, yyyy"):""}),o.jsx(qt.Key,{children:"Latest version"}),o.jsxs(qt.Value,{children:["v",v?.version??""]})]})]}),o.jsx(Vt.Column,{children:o.jsxs(Mr,{children:[k?o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"cursor-not-allowed",children:o.jsx("div",{className:"pointer-events-none opacity-50",inert:!0,"aria-disabled":"true",children:o.jsxs(le,{variant:"primary",children:[o.jsx(qp,{}),s!=null?`Run on v${s}`:"Run Experiment"]})})})}),o.jsx(On,{children:"Add items to the dataset before running an experiment"})]}):o.jsxs(le,{variant:"primary",onClick:()=>i(!0),children:[o.jsx(qp,{}),s!=null?`Run on v${s}`:"Run Experiment"]}),o.jsxs(ot,{children:[o.jsx(ot.Trigger,{asChild:!0,children:o.jsx(le,{size:"lg","aria-label":"Dataset actions menu",children:o.jsx(ID,{})})}),o.jsxs(ot.Content,{align:"end",className:"w-48",children:[o.jsxs(ot.Item,{onSelect:()=>d(!0),children:[o.jsx(lm,{})," Edit Dataset"]}),o.jsxs(ot.Item,{onSelect:()=>m(!0),children:[o.jsx(im,{})," Duplicate Dataset"]}),o.jsxs(ot.Item,{onSelect:()=>p(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(mu,{})," Delete Dataset"]})]})]})]})})]})}),o.jsx(Vt.MainArea,{children:o.jsx(xfs,{datasetId:e,onAddItemClick:()=>c(!0)})})]}),o.jsx(Tfs,{datasetId:e,version:s??void 0,requestContextSchema:v?.requestContextSchema,open:a,onOpenChange:i,onSuccess:C}),o.jsx(Sfs,{datasetId:e,open:l,onOpenChange:c}),v&&o.jsx(dds,{open:u,onOpenChange:d,dataset:{id:v.id,name:v.name,description:v?.description||"",targetType:v.targetType,inputSchema:v.inputSchema,groundTruthSchema:v.groundTruthSchema,requestContextSchema:v.requestContextSchema}}),v&&o.jsx(lds,{open:h,onOpenChange:m,sourceDatasetId:v.id,sourceDatasetName:v.name,sourceDatasetDescription:v.description,sourceDatasetTargetType:v.targetType}),v&&o.jsx(pds,{open:f,onOpenChange:p,datasetId:v.id,datasetName:v.name,onSuccess:_})]})}function EUt({experiment:e}){const{Link:t,paths:n}=xn(),{data:r}=Im(),{data:s}=Hy(),{data:a}=uh(),i=()=>{switch(e.targetType){case"agent":return n.agentLink(e.targetId);case"workflow":return n.workflowLink(e.targetId);case"scorer":return n.scorerLink(e.targetId);default:return"#"}},l=()=>{const u=e.targetId;if(!u)return u;switch(e.targetType){case"agent":return r?.[u]?.name??u;case"workflow":return s?.[u]?.name??u;case"scorer":return a?.[u]?.scorer?.config?.name??u;default:return u}},c=e.agentVersion&&e.targetType==="agent"&&e.targetId?`${n.agentLink(e.targetId)}/editor?version=${encodeURIComponent(e.agentVersion)}`:null;return o.jsx(Vt.TopArea,{children:o.jsxs(Vt.Row,{children:[o.jsx(Vt.Column,{children:o.jsxs(qt,{numOfCol:2,children:[e.name&&o.jsxs(o.Fragment,{children:[o.jsx(qt.Key,{children:"Name"}),o.jsx(qt.Value,{children:e.name})]}),e.description&&o.jsxs(o.Fragment,{children:[o.jsx(qt.Key,{children:"Description"}),o.jsx(qt.Value,{children:e.description})]}),o.jsx(qt.Key,{children:"Created at"}),o.jsx(qt.Value,{children:rr(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")}),e.completedAt&&o.jsxs(o.Fragment,{children:[o.jsx(qt.Key,{children:"Completed at"}),o.jsx(qt.Value,{children:rr(new Date(e.completedAt),"MMM d, yyyy 'at' h:mm a")})]}),o.jsx(qt.Key,{children:"Target"}),o.jsx(qt.ValueLink,{href:i(),as:t,children:l()}),e.agentVersion&&o.jsxs(o.Fragment,{children:[o.jsx(qt.Key,{children:"Version"}),c?o.jsx(qt.ValueLink,{href:c,as:t,children:e.agentVersion}):o.jsx(qt.Value,{children:e.agentVersion})]})]})}),o.jsx(Vt.Column,{children:o.jsx(zfs,{experiment:e})})]})})}function Rz({children:e}){return o.jsxs(Vt,{height:"full",children:[o.jsx("div",{}),o.jsx(Vt.MainArea,{isCentered:!0,children:e})]})}function ops(){const{datasetId:e,experimentId:t}=Sr(),{data:n,isLoading:r,error:s}=qq(e,t),{data:a,isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u}=rQ({datasetId:e,experimentId:t,experimentStatus:n?.status});return!e||!t||r?null:s&&xs(s)?o.jsx(Rz,{children:o.jsx(Zs,{})}):s&&Ss(s)?o.jsx(Rz,{children:o.jsx($s,{resource:"datasets"})}):s&&vEe(s)||!r&&!s&&!n?o.jsx(Rz,{children:o.jsx(Lr,{iconSlot:o.jsx(Txe,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${t}".`,actionSlot:o.jsxs(le,{as:ni,to:`/datasets/${e}?tab=experiments`,children:[o.jsx(Rc,{}),"Back to Dataset"]})})}):s?o.jsx(Rz,{children:o.jsx(Hi,{title:"Failed to load experiment",message:s instanceof Error?s.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Vt,{height:"full",children:[o.jsx(EUt,{experiment:n}),o.jsx(Vt.MainArea,{children:o.jsx(_Ut,{experimentId:t,datasetId:e,experimentStatus:n.status,results:a??[],isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u})})]})}function lps(){const{datasetId:e}=Sr(),[t,n]=si(),{error:r}=r0(e??""),s=t.get("baseline")??"",a=t.get("contender")??"";return r&&xs(r)?o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})}):r&&Ss(r)?o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})}):!e||!s||!a?o.jsx(fs,{children:o.jsx(Oy,{children:o.jsxs("div",{className:"text-neutral4 py-8 text-center",children:[o.jsx("p",{children:"Select two experiments to compare."}),o.jsxs("p",{className:"mt-2 text-sm",children:["Use the URL format: /datasets/","{datasetId}","/experiments?baseline=","{experimentIdA}","&contender=","{experimentIdB}"]})]})})}):o.jsx(fs,{children:o.jsx(Oy,{children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[100rem] content-start px-12",children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(n1,{})," Dataset Experiments Comparison"]}),o.jsxs(ha.Description,{children:["Comparing"," ",o.jsx(ni,{to:`/datasets/${e}/experiments/${s}`,children:s.slice(0,8)})," vs"," ",o.jsx(ni,{to:`/datasets/${e}/experiments/${a}`,children:a.slice(0,8)})]})]}),o.jsx(ha.Column,{children:o.jsxs(le,{as:ni,to:`/datasets/${e}`,children:[o.jsx(Rc,{}),"Back to Dataset"]})})]}),o.jsx(Hfs,{datasetId:e,experimentIdA:s,experimentIdB:a,onSwap:()=>{n({baseline:a,contender:s})}})]})})})}function cps(){const{datasetId:e,itemId:t}=Sr(),{Link:n}=xn(),r=Ws(),{data:s,isLoading:a,error:i}=fAe(e??"",t??""),{updateItem:l,deleteItem:c}=Ii(),{data:u}=r0(e??""),d=s?.[0]??null,f=d?.isDeleted??!1,[p,h]=g.useState(null),m=g.useMemo(()=>!d||f?{input:"",groundTruth:"",metadata:"",trajectory:"",toolMocks:"",requestContext:""}:{input:JSON.stringify(d.input,null,2),groundTruth:d.groundTruth?JSON.stringify(d.groundTruth,null,2):"",metadata:d.metadata?JSON.stringify(d.metadata,null,2):"",trajectory:d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):"",toolMocks:d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):"",requestContext:d.requestContext?JSON.stringify(d.requestContext,null,2):""},[d,f]),v=d?.datasetVersion??0,[y,b]=g.useState(!1),[x,S]=g.useState(m.input),[k,C]=g.useState(m.groundTruth),[_,E]=g.useState(m.metadata),[T,N]=g.useState(m.trajectory),[I,A]=g.useState(m.toolMocks),[R,L]=g.useState(m.requestContext),[D,F]=g.useState(v);v!==D&&(F(v),S(m.input),C(m.groundTruth),E(m.metadata),N(m.trajectory),A(m.toolMocks),L(m.requestContext));const[H,B]=g.useState(!1),U=ee=>{h(f?ee:ee.isLatest?null:ee)},q=()=>{h(null)},M=!f&&p!=null,G=()=>{M||b(!0)},V=()=>{M||B(!0)},$=async()=>{if(!e||!t)return;let ee;try{ee=JSON.parse(x)}catch{Fe.error("Input must be valid JSON");return}let J;if(k.trim())try{J=JSON.parse(k)}catch{Fe.error("Ground Truth must be valid JSON");return}let ae;if(_.trim())try{ae=JSON.parse(_)}catch{Fe.error("Metadata must be valid JSON");return}let pe;const Y=T!==m.trajectory;if(Y&&T.trim())try{pe=JSON.parse(T)}catch{Fe.error("Expected Trajectory must be valid JSON");return}let te;const ue=I!==m.toolMocks;if(ue&&I.trim())try{const me=JSON.parse(I);if(!Array.isArray(me)){Fe.error("Tool Mocks must be a JSON array");return}te=me}catch{Fe.error("Tool Mocks must be valid JSON");return}let fe;const ce=R!==m.requestContext;if(ce&&R.trim())try{fe=JSON.parse(R)}catch{Fe.error("Request Context must be valid JSON");return}try{await l.mutateAsync({datasetId:e,itemId:t,input:ee,groundTruth:J,metadata:ae,...Y?{expectedTrajectory:pe??null}:{},...ue?{toolMocks:te??[]}:{},...ce?{requestContext:fe}:{}}),Fe.success("Item updated successfully"),b(!1)}catch(me){Fe.error(`Failed to update item: ${me instanceof Error?me.message:"Unknown error"}`)}},z=()=>{d&&(S(JSON.stringify(d.input,null,2)),C(d.groundTruth?JSON.stringify(d.groundTruth,null,2):""),E(d.metadata?JSON.stringify(d.metadata,null,2):""),N(d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):""),A(d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):""),L(d.requestContext?JSON.stringify(d.requestContext,null,2):"")),b(!1)},Z=async()=>{if(!(!e||!t))try{await c.mutateAsync({datasetId:e,itemId:t}),Fe.success("Item deleted successfully"),B(!1),r(`/datasets/${e}`)}catch(ee){Fe.error(`Failed to delete item: ${ee instanceof Error?ee.message:"Unknown error"}`)}},K=p??d,ne=K?{id:t??"",datasetId:e??"",datasetVersion:K.datasetVersion,input:K.input,groundTruth:K.groundTruth,expectedTrajectory:K.expectedTrajectory,metadata:K.metadata,createdAt:K.createdAt,updatedAt:K.updatedAt}:null;return i&&xs(i)?o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})}):i&&Ss(i)?o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})}):a?null:!e||!t||!s||s.length===0?o.jsx(fs,{children:o.jsx(Oy,{children:o.jsx("div",{className:"text-neutral3 p-4",children:"Item not found"})})}):o.jsxs(o.Fragment,{children:[o.jsx(fs,{children:o.jsx("div",{className:"h-full overflow-hidden px-6 pb-4",children:o.jsxs("div",{className:"mx-auto grid h-full max-w-[60rem] grid-rows-[auto_1fr] gap-6",children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(zN,{}),t," ",o.jsx(za,{content:t})]}),o.jsx(ha.Description,{children:o.jsxs(Oo,{children:["Item of ",o.jsx(uy,{})," ",u?.name]})}),o.jsxs(ha.Description,{children:[o.jsxs(Oo,{children:[o.jsx(Yot,{})," Created at"," ",d?.createdAt?rr(new Date(d.createdAt),"MMM d, yyyy"):""]}),o.jsxs(Oo,{children:[o.jsx(x_,{})," Latest version v",d?.datasetVersion??""]})]})]}),o.jsx(ha.Column,{children:!y&&!f&&o.jsxs(Mr,{children:[o.jsxs(le,{onClick:G,disabled:M,title:M?"Return to latest version to edit":void 0,children:[o.jsx(flt,{})," Edit"]}),o.jsxs(le,{onClick:V,disabled:M,title:M?"Return to latest version to delete":void 0,children:[o.jsx(mu,{})," Delete"]})]})})]}),o.jsxs(cy,{className:y?"grid-cols-1":"grid-cols-[1fr_auto]",children:[o.jsxs(Yr,{withRightSeparator:!y,children:[f&&d&&o.jsx(Sn,{variant:"destructive",title:"Item deleted",children:o.jsxs(Sn.Message,{children:["This item was deleted at version v",d.datasetVersion]})}),!f&&M&&p&&o.jsx(Sn,{variant:"warning",title:"Previous version",action:o.jsxs(Sn.Button,{onClick:q,children:[o.jsx(Hot,{})," Return to the latest version"]}),children:o.jsxs(Sn.Message,{children:["Viewing version v",p.datasetVersion]})}),y?o.jsx(SUt,{inputValue:x,setInputValue:S,groundTruthValue:k,setGroundTruthValue:C,metadataValue:_,setMetadataValue:E,trajectoryValue:T,setTrajectoryValue:N,toolMocksValue:I,setToolMocksValue:A,requestContextValue:R,setRequestContextValue:L,validationErrors:null,onSave:$,onCancel:z,isSaving:l.isPending}):ne?o.jsx(gAe,{item:ne,Link:n}):o.jsx("div",{className:"text-neutral4 text-sm",children:"Item data not available"})]}),!y&&o.jsx(Yr,{children:o.jsx(Wfs,{datasetId:e,itemId:t,onClose:()=>{},onVersionSelect:U,onCompareVersionsClick:ee=>{r(`/datasets/${e}/items/${t}/versions?ids=${ee.join(",")}`)},activeVersion:p?.datasetVersion??null})})]})]})})}),o.jsx(Rt,{open:H,onOpenChange:B,children:o.jsxs(Rt.Content,{children:[o.jsxs(Rt.Header,{children:[o.jsx(Rt.Title,{children:"Delete Item"}),o.jsx(Rt.Description,{children:"Are you sure you want to delete this item? This action cannot be undone."})]}),o.jsxs(Rt.Footer,{children:[o.jsx(Rt.Cancel,{children:"Cancel"}),o.jsx(Rt.Action,{onClick:Z,children:c.isPending?"Deleting...":"Delete"})]})]})})]})}function iet(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function ups(){const{datasetId:e}=Sr(),[t,n]=si(),r=t.get("items")?.split(",").filter(Boolean)??[],{data:s,error:a}=r0(e??""),{Link:i}=xn(),[l,c]=g.useState(!1),{data:u}=Vq(e??"",r[0]??""),{data:d}=Vq(e??"",r[1]??"");return a&&xs(a)?o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})}):a&&Ss(a)?o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})}):!e||r.length<2?o.jsx(fs,{children:o.jsx(Oy,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two items to compare."})})})}):o.jsxs(fs,{children:[o.jsx($y,{owner:"dataset-items-compare",children:o.jsxs(le,{as:ni,to:`/datasets/${e}`,variant:"outline",children:[o.jsx(Rc,{}),"Back to Dataset"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:X("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":l}),children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(n1,{}),"Compare Dataset Items"]}),o.jsx(ha.Description,{children:o.jsxs(Oo,{children:["Comparing ",r.length," items of"," ",o.jsx(ni,{to:`/datasets/${e}`,className:"text-info1 hover:underline",children:s?.name||e?.slice(0,8)})]})})]}),o.jsx(ha.Column,{children:o.jsx(Mr,{children:o.jsx(le,{variant:"primary",onClick:()=>c(f=>!f),children:l?o.jsxs(o.Fragment,{children:[o.jsx(jxe,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(eGt,{})," Diff View"]})})})})]}),o.jsx(cy,{className:"grid-cols-[1fr_3vw_1fr]",children:r.map((f,p)=>o.jsxs(g.Fragment,{children:[o.jsx(dps,{datasetId:e,itemId:f,Link:i,idx:p,itemIds:r,showContent:!l,onItemChange:h=>{const m=[...r];m[p]=h,n({items:m.join(",")})}}),p==0&&o.jsx("div",{className:X("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},f))}),l&&u&&d&&o.jsx(MTe,{codeA:iet(u),codeB:iet(d)})]})})]})}function dps({datasetId:e,itemId:t,Link:n,idx:r,itemIds:s,onItemChange:a,showContent:i=!0}){const{data:l,isLoading:c}=Vq(e,t),{data:u}=F1(e),d=new Set(s.filter((p,h)=>h!==r)),f=(u??[]).map(p=>({value:p.id,label:p.id,disabled:d.has(p.id)}));return o.jsxs(Yr,{children:[o.jsxs(Yr.Toolbar,{className:"flex gap-4",children:[o.jsxs(ma,{name:`compare-item-${r}`,value:t,onValueChange:a,children:[o.jsx(va,{"aria-label":"Item",children:o.jsx(ga,{placeholder:"Select item"})}),o.jsx(ya,{children:f.map(p=>o.jsx(Rr,{value:p.value,disabled:p.disabled,children:p.label},p.value))})]}),o.jsxs(le,{as:n,to:`/datasets/${e}/items/${t}`,children:[o.jsx(x_,{}),"Versions"]})]}),i&&o.jsx(Yr.Content,{children:c?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):l?o.jsxs(o.Fragment,{children:[o.jsx(kfs,{item:l}),o.jsx(gAe,{item:l,Link:n})]}):o.jsxs("div",{className:"text-neutral4 text-sm",children:["Item ",t.slice(0,8)," not found"]})})]})}function oet(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function fps(){const{datasetId:e,itemId:t}=Sr(),[n,r]=si(),[s,a]=g.useState(!1),i=n.get("ids")?.split(",").map(Number).filter(h=>!isNaN(h)&&h>0)??[],{data:l,error:c}=r0(e??""),{Link:u}=xn(),{data:d}=fAe(e??"",t??""),{data:f}=uxe(e??"",t??"",i[0]??0,l?.version),{data:p}=uxe(e??"",t??"",i[1]??0,l?.version);return c&&xs(c)?o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})}):c&&Ss(c)?o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})}):!e||!t||i.length<2?o.jsx(fs,{children:o.jsx(Oy,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two versions to compare."})})})}):o.jsxs(fs,{children:[o.jsx($y,{owner:"dataset-item-versions-compare",children:o.jsxs(le,{as:ni,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx(Rc,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:X("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":s}),children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(n1,{}),"Compare Dataset Item Versions"]}),o.jsx(ha.Description,{children:o.jsxs(Oo,{children:["Comparing ",i.length," versions of"," ",o.jsx(ni,{to:`/datasets/${e}/items/${t}`,className:"text-info1 hover:underline",children:t})]})})]}),o.jsx(ha.Column,{children:o.jsx(Mr,{children:o.jsx(le,{variant:"primary",onClick:()=>a(h=>!h),children:s?o.jsxs(o.Fragment,{children:[o.jsx(jxe,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(FGt,{})," Diff View"]})})})})]}),o.jsx(cy,{className:"grid-cols-[1fr_3vw_1fr]",children:i.map((h,m)=>o.jsxs(g.Fragment,{children:[o.jsx(pps,{datasetId:e,itemId:t,datasetVersion:h,latestVersion:l?.version,allVersions:d??[],versionNumbers:i,Link:u,idx:m,showContent:!s,onVersionChange:v=>{const y=[...i];y[m]=v,r({ids:y.join(",")})}}),m===0&&o.jsx("div",{className:X("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),s&&f&&p&&o.jsx(MTe,{codeA:oet(f),codeB:oet(p)})]})})]})}function pps({datasetId:e,itemId:t,datasetVersion:n,latestVersion:r,allVersions:s,versionNumbers:a,Link:i,idx:l,showContent:c=!0,onVersionChange:u}){const{data:d,isLoading:f}=uxe(e,t,n,r),p=new Set(a.filter((v,y)=>y!==l)),h=s.map(v=>{const y=typeof v.updatedAt=="string"?new Date(v.updatedAt):v.updatedAt;return{value:String(v.datasetVersion),label:o.jsxs(o.Fragment,{children:[o.jsxs("b",{children:["v. ",v.datasetVersion]})," - ",rr(y,"MMM d, yyyy h:mm a"),v.isLatest?o.jsx(ea,{color:"blue",size:"small",children:"Latest"}):null]}),disabled:p.has(v.datasetVersion)}}),m=d?{id:d.id,datasetId:e,datasetVersion:d.datasetVersion,input:d.input,groundTruth:d.groundTruth,metadata:d.metadata,createdAt:d.createdAt,updatedAt:d.updatedAt}:null;return o.jsxs(Yr,{children:[o.jsxs(Yr.Toolbar,{className:"grid grid-cols-[auto_1fr] gap-4",children:[o.jsx(x_,{className:"h-6 w-6 opacity-50"}),o.jsxs(ma,{name:`compare-version-${l}`,value:String(n),onValueChange:v=>u(Number(v)),children:[o.jsx(va,{"aria-label":"Version",className:"w-full",children:o.jsx(ga,{placeholder:"Select version"})}),o.jsx(ya,{children:h.map(v=>o.jsx(Rr,{value:v.value,disabled:v.disabled,children:v.label},v.value))})]})]}),c&&o.jsx(Yr.Content,{children:f?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):!d||!m?o.jsxs("div",{className:"text-neutral4 text-sm",children:["Version ",n," not found"]}):o.jsx(gAe,{item:m,Link:i})})]})}function hps(){const{datasetId:e}=Sr(),[t]=si(),n=t.get("ids")?.split(",").map(Number).filter(v=>!isNaN(v)&&v>0)??[],r=Ws(),{data:s,error:a}=r0(e??""),i=F1(e??"",void 0,n[0]??null),l=F1(e??"",void 0,n[1]??null),c=g.useMemo(()=>i.data??[],[i.data]),u=g.useMemo(()=>l.data??[],[l.data]),d=g.useMemo(()=>{const v=new Map;for(const y of[...c,...u])v.has(y.id)||v.set(y.id,{id:y.id,createdAt:new Date(y.createdAt)});return[...v.values()].sort((y,b)=>b.createdAt.getTime()-y.createdAt.getTime())},[c,u]),f=g.useMemo(()=>new Map(c.map(v=>[v.id,v])),[c]),p=g.useMemo(()=>new Map(u.map(v=>[v.id,v])),[u]);if(a&&xs(a))return o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})});if(a&&Ss(a))return o.jsx(fs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})});if(!e||n.length<2)return o.jsx(fs,{children:o.jsx(Oy,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two versions to compare."})})})});const h=(v,y,b)=>{r(`/datasets/${e}/items/${v}/versions?ids=${y?.datasetVersion??""},${b?.datasetVersion??""}`)},m=(v,y)=>{r(`/datasets/${e}/versions?ids=${v},${y}`,{replace:!0})};return o.jsx(fs,{children:o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:"mx-auto grid h-full max-w-[140rem] grid-rows-[auto_1fr] gap-6",children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(jYt,{})," Compare Dataset Versions"]}),o.jsx(ha.Description,{children:o.jsxs(Oo,{children:[o.jsx(x_,{})," Comparing ",n.length," versions of"," ",s?.name||e?.slice(0,8)]})})]}),o.jsx(ha.Column,{children:o.jsxs(le,{as:ni,to:`/datasets/${e}`,children:[o.jsx(Rc,{}),"Back to Dataset"]})})]}),o.jsx(cy,{children:o.jsxs(Yr,{children:[o.jsx(Qfs,{datasetId:e,versionA:String(n[0]),versionB:String(n[1]),onVersionChange:m}),o.jsx(Jfs,{datasetId:e,versionA:n[0],versionB:n[1],allItems:d,itemsAMap:f,itemsBMap:p,onItemClick:h})]})})]})})})}function dxe({children:e,className:t}){return o.jsx("div",{className:X("flex flex-wrap gap-8",t),children:e})}function mps(e){if(!e||e.length<2)return null;const t=[...e].sort((i,l)=>new Date(i.createdAt).getTime()-new Date(l.createdAt).getTime()),n=Math.floor(t.length/2),r=n,s=t.length-n;if(r===0)return null;const a=(s-r)/r*100;return{changePct:Math.round(a*10)/10,prevValue:String(r)}}function gps({scorers:e,datasets:t,experiments:n,avgScore:r,prevAvgScore:s,totalNeedsReview:a,isLoadingScorers:i,isLoadingDatasets:l,isLoadingExperiments:c,isLoadingScores:u,isLoadingReview:d}){const f=e?Object.keys(e).length:void 0,p=t?.length,h=n?.length,m=r!=null&&s!=null&&s!==0?{changePct:Math.round((r-s)/s*100*10)/10,prevValue:String(s)}:null,v=mps(n);return o.jsxs(o.Fragment,{children:[o.jsxs(es,{children:[o.jsx(es.Label,{children:"Total Scorers"}),i?o.jsx(es.Loading,{}):f!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(f)}),o.jsx(es.NoChange,{message:"Static count"})]}):o.jsx(es.NoData,{})]}),o.jsxs(es,{children:[o.jsx(es.Label,{children:"Total Datasets"}),l?o.jsx(es.Loading,{}):p!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(p)}),o.jsx(es.NoChange,{message:"Static count"})]}):o.jsx(es.NoData,{})]}),o.jsxs(es,{children:[o.jsx(es.Label,{children:"Avg Score"}),u?o.jsx(es.Loading,{}):r!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(r)}),m?o.jsx(es.Change,{changePct:m.changePct,prevValue:m.prevValue}):o.jsx(es.NoChange,{})]}):o.jsx(es.NoData,{})]}),o.jsxs(es,{children:[o.jsx(es.Label,{children:"Total Experiments"}),c?o.jsx(es.Loading,{}):h!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(h)}),v?o.jsx(es.Change,{changePct:v.changePct,prevValue:v.prevValue}):o.jsx(es.NoChange,{})]}):o.jsx(es.NoData,{})]}),o.jsxs(es,{children:[o.jsx(es.Label,{children:"Needs Review"}),d?o.jsx(es.Loading,{}):a!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(a)}),a>0?o.jsx(es.NoChange,{message:"items pending review"}):o.jsx(es.NoChange,{message:"All caught up"})]}):o.jsx(es.NoData,{})]})]})}const cet="minmax(9rem,1fr) 1fr auto auto auto auto auto auto auto";function vps(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}const yps={completed:"success",running:"warning",failed:"error",pending:"neutral"};function bps({experiments:e,datasets:t,reviewByExperiment:n,isLoading:r,search:s="",statusFilter:a="all",datasetFilter:i="all"}){const{paths:l,Link:c}=xn(),u=g.useMemo(()=>{const p=new Map;return t?.forEach(h=>p.set(h.id,h.name)),p},[t]),d=g.useMemo(()=>[...e].sort((p,h)=>{const m=p.createdAt?new Date(p.createdAt).getTime():0;return(h.createdAt?new Date(h.createdAt).getTime():0)-m}),[e]),f=g.useMemo(()=>{const p=s.toLowerCase();return d.filter(h=>{const m=h.datasetId?u.get(h.datasetId)??"":"",v=!p||h.id.toLowerCase().includes(p)||(h.name??"").toLowerCase().includes(p)||m.toLowerCase().includes(p)||(h.targetId??"").toLowerCase().includes(p),y=a==="all"||h.status===a,b=i==="all"||h.datasetId===i;return v&&y&&b})},[d,s,u,a,i]);return r?o.jsx(ol,{columns:cet}):o.jsxs(ge,{columns:cet,variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Experiment"}),o.jsx(ge.TopCell,{children:"Dataset"}),o.jsx(ge.TopCell,{children:"Target"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{className:"text-center",children:"Items"}),o.jsx(ge.TopCell,{className:"text-center",children:"Succeeded"}),o.jsx(ge.TopCell,{className:"text-center",children:"Failed"}),o.jsx(ge.TopCell,{className:"text-center",children:"Review"}),o.jsx(ge.TopCell,{children:"Date"})]}),f.map(p=>{const h=p.datasetId?u.get(p.datasetId)??oS(p.datasetId)??p.datasetId:"—",m=p.status??"pending",v=p.succeededCount??0,y=p.failedCount??0,b=p.totalItems??0,x=b>0?Math.round(v/b*100):0;return o.jsxs(ge.RowLink,{to:l.experimentLink(p.id),LinkComponent:c,children:[o.jsx(ge.Cell,{children:o.jsx(wUt,{experiment:p})}),o.jsx(ge.TextCell,{children:h}),o.jsx(ge.Cell,{children:o.jsxs("span",{className:"truncate",children:[p.targetType," ",p.targetId]})}),o.jsx(ge.Cell,{children:o.jsx(kg,{variant:yps[m]??"neutral",withDot:!0,children:m})}),o.jsx(ge.TextCell,{className:"text-center",children:b}),o.jsx(ge.TextCell,{className:"text-center",children:o.jsxs("span",{className:v>0?"text-accent1":"",children:[v," (",x,"%)"]})}),o.jsx(ge.TextCell,{className:"text-center",children:o.jsx("span",{className:y>0?"text-accent2":"",children:y})}),o.jsx(ge.Cell,{className:"text-center",children:(()=>{const S=n?.get(p.id);if(!S)return o.jsx("span",{className:"text-neutral2",children:"—"});const k=S.needsReview+S.complete;return k===0?o.jsx("span",{className:"text-neutral2",children:"—"}):S.needsReview>0?o.jsxs(ea,{size:"small",color:"yellow",children:[S.needsReview," pending"]}):o.jsxs(ea,{size:"small",color:"green",children:[S.complete,"/",k," reviewed"]})})()}),o.jsx(ge.TextCell,{children:vps(p.createdAt)})]},p.id)})]})}const xps=[{value:"all",label:"All statuses"},{value:"completed",label:"Completed"},{value:"running",label:"Running"},{value:"failed",label:"Failed"},{value:"pending",label:"Pending"}];function wps(e){return[{value:"all",label:"All datasets"},...(e??[]).map(t=>({value:t.id,label:t.name}))]}const Pz={completed:"#22c55e",running:"#facc15",pending:"#fb923c",failed:"#f87171"},Sps=[{label:"Completed",color:Pz.completed},{label:"Running",color:Pz.running},{label:"Pending",color:Pz.pending},{label:"Failed",color:Pz.failed}];function kps({experiments:e,datasets:t,isLoading:n,isError:r}){const{data:s,maxVal:a}=g.useMemo(()=>{if(!e||e.length===0)return{data:[],maxVal:0};const l=new Map;if(t)for(const f of t)l.set(f.id,f.name);const c=new Map;for(const f of e){const p=f.datasetId??"unknown";c.has(p)||c.set(p,{completed:0,running:0,pending:0,failed:0});const h=c.get(p),m=f.status;m in h&&h[m]++}let u=0;return{data:Array.from(c.entries()).map(([f,p])=>{const h=p.completed+p.running+p.pending+p.failed;return h>u&&(u=h),{name:l.get(f)??f.slice(0,12),values:[p.completed,p.running,p.pending,p.failed]}}),maxVal:u}},[e,t]),i=s.length>0;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Experiments by Dataset",description:"Experiment status breakdown per dataset."}),i&&o.jsx(Gt.Summary,{value:String(e?.length??0),label:"Total experiments"})]}),n?o.jsx(Gt.Loading,{}):r?o.jsx(Gt.Error,{message:"Failed to load experiments data"}):o.jsx(Gt.Content,{children:i?o.jsx(RN,{data:s,segments:Sps,maxVal:a,fmt:l=>String(l)}):o.jsx(Gt.NoData,{message:"No experiments have been run yet"})})]})}const Ops=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx($f,{}),titleSlot:"No Experiments yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Run an experiment from a dataset to evaluate ",o.jsx("br",{}),"your agents and workflows."]}),actionSlot:o.jsx("div",{className:"flex flex-col items-center gap-2",children:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/datasets/running-experiments",target:"_blank",rel:"noopener noreferrer",children:["Experiments Documentation ",o.jsx(Oa,{})]})})})});function _ps({search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:i,onReset:l,hasActiveFilters:c}){return o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsx(zf,{label:"Search experiments",placeholder:"Filter by experiment, dataset, or target",value:e,onSearch:t}),o.jsxs(Mr,{children:[o.jsx(Cc,{label:"Status",labelIsHidden:!0,name:"filter-status",options:[...xps],value:n,onValueChange:r,className:"whitespace-nowrap"}),o.jsx(Cc,{label:"Dataset",labelIsHidden:!0,name:"filter-dataset",options:i,value:s,onValueChange:a,className:"whitespace-nowrap"}),l&&c&&o.jsxs(le,{onClick:l,size:"sm",variant:"default",children:[o.jsx(ws,{className:"size-3"})," Reset"]})]})]})}function Cps(){const[e,t]=g.useState("all"),[n,r]=g.useState({}),{data:s,isLoading:a,error:i}=uh(),{data:l,isLoading:c,error:u}=Vg(),{data:d,isLoading:f,error:p}=xQ(),{data:h,isLoading:m,isError:v,error:y}=Xns(n),{data:b,isLoading:x,isError:S,error:k}=bAe(),C=l?.datasets,_=d?.experiments,E=g.useMemo(()=>rps(b),[b]),T=i||u||p||y||k;return T&&xs(T)?o.jsx(cr,{children:o.jsx(Zs,{})}):T&&Ss(T)?o.jsx(cr,{children:o.jsx($s,{resource:"evaluation"})}):T?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load evaluation data",message:T.message})}):o.jsxs(Vt,{width:"wide",height:"full",children:[o.jsx(Vt.TopArea,{children:o.jsx(Vt.Row,{children:o.jsx(Vt.Column,{children:o.jsx(p4,{preset:e,onPresetChange:t,dateFrom:n.start,dateTo:n.end,onDateChange:(N,I)=>r(A=>I==="from"?{...A,start:N}:{...A,end:N})})})})}),o.jsxs("div",{className:"flex flex-col gap-6",children:[o.jsx(dxe,{children:o.jsx(gps,{scorers:s,datasets:C,experiments:_,avgScore:h?.avgScore??null,prevAvgScore:h?.prevAvgScore??null,totalNeedsReview:E.needsReview,isLoadingScorers:a,isLoadingDatasets:c,isLoadingExperiments:f,isLoadingScores:m,isLoadingReview:x})}),o.jsx(lns,{summaryData:h?.summaryData??[],overTimeData:h?.overTimeData??[],scorerNames:h?.scorerNames??[],avgScore:h?.avgScore??null,isLoading:m,isError:v}),o.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-2",children:[o.jsx(sds,{experiments:_,isLoading:f,isError:!!p}),o.jsx(kps,{experiments:_,datasets:C,isLoading:f,isError:!!p})]}),o.jsx(tps,{reviewSummary:b,experiments:_,datasets:C,isLoading:x,isError:!!S})]})]})}function Eps(){const[e,t]=g.useState(""),[n,r]=g.useState("all"),[s,a]=g.useState("all"),{data:i,isLoading:l,error:c}=Vg(),{data:u,isLoading:d,error:f}=xQ(),{data:p}=bAe(),h=g.useMemo(()=>i?.datasets??[],[i?.datasets]),m=g.useMemo(()=>u?.experiments??[],[u?.experiments]),v=g.useMemo(()=>wps(h),[h]),y=g.useMemo(()=>CUt(p),[p]),b=l||d,x=f||c;if(x&&xs(x))return o.jsx(cr,{children:o.jsx(Zs,{})});if(f&&Ss(f))return o.jsx(cr,{children:o.jsx($s,{resource:"experiments"})});if(c&&Ss(c))return o.jsx(cr,{children:o.jsx($s,{resource:"datasets"})});if(x)return o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load experiments",message:x.message})});if(m.length===0&&!b)return o.jsx(cr,{children:o.jsx(Ops,{})});const S=n!=="all"||s!=="all"||e!=="",k=()=>{t(""),r("all"),a("all")};return o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsx(_ps,{search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:v,onReset:k,hasActiveFilters:S})}),o.jsx(bps,{experiments:m,datasets:h,reviewByExperiment:y,isLoading:b,search:e,statusFilter:n,datasetFilter:s})]})}function $z({children:e}){return o.jsxs(Vt,{height:"full",children:[o.jsx("div",{}),o.jsx(Vt.MainArea,{isCentered:!0,children:e})]})}function Tps(){const{experimentId:e}=Sr(),{data:t,isLoading:n}=xQ(),s=t?.experiments?.find(h=>h.id===e)?.datasetId??"",{data:a,isLoading:i,error:l}=qq(s,e??""),{data:c,isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p}=rQ({datasetId:s,experimentId:e??"",experimentStatus:a?.status});return!e||n||i?null:l&&xs(l)?o.jsx($z,{children:o.jsx(Zs,{})}):l&&Ss(l)?o.jsx($z,{children:o.jsx($s,{resource:"datasets"})}):l&&vEe(l)||!n&&!s||!i&&!l&&!a?o.jsx($z,{children:o.jsx(Lr,{iconSlot:o.jsx(Txe,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${e}".`,actionSlot:o.jsxs(le,{as:ni,to:"/experiments",children:[o.jsx(Rc,{}),"Back to Experiments"]})})}):l?o.jsx($z,{children:o.jsx(Hi,{title:"Failed to load experiment",message:l instanceof Error?l.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Vt,{height:"full",children:[o.jsx(EUt,{experiment:a}),o.jsx(Vt.MainArea,{children:o.jsx(_Ut,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p})})]})}function jps({connection:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsxs("li",{className:"flex items-center justify-between border-b py-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-mono text-xs",children:e.connectionId}),o.jsxs("div",{className:"text-xs text-gray-500",children:[e.label??"(no label)"," · ",e.status,e.scope?` · ${e.scope}`:"",t&&e.authorId?` · author: ${e.authorId}`:""]})]}),o.jsx("button",{type:"button",className:"text-red-600 underline disabled:opacity-50",onClick:r,disabled:n,children:"Disconnect"})]})}function TUt({connections:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("ul",{className:"space-y-1",children:e.map(s=>o.jsx(jps,{connection:s,isAdmin:t,disconnectPending:n,onDisconnect:()=>r(s.connectionId)},s.connectionId))})}function Nps({groups:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("div",{className:"space-y-4",children:e.map(([s,a])=>o.jsxs("div",{children:[o.jsx("h3",{className:"text-sm font-semibold text-gray-700","data-testid":`integration-author-group-${s}`,children:s==="shared"?"Shared":`Owned by ${s}`}),o.jsx(TUt,{connections:a,isAdmin:t,disconnectPending:n,onDisconnect:r})]},s))})}function Ips({providerId:e,toolkit:t,connections:n,groupedByAuthor:r,isAdmin:s,isLoading:a,error:i,disconnectPending:l,disconnectError:c,onDisconnect:u}){return o.jsxs("div",{className:"space-y-2 border rounded p-4",children:[o.jsx("h2",{className:"text-lg font-semibold",children:"Existing connections"}),!e||!t?o.jsx("p",{className:"text-gray-500",children:"Pick a provider and toolkit to list connections."}):a?o.jsx("p",{className:"text-gray-500",children:"Loading…"}):i?o.jsx("p",{className:"text-red-600",children:String(i)}):n.length===0?o.jsx("p",{className:"text-gray-500",children:"No connections."}):r?o.jsx(Nps,{groups:r,isAdmin:s,disconnectPending:l,onDisconnect:u}):o.jsx(TUt,{connections:n,isAdmin:s,disconnectPending:l,onDisconnect:u}),c?o.jsx("p",{className:"text-red-600",children:String(c)}):null]})}function Aps({providers:e,toolkits:t,providerId:n,toolkit:r,label:s,providersLoading:a,providersError:i,toolkitsLoading:l,toolkitsError:c,authorizePending:u,authorizeError:d,authorizedConnection:f,onProviderChange:p,onToolkitChange:h,onLabelChange:m,onConnect:v}){return o.jsxs("div",{className:"space-y-4 border rounded p-4",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"provider-select",children:"Provider"}),o.jsxs("select",{id:"provider-select",className:"border rounded px-2 py-1 w-full",value:n,onChange:y=>p(y.target.value),disabled:a,children:[o.jsx("option",{value:"",children:"— select provider —"}),e.map(y=>o.jsxs("option",{value:y.id,children:[y.displayName??y.name," (",y.id,")"]},y.id))]}),a&&o.jsx("span",{className:"text-gray-500",children:"Loading providers…"}),i?o.jsx("span",{className:"text-red-600",children:String(i)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"toolkit-select",children:"Toolkit"}),o.jsxs("select",{id:"toolkit-select",className:"border rounded px-2 py-1 w-full",value:r,onChange:y=>h(y.target.value),disabled:!n||l,children:[o.jsx("option",{value:"",children:"— select toolkit —"}),t.map(y=>o.jsxs("option",{value:y.slug,children:[y.name," (",y.slug,")"]},y.slug))]}),l&&o.jsx("span",{className:"text-gray-500",children:"Loading toolkits…"}),c?o.jsx("span",{className:"text-red-600",children:String(c)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"label-input",children:"Label (optional)"}),o.jsx("input",{id:"label-input",type:"text",className:"border rounded px-2 py-1 w-full",placeholder:"My personal Gmail",value:s,onChange:y=>m(y.target.value),disabled:!n||!r})]}),o.jsx("button",{type:"button",className:"bg-blue-600 text-white rounded px-4 py-2 disabled:opacity-50",onClick:v,disabled:!n||!r||u,children:u?"Authorizing…":"Connect"}),d?o.jsx("p",{className:"text-red-600",children:String(d)}):null,f&&o.jsxs("p",{className:"text-green-700",children:["Authorized: ",f.connectionId," (status: ",f.status,")"]})]})}const uet=e=>e.authorId?.trim()||"shared",Rps=(e,t)=>{if(!t||new Set(e.map(uet)).size<=1)return null;const r=new Map;for(const a of e){const i=uet(a);r.set(i,[...r.get(i)??[],a])}const s=Array.from(r.entries());return s.sort(([a],[i])=>a==="shared"?1:i==="shared"?-1:a.localeCompare(i)),s},Pps=["*","tool-providers:*","tool-providers:admin"];function $ps(){const{data:e}=Nm();return e?.permissions?.some(t=>Pps.includes(t))??!1}function Mps(){const[e,t]=g.useState(""),[n,r]=g.useState(""),[s,a]=g.useState(""),i=BI(),l=CZ(e||null),c=GMt(e||null,n||null),u=ZMt(),d=VMt(),f=$ps(),p=i.data?.providers??[],h=l.data?.data??[],m=g.useMemo(()=>c.data?.items??[],[c.data?.items]),v=g.useMemo(()=>Rps(m,f),[m,f]),y=S=>{t(S),r("")},b=()=>{!e||!n||u.mutate({providerId:e,toolkit:n,label:s.trim()||null},{onSuccess:()=>{a(""),c.refetch()}})},x=S=>{d.mutate({providerId:e,connectionId:S})};return o.jsxs("div",{className:"p-6 max-w-3xl space-y-6 text-sm",children:[o.jsx("h1",{className:"text-2xl font-semibold",children:"Integrations"}),o.jsx("p",{className:"text-gray-500",children:"Minimal page to verify the ToolProvider backend. Pick a provider and toolkit, then connect."}),o.jsx(Aps,{providers:p,toolkits:h,providerId:e,toolkit:n,label:s,providersLoading:i.isLoading,providersError:i.error,toolkitsLoading:l.isLoading,toolkitsError:l.error,authorizePending:u.isPending,authorizeError:u.error,authorizedConnection:u.data,onProviderChange:y,onToolkitChange:r,onLabelChange:a,onConnect:b}),o.jsx(Ips,{providerId:e,toolkit:n,connections:m,groupedByAuthor:v,isAdmin:f,isLoading:c.isLoading,error:c.error,disconnectPending:d.isPending,disconnectError:d.error,onDisconnect:x})]})}function Dps({title:e,description:t,errorBanner:n,children:r}){return o.jsx("div",{"data-testid":"login-page",className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsxs("div",{className:"w-full max-w-sm space-y-6",children:[o.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[o.jsx(rm,{className:"h-10 w-10"}),o.jsx("h1",{className:"text-neutral6 text-xl font-semibold",children:e})]}),t,n,r]})})}function jUt({redirectUri:e,onSuccess:t,initialMode:n="signin",errorMessage:r}){const{data:s,isLoading:a}=oc(),{mutate:i,isPending:l,error:c}=DIr(),{mutate:u,isPending:d,error:f}=FIr(),{mutate:p,isPending:h}=e$t(),[m,v]=g.useState(n),[y,b]=g.useState(""),[x,S]=g.useState(""),[k,C]=g.useState("");if(a)return o.jsx("div",{className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsx("div",{className:"text-neutral3",children:"Loading..."})});if(!s?.enabled||!s?.login)return o.jsx("div",{className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsx("div",{className:"text-neutral3",children:"Authentication is not configured"})});const{login:_}=s,E=_.type==="sso"||_.type==="both",T=_.type==="credentials"||_.type==="both",N=_.sso,I=_.signUpEnabled!==!1,A=m==="signin"||!I,R=A?l:d,L=A?c:f,D=()=>{t?t():e?window.location.href=e:window.location.href=aQ("/")},F=M=>{M.preventDefault(),A?i({email:x,password:k},{onSuccess:D}):u({email:x,password:k,name:y||void 0},{onSuccess:D})},H=()=>{p({redirectUri:e},{onSuccess:M=>{window.location.href=M.url}})},B=()=>{v(A?"signup":"signin")},U=_.description?o.jsxs("div",{className:"border-border1 bg-surface1 flex items-start gap-2.5 rounded-md border p-3",children:[o.jsx(Nf,{className:"text-neutral4 mt-0.5 h-4 w-4 shrink-0"}),o.jsx("p",{className:"text-neutral3 text-sm",children:_.description})]}):null,q=r?o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:r}):null;return o.jsxs(Dps,{title:A?"Sign in to Mastra Studio":"Create your account",description:U,errorBanner:q,children:[T&&o.jsxs("form",{onSubmit:F,className:"space-y-4",children:[!A&&o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"name",className:"text-neutral4 block text-sm",children:"Name"}),o.jsx(En,{id:"name",type:"text",value:y,onChange:M=>b(M.target.value),placeholder:"Your name",variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"email",className:"text-neutral4 block text-sm",children:"Email"}),o.jsx(En,{id:"email",type:"email",value:x,onChange:M=>S(M.target.value),placeholder:"you@example.com",required:!0,variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"password",className:"text-neutral4 block text-sm",children:"Password"}),o.jsx(En,{id:"password",type:"password",value:k,onChange:M=>C(M.target.value),placeholder:A?"Enter your password":"Create a password",required:!0,variant:"default",size:"lg"})]}),L&&o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:L.message}),o.jsx(le,{type:"submit",disabled:R,className:"w-full",size:"lg",children:R?A?"Signing in...":"Creating account...":A?"Sign in":"Create account"}),I&&o.jsxs("div",{className:"text-center text-sm",children:[o.jsx("span",{className:"text-neutral3",children:A?"Don't have an account? ":"Already have an account? "}),o.jsx("button",{type:"button",onClick:B,className:"text-neutral6 hover:underline",children:A?"Sign up":"Sign in"})]})]}),E&&T&&o.jsxs("div",{className:"relative",children:[o.jsx("div",{className:"absolute inset-0 flex items-center",children:o.jsx("div",{className:"border-border1 w-full border-t"})}),o.jsx("div",{className:"relative flex justify-center text-sm",children:o.jsx("span",{className:"bg-surface1 text-neutral3 px-2",children:"or continue with"})})]}),E&&N&&o.jsxs(le,{onClick:H,disabled:h,className:"w-full",size:"lg",variant:"outline",children:[N.icon&&o.jsx("span",{className:"mr-2",children:N.icon}),h?"Redirecting...":N.text||"Sign in"]})]})}function Lps(){const[e]=si(),t=Ws(),n=e.get("redirect")||"/",s=e.get("mode")==="signup"?"signup":"signin",a=e.get("error_description")||e.get("error")||null,i=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(jUt,{redirectUri:n,onSuccess:i,initialMode:s,errorMessage:a})}function Fps({collapsed:e,children:t}){return o.jsx("section",{className:X("flex flex-col overflow-hidden rounded-xl border border-border1 bg-surface2",e?"h-auto":"h-full"),children:t})}function zps({onClick:e,tooltip:t="Close panel",className:n}){return o.jsx(le,{size:"md",onClick:e,"aria-label":"Close Panel",tooltip:t,className:n,children:o.jsx(fu,{})})}function Bps(){return fI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"#939393",background:"transparent"},styles:[{tag:[he.className,he.propertyName]}]})}function Ups(){const e=At.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.75rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-activeLineGutter":{backgroundColor:"transparent"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"}}),t=Hg.define([{tag:[he.comment,he.bracket],color:"var(--neutral2)"},{tag:[he.string,he.meta,he.regexp],color:"var(--accent1)"},{tag:[he.atom,he.bool,he.special(he.variableName)],color:"var(--accent6)"},{tag:[he.keyword,he.operator,he.tagName],color:"var(--accent2)"},{tag:[he.function(he.propertyName),he.propertyName],color:"var(--accent5)"},{tag:[he.definition(he.variableName),he.function(he.variableName),he.className,he.attributeName],color:"var(--accent3)"},{tag:[he.variableName,he.number],color:"var(--accent5)"},{tag:[he.name,he.quote],color:"var(--accent1)"}]);return[e,J1(t)]}const qps=()=>{const e=q_().resolvedTheme==="dark";return g.useMemo(()=>e?Bps():Ups(),[e])};function Vps({codeStr:e="",title:t,icon:n,simplified:r=!1,className:s}){const a=qps(),[i,l]=g.useState(!1),c=g.useMemo(()=>{try{const f=JSON.parse(e);return fxe(f||"")}catch{return!1}},[e]),u=i?e?.replace(/\\n/g,`
|
|
641
641
|
`):e,d=r||i;return!e||e==="null"?null:o.jsxs("div",{className:X("flex flex-col gap-2",s),children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsxs("div",{className:X("flex items-center gap-1.5 text-ui-xs tracking-widest text-neutral2 uppercase","[&>svg]:size-3.5"),children:[n,t]}),o.jsxs(Mr,{children:[o.jsx(za,{content:e||"No content",size:"sm"}),c&&o.jsx(le,{size:"sm","aria-label":i?"Show escaped newlines":"Show multiline text",onClick:()=>l(f=>!f),children:i?o.jsx(L$,{}):o.jsx(C7,{})})]})]}),o.jsx("div",{className:"border-border1 bg-surface3 text-ui-sm text-neutral4 max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg border p-3 break-all dark:border-white/10 dark:bg-black/20",children:d?o.jsx("div",{className:"text-neutral4 font-mono break-all",children:o.jsx("pre",{className:"text-wrap",children:u})}):o.jsx(Yu,{extensions:[Lj(),At.lineWrapping],theme:a,value:e,editable:!1})})]})}function fxe(e){if(typeof e=="string"){const t=e.indexOf(`
|
|
642
|
-
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>fxe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>fxe(t))}return!1}function Hps({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function Wps({className:e,children:t}){return o.jsx("div",{className:X("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function Zps({className:e,children:t}){return o.jsx("h3",{className:X("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function Gps({className:e,children:t}){return o.jsx("dl",{className:X("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function Qps({className:e,children:t}){return o.jsx("dt",{className:X("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function Yps({className:e,children:t}){return o.jsx("dd",{className:X("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function Kps({className:e,children:t}){return o.jsx("dt",{className:X("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const Xps=Object.assign(Gps,{Key:Qps,Value:Yps,Header:Kps});function Jps({children:e}){return o.jsxs("div",{className:"text-ui-sm text-neutral3 flex items-center justify-center gap-2 px-4 py-6",children:[o.jsx(Jt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function ehs({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const Bi=Object.assign(Fps,{Header:Wps,Heading:Zps,CloseButton:zps,LoadingData:Jps,NoData:ehs,Content:Hps,KeyValueList:Xps,CodeSection:Vps}),fp=Bi.KeyValueList;function ths(e){return e instanceof Date?e:new Date(e)}function nhs({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=g.useState(!1),d=i??c,f=l??u,p=ths(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(Bi,{collapsed:d,children:[o.jsxs(Bi.Header,{children:[o.jsxs(Bi.Heading,{children:["Log ",o.jsx("b",{children:rr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[l&&o.jsx(le,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(iH,{}):o.jsx(p1e,{})}),o.jsxs(Mr,{spacing:"close",children:[o.jsx(le,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(sH,{})}),o.jsx(le,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(l3,{})})]}),o.jsx(Bi.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(Bi.Content,{children:[o.jsx("p",{className:"text-ui-md text-neutral4 font-mono wrap-break-word whitespace-pre-wrap",children:e.message}),(h||m)&&o.jsxs("div",{className:X("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(le,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(E7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(za,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(le,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(E7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(za,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(fp,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Entity Type"}),o.jsx(fp.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Entity Name"}),o.jsx(fp.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Service"}),o.jsx(fp.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Environment"}),o.jsx(fp.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Source"}),o.jsx(fp.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([v,y])=>o.jsxs(g.Fragment,{children:[o.jsx(fp.Key,{children:v}),o.jsx(fp.Value,{children:String(y)})]},v))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(Bi.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function rhs({error:e,resource:t,errorTitle:n}){if(xs(e))return o.jsx(Zs,{});if(Ss(e))return o.jsx($s,{resource:t});if(g4(e))return o.jsx(Lr,{iconSlot:o.jsx(T7,{}),titleSlot:"Observability storage is not available",descriptionSlot:"The observability storage domain is disabled or not configured. Enable it in your storage configuration to view logs in Studio."});if(m4(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx(T7,{}),titleSlot:"Logs are not available with your current storage",descriptionSlot:"The configured observability storage provider does not support listing logs. Switch to a storage provider with logs support to view runtime logs in Studio."});const r=e instanceof Error?e.message:void 0;return o.jsx(Hi,{title:n,message:r??"Unknown error"})}function shs({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:X("grid h-full min-h-0 items-start gap-4",a?"grid-cols-[1fr_1fr]":"grid-cols-[1fr]"),children:[e,a&&o.jsxs("div",{className:X("grid h-full gap-4 overflow-auto",n&&r?s?"grid-rows-[auto_1fr_1fr]":"grid-rows-[1fr_1fr_1fr]":n?s?"grid-rows-[auto_1fr]":"grid-rows-[1fr_1fr]":s?"grid-rows-[auto]":"grid-rows-[1fr]"),children:[t,n,r]})]})}const ahs={debug:{label:"DEBUG",color:"#71717a"},info:{label:"INFO",color:"#60a5fa"},warn:{label:"WARN",color:"#facc15"},error:{label:"ERROR",color:"#f87171"},fatal:{label:"FATAL",color:"#dc2626"}};function ihs({level:e}){const t=ahs[e];return o.jsx(jo,{height:"compact",children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function ohs({entityType:e,className:t}){const n=X("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(qo,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(td,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Bd,{className:n,"aria-hidden":!0});default:return null}}function lhs({entityType:e,entityName:t}){const n=e??"";return o.jsxs(jo,{height:"compact",className:"flex min-w-0 items-center gap-2",children:[o.jsx(ohs,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function chs({message:e}){return o.jsx(jo,{height:"compact",className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function uhs({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(jo,{height:"compact",children:null});const t=Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${n}: ${r}`;try{return`${n}: ${JSON.stringify(r)}`}catch{return`${n}: <unserializable>`}}).join(", ");return o.jsx(cTe,{children:t})}const Gl=Object.assign(_4,{Top:RZ,TopCell:lC,TopCellWithTooltip:PZ,TopCellSmart:$Dt,RowWrapper:pTe,RowButton:C4,RowLink:PDt,Spacer:hTe,NoMatch:AZ,DateCell:uTe,TimeCell:dTe,LevelCell:ihs,EntityCell:lhs,MessageCell:chs,DataCell:uhs,NextPageLoading:IZ}),det="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",dhs=36,fhs=8;function phs({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=g.useRef(null),u=lUt({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>dhs,overscan:fhs}),d=g.useRef(t);if(g.useEffect(()=>{d.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),d.current=t},[t]),t)return o.jsx(ol,{columns:det});const f=u.getVirtualItems(),p=u.getTotalSize(),h=f[0]?.start??0,m=f.length>0?Math.max(0,p-(f[f.length-1]?.end??0)):0;return o.jsxs(Gl,{columns:det,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(Gl.Top,{children:[o.jsx(Gl.TopCell,{children:"Date"}),o.jsx(Gl.TopCell,{children:"Time"}),o.jsx(Gl.TopCell,{children:"Level"}),o.jsx(Gl.TopCell,{children:"Entity"}),o.jsx(Gl.TopCell,{children:"Message"}),o.jsx(Gl.TopCell,{children:"Data"})]}),e.length===0?o.jsx(Gl.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(Gl.Spacer,{height:h}),f.map(v=>{const y=e[v.index];if(!y)return null;const b=a.get(y);if(!b)return null;const x=b===i;return o.jsxs(Gl.RowButton,{ref:u.measureElement,"data-index":v.index,onClick:()=>l(y),featured:x,variant:y.level==="error"||y.level==="fatal"?"error":"default",children:[o.jsx(Gl.DateCell,{timestamp:y.timestamp}),o.jsx(Gl.TimeCell,{timestamp:y.timestamp}),o.jsx(Gl.LevelCell,{level:y.level}),o.jsx(Gl.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(Gl.MessageCell,{message:y.message}),o.jsx(Gl.DataCell,{data:y.data})]},b)}),o.jsx(Gl.Spacer,{height:m})]}),o.jsx(Gl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function hhs({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>mhs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(YIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(GIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function mhs(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}const ghs={"last-24h":"the last 24 hours","last-3d":"the last 3 days","last-7d":"the last 7 days","last-14d":"the last 14 days","last-30d":"the last 30 days"},lie="MMM d, yyyy HH:mm",cie="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function vhs({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${ghs[e]}`,description:cie}:t&&n?{title:`No logs between ${rr(t,lie)} and ${rr(n,lie)}`,description:cie}:t?{title:`No logs since ${rr(t,lie)}`,description:cie}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const yhs=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=vhs({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(T7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(h1e,{})]})})})},bhs=20,xhs=1e4;function whs(e,t,n){if(e?.pagination?.hasMore)return n+1}function Shs(e){const t=new Set,n=[];for(const r of e.pages)for(const s of r.logs??[]){const a=s.logId??JSON.stringify(s);t.has(a)||(t.add(a),n.push(s))}return n}function khs(e){return m4(e.state.error,"logs")||g4(e.state.error)?!1:xhs}const Ohs=({filters:e}={})=>{const t=Ge(),{inView:n,setRef:r}=G_(),s=Z1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:bhs},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:whs,select:Shs,retry:!1,refetchInterval:khs}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return g.useEffect(()=>{n&&a&&!i&&l()},[n,a,i,l]),{data:c,hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,isLoading:u,isError:d,error:f,setEndOfListElement:r}},Mz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},NUt=[{label:"Agent",entityType:Mz.AGENT},{label:"Workflow",entityType:Mz.WORKFLOW},{label:"Scorer",entityType:Mz.SCORER},{label:"Ingest",entityType:Mz.INGEST}],_hs=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],Gx="rootEntityType",Kb="datePreset",Xb="dateFrom",Jb="dateTo",Chs=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),Nl={level:"filterLevel",tags:"filterTags",entityName:"filterEntityName",traceId:"filterTraceId",spanId:"filterSpanId",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId"},kL=Object.keys(Nl),xAe=new Set(["tags"]),wAe="mastra:logs:saved-filters";function Ehs(e,t=wAe){const n=Ahs(e),r=e.get(Kb);r&&n.set(Kb,r);const s=e.get(Xb);s&&n.set(Xb,s);const a=e.get(Jb);a&&n.set(Jb,a);try{localStorage.setItem(t,n.toString())}catch{}}function Ths(e=wAe){try{localStorage.removeItem(e)}catch{}}function fet(e=wAe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function jhs(e){if(e.has(Kb)||e.has(Xb)||e.has(Jb)||e.has(Gx))return!0;for(const t of kL)if(e.has(Nl[t]))return!0;return!1}function Nhs({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:NUt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"level",label:"Level",kind:"pick-multi",searchable:!1,options:_hs.map(u=>({label:u.label,value:u.value})),placeholder:"Choose level",emptyText:"No levels."},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"traceId",label:"Trace ID",kind:"text"},{id:"spanId",label:"Span ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"threadId",label:"Thread ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function Ihs(e){const t=[],n=new Map([[Gx,"rootEntityType"]]);for(const s of kL)n.set(Nl[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),xAe.has(a)){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function Ahs(e){const t=new URLSearchParams,n=e.get(Gx);n&&t.set(Gx,n);for(const r of kL){const s=Nl[r];if(xAe.has(r)){for(const i of e.getAll(s))t.append(s,i);continue}const a=e.get(s);a&&t.set(s,a)}return t}function Rhs(e,t){e.delete(Gx);for(const n of kL)e.delete(Nl[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(Gx,n.value);continue}const r=Nl[n.fieldId];if(r){if(xAe.has(n.fieldId)&&Array.isArray(n.value)){if(n.value.length===0)e.append(r,"");else for(const s of n.value)e.append(r,s);continue}typeof n.value=="string"&&e.set(r,n.value.trim())}}}function Phs({rootEntityType:e,dateFrom:t,dateTo:n,tokens:r}){const s={};e&&(s.rootEntityType=e),(t||n)&&(s.timestamp={...t?{start:t}:{},...n?{end:n}:{}});for(const a of r){if(a.fieldId==="tags"){Array.isArray(a.value)&&a.value.length>0?s.tags=a.value:typeof a.value=="string"&&a.value.trim()&&(s.tags=[a.value.trim()]);continue}if(a.fieldId==="level"){typeof a.value=="string"&&a.value.trim()&&a.value!=="Any"&&(s.level=a.value);continue}if(typeof a.value=="string"&&a.value.trim()&&a.value!=="Any")switch(a.fieldId){case"entityName":s.rootEntityName=a.value;break;case"traceId":s.traceId=a.value;break;case"spanId":s.spanId=a.value;break;case"runId":s.runId=a.value;break;case"threadId":s.threadId=a.value;break;case"sessionId":s.sessionId=a.value;break;case"requestId":s.requestId=a.value;break;case"resourceId":s.resourceId=a.value;break;case"userId":s.userId=a.value;break;case"organizationId":s.organizationId=a.value;break;case"serviceName":s.serviceName=a.value;break;case"environment":s.environment=a.value;break;case"experimentId":s.experimentId=a.value;break}}return s}function $hs(e,t){return t.map(n=>{const r=e.find(s=>s.id===n.fieldId);return r?r.kind==="text"?{fieldId:n.fieldId,value:""}:r.kind==="pick-multi"?r.multi?{fieldId:n.fieldId,value:[]}:{fieldId:n.fieldId,value:"Any"}:n:n})}const Mhs="Filters setting for Logs saved",Dhs="Filters setting for Logs cleared up";function Lhs(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=g.useState(()=>fet(r)!==null),c=g.useCallback(()=>{Ehs(e,r),l(!0);const f=s?.saved??Mhs;f!==!1&&Fe.success(f)},[e,r,s?.saved]),u=g.useCallback(()=>{Ths(r),l(!1);const f=s?.cleared??Dhs;f!==!1&&Fe.success(f)},[r,s?.cleared]),d=g.useRef(!1);return g.useEffect(()=>{if(a||d.current||(d.current=!0,jhs(e)))return;const f=fet(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,v]of f)h.append(m,v);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Fhs(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}function zhs(e){const t=new Map;for(const n of e){if(n.logId){t.set(n,n.logId);continue}const r=n.timestamp instanceof Date?n.timestamp.toISOString():n.timestamp;t.set(n,Fhs(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Bhs(e,t,n,r){const s=g.useMemo(()=>zhs(e),[e]),a=g.useMemo(()=>{const h=new Map;for(const[m,v]of e.entries()){const y=s.get(v);y&&h.set(y,{log:v,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=g.useCallback(h=>s.get(h),[s]),d=g.useCallback(h=>{const m=s.get(h);if(m){if(t===m){n({logId:null});return}n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}},[s,t,r,n]),f=l>0?()=>{const h=e[l-1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0,p=l>=0&&l<e.length-1?()=>{const h=e[l+1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0;return{logIdMap:s,getLogId:u,featuredLog:c,handleLogClick:d,handlePreviousLog:f,handleNextLog:p}}const pxe="logId",hxe="traceId",mxe="spanId",hP=1440*60*1e3,Uhs={"last-24h":hP,"last-3d":3*hP,"last-7d":7*hP,"last-14d":14*hP,"last-30d":30*hP};function Dz(e){e.delete(pxe),e.delete(hxe),e.delete(mxe)}function qhs(e,t,n){const{onRemoveAll:r}={},s=g.useMemo(()=>{const C=e.get(Kb);return C&&Chs.has(C)?C:"last-24h"},[e]),a=e.get(Xb),i=e.get(Jb),l=g.useMemo(()=>{if(s==="custom"){if(!a)return;const _=new Date(a);return Number.isNaN(_.getTime())?void 0:_}if(s==="all")return;const C=Uhs[s];return C?new Date(Date.now()-C):void 0},[s,a]),c=g.useMemo(()=>{if(s!=="custom"||!i)return;const C=new Date(i);return Number.isNaN(C.getTime())?void 0:C},[s,i]),u=g.useRef(s);u.current=s;const d=e.get(pxe),f=e.get(hxe),p=e.get(mxe),h=g.useMemo(()=>NUt.find(C=>C.entityType===e.get(Gx)),[e]),m=g.useMemo(()=>Ihs(e),[e]),v=g.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);for(const[T,N]of Object.entries(C)){const I=T==="logId"?pxe:T==="traceId"?hxe:mxe;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=g.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);return Rhs(E,C),Dz(E),E},{replace:!0})},[t]),b=y,x=g.useCallback((C,_)=>{if(u.current!=="custom")return;const E=_==="from"?Xb:Jb;t(T=>{const N=new URLSearchParams(T);return C?N.set(E,C.toISOString()):N.delete(E),Dz(N),N},{replace:!0})},[t]),S=g.useCallback(C=>{u.current=C,t(_=>{const E=new URLSearchParams(_);return C==="last-24h"?(E.delete(Kb),E.delete(Xb),E.delete(Jb)):C==="custom"?E.set(Kb,"custom"):(E.set(Kb,C),E.delete(Xb),E.delete(Jb)),Dz(E),E},{replace:!0})},[t]),k=g.useCallback(()=>{t(C=>{const _=new URLSearchParams(C);_.delete(Gx);for(const E of kL)_.delete(Nl[E]);return _.delete(Kb),_.delete(Xb),_.delete(Jb),Dz(_),_},{replace:!0}),r?.()},[t,r]);return g.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:v,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,v,b,x,S,k,y])}const Ob=Bi.KeyValueList;function Vhs({spanId:e,span:t,isLoading:n,onClose:r}){const s=XIe(t?.startedAt,t?.endedAt);return o.jsxs(Bi,{children:[o.jsxs(Bi.Header,{children:[o.jsxs(Bi.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Bi.CloseButton,{onClick:r})]}),n?o.jsx(Bi.LoadingData,{children:"Loading span..."}):t?o.jsxs(Bi.Content,{children:[o.jsxs(Ob,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Ob.Key,{children:"Type"}),o.jsx(Ob.Value,{children:t.spanType})]}),t.startedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Ob.Key,{children:"Started"}),o.jsx(Ob.Value,{children:rr(new Date(t.startedAt),"MMM dd, HH:mm:ss.SSS")})]}),t.endedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Ob.Key,{children:"Ended"}),o.jsx(Ob.Value,{children:rr(new Date(t.endedAt),"MMM dd, HH:mm:ss.SSS")})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Ob.Key,{children:"Duration"}),o.jsx(Ob.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(Bi.CodeSection,{title:"Input",icon:o.jsx(Ghe,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(Bi.CodeSection,{title:"Output",icon:o.jsx(Qhe,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(Bi.CodeSection,{title:"Metadata",icon:o.jsx(Ew,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(Bi.CodeSection,{title:"Attributes",icon:o.jsx(Ew,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(Bi.NoData,{children:"Span not found."})]})}function Hhs({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=g.useMemo(()=>tAe(t??[]),[t]),[l,c]=g.useState([]);g.useEffect(()=>{i.length>0&&c(eAe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(Bi,{children:[o.jsxs(Bi.Header,{children:[o.jsxs(Bi.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Bi.CloseButton,{onClick:r})]}),n?o.jsx(Bi.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(Bi.NoData,{children:"No spans found for this trace."}):o.jsx(Bi.Content,{children:o.jsx(aUt,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function Whs(){const[e,t]=si(),n=qhs(e,t),r=Lhs(e,t),[s,a]=g.useState(),[i,l]=g.useState(!1),{data:c=[],isPending:u}=lAe(),{data:d=[],isPending:f}=aAe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=iAe(),{data:m=[],isPending:v}=oAe(),y=g.useMemo(()=>Nhs({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:v,environments:h}}),[c,d,m,p,u,f,v,h]),b=g.useMemo(()=>Phs({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:x=[],isLoading:S,error:k,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E}=Ohs({filters:b}),{logIdMap:T,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Bhs(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=cAe(n.featuredTraceId??null),{data:F,isLoading:H}=SL(n.featuredTraceId??"",n.featuredSpanId??""),B=g.useCallback(()=>n.applyFilterTokens($hs(y,n.filterTokens)),[y,n]),U=g.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),q=g.useCallback(K=>n.handleFeaturedChange({traceId:K,spanId:null}),[n]),M=g.useCallback((K,ne)=>n.handleFeaturedChange({traceId:K,spanId:ne}),[n]),G=g.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),V=g.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=g.useCallback(K=>n.handleFeaturedChange({spanId:K??null}),[n]),z=o.jsxs(Vt.TopArea,{children:[o.jsx(Vt.Row,{children:o.jsxs(Vt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(p4,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:S,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(KIe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(hhs,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:B,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Vt,{width:"wide",height:"full",children:[z,o.jsx(Vt.MainArea,{isCentered:!0,children:o.jsx(rhs,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return x.length===0&&!S&&!Z?o.jsxs(Vt,{width:"wide",height:"full",children:[z,o.jsx(Vt.MainArea,{isCentered:!0,children:o.jsx(yhs,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Vt,{width:"wide",height:"full",children:[z,o.jsx(shs,{logCollapsed:i,listSlot:o.jsx(phs,{logs:x,isLoading:S,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E,logIdMap:T,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(nhs,{log:N,onClose:U,onTraceClick:q,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(Hhs,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:G,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(Vhs,{spanId:n.featuredSpanId,span:F?.span,isLoading:H,onClose:V}):null})]})}function Zhs({server:e}){const{paths:t,Link:n}=xn(),s=Ge().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=I9t(e),l=Object.values(i||{}),c=l.length,u=l.filter(p=>p.toolType==="agent").length,d=l.filter(p=>p.toolType==="workflow").length,f=Yh(e.name,50);return o.jsxs(ge.RowLink,{to:t.mcpServerLink(e.id),LinkComponent:n,children:[o.jsx(ge.NameCell,{children:f}),o.jsx(ge.DescriptionCell,{children:a}),o.jsx(ge.TextCell,{className:"text-center",children:u||""}),o.jsx(ge.TextCell,{className:"text-center",children:c||""}),o.jsx(ge.TextCell,{className:"text-center",children:d||""})]})}function Ghs({mcpServers:e,isLoading:t,search:n=""}){const r=g.useMemo(()=>{const s=n.toLowerCase();return e.filter(a=>a.name?.toLowerCase().includes(s)||a.id?.toLowerCase().includes(s))},[e,n]);return t?o.jsx(ol,{columns:"auto 1fr auto auto auto"}):o.jsxs(ge,{columns:"auto 1fr auto auto auto",variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Name"}),o.jsx(ge.TopCell,{children:"URL"}),o.jsx(ge.TopCellSmart,{long:"Agents",short:o.jsx(qo,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(ge.TopCellSmart,{long:"Tools",short:o.jsx(Bd,{}),tooltip:"Tools",className:"text-center"}),o.jsx(ge.TopCellSmart,{long:"Workflows",short:o.jsx(td,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(ge.NoMatch,{message:"No MCP Servers match your search"}):null,r.map(s=>o.jsx(Zhs,{server:s},s.id))]})}const Qhs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx($f,{}),titleSlot:"No MCP Servers yet",descriptionSlot:o.jsxs(o.Fragment,{children:["MCP servers are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(Oa,{})]})})}),Yhs=()=>{const{data:e=[],isLoading:t,error:n}=YG(),[r,s]=g.useState("");return n&&xs(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"MCP servers"})}):n?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(cr,{children:o.jsx(Qhs,{})}):o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(zf,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(Ghs,{mcpServers:e,isLoading:t,search:r})]})},Khs=(e,t)=>{const n=new Map,r=Object.keys(t);for(const s of r){const a=t[s],i=a.tools,l=Object.keys(i);for(const c of l){const u=i[c];n.has(u.id)||n.set(u.id,{...u,agents:[]}),n.get(u.id).agents.push({...a,id:s})}}for(const[s,a]of Object.entries(e))n.has(a.id)||n.set(a.id,{...a,agents:[]});return Array.from(n.values())};function Xhs({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=xn(),i=g.useMemo(()=>Khs(e,t),[e,t]),l=g.useMemo(()=>i.filter(c=>c.id.toLowerCase().includes(r.toLowerCase())),[i,r]);return n?o.jsx(ol,{columns:"auto 1fr auto"}):o.jsxs(ge,{columns:"auto 1fr auto",variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Name"}),o.jsx(ge.TopCell,{children:"Description"}),o.jsx(ge.TopCellSmart,{long:"Agents",short:o.jsx(qo,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(ge.NoMatch,{message:"No Tools match your search"}):null,l.map(c=>{const u=Yh(c.id,50),d=Yh(c.description??"",200),f=c.agents.length;return o.jsxs(ge.RowLink,{to:s.toolLink(c.id),LinkComponent:a,children:[o.jsx(ge.NameCell,{children:u}),o.jsx(ge.DescriptionCell,{children:d}),o.jsx(ge.TextCell,{className:"text-center",children:f||""})]},c.id)})]})}const Jhs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx($f,{}),titleSlot:"No Tools yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Mastra tools are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(Oa,{})]})})}),ems=()=>{const e=Ge();return Dn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new T_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw Fe.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},tms=({toolId:e})=>{const{canExecute:t}=Wo(),n=t("tools"),{data:r={}}=Im(),s=g.useMemo(()=>{for(const v of Object.values(r))if(v.tools){const y=Object.values(v.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=QNr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=ems(),{requestContext:p}=ps();g.useEffect(()=>{if(l){const v=l instanceof Error?l.message:"Failed to load tool";Fe.error(`Error loading tool: ${v}`)}},[l]);const h=async(v,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:v,requestContext:b})},m=c?.inputSchema?hm(Tx(c?.inputSchema)):vs({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(St,{className:"mb-4 h-8 w-48"}),o.jsx(St,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(_Ie,{executionResult:f,isExecutingTool:d,zodInputSchema:m,handleExecuteTool:h,toolDescription:c.description,toolId:c.id,requestContextSchema:c.requestContextSchema}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ye,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ye,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function nms({value:e,onValueChange:t,placeholder:n="Select a tool...",searchPlaceholder:r="Search tools...",emptyText:s="No tools found.",className:a,disabled:i=!1,variant:l}){const{data:c={},isLoading:u,isError:d,error:f}=FI(),{data:p={},isLoading:h,isError:m,error:v}=Im(),{navigate:y,paths:b}=xn();g.useEffect(()=>{if(d){const C=f instanceof Error?f.message:"Failed to load tools";Fe.error(`Error loading tools: ${C}`)}},[d,f]),g.useEffect(()=>{if(m){const C=v instanceof Error?v.message:"Failed to load agents";Fe.error(`Error loading agents: ${C}`)}},[m,v]);const x=new Map;Object.values(p).forEach(C=>{C.tools&&Object.values(C.tools).forEach(_=>{x.has(_.id)||x.set(_.id,_)})}),Object.values(c).forEach(C=>{x.has(C.id)||x.set(C.id,C)});const S=Array.from(x.values()).map(C=>({label:C.id,value:C.id})),k=C=>{t?t(C):C&&C!==e&&y(b.toolLink(C))};return o.jsx(Ll,{options:S,value:e,onValueChange:k,placeholder:u||h?"Loading tools...":n,searchPlaceholder:r,emptyText:s,className:a,disabled:i||u||h||d||m,variant:l})}const rms=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=g.useState({sseUrl:"",httpStreamUrl:""});if(g.useEffect(()=>{if(!t)return;const i=window.MASTRA_SERVER_HOST,l=window.MASTRA_SERVER_PORT;let c=null;i&&l&&(c=`http://${i}:${l}`);const u=c||"http://localhost:4111",d=`${u}/api/mcp/${t.id}/sse`,f=`${u}/api/mcp/${t.id}/mcp`;s({sseUrl:d,httpStreamUrl:f})},[t]),e)return null;if(!t)return o.jsx(Oy,{children:o.jsx(ye,{as:"h1",variant:"header-md",className:"text-neutral3 py-20 text-center font-medium",children:"Server not found"})});const a=`npx -y mcp-remote ${n}`;return o.jsxs(Oy,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ye,{as:"h1",variant:"header-md",className:"text-neutral6 pb-4 font-medium",children:t.name}),o.jsxs("div",{className:"flex items-center gap-1 pb-6",children:[o.jsx(on,{icon:o.jsx(nUt,{className:"text-neutral6"}),className:"text-neutral4! rounded-r-sm",children:"Version"}),o.jsx(on,{className:"text-neutral4! rounded-l-sm",children:t.version_detail.version})]}),o.jsx(ye,{className:"text-neutral3 pb-4",children:"This MCP server can be accessed through multiple transport methods. Choose the one that best fits your use case."}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ye,{className:"text-neutral3 pt-1 pb-2",children:"Use for stateless HTTP transport with streamable responses."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(za,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ye,{className:"text-neutral3 pt-1 pb-2",children:"Use for real-time communication via SSE."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(za,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ye,{className:"text-neutral3 pt-1 pb-2",children:"Use for local command-line access via npx and mcp-remote."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(za,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(sms,{server:t})})]})},sms=({server:e})=>{const{data:t={},isLoading:n}=I9t(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"overflow-y-scroll p-5",children:[o.jsxs("div",{className:"text-neutral6 flex items-center gap-2",children:[o.jsx(Ve,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(vC,{})}),o.jsx(ye,{variant:"header-md",as:"h2",className:"font-medium",children:"Available Tools"})]}),o.jsx("div",{className:"flex flex-col gap-2 pt-6",children:r.map(s=>{const a=t[s];return o.jsx(ims,{tool:a,serverId:e.id},s)})})]})};function ams(e){if(!e)return!1;const t=e.ui;return!!(typeof t?.resourceUri=="string"&&t.resourceUri.startsWith("ui://")||typeof e["ui/resourceUri"]=="string"&&e["ui/resourceUri"].startsWith("ui://"))}const ims=({tool:e,serverId:t})=>{const n=g.useRef(null),{Link:r,paths:s}=xn(),a=i7t[e.toolType||"tool"],i=ams(e._meta);return o.jsxs(Uf,{onClick:()=>n.current?.click(),children:[o.jsx(WMt,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Vf,{children:[o.jsx(qf,{children:o.jsxs("span",{className:"flex items-center gap-2",children:[o.jsx(r,{ref:n,href:s.mcpServerToolLink(t,e.id),children:e.id}),i&&o.jsx(on,{className:"py-0 text-[10px]",children:"App"})]})}),o.jsx(ah,{children:e.description})]})]})},oms=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=YG(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(rms,{isLoading:n,server:r})})};function lms(e){if(!e)return;const t=e.ui;if(t?.resourceUri)return t.resourceUri;const n=e["ui/resourceUri"];if(typeof n=="string")return n}const cms=({toolId:e,serverId:t})=>{const{canExecute:n}=Wo(),r=n("tools"),s=Ge(),{data:a,isLoading:i,error:l}=yIe(t,e),{mutateAsync:c,isPending:u,data:d}=XJr(t,e),f=a?lms(a._meta):void 0,{data:p}=vt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=g.useCallback(async(y,b)=>await c(b),[c]);g.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";Fe.error(`Error loading tool: ${y}`)}},[l]);const m=async y=>{if(a)return await c(y)};if(i)return o.jsxs("div",{className:"p-6",children:[o.jsx(St,{className:"mb-4 h-8 w-48"}),o.jsx(St,{className:"h-32 w-full"})]});if(l)return null;if(!a)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ye,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})});if(!r)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ye,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let v;try{v=hm(a.inputSchema)}catch(y){console.error("Error processing input schema:",y),Fe.error("Failed to process tool input schema."),v=vs({})}return o.jsxs("div",{className:"flex flex-col gap-4",children:[p&&o.jsx("div",{className:"border-border1 border-b p-4",children:o.jsx(N9t,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(_Ie,{executionResult:d,isExecutingTool:u,zodInputSchema:v,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},ums=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=yIe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(cms,{toolId:t,serverId:e})})},IUt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],PN="rootEntityType",$N={tags:"filterTags",entityId:"filterEntityId",entityName:"filterEntityName",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId",provider:"filterProvider",model:"filterModel"},wQ=Object.keys($N),SAe="mastra:metrics:saved-filters";function dms(e){const t=gms(e);try{localStorage.setItem(SAe,t.toString())}catch{}}function fms(){try{localStorage.removeItem(SAe)}catch{}}function AUt(){try{const e=localStorage.getItem(SAe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function pms(e){if(e.has(PN))return!0;for(const t of wQ)if(e.has($N[t]))return!0;return!1}function hms({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:IUt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"entityId",label:"Primitive ID",kind:"text"},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"threadId",label:"Thread ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function mms(e){const t=[],n=new Map([[PN,"rootEntityType"]]);for(const s of wQ)n.set($N[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),a==="tags"){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}if(a==="rootEntityType"||a==="entityName"||a==="serviceName"||a==="environment"||a==="provider"||a==="model"){const l=e.getAll(s);if(l.length>1){t.push({fieldId:a,value:l});continue}}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function gms(e){const t=new URLSearchParams,n=e.getAll(PN);for(const r of n)t.append(PN,r);for(const r of wQ){const s=$N[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function vms(e,t){e.delete(PN);for(const n of wQ)e.delete($N[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?PN:$N[n.fieldId];if(r)if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string"&&a!=="");if(s.length===0){n.fieldId==="tags"&&e.append(r,"");continue}for(const a of s)e.append(r,a)}else typeof n.value=="string"&&e.set(r,n.value.trim())}}const yms="Any";function pet(e){const t=e.trim();return t===""||t===yms}const bms=new Set(IUt.map(e=>e.entityType));function het(e){const t=e.trim();return bms.has(t)?t:void 0}function xms(e){const t={};for(const n of e){const r=n.fieldId;if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string").map(a=>a.trim()).filter(a=>!pet(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?het(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(pet(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=het(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const RUt=[{label:"Last 24 hours",value:"24h"},{label:"Last 3 days",value:"3d"},{label:"Last 7 days",value:"7d"},{label:"Last 14 days",value:"14d"},{label:"Last 30 days",value:"30d"}],wms=new Set(RUt.map(e=>e.value));function Sms(e){return typeof e=="string"&&(wms.has(e)||e==="custom")}const PUt=g.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function SQ(){return g.useContext(PUt)}function kms(e,t){return e!=="custom"?RUt.find(n=>n.value===e)?.label??e:t?.from?t.to?`${rr(t.from,"MMM d, yyyy")} – ${rr(t.to,"MMM d, yyyy")}`:rr(t.from,"MMM d, yyyy"):"Custom range"}function Oms({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=g.useMemo(()=>JSON.stringify(n),[n]),d=g.useMemo(()=>n,[u]),f=g.useMemo(()=>xms(d),[d]),p=g.useMemo(()=>JSON.stringify(f),[f]),h=kms(t,a),m=g.useMemo(()=>({datePreset:t,setDatePreset:r,customRange:a,setCustomRange:i??(()=>{}),dateRangeLabel:h,filterTokens:d,setFilterTokens:s,dimensionalFilter:f,dimensionalFilterKey:p,tracesBasePath:l,logsBasePath:c}),[t,r,a,i,h,d,s,f,p,l,c]);return o.jsx(PUt.Provider,{value:m,children:e})}const _ms=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function Cms(e){switch(e){case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return"last-24h"}}function Ems(e){switch(e){case"last-3d":return"3d";case"last-7d":return"7d";case"last-14d":return"14d";case"last-30d":return"30d";case"custom":return"custom";default:return"24h"}}function Tms(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=SQ(),s=g.useRef(e);s.current=e;const a=g.useRef(n);return a.current=n,o.jsx(p4,{preset:Cms(e),onPresetChange:i=>{const l=Ems(i);s.current=l,t(l)},dateFrom:n?.from,dateTo:n?.to,onDateChange:(i,l)=>{if(s.current!=="custom")return;const c={...a.current,[l]:i};a.current=c,r(c)},presets:_ms})}const gxe=1440*60*1e3,jms={"24h":gxe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Nms(e,t,n){if(e!=="custom"){const r=jms[e]??gxe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-gxe),end:t?.to??new Date(n)}}function $m(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=SQ(),s=g.useRef(null),a=e==="custom"?`custom:${t?.from?.getTime()??""}:${t?.to?.getTime()??""}`:`preset:${e}`;(!s.current||s.current.key!==a)&&(s.current={key:a,anchor:Date.now()});const i=s.current.anchor,l=g.useMemo(()=>Nms(e,t,i),[e,t,i]),c=g.useMemo(()=>({timestamp:l,...n}),[l,r]),u=g.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function $Ut(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function OL({href:e,LinkComponent:t="a"}){return o.jsx(le,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(sNn,{})})}function Ims({href:e,LinkComponent:t="a"}){return o.jsx(le,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(zNn,{})})}const Ams=[{dataKey:"p50",label:"p50",color:Up.blue,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p50,0)/e.length)}`:"0",suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:Up.yellow,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p95,0)/e.length)}`:"0",suffix:"avg ms"})}];function Rms(e){return e==="agents"||e==="workflows"||e==="tools"}function uie({data:e,onPointClick:t}){return e.length===0?o.jsx(Gt.NoData,{message:"No latency data yet"}):o.jsx(Bq,{data:e,series:Ams,onPointClick:t?n=>{const r=n;typeof r?.tsMs=="number"&&Number.isFinite(r.tsMs)&&t(r)}:void 0})}function Pms({data:e,isLoading:t,isError:n,onPointClick:r,actions:s}){const a=(e?.agentData.length??0)>0,i=(e?.workflowData.length??0)>0,l=(e?.toolData.length??0)>0,c={agents:a,workflows:i,tools:l},u=a?"agents":i?"workflows":l?"tools":"agents",[d,f]=g.useState("agents"),p=c[d]?d:u,h=typeof s=="function"?s(p):s,m=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),v=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=v.length>0?`${Math.round(v.reduce((b,x)=>b+x,0)/v.length)}ms`:"—";return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Gt.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Gt.Actions,{children:h}):null]}),t?o.jsx(Gt.Loading,{}):n?o.jsx(Gt.Error,{message:"Failed to load latency data"}):o.jsx(Gt.Content,{children:m?o.jsxs(pc,{value:p,onValueChange:b=>{Rms(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(jr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(jr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:o.jsx(uie,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Xr,{value:"workflows",children:o.jsx(uie,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Xr,{value:"tools",children:o.jsx(uie,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Gt.NoData,{message:"No latency data yet"})})]})}function $ms(e){switch(e){case"24h":return"last-24h";case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return}}function Mms(e,t){if(t==="1h"){const s=new Date(e);s.setUTCMinutes(0,0,0);const a=new Date(s.getTime()+3600*1e3);return{from:s,to:a}}const n=new Date(e);n.setUTCHours(0,0,0,0);const r=new Date(n.getTime()+1440*60*1e3);return{from:n,to:r}}function MUt(e,t,n,r,s,a,i){if(i){e.set(t,"custom"),e.set(n,i.from.toISOString()),e.set(r,i.to.toISOString());return}if(s==="custom"){e.set(t,"custom"),a?.from&&e.set(n,a.from.toISOString()),a?.to&&e.set(r,a.to.toISOString());return}const l=$ms(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function DUt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function met({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/traces"}){const a=new URLSearchParams;a.set(Pw,"branches"),MUt(a,$w,Mw,Dw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Wx,i),r.status&&a.set(Zx,r.status),$o(a,jl.entityName,r.entityName??n.entityName),$o(a,jl.threadId,r.threadId??n.threadId),$o(a,jl.resourceId,r.resourceId??n.resourceId),$o(a,jl.entityId,n.entityId),$o(a,jl.runId,n.runId),$o(a,jl.sessionId,n.sessionId),$o(a,jl.requestId,n.requestId),$o(a,jl.userId,n.userId),$o(a,jl.organizationId,n.organizationId),$o(a,jl.experimentId,n.experimentId),$o(a,jl.serviceName,n.serviceName),$o(a,jl.environment,n.environment),DUt(a,jl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function Dms({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;MUt(a,Kb,Xb,Jb,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Gx,i),$o(a,Nl.entityName,r.entityName??n.entityName),$o(a,Nl.threadId,r.threadId??n.threadId),$o(a,Nl.resourceId,r.resourceId??n.resourceId),$o(a,Nl.runId,n.runId),$o(a,Nl.sessionId,n.sessionId),$o(a,Nl.requestId,n.requestId),$o(a,Nl.userId,n.userId),$o(a,Nl.organizationId,n.organizationId),$o(a,Nl.experimentId,n.experimentId),$o(a,Nl.serviceName,n.serviceName),$o(a,Nl.environment,n.environment),DUt(a,Nl.tags,n.tags),r.status==="error"&&a.append(Nl.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function rA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=SQ(),a=g.useCallback((c={})=>met({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=g.useCallback((c={})=>Dms({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=g.useCallback((c,u,d)=>{const f=Mms(u,d);return met({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const LUt="1h";async function die(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:LUt,filters:n}),s=r.series.find(l=>l.percentile===.5),a=r.series.find(l=>l.percentile===.95);if(!s||!a)return[];const i=new Map(a.points.map(l=>[new Date(l.timestamp).getTime(),l.value]));return s.points.map(l=>{const c=new Date(l.timestamp),u=c.getTime();return{time:c.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tsMs:u,p50:Math.round(l.value),p95:Math.round(i.get(u)??0)}})}function Lms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([die(e,"mastra_agent_duration_ms",t),die(e,"mastra_workflow_duration_ms",t),die(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:LUt}}})}const get={agents:Ec.AGENT,workflows:Ec.WORKFLOW_RUN,tools:Ec.TOOL};function Fms(){const{data:e,isLoading:t,isError:n}=Lms(),{getTracesHref:r,getBucketTracesHref:s}=rA(),{Link:a}=xn(),i=Ws();return o.jsx(Pms,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:get[l]},c.tsMs,"1h"))},actions:l=>o.jsx(OL,{href:r({rootEntityType:get[l]}),LinkComponent:a})})}function zms(e){return e==="threads"||e==="resources"}function fie(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Bms({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("threads"),c=e.data?.map(y=>({...y,key:y.threadId}))??[],u=t.data?.map(y=>({...y,key:y.resourceId}))??[],d=c.length>0,f=u.length>0,p=e.data?.reduce((y,b)=>y+b.runs,0)??0,h=t.data?.reduce((y,b)=>y+b.threadCount,0)??0,m=i==="threads"?e:t,v=typeof s=="function"?s(i):s;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Gt.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Gt.Summary,{value:h.toLocaleString(),label:"Total threads"}),v?o.jsx(Gt.Actions,{children:v}):null]}),m.isLoading?o.jsx(Gt.Loading,{}):m.isError?o.jsx(Gt.Error,{message:"Failed to load memory data"}):o.jsx(Gt.Content,{children:o.jsxs(pc,{defaultTab:"threads",value:i,onValueChange:y=>{zms(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"threads",children:"Threads"}),o.jsx(jr,{value:"resources",children:"Resources"})]}),o.jsx(Xr,{value:"threads",children:d?o.jsxs(ge,{columns:"auto auto auto auto auto",...ixe,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:fie(y.threadId)}),o.jsx(ge.NumberCell,{children:y.resourceId?fie(y.resourceId):"—"}),o.jsx(ge.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(ge.NumberCell,{children:y.tokens>0?al(y.tokens):"—"}),o.jsx(ge.NumberCell,{children:y.cost!=null?Bp(y.cost,y.costUnit):"—"})]});return b?o.jsx(ge.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ge.RowStatic,{children:x},y.key)})]}):o.jsx(Gt.NoData,{message:"No thread activity yet"})}),o.jsx(Xr,{value:"resources",children:f?o.jsxs(ge,{columns:"auto auto auto auto",...ixe,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:fie(y.resourceId)}),o.jsx(ge.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(ge.NumberCell,{children:y.tokens>0?al(y.tokens):"—"}),o.jsx(ge.NumberCell,{children:y.cost!=null?Bp(y.cost,y.costUnit):"—"})]});return b?o.jsx(ge.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ge.RowStatic,{children:x},y.key)})]}):o.jsx(Gt.NoData,{message:"No resource activity yet"})})]})})]})}const pie=20;function Ums(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","top-active-threads",n],queryFn:async()=>{const r={groupBy:["threadId","resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count",limit:pie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:pie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:pie})]),l=new Map,c=d=>nA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.threadId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.threadId).map(d=>{const f=d.dimensions.threadId,p=l.get(f);return{threadId:f,resourceId:d.dimensions.resourceId??null,runs:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}const hie=20;function qms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","top-resources-by-threads",n],queryFn:async()=>{const r={groupBy:["resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",limit:hie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:hie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:hie})]),l=new Map,c=d=>nA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.resourceId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.resourceId).map(d=>{const f=d.dimensions.resourceId,p=l.get(f);return{resourceId:f,threadCount:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}function Vms(){const e=Ums(),t=qms(),{getTracesHref:n}=rA(),{Link:r}=xn();return o.jsx(Bms,{threads:{data:e.data,isLoading:e.isLoading,isError:e.isError},resources:{data:t.data,isLoading:t.isLoading,isError:t.isError},LinkComponent:r,getThreadRowHref:s=>n({threadId:s.threadId,...s.resourceId?{resourceId:s.resourceId}:{}}),getResourceRowHref:s=>n({resourceId:s.resourceId})})}function _L({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(es,{children:[o.jsx(es.Label,{children:e}),o.jsx(es.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(es.Error,{}):s?o.jsx(es.Loading,{}):i?r!=null?o.jsx(es.Change,{changePct:r,prevValue:n}):o.jsx(es.NoChange,{}):o.jsx(es.NoData,{})]})}function Hms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","active-resources-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"resourceId",filters:t,comparePeriod:"previous_period"})})}function Wms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","active-threads-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",filters:t,comparePeriod:"previous_period"})})}function Zms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","model-cost-kpi",n],queryFn:async()=>{const r=await e.getMetricAggregate({name:["mastra_model_total_input_tokens","mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"});return{cost:r.estimatedCost??null,costUnit:r.costUnit??null,previousCost:r.previousEstimatedCost??null,costChangePercent:r.costChangePercent??null}}})}function Gms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","total-tokens-kpi",n],queryFn:async()=>{const[r,s]=await Promise.all([e.getMetricAggregate({name:["mastra_model_total_input_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"}),e.getMetricAggregate({name:["mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"})]),a=r.value!=null||s.value!=null,i=r.previousValue!=null||s.previousValue!=null,l=(r.value??0)+(s.value??0),c=(r.previousValue??0)+(s.previousValue??0),u=i&&c>0?(l-c)/c*100:null;return{value:a?l:null,previousValue:i?c:null,changePercent:u}}})}function Qms(){const{data:e,isLoading:t,isError:n}=$Ut();return o.jsx(_L,{label:"Total Agent Runs",value:e?.value!=null?e.value.toLocaleString():null,prevValue:e?.previousValue!=null?e.previousValue.toLocaleString():void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Yms(){const{data:e,isLoading:t,isError:n}=Zms();return o.jsx(_L,{label:"Total Model Cost",value:e?.cost!=null?Bp(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?Bp(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function Kms(){const{data:e,isLoading:t,isError:n}=Gms();return o.jsx(_L,{label:"Total Tokens",value:e?.value!=null?al(e.value):null,prevValue:e?.previousValue!=null?al(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Xms(){const{data:e,isLoading:t,isError:n}=Wms();return o.jsx(_L,{label:"Total Threads",value:e?.value!=null?al(e.value):null,prevValue:e?.previousValue!=null?al(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Jms(){const{data:e,isLoading:t,isError:n}=Hms();return o.jsx(_L,{label:"Total Resources",value:e?.value!=null?al(e.value):null,prevValue:e?.previousValue!=null?al(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function egs({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>tgs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(YIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(GIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function tgs(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}function ngs({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Model Usage & Cost",description:"Token consumption by model."}),i&&(()=>{const l=e.reduce((d,f)=>d+(f.cost??0),0),c=new Set;for(const d of e)d.cost!=null&&d.costUnit&&c.add(d.costUnit);let u;return c.size===0?u=l>0?Bp(l):"—":c.size===1?u=l>0?Bp(l,[...c][0]):"—":u="Mixed",o.jsx(Gt.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Gt.Actions,{children:s}):null]}),t?o.jsx(Gt.Loading,{}):n?o.jsx(Gt.Error,{message:"Failed to load model usage data"}):o.jsx(Gt.Content,{children:i?o.jsxs(ge,{columns:"auto auto auto auto auto auto",...ixe,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Model"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:l.model}),o.jsx(ge.NumberCell,{children:l.input}),o.jsx(ge.NumberCell,{children:l.output}),o.jsx(ge.NumberCell,{children:l.cacheRead}),o.jsx(ge.NumberCell,{children:l.cacheWrite}),o.jsx(ge.NumberCell,{highlight:!0,children:l.cost!=null?Bp(l.cost,l.costUnit):"—"})]});return c?o.jsx(ge.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(ge.RowStatic,{children:u},l.model)})]}):o.jsx(Gt.NoData,{message:"No model usage data yet"})})]})}function rgs(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","model-usage-cost",n],queryFn:async()=>{const[r,s,a,i]=await Promise.all(["mastra_model_total_input_tokens","mastra_model_total_output_tokens","mastra_model_input_cache_read_tokens","mastra_model_input_cache_write_tokens"].map(d=>e.getMetricBreakdown({name:[d],groupBy:["model"],aggregation:"sum",orderDirection:"DESC",filters:t})));if(!r||!s||!a||!i)return[];const l=new Map,c=d=>nA(l,d,()=>({input:0,output:0,cacheRead:0,cacheWrite:0,cost:null,costUnit:null})),u=(d,f)=>{f.estimatedCost!=null&&(d.cost=(d.cost??0)+f.estimatedCost,f.costUnit&&(d.costUnit=f.costUnit))};for(const d of r.groups){const f=d.dimensions.model??"unknown",p=c(f);p.input=d.value,u(p,d)}for(const d of s.groups){const f=d.dimensions.model??"unknown",p=c(f);p.output=d.value,u(p,d)}for(const d of a.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheRead=d.value}for(const d of i.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheWrite=d.value}return Array.from(l.entries()).map(([d,f])=>({model:d,input:al(f.input),output:al(f.output),cacheRead:al(f.cacheRead),cacheWrite:al(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function sgs(){const{data:e,isLoading:t,isError:n}=rgs(),{getTracesHref:r}=rA(),{Link:s}=xn();return o.jsx(ngs,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:Ec.AGENT}),actions:o.jsx(OL,{href:r({rootEntityType:Ec.AGENT}),LinkComponent:s})})}function ags(e){return e==="tokens"||e==="cost"}function igs({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("tokens"),c=e??[],u=c.length>0,d=c.reduce((b,x)=>b+x.total,0),f=c.filter(b=>b.cost!=null&&b.cost>0),p=new Set(f.map(b=>b.costUnit??"usd")),h=p.size<=1,m=h?[...p][0]??"usd":null,v=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&v>0;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Gt.Summary,{value:Bp(v,m),label:"Total cost"}):o.jsx(Gt.Summary,{value:al(d),label:"Total tokens"})),u&&s?o.jsx(Gt.Actions,{children:s}):null]}),t?o.jsx(Gt.Loading,{}):n?o.jsx(Gt.Error,{message:"Failed to load token usage data"}):o.jsx(Gt.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:i,onValueChange:b=>{ags(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"tokens",children:"Tokens"}),o.jsx(jr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(RN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:Up.blueDark},{label:"Output",color:Up.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:al})}),o.jsx(Xr,{value:"cost",children:y?o.jsx(RN,{LinkComponent:a,data:f.slice().sort((b,x)=>(x.cost??0)-(b.cost??0)).map(b=>({name:b.name,values:[b.cost],href:r?.(b)})),segments:[{label:"Cost",color:Up.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>Bp(b,m)}):o.jsx(Gt.NoData,{message:"No cost data yet"})})]}):o.jsx(Gt.NoData,{message:"No token usage data yet"})})]})}function ogs(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","token-usage-by-agent",n],queryFn:async()=>{const r={groupBy:["entityName"],aggregation:"sum",orderDirection:"DESC",filters:t},[s,a]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"]}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"]})]),i=new Map,l=u=>nA(i,u,()=>({input:0,output:0,cost:null,costUnit:null})),c=(u,d)=>{d.estimatedCost!=null&&(u.cost=(u.cost??0)+d.estimatedCost,d.costUnit&&(u.costUnit=d.costUnit))};for(const u of s.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.input=u.value,c(f,u)}for(const u of a.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.output=u.value,c(f,u)}return Array.from(i.entries()).map(([u,d])=>({name:u,input:d.input,output:d.output,total:d.input+d.output,cost:d.cost,costUnit:d.costUnit})).sort((u,d)=>d.total-u.total)}})}function lgs(){const{data:e,isLoading:t,isError:n}=ogs(),{getTracesHref:r}=rA(),{Link:s}=xn();return o.jsx(igs,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:Ec.AGENT,entityName:a.name}),actions:o.jsx(OL,{href:r({rootEntityType:Ec.AGENT}),LinkComponent:s})})}function vxe(e,t=al){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const cgs=[{dataKey:"input",label:"Input tokens",color:Up.blue,aggregate:vxe("input")},{dataKey:"output",label:"Output tokens",color:Up.yellow,aggregate:vxe("output")}];function ugs(e){return e==="tokens"||e==="cost"}function dgs({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=g.useState("tokens"),l=e??[],c=l.map(k=>({...k})),u=l.length>0,d=l.reduce((k,C)=>k+C.total,0),f=l.filter(k=>k.cost!=null&&k.cost>0),p=f.map(k=>({...k})),h=new Set(f.map(k=>k.costUnit).filter(k=>!!k)),m=h.size===1&&f.every(k=>k.costUnit!=null),v=m?[...h][0]??null:null,y=m?f.reduce((k,C)=>k+(C.cost??0),0):0,b=m&&y>0,x=t==="1h"?"Input and output tokens per hour.":"Input and output tokens per day.",S=[{dataKey:"cost",label:"Cost",color:Up.purple,aggregate:vxe("cost",k=>Bp(k,v))}];return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Gt.Summary,{value:Bp(y,v),label:"Total cost"}):o.jsx(Gt.Summary,{value:al(d),label:"Total tokens"})),u&&s?o.jsx(Gt.Actions,{children:s}):null]}),n?o.jsx(Gt.Loading,{}):r?o.jsx(Gt.Error,{message:"Failed to load token usage timeline"}):o.jsx(Gt.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:a,onValueChange:k=>{ugs(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"tokens",children:"Tokens"}),o.jsx(jr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(Bq,{data:c,series:cgs})}),o.jsx(Xr,{value:"cost",children:b?o.jsx(Bq,{data:p,series:S}):o.jsx(Gt.NoData,{message:"No cost data yet"})})]}):o.jsx(Gt.NoData,{message:"No token usage data yet"})})]})}function fgs(e){return e==="24h"?"1h":"1d"}function pgs(e,t){return t==="1h"?e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):e.toLocaleDateString("en-US",{month:"short",day:"2-digit"})}function vet(e,t,n){for(const r of t?.points??[]){const s=new Date(r.timestamp).getTime();if(!Number.isFinite(s))continue;const a=e.get(s)??{tsMs:s,input:0,output:0,cost:null,costUnits:new Set,hasUnknownCostUnit:!1};a[n]+=r.value,r.estimatedCost!=null&&(a.cost=(a.cost??0)+r.estimatedCost,t?.costUnit?a.costUnits.add(t.costUnit):a.hasUnknownCostUnit=!0),e.set(s,a)}}function hgs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function mgs(){const e=Ge(),{datePreset:t,filters:n,filterKey:r}=$m(),s=fgs(t);return vt({queryKey:["metrics","token-usage-timeseries",r,s],queryFn:async()=>{const[a,i]=await Promise.all([e.getMetricTimeSeries({name:["mastra_model_total_input_tokens"],interval:s,aggregation:"sum",filters:n}),e.getMetricTimeSeries({name:["mastra_model_total_output_tokens"],interval:s,aggregation:"sum",filters:n})]),l=new Map;return vet(l,a.series[0],"input"),vet(l,i.series[0],"output"),{data:Array.from(l.values()).sort((u,d)=>u.tsMs-d.tsMs).map(u=>{const d=new Date(u.tsMs);return{time:pgs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:hgs(u)}}),interval:s}}})}function ggs(){const{data:e,isLoading:t,isError:n}=mgs(),{getTracesHref:r}=rA(),{Link:s}=xn();return o.jsx(dgs,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(OL,{href:r(),LinkComponent:s})})}function mie({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(RN,{LinkComponent:r,data:e.map(s=>{const a=n?.(s),i=t?.(s);return a?{name:s.name,values:[s.completed,s.errors],hrefs:[i,a]}:{name:s.name,values:[s.completed,s.errors],href:i}}),segments:[{label:"Completed",color:Up.blueDark},{label:"Errors",color:Up.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:al})}function vgs({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=g.useState("agents"),u=typeof a=="function"?a(l):a,d=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),f=e?[...e.agentData,...e.workflowData,...e.toolData].reduce((m,v)=>m+v.completed+v.errors,0):0,p=m=>r?v=>r(m,v):void 0,h=m=>s?v=>s(m,v):void 0;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Gt.Summary,{value:al(f),label:"Total runs"}),u?o.jsx(Gt.Actions,{children:u}):null]}),t?o.jsx(Gt.Loading,{}):n?o.jsx(Gt.Error,{message:"Failed to load trace volume data"}):o.jsx(Gt.Content,{children:d?o.jsxs(pc,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"agents",children:"Agents"}),o.jsx(jr,{value:"workflows",children:"Workflows"}),o.jsx(jr,{value:"tools",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:e.agentData.length>0?o.jsx(mie,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Gt.NoData,{message:"No agent data yet"})}),o.jsx(Xr,{value:"workflows",children:e.workflowData.length>0?o.jsx(mie,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Gt.NoData,{message:"No workflow data yet"})}),o.jsx(Xr,{value:"tools",children:e.toolData.length>0?o.jsx(mie,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Gt.NoData,{message:"No tool data yet"})})]}):o.jsx(Gt.NoData,{message:"No trace volume data yet"})})]})}async function gie(e,t,n){const r=await e.getMetricBreakdown({name:[t],groupBy:["entityName","status"],aggregation:"count",orderDirection:"DESC",filters:n}),s=new Map;for(const a of r.groups){const i=a.dimensions.entityName??"unknown",l=a.dimensions.status??"ok",c=nA(s,i,()=>({completed:0,errors:0}));l==="error"?c.errors+=a.value:c.completed+=a.value}return Array.from(s.entries()).map(([a,i])=>({name:a,...i})).sort((a,i)=>i.completed+i.errors-(a.completed+a.errors))}function ygs(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([gie(e,"mastra_agent_duration_ms",t),gie(e,"mastra_workflow_duration_ms",t),gie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Lz={agents:Ec.AGENT,workflows:Ec.WORKFLOW_RUN,tools:Ec.TOOL};function bgs(){const{data:e,isLoading:t,isError:n}=ygs(),{getTracesHref:r,getLogsHref:s}=rA(),{Link:a}=xn();return o.jsx(vgs,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Lz[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Lz[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(OL,{href:r({rootEntityType:Lz[i]}),LinkComponent:a}),o.jsx(Ims,{href:s({rootEntityType:Lz[i],status:"error"}),LinkComponent:a})]})})}const vie="period",Fz="dateFrom",zz="dateTo";function xgs(){const[e,t]=si(),n=e.get(vie),r=Sms(n)?n:"24h",s=g.useMemo(()=>{if(r!=="custom")return;const d=h=>{if(!h)return;const m=new Date(h);return Number.isNaN(m.getTime())?void 0:m},f=d(e.get(Fz)),p=d(e.get(zz));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=g.useMemo(()=>mms(e),[e.toString()]),i=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(vie):p.set(vie,d),d!=="custom"&&(p.delete(Fz),p.delete(zz)),p},{replace:!0})},[t]),l=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(Fz,d.from.toISOString()):p.delete(Fz),d?.to?p.set(zz,d.to.toISOString()):p.delete(zz),p},{replace:!0})},[t]),c=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return vms(p,d),p},{replace:!0})},[t]),u=g.useRef(!1);return g.useEffect(()=>{if(u.current||(u.current=!0,pms(e)))return;const d=AUt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Oms,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(wgs,{})})}function wgs(){const[e]=si(),{error:t,isLoading:n}=$Ut(),{filterTokens:r,setFilterTokens:s}=SQ(),[a,i]=g.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=dAe(),{data:d,isLoading:f}=lAe(),{data:p,isLoading:h}=aAe(),{data:m,isLoading:v}=oAe(),{data:y,isLoading:b}=iAe(),x=g.useMemo(()=>hms({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:v,environments:b}}),[d,p,m,y,f,h,v,b]),[S,k]=g.useState(()=>AUt()!==null),C=g.useCallback(()=>{dms(e),k(!0),Fe.success("Filters setting for Metrics saved")},[e]),_=g.useCallback(()=>{fms(),k(!1),Fe.success("Filters setting for Metrics cleared up")},[]),E=g.useCallback(()=>{s([])},[s]),T=g.useCallback(()=>{const N=r.map(I=>{const A=x.find(R=>R.id===I.fieldId);return A?A.kind==="text"?{fieldId:I.fieldId,value:""}:A.kind==="pick-multi"?A.multi?{fieldId:I.fieldId,value:[]}:{fieldId:I.fieldId,value:"Any"}:A.kind==="multi-select"?{fieldId:I.fieldId,value:[]}:I:I});s(N)},[x,r,s]);return t&&xs(t)?o.jsx(cr,{children:o.jsx(Zs,{})}):t&&Ss(t)?o.jsx(cr,{children:o.jsx($s,{resource:"metrics"})}):t?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Vt,{width:"wide",height:"full",children:[o.jsxs(Vt.TopArea,{children:[o.jsx(Vt.Row,{children:o.jsxs(Vt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(Tms,{}),o.jsx(KIe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(egs,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:T,onRemoveAll:E,onSave:C,onRemoveSaved:S?_:void 0,autoFocusFilterFieldId:a})]}),u?null:l?o.jsxs("div",{className:"grid content-start gap-8 pb-10",children:[c&&o.jsx(Sn,{variant:"info",title:"Metrics are not persisted",children:o.jsx(Sn.Message,{children:"This project uses in-memory storage for observability. Metrics will be lost on every server restart. For persistent metrics, switch the observability storage to ClickHouse, DuckDB, Postgres v-next, or Spanner."})}),o.jsxs(dxe,{children:[o.jsx(Qms,{}),o.jsx(Yms,{}),o.jsx(Kms,{}),o.jsx(Xms,{}),o.jsx(Jms,{})]}),o.jsxs(dxe,{children:[o.jsx(sgs,{}),o.jsx(lgs,{}),o.jsx(ggs,{}),o.jsx(Vms,{}),o.jsx(bgs,{}),o.jsx(Fms,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx($f,{}),titleSlot:"Metrics are not available with your current storage",descriptionSlot:"Metrics require ClickHouse, DuckDB, Postgres v-next, Spanner, or in-memory storage for observability. Other relational databases (LibSQL, MSSQL) and document stores (MongoDB) do not support metrics collection. To enable metrics on an existing project, switch the observability storage in the Mastra configuration.",actionSlot:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(Oa,{})]})})})]})}const Sgs=50;function kgs(){const{paths:e}=xn(),{isCmsAvailable:t}=cS(),[n,r]=g.useState(""),[s,a]=g.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=l7t({page:s,perPage:Sgs}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=g.useCallback(()=>{u||a(v=>v+1)},[u]),h=g.useCallback(()=>{u||a(v=>Math.max(0,v-1))},[u]),m=g.useCallback(v=>{r(v),a(0)},[]);return c&&xs(c)?o.jsx(cr,{children:o.jsx(Zs,{})}):c&&Ss(c)?o.jsx(cr,{children:o.jsx($s,{resource:"prompt blocks"})}):c?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(cr,{children:o.jsx(iss,{})}):o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsxs(Vt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(zf,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(le,{as:ni,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Zr,{}),"Create Prompt"]})]})}),o.jsx(ass,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Ogs(){return o.jsx(Vt,{width:"narrow",children:o.jsx(Vt.MainArea,{children:o.jsx(Les,{children:o.jsx(Lbe,{})})})})}const _gs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:aGt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:Got,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:Oa,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:mj,href:"https://discord.gg/BTYqqHKUrf",external:!0},{title:"Share with your team",description:"Running Mastra Studio locally? Deploy to the cloud so your team can collaborate.",icon:nlt,href:"https://mastra.ai/cloud",external:!0},{title:"Talk to our Sales team",description:"Get a custom demo, discuss on-prem deployments, and how we can help you accelerate getting agents into production.",icon:Qot,href:"https://mastra.ai/contact?ref=studio",external:!0}];function Cgs(){return o.jsx(Vt,{width:"narrow",children:o.jsx(Vt.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:_gs.map(e=>o.jsxs("a",{href:e.href,...e.external?{target:"_blank",rel:"noreferrer"}:{},className:"group border-border1 bg-surface2 hover:border-accent1 hover:bg-surface3 flex flex-col gap-3 rounded-lg border p-5 transition-colors",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx(e.icon,{className:"text-icon3 group-hover:text-accent1 h-5 w-5 transition-colors"}),o.jsx("span",{className:"text-ui-md text-text1 font-medium",children:e.title}),e.external&&o.jsx(Oa,{className:"text-icon3 ml-auto h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}),o.jsx("p",{className:"text-ui-sm text-text3 leading-relaxed",children:e.description})]},e.href))})})})}function Egs(){const{data:e={},isLoading:t,error:n}=uh(),[r,s]=g.useState(""),[a,i]=g.useState("all");if(n&&xs(n))return o.jsx(cr,{children:o.jsx(Zs,{})});if(n&&Ss(n))return o.jsx(cr,{children:o.jsx($s,{resource:"scorers"})});if(n)return o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(cr,{children:o.jsx(pns,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsx(mns,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(fns,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function Tgs(){const{scorerId:e}=Sr(),[t,n]=si(),r=t.get("scoreId")??void 0,[s,a]=g.useState(r),[i,l]=g.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:c,error:u}=qts(e),{data:d={},isLoading:f,error:p}=Im(),{isLoading:h,error:m}=Hy(),{data:v=[],isLoading:y,error:b,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k}=Uts({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),C=g.useMemo(()=>c?.agentIds?.filter(q=>d[q]).map(q=>({value:q,label:d[q].name,type:"AGENT"}))||[],[c?.agentIds,d]),_=g.useMemo(()=>c?.workflowIds?.map(q=>({value:q,label:q,type:"WORKFLOW"}))||[],[c?.workflowIds]),E=g.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},...C,..._],[C,_]),T=t.get("entity")??"all",N=E.find(q=>q.value===T);N&&N.value!==i?.value&&l(N),g.useEffect(()=>{if(u){const q=u instanceof Error?u.message:"Failed to load scorer";Fe.error(`Error loading scorer: ${q}`)}},[u]),g.useEffect(()=>{if(p){const q=p instanceof Error?p.message:"Failed to load agents";Fe.error(`Error loading agents: ${q}`)}},[p]),g.useEffect(()=>{if(m){const q=m instanceof Error?m.message:"Failed to load workflows";Fe.error(`Error loading workflows: ${q}`)}},[m]);const I=q=>{q?.value&&n(M=>{const G=new URLSearchParams(M);return G.set("entity",q.value),G})};g.useEffect(()=>{const q=t.get("scoreId")??void 0;if(q===s)return;if(!q){a(void 0);return}v.find(G=>G.id===q)&&a(q)},[t,v]);const A=g.useCallback(q=>{a(q||void 0),n(M=>{const G=new URLSearchParams(M);return q?G.set("scoreId",q):G.delete("scoreId"),G})},[n]);if(!c)return null;const R=xs(u)||xs(p)||xs(m),L=u&&Ss(u),D=!R&&!L&&(u||p||m),F=!y&&v.length===0,H=i?.value!=="all",B=c?.scorer?.source==="stored"?o.jsx($y,{owner:"scorer-detail",children:o.jsxs(le,{variant:"default",as:ni,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(lm,{})," Edit"]})}):null;if(R||L||D||F&&!H){const q=(u instanceof Error?u.message:void 0)??(p instanceof Error?p.message:void 0)??(m instanceof Error?m.message:void 0)??"An unexpected error occurred";return o.jsxs(Vt,{width:"wide",height:"full",children:[B,o.jsx(Vt.MainArea,{isCentered:!0,children:R?o.jsx(Zs,{}):L?o.jsx($s,{resource:"scorers"}):D?o.jsx(Hi,{title:"Failed to load scorer",message:q}):o.jsx($ts,{})})]})}return o.jsxs(Vt,{width:"wide",children:[B,o.jsx(Vt.TopArea,{children:o.jsx(Mts,{selectedEntity:i,entityOptions:E,onEntityChange:I,onReset:()=>{n(q=>{const M=new URLSearchParams(q);return M.set("entity","all"),M})},isLoading:y||f||h})}),o.jsx(Pts,{scores:v,isLoading:y,selectedScoreId:s,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k,onScoreClick:A,errorMsg:b?.message})]})}function jgs({label:e,description:t,htmlFor:n,className:r,children:s}){return o.jsxs("div",{className:X("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",r),"data-slot":"settings-row",children:[o.jsxs("div",{children:[n?o.jsx(Bt,{htmlFor:n,className:"text-sm font-medium",children:e}):o.jsx("p",{className:"text-sm font-medium",children:e}),t&&o.jsx("p",{className:"text-neutral3 text-sm",children:t})]}),s]})}const FUt=[{value:"dark",label:"Dark",Icon:LQt},{value:"light",label:"Light",Icon:YYt},{value:"system",label:"System",Icon:clt}],Ngs=e=>FUt.some(t=>t.value===e);function Igs({option:e}){const{Icon:t}=e;return o.jsxs("span",{className:"inline-flex max-w-full min-w-0 items-center gap-2",children:[o.jsx(t,{"aria-hidden":"true",className:"h-4 w-4 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 truncate",children:e.label})]})}const Ags=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=lH(),{theme:r,setTheme:s}=q_();return o.jsx(Vt,{width:"narrow",children:o.jsxs(Vt.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(ybe,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(jgs,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(ma,{value:r,onValueChange:a=>{Ngs(a)&&s(a)},children:[o.jsx(va,{id:"theme",className:"w-full sm:w-48",children:o.jsx(ga,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ya,{children:FUt.map(a=>o.jsx(Rr,{value:a.value,children:o.jsx(Igs,{option:a})},a.value))})]})})}),o.jsx(ybe,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(qDt,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function Rgs(){const[e]=si(),t=Ws(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(jUt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const zUt=e=>o.jsx("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M7.5 0.75C3.6325 0.75 0.5 3.8825 0.5 7.75C0.5 10.8475 2.50375 13.4637 5.28625 14.3912C5.63625 14.4525 5.7675 14.2425 5.7675 14.0587C5.7675 13.8925 5.75875 13.3412 5.75875 12.755C4 13.0787 3.545 12.3262 3.405 11.9325C3.32625 11.7312 2.985 11.11 2.6875 10.9437C2.4425 10.8125 2.0925 10.4887 2.67875 10.48C3.23 10.4712 3.62375 10.9875 3.755 11.1975C4.385 12.2562 5.39125 11.9587 5.79375 11.775C5.855 11.32 6.03875 11.0137 6.24 10.8387C4.6825 10.6637 3.055 10.06 3.055 7.3825C3.055 6.62125 3.32625 5.99125 3.7725 5.50125C3.7025 5.32625 3.4575 4.60875 3.8425 3.64625C3.8425 3.64625 4.42875 3.4625 5.7675 4.36375C6.3275 4.20625 6.9225 4.1275 7.5175 4.1275C8.1125 4.1275 8.7075 4.20625 9.2675 4.36375C10.6062 3.45375 11.1925 3.64625 11.1925 3.64625C11.5775 4.60875 11.3325 5.32625 11.2625 5.50125C11.7087 5.99125 11.98 6.6125 11.98 7.3825C11.98 10.0687 10.3438 10.6637 8.78625 10.8387C9.04 11.0575 9.25875 11.4775 9.25875 12.1337C9.25875 13.07 9.25 13.8225 9.25 14.0587C9.25 14.2425 9.38125 14.4612 9.73125 14.3912C11.1209 13.9221 12.3284 13.029 13.1839 11.8377C14.0393 10.6463 14.4996 9.21668 14.5 7.75C14.5 3.8825 11.3675 0.75 7.5 0.75Z",fill:"currentColor"})});function Pgs(e){return e.replace(/\/$/,"").split("/").pop()}function kQ({children:e,className:t}){return o.jsx("div",{className:X("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function $gs({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:X("grid gap-y-4",n),children:Array.from({length:5}).map((a,i)=>o.jsx("div",{className:"bg-surface3 h-16 animate-pulse rounded-lg"},i))}):o.jsx("div",{className:X("grid gap-y-4",n),children:e.map(a=>{const i=a?.agents||a?.tools||a?.networks||a?.workflows||a?.mcp;return o.jsxs("article",{className:X("border border-border1 rounded-lg overflow-hidden w-full grid grid-cols-[1fr_auto] bg-surface3 transition-colors hover:bg-surface4"),children:[o.jsxs(s,{to:`/templates/${a.slug}`,className:X("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:X("overflow-hidden"),children:o.jsx("div",{className:"thumb transition-scale h-full w-full bg-cover duration-150",style:{backgroundImage:`url(${a.imageURL})`}})}),o.jsxs("div",{className:X("grid py-3 px-6 w-full gap-0.5","[&_svg]:w-[1em] [&_svg]:h-[1em] [&_svg]:text-neutral3"),children:[o.jsx("h2",{className:"text-ui-lg text-neutral5",children:a.title}),o.jsx("p",{className:"text-ui-md text-neutral4 transition-colors duration-500",children:a.description}),o.jsxs("div",{className:"text-neutral3 text-ui-md mt-3 hidden flex-wrap items-center gap-4 2xl:flex",children:[i&&o.jsxs("ul",{className:X("flex gap-4 text-ui-md text-neutral3 m-0 p-0 list-none","[&>li]:flex [&>li]:items-center [&>li]:gap-0.5 text-neutral4"),children:[a?.agents&&a.agents.length>0&&o.jsxs("li",{children:[o.jsx(qo,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Bd,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(ult,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(VN,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(vC,{})," ",a.mcp.length]})]}),i&&a.supportedProviders&&o.jsx("small",{children:"|"}),o.jsx("div",{className:"text-neutral3 flex items-center gap-4",children:a.supportedProviders.map(l=>o.jsx("span",{className:"",children:l},l))})]})]})]}),o.jsx("a",{href:a.githubUrl,className:X("group items-center gap-2 text-ui-md ml-auto pr-4 hidden","lg:flex"),target:"_blank",rel:"noopener noreferrer",children:o.jsxs("span",{className:"bg-surface1 group-hover:bg-surface2 text-neutral3 group-hover:text-neutral5 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[o.jsx(zUt,{})," ",Pgs(a.githubUrl)]})})]},a.slug)})})}function Mgs({tagOptions:e,selectedTag:t,providerOptions:n,selectedProvider:r,onTagChange:s,onProviderChange:a,searchTerm:i,onSearchChange:l,onReset:c,className:u,isLoading:d}){return d?o.jsxs("div",{className:X("h-[6.5rem] flex items-center gap-8","[&>div]:bg-surface3 [&>div]:w-48 [&>div]:h-8 [&>div]:animate-pulse",u),children:[o.jsx("div",{})," ",o.jsx("div",{})," ",o.jsx("div",{})]}):o.jsxs("div",{className:X("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(yN,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Cc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Cc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(le,{onClick:c,children:["Reset ",o.jsx(ws,{})]})]})}function Dgs(){const{data:e,isLoading:t}=Ktr(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=g.useState("all"),[l,c]=g.useState("all"),[u,d]=g.useState(""),f=[{value:"all",label:"Any tag"}];(r||[]).forEach(x=>{f.push({value:x,label:x})});const p=[{value:"all",label:"Any provider"}];(s||[]).forEach(x=>{p.push({value:x,label:x})});const h=(x,S)=>{S==="tag"?i(x):S==="provider"&&c(x)},m=x=>{d(x)},v=()=>{i("all"),c("all"),d("")},y=n.filter(x=>!(u&&!x.title.toLowerCase().includes(u)&&!x.description.toLowerCase().includes(u)||a!=="all"&&!x.tags.includes(a)||l!=="all"&&!x.supportedProviders.includes(l))),b=u||a!=="all"||l!=="all";return o.jsxs(fs,{children:[o.jsx(N1e,{children:o.jsxs(vyt,{children:[o.jsx(Ve,{children:o.jsx(Jv,{})}),"Templates"]})}),o.jsxs("div",{className:X("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(Mgs,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?v:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx($gs,{templates:y,linkComponent:ni,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Lgs="1.60.0-alpha.2";function Fgs({errorMsg:e,validationErrors:t}){const n=typeof e=="string"?e:e!=null?String(e):void 0,r=n?.includes("Invalid schema for function"),s=n?.includes("validation issue")||t&&t.length>0,a=()=>s?"Template installation completed but some validation issues remain. The template may still be functional, but you should review and fix these issues.":r?"There was an issue with the AI model configuration. This may be related to the selected model or AI SDK version compatibility.":"An unexpected error occurred during template installation.",i=()=>s?{icon:o.jsx(_f,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(PGt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(kQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[l,o.jsxs("div",{className:"space-y-2 text-center",children:[o.jsx("p",{className:"text-ui-md text-neutral5 font-medium",children:c}),o.jsx("p",{className:"text-ui-md text-neutral3",children:a()})]})]}),t&&t.length>0&&o.jsxs("details",{className:"text-xs",children:[o.jsxs("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:["Show Validation Issues (",t.length,")"]}),o.jsx("div",{className:"mt-4 max-h-60 space-y-2 overflow-auto rounded bg-gray-100 p-3 text-left text-xs dark:bg-gray-800",children:t.map((u,d)=>o.jsxs("div",{className:"border-l-2 border-red-400 pl-2",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:u.type==="typescript"?"🔴 TypeScript Error":"⚠️ Lint Error"}),o.jsx("div",{className:"mt-1 font-mono text-xs wrap-break-word whitespace-pre-wrap text-gray-700 dark:text-gray-300",children:u.message})]},d))})]}),n&&!s&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:"Show Details"}),o.jsx("div",{className:"mt-4 max-h-60 overflow-auto rounded bg-gray-100 p-3 text-left font-mono text-xs dark:bg-gray-800",children:o.jsx("div",{className:"wrap-break-word whitespace-pre-wrap",children:n})})]})]})}function zgs({providerOptions:e,selectedProvider:t,onProviderChange:n,variables:r,errors:s,handleInstallTemplate:a,handleVariableChange:i,isLoadingEnvVars:l,isInstalling:c,defaultModelProvider:u,defaultModelId:d,onModelUpdate:f}){return o.jsx(kQ,{children:o.jsxs("div",{className:"mx-auto my-4 grid max-w-[40rem] gap-8 p-4 lg:p-8",children:[o.jsxs("h2",{className:X("text-neutral4 text-header-sm font-semibold flex items-center gap-2","[&>svg]:w-[1.2em] [&_svg]:h-[1.2em] [&_svg]:opacity-70"),children:["Install Template ",o.jsx(dlt,{})]}),o.jsx(Cc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] items-start gap-4",children:l?o.jsxs("div",{className:X("flex items-center justify-center col-span-2 text-neutral3 text-ui-sm gap-4","[&_svg]:opacity-50 [&_svg]:w-[1.1em] [&_svg]:h-[1.1em]","animate-in fade-in duration-300"),children:[o.jsx(Jt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(g.Fragment,{children:[o.jsx(NO,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(NO,{name:p,labelIsHidden:!0,label:"Value",value:h,onChange:i,errorMsg:s.includes(p)?"Value is required.":"",autoComplete:"off",className:"w-full"})]},p))}),o.jsxs("div",{className:"border-border1 relative mt-3.5 border-t pt-12",children:[o.jsx("div",{className:"bg-surface2 text-ui-sm text-neutral3 absolute top-0 left-1/2 flex h-8 w-8 -translate-x-1/2 -translate-y-4 items-center justify-center rounded-full",children:"And"}),o.jsx("h3",{className:"text-neutral4 text-ui-lg",children:"Set AI Model for Template Installation"}),o.jsx("p",{className:"text-neutral3 text-ui-md mt-2 mb-8",children:"This model will be used by the workflow to process and install the template"}),o.jsx(L9t,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(le,{className:X("flex items-center gap-2 mt-4 justify-center text-ui-md w-full bg-surface5 min-h-10 rounded-lg text-neutral5 hover:bg-surface6 transition-colors","[&>svg]:w-[1.1em] [&_svg]:h-[1.1em] [&_svg]:text-neutral5"),onClick:a,disabled:!t||!u||!d||s.length>0||c,children:c?o.jsxs(o.Fragment,{children:[o.jsx(Jt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(xm,{})]})})]})})}function Bgs({title:e,description:t,githubUrl:n,isLoading:r,infoData:s,templateSlug:a}){const i=a?`feat/install-template-${a}`:"feat/install-template-[slug]";return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:X("grid mt-8 items-center"),children:o.jsxs("div",{className:X("text-header-lg flex items-center gap-3","[&>svg]:w-[1.2em] [&>svg]:h-[1.2em] [&>svg]:opacity-50",{"[&>svg]:opacity-20":r}),children:[o.jsx(Jv,{}),o.jsx("h2",{className:X({"bg-surface4 flex rounded-lg min-w-[50%]":r}),children:r?o.jsx(o.Fragment,{children:" "}):e})]})}),o.jsxs("div",{className:"grid gap-x-24 lg:grid-cols-[1fr_1fr]",children:[o.jsxs("div",{className:"grid",children:[o.jsx("p",{className:X("mb-4 text-ui-md text-neutral4 mt-2 leading-7",{"bg-surface4 rounded-lg ":r}),children:r?o.jsx(o.Fragment,{children:" "}):t}),!r&&a&&o.jsxs("div",{className:X("bg-surface2 border border-surface4 rounded-lg p-4 mb-4","flex items-start gap-3"),children:[o.jsx("div",{className:"mt-0.5 shrink-0",children:o.jsx(Yx,{className:"h-[1.1em] w-[1.1em] text-blue-500"})}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Axe,{className:"text-neutral4 h-[1em] w-[1em]"}),o.jsx("span",{className:"text-ui-md text-neutral5 font-medium",children:"A new Git branch will be created"})]}),o.jsxs("div",{className:"text-ui-sm text-neutral4 space-y-1",children:[o.jsxs("div",{children:[o.jsx("span",{className:"font-medium",children:"Branch name:"})," ",o.jsx("code",{className:"bg-surface3 text-ui-sm rounded px-1.5 py-0.5 font-mono",children:i})]}),o.jsx("div",{children:"This ensures safe installation with easy rollback if needed. Your main branch remains unchanged."})]})]})]}),n&&o.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-neutral3 text-ui-md hover:text-neutral5 mt-auto flex items-center gap-2",children:[o.jsx(zUt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(wIe,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function yet(e){switch(e){case"running":return o.jsx(Jt,{size:"sm","aria-hidden":!0});case"success":return o.jsx(Cx,{"aria-hidden":!0});case"failed":return o.jsx(fu,{"aria-hidden":!0});default:return null}}function Ugs(){return o.jsx("svg",{viewBox:"0 0 24 24",className:"text-neutral2","aria-hidden":!0,children:o.jsx("circle",{cx:"12",cy:"12",r:"8.5",pathLength:"48",fill:"none",stroke:"currentcolor",strokeWidth:"2.8",strokeLinecap:"round",strokeDasharray:"3 3"})})}function qgs({status:e,variant:t}){return t==="plain"?o.jsx("span",{className:X("flex size-4 items-center justify-center self-center [&>svg]:size-4",Wr.colors,{"[&>svg]:text-positive1":e==="success","[&>svg]:text-negative1":e==="failed"}),children:e==="pending"?o.jsx(Ugs,{}):yet(e)}):o.jsx("span",{className:X("flex size-7 items-center justify-center self-center rounded-full motion-reduce:transition-none",Wr.colors,Wr.transform,Wr.shadow,{"[&>svg]:text-notice-success-fg":e==="success","[&>svg]:text-notice-destructive-fg":e==="failed","border border-dashed border-neutral2":e==="pending","[&>svg]:size-4":e!=="running","bg-accent1Dark shadow-glow-accent1":e==="success","bg-accent2Dark shadow-glow-accent2":e==="failed","scale-110":e==="success"||e==="failed"}),children:yet(e)})}function Vgs({step:e,isActive:t,position:n,variant:r="default"}){return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3 motion-reduce:transition-none",Wr.colors,{"border border-transparent":r==="default","border-dashed border-neutral2 bg-surface3":t&&r==="default"}),children:[o.jsxs("div",{className:"grid min-w-0 grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:X("flex min-w-6 justify-end text-ui-md",Wr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:[n,"."]}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("h4",{className:X("text-ui-md",Wr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:e.title}),e.description&&o.jsx("p",{className:X("-mt-0.5 text-ui-md text-neutral2",{truncate:r==="plain"}),children:e.description})]})]}),o.jsx(qgs,{status:e.status,variant:r})]})}function Hgs({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:X(n),children:t.map((r,s)=>o.jsx(Vgs,{step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function Wgs({steps:e}){const t=e.length,n=e.filter(r=>r.status==="success").length;return o.jsxs("div",{className:"flex w-full flex-col content-center justify-center gap-4",children:[o.jsx("div",{className:"grid w-full grid-cols-[0_repeat(9,1fr)]",children:e.map((r,s)=>o.jsx("div",{className:X("relative flex h-8 items-center justify-end",Wr.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:X("absolute right-0 z-10 flex size-8 translate-x-1/2 items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3 motion-reduce:transition-none",Wr.colors,Wr.transform,Wr.shadow,{"border border-dashed border-neutral2":r.status==="pending","bg-accent1Dark text-notice-success-fg shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-notice-destructive-fg shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Jt,{}):s+1})},r.id))}),o.jsxs("div",{className:X("text-center text-xs text-neutral3",Wr.colors),children:[n," of ",t," steps completed"]})]})}function Zgs({name:e,streamResult:t,runId:n,workflowInfo:r}){const s=t?.phase||"initializing",a=t?.payload?.workflowState,i=t?.payload?.currentStep,l=t?.error,c=a?.steps||{},u=Object.keys(c).length>0,d=v=>v==="input"||v.endsWith(".input")||v.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(v)||/[0-9a-f]{8,}/.test(v)?!1:r?.allSteps?v in r.allSteps:!0,f=Object.entries(c).filter(([v,y])=>d(v)),p=f.length,h=()=>{switch(s){case"initializing":return"Preparing template installation...";case"processing":return`Installing ${e} template`;case"completed":return"Template installation completed!";case"error":return"Template installation failed";default:return"Installing template..."}},m=f.map(([v,y])=>({id:v,status:y?.status,description:y?.description,title:v.charAt(0).toUpperCase()+v.slice(1).replace(/-/g," "),isActive:i?.id===v}));return o.jsxs(kQ,{className:"text-neutral3 mb-8 content-center space-y-6",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h3",{className:"text-neutral5 text-lg font-semibold",children:h()}),(t?.runId||n)&&o.jsxs("div",{className:"text-ui-sm text-neutral3 mt-2",children:["Run ID: ",t?.runId??n]})]}),u&&p>0&&!["error"].includes(s)&&o.jsx("div",{className:"mx-auto w-full max-w-[30rem] px-6",children:o.jsx(Wgs,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:X("rounded-lg text-neutral5 p-6 flex items-center gap-3 text-ui-md bg-red-500/10","[&>svg]:w-6 [&>svg]:h-6 [&>svg]:opacity-70 [&>svg]:text-red-500"),children:[o.jsx(GQt,{}),l||"Something went wrong"]}),u&&o.jsx(Hgs,{steps:m,currentStep:i,className:"pb-4"}),!u&&s==="initializing"&&o.jsxs("div",{className:"text-neutral3 grid justify-items-center gap-4 text-center text-sm",children:[o.jsx(Jt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function Ggs({name:e,installedEntities:t}){return o.jsxs(kQ,{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(dlt,{}),o.jsx("h2",{className:"text-header-md",children:"Done!"}),o.jsxs("p",{className:"text-ui-md text-neutral3 text-center",children:["The ",o.jsx("b",{className:"text-neutral4",children:e})," template has been successfully installed.",t&&t.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("br",{})," Installed entities are listed below."]})]}),t&&t.length>0&&o.jsx(wIe,{data:t})]})}function Qgs(){const{templateSlug:e}=Sr(),[t,n]=si(),[r,s]=g.useState(""),[a,i]=g.useState(""),[l,c]=g.useState(""),[u,d]=g.useState({}),[f,p]=g.useState([]),[h,m]=g.useState(null),[v,y]=g.useState(!1),[b,x]=g.useState(""),[S,k]=g.useState(!1),[C,_]=g.useState(!1),[E,T]=g.useState([]),{data:N,isLoading:I}=Xtr({repoOrSlug:e,owner:"mastra-ai"}),R=Lgs?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=Jtr({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:F,isLoading:H}=enr(),{mutateAsync:B,isPending:U}=tnr(),{mutateAsync:q}=nnr(),{streamInstall:M,streamResult:G,isStreaming:V}=snr(F),{observeInstall:$,streamResult:z,isStreaming:Z}=anr(F);g.useEffect(()=>{const te=t.get("runId");te&&!v&&!h&&!V&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:te}),x(te),q({runId:te}).then(ue=>{const fe=ue.snapshot;if(fe?.status==="success"&&fe?.result?.success)y(!0);else if(fe?.result?.success===!1)if(fe?.result?.validationResults&&!fe?.result?.validationResults?.valid&&fe?.result?.validationResults?.remainingErrors>0){const{remainingErrors:me,errors:be}=fe.result.validationResults,we=`Template installation completed but ${me} validation issue${me>1?"s":""} remain unresolved.`;m(we),T(be||[])}else{const me=fe?.result?.message||fe?.result?.error||"Template installation failed";m(typeof me=="string"?me:String(me))}}).catch(ue=>{console.error("❌ Failed to fetch run details:",ue),m("Failed to retrieve installation status after reload")}))},[t,v,h,V,Z,q]),g.useEffect(()=>{const te=t.get("runId"),ue=t.get("resume"),fe=t.get("provider");if(te&&ue==="true"&&fe&&!V&&!Z&&!S&&!C&&F){x(te),k(!0);try{q({runId:te}).then(ce=>{if(ce.snapshot?.status==="running")return $.mutateAsync({runId:te})}).then(()=>{n(ce=>{const me=new URLSearchParams(ce);return me.delete("resume"),me})}).catch(ce=>{console.error("❌ Failed to resume template installation:",ce),ce.message?.includes("404")||ce.message?.includes("not found")?m("Template installation run not found. It may have expired or been completed."):m("Failed to resume template installation. Please try again.")})}catch(ce){console.error("❌ Auto-resume failed with error:",ce),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,V,Z,S,C,F,q,$,n]);const K=[{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"google",label:"Google"}],ne=[{key:"tools",label:"Tools",value:N?.tools?.length?N.tools.map(te=>te).join(", "):"n/a",icon:o.jsx(Bd,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(te=>te).join(", "):"n/a",icon:o.jsx(qo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(te=>te).join(", "):"n/a",icon:o.jsx(VN,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Lv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(qN,{})}],ee=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(te=>te.value!=="n/a");g.useEffect(()=>{L&&d(L)},[L]),g.useEffect(()=>{const te=G||z;te?.phase==="error"&&te?.error&&m(typeof te.error=="string"?te.error:String(te.error))},[G?.phase,G?.error,z?.phase,z?.error]);const J=te=>{s(te)},ae=async te=>(i(te.provider),c(te.modelId),{message:"Model updated successfully"}),pe=async()=>{const te=Object.entries(u).reduce((ue,[fe,ce])=>(ce===""&&ue.push(fe),ue),[]);if(te.length>0){p(te);return}if(N){m(null),y(!1),x(""),_(!0);try{const fe={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:ce}=await B({});x(ce),n(me=>{const be=new URLSearchParams(me);return be.set("runId",ce),be.set("resume","true"),be.set("provider",r||"openai"),be}),await M.mutateAsync({inputData:fe,selectedModel:{provider:a,modelId:l},runId:ce})}catch(ue){_(!1),m(ue?.message||"Template installation failed"),console.error("Template installation failed",ue)}}},Y=te=>{const{name:ue,value:fe}=te.target;fe.trim()===""?p(ce=>[...ce,ue]):p(ce=>ce.filter(me=>me!==ue)),d(ce=>({...ce,[ue]:fe}))};return o.jsx(fs,{children:o.jsx("div",{className:X("w-full lg:px-12 h-full overflow-y-scroll"),children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[80rem] gap-y-4 p-6",children:[o.jsx(Bgs,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(V||Z)&&o.jsx(Zgs,{name:N.title,streamResult:Z?z:G,runId:b,workflowInfo:F}),v&&o.jsx(Ggs,{name:N.title,installedEntities:ee,linkComponent:ni}),h&&o.jsx(Fgs,{errorMsg:h,validationErrors:E.length>0?E:G?.validationResults?.errors||z?.validationResults?.errors}),!V&&!Z&&!v&&!h&&o.jsx(zgs,{providerOptions:K,selectedProvider:r,onProviderChange:J,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:pe,handleVariableChange:Y,isLoadingEnvVars:D||H,isInstalling:U,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const Ygs=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(krs,{toolId:e,agentId:t})})},Kgs=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(tms,{toolId:e})})};function Xgs(){const{traceId:e}=Sr(),[t,n]=si(),r=Ws(),s=t.get("spanId")||void 0,a=t.get("tab"),i=a==="scoring"?"scoring":a==="feedback"?"feedback":"details",l=t.get("scoreId")||void 0,[c,u]=g.useState(s??null),[d,f]=g.useState(),[p,h]=g.useState(i),[m,v]=g.useState(0),[y,b]=g.useState(!1),{data:x,isLoading:S,error:k}=cAe(e),C=g.useMemo(()=>x?.spans??[],[x?.spans]),_=g.useMemo(()=>C.find(Y=>Y.parentSpanId==null),[C]),E=dAe(),T=lxe({traceIds:[e],enabled:!E.isLoading&&E.supportsMetrics,autoRefetch:!1}),{data:N,isLoading:I}=SL(e,c??"");g.useEffect(()=>v(0),[e,c]);const{data:A,isLoading:R}=uh(),{data:L,isLoading:D}=r7t({traceId:e,spanId:c??void 0,page:m}),[F,H]=g.useState(0);g.useEffect(()=>H(0),[e,c]);const{data:B,isLoading:U}=vUt({traceId:e,page:F});g.useEffect(()=>{if(l&&L?.scores&&!d){const Y=L.scores.find(te=>te.id===l);Y&&f(Y)}},[l,L?.scores,d]);const q=g.useCallback(Y=>{const te=new URLSearchParams(t);for(const[ue,fe]of Object.entries(Y))fe===null||fe===""?te.delete(ue):te.set(ue,fe);n(te,{replace:!0})},[t,n]),M=g.useCallback(Y=>{const te=Y??null,ue=te===c;u(te),ue||(f(void 0),h("details"),q({spanId:te,tab:null,scoreId:null}))},[c,q]),G=g.useCallback(()=>{u(null),f(void 0),h("details"),q({spanId:null,tab:null,scoreId:null})},[q]),V=g.useCallback(Y=>{u(Y),f(void 0),h("details"),q({spanId:Y,tab:null,scoreId:null})},[q]),{handlePreviousSpan:$,handleNextSpan:z}=uAe(C,c,V),Z=g.useCallback(Y=>{const te=Y;h(te),f(void 0),q({tab:te==="details"?null:te,scoreId:null})},[q]),K=g.useCallback(Y=>{f(Y),q({scoreId:Y.id})},[q]),ne=g.useCallback(()=>{f(void 0),q({scoreId:null})},[q]),ee=g.useCallback(()=>{r("/traces")},[r]),J=g.useCallback(()=>{h("scoring"),_&&c!==_.spanId?(u(_.spanId),f(void 0),q({spanId:_.spanId,tab:"scoring",scoreId:null})):q({tab:"scoring"})},[_,c,q]),ae=_?o.jsx($y,{owner:"trace-detail",children:o.jsxs(Mr,{children:[o.jsxs(le,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:J,children:[o.jsx(EZt,{}),"Evaluate"]}),o.jsxs(le,{tooltip:"Save as Dataset Item","aria-label":"Save as Dataset Item",onClick:()=>b(!0),children:[o.jsx(Nd,{}),"Save"]})]})}):null,pe=_?o.jsx(Vt.Row,{children:o.jsx(Vt.Column,{children:o.jsx(tUt,{rootSpan:_,usage:T.data?.get(e),numOfCol:3})})}):null;return k?o.jsxs(Vt,{height:"full",children:[ae,pe&&o.jsx(Vt.TopArea,{children:pe}),o.jsx(Vt.MainArea,{isCentered:!0,children:o.jsx(iUt,{error:k,resource:"traces",errorTitle:"Failed to load trace"})})]}):o.jsxs(Vt,{height:"full",className:"grid-rows-[auto_minmax(0,1fr)] content-normal",children:[ae,pe&&o.jsx(Vt.TopArea,{children:pe}),o.jsx(fUt,{rootSpanId:_?.spanId,traceId:e,isOpen:y,onClose:()=>b(!1)}),o.jsxs("div",{className:X("mt-4 grid min-h-0 items-stretch gap-4 overflow-hidden",c?"grid-cols-[2fr_3fr]":"grid-cols-[1fr]"),children:[o.jsx(nAe,{traceId:e,spans:C,isLoading:S,onClose:ee,onSpanSelect:M,onEvaluateTrace:J,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!S&&o.jsxs("div",{className:X("grid h-full max-h-full min-h-0 gap-4 overflow-auto",d?"grid-rows-[1fr_1fr]":"grid-rows-[1fr]"),children:[o.jsx(JIe,{traceId:e,spanId:c,span:N?.span,isLoading:I,onClose:G,onPrevious:$,onNext:z,activeTab:p,onTabChange:Z,feedbackTabBadge:B?.pagination?.total??void 0,feedbackTabSlot:()=>o.jsx(hUt,{feedbackData:B,onPageChange:H,isLoadingFeedbackData:U}),scoringTabBadge:L?.pagination?.total??void 0,scoringTabSlot:({span:Y,traceId:te,spanId:ue})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(gUt,{traceId:te,isTopLevelSpan:!Y.parentSpanId,spanId:ue,entityType:Y.attributes?.agentId||Y.entityType===Ec.AGENT?"Agent":Y.attributes?.workflowId||Y.entityType===Ec.WORKFLOW_RUN?"Workflow":void 0,scorers:A,isLoadingScorers:R}),o.jsx(mUt,{scoresData:L,onPageChange:v,isLoadingScoresData:D,onScoreSelect:K})]})}),d&&o.jsx(xIe,{score:d,onClose:ne})]})]})]})}function Jgs(){const{data:e,isLoading:t,error:n}=Hy(),[r,s]=g.useState("");return n&&xs(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"workflows"})}):n?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(cr,{children:o.jsx(tVr,{})}):o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsxs(Vt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(zf,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(le,{as:ni,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(ND,{}),"Schedules"]})]})}),o.jsx(eVr,{workflows:e||{},isLoading:t,search:r})]})}const evs={active:"bg-accent1",paused:"bg-accent3"},tvs={active:"text-accent1",paused:"text-accent3"},BUt=({status:e})=>o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${evs[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${tvs[e]}`,children:e})]}),uj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),H2=e=>{if(!e||e<=0)return"—";const t=e-Date.now(),n=Math.abs(t),r=Math.floor(n/1e3);if(r<60)return t>=0?`in ${r}s`:`${r}s ago`;const s=Math.floor(r/60);if(s<60)return t>=0?`in ${s}m`:`${s}m ago`;const a=Math.floor(s/60);if(a<24)return t>=0?`in ${a}h`:`${a}h ago`;const i=Math.floor(a/24);return t>=0?`in ${i}d`:`${i}d ago`};function UUt({status:e}){const{icon:t,color:n}=nvs(e);return o.jsxs("span",{className:`text-ui-sm inline-flex items-center gap-1.5 whitespace-nowrap ${n}`,children:[o.jsx("span",{className:"inline-flex shrink-0 items-center","aria-hidden":!0,children:t}),o.jsx("span",{children:e})]})}function nvs(e){switch(e){case"success":return{icon:o.jsx(da,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(ws,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Jt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(Kq,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx($f,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(hj,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const bet="auto auto auto auto 1fr";function rvs(e){if(e===void 0)return"—";if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${t}m ${n}s`}function svs(e){const t=Math.abs(e),n=e<0?"-":"";return t<1e3?`${n}${t}ms`:t<6e4?`${n}${(t/1e3).toFixed(1)}s`:t<36e5?`${n}${(t/6e4).toFixed(1)}m`:`${n}${(t/36e5).toFixed(1)}h`}const avs=3e4,ivs=5*6e4;function ovs({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=xn();return t?o.jsx(ol,{columns:bet}):e.length===0?o.jsx(ye,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(ge,{columns:bet,className:"min-w-0",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Run"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{children:"Started"}),o.jsx(ge.TopCell,{children:"Duration"}),o.jsx(ge.TopCell,{children:" "})]}),e.map(c=>{const u=c.actualFireAt-c.scheduledFireAt,d=svs(u),f=`Scheduled ${uj(c.scheduledFireAt)} — published ${uj(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),v=!p&&m>avs&&m<=ivs,y=`${c.scheduleId}-${c.runId}-${c.actualFireAt}`,b=!!(n&&c.runId&&!p),x=o.jsx("span",{className:b?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:c.runId}),S=o.jsxs(o.Fragment,{children:[o.jsx(ge.Cell,{height:"compact",children:x}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[p?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(_f,{size:14}),"publish failed"]}):c.run?o.jsx(UUt,{status:c.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),h?o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(_f,{size:14})})}),o.jsx(On,{children:h})]}):null]})}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:f,children:H2(c.actualFireAt)}),v?o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(_f,{size:14})})}),o.jsxs(On,{children:["Published ",d," after the scheduled fire time"]})]}):null]})}),o.jsx(ge.Cell,{height:"compact",children:c.run?o.jsx("span",{children:rvs(c.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(ge.Cell,{height:"compact",children:" "})]});return b?o.jsx(ge.RowLink,{to:l.workflowRunLink(n,c.runId),LinkComponent:i,children:S},y):o.jsx(ge.RowStatic,{children:S},y)}),o.jsx(ge.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const lvs=e=>{const t=Ge();return vt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},xet=25,cvs=e=>{const t=Ge(),{inView:n,setRef:r}=G_(),s=Z1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:xet,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<xet))return u.triggers[u.triggers.length-1].actualFireAt},refetchInterval:u=>(u.state.data?.pages.flatMap(p=>p.triggers)??[]).some(p=>p.run?p.run.status==="pending"||p.run.status==="running"||p.run.status==="waiting":p.outcome==="published")?5e3:!1}),a=s.data?.pages.flatMap(u=>u?.triggers??[])??[],{hasNextPage:i,isFetchingNextPage:l,fetchNextPage:c}=s;return g.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},uvs=e=>{const t=Ge(),n=Br();return Dn({mutationFn:async r=>{if(!e)throw new Error("scheduleId is required");return r==="pause"?t.pauseSchedule(e):t.resumeSchedule(e)},onSuccess:(r,s)=>{n.invalidateQueries({queryKey:["schedule",e]}),n.invalidateQueries({queryKey:["schedules"]}),Fe.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{Fe.error(r.message)}})};function Bz({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function dvs(){const{scheduleId:e}=Sr(),{paths:t}=xn(),{data:n,error:r}=lvs(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=cvs(e),d=uvs(e);if(r&&xs(r))return o.jsx(cr,{children:o.jsx(Zs,{})});if(r&&Ss(r))return o.jsx(cr,{children:o.jsx($s,{resource:"schedules"})});if(r)return o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsx(Vt.Row,{className:"justify-end",children:o.jsxs(Vt.Column,{className:"flex justify-end gap-2",children:[o.jsxs(le,{as:ni,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(Rc,{}),"Back to schedules"]}),f?o.jsx(le,{as:ni,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(le,{onClick:()=>d.mutate(n.status==="active"?"pause":"resume"),disabled:d.isPending,"data-testid":"schedule-toggle-button",children:n.status==="active"?o.jsxs(o.Fragment,{children:[o.jsx($xe,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(qp,{}),"Resume"]})}):null]})})}),n?o.jsxs("div",{className:"grid h-full grid-cols-[minmax(0,20rem)_1fr] gap-6 overflow-hidden",children:[o.jsxs("div",{className:"border-border1 flex h-fit flex-col gap-4 rounded-md border p-4",children:[o.jsx(Bz,{label:p?"Agent":"Workflow",children:f?o.jsx(ni,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(ni,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(Bz,{label:"Cron",children:[o.jsx("code",{className:"text-ui-md font-mono",children:n.cron}),n.timezone?o.jsx("span",{className:"text-neutral4 text-ui-sm ml-2",children:n.timezone}):null]}),o.jsx(Bz,{label:"Status",children:o.jsx(BUt,{status:n.status})}),o.jsx(Bz,{label:"Next fire",children:o.jsx("span",{title:uj(n.nextFireAt),children:H2(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ye,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(Hi,{title:"Failed to load trigger history",message:i.message}):o.jsx(ovs,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const wet="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function fvs({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=xn(),a=g.useMemo(()=>{const i=n.toLowerCase();return i?e.filter(l=>l.id.toLowerCase().includes(i)||(l.workflowId??l.agentId??"").toLowerCase().includes(i)):e},[e,n]);return t?o.jsx(ol,{columns:wet}):o.jsxs(ge,{columns:wet,variant:"striped",className:"min-w-0",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Target"}),o.jsx(ge.TopCell,{children:"Schedule ID"}),o.jsx(ge.TopCell,{children:"Cron"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{children:"Next fire"}),o.jsx(ge.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(ge.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(ge.NoMatch,{message:"No schedules configured"}):null,a.map(i=>o.jsxs(ge.RowLink,{to:r.scheduleLink(i.id),LinkComponent:s,children:[o.jsx(ge.NameCell,{children:i.workflowId??i.agentId}),o.jsx(ge.Cell,{height:"compact",className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:i.id,children:i.id})}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:i.cron}),i.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:i.timezone}):null]})}),o.jsx(ge.Cell,{height:"compact",children:o.jsx(BUt,{status:i.status})}),o.jsx(ge.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:uj(i.nextFireAt),children:H2(i.nextFireAt)})}),o.jsx(ge.Cell,{height:"compact",children:i.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(UUt,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:uj(i.lastFireAt),children:i.lastFireAt?H2(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:uj(i.lastFireAt),children:H2(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function pvs({workflowId:e}={}){const{data:t,isLoading:n,error:r}=T1e(e?{workflowId:e}:{}),[s,a]=g.useState("");return r?o.jsx(Hi,{title:"Failed to load schedules",message:r.message}):o.jsxs("div",{className:"grid h-full grid-rows-[auto_1fr] gap-4 overflow-hidden",children:[o.jsx("div",{className:"max-w-120",children:o.jsx(zf,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(fvs,{schedules:t??[],isLoading:n,search:s})})]})}function hvs(){const[e]=si(),t=e.get("workflowId")??void 0,{error:n}=T1e(t?{workflowId:t}:{});return n&&xs(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"schedules"})}):o.jsx(Vt,{children:o.jsx("div",{className:"h-full",children:o.jsx(pvs,{workflowId:t})})})}function mvs({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=rOe({stepGraph:e}),[a,i]=g.useState(!1),[l,c,u]=WOt(r),[d]=ZOt(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=T4t({edges:d,workflowName:n,stepGraph:e});return g.useEffect(()=>{if(t){const m=setTimeout(()=>{i(!0)},500);return()=>clearTimeout(m)}},[t]),o.jsx("div",{className:"bg-surface1 relative h-full w-full",children:a?o.jsxs(HOt,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(QTe,{position:"bottom-left"}),o.jsx(QOt,{variant:ay.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(Jt,{})})})}function gvs(){const{stepDetail:e,closeStepDetail:t}=nW();return e?o.jsxs("div",{className:"flex h-full flex-col","data-testid":"workflow-step-detail-panel",children:[o.jsxs("div",{className:"border-border1 bg-surface1 flex items-center justify-between border-b px-4 py-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e.type==="map-config"&&o.jsx(f9,{className:"h-4 w-4",style:{color:Iu.map}}),e.type==="nested-graph"&&o.jsx(td,{className:"h-4 w-4",style:{color:Iu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ye,{variant:"ui-md",className:"text-neutral6 font-medium",children:e.type==="map-config"?`${e.stepName} Config`:`${e.stepName} Workflow`}),e.type==="map-config"&&e.stepId&&e.stepId!==e.stepName&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral3",children:e.stepId})]})]}),o.jsx("button",{onClick:t,className:"hover:bg-surface3 rounded p-1 transition-colors","aria-label":"Close",children:o.jsx(ws,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(U2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(nOe,{children:o.jsx(mvs,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function vvs(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function yvs(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)){const n=Object.keys(e);if(n.length===1)return n[0]}return t}function bvs({suspendedSteps:e,workflow:t,isStreaming:n,onResume:r}){return n||e.length===0?null:o.jsxs("div",{className:"border-border1 bg-surface4 space-y-5 rounded-lg border p-5","data-testid":"workflow-suspended-steps",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs(ye,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(Ve,{children:o.jsx(Kq,{})}),"Step suspended"]}),o.jsx(on,{variant:"warning",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?hm(Tx(i.resumeSchema)):lf(fr(),vf());return o.jsx(xvs,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function xvs({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=g.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ye,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ye,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(zQt,{})}),"The step is asking"]}),o.jsxs(Ld,{open:a,onOpenChange:i,children:[o.jsxs(Ku,{className:"border-border1 bg-surface3 flex w-full items-center justify-between gap-2 rounded-lg border px-3 py-2.5",children:[o.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(aa,{className:X("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ye,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:yvs(e.suspendPayload,e.stepId)})]}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:vvs(e.suspendPayload)})]}),o.jsx(Xu,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Hr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(qQt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(qB,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(qp,{}),submitButtonFullWidth:!0,collapsible:!1,hideHeading:!0,hideInputTypeLabel:!0,onSubmit:l=>{const c=e.stepId?.split(".");s({stepId:c,runId:e.runId,suspendPayload:e.suspendPayload,resumeData:l,isLoading:!1})}})})]})]})}function wvs(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=g.useContext(ql),{runId:a}=Sr(),i=n_t(e,r??""),l=pJn(),c=!!a,u=t?.status==="suspended",f=!!(a&&r&&a===r)&&e?.status==="suspended";return s||!n||i.length===0||c&&!u&&!f?null:o.jsx("div",{"data-testid":"workflow-suspended-overlay",className:"animate-in fade-in-0 slide-in-from-top-2 zoom-in-95 absolute top-2 right-2 z-20 max-h-[calc(100%-1rem)] w-[380px] max-w-[calc(100%-1rem)] overflow-y-auto rounded-lg shadow-lg duration-300",children:o.jsx(bvs,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const Svs=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.97865 4.57004C8.22604 4.75795 8.27426 5.11082 8.08635 5.35821L6.05486 8.03279C5.94873 8.17251 5.78348 8.25471 5.60803 8.25505C5.43257 8.2554 5.267 8.17385 5.16032 8.03454L3.80937 6.27034C3.6205 6.02369 3.66733 5.67063 3.91398 5.48176C4.16063 5.29288 4.51369 5.33972 4.70257 5.58637L5.6051 6.76498L7.19048 4.67774C7.37839 4.43036 7.73126 4.38213 7.97865 4.57004Z",fill:"currentColor"})]}),kvs=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.89741 4.10293C8.11707 4.32261 8.11706 4.67877 7.89738 4.89843L6.79517 6.00058L7.8962 7.10155C8.11588 7.32122 8.11589 7.67737 7.89623 7.89705C7.67656 8.11673 7.32041 8.11674 7.10073 7.89707L5.99965 6.79605L4.89856 7.89707C4.67889 8.11673 4.32273 8.11672 4.10307 7.89704C3.88341 7.67737 3.88342 7.32121 4.10309 7.10155L5.20413 6.00058L4.10191 4.89843C3.88224 4.67877 3.88223 4.32262 4.10189 4.10294C4.32155 3.88326 4.67771 3.88325 4.89738 4.10292L5.99965 5.20511L7.10191 4.10291C7.32159 3.88325 7.67774 3.88326 7.89741 4.10293Z",fill:"currentColor"})]}),Ovs=e=>e.includes("."),_vs=e=>e==="input"||e.endsWith(".input"),Cvs=1;function Evs(e){return`${Number((e/1e3).toPrecision(3))}s`}function Tvs(e,t){const n=Object.entries(e).filter(([i])=>!_vs(i));if(n.length===0)return[];const r=Math.min(...n.map(([,i])=>i.startedAt)),s=Math.max(...n.map(([,i])=>i.endedAt??t)),a=Math.max(s-r,1);return n.map(([i,l])=>{const c=l.endedAt===void 0,d=(l.endedAt??t)-l.startedAt,f=(l.startedAt-r)/a*100,p=Math.max(d/a*100,Cvs);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:Ovs(i)}})}const jvs=({status:e})=>o.jsxs(Ve,{children:[e==="success"&&o.jsx(Svs,{className:"text-accent1"}),e==="failed"&&o.jsx(kvs,{className:"text-accent2"}),e==="suspended"&&o.jsx(Kq,{className:"text-accent3"}),e==="waiting"&&o.jsx(lpe,{className:"text-accent5"}),e==="skipped"&&o.jsx(lpe,{className:"text-icon3"}),e==="running"&&o.jsx(ca,{className:"text-accent6 animate-spin"})]}),Nvs={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function qUt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const ket=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},Ivs=e=>{const t=e;return b4t({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},Avs=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=Ivs(e.step),u=e.status==="running",d=!e.isNestedEntry;return o.jsxs("div",{role:"button",tabIndex:0,"data-testid":"workflow-timeline-row","data-workflow-step-key":e.stepId,"data-workflow-step-active":n?"true":void 0,"data-workflow-step-hovered":r?"true":void 0,"data-workflow-step-nested":e.isNestedEntry?"true":void 0,"aria-pressed":n,"aria-disabled":!d,onMouseEnter:()=>{d&&a(e.stepId)},onMouseLeave:()=>{d&&a(null)},onClick:()=>{d&&s(e.stepId)},onKeyDown:f=>{!d||f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),s(e.stepId))},className:X("grid grid-cols-[auto_auto_auto_minmax(0,10rem)_minmax(0,1fr)_auto_5rem] items-center gap-2 rounded-md border border-transparent px-2 py-1 text-left transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-accent1",d&&"cursor-pointer",d&&"hover:bg-surface4",d&&r&&!n&&"border-neutral6 bg-surface4",d&&n&&"border-accent1",e.isNestedEntry&&"cursor-default opacity-55"),children:[o.jsx("div",{className:"flex justify-center",children:o.jsx(jvs,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(le,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step input",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||i(e)},children:o.jsx(VYt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(Oq,{indicators:c,className:"shrink-0"})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral6 block max-w-full min-w-0 justify-self-stretch overflow-hidden text-left text-ellipsis whitespace-nowrap",children:qUt(e.stepId)}),o.jsx("div",{className:"bg-surface4 relative h-2 min-w-0 rounded",children:o.jsx("div",{"data-testid":"workflow-timeline-bar","data-offset":String(e.offsetPct),"data-width":String(e.widthPct),className:`absolute top-0 h-full rounded ${Nvs[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(le,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step output",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||l(e)},children:o.jsx(UYt,{})})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:Evs(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function Rvs(){const{steps:e}=R4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=mH(),[a,i]=g.useState(()=>Date.now()),[l,c]=g.useState(!1),[u,d]=g.useState(null),f=g.useRef(null);jyt(f,{enabled:!l});const p=Tvs(e,a),h=p.some(m=>m.isRunning);return g.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),g.useEffect(()=>{if(l||p.length===0)return;const m=f.current;m&&(m.scrollTop=m.scrollHeight)},[l,p.length]),p.length===0?null:o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-testid":"workflow-timeline",className:"pointer-events-none absolute right-0 bottom-0 z-20 px-2 pb-2",style:{left:"var(--workflow-left-panel-width, 0px)"},children:o.jsxs("div",{className:"rounded-studio-panel border-border1/50 bg-surface3 pointer-events-auto flex max-h-64 w-full min-w-0 flex-col gap-3 overflow-hidden border p-4 shadow-lg",children:[o.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3",children:[o.jsx(ye,{as:"p",variant:"ui-md",className:"text-neutral3",children:"Timeline"}),o.jsx("button",{type:"button","aria-label":l?"Expand timeline":"Collapse timeline","aria-expanded":!l,onClick:()=>c(m=>!m),className:"text-neutral3 hover:bg-surface4 hover:text-neutral6 rounded-md p-1 transition-colors",children:o.jsx(Na,{className:X("h-4 w-4 transition-transform",l&&"-rotate-90")})})]}),!l&&o.jsx("div",{ref:f,"data-testid":"workflow-timeline-list",className:"flex min-h-0 flex-col gap-2 overflow-y-auto",children:p.map((m,v)=>o.jsx(Avs,{row:m,index:v,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:ket(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:ket(y.step.output)})},`timeline-item-${m.stepId}-${v}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(s_t,{data:u.data,title:`${qUt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const Pvs=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=nW();return o.jsxs("div",{className:"flex h-full min-h-0",children:[o.jsx("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:o.jsxs("div",{className:"relative min-h-0 flex-1 p-2 pb-0",children:[o.jsx(M4t,{workflowId:e,workflow:t,isLoading:n}),o.jsx(wvs,{}),o.jsx(Rvs,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(gvs,{})})]})},Oet=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=U3(e);return r&&xs(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})}):r&&Ss(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"workflows"})}):o.jsx(wOe,{children:o.jsx(Pvs,{workflowId:e,workflow:t??void 0,isLoading:n})})};function $vs(e,t){if(e==null)return{};var n,r,s=lSt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function yxe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Mvs(e){if(Array.isArray(e))return yxe(e)}function Dvs(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Lvs(e,t){if(e){if(typeof e=="string")return yxe(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yxe(e,t):void 0}}function Fvs(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
642
|
+
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>fxe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>fxe(t))}return!1}function Hps({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function Wps({className:e,children:t}){return o.jsx("div",{className:X("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function Zps({className:e,children:t}){return o.jsx("h3",{className:X("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function Gps({className:e,children:t}){return o.jsx("dl",{className:X("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function Qps({className:e,children:t}){return o.jsx("dt",{className:X("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function Yps({className:e,children:t}){return o.jsx("dd",{className:X("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function Kps({className:e,children:t}){return o.jsx("dt",{className:X("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const Xps=Object.assign(Gps,{Key:Qps,Value:Yps,Header:Kps});function Jps({children:e}){return o.jsxs("div",{className:"text-ui-sm text-neutral3 flex items-center justify-center gap-2 px-4 py-6",children:[o.jsx(Jt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function ehs({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const Bi=Object.assign(Fps,{Header:Wps,Heading:Zps,CloseButton:zps,LoadingData:Jps,NoData:ehs,Content:Hps,KeyValueList:Xps,CodeSection:Vps}),fp=Bi.KeyValueList;function ths(e){return e instanceof Date?e:new Date(e)}function nhs({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=g.useState(!1),d=i??c,f=l??u,p=ths(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(Bi,{collapsed:d,children:[o.jsxs(Bi.Header,{children:[o.jsxs(Bi.Heading,{children:["Log ",o.jsx("b",{children:rr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[l&&o.jsx(le,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(iH,{}):o.jsx(p1e,{})}),o.jsxs(Mr,{spacing:"close",children:[o.jsx(le,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(sH,{})}),o.jsx(le,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(l3,{})})]}),o.jsx(Bi.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(Bi.Content,{children:[o.jsx("p",{className:"text-ui-md text-neutral4 font-mono wrap-break-word whitespace-pre-wrap",children:e.message}),(h||m)&&o.jsxs("div",{className:X("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(le,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(E7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(za,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(le,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(E7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(za,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(fp,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Entity Type"}),o.jsx(fp.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Entity Name"}),o.jsx(fp.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Service"}),o.jsx(fp.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Environment"}),o.jsx(fp.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Source"}),o.jsx(fp.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([v,y])=>o.jsxs(g.Fragment,{children:[o.jsx(fp.Key,{children:v}),o.jsx(fp.Value,{children:String(y)})]},v))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(Bi.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function rhs({error:e,resource:t,errorTitle:n}){if(xs(e))return o.jsx(Zs,{});if(Ss(e))return o.jsx($s,{resource:t});if(g4(e))return o.jsx(Lr,{iconSlot:o.jsx(T7,{}),titleSlot:"Observability storage is not available",descriptionSlot:"The observability storage domain is disabled or not configured. Enable it in your storage configuration to view logs in Studio."});if(m4(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx(T7,{}),titleSlot:"Logs are not available with your current storage",descriptionSlot:"The configured observability storage provider does not support listing logs. Switch to a storage provider with logs support to view runtime logs in Studio."});const r=e instanceof Error?e.message:void 0;return o.jsx(Hi,{title:n,message:r??"Unknown error"})}function shs({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:X("grid h-full min-h-0 items-start gap-4",a?"grid-cols-[1fr_1fr]":"grid-cols-[1fr]"),children:[e,a&&o.jsxs("div",{className:X("grid h-full gap-4 overflow-auto",n&&r?s?"grid-rows-[auto_1fr_1fr]":"grid-rows-[1fr_1fr_1fr]":n?s?"grid-rows-[auto_1fr]":"grid-rows-[1fr_1fr]":s?"grid-rows-[auto]":"grid-rows-[1fr]"),children:[t,n,r]})]})}const ahs={debug:{label:"DEBUG",color:"#71717a"},info:{label:"INFO",color:"#60a5fa"},warn:{label:"WARN",color:"#facc15"},error:{label:"ERROR",color:"#f87171"},fatal:{label:"FATAL",color:"#dc2626"}};function ihs({level:e}){const t=ahs[e];return o.jsx(jo,{height:"compact",children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function ohs({entityType:e,className:t}){const n=X("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(qo,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(td,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Bd,{className:n,"aria-hidden":!0});default:return null}}function lhs({entityType:e,entityName:t}){const n=e??"";return o.jsxs(jo,{height:"compact",className:"flex min-w-0 items-center gap-2",children:[o.jsx(ohs,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function chs({message:e}){return o.jsx(jo,{height:"compact",className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function uhs({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(jo,{height:"compact",children:null});const t=Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${n}: ${r}`;try{return`${n}: ${JSON.stringify(r)}`}catch{return`${n}: <unserializable>`}}).join(", ");return o.jsx(cTe,{children:t})}const Gl=Object.assign(_4,{Top:RZ,TopCell:lC,TopCellWithTooltip:PZ,TopCellSmart:$Dt,RowWrapper:pTe,RowButton:C4,RowLink:PDt,Spacer:hTe,NoMatch:AZ,DateCell:uTe,TimeCell:dTe,LevelCell:ihs,EntityCell:lhs,MessageCell:chs,DataCell:uhs,NextPageLoading:IZ}),det="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",dhs=36,fhs=8;function phs({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=g.useRef(null),u=lUt({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>dhs,overscan:fhs}),d=g.useRef(t);if(g.useEffect(()=>{d.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),d.current=t},[t]),t)return o.jsx(ol,{columns:det});const f=u.getVirtualItems(),p=u.getTotalSize(),h=f[0]?.start??0,m=f.length>0?Math.max(0,p-(f[f.length-1]?.end??0)):0;return o.jsxs(Gl,{columns:det,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(Gl.Top,{children:[o.jsx(Gl.TopCell,{children:"Date"}),o.jsx(Gl.TopCell,{children:"Time"}),o.jsx(Gl.TopCell,{children:"Level"}),o.jsx(Gl.TopCell,{children:"Entity"}),o.jsx(Gl.TopCell,{children:"Message"}),o.jsx(Gl.TopCell,{children:"Data"})]}),e.length===0?o.jsx(Gl.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(Gl.Spacer,{height:h}),f.map(v=>{const y=e[v.index];if(!y)return null;const b=a.get(y);if(!b)return null;const x=b===i;return o.jsxs(Gl.RowButton,{ref:u.measureElement,"data-index":v.index,onClick:()=>l(y),featured:x,variant:y.level==="error"||y.level==="fatal"?"error":"default",children:[o.jsx(Gl.DateCell,{timestamp:y.timestamp}),o.jsx(Gl.TimeCell,{timestamp:y.timestamp}),o.jsx(Gl.LevelCell,{level:y.level}),o.jsx(Gl.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(Gl.MessageCell,{message:y.message}),o.jsx(Gl.DataCell,{data:y.data})]},b)}),o.jsx(Gl.Spacer,{height:m})]}),o.jsx(Gl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function hhs({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>mhs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(YIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(GIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function mhs(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}const ghs={"last-24h":"the last 24 hours","last-3d":"the last 3 days","last-7d":"the last 7 days","last-14d":"the last 14 days","last-30d":"the last 30 days"},lie="MMM d, yyyy HH:mm",cie="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function vhs({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${ghs[e]}`,description:cie}:t&&n?{title:`No logs between ${rr(t,lie)} and ${rr(n,lie)}`,description:cie}:t?{title:`No logs since ${rr(t,lie)}`,description:cie}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const yhs=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=vhs({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(T7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(h1e,{})]})})})},bhs=20,xhs=1e4;function whs(e,t,n){if(e?.pagination?.hasMore)return n+1}function Shs(e){const t=new Set,n=[];for(const r of e.pages)for(const s of r.logs??[]){const a=s.logId??JSON.stringify(s);t.has(a)||(t.add(a),n.push(s))}return n}function khs(e){return m4(e.state.error,"logs")||g4(e.state.error)?!1:xhs}const Ohs=({filters:e}={})=>{const t=Ge(),{inView:n,setRef:r}=G_(),s=Z1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:bhs},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:whs,select:Shs,retry:!1,refetchInterval:khs}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return g.useEffect(()=>{n&&a&&!i&&l()},[n,a,i,l]),{data:c,hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,isLoading:u,isError:d,error:f,setEndOfListElement:r}},Mz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},NUt=[{label:"Agent",entityType:Mz.AGENT},{label:"Workflow",entityType:Mz.WORKFLOW},{label:"Scorer",entityType:Mz.SCORER},{label:"Ingest",entityType:Mz.INGEST}],_hs=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],Gx="rootEntityType",Kb="datePreset",Xb="dateFrom",Jb="dateTo",Chs=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),Nl={level:"filterLevel",tags:"filterTags",entityName:"filterEntityName",traceId:"filterTraceId",spanId:"filterSpanId",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId"},kL=Object.keys(Nl),xAe=new Set(["tags"]),wAe="mastra:logs:saved-filters";function Ehs(e,t=wAe){const n=Ahs(e),r=e.get(Kb);r&&n.set(Kb,r);const s=e.get(Xb);s&&n.set(Xb,s);const a=e.get(Jb);a&&n.set(Jb,a);try{localStorage.setItem(t,n.toString())}catch{}}function Ths(e=wAe){try{localStorage.removeItem(e)}catch{}}function fet(e=wAe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function jhs(e){if(e.has(Kb)||e.has(Xb)||e.has(Jb)||e.has(Gx))return!0;for(const t of kL)if(e.has(Nl[t]))return!0;return!1}function Nhs({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:NUt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"level",label:"Level",kind:"pick-multi",searchable:!1,options:_hs.map(u=>({label:u.label,value:u.value})),placeholder:"Choose level",emptyText:"No levels."},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"traceId",label:"Trace ID",kind:"text"},{id:"spanId",label:"Span ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"threadId",label:"Thread ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function Ihs(e){const t=[],n=new Map([[Gx,"rootEntityType"]]);for(const s of kL)n.set(Nl[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),xAe.has(a)){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function Ahs(e){const t=new URLSearchParams,n=e.get(Gx);n&&t.set(Gx,n);for(const r of kL){const s=Nl[r];if(xAe.has(r)){for(const i of e.getAll(s))t.append(s,i);continue}const a=e.get(s);a&&t.set(s,a)}return t}function Rhs(e,t){e.delete(Gx);for(const n of kL)e.delete(Nl[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(Gx,n.value);continue}const r=Nl[n.fieldId];if(r){if(xAe.has(n.fieldId)&&Array.isArray(n.value)){if(n.value.length===0)e.append(r,"");else for(const s of n.value)e.append(r,s);continue}typeof n.value=="string"&&e.set(r,n.value.trim())}}}function Phs({rootEntityType:e,dateFrom:t,dateTo:n,tokens:r}){const s={};e&&(s.rootEntityType=e),(t||n)&&(s.timestamp={...t?{start:t}:{},...n?{end:n}:{}});for(const a of r){if(a.fieldId==="tags"){Array.isArray(a.value)&&a.value.length>0?s.tags=a.value:typeof a.value=="string"&&a.value.trim()&&(s.tags=[a.value.trim()]);continue}if(a.fieldId==="level"){typeof a.value=="string"&&a.value.trim()&&a.value!=="Any"&&(s.level=a.value);continue}if(typeof a.value=="string"&&a.value.trim()&&a.value!=="Any")switch(a.fieldId){case"entityName":s.rootEntityName=a.value;break;case"traceId":s.traceId=a.value;break;case"spanId":s.spanId=a.value;break;case"runId":s.runId=a.value;break;case"threadId":s.threadId=a.value;break;case"sessionId":s.sessionId=a.value;break;case"requestId":s.requestId=a.value;break;case"resourceId":s.resourceId=a.value;break;case"userId":s.userId=a.value;break;case"organizationId":s.organizationId=a.value;break;case"serviceName":s.serviceName=a.value;break;case"environment":s.environment=a.value;break;case"experimentId":s.experimentId=a.value;break}}return s}function $hs(e,t){return t.map(n=>{const r=e.find(s=>s.id===n.fieldId);return r?r.kind==="text"?{fieldId:n.fieldId,value:""}:r.kind==="pick-multi"?r.multi?{fieldId:n.fieldId,value:[]}:{fieldId:n.fieldId,value:"Any"}:n:n})}const Mhs="Filters setting for Logs saved",Dhs="Filters setting for Logs cleared up";function Lhs(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=g.useState(()=>fet(r)!==null),c=g.useCallback(()=>{Ehs(e,r),l(!0);const f=s?.saved??Mhs;f!==!1&&Fe.success(f)},[e,r,s?.saved]),u=g.useCallback(()=>{Ths(r),l(!1);const f=s?.cleared??Dhs;f!==!1&&Fe.success(f)},[r,s?.cleared]),d=g.useRef(!1);return g.useEffect(()=>{if(a||d.current||(d.current=!0,jhs(e)))return;const f=fet(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,v]of f)h.append(m,v);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Fhs(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}function zhs(e){const t=new Map;for(const n of e){if(n.logId){t.set(n,n.logId);continue}const r=n.timestamp instanceof Date?n.timestamp.toISOString():n.timestamp;t.set(n,Fhs(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Bhs(e,t,n,r){const s=g.useMemo(()=>zhs(e),[e]),a=g.useMemo(()=>{const h=new Map;for(const[m,v]of e.entries()){const y=s.get(v);y&&h.set(y,{log:v,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=g.useCallback(h=>s.get(h),[s]),d=g.useCallback(h=>{const m=s.get(h);if(m){if(t===m){n({logId:null});return}n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}},[s,t,r,n]),f=l>0?()=>{const h=e[l-1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0,p=l>=0&&l<e.length-1?()=>{const h=e[l+1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0;return{logIdMap:s,getLogId:u,featuredLog:c,handleLogClick:d,handlePreviousLog:f,handleNextLog:p}}const pxe="logId",hxe="traceId",mxe="spanId",hP=1440*60*1e3,Uhs={"last-24h":hP,"last-3d":3*hP,"last-7d":7*hP,"last-14d":14*hP,"last-30d":30*hP};function Dz(e){e.delete(pxe),e.delete(hxe),e.delete(mxe)}function qhs(e,t,n){const{onRemoveAll:r}={},s=g.useMemo(()=>{const C=e.get(Kb);return C&&Chs.has(C)?C:"last-24h"},[e]),a=e.get(Xb),i=e.get(Jb),l=g.useMemo(()=>{if(s==="custom"){if(!a)return;const _=new Date(a);return Number.isNaN(_.getTime())?void 0:_}if(s==="all")return;const C=Uhs[s];return C?new Date(Date.now()-C):void 0},[s,a]),c=g.useMemo(()=>{if(s!=="custom"||!i)return;const C=new Date(i);return Number.isNaN(C.getTime())?void 0:C},[s,i]),u=g.useRef(s);u.current=s;const d=e.get(pxe),f=e.get(hxe),p=e.get(mxe),h=g.useMemo(()=>NUt.find(C=>C.entityType===e.get(Gx)),[e]),m=g.useMemo(()=>Ihs(e),[e]),v=g.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);for(const[T,N]of Object.entries(C)){const I=T==="logId"?pxe:T==="traceId"?hxe:mxe;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=g.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);return Rhs(E,C),Dz(E),E},{replace:!0})},[t]),b=y,x=g.useCallback((C,_)=>{if(u.current!=="custom")return;const E=_==="from"?Xb:Jb;t(T=>{const N=new URLSearchParams(T);return C?N.set(E,C.toISOString()):N.delete(E),Dz(N),N},{replace:!0})},[t]),S=g.useCallback(C=>{u.current=C,t(_=>{const E=new URLSearchParams(_);return C==="last-24h"?(E.delete(Kb),E.delete(Xb),E.delete(Jb)):C==="custom"?E.set(Kb,"custom"):(E.set(Kb,C),E.delete(Xb),E.delete(Jb)),Dz(E),E},{replace:!0})},[t]),k=g.useCallback(()=>{t(C=>{const _=new URLSearchParams(C);_.delete(Gx);for(const E of kL)_.delete(Nl[E]);return _.delete(Kb),_.delete(Xb),_.delete(Jb),Dz(_),_},{replace:!0}),r?.()},[t,r]);return g.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:v,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,v,b,x,S,k,y])}const Ob=Bi.KeyValueList;function Vhs({spanId:e,span:t,isLoading:n,onClose:r}){const s=XIe(t?.startedAt,t?.endedAt);return o.jsxs(Bi,{children:[o.jsxs(Bi.Header,{children:[o.jsxs(Bi.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Bi.CloseButton,{onClick:r})]}),n?o.jsx(Bi.LoadingData,{children:"Loading span..."}):t?o.jsxs(Bi.Content,{children:[o.jsxs(Ob,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Ob.Key,{children:"Type"}),o.jsx(Ob.Value,{children:t.spanType})]}),t.startedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Ob.Key,{children:"Started"}),o.jsx(Ob.Value,{children:rr(new Date(t.startedAt),"MMM dd, HH:mm:ss.SSS")})]}),t.endedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Ob.Key,{children:"Ended"}),o.jsx(Ob.Value,{children:rr(new Date(t.endedAt),"MMM dd, HH:mm:ss.SSS")})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Ob.Key,{children:"Duration"}),o.jsx(Ob.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(Bi.CodeSection,{title:"Input",icon:o.jsx(Ghe,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(Bi.CodeSection,{title:"Output",icon:o.jsx(Qhe,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(Bi.CodeSection,{title:"Metadata",icon:o.jsx(Ew,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(Bi.CodeSection,{title:"Attributes",icon:o.jsx(Ew,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(Bi.NoData,{children:"Span not found."})]})}function Hhs({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=g.useMemo(()=>tAe(t??[]),[t]),[l,c]=g.useState([]);g.useEffect(()=>{i.length>0&&c(eAe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(Bi,{children:[o.jsxs(Bi.Header,{children:[o.jsxs(Bi.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Bi.CloseButton,{onClick:r})]}),n?o.jsx(Bi.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(Bi.NoData,{children:"No spans found for this trace."}):o.jsx(Bi.Content,{children:o.jsx(aUt,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function Whs(){const[e,t]=si(),n=qhs(e,t),r=Lhs(e,t),[s,a]=g.useState(),[i,l]=g.useState(!1),{data:c=[],isPending:u}=lAe(),{data:d=[],isPending:f}=aAe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=iAe(),{data:m=[],isPending:v}=oAe(),y=g.useMemo(()=>Nhs({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:v,environments:h}}),[c,d,m,p,u,f,v,h]),b=g.useMemo(()=>Phs({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:x=[],isLoading:S,error:k,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E}=Ohs({filters:b}),{logIdMap:T,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Bhs(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=cAe(n.featuredTraceId??null),{data:F,isLoading:H}=SL(n.featuredTraceId??"",n.featuredSpanId??""),B=g.useCallback(()=>n.applyFilterTokens($hs(y,n.filterTokens)),[y,n]),U=g.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),q=g.useCallback(K=>n.handleFeaturedChange({traceId:K,spanId:null}),[n]),M=g.useCallback((K,ne)=>n.handleFeaturedChange({traceId:K,spanId:ne}),[n]),G=g.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),V=g.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=g.useCallback(K=>n.handleFeaturedChange({spanId:K??null}),[n]),z=o.jsxs(Vt.TopArea,{children:[o.jsx(Vt.Row,{children:o.jsxs(Vt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(p4,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:S,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(KIe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(hhs,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:B,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Vt,{width:"wide",height:"full",children:[z,o.jsx(Vt.MainArea,{isCentered:!0,children:o.jsx(rhs,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return x.length===0&&!S&&!Z?o.jsxs(Vt,{width:"wide",height:"full",children:[z,o.jsx(Vt.MainArea,{isCentered:!0,children:o.jsx(yhs,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Vt,{width:"wide",height:"full",children:[z,o.jsx(shs,{logCollapsed:i,listSlot:o.jsx(phs,{logs:x,isLoading:S,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E,logIdMap:T,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(nhs,{log:N,onClose:U,onTraceClick:q,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(Hhs,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:G,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(Vhs,{spanId:n.featuredSpanId,span:F?.span,isLoading:H,onClose:V}):null})]})}function Zhs({server:e}){const{paths:t,Link:n}=xn(),s=Ge().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=I9t(e),l=Object.values(i||{}),c=l.length,u=l.filter(p=>p.toolType==="agent").length,d=l.filter(p=>p.toolType==="workflow").length,f=Yh(e.name,50);return o.jsxs(ge.RowLink,{to:t.mcpServerLink(e.id),LinkComponent:n,children:[o.jsx(ge.NameCell,{children:f}),o.jsx(ge.DescriptionCell,{children:a}),o.jsx(ge.TextCell,{className:"text-center",children:u||""}),o.jsx(ge.TextCell,{className:"text-center",children:c||""}),o.jsx(ge.TextCell,{className:"text-center",children:d||""})]})}function Ghs({mcpServers:e,isLoading:t,search:n=""}){const r=g.useMemo(()=>{const s=n.toLowerCase();return e.filter(a=>a.name?.toLowerCase().includes(s)||a.id?.toLowerCase().includes(s))},[e,n]);return t?o.jsx(ol,{columns:"auto 1fr auto auto auto"}):o.jsxs(ge,{columns:"auto 1fr auto auto auto",variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Name"}),o.jsx(ge.TopCell,{children:"URL"}),o.jsx(ge.TopCellSmart,{long:"Agents",short:o.jsx(qo,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(ge.TopCellSmart,{long:"Tools",short:o.jsx(Bd,{}),tooltip:"Tools",className:"text-center"}),o.jsx(ge.TopCellSmart,{long:"Workflows",short:o.jsx(td,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(ge.NoMatch,{message:"No MCP Servers match your search"}):null,r.map(s=>o.jsx(Zhs,{server:s},s.id))]})}const Qhs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx($f,{}),titleSlot:"No MCP Servers yet",descriptionSlot:o.jsxs(o.Fragment,{children:["MCP servers are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(Oa,{})]})})}),Yhs=()=>{const{data:e=[],isLoading:t,error:n}=YG(),[r,s]=g.useState("");return n&&xs(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"MCP servers"})}):n?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(cr,{children:o.jsx(Qhs,{})}):o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(zf,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(Ghs,{mcpServers:e,isLoading:t,search:r})]})},Khs=(e,t)=>{const n=new Map,r=Object.keys(t);for(const s of r){const a=t[s],i=a.tools,l=Object.keys(i);for(const c of l){const u=i[c];n.has(u.id)||n.set(u.id,{...u,agents:[]}),n.get(u.id).agents.push({...a,id:s})}}for(const[s,a]of Object.entries(e))n.has(a.id)||n.set(a.id,{...a,agents:[]});return Array.from(n.values())};function Xhs({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=xn(),i=g.useMemo(()=>Khs(e,t),[e,t]),l=g.useMemo(()=>i.filter(c=>c.id.toLowerCase().includes(r.toLowerCase())),[i,r]);return n?o.jsx(ol,{columns:"auto 1fr auto"}):o.jsxs(ge,{columns:"auto 1fr auto",variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Name"}),o.jsx(ge.TopCell,{children:"Description"}),o.jsx(ge.TopCellSmart,{long:"Agents",short:o.jsx(qo,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(ge.NoMatch,{message:"No Tools match your search"}):null,l.map(c=>{const u=Yh(c.id,50),d=Yh(c.description??"",200),f=c.agents.length;return o.jsxs(ge.RowLink,{to:s.toolLink(c.id),LinkComponent:a,children:[o.jsx(ge.NameCell,{children:u}),o.jsx(ge.DescriptionCell,{children:d}),o.jsx(ge.TextCell,{className:"text-center",children:f||""})]},c.id)})]})}const Jhs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx($f,{}),titleSlot:"No Tools yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Mastra tools are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(Oa,{})]})})}),ems=()=>{const e=Ge();return Dn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new T_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw Fe.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},tms=({toolId:e})=>{const{canExecute:t}=Wo(),n=t("tools"),{data:r={}}=Im(),s=g.useMemo(()=>{for(const v of Object.values(r))if(v.tools){const y=Object.values(v.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=QNr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=ems(),{requestContext:p}=ps();g.useEffect(()=>{if(l){const v=l instanceof Error?l.message:"Failed to load tool";Fe.error(`Error loading tool: ${v}`)}},[l]);const h=async(v,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:v,requestContext:b})},m=c?.inputSchema?hm(Tx(c?.inputSchema)):vs({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(St,{className:"mb-4 h-8 w-48"}),o.jsx(St,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(_Ie,{executionResult:f,isExecutingTool:d,zodInputSchema:m,handleExecuteTool:h,toolDescription:c.description,toolId:c.id,requestContextSchema:c.requestContextSchema}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ye,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ye,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function nms({value:e,onValueChange:t,placeholder:n="Select a tool...",searchPlaceholder:r="Search tools...",emptyText:s="No tools found.",className:a,disabled:i=!1,variant:l}){const{data:c={},isLoading:u,isError:d,error:f}=FI(),{data:p={},isLoading:h,isError:m,error:v}=Im(),{navigate:y,paths:b}=xn();g.useEffect(()=>{if(d){const C=f instanceof Error?f.message:"Failed to load tools";Fe.error(`Error loading tools: ${C}`)}},[d,f]),g.useEffect(()=>{if(m){const C=v instanceof Error?v.message:"Failed to load agents";Fe.error(`Error loading agents: ${C}`)}},[m,v]);const x=new Map;Object.values(p).forEach(C=>{C.tools&&Object.values(C.tools).forEach(_=>{x.has(_.id)||x.set(_.id,_)})}),Object.values(c).forEach(C=>{x.has(C.id)||x.set(C.id,C)});const S=Array.from(x.values()).map(C=>({label:C.id,value:C.id})),k=C=>{t?t(C):C&&C!==e&&y(b.toolLink(C))};return o.jsx(Ll,{options:S,value:e,onValueChange:k,placeholder:u||h?"Loading tools...":n,searchPlaceholder:r,emptyText:s,className:a,disabled:i||u||h||d||m,variant:l})}const rms=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=g.useState({sseUrl:"",httpStreamUrl:""});if(g.useEffect(()=>{if(!t)return;const i=window.MASTRA_SERVER_HOST,l=window.MASTRA_SERVER_PORT;let c=null;i&&l&&(c=`http://${i}:${l}`);const u=c||"http://localhost:4111",d=`${u}/api/mcp/${t.id}/sse`,f=`${u}/api/mcp/${t.id}/mcp`;s({sseUrl:d,httpStreamUrl:f})},[t]),e)return null;if(!t)return o.jsx(Oy,{children:o.jsx(ye,{as:"h1",variant:"header-md",className:"text-neutral3 py-20 text-center font-medium",children:"Server not found"})});const a=`npx -y mcp-remote ${n}`;return o.jsxs(Oy,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ye,{as:"h1",variant:"header-md",className:"text-neutral6 pb-4 font-medium",children:t.name}),o.jsxs("div",{className:"flex items-center gap-1 pb-6",children:[o.jsx(on,{icon:o.jsx(nUt,{className:"text-neutral6"}),className:"text-neutral4! rounded-r-sm",children:"Version"}),o.jsx(on,{className:"text-neutral4! rounded-l-sm",children:t.version_detail.version})]}),o.jsx(ye,{className:"text-neutral3 pb-4",children:"This MCP server can be accessed through multiple transport methods. Choose the one that best fits your use case."}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ye,{className:"text-neutral3 pt-1 pb-2",children:"Use for stateless HTTP transport with streamable responses."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(za,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ye,{className:"text-neutral3 pt-1 pb-2",children:"Use for real-time communication via SSE."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(za,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ye,{className:"text-neutral3 pt-1 pb-2",children:"Use for local command-line access via npx and mcp-remote."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(za,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(sms,{server:t})})]})},sms=({server:e})=>{const{data:t={},isLoading:n}=I9t(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"overflow-y-scroll p-5",children:[o.jsxs("div",{className:"text-neutral6 flex items-center gap-2",children:[o.jsx(Ve,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(vC,{})}),o.jsx(ye,{variant:"header-md",as:"h2",className:"font-medium",children:"Available Tools"})]}),o.jsx("div",{className:"flex flex-col gap-2 pt-6",children:r.map(s=>{const a=t[s];return o.jsx(ims,{tool:a,serverId:e.id},s)})})]})};function ams(e){if(!e)return!1;const t=e.ui;return!!(typeof t?.resourceUri=="string"&&t.resourceUri.startsWith("ui://")||typeof e["ui/resourceUri"]=="string"&&e["ui/resourceUri"].startsWith("ui://"))}const ims=({tool:e,serverId:t})=>{const n=g.useRef(null),{Link:r,paths:s}=xn(),a=i7t[e.toolType||"tool"],i=ams(e._meta);return o.jsxs(Uf,{onClick:()=>n.current?.click(),children:[o.jsx(WMt,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Vf,{children:[o.jsx(qf,{children:o.jsxs("span",{className:"flex items-center gap-2",children:[o.jsx(r,{ref:n,href:s.mcpServerToolLink(t,e.id),children:e.id}),i&&o.jsx(on,{className:"py-0 text-[10px]",children:"App"})]})}),o.jsx(ah,{children:e.description})]})]})},oms=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=YG(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(rms,{isLoading:n,server:r})})};function lms(e){if(!e)return;const t=e.ui;if(t?.resourceUri)return t.resourceUri;const n=e["ui/resourceUri"];if(typeof n=="string")return n}const cms=({toolId:e,serverId:t})=>{const{canExecute:n}=Wo(),r=n("tools"),s=Ge(),{data:a,isLoading:i,error:l}=yIe(t,e),{mutateAsync:c,isPending:u,data:d}=XJr(t,e),f=a?lms(a._meta):void 0,{data:p}=vt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=g.useCallback(async(y,b)=>await c(b),[c]);g.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";Fe.error(`Error loading tool: ${y}`)}},[l]);const m=async y=>{if(a)return await c(y)};if(i)return o.jsxs("div",{className:"p-6",children:[o.jsx(St,{className:"mb-4 h-8 w-48"}),o.jsx(St,{className:"h-32 w-full"})]});if(l)return null;if(!a)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ye,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})});if(!r)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ye,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let v;try{v=hm(a.inputSchema)}catch(y){console.error("Error processing input schema:",y),Fe.error("Failed to process tool input schema."),v=vs({})}return o.jsxs("div",{className:"flex flex-col gap-4",children:[p&&o.jsx("div",{className:"border-border1 border-b p-4",children:o.jsx(N9t,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(_Ie,{executionResult:d,isExecutingTool:u,zodInputSchema:v,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},ums=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=yIe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(cms,{toolId:t,serverId:e})})},IUt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],PN="rootEntityType",$N={tags:"filterTags",entityId:"filterEntityId",entityName:"filterEntityName",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId",provider:"filterProvider",model:"filterModel"},wQ=Object.keys($N),SAe="mastra:metrics:saved-filters";function dms(e){const t=gms(e);try{localStorage.setItem(SAe,t.toString())}catch{}}function fms(){try{localStorage.removeItem(SAe)}catch{}}function AUt(){try{const e=localStorage.getItem(SAe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function pms(e){if(e.has(PN))return!0;for(const t of wQ)if(e.has($N[t]))return!0;return!1}function hms({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:IUt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"entityId",label:"Primitive ID",kind:"text"},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"threadId",label:"Thread ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function mms(e){const t=[],n=new Map([[PN,"rootEntityType"]]);for(const s of wQ)n.set($N[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),a==="tags"){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}if(a==="rootEntityType"||a==="entityName"||a==="serviceName"||a==="environment"||a==="provider"||a==="model"){const l=e.getAll(s);if(l.length>1){t.push({fieldId:a,value:l});continue}}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function gms(e){const t=new URLSearchParams,n=e.getAll(PN);for(const r of n)t.append(PN,r);for(const r of wQ){const s=$N[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function vms(e,t){e.delete(PN);for(const n of wQ)e.delete($N[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?PN:$N[n.fieldId];if(r)if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string"&&a!=="");if(s.length===0){n.fieldId==="tags"&&e.append(r,"");continue}for(const a of s)e.append(r,a)}else typeof n.value=="string"&&e.set(r,n.value.trim())}}const yms="Any";function pet(e){const t=e.trim();return t===""||t===yms}const bms=new Set(IUt.map(e=>e.entityType));function het(e){const t=e.trim();return bms.has(t)?t:void 0}function xms(e){const t={};for(const n of e){const r=n.fieldId;if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string").map(a=>a.trim()).filter(a=>!pet(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?het(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(pet(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=het(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const RUt=[{label:"Last 24 hours",value:"24h"},{label:"Last 3 days",value:"3d"},{label:"Last 7 days",value:"7d"},{label:"Last 14 days",value:"14d"},{label:"Last 30 days",value:"30d"}],wms=new Set(RUt.map(e=>e.value));function Sms(e){return typeof e=="string"&&(wms.has(e)||e==="custom")}const PUt=g.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function SQ(){return g.useContext(PUt)}function kms(e,t){return e!=="custom"?RUt.find(n=>n.value===e)?.label??e:t?.from?t.to?`${rr(t.from,"MMM d, yyyy")} – ${rr(t.to,"MMM d, yyyy")}`:rr(t.from,"MMM d, yyyy"):"Custom range"}function Oms({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=g.useMemo(()=>JSON.stringify(n),[n]),d=g.useMemo(()=>n,[u]),f=g.useMemo(()=>xms(d),[d]),p=g.useMemo(()=>JSON.stringify(f),[f]),h=kms(t,a),m=g.useMemo(()=>({datePreset:t,setDatePreset:r,customRange:a,setCustomRange:i??(()=>{}),dateRangeLabel:h,filterTokens:d,setFilterTokens:s,dimensionalFilter:f,dimensionalFilterKey:p,tracesBasePath:l,logsBasePath:c}),[t,r,a,i,h,d,s,f,p,l,c]);return o.jsx(PUt.Provider,{value:m,children:e})}const _ms=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function Cms(e){switch(e){case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return"last-24h"}}function Ems(e){switch(e){case"last-3d":return"3d";case"last-7d":return"7d";case"last-14d":return"14d";case"last-30d":return"30d";case"custom":return"custom";default:return"24h"}}function Tms(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=SQ(),s=g.useRef(e);s.current=e;const a=g.useRef(n);return a.current=n,o.jsx(p4,{preset:Cms(e),onPresetChange:i=>{const l=Ems(i);s.current=l,t(l)},dateFrom:n?.from,dateTo:n?.to,onDateChange:(i,l)=>{if(s.current!=="custom")return;const c={...a.current,[l]:i};a.current=c,r(c)},presets:_ms})}const gxe=1440*60*1e3,jms={"24h":gxe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Nms(e,t,n){if(e!=="custom"){const r=jms[e]??gxe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-gxe),end:t?.to??new Date(n)}}function $m(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=SQ(),s=g.useRef(null),a=e==="custom"?`custom:${t?.from?.getTime()??""}:${t?.to?.getTime()??""}`:`preset:${e}`;(!s.current||s.current.key!==a)&&(s.current={key:a,anchor:Date.now()});const i=s.current.anchor,l=g.useMemo(()=>Nms(e,t,i),[e,t,i]),c=g.useMemo(()=>({timestamp:l,...n}),[l,r]),u=g.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function $Ut(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function OL({href:e,LinkComponent:t="a"}){return o.jsx(le,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(sNn,{})})}function Ims({href:e,LinkComponent:t="a"}){return o.jsx(le,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(zNn,{})})}const Ams=[{dataKey:"p50",label:"p50",color:Up.blue,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p50,0)/e.length)}`:"0",suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:Up.yellow,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p95,0)/e.length)}`:"0",suffix:"avg ms"})}];function Rms(e){return e==="agents"||e==="workflows"||e==="tools"}function uie({data:e,onPointClick:t}){return e.length===0?o.jsx(Gt.NoData,{message:"No latency data yet"}):o.jsx(Bq,{data:e,series:Ams,onPointClick:t?n=>{const r=n;typeof r?.tsMs=="number"&&Number.isFinite(r.tsMs)&&t(r)}:void 0})}function Pms({data:e,isLoading:t,isError:n,onPointClick:r,actions:s}){const a=(e?.agentData.length??0)>0,i=(e?.workflowData.length??0)>0,l=(e?.toolData.length??0)>0,c={agents:a,workflows:i,tools:l},u=a?"agents":i?"workflows":l?"tools":"agents",[d,f]=g.useState("agents"),p=c[d]?d:u,h=typeof s=="function"?s(p):s,m=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),v=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=v.length>0?`${Math.round(v.reduce((b,x)=>b+x,0)/v.length)}ms`:"—";return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Gt.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Gt.Actions,{children:h}):null]}),t?o.jsx(Gt.Loading,{}):n?o.jsx(Gt.Error,{message:"Failed to load latency data"}):o.jsx(Gt.Content,{children:m?o.jsxs(pc,{value:p,onValueChange:b=>{Rms(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(jr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(jr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:o.jsx(uie,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Xr,{value:"workflows",children:o.jsx(uie,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Xr,{value:"tools",children:o.jsx(uie,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Gt.NoData,{message:"No latency data yet"})})]})}function $ms(e){switch(e){case"24h":return"last-24h";case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return}}function Mms(e,t){if(t==="1h"){const s=new Date(e);s.setUTCMinutes(0,0,0);const a=new Date(s.getTime()+3600*1e3);return{from:s,to:a}}const n=new Date(e);n.setUTCHours(0,0,0,0);const r=new Date(n.getTime()+1440*60*1e3);return{from:n,to:r}}function MUt(e,t,n,r,s,a,i){if(i){e.set(t,"custom"),e.set(n,i.from.toISOString()),e.set(r,i.to.toISOString());return}if(s==="custom"){e.set(t,"custom"),a?.from&&e.set(n,a.from.toISOString()),a?.to&&e.set(r,a.to.toISOString());return}const l=$ms(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function DUt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function met({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/traces"}){const a=new URLSearchParams;a.set(Pw,"branches"),MUt(a,$w,Mw,Dw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Wx,i),r.status&&a.set(Zx,r.status),$o(a,jl.entityName,r.entityName??n.entityName),$o(a,jl.threadId,r.threadId??n.threadId),$o(a,jl.resourceId,r.resourceId??n.resourceId),$o(a,jl.entityId,n.entityId),$o(a,jl.runId,n.runId),$o(a,jl.sessionId,n.sessionId),$o(a,jl.requestId,n.requestId),$o(a,jl.userId,n.userId),$o(a,jl.organizationId,n.organizationId),$o(a,jl.experimentId,n.experimentId),$o(a,jl.serviceName,n.serviceName),$o(a,jl.environment,n.environment),DUt(a,jl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function Dms({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;MUt(a,Kb,Xb,Jb,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Gx,i),$o(a,Nl.entityName,r.entityName??n.entityName),$o(a,Nl.threadId,r.threadId??n.threadId),$o(a,Nl.resourceId,r.resourceId??n.resourceId),$o(a,Nl.runId,n.runId),$o(a,Nl.sessionId,n.sessionId),$o(a,Nl.requestId,n.requestId),$o(a,Nl.userId,n.userId),$o(a,Nl.organizationId,n.organizationId),$o(a,Nl.experimentId,n.experimentId),$o(a,Nl.serviceName,n.serviceName),$o(a,Nl.environment,n.environment),DUt(a,Nl.tags,n.tags),r.status==="error"&&a.append(Nl.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function rA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=SQ(),a=g.useCallback((c={})=>met({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=g.useCallback((c={})=>Dms({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=g.useCallback((c,u,d)=>{const f=Mms(u,d);return met({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const LUt="1h";async function die(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:LUt,filters:n}),s=r.series.find(l=>l.percentile===.5),a=r.series.find(l=>l.percentile===.95);if(!s||!a)return[];const i=new Map(a.points.map(l=>[new Date(l.timestamp).getTime(),l.value]));return s.points.map(l=>{const c=new Date(l.timestamp),u=c.getTime();return{time:c.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tsMs:u,p50:Math.round(l.value),p95:Math.round(i.get(u)??0)}})}function Lms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([die(e,"mastra_agent_duration_ms",t),die(e,"mastra_workflow_duration_ms",t),die(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:LUt}}})}const get={agents:Ec.AGENT,workflows:Ec.WORKFLOW_RUN,tools:Ec.TOOL};function Fms(){const{data:e,isLoading:t,isError:n}=Lms(),{getTracesHref:r,getBucketTracesHref:s}=rA(),{Link:a}=xn(),i=Ws();return o.jsx(Pms,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:get[l]},c.tsMs,"1h"))},actions:l=>o.jsx(OL,{href:r({rootEntityType:get[l]}),LinkComponent:a})})}function zms(e){return e==="threads"||e==="resources"}function fie(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Bms({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("threads"),c=e.data?.map(y=>({...y,key:y.threadId}))??[],u=t.data?.map(y=>({...y,key:y.resourceId}))??[],d=c.length>0,f=u.length>0,p=e.data?.reduce((y,b)=>y+b.runs,0)??0,h=t.data?.reduce((y,b)=>y+b.threadCount,0)??0,m=i==="threads"?e:t,v=typeof s=="function"?s(i):s;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Gt.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Gt.Summary,{value:h.toLocaleString(),label:"Total threads"}),v?o.jsx(Gt.Actions,{children:v}):null]}),m.isLoading?o.jsx(Gt.Loading,{}):m.isError?o.jsx(Gt.Error,{message:"Failed to load memory data"}):o.jsx(Gt.Content,{children:o.jsxs(pc,{defaultTab:"threads",value:i,onValueChange:y=>{zms(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"threads",children:"Threads"}),o.jsx(jr,{value:"resources",children:"Resources"})]}),o.jsx(Xr,{value:"threads",children:d?o.jsxs(ge,{columns:"auto auto auto auto auto",...ixe,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:fie(y.threadId)}),o.jsx(ge.NumberCell,{children:y.resourceId?fie(y.resourceId):"—"}),o.jsx(ge.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(ge.NumberCell,{children:y.tokens>0?al(y.tokens):"—"}),o.jsx(ge.NumberCell,{children:y.cost!=null?Bp(y.cost,y.costUnit):"—"})]});return b?o.jsx(ge.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ge.RowStatic,{children:x},y.key)})]}):o.jsx(Gt.NoData,{message:"No thread activity yet"})}),o.jsx(Xr,{value:"resources",children:f?o.jsxs(ge,{columns:"auto auto auto auto",...ixe,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:fie(y.resourceId)}),o.jsx(ge.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(ge.NumberCell,{children:y.tokens>0?al(y.tokens):"—"}),o.jsx(ge.NumberCell,{children:y.cost!=null?Bp(y.cost,y.costUnit):"—"})]});return b?o.jsx(ge.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ge.RowStatic,{children:x},y.key)})]}):o.jsx(Gt.NoData,{message:"No resource activity yet"})})]})})]})}const pie=20;function Ums(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","top-active-threads",n],queryFn:async()=>{const r={groupBy:["threadId","resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count",limit:pie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:pie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:pie})]),l=new Map,c=d=>nA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.threadId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.threadId).map(d=>{const f=d.dimensions.threadId,p=l.get(f);return{threadId:f,resourceId:d.dimensions.resourceId??null,runs:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}const hie=20;function qms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","top-resources-by-threads",n],queryFn:async()=>{const r={groupBy:["resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",limit:hie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:hie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:hie})]),l=new Map,c=d=>nA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.resourceId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.resourceId).map(d=>{const f=d.dimensions.resourceId,p=l.get(f);return{resourceId:f,threadCount:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}function Vms(){const e=Ums(),t=qms(),{getTracesHref:n}=rA(),{Link:r}=xn();return o.jsx(Bms,{threads:{data:e.data,isLoading:e.isLoading,isError:e.isError},resources:{data:t.data,isLoading:t.isLoading,isError:t.isError},LinkComponent:r,getThreadRowHref:s=>n({threadId:s.threadId,...s.resourceId?{resourceId:s.resourceId}:{}}),getResourceRowHref:s=>n({resourceId:s.resourceId})})}function _L({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(es,{children:[o.jsx(es.Label,{children:e}),o.jsx(es.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(es.Error,{}):s?o.jsx(es.Loading,{}):i?r!=null?o.jsx(es.Change,{changePct:r,prevValue:n}):o.jsx(es.NoChange,{}):o.jsx(es.NoData,{})]})}function Hms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","active-resources-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"resourceId",filters:t,comparePeriod:"previous_period"})})}function Wms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","active-threads-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",filters:t,comparePeriod:"previous_period"})})}function Zms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","model-cost-kpi",n],queryFn:async()=>{const r=await e.getMetricAggregate({name:["mastra_model_total_input_tokens","mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"});return{cost:r.estimatedCost??null,costUnit:r.costUnit??null,previousCost:r.previousEstimatedCost??null,costChangePercent:r.costChangePercent??null}}})}function Gms(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","total-tokens-kpi",n],queryFn:async()=>{const[r,s]=await Promise.all([e.getMetricAggregate({name:["mastra_model_total_input_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"}),e.getMetricAggregate({name:["mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"})]),a=r.value!=null||s.value!=null,i=r.previousValue!=null||s.previousValue!=null,l=(r.value??0)+(s.value??0),c=(r.previousValue??0)+(s.previousValue??0),u=i&&c>0?(l-c)/c*100:null;return{value:a?l:null,previousValue:i?c:null,changePercent:u}}})}function Qms(){const{data:e,isLoading:t,isError:n}=$Ut();return o.jsx(_L,{label:"Total Agent Runs",value:e?.value!=null?e.value.toLocaleString():null,prevValue:e?.previousValue!=null?e.previousValue.toLocaleString():void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Yms(){const{data:e,isLoading:t,isError:n}=Zms();return o.jsx(_L,{label:"Total Model Cost",value:e?.cost!=null?Bp(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?Bp(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function Kms(){const{data:e,isLoading:t,isError:n}=Gms();return o.jsx(_L,{label:"Total Tokens",value:e?.value!=null?al(e.value):null,prevValue:e?.previousValue!=null?al(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Xms(){const{data:e,isLoading:t,isError:n}=Wms();return o.jsx(_L,{label:"Total Threads",value:e?.value!=null?al(e.value):null,prevValue:e?.previousValue!=null?al(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Jms(){const{data:e,isLoading:t,isError:n}=Hms();return o.jsx(_L,{label:"Total Resources",value:e?.value!=null?al(e.value):null,prevValue:e?.previousValue!=null?al(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function egs({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>tgs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(YIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(GIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function tgs(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}function ngs({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Model Usage & Cost",description:"Token consumption by model."}),i&&(()=>{const l=e.reduce((d,f)=>d+(f.cost??0),0),c=new Set;for(const d of e)d.cost!=null&&d.costUnit&&c.add(d.costUnit);let u;return c.size===0?u=l>0?Bp(l):"—":c.size===1?u=l>0?Bp(l,[...c][0]):"—":u="Mixed",o.jsx(Gt.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Gt.Actions,{children:s}):null]}),t?o.jsx(Gt.Loading,{}):n?o.jsx(Gt.Error,{message:"Failed to load model usage data"}):o.jsx(Gt.Content,{children:i?o.jsxs(ge,{columns:"auto auto auto auto auto auto",...ixe,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Model"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:l.model}),o.jsx(ge.NumberCell,{children:l.input}),o.jsx(ge.NumberCell,{children:l.output}),o.jsx(ge.NumberCell,{children:l.cacheRead}),o.jsx(ge.NumberCell,{children:l.cacheWrite}),o.jsx(ge.NumberCell,{highlight:!0,children:l.cost!=null?Bp(l.cost,l.costUnit):"—"})]});return c?o.jsx(ge.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(ge.RowStatic,{children:u},l.model)})]}):o.jsx(Gt.NoData,{message:"No model usage data yet"})})]})}function rgs(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","model-usage-cost",n],queryFn:async()=>{const[r,s,a,i]=await Promise.all(["mastra_model_total_input_tokens","mastra_model_total_output_tokens","mastra_model_input_cache_read_tokens","mastra_model_input_cache_write_tokens"].map(d=>e.getMetricBreakdown({name:[d],groupBy:["model"],aggregation:"sum",orderDirection:"DESC",filters:t})));if(!r||!s||!a||!i)return[];const l=new Map,c=d=>nA(l,d,()=>({input:0,output:0,cacheRead:0,cacheWrite:0,cost:null,costUnit:null})),u=(d,f)=>{f.estimatedCost!=null&&(d.cost=(d.cost??0)+f.estimatedCost,f.costUnit&&(d.costUnit=f.costUnit))};for(const d of r.groups){const f=d.dimensions.model??"unknown",p=c(f);p.input=d.value,u(p,d)}for(const d of s.groups){const f=d.dimensions.model??"unknown",p=c(f);p.output=d.value,u(p,d)}for(const d of a.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheRead=d.value}for(const d of i.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheWrite=d.value}return Array.from(l.entries()).map(([d,f])=>({model:d,input:al(f.input),output:al(f.output),cacheRead:al(f.cacheRead),cacheWrite:al(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function sgs(){const{data:e,isLoading:t,isError:n}=rgs(),{getTracesHref:r}=rA(),{Link:s}=xn();return o.jsx(ngs,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:Ec.AGENT}),actions:o.jsx(OL,{href:r({rootEntityType:Ec.AGENT}),LinkComponent:s})})}function ags(e){return e==="tokens"||e==="cost"}function igs({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("tokens"),c=e??[],u=c.length>0,d=c.reduce((b,x)=>b+x.total,0),f=c.filter(b=>b.cost!=null&&b.cost>0),p=new Set(f.map(b=>b.costUnit??"usd")),h=p.size<=1,m=h?[...p][0]??"usd":null,v=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&v>0;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Gt.Summary,{value:Bp(v,m),label:"Total cost"}):o.jsx(Gt.Summary,{value:al(d),label:"Total tokens"})),u&&s?o.jsx(Gt.Actions,{children:s}):null]}),t?o.jsx(Gt.Loading,{}):n?o.jsx(Gt.Error,{message:"Failed to load token usage data"}):o.jsx(Gt.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:i,onValueChange:b=>{ags(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"tokens",children:"Tokens"}),o.jsx(jr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(RN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:Up.blueDark},{label:"Output",color:Up.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:al})}),o.jsx(Xr,{value:"cost",children:y?o.jsx(RN,{LinkComponent:a,data:f.slice().sort((b,x)=>(x.cost??0)-(b.cost??0)).map(b=>({name:b.name,values:[b.cost],href:r?.(b)})),segments:[{label:"Cost",color:Up.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>Bp(b,m)}):o.jsx(Gt.NoData,{message:"No cost data yet"})})]}):o.jsx(Gt.NoData,{message:"No token usage data yet"})})]})}function ogs(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","token-usage-by-agent",n],queryFn:async()=>{const r={groupBy:["entityName"],aggregation:"sum",orderDirection:"DESC",filters:t},[s,a]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"]}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"]})]),i=new Map,l=u=>nA(i,u,()=>({input:0,output:0,cost:null,costUnit:null})),c=(u,d)=>{d.estimatedCost!=null&&(u.cost=(u.cost??0)+d.estimatedCost,d.costUnit&&(u.costUnit=d.costUnit))};for(const u of s.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.input=u.value,c(f,u)}for(const u of a.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.output=u.value,c(f,u)}return Array.from(i.entries()).map(([u,d])=>({name:u,input:d.input,output:d.output,total:d.input+d.output,cost:d.cost,costUnit:d.costUnit})).sort((u,d)=>d.total-u.total)}})}function lgs(){const{data:e,isLoading:t,isError:n}=ogs(),{getTracesHref:r}=rA(),{Link:s}=xn();return o.jsx(igs,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:Ec.AGENT,entityName:a.name}),actions:o.jsx(OL,{href:r({rootEntityType:Ec.AGENT}),LinkComponent:s})})}function vxe(e,t=al){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const cgs=[{dataKey:"input",label:"Input tokens",color:Up.blue,aggregate:vxe("input")},{dataKey:"output",label:"Output tokens",color:Up.yellow,aggregate:vxe("output")}];function ugs(e){return e==="tokens"||e==="cost"}function dgs({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=g.useState("tokens"),l=e??[],c=l.map(k=>({...k})),u=l.length>0,d=l.reduce((k,C)=>k+C.total,0),f=l.filter(k=>k.cost!=null&&k.cost>0),p=f.map(k=>({...k})),h=new Set(f.map(k=>k.costUnit).filter(k=>!!k)),m=h.size===1&&f.every(k=>k.costUnit!=null),v=m?[...h][0]??null:null,y=m?f.reduce((k,C)=>k+(C.cost??0),0):0,b=m&&y>0,x=t==="1h"?"Input and output tokens per hour.":"Input and output tokens per day.",S=[{dataKey:"cost",label:"Cost",color:Up.purple,aggregate:vxe("cost",k=>Bp(k,v))}];return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Gt.Summary,{value:Bp(y,v),label:"Total cost"}):o.jsx(Gt.Summary,{value:al(d),label:"Total tokens"})),u&&s?o.jsx(Gt.Actions,{children:s}):null]}),n?o.jsx(Gt.Loading,{}):r?o.jsx(Gt.Error,{message:"Failed to load token usage timeline"}):o.jsx(Gt.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:a,onValueChange:k=>{ugs(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"tokens",children:"Tokens"}),o.jsx(jr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(Bq,{data:c,series:cgs})}),o.jsx(Xr,{value:"cost",children:b?o.jsx(Bq,{data:p,series:S}):o.jsx(Gt.NoData,{message:"No cost data yet"})})]}):o.jsx(Gt.NoData,{message:"No token usage data yet"})})]})}function fgs(e){return e==="24h"?"1h":"1d"}function pgs(e,t){return t==="1h"?e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):e.toLocaleDateString("en-US",{month:"short",day:"2-digit"})}function vet(e,t,n){for(const r of t?.points??[]){const s=new Date(r.timestamp).getTime();if(!Number.isFinite(s))continue;const a=e.get(s)??{tsMs:s,input:0,output:0,cost:null,costUnits:new Set,hasUnknownCostUnit:!1};a[n]+=r.value,r.estimatedCost!=null&&(a.cost=(a.cost??0)+r.estimatedCost,t?.costUnit?a.costUnits.add(t.costUnit):a.hasUnknownCostUnit=!0),e.set(s,a)}}function hgs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function mgs(){const e=Ge(),{datePreset:t,filters:n,filterKey:r}=$m(),s=fgs(t);return vt({queryKey:["metrics","token-usage-timeseries",r,s],queryFn:async()=>{const[a,i]=await Promise.all([e.getMetricTimeSeries({name:["mastra_model_total_input_tokens"],interval:s,aggregation:"sum",filters:n}),e.getMetricTimeSeries({name:["mastra_model_total_output_tokens"],interval:s,aggregation:"sum",filters:n})]),l=new Map;return vet(l,a.series[0],"input"),vet(l,i.series[0],"output"),{data:Array.from(l.values()).sort((u,d)=>u.tsMs-d.tsMs).map(u=>{const d=new Date(u.tsMs);return{time:pgs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:hgs(u)}}),interval:s}}})}function ggs(){const{data:e,isLoading:t,isError:n}=mgs(),{getTracesHref:r}=rA(),{Link:s}=xn();return o.jsx(dgs,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(OL,{href:r(),LinkComponent:s})})}function mie({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(RN,{LinkComponent:r,data:e.map(s=>{const a=n?.(s),i=t?.(s);return a?{name:s.name,values:[s.completed,s.errors],hrefs:[i,a]}:{name:s.name,values:[s.completed,s.errors],href:i}}),segments:[{label:"Completed",color:Up.blueDark},{label:"Errors",color:Up.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:al})}function vgs({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=g.useState("agents"),u=typeof a=="function"?a(l):a,d=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),f=e?[...e.agentData,...e.workflowData,...e.toolData].reduce((m,v)=>m+v.completed+v.errors,0):0,p=m=>r?v=>r(m,v):void 0,h=m=>s?v=>s(m,v):void 0;return o.jsxs(Gt,{children:[o.jsxs(Gt.TopBar,{children:[o.jsx(Gt.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Gt.Summary,{value:al(f),label:"Total runs"}),u?o.jsx(Gt.Actions,{children:u}):null]}),t?o.jsx(Gt.Loading,{}):n?o.jsx(Gt.Error,{message:"Failed to load trace volume data"}):o.jsx(Gt.Content,{children:d?o.jsxs(pc,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"agents",children:"Agents"}),o.jsx(jr,{value:"workflows",children:"Workflows"}),o.jsx(jr,{value:"tools",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:e.agentData.length>0?o.jsx(mie,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Gt.NoData,{message:"No agent data yet"})}),o.jsx(Xr,{value:"workflows",children:e.workflowData.length>0?o.jsx(mie,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Gt.NoData,{message:"No workflow data yet"})}),o.jsx(Xr,{value:"tools",children:e.toolData.length>0?o.jsx(mie,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Gt.NoData,{message:"No tool data yet"})})]}):o.jsx(Gt.NoData,{message:"No trace volume data yet"})})]})}async function gie(e,t,n){const r=await e.getMetricBreakdown({name:[t],groupBy:["entityName","status"],aggregation:"count",orderDirection:"DESC",filters:n}),s=new Map;for(const a of r.groups){const i=a.dimensions.entityName??"unknown",l=a.dimensions.status??"ok",c=nA(s,i,()=>({completed:0,errors:0}));l==="error"?c.errors+=a.value:c.completed+=a.value}return Array.from(s.entries()).map(([a,i])=>({name:a,...i})).sort((a,i)=>i.completed+i.errors-(a.completed+a.errors))}function ygs(){const e=Ge(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([gie(e,"mastra_agent_duration_ms",t),gie(e,"mastra_workflow_duration_ms",t),gie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Lz={agents:Ec.AGENT,workflows:Ec.WORKFLOW_RUN,tools:Ec.TOOL};function bgs(){const{data:e,isLoading:t,isError:n}=ygs(),{getTracesHref:r,getLogsHref:s}=rA(),{Link:a}=xn();return o.jsx(vgs,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Lz[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Lz[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(OL,{href:r({rootEntityType:Lz[i]}),LinkComponent:a}),o.jsx(Ims,{href:s({rootEntityType:Lz[i],status:"error"}),LinkComponent:a})]})})}const vie="period",Fz="dateFrom",zz="dateTo";function xgs(){const[e,t]=si(),n=e.get(vie),r=Sms(n)?n:"24h",s=g.useMemo(()=>{if(r!=="custom")return;const d=h=>{if(!h)return;const m=new Date(h);return Number.isNaN(m.getTime())?void 0:m},f=d(e.get(Fz)),p=d(e.get(zz));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=g.useMemo(()=>mms(e),[e.toString()]),i=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(vie):p.set(vie,d),d!=="custom"&&(p.delete(Fz),p.delete(zz)),p},{replace:!0})},[t]),l=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(Fz,d.from.toISOString()):p.delete(Fz),d?.to?p.set(zz,d.to.toISOString()):p.delete(zz),p},{replace:!0})},[t]),c=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return vms(p,d),p},{replace:!0})},[t]),u=g.useRef(!1);return g.useEffect(()=>{if(u.current||(u.current=!0,pms(e)))return;const d=AUt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Oms,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(wgs,{})})}function wgs(){const[e]=si(),{error:t,isLoading:n}=$Ut(),{filterTokens:r,setFilterTokens:s}=SQ(),[a,i]=g.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=dAe(),{data:d,isLoading:f}=lAe(),{data:p,isLoading:h}=aAe(),{data:m,isLoading:v}=oAe(),{data:y,isLoading:b}=iAe(),x=g.useMemo(()=>hms({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:v,environments:b}}),[d,p,m,y,f,h,v,b]),[S,k]=g.useState(()=>AUt()!==null),C=g.useCallback(()=>{dms(e),k(!0),Fe.success("Filters setting for Metrics saved")},[e]),_=g.useCallback(()=>{fms(),k(!1),Fe.success("Filters setting for Metrics cleared up")},[]),E=g.useCallback(()=>{s([])},[s]),T=g.useCallback(()=>{const N=r.map(I=>{const A=x.find(R=>R.id===I.fieldId);return A?A.kind==="text"?{fieldId:I.fieldId,value:""}:A.kind==="pick-multi"?A.multi?{fieldId:I.fieldId,value:[]}:{fieldId:I.fieldId,value:"Any"}:A.kind==="multi-select"?{fieldId:I.fieldId,value:[]}:I:I});s(N)},[x,r,s]);return t&&xs(t)?o.jsx(cr,{children:o.jsx(Zs,{})}):t&&Ss(t)?o.jsx(cr,{children:o.jsx($s,{resource:"metrics"})}):t?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Vt,{width:"wide",height:"full",children:[o.jsxs(Vt.TopArea,{children:[o.jsx(Vt.Row,{children:o.jsxs(Vt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(Tms,{}),o.jsx(KIe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(egs,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:T,onRemoveAll:E,onSave:C,onRemoveSaved:S?_:void 0,autoFocusFilterFieldId:a})]}),u?null:l?o.jsxs("div",{className:"grid content-start gap-8 pb-10",children:[c&&o.jsx(Sn,{variant:"info",title:"Metrics are not persisted",children:o.jsx(Sn.Message,{children:"This project uses in-memory storage for observability. Metrics will be lost on every server restart. For persistent metrics, switch the observability storage to ClickHouse, DuckDB, Postgres v-next, or Spanner."})}),o.jsxs(dxe,{children:[o.jsx(Qms,{}),o.jsx(Yms,{}),o.jsx(Kms,{}),o.jsx(Xms,{}),o.jsx(Jms,{})]}),o.jsxs(dxe,{children:[o.jsx(sgs,{}),o.jsx(lgs,{}),o.jsx(ggs,{}),o.jsx(Vms,{}),o.jsx(bgs,{}),o.jsx(Fms,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx($f,{}),titleSlot:"Metrics are not available with your current storage",descriptionSlot:"Metrics require ClickHouse, DuckDB, Postgres v-next, Spanner, or in-memory storage for observability. Other relational databases (LibSQL, MSSQL) and document stores (MongoDB) do not support metrics collection. To enable metrics on an existing project, switch the observability storage in the Mastra configuration.",actionSlot:o.jsxs(le,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(Oa,{})]})})})]})}const Sgs=50;function kgs(){const{paths:e}=xn(),{isCmsAvailable:t}=cS(),[n,r]=g.useState(""),[s,a]=g.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=l7t({page:s,perPage:Sgs}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=g.useCallback(()=>{u||a(v=>v+1)},[u]),h=g.useCallback(()=>{u||a(v=>Math.max(0,v-1))},[u]),m=g.useCallback(v=>{r(v),a(0)},[]);return c&&xs(c)?o.jsx(cr,{children:o.jsx(Zs,{})}):c&&Ss(c)?o.jsx(cr,{children:o.jsx($s,{resource:"prompt blocks"})}):c?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(cr,{children:o.jsx(iss,{})}):o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsxs(Vt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(zf,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(le,{as:ni,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Zr,{}),"Create Prompt"]})]})}),o.jsx(ass,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Ogs(){return o.jsx(Vt,{width:"narrow",children:o.jsx(Vt.MainArea,{children:o.jsx(Les,{children:o.jsx(Lbe,{})})})})}const _gs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:aGt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:Got,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:Oa,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:mj,href:"https://discord.gg/BTYqqHKUrf",external:!0},{title:"Share with your team",description:"Running Mastra Studio locally? Deploy to the cloud so your team can collaborate.",icon:nlt,href:"https://mastra.ai/cloud",external:!0},{title:"Talk to our Sales team",description:"Get a custom demo, discuss on-prem deployments, and how we can help you accelerate getting agents into production.",icon:Qot,href:"https://mastra.ai/contact?ref=studio",external:!0}];function Cgs(){return o.jsx(Vt,{width:"narrow",children:o.jsx(Vt.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:_gs.map(e=>o.jsxs("a",{href:e.href,...e.external?{target:"_blank",rel:"noreferrer"}:{},className:"group border-border1 bg-surface2 hover:border-accent1 hover:bg-surface3 flex flex-col gap-3 rounded-lg border p-5 transition-colors",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx(e.icon,{className:"text-icon3 group-hover:text-accent1 h-5 w-5 transition-colors"}),o.jsx("span",{className:"text-ui-md text-text1 font-medium",children:e.title}),e.external&&o.jsx(Oa,{className:"text-icon3 ml-auto h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}),o.jsx("p",{className:"text-ui-sm text-text3 leading-relaxed",children:e.description})]},e.href))})})})}function Egs(){const{data:e={},isLoading:t,error:n}=uh(),[r,s]=g.useState(""),[a,i]=g.useState("all");if(n&&xs(n))return o.jsx(cr,{children:o.jsx(Zs,{})});if(n&&Ss(n))return o.jsx(cr,{children:o.jsx($s,{resource:"scorers"})});if(n)return o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(cr,{children:o.jsx(pns,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsx(mns,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(fns,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function Tgs(){const{scorerId:e}=Sr(),[t,n]=si(),r=t.get("scoreId")??void 0,[s,a]=g.useState(r),[i,l]=g.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:c,error:u}=qts(e),{data:d={},isLoading:f,error:p}=Im(),{isLoading:h,error:m}=Hy(),{data:v=[],isLoading:y,error:b,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k}=Uts({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),C=g.useMemo(()=>c?.agentIds?.filter(q=>d[q]).map(q=>({value:q,label:d[q].name,type:"AGENT"}))||[],[c?.agentIds,d]),_=g.useMemo(()=>c?.workflowIds?.map(q=>({value:q,label:q,type:"WORKFLOW"}))||[],[c?.workflowIds]),E=g.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},...C,..._],[C,_]),T=t.get("entity")??"all",N=E.find(q=>q.value===T);N&&N.value!==i?.value&&l(N),g.useEffect(()=>{if(u){const q=u instanceof Error?u.message:"Failed to load scorer";Fe.error(`Error loading scorer: ${q}`)}},[u]),g.useEffect(()=>{if(p){const q=p instanceof Error?p.message:"Failed to load agents";Fe.error(`Error loading agents: ${q}`)}},[p]),g.useEffect(()=>{if(m){const q=m instanceof Error?m.message:"Failed to load workflows";Fe.error(`Error loading workflows: ${q}`)}},[m]);const I=q=>{q?.value&&n(M=>{const G=new URLSearchParams(M);return G.set("entity",q.value),G})};g.useEffect(()=>{const q=t.get("scoreId")??void 0;if(q===s)return;if(!q){a(void 0);return}v.find(G=>G.id===q)&&a(q)},[t,v]);const A=g.useCallback(q=>{a(q||void 0),n(M=>{const G=new URLSearchParams(M);return q?G.set("scoreId",q):G.delete("scoreId"),G})},[n]);if(!c)return null;const R=xs(u)||xs(p)||xs(m),L=u&&Ss(u),D=!R&&!L&&(u||p||m),F=!y&&v.length===0,H=i?.value!=="all",B=c?.scorer?.source==="stored"?o.jsx($y,{owner:"scorer-detail",children:o.jsxs(le,{variant:"default",as:ni,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(lm,{})," Edit"]})}):null;if(R||L||D||F&&!H){const q=(u instanceof Error?u.message:void 0)??(p instanceof Error?p.message:void 0)??(m instanceof Error?m.message:void 0)??"An unexpected error occurred";return o.jsxs(Vt,{width:"wide",height:"full",children:[B,o.jsx(Vt.MainArea,{isCentered:!0,children:R?o.jsx(Zs,{}):L?o.jsx($s,{resource:"scorers"}):D?o.jsx(Hi,{title:"Failed to load scorer",message:q}):o.jsx($ts,{})})]})}return o.jsxs(Vt,{width:"wide",children:[B,o.jsx(Vt.TopArea,{children:o.jsx(Mts,{selectedEntity:i,entityOptions:E,onEntityChange:I,onReset:()=>{n(q=>{const M=new URLSearchParams(q);return M.set("entity","all"),M})},isLoading:y||f||h})}),o.jsx(Pts,{scores:v,isLoading:y,selectedScoreId:s,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k,onScoreClick:A,errorMsg:b?.message})]})}function jgs({label:e,description:t,htmlFor:n,className:r,children:s}){return o.jsxs("div",{className:X("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",r),"data-slot":"settings-row",children:[o.jsxs("div",{children:[n?o.jsx(Bt,{htmlFor:n,className:"text-sm font-medium",children:e}):o.jsx("p",{className:"text-sm font-medium",children:e}),t&&o.jsx("p",{className:"text-neutral3 text-sm",children:t})]}),s]})}const FUt=[{value:"dark",label:"Dark",Icon:LQt},{value:"light",label:"Light",Icon:YYt},{value:"system",label:"System",Icon:clt}],Ngs=e=>FUt.some(t=>t.value===e);function Igs({option:e}){const{Icon:t}=e;return o.jsxs("span",{className:"inline-flex max-w-full min-w-0 items-center gap-2",children:[o.jsx(t,{"aria-hidden":"true",className:"h-4 w-4 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 truncate",children:e.label})]})}const Ags=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=lH(),{theme:r,setTheme:s}=q_();return o.jsx(Vt,{width:"narrow",children:o.jsxs(Vt.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(ybe,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(jgs,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(ma,{value:r,onValueChange:a=>{Ngs(a)&&s(a)},children:[o.jsx(va,{id:"theme",className:"w-full sm:w-48",children:o.jsx(ga,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ya,{children:FUt.map(a=>o.jsx(Rr,{value:a.value,children:o.jsx(Igs,{option:a})},a.value))})]})})}),o.jsx(ybe,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(qDt,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function Rgs(){const[e]=si(),t=Ws(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(jUt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const zUt=e=>o.jsx("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M7.5 0.75C3.6325 0.75 0.5 3.8825 0.5 7.75C0.5 10.8475 2.50375 13.4637 5.28625 14.3912C5.63625 14.4525 5.7675 14.2425 5.7675 14.0587C5.7675 13.8925 5.75875 13.3412 5.75875 12.755C4 13.0787 3.545 12.3262 3.405 11.9325C3.32625 11.7312 2.985 11.11 2.6875 10.9437C2.4425 10.8125 2.0925 10.4887 2.67875 10.48C3.23 10.4712 3.62375 10.9875 3.755 11.1975C4.385 12.2562 5.39125 11.9587 5.79375 11.775C5.855 11.32 6.03875 11.0137 6.24 10.8387C4.6825 10.6637 3.055 10.06 3.055 7.3825C3.055 6.62125 3.32625 5.99125 3.7725 5.50125C3.7025 5.32625 3.4575 4.60875 3.8425 3.64625C3.8425 3.64625 4.42875 3.4625 5.7675 4.36375C6.3275 4.20625 6.9225 4.1275 7.5175 4.1275C8.1125 4.1275 8.7075 4.20625 9.2675 4.36375C10.6062 3.45375 11.1925 3.64625 11.1925 3.64625C11.5775 4.60875 11.3325 5.32625 11.2625 5.50125C11.7087 5.99125 11.98 6.6125 11.98 7.3825C11.98 10.0687 10.3438 10.6637 8.78625 10.8387C9.04 11.0575 9.25875 11.4775 9.25875 12.1337C9.25875 13.07 9.25 13.8225 9.25 14.0587C9.25 14.2425 9.38125 14.4612 9.73125 14.3912C11.1209 13.9221 12.3284 13.029 13.1839 11.8377C14.0393 10.6463 14.4996 9.21668 14.5 7.75C14.5 3.8825 11.3675 0.75 7.5 0.75Z",fill:"currentColor"})});function Pgs(e){return e.replace(/\/$/,"").split("/").pop()}function kQ({children:e,className:t}){return o.jsx("div",{className:X("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function $gs({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:X("grid gap-y-4",n),children:Array.from({length:5}).map((a,i)=>o.jsx("div",{className:"bg-surface3 h-16 animate-pulse rounded-lg"},i))}):o.jsx("div",{className:X("grid gap-y-4",n),children:e.map(a=>{const i=a?.agents||a?.tools||a?.networks||a?.workflows||a?.mcp;return o.jsxs("article",{className:X("border border-border1 rounded-lg overflow-hidden w-full grid grid-cols-[1fr_auto] bg-surface3 transition-colors hover:bg-surface4"),children:[o.jsxs(s,{to:`/templates/${a.slug}`,className:X("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:X("overflow-hidden"),children:o.jsx("div",{className:"thumb transition-scale h-full w-full bg-cover duration-150",style:{backgroundImage:`url(${a.imageURL})`}})}),o.jsxs("div",{className:X("grid py-3 px-6 w-full gap-0.5","[&_svg]:w-[1em] [&_svg]:h-[1em] [&_svg]:text-neutral3"),children:[o.jsx("h2",{className:"text-ui-lg text-neutral5",children:a.title}),o.jsx("p",{className:"text-ui-md text-neutral4 transition-colors duration-500",children:a.description}),o.jsxs("div",{className:"text-neutral3 text-ui-md mt-3 hidden flex-wrap items-center gap-4 2xl:flex",children:[i&&o.jsxs("ul",{className:X("flex gap-4 text-ui-md text-neutral3 m-0 p-0 list-none","[&>li]:flex [&>li]:items-center [&>li]:gap-0.5 text-neutral4"),children:[a?.agents&&a.agents.length>0&&o.jsxs("li",{children:[o.jsx(qo,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Bd,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(ult,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(VN,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(vC,{})," ",a.mcp.length]})]}),i&&a.supportedProviders&&o.jsx("small",{children:"|"}),o.jsx("div",{className:"text-neutral3 flex items-center gap-4",children:a.supportedProviders.map(l=>o.jsx("span",{className:"",children:l},l))})]})]})]}),o.jsx("a",{href:a.githubUrl,className:X("group items-center gap-2 text-ui-md ml-auto pr-4 hidden","lg:flex"),target:"_blank",rel:"noopener noreferrer",children:o.jsxs("span",{className:"bg-surface1 group-hover:bg-surface2 text-neutral3 group-hover:text-neutral5 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[o.jsx(zUt,{})," ",Pgs(a.githubUrl)]})})]},a.slug)})})}function Mgs({tagOptions:e,selectedTag:t,providerOptions:n,selectedProvider:r,onTagChange:s,onProviderChange:a,searchTerm:i,onSearchChange:l,onReset:c,className:u,isLoading:d}){return d?o.jsxs("div",{className:X("h-[6.5rem] flex items-center gap-8","[&>div]:bg-surface3 [&>div]:w-48 [&>div]:h-8 [&>div]:animate-pulse",u),children:[o.jsx("div",{})," ",o.jsx("div",{})," ",o.jsx("div",{})]}):o.jsxs("div",{className:X("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(yN,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Cc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Cc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(le,{onClick:c,children:["Reset ",o.jsx(ws,{})]})]})}function Dgs(){const{data:e,isLoading:t}=Ktr(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=g.useState("all"),[l,c]=g.useState("all"),[u,d]=g.useState(""),f=[{value:"all",label:"Any tag"}];(r||[]).forEach(x=>{f.push({value:x,label:x})});const p=[{value:"all",label:"Any provider"}];(s||[]).forEach(x=>{p.push({value:x,label:x})});const h=(x,S)=>{S==="tag"?i(x):S==="provider"&&c(x)},m=x=>{d(x)},v=()=>{i("all"),c("all"),d("")},y=n.filter(x=>!(u&&!x.title.toLowerCase().includes(u)&&!x.description.toLowerCase().includes(u)||a!=="all"&&!x.tags.includes(a)||l!=="all"&&!x.supportedProviders.includes(l))),b=u||a!=="all"||l!=="all";return o.jsxs(fs,{children:[o.jsx(N1e,{children:o.jsxs(vyt,{children:[o.jsx(Ve,{children:o.jsx(Jv,{})}),"Templates"]})}),o.jsxs("div",{className:X("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(Mgs,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?v:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx($gs,{templates:y,linkComponent:ni,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Lgs="1.60.0-alpha.3";function Fgs({errorMsg:e,validationErrors:t}){const n=typeof e=="string"?e:e!=null?String(e):void 0,r=n?.includes("Invalid schema for function"),s=n?.includes("validation issue")||t&&t.length>0,a=()=>s?"Template installation completed but some validation issues remain. The template may still be functional, but you should review and fix these issues.":r?"There was an issue with the AI model configuration. This may be related to the selected model or AI SDK version compatibility.":"An unexpected error occurred during template installation.",i=()=>s?{icon:o.jsx(_f,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(PGt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(kQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[l,o.jsxs("div",{className:"space-y-2 text-center",children:[o.jsx("p",{className:"text-ui-md text-neutral5 font-medium",children:c}),o.jsx("p",{className:"text-ui-md text-neutral3",children:a()})]})]}),t&&t.length>0&&o.jsxs("details",{className:"text-xs",children:[o.jsxs("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:["Show Validation Issues (",t.length,")"]}),o.jsx("div",{className:"mt-4 max-h-60 space-y-2 overflow-auto rounded bg-gray-100 p-3 text-left text-xs dark:bg-gray-800",children:t.map((u,d)=>o.jsxs("div",{className:"border-l-2 border-red-400 pl-2",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:u.type==="typescript"?"🔴 TypeScript Error":"⚠️ Lint Error"}),o.jsx("div",{className:"mt-1 font-mono text-xs wrap-break-word whitespace-pre-wrap text-gray-700 dark:text-gray-300",children:u.message})]},d))})]}),n&&!s&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:"Show Details"}),o.jsx("div",{className:"mt-4 max-h-60 overflow-auto rounded bg-gray-100 p-3 text-left font-mono text-xs dark:bg-gray-800",children:o.jsx("div",{className:"wrap-break-word whitespace-pre-wrap",children:n})})]})]})}function zgs({providerOptions:e,selectedProvider:t,onProviderChange:n,variables:r,errors:s,handleInstallTemplate:a,handleVariableChange:i,isLoadingEnvVars:l,isInstalling:c,defaultModelProvider:u,defaultModelId:d,onModelUpdate:f}){return o.jsx(kQ,{children:o.jsxs("div",{className:"mx-auto my-4 grid max-w-[40rem] gap-8 p-4 lg:p-8",children:[o.jsxs("h2",{className:X("text-neutral4 text-header-sm font-semibold flex items-center gap-2","[&>svg]:w-[1.2em] [&_svg]:h-[1.2em] [&_svg]:opacity-70"),children:["Install Template ",o.jsx(dlt,{})]}),o.jsx(Cc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] items-start gap-4",children:l?o.jsxs("div",{className:X("flex items-center justify-center col-span-2 text-neutral3 text-ui-sm gap-4","[&_svg]:opacity-50 [&_svg]:w-[1.1em] [&_svg]:h-[1.1em]","animate-in fade-in duration-300"),children:[o.jsx(Jt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(g.Fragment,{children:[o.jsx(NO,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(NO,{name:p,labelIsHidden:!0,label:"Value",value:h,onChange:i,errorMsg:s.includes(p)?"Value is required.":"",autoComplete:"off",className:"w-full"})]},p))}),o.jsxs("div",{className:"border-border1 relative mt-3.5 border-t pt-12",children:[o.jsx("div",{className:"bg-surface2 text-ui-sm text-neutral3 absolute top-0 left-1/2 flex h-8 w-8 -translate-x-1/2 -translate-y-4 items-center justify-center rounded-full",children:"And"}),o.jsx("h3",{className:"text-neutral4 text-ui-lg",children:"Set AI Model for Template Installation"}),o.jsx("p",{className:"text-neutral3 text-ui-md mt-2 mb-8",children:"This model will be used by the workflow to process and install the template"}),o.jsx(L9t,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(le,{className:X("flex items-center gap-2 mt-4 justify-center text-ui-md w-full bg-surface5 min-h-10 rounded-lg text-neutral5 hover:bg-surface6 transition-colors","[&>svg]:w-[1.1em] [&_svg]:h-[1.1em] [&_svg]:text-neutral5"),onClick:a,disabled:!t||!u||!d||s.length>0||c,children:c?o.jsxs(o.Fragment,{children:[o.jsx(Jt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(xm,{})]})})]})})}function Bgs({title:e,description:t,githubUrl:n,isLoading:r,infoData:s,templateSlug:a}){const i=a?`feat/install-template-${a}`:"feat/install-template-[slug]";return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:X("grid mt-8 items-center"),children:o.jsxs("div",{className:X("text-header-lg flex items-center gap-3","[&>svg]:w-[1.2em] [&>svg]:h-[1.2em] [&>svg]:opacity-50",{"[&>svg]:opacity-20":r}),children:[o.jsx(Jv,{}),o.jsx("h2",{className:X({"bg-surface4 flex rounded-lg min-w-[50%]":r}),children:r?o.jsx(o.Fragment,{children:" "}):e})]})}),o.jsxs("div",{className:"grid gap-x-24 lg:grid-cols-[1fr_1fr]",children:[o.jsxs("div",{className:"grid",children:[o.jsx("p",{className:X("mb-4 text-ui-md text-neutral4 mt-2 leading-7",{"bg-surface4 rounded-lg ":r}),children:r?o.jsx(o.Fragment,{children:" "}):t}),!r&&a&&o.jsxs("div",{className:X("bg-surface2 border border-surface4 rounded-lg p-4 mb-4","flex items-start gap-3"),children:[o.jsx("div",{className:"mt-0.5 shrink-0",children:o.jsx(Yx,{className:"h-[1.1em] w-[1.1em] text-blue-500"})}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Axe,{className:"text-neutral4 h-[1em] w-[1em]"}),o.jsx("span",{className:"text-ui-md text-neutral5 font-medium",children:"A new Git branch will be created"})]}),o.jsxs("div",{className:"text-ui-sm text-neutral4 space-y-1",children:[o.jsxs("div",{children:[o.jsx("span",{className:"font-medium",children:"Branch name:"})," ",o.jsx("code",{className:"bg-surface3 text-ui-sm rounded px-1.5 py-0.5 font-mono",children:i})]}),o.jsx("div",{children:"This ensures safe installation with easy rollback if needed. Your main branch remains unchanged."})]})]})]}),n&&o.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-neutral3 text-ui-md hover:text-neutral5 mt-auto flex items-center gap-2",children:[o.jsx(zUt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(wIe,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function yet(e){switch(e){case"running":return o.jsx(Jt,{size:"sm","aria-hidden":!0});case"success":return o.jsx(Cx,{"aria-hidden":!0});case"failed":return o.jsx(fu,{"aria-hidden":!0});default:return null}}function Ugs(){return o.jsx("svg",{viewBox:"0 0 24 24",className:"text-neutral2","aria-hidden":!0,children:o.jsx("circle",{cx:"12",cy:"12",r:"8.5",pathLength:"48",fill:"none",stroke:"currentcolor",strokeWidth:"2.8",strokeLinecap:"round",strokeDasharray:"3 3"})})}function qgs({status:e,variant:t}){return t==="plain"?o.jsx("span",{className:X("flex size-4 items-center justify-center self-center [&>svg]:size-4",Wr.colors,{"[&>svg]:text-positive1":e==="success","[&>svg]:text-negative1":e==="failed"}),children:e==="pending"?o.jsx(Ugs,{}):yet(e)}):o.jsx("span",{className:X("flex size-7 items-center justify-center self-center rounded-full motion-reduce:transition-none",Wr.colors,Wr.transform,Wr.shadow,{"[&>svg]:text-notice-success-fg":e==="success","[&>svg]:text-notice-destructive-fg":e==="failed","border border-dashed border-neutral2":e==="pending","[&>svg]:size-4":e!=="running","bg-accent1Dark shadow-glow-accent1":e==="success","bg-accent2Dark shadow-glow-accent2":e==="failed","scale-110":e==="success"||e==="failed"}),children:yet(e)})}function Vgs({step:e,isActive:t,position:n,variant:r="default"}){return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3 motion-reduce:transition-none",Wr.colors,{"border border-transparent":r==="default","border-dashed border-neutral2 bg-surface3":t&&r==="default"}),children:[o.jsxs("div",{className:"grid min-w-0 grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:X("flex min-w-6 justify-end text-ui-md",Wr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:[n,"."]}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("h4",{className:X("text-ui-md",Wr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:e.title}),e.description&&o.jsx("p",{className:X("-mt-0.5 text-ui-md text-neutral2",{truncate:r==="plain"}),children:e.description})]})]}),o.jsx(qgs,{status:e.status,variant:r})]})}function Hgs({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:X(n),children:t.map((r,s)=>o.jsx(Vgs,{step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function Wgs({steps:e}){const t=e.length,n=e.filter(r=>r.status==="success").length;return o.jsxs("div",{className:"flex w-full flex-col content-center justify-center gap-4",children:[o.jsx("div",{className:"grid w-full grid-cols-[0_repeat(9,1fr)]",children:e.map((r,s)=>o.jsx("div",{className:X("relative flex h-8 items-center justify-end",Wr.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:X("absolute right-0 z-10 flex size-8 translate-x-1/2 items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3 motion-reduce:transition-none",Wr.colors,Wr.transform,Wr.shadow,{"border border-dashed border-neutral2":r.status==="pending","bg-accent1Dark text-notice-success-fg shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-notice-destructive-fg shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Jt,{}):s+1})},r.id))}),o.jsxs("div",{className:X("text-center text-xs text-neutral3",Wr.colors),children:[n," of ",t," steps completed"]})]})}function Zgs({name:e,streamResult:t,runId:n,workflowInfo:r}){const s=t?.phase||"initializing",a=t?.payload?.workflowState,i=t?.payload?.currentStep,l=t?.error,c=a?.steps||{},u=Object.keys(c).length>0,d=v=>v==="input"||v.endsWith(".input")||v.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(v)||/[0-9a-f]{8,}/.test(v)?!1:r?.allSteps?v in r.allSteps:!0,f=Object.entries(c).filter(([v,y])=>d(v)),p=f.length,h=()=>{switch(s){case"initializing":return"Preparing template installation...";case"processing":return`Installing ${e} template`;case"completed":return"Template installation completed!";case"error":return"Template installation failed";default:return"Installing template..."}},m=f.map(([v,y])=>({id:v,status:y?.status,description:y?.description,title:v.charAt(0).toUpperCase()+v.slice(1).replace(/-/g," "),isActive:i?.id===v}));return o.jsxs(kQ,{className:"text-neutral3 mb-8 content-center space-y-6",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h3",{className:"text-neutral5 text-lg font-semibold",children:h()}),(t?.runId||n)&&o.jsxs("div",{className:"text-ui-sm text-neutral3 mt-2",children:["Run ID: ",t?.runId??n]})]}),u&&p>0&&!["error"].includes(s)&&o.jsx("div",{className:"mx-auto w-full max-w-[30rem] px-6",children:o.jsx(Wgs,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:X("rounded-lg text-neutral5 p-6 flex items-center gap-3 text-ui-md bg-red-500/10","[&>svg]:w-6 [&>svg]:h-6 [&>svg]:opacity-70 [&>svg]:text-red-500"),children:[o.jsx(GQt,{}),l||"Something went wrong"]}),u&&o.jsx(Hgs,{steps:m,currentStep:i,className:"pb-4"}),!u&&s==="initializing"&&o.jsxs("div",{className:"text-neutral3 grid justify-items-center gap-4 text-center text-sm",children:[o.jsx(Jt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function Ggs({name:e,installedEntities:t}){return o.jsxs(kQ,{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(dlt,{}),o.jsx("h2",{className:"text-header-md",children:"Done!"}),o.jsxs("p",{className:"text-ui-md text-neutral3 text-center",children:["The ",o.jsx("b",{className:"text-neutral4",children:e})," template has been successfully installed.",t&&t.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("br",{})," Installed entities are listed below."]})]}),t&&t.length>0&&o.jsx(wIe,{data:t})]})}function Qgs(){const{templateSlug:e}=Sr(),[t,n]=si(),[r,s]=g.useState(""),[a,i]=g.useState(""),[l,c]=g.useState(""),[u,d]=g.useState({}),[f,p]=g.useState([]),[h,m]=g.useState(null),[v,y]=g.useState(!1),[b,x]=g.useState(""),[S,k]=g.useState(!1),[C,_]=g.useState(!1),[E,T]=g.useState([]),{data:N,isLoading:I}=Xtr({repoOrSlug:e,owner:"mastra-ai"}),R=Lgs?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=Jtr({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:F,isLoading:H}=enr(),{mutateAsync:B,isPending:U}=tnr(),{mutateAsync:q}=nnr(),{streamInstall:M,streamResult:G,isStreaming:V}=snr(F),{observeInstall:$,streamResult:z,isStreaming:Z}=anr(F);g.useEffect(()=>{const te=t.get("runId");te&&!v&&!h&&!V&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:te}),x(te),q({runId:te}).then(ue=>{const fe=ue.snapshot;if(fe?.status==="success"&&fe?.result?.success)y(!0);else if(fe?.result?.success===!1)if(fe?.result?.validationResults&&!fe?.result?.validationResults?.valid&&fe?.result?.validationResults?.remainingErrors>0){const{remainingErrors:me,errors:be}=fe.result.validationResults,we=`Template installation completed but ${me} validation issue${me>1?"s":""} remain unresolved.`;m(we),T(be||[])}else{const me=fe?.result?.message||fe?.result?.error||"Template installation failed";m(typeof me=="string"?me:String(me))}}).catch(ue=>{console.error("❌ Failed to fetch run details:",ue),m("Failed to retrieve installation status after reload")}))},[t,v,h,V,Z,q]),g.useEffect(()=>{const te=t.get("runId"),ue=t.get("resume"),fe=t.get("provider");if(te&&ue==="true"&&fe&&!V&&!Z&&!S&&!C&&F){x(te),k(!0);try{q({runId:te}).then(ce=>{if(ce.snapshot?.status==="running")return $.mutateAsync({runId:te})}).then(()=>{n(ce=>{const me=new URLSearchParams(ce);return me.delete("resume"),me})}).catch(ce=>{console.error("❌ Failed to resume template installation:",ce),ce.message?.includes("404")||ce.message?.includes("not found")?m("Template installation run not found. It may have expired or been completed."):m("Failed to resume template installation. Please try again.")})}catch(ce){console.error("❌ Auto-resume failed with error:",ce),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,V,Z,S,C,F,q,$,n]);const K=[{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"google",label:"Google"}],ne=[{key:"tools",label:"Tools",value:N?.tools?.length?N.tools.map(te=>te).join(", "):"n/a",icon:o.jsx(Bd,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(te=>te).join(", "):"n/a",icon:o.jsx(qo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(te=>te).join(", "):"n/a",icon:o.jsx(VN,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Lv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(qN,{})}],ee=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(te=>te.value!=="n/a");g.useEffect(()=>{L&&d(L)},[L]),g.useEffect(()=>{const te=G||z;te?.phase==="error"&&te?.error&&m(typeof te.error=="string"?te.error:String(te.error))},[G?.phase,G?.error,z?.phase,z?.error]);const J=te=>{s(te)},ae=async te=>(i(te.provider),c(te.modelId),{message:"Model updated successfully"}),pe=async()=>{const te=Object.entries(u).reduce((ue,[fe,ce])=>(ce===""&&ue.push(fe),ue),[]);if(te.length>0){p(te);return}if(N){m(null),y(!1),x(""),_(!0);try{const fe={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:ce}=await B({});x(ce),n(me=>{const be=new URLSearchParams(me);return be.set("runId",ce),be.set("resume","true"),be.set("provider",r||"openai"),be}),await M.mutateAsync({inputData:fe,selectedModel:{provider:a,modelId:l},runId:ce})}catch(ue){_(!1),m(ue?.message||"Template installation failed"),console.error("Template installation failed",ue)}}},Y=te=>{const{name:ue,value:fe}=te.target;fe.trim()===""?p(ce=>[...ce,ue]):p(ce=>ce.filter(me=>me!==ue)),d(ce=>({...ce,[ue]:fe}))};return o.jsx(fs,{children:o.jsx("div",{className:X("w-full lg:px-12 h-full overflow-y-scroll"),children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[80rem] gap-y-4 p-6",children:[o.jsx(Bgs,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(V||Z)&&o.jsx(Zgs,{name:N.title,streamResult:Z?z:G,runId:b,workflowInfo:F}),v&&o.jsx(Ggs,{name:N.title,installedEntities:ee,linkComponent:ni}),h&&o.jsx(Fgs,{errorMsg:h,validationErrors:E.length>0?E:G?.validationResults?.errors||z?.validationResults?.errors}),!V&&!Z&&!v&&!h&&o.jsx(zgs,{providerOptions:K,selectedProvider:r,onProviderChange:J,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:pe,handleVariableChange:Y,isLoadingEnvVars:D||H,isInstalling:U,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const Ygs=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(krs,{toolId:e,agentId:t})})},Kgs=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(tms,{toolId:e})})};function Xgs(){const{traceId:e}=Sr(),[t,n]=si(),r=Ws(),s=t.get("spanId")||void 0,a=t.get("tab"),i=a==="scoring"?"scoring":a==="feedback"?"feedback":"details",l=t.get("scoreId")||void 0,[c,u]=g.useState(s??null),[d,f]=g.useState(),[p,h]=g.useState(i),[m,v]=g.useState(0),[y,b]=g.useState(!1),{data:x,isLoading:S,error:k}=cAe(e),C=g.useMemo(()=>x?.spans??[],[x?.spans]),_=g.useMemo(()=>C.find(Y=>Y.parentSpanId==null),[C]),E=dAe(),T=lxe({traceIds:[e],enabled:!E.isLoading&&E.supportsMetrics,autoRefetch:!1}),{data:N,isLoading:I}=SL(e,c??"");g.useEffect(()=>v(0),[e,c]);const{data:A,isLoading:R}=uh(),{data:L,isLoading:D}=r7t({traceId:e,spanId:c??void 0,page:m}),[F,H]=g.useState(0);g.useEffect(()=>H(0),[e,c]);const{data:B,isLoading:U}=vUt({traceId:e,page:F});g.useEffect(()=>{if(l&&L?.scores&&!d){const Y=L.scores.find(te=>te.id===l);Y&&f(Y)}},[l,L?.scores,d]);const q=g.useCallback(Y=>{const te=new URLSearchParams(t);for(const[ue,fe]of Object.entries(Y))fe===null||fe===""?te.delete(ue):te.set(ue,fe);n(te,{replace:!0})},[t,n]),M=g.useCallback(Y=>{const te=Y??null,ue=te===c;u(te),ue||(f(void 0),h("details"),q({spanId:te,tab:null,scoreId:null}))},[c,q]),G=g.useCallback(()=>{u(null),f(void 0),h("details"),q({spanId:null,tab:null,scoreId:null})},[q]),V=g.useCallback(Y=>{u(Y),f(void 0),h("details"),q({spanId:Y,tab:null,scoreId:null})},[q]),{handlePreviousSpan:$,handleNextSpan:z}=uAe(C,c,V),Z=g.useCallback(Y=>{const te=Y;h(te),f(void 0),q({tab:te==="details"?null:te,scoreId:null})},[q]),K=g.useCallback(Y=>{f(Y),q({scoreId:Y.id})},[q]),ne=g.useCallback(()=>{f(void 0),q({scoreId:null})},[q]),ee=g.useCallback(()=>{r("/traces")},[r]),J=g.useCallback(()=>{h("scoring"),_&&c!==_.spanId?(u(_.spanId),f(void 0),q({spanId:_.spanId,tab:"scoring",scoreId:null})):q({tab:"scoring"})},[_,c,q]),ae=_?o.jsx($y,{owner:"trace-detail",children:o.jsxs(Mr,{children:[o.jsxs(le,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:J,children:[o.jsx(EZt,{}),"Evaluate"]}),o.jsxs(le,{tooltip:"Save as Dataset Item","aria-label":"Save as Dataset Item",onClick:()=>b(!0),children:[o.jsx(Nd,{}),"Save"]})]})}):null,pe=_?o.jsx(Vt.Row,{children:o.jsx(Vt.Column,{children:o.jsx(tUt,{rootSpan:_,usage:T.data?.get(e),numOfCol:3})})}):null;return k?o.jsxs(Vt,{height:"full",children:[ae,pe&&o.jsx(Vt.TopArea,{children:pe}),o.jsx(Vt.MainArea,{isCentered:!0,children:o.jsx(iUt,{error:k,resource:"traces",errorTitle:"Failed to load trace"})})]}):o.jsxs(Vt,{height:"full",className:"grid-rows-[auto_minmax(0,1fr)] content-normal",children:[ae,pe&&o.jsx(Vt.TopArea,{children:pe}),o.jsx(fUt,{rootSpanId:_?.spanId,traceId:e,isOpen:y,onClose:()=>b(!1)}),o.jsxs("div",{className:X("mt-4 grid min-h-0 items-stretch gap-4 overflow-hidden",c?"grid-cols-[2fr_3fr]":"grid-cols-[1fr]"),children:[o.jsx(nAe,{traceId:e,spans:C,isLoading:S,onClose:ee,onSpanSelect:M,onEvaluateTrace:J,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!S&&o.jsxs("div",{className:X("grid h-full max-h-full min-h-0 gap-4 overflow-auto",d?"grid-rows-[1fr_1fr]":"grid-rows-[1fr]"),children:[o.jsx(JIe,{traceId:e,spanId:c,span:N?.span,isLoading:I,onClose:G,onPrevious:$,onNext:z,activeTab:p,onTabChange:Z,feedbackTabBadge:B?.pagination?.total??void 0,feedbackTabSlot:()=>o.jsx(hUt,{feedbackData:B,onPageChange:H,isLoadingFeedbackData:U}),scoringTabBadge:L?.pagination?.total??void 0,scoringTabSlot:({span:Y,traceId:te,spanId:ue})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(gUt,{traceId:te,isTopLevelSpan:!Y.parentSpanId,spanId:ue,entityType:Y.attributes?.agentId||Y.entityType===Ec.AGENT?"Agent":Y.attributes?.workflowId||Y.entityType===Ec.WORKFLOW_RUN?"Workflow":void 0,scorers:A,isLoadingScorers:R}),o.jsx(mUt,{scoresData:L,onPageChange:v,isLoadingScoresData:D,onScoreSelect:K})]})}),d&&o.jsx(xIe,{score:d,onClose:ne})]})]})]})}function Jgs(){const{data:e,isLoading:t,error:n}=Hy(),[r,s]=g.useState("");return n&&xs(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"workflows"})}):n?o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(cr,{children:o.jsx(tVr,{})}):o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsxs(Vt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(zf,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(le,{as:ni,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(ND,{}),"Schedules"]})]})}),o.jsx(eVr,{workflows:e||{},isLoading:t,search:r})]})}const evs={active:"bg-accent1",paused:"bg-accent3"},tvs={active:"text-accent1",paused:"text-accent3"},BUt=({status:e})=>o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${evs[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${tvs[e]}`,children:e})]}),uj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),H2=e=>{if(!e||e<=0)return"—";const t=e-Date.now(),n=Math.abs(t),r=Math.floor(n/1e3);if(r<60)return t>=0?`in ${r}s`:`${r}s ago`;const s=Math.floor(r/60);if(s<60)return t>=0?`in ${s}m`:`${s}m ago`;const a=Math.floor(s/60);if(a<24)return t>=0?`in ${a}h`:`${a}h ago`;const i=Math.floor(a/24);return t>=0?`in ${i}d`:`${i}d ago`};function UUt({status:e}){const{icon:t,color:n}=nvs(e);return o.jsxs("span",{className:`text-ui-sm inline-flex items-center gap-1.5 whitespace-nowrap ${n}`,children:[o.jsx("span",{className:"inline-flex shrink-0 items-center","aria-hidden":!0,children:t}),o.jsx("span",{children:e})]})}function nvs(e){switch(e){case"success":return{icon:o.jsx(da,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(ws,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Jt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(Kq,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx($f,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(hj,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const bet="auto auto auto auto 1fr";function rvs(e){if(e===void 0)return"—";if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${t}m ${n}s`}function svs(e){const t=Math.abs(e),n=e<0?"-":"";return t<1e3?`${n}${t}ms`:t<6e4?`${n}${(t/1e3).toFixed(1)}s`:t<36e5?`${n}${(t/6e4).toFixed(1)}m`:`${n}${(t/36e5).toFixed(1)}h`}const avs=3e4,ivs=5*6e4;function ovs({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=xn();return t?o.jsx(ol,{columns:bet}):e.length===0?o.jsx(ye,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(ge,{columns:bet,className:"min-w-0",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Run"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{children:"Started"}),o.jsx(ge.TopCell,{children:"Duration"}),o.jsx(ge.TopCell,{children:" "})]}),e.map(c=>{const u=c.actualFireAt-c.scheduledFireAt,d=svs(u),f=`Scheduled ${uj(c.scheduledFireAt)} — published ${uj(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),v=!p&&m>avs&&m<=ivs,y=`${c.scheduleId}-${c.runId}-${c.actualFireAt}`,b=!!(n&&c.runId&&!p),x=o.jsx("span",{className:b?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:c.runId}),S=o.jsxs(o.Fragment,{children:[o.jsx(ge.Cell,{height:"compact",children:x}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[p?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(_f,{size:14}),"publish failed"]}):c.run?o.jsx(UUt,{status:c.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),h?o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(_f,{size:14})})}),o.jsx(On,{children:h})]}):null]})}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:f,children:H2(c.actualFireAt)}),v?o.jsxs(Tn,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(_f,{size:14})})}),o.jsxs(On,{children:["Published ",d," after the scheduled fire time"]})]}):null]})}),o.jsx(ge.Cell,{height:"compact",children:c.run?o.jsx("span",{children:rvs(c.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(ge.Cell,{height:"compact",children:" "})]});return b?o.jsx(ge.RowLink,{to:l.workflowRunLink(n,c.runId),LinkComponent:i,children:S},y):o.jsx(ge.RowStatic,{children:S},y)}),o.jsx(ge.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const lvs=e=>{const t=Ge();return vt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},xet=25,cvs=e=>{const t=Ge(),{inView:n,setRef:r}=G_(),s=Z1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:xet,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<xet))return u.triggers[u.triggers.length-1].actualFireAt},refetchInterval:u=>(u.state.data?.pages.flatMap(p=>p.triggers)??[]).some(p=>p.run?p.run.status==="pending"||p.run.status==="running"||p.run.status==="waiting":p.outcome==="published")?5e3:!1}),a=s.data?.pages.flatMap(u=>u?.triggers??[])??[],{hasNextPage:i,isFetchingNextPage:l,fetchNextPage:c}=s;return g.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},uvs=e=>{const t=Ge(),n=Br();return Dn({mutationFn:async r=>{if(!e)throw new Error("scheduleId is required");return r==="pause"?t.pauseSchedule(e):t.resumeSchedule(e)},onSuccess:(r,s)=>{n.invalidateQueries({queryKey:["schedule",e]}),n.invalidateQueries({queryKey:["schedules"]}),Fe.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{Fe.error(r.message)}})};function Bz({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function dvs(){const{scheduleId:e}=Sr(),{paths:t}=xn(),{data:n,error:r}=lvs(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=cvs(e),d=uvs(e);if(r&&xs(r))return o.jsx(cr,{children:o.jsx(Zs,{})});if(r&&Ss(r))return o.jsx(cr,{children:o.jsx($s,{resource:"schedules"})});if(r)return o.jsx(cr,{children:o.jsx(Hi,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Vt,{children:[o.jsx(Vt.TopArea,{children:o.jsx(Vt.Row,{className:"justify-end",children:o.jsxs(Vt.Column,{className:"flex justify-end gap-2",children:[o.jsxs(le,{as:ni,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(Rc,{}),"Back to schedules"]}),f?o.jsx(le,{as:ni,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(le,{onClick:()=>d.mutate(n.status==="active"?"pause":"resume"),disabled:d.isPending,"data-testid":"schedule-toggle-button",children:n.status==="active"?o.jsxs(o.Fragment,{children:[o.jsx($xe,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(qp,{}),"Resume"]})}):null]})})}),n?o.jsxs("div",{className:"grid h-full grid-cols-[minmax(0,20rem)_1fr] gap-6 overflow-hidden",children:[o.jsxs("div",{className:"border-border1 flex h-fit flex-col gap-4 rounded-md border p-4",children:[o.jsx(Bz,{label:p?"Agent":"Workflow",children:f?o.jsx(ni,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(ni,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(Bz,{label:"Cron",children:[o.jsx("code",{className:"text-ui-md font-mono",children:n.cron}),n.timezone?o.jsx("span",{className:"text-neutral4 text-ui-sm ml-2",children:n.timezone}):null]}),o.jsx(Bz,{label:"Status",children:o.jsx(BUt,{status:n.status})}),o.jsx(Bz,{label:"Next fire",children:o.jsx("span",{title:uj(n.nextFireAt),children:H2(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ye,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(Hi,{title:"Failed to load trigger history",message:i.message}):o.jsx(ovs,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const wet="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function fvs({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=xn(),a=g.useMemo(()=>{const i=n.toLowerCase();return i?e.filter(l=>l.id.toLowerCase().includes(i)||(l.workflowId??l.agentId??"").toLowerCase().includes(i)):e},[e,n]);return t?o.jsx(ol,{columns:wet}):o.jsxs(ge,{columns:wet,variant:"striped",className:"min-w-0",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Target"}),o.jsx(ge.TopCell,{children:"Schedule ID"}),o.jsx(ge.TopCell,{children:"Cron"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{children:"Next fire"}),o.jsx(ge.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(ge.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(ge.NoMatch,{message:"No schedules configured"}):null,a.map(i=>o.jsxs(ge.RowLink,{to:r.scheduleLink(i.id),LinkComponent:s,children:[o.jsx(ge.NameCell,{children:i.workflowId??i.agentId}),o.jsx(ge.Cell,{height:"compact",className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:i.id,children:i.id})}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:i.cron}),i.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:i.timezone}):null]})}),o.jsx(ge.Cell,{height:"compact",children:o.jsx(BUt,{status:i.status})}),o.jsx(ge.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:uj(i.nextFireAt),children:H2(i.nextFireAt)})}),o.jsx(ge.Cell,{height:"compact",children:i.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(UUt,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:uj(i.lastFireAt),children:i.lastFireAt?H2(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:uj(i.lastFireAt),children:H2(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function pvs({workflowId:e}={}){const{data:t,isLoading:n,error:r}=T1e(e?{workflowId:e}:{}),[s,a]=g.useState("");return r?o.jsx(Hi,{title:"Failed to load schedules",message:r.message}):o.jsxs("div",{className:"grid h-full grid-rows-[auto_1fr] gap-4 overflow-hidden",children:[o.jsx("div",{className:"max-w-120",children:o.jsx(zf,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(fvs,{schedules:t??[],isLoading:n,search:s})})]})}function hvs(){const[e]=si(),t=e.get("workflowId")??void 0,{error:n}=T1e(t?{workflowId:t}:{});return n&&xs(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"schedules"})}):o.jsx(Vt,{children:o.jsx("div",{className:"h-full",children:o.jsx(pvs,{workflowId:t})})})}function mvs({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=rOe({stepGraph:e}),[a,i]=g.useState(!1),[l,c,u]=WOt(r),[d]=ZOt(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=T4t({edges:d,workflowName:n,stepGraph:e});return g.useEffect(()=>{if(t){const m=setTimeout(()=>{i(!0)},500);return()=>clearTimeout(m)}},[t]),o.jsx("div",{className:"bg-surface1 relative h-full w-full",children:a?o.jsxs(HOt,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(QTe,{position:"bottom-left"}),o.jsx(QOt,{variant:ay.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(Jt,{})})})}function gvs(){const{stepDetail:e,closeStepDetail:t}=nW();return e?o.jsxs("div",{className:"flex h-full flex-col","data-testid":"workflow-step-detail-panel",children:[o.jsxs("div",{className:"border-border1 bg-surface1 flex items-center justify-between border-b px-4 py-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e.type==="map-config"&&o.jsx(f9,{className:"h-4 w-4",style:{color:Iu.map}}),e.type==="nested-graph"&&o.jsx(td,{className:"h-4 w-4",style:{color:Iu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ye,{variant:"ui-md",className:"text-neutral6 font-medium",children:e.type==="map-config"?`${e.stepName} Config`:`${e.stepName} Workflow`}),e.type==="map-config"&&e.stepId&&e.stepId!==e.stepName&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral3",children:e.stepId})]})]}),o.jsx("button",{onClick:t,className:"hover:bg-surface3 rounded p-1 transition-colors","aria-label":"Close",children:o.jsx(ws,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(U2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(nOe,{children:o.jsx(mvs,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function vvs(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function yvs(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)){const n=Object.keys(e);if(n.length===1)return n[0]}return t}function bvs({suspendedSteps:e,workflow:t,isStreaming:n,onResume:r}){return n||e.length===0?null:o.jsxs("div",{className:"border-border1 bg-surface4 space-y-5 rounded-lg border p-5","data-testid":"workflow-suspended-steps",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs(ye,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(Ve,{children:o.jsx(Kq,{})}),"Step suspended"]}),o.jsx(on,{variant:"warning",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?hm(Tx(i.resumeSchema)):lf(fr(),vf());return o.jsx(xvs,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function xvs({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=g.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ye,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ye,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(zQt,{})}),"The step is asking"]}),o.jsxs(Ld,{open:a,onOpenChange:i,children:[o.jsxs(Ku,{className:"border-border1 bg-surface3 flex w-full items-center justify-between gap-2 rounded-lg border px-3 py-2.5",children:[o.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(aa,{className:X("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ye,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:yvs(e.suspendPayload,e.stepId)})]}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:vvs(e.suspendPayload)})]}),o.jsx(Xu,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Hr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(qQt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(qB,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(qp,{}),submitButtonFullWidth:!0,collapsible:!1,hideHeading:!0,hideInputTypeLabel:!0,onSubmit:l=>{const c=e.stepId?.split(".");s({stepId:c,runId:e.runId,suspendPayload:e.suspendPayload,resumeData:l,isLoading:!1})}})})]})]})}function wvs(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=g.useContext(ql),{runId:a}=Sr(),i=n_t(e,r??""),l=pJn(),c=!!a,u=t?.status==="suspended",f=!!(a&&r&&a===r)&&e?.status==="suspended";return s||!n||i.length===0||c&&!u&&!f?null:o.jsx("div",{"data-testid":"workflow-suspended-overlay",className:"animate-in fade-in-0 slide-in-from-top-2 zoom-in-95 absolute top-2 right-2 z-20 max-h-[calc(100%-1rem)] w-[380px] max-w-[calc(100%-1rem)] overflow-y-auto rounded-lg shadow-lg duration-300",children:o.jsx(bvs,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const Svs=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.97865 4.57004C8.22604 4.75795 8.27426 5.11082 8.08635 5.35821L6.05486 8.03279C5.94873 8.17251 5.78348 8.25471 5.60803 8.25505C5.43257 8.2554 5.267 8.17385 5.16032 8.03454L3.80937 6.27034C3.6205 6.02369 3.66733 5.67063 3.91398 5.48176C4.16063 5.29288 4.51369 5.33972 4.70257 5.58637L5.6051 6.76498L7.19048 4.67774C7.37839 4.43036 7.73126 4.38213 7.97865 4.57004Z",fill:"currentColor"})]}),kvs=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.89741 4.10293C8.11707 4.32261 8.11706 4.67877 7.89738 4.89843L6.79517 6.00058L7.8962 7.10155C8.11588 7.32122 8.11589 7.67737 7.89623 7.89705C7.67656 8.11673 7.32041 8.11674 7.10073 7.89707L5.99965 6.79605L4.89856 7.89707C4.67889 8.11673 4.32273 8.11672 4.10307 7.89704C3.88341 7.67737 3.88342 7.32121 4.10309 7.10155L5.20413 6.00058L4.10191 4.89843C3.88224 4.67877 3.88223 4.32262 4.10189 4.10294C4.32155 3.88326 4.67771 3.88325 4.89738 4.10292L5.99965 5.20511L7.10191 4.10291C7.32159 3.88325 7.67774 3.88326 7.89741 4.10293Z",fill:"currentColor"})]}),Ovs=e=>e.includes("."),_vs=e=>e==="input"||e.endsWith(".input"),Cvs=1;function Evs(e){return`${Number((e/1e3).toPrecision(3))}s`}function Tvs(e,t){const n=Object.entries(e).filter(([i])=>!_vs(i));if(n.length===0)return[];const r=Math.min(...n.map(([,i])=>i.startedAt)),s=Math.max(...n.map(([,i])=>i.endedAt??t)),a=Math.max(s-r,1);return n.map(([i,l])=>{const c=l.endedAt===void 0,d=(l.endedAt??t)-l.startedAt,f=(l.startedAt-r)/a*100,p=Math.max(d/a*100,Cvs);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:Ovs(i)}})}const jvs=({status:e})=>o.jsxs(Ve,{children:[e==="success"&&o.jsx(Svs,{className:"text-accent1"}),e==="failed"&&o.jsx(kvs,{className:"text-accent2"}),e==="suspended"&&o.jsx(Kq,{className:"text-accent3"}),e==="waiting"&&o.jsx(lpe,{className:"text-accent5"}),e==="skipped"&&o.jsx(lpe,{className:"text-icon3"}),e==="running"&&o.jsx(ca,{className:"text-accent6 animate-spin"})]}),Nvs={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function qUt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const ket=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},Ivs=e=>{const t=e;return b4t({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},Avs=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=Ivs(e.step),u=e.status==="running",d=!e.isNestedEntry;return o.jsxs("div",{role:"button",tabIndex:0,"data-testid":"workflow-timeline-row","data-workflow-step-key":e.stepId,"data-workflow-step-active":n?"true":void 0,"data-workflow-step-hovered":r?"true":void 0,"data-workflow-step-nested":e.isNestedEntry?"true":void 0,"aria-pressed":n,"aria-disabled":!d,onMouseEnter:()=>{d&&a(e.stepId)},onMouseLeave:()=>{d&&a(null)},onClick:()=>{d&&s(e.stepId)},onKeyDown:f=>{!d||f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),s(e.stepId))},className:X("grid grid-cols-[auto_auto_auto_minmax(0,10rem)_minmax(0,1fr)_auto_5rem] items-center gap-2 rounded-md border border-transparent px-2 py-1 text-left transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-accent1",d&&"cursor-pointer",d&&"hover:bg-surface4",d&&r&&!n&&"border-neutral6 bg-surface4",d&&n&&"border-accent1",e.isNestedEntry&&"cursor-default opacity-55"),children:[o.jsx("div",{className:"flex justify-center",children:o.jsx(jvs,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(le,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step input",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||i(e)},children:o.jsx(VYt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(Oq,{indicators:c,className:"shrink-0"})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral6 block max-w-full min-w-0 justify-self-stretch overflow-hidden text-left text-ellipsis whitespace-nowrap",children:qUt(e.stepId)}),o.jsx("div",{className:"bg-surface4 relative h-2 min-w-0 rounded",children:o.jsx("div",{"data-testid":"workflow-timeline-bar","data-offset":String(e.offsetPct),"data-width":String(e.widthPct),className:`absolute top-0 h-full rounded ${Nvs[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(le,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step output",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||l(e)},children:o.jsx(UYt,{})})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:Evs(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function Rvs(){const{steps:e}=R4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=mH(),[a,i]=g.useState(()=>Date.now()),[l,c]=g.useState(!1),[u,d]=g.useState(null),f=g.useRef(null);jyt(f,{enabled:!l});const p=Tvs(e,a),h=p.some(m=>m.isRunning);return g.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),g.useEffect(()=>{if(l||p.length===0)return;const m=f.current;m&&(m.scrollTop=m.scrollHeight)},[l,p.length]),p.length===0?null:o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-testid":"workflow-timeline",className:"pointer-events-none absolute right-0 bottom-0 z-20 px-2 pb-2",style:{left:"var(--workflow-left-panel-width, 0px)"},children:o.jsxs("div",{className:"rounded-studio-panel border-border1/50 bg-surface3 pointer-events-auto flex max-h-64 w-full min-w-0 flex-col gap-3 overflow-hidden border p-4 shadow-lg",children:[o.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3",children:[o.jsx(ye,{as:"p",variant:"ui-md",className:"text-neutral3",children:"Timeline"}),o.jsx("button",{type:"button","aria-label":l?"Expand timeline":"Collapse timeline","aria-expanded":!l,onClick:()=>c(m=>!m),className:"text-neutral3 hover:bg-surface4 hover:text-neutral6 rounded-md p-1 transition-colors",children:o.jsx(Na,{className:X("h-4 w-4 transition-transform",l&&"-rotate-90")})})]}),!l&&o.jsx("div",{ref:f,"data-testid":"workflow-timeline-list",className:"flex min-h-0 flex-col gap-2 overflow-y-auto",children:p.map((m,v)=>o.jsx(Avs,{row:m,index:v,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:ket(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:ket(y.step.output)})},`timeline-item-${m.stepId}-${v}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(s_t,{data:u.data,title:`${qUt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const Pvs=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=nW();return o.jsxs("div",{className:"flex h-full min-h-0",children:[o.jsx("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:o.jsxs("div",{className:"relative min-h-0 flex-1 p-2 pb-0",children:[o.jsx(M4t,{workflowId:e,workflow:t,isLoading:n}),o.jsx(wvs,{}),o.jsx(Rvs,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(gvs,{})})]})},Oet=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=U3(e);return r&&xs(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})}):r&&Ss(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"workflows"})}):o.jsx(wOe,{children:o.jsx(Pvs,{workflowId:e,workflow:t??void 0,isLoading:n})})};function $vs(e,t){if(e==null)return{};var n,r,s=lSt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function yxe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Mvs(e){if(Array.isArray(e))return yxe(e)}function Dvs(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Lvs(e,t){if(e){if(typeof e=="string")return yxe(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yxe(e,t):void 0}}function Fvs(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
643
643
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bxe(e){return Mvs(e)||Dvs(e)||Lvs(e)||Fvs()}function CD(e){"@babel/helpers - typeof";return CD=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},CD(e)}function zvs(e,t){if(CD(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(CD(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Bvs(e){var t=zvs(e,"string");return CD(t)=="symbol"?t:t+""}function VUt(e,t,n){return(t=Bvs(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _et(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function OT(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?_et(Object(n),!0).forEach(function(r){VUt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_et(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Uvs(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])];if(t===3)return[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])];if(t>=4)return[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]}var yie={};function qvs(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return yie[t]||(yie[t]=Uvs(e)),yie[t]}function Vvs(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter(function(a){return a!=="token"}),s=qvs(r);return s.reduce(function(a,i){return OT(OT({},a),n[i])},t)}function Cet(e){return e.join(" ")}function Hvs(e,t){var n=0;return function(r){return n+=1,r.map(function(s,a){return HUt({node:s,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function HUt(e){var t=e.node,n=e.stylesheet,r=e.style,s=r===void 0?{}:r,a=e.useInlineStyles,i=e.key,l=t.properties,c=t.type,u=t.tagName,d=t.value;if(c==="text")return d;if(u){var f=Hvs(n,a),p;if(!a)p=OT(OT({},l),{},{className:Cet(l.className)});else{var h=Object.keys(n).reduce(function(b,x){return x.split(".").forEach(function(S){b.includes(S)||b.push(S)}),b},[]),m=l.className&&l.className.includes("token")?["token"]:[],v=l.className&&m.concat(l.className.filter(function(b){return!h.includes(b)}));p=OT(OT({},l),{},{className:Cet(v)||void 0,style:Vvs(l.className,Object.assign({},l.style,s),n)})}var y=f(t.children);return ze.createElement(u,HO({key:i},p),y)}}const Wvs=(function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1});var Zvs=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function Eet(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Lw(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Eet(Object(n),!0).forEach(function(r){VUt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Eet(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Gvs=/\n/g;function Qvs(e){return e.match(Gvs)}function Yvs(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(s,a){var i=a+n;return ze.createElement("span",{key:"line-".concat(a),className:"react-syntax-highlighter-line-number",style:typeof r=="function"?r(i):r},"".concat(i,`
|
|
644
644
|
`))})}function Kvs(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,s=r===void 0?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,i=a===void 0?{}:a,l=e.startingLineNumber;return ze.createElement("code",{style:Object.assign({},n,s)},Yvs({lines:t.replace(/\n$/,"").split(`
|
|
645
645
|
`),style:i,startingLineNumber:l}))}function Xvs(e){return"".concat(e.toString().length,".25em")}function WUt(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function ZUt(e,t,n){var r={display:"inline-block",minWidth:Xvs(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},s=typeof e=="function"?e(t):e,a=Lw(Lw({},r),s);return a}function l9(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,s=e.largestLineNumber,a=e.showInlineLineNumbers,i=e.lineProps,l=i===void 0?{}:i,c=e.className,u=c===void 0?[]:c,d=e.showLineNumbers,f=e.wrapLongLines,p=e.wrapLines,h=p===void 0?!1:p,m=h?Lw({},typeof l=="function"?l(n):l):{};if(m.className=m.className?[].concat(bxe(m.className.trim().split(/\s+/)),bxe(u)):u,n&&a){var v=ZUt(r,n,s);t.unshift(WUt(n,v))}return f&d&&(m.style=Lw({display:"flex"},m.style)),{type:"element",tagName:"span",properties:m,children:t}}function GUt(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var s=e[r];if(s.type==="text")n.push(l9({children:[s],className:bxe(new Set(t))}));else if(s.children){var a=t.concat(s.properties.className);GUt(s.children,a).forEach(function(i){return n.push(i)})}}return n}function Jvs(e,t,n,r,s,a,i,l,c){var u,d=GUt(e.value),f=[],p=-1,h=0;function m(C,_){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return l9({children:C,lineNumber:_,lineNumberStyle:l,largestLineNumber:i,showInlineLineNumbers:s,lineProps:n,className:E,showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function v(C,_){if(r&&_&&s){var E=ZUt(l,_,i);C.unshift(WUt(_,E))}return C}function y(C,_){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||E.length>0?m(C,_,E):v(C,_)}for(var b=function(){var _=d[h],E=_.children[0].value,T=Qvs(E);if(T){var N=E.split(`
|