239 lines
648 KiB
JavaScript
239 lines
648 KiB
JavaScript
(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const u of o)if(u.type==="childList")for(const _ of u.addedNodes)_.tagName==="LINK"&&_.rel==="modulepreload"&&s(_)}).observe(document,{childList:!0,subtree:!0});function i(o){const u={};return o.integrity&&(u.integrity=o.integrity),o.referrerPolicy&&(u.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?u.credentials="include":o.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function s(o){if(o.ep)return;o.ep=!0;const u=i(o);fetch(o.href,u)}})();function Q0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mf={exports:{}},jr={};/**
|
||
* @license React
|
||
* react-jsx-runtime.production.js
|
||
*
|
||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var ug;function V0(){if(ug)return jr;ug=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function i(s,o,u){var _=null;if(u!==void 0&&(_=""+u),o.key!==void 0&&(_=""+o.key),"key"in o){u={};for(var g in o)g!=="key"&&(u[g]=o[g])}else u=o;return o=u.ref,{$$typeof:t,type:s,key:_,ref:o!==void 0?o:null,props:u}}return jr.Fragment=a,jr.jsx=i,jr.jsxs=i,jr}var dg;function X0(){return dg||(dg=1,mf.exports=V0()),mf.exports}var c=X0(),_f={exports:{}},Ee={};/**
|
||
* @license React
|
||
* react.production.js
|
||
*
|
||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var fg;function Z0(){if(fg)return Ee;fg=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),_=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),A=Symbol.iterator;function O(E){return E===null||typeof E!="object"?null:(E=A&&E[A]||E["@@iterator"],typeof E=="function"?E:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},R=Object.assign,j={};function w(E,K,ee){this.props=E,this.context=K,this.refs=j,this.updater=ee||C}w.prototype.isReactComponent={},w.prototype.setState=function(E,K){if(typeof E!="object"&&typeof E!="function"&&E!=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,E,K,"setState")},w.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function $(){}$.prototype=w.prototype;function I(E,K,ee){this.props=E,this.context=K,this.refs=j,this.updater=ee||C}var te=I.prototype=new $;te.constructor=I,R(te,w.prototype),te.isPureReactComponent=!0;var ae=Array.isArray;function ie(){}var L={H:null,A:null,T:null,S:null},le=Object.prototype.hasOwnProperty;function we(E,K,ee){var ce=ee.ref;return{$$typeof:t,type:E,key:K,ref:ce!==void 0?ce:null,props:ee}}function W(E,K){return we(E.type,K,E.props)}function oe(E){return typeof E=="object"&&E!==null&&E.$$typeof===t}function be(E){var K={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(ee){return K[ee]})}var q=/\/+/g;function re(E,K){return typeof E=="object"&&E!==null&&E.key!=null?be(""+E.key):K.toString(36)}function de(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(ie,ie):(E.status="pending",E.then(function(K){E.status==="pending"&&(E.status="fulfilled",E.value=K)},function(K){E.status==="pending"&&(E.status="rejected",E.reason=K)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function H(E,K,ee,ce,ve){var Ce=typeof E;(Ce==="undefined"||Ce==="boolean")&&(E=null);var F=!1;if(E===null)F=!0;else switch(Ce){case"bigint":case"string":case"number":F=!0;break;case"object":switch(E.$$typeof){case t:case a:F=!0;break;case k:return F=E._init,H(F(E._payload),K,ee,ce,ve)}}if(F)return ve=ve(E),F=ce===""?"."+re(E,0):ce,ae(ve)?(ee="",F!=null&&(ee=F.replace(q,"$&/")+"/"),H(ve,K,ee,"",function(Y){return Y})):ve!=null&&(oe(ve)&&(ve=W(ve,ee+(ve.key==null||E&&E.key===ve.key?"":(""+ve.key).replace(q,"$&/")+"/")+F)),K.push(ve)),1;F=0;var me=ce===""?".":ce+":";if(ae(E))for(var Be=0;Be<E.length;Be++)ce=E[Be],Ce=me+re(ce,Be),F+=H(ce,K,ee,Ce,ve);else if(Be=O(E),typeof Be=="function")for(E=Be.call(E),Be=0;!(ce=E.next()).done;)ce=ce.value,Ce=me+re(ce,Be++),F+=H(ce,K,ee,Ce,ve);else if(Ce==="object"){if(typeof E.then=="function")return H(de(E),K,ee,ce,ve);throw K=String(E),Error("Objects are not valid as a React child (found: "+(K==="[object Object]"?"object with keys {"+Object.keys(E).join(", ")+"}":K)+"). If you meant to render a collection of children, use an array instead.")}return F}function Z(E,K,ee){if(E==null)return E;var ce=[],ve=0;return H(E,ce,"","",function(Ce){return K.call(ee,Ce,ve++)}),ce}function ne(E){if(E._status===-1){var K=E._result;K=K(),K.then(function(ee){(E._status===0||E._status===-1)&&(E._status=1,E._result=ee)},function(ee){(E._status===0||E._status===-1)&&(E._status=2,E._result=ee)}),E._status===-1&&(E._status=0,E._result=K)}if(E._status===1)return E._result.default;throw E._result}var he=typeof reportError=="function"?reportError:function(E){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var K=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof E=="object"&&E!==null&&typeof E.message=="string"?String(E.message):String(E),error:E});if(!window.dispatchEvent(K))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",E);return}console.error(E)},J={map:Z,forEach:function(E,K,ee){Z(E,function(){K.apply(this,arguments)},ee)},count:function(E){var K=0;return Z(E,function(){K++}),K},toArray:function(E){return Z(E,function(K){return K})||[]},only:function(E){if(!oe(E))throw Error("React.Children.only expected to receive a single React element child.");return E}};return Ee.Activity=b,Ee.Children=J,Ee.Component=w,Ee.Fragment=i,Ee.Profiler=o,Ee.PureComponent=I,Ee.StrictMode=s,Ee.Suspense=p,Ee.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=L,Ee.__COMPILER_RUNTIME={__proto__:null,c:function(E){return L.H.useMemoCache(E)}},Ee.cache=function(E){return function(){return E.apply(null,arguments)}},Ee.cacheSignal=function(){return null},Ee.cloneElement=function(E,K,ee){if(E==null)throw Error("The argument must be a React element, but you passed "+E+".");var ce=R({},E.props),ve=E.key;if(K!=null)for(Ce in K.key!==void 0&&(ve=""+K.key),K)!le.call(K,Ce)||Ce==="key"||Ce==="__self"||Ce==="__source"||Ce==="ref"&&K.ref===void 0||(ce[Ce]=K[Ce]);var Ce=arguments.length-2;if(Ce===1)ce.children=ee;else if(1<Ce){for(var F=Array(Ce),me=0;me<Ce;me++)F[me]=arguments[me+2];ce.children=F}return we(E.type,ve,ce)},Ee.createContext=function(E){return E={$$typeof:_,_currentValue:E,_currentValue2:E,_threadCount:0,Provider:null,Consumer:null},E.Provider=E,E.Consumer={$$typeof:u,_context:E},E},Ee.createElement=function(E,K,ee){var ce,ve={},Ce=null;if(K!=null)for(ce in K.key!==void 0&&(Ce=""+K.key),K)le.call(K,ce)&&ce!=="key"&&ce!=="__self"&&ce!=="__source"&&(ve[ce]=K[ce]);var F=arguments.length-2;if(F===1)ve.children=ee;else if(1<F){for(var me=Array(F),Be=0;Be<F;Be++)me[Be]=arguments[Be+2];ve.children=me}if(E&&E.defaultProps)for(ce in F=E.defaultProps,F)ve[ce]===void 0&&(ve[ce]=F[ce]);return we(E,Ce,ve)},Ee.createRef=function(){return{current:null}},Ee.forwardRef=function(E){return{$$typeof:g,render:E}},Ee.isValidElement=oe,Ee.lazy=function(E){return{$$typeof:k,_payload:{_status:-1,_result:E},_init:ne}},Ee.memo=function(E,K){return{$$typeof:h,type:E,compare:K===void 0?null:K}},Ee.startTransition=function(E){var K=L.T,ee={};L.T=ee;try{var ce=E(),ve=L.S;ve!==null&&ve(ee,ce),typeof ce=="object"&&ce!==null&&typeof ce.then=="function"&&ce.then(ie,he)}catch(Ce){he(Ce)}finally{K!==null&&ee.types!==null&&(K.types=ee.types),L.T=K}},Ee.unstable_useCacheRefresh=function(){return L.H.useCacheRefresh()},Ee.use=function(E){return L.H.use(E)},Ee.useActionState=function(E,K,ee){return L.H.useActionState(E,K,ee)},Ee.useCallback=function(E,K){return L.H.useCallback(E,K)},Ee.useContext=function(E){return L.H.useContext(E)},Ee.useDebugValue=function(){},Ee.useDeferredValue=function(E,K){return L.H.useDeferredValue(E,K)},Ee.useEffect=function(E,K){return L.H.useEffect(E,K)},Ee.useEffectEvent=function(E){return L.H.useEffectEvent(E)},Ee.useId=function(){return L.H.useId()},Ee.useImperativeHandle=function(E,K,ee){return L.H.useImperativeHandle(E,K,ee)},Ee.useInsertionEffect=function(E,K){return L.H.useInsertionEffect(E,K)},Ee.useLayoutEffect=function(E,K){return L.H.useLayoutEffect(E,K)},Ee.useMemo=function(E,K){return L.H.useMemo(E,K)},Ee.useOptimistic=function(E,K){return L.H.useOptimistic(E,K)},Ee.useReducer=function(E,K,ee){return L.H.useReducer(E,K,ee)},Ee.useRef=function(E){return L.H.useRef(E)},Ee.useState=function(E){return L.H.useState(E)},Ee.useSyncExternalStore=function(E,K,ee){return L.H.useSyncExternalStore(E,K,ee)},Ee.useTransition=function(){return L.H.useTransition()},Ee.version="19.2.7",Ee}var mg;function cm(){return mg||(mg=1,_f.exports=Z0()),_f.exports}var x=cm();const J0=Q0(x);var pf={exports:{}},Cr={},hf={exports:{}},gf={};/**
|
||
* @license React
|
||
* scheduler.production.js
|
||
*
|
||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var _g;function F0(){return _g||(_g=1,(function(t){function a(H,Z){var ne=H.length;H.push(Z);e:for(;0<ne;){var he=ne-1>>>1,J=H[he];if(0<o(J,Z))H[he]=Z,H[ne]=J,ne=he;else break e}}function i(H){return H.length===0?null:H[0]}function s(H){if(H.length===0)return null;var Z=H[0],ne=H.pop();if(ne!==Z){H[0]=ne;e:for(var he=0,J=H.length,E=J>>>1;he<E;){var K=2*(he+1)-1,ee=H[K],ce=K+1,ve=H[ce];if(0>o(ee,ne))ce<J&&0>o(ve,ee)?(H[he]=ve,H[ce]=ne,he=ce):(H[he]=ee,H[K]=ne,he=K);else if(ce<J&&0>o(ve,ne))H[he]=ve,H[ce]=ne,he=ce;else break e}}return Z}function o(H,Z){var ne=H.sortIndex-Z.sortIndex;return ne!==0?ne:H.id-Z.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var _=Date,g=_.now();t.unstable_now=function(){return _.now()-g}}var p=[],h=[],k=1,b=null,A=3,O=!1,C=!1,R=!1,j=!1,w=typeof setTimeout=="function"?setTimeout:null,$=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;function te(H){for(var Z=i(h);Z!==null;){if(Z.callback===null)s(h);else if(Z.startTime<=H)s(h),Z.sortIndex=Z.expirationTime,a(p,Z);else break;Z=i(h)}}function ae(H){if(R=!1,te(H),!C)if(i(p)!==null)C=!0,ie||(ie=!0,be());else{var Z=i(h);Z!==null&&de(ae,Z.startTime-H)}}var ie=!1,L=-1,le=5,we=-1;function W(){return j?!0:!(t.unstable_now()-we<le)}function oe(){if(j=!1,ie){var H=t.unstable_now();we=H;var Z=!0;try{e:{C=!1,R&&(R=!1,$(L),L=-1),O=!0;var ne=A;try{t:{for(te(H),b=i(p);b!==null&&!(b.expirationTime>H&&W());){var he=b.callback;if(typeof he=="function"){b.callback=null,A=b.priorityLevel;var J=he(b.expirationTime<=H);if(H=t.unstable_now(),typeof J=="function"){b.callback=J,te(H),Z=!0;break t}b===i(p)&&s(p),te(H)}else s(p);b=i(p)}if(b!==null)Z=!0;else{var E=i(h);E!==null&&de(ae,E.startTime-H),Z=!1}}break e}finally{b=null,A=ne,O=!1}Z=void 0}}finally{Z?be():ie=!1}}}var be;if(typeof I=="function")be=function(){I(oe)};else if(typeof MessageChannel<"u"){var q=new MessageChannel,re=q.port2;q.port1.onmessage=oe,be=function(){re.postMessage(null)}}else be=function(){w(oe,0)};function de(H,Z){L=w(function(){H(t.unstable_now())},Z)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(H){H.callback=null},t.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"):le=0<H?Math.floor(1e3/H):5},t.unstable_getCurrentPriorityLevel=function(){return A},t.unstable_next=function(H){switch(A){case 1:case 2:case 3:var Z=3;break;default:Z=A}var ne=A;A=Z;try{return H()}finally{A=ne}},t.unstable_requestPaint=function(){j=!0},t.unstable_runWithPriority=function(H,Z){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var ne=A;A=H;try{return Z()}finally{A=ne}},t.unstable_scheduleCallback=function(H,Z,ne){var he=t.unstable_now();switch(typeof ne=="object"&&ne!==null?(ne=ne.delay,ne=typeof ne=="number"&&0<ne?he+ne:he):ne=he,H){case 1:var J=-1;break;case 2:J=250;break;case 5:J=1073741823;break;case 4:J=1e4;break;default:J=5e3}return J=ne+J,H={id:k++,callback:Z,priorityLevel:H,startTime:ne,expirationTime:J,sortIndex:-1},ne>he?(H.sortIndex=ne,a(h,H),i(p)===null&&H===i(h)&&(R?($(L),L=-1):R=!0,de(ae,ne-he))):(H.sortIndex=J,a(p,H),C||O||(C=!0,ie||(ie=!0,be()))),H},t.unstable_shouldYield=W,t.unstable_wrapCallback=function(H){var Z=A;return function(){var ne=A;A=Z;try{return H.apply(this,arguments)}finally{A=ne}}}})(gf)),gf}var pg;function P0(){return pg||(pg=1,hf.exports=F0()),hf.exports}var yf={exports:{}},Zt={};/**
|
||
* @license React
|
||
* react-dom.production.js
|
||
*
|
||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var hg;function W0(){if(hg)return Zt;hg=1;var t=cm();function a(p){var h="https://react.dev/errors/"+p;if(1<arguments.length){h+="?args[]="+encodeURIComponent(arguments[1]);for(var k=2;k<arguments.length;k++)h+="&args[]="+encodeURIComponent(arguments[k])}return"Minified React error #"+p+"; visit "+h+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var s={d:{f:i,r:function(){throw Error(a(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for("react.portal");function u(p,h,k){var b=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:b==null?null:""+b,children:p,containerInfo:h,implementation:k}}var _=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function g(p,h){if(p==="font")return"";if(typeof h=="string")return h==="use-credentials"?h:""}return Zt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,Zt.createPortal=function(p,h){var k=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!h||h.nodeType!==1&&h.nodeType!==9&&h.nodeType!==11)throw Error(a(299));return u(p,h,null,k)},Zt.flushSync=function(p){var h=_.T,k=s.p;try{if(_.T=null,s.p=2,p)return p()}finally{_.T=h,s.p=k,s.d.f()}},Zt.preconnect=function(p,h){typeof p=="string"&&(h?(h=h.crossOrigin,h=typeof h=="string"?h==="use-credentials"?h:"":void 0):h=null,s.d.C(p,h))},Zt.prefetchDNS=function(p){typeof p=="string"&&s.d.D(p)},Zt.preinit=function(p,h){if(typeof p=="string"&&h&&typeof h.as=="string"){var k=h.as,b=g(k,h.crossOrigin),A=typeof h.integrity=="string"?h.integrity:void 0,O=typeof h.fetchPriority=="string"?h.fetchPriority:void 0;k==="style"?s.d.S(p,typeof h.precedence=="string"?h.precedence:void 0,{crossOrigin:b,integrity:A,fetchPriority:O}):k==="script"&&s.d.X(p,{crossOrigin:b,integrity:A,fetchPriority:O,nonce:typeof h.nonce=="string"?h.nonce:void 0})}},Zt.preinitModule=function(p,h){if(typeof p=="string")if(typeof h=="object"&&h!==null){if(h.as==null||h.as==="script"){var k=g(h.as,h.crossOrigin);s.d.M(p,{crossOrigin:k,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0})}}else h==null&&s.d.M(p)},Zt.preload=function(p,h){if(typeof p=="string"&&typeof h=="object"&&h!==null&&typeof h.as=="string"){var k=h.as,b=g(k,h.crossOrigin);s.d.L(p,k,{crossOrigin:b,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0,type:typeof h.type=="string"?h.type:void 0,fetchPriority:typeof h.fetchPriority=="string"?h.fetchPriority:void 0,referrerPolicy:typeof h.referrerPolicy=="string"?h.referrerPolicy:void 0,imageSrcSet:typeof h.imageSrcSet=="string"?h.imageSrcSet:void 0,imageSizes:typeof h.imageSizes=="string"?h.imageSizes:void 0,media:typeof h.media=="string"?h.media:void 0})}},Zt.preloadModule=function(p,h){if(typeof p=="string")if(h){var k=g(h.as,h.crossOrigin);s.d.m(p,{as:typeof h.as=="string"&&h.as!=="script"?h.as:void 0,crossOrigin:k,integrity:typeof h.integrity=="string"?h.integrity:void 0})}else s.d.m(p)},Zt.requestFormReset=function(p){s.d.r(p)},Zt.unstable_batchedUpdates=function(p,h){return p(h)},Zt.useFormState=function(p,h,k){return _.H.useFormState(p,h,k)},Zt.useFormStatus=function(){return _.H.useHostTransitionStatus()},Zt.version="19.2.7",Zt}var gg;function ek(){if(gg)return yf.exports;gg=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),yf.exports=W0(),yf.exports}/**
|
||
* @license React
|
||
* react-dom-client.production.js
|
||
*
|
||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var yg;function tk(){if(yg)return Cr;yg=1;var t=P0(),a=cm(),i=ek();function s(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)n+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function u(e){var n=e,l=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(l=n.return),e=n.return;while(e)}return n.tag===3?l:null}function _(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function g(e){if(e.tag===31){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function p(e){if(u(e)!==e)throw Error(s(188))}function h(e){var n=e.alternate;if(!n){if(n=u(e),n===null)throw Error(s(188));return n!==e?null:e}for(var l=e,r=n;;){var d=l.return;if(d===null)break;var f=d.alternate;if(f===null){if(r=d.return,r!==null){l=r;continue}break}if(d.child===f.child){for(f=d.child;f;){if(f===l)return p(d),e;if(f===r)return p(d),n;f=f.sibling}throw Error(s(188))}if(l.return!==r.return)l=d,r=f;else{for(var y=!1,S=d.child;S;){if(S===l){y=!0,l=d,r=f;break}if(S===r){y=!0,r=d,l=f;break}S=S.sibling}if(!y){for(S=f.child;S;){if(S===l){y=!0,l=f,r=d;break}if(S===r){y=!0,r=f,l=d;break}S=S.sibling}if(!y)throw Error(s(189))}}if(l.alternate!==r)throw Error(s(190))}if(l.tag!==3)throw Error(s(188));return l.stateNode.current===l?e:n}function k(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e;for(e=e.child;e!==null;){if(n=k(e),n!==null)return n;e=e.sibling}return null}var b=Object.assign,A=Symbol.for("react.element"),O=Symbol.for("react.transitional.element"),C=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),$=Symbol.for("react.consumer"),I=Symbol.for("react.context"),te=Symbol.for("react.forward_ref"),ae=Symbol.for("react.suspense"),ie=Symbol.for("react.suspense_list"),L=Symbol.for("react.memo"),le=Symbol.for("react.lazy"),we=Symbol.for("react.activity"),W=Symbol.for("react.memo_cache_sentinel"),oe=Symbol.iterator;function be(e){return e===null||typeof e!="object"?null:(e=oe&&e[oe]||e["@@iterator"],typeof e=="function"?e:null)}var q=Symbol.for("react.client.reference");function re(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===q?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case R:return"Fragment";case w:return"Profiler";case j:return"StrictMode";case ae:return"Suspense";case ie:return"SuspenseList";case we:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case C:return"Portal";case I:return e.displayName||"Context";case $:return(e._context.displayName||"Context")+".Consumer";case te:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case L:return n=e.displayName||null,n!==null?n:re(e.type)||"Memo";case le:n=e._payload,e=e._init;try{return re(e(n))}catch{}}return null}var de=Array.isArray,H=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne={pending:!1,data:null,method:null,action:null},he=[],J=-1;function E(e){return{current:e}}function K(e){0>J||(e.current=he[J],he[J]=null,J--)}function ee(e,n){J++,he[J]=e.current,e.current=n}var ce=E(null),ve=E(null),Ce=E(null),F=E(null);function me(e,n){switch(ee(Ce,n),ee(ve,e),ee(ce,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?$h(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)n=$h(n),e=Mh(n,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}K(ce),ee(ce,e)}function Be(){K(ce),K(ve),K(Ce)}function Y(e){e.memoizedState!==null&&ee(F,e);var n=ce.current,l=Mh(n,e.type);n!==l&&(ee(ve,e),ee(ce,l))}function Ae(e){ve.current===e&&(K(ce),K(ve)),F.current===e&&(K(F),kr._currentValue=ne)}var ht,Ue;function Ye(e){if(ht===void 0)try{throw Error()}catch(l){var n=l.stack.trim().match(/\n( *(at )?)/);ht=n&&n[1]||"",Ue=-1<l.stack.indexOf(`
|
||
at`)?" (<anonymous>)":-1<l.stack.indexOf("@")?"@unknown:0:0":""}return`
|
||
`+ht+e+Ue}var Dt=!1;function pa(e,n){if(!e||Dt)return"";Dt=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(n){var X=function(){throw Error()};if(Object.defineProperty(X.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(X,[])}catch(G){var B=G}Reflect.construct(e,[],X)}else{try{X.call()}catch(G){B=G}e.call(X.prototype)}}else{try{throw Error()}catch(G){B=G}(X=e())&&typeof X.catch=="function"&&X.catch(function(){})}}catch(G){if(G&&B&&typeof G.stack=="string")return[G.stack,B.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var d=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");d&&d.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var f=r.DetermineComponentFrameRoot(),y=f[0],S=f[1];if(y&&S){var N=y.split(`
|
||
`),z=S.split(`
|
||
`);for(d=r=0;r<N.length&&!N[r].includes("DetermineComponentFrameRoot");)r++;for(;d<z.length&&!z[d].includes("DetermineComponentFrameRoot");)d++;if(r===N.length||d===z.length)for(r=N.length-1,d=z.length-1;1<=r&&0<=d&&N[r]!==z[d];)d--;for(;1<=r&&0<=d;r--,d--)if(N[r]!==z[d]){if(r!==1||d!==1)do if(r--,d--,0>d||N[r]!==z[d]){var Q=`
|
||
`+N[r].replace(" at new "," at ");return e.displayName&&Q.includes("<anonymous>")&&(Q=Q.replace("<anonymous>",e.displayName)),Q}while(1<=r&&0<=d);break}}}finally{Dt=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?Ye(l):""}function hi(e,n){switch(e.tag){case 26:case 27:case 5:return Ye(e.type);case 16:return Ye("Lazy");case 13:return e.child!==n&&n!==null?Ye("Suspense Fallback"):Ye("Suspense");case 19:return Ye("SuspenseList");case 0:case 15:return pa(e.type,!1);case 11:return pa(e.type.render,!1);case 1:return pa(e.type,!0);case 31:return Ye("Activity");default:return""}}function ws(e){try{var n="",l=null;do n+=hi(e,l),l=e,e=e.return;while(e);return n}catch(r){return`
|
||
Error generating stack: `+r.message+`
|
||
`+r.stack}}var Rl=Object.prototype.hasOwnProperty,gi=t.unstable_scheduleCallback,yi=t.unstable_cancelCallback,Xr=t.unstable_shouldYield,js=t.unstable_requestPaint,Kt=t.unstable_now,vi=t.unstable_getCurrentPriorityLevel,Qa=t.unstable_ImmediatePriority,$l=t.unstable_UserBlockingPriority,Va=t.unstable_NormalPriority,kn=t.unstable_LowPriority,ha=t.unstable_IdlePriority,Xa=t.log,Zr=t.unstable_setDisableYieldValue,Ml=null,qt=null;function Pn(e){if(typeof Xa=="function"&&Zr(e),qt&&typeof qt.setStrictMode=="function")try{qt.setStrictMode(Ml,e)}catch{}}var Jt=Math.clz32?Math.clz32:ue,Ft=Math.log,Jr=Math.LN2;function ue(e){return e>>>=0,e===0?32:31-(Ft(e)/Jr|0)|0}var Wn=256,Ze=262144,Qt=4194304;function xn(e){var n=e&42;if(n!==0)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function tn(e,n,l){var r=e.pendingLanes;if(r===0)return 0;var d=0,f=e.suspendedLanes,y=e.pingedLanes;e=e.warmLanes;var S=r&134217727;return S!==0?(r=S&~f,r!==0?d=xn(r):(y&=S,y!==0?d=xn(y):l||(l=S&~e,l!==0&&(d=xn(l))))):(S=r&~f,S!==0?d=xn(S):y!==0?d=xn(y):l||(l=r&~e,l!==0&&(d=xn(l)))),d===0?0:n!==0&&n!==d&&(n&f)===0&&(f=d&-d,l=n&-n,f>=l||f===32&&(l&4194048)!==0)?n:d}function Rt(e,n){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)===0}function bi(e,n){switch(e){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ea(){var e=Qt;return Qt<<=1,(Qt&62914560)===0&&(Qt=4194304),e}function ga(e){for(var n=[],l=0;31>l;l++)n.push(e);return n}function ya(e,n){e.pendingLanes|=n,n!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Pt(e,n,l,r,d,f){var y=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var S=e.entanglements,N=e.expirationTimes,z=e.hiddenUpdates;for(l=y&~l;0<l;){var Q=31-Jt(l),X=1<<Q;S[Q]=0,N[Q]=-1;var B=z[Q];if(B!==null)for(z[Q]=null,Q=0;Q<B.length;Q++){var G=B[Q];G!==null&&(G.lane&=-536870913)}l&=~X}r!==0&&Fr(e,r,0),f!==0&&d===0&&e.tag!==0&&(e.suspendedLanes|=f&~(y&~n))}function Fr(e,n,l){e.pendingLanes|=n,e.suspendedLanes&=~n;var r=31-Jt(n);e.entangledLanes|=n,e.entanglements[r]=e.entanglements[r]|1073741824|l&261930}function Cs(e,n){var l=e.entangledLanes|=n;for(e=e.entanglements;l;){var r=31-Jt(l),d=1<<r;d&n|e[r]&n&&(e[r]|=n),l&=~d}}function va(e,n){var l=n&-n;return l=(l&42)!==0?1:As(l),(l&(e.suspendedLanes|n))!==0?0:l}function As(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function zl(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Pr(){var e=Z.p;return e!==0?e:(e=window.event,e===void 0?32:ag(e.type))}function Wr(e,n){var l=Z.p;try{return Z.p=e,n()}finally{Z.p=l}}var ta=Math.random().toString(36).slice(2),$t="__reactFiber$"+ta,ft="__reactProps$"+ta,Qe="__reactContainer$"+ta,Me="__reactEvents$"+ta,Ns="__reactListeners$"+ta,Lm="__reactHandles$"+ta,On="__reactResources$"+ta,ki="__reactMarker$"+ta;function Sn(e){delete e[$t],delete e[ft],delete e[Me],delete e[Ns],delete e[Lm]}function $e(e){var n=e[$t];if(n)return n;for(var l=e.parentNode;l;){if(n=l[Qe]||l[$t]){if(l=n.alternate,n.child!==null||l!==null&&l.child!==null)for(e=Hh(e);e!==null;){if(l=e[$t])return l;e=Hh(e)}return n}e=l,l=e.parentNode}return null}function qn(e){if(e=e[$t]||e[Qe]){var n=e.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return e}return null}function jt(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e.stateNode;throw Error(s(33))}function ba(e){var n=e[On];return n||(n=e[On]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function bt(e){e[ki]=!0}var xi=new Set,Ne={};function na(e,n){wn(e,n),wn(e+"Capture",n)}function wn(e,n){for(Ne[e]=n,e=0;e<n.length;e++)xi.add(n[e])}var uu=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Ln={},aa={};function du(e){return Rl.call(aa,e)?!0:Rl.call(Ln,e)?!1:uu.test(e)?aa[e]=!0:(Ln[e]=!0,!1)}function Si(e,n,l){if(du(n))if(l===null)e.removeAttribute(n);else{switch(typeof l){case"undefined":case"function":case"symbol":e.removeAttribute(n);return;case"boolean":var r=n.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(n);return}}e.setAttribute(n,""+l)}}function Lt(e,n,l){if(l===null)e.removeAttribute(n);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttribute(n,""+l)}}function Bn(e,n,l,r){if(r===null)e.removeAttribute(l);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(l);return}e.setAttributeNS(n,l,""+r)}}function nn(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ec(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function fu(e,n,l){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,n);if(!e.hasOwnProperty(n)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var d=r.get,f=r.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,f.call(this,y)}}),Object.defineProperty(e,n,{enumerable:r.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Ol(e){if(!e._valueTracker){var n=ec(e)?"checked":"value";e._valueTracker=fu(e,n,""+e[n])}}function Es(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var l=n.getValue(),r="";return e&&(r=ec(e)?e.checked?"true":"false":e.value),e=r,e!==l?(n.setValue(e),!0):!1}function ql(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var mu=/[\n"\\]/g;function Vt(e){return e.replace(mu,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function wi(e,n,l,r,d,f,y,S){e.name="",y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.type=y:e.removeAttribute("type"),n!=null?y==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+nn(n)):e.value!==""+nn(n)&&(e.value=""+nn(n)):y!=="submit"&&y!=="reset"||e.removeAttribute("value"),n!=null?Ci(e,y,nn(n)):l!=null?Ci(e,y,nn(l)):r!=null&&e.removeAttribute("value"),d==null&&f!=null&&(e.defaultChecked=!!f),d!=null&&(e.checked=d&&typeof d!="function"&&typeof d!="symbol"),S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?e.name=""+nn(S):e.removeAttribute("name")}function ji(e,n,l,r,d,f,y,S){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(e.type=f),n!=null||l!=null){if(!(f!=="submit"&&f!=="reset"||n!=null)){Ol(e);return}l=l!=null?""+nn(l):"",n=n!=null?""+nn(n):l,S||n===e.value||(e.value=n),e.defaultValue=n}r=r??d,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=S?e.checked:!!r,e.defaultChecked=!!r,y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(e.name=y),Ol(e)}function Ci(e,n,l){n==="number"&&ql(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function ka(e,n,l,r){if(e=e.options,n){n={};for(var d=0;d<l.length;d++)n["$"+l[d]]=!0;for(l=0;l<e.length;l++)d=n.hasOwnProperty("$"+e[l].value),e[l].selected!==d&&(e[l].selected=d),d&&r&&(e[l].defaultSelected=!0)}else{for(l=""+nn(l),n=null,d=0;d<e.length;d++){if(e[d].value===l){e[d].selected=!0,r&&(e[d].defaultSelected=!0);return}n!==null||e[d].disabled||(n=e[d])}n!==null&&(n.selected=!0)}}function tc(e,n,l){if(n!=null&&(n=""+nn(n),n!==e.value&&(e.value=n),l==null)){e.defaultValue!==n&&(e.defaultValue=n);return}e.defaultValue=l!=null?""+nn(l):""}function Ts(e,n,l,r){if(n==null){if(r!=null){if(l!=null)throw Error(s(92));if(de(r)){if(1<r.length)throw Error(s(93));r=r[0]}l=r}l==null&&(l=""),n=l}l=nn(n),e.defaultValue=l,r=e.textContent,r===l&&r!==""&&r!==null&&(e.value=r),Ol(e)}function Za(e,n){if(n){var l=e.firstChild;if(l&&l===e.lastChild&&l.nodeType===3){l.nodeValue=n;return}}e.textContent=n}var nc=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function ac(e,n,l){var r=n.indexOf("--")===0;l==null||typeof l=="boolean"||l===""?r?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="":r?e.setProperty(n,l):typeof l!="number"||l===0||nc.has(n)?n==="float"?e.cssFloat=l:e[n]=(""+l).trim():e[n]=l+"px"}function Ds(e,n,l){if(n!=null&&typeof n!="object")throw Error(s(62));if(e=e.style,l!=null){for(var r in l)!l.hasOwnProperty(r)||n!=null&&n.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var d in n)r=n[d],n.hasOwnProperty(d)&&l[d]!==r&&ac(e,d,r)}else for(var f in n)n.hasOwnProperty(f)&&ac(e,f,n[f])}function lc(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ll=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),_u=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Ai(e){return _u.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Un(){}var Rs=null;function $s(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ja=null,xa=null;function Ms(e){var n=qn(e);if(n&&(e=n.stateNode)){var l=e[ft]||null;e:switch(e=n.stateNode,n.type){case"input":if(wi(e,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name),n=l.name,l.type==="radio"&&n!=null){for(l=e;l.parentNode;)l=l.parentNode;for(l=l.querySelectorAll('input[name="'+Vt(""+n)+'"][type="radio"]'),n=0;n<l.length;n++){var r=l[n];if(r!==e&&r.form===e.form){var d=r[ft]||null;if(!d)throw Error(s(90));wi(r,d.value,d.defaultValue,d.defaultValue,d.checked,d.defaultChecked,d.type,d.name)}}for(n=0;n<l.length;n++)r=l[n],r.form===e.form&&Es(r)}break e;case"textarea":tc(e,l.value,l.defaultValue);break e;case"select":n=l.value,n!=null&&ka(e,!!l.multiple,n,!1)}}}var Ni=!1;function ic(e,n,l){if(Ni)return e(n,l);Ni=!0;try{var r=e(n);return r}finally{if(Ni=!1,(Ja!==null||xa!==null)&&(Jc(),Ja&&(n=Ja,e=xa,xa=Ja=null,Ms(n),e)))for(n=0;n<e.length;n++)Ms(e[n])}}function Bl(e,n){var l=e.stateNode;if(l===null)return null;var r=l[ft]||null;if(r===null)return null;l=r[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(l&&typeof l!="function")throw Error(s(231,n,typeof l));return l}var Hn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),zs=!1;if(Hn)try{var Fa={};Object.defineProperty(Fa,"passive",{get:function(){zs=!0}}),window.addEventListener("test",Fa,Fa),window.removeEventListener("test",Fa,Fa)}catch{zs=!1}var la=null,Os=null,Ei=null;function sc(){if(Ei)return Ei;var e,n=Os,l=n.length,r,d="value"in la?la.value:la.textContent,f=d.length;for(e=0;e<l&&n[e]===d[e];e++);var y=l-e;for(r=1;r<=y&&n[l-r]===d[f-r];r++);return Ei=d.slice(e,1<r?1-r:void 0)}function Ti(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function Di(){return!0}function qs(){return!1}function Xt(e){function n(l,r,d,f,y){this._reactName=l,this._targetInst=d,this.type=r,this.nativeEvent=f,this.target=y,this.currentTarget=null;for(var S in e)e.hasOwnProperty(S)&&(l=e[S],this[S]=l?l(f):f[S]);return this.isDefaultPrevented=(f.defaultPrevented!=null?f.defaultPrevented:f.returnValue===!1)?Di:qs,this.isPropagationStopped=qs,this}return b(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var l=this.nativeEvent;l&&(l.preventDefault?l.preventDefault():typeof l.returnValue!="unknown"&&(l.returnValue=!1),this.isDefaultPrevented=Di)},stopPropagation:function(){var l=this.nativeEvent;l&&(l.stopPropagation?l.stopPropagation():typeof l.cancelBubble!="unknown"&&(l.cancelBubble=!0),this.isPropagationStopped=Di)},persist:function(){},isPersistent:Di}),n}var In={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ia=Xt(In),Ul=b({},In,{view:0,detail:0}),Ls=Xt(Ul),Sa,Bs,Hl,wa=b({},Ul,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:$i,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Hl&&(Hl&&e.type==="mousemove"?(Sa=e.screenX-Hl.screenX,Bs=e.screenY-Hl.screenY):Bs=Sa=0,Hl=e),Sa)},movementY:function(e){return"movementY"in e?e.movementY:Bs}}),rc=Xt(wa),pu=b({},wa,{dataTransfer:0}),Us=Xt(pu),Hs=b({},Ul,{relatedTarget:0}),Ri=Xt(Hs),hu=b({},In,{animationName:0,elapsedTime:0,pseudoElement:0}),Is=Xt(hu),cc=b({},In,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Pa=Xt(cc),gu=b({},In,{data:0}),oc=Xt(gu),yu={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},uc={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},dc={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function fc(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=dc[e])?!!n[e]:!1}function $i(){return fc}var mc=b({},Ul,{key:function(e){if(e.key){var n=yu[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=Ti(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?uc[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:$i,charCode:function(e){return e.type==="keypress"?Ti(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ti(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),_c=Xt(mc),v=b({},wa,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),U=Xt(v),P=b({},Ul,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:$i}),pe=Xt(P),fe=b({},In,{propertyName:0,elapsedTime:0,pseudoElement:0}),Ke=Xt(fe),mt=b({},wa,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),et=Xt(mt),Se=b({},In,{newState:0,oldState:0}),ct=Xt(Se),Fe=[9,13,27,32],an=Hn&&"CompositionEvent"in window,Gn=null;Hn&&"documentMode"in document&&(Gn=document.documentMode);var pb=Hn&&"TextEvent"in window&&!Gn,Bm=Hn&&(!an||Gn&&8<Gn&&11>=Gn),Um=" ",Hm=!1;function Im(e,n){switch(e){case"keyup":return Fe.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gm(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Mi=!1;function hb(e,n){switch(e){case"compositionend":return Gm(n);case"keypress":return n.which!==32?null:(Hm=!0,Um);case"textInput":return e=n.data,e===Um&&Hm?null:e;default:return null}}function gb(e,n){if(Mi)return e==="compositionend"||!an&&Im(e,n)?(e=sc(),Ei=Os=la=null,Mi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Bm&&n.locale!=="ko"?null:n.data;default:return null}}var yb={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Ym(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!yb[e.type]:n==="textarea"}function Km(e,n,l,r){Ja?xa?xa.push(r):xa=[r]:Ja=r,n=ao(n,"onChange"),0<n.length&&(l=new ia("onChange","change",null,l,r),e.push({event:l,listeners:n}))}var Gs=null,Ys=null;function vb(e){Ah(e,0)}function pc(e){var n=jt(e);if(Es(n))return e}function Qm(e,n){if(e==="change")return n}var Vm=!1;if(Hn){var vu;if(Hn){var bu="oninput"in document;if(!bu){var Xm=document.createElement("div");Xm.setAttribute("oninput","return;"),bu=typeof Xm.oninput=="function"}vu=bu}else vu=!1;Vm=vu&&(!document.documentMode||9<document.documentMode)}function Zm(){Gs&&(Gs.detachEvent("onpropertychange",Jm),Ys=Gs=null)}function Jm(e){if(e.propertyName==="value"&&pc(Ys)){var n=[];Km(n,Ys,e,$s(e)),ic(vb,n)}}function bb(e,n,l){e==="focusin"?(Zm(),Gs=n,Ys=l,Gs.attachEvent("onpropertychange",Jm)):e==="focusout"&&Zm()}function kb(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return pc(Ys)}function xb(e,n){if(e==="click")return pc(n)}function Sb(e,n){if(e==="input"||e==="change")return pc(n)}function wb(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var dn=typeof Object.is=="function"?Object.is:wb;function Ks(e,n){if(dn(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var l=Object.keys(e),r=Object.keys(n);if(l.length!==r.length)return!1;for(r=0;r<l.length;r++){var d=l[r];if(!Rl.call(n,d)||!dn(e[d],n[d]))return!1}return!0}function Fm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Pm(e,n){var l=Fm(e);e=0;for(var r;l;){if(l.nodeType===3){if(r=e+l.textContent.length,e<=n&&r>=n)return{node:l,offset:n-e};e=r}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=Fm(l)}}function Wm(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Wm(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function e_(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var n=ql(e.document);n instanceof e.HTMLIFrameElement;){try{var l=typeof n.contentWindow.location.href=="string"}catch{l=!1}if(l)e=n.contentWindow;else break;n=ql(e.document)}return n}function ku(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}var jb=Hn&&"documentMode"in document&&11>=document.documentMode,zi=null,xu=null,Qs=null,Su=!1;function t_(e,n,l){var r=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Su||zi==null||zi!==ql(r)||(r=zi,"selectionStart"in r&&ku(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Qs&&Ks(Qs,r)||(Qs=r,r=ao(xu,"onSelect"),0<r.length&&(n=new ia("onSelect","select",null,n,l),e.push({event:n,listeners:r}),n.target=zi)))}function Il(e,n){var l={};return l[e.toLowerCase()]=n.toLowerCase(),l["Webkit"+e]="webkit"+n,l["Moz"+e]="moz"+n,l}var Oi={animationend:Il("Animation","AnimationEnd"),animationiteration:Il("Animation","AnimationIteration"),animationstart:Il("Animation","AnimationStart"),transitionrun:Il("Transition","TransitionRun"),transitionstart:Il("Transition","TransitionStart"),transitioncancel:Il("Transition","TransitionCancel"),transitionend:Il("Transition","TransitionEnd")},wu={},n_={};Hn&&(n_=document.createElement("div").style,"AnimationEvent"in window||(delete Oi.animationend.animation,delete Oi.animationiteration.animation,delete Oi.animationstart.animation),"TransitionEvent"in window||delete Oi.transitionend.transition);function Gl(e){if(wu[e])return wu[e];if(!Oi[e])return e;var n=Oi[e],l;for(l in n)if(n.hasOwnProperty(l)&&l in n_)return wu[e]=n[l];return e}var a_=Gl("animationend"),l_=Gl("animationiteration"),i_=Gl("animationstart"),Cb=Gl("transitionrun"),Ab=Gl("transitionstart"),Nb=Gl("transitioncancel"),s_=Gl("transitionend"),r_=new Map,ju="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");ju.push("scrollEnd");function Yn(e,n){r_.set(e,n),na(n,[e])}var hc=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},jn=[],qi=0,Cu=0;function gc(){for(var e=qi,n=Cu=qi=0;n<e;){var l=jn[n];jn[n++]=null;var r=jn[n];jn[n++]=null;var d=jn[n];jn[n++]=null;var f=jn[n];if(jn[n++]=null,r!==null&&d!==null){var y=r.pending;y===null?d.next=d:(d.next=y.next,y.next=d),r.pending=d}f!==0&&c_(l,d,f)}}function yc(e,n,l,r){jn[qi++]=e,jn[qi++]=n,jn[qi++]=l,jn[qi++]=r,Cu|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Au(e,n,l,r){return yc(e,n,l,r),vc(e)}function Yl(e,n){return yc(e,null,null,n),vc(e)}function c_(e,n,l){e.lanes|=l;var r=e.alternate;r!==null&&(r.lanes|=l);for(var d=!1,f=e.return;f!==null;)f.childLanes|=l,r=f.alternate,r!==null&&(r.childLanes|=l),f.tag===22&&(e=f.stateNode,e===null||e._visibility&1||(d=!0)),e=f,f=f.return;return e.tag===3?(f=e.stateNode,d&&n!==null&&(d=31-Jt(l),e=f.hiddenUpdates,r=e[d],r===null?e[d]=[n]:r.push(n),n.lane=l|536870912),f):null}function vc(e){if(50<_r)throw _r=0,Od=null,Error(s(185));for(var n=e.return;n!==null;)e=n,n=e.return;return e.tag===3?e.stateNode:null}var Li={};function Eb(e,n,l,r){this.tag=e,this.key=l,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function fn(e,n,l,r){return new Eb(e,n,l,r)}function Nu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ja(e,n){var l=e.alternate;return l===null?(l=fn(e.tag,n,e.key,e.mode),l.elementType=e.elementType,l.type=e.type,l.stateNode=e.stateNode,l.alternate=e,e.alternate=l):(l.pendingProps=n,l.type=e.type,l.flags=0,l.subtreeFlags=0,l.deletions=null),l.flags=e.flags&65011712,l.childLanes=e.childLanes,l.lanes=e.lanes,l.child=e.child,l.memoizedProps=e.memoizedProps,l.memoizedState=e.memoizedState,l.updateQueue=e.updateQueue,n=e.dependencies,l.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},l.sibling=e.sibling,l.index=e.index,l.ref=e.ref,l.refCleanup=e.refCleanup,l}function o_(e,n){e.flags&=65011714;var l=e.alternate;return l===null?(e.childLanes=0,e.lanes=n,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=l.childLanes,e.lanes=l.lanes,e.child=l.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=l.memoizedProps,e.memoizedState=l.memoizedState,e.updateQueue=l.updateQueue,e.type=l.type,n=l.dependencies,e.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),e}function bc(e,n,l,r,d,f){var y=0;if(r=e,typeof e=="function")Nu(e)&&(y=1);else if(typeof e=="string")y=M0(e,l,ce.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case we:return e=fn(31,l,n,d),e.elementType=we,e.lanes=f,e;case R:return Kl(l.children,d,f,n);case j:y=8,d|=24;break;case w:return e=fn(12,l,n,d|2),e.elementType=w,e.lanes=f,e;case ae:return e=fn(13,l,n,d),e.elementType=ae,e.lanes=f,e;case ie:return e=fn(19,l,n,d),e.elementType=ie,e.lanes=f,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case I:y=10;break e;case $:y=9;break e;case te:y=11;break e;case L:y=14;break e;case le:y=16,r=null;break e}y=29,l=Error(s(130,e===null?"null":typeof e,"")),r=null}return n=fn(y,l,n,d),n.elementType=e,n.type=r,n.lanes=f,n}function Kl(e,n,l,r){return e=fn(7,e,r,n),e.lanes=l,e}function Eu(e,n,l){return e=fn(6,e,null,n),e.lanes=l,e}function u_(e){var n=fn(18,null,null,0);return n.stateNode=e,n}function Tu(e,n,l){return n=fn(4,e.children!==null?e.children:[],e.key,n),n.lanes=l,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}var d_=new WeakMap;function Cn(e,n){if(typeof e=="object"&&e!==null){var l=d_.get(e);return l!==void 0?l:(n={value:e,source:n,stack:ws(n)},d_.set(e,n),n)}return{value:e,source:n,stack:ws(n)}}var Bi=[],Ui=0,kc=null,Vs=0,An=[],Nn=0,Wa=null,sa=1,ra="";function Ca(e,n){Bi[Ui++]=Vs,Bi[Ui++]=kc,kc=e,Vs=n}function f_(e,n,l){An[Nn++]=sa,An[Nn++]=ra,An[Nn++]=Wa,Wa=e;var r=sa;e=ra;var d=32-Jt(r)-1;r&=~(1<<d),l+=1;var f=32-Jt(n)+d;if(30<f){var y=d-d%5;f=(r&(1<<y)-1).toString(32),r>>=y,d-=y,sa=1<<32-Jt(n)+d|l<<d|r,ra=f+e}else sa=1<<f|l<<d|r,ra=e}function Du(e){e.return!==null&&(Ca(e,1),f_(e,1,0))}function Ru(e){for(;e===kc;)kc=Bi[--Ui],Bi[Ui]=null,Vs=Bi[--Ui],Bi[Ui]=null;for(;e===Wa;)Wa=An[--Nn],An[Nn]=null,ra=An[--Nn],An[Nn]=null,sa=An[--Nn],An[Nn]=null}function m_(e,n){An[Nn++]=sa,An[Nn++]=ra,An[Nn++]=Wa,sa=n.id,ra=n.overflow,Wa=e}var Bt=null,ot=null,He=!1,el=null,En=!1,$u=Error(s(519));function tl(e){var n=Error(s(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Xs(Cn(n,e)),$u}function __(e){var n=e.stateNode,l=e.type,r=e.memoizedProps;switch(n[$t]=e,n[ft]=r,l){case"dialog":Oe("cancel",n),Oe("close",n);break;case"iframe":case"object":case"embed":Oe("load",n);break;case"video":case"audio":for(l=0;l<hr.length;l++)Oe(hr[l],n);break;case"source":Oe("error",n);break;case"img":case"image":case"link":Oe("error",n),Oe("load",n);break;case"details":Oe("toggle",n);break;case"input":Oe("invalid",n),ji(n,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":Oe("invalid",n);break;case"textarea":Oe("invalid",n),Ts(n,r.value,r.defaultValue,r.children)}l=r.children,typeof l!="string"&&typeof l!="number"&&typeof l!="bigint"||n.textContent===""+l||r.suppressHydrationWarning===!0||Dh(n.textContent,l)?(r.popover!=null&&(Oe("beforetoggle",n),Oe("toggle",n)),r.onScroll!=null&&Oe("scroll",n),r.onScrollEnd!=null&&Oe("scrollend",n),r.onClick!=null&&(n.onclick=Un),n=!0):n=!1,n||tl(e,!0)}function p_(e){for(Bt=e.return;Bt;)switch(Bt.tag){case 5:case 31:case 13:En=!1;return;case 27:case 3:En=!0;return;default:Bt=Bt.return}}function Hi(e){if(e!==Bt)return!1;if(!He)return p_(e),He=!0,!1;var n=e.tag,l;if((l=n!==3&&n!==27)&&((l=n===5)&&(l=e.type,l=!(l!=="form"&&l!=="button")||Fd(e.type,e.memoizedProps)),l=!l),l&&ot&&tl(e),p_(e),n===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));ot=Uh(e)}else if(n===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));ot=Uh(e)}else n===27?(n=ot,pl(e.type)?(e=nf,nf=null,ot=e):ot=n):ot=Bt?Dn(e.stateNode.nextSibling):null;return!0}function Ql(){ot=Bt=null,He=!1}function Mu(){var e=el;return e!==null&&(cn===null?cn=e:cn.push.apply(cn,e),el=null),e}function Xs(e){el===null?el=[e]:el.push(e)}var zu=E(null),Vl=null,Aa=null;function nl(e,n,l){ee(zu,n._currentValue),n._currentValue=l}function Na(e){e._currentValue=zu.current,K(zu)}function Ou(e,n,l){for(;e!==null;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,r!==null&&(r.childLanes|=n)):r!==null&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===l)break;e=e.return}}function qu(e,n,l,r){var d=e.child;for(d!==null&&(d.return=e);d!==null;){var f=d.dependencies;if(f!==null){var y=d.child;f=f.firstContext;e:for(;f!==null;){var S=f;f=d;for(var N=0;N<n.length;N++)if(S.context===n[N]){f.lanes|=l,S=f.alternate,S!==null&&(S.lanes|=l),Ou(f.return,l,e),r||(y=null);break e}f=S.next}}else if(d.tag===18){if(y=d.return,y===null)throw Error(s(341));y.lanes|=l,f=y.alternate,f!==null&&(f.lanes|=l),Ou(y,l,e),y=null}else y=d.child;if(y!==null)y.return=d;else for(y=d;y!==null;){if(y===e){y=null;break}if(d=y.sibling,d!==null){d.return=y.return,y=d;break}y=y.return}d=y}}function Ii(e,n,l,r){e=null;for(var d=n,f=!1;d!==null;){if(!f){if((d.flags&524288)!==0)f=!0;else if((d.flags&262144)!==0)break}if(d.tag===10){var y=d.alternate;if(y===null)throw Error(s(387));if(y=y.memoizedProps,y!==null){var S=d.type;dn(d.pendingProps.value,y.value)||(e!==null?e.push(S):e=[S])}}else if(d===F.current){if(y=d.alternate,y===null)throw Error(s(387));y.memoizedState.memoizedState!==d.memoizedState.memoizedState&&(e!==null?e.push(kr):e=[kr])}d=d.return}e!==null&&qu(n,e,l,r),n.flags|=262144}function xc(e){for(e=e.firstContext;e!==null;){if(!dn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Xl(e){Vl=e,Aa=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ut(e){return h_(Vl,e)}function Sc(e,n){return Vl===null&&Xl(e),h_(e,n)}function h_(e,n){var l=n._currentValue;if(n={context:n,memoizedValue:l,next:null},Aa===null){if(e===null)throw Error(s(308));Aa=n,e.dependencies={lanes:0,firstContext:n},e.flags|=524288}else Aa=Aa.next=n;return l}var Tb=typeof AbortController<"u"?AbortController:function(){var e=[],n=this.signal={aborted:!1,addEventListener:function(l,r){e.push(r)}};this.abort=function(){n.aborted=!0,e.forEach(function(l){return l()})}},Db=t.unstable_scheduleCallback,Rb=t.unstable_NormalPriority,Ct={$$typeof:I,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Lu(){return{controller:new Tb,data:new Map,refCount:0}}function Zs(e){e.refCount--,e.refCount===0&&Db(Rb,function(){e.controller.abort()})}var Js=null,Bu=0,Gi=0,Yi=null;function $b(e,n){if(Js===null){var l=Js=[];Bu=0,Gi=Id(),Yi={status:"pending",value:void 0,then:function(r){l.push(r)}}}return Bu++,n.then(g_,g_),n}function g_(){if(--Bu===0&&Js!==null){Yi!==null&&(Yi.status="fulfilled");var e=Js;Js=null,Gi=0,Yi=null;for(var n=0;n<e.length;n++)(0,e[n])()}}function Mb(e,n){var l=[],r={status:"pending",value:null,reason:null,then:function(d){l.push(d)}};return e.then(function(){r.status="fulfilled",r.value=n;for(var d=0;d<l.length;d++)(0,l[d])(n)},function(d){for(r.status="rejected",r.reason=d,d=0;d<l.length;d++)(0,l[d])(void 0)}),r}var y_=H.S;H.S=function(e,n){th=Kt(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&$b(e,n),y_!==null&&y_(e,n)};var Zl=E(null);function Uu(){var e=Zl.current;return e!==null?e:lt.pooledCache}function wc(e,n){n===null?ee(Zl,Zl.current):ee(Zl,n.pool)}function v_(){var e=Uu();return e===null?null:{parent:Ct._currentValue,pool:e}}var Ki=Error(s(460)),Hu=Error(s(474)),jc=Error(s(542)),Cc={then:function(){}};function b_(e){return e=e.status,e==="fulfilled"||e==="rejected"}function k_(e,n,l){switch(l=e[l],l===void 0?e.push(n):l!==n&&(n.then(Un,Un),n=l),n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,S_(e),e;default:if(typeof n.status=="string")n.then(Un,Un);else{if(e=lt,e!==null&&100<e.shellSuspendCounter)throw Error(s(482));e=n,e.status="pending",e.then(function(r){if(n.status==="pending"){var d=n;d.status="fulfilled",d.value=r}},function(r){if(n.status==="pending"){var d=n;d.status="rejected",d.reason=r}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,S_(e),e}throw Fl=n,Ki}}function Jl(e){try{var n=e._init;return n(e._payload)}catch(l){throw l!==null&&typeof l=="object"&&typeof l.then=="function"?(Fl=l,Ki):l}}var Fl=null;function x_(){if(Fl===null)throw Error(s(459));var e=Fl;return Fl=null,e}function S_(e){if(e===Ki||e===jc)throw Error(s(483))}var Qi=null,Fs=0;function Ac(e){var n=Fs;return Fs+=1,Qi===null&&(Qi=[]),k_(Qi,e,n)}function Ps(e,n){n=n.props.ref,e.ref=n!==void 0?n:null}function Nc(e,n){throw n.$$typeof===A?Error(s(525)):(e=Object.prototype.toString.call(n),Error(s(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e)))}function w_(e){function n(D,T){if(e){var M=D.deletions;M===null?(D.deletions=[T],D.flags|=16):M.push(T)}}function l(D,T){if(!e)return null;for(;T!==null;)n(D,T),T=T.sibling;return null}function r(D){for(var T=new Map;D!==null;)D.key!==null?T.set(D.key,D):T.set(D.index,D),D=D.sibling;return T}function d(D,T){return D=ja(D,T),D.index=0,D.sibling=null,D}function f(D,T,M){return D.index=M,e?(M=D.alternate,M!==null?(M=M.index,M<T?(D.flags|=67108866,T):M):(D.flags|=67108866,T)):(D.flags|=1048576,T)}function y(D){return e&&D.alternate===null&&(D.flags|=67108866),D}function S(D,T,M,V){return T===null||T.tag!==6?(T=Eu(M,D.mode,V),T.return=D,T):(T=d(T,M),T.return=D,T)}function N(D,T,M,V){var ke=M.type;return ke===R?Q(D,T,M.props.children,V,M.key):T!==null&&(T.elementType===ke||typeof ke=="object"&&ke!==null&&ke.$$typeof===le&&Jl(ke)===T.type)?(T=d(T,M.props),Ps(T,M),T.return=D,T):(T=bc(M.type,M.key,M.props,null,D.mode,V),Ps(T,M),T.return=D,T)}function z(D,T,M,V){return T===null||T.tag!==4||T.stateNode.containerInfo!==M.containerInfo||T.stateNode.implementation!==M.implementation?(T=Tu(M,D.mode,V),T.return=D,T):(T=d(T,M.children||[]),T.return=D,T)}function Q(D,T,M,V,ke){return T===null||T.tag!==7?(T=Kl(M,D.mode,V,ke),T.return=D,T):(T=d(T,M),T.return=D,T)}function X(D,T,M){if(typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint")return T=Eu(""+T,D.mode,M),T.return=D,T;if(typeof T=="object"&&T!==null){switch(T.$$typeof){case O:return M=bc(T.type,T.key,T.props,null,D.mode,M),Ps(M,T),M.return=D,M;case C:return T=Tu(T,D.mode,M),T.return=D,T;case le:return T=Jl(T),X(D,T,M)}if(de(T)||be(T))return T=Kl(T,D.mode,M,null),T.return=D,T;if(typeof T.then=="function")return X(D,Ac(T),M);if(T.$$typeof===I)return X(D,Sc(D,T),M);Nc(D,T)}return null}function B(D,T,M,V){var ke=T!==null?T.key:null;if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return ke!==null?null:S(D,T,""+M,V);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case O:return M.key===ke?N(D,T,M,V):null;case C:return M.key===ke?z(D,T,M,V):null;case le:return M=Jl(M),B(D,T,M,V)}if(de(M)||be(M))return ke!==null?null:Q(D,T,M,V,null);if(typeof M.then=="function")return B(D,T,Ac(M),V);if(M.$$typeof===I)return B(D,T,Sc(D,M),V);Nc(D,M)}return null}function G(D,T,M,V,ke){if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return D=D.get(M)||null,S(T,D,""+V,ke);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case O:return D=D.get(V.key===null?M:V.key)||null,N(T,D,V,ke);case C:return D=D.get(V.key===null?M:V.key)||null,z(T,D,V,ke);case le:return V=Jl(V),G(D,T,M,V,ke)}if(de(V)||be(V))return D=D.get(M)||null,Q(T,D,V,ke,null);if(typeof V.then=="function")return G(D,T,M,Ac(V),ke);if(V.$$typeof===I)return G(D,T,M,Sc(T,V),ke);Nc(T,V)}return null}function _e(D,T,M,V){for(var ke=null,Ve=null,ye=T,Re=T=0,Le=null;ye!==null&&Re<M.length;Re++){ye.index>Re?(Le=ye,ye=null):Le=ye.sibling;var Xe=B(D,ye,M[Re],V);if(Xe===null){ye===null&&(ye=Le);break}e&&ye&&Xe.alternate===null&&n(D,ye),T=f(Xe,T,Re),Ve===null?ke=Xe:Ve.sibling=Xe,Ve=Xe,ye=Le}if(Re===M.length)return l(D,ye),He&&Ca(D,Re),ke;if(ye===null){for(;Re<M.length;Re++)ye=X(D,M[Re],V),ye!==null&&(T=f(ye,T,Re),Ve===null?ke=ye:Ve.sibling=ye,Ve=ye);return He&&Ca(D,Re),ke}for(ye=r(ye);Re<M.length;Re++)Le=G(ye,D,Re,M[Re],V),Le!==null&&(e&&Le.alternate!==null&&ye.delete(Le.key===null?Re:Le.key),T=f(Le,T,Re),Ve===null?ke=Le:Ve.sibling=Le,Ve=Le);return e&&ye.forEach(function(bl){return n(D,bl)}),He&&Ca(D,Re),ke}function je(D,T,M,V){if(M==null)throw Error(s(151));for(var ke=null,Ve=null,ye=T,Re=T=0,Le=null,Xe=M.next();ye!==null&&!Xe.done;Re++,Xe=M.next()){ye.index>Re?(Le=ye,ye=null):Le=ye.sibling;var bl=B(D,ye,Xe.value,V);if(bl===null){ye===null&&(ye=Le);break}e&&ye&&bl.alternate===null&&n(D,ye),T=f(bl,T,Re),Ve===null?ke=bl:Ve.sibling=bl,Ve=bl,ye=Le}if(Xe.done)return l(D,ye),He&&Ca(D,Re),ke;if(ye===null){for(;!Xe.done;Re++,Xe=M.next())Xe=X(D,Xe.value,V),Xe!==null&&(T=f(Xe,T,Re),Ve===null?ke=Xe:Ve.sibling=Xe,Ve=Xe);return He&&Ca(D,Re),ke}for(ye=r(ye);!Xe.done;Re++,Xe=M.next())Xe=G(ye,D,Re,Xe.value,V),Xe!==null&&(e&&Xe.alternate!==null&&ye.delete(Xe.key===null?Re:Xe.key),T=f(Xe,T,Re),Ve===null?ke=Xe:Ve.sibling=Xe,Ve=Xe);return e&&ye.forEach(function(K0){return n(D,K0)}),He&&Ca(D,Re),ke}function at(D,T,M,V){if(typeof M=="object"&&M!==null&&M.type===R&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case O:e:{for(var ke=M.key;T!==null;){if(T.key===ke){if(ke=M.type,ke===R){if(T.tag===7){l(D,T.sibling),V=d(T,M.props.children),V.return=D,D=V;break e}}else if(T.elementType===ke||typeof ke=="object"&&ke!==null&&ke.$$typeof===le&&Jl(ke)===T.type){l(D,T.sibling),V=d(T,M.props),Ps(V,M),V.return=D,D=V;break e}l(D,T);break}else n(D,T);T=T.sibling}M.type===R?(V=Kl(M.props.children,D.mode,V,M.key),V.return=D,D=V):(V=bc(M.type,M.key,M.props,null,D.mode,V),Ps(V,M),V.return=D,D=V)}return y(D);case C:e:{for(ke=M.key;T!==null;){if(T.key===ke)if(T.tag===4&&T.stateNode.containerInfo===M.containerInfo&&T.stateNode.implementation===M.implementation){l(D,T.sibling),V=d(T,M.children||[]),V.return=D,D=V;break e}else{l(D,T);break}else n(D,T);T=T.sibling}V=Tu(M,D.mode,V),V.return=D,D=V}return y(D);case le:return M=Jl(M),at(D,T,M,V)}if(de(M))return _e(D,T,M,V);if(be(M)){if(ke=be(M),typeof ke!="function")throw Error(s(150));return M=ke.call(M),je(D,T,M,V)}if(typeof M.then=="function")return at(D,T,Ac(M),V);if(M.$$typeof===I)return at(D,T,Sc(D,M),V);Nc(D,M)}return typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint"?(M=""+M,T!==null&&T.tag===6?(l(D,T.sibling),V=d(T,M),V.return=D,D=V):(l(D,T),V=Eu(M,D.mode,V),V.return=D,D=V),y(D)):l(D,T)}return function(D,T,M,V){try{Fs=0;var ke=at(D,T,M,V);return Qi=null,ke}catch(ye){if(ye===Ki||ye===jc)throw ye;var Ve=fn(29,ye,null,D.mode);return Ve.lanes=V,Ve.return=D,Ve}finally{}}}var Pl=w_(!0),j_=w_(!1),al=!1;function Iu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gu(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ll(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function il(e,n,l){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(Je&2)!==0){var d=r.pending;return d===null?n.next=n:(n.next=d.next,d.next=n),r.pending=n,n=vc(e),c_(e,null,l),n}return yc(e,r,n,l),vc(e)}function Ws(e,n,l){if(n=n.updateQueue,n!==null&&(n=n.shared,(l&4194048)!==0)){var r=n.lanes;r&=e.pendingLanes,l|=r,n.lanes=l,Cs(e,l)}}function Yu(e,n){var l=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,l===r)){var d=null,f=null;if(l=l.firstBaseUpdate,l!==null){do{var y={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};f===null?d=f=y:f=f.next=y,l=l.next}while(l!==null);f===null?d=f=n:f=f.next=n}else d=f=n;l={baseState:r.baseState,firstBaseUpdate:d,lastBaseUpdate:f,shared:r.shared,callbacks:r.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=n:e.next=n,l.lastBaseUpdate=n}var Ku=!1;function er(){if(Ku){var e=Yi;if(e!==null)throw e}}function tr(e,n,l,r){Ku=!1;var d=e.updateQueue;al=!1;var f=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var N=S,z=N.next;N.next=null,y===null?f=z:y.next=z,y=N;var Q=e.alternate;Q!==null&&(Q=Q.updateQueue,S=Q.lastBaseUpdate,S!==y&&(S===null?Q.firstBaseUpdate=z:S.next=z,Q.lastBaseUpdate=N))}if(f!==null){var X=d.baseState;y=0,Q=z=N=null,S=f;do{var B=S.lane&-536870913,G=B!==S.lane;if(G?(qe&B)===B:(r&B)===B){B!==0&&B===Gi&&(Ku=!0),Q!==null&&(Q=Q.next={lane:0,tag:S.tag,payload:S.payload,callback:null,next:null});e:{var _e=e,je=S;B=n;var at=l;switch(je.tag){case 1:if(_e=je.payload,typeof _e=="function"){X=_e.call(at,X,B);break e}X=_e;break e;case 3:_e.flags=_e.flags&-65537|128;case 0:if(_e=je.payload,B=typeof _e=="function"?_e.call(at,X,B):_e,B==null)break e;X=b({},X,B);break e;case 2:al=!0}}B=S.callback,B!==null&&(e.flags|=64,G&&(e.flags|=8192),G=d.callbacks,G===null?d.callbacks=[B]:G.push(B))}else G={lane:B,tag:S.tag,payload:S.payload,callback:S.callback,next:null},Q===null?(z=Q=G,N=X):Q=Q.next=G,y|=B;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;G=S,S=G.next,G.next=null,d.lastBaseUpdate=G,d.shared.pending=null}}while(!0);Q===null&&(N=X),d.baseState=N,d.firstBaseUpdate=z,d.lastBaseUpdate=Q,f===null&&(d.shared.lanes=0),ul|=y,e.lanes=y,e.memoizedState=X}}function C_(e,n){if(typeof e!="function")throw Error(s(191,e));e.call(n)}function A_(e,n){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;e<l.length;e++)C_(l[e],n)}var Vi=E(null),Ec=E(0);function N_(e,n){e=qa,ee(Ec,e),ee(Vi,n),qa=e|n.baseLanes}function Qu(){ee(Ec,qa),ee(Vi,Vi.current)}function Vu(){qa=Ec.current,K(Vi),K(Ec)}var mn=E(null),Tn=null;function sl(e){var n=e.alternate;ee(kt,kt.current&1),ee(mn,e),Tn===null&&(n===null||Vi.current!==null||n.memoizedState!==null)&&(Tn=e)}function Xu(e){ee(kt,kt.current),ee(mn,e),Tn===null&&(Tn=e)}function E_(e){e.tag===22?(ee(kt,kt.current),ee(mn,e),Tn===null&&(Tn=e)):rl()}function rl(){ee(kt,kt.current),ee(mn,mn.current)}function _n(e){K(mn),Tn===e&&(Tn=null),K(kt)}var kt=E(0);function Tc(e){for(var n=e;n!==null;){if(n.tag===13){var l=n.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||ef(l)||tf(l)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Ea=0,De=null,tt=null,At=null,Dc=!1,Xi=!1,Wl=!1,Rc=0,nr=0,Zi=null,zb=0;function yt(){throw Error(s(321))}function Zu(e,n){if(n===null)return!1;for(var l=0;l<n.length&&l<e.length;l++)if(!dn(e[l],n[l]))return!1;return!0}function Ju(e,n,l,r,d,f){return Ea=f,De=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,H.H=e===null||e.memoizedState===null?fp:dd,Wl=!1,f=l(r,d),Wl=!1,Xi&&(f=D_(n,l,r,d)),T_(e),f}function T_(e){H.H=ir;var n=tt!==null&&tt.next!==null;if(Ea=0,At=tt=De=null,Dc=!1,nr=0,Zi=null,n)throw Error(s(300));e===null||Nt||(e=e.dependencies,e!==null&&xc(e)&&(Nt=!0))}function D_(e,n,l,r){De=e;var d=0;do{if(Xi&&(Zi=null),nr=0,Xi=!1,25<=d)throw Error(s(301));if(d+=1,At=tt=null,e.updateQueue!=null){var f=e.updateQueue;f.lastEffect=null,f.events=null,f.stores=null,f.memoCache!=null&&(f.memoCache.index=0)}H.H=mp,f=n(l,r)}while(Xi);return f}function Ob(){var e=H.H,n=e.useState()[0];return n=typeof n.then=="function"?ar(n):n,e=e.useState()[0],(tt!==null?tt.memoizedState:null)!==e&&(De.flags|=1024),n}function Fu(){var e=Rc!==0;return Rc=0,e}function Pu(e,n,l){n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l}function Wu(e){if(Dc){for(e=e.memoizedState;e!==null;){var n=e.queue;n!==null&&(n.pending=null),e=e.next}Dc=!1}Ea=0,At=tt=De=null,Xi=!1,nr=Rc=0,Zi=null}function Wt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return At===null?De.memoizedState=At=e:At=At.next=e,At}function xt(){if(tt===null){var e=De.alternate;e=e!==null?e.memoizedState:null}else e=tt.next;var n=At===null?De.memoizedState:At.next;if(n!==null)At=n,tt=e;else{if(e===null)throw De.alternate===null?Error(s(467)):Error(s(310));tt=e,e={memoizedState:tt.memoizedState,baseState:tt.baseState,baseQueue:tt.baseQueue,queue:tt.queue,next:null},At===null?De.memoizedState=At=e:At=At.next=e}return At}function $c(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ar(e){var n=nr;return nr+=1,Zi===null&&(Zi=[]),e=k_(Zi,e,n),n=De,(At===null?n.memoizedState:At.next)===null&&(n=n.alternate,H.H=n===null||n.memoizedState===null?fp:dd),e}function Mc(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return ar(e);if(e.$$typeof===I)return Ut(e)}throw Error(s(438,String(e)))}function ed(e){var n=null,l=De.updateQueue;if(l!==null&&(n=l.memoCache),n==null){var r=De.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(n={data:r.data.map(function(d){return d.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),l===null&&(l=$c(),De.updateQueue=l),l.memoCache=n,l=n.data[n.index],l===void 0)for(l=n.data[n.index]=Array(e),r=0;r<e;r++)l[r]=W;return n.index++,l}function Ta(e,n){return typeof n=="function"?n(e):n}function zc(e){var n=xt();return td(n,tt,e)}function td(e,n,l){var r=e.queue;if(r===null)throw Error(s(311));r.lastRenderedReducer=l;var d=e.baseQueue,f=r.pending;if(f!==null){if(d!==null){var y=d.next;d.next=f.next,f.next=y}n.baseQueue=d=f,r.pending=null}if(f=e.baseState,d===null)e.memoizedState=f;else{n=d.next;var S=y=null,N=null,z=n,Q=!1;do{var X=z.lane&-536870913;if(X!==z.lane?(qe&X)===X:(Ea&X)===X){var B=z.revertLane;if(B===0)N!==null&&(N=N.next={lane:0,revertLane:0,gesture:null,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null}),X===Gi&&(Q=!0);else if((Ea&B)===B){z=z.next,B===Gi&&(Q=!0);continue}else X={lane:0,revertLane:z.revertLane,gesture:null,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null},N===null?(S=N=X,y=f):N=N.next=X,De.lanes|=B,ul|=B;X=z.action,Wl&&l(f,X),f=z.hasEagerState?z.eagerState:l(f,X)}else B={lane:X,revertLane:z.revertLane,gesture:z.gesture,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null},N===null?(S=N=B,y=f):N=N.next=B,De.lanes|=X,ul|=X;z=z.next}while(z!==null&&z!==n);if(N===null?y=f:N.next=S,!dn(f,e.memoizedState)&&(Nt=!0,Q&&(l=Yi,l!==null)))throw l;e.memoizedState=f,e.baseState=y,e.baseQueue=N,r.lastRenderedState=f}return d===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function nd(e){var n=xt(),l=n.queue;if(l===null)throw Error(s(311));l.lastRenderedReducer=e;var r=l.dispatch,d=l.pending,f=n.memoizedState;if(d!==null){l.pending=null;var y=d=d.next;do f=e(f,y.action),y=y.next;while(y!==d);dn(f,n.memoizedState)||(Nt=!0),n.memoizedState=f,n.baseQueue===null&&(n.baseState=f),l.lastRenderedState=f}return[f,r]}function R_(e,n,l){var r=De,d=xt(),f=He;if(f){if(l===void 0)throw Error(s(407));l=l()}else l=n();var y=!dn((tt||d).memoizedState,l);if(y&&(d.memoizedState=l,Nt=!0),d=d.queue,id(z_.bind(null,r,d,e),[e]),d.getSnapshot!==n||y||At!==null&&At.memoizedState.tag&1){if(r.flags|=2048,Ji(9,{destroy:void 0},M_.bind(null,r,d,l,n),null),lt===null)throw Error(s(349));f||(Ea&127)!==0||$_(r,n,l)}return l}function $_(e,n,l){e.flags|=16384,e={getSnapshot:n,value:l},n=De.updateQueue,n===null?(n=$c(),De.updateQueue=n,n.stores=[e]):(l=n.stores,l===null?n.stores=[e]:l.push(e))}function M_(e,n,l,r){n.value=l,n.getSnapshot=r,O_(n)&&q_(e)}function z_(e,n,l){return l(function(){O_(n)&&q_(e)})}function O_(e){var n=e.getSnapshot;e=e.value;try{var l=n();return!dn(e,l)}catch{return!0}}function q_(e){var n=Yl(e,2);n!==null&&on(n,e,2)}function ad(e){var n=Wt();if(typeof e=="function"){var l=e;if(e=l(),Wl){Pn(!0);try{l()}finally{Pn(!1)}}}return n.memoizedState=n.baseState=e,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ta,lastRenderedState:e},n}function L_(e,n,l,r){return e.baseState=l,td(e,tt,typeof r=="function"?r:Ta)}function qb(e,n,l,r,d){if(Lc(e))throw Error(s(485));if(e=n.action,e!==null){var f={payload:d,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(y){f.listeners.push(y)}};H.T!==null?l(!0):f.isTransition=!1,r(f),l=n.pending,l===null?(f.next=n.pending=f,B_(n,f)):(f.next=l.next,n.pending=l.next=f)}}function B_(e,n){var l=n.action,r=n.payload,d=e.state;if(n.isTransition){var f=H.T,y={};H.T=y;try{var S=l(d,r),N=H.S;N!==null&&N(y,S),U_(e,n,S)}catch(z){ld(e,n,z)}finally{f!==null&&y.types!==null&&(f.types=y.types),H.T=f}}else try{f=l(d,r),U_(e,n,f)}catch(z){ld(e,n,z)}}function U_(e,n,l){l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(function(r){H_(e,n,r)},function(r){return ld(e,n,r)}):H_(e,n,l)}function H_(e,n,l){n.status="fulfilled",n.value=l,I_(n),e.state=l,n=e.pending,n!==null&&(l=n.next,l===n?e.pending=null:(l=l.next,n.next=l,B_(e,l)))}function ld(e,n,l){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do n.status="rejected",n.reason=l,I_(n),n=n.next;while(n!==r)}e.action=null}function I_(e){e=e.listeners;for(var n=0;n<e.length;n++)(0,e[n])()}function G_(e,n){return n}function Y_(e,n){if(He){var l=lt.formState;if(l!==null){e:{var r=De;if(He){if(ot){t:{for(var d=ot,f=En;d.nodeType!==8;){if(!f){d=null;break t}if(d=Dn(d.nextSibling),d===null){d=null;break t}}f=d.data,d=f==="F!"||f==="F"?d:null}if(d){ot=Dn(d.nextSibling),r=d.data==="F!";break e}}tl(r)}r=!1}r&&(n=l[0])}}return l=Wt(),l.memoizedState=l.baseState=n,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:G_,lastRenderedState:n},l.queue=r,l=op.bind(null,De,r),r.dispatch=l,r=ad(!1),f=ud.bind(null,De,!1,r.queue),r=Wt(),d={state:n,dispatch:null,action:e,pending:null},r.queue=d,l=qb.bind(null,De,d,f,l),d.dispatch=l,r.memoizedState=e,[n,l,!1]}function K_(e){var n=xt();return Q_(n,tt,e)}function Q_(e,n,l){if(n=td(e,n,G_)[0],e=zc(Ta)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var r=ar(n)}catch(y){throw y===Ki?jc:y}else r=n;n=xt();var d=n.queue,f=d.dispatch;return l!==n.memoizedState&&(De.flags|=2048,Ji(9,{destroy:void 0},Lb.bind(null,d,l),null)),[r,f,e]}function Lb(e,n){e.action=n}function V_(e){var n=xt(),l=tt;if(l!==null)return Q_(n,l,e);xt(),n=n.memoizedState,l=xt();var r=l.queue.dispatch;return l.memoizedState=e,[n,r,!1]}function Ji(e,n,l,r){return e={tag:e,create:l,deps:r,inst:n,next:null},n=De.updateQueue,n===null&&(n=$c(),De.updateQueue=n),l=n.lastEffect,l===null?n.lastEffect=e.next=e:(r=l.next,l.next=e,e.next=r,n.lastEffect=e),e}function X_(){return xt().memoizedState}function Oc(e,n,l,r){var d=Wt();De.flags|=e,d.memoizedState=Ji(1|n,{destroy:void 0},l,r===void 0?null:r)}function qc(e,n,l,r){var d=xt();r=r===void 0?null:r;var f=d.memoizedState.inst;tt!==null&&r!==null&&Zu(r,tt.memoizedState.deps)?d.memoizedState=Ji(n,f,l,r):(De.flags|=e,d.memoizedState=Ji(1|n,f,l,r))}function Z_(e,n){Oc(8390656,8,e,n)}function id(e,n){qc(2048,8,e,n)}function Bb(e){De.flags|=4;var n=De.updateQueue;if(n===null)n=$c(),De.updateQueue=n,n.events=[e];else{var l=n.events;l===null?n.events=[e]:l.push(e)}}function J_(e){var n=xt().memoizedState;return Bb({ref:n,nextImpl:e}),function(){if((Je&2)!==0)throw Error(s(440));return n.impl.apply(void 0,arguments)}}function F_(e,n){return qc(4,2,e,n)}function P_(e,n){return qc(4,4,e,n)}function W_(e,n){if(typeof n=="function"){e=e();var l=n(e);return function(){typeof l=="function"?l():n(null)}}if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function ep(e,n,l){l=l!=null?l.concat([e]):null,qc(4,4,W_.bind(null,n,e),l)}function sd(){}function tp(e,n){var l=xt();n=n===void 0?null:n;var r=l.memoizedState;return n!==null&&Zu(n,r[1])?r[0]:(l.memoizedState=[e,n],e)}function np(e,n){var l=xt();n=n===void 0?null:n;var r=l.memoizedState;if(n!==null&&Zu(n,r[1]))return r[0];if(r=e(),Wl){Pn(!0);try{e()}finally{Pn(!1)}}return l.memoizedState=[r,n],r}function rd(e,n,l){return l===void 0||(Ea&1073741824)!==0&&(qe&261930)===0?e.memoizedState=n:(e.memoizedState=l,e=ah(),De.lanes|=e,ul|=e,l)}function ap(e,n,l,r){return dn(l,n)?l:Vi.current!==null?(e=rd(e,l,r),dn(e,n)||(Nt=!0),e):(Ea&42)===0||(Ea&1073741824)!==0&&(qe&261930)===0?(Nt=!0,e.memoizedState=l):(e=ah(),De.lanes|=e,ul|=e,n)}function lp(e,n,l,r,d){var f=Z.p;Z.p=f!==0&&8>f?f:8;var y=H.T,S={};H.T=S,ud(e,!1,n,l);try{var N=d(),z=H.S;if(z!==null&&z(S,N),N!==null&&typeof N=="object"&&typeof N.then=="function"){var Q=Mb(N,r);lr(e,n,Q,gn(e))}else lr(e,n,r,gn(e))}catch(X){lr(e,n,{then:function(){},status:"rejected",reason:X},gn())}finally{Z.p=f,y!==null&&S.types!==null&&(y.types=S.types),H.T=y}}function Ub(){}function cd(e,n,l,r){if(e.tag!==5)throw Error(s(476));var d=ip(e).queue;lp(e,d,n,ne,l===null?Ub:function(){return sp(e),l(r)})}function ip(e){var n=e.memoizedState;if(n!==null)return n;n={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ta,lastRenderedState:ne},next:null};var l={};return n.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ta,lastRenderedState:l},next:null},e.memoizedState=n,e=e.alternate,e!==null&&(e.memoizedState=n),n}function sp(e){var n=ip(e);n.next===null&&(n=e.alternate.memoizedState),lr(e,n.next.queue,{},gn())}function od(){return Ut(kr)}function rp(){return xt().memoizedState}function cp(){return xt().memoizedState}function Hb(e){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var l=gn();e=ll(l);var r=il(n,e,l);r!==null&&(on(r,n,l),Ws(r,n,l)),n={cache:Lu()},e.payload=n;return}n=n.return}}function Ib(e,n,l){var r=gn();l={lane:r,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Lc(e)?up(n,l):(l=Au(e,n,l,r),l!==null&&(on(l,e,r),dp(l,n,r)))}function op(e,n,l){var r=gn();lr(e,n,l,r)}function lr(e,n,l,r){var d={lane:r,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(Lc(e))up(n,d);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=n.lastRenderedReducer,f!==null))try{var y=n.lastRenderedState,S=f(y,l);if(d.hasEagerState=!0,d.eagerState=S,dn(S,y))return yc(e,n,d,0),lt===null&&gc(),!1}catch{}finally{}if(l=Au(e,n,d,r),l!==null)return on(l,e,r),dp(l,n,r),!0}return!1}function ud(e,n,l,r){if(r={lane:2,revertLane:Id(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Lc(e)){if(n)throw Error(s(479))}else n=Au(e,l,r,2),n!==null&&on(n,e,2)}function Lc(e){var n=e.alternate;return e===De||n!==null&&n===De}function up(e,n){Xi=Dc=!0;var l=e.pending;l===null?n.next=n:(n.next=l.next,l.next=n),e.pending=n}function dp(e,n,l){if((l&4194048)!==0){var r=n.lanes;r&=e.pendingLanes,l|=r,n.lanes=l,Cs(e,l)}}var ir={readContext:Ut,use:Mc,useCallback:yt,useContext:yt,useEffect:yt,useImperativeHandle:yt,useLayoutEffect:yt,useInsertionEffect:yt,useMemo:yt,useReducer:yt,useRef:yt,useState:yt,useDebugValue:yt,useDeferredValue:yt,useTransition:yt,useSyncExternalStore:yt,useId:yt,useHostTransitionStatus:yt,useFormState:yt,useActionState:yt,useOptimistic:yt,useMemoCache:yt,useCacheRefresh:yt};ir.useEffectEvent=yt;var fp={readContext:Ut,use:Mc,useCallback:function(e,n){return Wt().memoizedState=[e,n===void 0?null:n],e},useContext:Ut,useEffect:Z_,useImperativeHandle:function(e,n,l){l=l!=null?l.concat([e]):null,Oc(4194308,4,W_.bind(null,n,e),l)},useLayoutEffect:function(e,n){return Oc(4194308,4,e,n)},useInsertionEffect:function(e,n){Oc(4,2,e,n)},useMemo:function(e,n){var l=Wt();n=n===void 0?null:n;var r=e();if(Wl){Pn(!0);try{e()}finally{Pn(!1)}}return l.memoizedState=[r,n],r},useReducer:function(e,n,l){var r=Wt();if(l!==void 0){var d=l(n);if(Wl){Pn(!0);try{l(n)}finally{Pn(!1)}}}else d=n;return r.memoizedState=r.baseState=d,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:d},r.queue=e,e=e.dispatch=Ib.bind(null,De,e),[r.memoizedState,e]},useRef:function(e){var n=Wt();return e={current:e},n.memoizedState=e},useState:function(e){e=ad(e);var n=e.queue,l=op.bind(null,De,n);return n.dispatch=l,[e.memoizedState,l]},useDebugValue:sd,useDeferredValue:function(e,n){var l=Wt();return rd(l,e,n)},useTransition:function(){var e=ad(!1);return e=lp.bind(null,De,e.queue,!0,!1),Wt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,n,l){var r=De,d=Wt();if(He){if(l===void 0)throw Error(s(407));l=l()}else{if(l=n(),lt===null)throw Error(s(349));(qe&127)!==0||$_(r,n,l)}d.memoizedState=l;var f={value:l,getSnapshot:n};return d.queue=f,Z_(z_.bind(null,r,f,e),[e]),r.flags|=2048,Ji(9,{destroy:void 0},M_.bind(null,r,f,l,n),null),l},useId:function(){var e=Wt(),n=lt.identifierPrefix;if(He){var l=ra,r=sa;l=(r&~(1<<32-Jt(r)-1)).toString(32)+l,n="_"+n+"R_"+l,l=Rc++,0<l&&(n+="H"+l.toString(32)),n+="_"}else l=zb++,n="_"+n+"r_"+l.toString(32)+"_";return e.memoizedState=n},useHostTransitionStatus:od,useFormState:Y_,useActionState:Y_,useOptimistic:function(e){var n=Wt();n.memoizedState=n.baseState=e;var l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=l,n=ud.bind(null,De,!0,l),l.dispatch=n,[e,n]},useMemoCache:ed,useCacheRefresh:function(){return Wt().memoizedState=Hb.bind(null,De)},useEffectEvent:function(e){var n=Wt(),l={impl:e};return n.memoizedState=l,function(){if((Je&2)!==0)throw Error(s(440));return l.impl.apply(void 0,arguments)}}},dd={readContext:Ut,use:Mc,useCallback:tp,useContext:Ut,useEffect:id,useImperativeHandle:ep,useInsertionEffect:F_,useLayoutEffect:P_,useMemo:np,useReducer:zc,useRef:X_,useState:function(){return zc(Ta)},useDebugValue:sd,useDeferredValue:function(e,n){var l=xt();return ap(l,tt.memoizedState,e,n)},useTransition:function(){var e=zc(Ta)[0],n=xt().memoizedState;return[typeof e=="boolean"?e:ar(e),n]},useSyncExternalStore:R_,useId:rp,useHostTransitionStatus:od,useFormState:K_,useActionState:K_,useOptimistic:function(e,n){var l=xt();return L_(l,tt,e,n)},useMemoCache:ed,useCacheRefresh:cp};dd.useEffectEvent=J_;var mp={readContext:Ut,use:Mc,useCallback:tp,useContext:Ut,useEffect:id,useImperativeHandle:ep,useInsertionEffect:F_,useLayoutEffect:P_,useMemo:np,useReducer:nd,useRef:X_,useState:function(){return nd(Ta)},useDebugValue:sd,useDeferredValue:function(e,n){var l=xt();return tt===null?rd(l,e,n):ap(l,tt.memoizedState,e,n)},useTransition:function(){var e=nd(Ta)[0],n=xt().memoizedState;return[typeof e=="boolean"?e:ar(e),n]},useSyncExternalStore:R_,useId:rp,useHostTransitionStatus:od,useFormState:V_,useActionState:V_,useOptimistic:function(e,n){var l=xt();return tt!==null?L_(l,tt,e,n):(l.baseState=e,[e,l.queue.dispatch])},useMemoCache:ed,useCacheRefresh:cp};mp.useEffectEvent=J_;function fd(e,n,l,r){n=e.memoizedState,l=l(r,n),l=l==null?n:b({},n,l),e.memoizedState=l,e.lanes===0&&(e.updateQueue.baseState=l)}var md={enqueueSetState:function(e,n,l){e=e._reactInternals;var r=gn(),d=ll(r);d.payload=n,l!=null&&(d.callback=l),n=il(e,d,r),n!==null&&(on(n,e,r),Ws(n,e,r))},enqueueReplaceState:function(e,n,l){e=e._reactInternals;var r=gn(),d=ll(r);d.tag=1,d.payload=n,l!=null&&(d.callback=l),n=il(e,d,r),n!==null&&(on(n,e,r),Ws(n,e,r))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var l=gn(),r=ll(l);r.tag=2,n!=null&&(r.callback=n),n=il(e,r,l),n!==null&&(on(n,e,l),Ws(n,e,l))}};function _p(e,n,l,r,d,f,y){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,f,y):n.prototype&&n.prototype.isPureReactComponent?!Ks(l,r)||!Ks(d,f):!0}function pp(e,n,l,r){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(l,r),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(l,r),n.state!==e&&md.enqueueReplaceState(n,n.state,null)}function ei(e,n){var l=n;if("ref"in n){l={};for(var r in n)r!=="ref"&&(l[r]=n[r])}if(e=e.defaultProps){l===n&&(l=b({},l));for(var d in e)l[d]===void 0&&(l[d]=e[d])}return l}function hp(e){hc(e)}function gp(e){console.error(e)}function yp(e){hc(e)}function Bc(e,n){try{var l=e.onUncaughtError;l(n.value,{componentStack:n.stack})}catch(r){setTimeout(function(){throw r})}}function vp(e,n,l){try{var r=e.onCaughtError;r(l.value,{componentStack:l.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(d){setTimeout(function(){throw d})}}function _d(e,n,l){return l=ll(l),l.tag=3,l.payload={element:null},l.callback=function(){Bc(e,n)},l}function bp(e){return e=ll(e),e.tag=3,e}function kp(e,n,l,r){var d=l.type.getDerivedStateFromError;if(typeof d=="function"){var f=r.value;e.payload=function(){return d(f)},e.callback=function(){vp(n,l,r)}}var y=l.stateNode;y!==null&&typeof y.componentDidCatch=="function"&&(e.callback=function(){vp(n,l,r),typeof d!="function"&&(dl===null?dl=new Set([this]):dl.add(this));var S=r.stack;this.componentDidCatch(r.value,{componentStack:S!==null?S:""})})}function Gb(e,n,l,r,d){if(l.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(n=l.alternate,n!==null&&Ii(n,l,d,!0),l=mn.current,l!==null){switch(l.tag){case 31:case 13:return Tn===null?Fc():l.alternate===null&&vt===0&&(vt=3),l.flags&=-257,l.flags|=65536,l.lanes=d,r===Cc?l.flags|=16384:(n=l.updateQueue,n===null?l.updateQueue=new Set([r]):n.add(r),Bd(e,r,d)),!1;case 22:return l.flags|=65536,r===Cc?l.flags|=16384:(n=l.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([r])},l.updateQueue=n):(l=n.retryQueue,l===null?n.retryQueue=new Set([r]):l.add(r)),Bd(e,r,d)),!1}throw Error(s(435,l.tag))}return Bd(e,r,d),Fc(),!1}if(He)return n=mn.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=d,r!==$u&&(e=Error(s(422),{cause:r}),Xs(Cn(e,l)))):(r!==$u&&(n=Error(s(423),{cause:r}),Xs(Cn(n,l))),e=e.current.alternate,e.flags|=65536,d&=-d,e.lanes|=d,r=Cn(r,l),d=_d(e.stateNode,r,d),Yu(e,d),vt!==4&&(vt=2)),!1;var f=Error(s(520),{cause:r});if(f=Cn(f,l),mr===null?mr=[f]:mr.push(f),vt!==4&&(vt=2),n===null)return!0;r=Cn(r,l),l=n;do{switch(l.tag){case 3:return l.flags|=65536,e=d&-d,l.lanes|=e,e=_d(l.stateNode,r,e),Yu(l,e),!1;case 1:if(n=l.type,f=l.stateNode,(l.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(dl===null||!dl.has(f))))return l.flags|=65536,d&=-d,l.lanes|=d,d=bp(d),kp(d,e,l,r),Yu(l,d),!1}l=l.return}while(l!==null);return!1}var pd=Error(s(461)),Nt=!1;function Ht(e,n,l,r){n.child=e===null?j_(n,null,l,r):Pl(n,e.child,l,r)}function xp(e,n,l,r,d){l=l.render;var f=n.ref;if("ref"in r){var y={};for(var S in r)S!=="ref"&&(y[S]=r[S])}else y=r;return Xl(n),r=Ju(e,n,l,y,f,d),S=Fu(),e!==null&&!Nt?(Pu(e,n,d),Da(e,n,d)):(He&&S&&Du(n),n.flags|=1,Ht(e,n,r,d),n.child)}function Sp(e,n,l,r,d){if(e===null){var f=l.type;return typeof f=="function"&&!Nu(f)&&f.defaultProps===void 0&&l.compare===null?(n.tag=15,n.type=f,wp(e,n,f,r,d)):(e=bc(l.type,null,r,n,n.mode,d),e.ref=n.ref,e.return=n,n.child=e)}if(f=e.child,!Sd(e,d)){var y=f.memoizedProps;if(l=l.compare,l=l!==null?l:Ks,l(y,r)&&e.ref===n.ref)return Da(e,n,d)}return n.flags|=1,e=ja(f,r),e.ref=n.ref,e.return=n,n.child=e}function wp(e,n,l,r,d){if(e!==null){var f=e.memoizedProps;if(Ks(f,r)&&e.ref===n.ref)if(Nt=!1,n.pendingProps=r=f,Sd(e,d))(e.flags&131072)!==0&&(Nt=!0);else return n.lanes=e.lanes,Da(e,n,d)}return hd(e,n,l,r,d)}function jp(e,n,l,r){var d=r.children,f=e!==null?e.memoizedState:null;if(e===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((n.flags&128)!==0){if(f=f!==null?f.baseLanes|l:l,e!==null){for(r=n.child=e.child,d=0;r!==null;)d=d|r.lanes|r.childLanes,r=r.sibling;r=d&~f}else r=0,n.child=null;return Cp(e,n,f,l,r)}if((l&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},e!==null&&wc(n,f!==null?f.cachePool:null),f!==null?N_(n,f):Qu(),E_(n);else return r=n.lanes=536870912,Cp(e,n,f!==null?f.baseLanes|l:l,l,r)}else f!==null?(wc(n,f.cachePool),N_(n,f),rl(),n.memoizedState=null):(e!==null&&wc(n,null),Qu(),rl());return Ht(e,n,d,l),n.child}function sr(e,n){return e!==null&&e.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function Cp(e,n,l,r,d){var f=Uu();return f=f===null?null:{parent:Ct._currentValue,pool:f},n.memoizedState={baseLanes:l,cachePool:f},e!==null&&wc(n,null),Qu(),E_(n),e!==null&&Ii(e,n,r,!0),n.childLanes=d,null}function Uc(e,n){return n=Ic({mode:n.mode,children:n.children},e.mode),n.ref=e.ref,e.child=n,n.return=e,n}function Ap(e,n,l){return Pl(n,e.child,null,l),e=Uc(n,n.pendingProps),e.flags|=2,_n(n),n.memoizedState=null,e}function Yb(e,n,l){var r=n.pendingProps,d=(n.flags&128)!==0;if(n.flags&=-129,e===null){if(He){if(r.mode==="hidden")return e=Uc(n,r),n.lanes=536870912,sr(null,e);if(Xu(n),(e=ot)?(e=Bh(e,En),e=e!==null&&e.data==="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:Wa!==null?{id:sa,overflow:ra}:null,retryLane:536870912,hydrationErrors:null},l=u_(e),l.return=n,n.child=l,Bt=n,ot=null)):e=null,e===null)throw tl(n);return n.lanes=536870912,null}return Uc(n,r)}var f=e.memoizedState;if(f!==null){var y=f.dehydrated;if(Xu(n),d)if(n.flags&256)n.flags&=-257,n=Ap(e,n,l);else if(n.memoizedState!==null)n.child=e.child,n.flags|=128,n=null;else throw Error(s(558));else if(Nt||Ii(e,n,l,!1),d=(l&e.childLanes)!==0,Nt||d){if(r=lt,r!==null&&(y=va(r,l),y!==0&&y!==f.retryLane))throw f.retryLane=y,Yl(e,y),on(r,e,y),pd;Fc(),n=Ap(e,n,l)}else e=f.treeContext,ot=Dn(y.nextSibling),Bt=n,He=!0,el=null,En=!1,e!==null&&m_(n,e),n=Uc(n,r),n.flags|=4096;return n}return e=ja(e.child,{mode:r.mode,children:r.children}),e.ref=n.ref,n.child=e,e.return=n,e}function Hc(e,n){var l=n.ref;if(l===null)e!==null&&e.ref!==null&&(n.flags|=4194816);else{if(typeof l!="function"&&typeof l!="object")throw Error(s(284));(e===null||e.ref!==l)&&(n.flags|=4194816)}}function hd(e,n,l,r,d){return Xl(n),l=Ju(e,n,l,r,void 0,d),r=Fu(),e!==null&&!Nt?(Pu(e,n,d),Da(e,n,d)):(He&&r&&Du(n),n.flags|=1,Ht(e,n,l,d),n.child)}function Np(e,n,l,r,d,f){return Xl(n),n.updateQueue=null,l=D_(n,r,l,d),T_(e),r=Fu(),e!==null&&!Nt?(Pu(e,n,f),Da(e,n,f)):(He&&r&&Du(n),n.flags|=1,Ht(e,n,l,f),n.child)}function Ep(e,n,l,r,d){if(Xl(n),n.stateNode===null){var f=Li,y=l.contextType;typeof y=="object"&&y!==null&&(f=Ut(y)),f=new l(r,f),n.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,f.updater=md,n.stateNode=f,f._reactInternals=n,f=n.stateNode,f.props=r,f.state=n.memoizedState,f.refs={},Iu(n),y=l.contextType,f.context=typeof y=="object"&&y!==null?Ut(y):Li,f.state=n.memoizedState,y=l.getDerivedStateFromProps,typeof y=="function"&&(fd(n,l,y,r),f.state=n.memoizedState),typeof l.getDerivedStateFromProps=="function"||typeof f.getSnapshotBeforeUpdate=="function"||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(y=f.state,typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount(),y!==f.state&&md.enqueueReplaceState(f,f.state,null),tr(n,r,f,d),er(),f.state=n.memoizedState),typeof f.componentDidMount=="function"&&(n.flags|=4194308),r=!0}else if(e===null){f=n.stateNode;var S=n.memoizedProps,N=ei(l,S);f.props=N;var z=f.context,Q=l.contextType;y=Li,typeof Q=="object"&&Q!==null&&(y=Ut(Q));var X=l.getDerivedStateFromProps;Q=typeof X=="function"||typeof f.getSnapshotBeforeUpdate=="function",S=n.pendingProps!==S,Q||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(S||z!==y)&&pp(n,f,r,y),al=!1;var B=n.memoizedState;f.state=B,tr(n,r,f,d),er(),z=n.memoizedState,S||B!==z||al?(typeof X=="function"&&(fd(n,l,X,r),z=n.memoizedState),(N=al||_p(n,l,N,r,B,z,y))?(Q||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(n.flags|=4194308)):(typeof f.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=z),f.props=r,f.state=z,f.context=y,r=N):(typeof f.componentDidMount=="function"&&(n.flags|=4194308),r=!1)}else{f=n.stateNode,Gu(e,n),y=n.memoizedProps,Q=ei(l,y),f.props=Q,X=n.pendingProps,B=f.context,z=l.contextType,N=Li,typeof z=="object"&&z!==null&&(N=Ut(z)),S=l.getDerivedStateFromProps,(z=typeof S=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(y!==X||B!==N)&&pp(n,f,r,N),al=!1,B=n.memoizedState,f.state=B,tr(n,r,f,d),er();var G=n.memoizedState;y!==X||B!==G||al||e!==null&&e.dependencies!==null&&xc(e.dependencies)?(typeof S=="function"&&(fd(n,l,S,r),G=n.memoizedState),(Q=al||_p(n,l,Q,r,B,G,N)||e!==null&&e.dependencies!==null&&xc(e.dependencies))?(z||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(r,G,N),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(r,G,N)),typeof f.componentDidUpdate=="function"&&(n.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof f.componentDidUpdate!="function"||y===e.memoizedProps&&B===e.memoizedState||(n.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||y===e.memoizedProps&&B===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=G),f.props=r,f.state=G,f.context=N,r=Q):(typeof f.componentDidUpdate!="function"||y===e.memoizedProps&&B===e.memoizedState||(n.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||y===e.memoizedProps&&B===e.memoizedState||(n.flags|=1024),r=!1)}return f=r,Hc(e,n),r=(n.flags&128)!==0,f||r?(f=n.stateNode,l=r&&typeof l.getDerivedStateFromError!="function"?null:f.render(),n.flags|=1,e!==null&&r?(n.child=Pl(n,e.child,null,d),n.child=Pl(n,null,l,d)):Ht(e,n,l,d),n.memoizedState=f.state,e=n.child):e=Da(e,n,d),e}function Tp(e,n,l,r){return Ql(),n.flags|=256,Ht(e,n,l,r),n.child}var gd={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function yd(e){return{baseLanes:e,cachePool:v_()}}function vd(e,n,l){return e=e!==null?e.childLanes&~l:0,n&&(e|=hn),e}function Dp(e,n,l){var r=n.pendingProps,d=!1,f=(n.flags&128)!==0,y;if((y=f)||(y=e!==null&&e.memoizedState===null?!1:(kt.current&2)!==0),y&&(d=!0,n.flags&=-129),y=(n.flags&32)!==0,n.flags&=-33,e===null){if(He){if(d?sl(n):rl(),(e=ot)?(e=Bh(e,En),e=e!==null&&e.data!=="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:Wa!==null?{id:sa,overflow:ra}:null,retryLane:536870912,hydrationErrors:null},l=u_(e),l.return=n,n.child=l,Bt=n,ot=null)):e=null,e===null)throw tl(n);return tf(e)?n.lanes=32:n.lanes=536870912,null}var S=r.children;return r=r.fallback,d?(rl(),d=n.mode,S=Ic({mode:"hidden",children:S},d),r=Kl(r,d,l,null),S.return=n,r.return=n,S.sibling=r,n.child=S,r=n.child,r.memoizedState=yd(l),r.childLanes=vd(e,y,l),n.memoizedState=gd,sr(null,r)):(sl(n),bd(n,S))}var N=e.memoizedState;if(N!==null&&(S=N.dehydrated,S!==null)){if(f)n.flags&256?(sl(n),n.flags&=-257,n=kd(e,n,l)):n.memoizedState!==null?(rl(),n.child=e.child,n.flags|=128,n=null):(rl(),S=r.fallback,d=n.mode,r=Ic({mode:"visible",children:r.children},d),S=Kl(S,d,l,null),S.flags|=2,r.return=n,S.return=n,r.sibling=S,n.child=r,Pl(n,e.child,null,l),r=n.child,r.memoizedState=yd(l),r.childLanes=vd(e,y,l),n.memoizedState=gd,n=sr(null,r));else if(sl(n),tf(S)){if(y=S.nextSibling&&S.nextSibling.dataset,y)var z=y.dgst;y=z,r=Error(s(419)),r.stack="",r.digest=y,Xs({value:r,source:null,stack:null}),n=kd(e,n,l)}else if(Nt||Ii(e,n,l,!1),y=(l&e.childLanes)!==0,Nt||y){if(y=lt,y!==null&&(r=va(y,l),r!==0&&r!==N.retryLane))throw N.retryLane=r,Yl(e,r),on(y,e,r),pd;ef(S)||Fc(),n=kd(e,n,l)}else ef(S)?(n.flags|=192,n.child=e.child,n=null):(e=N.treeContext,ot=Dn(S.nextSibling),Bt=n,He=!0,el=null,En=!1,e!==null&&m_(n,e),n=bd(n,r.children),n.flags|=4096);return n}return d?(rl(),S=r.fallback,d=n.mode,N=e.child,z=N.sibling,r=ja(N,{mode:"hidden",children:r.children}),r.subtreeFlags=N.subtreeFlags&65011712,z!==null?S=ja(z,S):(S=Kl(S,d,l,null),S.flags|=2),S.return=n,r.return=n,r.sibling=S,n.child=r,sr(null,r),r=n.child,S=e.child.memoizedState,S===null?S=yd(l):(d=S.cachePool,d!==null?(N=Ct._currentValue,d=d.parent!==N?{parent:N,pool:N}:d):d=v_(),S={baseLanes:S.baseLanes|l,cachePool:d}),r.memoizedState=S,r.childLanes=vd(e,y,l),n.memoizedState=gd,sr(e.child,r)):(sl(n),l=e.child,e=l.sibling,l=ja(l,{mode:"visible",children:r.children}),l.return=n,l.sibling=null,e!==null&&(y=n.deletions,y===null?(n.deletions=[e],n.flags|=16):y.push(e)),n.child=l,n.memoizedState=null,l)}function bd(e,n){return n=Ic({mode:"visible",children:n},e.mode),n.return=e,e.child=n}function Ic(e,n){return e=fn(22,e,null,n),e.lanes=0,e}function kd(e,n,l){return Pl(n,e.child,null,l),e=bd(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function Rp(e,n,l){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n),Ou(e.return,n,l)}function xd(e,n,l,r,d,f){var y=e.memoizedState;y===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:l,tailMode:d,treeForkCount:f}:(y.isBackwards=n,y.rendering=null,y.renderingStartTime=0,y.last=r,y.tail=l,y.tailMode=d,y.treeForkCount=f)}function $p(e,n,l){var r=n.pendingProps,d=r.revealOrder,f=r.tail;r=r.children;var y=kt.current,S=(y&2)!==0;if(S?(y=y&1|2,n.flags|=128):y&=1,ee(kt,y),Ht(e,n,r,l),r=He?Vs:0,!S&&e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Rp(e,l,n);else if(e.tag===19)Rp(e,l,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(d){case"forwards":for(l=n.child,d=null;l!==null;)e=l.alternate,e!==null&&Tc(e)===null&&(d=l),l=l.sibling;l=d,l===null?(d=n.child,n.child=null):(d=l.sibling,l.sibling=null),xd(n,!1,d,l,f,r);break;case"backwards":case"unstable_legacy-backwards":for(l=null,d=n.child,n.child=null;d!==null;){if(e=d.alternate,e!==null&&Tc(e)===null){n.child=d;break}e=d.sibling,d.sibling=l,l=d,d=e}xd(n,!0,l,null,f,r);break;case"together":xd(n,!1,null,null,void 0,r);break;default:n.memoizedState=null}return n.child}function Da(e,n,l){if(e!==null&&(n.dependencies=e.dependencies),ul|=n.lanes,(l&n.childLanes)===0)if(e!==null){if(Ii(e,n,l,!1),(l&n.childLanes)===0)return null}else return null;if(e!==null&&n.child!==e.child)throw Error(s(153));if(n.child!==null){for(e=n.child,l=ja(e,e.pendingProps),n.child=l,l.return=n;e.sibling!==null;)e=e.sibling,l=l.sibling=ja(e,e.pendingProps),l.return=n;l.sibling=null}return n.child}function Sd(e,n){return(e.lanes&n)!==0?!0:(e=e.dependencies,!!(e!==null&&xc(e)))}function Kb(e,n,l){switch(n.tag){case 3:me(n,n.stateNode.containerInfo),nl(n,Ct,e.memoizedState.cache),Ql();break;case 27:case 5:Y(n);break;case 4:me(n,n.stateNode.containerInfo);break;case 10:nl(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,Xu(n),null;break;case 13:var r=n.memoizedState;if(r!==null)return r.dehydrated!==null?(sl(n),n.flags|=128,null):(l&n.child.childLanes)!==0?Dp(e,n,l):(sl(n),e=Da(e,n,l),e!==null?e.sibling:null);sl(n);break;case 19:var d=(e.flags&128)!==0;if(r=(l&n.childLanes)!==0,r||(Ii(e,n,l,!1),r=(l&n.childLanes)!==0),d){if(r)return $p(e,n,l);n.flags|=128}if(d=n.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),ee(kt,kt.current),r)break;return null;case 22:return n.lanes=0,jp(e,n,l,n.pendingProps);case 24:nl(n,Ct,e.memoizedState.cache)}return Da(e,n,l)}function Mp(e,n,l){if(e!==null)if(e.memoizedProps!==n.pendingProps)Nt=!0;else{if(!Sd(e,l)&&(n.flags&128)===0)return Nt=!1,Kb(e,n,l);Nt=(e.flags&131072)!==0}else Nt=!1,He&&(n.flags&1048576)!==0&&f_(n,Vs,n.index);switch(n.lanes=0,n.tag){case 16:e:{var r=n.pendingProps;if(e=Jl(n.elementType),n.type=e,typeof e=="function")Nu(e)?(r=ei(e,r),n.tag=1,n=Ep(null,n,e,r,l)):(n.tag=0,n=hd(null,n,e,r,l));else{if(e!=null){var d=e.$$typeof;if(d===te){n.tag=11,n=xp(null,n,e,r,l);break e}else if(d===L){n.tag=14,n=Sp(null,n,e,r,l);break e}}throw n=re(e)||e,Error(s(306,n,""))}}return n;case 0:return hd(e,n,n.type,n.pendingProps,l);case 1:return r=n.type,d=ei(r,n.pendingProps),Ep(e,n,r,d,l);case 3:e:{if(me(n,n.stateNode.containerInfo),e===null)throw Error(s(387));r=n.pendingProps;var f=n.memoizedState;d=f.element,Gu(e,n),tr(n,r,null,l);var y=n.memoizedState;if(r=y.cache,nl(n,Ct,r),r!==f.cache&&qu(n,[Ct],l,!0),er(),r=y.element,f.isDehydrated)if(f={element:r,isDehydrated:!1,cache:y.cache},n.updateQueue.baseState=f,n.memoizedState=f,n.flags&256){n=Tp(e,n,r,l);break e}else if(r!==d){d=Cn(Error(s(424)),n),Xs(d),n=Tp(e,n,r,l);break e}else{switch(e=n.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ot=Dn(e.firstChild),Bt=n,He=!0,el=null,En=!0,l=j_(n,null,r,l),n.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling}else{if(Ql(),r===d){n=Da(e,n,l);break e}Ht(e,n,r,l)}n=n.child}return n;case 26:return Hc(e,n),e===null?(l=Kh(n.type,null,n.pendingProps,null))?n.memoizedState=l:He||(l=n.type,e=n.pendingProps,r=lo(Ce.current).createElement(l),r[$t]=n,r[ft]=e,It(r,l,e),bt(r),n.stateNode=r):n.memoizedState=Kh(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return Y(n),e===null&&He&&(r=n.stateNode=Ih(n.type,n.pendingProps,Ce.current),Bt=n,En=!0,d=ot,pl(n.type)?(nf=d,ot=Dn(r.firstChild)):ot=d),Ht(e,n,n.pendingProps.children,l),Hc(e,n),e===null&&(n.flags|=4194304),n.child;case 5:return e===null&&He&&((d=r=ot)&&(r=k0(r,n.type,n.pendingProps,En),r!==null?(n.stateNode=r,Bt=n,ot=Dn(r.firstChild),En=!1,d=!0):d=!1),d||tl(n)),Y(n),d=n.type,f=n.pendingProps,y=e!==null?e.memoizedProps:null,r=f.children,Fd(d,f)?r=null:y!==null&&Fd(d,y)&&(n.flags|=32),n.memoizedState!==null&&(d=Ju(e,n,Ob,null,null,l),kr._currentValue=d),Hc(e,n),Ht(e,n,r,l),n.child;case 6:return e===null&&He&&((e=l=ot)&&(l=x0(l,n.pendingProps,En),l!==null?(n.stateNode=l,Bt=n,ot=null,e=!0):e=!1),e||tl(n)),null;case 13:return Dp(e,n,l);case 4:return me(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=Pl(n,null,r,l):Ht(e,n,r,l),n.child;case 11:return xp(e,n,n.type,n.pendingProps,l);case 7:return Ht(e,n,n.pendingProps,l),n.child;case 8:return Ht(e,n,n.pendingProps.children,l),n.child;case 12:return Ht(e,n,n.pendingProps.children,l),n.child;case 10:return r=n.pendingProps,nl(n,n.type,r.value),Ht(e,n,r.children,l),n.child;case 9:return d=n.type._context,r=n.pendingProps.children,Xl(n),d=Ut(d),r=r(d),n.flags|=1,Ht(e,n,r,l),n.child;case 14:return Sp(e,n,n.type,n.pendingProps,l);case 15:return wp(e,n,n.type,n.pendingProps,l);case 19:return $p(e,n,l);case 31:return Yb(e,n,l);case 22:return jp(e,n,l,n.pendingProps);case 24:return Xl(n),r=Ut(Ct),e===null?(d=Uu(),d===null&&(d=lt,f=Lu(),d.pooledCache=f,f.refCount++,f!==null&&(d.pooledCacheLanes|=l),d=f),n.memoizedState={parent:r,cache:d},Iu(n),nl(n,Ct,d)):((e.lanes&l)!==0&&(Gu(e,n),tr(n,null,null,l),er()),d=e.memoizedState,f=n.memoizedState,d.parent!==r?(d={parent:r,cache:r},n.memoizedState=d,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=d),nl(n,Ct,r)):(r=f.cache,nl(n,Ct,r),r!==d.cache&&qu(n,[Ct],l,!0))),Ht(e,n,n.pendingProps.children,l),n.child;case 29:throw n.pendingProps}throw Error(s(156,n.tag))}function Ra(e){e.flags|=4}function wd(e,n,l,r,d){if((n=(e.mode&32)!==0)&&(n=!1),n){if(e.flags|=16777216,(d&335544128)===d)if(e.stateNode.complete)e.flags|=8192;else if(rh())e.flags|=8192;else throw Fl=Cc,Hu}else e.flags&=-16777217}function zp(e,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Jh(n))if(rh())e.flags|=8192;else throw Fl=Cc,Hu}function Gc(e,n){n!==null&&(e.flags|=4),e.flags&16384&&(n=e.tag!==22?ea():536870912,e.lanes|=n,es|=n)}function rr(e,n){if(!He)switch(e.tailMode){case"hidden":n=e.tail;for(var l=null;n!==null;)n.alternate!==null&&(l=n),n=n.sibling;l===null?e.tail=null:l.sibling=null;break;case"collapsed":l=e.tail;for(var r=null;l!==null;)l.alternate!==null&&(r=l),l=l.sibling;r===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ut(e){var n=e.alternate!==null&&e.alternate.child===e.child,l=0,r=0;if(n)for(var d=e.child;d!==null;)l|=d.lanes|d.childLanes,r|=d.subtreeFlags&65011712,r|=d.flags&65011712,d.return=e,d=d.sibling;else for(d=e.child;d!==null;)l|=d.lanes|d.childLanes,r|=d.subtreeFlags,r|=d.flags,d.return=e,d=d.sibling;return e.subtreeFlags|=r,e.childLanes=l,n}function Qb(e,n,l){var r=n.pendingProps;switch(Ru(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ut(n),null;case 1:return ut(n),null;case 3:return l=n.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),n.memoizedState.cache!==r&&(n.flags|=2048),Na(Ct),Be(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(e===null||e.child===null)&&(Hi(n)?Ra(n):e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Mu())),ut(n),null;case 26:var d=n.type,f=n.memoizedState;return e===null?(Ra(n),f!==null?(ut(n),zp(n,f)):(ut(n),wd(n,d,null,r,l))):f?f!==e.memoizedState?(Ra(n),ut(n),zp(n,f)):(ut(n),n.flags&=-16777217):(e=e.memoizedProps,e!==r&&Ra(n),ut(n),wd(n,d,e,r,l)),null;case 27:if(Ae(n),l=Ce.current,d=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==r&&Ra(n);else{if(!r){if(n.stateNode===null)throw Error(s(166));return ut(n),null}e=ce.current,Hi(n)?__(n):(e=Ih(d,r,l),n.stateNode=e,Ra(n))}return ut(n),null;case 5:if(Ae(n),d=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==r&&Ra(n);else{if(!r){if(n.stateNode===null)throw Error(s(166));return ut(n),null}if(f=ce.current,Hi(n))__(n);else{var y=lo(Ce.current);switch(f){case 1:f=y.createElementNS("http://www.w3.org/2000/svg",d);break;case 2:f=y.createElementNS("http://www.w3.org/1998/Math/MathML",d);break;default:switch(d){case"svg":f=y.createElementNS("http://www.w3.org/2000/svg",d);break;case"math":f=y.createElementNS("http://www.w3.org/1998/Math/MathML",d);break;case"script":f=y.createElement("div"),f.innerHTML="<script><\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof r.is=="string"?y.createElement("select",{is:r.is}):y.createElement("select"),r.multiple?f.multiple=!0:r.size&&(f.size=r.size);break;default:f=typeof r.is=="string"?y.createElement(d,{is:r.is}):y.createElement(d)}}f[$t]=n,f[ft]=r;e:for(y=n.child;y!==null;){if(y.tag===5||y.tag===6)f.appendChild(y.stateNode);else if(y.tag!==4&&y.tag!==27&&y.child!==null){y.child.return=y,y=y.child;continue}if(y===n)break e;for(;y.sibling===null;){if(y.return===null||y.return===n)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}n.stateNode=f;e:switch(It(f,d,r),d){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&Ra(n)}}return ut(n),wd(n,n.type,e===null?null:e.memoizedProps,n.pendingProps,l),null;case 6:if(e&&n.stateNode!=null)e.memoizedProps!==r&&Ra(n);else{if(typeof r!="string"&&n.stateNode===null)throw Error(s(166));if(e=Ce.current,Hi(n)){if(e=n.stateNode,l=n.memoizedProps,r=null,d=Bt,d!==null)switch(d.tag){case 27:case 5:r=d.memoizedProps}e[$t]=n,e=!!(e.nodeValue===l||r!==null&&r.suppressHydrationWarning===!0||Dh(e.nodeValue,l)),e||tl(n,!0)}else e=lo(e).createTextNode(r),e[$t]=n,n.stateNode=e}return ut(n),null;case 31:if(l=n.memoizedState,e===null||e.memoizedState!==null){if(r=Hi(n),l!==null){if(e===null){if(!r)throw Error(s(318));if(e=n.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(557));e[$t]=n}else Ql(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;ut(n),e=!1}else l=Mu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return n.flags&256?(_n(n),n):(_n(n),null);if((n.flags&128)!==0)throw Error(s(558))}return ut(n),null;case 13:if(r=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(d=Hi(n),r!==null&&r.dehydrated!==null){if(e===null){if(!d)throw Error(s(318));if(d=n.memoizedState,d=d!==null?d.dehydrated:null,!d)throw Error(s(317));d[$t]=n}else Ql(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;ut(n),d=!1}else d=Mu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=d),d=!0;if(!d)return n.flags&256?(_n(n),n):(_n(n),null)}return _n(n),(n.flags&128)!==0?(n.lanes=l,n):(l=r!==null,e=e!==null&&e.memoizedState!==null,l&&(r=n.child,d=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(d=r.alternate.memoizedState.cachePool.pool),f=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(f=r.memoizedState.cachePool.pool),f!==d&&(r.flags|=2048)),l!==e&&l&&(n.child.flags|=8192),Gc(n,n.updateQueue),ut(n),null);case 4:return Be(),e===null&&Qd(n.stateNode.containerInfo),ut(n),null;case 10:return Na(n.type),ut(n),null;case 19:if(K(kt),r=n.memoizedState,r===null)return ut(n),null;if(d=(n.flags&128)!==0,f=r.rendering,f===null)if(d)rr(r,!1);else{if(vt!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(f=Tc(e),f!==null){for(n.flags|=128,rr(r,!1),e=f.updateQueue,n.updateQueue=e,Gc(n,e),n.subtreeFlags=0,e=l,l=n.child;l!==null;)o_(l,e),l=l.sibling;return ee(kt,kt.current&1|2),He&&Ca(n,r.treeForkCount),n.child}e=e.sibling}r.tail!==null&&Kt()>Xc&&(n.flags|=128,d=!0,rr(r,!1),n.lanes=4194304)}else{if(!d)if(e=Tc(f),e!==null){if(n.flags|=128,d=!0,e=e.updateQueue,n.updateQueue=e,Gc(n,e),rr(r,!0),r.tail===null&&r.tailMode==="hidden"&&!f.alternate&&!He)return ut(n),null}else 2*Kt()-r.renderingStartTime>Xc&&l!==536870912&&(n.flags|=128,d=!0,rr(r,!1),n.lanes=4194304);r.isBackwards?(f.sibling=n.child,n.child=f):(e=r.last,e!==null?e.sibling=f:n.child=f,r.last=f)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Kt(),e.sibling=null,l=kt.current,ee(kt,d?l&1|2:l&1),He&&Ca(n,r.treeForkCount),e):(ut(n),null);case 22:case 23:return _n(n),Vu(),r=n.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(n.flags|=8192):r&&(n.flags|=8192),r?(l&536870912)!==0&&(n.flags&128)===0&&(ut(n),n.subtreeFlags&6&&(n.flags|=8192)):ut(n),l=n.updateQueue,l!==null&&Gc(n,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),r=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(r=n.memoizedState.cachePool.pool),r!==l&&(n.flags|=2048),e!==null&&K(Zl),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),n.memoizedState.cache!==l&&(n.flags|=2048),Na(Ct),ut(n),null;case 25:return null;case 30:return null}throw Error(s(156,n.tag))}function Vb(e,n){switch(Ru(n),n.tag){case 1:return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Na(Ct),Be(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 26:case 27:case 5:return Ae(n),null;case 31:if(n.memoizedState!==null){if(_n(n),n.alternate===null)throw Error(s(340));Ql()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 13:if(_n(n),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(s(340));Ql()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return K(kt),null;case 4:return Be(),null;case 10:return Na(n.type),null;case 22:case 23:return _n(n),Vu(),e!==null&&K(Zl),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 24:return Na(Ct),null;case 25:return null;default:return null}}function Op(e,n){switch(Ru(n),n.tag){case 3:Na(Ct),Be();break;case 26:case 27:case 5:Ae(n);break;case 4:Be();break;case 31:n.memoizedState!==null&&_n(n);break;case 13:_n(n);break;case 19:K(kt);break;case 10:Na(n.type);break;case 22:case 23:_n(n),Vu(),e!==null&&K(Zl);break;case 24:Na(Ct)}}function cr(e,n){try{var l=n.updateQueue,r=l!==null?l.lastEffect:null;if(r!==null){var d=r.next;l=d;do{if((l.tag&e)===e){r=void 0;var f=l.create,y=l.inst;r=f(),y.destroy=r}l=l.next}while(l!==d)}}catch(S){We(n,n.return,S)}}function cl(e,n,l){try{var r=n.updateQueue,d=r!==null?r.lastEffect:null;if(d!==null){var f=d.next;r=f;do{if((r.tag&e)===e){var y=r.inst,S=y.destroy;if(S!==void 0){y.destroy=void 0,d=n;var N=l,z=S;try{z()}catch(Q){We(d,N,Q)}}}r=r.next}while(r!==f)}}catch(Q){We(n,n.return,Q)}}function qp(e){var n=e.updateQueue;if(n!==null){var l=e.stateNode;try{A_(n,l)}catch(r){We(e,e.return,r)}}}function Lp(e,n,l){l.props=ei(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(r){We(e,n,r)}}function or(e,n){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof l=="function"?e.refCleanup=l(r):l.current=r}}catch(d){We(e,n,d)}}function ca(e,n){var l=e.ref,r=e.refCleanup;if(l!==null)if(typeof r=="function")try{r()}catch(d){We(e,n,d)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(d){We(e,n,d)}else l.current=null}function Bp(e){var n=e.type,l=e.memoizedProps,r=e.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":l.autoFocus&&r.focus();break e;case"img":l.src?r.src=l.src:l.srcSet&&(r.srcset=l.srcSet)}}catch(d){We(e,e.return,d)}}function jd(e,n,l){try{var r=e.stateNode;p0(r,e.type,l,n),r[ft]=n}catch(d){We(e,e.return,d)}}function Up(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&pl(e.type)||e.tag===4}function Cd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Up(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&pl(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ad(e,n,l){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,n):(n=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,n.appendChild(e),l=l._reactRootContainer,l!=null||n.onclick!==null||(n.onclick=Un));else if(r!==4&&(r===27&&pl(e.type)&&(l=e.stateNode,n=null),e=e.child,e!==null))for(Ad(e,n,l),e=e.sibling;e!==null;)Ad(e,n,l),e=e.sibling}function Yc(e,n,l){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?l.insertBefore(e,n):l.appendChild(e);else if(r!==4&&(r===27&&pl(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(Yc(e,n,l),e=e.sibling;e!==null;)Yc(e,n,l),e=e.sibling}function Hp(e){var n=e.stateNode,l=e.memoizedProps;try{for(var r=e.type,d=n.attributes;d.length;)n.removeAttributeNode(d[0]);It(n,r,l),n[$t]=e,n[ft]=l}catch(f){We(e,e.return,f)}}var $a=!1,Et=!1,Nd=!1,Ip=typeof WeakSet=="function"?WeakSet:Set,zt=null;function Xb(e,n){if(e=e.containerInfo,Zd=fo,e=e_(e),ku(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else e:{l=(l=e.ownerDocument)&&l.defaultView||window;var r=l.getSelection&&l.getSelection();if(r&&r.rangeCount!==0){l=r.anchorNode;var d=r.anchorOffset,f=r.focusNode;r=r.focusOffset;try{l.nodeType,f.nodeType}catch{l=null;break e}var y=0,S=-1,N=-1,z=0,Q=0,X=e,B=null;t:for(;;){for(var G;X!==l||d!==0&&X.nodeType!==3||(S=y+d),X!==f||r!==0&&X.nodeType!==3||(N=y+r),X.nodeType===3&&(y+=X.nodeValue.length),(G=X.firstChild)!==null;)B=X,X=G;for(;;){if(X===e)break t;if(B===l&&++z===d&&(S=y),B===f&&++Q===r&&(N=y),(G=X.nextSibling)!==null)break;X=B,B=X.parentNode}X=G}l=S===-1||N===-1?null:{start:S,end:N}}else l=null}l=l||{start:0,end:0}}else l=null;for(Jd={focusedElem:e,selectionRange:l},fo=!1,zt=n;zt!==null;)if(n=zt,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,zt=e;else for(;zt!==null;){switch(n=zt,f=n.alternate,e=n.flags,n.tag){case 0:if((e&4)!==0&&(e=n.updateQueue,e=e!==null?e.events:null,e!==null))for(l=0;l<e.length;l++)d=e[l],d.ref.impl=d.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&f!==null){e=void 0,l=n,d=f.memoizedProps,f=f.memoizedState,r=l.stateNode;try{var _e=ei(l.type,d);e=r.getSnapshotBeforeUpdate(_e,f),r.__reactInternalSnapshotBeforeUpdate=e}catch(je){We(l,l.return,je)}}break;case 3:if((e&1024)!==0){if(e=n.stateNode.containerInfo,l=e.nodeType,l===9)Wd(e);else if(l===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Wd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(s(163))}if(e=n.sibling,e!==null){e.return=n.return,zt=e;break}zt=n.return}}function Gp(e,n,l){var r=l.flags;switch(l.tag){case 0:case 11:case 15:za(e,l),r&4&&cr(5,l);break;case 1:if(za(e,l),r&4)if(e=l.stateNode,n===null)try{e.componentDidMount()}catch(y){We(l,l.return,y)}else{var d=ei(l.type,n.memoizedProps);n=n.memoizedState;try{e.componentDidUpdate(d,n,e.__reactInternalSnapshotBeforeUpdate)}catch(y){We(l,l.return,y)}}r&64&&qp(l),r&512&&or(l,l.return);break;case 3:if(za(e,l),r&64&&(e=l.updateQueue,e!==null)){if(n=null,l.child!==null)switch(l.child.tag){case 27:case 5:n=l.child.stateNode;break;case 1:n=l.child.stateNode}try{A_(e,n)}catch(y){We(l,l.return,y)}}break;case 27:n===null&&r&4&&Hp(l);case 26:case 5:za(e,l),n===null&&r&4&&Bp(l),r&512&&or(l,l.return);break;case 12:za(e,l);break;case 31:za(e,l),r&4&&Qp(e,l);break;case 13:za(e,l),r&4&&Vp(e,l),r&64&&(e=l.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(l=a0.bind(null,l),S0(e,l))));break;case 22:if(r=l.memoizedState!==null||$a,!r){n=n!==null&&n.memoizedState!==null||Et,d=$a;var f=Et;$a=r,(Et=n)&&!f?Oa(e,l,(l.subtreeFlags&8772)!==0):za(e,l),$a=d,Et=f}break;case 30:break;default:za(e,l)}}function Yp(e){var n=e.alternate;n!==null&&(e.alternate=null,Yp(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&Sn(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var _t=null,ln=!1;function Ma(e,n,l){for(l=l.child;l!==null;)Kp(e,n,l),l=l.sibling}function Kp(e,n,l){if(qt&&typeof qt.onCommitFiberUnmount=="function")try{qt.onCommitFiberUnmount(Ml,l)}catch{}switch(l.tag){case 26:Et||ca(l,n),Ma(e,n,l),l.memoizedState?l.memoizedState.count--:l.stateNode&&(l=l.stateNode,l.parentNode.removeChild(l));break;case 27:Et||ca(l,n);var r=_t,d=ln;pl(l.type)&&(_t=l.stateNode,ln=!1),Ma(e,n,l),yr(l.stateNode),_t=r,ln=d;break;case 5:Et||ca(l,n);case 6:if(r=_t,d=ln,_t=null,Ma(e,n,l),_t=r,ln=d,_t!==null)if(ln)try{(_t.nodeType===9?_t.body:_t.nodeName==="HTML"?_t.ownerDocument.body:_t).removeChild(l.stateNode)}catch(f){We(l,n,f)}else try{_t.removeChild(l.stateNode)}catch(f){We(l,n,f)}break;case 18:_t!==null&&(ln?(e=_t,qh(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.stateNode),cs(e)):qh(_t,l.stateNode));break;case 4:r=_t,d=ln,_t=l.stateNode.containerInfo,ln=!0,Ma(e,n,l),_t=r,ln=d;break;case 0:case 11:case 14:case 15:cl(2,l,n),Et||cl(4,l,n),Ma(e,n,l);break;case 1:Et||(ca(l,n),r=l.stateNode,typeof r.componentWillUnmount=="function"&&Lp(l,n,r)),Ma(e,n,l);break;case 21:Ma(e,n,l);break;case 22:Et=(r=Et)||l.memoizedState!==null,Ma(e,n,l),Et=r;break;default:Ma(e,n,l)}}function Qp(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{cs(e)}catch(l){We(n,n.return,l)}}}function Vp(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{cs(e)}catch(l){We(n,n.return,l)}}function Zb(e){switch(e.tag){case 31:case 13:case 19:var n=e.stateNode;return n===null&&(n=e.stateNode=new Ip),n;case 22:return e=e.stateNode,n=e._retryCache,n===null&&(n=e._retryCache=new Ip),n;default:throw Error(s(435,e.tag))}}function Kc(e,n){var l=Zb(e);n.forEach(function(r){if(!l.has(r)){l.add(r);var d=l0.bind(null,e,r);r.then(d,d)}})}function sn(e,n){var l=n.deletions;if(l!==null)for(var r=0;r<l.length;r++){var d=l[r],f=e,y=n,S=y;e:for(;S!==null;){switch(S.tag){case 27:if(pl(S.type)){_t=S.stateNode,ln=!1;break e}break;case 5:_t=S.stateNode,ln=!1;break e;case 3:case 4:_t=S.stateNode.containerInfo,ln=!0;break e}S=S.return}if(_t===null)throw Error(s(160));Kp(f,y,d),_t=null,ln=!1,f=d.alternate,f!==null&&(f.return=null),d.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)Xp(n,e),n=n.sibling}var Kn=null;function Xp(e,n){var l=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:sn(n,e),rn(e),r&4&&(cl(3,e,e.return),cr(3,e),cl(5,e,e.return));break;case 1:sn(n,e),rn(e),r&512&&(Et||l===null||ca(l,l.return)),r&64&&$a&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(l=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=l===null?r:l.concat(r))));break;case 26:var d=Kn;if(sn(n,e),rn(e),r&512&&(Et||l===null||ca(l,l.return)),r&4){var f=l!==null?l.memoizedState:null;if(r=e.memoizedState,l===null)if(r===null)if(e.stateNode===null){e:{r=e.type,l=e.memoizedProps,d=d.ownerDocument||d;t:switch(r){case"title":f=d.getElementsByTagName("title")[0],(!f||f[ki]||f[$t]||f.namespaceURI==="http://www.w3.org/2000/svg"||f.hasAttribute("itemprop"))&&(f=d.createElement(r),d.head.insertBefore(f,d.querySelector("head > title"))),It(f,r,l),f[$t]=e,bt(f),r=f;break e;case"link":var y=Xh("link","href",d).get(r+(l.href||""));if(y){for(var S=0;S<y.length;S++)if(f=y[S],f.getAttribute("href")===(l.href==null||l.href===""?null:l.href)&&f.getAttribute("rel")===(l.rel==null?null:l.rel)&&f.getAttribute("title")===(l.title==null?null:l.title)&&f.getAttribute("crossorigin")===(l.crossOrigin==null?null:l.crossOrigin)){y.splice(S,1);break t}}f=d.createElement(r),It(f,r,l),d.head.appendChild(f);break;case"meta":if(y=Xh("meta","content",d).get(r+(l.content||""))){for(S=0;S<y.length;S++)if(f=y[S],f.getAttribute("content")===(l.content==null?null:""+l.content)&&f.getAttribute("name")===(l.name==null?null:l.name)&&f.getAttribute("property")===(l.property==null?null:l.property)&&f.getAttribute("http-equiv")===(l.httpEquiv==null?null:l.httpEquiv)&&f.getAttribute("charset")===(l.charSet==null?null:l.charSet)){y.splice(S,1);break t}}f=d.createElement(r),It(f,r,l),d.head.appendChild(f);break;default:throw Error(s(468,r))}f[$t]=e,bt(f),r=f}e.stateNode=r}else Zh(d,e.type,e.stateNode);else e.stateNode=Vh(d,r,e.memoizedProps);else f!==r?(f===null?l.stateNode!==null&&(l=l.stateNode,l.parentNode.removeChild(l)):f.count--,r===null?Zh(d,e.type,e.stateNode):Vh(d,r,e.memoizedProps)):r===null&&e.stateNode!==null&&jd(e,e.memoizedProps,l.memoizedProps)}break;case 27:sn(n,e),rn(e),r&512&&(Et||l===null||ca(l,l.return)),l!==null&&r&4&&jd(e,e.memoizedProps,l.memoizedProps);break;case 5:if(sn(n,e),rn(e),r&512&&(Et||l===null||ca(l,l.return)),e.flags&32){d=e.stateNode;try{Za(d,"")}catch(_e){We(e,e.return,_e)}}r&4&&e.stateNode!=null&&(d=e.memoizedProps,jd(e,d,l!==null?l.memoizedProps:d)),r&1024&&(Nd=!0);break;case 6:if(sn(n,e),rn(e),r&4){if(e.stateNode===null)throw Error(s(162));r=e.memoizedProps,l=e.stateNode;try{l.nodeValue=r}catch(_e){We(e,e.return,_e)}}break;case 3:if(ro=null,d=Kn,Kn=io(n.containerInfo),sn(n,e),Kn=d,rn(e),r&4&&l!==null&&l.memoizedState.isDehydrated)try{cs(n.containerInfo)}catch(_e){We(e,e.return,_e)}Nd&&(Nd=!1,Zp(e));break;case 4:r=Kn,Kn=io(e.stateNode.containerInfo),sn(n,e),rn(e),Kn=r;break;case 12:sn(n,e),rn(e);break;case 31:sn(n,e),rn(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Kc(e,r)));break;case 13:sn(n,e),rn(e),e.child.flags&8192&&e.memoizedState!==null!=(l!==null&&l.memoizedState!==null)&&(Vc=Kt()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Kc(e,r)));break;case 22:d=e.memoizedState!==null;var N=l!==null&&l.memoizedState!==null,z=$a,Q=Et;if($a=z||d,Et=Q||N,sn(n,e),Et=Q,$a=z,rn(e),r&8192)e:for(n=e.stateNode,n._visibility=d?n._visibility&-2:n._visibility|1,d&&(l===null||N||$a||Et||ti(e)),l=null,n=e;;){if(n.tag===5||n.tag===26){if(l===null){N=l=n;try{if(f=N.stateNode,d)y=f.style,typeof y.setProperty=="function"?y.setProperty("display","none","important"):y.display="none";else{S=N.stateNode;var X=N.memoizedProps.style,B=X!=null&&X.hasOwnProperty("display")?X.display:null;S.style.display=B==null||typeof B=="boolean"?"":(""+B).trim()}}catch(_e){We(N,N.return,_e)}}}else if(n.tag===6){if(l===null){N=n;try{N.stateNode.nodeValue=d?"":N.memoizedProps}catch(_e){We(N,N.return,_e)}}}else if(n.tag===18){if(l===null){N=n;try{var G=N.stateNode;d?Lh(G,!0):Lh(N.stateNode,!1)}catch(_e){We(N,N.return,_e)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;l===n&&(l=null),n=n.return}l===n&&(l=null),n.sibling.return=n.return,n=n.sibling}r&4&&(r=e.updateQueue,r!==null&&(l=r.retryQueue,l!==null&&(r.retryQueue=null,Kc(e,l))));break;case 19:sn(n,e),rn(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Kc(e,r)));break;case 30:break;case 21:break;default:sn(n,e),rn(e)}}function rn(e){var n=e.flags;if(n&2){try{for(var l,r=e.return;r!==null;){if(Up(r)){l=r;break}r=r.return}if(l==null)throw Error(s(160));switch(l.tag){case 27:var d=l.stateNode,f=Cd(e);Yc(e,f,d);break;case 5:var y=l.stateNode;l.flags&32&&(Za(y,""),l.flags&=-33);var S=Cd(e);Yc(e,S,y);break;case 3:case 4:var N=l.stateNode.containerInfo,z=Cd(e);Ad(e,z,N);break;default:throw Error(s(161))}}catch(Q){We(e,e.return,Q)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function Zp(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var n=e;Zp(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),e=e.sibling}}function za(e,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)Gp(e,n.alternate,n),n=n.sibling}function ti(e){for(e=e.child;e!==null;){var n=e;switch(n.tag){case 0:case 11:case 14:case 15:cl(4,n,n.return),ti(n);break;case 1:ca(n,n.return);var l=n.stateNode;typeof l.componentWillUnmount=="function"&&Lp(n,n.return,l),ti(n);break;case 27:yr(n.stateNode);case 26:case 5:ca(n,n.return),ti(n);break;case 22:n.memoizedState===null&&ti(n);break;case 30:ti(n);break;default:ti(n)}e=e.sibling}}function Oa(e,n,l){for(l=l&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var r=n.alternate,d=e,f=n,y=f.flags;switch(f.tag){case 0:case 11:case 15:Oa(d,f,l),cr(4,f);break;case 1:if(Oa(d,f,l),r=f,d=r.stateNode,typeof d.componentDidMount=="function")try{d.componentDidMount()}catch(z){We(r,r.return,z)}if(r=f,d=r.updateQueue,d!==null){var S=r.stateNode;try{var N=d.shared.hiddenCallbacks;if(N!==null)for(d.shared.hiddenCallbacks=null,d=0;d<N.length;d++)C_(N[d],S)}catch(z){We(r,r.return,z)}}l&&y&64&&qp(f),or(f,f.return);break;case 27:Hp(f);case 26:case 5:Oa(d,f,l),l&&r===null&&y&4&&Bp(f),or(f,f.return);break;case 12:Oa(d,f,l);break;case 31:Oa(d,f,l),l&&y&4&&Qp(d,f);break;case 13:Oa(d,f,l),l&&y&4&&Vp(d,f);break;case 22:f.memoizedState===null&&Oa(d,f,l),or(f,f.return);break;case 30:break;default:Oa(d,f,l)}n=n.sibling}}function Ed(e,n){var l=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),e=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(e=n.memoizedState.cachePool.pool),e!==l&&(e!=null&&e.refCount++,l!=null&&Zs(l))}function Td(e,n){e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&Zs(e))}function Qn(e,n,l,r){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)Jp(e,n,l,r),n=n.sibling}function Jp(e,n,l,r){var d=n.flags;switch(n.tag){case 0:case 11:case 15:Qn(e,n,l,r),d&2048&&cr(9,n);break;case 1:Qn(e,n,l,r);break;case 3:Qn(e,n,l,r),d&2048&&(e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&Zs(e)));break;case 12:if(d&2048){Qn(e,n,l,r),e=n.stateNode;try{var f=n.memoizedProps,y=f.id,S=f.onPostCommit;typeof S=="function"&&S(y,n.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(N){We(n,n.return,N)}}else Qn(e,n,l,r);break;case 31:Qn(e,n,l,r);break;case 13:Qn(e,n,l,r);break;case 23:break;case 22:f=n.stateNode,y=n.alternate,n.memoizedState!==null?f._visibility&2?Qn(e,n,l,r):ur(e,n):f._visibility&2?Qn(e,n,l,r):(f._visibility|=2,Fi(e,n,l,r,(n.subtreeFlags&10256)!==0||!1)),d&2048&&Ed(y,n);break;case 24:Qn(e,n,l,r),d&2048&&Td(n.alternate,n);break;default:Qn(e,n,l,r)}}function Fi(e,n,l,r,d){for(d=d&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var f=e,y=n,S=l,N=r,z=y.flags;switch(y.tag){case 0:case 11:case 15:Fi(f,y,S,N,d),cr(8,y);break;case 23:break;case 22:var Q=y.stateNode;y.memoizedState!==null?Q._visibility&2?Fi(f,y,S,N,d):ur(f,y):(Q._visibility|=2,Fi(f,y,S,N,d)),d&&z&2048&&Ed(y.alternate,y);break;case 24:Fi(f,y,S,N,d),d&&z&2048&&Td(y.alternate,y);break;default:Fi(f,y,S,N,d)}n=n.sibling}}function ur(e,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var l=e,r=n,d=r.flags;switch(r.tag){case 22:ur(l,r),d&2048&&Ed(r.alternate,r);break;case 24:ur(l,r),d&2048&&Td(r.alternate,r);break;default:ur(l,r)}n=n.sibling}}var dr=8192;function Pi(e,n,l){if(e.subtreeFlags&dr)for(e=e.child;e!==null;)Fp(e,n,l),e=e.sibling}function Fp(e,n,l){switch(e.tag){case 26:Pi(e,n,l),e.flags&dr&&e.memoizedState!==null&&z0(l,Kn,e.memoizedState,e.memoizedProps);break;case 5:Pi(e,n,l);break;case 3:case 4:var r=Kn;Kn=io(e.stateNode.containerInfo),Pi(e,n,l),Kn=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=dr,dr=16777216,Pi(e,n,l),dr=r):Pi(e,n,l));break;default:Pi(e,n,l)}}function Pp(e){var n=e.alternate;if(n!==null&&(e=n.child,e!==null)){n.child=null;do n=e.sibling,e.sibling=null,e=n;while(e!==null)}}function fr(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var l=0;l<n.length;l++){var r=n[l];zt=r,eh(r,e)}Pp(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Wp(e),e=e.sibling}function Wp(e){switch(e.tag){case 0:case 11:case 15:fr(e),e.flags&2048&&cl(9,e,e.return);break;case 3:fr(e);break;case 12:fr(e);break;case 22:var n=e.stateNode;e.memoizedState!==null&&n._visibility&2&&(e.return===null||e.return.tag!==13)?(n._visibility&=-3,Qc(e)):fr(e);break;default:fr(e)}}function Qc(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var l=0;l<n.length;l++){var r=n[l];zt=r,eh(r,e)}Pp(e)}for(e=e.child;e!==null;){switch(n=e,n.tag){case 0:case 11:case 15:cl(8,n,n.return),Qc(n);break;case 22:l=n.stateNode,l._visibility&2&&(l._visibility&=-3,Qc(n));break;default:Qc(n)}e=e.sibling}}function eh(e,n){for(;zt!==null;){var l=zt;switch(l.tag){case 0:case 11:case 15:cl(8,l,n);break;case 23:case 22:if(l.memoizedState!==null&&l.memoizedState.cachePool!==null){var r=l.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Zs(l.memoizedState.cache)}if(r=l.child,r!==null)r.return=l,zt=r;else e:for(l=e;zt!==null;){r=zt;var d=r.sibling,f=r.return;if(Yp(r),r===l){zt=null;break e}if(d!==null){d.return=f,zt=d;break e}zt=f}}}var Jb={getCacheForType:function(e){var n=Ut(Ct),l=n.data.get(e);return l===void 0&&(l=e(),n.data.set(e,l)),l},cacheSignal:function(){return Ut(Ct).controller.signal}},Fb=typeof WeakMap=="function"?WeakMap:Map,Je=0,lt=null,ze=null,qe=0,Pe=0,pn=null,ol=!1,Wi=!1,Dd=!1,qa=0,vt=0,ul=0,ni=0,Rd=0,hn=0,es=0,mr=null,cn=null,$d=!1,Vc=0,th=0,Xc=1/0,Zc=null,dl=null,Mt=0,fl=null,ts=null,La=0,Md=0,zd=null,nh=null,_r=0,Od=null;function gn(){return(Je&2)!==0&&qe!==0?qe&-qe:H.T!==null?Id():Pr()}function ah(){if(hn===0)if((qe&536870912)===0||He){var e=Ze;Ze<<=1,(Ze&3932160)===0&&(Ze=262144),hn=e}else hn=536870912;return e=mn.current,e!==null&&(e.flags|=32),hn}function on(e,n,l){(e===lt&&(Pe===2||Pe===9)||e.cancelPendingCommit!==null)&&(ns(e,0),ml(e,qe,hn,!1)),ya(e,l),((Je&2)===0||e!==lt)&&(e===lt&&((Je&2)===0&&(ni|=l),vt===4&&ml(e,qe,hn,!1)),oa(e))}function lh(e,n,l){if((Je&6)!==0)throw Error(s(327));var r=!l&&(n&127)===0&&(n&e.expiredLanes)===0||Rt(e,n),d=r?e0(e,n):Ld(e,n,!0),f=r;do{if(d===0){Wi&&!r&&ml(e,n,0,!1);break}else{if(l=e.current.alternate,f&&!Pb(l)){d=Ld(e,n,!1),f=!1;continue}if(d===2){if(f=n,e.errorRecoveryDisabledLanes&f)var y=0;else y=e.pendingLanes&-536870913,y=y!==0?y:y&536870912?536870912:0;if(y!==0){n=y;e:{var S=e;d=mr;var N=S.current.memoizedState.isDehydrated;if(N&&(ns(S,y).flags|=256),y=Ld(S,y,!1),y!==2){if(Dd&&!N){S.errorRecoveryDisabledLanes|=f,ni|=f,d=4;break e}f=cn,cn=d,f!==null&&(cn===null?cn=f:cn.push.apply(cn,f))}d=y}if(f=!1,d!==2)continue}}if(d===1){ns(e,0),ml(e,n,0,!0);break}e:{switch(r=e,f=d,f){case 0:case 1:throw Error(s(345));case 4:if((n&4194048)!==n)break;case 6:ml(r,n,hn,!ol);break e;case 2:cn=null;break;case 3:case 5:break;default:throw Error(s(329))}if((n&62914560)===n&&(d=Vc+300-Kt(),10<d)){if(ml(r,n,hn,!ol),tn(r,0,!0)!==0)break e;La=n,r.timeoutHandle=zh(ih.bind(null,r,l,cn,Zc,$d,n,hn,ni,es,ol,f,"Throttled",-0,0),d);break e}ih(r,l,cn,Zc,$d,n,hn,ni,es,ol,f,null,-0,0)}}break}while(!0);oa(e)}function ih(e,n,l,r,d,f,y,S,N,z,Q,X,B,G){if(e.timeoutHandle=-1,X=n.subtreeFlags,X&8192||(X&16785408)===16785408){X={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Un},Fp(n,f,X);var _e=(f&62914560)===f?Vc-Kt():(f&4194048)===f?th-Kt():0;if(_e=O0(X,_e),_e!==null){La=f,e.cancelPendingCommit=_e(mh.bind(null,e,n,f,l,r,d,y,S,N,Q,X,null,B,G)),ml(e,f,y,!z);return}}mh(e,n,f,l,r,d,y,S,N)}function Pb(e){for(var n=e;;){var l=n.tag;if((l===0||l===11||l===15)&&n.flags&16384&&(l=n.updateQueue,l!==null&&(l=l.stores,l!==null)))for(var r=0;r<l.length;r++){var d=l[r],f=d.getSnapshot;d=d.value;try{if(!dn(f(),d))return!1}catch{return!1}}if(l=n.child,n.subtreeFlags&16384&&l!==null)l.return=n,n=l;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function ml(e,n,l,r){n&=~Rd,n&=~ni,e.suspendedLanes|=n,e.pingedLanes&=~n,r&&(e.warmLanes|=n),r=e.expirationTimes;for(var d=n;0<d;){var f=31-Jt(d),y=1<<f;r[f]=-1,d&=~y}l!==0&&Fr(e,l,n)}function Jc(){return(Je&6)===0?(pr(0),!1):!0}function qd(){if(ze!==null){if(Pe===0)var e=ze.return;else e=ze,Aa=Vl=null,Wu(e),Qi=null,Fs=0,e=ze;for(;e!==null;)Op(e.alternate,e),e=e.return;ze=null}}function ns(e,n){var l=e.timeoutHandle;l!==-1&&(e.timeoutHandle=-1,y0(l)),l=e.cancelPendingCommit,l!==null&&(e.cancelPendingCommit=null,l()),La=0,qd(),lt=e,ze=l=ja(e.current,null),qe=n,Pe=0,pn=null,ol=!1,Wi=Rt(e,n),Dd=!1,es=hn=Rd=ni=ul=vt=0,cn=mr=null,$d=!1,(n&8)!==0&&(n|=n&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=n;0<r;){var d=31-Jt(r),f=1<<d;n|=e[d],r&=~f}return qa=n,gc(),l}function sh(e,n){De=null,H.H=ir,n===Ki||n===jc?(n=x_(),Pe=3):n===Hu?(n=x_(),Pe=4):Pe=n===pd?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,pn=n,ze===null&&(vt=1,Bc(e,Cn(n,e.current)))}function rh(){var e=mn.current;return e===null?!0:(qe&4194048)===qe?Tn===null:(qe&62914560)===qe||(qe&536870912)!==0?e===Tn:!1}function ch(){var e=H.H;return H.H=ir,e===null?ir:e}function oh(){var e=H.A;return H.A=Jb,e}function Fc(){vt=4,ol||(qe&4194048)!==qe&&mn.current!==null||(Wi=!0),(ul&134217727)===0&&(ni&134217727)===0||lt===null||ml(lt,qe,hn,!1)}function Ld(e,n,l){var r=Je;Je|=2;var d=ch(),f=oh();(lt!==e||qe!==n)&&(Zc=null,ns(e,n)),n=!1;var y=vt;e:do try{if(Pe!==0&&ze!==null){var S=ze,N=pn;switch(Pe){case 8:qd(),y=6;break e;case 3:case 2:case 9:case 6:mn.current===null&&(n=!0);var z=Pe;if(Pe=0,pn=null,as(e,S,N,z),l&&Wi){y=0;break e}break;default:z=Pe,Pe=0,pn=null,as(e,S,N,z)}}Wb(),y=vt;break}catch(Q){sh(e,Q)}while(!0);return n&&e.shellSuspendCounter++,Aa=Vl=null,Je=r,H.H=d,H.A=f,ze===null&&(lt=null,qe=0,gc()),y}function Wb(){for(;ze!==null;)uh(ze)}function e0(e,n){var l=Je;Je|=2;var r=ch(),d=oh();lt!==e||qe!==n?(Zc=null,Xc=Kt()+500,ns(e,n)):Wi=Rt(e,n);e:do try{if(Pe!==0&&ze!==null){n=ze;var f=pn;t:switch(Pe){case 1:Pe=0,pn=null,as(e,n,f,1);break;case 2:case 9:if(b_(f)){Pe=0,pn=null,dh(n);break}n=function(){Pe!==2&&Pe!==9||lt!==e||(Pe=7),oa(e)},f.then(n,n);break e;case 3:Pe=7;break e;case 4:Pe=5;break e;case 7:b_(f)?(Pe=0,pn=null,dh(n)):(Pe=0,pn=null,as(e,n,f,7));break;case 5:var y=null;switch(ze.tag){case 26:y=ze.memoizedState;case 5:case 27:var S=ze;if(y?Jh(y):S.stateNode.complete){Pe=0,pn=null;var N=S.sibling;if(N!==null)ze=N;else{var z=S.return;z!==null?(ze=z,Pc(z)):ze=null}break t}}Pe=0,pn=null,as(e,n,f,5);break;case 6:Pe=0,pn=null,as(e,n,f,6);break;case 8:qd(),vt=6;break e;default:throw Error(s(462))}}t0();break}catch(Q){sh(e,Q)}while(!0);return Aa=Vl=null,H.H=r,H.A=d,Je=l,ze!==null?0:(lt=null,qe=0,gc(),vt)}function t0(){for(;ze!==null&&!Xr();)uh(ze)}function uh(e){var n=Mp(e.alternate,e,qa);e.memoizedProps=e.pendingProps,n===null?Pc(e):ze=n}function dh(e){var n=e,l=n.alternate;switch(n.tag){case 15:case 0:n=Np(l,n,n.pendingProps,n.type,void 0,qe);break;case 11:n=Np(l,n,n.pendingProps,n.type.render,n.ref,qe);break;case 5:Wu(n);default:Op(l,n),n=ze=o_(n,qa),n=Mp(l,n,qa)}e.memoizedProps=e.pendingProps,n===null?Pc(e):ze=n}function as(e,n,l,r){Aa=Vl=null,Wu(n),Qi=null,Fs=0;var d=n.return;try{if(Gb(e,d,n,l,qe)){vt=1,Bc(e,Cn(l,e.current)),ze=null;return}}catch(f){if(d!==null)throw ze=d,f;vt=1,Bc(e,Cn(l,e.current)),ze=null;return}n.flags&32768?(He||r===1?e=!0:Wi||(qe&536870912)!==0?e=!1:(ol=e=!0,(r===2||r===9||r===3||r===6)&&(r=mn.current,r!==null&&r.tag===13&&(r.flags|=16384))),fh(n,e)):Pc(n)}function Pc(e){var n=e;do{if((n.flags&32768)!==0){fh(n,ol);return}e=n.return;var l=Qb(n.alternate,n,qa);if(l!==null){ze=l;return}if(n=n.sibling,n!==null){ze=n;return}ze=n=e}while(n!==null);vt===0&&(vt=5)}function fh(e,n){do{var l=Vb(e.alternate,e);if(l!==null){l.flags&=32767,ze=l;return}if(l=e.return,l!==null&&(l.flags|=32768,l.subtreeFlags=0,l.deletions=null),!n&&(e=e.sibling,e!==null)){ze=e;return}ze=e=l}while(e!==null);vt=6,ze=null}function mh(e,n,l,r,d,f,y,S,N){e.cancelPendingCommit=null;do Wc();while(Mt!==0);if((Je&6)!==0)throw Error(s(327));if(n!==null){if(n===e.current)throw Error(s(177));if(f=n.lanes|n.childLanes,f|=Cu,Pt(e,l,f,y,S,N),e===lt&&(ze=lt=null,qe=0),ts=n,fl=e,La=l,Md=f,zd=d,nh=r,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,i0(Va,function(){return yh(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||r){r=H.T,H.T=null,d=Z.p,Z.p=2,y=Je,Je|=4;try{Xb(e,n,l)}finally{Je=y,Z.p=d,H.T=r}}Mt=1,_h(),ph(),hh()}}function _h(){if(Mt===1){Mt=0;var e=fl,n=ts,l=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||l){l=H.T,H.T=null;var r=Z.p;Z.p=2;var d=Je;Je|=4;try{Xp(n,e);var f=Jd,y=e_(e.containerInfo),S=f.focusedElem,N=f.selectionRange;if(y!==S&&S&&S.ownerDocument&&Wm(S.ownerDocument.documentElement,S)){if(N!==null&&ku(S)){var z=N.start,Q=N.end;if(Q===void 0&&(Q=z),"selectionStart"in S)S.selectionStart=z,S.selectionEnd=Math.min(Q,S.value.length);else{var X=S.ownerDocument||document,B=X&&X.defaultView||window;if(B.getSelection){var G=B.getSelection(),_e=S.textContent.length,je=Math.min(N.start,_e),at=N.end===void 0?je:Math.min(N.end,_e);!G.extend&&je>at&&(y=at,at=je,je=y);var D=Pm(S,je),T=Pm(S,at);if(D&&T&&(G.rangeCount!==1||G.anchorNode!==D.node||G.anchorOffset!==D.offset||G.focusNode!==T.node||G.focusOffset!==T.offset)){var M=X.createRange();M.setStart(D.node,D.offset),G.removeAllRanges(),je>at?(G.addRange(M),G.extend(T.node,T.offset)):(M.setEnd(T.node,T.offset),G.addRange(M))}}}}for(X=[],G=S;G=G.parentNode;)G.nodeType===1&&X.push({element:G,left:G.scrollLeft,top:G.scrollTop});for(typeof S.focus=="function"&&S.focus(),S=0;S<X.length;S++){var V=X[S];V.element.scrollLeft=V.left,V.element.scrollTop=V.top}}fo=!!Zd,Jd=Zd=null}finally{Je=d,Z.p=r,H.T=l}}e.current=n,Mt=2}}function ph(){if(Mt===2){Mt=0;var e=fl,n=ts,l=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||l){l=H.T,H.T=null;var r=Z.p;Z.p=2;var d=Je;Je|=4;try{Gp(e,n.alternate,n)}finally{Je=d,Z.p=r,H.T=l}}Mt=3}}function hh(){if(Mt===4||Mt===3){Mt=0,js();var e=fl,n=ts,l=La,r=nh;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?Mt=5:(Mt=0,ts=fl=null,gh(e,e.pendingLanes));var d=e.pendingLanes;if(d===0&&(dl=null),zl(l),n=n.stateNode,qt&&typeof qt.onCommitFiberRoot=="function")try{qt.onCommitFiberRoot(Ml,n,void 0,(n.current.flags&128)===128)}catch{}if(r!==null){n=H.T,d=Z.p,Z.p=2,H.T=null;try{for(var f=e.onRecoverableError,y=0;y<r.length;y++){var S=r[y];f(S.value,{componentStack:S.stack})}}finally{H.T=n,Z.p=d}}(La&3)!==0&&Wc(),oa(e),d=e.pendingLanes,(l&261930)!==0&&(d&42)!==0?e===Od?_r++:(_r=0,Od=e):_r=0,pr(0)}}function gh(e,n){(e.pooledCacheLanes&=n)===0&&(n=e.pooledCache,n!=null&&(e.pooledCache=null,Zs(n)))}function Wc(){return _h(),ph(),hh(),yh()}function yh(){if(Mt!==5)return!1;var e=fl,n=Md;Md=0;var l=zl(La),r=H.T,d=Z.p;try{Z.p=32>l?32:l,H.T=null,l=zd,zd=null;var f=fl,y=La;if(Mt=0,ts=fl=null,La=0,(Je&6)!==0)throw Error(s(331));var S=Je;if(Je|=4,Wp(f.current),Jp(f,f.current,y,l),Je=S,pr(0,!1),qt&&typeof qt.onPostCommitFiberRoot=="function")try{qt.onPostCommitFiberRoot(Ml,f)}catch{}return!0}finally{Z.p=d,H.T=r,gh(e,n)}}function vh(e,n,l){n=Cn(l,n),n=_d(e.stateNode,n,2),e=il(e,n,2),e!==null&&(ya(e,2),oa(e))}function We(e,n,l){if(e.tag===3)vh(e,e,l);else for(;n!==null;){if(n.tag===3){vh(n,e,l);break}else if(n.tag===1){var r=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(dl===null||!dl.has(r))){e=Cn(l,e),l=bp(2),r=il(n,l,2),r!==null&&(kp(l,r,n,e),ya(r,2),oa(r));break}}n=n.return}}function Bd(e,n,l){var r=e.pingCache;if(r===null){r=e.pingCache=new Fb;var d=new Set;r.set(n,d)}else d=r.get(n),d===void 0&&(d=new Set,r.set(n,d));d.has(l)||(Dd=!0,d.add(l),e=n0.bind(null,e,n,l),n.then(e,e))}function n0(e,n,l){var r=e.pingCache;r!==null&&r.delete(n),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,lt===e&&(qe&l)===l&&(vt===4||vt===3&&(qe&62914560)===qe&&300>Kt()-Vc?(Je&2)===0&&ns(e,0):Rd|=l,es===qe&&(es=0)),oa(e)}function bh(e,n){n===0&&(n=ea()),e=Yl(e,n),e!==null&&(ya(e,n),oa(e))}function a0(e){var n=e.memoizedState,l=0;n!==null&&(l=n.retryLane),bh(e,l)}function l0(e,n){var l=0;switch(e.tag){case 31:case 13:var r=e.stateNode,d=e.memoizedState;d!==null&&(l=d.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}r!==null&&r.delete(n),bh(e,l)}function i0(e,n){return gi(e,n)}var eo=null,ls=null,Ud=!1,to=!1,Hd=!1,_l=0;function oa(e){e!==ls&&e.next===null&&(ls===null?eo=ls=e:ls=ls.next=e),to=!0,Ud||(Ud=!0,r0())}function pr(e,n){if(!Hd&&to){Hd=!0;do for(var l=!1,r=eo;r!==null;){if(e!==0){var d=r.pendingLanes;if(d===0)var f=0;else{var y=r.suspendedLanes,S=r.pingedLanes;f=(1<<31-Jt(42|e)+1)-1,f&=d&~(y&~S),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(l=!0,wh(r,f))}else f=qe,f=tn(r,r===lt?f:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(f&3)===0||Rt(r,f)||(l=!0,wh(r,f));r=r.next}while(l);Hd=!1}}function s0(){kh()}function kh(){to=Ud=!1;var e=0;_l!==0&&g0()&&(e=_l);for(var n=Kt(),l=null,r=eo;r!==null;){var d=r.next,f=xh(r,n);f===0?(r.next=null,l===null?eo=d:l.next=d,d===null&&(ls=l)):(l=r,(e!==0||(f&3)!==0)&&(to=!0)),r=d}Mt!==0&&Mt!==5||pr(e),_l!==0&&(_l=0)}function xh(e,n){for(var l=e.suspendedLanes,r=e.pingedLanes,d=e.expirationTimes,f=e.pendingLanes&-62914561;0<f;){var y=31-Jt(f),S=1<<y,N=d[y];N===-1?((S&l)===0||(S&r)!==0)&&(d[y]=bi(S,n)):N<=n&&(e.expiredLanes|=S),f&=~S}if(n=lt,l=qe,l=tn(e,e===n?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,l===0||e===n&&(Pe===2||Pe===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&yi(r),e.callbackNode=null,e.callbackPriority=0;if((l&3)===0||Rt(e,l)){if(n=l&-l,n===e.callbackPriority)return n;switch(r!==null&&yi(r),zl(l)){case 2:case 8:l=$l;break;case 32:l=Va;break;case 268435456:l=ha;break;default:l=Va}return r=Sh.bind(null,e),l=gi(l,r),e.callbackPriority=n,e.callbackNode=l,n}return r!==null&&r!==null&&yi(r),e.callbackPriority=2,e.callbackNode=null,2}function Sh(e,n){if(Mt!==0&&Mt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var l=e.callbackNode;if(Wc()&&e.callbackNode!==l)return null;var r=qe;return r=tn(e,e===lt?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(lh(e,r,n),xh(e,Kt()),e.callbackNode!=null&&e.callbackNode===l?Sh.bind(null,e):null)}function wh(e,n){if(Wc())return null;lh(e,n,!0)}function r0(){v0(function(){(Je&6)!==0?gi(Qa,s0):kh()})}function Id(){if(_l===0){var e=Gi;e===0&&(e=Wn,Wn<<=1,(Wn&261888)===0&&(Wn=256)),_l=e}return _l}function jh(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Ai(""+e)}function Ch(e,n){var l=n.ownerDocument.createElement("input");return l.name=n.name,l.value=n.value,e.id&&l.setAttribute("form",e.id),n.parentNode.insertBefore(l,n),e=new FormData(e),l.parentNode.removeChild(l),e}function c0(e,n,l,r,d){if(n==="submit"&&l&&l.stateNode===d){var f=jh((d[ft]||null).action),y=r.submitter;y&&(n=(n=y[ft]||null)?jh(n.formAction):y.getAttribute("formAction"),n!==null&&(f=n,y=null));var S=new ia("action","action",null,r,d);e.push({event:S,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(_l!==0){var N=y?Ch(d,y):new FormData(d);cd(l,{pending:!0,data:N,method:d.method,action:f},null,N)}}else typeof f=="function"&&(S.preventDefault(),N=y?Ch(d,y):new FormData(d),cd(l,{pending:!0,data:N,method:d.method,action:f},f,N))},currentTarget:d}]})}}for(var Gd=0;Gd<ju.length;Gd++){var Yd=ju[Gd],o0=Yd.toLowerCase(),u0=Yd[0].toUpperCase()+Yd.slice(1);Yn(o0,"on"+u0)}Yn(a_,"onAnimationEnd"),Yn(l_,"onAnimationIteration"),Yn(i_,"onAnimationStart"),Yn("dblclick","onDoubleClick"),Yn("focusin","onFocus"),Yn("focusout","onBlur"),Yn(Cb,"onTransitionRun"),Yn(Ab,"onTransitionStart"),Yn(Nb,"onTransitionCancel"),Yn(s_,"onTransitionEnd"),wn("onMouseEnter",["mouseout","mouseover"]),wn("onMouseLeave",["mouseout","mouseover"]),wn("onPointerEnter",["pointerout","pointerover"]),wn("onPointerLeave",["pointerout","pointerover"]),na("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),na("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),na("onBeforeInput",["compositionend","keypress","textInput","paste"]),na("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),na("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),na("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var hr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),d0=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(hr));function Ah(e,n){n=(n&4)!==0;for(var l=0;l<e.length;l++){var r=e[l],d=r.event;r=r.listeners;e:{var f=void 0;if(n)for(var y=r.length-1;0<=y;y--){var S=r[y],N=S.instance,z=S.currentTarget;if(S=S.listener,N!==f&&d.isPropagationStopped())break e;f=S,d.currentTarget=z;try{f(d)}catch(Q){hc(Q)}d.currentTarget=null,f=N}else for(y=0;y<r.length;y++){if(S=r[y],N=S.instance,z=S.currentTarget,S=S.listener,N!==f&&d.isPropagationStopped())break e;f=S,d.currentTarget=z;try{f(d)}catch(Q){hc(Q)}d.currentTarget=null,f=N}}}}function Oe(e,n){var l=n[Me];l===void 0&&(l=n[Me]=new Set);var r=e+"__bubble";l.has(r)||(Nh(n,e,2,!1),l.add(r))}function Kd(e,n,l){var r=0;n&&(r|=4),Nh(l,e,r,n)}var no="_reactListening"+Math.random().toString(36).slice(2);function Qd(e){if(!e[no]){e[no]=!0,xi.forEach(function(l){l!=="selectionchange"&&(d0.has(l)||Kd(l,!1,e),Kd(l,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[no]||(n[no]=!0,Kd("selectionchange",!1,n))}}function Nh(e,n,l,r){switch(ag(n)){case 2:var d=B0;break;case 8:d=U0;break;default:d=cf}l=d.bind(null,n,l,e),d=void 0,!zs||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(d=!0),r?d!==void 0?e.addEventListener(n,l,{capture:!0,passive:d}):e.addEventListener(n,l,!0):d!==void 0?e.addEventListener(n,l,{passive:d}):e.addEventListener(n,l,!1)}function Vd(e,n,l,r,d){var f=r;if((n&1)===0&&(n&2)===0&&r!==null)e:for(;;){if(r===null)return;var y=r.tag;if(y===3||y===4){var S=r.stateNode.containerInfo;if(S===d)break;if(y===4)for(y=r.return;y!==null;){var N=y.tag;if((N===3||N===4)&&y.stateNode.containerInfo===d)return;y=y.return}for(;S!==null;){if(y=$e(S),y===null)return;if(N=y.tag,N===5||N===6||N===26||N===27){r=f=y;continue e}S=S.parentNode}}r=r.return}ic(function(){var z=f,Q=$s(l),X=[];e:{var B=r_.get(e);if(B!==void 0){var G=ia,_e=e;switch(e){case"keypress":if(Ti(l)===0)break e;case"keydown":case"keyup":G=_c;break;case"focusin":_e="focus",G=Ri;break;case"focusout":_e="blur",G=Ri;break;case"beforeblur":case"afterblur":G=Ri;break;case"click":if(l.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":G=rc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":G=Us;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":G=pe;break;case a_:case l_:case i_:G=Is;break;case s_:G=Ke;break;case"scroll":case"scrollend":G=Ls;break;case"wheel":G=et;break;case"copy":case"cut":case"paste":G=Pa;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":G=U;break;case"toggle":case"beforetoggle":G=ct}var je=(n&4)!==0,at=!je&&(e==="scroll"||e==="scrollend"),D=je?B!==null?B+"Capture":null:B;je=[];for(var T=z,M;T!==null;){var V=T;if(M=V.stateNode,V=V.tag,V!==5&&V!==26&&V!==27||M===null||D===null||(V=Bl(T,D),V!=null&&je.push(gr(T,V,M))),at)break;T=T.return}0<je.length&&(B=new G(B,_e,null,l,Q),X.push({event:B,listeners:je}))}}if((n&7)===0){e:{if(B=e==="mouseover"||e==="pointerover",G=e==="mouseout"||e==="pointerout",B&&l!==Rs&&(_e=l.relatedTarget||l.fromElement)&&($e(_e)||_e[Qe]))break e;if((G||B)&&(B=Q.window===Q?Q:(B=Q.ownerDocument)?B.defaultView||B.parentWindow:window,G?(_e=l.relatedTarget||l.toElement,G=z,_e=_e?$e(_e):null,_e!==null&&(at=u(_e),je=_e.tag,_e!==at||je!==5&&je!==27&&je!==6)&&(_e=null)):(G=null,_e=z),G!==_e)){if(je=rc,V="onMouseLeave",D="onMouseEnter",T="mouse",(e==="pointerout"||e==="pointerover")&&(je=U,V="onPointerLeave",D="onPointerEnter",T="pointer"),at=G==null?B:jt(G),M=_e==null?B:jt(_e),B=new je(V,T+"leave",G,l,Q),B.target=at,B.relatedTarget=M,V=null,$e(Q)===z&&(je=new je(D,T+"enter",_e,l,Q),je.target=M,je.relatedTarget=at,V=je),at=V,G&&_e)t:{for(je=f0,D=G,T=_e,M=0,V=D;V;V=je(V))M++;V=0;for(var ke=T;ke;ke=je(ke))V++;for(;0<M-V;)D=je(D),M--;for(;0<V-M;)T=je(T),V--;for(;M--;){if(D===T||T!==null&&D===T.alternate){je=D;break t}D=je(D),T=je(T)}je=null}else je=null;G!==null&&Eh(X,B,G,je,!1),_e!==null&&at!==null&&Eh(X,at,_e,je,!0)}}e:{if(B=z?jt(z):window,G=B.nodeName&&B.nodeName.toLowerCase(),G==="select"||G==="input"&&B.type==="file")var Ve=Qm;else if(Ym(B))if(Vm)Ve=Sb;else{Ve=kb;var ye=bb}else G=B.nodeName,!G||G.toLowerCase()!=="input"||B.type!=="checkbox"&&B.type!=="radio"?z&&lc(z.elementType)&&(Ve=Qm):Ve=xb;if(Ve&&(Ve=Ve(e,z))){Km(X,Ve,l,Q);break e}ye&&ye(e,B,z),e==="focusout"&&z&&B.type==="number"&&z.memoizedProps.value!=null&&Ci(B,"number",B.value)}switch(ye=z?jt(z):window,e){case"focusin":(Ym(ye)||ye.contentEditable==="true")&&(zi=ye,xu=z,Qs=null);break;case"focusout":Qs=xu=zi=null;break;case"mousedown":Su=!0;break;case"contextmenu":case"mouseup":case"dragend":Su=!1,t_(X,l,Q);break;case"selectionchange":if(jb)break;case"keydown":case"keyup":t_(X,l,Q)}var Re;if(an)e:{switch(e){case"compositionstart":var Le="onCompositionStart";break e;case"compositionend":Le="onCompositionEnd";break e;case"compositionupdate":Le="onCompositionUpdate";break e}Le=void 0}else Mi?Im(e,l)&&(Le="onCompositionEnd"):e==="keydown"&&l.keyCode===229&&(Le="onCompositionStart");Le&&(Bm&&l.locale!=="ko"&&(Mi||Le!=="onCompositionStart"?Le==="onCompositionEnd"&&Mi&&(Re=sc()):(la=Q,Os="value"in la?la.value:la.textContent,Mi=!0)),ye=ao(z,Le),0<ye.length&&(Le=new oc(Le,e,null,l,Q),X.push({event:Le,listeners:ye}),Re?Le.data=Re:(Re=Gm(l),Re!==null&&(Le.data=Re)))),(Re=pb?hb(e,l):gb(e,l))&&(Le=ao(z,"onBeforeInput"),0<Le.length&&(ye=new oc("onBeforeInput","beforeinput",null,l,Q),X.push({event:ye,listeners:Le}),ye.data=Re)),c0(X,e,z,l,Q)}Ah(X,n)})}function gr(e,n,l){return{instance:e,listener:n,currentTarget:l}}function ao(e,n){for(var l=n+"Capture",r=[];e!==null;){var d=e,f=d.stateNode;if(d=d.tag,d!==5&&d!==26&&d!==27||f===null||(d=Bl(e,l),d!=null&&r.unshift(gr(e,d,f)),d=Bl(e,n),d!=null&&r.push(gr(e,d,f))),e.tag===3)return r;e=e.return}return[]}function f0(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Eh(e,n,l,r,d){for(var f=n._reactName,y=[];l!==null&&l!==r;){var S=l,N=S.alternate,z=S.stateNode;if(S=S.tag,N!==null&&N===r)break;S!==5&&S!==26&&S!==27||z===null||(N=z,d?(z=Bl(l,f),z!=null&&y.unshift(gr(l,z,N))):d||(z=Bl(l,f),z!=null&&y.push(gr(l,z,N)))),l=l.return}y.length!==0&&e.push({event:n,listeners:y})}var m0=/\r\n?/g,_0=/\u0000|\uFFFD/g;function Th(e){return(typeof e=="string"?e:""+e).replace(m0,`
|
||
`).replace(_0,"")}function Dh(e,n){return n=Th(n),Th(e)===n}function nt(e,n,l,r,d,f){switch(l){case"children":typeof r=="string"?n==="body"||n==="textarea"&&r===""||Za(e,r):(typeof r=="number"||typeof r=="bigint")&&n!=="body"&&Za(e,""+r);break;case"className":Lt(e,"class",r);break;case"tabIndex":Lt(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":Lt(e,l,r);break;case"style":Ds(e,r,f);break;case"data":if(n!=="object"){Lt(e,"data",r);break}case"src":case"href":if(r===""&&(n!=="a"||l!=="href")){e.removeAttribute(l);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(l);break}r=Ai(""+r),e.setAttribute(l,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(l,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof f=="function"&&(l==="formAction"?(n!=="input"&&nt(e,n,"name",d.name,d,null),nt(e,n,"formEncType",d.formEncType,d,null),nt(e,n,"formMethod",d.formMethod,d,null),nt(e,n,"formTarget",d.formTarget,d,null)):(nt(e,n,"encType",d.encType,d,null),nt(e,n,"method",d.method,d,null),nt(e,n,"target",d.target,d,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(l);break}r=Ai(""+r),e.setAttribute(l,r);break;case"onClick":r!=null&&(e.onclick=Un);break;case"onScroll":r!=null&&Oe("scroll",e);break;case"onScrollEnd":r!=null&&Oe("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(s(61));if(l=r.__html,l!=null){if(d.children!=null)throw Error(s(60));e.innerHTML=l}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}l=Ai(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(l,""+r):e.removeAttribute(l);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(l,""):e.removeAttribute(l);break;case"capture":case"download":r===!0?e.setAttribute(l,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(l,r):e.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(l,r):e.removeAttribute(l);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(l):e.setAttribute(l,r);break;case"popover":Oe("beforetoggle",e),Oe("toggle",e),Si(e,"popover",r);break;case"xlinkActuate":Bn(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":Bn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":Bn(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":Bn(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":Bn(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":Bn(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":Bn(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":Bn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":Bn(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":Si(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<l.length)||l[0]!=="o"&&l[0]!=="O"||l[1]!=="n"&&l[1]!=="N")&&(l=Ll.get(l)||l,Si(e,l,r))}}function Xd(e,n,l,r,d,f){switch(l){case"style":Ds(e,r,f);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(s(61));if(l=r.__html,l!=null){if(d.children!=null)throw Error(s(60));e.innerHTML=l}}break;case"children":typeof r=="string"?Za(e,r):(typeof r=="number"||typeof r=="bigint")&&Za(e,""+r);break;case"onScroll":r!=null&&Oe("scroll",e);break;case"onScrollEnd":r!=null&&Oe("scrollend",e);break;case"onClick":r!=null&&(e.onclick=Un);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Ne.hasOwnProperty(l))e:{if(l[0]==="o"&&l[1]==="n"&&(d=l.endsWith("Capture"),n=l.slice(2,d?l.length-7:void 0),f=e[ft]||null,f=f!=null?f[l]:null,typeof f=="function"&&e.removeEventListener(n,f,d),typeof r=="function")){typeof f!="function"&&f!==null&&(l in e?e[l]=null:e.hasAttribute(l)&&e.removeAttribute(l)),e.addEventListener(n,r,d);break e}l in e?e[l]=r:r===!0?e.setAttribute(l,""):Si(e,l,r)}}}function It(e,n,l){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Oe("error",e),Oe("load",e);var r=!1,d=!1,f;for(f in l)if(l.hasOwnProperty(f)){var y=l[f];if(y!=null)switch(f){case"src":r=!0;break;case"srcSet":d=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(s(137,n));default:nt(e,n,f,y,l,null)}}d&&nt(e,n,"srcSet",l.srcSet,l,null),r&&nt(e,n,"src",l.src,l,null);return;case"input":Oe("invalid",e);var S=f=y=d=null,N=null,z=null;for(r in l)if(l.hasOwnProperty(r)){var Q=l[r];if(Q!=null)switch(r){case"name":d=Q;break;case"type":y=Q;break;case"checked":N=Q;break;case"defaultChecked":z=Q;break;case"value":f=Q;break;case"defaultValue":S=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(s(137,n));break;default:nt(e,n,r,Q,l,null)}}ji(e,f,S,N,z,y,d,!1);return;case"select":Oe("invalid",e),r=y=f=null;for(d in l)if(l.hasOwnProperty(d)&&(S=l[d],S!=null))switch(d){case"value":f=S;break;case"defaultValue":y=S;break;case"multiple":r=S;default:nt(e,n,d,S,l,null)}n=f,l=y,e.multiple=!!r,n!=null?ka(e,!!r,n,!1):l!=null&&ka(e,!!r,l,!0);return;case"textarea":Oe("invalid",e),f=d=r=null;for(y in l)if(l.hasOwnProperty(y)&&(S=l[y],S!=null))switch(y){case"value":r=S;break;case"defaultValue":d=S;break;case"children":f=S;break;case"dangerouslySetInnerHTML":if(S!=null)throw Error(s(91));break;default:nt(e,n,y,S,l,null)}Ts(e,r,d,f);return;case"option":for(N in l)if(l.hasOwnProperty(N)&&(r=l[N],r!=null))switch(N){case"selected":e.selected=r&&typeof r!="function"&&typeof r!="symbol";break;default:nt(e,n,N,r,l,null)}return;case"dialog":Oe("beforetoggle",e),Oe("toggle",e),Oe("cancel",e),Oe("close",e);break;case"iframe":case"object":Oe("load",e);break;case"video":case"audio":for(r=0;r<hr.length;r++)Oe(hr[r],e);break;case"image":Oe("error",e),Oe("load",e);break;case"details":Oe("toggle",e);break;case"embed":case"source":case"link":Oe("error",e),Oe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(z in l)if(l.hasOwnProperty(z)&&(r=l[z],r!=null))switch(z){case"children":case"dangerouslySetInnerHTML":throw Error(s(137,n));default:nt(e,n,z,r,l,null)}return;default:if(lc(n)){for(Q in l)l.hasOwnProperty(Q)&&(r=l[Q],r!==void 0&&Xd(e,n,Q,r,l,void 0));return}}for(S in l)l.hasOwnProperty(S)&&(r=l[S],r!=null&&nt(e,n,S,r,l,null))}function p0(e,n,l,r){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var d=null,f=null,y=null,S=null,N=null,z=null,Q=null;for(G in l){var X=l[G];if(l.hasOwnProperty(G)&&X!=null)switch(G){case"checked":break;case"value":break;case"defaultValue":N=X;default:r.hasOwnProperty(G)||nt(e,n,G,null,r,X)}}for(var B in r){var G=r[B];if(X=l[B],r.hasOwnProperty(B)&&(G!=null||X!=null))switch(B){case"type":f=G;break;case"name":d=G;break;case"checked":z=G;break;case"defaultChecked":Q=G;break;case"value":y=G;break;case"defaultValue":S=G;break;case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(s(137,n));break;default:G!==X&&nt(e,n,B,G,r,X)}}wi(e,y,S,N,z,Q,f,d);return;case"select":G=y=S=B=null;for(f in l)if(N=l[f],l.hasOwnProperty(f)&&N!=null)switch(f){case"value":break;case"multiple":G=N;default:r.hasOwnProperty(f)||nt(e,n,f,null,r,N)}for(d in r)if(f=r[d],N=l[d],r.hasOwnProperty(d)&&(f!=null||N!=null))switch(d){case"value":B=f;break;case"defaultValue":S=f;break;case"multiple":y=f;default:f!==N&&nt(e,n,d,f,r,N)}n=S,l=y,r=G,B!=null?ka(e,!!l,B,!1):!!r!=!!l&&(n!=null?ka(e,!!l,n,!0):ka(e,!!l,l?[]:"",!1));return;case"textarea":G=B=null;for(S in l)if(d=l[S],l.hasOwnProperty(S)&&d!=null&&!r.hasOwnProperty(S))switch(S){case"value":break;case"children":break;default:nt(e,n,S,null,r,d)}for(y in r)if(d=r[y],f=l[y],r.hasOwnProperty(y)&&(d!=null||f!=null))switch(y){case"value":B=d;break;case"defaultValue":G=d;break;case"children":break;case"dangerouslySetInnerHTML":if(d!=null)throw Error(s(91));break;default:d!==f&&nt(e,n,y,d,r,f)}tc(e,B,G);return;case"option":for(var _e in l)if(B=l[_e],l.hasOwnProperty(_e)&&B!=null&&!r.hasOwnProperty(_e))switch(_e){case"selected":e.selected=!1;break;default:nt(e,n,_e,null,r,B)}for(N in r)if(B=r[N],G=l[N],r.hasOwnProperty(N)&&B!==G&&(B!=null||G!=null))switch(N){case"selected":e.selected=B&&typeof B!="function"&&typeof B!="symbol";break;default:nt(e,n,N,B,r,G)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var je in l)B=l[je],l.hasOwnProperty(je)&&B!=null&&!r.hasOwnProperty(je)&&nt(e,n,je,null,r,B);for(z in r)if(B=r[z],G=l[z],r.hasOwnProperty(z)&&B!==G&&(B!=null||G!=null))switch(z){case"children":case"dangerouslySetInnerHTML":if(B!=null)throw Error(s(137,n));break;default:nt(e,n,z,B,r,G)}return;default:if(lc(n)){for(var at in l)B=l[at],l.hasOwnProperty(at)&&B!==void 0&&!r.hasOwnProperty(at)&&Xd(e,n,at,void 0,r,B);for(Q in r)B=r[Q],G=l[Q],!r.hasOwnProperty(Q)||B===G||B===void 0&&G===void 0||Xd(e,n,Q,B,r,G);return}}for(var D in l)B=l[D],l.hasOwnProperty(D)&&B!=null&&!r.hasOwnProperty(D)&&nt(e,n,D,null,r,B);for(X in r)B=r[X],G=l[X],!r.hasOwnProperty(X)||B===G||B==null&&G==null||nt(e,n,X,B,r,G)}function Rh(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function h0(){if(typeof performance.getEntriesByType=="function"){for(var e=0,n=0,l=performance.getEntriesByType("resource"),r=0;r<l.length;r++){var d=l[r],f=d.transferSize,y=d.initiatorType,S=d.duration;if(f&&S&&Rh(y)){for(y=0,S=d.responseEnd,r+=1;r<l.length;r++){var N=l[r],z=N.startTime;if(z>S)break;var Q=N.transferSize,X=N.initiatorType;Q&&Rh(X)&&(N=N.responseEnd,y+=Q*(N<S?1:(S-z)/(N-z)))}if(--r,n+=8*(f+y)/(d.duration/1e3),e++,10<e)break}}if(0<e)return n/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Zd=null,Jd=null;function lo(e){return e.nodeType===9?e:e.ownerDocument}function $h(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Mh(e,n){if(e===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&n==="foreignObject"?0:e}function Fd(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var Pd=null;function g0(){var e=window.event;return e&&e.type==="popstate"?e===Pd?!1:(Pd=e,!0):(Pd=null,!1)}var zh=typeof setTimeout=="function"?setTimeout:void 0,y0=typeof clearTimeout=="function"?clearTimeout:void 0,Oh=typeof Promise=="function"?Promise:void 0,v0=typeof queueMicrotask=="function"?queueMicrotask:typeof Oh<"u"?function(e){return Oh.resolve(null).then(e).catch(b0)}:zh;function b0(e){setTimeout(function(){throw e})}function pl(e){return e==="head"}function qh(e,n){var l=n,r=0;do{var d=l.nextSibling;if(e.removeChild(l),d&&d.nodeType===8)if(l=d.data,l==="/$"||l==="/&"){if(r===0){e.removeChild(d),cs(n);return}r--}else if(l==="$"||l==="$?"||l==="$~"||l==="$!"||l==="&")r++;else if(l==="html")yr(e.ownerDocument.documentElement);else if(l==="head"){l=e.ownerDocument.head,yr(l);for(var f=l.firstChild;f;){var y=f.nextSibling,S=f.nodeName;f[ki]||S==="SCRIPT"||S==="STYLE"||S==="LINK"&&f.rel.toLowerCase()==="stylesheet"||l.removeChild(f),f=y}}else l==="body"&&yr(e.ownerDocument.body);l=d}while(l);cs(n)}function Lh(e,n){var l=e;e=0;do{var r=l.nextSibling;if(l.nodeType===1?n?(l._stashedDisplay=l.style.display,l.style.display="none"):(l.style.display=l._stashedDisplay||"",l.getAttribute("style")===""&&l.removeAttribute("style")):l.nodeType===3&&(n?(l._stashedText=l.nodeValue,l.nodeValue=""):l.nodeValue=l._stashedText||""),r&&r.nodeType===8)if(l=r.data,l==="/$"){if(e===0)break;e--}else l!=="$"&&l!=="$?"&&l!=="$~"&&l!=="$!"||e++;l=r}while(l)}function Wd(e){var n=e.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var l=n;switch(n=n.nextSibling,l.nodeName){case"HTML":case"HEAD":case"BODY":Wd(l),Sn(l);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(l.rel.toLowerCase()==="stylesheet")continue}e.removeChild(l)}}function k0(e,n,l,r){for(;e.nodeType===1;){var d=l;if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[ki])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(f=e.getAttribute("rel"),f==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(f!==d.rel||e.getAttribute("href")!==(d.href==null||d.href===""?null:d.href)||e.getAttribute("crossorigin")!==(d.crossOrigin==null?null:d.crossOrigin)||e.getAttribute("title")!==(d.title==null?null:d.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(f=e.getAttribute("src"),(f!==(d.src==null?null:d.src)||e.getAttribute("type")!==(d.type==null?null:d.type)||e.getAttribute("crossorigin")!==(d.crossOrigin==null?null:d.crossOrigin))&&f&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(n==="input"&&e.type==="hidden"){var f=d.name==null?null:""+d.name;if(d.type==="hidden"&&e.getAttribute("name")===f)return e}else return e;if(e=Dn(e.nextSibling),e===null)break}return null}function x0(e,n,l){if(n==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!l||(e=Dn(e.nextSibling),e===null))return null;return e}function Bh(e,n){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Dn(e.nextSibling),e===null))return null;return e}function ef(e){return e.data==="$?"||e.data==="$~"}function tf(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function S0(e,n){var l=e.ownerDocument;if(e.data==="$~")e._reactRetry=n;else if(e.data!=="$?"||l.readyState!=="loading")n();else{var r=function(){n(),l.removeEventListener("DOMContentLoaded",r)};l.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function Dn(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return e}var nf=null;function Uh(e){e=e.nextSibling;for(var n=0;e;){if(e.nodeType===8){var l=e.data;if(l==="/$"||l==="/&"){if(n===0)return Dn(e.nextSibling);n--}else l!=="$"&&l!=="$!"&&l!=="$?"&&l!=="$~"&&l!=="&"||n++}e=e.nextSibling}return null}function Hh(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var l=e.data;if(l==="$"||l==="$!"||l==="$?"||l==="$~"||l==="&"){if(n===0)return e;n--}else l!=="/$"&&l!=="/&"||n++}e=e.previousSibling}return null}function Ih(e,n,l){switch(n=lo(l),e){case"html":if(e=n.documentElement,!e)throw Error(s(452));return e;case"head":if(e=n.head,!e)throw Error(s(453));return e;case"body":if(e=n.body,!e)throw Error(s(454));return e;default:throw Error(s(451))}}function yr(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);Sn(e)}var Rn=new Map,Gh=new Set;function io(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ba=Z.d;Z.d={f:w0,r:j0,D:C0,C:A0,L:N0,m:E0,X:D0,S:T0,M:R0};function w0(){var e=Ba.f(),n=Jc();return e||n}function j0(e){var n=qn(e);n!==null&&n.tag===5&&n.type==="form"?sp(n):Ba.r(e)}var is=typeof document>"u"?null:document;function Yh(e,n,l){var r=is;if(r&&typeof n=="string"&&n){var d=Vt(n);d='link[rel="'+e+'"][href="'+d+'"]',typeof l=="string"&&(d+='[crossorigin="'+l+'"]'),Gh.has(d)||(Gh.add(d),e={rel:e,crossOrigin:l,href:n},r.querySelector(d)===null&&(n=r.createElement("link"),It(n,"link",e),bt(n),r.head.appendChild(n)))}}function C0(e){Ba.D(e),Yh("dns-prefetch",e,null)}function A0(e,n){Ba.C(e,n),Yh("preconnect",e,n)}function N0(e,n,l){Ba.L(e,n,l);var r=is;if(r&&e&&n){var d='link[rel="preload"][as="'+Vt(n)+'"]';n==="image"&&l&&l.imageSrcSet?(d+='[imagesrcset="'+Vt(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(d+='[imagesizes="'+Vt(l.imageSizes)+'"]')):d+='[href="'+Vt(e)+'"]';var f=d;switch(n){case"style":f=ss(e);break;case"script":f=rs(e)}Rn.has(f)||(e=b({rel:"preload",href:n==="image"&&l&&l.imageSrcSet?void 0:e,as:n},l),Rn.set(f,e),r.querySelector(d)!==null||n==="style"&&r.querySelector(vr(f))||n==="script"&&r.querySelector(br(f))||(n=r.createElement("link"),It(n,"link",e),bt(n),r.head.appendChild(n)))}}function E0(e,n){Ba.m(e,n);var l=is;if(l&&e){var r=n&&typeof n.as=="string"?n.as:"script",d='link[rel="modulepreload"][as="'+Vt(r)+'"][href="'+Vt(e)+'"]',f=d;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=rs(e)}if(!Rn.has(f)&&(e=b({rel:"modulepreload",href:e},n),Rn.set(f,e),l.querySelector(d)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(br(f)))return}r=l.createElement("link"),It(r,"link",e),bt(r),l.head.appendChild(r)}}}function T0(e,n,l){Ba.S(e,n,l);var r=is;if(r&&e){var d=ba(r).hoistableStyles,f=ss(e);n=n||"default";var y=d.get(f);if(!y){var S={loading:0,preload:null};if(y=r.querySelector(vr(f)))S.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":n},l),(l=Rn.get(f))&&af(e,l);var N=y=r.createElement("link");bt(N),It(N,"link",e),N._p=new Promise(function(z,Q){N.onload=z,N.onerror=Q}),N.addEventListener("load",function(){S.loading|=1}),N.addEventListener("error",function(){S.loading|=2}),S.loading|=4,so(y,n,r)}y={type:"stylesheet",instance:y,count:1,state:S},d.set(f,y)}}}function D0(e,n){Ba.X(e,n);var l=is;if(l&&e){var r=ba(l).hoistableScripts,d=rs(e),f=r.get(d);f||(f=l.querySelector(br(d)),f||(e=b({src:e,async:!0},n),(n=Rn.get(d))&&lf(e,n),f=l.createElement("script"),bt(f),It(f,"link",e),l.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},r.set(d,f))}}function R0(e,n){Ba.M(e,n);var l=is;if(l&&e){var r=ba(l).hoistableScripts,d=rs(e),f=r.get(d);f||(f=l.querySelector(br(d)),f||(e=b({src:e,async:!0,type:"module"},n),(n=Rn.get(d))&&lf(e,n),f=l.createElement("script"),bt(f),It(f,"link",e),l.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},r.set(d,f))}}function Kh(e,n,l,r){var d=(d=Ce.current)?io(d):null;if(!d)throw Error(s(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(n=ss(l.href),l=ba(d).hoistableStyles,r=l.get(n),r||(r={type:"style",instance:null,count:0,state:null},l.set(n,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=ss(l.href);var f=ba(d).hoistableStyles,y=f.get(e);if(y||(d=d.ownerDocument||d,y={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(e,y),(f=d.querySelector(vr(e)))&&!f._p&&(y.instance=f,y.state.loading=5),Rn.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},Rn.set(e,l),f||$0(d,e,l,y.state))),n&&r===null)throw Error(s(528,""));return y}if(n&&r!==null)throw Error(s(529,""));return null;case"script":return n=l.async,l=l.src,typeof l=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=rs(l),l=ba(d).hoistableScripts,r=l.get(n),r||(r={type:"script",instance:null,count:0,state:null},l.set(n,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,e))}}function ss(e){return'href="'+Vt(e)+'"'}function vr(e){return'link[rel="stylesheet"]['+e+"]"}function Qh(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function $0(e,n,l,r){e.querySelector('link[rel="preload"][as="style"]['+n+"]")?r.loading=1:(n=e.createElement("link"),r.preload=n,n.addEventListener("load",function(){return r.loading|=1}),n.addEventListener("error",function(){return r.loading|=2}),It(n,"link",l),bt(n),e.head.appendChild(n))}function rs(e){return'[src="'+Vt(e)+'"]'}function br(e){return"script[async]"+e}function Vh(e,n,l){if(n.count++,n.instance===null)switch(n.type){case"style":var r=e.querySelector('style[data-href~="'+Vt(l.href)+'"]');if(r)return n.instance=r,bt(r),r;var d=b({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),bt(r),It(r,"style",d),so(r,l.precedence,e),n.instance=r;case"stylesheet":d=ss(l.href);var f=e.querySelector(vr(d));if(f)return n.state.loading|=4,n.instance=f,bt(f),f;r=Qh(l),(d=Rn.get(d))&&af(r,d),f=(e.ownerDocument||e).createElement("link"),bt(f);var y=f;return y._p=new Promise(function(S,N){y.onload=S,y.onerror=N}),It(f,"link",r),n.state.loading|=4,so(f,l.precedence,e),n.instance=f;case"script":return f=rs(l.src),(d=e.querySelector(br(f)))?(n.instance=d,bt(d),d):(r=l,(d=Rn.get(f))&&(r=b({},l),lf(r,d)),e=e.ownerDocument||e,d=e.createElement("script"),bt(d),It(d,"link",r),e.head.appendChild(d),n.instance=d);case"void":return null;default:throw Error(s(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(r=n.instance,n.state.loading|=4,so(r,l.precedence,e));return n.instance}function so(e,n,l){for(var r=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),d=r.length?r[r.length-1]:null,f=d,y=0;y<r.length;y++){var S=r[y];if(S.dataset.precedence===n)f=S;else if(f!==d)break}f?f.parentNode.insertBefore(e,f.nextSibling):(n=l.nodeType===9?l.head:l,n.insertBefore(e,n.firstChild))}function af(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.title==null&&(e.title=n.title)}function lf(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.integrity==null&&(e.integrity=n.integrity)}var ro=null;function Xh(e,n,l){if(ro===null){var r=new Map,d=ro=new Map;d.set(l,r)}else d=ro,r=d.get(l),r||(r=new Map,d.set(l,r));if(r.has(e))return r;for(r.set(e,null),l=l.getElementsByTagName(e),d=0;d<l.length;d++){var f=l[d];if(!(f[ki]||f[$t]||e==="link"&&f.getAttribute("rel")==="stylesheet")&&f.namespaceURI!=="http://www.w3.org/2000/svg"){var y=f.getAttribute(n)||"";y=e+y;var S=r.get(y);S?S.push(f):r.set(y,[f])}}return r}function Zh(e,n,l){e=e.ownerDocument||e,e.head.insertBefore(l,n==="title"?e.querySelector("head > title"):null)}function M0(e,n,l){if(l===1||n.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;switch(n.rel){case"stylesheet":return e=n.disabled,typeof n.precedence=="string"&&e==null;default:return!0}case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function Jh(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function z0(e,n,l,r){if(l.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var d=ss(r.href),f=n.querySelector(vr(d));if(f){n=f._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(e.count++,e=co.bind(e),n.then(e,e)),l.state.loading|=4,l.instance=f,bt(f);return}f=n.ownerDocument||n,r=Qh(r),(d=Rn.get(d))&&af(r,d),f=f.createElement("link"),bt(f);var y=f;y._p=new Promise(function(S,N){y.onload=S,y.onerror=N}),It(f,"link",r),l.instance=f}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,n),(n=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=co.bind(e),n.addEventListener("load",l),n.addEventListener("error",l))}}var sf=0;function O0(e,n){return e.stylesheets&&e.count===0&&uo(e,e.stylesheets),0<e.count||0<e.imgCount?function(l){var r=setTimeout(function(){if(e.stylesheets&&uo(e,e.stylesheets),e.unsuspend){var f=e.unsuspend;e.unsuspend=null,f()}},6e4+n);0<e.imgBytes&&sf===0&&(sf=62500*h0());var d=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&uo(e,e.stylesheets),e.unsuspend)){var f=e.unsuspend;e.unsuspend=null,f()}},(e.imgBytes>sf?50:800)+n);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(d)}}:null}function co(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var oo=null;function uo(e,n){e.stylesheets=null,e.unsuspend!==null&&(e.count++,oo=new Map,n.forEach(q0,e),oo=null,co.call(e))}function q0(e,n){if(!(n.state.loading&4)){var l=oo.get(e);if(l)var r=l.get(null);else{l=new Map,oo.set(e,l);for(var d=e.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f<d.length;f++){var y=d[f];(y.nodeName==="LINK"||y.getAttribute("media")!=="not all")&&(l.set(y.dataset.precedence,y),r=y)}r&&l.set(null,r)}d=n.instance,y=d.getAttribute("data-precedence"),f=l.get(y)||r,f===r&&l.set(null,d),l.set(y,d),this.count++,r=co.bind(this),d.addEventListener("load",r),d.addEventListener("error",r),f?f.parentNode.insertBefore(d,f.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(d,e.firstChild)),n.state.loading|=4}}var kr={$$typeof:I,Provider:null,Consumer:null,_currentValue:ne,_currentValue2:ne,_threadCount:0};function L0(e,n,l,r,d,f,y,S,N){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ga(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ga(0),this.hiddenUpdates=ga(null),this.identifierPrefix=r,this.onUncaughtError=d,this.onCaughtError=f,this.onRecoverableError=y,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=N,this.incompleteTransitions=new Map}function Fh(e,n,l,r,d,f,y,S,N,z,Q,X){return e=new L0(e,n,l,y,N,z,Q,X,S),n=1,f===!0&&(n|=24),f=fn(3,null,null,n),e.current=f,f.stateNode=e,n=Lu(),n.refCount++,e.pooledCache=n,n.refCount++,f.memoizedState={element:r,isDehydrated:l,cache:n},Iu(f),e}function Ph(e){return e?(e=Li,e):Li}function Wh(e,n,l,r,d,f){d=Ph(d),r.context===null?r.context=d:r.pendingContext=d,r=ll(n),r.payload={element:l},f=f===void 0?null:f,f!==null&&(r.callback=f),l=il(e,r,n),l!==null&&(on(l,e,n),Ws(l,e,n))}function eg(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var l=e.retryLane;e.retryLane=l!==0&&l<n?l:n}}function rf(e,n){eg(e,n),(e=e.alternate)&&eg(e,n)}function tg(e){if(e.tag===13||e.tag===31){var n=Yl(e,67108864);n!==null&&on(n,e,67108864),rf(e,67108864)}}function ng(e){if(e.tag===13||e.tag===31){var n=gn();n=As(n);var l=Yl(e,n);l!==null&&on(l,e,n),rf(e,n)}}var fo=!0;function B0(e,n,l,r){var d=H.T;H.T=null;var f=Z.p;try{Z.p=2,cf(e,n,l,r)}finally{Z.p=f,H.T=d}}function U0(e,n,l,r){var d=H.T;H.T=null;var f=Z.p;try{Z.p=8,cf(e,n,l,r)}finally{Z.p=f,H.T=d}}function cf(e,n,l,r){if(fo){var d=of(r);if(d===null)Vd(e,n,r,mo,l),lg(e,r);else if(I0(d,e,n,l,r))r.stopPropagation();else if(lg(e,r),n&4&&-1<H0.indexOf(e)){for(;d!==null;){var f=qn(d);if(f!==null)switch(f.tag){case 3:if(f=f.stateNode,f.current.memoizedState.isDehydrated){var y=xn(f.pendingLanes);if(y!==0){var S=f;for(S.pendingLanes|=2,S.entangledLanes|=2;y;){var N=1<<31-Jt(y);S.entanglements[1]|=N,y&=~N}oa(f),(Je&6)===0&&(Xc=Kt()+500,pr(0))}}break;case 31:case 13:S=Yl(f,2),S!==null&&on(S,f,2),Jc(),rf(f,2)}if(f=of(r),f===null&&Vd(e,n,r,mo,l),f===d)break;d=f}d!==null&&r.stopPropagation()}else Vd(e,n,r,null,l)}}function of(e){return e=$s(e),uf(e)}var mo=null;function uf(e){if(mo=null,e=$e(e),e!==null){var n=u(e);if(n===null)e=null;else{var l=n.tag;if(l===13){if(e=_(n),e!==null)return e;e=null}else if(l===31){if(e=g(n),e!==null)return e;e=null}else if(l===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null)}}return mo=e,null}function ag(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(vi()){case Qa:return 2;case $l:return 8;case Va:case kn:return 32;case ha:return 268435456;default:return 32}default:return 32}}var df=!1,hl=null,gl=null,yl=null,xr=new Map,Sr=new Map,vl=[],H0="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function lg(e,n){switch(e){case"focusin":case"focusout":hl=null;break;case"dragenter":case"dragleave":gl=null;break;case"mouseover":case"mouseout":yl=null;break;case"pointerover":case"pointerout":xr.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":Sr.delete(n.pointerId)}}function wr(e,n,l,r,d,f){return e===null||e.nativeEvent!==f?(e={blockedOn:n,domEventName:l,eventSystemFlags:r,nativeEvent:f,targetContainers:[d]},n!==null&&(n=qn(n),n!==null&&tg(n)),e):(e.eventSystemFlags|=r,n=e.targetContainers,d!==null&&n.indexOf(d)===-1&&n.push(d),e)}function I0(e,n,l,r,d){switch(n){case"focusin":return hl=wr(hl,e,n,l,r,d),!0;case"dragenter":return gl=wr(gl,e,n,l,r,d),!0;case"mouseover":return yl=wr(yl,e,n,l,r,d),!0;case"pointerover":var f=d.pointerId;return xr.set(f,wr(xr.get(f)||null,e,n,l,r,d)),!0;case"gotpointercapture":return f=d.pointerId,Sr.set(f,wr(Sr.get(f)||null,e,n,l,r,d)),!0}return!1}function ig(e){var n=$e(e.target);if(n!==null){var l=u(n);if(l!==null){if(n=l.tag,n===13){if(n=_(l),n!==null){e.blockedOn=n,Wr(e.priority,function(){ng(l)});return}}else if(n===31){if(n=g(l),n!==null){e.blockedOn=n,Wr(e.priority,function(){ng(l)});return}}else if(n===3&&l.stateNode.current.memoizedState.isDehydrated){e.blockedOn=l.tag===3?l.stateNode.containerInfo:null;return}}}e.blockedOn=null}function _o(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var l=of(e.nativeEvent);if(l===null){l=e.nativeEvent;var r=new l.constructor(l.type,l);Rs=r,l.target.dispatchEvent(r),Rs=null}else return n=qn(l),n!==null&&tg(n),e.blockedOn=l,!1;n.shift()}return!0}function sg(e,n,l){_o(e)&&l.delete(n)}function G0(){df=!1,hl!==null&&_o(hl)&&(hl=null),gl!==null&&_o(gl)&&(gl=null),yl!==null&&_o(yl)&&(yl=null),xr.forEach(sg),Sr.forEach(sg)}function po(e,n){e.blockedOn===n&&(e.blockedOn=null,df||(df=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,G0)))}var ho=null;function rg(e){ho!==e&&(ho=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){ho===e&&(ho=null);for(var n=0;n<e.length;n+=3){var l=e[n],r=e[n+1],d=e[n+2];if(typeof r!="function"){if(uf(r||l)===null)continue;break}var f=qn(l);f!==null&&(e.splice(n,3),n-=3,cd(f,{pending:!0,data:d,method:l.method,action:r},r,d))}}))}function cs(e){function n(N){return po(N,e)}hl!==null&&po(hl,e),gl!==null&&po(gl,e),yl!==null&&po(yl,e),xr.forEach(n),Sr.forEach(n);for(var l=0;l<vl.length;l++){var r=vl[l];r.blockedOn===e&&(r.blockedOn=null)}for(;0<vl.length&&(l=vl[0],l.blockedOn===null);)ig(l),l.blockedOn===null&&vl.shift();if(l=(e.ownerDocument||e).$$reactFormReplay,l!=null)for(r=0;r<l.length;r+=3){var d=l[r],f=l[r+1],y=d[ft]||null;if(typeof f=="function")y||rg(l);else if(y){var S=null;if(f&&f.hasAttribute("formAction")){if(d=f,y=f[ft]||null)S=y.formAction;else if(uf(d)!==null)continue}else S=y.action;typeof S=="function"?l[r+1]=S:(l.splice(r,3),r-=3),rg(l)}}}function cg(){function e(f){f.canIntercept&&f.info==="react-transition"&&f.intercept({handler:function(){return new Promise(function(y){return d=y})},focusReset:"manual",scroll:"manual"})}function n(){d!==null&&(d(),d=null),r||setTimeout(l,20)}function l(){if(!r&&!navigation.transition){var f=navigation.currentEntry;f&&f.url!=null&&navigation.navigate(f.url,{state:f.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,d=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(l,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),d!==null&&(d(),d=null)}}}function ff(e){this._internalRoot=e}go.prototype.render=ff.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(s(409));var l=n.current,r=gn();Wh(l,r,e,n,null,null)},go.prototype.unmount=ff.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;Wh(e.current,2,null,e,null,null),Jc(),n[Qe]=null}};function go(e){this._internalRoot=e}go.prototype.unstable_scheduleHydration=function(e){if(e){var n=Pr();e={blockedOn:null,target:e,priority:n};for(var l=0;l<vl.length&&n!==0&&n<vl[l].priority;l++);vl.splice(l,0,e),l===0&&ig(e)}};var og=a.version;if(og!=="19.2.7")throw Error(s(527,og,"19.2.7"));Z.findDOMNode=function(e){var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(s(188)):(e=Object.keys(e).join(","),Error(s(268,e)));return e=h(n),e=e!==null?k(e):null,e=e===null?null:e.stateNode,e};var Y0={bundleType:0,version:"19.2.7",rendererPackageName:"react-dom",currentDispatcherRef:H,reconcilerVersion:"19.2.7"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var yo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yo.isDisabled&&yo.supportsFiber)try{Ml=yo.inject(Y0),qt=yo}catch{}}return Cr.createRoot=function(e,n){if(!o(e))throw Error(s(299));var l=!1,r="",d=hp,f=gp,y=yp;return n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(r=n.identifierPrefix),n.onUncaughtError!==void 0&&(d=n.onUncaughtError),n.onCaughtError!==void 0&&(f=n.onCaughtError),n.onRecoverableError!==void 0&&(y=n.onRecoverableError)),n=Fh(e,1,!1,null,null,l,r,null,d,f,y,cg),e[Qe]=n.current,Qd(e),new ff(n)},Cr.hydrateRoot=function(e,n,l){if(!o(e))throw Error(s(299));var r=!1,d="",f=hp,y=gp,S=yp,N=null;return l!=null&&(l.unstable_strictMode===!0&&(r=!0),l.identifierPrefix!==void 0&&(d=l.identifierPrefix),l.onUncaughtError!==void 0&&(f=l.onUncaughtError),l.onCaughtError!==void 0&&(y=l.onCaughtError),l.onRecoverableError!==void 0&&(S=l.onRecoverableError),l.formState!==void 0&&(N=l.formState)),n=Fh(e,1,!0,n,l??null,r,d,N,f,y,S,cg),n.context=Ph(null),l=n.current,r=gn(),r=As(r),d=ll(r),d.callback=null,il(l,d,r),l=r,n.current.lanes=l,ya(n,l),oa(n),e[Qe]=n.current,Qd(e),new go(n)},Cr.version="19.2.7",Cr}var vg;function nk(){if(vg)return pf.exports;vg=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),pf.exports=tk(),pf.exports}var ak=nk();/**
|
||
* react-router v7.17.0
|
||
*
|
||
* Copyright (c) Remix Software Inc.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE.md file in the root directory of this source tree.
|
||
*
|
||
* @license MIT
|
||
*/var bg="popstate";function kg(t){return typeof t=="object"&&t!=null&&"pathname"in t&&"search"in t&&"hash"in t&&"state"in t&&"key"in t}function lk(t={}){function a(o,u){let{pathname:_="/",search:g="",hash:p=""}=fi(o.location.hash.substring(1));return!_.startsWith("/")&&!_.startsWith(".")&&(_="/"+_),Lf("",{pathname:_,search:g,hash:p},u.state&&u.state.usr||null,u.state&&u.state.key||"default")}function i(o,u){let _=o.document.querySelector("base"),g="";if(_&&_.getAttribute("href")){let p=o.location.href,h=p.indexOf("#");g=h===-1?p:p.slice(0,h)}return g+"#"+(typeof u=="string"?u:qr(u))}function s(o,u){$n(o.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(u)})`)}return sk(a,i,s,t)}function pt(t,a){if(t===!1||t===null||typeof t>"u")throw new Error(a)}function $n(t,a){if(!t){typeof console<"u"&&console.warn(a);try{throw new Error(a)}catch{}}}function ik(){return Math.random().toString(36).substring(2,10)}function xg(t,a){return{usr:t.state,key:t.key,idx:a,masked:t.mask?{pathname:t.pathname,search:t.search,hash:t.hash}:void 0}}function Lf(t,a,i=null,s,o){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof a=="string"?fi(a):a,state:i,key:a&&a.key||s||ik(),mask:o}}function qr({pathname:t="/",search:a="",hash:i=""}){return a&&a!=="?"&&(t+=a.charAt(0)==="?"?a:"?"+a),i&&i!=="#"&&(t+=i.charAt(0)==="#"?i:"#"+i),t}function fi(t){let a={};if(t){let i=t.indexOf("#");i>=0&&(a.hash=t.substring(i),t=t.substring(0,i));let s=t.indexOf("?");s>=0&&(a.search=t.substring(s),t=t.substring(0,s)),t&&(a.pathname=t)}return a}function sk(t,a,i,s={}){let{window:o=document.defaultView,v5Compat:u=!1}=s,_=o.history,g="POP",p=null,h=k();h==null&&(h=0,_.replaceState({..._.state,idx:h},""));function k(){return(_.state||{idx:null}).idx}function b(){g="POP";let j=k(),w=j==null?null:j-h;h=j,p&&p({action:g,location:R.location,delta:w})}function A(j,w){g="PUSH";let $=kg(j)?j:Lf(R.location,j,w);i&&i($,j),h=k()+1;let I=xg($,h),te=R.createHref($.mask||$);try{_.pushState(I,"",te)}catch(ae){if(ae instanceof DOMException&&ae.name==="DataCloneError")throw ae;o.location.assign(te)}u&&p&&p({action:g,location:R.location,delta:1})}function O(j,w){g="REPLACE";let $=kg(j)?j:Lf(R.location,j,w);i&&i($,j),h=k();let I=xg($,h),te=R.createHref($.mask||$);_.replaceState(I,"",te),u&&p&&p({action:g,location:R.location,delta:0})}function C(j){return rk(o,j)}let R={get action(){return g},get location(){return t(o,_)},listen(j){if(p)throw new Error("A history only accepts one active listener");return o.addEventListener(bg,b),p=j,()=>{o.removeEventListener(bg,b),p=null}},createHref(j){return a(o,j)},createURL:C,encodeLocation(j){let w=C(j);return{pathname:w.pathname,search:w.search,hash:w.hash}},push:A,replace:O,go(j){return _.go(j)}};return R}function rk(t,a,i=!1){let s="http://localhost";t&&(s=t.location.origin!=="null"?t.location.origin:t.location.href),pt(s,"No window.location.(origin|href) available to create URL");let o=typeof a=="string"?a:qr(a);return o=o.replace(/ $/,"%20"),!i&&o.startsWith("//")&&(o=s+o),new URL(o,s)}function Ey(t,a,i="/"){return ck(t,a,i,!1)}function ck(t,a,i,s,o){let u=typeof a=="string"?fi(a):a,_=Ia(u.pathname||"/",i);if(_==null)return null;let g=ok(t),p=null,h=kk(_);for(let k=0;p==null&&k<g.length;++k)p=vk(g[k],h,s);return p}function ok(t){let a=Ty(t);return uk(a),a}function Ty(t,a=[],i=[],s="",o=!1){let u=(_,g,p=o,h)=>{let k={relativePath:h===void 0?_.path||"":h,caseSensitive:_.caseSensitive===!0,childrenIndex:g,route:_};if(k.relativePath.startsWith("/")){if(!k.relativePath.startsWith(s)&&p)return;pt(k.relativePath.startsWith(s),`Absolute route path "${k.relativePath}" nested under path "${s}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),k.relativePath=k.relativePath.slice(s.length)}let b=Zn([s,k.relativePath]),A=i.concat(k);_.children&&_.children.length>0&&(pt(_.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),Ty(_.children,a,A,b,p)),!(_.path==null&&!_.index)&&a.push({path:b,score:gk(b,_.index),routesMeta:A})};return t.forEach((_,g)=>{var p;if(_.path===""||!((p=_.path)!=null&&p.includes("?")))u(_,g);else for(let h of Dy(_.path))u(_,g,!0,h)}),a}function Dy(t){let a=t.split("/");if(a.length===0)return[];let[i,...s]=a,o=i.endsWith("?"),u=i.replace(/\?$/,"");if(s.length===0)return o?[u,""]:[u];let _=Dy(s.join("/")),g=[];return g.push(..._.map(p=>p===""?u:[u,p].join("/"))),o&&g.push(..._),g.map(p=>t.startsWith("/")&&p===""?"/":p)}function uk(t){t.sort((a,i)=>a.score!==i.score?i.score-a.score:yk(a.routesMeta.map(s=>s.childrenIndex),i.routesMeta.map(s=>s.childrenIndex)))}var dk=/^:[\w-]+$/,fk=3,mk=2,_k=1,pk=10,hk=-2,Sg=t=>t==="*";function gk(t,a){let i=t.split("/"),s=i.length;return i.some(Sg)&&(s+=hk),a&&(s+=mk),i.filter(o=>!Sg(o)).reduce((o,u)=>o+(dk.test(u)?fk:u===""?_k:pk),s)}function yk(t,a){return t.length===a.length&&t.slice(0,-1).every((s,o)=>s===a[o])?t[t.length-1]-a[a.length-1]:0}function vk(t,a,i=!1){let{routesMeta:s}=t,o={},u="/",_=[];for(let g=0;g<s.length;++g){let p=s[g],h=g===s.length-1,k=u==="/"?a:a.slice(u.length)||"/",b=Ro({path:p.relativePath,caseSensitive:p.caseSensitive,end:h},k),A=p.route;if(!b&&h&&i&&!s[s.length-1].route.index&&(b=Ro({path:p.relativePath,caseSensitive:p.caseSensitive,end:!1},k)),!b)return null;Object.assign(o,b.params),_.push({params:o,pathname:Zn([u,b.pathname]),pathnameBase:jk(Zn([u,b.pathnameBase])),route:A}),b.pathnameBase!=="/"&&(u=Zn([u,b.pathnameBase]))}return _}function Ro(t,a){typeof t=="string"&&(t={path:t,caseSensitive:!1,end:!0});let[i,s]=bk(t.path,t.caseSensitive,t.end),o=a.match(i);if(!o)return null;let u=o[0],_=u.replace(/(.)\/+$/,"$1"),g=o.slice(1);return{params:s.reduce((h,{paramName:k,isOptional:b},A)=>{if(k==="*"){let C=g[A]||"";_=u.slice(0,u.length-C.length).replace(/(.)\/+$/,"$1")}const O=g[A];return b&&!O?h[k]=void 0:h[k]=(O||"").replace(/%2F/g,"/"),h},{}),pathname:u,pathnameBase:_,pattern:t}}function bk(t,a=!1,i=!0){$n(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let s=[],o="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(_,g,p,h,k)=>{if(s.push({paramName:g,isOptional:p!=null}),p){let b=k.charAt(h+_.length);return b&&b!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(s.push({paramName:"*"}),o+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?o+="\\/*$":t!==""&&t!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,a?void 0:"i"),s]}function kk(t){try{return t.split("/").map(a=>decodeURIComponent(a).replace(/\//g,"%2F")).join("/")}catch(a){return $n(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${a}).`),t}}function Ia(t,a){if(a==="/")return t;if(!t.toLowerCase().startsWith(a.toLowerCase()))return null;let i=a.endsWith("/")?a.length-1:a.length,s=t.charAt(i);return s&&s!=="/"?null:t.slice(i)||"/"}var xk=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Sk(t,a="/"){let{pathname:i,search:s="",hash:o=""}=typeof t=="string"?fi(t):t,u;return i?(i=Ry(i),i.startsWith("/")?u=wg(i.substring(1),"/"):u=wg(i,a)):u=a,{pathname:u,search:Ck(s),hash:Ak(o)}}function wg(t,a){let i=$o(a).split("/");return t.split("/").forEach(o=>{o===".."?i.length>1&&i.pop():o!=="."&&i.push(o)}),i.length>1?i.join("/"):"/"}function vf(t,a,i,s){return`Cannot include a '${t}' character in a manually specified \`to.${a}\` field [${JSON.stringify(s)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function wk(t){return t.filter((a,i)=>i===0||a.route.path&&a.route.path.length>0)}function om(t){let a=wk(t);return a.map((i,s)=>s===a.length-1?i.pathname:i.pathnameBase)}function Xo(t,a,i,s=!1){let o;typeof t=="string"?o=fi(t):(o={...t},pt(!o.pathname||!o.pathname.includes("?"),vf("?","pathname","search",o)),pt(!o.pathname||!o.pathname.includes("#"),vf("#","pathname","hash",o)),pt(!o.search||!o.search.includes("#"),vf("#","search","hash",o)));let u=t===""||o.pathname==="",_=u?"/":o.pathname,g;if(_==null)g=i;else{let b=a.length-1;if(!s&&_.startsWith("..")){let A=_.split("/");for(;A[0]==="..";)A.shift(),b-=1;o.pathname=A.join("/")}g=b>=0?a[b]:"/"}let p=Sk(o,g),h=_&&_!=="/"&&_.endsWith("/"),k=(u||_===".")&&i.endsWith("/");return!p.pathname.endsWith("/")&&(h||k)&&(p.pathname+="/"),p}var Ry=t=>t.replace(/\/\/+/g,"/"),Zn=t=>Ry(t.join("/")),$o=t=>t.replace(/\/+$/,""),jk=t=>$o(t).replace(/^\/*/,"/"),Ck=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Ak=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t,Nk=class{constructor(t,a,i,s=!1){this.status=t,this.statusText=a||"",this.internal=s,i instanceof Error?(this.data=i.toString(),this.error=i):this.data=i}};function Ek(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}function Tk(t){let a=t.map(i=>i.route.path).filter(Boolean);return Zn(a)||"/"}var $y=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function My(t,a){let i=t;if(typeof i!="string"||!xk.test(i))return{absoluteURL:void 0,isExternal:!1,to:i};let s=i,o=!1;if($y)try{let u=new URL(window.location.href),_=i.startsWith("//")?new URL(u.protocol+i):new URL(i),g=Ia(_.pathname,a);_.origin===u.origin&&g!=null?i=g+_.search+_.hash:o=!0}catch{$n(!1,`<Link to="${i}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:s,isExternal:o,to:i}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var zy=["POST","PUT","PATCH","DELETE"];new Set(zy);var Dk=["GET",...zy];new Set(Dk);var vs=x.createContext(null);vs.displayName="DataRouter";var Zo=x.createContext(null);Zo.displayName="DataRouterState";var Oy=x.createContext(!1);function Rk(){return x.useContext(Oy)}var qy=x.createContext({isTransitioning:!1});qy.displayName="ViewTransition";var $k=x.createContext(new Map);$k.displayName="Fetchers";var Mk=x.createContext(null);Mk.displayName="Await";var vn=x.createContext(null);vn.displayName="Navigation";var Ur=x.createContext(null);Ur.displayName="Location";var ma=x.createContext({outlet:null,matches:[],isDataRoute:!1});ma.displayName="Route";var um=x.createContext(null);um.displayName="RouteError";var Ly="REACT_ROUTER_ERROR",zk="REDIRECT",Ok="ROUTE_ERROR_RESPONSE";function qk(t){if(t.startsWith(`${Ly}:${zk}:{`))try{let a=JSON.parse(t.slice(28));if(typeof a=="object"&&a&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.location=="string"&&typeof a.reloadDocument=="boolean"&&typeof a.replace=="boolean")return a}catch{}}function Lk(t){if(t.startsWith(`${Ly}:${Ok}:{`))try{let a=JSON.parse(t.slice(40));if(typeof a=="object"&&a&&typeof a.status=="number"&&typeof a.statusText=="string")return new Nk(a.status,a.statusText,a.data)}catch{}}function Bk(t,{relative:a}={}){pt(bs(),"useHref() may be used only in the context of a <Router> component.");let{basename:i,navigator:s}=x.useContext(vn),{hash:o,pathname:u,search:_}=Hr(t,{relative:a}),g=u;return i!=="/"&&(g=u==="/"?i:Zn([i,u])),s.createHref({pathname:g,search:_,hash:o})}function bs(){return x.useContext(Ur)!=null}function Fn(){return pt(bs(),"useLocation() may be used only in the context of a <Router> component."),x.useContext(Ur).location}var By="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Uy(t){x.useContext(vn).static||x.useLayoutEffect(t)}function dm(){let{isDataRoute:t}=x.useContext(ma);return t?Pk():Uk()}function Uk(){pt(bs(),"useNavigate() may be used only in the context of a <Router> component.");let t=x.useContext(vs),{basename:a,navigator:i}=x.useContext(vn),{matches:s}=x.useContext(ma),{pathname:o}=Fn(),u=JSON.stringify(om(s)),_=x.useRef(!1);return Uy(()=>{_.current=!0}),x.useCallback((p,h={})=>{if($n(_.current,By),!_.current)return;if(typeof p=="number"){i.go(p);return}let k=Xo(p,JSON.parse(u),o,h.relative==="path");t==null&&a!=="/"&&(k.pathname=k.pathname==="/"?a:Zn([a,k.pathname])),(h.replace?i.replace:i.push)(k,h.state,h)},[a,i,u,o,t])}x.createContext(null);function Hr(t,{relative:a}={}){let{matches:i}=x.useContext(ma),{pathname:s}=Fn(),o=JSON.stringify(om(i));return x.useMemo(()=>Xo(t,JSON.parse(o),s,a==="path"),[t,o,s,a])}function Hk(t,a){return Hy(t,a)}function Hy(t,a,i){var j;pt(bs(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=x.useContext(vn),{matches:o}=x.useContext(ma),u=o[o.length-1],_=u?u.params:{},g=u?u.pathname:"/",p=u?u.pathnameBase:"/",h=u&&u.route;{let w=h&&h.path||"";Gy(g,!h||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${g}" (under <Route path="${w}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
||
|
||
Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let k=Fn(),b;if(a){let w=typeof a=="string"?fi(a):a;pt(p==="/"||((j=w.pathname)==null?void 0:j.startsWith(p)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${w.pathname}" was given in the \`location\` prop.`),b=w}else b=k;let A=b.pathname||"/",O=A;if(p!=="/"){let w=p.replace(/^\//,"").split("/");O="/"+A.replace(/^\//,"").split("/").slice(w.length).join("/")}let C=i&&i.state.matches.length?i.state.matches.map(w=>Object.assign(w,{route:i.manifest[w.route.id]||w.route})):Ey(t,{pathname:O});$n(h||C!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),$n(C==null||C[C.length-1].route.element!==void 0||C[C.length-1].route.Component!==void 0||C[C.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let R=Qk(C&&C.map(w=>Object.assign({},w,{params:Object.assign({},_,w.params),pathname:Zn([p,s.encodeLocation?s.encodeLocation(w.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?p:Zn([p,s.encodeLocation?s.encodeLocation(w.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),o,i);return a&&R?x.createElement(Ur.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...b},navigationType:"POP"}},R):R}function Ik(){let t=Fk(),a=Ek(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),i=t instanceof Error?t.stack:null,s="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:s},u={padding:"2px 4px",backgroundColor:s},_=null;return console.error("Error handled by React Router default ErrorBoundary:",t),_=x.createElement(x.Fragment,null,x.createElement("p",null,"💿 Hey developer 👋"),x.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",x.createElement("code",{style:u},"ErrorBoundary")," or"," ",x.createElement("code",{style:u},"errorElement")," prop on your route.")),x.createElement(x.Fragment,null,x.createElement("h2",null,"Unexpected Application Error!"),x.createElement("h3",{style:{fontStyle:"italic"}},a),i?x.createElement("pre",{style:o},i):null,_)}var Gk=x.createElement(Ik,null),Iy=class extends x.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,a){return a.location!==t.location||a.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:a.error,location:a.location,revalidation:t.revalidation||a.revalidation}}componentDidCatch(t,a){this.props.onError?this.props.onError(t,a):console.error("React Router caught the following error during render",t)}render(){let t=this.state.error;if(this.context&&typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){const i=Lk(t.digest);i&&(t=i)}let a=t!==void 0?x.createElement(ma.Provider,{value:this.props.routeContext},x.createElement(um.Provider,{value:t,children:this.props.component})):this.props.children;return this.context?x.createElement(Yk,{error:t},a):a}};Iy.contextType=Oy;var bf=new WeakMap;function Yk({children:t,error:a}){let{basename:i}=x.useContext(vn);if(typeof a=="object"&&a&&"digest"in a&&typeof a.digest=="string"){let s=qk(a.digest);if(s){let o=bf.get(a);if(o)throw o;let u=My(s.location,i);if($y&&!bf.get(a))if(u.isExternal||s.reloadDocument)window.location.href=u.absoluteURL||u.to;else{const _=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(u.to,{replace:s.replace}));throw bf.set(a,_),_}return x.createElement("meta",{httpEquiv:"refresh",content:`0;url=${u.absoluteURL||u.to}`})}}return t}function Kk({routeContext:t,match:a,children:i}){let s=x.useContext(vs);return s&&s.static&&s.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=a.route.id),x.createElement(ma.Provider,{value:t},i)}function Qk(t,a=[],i){let s=i==null?void 0:i.state;if(t==null){if(!s)return null;if(s.errors)t=s.matches;else if(a.length===0&&!s.initialized&&s.matches.length>0)t=s.matches;else return null}let o=t,u=s==null?void 0:s.errors;if(u!=null){let k=o.findIndex(b=>b.route.id&&(u==null?void 0:u[b.route.id])!==void 0);pt(k>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),o=o.slice(0,Math.min(o.length,k+1))}let _=!1,g=-1;if(i&&s){_=s.renderFallback;for(let k=0;k<o.length;k++){let b=o[k];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(g=k),b.route.id){let{loaderData:A,errors:O}=s,C=b.route.loader&&!A.hasOwnProperty(b.route.id)&&(!O||O[b.route.id]===void 0);if(b.route.lazy||C){i.isStatic&&(_=!0),g>=0?o=o.slice(0,g+1):o=[o[0]];break}}}}let p=i==null?void 0:i.onError,h=s&&p?(k,b)=>{var A,O;p(k,{location:s.location,params:((O=(A=s.matches)==null?void 0:A[0])==null?void 0:O.params)??{},pattern:Tk(s.matches),errorInfo:b})}:void 0;return o.reduceRight((k,b,A)=>{let O,C=!1,R=null,j=null;s&&(O=u&&b.route.id?u[b.route.id]:void 0,R=b.route.errorElement||Gk,_&&(g<0&&A===0?(Gy("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,j=null):g===A&&(C=!0,j=b.route.hydrateFallbackElement||null)));let w=a.concat(o.slice(0,A+1)),$=()=>{let I;return O?I=R:C?I=j:b.route.Component?I=x.createElement(b.route.Component,null):b.route.element?I=b.route.element:I=k,x.createElement(Kk,{match:b,routeContext:{outlet:k,matches:w,isDataRoute:s!=null},children:I})};return s&&(b.route.ErrorBoundary||b.route.errorElement||A===0)?x.createElement(Iy,{location:s.location,revalidation:s.revalidation,component:R,error:O,children:$(),routeContext:{outlet:null,matches:w,isDataRoute:!0},onError:h}):$()},null)}function fm(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Vk(t){let a=x.useContext(vs);return pt(a,fm(t)),a}function Xk(t){let a=x.useContext(Zo);return pt(a,fm(t)),a}function Zk(t){let a=x.useContext(ma);return pt(a,fm(t)),a}function mm(t){let a=Zk(t),i=a.matches[a.matches.length-1];return pt(i.route.id,`${t} can only be used on routes that contain a unique "id"`),i.route.id}function Jk(){return mm("useRouteId")}function Fk(){var s;let t=x.useContext(um),a=Xk("useRouteError"),i=mm("useRouteError");return t!==void 0?t:(s=a.errors)==null?void 0:s[i]}function Pk(){let{router:t}=Vk("useNavigate"),a=mm("useNavigate"),i=x.useRef(!1);return Uy(()=>{i.current=!0}),x.useCallback(async(o,u={})=>{$n(i.current,By),i.current&&(typeof o=="number"?await t.navigate(o):await t.navigate(o,{fromRouteId:a,...u}))},[t,a])}var jg={};function Gy(t,a,i){!a&&!jg[t]&&(jg[t]=!0,$n(!1,i))}x.memo(Wk);function Wk({routes:t,manifest:a,future:i,state:s,isStatic:o,onError:u}){return Hy(t,void 0,{manifest:a,state:s,isStatic:o,onError:u})}function ex({to:t,replace:a,state:i,relative:s}){pt(bs(),"<Navigate> may be used only in the context of a <Router> component.");let{static:o}=x.useContext(vn);$n(!o,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:u}=x.useContext(ma),{pathname:_}=Fn(),g=dm(),p=Xo(t,om(u),_,s==="path"),h=JSON.stringify(p);return x.useEffect(()=>{g(JSON.parse(h),{replace:a,state:i,relative:s})},[g,h,s,a,i]),null}function Bf(t){pt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function tx({basename:t="/",children:a=null,location:i,navigationType:s="POP",navigator:o,static:u=!1,useTransitions:_}){pt(!bs(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let g=t.replace(/^\/*/,"/"),p=x.useMemo(()=>({basename:g,navigator:o,static:u,useTransitions:_,future:{}}),[g,o,u,_]);typeof i=="string"&&(i=fi(i));let{pathname:h="/",search:k="",hash:b="",state:A=null,key:O="default",mask:C}=i,R=x.useMemo(()=>{let j=Ia(h,g);return j==null?null:{location:{pathname:j,search:k,hash:b,state:A,key:O,mask:C},navigationType:s}},[g,h,k,b,A,O,s,C]);return $n(R!=null,`<Router basename="${g}"> is not able to match the URL "${h}${k}${b}" because it does not start with the basename, so the <Router> won't render anything.`),R==null?null:x.createElement(vn.Provider,{value:p},x.createElement(Ur.Provider,{children:a,value:R}))}function nx({children:t,location:a}){return Hk(Uf(t),a)}function Uf(t,a=[]){let i=[];return x.Children.forEach(t,(s,o)=>{if(!x.isValidElement(s))return;let u=[...a,o];if(s.type===x.Fragment){i.push.apply(i,Uf(s.props.children,u));return}pt(s.type===Bf,`[${typeof s.type=="string"?s.type:s.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),pt(!s.props.index||!s.props.children,"An index route cannot have child routes.");let _={id:s.props.id||u.join("-"),caseSensitive:s.props.caseSensitive,element:s.props.element,Component:s.props.Component,index:s.props.index,path:s.props.path,middleware:s.props.middleware,loader:s.props.loader,action:s.props.action,hydrateFallbackElement:s.props.hydrateFallbackElement,HydrateFallback:s.props.HydrateFallback,errorElement:s.props.errorElement,ErrorBoundary:s.props.ErrorBoundary,hasErrorBoundary:s.props.hasErrorBoundary===!0||s.props.ErrorBoundary!=null||s.props.errorElement!=null,shouldRevalidate:s.props.shouldRevalidate,handle:s.props.handle,lazy:s.props.lazy};s.props.children&&(_.children=Uf(s.props.children,u)),i.push(_)}),i}var So="get",wo="application/x-www-form-urlencoded";function Jo(t){return typeof HTMLElement<"u"&&t instanceof HTMLElement}function ax(t){return Jo(t)&&t.tagName.toLowerCase()==="button"}function lx(t){return Jo(t)&&t.tagName.toLowerCase()==="form"}function ix(t){return Jo(t)&&t.tagName.toLowerCase()==="input"}function sx(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function rx(t,a){return t.button===0&&(!a||a==="_self")&&!sx(t)}var vo=null;function cx(){if(vo===null)try{new FormData(document.createElement("form"),0),vo=!1}catch{vo=!0}return vo}var ox=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function kf(t){return t!=null&&!ox.has(t)?($n(!1,`"${t}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${wo}"`),null):t}function ux(t,a){let i,s,o,u,_;if(lx(t)){let g=t.getAttribute("action");s=g?Ia(g,a):null,i=t.getAttribute("method")||So,o=kf(t.getAttribute("enctype"))||wo,u=new FormData(t)}else if(ax(t)||ix(t)&&(t.type==="submit"||t.type==="image")){let g=t.form;if(g==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let p=t.getAttribute("formaction")||g.getAttribute("action");if(s=p?Ia(p,a):null,i=t.getAttribute("formmethod")||g.getAttribute("method")||So,o=kf(t.getAttribute("formenctype"))||kf(g.getAttribute("enctype"))||wo,u=new FormData(g,t),!cx()){let{name:h,type:k,value:b}=t;if(k==="image"){let A=h?`${h}.`:"";u.append(`${A}x`,"0"),u.append(`${A}y`,"0")}else h&&u.append(h,b)}}else{if(Jo(t))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');i=So,s=null,o=wo,_=t}return u&&o==="text/plain"&&(_=u,u=void 0),{action:s,method:i.toLowerCase(),encType:o,formData:u,body:_}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function _m(t,a){if(t===!1||t===null||typeof t>"u")throw new Error(a)}function Yy(t,a,i,s){let o=typeof t=="string"?new URL(t,typeof window>"u"?"server://singlefetch/":window.location.origin):t;return i?o.pathname.endsWith("/")?o.pathname=`${o.pathname}_.${s}`:o.pathname=`${o.pathname}.${s}`:o.pathname==="/"?o.pathname=`_root.${s}`:a&&Ia(o.pathname,a)==="/"?o.pathname=`${$o(a)}/_root.${s}`:o.pathname=`${$o(o.pathname)}.${s}`,o}async function dx(t,a){if(t.id in a)return a[t.id];try{let i=await import(t.module);return a[t.id]=i,i}catch(i){return console.error(`Error loading route module \`${t.module}\`, reloading page...`),console.error(i),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function fx(t){return t==null?!1:t.href==null?t.rel==="preload"&&typeof t.imageSrcSet=="string"&&typeof t.imageSizes=="string":typeof t.rel=="string"&&typeof t.href=="string"}async function mx(t,a,i){let s=await Promise.all(t.map(async o=>{let u=a.routes[o.route.id];if(u){let _=await dx(u,i);return _.links?_.links():[]}return[]}));return gx(s.flat(1).filter(fx).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function Cg(t,a,i,s,o,u){let _=(p,h)=>i[h]?p.route.id!==i[h].route.id:!0,g=(p,h)=>{var k;return i[h].pathname!==p.pathname||((k=i[h].route.path)==null?void 0:k.endsWith("*"))&&i[h].params["*"]!==p.params["*"]};return u==="assets"?a.filter((p,h)=>_(p,h)||g(p,h)):u==="data"?a.filter((p,h)=>{var b;let k=s.routes[p.route.id];if(!k||!k.hasLoader)return!1;if(_(p,h)||g(p,h))return!0;if(p.route.shouldRevalidate){let A=p.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:((b=i[0])==null?void 0:b.params)||{},nextUrl:new URL(t,window.origin),nextParams:p.params,defaultShouldRevalidate:!0});if(typeof A=="boolean")return A}return!0}):[]}function _x(t,a,{includeHydrateFallback:i}={}){return px(t.map(s=>{let o=a.routes[s.route.id];if(!o)return[];let u=[o.module];return o.clientActionModule&&(u=u.concat(o.clientActionModule)),o.clientLoaderModule&&(u=u.concat(o.clientLoaderModule)),i&&o.hydrateFallbackModule&&(u=u.concat(o.hydrateFallbackModule)),o.imports&&(u=u.concat(o.imports)),u}).flat(1))}function px(t){return[...new Set(t)]}function hx(t){let a={},i=Object.keys(t).sort();for(let s of i)a[s]=t[s];return a}function gx(t,a){let i=new Set;return new Set(a),t.reduce((s,o)=>{let u=JSON.stringify(hx(o));return i.has(u)||(i.add(u),s.push({key:u,link:o})),s},[])}function pm(){let t=x.useContext(vs);return _m(t,"You must render this element inside a <DataRouterContext.Provider> element"),t}function yx(){let t=x.useContext(Zo);return _m(t,"You must render this element inside a <DataRouterStateContext.Provider> element"),t}var hm=x.createContext(void 0);hm.displayName="FrameworkContext";function gm(){let t=x.useContext(hm);return _m(t,"You must render this element inside a <HydratedRouter> element"),t}function vx(t,a){let i=x.useContext(hm),[s,o]=x.useState(!1),[u,_]=x.useState(!1),{onFocus:g,onBlur:p,onMouseEnter:h,onMouseLeave:k,onTouchStart:b}=a,A=x.useRef(null);x.useEffect(()=>{if(t==="render"&&_(!0),t==="viewport"){let R=w=>{w.forEach($=>{_($.isIntersecting)})},j=new IntersectionObserver(R,{threshold:.5});return A.current&&j.observe(A.current),()=>{j.disconnect()}}},[t]),x.useEffect(()=>{if(s){let R=setTimeout(()=>{_(!0)},100);return()=>{clearTimeout(R)}}},[s]);let O=()=>{o(!0)},C=()=>{o(!1),_(!1)};return i?t!=="intent"?[u,A,{}]:[u,A,{onFocus:Ar(g,O),onBlur:Ar(p,C),onMouseEnter:Ar(h,O),onMouseLeave:Ar(k,C),onTouchStart:Ar(b,O)}]:[!1,A,{}]}function Ar(t,a){return i=>{t&&t(i),i.defaultPrevented||a(i)}}function bx({page:t,...a}){let i=Rk(),{router:s}=pm(),o=x.useMemo(()=>Ey(s.routes,t,s.basename),[s.routes,t,s.basename]);return o?i?x.createElement(xx,{page:t,matches:o,...a}):x.createElement(Sx,{page:t,matches:o,...a}):null}function kx(t){let{manifest:a,routeModules:i}=gm(),[s,o]=x.useState([]);return x.useEffect(()=>{let u=!1;return mx(t,a,i).then(_=>{u||o(_)}),()=>{u=!0}},[t,a,i]),s}function xx({page:t,matches:a,...i}){let s=Fn(),{future:o}=gm(),{basename:u}=pm(),_=x.useMemo(()=>{if(t===s.pathname+s.search+s.hash)return[];let g=Yy(t,u,o.v8_trailingSlashAwareDataRequests,"rsc"),p=!1,h=[];for(let k of a)typeof k.route.shouldRevalidate=="function"?p=!0:h.push(k.route.id);return p&&h.length>0&&g.searchParams.set("_routes",h.join(",")),[g.pathname+g.search]},[u,o.v8_trailingSlashAwareDataRequests,t,s,a]);return x.createElement(x.Fragment,null,_.map(g=>x.createElement("link",{key:g,rel:"prefetch",as:"fetch",href:g,...i})))}function Sx({page:t,matches:a,...i}){let s=Fn(),{future:o,manifest:u,routeModules:_}=gm(),{basename:g}=pm(),{loaderData:p,matches:h}=yx(),k=x.useMemo(()=>Cg(t,a,h,u,s,"data"),[t,a,h,u,s]),b=x.useMemo(()=>Cg(t,a,h,u,s,"assets"),[t,a,h,u,s]),A=x.useMemo(()=>{if(t===s.pathname+s.search+s.hash)return[];let R=new Set,j=!1;if(a.forEach($=>{var te;let I=u.routes[$.route.id];!I||!I.hasLoader||(!k.some(ae=>ae.route.id===$.route.id)&&$.route.id in p&&((te=_[$.route.id])!=null&&te.shouldRevalidate)||I.hasClientLoader?j=!0:R.add($.route.id))}),R.size===0)return[];let w=Yy(t,g,o.v8_trailingSlashAwareDataRequests,"data");return j&&R.size>0&&w.searchParams.set("_routes",a.filter($=>R.has($.route.id)).map($=>$.route.id).join(",")),[w.pathname+w.search]},[g,o.v8_trailingSlashAwareDataRequests,p,s,u,k,a,t,_]),O=x.useMemo(()=>_x(b,u),[b,u]),C=kx(b);return x.createElement(x.Fragment,null,A.map(R=>x.createElement("link",{key:R,rel:"prefetch",as:"fetch",href:R,...i})),O.map(R=>x.createElement("link",{key:R,rel:"modulepreload",href:R,...i})),C.map(({key:R,link:j})=>x.createElement("link",{key:R,nonce:i.nonce,...j,crossOrigin:j.crossOrigin??i.crossOrigin})))}function wx(...t){return a=>{t.forEach(i=>{typeof i=="function"?i(a):i!=null&&(i.current=a)})}}var jx=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{jx&&(window.__reactRouterVersion="7.17.0")}catch{}function Cx({basename:t,children:a,useTransitions:i,window:s}){let o=x.useRef();o.current==null&&(o.current=lk({window:s,v5Compat:!0}));let u=o.current,[_,g]=x.useState({action:u.action,location:u.location}),p=x.useCallback(h=>{i===!1?g(h):x.startTransition(()=>g(h))},[i]);return x.useLayoutEffect(()=>u.listen(p),[u,p]),x.createElement(tx,{basename:t,children:a,location:_.location,navigationType:_.action,navigator:u,useTransitions:i})}var Ky=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Qy=x.forwardRef(function({onClick:a,discover:i="render",prefetch:s="none",relative:o,reloadDocument:u,replace:_,mask:g,state:p,target:h,to:k,preventScrollReset:b,viewTransition:A,defaultShouldRevalidate:O,...C},R){let{basename:j,navigator:w,useTransitions:$}=x.useContext(vn),I=typeof k=="string"&&Ky.test(k),te=My(k,j);k=te.to;let ae=Bk(k,{relative:o}),ie=Fn(),L=null;if(g){let de=Xo(g,[],ie.mask?ie.mask.pathname:"/",!0);j!=="/"&&(de.pathname=de.pathname==="/"?j:Zn([j,de.pathname])),L=w.createHref(de)}let[le,we,W]=vx(s,C),oe=Tx(k,{replace:_,mask:g,state:p,target:h,preventScrollReset:b,relative:o,viewTransition:A,defaultShouldRevalidate:O,useTransitions:$});function be(de){a&&a(de),de.defaultPrevented||oe(de)}let q=!(te.isExternal||u),re=x.createElement("a",{...C,...W,href:(q?L:void 0)||te.absoluteURL||ae,onClick:q?be:a,ref:wx(R,we),target:h,"data-discover":!I&&i==="render"?"true":void 0});return le&&!I?x.createElement(x.Fragment,null,re,x.createElement(bx,{page:ae})):re});Qy.displayName="Link";var Ax=x.forwardRef(function({"aria-current":a="page",caseSensitive:i=!1,className:s="",end:o=!1,style:u,to:_,viewTransition:g,children:p,...h},k){let b=Hr(_,{relative:h.relative}),A=Fn(),O=x.useContext(Zo),{navigator:C,basename:R}=x.useContext(vn),j=O!=null&&zx(b)&&g===!0,w=C.encodeLocation?C.encodeLocation(b).pathname:b.pathname,$=A.pathname,I=O&&O.navigation&&O.navigation.location?O.navigation.location.pathname:null;i||($=$.toLowerCase(),I=I?I.toLowerCase():null,w=w.toLowerCase()),I&&R&&(I=Ia(I,R)||I);const te=w!=="/"&&w.endsWith("/")?w.length-1:w.length;let ae=$===w||!o&&$.startsWith(w)&&$.charAt(te)==="/",ie=I!=null&&(I===w||!o&&I.startsWith(w)&&I.charAt(w.length)==="/"),L={isActive:ae,isPending:ie,isTransitioning:j},le=ae?a:void 0,we;typeof s=="function"?we=s(L):we=[s,ae?"active":null,ie?"pending":null,j?"transitioning":null].filter(Boolean).join(" ");let W=typeof u=="function"?u(L):u;return x.createElement(Qy,{...h,"aria-current":le,className:we,ref:k,style:W,to:_,viewTransition:g},typeof p=="function"?p(L):p)});Ax.displayName="NavLink";var Nx=x.forwardRef(({discover:t="render",fetcherKey:a,navigate:i,reloadDocument:s,replace:o,state:u,method:_=So,action:g,onSubmit:p,relative:h,preventScrollReset:k,viewTransition:b,defaultShouldRevalidate:A,...O},C)=>{let{useTransitions:R}=x.useContext(vn),j=$x(),w=Mx(g,{relative:h}),$=_.toLowerCase()==="get"?"get":"post",I=typeof g=="string"&&Ky.test(g),te=ae=>{if(p&&p(ae),ae.defaultPrevented)return;ae.preventDefault();let ie=ae.nativeEvent.submitter,L=(ie==null?void 0:ie.getAttribute("formmethod"))||_,le=()=>j(ie||ae.currentTarget,{fetcherKey:a,method:L,navigate:i,replace:o,state:u,relative:h,preventScrollReset:k,viewTransition:b,defaultShouldRevalidate:A});R&&i!==!1?x.startTransition(()=>le()):le()};return x.createElement("form",{ref:C,method:$,action:w,onSubmit:s?p:te,...O,"data-discover":!I&&t==="render"?"true":void 0})});Nx.displayName="Form";function Ex(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Vy(t){let a=x.useContext(vs);return pt(a,Ex(t)),a}function Tx(t,{target:a,replace:i,mask:s,state:o,preventScrollReset:u,relative:_,viewTransition:g,defaultShouldRevalidate:p,useTransitions:h}={}){let k=dm(),b=Fn(),A=Hr(t,{relative:_});return x.useCallback(O=>{if(rx(O,a)){O.preventDefault();let C=i!==void 0?i:qr(b)===qr(A),R=()=>k(t,{replace:C,mask:s,state:o,preventScrollReset:u,relative:_,viewTransition:g,defaultShouldRevalidate:p});h?x.startTransition(()=>R()):R()}},[b,k,A,i,s,o,a,t,u,_,g,p,h])}var Dx=0,Rx=()=>`__${String(++Dx)}__`;function $x(){let{router:t}=Vy("useSubmit"),{basename:a}=x.useContext(vn),i=Jk(),s=t.fetch,o=t.navigate;return x.useCallback(async(u,_={})=>{let{action:g,method:p,encType:h,formData:k,body:b}=ux(u,a);if(_.navigate===!1){let A=_.fetcherKey||Rx();await s(A,i,_.action||g,{defaultShouldRevalidate:_.defaultShouldRevalidate,preventScrollReset:_.preventScrollReset,formData:k,body:b,formMethod:_.method||p,formEncType:_.encType||h,flushSync:_.flushSync})}else await o(_.action||g,{defaultShouldRevalidate:_.defaultShouldRevalidate,preventScrollReset:_.preventScrollReset,formData:k,body:b,formMethod:_.method||p,formEncType:_.encType||h,replace:_.replace,state:_.state,fromRouteId:i,flushSync:_.flushSync,viewTransition:_.viewTransition})},[s,o,a,i])}function Mx(t,{relative:a}={}){let{basename:i}=x.useContext(vn),s=x.useContext(ma);pt(s,"useFormAction must be used inside a RouteContext");let[o]=s.matches.slice(-1),u={...Hr(t||".",{relative:a})},_=Fn();if(t==null){u.search=_.search;let g=new URLSearchParams(u.search),p=g.getAll("index");if(p.some(k=>k==="")){g.delete("index"),p.filter(b=>b).forEach(b=>g.append("index",b));let k=g.toString();u.search=k?`?${k}`:""}}return(!t||t===".")&&o.route.index&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),i!=="/"&&(u.pathname=u.pathname==="/"?i:Zn([i,u.pathname])),qr(u)}function zx(t,{relative:a}={}){let i=x.useContext(qy);pt(i!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:s}=Vy("useViewTransitionState"),o=Hr(t,{relative:a});if(!i.isTransitioning)return!1;let u=Ia(i.currentLocation.pathname,s)||i.currentLocation.pathname,_=Ia(i.nextLocation.pathname,s)||i.nextLocation.pathname;return Ro(o.pathname,_)!=null||Ro(o.pathname,u)!=null}/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Ox=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Xy=(...t)=>t.filter((a,i,s)=>!!a&&a.trim()!==""&&s.indexOf(a)===i).join(" ").trim();/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/var qx={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Lx=x.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:i=2,absoluteStrokeWidth:s,className:o="",children:u,iconNode:_,...g},p)=>x.createElement("svg",{ref:p,...qx,width:a,height:a,stroke:t,strokeWidth:s?Number(i)*24/Number(a):i,className:Xy("lucide",o),...g},[..._.map(([h,k])=>x.createElement(h,k)),...Array.isArray(u)?u:[u]]));/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const it=(t,a)=>{const i=x.forwardRef(({className:s,...o},u)=>x.createElement(Lx,{ref:u,iconNode:a,className:Xy(`lucide-${Ox(t)}`,s),...o}));return i.displayName=`${t}`,i};/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Bx=it("BellRing",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M22 8c0-2.3-.8-4.3-2-6",key:"5bb3ad"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}],["path",{d:"M4 2C2.8 3.7 2 5.7 2 8",key:"tap9e0"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Ux=it("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Hx=it("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Ix=it("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Ag=it("CirclePlay",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polygon",{points:"10 8 16 12 10 16 10 8",key:"1cimsy"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Gx=it("Clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Ng=it("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const ps=it("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Yx=it("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Mo=it("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Kx=it("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Qx=it("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Vx=it("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Xx=it("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const jo=it("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const ri=it("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Zx=it("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Jx=it("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Fx=it("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Eg=it("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Hf=it("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Tg=it("SkipForward",[["polygon",{points:"5 4 15 12 5 20 5 4",key:"16p6eg"}],["line",{x1:"19",x2:"19",y1:"5",y2:"19",key:"futhcm"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Dg=it("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const xf=it("TimerReset",[["path",{d:"M10 2h4",key:"n1abiw"}],["path",{d:"M12 14v-4",key:"1evpnu"}],["path",{d:"M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6",key:"1ts96g"}],["path",{d:"M9 17H4v5",key:"8t5av"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Px=it("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Wx=it("UserRoundPlus",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M22 19h-6",key:"vcuq98"}]]);/**
|
||
* @license lucide-react v0.468.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const Co=it("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function eS(){return{selectedDutyIdsByDate:{},confirmedDates:{},reportScheduleTime:"18:00",reportGeneratedAtByDate:{},decisionResultsByDate:{},profile:{name:"飞天数字员工",company:"qimingclaw 客户端",position:"客户端任务执行员",currentStatus:"working"}}}async function Zy(){var t,a,i;try{return await((i=(a=(t=window.QimingClawBridge)==null?void 0:t.digital)==null?void 0:a.getUiState)==null?void 0:i.call(a))??null}catch{return null}}async function Jy(t,a={}){var s,o;const i=(s=window.QimingClawBridge)==null?void 0:s.digital;if(!(i!=null&&i.saveUiState))return null;try{const u=await((o=i.getUiState)==null?void 0:o.call(i).catch(()=>null))??null,_={...eS(),...u??{},...t};return await i.saveUiState({state:_,...a})}catch{return null}}const Lr={finance:{id:"finance",labelKey:"console.role.finance",density:"compact",tone:"strict",contentPriority:["audit","sources","exactNumbers"],motion:{defaultLevel:"none",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!1},staleDataThresholdMs:3e4,cssVars:{"--role-accent":"#2563eb","--role-accent-soft":"rgba(37,99,235,0.12)","--role-surface-tint":"rgba(248,250,252,0.78)","--role-border":"rgba(37,99,235,0.22)","--role-focus-ring":"#1d4ed8"}},engineering:{id:"engineering",labelKey:"console.role.engineering",density:"compact",tone:"technical",contentPriority:["alarms","timestamps","reliability"],motion:{defaultLevel:"none",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!1},staleDataThresholdMs:15e3,cssVars:{"--role-accent":"#0f766e","--role-accent-soft":"rgba(15,118,110,0.12)","--role-surface-tint":"rgba(240,253,250,0.72)","--role-border":"rgba(15,118,110,0.24)","--role-focus-ring":"#0f766e"}},executive:{id:"executive",labelKey:"console.role.executive",density:"presentation",tone:"executive",contentPriority:["kpi","approvals","exactNumbers"],motion:{defaultLevel:"minimal",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!0},staleDataThresholdMs:6e4,cssVars:{"--role-accent":"#334155","--role-accent-soft":"rgba(51,65,85,0.10)","--role-surface-tint":"rgba(248,250,252,0.82)","--role-border":"rgba(51,65,85,0.20)","--role-focus-ring":"#475569"}},hr:{id:"hr",labelKey:"console.role.hr",density:"balanced",tone:"warm-professional",contentPriority:["queues","timestamps","approvals"],motion:{defaultLevel:"minimal",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!1},staleDataThresholdMs:45e3,cssVars:{"--role-accent":"#7c3aed","--role-accent-soft":"rgba(124,58,237,0.10)","--role-surface-tint":"rgba(250,245,255,0.72)","--role-border":"rgba(124,58,237,0.20)","--role-focus-ring":"#6d28d9"}},sales:{id:"sales",labelKey:"console.role.sales",density:"balanced",tone:"warm-professional",contentPriority:["pipeline","sources","exactNumbers"],motion:{defaultLevel:"minimal",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!1},staleDataThresholdMs:45e3,cssVars:{"--role-accent":"#b45309","--role-accent-soft":"rgba(180,83,9,0.10)","--role-surface-tint":"rgba(255,251,235,0.70)","--role-border":"rgba(180,83,9,0.20)","--role-focus-ring":"#92400e"}}},Fy=x.createContext(null),If="qimingclaw:digital-console-role",Gf="sgrobot-console-role";function tS(){try{const t=localStorage.getItem(If)??localStorage.getItem(Gf);if(t&&t in Lr)return t}catch{}return"sales"}function nS({children:t}){const[a,i]=x.useState(tS);x.useEffect(()=>{let u=!1;return Zy().then(_=>{if(u)return;const g=_==null?void 0:_.consoleRole;if(g&&g in Lr){i(g);try{localStorage.setItem(If,g),localStorage.removeItem(Gf)}catch{}}}),()=>{u=!0}},[]);const s=x.useCallback(u=>{i(u);try{localStorage.setItem(If,u),localStorage.removeItem(Gf)}catch{}Jy({consoleRole:u},{action:"update_console_role",metadata:{role:u}})},[]),o=Lr[a];return c.jsx(Fy.Provider,{value:{role:a,profile:o,setRole:s},children:c.jsx("div",{style:o.cssVars,"data-role":a,children:t})})}function aS(){const t=x.useContext(Fy);if(!t)throw new Error("useRole must be used within RoleProvider");return t}const Py="qimingclaw_digital_token",Wy="zeroclaw_token";function lS(){try{return localStorage.getItem(Py)??localStorage.getItem(Wy)}catch{return null}}function iS(){try{localStorage.removeItem(Py),localStorage.removeItem(Wy)}catch{}}const sS=".",rS=(()=>{var a;return((a=window.__QIMINGCLAW_DIGITAL_API_BASE__)==null?void 0:a.replace(/\/+$/,""))??""})(),cS=()=>"",ev="qimingclaw:digital-employee-adapter-state",oS="18:00",uS=["info","warn","error","action"],dS=["user_message","need_input","need_approval","task_progress","task_failed","task_finished","confirmation_pending","confirmation_resolved"],tv=["comment","delegate","mark_timeout","mark_risk","clear_risk","decision"],fS=["normal","medium","high","critical"],mS=[{skill_id:"qimingclaw-acp-session",name:"ACP 会话执行",version:"1.0.0",enabled:!0,description:"通过 qimingclaw 的 ACP 引擎创建会话、执行任务并跟踪结果。",category:"执行",capability_level:"core"},{skill_id:"qimingclaw-mcp-tools",name:"MCP 工具编排",version:"1.0.0",enabled:!0,description:"读取已配置 MCP 服务与工具,作为数字员工的工具能力池。",category:"工具",capability_level:"core"},{skill_id:"qimingclaw-computer-control",name:"客户端电脑控制",version:"1.0.0",enabled:!0,description:"承接 /computer/chat 执行入口,面向远程任务和本地自动化操作。",category:"桌面",capability_level:"specialized"},{skill_id:"qimingclaw-artifact-report",name:"产物与日报整理",version:"1.0.0",enabled:!0,description:"把执行记录、关键产物和异常汇总成数字员工日报。",category:"汇报",capability_level:"standard"}],_S=[{plan_id:"qimingclaw-client-readiness",title:"客户端运行状态巡检",objective:"确认 qimingclaw 客户端、Agent、MCP 和远程接入能力是否处于可执行状态。",status:"running",created_at:Ua(9,0),steps:[{step_id:"agent-status",title:"检查 Agent 引擎状态",depends_on:[],preferred_skills:["qimingclaw-acp-session"],tasks:[{task_id:"task-agent-status",title:"读取 Agent 服务状态",status:"running"}]},{step_id:"mcp-status",title:"检查 MCP 工具能力",depends_on:["agent-status"],preferred_skills:["qimingclaw-mcp-tools"],tasks:[{task_id:"task-mcp-status",title:"同步 MCP 工具列表",status:"pending"}]}]},{plan_id:"qimingclaw-remote-task-ingress",title:"远程任务接入准备",objective:"检查 lanproxy、computer server 和文件服务,为后端下发数字员工任务做准备。",status:"pending",created_at:Ua(9,30),steps:[{step_id:"computer-server",title:"确认 /computer/chat 执行入口",depends_on:[],preferred_skills:["qimingclaw-computer-control"],tasks:[{task_id:"task-computer-server",title:"检查电脑控制服务",status:"pending"}]},{step_id:"file-artifact",title:"准备产物回传目录",depends_on:["computer-server"],preferred_skills:["qimingclaw-artifact-report"],tasks:[{task_id:"task-file-artifact",title:"整理执行产物通道",status:"pending"}]}]},{plan_id:"qimingclaw-daily-report",title:"数字员工日报生成",objective:"汇总今日执行记录、服务状态和待介入事项,生成面向业务的日报。",status:"pending",created_at:Ua(17,30),steps:[{step_id:"collect-events",title:"汇总运行事件",depends_on:[],preferred_skills:["qimingclaw-artifact-report"],tasks:[{task_id:"task-collect-events",title:"整理今日运行明细",status:"pending"}]},{step_id:"write-report",title:"生成日报摘要",depends_on:["collect-events"],preferred_skills:["qimingclaw-artifact-report"],tasks:[{task_id:"task-write-report",title:"生成数字员工日报",status:"pending"}]}]}],zo={"qimingclaw-client-readiness":{expression:"0 9 * * *",nextRun:Ua(9,0),scheduleText:"已定时 09:00 执行"},"qimingclaw-remote-task-ingress":{expression:"30 9 * * *",nextRun:Ua(9,30),scheduleText:"已定时 09:30 执行"},"qimingclaw-daily-report":{expression:"0 18 * * *",nextRun:Ua(18,0),scheduleText:"已定时 18:00 执行"}},Yt="qimingclaw-runtime-projection";function pS(){return window.__QIMINGCLAW_EMBEDDED_DIGITAL__===!0}async function hS(t,a={}){var W,oe,be;if(!pS())return;const i=new URL(t,window.location.origin),s=(a.method||"GET").toUpperCase(),o=i.pathname;if(s==="GET"&&o==="/api/digital-employee/workday")return Uv(i.searchParams.get("date")||Fo(),await ge());if(s==="POST"&&o==="/api/digital-employee/workday/actions")return await Lj(en(a.body),await ge());const u=o.match(/^\/api\/(?:digital-employee\/)?managed-services\/([^/]+)\/restart$/);if(s==="POST"&&u)return await IS(decodeURIComponent(u[1]||""),Vn(a.body));const _=o.match(/^\/api\/digital-employee\/daily-reports\/([^/]+)$/);if(s==="GET"&&_){const q=decodeURIComponent(_[1]||"");return{item:Lg(await ge()).find(de=>m(de.report_id)===q||m(de.artifact_id)===q)??null,source:Yt}}if(s==="GET"&&o==="/api/digital-employee/daily-reports"){const q=Bw(Lg(await ge()),i.searchParams);return{...ii(q,i.searchParams),source:Yt}}if(s==="POST"&&o==="/api/digital-employee/daily-reports/delivery")return await Uj(en(a.body));if(s==="GET"&&o==="/api/digital-employee/skill-call-audits"){const q=Rw(Dw(await ge()),i.searchParams);return{...ii(q,i.searchParams),source:Yt}}if(s==="GET"&&o==="/api/digital-employee/artifact-access-events"){const q=$w(Sv(await ge()),i.searchParams);return{...ii(q,i.searchParams),source:Yt}}const g=o.match(/^\/api\/(?:digital-employee\/artifacts|artifact)\/([^/]+)\/access$/);if(s==="POST"&&g){const q=decodeURIComponent(g[1]||"");return await GS(q,Vn(a.body))}const p=o.match(/^\/api\/digital-employee\/artifacts\/([^/]+)\/retention$/);if(s==="POST"&&p){const q=decodeURIComponent(p[1]||"");return await KS(q,Vn(a.body),await ge())}const h=o.match(/^\/api\/digital-employee\/artifacts\/([^/]+)\/cleanup$/);if(s==="POST"&&h){const q=decodeURIComponent(h[1]||"");return await QS(q,Vn(a.body),await ge())}const k=o.match(/^\/api\/digital-employee\/artifacts\/([^/]+)\/versions$/);if(s==="GET"&&k){const q=decodeURIComponent(k[1]||""),re=await ge();return{items:vv(re,q),source:Yt}}const b=o.match(/^\/api\/digital-employee\/artifacts\/([^/]+)$/);if(s==="GET"&&b){const q=decodeURIComponent(b[1]||""),re=await ge();return{item:wm(re,q),source:Yt}}const A=o.match(/^\/api\/digital-employee\/plans\/([^/]+)$/);if(s==="GET"&&A){const q=decodeURIComponent(A[1]||"");return{item:gv(await ge()).find(de=>m(de.plan_id)===q||m(de.remote_id)===q)??null,source:Yt}}const O=o.match(/^\/api\/digital-employee\/approvals\/([^/]+)\/actions$/);if(s==="POST"&&O){const q=decodeURIComponent(O[1]||"");return await VS(q,Vn(a.body),await ge())}const C=o.match(/^\/api\/approval\/([^/]+)\/conflict\/resolve$/);if(s==="POST"&&C){const q=decodeURIComponent(C[1]||"");return await XS(q,Vn(a.body),await ge())}if(s==="GET"&&o==="/api/approval/subscriptions")return Ho(jl(await ge()));if(s==="PATCH"&&o==="/api/approval/subscriptions")return await ej(en(a.body),await ge());if(s==="GET"&&o==="/api/plan-step/dispatch-policy")return hs(jl(await ge()));if(s==="GET"&&o==="/api/risk-approval/policy")return Io(jl(await ge()));if(s==="PATCH"&&o==="/api/risk-approval/policy")return await nj(en(a.body),await ge());if(s==="POST"&&o==="/api/plan-step/dispatch-policy/pull")return await aj(await ge());if(s==="PATCH"&&o==="/api/plan-step/dispatch-policy")return await tj(en(a.body),await ge());if(s==="GET"&&o==="/api/digital-employee/plan-steps"){const q=Kf(nu(await ge()),i.searchParams);return{...ii(q,i.searchParams),source:Yt}}if(s==="GET"&&o==="/api/digital-employee/plan-step-graph"){const q=Kf(_v(await ge()),i.searchParams);return{...ii(q,i.searchParams),source:Yt}}if(s==="GET"&&o==="/api/digital-employee/approval-history"){const q=xv(kv(await ge()),i.searchParams);return{...ii(q,i.searchParams),source:Yt}}const R=o.match(/^\/api\/digital-employee\/(plans|plan-steps|plan-step-graph|tasks|runs|events|artifacts|approvals|approval-history|route-decisions|notifications|audits)$/);if(s==="GET"&&R)return _w(R[1],await ge(),i.searchParams);if(s==="GET"&&o==="/api/route-decisions")return await Zj(Number(i.searchParams.get("limit"))||80);if(s==="GET"&&o==="/api/route-decisions/interventions")return await Mm(Number(i.searchParams.get("limit"))||80);const j=o.match(/^\/api\/route-decisions\/([^/]+)\/intervention$/);if(s==="POST"&&j)return await Iv(decodeURIComponent(j[1]||""),en(a.body),await ge());if(s==="POST"&&o==="/api/ingress/route")return await e1(en(a.body),await ge());if(s==="POST"&&o==="/api/governance/command")return await Dl(en(a.body),await ge());if(s==="GET"&&o==="/api/scheduler/jobs")return{jobs:Lo(await ge())};if(s==="GET"&&o==="/api/cron")return{jobs:Lo(await ge())};if(s==="POST"&&o==="/api/cron")return await qS(en(a.body),await ge());if(s==="GET"&&o==="/api/cron/settings")return await RS();if(s==="PATCH"&&o==="/api/cron/settings"){const q=en(a.body);return await $S(q)}if(s==="POST"&&o==="/api/cron/check"){const q=await((be=(oe=(W=window.QimingClawBridge)==null?void 0:W.digital)==null?void 0:oe.runSchedulerCheck)==null?void 0:be.call(oe));return{ok:!0,activated:(q==null?void 0:q.activated)??0,...q}}const w=o.match(/^\/api\/cron\/([^/]+)\/runs$/);if(s==="GET"&&w)return{runs:await BS(decodeURIComponent(w[1]||""),Number(i.searchParams.get("limit"))||20)};const $=o.match(/^\/api\/cron\/([^/]+)$/);if((s==="PATCH"||s==="DELETE")&&$){const q=decodeURIComponent($[1]||"");if(s==="DELETE"){await lv("delete_schedule",q,{},await ge());return}return await LS(q,en(a.body),await ge())}if(s==="GET"&&o==="/api/debug/plans")return{plans:Tm(i.searchParams.get("q"),await ge())};if(s==="GET"&&o==="/api/debug/tasks"){const q=i.searchParams.get("plan_id");return xs(q,await ge())}if(s==="GET"&&o==="/api/debug/store")return rw(await ge());if(s==="GET"&&o==="/api/dashboard")return cw(await ge());if((s==="GET"||s==="POST")&&o==="/api/doctor")return km(await ge());if(s==="GET"&&o==="/api/cost")return{cost:fv(await ge())};if(s==="GET"&&o==="/api/audit")return{events:xm(await ge(),i.searchParams)};if(s==="GET"&&o==="/api/artifact")return{artifacts:pi(await ge())};const I=o.match(/^\/api\/approval\/([^/]+)\/timeline$/);if(s==="GET"&&I)return Nv(decodeURIComponent(I[1]||""),await ge());if(s==="GET"&&o==="/api/notifications")return Pw(i.searchParams.get("status"),await ge());if(s==="GET"&&o==="/api/notifications/preferences")return gs(jl(await ge()));if(s==="PATCH"&&o==="/api/notifications/preferences")return await Ww(en(a.body),await ge());if(s==="POST"&&o==="/api/notifications/updates/pull")return await jS();if(s==="POST"&&o==="/api/notifications/desktop")return await CS(Vn(a.body));if(s==="GET"&&o==="/api/notifications/desktop/status")return await AS();if(s==="POST"&&o==="/api/notifications/desktop/settings/open")return await NS();if(s==="GET"&&o==="/api/notifications/unread-count"){const q=await ge();return{count:Em(q,jl(q)).filter(re=>re.status==="unread").length}}const te=o.match(/^\/api\/notifications\/([^/]+)\/(read|dismiss|reply)$/);if(s==="POST"&&te)return await pj(decodeURIComponent(te[1]||""),te[2],Vn(a.body),await ge());if(s==="GET"&&o==="/api/memory")return{entries:await MS(i.searchParams.get("query"),i.searchParams.get("category"))};if(s==="POST"&&o==="/api/memory")return await zS(en(a.body));const ae=o.match(/^\/api\/memory\/([^/]+)$/);if(s==="DELETE"&&ae){await OS(decodeURIComponent(ae[1]||""));return}if(s==="GET"&&o.startsWith("/api/debug/plan/")&&o.endsWith("/flow"))return Kv(decodeURIComponent(o.split("/")[4]||""),await ge());if(s==="GET"&&o.startsWith("/api/debug/task/")&&o.endsWith("/flow"))return _1(decodeURIComponent(o.split("/")[4]||""),await ge());const ie=o.match(/^\/api\/digital-employee\/plans\/([^/]+)\/dispatch-ready-steps$/);if(s==="POST"&&ie)return await p1(decodeURIComponent(ie[1]||""),await ge());if(s==="POST"&&o.startsWith("/api/debug/plan/")&&o.endsWith("/dispatch"))return await Qv(decodeURIComponent(o.split("/")[4]||""),await ge());const L=o.match(/^\/api\/debug\/plan\/([^/]+)\/([^/]+)$/);if(s==="POST"&&L)return await Ug(decodeURIComponent(L[1]||""),decodeURIComponent(L[2]||""),await ge(),Vn(a.body));const le=o.match(/^\/api\/plan\/([^/]+)\/submit$/);if(s==="POST"&&le)return await Ug(decodeURIComponent(le[1]||""),"submit",await ge(),Vn(a.body));if(s==="GET"&&o.startsWith("/api/plan/")&&o.endsWith("/revisions"))return Xj(decodeURIComponent(o.split("/")[3]||""),await ge());const we=o.match(/^\/api\/task\/([^/]+)\/([^/]+)$/);if(s==="POST"&&we)return await Kj(decodeURIComponent(we[1]||""),decodeURIComponent(we[2]||""),await ge(),Vn(a.body));if(s==="GET"&&o.startsWith("/api/plan/")&&o.endsWith("/messages"))return{messages:h1(decodeURIComponent(o.split("/")[3]||""),await ge())};if(s==="GET"&&o==="/api/skill")return{skills:await vS()};if(s==="POST"&&o==="/api/skill/policies/pull")return await kS();if(s==="POST"&&o==="/api/risk-approval/policy/pull")return await xS();if(s==="POST"&&o==="/api/route-decision/policy/pull")return await SS();if(s==="POST"&&o==="/api/approval/updates/pull")return await wS();if(s==="POST"&&o.startsWith("/api/skill/")&&o.endsWith("/enabled")){const q=decodeURIComponent(o.split("/")[3]||""),re=en(a.body);return await bS(q,re.enabled??!0)}}function nv(){return{selectedDutyIdsByDate:{},confirmedDates:{},reportScheduleTime:oS,reportGeneratedAtByDate:{},decisionResultsByDate:{},notificationStateById:{},notificationPreferences:Dv(),approvalSubscriptionPreferences:Rv(),planStepDispatchPolicy:$v(),riskApprovalPolicy:Mv(),routeDecisionPolicy:Uo(),consoleRole:"sales",rolePreferences:{},profile:{name:"飞天数字员工",company:"qimingclaw 客户端",position:"客户端任务执行员",currentStatus:"working"}}}function bn(){try{const t=window.localStorage.getItem(ev);return ks(t?JSON.parse(t):{})}catch{return nv()}}function ks(t){return{...nv(),...t,notificationPreferences:gs(t),approvalSubscriptionPreferences:Ho(t),planStepDispatchPolicy:hs(t),riskApprovalPolicy:Io(t),routeDecisionPolicy:Go(t)}}function gS(t){window.localStorage.setItem(ev,JSON.stringify(t))}async function ge(){var t,a,i,s,o,u,_,g,p,h,k,b;try{const A=await((i=(a=(t=window.QimingClawBridge)==null?void 0:t.digital)==null?void 0:a.getSnapshot)==null?void 0:i.call(a))??null;if(!A)return null;const[O,C,R,j]=await Promise.all([((u=(o=(s=window.QimingClawBridge)==null?void 0:s.digital)==null?void 0:o.getSyncStatus)==null?void 0:u.call(o).catch(()=>null))??null,((p=(g=(_=window.QimingClawBridge)==null?void 0:_.digital)==null?void 0:g.getRuntimeRecords)==null?void 0:p.call(g).catch(()=>null))??null,_a(),((b=(k=(h=window.QimingClawBridge)==null?void 0:h.digital)==null?void 0:k.getPlanTemplates)==null?void 0:b.call(k).catch(()=>null))??null]);return{...A,sync:O,runtime:C,uiState:R,planTemplates:(j==null?void 0:j.templates)??[]}}catch{return null}}async function _a(){var t,a,i;try{return await((i=(a=(t=window.QimingClawBridge)==null?void 0:t.digital)==null?void 0:a.getUiState)==null?void 0:i.call(a))??null}catch{return null}}async function yS(){var t,a,i;try{const s=await((i=(a=(t=window.QimingClawBridge)==null?void 0:t.digital)==null?void 0:a.getSkillCapabilities)==null?void 0:i.call(a))??null;return Array.isArray(s==null?void 0:s.skills)?s.skills:[]}catch{return[]}}async function vS(){const t=await yS();return DS([...t,...mS])}async function bS(t,a){var s;const i=(s=window.QimingClawBridge)==null?void 0:s.digital;if(!(i!=null&&i.setSkillEnabled))return{ok:!1,skill_id:t,enabled:a,error:"qimingclaw_bridge_unavailable"};try{const o=await i.setSkillEnabled(t,a);return{ok:(o==null?void 0:o.ok)!==!1,skill_id:(o==null?void 0:o.skill_id)??t,enabled:(o==null?void 0:o.enabled)??a,...o!=null&&o.error?{error:o.error}:{}}}catch(o){return{ok:!1,skill_id:t,enabled:a,error:o instanceof Error?o.message:String(o)}}}async function kS(){var a;const t=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(t!=null&&t.pullSkillPolicies))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const i=await t.pullSkillPolicies();return{ok:(i==null?void 0:i.ok)!==!1,...i!=null&&i.skipped?{skipped:!0}:{},...i!=null&&i.error?{error:i.error}:{}}}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}}async function xS(){var a;const t=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(t!=null&&t.pullRiskApprovalPolicy))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const i=await t.pullRiskApprovalPolicy();return{ok:(i==null?void 0:i.ok)!==!1,...i!=null&&i.skipped?{skipped:!0}:{},...i!=null&&i.error?{error:i.error}:{}}}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}}async function SS(){var i;const t=Go(await _a()??bn()),a=(i=window.QimingClawBridge)==null?void 0:i.digital;if(!(a!=null&&a.pullRouteDecisionPolicy))return{ok:!1,policy:t,error:"qimingclaw_bridge_unavailable"};try{const s=await a.pullRouteDecisionPolicy();return{ok:(s==null?void 0:s.ok)!==!1,skipped:s==null?void 0:s.skipped,endpoint:(s==null?void 0:s.endpoint)??null,pulled_at:(s==null?void 0:s.pulled_at)??null,policy:Go({routeDecisionPolicy:(s==null?void 0:s.policy)??t}),error:(s==null?void 0:s.error)??null}}catch(s){return{ok:!1,policy:t,error:s instanceof Error?s.message:String(s)}}}async function wS(){var a;const t=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(t!=null&&t.pullApprovalUpdates))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const i=await t.pullApprovalUpdates();return(i==null?void 0:i.ok)!==!1&&await ES(await ge()),{ok:(i==null?void 0:i.ok)!==!1,applied:Number((i==null?void 0:i.applied)??0),ignored:Number((i==null?void 0:i.ignored)??0),conflicted:Number((i==null?void 0:i.conflicted)??0),...i!=null&&i.skipped?{skipped:!0}:{},...i!=null&&i.error?{error:i.error}:{}}}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}}async function jS(){var a;const t=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(t!=null&&t.pullNotificationUpdates))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const i=await t.pullNotificationUpdates();return{ok:(i==null?void 0:i.ok)!==!1,applied:Number((i==null?void 0:i.applied)??0),ignored:Number((i==null?void 0:i.ignored)??0),...i!=null&&i.skipped?{skipped:!0}:{},...i!=null&&i.error?{error:i.error}:{}}}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}}async function CS(t){var i;const a=(i=window.QimingClawBridge)==null?void 0:i.digital;if(!(a!=null&&a.showDesktopNotification))return{ok:!1,shown:!1,reason:"qimingclaw_bridge_unavailable"};try{const s=await a.showDesktopNotification(t);return{ok:(s==null?void 0:s.ok)!==!1,shown:(s==null?void 0:s.shown)===!0,...s!=null&&s.reason?{reason:s.reason}:{},...s!=null&&s.error?{error:s.error}:{}}}catch(s){return{ok:!1,shown:!1,error:s instanceof Error?s.message:String(s)}}}async function AS(){var a;const t=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(t!=null&&t.getDesktopNotificationStatus))return{supported:!1,platform:"unknown",can_open_settings:!1,reason:"qimingclaw_bridge_unavailable"};try{const i=await t.getDesktopNotificationStatus();return{supported:(i==null?void 0:i.supported)===!0,platform:m(i==null?void 0:i.platform)||"unknown",can_open_settings:(i==null?void 0:i.can_open_settings)===!0,reason:m(i==null?void 0:i.reason)||null}}catch(i){return{supported:!1,platform:"unknown",can_open_settings:!1,reason:i instanceof Error?i.message:String(i)}}}async function NS(){var a;const t=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(t!=null&&t.openDesktopNotificationSettings))return{success:!1,reason:"qimingclaw_bridge_unavailable"};try{const i=await t.openDesktopNotificationSettings();return{success:(i==null?void 0:i.success)===!0,platform:m(i==null?void 0:i.platform)||null,reason:m(i==null?void 0:i.reason)||null,error:m(i==null?void 0:i.error)||null}}catch(i){return{success:!1,error:i instanceof Error?i.message:String(i)}}}async function ES(t){const i=(await Mm(120)).interventions.filter(s=>s.intervention_status==="approved"&&s.approval_id&&!s.resolved_at).slice(0,5);for(const s of i)await Iv(s.route_decision_id,{approval_id:s.approval_id,decision:"approved",actor:"management-api"},t).catch(o=>{console.warn("[qimingclawAdapter] auto route intervention resolution failed:",o)})}async function Cl(t){var i;const a=(i=window.QimingClawBridge)==null?void 0:i.digital;if(!(a!=null&&a.evaluateRiskPolicy))return{ok:!0,decision:"allowed",action_kind:t.actionKind||"unknown_action",risk_level:t.riskLevel||"normal",reason_codes:["qimingclaw_bridge_unavailable"],status:"allowed"};try{return await a.evaluateRiskPolicy(t)}catch(s){return{ok:!0,decision:"allowed",action_kind:t.actionKind||"unknown_action",risk_level:t.riskLevel||"normal",reason_codes:["risk_policy_evaluation_failed"],status:"allowed",error:s instanceof Error?s.message:String(s)}}}async function TS(t){var i;const a=(i=window.QimingClawBridge)==null?void 0:i.digital;if(!(a!=null&&a.evaluateRouteDecisionPolicy))return{ok:!0,decision:"allowed",status:"allowed",policy_result:"accepted",route_kind:t.routeKind||"ChatOnly",intent_kind:Yo(t.intentKind),reason_codes:["qimingclaw_bridge_unavailable"],policy_source:"local",policy:Uo()};try{return await a.evaluateRouteDecisionPolicy(t)}catch(s){return{ok:!0,decision:"allowed",status:"allowed",policy_result:"accepted",route_kind:t.routeKind||"ChatOnly",intent_kind:Yo(t.intentKind),reason_codes:["route_policy_evaluation_failed"],policy_source:"local",policy:Uo(),error:s instanceof Error?s.message:String(s)}}}function Al(t){return t.decision==="allowed"?null:{ok:!1,status:t.decision,decision:t.decision,action_kind:t.action_kind,risk_level:t.risk_level,reason_codes:t.reason_codes??[],approval_id:t.approval_id??null,event_id:t.event_id??null,error:t.decision==="approval_required"?"risk_approval_required":"risk_policy_rejected"}}function DS(t){const a=new Set,i=[];for(const s of t){const o=typeof s.skill_id=="string"?s.skill_id.trim():"";!o||a.has(o)||(a.add(o),i.push({...s,skill_id:o}))}return i}async function Nl(t,a,i,s){var o,u,_;gS(t);try{return await((_=(u=(o=window.QimingClawBridge)==null?void 0:o.digital)==null?void 0:u.saveUiState)==null?void 0:_.call(u,{state:t,action:a,date:i,metadata:s}))??t}catch{return t}}async function da(t,a){var i,s,o,u,_,g,p,h,k,b,A,O,C,R,j,w,$,I,te,ae;try{await((ae=(s=(i=window.QimingClawBridge)==null?void 0:i.digital)==null?void 0:s.recordGovernanceCommand)==null?void 0:ae.call(s,{commandKind:t.command_kind,commandId:a.command_id,correlationId:a.correlation_id,planId:xe((o=a.result)==null?void 0:o.plan_id)||xe((u=t.context_refs)==null?void 0:u.plan_id)||xe((_=t.payload)==null?void 0:_.plan_id)||null,taskId:xe((g=a.result)==null?void 0:g.task_id)||xe((p=t.context_refs)==null?void 0:p.task_id)||xe((h=t.payload)==null?void 0:h.task_id)||null,runId:xe((k=a.result)==null?void 0:k.run_id)||xe((b=t.context_refs)==null?void 0:b.run_id)||xe((A=t.payload)==null?void 0:A.run_id)||xe((O=t.payload)==null?void 0:O.latest_run_id)||null,stepId:xe((C=a.result)==null?void 0:C.step_id)||xe((R=t.context_refs)==null?void 0:R.step_id)||xe((j=t.payload)==null?void 0:j.step_id)||xe((w=t.payload)==null?void 0:w.stepId)||null,scheduleId:xe(($=a.result)==null?void 0:$.schedule_id)||xe((I=t.context_refs)==null?void 0:I.schedule_id)||xe((te=t.payload)==null?void 0:te.schedule_id)||null,accepted:a.accepted,message:a.message,error:a.error??null,payload:t.payload??null,result:a.result??null}))}catch{}}async function RS(){var t,a,i;try{return await((i=(a=(t=window.QimingClawBridge)==null?void 0:t.digital)==null?void 0:a.getCronSettings)==null?void 0:i.call(a))??Oo()}catch{return Oo()}}async function $S(t){var a,i,s;try{return await((s=(i=(a=window.QimingClawBridge)==null?void 0:a.digital)==null?void 0:i.saveCronSettings)==null?void 0:s.call(i,t))??{...Oo(),...t}}catch{return{...Oo(),...t}}}async function MS(t,a){var i,s,o;try{return(await((o=(s=(i=window.QimingClawBridge)==null?void 0:i.digital)==null?void 0:s.listMemories)==null?void 0:o.call(s,{query:t||void 0,category:a||void 0,limit:300}))??[]).map(av)}catch{return[]}}async function zS(t){var u,_,g;const a=xe(t.key),i=xe(t.content??t.text),s=xe(t.category)||"fact";if(!i)return{ok:!0,entry:null};const o=await((g=(_=(u=window.QimingClawBridge)==null?void 0:u.digital)==null?void 0:_.addMemory)==null?void 0:g.call(_,{key:a||void 0,content:i,category:s,source:"qimingclaw-digital-page",payload:{source:"embedded-memory-api",key:a||null}}))??null;return{ok:!0,entry:o?av(o):null}}async function OS(t){var a,i,s;try{await((s=(i=(a=window.QimingClawBridge)==null?void 0:a.digital)==null?void 0:i.deleteMemory)==null?void 0:s.call(i,t))}catch{}}function av(t){return{id:t.id,key:t.key||t.id,content:t.content,category:t.category||"fact",timestamp:t.updatedAt||t.createdAt||new Date().toISOString(),session_id:t.sessionId??null,score:typeof t.score=="number"?t.score:null}}function Oo(){return{enabled:!0,catch_up_on_startup:!0,max_run_history:100,max_catch_up_runs:5,max_concurrent_schedule_runs:1}}async function qS(t,a){const i=Date.now(),s=xe(t.id)||xe(t.schedule_id)||`cron-${dt(xe(t.name)||"job")}-${i}`;await Dl({command_kind:"create_schedule",context_refs:{schedule_id:s,plan_id:xe(t.plan_id)||xe(t.template_id)||void 0},payload:{...t,schedule_id:s,cron_expr:xe(t.schedule)||xe(t.cron_expr)},correlation_id:`qimingclaw-cron-create-${i}`,idempotency_key:`qimingclaw-cron-create-${s}-${i}`},a);const o=await ge();return{status:"created",job:Lo(o).find(u=>u.id===s)??iv(s,t)}}async function LS(t,a,i){await lv("update_schedule",t,a,i);const s=await ge();return{status:"updated",job:Lo(s).find(o=>o.id===t)??iv(t,a)}}async function lv(t,a,i,s){const o=Date.now();return Dl({command_kind:t,context_refs:{schedule_id:a,plan_id:xe(i.plan_id)||xe(i.template_id)||void 0},payload:{...i,schedule_id:a,cron_expr:xe(i.schedule)||xe(i.cron_expr)},correlation_id:`qimingclaw-cron-${t}-${o}`,idempotency_key:`qimingclaw-cron-${t}-${a}-${o}`},s)}function iv(t,a){const i=new Date().toISOString(),s=xe(a.schedule)||xe(a.cron_expr)||"0 9 * * *";return{id:t,name:xe(a.name)||t,expression:s,command:xe(a.command)||`digital-employee:${t}`,prompt:xe(a.prompt)||null,job_type:xe(a.job_type)||"qimingclaw_schedule",schedule:{expression:s,schedule_id:t},enabled:a.enabled!==!1,delivery:{mode:"qimingclaw_schedule",schedule_id:t},template_id:xe(a.template_id)||xe(a.plan_id)||t,trigger_kind:"scheduled",delete_after_run:a.delete_after_run===!0,created_at:i,next_run:i,last_run:null,last_status:null,last_output:null}}async function BS(t,a){var s,o,u;return(await((u=(o=(s=window.QimingClawBridge)==null?void 0:s.digital)==null?void 0:o.getScheduleRuns)==null?void 0:u.call(o,t,a).catch(()=>[]))??[]).map((_,g)=>({id:Number.isFinite(Date.parse(_.createdAt))?Date.parse(_.createdAt)+g:g+1,job_id:_.scheduleId,started_at:_.startedAt||_.createdAt,finished_at:_.finishedAt||"",status:_.status,output:_.error||null,duration_ms:_.startedAt&&_.finishedAt?Math.max(0,Date.parse(_.finishedAt)-Date.parse(_.startedAt)):null}))}function en(t){return typeof t!="string"||!t.trim()?{}:JSON.parse(t)}function Vn(t){return en(t)}function Fo(){const t=new Date;return[t.getFullYear(),String(t.getMonth()+1).padStart(2,"0"),String(t.getDate()).padStart(2,"0")].join("-")}function Ua(t,a){const i=new Date;return i.setHours(t,a,0,0),i.toISOString()}function Ao(t){return t.split("-").join("/")}function qo(t){if(!t)return"未知";const a=new Date(t);return Number.isNaN(a.getTime())?t:new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit"}).format(a)}function sv(t,a){return new Set(t.selectedDutyIdsByDate[a]??[])}function rv(t){return["completed","succeeded","success"].includes(t)?"success":["running","active"].includes(t)?"running":["failed","error"].includes(t)?"danger":"waiting"}function Nr(t,a){var i;return((i=t==null?void 0:t.services[a])==null?void 0:i.running)===!0}function Er(t,a){var i;return(i=t==null?void 0:t.services[a])==null?void 0:i.error}function US(t,a){return a?t.plan_id==="qimingclaw-client-readiness"?Nr(a,"agent")&&Nr(a,"mcp")?"running":Er(a,"agent")||Er(a,"mcp")?"failed":"pending":t.plan_id==="qimingclaw-remote-task-ingress"?Nr(a,"computerServer")||Nr(a,"lanproxy")||Nr(a,"fileServer")?"running":Er(a,"computerServer")||Er(a,"lanproxy")||Er(a,"fileServer")?"failed":"pending":t.status:t.status}function wl(t,a,i){const s=t==null?void 0:t.services[a];if(!s)return`${i}:未连接`;if(s.running){const o=s.port?`(端口 ${s.port})`:"";return`${i}:运行中${o}`}return`${i}:未运行${s.error?`,${s.error}`:""}`}function oi(t){const a=(t==null?void 0:t.managedServices)??[];return a.length>0?a.map(i=>({service_id:i.serviceId,name:i.name,kind:i.kind,status:i.status,status_label:i.statusLabel,running:i.running,error:i.error??null,requires_human_action:i.requiresHumanAction,dependent_tasks:i.dependentTasks??[],restart_count:i.restartCount??0,last_seen_at:i.lastSeenAt,instance:i.instance,lease:i.lease})):[os(t,"agent","Agent","agent",["ACP 会话执行","Plan Agent"]),os(t,"mcp","MCP Proxy","mcp",["Skill Catalog","MCP 工具调用"]),os(t,"computerServer","Computer Server","desktop",["/computer/chat","远程任务接入"]),os(t,"fileServer","File Server","file",["Artifact 上传","文件交付"]),os(t,"lanproxy","Lanproxy","network",["远程访问","管理端回连"]),os(t,"guiServer","GUI Agent Server","gui",["GUI 自动化"])]}function os(t,a,i,s,o){const u=t==null?void 0:t.services[a],_=(u==null?void 0:u.running)===!0,g=u!=null&&u.error?"degraded":_?"running":"stopped";return{service_id:a,name:i,kind:s,status:g,status_label:g==="running"?"运行中":g==="degraded"?"异常":"未运行",running:_,error:(u==null?void 0:u.error)??null,requires_human_action:!!(u!=null&&u.error),dependent_tasks:o,restart_count:0,last_seen_at:(t==null?void 0:t.generatedAt)??new Date().toISOString(),instance:u?{port:u.port,engineType:u.engineType,serverCount:u.serverCount,serverNames:u.serverNames}:void 0,lease:{state:g==="running"?"active":g,updatedAt:(t==null?void 0:t.generatedAt)??new Date().toISOString()}}}function HS(t){const a=t.dependent_tasks.length>0?`;依赖任务:${t.dependent_tasks.slice(0,2).join("、")}`:"";return`${t.name}:${t.status_label}${t.error?`,${t.error}`:""}${a}`}function Rg(t){const a=t.filter(s=>s.running).length,i=t.filter(s=>s.requires_human_action||s.status==="degraded").length;return`ManagedService:${a}/${t.length} 运行,${i} 项需处理`}async function IS(t,a){var u;const i=await Cl({actionKind:`managed_service.restart.${t}`,actionLabel:`重启服务:${t}`,riskLevel:"high",reasonCodes:["managed_service_restart"],actor:m(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",correlationId:`managed-service:${t}:restart`,payload:{service_id:t,reason:m(a.reason)||null}}),s=Al(i);if(s){const _=await ge();return{ok:!1,service_id:t,action:"restart",status:s.status==="approval_required"?"rejected":"failed",error:String(s.error||s.status||"risk_policy_blocked"),managed_service:oi(_).find(g=>g.service_id===t)??null,event_id:m(s.event_id)||null}}const o=(u=window.QimingClawBridge)==null?void 0:u.digital;if(!(o!=null&&o.restartManagedService)){const _=await ge();return{ok:!1,service_id:t,action:"restart",status:"failed",error:"bridge_unavailable",managed_service:oi(_).find(g=>g.service_id===t)??null}}try{const _=await o.restartManagedService(t,{reason:m(a.reason)||"digital_employee_managed_service_restart",actor:m(a.actor)||"digital_employee_ui"}),g=await ge();return{..._,managed_service:_.managed_service??oi(g).find(p=>p.service_id===t)??null}}catch(_){const g=await ge();return{ok:!1,service_id:t,action:"restart",status:"failed",error:_ instanceof Error?_.message:String(_),managed_service:oi(g).find(p=>p.service_id===t)??null}}}async function GS(t,a){var _;const i=(_=window.QimingClawBridge)==null?void 0:_.digital,s=YS(m(a.action)),o=await Cl({actionKind:`artifact.access.${s}`,actionLabel:`访问产物:${s}`,riskLevel:s==="download"||s==="open_location"?"high":"medium",reasonCodes:["artifact_access"],actor:m(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",correlationId:`artifact:${t}:${s}`,payload:{artifact_id:t,action:s}}),u=Al(o);if(u)return{ok:!1,artifact_id:t,action:s,status:"rejected",error:String(u.error||u.status||"risk_policy_blocked"),reason_codes:Array.isArray(u.reason_codes)?u.reason_codes.map(String):["risk_policy_blocked"],event_id:m(u.event_id)||null};if(!(i!=null&&i.accessArtifact))return{ok:!1,artifact_id:t,action:s,status:"rejected",error:"bridge_unavailable",reason_codes:["bridge_unavailable"]};try{return await i.accessArtifact(t,s,{actor:m(a.actor)||"digital_employee_ui",source:m(a.source)||"sgrobot-digital-adapter"})}catch(g){return{ok:!1,artifact_id:t,action:s,status:"rejected",error:g instanceof Error?g.message:String(g),reason_codes:["artifact_access_failed"]}}}function YS(t){return t==="download"||t==="open_location"?t:"preview"}async function KS(t,a,i){var h;const s=(h=window.QimingClawBridge)==null?void 0:h.digital,o=m(a.action)||"mark_review",u=wm(i,t),_=await Cl({actionKind:`artifact.retention.${o}`,actionLabel:`调整产物保留策略:${o}`,riskLevel:o==="mark_expire"||o==="clear_retention"?"high":"medium",reasonCodes:["artifact_retention"],actor:m(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:u&&m(u.plan_id)||null,taskId:u&&m(u.task_id)||null,runId:u&&m(u.run_id)||null,correlationId:`artifact:${t}:retention:${o}`,payload:{artifact_id:t,action:o}}),g=Al(_);if(g)return{...g,artifact_id:t,action:o,item:u};if(!(s!=null&&s.recordArtifactLifecycle))return{ok:!1,artifact_id:t,action:o,status:"rejected",error:"bridge_unavailable"};const p=await s.recordArtifactLifecycle({artifactId:t,action:o,reason:m(a.reason)||null,retentionUntil:m(a.retention_until??a.retentionUntil)||null,versionSummary:u?Ow(u):null,retentionSummary:u?Mw(u,o,a):null,deliverySummary:u?lu(u):null,actor:m(a.actor)||"digital_employee_ui",source:m(a.source)||"sgrobot-digital-adapter",planId:u&&m(u.plan_id)||null,taskId:u&&m(u.task_id)||null,runId:u&&m(u.run_id)||null});return{ok:!!(p&&p.kind!=="artifact_retention_rejected"),artifact_id:t,action:o,status:(p==null?void 0:p.kind)==="artifact_retention_rejected"?"rejected":"recorded",event_id:(p==null?void 0:p.eventId)??null,item:u}}async function QS(t,a,i){var g;const s=(g=window.QimingClawBridge)==null?void 0:g.digital,o=wm(i,t),u=await Cl({actionKind:"artifact.cleanup.delete_local_file",actionLabel:"清理产物本地文件",riskLevel:"high",reasonCodes:["artifact_cleanup"],actor:m(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:o&&m(o.plan_id)||null,taskId:o&&m(o.task_id)||null,runId:o&&m(o.run_id)||null,correlationId:`artifact:${t}:cleanup`,payload:{artifact_id:t,retention_status:m(o==null?void 0:o.retention_status)||null}}),_=Al(u);if(_)return{..._,artifact_id:t,status:"rejected",item:o};if(!(s!=null&&s.cleanupArtifact))return{ok:!1,artifact_id:t,status:"rejected",error:"bridge_unavailable",reason_codes:["bridge_unavailable"],item:o};try{return{...await s.cleanupArtifact(t,{actor:m(a.actor)||"digital_employee_ui",source:m(a.source)||"sgrobot-digital-adapter",reason:m(a.reason)||"digital_employee_artifact_cleanup",retentionStatus:m(a.retention_status??a.retentionStatus)||m(o==null?void 0:o.retention_status)||null,lastRetentionAction:m(a.last_retention_action??a.lastRetentionAction)||m(o==null?void 0:o.last_retention_action)||null}),item:o}}catch(p){return{ok:!1,artifact_id:t,status:"failed",error:p instanceof Error?p.message:String(p),reason_codes:["artifact_cleanup_failed"],item:o}}}async function VS(t,a,i){var h;const s=(h=window.QimingClawBridge)==null?void 0:h.digital,o=m(a.action)||"comment",u=bv(i,t),_=await Cl({actionKind:`approval.action.${o}`,actionLabel:`审批治理动作:${o}`,riskLevel:o==="mark_risk"||o==="delegate"||o==="mark_timeout"?"medium":"normal",reasonCodes:["approval_action"],actor:m(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:u&&m(u.plan_id)||null,taskId:u&&m(u.task_id)||null,runId:u&&m(u.run_id)||null,correlationId:`approval:${t}:action:${o}`,payload:{approval_id:t,action:o}}),g=Al(_);if(g)return{...g,approval_id:t,action:o,item:u};if(!(s!=null&&s.recordApprovalAction))return{ok:!1,approval_id:t,action:o,status:"rejected",error:"bridge_unavailable"};const p=await s.recordApprovalAction({approvalId:t,action:o,comment:m(a.comment)||null,delegateTo:m(a.delegate_to??a.delegateTo)||null,delegateLabel:m(a.delegate_label??a.delegateLabel)||null,dueAt:m(a.due_at??a.dueAt)||null,riskLevel:m(a.risk_level??a.riskLevel)||null,reason:m(a.reason)||null,actor:m(a.actor)||"digital_employee_ui",source:m(a.source)||"sgrobot-digital-adapter",planId:u&&m(u.plan_id)||null,taskId:u&&m(u.task_id)||null,runId:u&&m(u.run_id)||null});return{ok:!!(p&&p.kind!=="approval_action_rejected"),approval_id:t,action:o,status:(p==null?void 0:p.kind)==="approval_action_rejected"?"rejected":"recorded",event_id:(p==null?void 0:p.eventId)??null,item:u}}async function XS(t,a,i){var h;const s=(h=window.QimingClawBridge)==null?void 0:h.digital,o=m(a.resolution)||"mark_reviewed",u=bv(i,t),_=await Cl({actionKind:`approval.conflict.resolve.${o}`,actionLabel:`审批冲突裁决:${o}`,riskLevel:o==="accept_remote"?"medium":"normal",reasonCodes:["approval_conflict_resolution"],actor:m(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:u&&m(u.plan_id)||null,taskId:u&&m(u.task_id)||null,runId:u&&m(u.run_id)||null,correlationId:`approval:${t}:conflict:${o}`,payload:{approval_id:t,resolution:o}}),g=Al(_);if(g)return{...g,approval_id:t,resolution:o,item:u};if(!(s!=null&&s.resolveApprovalConflict))return{ok:!1,approval_id:t,resolution:o,status:"rejected",error:"bridge_unavailable",reason_codes:["bridge_unavailable"],item:u};const p=await s.resolveApprovalConflict({approvalId:t,resolution:o,actor:m(a.actor)||"digital_employee_ui",comment:m(a.comment)||null});return{...p,ok:(p==null?void 0:p.ok)===!0,approval_id:(p==null?void 0:p.approval_id)||t,resolution:(p==null?void 0:p.resolution)??o,item:u}}function Po(t){const a=t==null?void 0:t.sync;return a?a.enabled?a.endpoint?a.syncing?`管理端同步:同步中,待同步 ${a.pending} 条`:a.failed>0?`管理端同步:${a.failed} 条失败,待同步 ${a.pending} 条`:a.pending>0?`管理端同步:待同步 ${a.pending} 条`:a.lastSyncAt?`管理端同步:已同步,最近 ${a.lastSyncAt}`:"管理端同步:等待本地数据":"管理端同步:未配置地址":"管理端同步:已停用":"管理端同步:未连接"}function ZS(t){return String(t||"").replace(/\s+/g," ").trim()}function Mn(t){var a;return((a=t==null?void 0:t.runtime)==null?void 0:a.plans)??[]}function mi(t){var a;return((a=t==null?void 0:t.runtime)==null?void 0:a.planSteps)??[]}function wt(t){var a;return((a=t==null?void 0:t.runtime)==null?void 0:a.tasks)??[]}function zn(t){var a;return((a=t==null?void 0:t.runtime)==null?void 0:a.runs)??[]}function rt(t){var a;return((a=t==null?void 0:t.runtime)==null?void 0:a.events)??[]}function Wo(t){var a;return((a=t==null?void 0:t.runtime)==null?void 0:a.artifacts)??[]}function Ir(t){var a;return((a=t==null?void 0:t.runtime)==null?void 0:a.approvals)??[]}function El(t){return Mn(t).length>0||mi(t).length>0||wt(t).length>0||Wo(t).length>0||Ir(t).length>0}function ym(t,a){const i=[t.updatedAt,...a.map(s=>s.updatedAt)].filter(Boolean).sort();return i[i.length-1]??t.updatedAt??t.createdAt}function st(t){const a=t.toLowerCase();return["completed","succeeded","success","done"].includes(a)?"success":["failed","error","rejected","cancelled"].includes(a)?"danger":["running","active","leased","syncing"].includes(a)?"running":"waiting"}function Jn(t){const a=t.toLowerCase();if(a==="ready")return"待启动";if(a==="blocked")return"依赖阻塞";if(a==="skipped")return"已跳过";if(a==="cancelled")return"已取消";if(a==="paused")return"已暂停";const i=st(t);return i==="success"?"已完成":i==="danger"?"异常":i==="running"?"执行中":"待执行"}function Gr(t,a){return wt(t).filter(i=>i.planId===a)}function cv(t,a){return mi(t).filter(i=>i.planId===a).sort((i,s)=>i.seq-s.seq||i.createdAt.localeCompare(s.createdAt))}function Ya(t){const a=se(t.payload);return m((a==null?void 0:a.stepId)??(a==null?void 0:a.step_id))||(t.planId?`${t.planId}:runtime`:"qimingclaw-runtime")}function eu(t,a){return a.some(i=>st(i.status)==="danger")?"failed":a.some(i=>st(i.status)==="running")?"running":a.length>0&&a.every(i=>st(i.status)==="success")?"completed":t.status||"pending"}function JS(t){return Mn(t).map(a=>{const i=Gr(t,a.id),s=eu(a,i),o=rv(s),u=i.filter(g=>st(g.status)==="danger").length,_=i.filter(g=>st(g.status)==="running").length;return{agent_id:`plan-agent-${dt(a.id)}`,plan_id:a.id,title:a.title,lifecycle:s,status_label:uv(s),status_tone:o,managed_task_count:i.length,running_task_count:_,failed_task_count:u,next_action:u>0?"review_failures":_>0?"monitor_runs":o==="success"?"archive_results":"activate_plan",can_replan:u>0,can_pause:_>0,can_resume:s==="paused",updated_at:ym(a,i)}})}function FS(t){const a=zn(t);return wt(t).map(i=>{const s=tu(a,i.id),o=st(i.status),u=i.status.toLowerCase(),_=Ya(i);return{agent_id:`task-agent-${dt(i.id)}`,task_id:i.id,plan_id:i.planId??null,step_id:_,title:i.title,execution_state:i.status,status_label:Jn(i.status),status_tone:o,assigned_skill_id:i.assignedSkillId??null,latest_run_id:(s==null?void 0:s.id)??null,can_retry:["failed","cancelled","skipped"].includes(u),can_skip:["pending","running"].includes(u),can_cancel:["pending","running","paused"].includes(u),next_action:PS(u,o),updated_at:(s==null?void 0:s.updatedAt)??i.updatedAt}})}function PS(t,a){return["failed","cancelled","skipped"].includes(t)?"retry_or_review":t==="paused"?"resume_or_cancel":a==="running"?"watch_progress":a==="success"?"collect_artifacts":"start_run"}function tu(t,a){return t.filter(s=>s.taskId===a).sort((s,o)=>(o.updatedAt||o.createdAt).localeCompare(s.updatedAt||s.createdAt))[0]??null}function WS(t,a){const i=Gr(a,t.id),s=cv(a,t.id),o=eu(t,i),u=new Set(s.map(p=>p.id)),_=i.filter(p=>!u.has(Ya(p))),g=s.length>0?[...s.map(p=>ov(p,i)),..._.length>0?[$g(t.id,_)]:[]]:[$g(t.id,i)];return{plan_id:t.id,title:t.title,objective:t.objective??void 0,status:o,created_at:t.createdAt,updated_at:ym(t,i),source:t.source,sync_status:t.syncStatus,steps:g}}function ov(t,a){return{step_id:t.id,title:t.title,depends_on:t.dependsOn,preferred_skills:t.preferredSkillIds,tasks:a.filter(i=>Ya(i)===t.id).map(i=>({task_id:i.id,title:i.title,status:i.status}))}}function $g(t,a){return{step_id:`${t}:runtime`,title:"qimingclaw 执行记录",depends_on:[],preferred_skills:[...new Set(a.map(i=>i.assignedSkillId).filter(i=>!!i))],tasks:a.map(i=>({task_id:i.id,title:i.title,status:i.status}))}}function ew(t){return{task_id:t.id,title:t.title,status:t.status,plan_id:t.planId??null,step_id:Ya(t),assigned_skill_id:t.assignedSkillId??"",description:t.syncError??"",created_at:t.createdAt,updated_at:t.updatedAt,started_at:t.createdAt,finished_at:st(t.status)==="success"||st(t.status)==="danger"?t.updatedAt:null,error_message:t.syncError??null,sync_status:t.syncStatus}}function tw(t,a){return{run_id:t.id,task_id:t.taskId??"",plan_id:t.planId??null,skill_id:void 0,attempt_no:1,lifecycle:st(t.status)==="success"?"Succeeded":st(t.status)==="danger"?"Failed":st(t.status)==="running"?"Running":t.status,created_at:t.startedAt??t.createdAt,completed_at:t.finishedAt??null,events:a.filter(i=>i.runId===t.id).map(i=>({event_id:i.id,kind:i.kind,occurred_at:i.occurredAt,message:i.message})),artifacts:qv(t,a),sync_status:t.syncStatus}}function Yr(t){const a=ZS(t.error),i=a.length>120?`${a.slice(0,120)}...`:a,s=t.dueForRetry?"等待补偿":t.nextRetryAt?`下次重试 ${t.nextRetryAt}`:"等待重试";return`${t.entityType}/${t.operation} ${t.id} 重试 ${t.attempts} 次,${s}${i?`,${i}`:""}`}function Kr(t,a){return{...t,status:US(t,a)}}function uv(t){return t==="running"?"执行中":t==="completed"||t==="succeeded"?"已完成":t==="failed"?"异常":"待执行"}function vm(t){const a=Mn(t);if(a.length>0)return a.map(s=>WS(s,t));const i=wt(t);return i.length===0?[]:i.map(s=>({plan_id:s.id,title:s.title,objective:"未绑定 Plan 的 qimingclaw 本地任务记录。",status:s.status,created_at:s.createdAt,updated_at:s.updatedAt,source:"qimingclaw",sync_status:s.syncStatus,steps:[{step_id:`${s.id}:runtime`,title:"qimingclaw 执行记录",depends_on:[],preferred_skills:s.assignedSkillId?[s.assignedSkillId]:[],tasks:[{task_id:s.id,title:s.title,status:s.status}]}]}))}function Ga(t){const a=(t==null?void 0:t.planTemplates)??[],i=new Map;for(const s of[...a,..._S])i.has(s.plan_id)||i.set(s.plan_id,s);return Array.from(i.values())}function bm(t){const a=new Map;for(const i of[...vm(t),...Ga(t).map(s=>Kr(s,t))])a.has(i.plan_id)||a.set(i.plan_id,i);return Array.from(a.values())}function nw(t,a){var o;const i=Kr(t,a),s=zo[t.plan_id]??zo["qimingclaw-client-readiness"];return{id:`schedule-${t.plan_id}`,name:t.title,expression:s.expression,command:`digital-employee:${t.plan_id}`,prompt:t.objective??null,job_type:"plan_template",schedule:{expression:s.expression,template_id:t.plan_id},enabled:!0,delivery:{mode:"plan_template",template_id:t.plan_id},template_id:t.plan_id,trigger_kind:"scheduled",step_count:((o=t.steps)==null?void 0:o.length)??0,skill_ids:[...new Set((t.steps??[]).flatMap(u=>u.preferred_skills??[]))],delete_after_run:!1,created_at:t.created_at,next_run:s.nextRun,last_run:i.status==="running"?Ua(9,5):null,last_status:i.status==="running"?"running":null,last_output:null}}function aw(t,a){var u,_;const i=t.planId?bm(a).find(g=>g.plan_id===t.planId):null,o=(((u=a==null?void 0:a.runtime)==null?void 0:u.scheduleRuns)??[]).find(g=>g.scheduleId===t.id);return{id:t.id,name:t.name,expression:t.cronExpr,command:t.command||`digital-employee:${t.planId||t.id}`,prompt:t.prompt??t.description??null,job_type:"qimingclaw_schedule",schedule:{mode:"qimingclaw_schedule",schedule_id:t.id,plan_id:t.planId,expression:t.cronExpr,timezone:t.timezone,status:t.status,failure_count:t.failureCount,last_error:t.lastError},enabled:t.enabled&&t.status==="enabled"&&!t.deletedAt,delivery:{mode:"qimingclaw_schedule",schedule_id:t.id,plan_id:t.planId},template_id:t.planId??t.id,trigger_kind:"scheduled",step_count:((_=i==null?void 0:i.steps)==null?void 0:_.length)??0,skill_ids:[...new Set(((i==null?void 0:i.steps)??[]).flatMap(g=>g.preferred_skills??[]))],delete_after_run:!1,created_at:t.createdAt,next_run:t.nextRunAt||t.updatedAt,last_run:t.lastRunAt??(o==null?void 0:o.finishedAt)??(o==null?void 0:o.startedAt)??null,last_status:(o==null?void 0:o.status)??(t.lastError?"failed":null),last_output:(o==null?void 0:o.error)??t.lastError??null}}function Lo(t=null){var s;const a=(((s=t==null?void 0:t.runtime)==null?void 0:s.schedules)??[]).filter(o=>o.status!=="deleted").map(o=>aw(o,t)),i=Ga(t).map(o=>nw(o,t));if(a.length>0){const o=new Set(a.map(u=>u.template_id));return[...a,...i.filter(u=>!o.has(u.template_id))]}if(El(t)){const o=vm(t).map(_=>{var g;return{id:`runtime-${_.plan_id}`,name:_.title,expression:"",command:`qimingclaw-runtime:${_.plan_id}`,prompt:_.objective??null,job_type:"qimingclaw_runtime",schedule:{mode:"runtime_record",plan_id:_.plan_id},enabled:!0,delivery:{mode:"qimingclaw_runtime",plan_id:_.plan_id},template_id:_.plan_id,trigger_kind:"runtime_record",step_count:((g=_.steps)==null?void 0:g.length)??0,skill_ids:[...new Set((_.steps??[]).flatMap(p=>p.preferred_skills??[]))],delete_after_run:!1,created_at:_.created_at,next_run:_.updated_at??_.created_at,last_run:_.updated_at??_.created_at,last_status:_.status,last_output:null}}),u=new Set(o.map(_=>_.template_id));return[...o,...i.filter(_=>!u.has(_.template_id))]}return i}function lw(t,a,i){const s=sv(t,a);if(El(i)){const o=Mn(i),u=wt(i).filter(h=>!h.planId),_=o.map((h,k)=>{const b=Gr(i,h.id),A=eu(h,b),O=b.filter(j=>st(j.status)==="success").length,C=b.filter(j=>st(j.status)==="danger").length,R=s.size===0?k<3:s.has(h.id);return{id:h.id,title:h.title,summary:h.objective||"qimingclaw 本地执行记录已同步到数字员工。",implemented:!0,selectable:!0,selected:R,status:A,status_label:Jn(A),status_tone:st(A),schedule_text:b.length>0?`最近更新 ${qo(ym(h,b))}`:"等待任务记录",result_text:b.length>0?`${b.length} 项任务,${O} 项完成,${C} 项异常`:`同步状态:${h.syncStatus}`,conversation_id:h.id}}),g=u.map((h,k)=>({id:h.id,title:h.title,summary:"未绑定 Plan 的 qimingclaw 本地任务记录。",implemented:!0,selectable:!0,selected:s.size===0?_.length+k<3:s.has(h.id),status:h.status,status_label:Jn(h.status),status_tone:st(h.status),schedule_text:`最近更新 ${qo(h.updatedAt)}`,result_text:h.syncError||`同步状态:${h.syncStatus}`,conversation_id:h.id})),p=new Set([..._,...g].map(h=>h.id));return[..._,...g,...Mg(t,a,i).filter(h=>!p.has(h.id))]}return Mg(t,a,i)}function Mg(t,a,i){const s=sv(t,a);return Ga(i).map(o=>{const u=Kr(o,i),_=zo[u.plan_id]??zo["qimingclaw-client-readiness"];return{id:u.plan_id,title:u.title,summary:u.objective??"等待 qimingclaw 执行链路补充任务说明。",implemented:!0,selectable:!0,selected:s.has(u.plan_id),status:u.status,status_label:uv(u.status),status_tone:rv(u.status),schedule_text:_.scheduleText,result_text:dv(u,i),conversation_id:u.plan_id}})}function dv(t,a){return t.plan_id==="qimingclaw-client-readiness"?[wl(a,"agent","Agent"),wl(a,"mcp","MCP"),`活跃会话:${(a==null?void 0:a.sessions.active)??0}`].join(";"):t.plan_id==="qimingclaw-remote-task-ingress"?[wl(a,"computerServer","Computer Server"),wl(a,"lanproxy","Lanproxy"),wl(a,"fileServer","File Server")].join(";"):t.status==="running"?"正在同步客户端运行状态":"等待任务执行"}function Ka(t,a=null){const i=Ga(a).filter(s=>!t||s.plan_id===t).map(s=>Kr(s,a)).flatMap(iw);if(El(a)){const s=wt(a).filter(u=>!t||u.planId===t||u.id===t).map(ew),o=new Set(s.map(u=>u.task_id));return[...s,...i.filter(u=>!o.has(u.task_id))]}return i}function iw(t){return(t.steps??[]).flatMap(a=>(a.tasks??[]).map(i=>{var s;return{task_id:i.task_id,title:i.title,status:t.status==="running"&&i.status==="pending"?"running":i.status,plan_id:t.plan_id,step_id:a.step_id,assigned_skill_id:((s=a.preferred_skills)==null?void 0:s[0])??"",description:`${t.title} · ${a.title}`,created_at:t.created_at,updated_at:t.status==="running"?new Date().toISOString():t.created_at,started_at:i.status==="running"?Ua(9,5):null,finished_at:i.status==="completed"?Ua(9,10):null}}))}function sw(t){return t.filter(a=>a.status==="running"||a.status==="completed").map((a,i)=>({run_id:`qimingclaw-run-${i+1}`,task_id:a.task_id,plan_id:a.plan_id,skill_id:a.assigned_skill_id,attempt_no:1,lifecycle:a.status==="running"?"Running":"Succeeded",created_at:a.started_at??a.created_at,completed_at:a.finished_at,events:[{event_id:`${a.task_id}-event-start`,kind:"RunStarted",occurred_at:a.started_at??a.created_at,message:`${a.title} 已进入 qimingclaw 执行链路`}]}))}function xs(t,a=null){const i=Ka(t,a);if(El(a)){const s=new Set(i.map(u=>u.task_id)),o=zn(a).filter(u=>!u.taskId||s.has(u.taskId)).map(u=>tw(u,rt(a)));return{tasks:i,runs:o,total:i.length,truncated:!1}}return{tasks:i,runs:sw(i),total:i.length,truncated:!1}}function rw(t){const a=Tm(null,t),i=Ka(null,t),s=xs(null,t).runs,o=mi(t);return{tables:{canonical_events:Nm(t,i,s),tasks:i,runs:s,plans:a,plan_steps:o.length>0?o.map(u=>ov(u,wt(t))):a.flatMap(u=>u.steps??[]),approvals:Tl(t),artifacts:pi(t)}}}function cw(t){const a=Ka(null,t),i=a.filter(g=>st(g.status)==="waiting").length,s=a.filter(g=>st(g.status)==="running").length,o=a.filter(g=>st(g.status)==="success").length,u=a.filter(g=>st(g.status)==="danger").length,_=Tl(t);return{runtime:{active_tasks:s,failed_tasks:u,pending_confirmations:_.filter(g=>g.status==="pending").length},tasks:{total:a.length,queued:i,running:s,succeeded:o,failed:u},approvals:{total:_.length,pending:_.filter(g=>g.status==="pending").length}}}function km(t){var h;const a=new Date().toISOString(),i=oi(t),s=Ka(null,t),o=Tl(t),u=rt(t).filter(k=>/fail|error|reject|cancel/i.test(`${k.kind} ${k.message}`)),_=i.map(k=>({id:`service:${k.service_id}`,severity:k.requires_human_action||k.status==="stopped"?"error":k.status==="degraded"?"warn":"ok",category:"service",message:`${k.name}:${k.status_label||k.status}`,details:yn({error:k.error,kind:k.kind,running:k.running,dependent_tasks:k.dependent_tasks}),source:"qimingclaw-managed-service",created_at:k.last_seen_at||a})),g=t==null?void 0:t.sync;_.push({id:"sync:management",severity:ow(g??null),category:"sync",message:Po(t),details:g?yn({pending:g.pending,failed:g.failed,endpoint:g.endpoint,missing_credentials:g.missingCredentials,last_error:g.lastSyncError}):null,source:"qimingclaw-sync-status",created_at:(g==null?void 0:g.lastSyncAt)??a});for(const k of(g==null?void 0:g.recentFailures)??[])_.push({id:`sync_failure:${k.id}`,severity:k.dueForRetry===!1?"error":"warn",category:"sync",message:Yr(k),details:yn({entity_type:k.entityType,entity_id:k.entityId,operation:k.operation,attempts:k.attempts,next_retry_at:k.nextRetryAt}),source:"qimingclaw-sync-failure",created_at:k.lastAttemptAt??k.updatedAt??k.createdAt});const p=s.filter(k=>st(k.status)==="danger");return _.push({id:"runtime:tasks",severity:p.length>0?"error":s.length===0?"warn":"ok",category:"runtime",message:s.length===0?"尚未读取到 qimingclaw runtime task。":`任务 ${s.length} 个,异常 ${p.length} 个。`,details:yn({task_count:s.length,failed_task_count:p.length}),source:"qimingclaw-runtime-records",created_at:a}),_.push({id:"runtime:approvals",severity:o.some(k=>k.status==="pending")?"warn":"ok",category:"approval",message:`审批 ${o.length} 个,待处理 ${o.filter(k=>k.status==="pending").length} 个。`,details:yn({approval_count:o.length,pending_count:o.filter(k=>k.status==="pending").length}),source:"qimingclaw-approval-records",created_at:a}),u.length>0&&_.push({id:"runtime:events:error",severity:"error",category:"runtime",message:`最近运行事件中发现 ${u.length} 条异常事实。`,details:{event_ids:u.slice(0,8).map(k=>k.id)},source:"qimingclaw-runtime-events",created_at:((h=u[0])==null?void 0:h.occurredAt)??a}),El(t)||_.push({id:"runtime:data:empty",severity:"warn",category:"data",message:"本地数字员工 runtime 记录为空,页面将只显示兼容投影。",source:"qimingclaw-runtime-records",created_at:a}),{results:_,summary:{ok:_.filter(k=>k.severity==="ok").length,warn:_.filter(k=>k.severity==="warn").length,error:_.filter(k=>k.severity==="error").length,generated_at:a,source:"qimingclaw-runtime-projection"}}}function ow(t){var a;return t?t.failed>0||t.lastSyncError||(((a=t.missingCredentials)==null?void 0:a.length)??0)>0?"error":!t.enabled||!t.endpoint||t.pending>0?"warn":"ok":"warn"}function fv(t){const a=[...rt(t).map(s=>Yf(se(s.payload),s.occurredAt)),...zn(t).map(s=>Yf(se(s.payload),s.finishedAt??s.updatedAt??s.createdAt))].filter(s=>!!s),i=a.length||rt(t).length+zn(t).length+wt(t).length;if(a.length>0){const s={};let o=0,u=0,_=!1,g=(t==null?void 0:t.generatedAt)??new Date().toISOString();for(const p of a){const h=p.model||"unknown",k=s[h]??{model:h,cost_usd:0,total_tokens:0,request_count:0};k.cost_usd+=p.estimated_cost_usd??0,k.total_tokens+=p.total_tokens??0,k.request_count+=1,s[h]=k,o+=p.total_tokens??0,u+=p.estimated_cost_usd??0,_=_||p.estimated,p.updated_at&&p.updated_at>g&&(g=p.updated_at)}return{session_cost_usd:u,daily_cost_usd:u,monthly_cost_usd:u,total_tokens:o,request_count:a.length,by_model:s,estimated:_,source:"qimingclaw-runtime-projection",updated_at:g}}return{session_cost_usd:0,daily_cost_usd:0,monthly_cost_usd:0,total_tokens:0,request_count:i,by_model:{"qimingclaw-local":{model:"qimingclaw-local",cost_usd:0,total_tokens:0,request_count:i}},estimated:!0,source:"qimingclaw-runtime-projection",updated_at:(t==null?void 0:t.generatedAt)??new Date().toISOString()}}function Yf(t,a){if(!t)return null;const i=se(t.usage)??se(t.token_usage)??se(t.tokenUsage)??t,s=se(t.cost)??t,o=St(i.input_tokens??i.inputTokens??i.prompt_tokens??i.promptTokens),u=St(i.output_tokens??i.outputTokens??i.completion_tokens??i.completionTokens),_=St(i.total_tokens??i.totalTokens)??((o??0)+(u??0)||null),g=St(s.estimated_cost_usd??s.estimatedCostUsd??s.cost_usd??s.costUsd??s.usd),p=m(t.model??t.model_name??t.modelName??i.model)||"unknown";return o===null&&u===null&&_===null&&g===null?null:{model:p,input_tokens:o,output_tokens:u,total_tokens:_,estimated_cost_usd:g,estimated:typeof t.estimated=="boolean"?t.estimated:g===null,updated_at:m(t.updated_at??t.updatedAt)||a||null}}function xm(t,a){var g;const i=Math.max(1,Math.min(Math.floor(St(a.get("limit"))??100),300)),s=m(a.get("category"))||m(a.get("kind")),o=m(a.get("level")),u=m(a.get("id"));return[...rt(t).map(Gw),...(((g=t==null?void 0:t.sync)==null?void 0:g.recentFailures)??[]).map(p=>({audit_id:`sync_failure:${p.id}`,category:"sync",action:"sync_failed",level:p.dueForRetry===!1?"error":"warn",message:Yr(p),actor:"qimingclaw-sync",entity_type:p.entityType,entity_id:p.entityId,occurred_at:p.lastAttemptAt??p.updatedAt??p.createdAt,payload:p})),...pi(t).flatMap(p=>Vw(p))].filter(p=>!s||m(p.category)===s||m(p.entity_type)===s).filter(p=>!o||m(p.level)===o).filter(p=>!u||m(p.entity_id)===u||m(p.audit_id).includes(u)).sort((p,h)=>m(h.occurred_at).localeCompare(m(p.occurred_at))).slice(0,i)}function uw(t){const a=km(t).results,i=xm(t,new URLSearchParams({limit:"300"})),s=fv(t),o=dw(a,i);return{doctor:{ok:a.filter(u=>u.severity==="ok").length,warn:a.filter(u=>u.severity==="warn").length,error:a.filter(u=>u.severity==="error").length},audit:{info:i.filter(u=>m(u.level)==="info").length,warn:i.filter(u=>m(u.level)==="warn").length,error:i.filter(u=>m(u.level)==="error").length},cost:{request_count:s.request_count,total_tokens:s.total_tokens,estimated_cost_usd:s.session_cost_usd,by_model_count:Object.keys(s.by_model??{}).length,estimated:!!s.estimated,updated_at:s.updated_at??null},latest_issue:o}}function dw(t,a){const i=zg(t,"error");if(i)return i;const s=Og(a,"error");if(s)return s;const o=zg(t,"warn");return o||Og(a,"warn")}function zg(t,a){const i=t.filter(s=>s.severity===a).sort((s,o)=>m(o.created_at).localeCompare(m(s.created_at)))[0];return i?{id:m(i.id)||`${i.category}:${a}`,source:"doctor",level:a,category:m(i.category)||"diagnostic",message:i.message,occurred_at:i.created_at??null}:null}function Og(t,a){const i=t.find(s=>m(s.level)===a);return i?{id:m(i.audit_id)||`${m(i.category)||"audit"}:${a}`,source:"audit",level:a,category:m(i.category)||m(i.entity_type)||"audit",message:m(i.message)||m(i.action)||"审计事件需要关注",occurred_at:m(i.occurred_at)||null}:null}function mv(t){return xm(t,new URLSearchParams({limit:"300"})).map(a=>({...a,audit_id:m(a.audit_id),status:m(a.level)||"info",status_label:mw(m(a.level)),entity_id:m(a.entity_id)||m(a.audit_id),updated_at:m(a.occurred_at),source:Yt}))}function fw(t,a){const i=m(a.get("category"))||m(a.get("kind")),s=m(a.get("level")),o=m(a.get("id"));return _i(t,a).filter(u=>!i||m(u.category)===i||m(u.entity_type)===i).filter(u=>!s||m(u.level)===s).filter(u=>!o||m(u.entity_id)===o||m(u.audit_id).includes(o))}function mw(t){return t==="error"?"异常":t==="warn"?"警告":"信息"}function _w(t,a,i){const s={plans:gv(a),"plan-steps":nu(a),"plan-step-graph":_v(a),tasks:ww(a),runs:jw(a),events:Cw(a),artifacts:yv(a),approvals:Qr(a),"approval-history":kv(a),"route-decisions":au(a),notifications:bw(a,jl(a)),audits:mv(a)},o=t==="route-decisions"?vw(s[t],i):t==="plan-steps"||t==="plan-step-graph"?Kf(s[t],i):t==="approval-history"?xv(s[t],i):t==="notifications"?kw(s[t],i):t==="audits"?fw(s[t],i):_i(s[t],i);return{...ii(o,i),source:Yt}}function nu(t){return mi(t).map(a=>{const i=se(a.payload)??{},s=se(i.dependencyGraph??i.dependency_graph)??{},o=se(i.lastDispatch??i.last_dispatch)??{},u=Sm(i),_=pv(a,t,i),g=gt(Ge(s.blockedDependencies??s.blocked_dependencies)),p=gt(Ge(s.waitingDependencies??s.waiting_dependencies)),h=gt(Ge(s.satisfiedDependencies??s.satisfied_dependencies));return{step_id:a.id,node_id:a.id,remote_id:a.remoteId??null,plan_id:a.planId,title:a.title,status:a.status,seq:a.seq,depends_on:a.dependsOn,dependency_count:a.dependsOn.length,dependency_status:m(s.status)||pw(a,g,p),blocked_dependencies:g,blocked_dependency_count:g.length,blocked_dependency_details:hw(g,t),waiting_dependencies:p,waiting_dependency_count:p.length,satisfied_dependencies:h,preferred_skill_ids:a.preferredSkillIds,task_id:_.taskId,latest_run_id:_.latestRunId,dispatchable:_.dispatchable,skip_reason:_.skipReason,last_dispatch_status:m(o.status)||null,last_dispatch_at:m(o.occurredAt??o.occurred_at)||null,lease:u,lease_id:m((u==null?void 0:u.lease_id)??(u==null?void 0:u.leaseId))||null,lease_state:m(u==null?void 0:u.state)||null,lease_owner_device_id:m((u==null?void 0:u.owner_device_id)??(u==null?void 0:u.ownerDeviceId))||null,lease_acquired_at:m((u==null?void 0:u.acquired_at)??(u==null?void 0:u.acquiredAt))||null,lease_expires_at:m((u==null?void 0:u.expires_at)??(u==null?void 0:u.expiresAt))||null,lease_released_at:m((u==null?void 0:u.released_at)??(u==null?void 0:u.releasedAt))||null,lease_release_reason:m((u==null?void 0:u.release_reason)??(u==null?void 0:u.releaseReason))||null,lease_source:m(u==null?void 0:u.source)||null,remote_lease_id:m((u==null?void 0:u.remote_lease_id)??(u==null?void 0:u.remoteLeaseId))||null,remote_lease_error:m((u==null?void 0:u.remote_error)??(u==null?void 0:u.remoteError))||null,remote_release_error:m((u==null?void 0:u.remote_release_error)??(u==null?void 0:u.remoteReleaseError))||null,remote_lease_rejected:m((u==null?void 0:u.release_reason)??(u==null?void 0:u.releaseReason))==="remote_lease_rejected",lease_active:!!u,sync_status:a.syncStatus,last_synced_at:a.lastSyncedAt??null,sync_error:a.syncError??null,created_at:a.createdAt,updated_at:a.updatedAt,entity_type:"plan_step",entity_id:a.id,source:Yt}}).sort((a,i)=>m(a.plan_id).localeCompare(m(i.plan_id))||Number(a.seq??0)-Number(i.seq??0)||m(a.step_id).localeCompare(m(i.step_id)))}function _v(t){return nu(t).map(a=>({node_id:m(a.node_id)||m(a.step_id),step_id:m(a.step_id),plan_id:m(a.plan_id)||null,title:m(a.title),status:m(a.status),seq:a.seq,depends_on:Ge(a.depends_on),dependency_status:m(a.dependency_status)||null,blocked_dependencies:Ge(a.blocked_dependencies),blocked_dependency_details:Ge(a.blocked_dependency_details),waiting_dependencies:Ge(a.waiting_dependencies),satisfied_dependencies:Ge(a.satisfied_dependencies),task_id:m(a.task_id)||null,latest_run_id:m(a.latest_run_id)||null,dispatchable:a.dispatchable===!0,skip_reason:m(a.skip_reason)||null,lease:se(a.lease)??null,lease_id:m(a.lease_id)||null,lease_state:m(a.lease_state)||null,lease_owner_device_id:m(a.lease_owner_device_id)||null,lease_acquired_at:m(a.lease_acquired_at)||null,lease_expires_at:m(a.lease_expires_at)||null,lease_released_at:m(a.lease_released_at)||null,lease_release_reason:m(a.lease_release_reason)||null,lease_source:m(a.lease_source)||null,remote_lease_id:m(a.remote_lease_id)||null,remote_lease_error:m(a.remote_lease_error)||null,remote_release_error:m(a.remote_release_error)||null,remote_lease_rejected:a.remote_lease_rejected===!0,lease_active:a.lease_active===!0,sync_status:m(a.sync_status)||null,updated_at:m(a.updated_at)||null,entity_type:"plan_step_graph_node",entity_id:m(a.step_id),source:Yt}))}function Kf(t,a){const i=m(a.get("plan_id")),s=m(a.get("step_id"))||m(a.get("id")),o=m(a.get("status")),u=m(a.get("sync_status"));return _i(t,a).filter(_=>!i||m(_.plan_id)===i).filter(_=>!s||m(_.step_id)===s||m(_.node_id)===s||m(_.entity_id)===s).filter(_=>!o||m(_.status)===o).filter(_=>!u||m(_.sync_status)===u)}function pw(t,a,i){return a.length>0?"blocked":i.length>0?"waiting":t.dependsOn.length>0?"ready":"independent"}function pv(t,a,i){var h;const s=Gr(a,t.planId),o=s.find(k=>Ya(k)===t.id)??s.find(k=>!qg(k.status))??null,u=(o==null?void 0:o.id)??null,_=o?((h=tu(zn(a),o.id))==null?void 0:h.id)??null:null,g=Sm(i);let p=null;return g?p="lease_active":t.status.toLowerCase()!=="ready"?p="not_ready":o?qg(o.status)?p="task_terminal":zn(a).some(k=>k.taskId===o.id&&gw(k.status))?p="task_already_running":Ir(a).some(k=>{var b,A;return yw(k.status)&&(k.planId===t.planId||k.taskId===o.id||m(((b=se(k.payload))==null?void 0:b.stepId)??((A=se(k.payload))==null?void 0:A.step_id))===t.id)})?p="approval_pending":(i.auto_dispatch===!1||i.autoDispatch===!1)&&(p="auto_dispatch_disabled"):p="missing_task",{taskId:u,latestRunId:_,dispatchable:!p,skipReason:p}}function hw(t,a){const i=new Map(mi(a).map(s=>[s.id,s]));return t.map(s=>{const o=i.get(s);if(!o)return{step_id:s,task_id:null,latest_run_id:null,title:s,status:"missing",dependency_status:"missing",dispatchable:!1,skip_reason:"missing_step"};const u=se(o.payload)??{},_=se(u.dependencyGraph??u.dependency_graph)??{},g=Sm(u),p=pv(o,a,u);return{step_id:o.id,task_id:p.taskId,latest_run_id:p.latestRunId,title:o.title,status:o.status,dependency_status:m(_.status)||o.status,dispatchable:p.dispatchable,skip_reason:p.skipReason,lease_state:m(g==null?void 0:g.state)||null,lease_active:!!g}})}function Sm(t){const a=se(t.dispatchLease??t.dispatch_lease);if(!a)return null;const i=m(a.state)||"active",s=m(a.expires_at??a.expiresAt),o=m(a.lease_id??a.leaseId),u=m(a.owner_device_id??a.ownerDeviceId);return i!=="active"||!s||s<=new Date().toISOString()||!o||!u?null:a}function qg(t){return["completed","succeeded","success","done","skipped","cancelled","canceled"].includes(t.toLowerCase())}function gw(t){return["running","pending","queued","started"].includes(t.toLowerCase())}function yw(t){return["pending","reviewing","open","waiting"].includes(t.toLowerCase()||"pending")}function au(t){return rt(t).filter(a=>a.kind==="route_decision").map(a=>{const i=se(a.payload)??{},s=Qf(i,a),o=hv(s);return{...s,route_decision_id:s.id,event_id:a.id,status:s.policy_result||"accepted",status_label:xw(s),attention_level:o,entity_type:"route_decision",entity_id:s.id,occurred_at:a.occurredAt,created_at:a.createdAt,updated_at:s.recorded_at||a.occurredAt,payload:i}}).sort((a,i)=>m(i.recorded_at).localeCompare(m(a.recorded_at))||m(i.event_id).localeCompare(m(a.event_id)))}function vw(t,a){const i=m(a.get("route_kind")),s=m(a.get("intent_kind")),o=m(a.get("policy_result"));return _i(t,a).filter(u=>!i||m(u.route_kind)===i).filter(u=>!s||m(u.intent_kind)===s).filter(u=>!o||m(u.policy_result)===o)}function bw(t,a){const i=gs(a);return Tv(t,a).map(s=>({notification_id:s.notification_id,kind:s.kind,level:s.level,status:s.status,title:s.title,body:s.body,plan_id:s.plan_id,task_id:s.task_id,correlation_id:s.correlation_id,created_at:s.created_at,updated_at:s.replied_at||s.dismissed_at||s.read_at||s.created_at,read_at:s.read_at??null,dismissed_at:s.dismissed_at??null,replied_at:s.replied_at??null,muted_by_preferences:!zv(s,i),entity_type:"notification",entity_id:s.notification_id,source:Yt})).sort((s,o)=>m(o.created_at).localeCompare(m(s.created_at))||m(o.notification_id).localeCompare(m(s.notification_id)))}function kw(t,a){const i=m(a.get("id")),s=m(a.get("kind")),o=m(a.get("level")),u=m(a.get("muted")).toLowerCase();return _i(t,a).filter(_=>!i||m(_.notification_id)===i||m(_.correlation_id)===i||m(_.entity_id)===i).filter(_=>!s||m(_.kind)===s).filter(_=>!o||m(_.level)===o).filter(_=>{if(!u)return!0;const g=_.muted_by_preferences===!0;return["1","true","yes"].includes(u)?g:["0","false","no"].includes(u)?!g:!0})}function Qf(t,a){const i=se(t.routeDecision??t.route_decision??t)??{};return{id:m(i.id)||a.id,route_kind:m(i.route_kind??i.routeKind)||"ChatOnly",intent_kind:m(i.intent_kind??i.intentKind)||"chat",reason_codes:gt(Ge(i.reason_codes??i.reasonCodes)),candidate_skills:gt(Ge(i.candidate_skills??i.candidateSkills)),context_refs:se(i.context_refs??i.contextRefs)??{},created_command_id:m(i.created_command_id??i.createdCommandId)||null,correlation_id:m(i.correlation_id??i.correlationId)||a.id,creates_plan:!!(i.creates_plan??i.createsPlan),creates_task_run:!!(i.creates_task_run??i.createsTaskRun),approval_mode:m(i.approval_mode??i.approvalMode)||null,policy_result:m(i.policy_result??i.policyResult)||"accepted",policy_source:m(i.policy_source??i.policySource)||null,blocked_reason:m(i.blocked_reason??i.blockedReason)||null,approval_id:m(i.approval_id??i.approvalId)||null,matched_intent:m(i.matched_intent??i.matchedIntent)||null,recorded_at:m(i.recorded_at??i.recordedAt)||a.occurredAt,entrypoint:m(i.entrypoint)||null,actor:m(i.actor)||null}}function hv(t){return t.policy_result==="approval_required"?"action":t.policy_result&&t.policy_result!=="accepted"?"error":t.reason_codes.includes("candidate_skills_disabled")||t.reason_codes.includes("route_action_missing_context")||t.reason_codes.includes("route_action_policy_blocked")||t.reason_codes.includes("route_action_not_mapped")?"warn":t.created_command_id?"action":"info"}function xw(t){const a=hv(t);return a==="error"?"策略拒绝":t.policy_result==="approval_required"?"待审批":a==="warn"?"需要关注":t.created_command_id?"已映射命令":"已记录"}function Sw(t){const a=au(t),i=a[0]??null,s=Go((t==null?void 0:t.uiState)??bn()),o=rt(t).filter(p=>p.kind==="route_decision_intervention_resolved"),u=new Set(o.map(p=>{var h;return m((h=se(p.payload))==null?void 0:h.route_decision_id)}).filter(Boolean)),_=o.sort((p,h)=>h.occurredAt.localeCompare(p.occurredAt))[0]??null,g=se(_==null?void 0:_.payload)??null;return{total:a.length,mapped_count:a.filter(p=>m(p.created_command_id)).length,governance_mapped_count:a.filter(p=>m(p.created_command_id)).length,governance_blocked_count:a.filter(p=>{const h=Ge(p.reason_codes).map(m);return h.includes("route_action_policy_blocked")||h.includes("route_action_missing_context")||h.includes("route_action_not_mapped")}).length,attention_count:a.filter(p=>["warn","error"].includes(m(p.attention_level))).length,blocked_count:a.filter(p=>m(p.policy_result)==="blocked").length,approval_required_count:a.filter(p=>m(p.policy_result)==="approval_required").length,pending_intervention_count:a.filter(p=>m(p.policy_result)!=="accepted"&&!u.has(m(p.route_decision_id))).length,restored_count:o.filter(p=>{var h;return((h=se(p.payload))==null?void 0:h.command_accepted)===!0}).length,latest_intervention_status:m((g==null?void 0:g.status)??(g==null?void 0:g.decision))||null,policy_source:s.source??null,policy_last_pulled_at:s.last_pulled_at??null,policy_last_pull_error:s.last_pull_error??null,latest:i?{id:m(i.route_decision_id),route_kind:m(i.route_kind),intent_kind:m(i.intent_kind),status_label:m(i.status_label),attention_level:m(i.attention_level),created_command_id:m(i.created_command_id)||null,policy_source:m(i.policy_source)||null,blocked_reason:m(i.blocked_reason)||null,approval_id:m(i.approval_id)||null,recorded_at:m(i.recorded_at)}:null}}function gv(t){const a=new Map(Mn(t).map(u=>[u.id,u])),i=Ka(null,t),s=xs(null,t).runs,o=Nm(t,i,s);return Tm(null,t).map(u=>{const _=a.get(u.plan_id),g=i.filter(k=>k.plan_id===u.plan_id),p=s.filter(k=>k.plan_id===u.plan_id),h=o.filter(k=>k.plan_id===u.plan_id).map(k=>m(k.occurred_at??k.timestamp)).filter(Boolean).sort().pop()||null;return{plan_id:u.plan_id,remote_id:(_==null?void 0:_.remoteId)??null,title:u.title,objective:u.objective??null,status:u.status,task_count:g.length,run_count:p.length,latest_event_at:h,sync_status:((_==null?void 0:_.syncStatus)??m(u.sync_status))||null,created_at:u.created_at,updated_at:m(u.updated_at)||(_==null?void 0:_.updatedAt)||u.created_at,payload:(_==null?void 0:_.payload)??yn({source:u.source,steps:u.steps})}})}function ww(t){const a=new Map(wt(t).map(i=>[i.id,i]));return Ka(null,t).map(i=>{const s=a.get(i.task_id);return{task_id:i.task_id,remote_id:(s==null?void 0:s.remoteId)??null,plan_id:i.plan_id??null,title:i.title,status:i.status,assigned_skill_id:i.assigned_skill_id||(s==null?void 0:s.assignedSkillId)||null,sync_status:((s==null?void 0:s.syncStatus)??m(i.sync_status))||null,created_at:i.created_at,updated_at:i.updated_at,payload:(s==null?void 0:s.payload)??yn({step_id:i.step_id,description:i.description})}})}function jw(t){const a=new Map(zn(t).map(i=>[i.id,i]));return xs(null,t).runs.map(i=>{const s=a.get(i.run_id),o=(s==null?void 0:s.startedAt)??i.created_at,u=(s==null?void 0:s.finishedAt)??i.completed_at??null,_=(i.events??[]).slice().sort((g,p)=>m(p.occurred_at).localeCompare(m(g.occurred_at)))[0];return{run_id:i.run_id,remote_id:(s==null?void 0:s.remoteId)??null,plan_id:i.plan_id??null,task_id:i.task_id||null,status:(s==null?void 0:s.status)??i.lifecycle,started_at:o??null,finished_at:u,duration_ms:Iw(o,u),last_event_message:(_==null?void 0:_.message)??null,sync_status:((s==null?void 0:s.syncStatus)??m(i.sync_status))||null,created_at:(s==null?void 0:s.createdAt)??i.created_at,payload:(s==null?void 0:s.payload)??yn({lifecycle:i.lifecycle,attempt_no:i.attempt_no})}})}function Cw(t){const a=Ka(null,t),i=xs(null,t).runs,s=new Map(rt(t).map(o=>[o.id,o]));return Nm(t,a,i).map(o=>{const u=s.get(o.event_id),_=m(o.plan_id)||(u==null?void 0:u.planId)||null,g=m(o.task_id)||(u==null?void 0:u.taskId)||null;return{event_id:o.event_id,remote_id:(u==null?void 0:u.remoteId)??null,plan_id:_,task_id:g,run_id:(u==null?void 0:u.runId)??null,kind:o.kind??o.event_type??(u==null?void 0:u.kind)??null,message:o.message??(u==null?void 0:u.message)??null,occurred_at:m(o.occurred_at??o.timestamp)||(u==null?void 0:u.occurredAt),sync_status:(u==null?void 0:u.syncStatus)??null,payload:(u==null?void 0:u.payload)??yn({aggregate_type:o.aggregate_type,aggregate_id:o.aggregate_id})}})}function yv(t){const a=new Map(Wo(t).map(s=>[s.id,s])),i=pi(t);return i.map(s=>{var b;const o=m(s.artifact_id)||m(s.subject_id),u=a.get(o),_=Av({plan_id:s.plan_id,task_id:s.task_id,run_id:s.run_id,fallback_type:"artifact",fallback_id:s.subject_id??o}),g=Cm(t,o),p=Cv(t,o,s),h=Am(i,s),k=lu(s);return{...s,artifact_id:o,remote_id:((u==null?void 0:u.remoteId)??m(s.remote_id))||null,entity_type:_.entity_type,entity_id:_.entity_id,sync_status:((u==null?void 0:u.syncStatus)??m(s.sync_status))||null,version:h.version,version_key:h.version_key,version_rank:h.version_rank,retention_status:g.retention_status,retention_until:g.retention_until,last_retention_action:g.last_retention_action,cleanup_status:p.cleanup_status,deleted_at:p.deleted_at,cleanup_reason:p.cleanup_reason,cleanup_event_id:p.cleanup_event_id,last_access_status:m((b=se(s.access))==null?void 0:b.last_access_status)||null,delivery_summary:k}})}function wm(t,a){const i=yv(t).find(s=>m(s.artifact_id)===a||m(s.remote_id)===a)??null;return i?{...i,versions:vv(t,m(i.artifact_id)),lifecycle_events:wv(t).filter(s=>m(s.artifact_id)===m(i.artifact_id)).slice(0,20),cleanup_events:jv(t).filter(s=>m(s.artifact_id)===m(i.artifact_id)).slice(0,20)}:null}function vv(t,a){const i=pi(t),s=i.find(u=>m(u.artifact_id)===a||m(u.subject_id)===a);if(!s)return[];const o=Bo(s);return i.filter(u=>Bo(u)===o).sort((u,_)=>m(u.created_at).localeCompare(m(_.created_at))).map((u,_)=>{const g=Am(i,u);return{artifact_id:m(u.artifact_id)||m(u.subject_id),name:m(u.name)||null,version:g.version||`local-v${_+1}`,version_key:g.version_key,version_rank:_+1,delivery_summary:lu(u),retention_status:Cm(t,m(u.artifact_id)).retention_status,created_at:m(u.created_at)||null,source_label:m(u.source_label)||null}})}function Qr(t){const a=new Map(Ir(t).map(i=>[i.id,i]));return Tl(t).map(i=>{const s=m(i.approval_id),o=a.get(s),u=Ew(t,s,i),_=Aw(i),g=Nw(i),p=Av({plan_id:i.plan_id,task_id:i.task_id,run_id:i.run_id,fallback_type:m(i.source)==="qimingclaw-sync"?"sync_outbox":"approval",fallback_id:i.task_id||s});return{...i,approval_id:s,remote_id:((o==null?void 0:o.remoteId)??m(i.remote_id))||null,entity_type:p.entity_type,entity_id:p.entity_id,sync_status:((o==null?void 0:o.syncStatus)??m(i.sync_status))||null,risk_level:u.risk_level,sla_status:u.sla_status,due_at:u.due_at,last_action:u.last_action,last_actor:u.last_actor,comment_count:u.comment_count,delegate_to:u.delegate_to,workflow_id:_.workflow_id,current_step_id:_.current_step_id,current_step_label:_.current_step_label,current_participant:_.current_participant,approval_step_index:_.step_index,approval_step_count:_.step_count,next_step_label:_.next_step_label,approval_conflict_active:g.active,approval_conflict_reason:g.reason,approval_conflict_remote_status:g.remote_status,approval_conflict_detected_at:g.detected_at,approval_conflict_local_status:g.local_status,approval_conflict_remote_current_step_id:g.remote_current_step_id,approval_conflict_resolved_at:g.resolved_at,approval_conflict_resolution:g.resolution,approval_conflict_resolution_actor:g.resolution_actor,approval_conflict_resolution_event_id:g.resolution_event_id}})}function bv(t,a){const i=Qr(t).find(s=>m(s.approval_id)===a||m(s.remote_id)===a)??null;return i?{...i,timeline:Nv(m(i.approval_id),t).events}:null}function jm(t){return rt(t).filter(a=>["approval_action_recorded","approval_action_rejected"].includes(a.kind)).map(a=>{const i=se(a.payload)??{},s=se(i.delegate_summary),o=se(i.comment_summary),u=se(i.sla_summary),_=se(i.risk_summary);return{action_id:a.id,event_id:a.id,kind:a.kind,approval_id:m(i.approval_id)||null,action:m(i.action)||null,status:m(i.status)||null,comment_preview:m(o==null?void 0:o.preview)||null,comment_length:St(o==null?void 0:o.length),delegate_to:m((s==null?void 0:s.label)??(s==null?void 0:s.target))||null,sla_status:m(u==null?void 0:u.sla_status)||null,due_at:m(u==null?void 0:u.due_at)||null,risk_level:m(_==null?void 0:_.risk_level)||null,actor:m(i.actor)||null,source:m(i.source)||null,plan_id:(a.planId??m(i.plan_id))||null,task_id:(a.taskId??m(i.task_id))||null,run_id:(a.runId??m(i.run_id))||null,message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:i}}).sort((a,i)=>m(i.occurred_at).localeCompare(m(a.occurred_at)))}function kv(t){const a=new Map(Qr(t).map(o=>[m(o.approval_id),o])),i=jm(t).map(o=>{const u=m(o.approval_id),_=a.get(u);return{history_id:m(o.action_id),event_id:m(o.event_id),approval_id:u||null,action:m(o.action)||null,status:m(o.status)||null,actor:m(o.actor)||null,risk_level:m(o.risk_level)||null,due_at:m(o.due_at)||null,delegate_to:m(o.delegate_to)||null,comment_length:St(o.comment_length),message:m(o.message)||null,plan_id:m(o.plan_id)||m(_==null?void 0:_.plan_id)||null,task_id:m(o.task_id)||m(_==null?void 0:_.task_id)||null,run_id:m(o.run_id)||m(_==null?void 0:_.run_id)||null,occurred_at:m(o.occurred_at)||null,updated_at:m(o.occurred_at)||null,sync_status:m(o.sync_status)||null,entity_type:"approval_history",entity_id:m(o.action_id),source:Yt}}),s=rt(t).filter(o=>o.kind==="approval_decision").map(o=>{const u=se(o.payload)??{},_=m(u.approvalId??u.approval_id)||o.id.split(":decision:")[0]||"",g=a.get(_);return{history_id:o.id,event_id:o.id,approval_id:_||null,action:"decision",status:m(u.nextStatus??u.next_status??u.decision)||null,actor:m(u.actor)||m(u.source)||"qimingclaw-approval-decision",risk_level:m(g==null?void 0:g.risk_level)||null,due_at:m(g==null?void 0:g.due_at)||null,delegate_to:m(g==null?void 0:g.delegate_to)||null,comment_length:null,message:o.message||null,plan_id:o.planId||m(u.planId??u.plan_id)||m(g==null?void 0:g.plan_id)||null,task_id:o.taskId||m(u.taskId??u.task_id)||m(g==null?void 0:g.task_id)||null,run_id:o.runId||m(u.runId??u.run_id)||m(g==null?void 0:g.run_id)||null,occurred_at:o.occurredAt,updated_at:o.occurredAt,sync_status:o.syncStatus??null,entity_type:"approval_history",entity_id:o.id,source:Yt}});return[...i,...s].sort((o,u)=>m(u.occurred_at).localeCompare(m(o.occurred_at))||m(u.history_id).localeCompare(m(o.history_id)))}function xv(t,a){const i=m(a.get("approval_id"))||m(a.get("id")),s=m(a.get("action")),o=m(a.get("risk_level"));return _i(t,a).filter(u=>!i||m(u.approval_id)===i||m(u.history_id)===i||m(u.event_id)===i).filter(u=>!s||m(u.action)===s).filter(u=>!o||m(u.risk_level)===o)}function Aw(t){const a=se(t.payload)??{},i=se(a.workflow)??{},s=Array.isArray(i.steps)?i.steps.map(p=>se(p)??{}):[],o=m(i.current_step_id??i.currentStepId??a.current_step_id??a.currentStepId),u=Math.max(0,s.findIndex(p=>m(p.step_id??p.stepId??p.id)===o)),_=s[u]??null,g=s.slice(u+1).find(p=>["pending","delegated","timeout"].includes(m(p.status)||"pending"))??null;return{workflow_id:m(i.workflow_id??i.workflowId)||null,current_step_id:o||null,current_step_label:m((_==null?void 0:_.label)??(_==null?void 0:_.title)??(_==null?void 0:_.name))||null,current_participant:m((_==null?void 0:_.participant_label)??(_==null?void 0:_.participantLabel)??(_==null?void 0:_.participant_id)??(_==null?void 0:_.participantId))||null,step_index:s.length>0?u+1:null,step_count:s.length||null,next_step_label:m((g==null?void 0:g.label)??(g==null?void 0:g.title)??(g==null?void 0:g.name))||null}}function Nw(t){const a=se(t.payload)??{},i=se(a.conflict)??{},s=se(i.resolution)??{};return{active:i.active===!0,reason:m(i.reason)||null,remote_status:m(i.remote_status??i.remoteStatus)||null,detected_at:m(i.detected_at??i.detectedAt)||null,local_status:m(i.local_status??i.localStatus)||null,remote_current_step_id:m(i.remote_current_step_id??i.remoteCurrentStepId)||null,resolved_at:m(s.resolved_at??s.resolvedAt)||null,resolution:m(s.resolution)||null,resolution_actor:m(s.actor)||null,resolution_event_id:m(s.event_id??s.eventId)||null}}function Ew(t,a,i){const s=jm(t).filter(b=>m(b.approval_id)===a),o=s[0],u=s.find(b=>m(b.risk_level)),_=s.find(b=>{const A=m(b.sla_status);return!!(A&&A!=="untracked")}),g=s.find(b=>m(b.delegate_to)),p=se(i.payload),h=m(_==null?void 0:_.due_at)||m((p==null?void 0:p.due_at)??(p==null?void 0:p.dueAt)??(p==null?void 0:p.timeout_at)??(p==null?void 0:p.timeoutAt)),k=m(_==null?void 0:_.sla_status)||Tw(h);return{risk_level:m(u==null?void 0:u.risk_level)||"normal",sla_status:k,due_at:h||null,last_action:m(o==null?void 0:o.action)||null,last_actor:m(o==null?void 0:o.actor)||null,comment_count:s.filter(b=>m(b.action)==="comment").length,delegate_to:m(g==null?void 0:g.delegate_to)||null}}function Tw(t){if(!t)return"untracked";const a=Date.parse(t);return Number.isFinite(a)?a<Date.now()?"timeout":"tracked":"untracked"}function Dw(t){return rt(t).filter(a=>["skill_call_allowed","skill_call_rejected","skill_call_observed"].includes(a.kind)).map(a=>{const i=se(a.payload)??{};return{audit_id:a.id,event_id:a.id,remote_id:a.remoteId??null,decision:m(i.decision)||a.kind.replace("skill_call_",""),source:m(i.source)||null,server_id:m(i.server_id)||null,tool_name:m(i.tool_name)||null,skill_id:m(i.skill_id)||null,call_id:m(i.call_id)||null,session_id:m(i.session_id)||null,task_id:(a.taskId??m(i.task_id))||null,run_id:(a.runId??m(i.run_id))||null,reason_codes:Array.isArray(i.reason_codes)?i.reason_codes:[],message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:i}}).sort((a,i)=>m(i.occurred_at).localeCompare(m(a.occurred_at)))}function Rw(t,a){const i=m(a.get("skill_id")),s=m(a.get("server_id")),o=m(a.get("tool_name")),u=m(a.get("decision"));return t.filter(_=>!i||m(_.skill_id)===i).filter(_=>!s||m(_.server_id)===s).filter(_=>!o||m(_.tool_name)===o).filter(_=>!u||m(_.decision)===u)}function Sv(t){return rt(t).filter(a=>["artifact_access_allowed","artifact_access_rejected"].includes(a.kind)).map(a=>{const i=se(a.payload)??{};return{access_id:a.id,event_id:a.id,remote_id:a.remoteId??null,artifact_id:m(i.artifact_id)||null,action:m(i.action)||null,status:m(i.status)||a.kind.replace("artifact_access_",""),reason_codes:Array.isArray(i.reason_codes)?i.reason_codes:[],actor:m(i.actor)||null,source:m(i.source)||null,plan_id:(a.planId??m(i.plan_id))||null,task_id:(a.taskId??m(i.task_id))||null,run_id:(a.runId??m(i.run_id))||null,message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:i}}).sort((a,i)=>m(i.occurred_at).localeCompare(m(a.occurred_at)))}function $w(t,a){const i=m(a.get("artifact_id")),s=m(a.get("action")),o=m(a.get("status"));return t.filter(u=>!i||m(u.artifact_id)===i).filter(u=>!s||m(u.action)===s).filter(u=>!o||m(u.status)===o)}function wv(t){return rt(t).filter(a=>["artifact_retention_marked","artifact_retention_rejected","artifact_version_observed"].includes(a.kind)).map(a=>{const i=se(a.payload)??{};return{lifecycle_id:a.id,event_id:a.id,kind:a.kind,artifact_id:m(i.artifact_id)||null,action:m(i.action)||null,status:m(i.status)||null,retention_status:m(i.retention_status)||null,retention_until:m(i.retention_until)||null,reason:m(i.reason)||null,actor:m(i.actor)||null,source:m(i.source)||null,plan_id:(a.planId??m(i.plan_id))||null,task_id:(a.taskId??m(i.task_id))||null,run_id:(a.runId??m(i.run_id))||null,message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:i}}).sort((a,i)=>m(i.occurred_at).localeCompare(m(a.occurred_at)))}function jv(t){return rt(t).filter(a=>["artifact_cleanup_executed","artifact_cleanup_rejected","artifact_cleanup_failed"].includes(a.kind)).map(a=>{const i=se(a.payload)??{};return{cleanup_event_id:a.id,event_id:a.id,kind:a.kind,artifact_id:m(i.artifact_id)||null,status:m(i.status)||null,cleanup_status:m(i.status)||null,cleanup_reason:m(i.reason)||null,reason_codes:gt(Ge(i.reason_codes??i.reasonCodes).map(m)),actor:m(i.actor)||null,source:m(i.source)||null,deleted_at:m(i.deleted_at)||null,plan_id:(a.planId??m(i.plan_id))||null,task_id:(a.taskId??m(i.task_id))||null,run_id:(a.runId??m(i.run_id))||null,message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:i}}).sort((a,i)=>m(i.occurred_at).localeCompare(m(a.occurred_at)))}function Cv(t,a,i){var u;const s=se((u=se(i==null?void 0:i.payload))==null?void 0:u.cleanup)??{},o=jv(t).find(_=>m(_.artifact_id)===a)??null;return{cleanup_status:m(o==null?void 0:o.cleanup_status)||m(s.status)||null,deleted_at:m(o==null?void 0:o.deleted_at)||m(s.deleted_at)||null,cleanup_reason:m(o==null?void 0:o.cleanup_reason)||m(s.cleanup_reason)||null,cleanup_event_id:m(o==null?void 0:o.cleanup_event_id)||m(s.event_id)||null}}function Cm(t,a){const i=wv(t).find(s=>m(s.artifact_id)===a&&m(s.kind)==="artifact_retention_marked");return{retention_status:m(i==null?void 0:i.retention_status)||"unmanaged",retention_until:m(i==null?void 0:i.retention_until)||null,last_retention_action:m(i==null?void 0:i.action)||null,last_retention_at:m(i==null?void 0:i.occurred_at)||null}}function Mw(t,a,i){return{previous_status:m(t.retention_status)||"unmanaged",retention_status:zw(a),retention_until:m(i.retention_until??i.retentionUntil)||null,reason:m(i.reason)||null}}function zw(t){return t==="mark_keep"?"keep":t==="mark_expire"?"expire_candidate":t==="mark_review"?"review_required":t==="clear_retention"?"unmanaged":null}function Ow(t){return{version:m(t.version)||null,version_key:m(t.version_key)||null,version_rank:St(t.version_rank),file_id:m(t.file_id)||null,workspace_id:m(t.workspace_id)||null,project_id:m(t.project_id)||null,created_at:m(t.created_at)||null,name:m(t.name)||null}}function lu(t){return{delivery_status:m(t.delivery_status)||null,delivery_stage:m(t.delivery_stage)||null,workspace_id:m(t.workspace_id)||null,project_id:m(t.project_id)||null,file_id:m(t.file_id)||null,version:m(t.version)||null,file_size:St(t.file_size),source_tool:m(t.source_tool)||null}}function Am(t,a){const i=Bo(a),s=t.filter(_=>Bo(_)===i).sort((_,g)=>m(_.created_at).localeCompare(m(g.created_at))),o=m(a.artifact_id)||m(a.subject_id),u=Math.max(0,s.findIndex(_=>m(_.artifact_id)===o||m(_.subject_id)===o));return{version:m(a.version)||`local-v${u+1}`,version_key:`${i}:v${m(a.version)||u+1}`,version_rank:u+1}}function Bo(t){const a=m(t.file_id),i=m(t.workspace_id),s=m(t.name);if(a)return`file:${i}:${a}:${s}`;const o=m(t.artifact_id)||m(t.subject_id);return o?`artifact:${o}`:`fallback:${i}:${m(t.project_id)}:${s||m(t.uri)}`}function Lg(t){return pi(t).filter(qw).map(a=>{const i=se(a.payload)??{},s=m(a.artifact_id)||m(i.artifact_id)||m(a.subject_id),o=m(i.report_id)||m(a.report_id)||s.replace(/:artifact:text$/,""),u=m(i.generated_at)||m(a.created_at)||new Date().toISOString(),_=m(i.date)||u.slice(0,10);return{report_id:o,artifact_id:s,event_id:m(i.event_id)||`${o}:event:generated`,date:_,title:m(i.title)||m(a.name)||`${_} 数字员工日报`,status:m(i.status)||"ready",summary:m(i.summary)||m(a.value)||"",totals:se(i.totals)??{},detail_lines:Ge(i.detail_lines),artifact_sources:Ge(i.artifact_sources),filename:m(i.filename)||m(a.name)||Dm(_),html_artifact_id:m(i.html_artifact_id)||`${o}:artifact:html`,pdf_artifact_id:m(i.pdf_artifact_id)||`${o}:artifact:pdf`,html_filename:m(i.html_filename)||Rm(_),pdf_filename:m(i.pdf_filename)||$m(_),format:m(i.format)||"text",text_content:m(i.text_content)||m(a.value),html_content:m(i.html_content)||"",generated_at:u,sync_status:m(a.sync_status)||null,entity_type:"artifact",entity_id:s,plan_id:m(a.plan_id)||null,task_id:m(a.task_id)||null,run_id:m(a.run_id)||null,created_at:m(a.created_at)||u,updated_at:u,payload:i}}).sort((a,i)=>m(i.generated_at).localeCompare(m(a.generated_at)))}function qw(t){const a=se(t.payload)??{},i=m(a.format)||"text";return m(t.kind)==="daily_report"&&i!=="html"&&i!=="pdf"}function Lw(t){const a=se(t.payload)??{};return m(t.kind)==="daily_report"||m(a.kind)==="daily_report"||!!(m(a.report_id)&&m(a.text_content))}function Bw(t,a){const i=m(a.get("date"));return _i(t,a).filter(s=>!i||m(s.date)===i)}function _i(t,a){const i=m(a.get("entity_id")),s=m(a.get("remote_id")),o=m(a.get("status")),u=m(a.get("sync_status")),_=m(a.get("updated_from")),g=m(a.get("updated_to"));return t.filter(p=>!i||Uw(p).includes(i)).filter(p=>!s||m(p.remote_id)===s).filter(p=>!o||m(p.status)===o).filter(p=>!u||m(p.sync_status)===u).filter(p=>{const h=Hw(p);return!(_&&(!h||h<_)||g&&(!h||h>g))})}function ii(t,a){const i=Math.max(1,Math.floor(St(a.get("page_no"))??1)),s=Math.max(1,Math.min(Math.floor(St(a.get("page_size"))??20),100)),o=(i-1)*s;return{items:t.slice(o,o+s),page_no:i,page_size:s,total:t.length}}function Av(t){const a=m(t.run_id);if(a)return{entity_type:"run",entity_id:a};const i=m(t.task_id);if(i)return{entity_type:"task",entity_id:i};const s=m(t.plan_id);return s?{entity_type:"plan",entity_id:s}:{entity_type:m(t.fallback_type)||"record",entity_id:m(t.fallback_id)||null}}function Uw(t){return gt([t.entity_id,t.plan_id,t.task_id,t.run_id,t.event_id,t.history_id,t.step_id,t.node_id,t.artifact_id,t.approval_id,t.notification_id,t.report_id])}function Hw(t){return m(t.updated_at)||m(t.finished_at)||m(t.started_at)||m(t.occurred_at)||m(t.latest_event_at)||m(t.created_at)}function Iw(t,a){if(!t||!a)return null;const i=Date.parse(t),s=Date.parse(a);return!Number.isFinite(i)||!Number.isFinite(s)||s<i?null:s-i}function Gw(t){const a=se(t.payload)??{},i=Yw(t.kind),o=Qw(t.kind,a)??a,u=t.runId?"run":t.taskId?"task":t.planId?"plan":"event";return{audit_id:t.id,category:i,action:t.kind,level:Kw(t,o),message:t.message||t.kind,actor:m(a.actor)||m(a.source)||"qimingclaw-runtime",entity_type:u,entity_id:t.runId??t.taskId??t.planId??t.id,occurred_at:t.occurredAt,...o,payload:o}}function Yw(t){return t==="sandbox_audit"?"sandbox_audit":t==="token_cost"?"token_cost":t==="tool_call_audit"?"tool_call_audit":t.startsWith("governance_")?"governance":t==="route_decision"?"route":t==="approval_decision"?"approval":"runtime"}function Kw(t,a){const i=m(a.status).toLowerCase(),s=`${t.kind} ${t.message} ${i}`;return/fail|error|reject|denied|blocked|cancel/i.test(s)?"error":(t.kind==="sandbox_audit"||t.kind==="tool_call_audit")&&/warn|timeout|retry/i.test(s)?"warn":"info"}function Qw(t,a){if(t==="sandbox_audit")return{session_id:m(a.session_id??a.sessionId)||null,operation:m(a.operation??a.action)||null,status:m(a.status)||null,exit_code:St(a.exit_code??a.exitCode),duration_ms:St(a.duration_ms??a.durationMs),command_preview:m(a.command_preview??a.commandPreview)||null,reason_codes:gt(Ge(a.reason_codes??a.reasonCodes).map(m))};if(t==="token_cost"){const i=Yf(a,m(a.updated_at??a.updatedAt)||null);return{session_id:m(a.session_id??a.sessionId)||null,model:(i==null?void 0:i.model)??(m(a.model)||null),status:m(a.status)||null,input_tokens:(i==null?void 0:i.input_tokens)??null,output_tokens:(i==null?void 0:i.output_tokens)??null,total_tokens:(i==null?void 0:i.total_tokens)??null,estimated_cost_usd:(i==null?void 0:i.estimated_cost_usd)??null,estimated:(i==null?void 0:i.estimated)??!0}}return t==="tool_call_audit"?{session_id:m(a.session_id??a.sessionId)||null,server_id:m(a.server_id??a.serverId)||null,tool_name:m(a.tool_name??a.toolName)||null,operation:m(a.operation??a.action)||null,status:m(a.status)||null,exit_code:St(a.exit_code??a.exitCode),duration_ms:St(a.duration_ms??a.durationMs),input_length:St(a.input_length??a.inputLength),reason_codes:gt(Ge(a.reason_codes??a.reasonCodes).map(m))}:null}function Vw(t){const a=m(t.delivery_status);return a?[{audit_id:`artifact_delivery:${t.artifact_id??t.subject_id}`,category:"artifact",action:m(t.delivery_stage)||"artifact_delivery",level:a==="failed"||a==="error"?"error":"info",message:`${t.name||t.kind||"Artifact"}:${a}`,actor:m(t.source_tool)||"qimingclaw-file-server",entity_type:"artifact",entity_id:t.artifact_id??t.subject_id,occurred_at:m(t.created_at)||new Date().toISOString(),payload:t}]:[]}function Nm(t,a,i){var g;const s=rt(t).map(p=>({event_id:p.id,aggregate_type:p.runId?"run":p.taskId?"task":"plan",aggregate_id:p.runId??p.taskId??p.planId??p.id,event_type:p.kind,kind:p.kind,message:p.message,occurred_at:p.occurredAt,timestamp:p.occurredAt,plan_id:p.planId??null,task_id:p.taskId??null})),o=i.flatMap(p=>(p.events??[]).map(h=>({event_id:h.event_id??`${p.run_id}:${h.kind??"event"}:${h.occurred_at??p.created_at}`,aggregate_type:"run",aggregate_id:p.run_id,event_type:h.kind??p.lifecycle,kind:h.kind??p.lifecycle,message:h.message??p.lifecycle,occurred_at:h.occurred_at??p.completed_at??p.created_at,timestamp:h.occurred_at??p.completed_at??p.created_at,plan_id:p.plan_id??null,task_id:p.task_id||null}))),u=a.map(p=>({event_id:`task-status-${p.task_id}`,aggregate_type:"task",aggregate_id:p.task_id,event_type:"task_status",kind:p.status,message:`${p.title}:${Jn(p.status)}`,occurred_at:p.updated_at??p.created_at,timestamp:p.updated_at??p.created_at,plan_id:p.plan_id??null,task_id:p.task_id})),_=(((g=t==null?void 0:t.sync)==null?void 0:g.recentFailures)??[]).map(p=>({event_id:`digital-sync-failure-${p.id}`,aggregate_type:"sync_outbox",aggregate_id:p.id,event_type:"digital_sync_failed",kind:"digital_sync_failed",message:Yr(p),occurred_at:p.lastAttemptAt??p.updatedAt??p.createdAt,timestamp:p.lastAttemptAt??p.updatedAt??p.createdAt,plan_id:null,task_id:null}));return Xw([...s,...o,...u,..._]).sort((p,h)=>(h.occurred_at??"").localeCompare(p.occurred_at??""))}function Xw(t){const a=new Set;return t.filter(i=>!i.event_id||a.has(i.event_id)?!1:(a.add(i.event_id),!0))}function Tl(t){var o;const a=Ir(t).map(u=>({approval_id:u.id,task_id:u.taskId??"",status:u.status,created_at:u.createdAt,plan_id:u.planId??null,run_id:u.runId??null,title:u.title,reversible:u.status==="pending",source:"qimingclaw-runtime",sync_status:u.syncStatus,sync_error:u.syncError,payload:u.payload})),s=(((o=t==null?void 0:t.sync)==null?void 0:o.recentFailures)??[]).filter(u=>u.dueForRetry===!1||/credential|auth|token|unauthor/i.test(u.error??"")).slice(0,20).map(u=>({approval_id:`sync-review-${u.id}`,task_id:u.entityId,status:"pending",created_at:u.createdAt,title:`同步异常待处理:${u.entityType}/${u.entityId}`,reversible:!1,source:"qimingclaw-sync",error:u.error}));return[...a,...s]}function Nv(t,a){const i=Tl(a).find(h=>m(h.approval_id)===t)??null,s=Ir(a).find(h=>h.id===t)??null,o=se((i==null?void 0:i.payload)??(s==null?void 0:s.payload)),u=Ev(o),_={approvalId:t,planId:m(i==null?void 0:i.plan_id)||(s==null?void 0:s.planId)||"",taskId:m(i==null?void 0:i.task_id)||(s==null?void 0:s.taskId)||"",runId:m(i==null?void 0:i.run_id)||(s==null?void 0:s.runId)||"",permissionId:u.permissionId,sessionId:u.sessionId},g=m(i==null?void 0:i.created_at)||(s==null?void 0:s.createdAt)||(s==null?void 0:s.updatedAt)||"",p=[];if(i||s){const h=m(i==null?void 0:i.title)||(s==null?void 0:s.title)||"待确认事项",k=m(i==null?void 0:i.status)||(s==null?void 0:s.status)||"pending";p.push({event_id:`${t}:approval_record`,kind:"approval_record",status:k,message:`审批记录:${h} -> ${k}`,occurred_at:g||new Date().toISOString(),payload:o,source_type:"approval"})}for(const h of rt(a)){if(!Zw(h,_))continue;const k=se(h.payload);p.push({event_id:h.id,kind:h.kind,status:Jw(h,k),message:h.message||h.kind,occurred_at:h.occurredAt,payload:k,source_type:m(k==null?void 0:k.source)||"runtime_event"})}return{approval_id:t,approval:i,events:Fw(p).sort((h,k)=>h.occurred_at.localeCompare(k.occurred_at)||h.event_id.localeCompare(k.event_id))}}function Ev(t){const a=se(t==null?void 0:t.acpPermission)??se(t==null?void 0:t.acp_permission)??se(t==null?void 0:t.permission);return{permissionId:m(a==null?void 0:a.permission_id)||m(a==null?void 0:a.permissionId)||m(t==null?void 0:t.permission_id)||m(t==null?void 0:t.permissionId),sessionId:m(a==null?void 0:a.session_id)||m(a==null?void 0:a.sessionId)||m(t==null?void 0:t.session_id)||m(t==null?void 0:t.sessionId)}}function Zw(t,a){const i=se(t.payload);if((m(i==null?void 0:i.approvalId)||m(i==null?void 0:i.approval_id)||m(i==null?void 0:i.decision_id)||m(i==null?void 0:i.decisionId))===a.approvalId||t.id.startsWith(`${a.approvalId}:`))return!0;const o=Ev(i);return a.permissionId&&o.permissionId===a.permissionId||a.sessionId&&o.sessionId===a.sessionId?!0:t.kind.includes("approval")||t.kind.includes("permission")?!!(a.runId&&t.runId===a.runId||a.taskId&&t.taskId===a.taskId||a.planId&&t.planId===a.planId):!1}function Jw(t,a){return m(a==null?void 0:a.nextStatus)||m(a==null?void 0:a.next_status)||m(a==null?void 0:a.status)||m(a==null?void 0:a.decision)||(t.kind==="approval_decision"?"completed":null)}function Fw(t){const a=new Set;return t.filter(i=>a.has(i.event_id)?!1:(a.add(i.event_id),!0))}function jl(t){return t!=null&&t.uiState?ks(t.uiState):bn()}function Pw(t,a){const i=Em(a,jl(a)),s=(t||"all").toLowerCase();return s==="all"?{notifications:i.filter(o=>o.status!=="dismissed")}:{notifications:i.filter(o=>o.status===s)}}function Em(t,a){return Tv(t,a).filter(i=>zv(i,a.notificationPreferences))}function Tv(t,a){const i=_j([...lj(t),...ij(t),...sj(t),...rj(t),...oj(t),...uj(t),...dj(t),...fj(t),...cj(t)]),s=a.notificationStateById??{};return i.map(o=>mj(o,s[o.notification_id])).sort((o,u)=>u.created_at.localeCompare(o.created_at)||u.notification_id.localeCompare(o.notification_id))}function Dv(){return{enabled:!0,desktop_enabled:!0,muted_kinds:[],muted_levels:[],updated_at:null}}function Rv(){return{enabled:!0,subscribed_actions:[...tv],subscribed_risk_levels:["high","critical"],notify_on_timeout:!0,updated_at:null}}function $v(){return{enabled:!0,max_per_sweep:3,auto_dispatch_ready_steps:!0,updated_at:null,source:"local",remote_updated_at:null,last_pulled_at:null,last_pull_error:null}}function Mv(){return{enabled:!0,approval_required_risk_levels:["high","critical"],approval_required_actions:[],auto_reject_actions:[],updated_at:null,source:"local",remote_updated_at:null,last_pulled_at:null,last_pull_error:null}}function Uo(){return{enabled:!0,auto_create_governance_commands:!0,approval_required_intents:[],blocked_intents:[],preferred_route_kinds:[],updated_at:null,source:"local",remote_updated_at:null,last_pulled_at:null,last_pull_error:null}}function Ho(t){const a=t==null?void 0:t.approvalSubscriptionPreferences,i=Rv();if(!a||typeof a!="object")return i;const s=Array.isArray(a.subscribed_actions)?a.subscribed_actions.filter(u=>tv.includes(u)):i.subscribed_actions,o=Array.isArray(a.subscribed_risk_levels)?a.subscribed_risk_levels.filter(u=>fS.includes(u)):i.subscribed_risk_levels;return{enabled:a.enabled!==!1,subscribed_actions:[...new Set(s)],subscribed_risk_levels:[...new Set(o)],notify_on_timeout:a.notify_on_timeout!==!1,updated_at:typeof a.updated_at=="string"?a.updated_at:i.updated_at}}function hs(t){const a=t==null?void 0:t.planStepDispatchPolicy,i=$v();if(!a||typeof a!="object")return i;const s=Number(a.max_per_sweep);return{enabled:a.enabled!==!1,max_per_sweep:Number.isFinite(s)?Math.max(1,Math.min(Math.floor(s),10)):i.max_per_sweep,auto_dispatch_ready_steps:a.auto_dispatch_ready_steps!==!1,updated_at:typeof a.updated_at=="string"?a.updated_at:i.updated_at,source:a.source==="remote"?"remote":"local",remote_updated_at:typeof a.remote_updated_at=="string"?a.remote_updated_at:null,last_pulled_at:typeof a.last_pulled_at=="string"?a.last_pulled_at:null,last_pull_error:typeof a.last_pull_error=="string"?a.last_pull_error:null}}function Io(t){const a=t==null?void 0:t.riskApprovalPolicy,i=Mv();if(!a||typeof a!="object")return i;const s=gt(Ge(a.approval_required_risk_levels).map(o=>m(o).toLowerCase())).filter(o=>["normal","medium","high","critical"].includes(o));return{enabled:a.enabled!==!1,approval_required_risk_levels:s.length>0?s:i.approval_required_risk_levels,approval_required_actions:gt(Ge(a.approval_required_actions)),auto_reject_actions:gt(Ge(a.auto_reject_actions)),updated_at:typeof a.updated_at=="string"?a.updated_at:i.updated_at,source:a.source==="remote"?"remote":"local",remote_updated_at:typeof a.remote_updated_at=="string"?a.remote_updated_at:null,last_pulled_at:typeof a.last_pulled_at=="string"?a.last_pulled_at:null,last_pull_error:typeof a.last_pull_error=="string"?a.last_pull_error:null}}function Go(t){const a=t==null?void 0:t.routeDecisionPolicy,i=Uo();return!a||typeof a!="object"?i:{enabled:a.enabled!==!1,auto_create_governance_commands:a.auto_create_governance_commands!==!1,approval_required_intents:gt(Ge(a.approval_required_intents).map(Yo)),blocked_intents:gt(Ge(a.blocked_intents).map(Yo)),preferred_route_kinds:gt(Ge(a.preferred_route_kinds)),updated_at:typeof a.updated_at=="string"?a.updated_at:i.updated_at,source:a.source==="remote"?"remote":"local",remote_updated_at:typeof a.remote_updated_at=="string"?a.remote_updated_at:null,last_pulled_at:typeof a.last_pulled_at=="string"?a.last_pulled_at:null,last_pull_error:typeof a.last_pull_error=="string"?a.last_pull_error:null}}function Yo(t){return m(t).trim().toLowerCase().replace(/[^a-z0-9_.:-]+/g,"_")||"chat"}function gs(t){const a=t==null?void 0:t.notificationPreferences,i=Dv();if(!a||typeof a!="object")return i;const s=Array.isArray(a.muted_kinds)?a.muted_kinds.filter(u=>dS.includes(u)):[],o=Array.isArray(a.muted_levels)?a.muted_levels.filter(u=>uS.includes(u)):[];return{enabled:a.enabled!==!1,desktop_enabled:a.desktop_enabled!==!1,muted_kinds:[...new Set(s)],muted_levels:[...new Set(o)],updated_at:typeof a.updated_at=="string"?a.updated_at:i.updated_at}}function zv(t,a){const i=gs({notificationPreferences:a});return!i.enabled||i.muted_levels.includes(t.level)?!1:!i.muted_kinds.includes(t.kind)}async function Ww(t,a){const i=(a==null?void 0:a.uiState)??await _a()??bn(),s=gs(i),o=gs({notificationPreferences:{...s,...t,updated_at:new Date().toISOString()}});return await Nl({...ks(i),notificationPreferences:o},"update_notification_preferences",void 0,{notification_preferences:o}),o}async function ej(t,a){const i=(a==null?void 0:a.uiState)??await _a()??bn(),s=Ho(i),o=Ho({approvalSubscriptionPreferences:{...s,...t,updated_at:new Date().toISOString()}});return await Nl({...ks(i),approvalSubscriptionPreferences:o},"update_approval_subscriptions",void 0,{approval_subscriptions:o}),o}async function tj(t,a){const i=(a==null?void 0:a.uiState)??await _a()??bn(),s=hs(i),o=hs({planStepDispatchPolicy:{...s,...t,updated_at:new Date().toISOString()}});return await Nl({...ks(i),planStepDispatchPolicy:o},"update_plan_step_dispatch_policy",void 0,{plan_step_dispatch_policy:o}),o}async function nj(t,a){const i=(a==null?void 0:a.uiState)??await _a()??bn(),s=Io(i),o=Io({riskApprovalPolicy:{...s,...t,source:"local",updated_at:new Date().toISOString(),last_pull_error:null}});return await Nl({...ks(i),riskApprovalPolicy:o},"update_risk_approval_policy",void 0,{risk_approval_policy:o}),o}async function aj(t){var s,o,u;const a=hs((t==null?void 0:t.uiState)??bn()),i=await((u=(o=(s=window.QimingClawBridge)==null?void 0:s.digital)==null?void 0:o.pullPlanStepDispatchPolicy)==null?void 0:u.call(o).catch(_=>({ok:!1,endpoint:null,pulled_at:new Date().toISOString(),policy:a,error:_ instanceof Error?_.message:"plan step dispatch policy pull failed"})));return i||{ok:!1,endpoint:null,pulled_at:new Date().toISOString(),policy:a,error:"qimingclaw_bridge_unavailable"}}function lj(t){const a=new Map(Qr(t).map(i=>[m(i.approval_id),i]));return Tl(t).filter(i=>m(i.source)==="qimingclaw-runtime").map(i=>{const s=m(i.status)||"pending",o=Ov(s),u=a.get(m(i.approval_id)),_=m(u==null?void 0:u.sla_status),g=m(u==null?void 0:u.risk_level),p=o&&(_==="timeout"||g==="high");return{notification_id:`approval:${m(i.approval_id)}`,plan_id:m(i.plan_id),task_id:m(i.task_id),kind:o?"need_approval":"confirmation_resolved",title:p?"审批需要关注":o?"审批待处理":"审批已处理",body:m(i.title)||"待确认事项",level:p?"warn":o?"action":"info",status:o?"unread":"resolved",correlation_id:m(i.approval_id),created_at:m(i.created_at)||new Date().toISOString()}})}function ij(t){return jm(t).filter(a=>m(a.kind)==="approval_action_recorded").filter(a=>["delegate","mark_timeout","mark_risk"].includes(m(a.action))).map(a=>{const i=m(a.action),s=m(a.approval_id),o=i==="mark_timeout",u=i==="mark_risk";return{notification_id:`approval-action:${s}:${i}:${dt(m(a.occurred_at))}`,plan_id:m(a.plan_id),task_id:m(a.task_id),kind:"need_approval",title:o?"审批已超时":u?"审批已标记风险":"审批已转交",body:m(a.message)||s,level:o||u?"warn":"action",status:"unread",correlation_id:s,created_at:m(a.occurred_at)||new Date().toISOString()}})}function sj(t){var a;return(((a=t==null?void 0:t.sync)==null?void 0:a.recentFailures)??[]).map(i=>({notification_id:`sync_failure:${i.id}`,plan_id:"",task_id:i.entityId,kind:"task_failed",title:`同步失败:${i.entityType}`,body:Yr(i),level:i.dueForRetry===!1?"error":"warn",status:"unread",correlation_id:i.id,created_at:i.lastAttemptAt??i.updatedAt??i.createdAt}))}function rj(t){return oi(t).filter(a=>a.requires_human_action||a.status==="degraded"||a.status==="stopped").map(a=>{var i;return{notification_id:`service:${a.service_id}`,plan_id:"",task_id:((i=a.dependent_tasks)==null?void 0:i[0])??"",kind:"need_input",title:`服务需要处理:${a.name}`,body:a.error||`${a.name} 当前状态:${a.status_label||a.status}`,level:a.status==="stopped"?"error":"warn",status:"unread",correlation_id:a.service_id,created_at:a.last_seen_at||new Date().toISOString()}})}function cj(t){return wt(t).flatMap(a=>{const i=a.status.toLowerCase(),s=["completed","succeeded","success","done"].includes(i),o=["failed","error","rejected","cancelled","skipped"].includes(i);if(!s&&!o)return[];const u=a.updatedAt||a.createdAt||new Date().toISOString();return[{notification_id:`task:${a.id}:${dt(u)}`,plan_id:a.planId??"",task_id:a.id,kind:s?"task_finished":"task_failed",title:s?"任务已完成":"任务需要关注",body:`${a.title}:${Jn(a.status)}`,level:s?"info":"error",status:"unread",correlation_id:a.id,created_at:u}]})}function oj(t){return rt(t).filter(a=>a.kind==="plan_step_dispatch_failed").map(a=>{const i=se(a.payload)??{},s=m(i.step_id)||a.id,o=m(i.reason);return{notification_id:`plan-step-dispatch:${s}:${dt(a.occurredAt)}`,plan_id:a.planId??m(i.plan_id),task_id:a.taskId??m(i.task_id),kind:"task_failed",title:"Ready 步骤派发失败",body:o?`${s}:${o}`:a.message||s,level:"error",status:"unread",correlation_id:s,created_at:a.occurredAt}})}function uj(t){return au(t).filter(a=>["warn","error","action"].includes(m(a.attention_level))).map(a=>{var _,g;const i=m(a.attention_level),s=m(a.route_decision_id)||m(a.event_id),o=m(a.created_command_id),u=Ge(a.reason_codes).map(m).filter(Boolean).join(" / ");return{notification_id:`route-decision:${s}:${dt(m(a.recorded_at))}`,plan_id:m((_=se(a.context_refs))==null?void 0:_.plan_id),task_id:m((g=se(a.context_refs))==null?void 0:g.task_id),kind:i==="action"?"task_progress":"task_failed",title:i==="action"?"入口路由已映射":"入口路由需要关注",body:o?`${a.route_kind} / ${a.intent_kind} -> ${o}`:`${a.route_kind} / ${a.intent_kind}${u?`:${u}`:""}`,level:i==="error"?"error":i==="warn"?"warn":"action",status:"unread",correlation_id:s,created_at:m(a.recorded_at)||new Date().toISOString()}})}function dj(t){return km(t).results.filter(a=>a.severity==="error"||a.severity==="warn").map(a=>{const i=a.severity==="error"?"error":"warn",s=m(a.id)||`${m(a.category)||"diagnostic"}:${i}`;return{notification_id:`diagnostic:${s}`,plan_id:"",task_id:"",kind:i==="error"?"task_failed":"need_input",title:i==="error"?"诊断发现异常":"诊断需要关注",body:a.message,level:i,status:"unread",correlation_id:s,created_at:a.created_at??new Date().toISOString()}})}function fj(t){return mv(t).filter(a=>["error","warn"].includes(m(a.level))).map(a=>{const i=m(a.level)==="error"?"error":"warn",s=m(a.audit_id)||m(a.entity_id)||"audit";return{notification_id:`audit:${s}`,plan_id:m(a.plan_id),task_id:m(a.task_id)||(m(a.entity_type)==="task"?m(a.entity_id):""),kind:i==="error"?"task_failed":"need_input",title:i==="error"?"审计发现异常":"审计需要关注",body:m(a.message)||m(a.action)||s,level:i,status:"unread",correlation_id:s,created_at:m(a.occurred_at)||new Date().toISOString()}})}function mj(t,a){return a?{...t,status:a.status??t.status,read_at:a.read_at??t.read_at??null,dismissed_at:a.dismissed_at??t.dismissed_at??null,reply:a.reply??t.reply??null,replied_at:a.replied_at??t.replied_at??null}:t}function _j(t){const a=new Set;return t.filter(i=>!i.notification_id||a.has(i.notification_id)?!1:(a.add(i.notification_id),!0))}async function pj(t,a,i,s){var C;const o=(s==null?void 0:s.uiState)??await _a()??bn(),u=Em(s,o).find(R=>R.notification_id===t),_=new Date().toISOString(),g=(C=o.notificationStateById)==null?void 0:C[t],p=!!(g!=null&&g.replied_at),h={...g??{}};let k="";a==="read"?(h.status=(u==null?void 0:u.status)==="resolved"?"resolved":"read",h.read_at=h.read_at??_):a==="dismiss"?(h.status="dismissed",h.dismissed_at=_):(h.status=(u==null?void 0:u.status)==="resolved"?"resolved":"read",h.read_at=h.read_at??_,k=m(i.content??i.reply??i.message),h.reply=k,h.replied_at=_);const b={...o,notificationStateById:{...o.notificationStateById??{},[t]:h}};await Nl(b,`notification_${a}`,void 0,{notification_id:t,action:a});const A=await hj({notification_id:t,action:a,status:h.status??(u==null?void 0:u.status)??null,read_at:h.read_at??null,dismissed_at:h.dismissed_at??null,reply:a==="reply"?k:h.reply??null,replied_at:h.replied_at??null,acted_at:a==="dismiss"?h.dismissed_at??_:a==="reply"?h.replied_at??_:h.read_at??_,actor:"digital_employee_ui",source:"sgrobot-digital-adapter"}),O=a==="reply"&&(u==null?void 0:u.kind)==="need_input"&&u.task_id&&k&&!p?await gj(u,k,s):null;return{ok:!0,task_id:u==null?void 0:u.task_id,status:h.status,...A.ok?{}:{notification_sync_error:A.error},task_input_recorded:!!(O!=null&&O.accepted),governance_command_id:O==null?void 0:O.command_id,governance_event_id:yj(O)}}async function hj(t){var i;const a=(i=window.QimingClawBridge)==null?void 0:i.digital;if(!(a!=null&&a.submitNotificationAction))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const s=await a.submitNotificationAction(t);return{ok:(s==null?void 0:s.ok)!==!1,...s!=null&&s.error?{error:s.error}:{}}}catch(s){return{ok:!1,error:s instanceof Error?s.message:String(s)}}}async function gj(t,a,i){const s=Date.now();return Dl({command_kind:"provide_task_input",context_refs:{plan_id:t.plan_id||void 0,task_id:t.task_id},payload:{input:a,source:"notification_reply",notification_id:t.notification_id,plan_id:t.plan_id||void 0,task_id:t.task_id},correlation_id:`qimingclaw-notification-reply-${dt(t.notification_id)}-${s}`,idempotency_key:`qimingclaw-notification-reply-${t.notification_id}`},i)}function yj(t){var i;const a=xe((i=t==null?void 0:t.result)==null?void 0:i.run_id);if(!(!(t!=null&&t.accepted)||!a||!t.command_id))return`${a}:provide_task_input:${vj(t.command_id)}`}function vj(t){return t.replace(/[^a-zA-Z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")||"unknown"}function bj(t,a,i){var g;const s=new Map(Mn(i).map(p=>[p.id,p])),o=new Map(wt(i).map(p=>[p.id,p])),u=new Map(Qr(i).map(p=>[m(p.approval_id),p])),_=((g=t.decisionResultsByDate)==null?void 0:g[a])??{};return Tl(i).filter(p=>m(p.source)==="qimingclaw-runtime").map(p=>{const h=se(p.payload),k=m(p.approval_id)||`approval-${dt(m(p.task_id)||m(p.title)||"item")}`,b=_[k],A=xj(b,m(p.status)||"pending"),O=m(p.plan_id),C=m(p.task_id),R=O?s.get(O):null,j=C?o.get(C):null,w=u.get(k),$=(w==null?void 0:w.approval_conflict_active)===!0;return{id:k,title:m(p.title)||m(h==null?void 0:h.title)||"待确认事项",scenario:kj(p,h),status:A,status_label:Sj(A,b),plan_title:(R==null?void 0:R.title)||m(h==null?void 0:h.plan_title)||m(p.plan_id)||"qimingclaw 本地记录",task_title:(j==null?void 0:j.title)||m(h==null?void 0:h.task_title)||m(p.task_id)||"待确认任务",risk_level:m(w==null?void 0:w.risk_level)||"normal",sla_status:m(w==null?void 0:w.sla_status)||"untracked",due_at:m(w==null?void 0:w.due_at)||null,last_action:m(w==null?void 0:w.last_action)||null,last_actor:m(w==null?void 0:w.last_actor)||null,comment_count:St(w==null?void 0:w.comment_count)??0,delegate_to:m(w==null?void 0:w.delegate_to)||null,workflow_id:m(w==null?void 0:w.workflow_id)||null,current_step_id:m(w==null?void 0:w.current_step_id)||null,current_step_label:m(w==null?void 0:w.current_step_label)||null,current_participant:m(w==null?void 0:w.current_participant)||null,approval_step_index:St(w==null?void 0:w.approval_step_index),approval_step_count:St(w==null?void 0:w.approval_step_count),next_step_label:m(w==null?void 0:w.next_step_label)||null,conflict:$?{active:!0,reason:m(w==null?void 0:w.approval_conflict_reason)||null,remote_status:m(w==null?void 0:w.approval_conflict_remote_status)||null,detected_at:m(w==null?void 0:w.approval_conflict_detected_at)||null,local_status:m(w==null?void 0:w.approval_conflict_local_status)||null,remote_current_step_id:m(w==null?void 0:w.approval_conflict_remote_current_step_id)||null}:null,actions:Ov(A)&&!$?[{id:"approved",label:"同意",tone:"primary"},{id:"rejected",label:"驳回",tone:"secondary"}]:[]}})}function kj(t,a){return m(a==null?void 0:a.scenario)||m(a==null?void 0:a.summary)||m(a==null?void 0:a.reason)||m(a==null?void 0:a.message)||m(t.error)||"来自 qimingclaw 本地运行记录的人工确认项。"}function xj(t,a){const i=String(t||"").toLowerCase();return["approve","approved","accept","accepted"].includes(i)?"approved":["reject","rejected","deny","denied"].includes(i)?"rejected":["dismiss","dismissed","skip","skipped"].includes(i)?"dismissed":a||"pending"}function Sj(t,a){return a?t==="approved"?"已同意":t==="rejected"?"已驳回":t==="dismissed"?"已忽略":"已处理":t==="approved"?"已同意":t==="rejected"?"已驳回":t==="completed"?"已完成":t==="failed"?"异常":"待确认"}function Ov(t){return["pending","requested"].includes(String(t||"").toLowerCase())}function pi(t){const a=[...Wo(t).map(jj),...zn(t).flatMap(s=>qv(s,rt(t))),...rt(t).flatMap(s=>Vf(s.id,s.payload,s.occurredAt,{sourceType:"event",sourceEventId:s.id,sourceLabel:`Event ${s.kind}`,planId:s.planId,taskId:s.taskId,runId:s.runId}))],i=Bv(a);return i.map(s=>wj(s,t,i))}function wj(t,a,i){var O;const s=m(t.artifact_id)||m(t.subject_id),o=Sv(a).find(C=>m(C.artifact_id)===s)??null,u=Aj(m(t.uri)),_=Lw(t)&&!!m((O=se(t.payload))==null?void 0:O.text_content),g=Wo(a).some(C=>C.id===s||C.remoteId===s),p=g&&(_||u),h=Cm(a,s),k=Cv(a,s,t),b=m(k.cleanup_status)==="deleted",A=Am(i,t);return{...t,version:A.version,version_key:A.version_key,version_rank:A.version_rank,retention_status:h.retention_status,retention_until:h.retention_until,last_retention_action:h.last_retention_action,cleanup_status:m(k.cleanup_status)||null,deleted_at:m(k.deleted_at)||null,cleanup_reason:m(k.cleanup_reason)||null,cleanup_event_id:m(k.cleanup_event_id)||null,delivery_summary:lu(t),access:{previewable:!b&&p,downloadable:!b&&g&&u,openable:!b&&g&&u,access_policy:g?"qimingclaw-local-artifact-policy":"runtime-projection-readonly",last_access_status:m(o==null?void 0:o.status)||null}}}function jj(t){const a=se(t.payload),i=se(a==null?void 0:a.delivery),s=m(i==null?void 0:i.source_tool),o=m(i==null?void 0:i.uri),u=m(i==null?void 0:i.filename);return{artifact_id:t.id,subject_id:t.runId??t.taskId??t.planId??t.id,kind:t.kind,name:t.name||u||m((a==null?void 0:a.name)??(a==null?void 0:a.title))||Xf(t.uri??o)||t.kind,uri:t.uri||o||m((a==null?void 0:a.uri)??(a==null?void 0:a.url)??(a==null?void 0:a.path))||void 0,value:m((a==null?void 0:a.value)??(a==null?void 0:a.summary)??(a==null?void 0:a.text))||t.uri||o||t.name||u||t.kind,plan_id:t.planId??null,task_id:t.taskId??null,run_id:t.runId??null,created_at:t.createdAt,source:"qimingclaw-runtime",source_type:"artifact",source_label:s?`File Server: ${s}`:Ko("artifact",t.id),sync_status:t.syncStatus,sync_error:t.syncError,payload:t.payload,...Lv(i)}}function qv(t,a){return Bv([...Vf(t.id,t.payload,t.finishedAt??t.startedAt??t.createdAt,{sourceType:"run",sourceLabel:Ko("run",t.id),planId:t.planId,taskId:t.taskId,runId:t.id}),...a.filter(i=>i.runId===t.id).flatMap(i=>Vf(t.id,i.payload,i.occurredAt,{sourceType:"event",sourceEventId:i.id,sourceLabel:`Event ${i.kind}`,planId:i.planId,taskId:i.taskId,runId:i.runId}))])}function Vf(t,a,i,s){const o=se(a);if(!o)return typeof a=="string"?[Sf(t,a,0,i,s)]:[];const _=[...Ge(o.artifacts),...Ge(o.outputs),...Ge(o.files),...Ge(o.attachments)].map((g,p)=>Sf(t,g,p,i,s));for(const g of["artifact","outputPath","output_path","filePath","file_path","path","uri","url"])o[g]&&_.push(Sf(t,o[g],_.length,i,s));return _.filter(g=>g.name||g.uri||g.value)}function Sf(t,a,i,s,o){const u=se(a);if(u){const g=se(u.delivery),p=m(g==null?void 0:g.source_tool),h=m(g==null?void 0:g.uri),k=m(u.uri??u.url??u.path??u.filePath??u.file_path??u.outputPath??u.output_path),b=m(u.name??u.title??u.filename)||m(g==null?void 0:g.filename)||Xf(k||h)||`产物 ${i+1}`;return{artifact_id:m(u.artifact_id??u.id)||`artifact-${dt(t)}-${i+1}`,subject_id:m(u.subject_id)||t,kind:m(u.kind??u.type)||"artifact",name:b,uri:k||h,value:m(u.value??u.summary??u.text)||k||h,created_at:(m(u.created_at??u.createdAt)||s)??void 0,source:"qimingclaw-runtime",source_type:m(u.source_type)||(o==null?void 0:o.sourceType)||"payload",source_event_id:m(u.source_event_id)||(o==null?void 0:o.sourceEventId)||null,source_label:p?`File Server: ${p}`:m(u.source_label)||(o==null?void 0:o.sourceLabel)||Ko("payload",t),plan_id:m(u.plan_id)||(o==null?void 0:o.planId)||null,task_id:m(u.task_id)||(o==null?void 0:o.taskId)||null,run_id:m(u.run_id)||(o==null?void 0:o.runId)||null,...Lv(g)}}const _=String(a??"").trim();return{artifact_id:`artifact-${dt(t)}-${i+1}`,subject_id:t,kind:"artifact",name:Xf(_)||`产物 ${i+1}`,uri:Cj(_)?_:void 0,value:_,created_at:s??void 0,source:"qimingclaw-runtime",source_type:(o==null?void 0:o.sourceType)||"payload",source_event_id:(o==null?void 0:o.sourceEventId)||null,source_label:(o==null?void 0:o.sourceLabel)||Ko("payload",t),plan_id:(o==null?void 0:o.planId)||null,task_id:(o==null?void 0:o.taskId)||null,run_id:(o==null?void 0:o.runId)||null}}function Lv(t){return t?{delivery_status:m(t.status)||null,delivery_stage:m(t.stage)||null,workspace_id:m(t.workspace_id)||null,project_id:m(t.project_id)||null,file_id:m(t.file_id)||null,version:m(t.version)||null,file_size:St(t.size),source_tool:m(t.source_tool)||null}:{}}function Ko(t,a){const i=a?` ${a}`:"";switch(t){case"artifact":return`Artifact${i}`;case"event":return`Event${i}`;case"run":return`Run${i}`;case"task":return`Task${i}`;case"plan":return`Plan${i}`;default:return`Payload${i}`}}function Bv(t){const a=new Set;return t.filter(i=>{const s=i.artifact_id||`${i.subject_id}:${i.uri||i.value||i.name}`;return!s||a.has(s)?!1:(a.add(s),!!(i.name||i.uri||i.value))})}function se(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function Ge(t){return Array.isArray(t)?t:[]}function m(t){return typeof t=="string"?t.trim():""}function St(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"&&t.trim()){const a=Number(t);return Number.isFinite(a)?a:null}return null}function Cj(t){return/^(file|https?):\/\//i.test(t)||t.includes("/")||t.includes("\\")}function Aj(t){return t?/^file:\/\//i.test(t)?!0:/^[a-z][a-z0-9+.-]*:/i.test(t)?!1:t.startsWith("/")||/^[a-z]:[\\/]/i.test(t):!1}function Xf(t){return t?(t.split(/[?#]/)[0]||t).split(/[\\/]/).filter(Boolean).pop()??"":""}function dt(t){const a=t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");if(a)return a;let i=0;for(let s=0;s<t.length;s+=1)i=i*31+t.charCodeAt(s)>>>0;return`item-${i.toString(36)}`}function Tm(t,a=null){const i=(t??"").trim().toLowerCase(),s=bm(a);return i?s.filter(o=>o.title.toLowerCase().includes(i)||o.plan_id.toLowerCase().includes(i)||(o.objective??"").toLowerCase().includes(i)):s}function Nj(t){const a=new Map(Mn(t).map(o=>[o.id,o])),i=new Map(wt(t).map(o=>[o.id,o])),s=rt(t).map(o=>{const u=o.taskId?i.get(o.taskId):void 0,_=o.planId??(u==null?void 0:u.planId)??null,g=_?a.get(_):void 0,p=(u==null?void 0:u.status)??(g==null?void 0:g.status)??(o.kind.includes("failed")||o.kind.includes("error")?"failed":"running"),h=st(p);return{id:o.id,time:qo(o.occurredAt),plan_title:(g==null?void 0:g.title)??"qimingclaw 本地执行",task_title:(u==null?void 0:u.title)??o.message,step_title:o.kind,detail:o.message||o.kind,status:p,status_label:Jn(p),status_tone:h,updated_at:o.occurredAt,conversation_id:_??(u==null?void 0:u.id)??o.id}});return s.length>0?s:wt(t).map(o=>{const u=o.planId?a.get(o.planId):void 0;return{id:`task-event-${o.id}`,time:qo(o.updatedAt),plan_title:(u==null?void 0:u.title)??"qimingclaw 本地任务",task_title:o.title,step_title:o.assignedSkillId||"qimingclaw-runtime",detail:o.syncError||`${o.title}:${Jn(o.status)},同步状态 ${o.syncStatus}`,status:o.status,status_label:Jn(o.status),status_tone:st(o.status),updated_at:o.updatedAt,conversation_id:o.planId??o.id}})}function Ej(t,a,i){if(El(i)){const u=Nj(i);return Bg(u,i)}if(!a)return[{id:"event-await-confirmation",time:"待确认",plan_title:"任务设置",task_title:"等待确认今日任务",step_title:"选择职责",detail:"请先确认今天要执行的任务,确认后数字员工会开始执行。",status:"pending",status_label:"待确认",status_tone:"waiting",updated_at:new Date().toISOString(),conversation_id:null}];const o=t.filter(u=>u.selected).map(u=>({id:`event-${u.id}`,time:u.status==="running"?"实时":"待执行",plan_title:u.title,task_title:u.title,step_title:u.status==="running"?"同步 qimingclaw 服务状态":"等待调度",detail:u.status==="running"?`${u.result_text}。快照时间:${(i==null?void 0:i.generatedAt)??"未连接 bridge"}`:"任务已确认,将在后续阶段接入 ACP/MCP 真实执行事件。",status:u.status==="running"?"running":"pending",status_label:u.status==="running"?"执行中":"待执行",status_tone:u.status==="running"?"running":"waiting",updated_at:new Date().toISOString(),conversation_id:u.conversation_id}));return Bg(o,i)}function Bg(t,a){const i=a==null?void 0:a.sync;if(i&&(i.pending>0||i.failed>0||i.lastSyncAt)){const s=(i.recentFailures||[]).slice(0,3).map(Yr).join(";");return[...t,{id:"event-management-sync",time:i.syncing?"实时":"同步",plan_title:"管理端联动",task_title:"同步数字员工本地状态",step_title:i.failed>0?"同步补偿":"outbox 推送",detail:[Po(a),i.lastSyncError?`错误:${i.lastSyncError}`:"",s?`最近失败:${s}`:""].filter(Boolean).join("。"),status:i.failed>0?"failed":i.syncing||i.pending>0?"running":"completed",status_label:i.failed>0?"异常":i.syncing||i.pending>0?"同步中":"已同步",status_tone:i.failed>0?"danger":i.syncing||i.pending>0?"running":"success",updated_at:i.lastSyncAt??new Date().toISOString(),conversation_id:"qimingclaw-management-sync"}]}return t}function Tj(t,a){return(t.some(s=>s.selected)?t.filter(s=>s.selected):t).map(s=>{const o=a.filter(h=>h.conversation_id===s.conversation_id),u=o.filter(h=>h.status==="running").length,_=o.filter(h=>h.status==="completed").length,g=o.filter(h=>st(h.status)==="danger").length,p=Math.max(0,o.length-u-_-g);return{id:s.id,plan_id:s.id,title:s.title,description:s.summary,selected:s.selected,total_count:Math.max(o.length,1),success_count:_,failure_count:g,running_count:u,waiting_count:o.length===0?1:p,latest_status_label:g>0?"异常":u>0?"执行中":_>0?"已完成":"待执行",latest_status_tone:g>0?"danger":u>0?"running":_>0?"success":"waiting",business_summary:s.result_text,ai_summary:"当前由 qimingclaw 本地运行记录生成。"}})}function Dj(t){return t.map(a=>({id:`run-detail-${a.id}`,time:a.time,task_name:a.task_title,step_name:a.step_title,operation_name:a.plan_title,status_label:a.status_label,status_tone:a.status_tone,business_detail:a.detail,raw_detail:a.detail,updated_at:a.updated_at,conversation_id:a.conversation_id}))}function Uv(t,a){const i=(a==null?void 0:a.uiState)??bn(),s=i.confirmedDates[t]??null,o=!!s,u=lw(i,t,a),_=Ej(u,o,a),g=Tj(u,_),p=i.reportGeneratedAtByDate[t]??null,h=u.filter(le=>le.selected).length,k=_.filter(le=>le.status==="running").length,b=_.filter(le=>st(le.status)==="success").length,A=_.filter(le=>st(le.status)==="danger").length,O=Mn(a).length+wt(a).length,C=El(a),R=a==null?void 0:a.sync,j=qj(pi(a)),w=Dj(_),$=oi(a),I=$.filter(le=>le.requires_human_action||le.status==="degraded"),te=$.filter(le=>le.running).length,ae=JS(a),ie=FS(a),L=ie.filter(le=>le.can_retry||le.can_skip||le.can_cancel);return{source:"live",date:t,employee:{name:i.profile.name,title:"数字员工",major:"qimingclaw 客户端任务执行",company:i.profile.company,position:i.profile.position,current_status:i.profile.currentStatus,current_status_label:i.profile.currentStatus==="resting"?"休息中":"工作中",motto:"承接客户端任务,调度 ACP 与 MCP 能力完成执行。"},workday:{confirmed:o,confirmed_at:s,current_status:i.profile.currentStatus,current_status_label:i.profile.currentStatus==="resting"?"休息中":"工作中",status_label:C?A>0||I.length>0?"有异常":k>0?"执行中":"已同步":o?"运行中":"待确认",status_tone:C?A>0||I.length>0?"danger":k>0?"running":"success":o?"running":"waiting",summary:C?`当前日期 ${Ao(t)} 已读取 ${O} 条 qimingclaw 本地运行记录,${Rg($)}。`:o?`当前日期 ${Ao(t)} 已确认 ${h} 项任务。`:`当前日期 ${Ao(t)} 待确认今日任务。`,bubble_text:C?I.length>0?`我发现 ${I.length} 项常驻服务需要处理,会把影响到的任务标出来。`:"我已接入 qimingclaw 本地运行记录,会持续展示真实任务、事件和同步状态。":o?"我已接入 qimingclaw 客户端执行链路,正在等待真实 Run/Event 数据接入。":"请先确认今天要执行的任务,我会把它们映射到 qimingclaw 执行链路。"},overview:{title:"今日执行",status_label:C?"本地真实记录":o?"真实数据":"待确认",status_tone:A>0?"danger":C||o?"success":"waiting",metrics:[{label:"已选任务",value:String(h)},{label:"运行记录",value:String(_.length)},{label:"执行中",value:String(k)},{label:"已完成",value:String(b)},{label:"异常",value:String(A)},{label:"待同步",value:String((R==null?void 0:R.pending)??0)},{label:"同步异常",value:String((R==null?void 0:R.failed)??0)},{label:"服务运行",value:`${te}/${$.length}`},{label:"需处理服务",value:String(I.length)},{label:"Plan Agent",value:String(ae.length)},{label:"Task Agent",value:String(ie.length)},{label:"可治理任务",value:String(L.length)}]},managed_services:$,plan_agents:ae,task_agents:ie,duties:u,events:_,execution_summaries:g,run_details:w,decisions:bj(i,t,a),delivery:{headline:C?"qimingclaw 本地记录已接入":o?"qimingclaw 执行链路已接入":"等待确认任务设置",summary:C?"数字员工页面正在读取本地 Plan / Task / Run / Event,并同步展示管理端 outbox 状态。":"当前阶段已将数字员工页面切换到 qimingclaw adapter,并开始读取客户端服务状态。",lines:["已吸收 sgRobot 数字员工 UI 和核心展示模型。",C?`已读取本地记录:Plan ${Mn(a).length} / Task ${wt(a).length} / Run ${zn(a).length} / Event ${rt(a).length}。`:"已建立 qimingclaw workday/plans/tasks/skills API adapter。",wl(a,"agent","Agent"),wl(a,"mcp","MCP"),wl(a,"computerServer","Computer Server"),Rg($),...I.slice(0,3).map(HS),`Plan Agent:${ae.length} 个计划代理,Task Agent:${ie.length} 个任务代理。`,L[0]?`待治理任务:${L[0].title},下一步 ${L[0].next_action}。`:"Task Agent:暂无需要重试、跳过或取消的任务。",Po(a),`活跃会话:${(a==null?void 0:a.sessions.active)??0} / ${(a==null?void 0:a.sessions.total)??0}`],artifacts:[{name:"数字员工运行摘要",status:p?"ready":"pending"},...j.slice(0,4).map(le=>({name:le.name,status:p?"ready":"available",uri:le.uri??null,source_label:le.source_label??null,source_type:le.source_type??null}))]},route_summary:Sw(a),diagnostic_summary:uw(a),daily_report:Rj({date:t,state:i,generatedAt:p,selectedCount:h,events:_,executionSummaries:g,runDetails:w,artifactSources:j,successCount:b,failureCount:A,runningCount:k,snapshot:a})}}function Rj(t){const a=`${Ao(t.date)} 飞天数字员工日报`,i=t.generatedAt?`今日已完成数字员工页面到 qimingclaw adapter 的接入,并读取了 qimingclaw 服务状态。${Po(t.snapshot)}。`:"日报将在生成后汇总任务选择、运行明细和后续接入建议。",s={task_count:t.selectedCount,execution_count:t.events.length,success_count:t.successCount,failure_count:t.failureCount,running_count:t.runningCount},o=t.events.map(b=>`${b.time} ${b.task_title}:${b.detail}`),u=t.generatedAt?Oj(t.date,t.generatedAt):null,_=Dm(t.date),g=Rm(t.date),p=$m(t.date),h={report_id:u,artifact_id:u?`${u}:artifact:text`:null,html_artifact_id:u?`${u}:artifact:html`:null,pdf_artifact_id:u?`${u}:artifact:pdf`:null,event_id:u?`${u}:event:generated`:null,date:t.date,title:a,report_schedule_time:t.state.reportScheduleTime,status:t.generatedAt?"ready":"not_generated",generated_at:t.generatedAt,generated_by:t.generatedAt?"ai":"fallback",model:"qimingclaw-adapter",source:"qimingclaw",summary:i,totals:s,task_sections:t.executionSummaries,detail_lines:o,artifact_sources:t.artifactSources,download_filename:_,html_filename:g,pdf_filename:p,text_content:null,html_content:null,pdf_available:!!t.generatedAt,pdf_url:null},k=t.generatedAt?$j(h,t.runDetails,t.artifactSources):null;return{...h,text_content:k,html_content:k?Hv(h,k):null}}function $j(t,a,i){return[t.title||`${t.date} 数字员工日报`,`日期:${t.date}`,`生成时间:${t.generated_at||"暂未生成"}`,`生成来源:${t.generated_by==="ai"?"AI":"qimingclaw adapter"}`,"","## 摘要",t.summary||"暂无摘要。","","## 指标",`任务总数:${t.totals.task_count}`,`执行次数:${t.totals.execution_count}`,`成功次数:${t.totals.success_count}`,`失败次数:${t.totals.failure_count}`,`运行中:${t.totals.running_count??0}`,"","## 任务汇总",...t.task_sections.length>0?t.task_sections.map(s=>`- ${s.title}:${s.latest_status_label},执行 ${s.total_count} 次,成功 ${s.success_count},失败 ${s.failure_count}。${s.ai_summary||s.business_summary||""}`):["暂无任务汇总。"],"","## 运行明细",...a.length>0?a.map(s=>`- ${s.time||"--:--"} ${s.task_name} / ${s.step_name||s.operation_name||"任务执行"}:${s.status_label},${s.business_detail}`):["暂无运行明细。"],"","## 产物来源",...i.length>0?i.map(s=>`- ${s.name}:${s.source_label||s.source_type||"未知来源"}${s.uri?`,${s.uri}`:""}`):["暂无产物来源。"],"","## 详情",...(t.detail_lines??[]).length>0?t.detail_lines:["暂无详情。"]].join(`
|
||
`)}function Dm(t){return`qimingclaw-digital-report-${t}.txt`}function Rm(t){return`qimingclaw-digital-report-${t}.html`}function $m(t){return`qimingclaw-digital-report-${t}.pdf`}function Hv(t,a){const i=a.split(`
|
||
`).map(s=>s.startsWith("## ")?`<h2>${Tr(s.slice(3))}</h2>`:s.startsWith("- ")?`<li>${Tr(s.slice(2))}</li>`:s.trim()?`<p>${Tr(s)}</p>`:"").join(`
|
||
`);return`<!doctype html><html><head><meta charset="utf-8"><title>${Tr(t.title)}</title><style>body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;padding:32px;color:#172033;}article{max-width:860px;margin:0 auto;}h1{font-size:28px;}h2{font-size:18px;margin-top:24px;}li{margin:4px 0;}</style></head><body><article><h1>${Tr(t.title)}</h1>${i}</article></body></html>`}function Mj(t,a){const u=`${t.title}
|
||
|
||
${a}`.replace(/[^\x20-\x7E\n]/g,"?").slice(0,3600).split(`
|
||
`).slice(0,48).map((k,b)=>`BT /F1 11 Tf 48 ${760-b*14} Td (${zj(k)}) Tj ET`).join(`
|
||
`)||"BT /F1 11 Tf 48 760 Td (Daily Report) Tj ET",_=["1 0 obj << /Type /Catalog /Pages 2 0 R >> endobj","2 0 obj << /Type /Pages /Kids [3 0 R] /Count 1 >> endobj","3 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 595 842] /Resources << /Font << /F1 4 0 R >> >> /Contents 5 0 R >> endobj","4 0 obj << /Type /Font /Subtype /Type1 /BaseFont /Helvetica >> endobj",`5 0 obj << /Length ${u.length} >> stream
|
||
${u}
|
||
endstream endobj`];let g=9;const p=["0000000000 65535 f "];for(const k of _)p.push(`${String(g).padStart(10,"0")} 00000 n `),g+=k.length+1;const h=`%PDF-1.4
|
||
${_.join(`
|
||
`)}
|
||
xref
|
||
0 ${_.length+1}
|
||
${p.join(`
|
||
`)}
|
||
trailer << /Size ${_.length+1} /Root 1 0 R >>
|
||
startxref
|
||
${g}
|
||
%%EOF`;return window.btoa(h)}function zj(t){return t.replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")}function Tr(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Oj(t,a){return`daily-report:${t}:${dt(a)}`}function qj(t){return t.slice(0,20).map(a=>({id:m(a.artifact_id)||`${m(a.subject_id)}:${m(a.uri??a.name)}`,name:m(a.name)||m(a.uri)||m(a.value)||"未命名产物",kind:m(a.kind)||null,uri:m(a.uri)||null,delivery_status:m(a.delivery_status)||null,delivery_stage:m(a.delivery_stage)||null,workspace_id:m(a.workspace_id)||null,project_id:m(a.project_id)||null,file_id:m(a.file_id)||null,version:m(a.version)||null,version_key:m(a.version_key)||null,version_rank:St(a.version_rank),retention_status:m(a.retention_status)||null,retention_until:m(a.retention_until)||null,last_retention_action:m(a.last_retention_action)||null,cleanup_status:m(a.cleanup_status)||null,deleted_at:m(a.deleted_at)||null,cleanup_reason:m(a.cleanup_reason)||null,cleanup_event_id:m(a.cleanup_event_id)||null,file_size:typeof a.file_size=="number"?a.file_size:null,source_tool:m(a.source_tool)||null,source_label:m(a.source_label)||null,source_type:m(a.source_type)||null,source_event_id:m(a.source_event_id)||null,plan_id:m(a.plan_id)||null,task_id:m(a.task_id)||null,run_id:m(a.run_id)||null,created_at:m(a.created_at)||null,access:a.access,delivery_summary:a.delivery_summary??null}))}async function Lj(t,a){var p,h,k;const i=(a==null?void 0:a.uiState)??await _a()??bn(),s=t.date||Fo();t.action==="confirm_workday"&&(i.selectedDutyIdsByDate[s]=t.duty_ids??[],i.confirmedDates[s]=new Date().toISOString()),t.action==="update_profile"&&(i.profile={name:t.name||i.profile.name,company:t.company||i.profile.company,position:t.position||i.profile.position,currentStatus:t.current_status||i.profile.currentStatus}),t.action==="update_report_schedule"&&(i.reportScheduleTime=t.report_schedule_time||i.reportScheduleTime),t.action==="generate_daily_report"&&(t.duty_ids&&(i.selectedDutyIdsByDate[s]=t.duty_ids),t.report_schedule_time&&(i.reportScheduleTime=t.report_schedule_time),i.reportGeneratedAtByDate[s]=new Date().toISOString()),t.action==="decide_approval"&&t.decision_id&&(i.decisionResultsByDate=i.decisionResultsByDate??{},i.decisionResultsByDate[s]={...i.decisionResultsByDate[s]??{},[t.decision_id]:t.decision||"resolved"});const o=t.action==="decide_approval"?await Hj(t,a):null,u=await Nl(i,t.action,s,t.action==="decide_approval"?{decision_id:t.decision_id,decision:t.decision,acp_permission:o}:void 0),_={...a??{generatedAt:new Date().toISOString(),services:{},sessions:{total:0,active:0,items:[]}},uiState:u};t.action==="decide_approval"&&await((k=(h=(p=window.QimingClawBridge)==null?void 0:p.digital)==null?void 0:h.submitApprovalDecision)==null?void 0:k.call(h,{approval_id:t.decision_id,decision:t.decision,date:s,actor:"digital_employee_operator",source:"sgrobot-digital-adapter",acp_permission:o}).catch(()=>null));const g=Uv(s,_);return t.action==="generate_daily_report"&&g.daily_report&&await Bj(g.daily_report),g}async function Bj(t){var a,i,s;if(!(!t.report_id||!t.generated_at||!t.text_content))try{await((s=(i=(a=window.QimingClawBridge)==null?void 0:a.digital)==null?void 0:i.recordDailyReport)==null?void 0:s.call(i,{reportId:t.report_id,date:t.date,title:t.title,summary:t.summary,totals:t.totals,detailLines:t.detail_lines,artifactSources:t.artifact_sources??[],filename:t.download_filename||Dm(t.date),textContent:t.text_content,htmlFilename:t.html_filename||Rm(t.date),htmlContent:t.html_content||Hv(t,t.text_content),pdfFilename:t.pdf_filename||$m(t.date),pdfContentBase64:Mj(t,t.text_content),generatedAt:t.generated_at,reportScheduleTime:t.report_schedule_time,source:t.source??"qimingclaw",model:t.model??"qimingclaw-adapter"}))}catch(o){console.warn("[qimingclawAdapter] record daily report failed:",o)}}async function Uj(t){var o,u;const a=m(t.reportId);if(!a)return{eventId:""};const i=(u=(o=window.QimingClawBridge)==null?void 0:o.digital)==null?void 0:u.recordDailyReportDelivery,s={reportId:a,action:t.action,status:t.status,actor:t.actor??"digital_employee_operator",endpoint:t.endpoint??"management-console",remoteId:t.remoteId??null,message:t.message??null};return i?await i(s)??{eventId:""}:{eventId:""}}async function Hj(t,a){var _,g;if(!t.decision_id||!t.decision)return null;const i=Ij(t.decision_id,a);if(!i)return null;const s=Gj(i);if(!s)return null;const o=Yj(t.decision),u=(g=(_=window.QimingClawBridge)==null?void 0:_.digital)==null?void 0:g.respondPermission;if(!u)return null;try{const p=await u(s.sessionId,s.permissionId,o);return{permission_id:s.permissionId,session_id:s.sessionId,response:o,success:(p==null?void 0:p.success)!==!1,error:p==null?void 0:p.error}}catch(p){return{permission_id:s.permissionId,session_id:s.sessionId,response:o,success:!1,error:p instanceof Error?p.message:String(p)}}}function Ij(t,a){return Tl(a).find(i=>m(i.approval_id)===t)??null}function Gj(t){const a=se(t.payload),i=se(a==null?void 0:a.payload),s=m(a==null?void 0:a.permissionId)||m(a==null?void 0:a.permission_id)||m(a==null?void 0:a.id)||m(i==null?void 0:i.permissionId)||m(i==null?void 0:i.permission_id)||m(i==null?void 0:i.id),o=m(a==null?void 0:a.sessionId)||m(a==null?void 0:a.session_id)||m(i==null?void 0:i.sessionId)||m(i==null?void 0:i.session_id),u=m(a==null?void 0:a.source);return!s||!o||u&&u!=="acp-permission"?null:{permissionId:s,sessionId:o}}function Yj(t){const a=t.toLowerCase();return a.includes("always")?"always":a.includes("reject")||a.includes("deny")?"reject":"once"}async function Ug(t,a,i,s={}){const o=Qj(a),u=`plan-action-${dt(t)}-${dt(a)}-${Date.now()}`;return o?Dl({command_kind:o,context_refs:{plan_id:t},payload:{...s,plan_id:t,requested_action:`plan_${a}`,action_endpoint:`/api/debug/plan/${t}/${a}`},correlation_id:u},i):{command_id:`qimingclaw-digital-plan-action-${Date.now()}`,accepted:!1,correlation_id:u,message:`暂不支持计划动作:${a}`,error:"unsupported_command"}}async function Kj(t,a,i,s={}){const o=Vj(a),u=wt(i).find(b=>b.id===t),_=tu(zn(i),t),g=(u==null?void 0:u.planId)??(m(s.plan_id)||void 0),p=(_==null?void 0:_.id)??(m(s.run_id)||void 0),h=u?Ya(u):m(s.step_id)||void 0,k=`task-action-${dt(t)}-${dt(a)}-${Date.now()}`;return o?Dl({command_kind:o,context_refs:{plan_id:g,task_id:t,run_id:p,step_id:h},payload:{...s,task_id:t,plan_id:g??s.plan_id,run_id:p??s.run_id,step_id:h??s.step_id,requested_action:`task_${a}`,action_endpoint:`/api/task/${t}/${a}`},correlation_id:k},i):{command_id:`qimingclaw-digital-task-action-${Date.now()}`,accepted:!1,correlation_id:k,message:`暂不支持任务动作:${a}`,error:"unsupported_command"}}function Qj(t){switch(t.toLowerCase()){case"submit":return"submit_plan";case"approve":return"approve_plan";case"activate":return"activate_plan";case"pause":return"pause_plan";case"resume":return"resume_plan";case"cancel":return"cancel_plan";case"amend":return"amend_plan";default:return null}}function Vj(t){switch(t.toLowerCase()){case"retry":return"retry_task";case"skip":return"skip_task";case"pause":return"pause_task";case"resume":return"resume_task";case"cancel":return"cancel_task";case"start":return"start_run";default:return null}}function Xj(t,a){const i=rt(a).filter(s=>s.planId===t&&s.kind.startsWith("governance_")).sort((s,o)=>o.occurredAt.localeCompare(s.occurredAt)||o.createdAt.localeCompare(s.createdAt)).map(s=>{const o=se(s.payload)??{},u=se(o.result)??{},_=m(o.commandKind)||s.kind.replace(/^governance_/,"");return{revision_id:s.id,plan_id:t,event_id:s.id,command_kind:_,action:_.replace(/_plan$/,""),status:m(u.status)||m(o.status)||"recorded",message:s.message,created_at:s.occurredAt,payload:o}});return{plan_id:t,revisions:i}}async function Zj(t=80){var i;const a=(i=window.QimingClawBridge)==null?void 0:i.digital;if(!(a!=null&&a.listRouteDecisions))return{has_route_decision_state:!1,decisions:[]};try{return{has_route_decision_state:!0,decisions:await a.listRouteDecisions({limit:t})??[]}}catch(s){return console.warn("[qimingclawAdapter] list route decisions failed:",s),{has_route_decision_state:!1,decisions:[]}}}async function Mm(t=80){var i;const a=(i=window.QimingClawBridge)==null?void 0:i.digital;if(!(a!=null&&a.listRouteInterventions))return{has_route_intervention_state:!1,interventions:[]};try{return{has_route_intervention_state:!0,interventions:await a.listRouteInterventions({limit:t})??[]}}catch(s){return console.warn("[qimingclawAdapter] list route interventions failed:",s),{has_route_intervention_state:!1,interventions:[]}}}async function Iv(t,a,i){const s=m(a.decision)||"reject",o=m(a.approval_id)||Pj(t,i),_=(await Mm(160)).interventions.find(A=>A.route_decision_id===t)??null,g=Gv(t,i),p=(g==null?void 0:g.decision)??Jj(_,t);if(!p){const A=await Hg({routeDecisionId:t,approvalId:o,decision:s,commandAccepted:!1,commandError:"route_intervention_missing_context",actor:a.actor??"digital_employee_operator",occurredAt:new Date().toISOString()});return{accepted:!1,route_decision_id:t,intervention:A,error:"invalid_context",message:"入口路由上下文缺失,无法恢复执行。"}}await Wj(o,s,a.actor??"digital_employee_operator",i);let h=null,k=null;if(Zf(s)){const A=Yv(p,(g==null?void 0:g.body)??Fj(p),i);A.command?(h=await Dl(A.command,i),h.accepted||(k=h.error||"route_intervention_command_rejected")):k=A.reasonCode||"route_intervention_missing_context"}const b=await Hg({routeDecisionId:t,approvalId:o,decision:s,createdCommandId:(h==null?void 0:h.command_id)??null,commandAccepted:(h==null?void 0:h.accepted)===!0,commandError:k,blockedReason:p.blocked_reason??null,policyResult:p.policy_result??null,policySource:p.policy_source??null,matchedIntent:p.matched_intent??null,routeKind:p.route_kind,intentKind:p.intent_kind,reasonCodes:p.reason_codes,candidateSkills:p.candidate_skills,contextRefs:p.context_refs,entrypoint:p.entrypoint??null,actor:a.actor??"digital_employee_operator",correlationId:p.correlation_id,payload:{comment:a.comment??null},occurredAt:new Date().toISOString()});return{accepted:b.intervention_status!=="failed",route_decision_id:t,intervention:b,command:h,error:k||void 0,message:b.resolution_duplicate?"入口路由干预已处理。":Zf(s)?h!=null&&h.command_id?"入口路由干预已通过并恢复执行。":"入口路由干预已通过。":"入口路由干预已拒绝。"}}async function Hg(t){var i;const a=(i=window.QimingClawBridge)==null?void 0:i.digital;return a!=null&&a.recordRouteInterventionResolution?a.recordRouteInterventionResolution(t):{route_decision_id:t.routeDecisionId,approval_id:t.approvalId??null,route_kind:t.routeKind??"ChatOnly",intent_kind:t.intentKind??"chat",policy_result:t.policyResult??null,intervention_status:t.commandError?"failed":Zf(t.decision)?"approved":"rejected",decision:t.decision,created_command_id:t.createdCommandId??null,blocked_reason:t.blockedReason??null,matched_intent:t.matchedIntent??null,policy_source:t.policySource??null,reason_codes:t.reasonCodes??[],candidate_skills:t.candidateSkills??[],context_refs:t.contextRefs??{},entrypoint:t.entrypoint??null,actor:t.actor??null,correlation_id:t.correlationId??null,approval_status:null,recorded_at:t.occurredAt??new Date().toISOString(),resolved_at:t.occurredAt??new Date().toISOString(),resolution_duplicate:!1}}function Gv(t,a){const i=rt(a).find(_=>{if(_.kind!=="route_decision")return!1;const g=se(_.payload)??{};return Qf(g,_).id===t});if(!i)return null;const s=se(i.payload)??{},o=Qf(s,i),u=se(s.envelope)??{};return{decision:o,body:{entrypoint:o.entrypoint??"chat",actor:o.actor??void 0,text:m(u.text)||void 0,payload:se(u.payload)??{},attachments:Ge(u.attachments).filter(_=>typeof _=="string"),timestamp:o.recorded_at,correlation_id:o.correlation_id,idempotency_key:`route-intervention:${o.id}`,context_refs:o.context_refs}}}function Jj(t,a){return t?{id:a,route_kind:t.route_kind,intent_kind:t.intent_kind,reason_codes:t.reason_codes??[],candidate_skills:t.candidate_skills??[],context_refs:t.context_refs??{},created_command_id:t.created_command_id,correlation_id:t.correlation_id||a,creates_plan:t.route_kind==="PlanControl"||t.route_kind==="PlanExecution",creates_task_run:t.route_kind==="DirectRun"||t.route_kind==="PlanExecution",approval_mode:t.approval_id?"manual":null,policy_result:t.policy_result,policy_source:t.policy_source,blocked_reason:t.blocked_reason,approval_id:t.approval_id,matched_intent:t.matched_intent,recorded_at:t.recorded_at,entrypoint:t.entrypoint,actor:t.actor}:null}function Fj(t){return{entrypoint:t.entrypoint??"chat",actor:t.actor??void 0,payload:{},attachments:[],timestamp:t.recorded_at,correlation_id:t.correlation_id,idempotency_key:`route-intervention:${t.id}`,context_refs:t.context_refs}}function Pj(t,a){const i=Gv(t,a);if(i!=null&&i.decision.approval_id)return i.decision.approval_id;const s=au(a).find(o=>m(o.route_decision_id)===t);return m(s==null?void 0:s.approval_id)||null}async function Wj(t,a,i,s){var _,g,p;if(!t)return;const o=Fo(),u=(s==null?void 0:s.uiState)??await _a()??bn();u.decisionResultsByDate=u.decisionResultsByDate??{},u.decisionResultsByDate[o]={...u.decisionResultsByDate[o]??{},[t]:a},await Nl(u,"decide_approval",o,{decision_id:t,decision:a,actor:i}),await((p=(g=(_=window.QimingClawBridge)==null?void 0:_.digital)==null?void 0:g.submitApprovalDecision)==null?void 0:p.call(g,{approval_id:t,decision:a,date:o,actor:i,source:"sgrobot-route-intervention"}).catch(()=>null))}function Zf(t){return["approve","approved","accept","accepted"].includes(t.toLowerCase())}async function e1(t,a){var te,ae,ie,L,le;const i=t.timestamp||new Date().toISOString(),s=t.correlation_id||`route-${Date.now()}`,o=t.idempotency_key||s,u=i1(t),_=s1(t,u,a),g=await c1(_.candidateSkills),p=g.allCandidatesDisabled?[..._.reasonCodes,"candidate_skills_disabled"]:_.reasonCodes,h={id:`route-decision-${dt(o)}`,route_kind:_.routeKind,intent_kind:_.intentKind,reason_codes:p,candidate_skills:g.candidateSkills,context_refs:u,created_command_id:null,correlation_id:s,creates_plan:_.createsPlan,creates_task_run:_.createsTaskRun,approval_mode:null,policy_result:"accepted",policy_source:null,blocked_reason:null,approval_id:null,matched_intent:null,recorded_at:i,entrypoint:t.entrypoint??null,actor:t.actor??null},k=await TS({routeDecisionId:h.id,routeKind:h.route_kind,intentKind:h.intent_kind,reasonCodes:h.reason_codes,candidateSkills:h.candidate_skills,contextRefs:h.context_refs,correlationId:s,idempotencyKey:t.idempotency_key,entrypoint:t.entrypoint??null,actor:t.actor??null,source:"qimingclaw-ingress-route",payload:{text:t.text??null,payload:t.payload??null,attachments:t.attachments??[]},occurredAt:i}),b=m(k.decision)||"allowed";h.policy_result=k.policy_result||(b==="allowed"?"accepted":b),h.policy_source=k.policy_source??((te=k.policy)==null?void 0:te.source)??null,h.blocked_reason=k.blocked_reason??null,h.approval_id=k.approval_id??null,h.matched_intent=k.matched_intent??null,h.reason_codes=gt([...h.reason_codes,...k.reason_codes??[]]);const A=((ae=k.policy)==null?void 0:ae.preferred_route_kinds)??[];A.length>0&&!A.includes(h.route_kind)&&(h.reason_codes=gt([...h.reason_codes,"route_kind_not_preferred"]));const O=b==="allowed"&&((ie=k.policy)==null?void 0:ie.auto_create_governance_commands)!==!1;b==="allowed"&&((L=k.policy)==null?void 0:L.auto_create_governance_commands)===!1&&(h.reason_codes=gt([...h.reason_codes,"route_command_auto_create_disabled"]));const C=O?Yv(h,t,a):{command:null,reasonCode:b==="allowed"?"route_command_auto_create_disabled":`route_policy_${h.policy_result}`},R=C.command?await Dl(C.command,a):null;R!=null&&R.accepted&&R.command_id?(h.created_command_id=R.command_id,h.reason_codes=gt([...h.reason_codes,"route_action_mapped"])):C.reasonCode&&(h.reason_codes=gt([...h.reason_codes,C.reasonCode]));const j=(le=window.QimingClawBridge)==null?void 0:le.digital,$=(j!=null&&j.recordRouteDecision?await j.recordRouteDecision({id:h.id,idempotencyKey:t.idempotency_key,correlationId:s,routeKind:h.route_kind,intentKind:h.intent_kind,reasonCodes:h.reason_codes,candidateSkills:h.candidate_skills,contextRefs:h.context_refs,createdCommandId:h.created_command_id,createsPlan:h.creates_plan,createsTaskRun:h.creates_task_run,approvalMode:h.approval_mode,policyResult:h.policy_result,policySource:h.policy_source,blockedReason:h.blocked_reason,approvalId:h.approval_id,matchedIntent:h.matched_intent,entrypoint:h.entrypoint,actor:h.actor,message:`入口路由决策:${h.route_kind} / ${h.intent_kind}`,envelope:{text:t.text??null,payload:t.payload??null,attachments:t.attachments??[]},recordedAt:i}):null)??h,I=l1(R);return b!=="allowed"?{accepted:!1,envelope:{entrypoint:t.entrypoint??"chat",text:t.text??null,payload:t.payload??null,attachments:t.attachments??[],context_refs:u},response_kind:"route_decision",route_decision:$,command:null,created_plan_id:null,created_schedule_id:null,created_task_ids:[],created_run_ids:[],projection_name:null,projection_payload:null,error:"policy_blocked",message:b==="approval_required"?`入口路由需要审批:${$.route_kind} / ${$.intent_kind}`:`入口路由已被策略阻断:${$.route_kind} / ${$.intent_kind}`}:{accepted:!0,envelope:{entrypoint:t.entrypoint??"chat",text:t.text??null,payload:t.payload??null,attachments:t.attachments??[],context_refs:u},response_kind:"route_decision",route_decision:$,command:R,created_plan_id:I.createdPlanId,created_schedule_id:I.createdScheduleId,created_task_ids:I.createdTaskIds,created_run_ids:I.createdRunIds,projection_name:null,projection_payload:null,message:R!=null&&R.command_id?`已记录入口路由并映射治理动作:${$.route_kind} / ${$.intent_kind}`:`已记录入口路由:${$.route_kind} / ${$.intent_kind}`}}function Yv(t,a,i){if(t.reason_codes.includes("candidate_skills_disabled"))return{command:null,reasonCode:"route_action_not_mapped"};const s=t.context_refs??{},o=se(a.payload)??{},u=yn({...o,source:"qimingclaw-ingress-route",route_decision_id:t.id,route_kind:t.route_kind,intent_kind:t.intent_kind,reason_codes:t.reason_codes,ingress_text:a.text??null}),_=(g,p)=>({command_kind:g,context_refs:yn({...s,...p}),payload:yn({...u,...p}),correlation_id:t.correlation_id,idempotency_key:`route-command:${t.id}`});if(t.route_kind==="PlanExecution"&&t.intent_kind==="schedule"){const g=m(s.schedule_id)||m(o.schedule_id)||m(o.scheduleId);if(!g)return{command:null,reasonCode:"route_action_missing_context"};const p="run_schedule_now",h=wf(p);return h?{command:null,reasonCode:h}:{command:_(p,{schedule_id:g}),reasonCode:"route_action_mapped"}}if(t.route_kind==="PlanExecution"&&t.intent_kind==="execute"){const g=m(s.step_id)||m(o.step_id)||m(o.stepId),p=m(s.task_id)||m(o.task_id)||m(o.taskId)||t1(i,g);if(!p)return{command:null,reasonCode:"route_action_missing_context"};const h=wt(i).find(A=>A.id===p)??null,k="start_run",b=wf(k);return b?{command:null,reasonCode:b}:{command:_(k,{plan_id:m(s.plan_id)||(h==null?void 0:h.planId)||m(o.plan_id)||m(o.planId),task_id:p,step_id:g||(h?Ya(h):""),run_id:m(s.run_id)||m(o.run_id)||m(o.runId)}),reasonCode:"route_action_mapped"}}if(t.route_kind==="PlanControl"&&t.intent_kind==="control"){const g=n1(a),p=m(s.task_id)||m(o.task_id)||m(o.taskId),h=m(s.plan_id)||m(o.plan_id)||m(o.planId),k=a1(g,!!p);if(!k||!p&&!h)return{command:null,reasonCode:"route_action_missing_context"};const b=wf(k);return b?{command:null,reasonCode:b}:{command:_(k,{plan_id:h,task_id:p,step_id:m(s.step_id)||m(o.step_id)||m(o.stepId),run_id:m(s.run_id)||m(o.run_id)||m(o.runId)}),reasonCode:"route_action_mapped"}}return{command:null,reasonCode:"route_action_not_mapped"}}function t1(t,a){var s;return!a||!mi(t).some(o=>o.id===a&&o.status.toLowerCase()==="ready")?"":((s=wt(t).find(o=>Ya(o)===a))==null?void 0:s.id)??""}function n1(t){const a=se(t.payload)??{};return[t.text,a.action,a.command,a.intent,a.requested_action].map(m).filter(Boolean).join(" ").toLowerCase()}function a1(t,a){return a?Gt(t,["retry","重试"])?"retry_task":Gt(t,["skip","跳过"])?"skip_task":Gt(t,["pause","暂停"])?"pause_task":Gt(t,["resume","恢复"])?"resume_task":Gt(t,["cancel","取消"])?"cancel_task":Gt(t,["start","run","execute","begin","启动","开始","执行"])?"start_run":null:Gt(t,["submit","提交"])?"submit_plan":Gt(t,["approve","批准","同意"])?"approve_plan":Gt(t,["pause","暂停"])?"pause_plan":Gt(t,["resume","恢复"])?"resume_plan":Gt(t,["cancel","取消"])?"cancel_plan":Gt(t,["amend","edit","revise","修改","调整"])?"amend_plan":Gt(t,["activate","start","run","execute","启动","开始","执行"])?"activate_plan":null}function l1(t){const a=se(t==null?void 0:t.result)??{},i=gt([a.task_id,a.taskId,...Ge(a.dispatched_tasks).map(s=>{var o,u;return((o=se(s))==null?void 0:o.task_id)??((u=se(s))==null?void 0:u.taskId)})]);return{createdPlanId:m(a.plan_id)||m(a.planId)||null,createdScheduleId:m(a.schedule_id)||m(a.scheduleId)||null,createdTaskIds:i,createdRunIds:gt([a.run_id,a.runId])}}function i1(t){const a=se(t.payload)??{},i=se(t.context_refs)??{};return yn({...i,entrypoint:t.entrypoint??i.entrypoint,plan_id:m(i.plan_id)||m(a.plan_id)||m(a.planId),task_id:m(i.task_id)||m(a.task_id)||m(a.taskId),run_id:m(i.run_id)||m(a.run_id)||m(a.runId),step_id:m(i.step_id)||m(a.step_id)||m(a.stepId),schedule_id:m(i.schedule_id)||m(a.schedule_id)||m(a.scheduleId)})}function s1(t,a,i){const s=se(t.payload)??{},o=`${t.text??""} ${m(s.action)} ${m(s.command)} ${m(s.intent)}`.toLowerCase(),u=Object.keys(s).length>0,_=["plan_id","task_id","step_id","schedule_id"].some(h=>!!m(a[h])),g=m(a.step_id),p=g&&mi(i).some(h=>h.id===g&&h.status.toLowerCase()==="ready");return _&&Gt(o,["start","run","retry","skip","cancel","pause","resume","approve","启动","开始","执行","重试","跳过","取消","暂停","恢复","批准"])?us("PlanControl","control",["context_control_action"],a,s,!1,!1):t.entrypoint==="cron"||Gt(o,["cron","schedule","scheduled","定时","调度","周期"])?us("PlanExecution","schedule",["scheduled_entrypoint"],a,s,!1,!0):Gt(o,["status","progress","result","report","artifact","memory","状态","进度","结果","日报","产物","记忆"])?us("ProjectionQuery","query",["projection_query_text"],a,s,!1,!1):p||Gt(o,["execute","dispatch","delegate","run task","执行","开始","委托","派发"])?us("PlanExecution","execute",p?["ready_step_context"]:["execution_text"],a,s,!1,!0):!t.text&&!u&&!_?us("AskClarification","chat",["empty_ingress"],a,s,!1,!1):us("ChatOnly","chat",["default_chat"],a,s,!1,!1)}function us(t,a,i,s,o,u,_){return{routeKind:t,intentKind:a,reasonCodes:i,candidateSkills:r1(t,s,o),createsPlan:u,createsTaskRun:_}}function r1(t,a,i){const s=gt([...Ge(a.skill_ids),...Ge(a.skills),...Ge(a.candidate_skills),...Ge(i.skill_ids),...Ge(i.skills),...Ge(i.candidate_skills),m(a.skill_id),m(i.skill_id)]);return s.length>0?s:t==="PlanControl"?["qimingclaw-acp-session"]:t==="ProjectionQuery"?["qimingclaw-artifact-reporting"]:t==="PlanExecution"?["qimingclaw-computer-control"]:[]}async function c1(t){var i;if(t.length===0)return{candidateSkills:t,allCandidatesDisabled:!1};const a=(i=window.QimingClawBridge)==null?void 0:i.digital;if(!(a!=null&&a.getSkillCapabilities))return{candidateSkills:t,allCandidatesDisabled:!1};try{const s=await a.getSkillCapabilities();if(!Array.isArray(s==null?void 0:s.skills))return{candidateSkills:t,allCandidatesDisabled:!1};const o=new Map;for(const _ of s.skills){const g=m(_.skill_id);g&&o.set(g,_.enabled!==!1)}const u=t.filter(_=>o.get(_)!==!1);return{candidateSkills:u,allCandidatesDisabled:t.length>0&&u.length===0}}catch(s){return console.warn("[qimingclawAdapter] filter route candidate skills failed:",s),{candidateSkills:t,allCandidatesDisabled:!1}}}function gt(t){return[...new Set(t.map(m).filter(Boolean))]}function Gt(t,a){return a.some(i=>t.includes(i.toLowerCase()))}function yn(t){return Object.fromEntries(Object.entries(t).filter(([,a])=>a!=null&&a!==""))}const o1=new Set(["submit_plan","approve_plan","amend_plan","resume_plan","pause_plan","retry_task","skip_task","resume_task","provide_task_input"]),u1=new Set(["activate_plan","run_schedule_now","start_run","cancel_run","cancel_task","delete_schedule"]);function wf(t){return o1.has(t)||u1.has(t)?null:"route_action_policy_blocked"}function d1(t){return["activate_plan","run_schedule_now","start_run","cancel_run","cancel_task"].includes(t)?"high":["delete_schedule","pause_schedule","skip_task","retry_task","provide_task_input"].includes(t)?"medium":"normal"}async function Dl(t,a){var A,O,C,R,j,w,$,I,te,ae,ie,L,le,we,W,oe,be,q,re,de,H,Z;const i=`qimingclaw-digital-${t.command_kind}-${Date.now()}`,s=t.correlation_id||i,o=xe((A=t.context_refs)==null?void 0:A.plan_id)||xe((O=t.payload)==null?void 0:O.plan_id)||xe((C=t.payload)==null?void 0:C.original_plan_id),u=xe((R=t.context_refs)==null?void 0:R.task_id)||xe((j=t.payload)==null?void 0:j.task_id)||xe((w=t.payload)==null?void 0:w.original_task_id),_=xe(($=t.context_refs)==null?void 0:$.run_id)||xe((I=t.payload)==null?void 0:I.run_id)||xe((te=t.payload)==null?void 0:te.latest_run_id),g=xe((ae=t.context_refs)==null?void 0:ae.step_id)||xe((ie=t.payload)==null?void 0:ie.step_id)||xe((L=t.payload)==null?void 0:L.stepId),p=xe((le=t.context_refs)==null?void 0:le.schedule_id)||xe((we=t.payload)==null?void 0:we.schedule_id),h=await Cl({actionKind:`governance.${t.command_kind}`,actionLabel:`治理命令:${t.command_kind}`,riskLevel:d1(t.command_kind),reasonCodes:["governance_command"],actor:m((W=t.payload)==null?void 0:W.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:o||null,taskId:u||null,runId:_||null,correlationId:s,payload:{command_kind:t.command_kind,schedule_id:p||null,step_id:g||null}}),k=Al(h);if(k){const ne={command_id:i,accepted:!1,correlation_id:s,error:"policy_blocked",message:k.status==="approval_required"?"高风险治理命令需要审批后执行。":"高风险治理命令已被风险策略拒绝。",result:k};return await da(t,ne),ne}if(t.command_kind==="create_plan"){const ne=`qimingclaw-local-${dt(xe((oe=t.payload)==null?void 0:oe.title)||o||"plan")}-${Date.now()}`,he=xl(i,s,"已在 qimingclaw 兼容层创建本地计划草稿。",{plan_id:ne,status:"draft",source:"qimingclaw-adapter",requested_action:(be=t.payload)==null?void 0:be.requested_action,original_plan_id:((q=t.payload)==null?void 0:q.original_plan_id)??o});return await da(t,he),he}if(t.command_kind==="activate_plan"||t.command_kind==="run_schedule_now"){const ne=o||((re=vm(a)[0])==null?void 0:re.plan_id)||((de=Ga(a)[0])==null?void 0:de.plan_id)||"qimingclaw-client-readiness",he=await Qv(ne,a,{recordCommand:!1}),J=xl(i,s,"已映射为 qimingclaw 本地任务激活。",{plan_id:ne,schedule_id:t.command_kind==="run_schedule_now"?p:null,status:"active",dispatched_tasks:he.dispatched_tasks,source:"qimingclaw-adapter"});return await da(t,J),J}if(t.command_kind==="create_schedule"){const ne=xl(i,s,"已记录 qimingclaw 兼容定时任务请求。",{schedule_id:p||`qimingclaw-schedule-${Date.now()}`,plan_id:o,status:"enabled",source:"qimingclaw-adapter"});return await da(t,ne),ne}if(["update_schedule","pause_schedule","resume_schedule","delete_schedule"].includes(t.command_kind)){const ne=t.command_kind==="pause_schedule"?"paused":t.command_kind==="delete_schedule"?"deleted":"enabled",he=xl(i,s,`已接受 ${t.command_kind},并更新 qimingclaw 本地定时任务状态。`,{schedule_id:p||`qimingclaw-schedule-${Date.now()}`,plan_id:o,status:ne,source:"qimingclaw-adapter"});return await da(t,he),he}if(["submit_plan","approve_plan","amend_plan","resume_plan","pause_plan","cancel_plan"].includes(t.command_kind)){const ne=xl(i,s,`已接受 ${t.command_kind},当前由 qimingclaw 本地 adapter 记录兼容状态。`,{plan_id:o,status:t.command_kind==="approve_plan"?"approved":t.command_kind==="submit_plan"?"reviewing":"accepted",source:"qimingclaw-adapter"});return await da(t,ne),ne}if(["retry_task","skip_task","pause_task","resume_task","provide_task_input","cancel_task","start_run","cancel_run"].includes(t.command_kind)){const ne=u||((H=wt(a)[0])==null?void 0:H.id)||"qimingclaw-task-agent",he=wt(a).find(ee=>ee.id===ne),J=_||((Z=tu(zn(a),ne))==null?void 0:Z.id)||null,E=g||(he?Ya(he):null),K=xl(i,s,`已接受 ${t.command_kind},并记录到 qimingclaw Task Agent 控制平面。`,{plan_id:o||(he==null?void 0:he.planId)||"qimingclaw-task-agent-plan",task_id:ne,run_id:J,step_id:E,task_agent_id:`task-agent-${dt(ne)}`,status:f1(t.command_kind),next_action:m1(t.command_kind),source:"qimingclaw-task-agent"});return await da(t,K),K}const b={command_id:i,accepted:!1,correlation_id:s,error:"missing_capability",message:`qimingclaw 数字员工兼容层尚未支持 ${t.command_kind}。`};return await da(t,b),b}function xl(t,a,i,s){return{command_id:t,accepted:!0,correlation_id:a,message:i,result:s}}function f1(t){switch(t){case"retry_task":case"start_run":case"resume_task":return"running";case"skip_task":return"skipped";case"cancel_task":case"cancel_run":return"cancelled";case"pause_task":return"paused";default:return"accepted"}}function m1(t){switch(t){case"retry_task":return"start_retry_run";case"skip_task":return"continue_next_task";case"pause_task":return"await_resume";case"resume_task":return"watch_progress";case"provide_task_input":return"resume_with_input";case"cancel_task":case"cancel_run":return"close_execution";case"start_run":return"watch_progress";default:return"record_control_event"}}function xe(t){return typeof t=="string"&&t.trim()?t.trim():""}function Kv(t,a=null){var o,u,_,g;if(El(a)){const p=Mn(a).find(w=>w.id===t),h=Ka(t,a),k=cv(a,t),b=xs(t,a).runs,A=rt(a).filter(w=>w.planId===t||h.some($=>$.task_id===w.taskId)),O=(p==null?void 0:p.title)??((o=h[0])==null?void 0:o.title)??t,C=(p==null?void 0:p.objective)??"qimingclaw 本地运行记录",R=[];let j=2;if(k.length>0){const w=new Set(k.map(I=>I.id));for(const I of k){R.push({seq:j++,lane:"qimingclaw",label:I.title,sub_label:`${Jn(I.status)} · 依赖 ${I.dependsOn.length} · 技能 ${I.preferredSkillIds.length}`,timestamp:I.updatedAt,color:"#22c55e",source_type:"plan_step"});for(const te of h.filter(ae=>ae.step_id===I.id))R.push(jf(te,j++))}const $=h.filter(I=>!w.has(I.step_id||""));if($.length>0){R.push({seq:j++,lane:"qimingclaw",label:"未归属步骤",sub_label:`包含 ${$.length} 个任务`,timestamp:((u=$[0])==null?void 0:u.updated_at)??new Date().toISOString(),color:"#22c55e",source_type:"plan_step"});for(const I of $)R.push(jf(I,j++))}}else for(const w of h)R.push(jf(w,j++));return{plan_id:t,plan_title:O,plan_status:p?eu(p,Gr(a,p.id)):(_=h[0])==null?void 0:_.status,plan_objective:C,lanes:[{key:"intent",label:"目标",color:"#38bdf8"},{key:"qimingclaw",label:"qimingclaw",color:"#22c55e"},{key:"execution",label:"执行",color:"#f59e0b"}],steps:[{seq:1,lane:"intent",label:O,sub_label:C,timestamp:(p==null?void 0:p.createdAt)??((g=h[0])==null?void 0:g.created_at)??new Date().toISOString(),color:"#38bdf8",source_type:"plan"},...R,...b.map((w,$)=>({seq:j+$,lane:"execution",label:w.lifecycle||"Run",sub_label:w.run_id,timestamp:w.completed_at??w.created_at,color:"#f59e0b",source_type:"run"}))],events:A.map(w=>({event_id:w.id,kind:w.kind,occurred_at:w.occurredAt,message:w.message}))}}const i=Kr(Ga(a).find(p=>p.plan_id===t)??Ga(a)[0],a),s=new Date().toISOString();return{plan_id:i.plan_id,plan_title:i.title,plan_status:i.status,plan_objective:i.objective,lanes:[{key:"intent",label:"目标",color:"#38bdf8"},{key:"qimingclaw",label:"qimingclaw",color:"#22c55e"},{key:"execution",label:"执行",color:"#f59e0b"}],steps:[{seq:1,lane:"intent",label:i.title,sub_label:i.objective,timestamp:i.created_at,color:"#38bdf8",source_type:"plan"},{seq:2,lane:"qimingclaw",label:"接入客户端能力",sub_label:"ACP / MCP / computer server adapter",timestamp:s,color:"#22c55e",source_type:"adapter"},{seq:3,lane:"execution",label:i.status==="running"?"已读取 qimingclaw 服务状态":"等待调度",sub_label:dv(i,a),timestamp:s,color:"#f59e0b",source_type:"run"}],events:[{event_id:`${i.plan_id}-adapter-event`,kind:"qimingclaw_adapter",occurred_at:s,message:"数字员工页面已通过 qimingclaw adapter 获取数据。"}]}}function jf(t,a){return{seq:a,lane:"qimingclaw",label:t.title,sub_label:`${Jn(t.status)} · ${t.assigned_skill_id||"qimingclaw-runtime"}`,timestamp:t.updated_at,color:"#22c55e",source_type:"task"}}function _1(t,a=null){const i=wt(a).find(_=>_.id===t);if(!i)return Kv(t,a);const s=i.planId?Mn(a).find(_=>_.id===i.planId):null,o=zn(a).filter(_=>_.taskId===i.id),u=rt(a).filter(_=>_.taskId===i.id||o.some(g=>g.id===_.runId));return{plan_id:i.planId??i.id,plan_title:(s==null?void 0:s.title)??i.title,plan_status:i.status,plan_objective:(s==null?void 0:s.objective)??"qimingclaw 本地任务记录",lanes:[{key:"task",label:"任务",color:"#38bdf8"},{key:"execution",label:"执行",color:"#22c55e"},{key:"event",label:"事件",color:"#f59e0b"}],steps:[{seq:1,lane:"task",label:i.title,sub_label:`${Jn(i.status)} · ${i.assignedSkillId||"qimingclaw-runtime"}`,timestamp:i.updatedAt,color:"#38bdf8",source_type:"task"},...o.map((_,g)=>({seq:g+2,lane:"execution",label:_.status||"Run",sub_label:_.id,timestamp:_.finishedAt??_.startedAt??_.createdAt,color:"#22c55e",source_type:"run"})),...u.map((_,g)=>({seq:o.length+g+2,lane:"event",label:_.kind,sub_label:_.message,timestamp:_.occurredAt,color:"#f59e0b",source_type:"event"}))],events:u.map(_=>({event_id:_.id,kind:_.kind,occurred_at:_.occurredAt,message:_.message}))}}async function Qv(t,a=null,i={}){const s=(a==null?void 0:a.uiState)??await _a()??bn(),o=Fo(),u=bm(a).find(k=>k.plan_id===t),_=Date.now(),g=`dispatch-${t}-${_}`,p=new Set(s.selectedDutyIdsByDate[o]??[]);p.add(t),s.selectedDutyIdsByDate[o]=[...p],s.confirmedDates[o]=s.confirmedDates[o]??new Date().toISOString(),await Nl(s,"confirm_workday",o);const h=Ka(t,a).map(k=>({task_id:k.task_id,title:k.title,status:k.status==="pending"?"running":k.status}));return i.recordCommand!==!1&&await da({command_kind:"activate_plan",context_refs:{plan_id:t},payload:{plan_id:t,title:u==null?void 0:u.title,objective:u==null?void 0:u.objective,requested_action:"dispatch_plan"},correlation_id:g},xl(`qimingclaw-digital-dispatch-${dt(t)}-${_}`,g,"已将数字员工模板执行写入 qimingclaw 本地运行记录。",{plan_id:t,status:"active",dispatched_tasks:h,source:"qimingclaw-adapter"})),{ok:!0,plan_id:t,source_plan_id:t,dispatched_tasks:h}}async function p1(t,a=null){var C,R,j,w,$,I,te;const i=m(t),s=await Cl({actionKind:"plan_step.dispatch_ready_steps",actionLabel:"派发 Ready PlanStep",riskLevel:"high",reasonCodes:["plan_step_dispatch"],actor:"digital_employee_ui",source:"sgrobot-digital-adapter",planId:i||null,correlationId:`plan-step-dispatch:${i||"unknown"}`,payload:{plan_id:i||null,trigger_source:"manual"}}),o=Al(s);if(o)return{ok:!1,plan_id:i||null,trigger_source:"manual",orchestration_id:m(o.event_id)||`risk-blocked-${dt(i||"unknown")}`,candidates:0,dispatched:0,skipped:0,failed:1,dispatched_step_ids:[],skipped_step_ids:[],failed_step_ids:[],errors:[{stepId:i||"unknown",error:String(o.error||o.status||"risk_policy_blocked")}]};const u=i?await((j=(R=(C=window.QimingClawBridge)==null?void 0:C.digital)==null?void 0:R.dispatchPlanReadySteps)==null?void 0:j.call(R,i).catch(()=>null)):null;if(u)return u;const _=new Date().toISOString(),g=`manual-ready-steps-${dt(i||"unknown")}-${dt(_)}`,p=nu(a).filter(ae=>m(ae.plan_id)===i&&m(ae.status).toLowerCase()==="ready"),h=jl(a),k=hs(h),b={ok:!0,plan_id:i||null,trigger_source:"manual",orchestration_id:g,candidates:p.length,dispatched:0,skipped:0,failed:0,dispatched_step_ids:[],skipped_step_ids:[],failed_step_ids:[],errors:[]};if(!i||!k.enabled)return b.skipped=p.length,b.skipped_step_ids=p.map(ae=>m(ae.step_id)).filter(Boolean),b;const A=Math.max(1,Math.min(Math.floor(k.max_per_sweep),10));let O=0;for(const ae of p){const ie=m(ae.step_id),L=m(ae.task_id);if(O>=A||ae.dispatchable!==!0||!L){b.skipped+=1,ie&&((w=b.skipped_step_ids)==null||w.push(ie));continue}O+=1;try{const le=m(ae.latest_run_id)||`${L}:run:start_run:${dt(g)}`,we=`manual-ready-step-${dt(ie)}-${Date.now()}`;await da({command_kind:"start_run",context_refs:{plan_id:i,task_id:L,run_id:le,step_id:ie},payload:{source:"digital-home-plan-orchestration",plan_id:i,task_id:L,run_id:le,step_id:ie,trigger_source:"manual",orchestration_id:g,candidate_count:p.length},correlation_id:we},xl(we,we,"已手动推进 Ready PlanStep。",{plan_id:i,task_id:L,run_id:le,step_id:ie,status:"running",trigger_source:"manual",orchestration_id:g,source:"qimingclaw-plan-orchestration"})),b.dispatched+=1,ie&&(($=b.dispatched_step_ids)==null||$.push(ie))}catch(le){b.failed+=1,ie&&((I=b.failed_step_ids)==null||I.push(ie)),(te=b.errors)==null||te.push({stepId:ie,error:le instanceof Error?le.message:"dispatch failed"})}}return b}function h1(t,a=null){const i=Mn(a).find(o=>o.id===t);if(i){const o=rt(a).filter(u=>u.planId===t).slice(0,12);return[{role:"user",content:`查看 qimingclaw 本地任务:${i.title}`,created_at:i.createdAt},...o.map(u=>({role:"assistant",content:`${u.kind}:${u.message}`,created_at:u.occurredAt}))]}const s=Ga(a).find(o=>o.plan_id===t)??Ga(a)[0];return[{role:"user",content:`执行数字员工任务:${s.title}`,created_at:s.created_at},{role:"assistant",content:`已接入 qimingclaw adapter。目标:${s.objective??s.title}`,created_at:new Date().toISOString()}]}const g1=9e3,iu=2e4;class y1 extends Error{constructor(){super("Unauthorized"),this.name="UnauthorizedError"}}async function Te(t,a={}){const i=await hS(t,a);if(i!==void 0)return i;const{timeoutMs:s=g1,...o}=a,u=lS(),_=new Headers(o.headers),g=new AbortController;let p=!1;const h=window.setTimeout(()=>{p=!0,g.abort()},s),k=o.signal,b=()=>g.abort();k&&(k.aborted?g.abort():k.addEventListener("abort",b,{once:!0})),u&&_.set("Authorization",`Bearer ${u}`),o.body&&typeof o.body=="string"&&!_.has("Content-Type")&&_.set("Content-Type","application/json");let A;try{A=await fetch(`${cS()}${rS}${t}`,{...o,headers:_,signal:g.signal})}catch(O){throw O instanceof DOMException&&O.name==="AbortError"&&p?new Error(`API request timed out after ${s/1e3}s: ${t}`):O}finally{window.clearTimeout(h),k==null||k.removeEventListener("abort",b)}if(A.status===401)throw iS(),window.dispatchEvent(new Event("qimingclaw-digital-unauthorized")),new y1;if(!A.ok){const O=await A.text().catch(()=>"");let C=O||A.statusText;if(O)try{const R=JSON.parse(O);typeof R.message=="string"&&R.message.trim()?C=R.message.trim():typeof R.error=="string"&&R.error.trim()&&(C=R.error.trim())}catch{C=O}throw new Error(`API ${A.status}: ${C}`)}if(A.status!==204)return A.json()}function v1(t,a){if(t!==null&&typeof t=="object"&&!Array.isArray(t)&&a in t){const i=t[a];if(i!==void 0)return i}return t}function b1(){return Te("/api/scheduler/jobs").then(t=>v1(t,"jobs"))}function Ig(t){return Te(`/api/plan/${encodeURIComponent(t)}/messages`).then(a=>({messages:a.messages||[]}))}function k1(){return Te("/api/route-decisions/interventions")}function x1(t,a){return Te(`/api/route-decisions/${encodeURIComponent(t)}/intervention`,{method:"POST",body:JSON.stringify(a)})}function No(t){return Te("/api/governance/command",{method:"POST",body:JSON.stringify(t)})}function S1(t="unread"){return Te(`/api/notifications?status=${encodeURIComponent(t)}`).then(a=>a.notifications??[])}function w1(){return Te("/api/notifications/unread-count").then(t=>t.count??0)}function j1(){return Te("/api/notifications/preferences")}function C1(t){return Te("/api/notifications/preferences",{method:"PATCH",body:JSON.stringify(t)})}function A1(){return Te("/api/notifications/updates/pull",{method:"POST"})}function Vv(t){return Te("/api/notifications/desktop",{method:"POST",body:JSON.stringify(t)})}function N1(){return Te("/api/notifications/desktop/status")}function E1(){return Te("/api/notifications/desktop/settings/open",{method:"POST",body:JSON.stringify({})})}function T1(){return Te("/api/plan-step/dispatch-policy/pull",{method:"POST"})}function D1(){return Te("/api/skill/policies/pull",{method:"POST"})}function R1(){return Te("/api/risk-approval/policy/pull",{method:"POST"})}function $1(){return Te("/api/risk-approval/policy")}function M1(t){return Te("/api/risk-approval/policy",{method:"PATCH",body:JSON.stringify(t)})}function z1(){return Te("/api/route-decision/policy/pull",{method:"POST"})}function O1(t={}){const a=new URLSearchParams;Object.entries(t).forEach(([s,o])=>{o!=null&&`${o}`.trim()!==""&&a.set(s,`${o}`)});const i=a.toString();return Te(`/api/digital-employee/plan-step-graph${i?`?${i}`:""}`)}function q1(t,a={}){const i={plans:"/api/digital-employee/plans",tasks:"/api/digital-employee/tasks",runs:"/api/digital-employee/runs",events:"/api/digital-employee/events",artifacts:"/api/digital-employee/artifacts",approvals:"/api/digital-employee/approvals"},s=new URLSearchParams;Object.entries(a).forEach(([u,_])=>{_!=null&&`${_}`.trim()!==""&&s.set(u,`${_}`)});const o=s.toString();return Te(`${i[t]}${o?`?${o}`:""}`)}function L1(t){return Te(`/api/notifications/${encodeURIComponent(t)}/read`,{method:"POST"}).then(a=>a.ok??!1)}function B1(t){return Te(`/api/notifications/${encodeURIComponent(t)}/dismiss`,{method:"POST"}).then(a=>a.ok??!1)}function U1(t,a){return Te(`/api/notifications/${encodeURIComponent(t)}/reply`,{method:"POST",body:JSON.stringify({content:a})})}function ms(t){const a=t?`?date=${encodeURIComponent(t)}`:"";return Te(`/api/digital-employee/workday${a}`,{timeoutMs:iu})}function ci(t){return Te("/api/digital-employee/workday/actions",{method:"POST",body:JSON.stringify(t)})}function H1(t,a={}){return Te(`/api/digital-employee/managed-services/${encodeURIComponent(t)}/restart`,{method:"POST",body:JSON.stringify(a),timeoutMs:iu})}function I1(t){return Te(`/api/debug/plan/${encodeURIComponent(t)}/dispatch`,{method:"POST",timeoutMs:iu})}function Gg(t){return Te(`/api/digital-employee/plans/${encodeURIComponent(t)}/dispatch-ready-steps`,{method:"POST",timeoutMs:iu})}function G1(){return Te("/api/debug/plans?limit=80").then(t=>t.plans??[])}function Yg(t,a=50){const i=new URLSearchParams({limit:String(a),q:t});return Te(`/api/debug/plans?${i}`).then(s=>s.plans??[])}function Y1(t){const a=new URLSearchParams({limit:"50",plan_id:t});return Te(`/api/debug/tasks?${a}`).then(i=>({tasks:i.tasks??[],runs:i.runs??[],total:i.total,truncated:i.truncated}))}function K1(t){return Te(`/api/debug/plan/${encodeURIComponent(t)}/flow`)}function Q1(){return Te("/api/skill").then(t=>t.skills??[])}function V1(t,a){return Te(`/api/skill/${encodeURIComponent(t)}/enabled`,{method:"POST",body:JSON.stringify({enabled:a})})}function Xv(t,a){return Te(`/api/digital-employee/artifacts/${encodeURIComponent(t)}/access`,{method:"POST",body:JSON.stringify({action:a})})}function X1(t){return Te("/api/digital-employee/daily-reports/delivery",{method:"POST",body:JSON.stringify(t)})}function Cf(t){return Te(`/api/digital-employee/artifacts/${encodeURIComponent(t)}`).then(a=>a.item??null)}function Af(t){return Te(`/api/digital-employee/artifacts/${encodeURIComponent(t)}/versions`).then(a=>a.items??[])}function Z1(t,a,i={}){return Te(`/api/digital-employee/artifacts/${encodeURIComponent(t)}/retention`,{method:"POST",body:JSON.stringify({action:a,...i})})}function J1(t,a={}){return Te(`/api/digital-employee/artifacts/${encodeURIComponent(t)}/cleanup`,{method:"POST",body:JSON.stringify(a)})}function F1(t,a,i={}){return Te(`/api/digital-employee/approvals/${encodeURIComponent(t)}/actions`,{method:"POST",body:JSON.stringify({action:a,...i})})}function P1(t,a){return Te(`/api/approval/${encodeURIComponent(t)}/conflict/resolve`,{method:"POST",body:JSON.stringify(a)})}function W1(){return Te("/api/approval/updates/pull",{method:"POST",body:JSON.stringify({})})}function Nf({className:t=""}){return c.jsx("div",{className:`de-gem ${t}`,"aria-hidden":"true"})}function eC(){return c.jsxs("div",{className:"de-stage","aria-hidden":"true",children:[c.jsx("div",{className:"de-stage-glow"}),c.jsx("div",{className:"de-stage-layer de-stage-layer-1"}),c.jsx("div",{className:"de-stage-layer de-stage-layer-2"}),c.jsx("div",{className:"de-stage-layer de-stage-layer-3"})]})}function tC({avatarSrc:t,altText:a="数字员工",statusLabel:i}){return c.jsxs("div",{className:"de-avatar-container","aria-hidden":"true",children:[c.jsxs("div",{className:"de-avatar-glass-space",children:[c.jsxs("div",{className:"de-avatar-roof",children:[c.jsx("div",{className:"de-avatar-roof-face"}),c.jsx("div",{className:"de-avatar-roof-glow"})]}),c.jsx("div",{className:"de-avatar-glass-left"}),c.jsx("div",{className:"de-avatar-glass-right"}),c.jsx(Nf,{className:"de-gem-1"}),c.jsx(Nf,{className:"de-gem-2"}),c.jsx(Nf,{className:"de-gem-3"})]}),i&&c.jsx("div",{className:"de-avatar-state-label",children:i}),c.jsx("img",{src:t,alt:a,className:"de-avatar-img"}),c.jsx(eC,{})]})}const nC=sS,aC=`${nC}/digital-assets`,ai=`${aC}/avatars`,lC="Asia/Shanghai",ds={comment:"",delegateTo:"",dueAt:""},iC=["skill","browser","call","redial","evidence","decision","reporting"],sC=[{id:"all",label:"全部"},{id:"running",label:"执行中"},{id:"success",label:"已完成"},{id:"danger",label:"异常"}],Zv="qimingclaw:digital-workday-guide-dismissed-date",Jv="sgrobot:digital-workday-guide-dismissed-date",rC=80,Kg=300,cC=[{title:"确认日期",body:"先确认今天的值班日期,避免把昨天或明天的任务混在一起。"},{title:"选择任务",body:"从岗位职责里勾选今天要执行的任务,未接入能力保持待扩展。"},{title:"任务执行",body:"点击任务执行后,数字员工开始按已选任务推进工作。"},{title:"查看过程",body:"右侧滚动显示运行明细,任务中心可继续查看明细。"}],oC={skill:{id:"skill",label:"查看Skill",shortLabel:"技能",phase:"查看Skill与计划",src:`${ai}/states/employee-idle.png`,bubble:"我正在查看可用Skill、任务计划和今天要勾选的执行内容。"},browser:{id:"browser",label:"操作浏览器",shortLabel:"浏览器",phase:"操作浏览器执行",src:`${ai}/states/employee-browser.png`,bubble:"我正在打开页面、读取信息、填写表单,并把执行过程同步到右侧。"},call:{id:"call",label:"电话外呼",shortLabel:"外呼",phase:"电话外呼与重拨",src:`${ai}/states/employee-running.png`,bubble:"我正在按工单名单外呼现场人员,记录接通、未接通和后续重拨。"},redial:{id:"redial",label:"重拨跟进",shortLabel:"重拨",phase:"未接通人员重拨",src:`${ai}/states/employee-redial.png`,bubble:"我正在跟进未接通人员,按间隔重拨并更新每个人的通知状态。"},evidence:{id:"evidence",label:"数据核验",shortLabel:"核验",phase:"核验执行证据",src:`${ai}/states/employee-evidence.png`,bubble:"我正在核验页面数据、执行证据和任务结果,确认交付内容可信。"},decision:{id:"decision",label:"等待决策",shortLabel:"决策",phase:"等待人工确认",src:`${ai}/states/employee-decision.png`,bubble:"我已完成前置处理,现在需要人工确认后再继续推进。"},reporting:{id:"reporting",label:"汇报成果",shortLabel:"汇报",phase:"汇报今日成果",src:`${ai}/states/employee-reporting.png`,bubble:"我正在整理运行明细和日报,方便你直接查看成果和异常。"}};function Jf(){const t=new Date;return[t.getFullYear(),String(t.getMonth()+1).padStart(2,"0"),String(t.getDate()).padStart(2,"0")].join("-")}function uC(t){return(t||Jf()).split("-").join("/")}function fs(t){return t==="success"?"de-badge-success":t==="danger"?"de-badge-danger":t==="warning"||t==="running"?"de-badge-warning":"de-badge-info"}function dC(t){const a=typeof t=="number"&&Number.isFinite(t)?t:0;return new Intl.NumberFormat("zh-CN",{notation:"compact",maximumFractionDigits:1}).format(a)}function fC(t){const a=typeof t=="number"&&Number.isFinite(t)?t:0;return a>0&&a<.01?`$${a.toFixed(4)}`:`$${a.toFixed(2)}`}function mC(t){const a=Ot(t).toLowerCase();return["high","critical","risk","marked"].includes(a)?"danger":["medium","warning"].includes(a)?"warning":["normal","low","clear"].includes(a)?"success":"info"}function _C(t){const a=Ot(t).toLowerCase();return["high","critical","risk","marked"].includes(a)?"高风险":["medium","warning"].includes(a)?"中风险":["normal","low","clear"].includes(a)?"风险正常":"未标记风险"}function pC(t){const a=Ot(t).toLowerCase();return["timeout","overdue","expired"].includes(a)?"danger":["tracked","due_soon","warning"].includes(a)?"warning":["met","normal"].includes(a)?"success":"info"}function hC(t){const a=Ot(t).toLowerCase();return["timeout","overdue","expired"].includes(a)?"已超时":["tracked","due_soon","warning"].includes(a)?"SLA跟踪":["met","normal"].includes(a)?"SLA正常":"未设置SLA"}function Ef(t){const a=Ot(t).toLowerCase();return a==="comment"?"评论":a==="delegate"?"转交":a==="mark_timeout"?"标记超时":a==="mark_risk"?"标记风险":a==="clear_risk"?"清除风险":a||"暂无动作"}function gC(t){const a=Ot(t).toLowerCase();return a==="terminal_status_mismatch"?"终态不一致":a==="local_newer_status_mismatch"?"本地状态较新":a==="workflow_step_mismatch"?"审批步骤不一致":a||"跨端状态不一致"}function Qg(t){const a=Ot(t).toLowerCase();return a==="approved"?"已同意":a==="rejected"?"已驳回":a==="cancelled"?"已取消":a==="pending"?"待确认":a==="dismissed"?"已忽略":a||"未知"}function yC(t,a){const i=["de-template-card-row","de-duty-card","de-duty-card--compact"];return t.implemented||i.push("de-duty-card--disabled"),a&&i.push("de-duty-card--selected"),t.statusTone==="running"&&i.push("de-duty-card--running"),i.join(" ")}function fa(t){return String(t||"").replace(/\s+/g," ").trim()}function vC(t){if(!t)return"";if(t.expression)return t.expression;if(typeof t.schedule=="string")return t.schedule;if(t.schedule&&typeof t.schedule=="object"){const a=t.schedule,i=a.expr??a.expression??a.cron;if(typeof i=="string")return i}return""}function bC(t){const a=vC(t);if(!a)return"未定时";const i=a.trim().split(/\s+/),s=i[0]??"",o=i[1]??"";return i.length>=2&&/^\d+$/.test(s)&&/^\d+$/.test(o)?`已定时 ${o.padStart(2,"0")}:${s.padStart(2,"0")} 执行`:`调度注册 ${a}`}function Qo(t,a){if(!t||typeof t!="object")return"";const i=t;for(const s of a){const o=i[s];if(typeof o=="string"&&o.trim())return o.trim()}return""}function _s(t){const a=fa(t.template_id);if(a)return a;const i=Qo(t.delivery,["template_id","plan_template_id","templateId"]);if(i)return i;const s=Qo(t.schedule,["template_id","plan_template_id","templateId"]);return s||t.id.replace(/^schedule-/,"")}function kC(t,a,i){return t.has(a)||i?!0:Array.from(t).some(s=>Br(s,a))}function Br(t,a){return t.startsWith(`${a}-`)?/^-\d{8,}$/.test(t.slice(a.length)):!1}function xC(t,a,i){if(t.id===a||t.conversation_id===a||Br(t.id,a)||t.conversation_id&&Br(t.conversation_id,a))return!0;const s=fa(i).toLowerCase();return!!(s&&fa(t.title).toLowerCase()===s)}function Fv(t,a,i){const s=i.filter(o=>xC(o,t,a));return s.find(o=>o.selected)??s.find(o=>o.id===t||o.conversation_id===t)??s[0]??null}function SC(t,a){var i;return((i=Fv(t.id,t.title,a))==null?void 0:i.id)??t.id}function wC(t){return typeof t.step_count=="number"&&Number.isFinite(t.step_count)?t.step_count:Array.isArray(t.skill_ids)?t.skill_ids.length:0}function jC(t){const a=fa(t.trigger_kind||Qo(t.schedule,["kind"])).toLowerCase();return a==="cron"?"定时任务":a==="webhook"?"触发任务":"手动任务"}function CC(t,a,i){const s=_s(t),o=Fv(s,t.name,a),u=wC(t),_=Array.isArray(t.skill_ids)?t.skill_ids.length:u,g=(o==null?void 0:o.status)??t.last_status??(t.enabled?"plan_template":"disabled"),p=(o==null?void 0:o.status_label)??(t.enabled?jC(t):"已停用"),h=(o==null?void 0:o.status_tone)??(t.enabled?"info":"waiting");return{id:s,planId:s,title:fa(t.name)||s,summary:fa(t.prompt)||`任务:${s}`,implemented:t.enabled,selectable:!0,selected:i,status:g,statusLabel:p,statusTone:h,scheduleText:(o==null?void 0:o.schedule_text)??bC(t),resultText:(o==null?void 0:o.result_text)??`${u} 个步骤,${_} 个Skill`,conversationId:(o==null?void 0:o.conversation_id)??s,stepCount:u,taskCount:_,readyStepCount:0,runningStepCount:0,blockedStepCount:0,leasedStepCount:0,schedulerJob:t,source:"plan_template"}}function Dr(t){return t.implemented}function Rr(t){return t.implemented?"":"当前任务未接入执行能力。"}function AC(t){return t.readyStepCount>0?`推进 ${t.readyStepCount}`:"推进"}function NC(t){const a=new Map;return t.forEach(i=>{const s=i.plan_id||"";if(!s)return;const o=a.get(s)??{ready:0,running:0,blocked:0,leased:0},u=i.status.toLowerCase();i.lease_active||i.skip_reason==="lease_active"?(o.leased+=1,o.running+=1):u==="ready"&&i.dispatchable?o.ready+=1:["running","active","leased","queued"].includes(u)?o.running+=1:u==="blocked"&&(o.blocked+=1),a.set(s,o)}),a}function EC(t,a){const i=`${t.conversation_id??""} ${t.plan_title} ${t.task_title} ${t.step_title??""} ${t.detail}`;return i.includes(a.id)||i.includes(a.title)}function TC(t,a){const i=a.filter(p=>EC(p,t)),s=i.filter(ru).length,o=i.filter(cu).length,u=i.filter(su).length,_=Math.max(i.length-s-o-u,0),g=i.length>0?i[i.length-1]:void 0;return{id:t.id,plan_id:t.planId,title:t.title,description:t.summary,selected:!0,total_count:i.length,success_count:s,failure_count:o,running_count:u,waiting_count:_,latest_status_label:(g==null?void 0:g.status_label)??t.statusLabel,latest_status_tone:(g==null?void 0:g.status_tone)??t.statusTone,business_summary:i.length>0?`${t.title} 今日执行 ${i.length} 次,成功 ${s} 次,失败 ${o} 次。`:`${t.title} 尚未产生执行记录。`,ai_summary:i.length>0?`${t.title} 今日执行 ${i.length} 次,成功 ${s} 次,失败 ${o} 次。`:`${t.title} 尚未产生执行记录。`}}function DC(t,a){const i=t.plan_id??"";return t.id===a.id||i===a.planId||Br(t.id,a.id)||Br(i,a.planId)?!0:fa(t.title).toLowerCase()===fa(a.title).toLowerCase()}function RC(t){return{id:t.id,time:t.time,task_name:t.plan_title,step_name:t.step_title,operation_name:t.task_title,status_label:t.status_label,status_tone:t.status_tone,business_detail:Eo(t),raw_detail:t.detail,updated_at:t.updated_at,conversation_id:t.conversation_id}}function Vg(t){const[a="9",i="0"]=t.split(":"),s=Math.min(Math.max(Number(a)||9,0),23);return`${Math.min(Math.max(Number(i)||0,0),59)} ${s} * * *`}function Xg(t){return t.status_label||t.status||"已同步"}function Ot(t){return String(t||"").replace(/\s+/g," ").trim()}function Pv(t){const i=`${t.plan_title} ${t.step_title??""}`.match(/(?:^|\D)(\d{1,2})[::](\d{2})(?:\D|$)/);return i!=null&&i[1]&&i[2]?`${i[1].padStart(2,"0")}:${i[2]}`:Ot(t.time)||"即时触发"}function Ha(t){const a=Ot(t);if(!a)return"";const i=new Date(a);if(Number.isNaN(i.getTime()))return"";const s=new Intl.DateTimeFormat("zh-CN",{timeZone:lC,month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).formatToParts(i),o=u=>{var _;return((_=s.find(g=>g.type===u))==null?void 0:_.value)??""};return`${o("month")}/${o("day")} ${o("hour")}:${o("minute")}`}function zm(t){const a=Ot(t);return a?a.length>140?`${a.slice(0,140)}...`:a:""}function $C(t){var a;return t?!t.enabled||!t.endpoint||(((a=t.missingCredentials)==null?void 0:a.length)??0)>0?"warning":t.failed>0||t.lastSyncError?"danger":t.syncing||t.pending>0?"warning":t.lastSyncAt?"success":"info":"info"}function MC(t){var a;return t?t.enabled?t.endpoint?(((a=t.missingCredentials)==null?void 0:a.length)??0)>0?"缺少凭据":t.syncing?"同步中":t.failed>0||t.lastSyncError?"同步异常":t.pending>0?"待同步":t.lastSyncAt?"已同步":"等待数据":"未配置":"已停用":"未连接"}function zC(t){var i,s;if(!t)return"当前环境未连接 qimingclaw 同步桥。";if(!t.enabled)return"管理端同步已停用。";if(!t.endpoint)return"管理端同步地址未配置。";if((((i=t.missingCredentials)==null?void 0:i.length)??0)>0)return`管理端同步凭据未完整:${(s=t.missingCredentials)==null?void 0:s.join("、")}`;const a=zm(t.lastSyncError);if(t.failed>0||a){const o=t.failureSummary?[t.failureSummary.dueForRetry>0?`${t.failureSummary.dueForRetry} 条可重试`:"",t.failureSummary.backoff>0?`${t.failureSummary.backoff} 条退避中`:"",OC(t.failureSummary)].filter(Boolean).join(","):"";return[t.failed>0?`${t.failed} 条失败`:"",t.pending>0?`${t.pending} 条待同步`:"",o,a?`失败原因:${a}`:""].filter(Boolean).join(",")}return t.syncing?`正在同步,待同步 ${t.pending} 条。`:t.pending>0?`仍有 ${t.pending} 条待同步记录。`:t.lastSyncAt?`最近同步:${Ha(t.lastSyncAt)||t.lastSyncAt}`:"等待本地 outbox 数据。"}function Mr(t){return{plan:"Plan",task:"Task",run:"Run",event:"Event",artifact:"Artifact",approval:"Approval"}[t]||t||"Entity"}function OC(t){const a=t.byEntityType.slice(0,3).map(i=>`${Mr(i.entityType)} ${i.count}`).join(" / ");return a?`类型:${a}`:""}function qC(t){var s;const a=zm(t.error);return[Ot((s=t.entitySummary)==null?void 0:s.title),`${Mr(t.entityType)} / ${t.operation}`,`重试 ${t.attempts} 次`,t.dueForRetry?"等待补偿":`下次 ${Wv(t)}`,a].filter(Boolean).join(" · ")}function Zg(t){return Ha(t.lastAttemptAt||t.updatedAt||t.createdAt)||"未尝试"}function Wv(t){return t.dueForRetry?"可重试":Ha(t.nextRetryAt)||"待计算"}function LC(t){return t==="synced"?"已同步":t==="failed"?"失败":t||"未知"}function BC(t){return t==="synced"?"success":t==="failed"?"danger":"info"}function Jg(t,a){return JSON.stringify({generatedAt:new Date().toISOString(),source:"qimingclaw-digital-employee",failure:t,sync:a?{running:a.running,syncing:a.syncing,enabled:a.enabled,endpoint:a.endpoint,missingCredentials:a.missingCredentials??[],pending:a.pending,failed:a.failed,lastSyncAt:a.lastSyncAt,lastSyncError:a.lastSyncError,failureSummary:a.failureSummary??null}:null},null,2)}function UC(t){return`qimingclaw-sync-failure-${[t.entityType,t.entityId].filter(Boolean).join("-").replace(/[^a-z0-9._-]+/gi,"-").replace(/^-+|-+$/g,"").slice(0,80)||t.id||"diagnostic"}.json`}function Fg(t,a,i="application/json;charset=utf-8"){const s=new Blob([a],{type:i}),o=URL.createObjectURL(s),u=document.createElement("a");u.href=o,u.download=t,document.body.appendChild(u),u.click(),u.remove(),window.setTimeout(()=>URL.revokeObjectURL(o),1e3)}function HC(t){return`qimingclaw-digital-report-${t}.txt`}function IC(t,a,i,s){return[a.title||`${t} 数字员工日报`,`日期:${t}`,`生成时间:${a.generated_at?Ha(a.generated_at):"暂未生成"}`,`生成来源:${a.generated_by==="ai"?"AI":"qimingclaw adapter"}`,"","## 摘要",a.summary||"暂无摘要。","","## 指标",`任务总数:${a.totals.task_count}`,`执行次数:${a.totals.execution_count}`,`成功次数:${a.totals.success_count}`,`失败次数:${a.totals.failure_count}`,`运行中:${a.totals.running_count??0}`,"","## 任务汇总",...i.length>0?i.map(o=>`- ${o.title}:${o.latest_status_label},执行 ${o.total_count} 次,成功 ${o.success_count},失败 ${o.failure_count}。${o.ai_summary||o.business_summary||""}`):["暂无任务汇总。"],"","## 运行明细",...s.length>0?s.map(o=>`- ${o.time||"--:--"} ${o.task_name} / ${o.step_name||o.operation_name||"任务执行"}:${o.status_label},${o.business_detail}`):["暂无运行明细。"],"","## 详情",...(a.detail_lines??[]).length>0?a.detail_lines:["暂无详情。"]].join(`
|
||
`)}async function GC(){var a;const t=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(t!=null&&t.getSyncStatus))return null;try{return await t.getSyncStatus()}catch{return null}}function eb(t){const a=Ha(t.updated_at);return a||Ot(t.time)||"待同步"}function YC(t){return Ha(t.updated_at)||Ot(t.time)||"--:--"}function Eo(t){const a=Ot(t.detail).replace(/^触发来源[::]\s*$/u,"").replace(/触发来源[::]\s*(?=。|,|,|;|;|$)/u,"").trim();return a?/^runner unavailable/i.test(a)?"执行链路异常,点击查看详情。":a.length>72?`${a.slice(0,72)}...`:a:ru(t)?"真实事件已完成,结果详情未回传。":su(t)?"真实事件执行中,等待结果回传。":cu(t)?"执行异常,点击查看详情。":"结果详情待同步。"}function Pg(t){return`计划时间 ${Pv(t)} · 执行时间 ${eb(t)}`}function KC(t,a){return a==="all"?!0:a==="running"?su(t):a==="success"?ru(t):cu(t)}function QC(t){return new Set(t.duties.filter(a=>a.selected).map(a=>a.id))}function bo(t){const a=t.dependent_tasks.length>0?`,影响 ${t.dependent_tasks.slice(0,2).join("、")}`:"";return`${t.name} ${t.status_label}${t.error?`:${t.error}`:a}`}function VC(t){return t.service_id==="fileServer"||t.service_id==="guiServer"}function Wg(t){const a=t.next_action==="retry_or_skip"?"重试或跳过":t.next_action==="watch_progress"?"观察进度":t.next_action;return`${t.title} ${t.status_label},下一步 ${a}`}function XC(t){switch(t){case"retry_task":return"重试";case"skip_task":return"跳过";case"cancel_task":return"取消";default:return t}}function ZC(t){switch(t){case"retry_task":return"重试前置";case"skip_task":return"跳过前置";case"cancel_task":return"取消此步骤";case"provide_task_input":return"补充输入";default:return t}}function Ff(t){return(t.blocked_dependency_details??[]).find(a=>!!a.task_id)??null}function JC(t){var s;const a=Ff(t)??((s=t.blocked_dependency_details)==null?void 0:s[0])??null,i=a?`${a.title} ${a.status}`:`阻塞依赖 ${t.blocked_dependencies.length} 个`;return`${t.title} ${t.dependency_status||t.status},${i}`}function Tf(t){return["pending","requested"].includes(String(t||"").toLowerCase())}function ey(t){if(!(t instanceof Element))return!1;if(t.closest('button, a, input, select, textarea, [role="tab"]'))return!0;const a=t.closest('[role="button"]');return!!(a&&!a.classList.contains("de-workday-execution--clickable"))}function FC(t,a){return t.length<=4?t:t.slice(a).concat(t.slice(0,a)).slice(0,4)}function su(t){const a=`${t.status} ${t.status_tone}`.toLowerCase();return a.includes("running")||a.includes("execut")||a.includes("progress")}function ru(t){const a=`${t.status} ${t.status_tone}`.toLowerCase();return a.includes("success")||a.includes("complete")||a.includes("done")}function cu(t){const a=`${t.status} ${t.status_tone}`.toLowerCase();return a.includes("danger")||a.includes("fail")||a.includes("error")||a.includes("异常")}function PC(t){const a=`${t.plan_title} ${t.task_title} ${t.step_title??""} ${t.detail}`.toLowerCase();return["外呼","电话","拨打","接通","未接通","重拨","人员"].some(i=>a.includes(i))}function WC(t){const a=`${t.plan_title} ${t.task_title} ${t.step_title??""} ${t.detail}`.toLowerCase();return["重拨","未接通","再拨","回拨","retry","callback"].some(i=>a.includes(i))}function eA(t){const a=`${t.plan_title} ${t.task_title} ${t.step_title??""} ${t.detail}`.toLowerCase();return["核验","校验","证据","汇总","报告","结果","交付","看板","同步"].some(i=>a.includes(i))}function tA(){if(typeof window>"u")return null;const t=new URLSearchParams(window.location.search).get("visual");return iC.includes(t)?t:null}function nA(t){return WC(t)?"redial":PC(t)?"call":eA(t)?"evidence":"browser"}function aA(t){return t.currentEvent?nA(t.currentEvent):!t.confirmed&&t.eventsCount===0?"skill":t.pendingDecisionCount>0?"decision":t.eventsCount>0?"browser":"skill"}function lA(){if(typeof window>"u")return null;try{return window.sessionStorage.getItem(Zv)??window.sessionStorage.getItem(Jv)}catch{return null}}function iA(t){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Zv,t),window.sessionStorage.removeItem(Jv)}catch{}}function sA({onNavigate:t}){var uc,dc,fc,$i,mc,_c;const[a,i]=x.useState(Jf()),[s,o]=x.useState(null),[u,_]=x.useState([]),[g,p]=x.useState(new Set),[h,k]=x.useState(!0),[b,A]=x.useState(null),[O,C]=x.useState(null),[R,j]=x.useState(null),[w,$]=x.useState({}),[I,te]=x.useState(null),[ae,ie]=x.useState(!1),[L,le]=x.useState("selected"),[we,W]=x.useState(0),[oe,be]=x.useState(!1),[q,re]=x.useState(!1),[de,H]=x.useState(!1),[Z,ne]=x.useState(null),[he,J]=x.useState("all"),[E,K]=x.useState(!1),[ee,ce]=x.useState(null),[ve,Ce]=x.useState(null),[F,me]=x.useState("09:00"),[Be,Y]=x.useState(!1),[Ae,ht]=x.useState(!1),[Ue,Ye]=x.useState(null),[Dt,pa]=x.useState([]),[hi,ws]=x.useState([]),[Rl,gi]=x.useState(null),[yi,Xr]=x.useState([]),[js,Kt]=x.useState(null),[vi,Qa]=x.useState(null),[$l,Va]=x.useState(""),[kn,ha]=x.useState({name:"",company:"",position:"",currentStatus:"working"}),[Xa,Zr]=x.useState("18:00"),[Ml,qt]=x.useState(!1),[Pn,Jt]=x.useState(()=>lA()),[Ft,Jr]=x.useState(null),ue=x.useRef(!1),Wn=x.useRef(!1);x.useEffect(()=>(ue.current=!0,()=>{ue.current=!1}),[]);const Ze=x.useCallback(async()=>{let v=null,U=null;const P=()=>{if(Wn.current||!U)return;const Se=(v==null?void 0:v.source)==="live"?QC(v):new Set,ct=U.map(an=>_s(an)).filter(an=>kC(Se,an)),Fe=ct.length>0?ct:U.slice(0,3).map(an=>_s(an));p(new Set(Fe))},pe=ms(a).then(Se=>{ue.current&&(v=Se,o(Se),j(null),P())}).catch(Se=>{ue.current&&j(Se instanceof Error?Se.message:"数字员工首页数据同步失败")}),fe=b1().then(Se=>{ue.current&&(U=Se.filter(ct=>ct.job_type==="plan_template"||Qo(ct.delivery,["mode"])==="plan_template"),_(U),te(null),P())}).catch(Se=>{ue.current&&te(Se instanceof Error?Se.message:"任务加载失败")}),Ke=GC().then(Se=>{ue.current&&Jr(Se)}),mt=O1({page_size:80}).then(Se=>{ue.current&&(ws(Se.items),pa(Se.items.filter(ct=>ct.status==="blocked").slice(0,6)),gi(null))}).catch(Se=>{ue.current&&(ws([]),pa([]),gi(Se instanceof Error?Se.message:"阻塞步骤加载失败"))}),et=k1().then(Se=>{ue.current&&(Xr(Se.interventions.slice(0,6)),Kt(null))}).catch(Se=>{ue.current&&(Xr([]),Kt(Se instanceof Error?Se.message:"路由干预加载失败"))});await Promise.allSettled([pe,fe,Ke,mt,et]),ue.current&&k(!1)},[a]);x.useEffect(()=>{k(!0),Ze()},[Ze]),x.useEffect(()=>{const v=s!=null&&s.workday.confirmed?8e3:3e4,U=window.setInterval(()=>{Ze()},v);return()=>window.clearInterval(U)},[Ze,s==null?void 0:s.workday.confirmed]),x.useEffect(()=>{if(oe||q||de||Z!==null)return;const U=window.setInterval(()=>{W(P=>{const pe=(s==null?void 0:s.source)==="live"?s.events.length:0;return pe>0?(P+1)%pe:0})},3200);return()=>window.clearInterval(U)},[de,q,oe,Z,s==null?void 0:s.events.length,s==null?void 0:s.source]);const Qt=(s==null?void 0:s.source)==="live",xn=x.useMemo(()=>Qt?(s==null?void 0:s.duties)??[]:[],[Qt,s==null?void 0:s.duties]),tn=x.useMemo(()=>{const v=NC(hi);return u.slice().sort((U,P)=>{const pe=_s(U),fe=_s(P),Ke=g.has(pe)?1:0,mt=g.has(fe)?1:0;if(Ke!==mt)return mt-Ke;const et=new Date(U.next_run||"").getTime(),Se=new Date(P.next_run||"").getTime(),ct=Number.isFinite(et),Fe=Number.isFinite(Se);return ct!==Fe?ct?-1:1:ct&&Fe&&et!==Se?et-Se:fa(U.name).localeCompare(fa(P.name),"zh-CN")}).map(U=>{const P=_s(U),pe=CC(U,xn,g.has(P)),fe=v.get(pe.planId)??v.get(P);return fe?{...pe,readyStepCount:fe.ready,runningStepCount:fe.running,blockedStepCount:fe.blocked,leasedStepCount:fe.leased,resultText:fe.ready>0||fe.running>0||fe.blocked>0||fe.leased>0?`Ready ${fe.ready} · 运行 ${fe.running} · 阻塞 ${fe.blocked}${fe.leased>0?` · 租约 ${fe.leased}`:""}`:pe.resultText}:pe})},[xn,hi,u,g]),Rt=x.useMemo(()=>tn.filter(v=>g.has(v.id)),[tn,g]),bi=x.useMemo(()=>Rt.map(v=>SC(v,xn)),[xn,Rt]),ea=tn,ga=tn.filter(v=>!g.has(v.id)),ya=L==="selected"?Rt:L==="pending"?ga:ea,Pt=Qt?(s==null?void 0:s.events)??[]:[],Fr=FC(Pt,we),Cs=Pt,va=(Qt?(s==null?void 0:s.decisions)??[]:[]).filter(v=>Tf(v.status)),As=oe||q||de||Z!==null,zl=x.useMemo(()=>Pt.filter(v=>KC(v,he)),[Pt,he]),Pr=zl.slice(0,Kg),Wr=Pt.filter(su),ta=Pt.filter(ru),$t=Pt.filter(cu),ft=Fr[0]??Wr[0]??null,Qe=s==null?void 0:s.employee,Me=s==null?void 0:s.workday,Ns=s==null?void 0:s.delivery,On=(Qt?(s==null?void 0:s.managed_services)??[]:[]).filter(v=>v.requires_human_action||v.status==="degraded"),Sn=(Qt?(s==null?void 0:s.task_agents)??[]:[]).filter(v=>v.can_retry||v.can_skip||v.can_cancel),$e=Qt?s==null?void 0:s.route_summary:null,qn=($e==null?void 0:$e.latest)??null,jt=Qt?s==null?void 0:s.diagnostic_summary:null,ba=jt?jt.doctor.error+jt.doctor.warn:0,bt=jt?jt.audit.error+jt.audit.warn:0,xi=(jt==null?void 0:jt.latest_issue)??null,Ne=Qt?s==null?void 0:s.daily_report:void 0,na=Qt?(uc=s==null?void 0:s.run_details)!=null&&uc.length?s.run_details:Pt.map(RC):[],wn=na.slice(0,rC),uu=Qt?(s==null?void 0:s.execution_summaries)??[]:[],Ln=Rt.map(v=>uu.find(U=>DC(U,v))??TC(v,Pt)),aa=uC(a),du=L==="all"?"全部任务":L==="pending"?"待选择任务":"今日已选任务",Si=L==="all"?`总任务 ${ea.length} 项,不代表当天都会执行。`:L==="pending"?`当前日期 ${aa} 还有 ${ga.length} 项未选择。`:`当前日期 ${aa} 已选择 ${Rt.length} 项任务。`,Lt=(Ne==null?void 0:Ne.status)==="ready"?Ne.totals:null,Bn=(Lt==null?void 0:Lt.task_count)??Ln.length,nn=(Lt==null?void 0:Lt.execution_count)??Ln.reduce((v,U)=>v+U.total_count,0),ec=(Lt==null?void 0:Lt.success_count)??Ln.reduce((v,U)=>v+U.success_count,0),fu=(Lt==null?void 0:Lt.failure_count)??Ln.reduce((v,U)=>v+U.failure_count,0),Ol=Ne?[Ne.summary,...Ne.detail_lines??[]].filter(v=>!!(v&&v.trim())):[],Es=(Ne==null?void 0:Ne.status)==="ready"&&Ol.length>0,ql=(Me==null?void 0:Me.current_status)??(Qe==null?void 0:Qe.current_status)??"working",mu=(Me==null?void 0:Me.current_status_label)??(Qe==null?void 0:Qe.current_status_label)??(ql==="resting"?"休息中":"工作中"),Vt=ql==="resting",wi=(s==null?void 0:s.source)==="demo",ji=wi?"演示兜底":"真实数据",Ci=wi?"de-badge-warning":"de-badge-success",ka=$C(Ft),tc=MC(Ft),Ts=zC(Ft),Za=zm(Ft==null?void 0:Ft.lastSyncError),nc=(Ft==null?void 0:Ft.recentFailures)??[],ac=aA({confirmed:!!(Me!=null&&Me.confirmed),currentEvent:ft,pendingDecisionCount:va.length,eventsCount:Pt.length}),Ds=tA(),Ll=oC[Ds??ac],_u=Ds||ft||va.length>0?Ll.bubble:(Me==null?void 0:Me.bubble_text)??Ll.bubble,Ai=ea.length>0?`已加载 ${ea.length} 项任务,当前选择 ${Rt.length} 项;右侧展示真实执行状态、运行明细和日报。`:(Me==null?void 0:Me.summary)??"等待同步当天任务计划。",Un=(ft==null?void 0:ft.task_title)??(Sn[0]?Sn[0].title:On[0]?On[0].name:Me!=null&&Me.confirmed?"等待下一条执行事件":"等待确认任务设置"),Rs=ft?`${ft.plan_title}:${Eo(ft)}(${Pg(ft)})`:Sn[0]?Wg(Sn[0]):On[0]?bo(On[0]):"任务执行后会显示正在处理的任务、步骤或汇总动作。",$s=va[0]?`等待人工确认:${va[0].title}`:Sn[0]?`Task Agent:${Wg(Sn[0])}`:On[0]?`处理服务状态:${bo(On[0])}`:Me!=null&&Me.confirmed?(Ns==null?void 0:Ns.lines[0])??"继续按计划轮询新工单,并把结果同步到运行明细。":"请先确认今天要执行的任务,确认后数字员工会开始执行。",Ja=!!(s&&!(Me!=null&&Me.confirmed));x.useEffect(()=>{if(!(h||!s)&&s.workday.confirmed){qt(!1);return}},[Pn,h,a,s]),x.useEffect(()=>{Qe&&ha({name:Qe.name||"",company:Qe.company||"",position:Qe.position||Qe.major||"",currentStatus:Qe.current_status||(Me==null?void 0:Me.current_status)||"working"})},[Qe,Me==null?void 0:Me.current_status]),x.useEffect(()=>{Zr((Ne==null?void 0:Ne.report_schedule_time)||"18:00")},[Ne==null?void 0:Ne.report_schedule_time]),x.useEffect(()=>{ht(!1)},[a]);const xa=x.useCallback(v=>{!v.selectable||!v.implemented||(p(U=>{const P=new Set(U);return P.has(v.id)?P.delete(v.id):P.add(v.id),P}),Wn.current=!0,ie(!0),C(null))},[]),Ms=x.useCallback(async()=>{if(g.size===0){j("请至少选择一项今天要执行的任务。");return}if(Vt){j("当前状态为休息中,请切换为工作中后再执行任务。");return}A("confirm_workday"),j(null),C(null);try{const v=await ci({action:"confirm_workday",date:a,duty_ids:bi});if(!ue.current)return;o(v),p(new Set(g)),Wn.current=!0,ie(!1),qt(!1),C("任务设置已确认,数字员工开始按任务执行。")}catch(v){ue.current&&j(v instanceof Error?v.message:"确认任务设置失败")}finally{ue.current&&A(null)}},[Vt,a,g,bi]),Ni=x.useCallback(async()=>{var v;A("flush_management_sync"),j(null),C(null);try{const U=(v=window.QimingClawBridge)==null?void 0:v.digital;if(!(U!=null&&U.flushSync)){C("当前环境未连接 qimingclaw 同步桥。");return}const P=await U.flushSync();if(!ue.current)return;Jr(P);const pe=await ms(a);if(!ue.current)return;o(pe);const fe=P.failed>0?`同步完成,仍有 ${P.failed} 条失败记录。`:P.pending>0?`同步完成,仍有 ${P.pending} 条待同步记录。`:"管理端同步完成。";C(fe)}catch(U){ue.current&&j(U instanceof Error?U.message:"同步管理端失败")}finally{ue.current&&A(null)}},[a]),ic=x.useCallback(async()=>{A("pull_plan_step_dispatch_policy"),j(null),C(null);try{const v=await T1();if(!ue.current||(await Ze(),!ue.current))return;const U=v.policy;C(v.ok?`PlanStep 派发策略已拉取:${U.enabled?"启用":"停用"},每轮最多 ${U.max_per_sweep} 个。`:`PlanStep 派发策略拉取失败,已沿用本地策略:${v.error||"未知错误"}。`)}catch(v){ue.current&&j(v instanceof Error?v.message:"拉取PlanStep派发策略失败")}finally{ue.current&&A(null)}},[Ze]),Bl=x.useCallback(async()=>{A("pull_risk_approval_policy"),j(null),C(null);try{const v=await R1();if(!ue.current||(await Ze(),!ue.current))return;C(v.ok?"风险审批策略已拉取。":`风险审批策略拉取失败,已沿用本地策略:${v.error||"未知错误"}。`)}catch(v){ue.current&&j(v instanceof Error?v.message:"拉取风险审批策略失败")}finally{ue.current&&A(null)}},[Ze]),Hn=x.useCallback(async()=>{A("pull_route_decision_policy"),j(null),C(null);try{const v=await z1();if(!ue.current||(await Ze(),!ue.current))return;const U=v.policy;C(v.ok?`入口路由策略已拉取:阻断 ${U.blocked_intents.length} 类,审批 ${U.approval_required_intents.length} 类。`:`入口路由策略拉取失败,已沿用本地策略:${v.error||"未知错误"}。`)}catch(v){ue.current&&j(v instanceof Error?v.message:"拉取入口路由策略失败")}finally{ue.current&&A(null)}},[Ze]),zs=x.useCallback(async()=>{A("pull_approval_updates"),j(null),C(null);try{const v=await W1();if(!ue.current||(await Ze(),!ue.current))return;C(v.ok?`审批更新已拉取:应用 ${v.applied??0} 条,忽略 ${v.ignored??0} 条,冲突 ${v.conflicted??0} 项。`:`审批更新拉取失败:${v.error||"未知错误"}。`)}catch(v){ue.current&&j(v instanceof Error?v.message:"拉取审批更新失败")}finally{ue.current&&A(null)}},[Ze]),Fa=x.useCallback(async(v,U)=>{const P=`route-intervention:${v.route_decision_id}:${U}`;A(P),j(null),C(null);try{const pe=await x1(v.route_decision_id,{approval_id:v.approval_id,decision:U,actor:"digital_employee_operator"});if(!ue.current||(await Ze(),!ue.current))return;C(pe.message||(U==="approved"?"入口路由干预已通过。":"入口路由干预已拒绝。"))}catch(pe){ue.current&&j(pe instanceof Error?pe.message:"处理入口路由干预失败")}finally{ue.current&&A(null)}},[Ze]),la=x.useCallback(async v=>{const U=Jg(v,Ft);try{await navigator.clipboard.writeText(U),j(null),C("同步失败诊断已复制。")}catch(P){C(null),j(P instanceof Error?P.message:"复制同步失败诊断失败")}},[Ft]),Os=x.useCallback(v=>{Fg(UC(v),Jg(v,Ft)),j(null),C("同步失败诊断已导出。")},[Ft]),Ei=x.useCallback(()=>{p(new Set),Wn.current=!0,ie(!0),C("已一键取消当前选择,重新选择后点击任务执行生效。"),j(null)},[]),sc=x.useCallback(async()=>{A("update_profile"),j(null),C(null);try{const v=await ci({action:"update_profile",date:a,name:kn.name,company:kn.company,position:kn.position,current_status:kn.currentStatus});if(!ue.current)return;o(v),Y(!1),C("数字员工特性设置已保存。")}catch(v){ue.current&&j(v instanceof Error?v.message:"保存特性设置失败")}finally{ue.current&&A(null)}},[kn,a]),Ti=x.useCallback(async()=>{A("update_report_schedule"),j(null),C(null);try{const v=await ci({action:"update_report_schedule",date:a,report_schedule_time:Xa});if(!ue.current)return;o(v),C(`日报生成时间已设置为 ${Xa}。`)}catch(v){ue.current&&j(v instanceof Error?v.message:"设置日报时间失败")}finally{ue.current&&A(null)}},[Xa,a]),Di=x.useCallback(async()=>{var v,U;A("generate_daily_report"),j(null),C(null);try{const P=await ci({action:"generate_daily_report",date:a,duty_ids:bi,report_schedule_time:Xa});if(!ue.current)return;const pe=((v=P.daily_report)==null?void 0:v.status)==="ready"?P:await ms(a);if(!ue.current)return;o(pe),C("日报已生成,可下载本地文本。"),((U=pe.daily_report)==null?void 0:U.status)==="ready"&&ht(!0)}catch(P){ue.current&&j(P instanceof Error?P.message:"生成日报失败")}finally{ue.current&&A(null)}},[Xa,a,g,bi]),qs=x.useCallback(()=>{!Ne||Ne.status!=="ready"||(Fg(HC(a),IC(aa,Ne,Ln,wn),"text/plain;charset=utf-8"),C("日报文本已下载。"))},[Ne,a,aa,Ln,wn]),Xt=x.useCallback(async(v,U)=>{var P;A(`${v.id}:${U}`),j(null),C(null);try{const pe=await ci({action:"decide_approval",date:a,decision_id:v.id,decision:U});if(!ue.current)return;const fe=((P=v.actions.find(Ke=>Ke.id===U))==null?void 0:P.label)??U;o(pe),C(`已记录“${fe}”处理结果,并写入 qimingclaw 本地运行状态。`)}catch(pe){ue.current&&j(pe instanceof Error?pe.message:"处理决策失败")}finally{ue.current&&A(null)}},[a]),In=x.useCallback((v,U)=>{$(P=>({...P,[v]:{...P[v]??ds,...U}}))},[]),ia=x.useCallback(async(v,U)=>{const P=w[v.id]??ds,pe=Ot(P.comment),fe=Ot(P.delegateTo),Ke=Ot(P.dueAt);if(U==="comment"&&!pe){j("请先填写审批评论。");return}if(U==="delegate"&&!fe){j("请先填写转交对象。");return}const mt=`approval-action:${v.id}:${U}`;A(mt),j(null),C(null);try{const et={actor:"digital_employee_operator",source:"digital-command-deck",comment:U==="comment"?pe:void 0,delegate_to:U==="delegate"?fe:void 0,delegate_label:U==="delegate"?fe:void 0,due_at:U==="mark_timeout"?Ke||new Date().toISOString():void 0,reason:U==="mark_risk"||U==="clear_risk"||U==="mark_timeout"?pe||Ef(U):void 0},Se=await F1(v.id,U,et);if(!ue.current)return;if(!(Se!=null&&Se.ok))throw new Error((Se==null?void 0:Se.error)||"记录审批动作失败");const ct=await ms(a);if(!ue.current)return;o(ct),$(Fe=>{var an,Gn;return{...Fe,[v.id]:{...Fe[v.id]??ds,comment:U==="comment"?"":((an=Fe[v.id])==null?void 0:an.comment)??"",delegateTo:U==="delegate"?"":((Gn=Fe[v.id])==null?void 0:Gn.delegateTo)??""}}}),C(`已记录审批动作:${Ef(U)}。`)}catch(et){ue.current&&j(et instanceof Error?et.message:"记录审批动作失败")}finally{ue.current&&A(null)}},[w,a]),Ul=x.useCallback(async(v,U)=>{var fe;const P=`approval-conflict:${v.id}:${U}`,pe=w[v.id]??ds;A(P),j(null),C(null);try{const Ke=await P1(v.id,{resolution:U,actor:"digital_employee_operator",comment:Ot(pe.comment)||null});if(!ue.current)return;if(!(Ke!=null&&Ke.ok))throw new Error((Ke==null?void 0:Ke.error)||((fe=Ke==null?void 0:Ke.reason_codes)==null?void 0:fe.join(", "))||"冲突裁决失败");const mt=await ms(a);if(!ue.current)return;o(mt),$(et=>({...et,[v.id]:{...et[v.id]??ds,comment:""}})),C("冲突裁决已记录。")}catch(Ke){ue.current&&j(Ke instanceof Error?Ke.message:"冲突裁决失败")}finally{ue.current&&A(null)}},[w,a]),Ls=x.useCallback(async(v,U)=>{const P=`task-agent:${v.task_id}:${U}`;A(P),j(null),C(null);try{const pe=await No({command_kind:U,context_refs:{plan_id:v.plan_id,task_id:v.task_id,run_id:v.latest_run_id,step_id:v.step_id,task_agent_id:v.agent_id},payload:{source:"digital-home-task-agent",task_agent_id:v.agent_id,task_id:v.task_id,plan_id:v.plan_id,step_id:v.step_id,latest_run_id:v.latest_run_id,title:v.title,requested_action:U,previous_state:v.execution_state,next_action:v.next_action},correlation_id:`digital-home-task-agent-${v.task_id}-${U}-${Date.now()}`});if(!pe.accepted)throw new Error(pe.message||`Task Agent 命令未被接受:${pe.command_id||U}`);C(`Task Agent 已${XC(U)}:${v.title}。`),await Ze()}catch(pe){ue.current&&j(pe instanceof Error?pe.message:"Task Agent 控制失败")}finally{ue.current&&A(null)}},[Ze]),Sa=x.useCallback(async(v,U,P={})=>{const pe=Ff(v),fe=U==="retry_task"||U==="skip_task"?pe:null,Ke=(fe==null?void 0:fe.step_id)??v.step_id,mt=(fe==null?void 0:fe.task_id)??v.task_id??null,et=(fe==null?void 0:fe.latest_run_id)??v.latest_run_id??null;if(!mt){j("当前阻塞步骤缺少可治理任务,无法发送处理命令");return}const Se=`blocked-plan-step:${v.step_id}:${U}`;A(Se),j(null),C(null);try{const ct=await No({command_kind:U,context_refs:{plan_id:v.plan_id,task_id:mt,run_id:et,step_id:Ke,blocked_step_id:v.step_id},payload:{source:"digital-home-blocked-plan-step",plan_id:v.plan_id,task_id:mt,run_id:et,step_id:Ke,blocked_step_id:v.step_id,blocked_step_title:v.title,blocked_dependency_step_id:(fe==null?void 0:fe.step_id)??null,requested_action:U,input:P.input},correlation_id:`digital-home-blocked-step-${v.step_id}-${U}-${Date.now()}`});if(!ct.accepted)throw new Error(ct.message||`阻塞步骤处理未被接受:${ct.command_id||U}`);C(`阻塞步骤已${ZC(U)}:${v.title}。`),Qa(null),Va(""),await Ze()}catch(ct){ue.current&&j(ct instanceof Error?ct.message:"阻塞步骤处理失败")}finally{ue.current&&A(null)}},[Ze]),Bs=x.useCallback(async()=>{const v=vi,U=$l.trim();!v||!U||await Sa(v.step,"provide_task_input",{input:U})},[$l,vi,Sa]),Hl=x.useCallback(async v=>{const U=`managed-service:${v.service_id}:restart`;A(U),j(null),C(null);try{const P=await H1(v.service_id,{reason:"digital_home_managed_service_issue",actor:"digital_employee_ui"});if(!P.ok)throw new Error(P.error||P.message||`${v.name} 重启失败`);C(`${v.name} 已提交安全重启。`),await Ze()}catch(P){ue.current&&j(P instanceof Error?P.message:`${v.name} 重启失败`)}finally{ue.current&&A(null)}},[Ze]),wa=x.useCallback(v=>{t({tab:"missions",date:a,missionId:v.conversationId||v.id})},[t,a]),rc=x.useCallback(async v=>{const U=Vg(F),P=Date.now(),pe=`digital-home-${v.planId}-${F.replace(":","")}`;A(`schedule:${v.id}`),j(null),C(null);try{const fe=await No({command_kind:"create_schedule",context_refs:{plan_id:v.planId,schedule_id:pe},payload:{source:"digital-home",plan_id:v.planId,name:`定时执行:${v.title}`,description:`按首页任务管理定时任务:${v.title}`,prompt:`请按计划执行:${v.title}。${v.summary}`,cron_expr:U,schedule:U},correlation_id:`digital-home-create-schedule-${v.planId}-${P}`,idempotency_key:`digital-home-create-schedule-${v.planId}-${F}-${P}`});if(!fe.accepted)throw new Error(fe.message||`调度命令未被接受:${fe.command_id||"create_schedule"}`);ce(null),C(`已提交定时:${v.title},${F} 按 cron 计划执行。`),await Ze()}catch(fe){ue.current&&j(fe instanceof Error?fe.message:"定时执行失败")}finally{ue.current&&A(null)}},[Ze,F]),pu=x.useCallback(async v=>{var U;if(!Dr(v)){j(Rr(v)),C(null);return}A(`execute:${v.id}`),j(null),C(null);try{const P=await I1(v.planId);if(P.ok!==!0)throw new Error(P.error||"执行接口未接受请求");const pe=((U=P.dispatched_tasks)==null?void 0:U.length)??0,fe=await Gg(v.planId),Ke=fe.dispatched??0,mt=fe.skipped??0,et=fe.failed??0;Ce(null),C(Ke>0||mt>0||et>0?`已触发执行:${v.title},新建 ${pe} 个步骤,推进 ${Ke} 个${mt>0?`,跳过 ${mt} 个`:""}${et>0?`,失败 ${et} 个`:""}。`:`已触发执行:${v.title},已派发 ${pe} 个步骤。`),await Ze()}catch(P){ue.current&&j(P instanceof Error?P.message:"执行失败")}finally{ue.current&&A(null)}},[Ze]),Us=x.useCallback(async v=>{var P,pe;if(!Dr(v)){j(Rr(v)),C(null);return}const U=`orchestrate:${v.id}`;A(U),j(null),C(null);try{const fe=await Gg(v.planId);if(fe.ok===!1)throw new Error(((pe=(P=fe.errors)==null?void 0:P[0])==null?void 0:pe.error)||"计划推进未被接受");C(`已推进:${v.title},派发 ${fe.dispatched??0} 个,跳过 ${fe.skipped??0} 个${(fe.failed??0)>0?`,失败 ${fe.failed}`:""}。`),await Ze()}catch(fe){ue.current&&j(fe instanceof Error?fe.message:"计划推进失败")}finally{ue.current&&A(null)}},[Ze]),Hs=x.useCallback(()=>{qt(!1),Jt(a),iA(a)},[a]),Ri=x.useCallback((v,U)=>{const P=g.has(v.id),pe=Rr(v);return c.jsxs("div",{className:`${yC(v,P)} ${U==="guide"?"de-duty-card--guide":""}`,title:v.summary,children:[c.jsxs("label",{className:"de-task-manager-duty-check",children:[c.jsx("input",{type:"checkbox",checked:P,disabled:!v.selectable||!v.implemented,onChange:()=>xa(v)}),c.jsx("span",{children:P?"已选":v.implemented?"未选":"待扩展"})]}),c.jsxs("div",{className:"de-template-card-main",children:[c.jsxs("div",{className:"de-template-card-head",children:[c.jsx("span",{className:"de-template-card-name",children:v.title}),c.jsx("span",{className:`de-badge ${fs(v.statusTone)}`,children:v.implemented?v.statusLabel:"待扩展"})]}),c.jsx("p",{className:"de-template-card-desc",children:v.summary}),c.jsxs("div",{className:"de-template-card-meta",children:[c.jsx("span",{children:v.scheduleText}),c.jsx("span",{children:v.resultText})]}),c.jsxs("div",{className:"de-duty-card-foot",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!v.implemented,onClick:()=>wa(v),children:"进入处理"}),c.jsxs("div",{className:"de-duty-card-actions",children:[c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!v.implemented||v.readyStepCount===0||!!b,title:v.readyStepCount>0?"推进此计划的 Ready 步骤":"暂无可推进 Ready 步骤",onClick:()=>{Us(v)},children:[c.jsx(xf,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:b===`orchestrate:${v.id}`?"推进中":AC(v)})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!v.implemented||b===`schedule:${v.id}`,onClick:()=>ce(v),children:[c.jsx(Ng,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:"定时"})]}),c.jsxs("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:!v.implemented||b===`execute:${v.id}`,title:pe||"立即执行此任务",onClick:()=>Ce(v),children:[c.jsx(Ag,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:"执行"})]})]}),!v.implemented&&c.jsx("span",{className:"de-duty-selected-mark",children:"待扩展"})]})]})]},`${U}-${v.id}`)},[b,Us,wa,g,xa]),hu=x.useCallback(v=>{ne(v),re(!0)},[]),Is=x.useCallback(()=>{ne(null),re(!1)},[]),cc=x.useCallback(()=>{H(!1),re(!1)},[]),Pa=x.useCallback(()=>{H(!0),re(!0)},[]),gu=x.useCallback(v=>{ey(v.target)||Pa()},[Pa]),oc=x.useCallback(v=>{v.key!=="Enter"&&v.key!==" "||ey(v.target)||(v.preventDefault(),Pa())},[Pa]),yu=x.useCallback(v=>{ne(null),H(!1),re(!1),t({tab:"missions",date:a,missionId:v.conversation_id||v.id})},[t,a]);return c.jsxs("div",{className:"de-dashboard de-dashboard--compact",style:{position:"relative",height:"100%",minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:[c.jsx("div",{className:"de-connection-layer","aria-hidden":"true",children:c.jsxs("svg",{className:"de-connection-svg",viewBox:"0 0 1200 800",preserveAspectRatio:"none",children:[c.jsxs("defs",{children:[c.jsxs("linearGradient",{id:"connGrad1",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[c.jsx("stop",{offset:"0%",stopColor:"rgba(79,172,254,0.25)"}),c.jsx("stop",{offset:"100%",stopColor:"rgba(0,242,254,0.1)"})]}),c.jsx("filter",{id:"connGlow",children:c.jsx("feGaussianBlur",{stdDeviation:"3"})})]}),c.jsx("path",{d:"M 80 180 Q 420 400, 580 350",stroke:"url(#connGrad1)",strokeWidth:"1.5",fill:"none",filter:"url(#connGlow)"}),c.jsx("path",{d:"M 120 620 Q 380 400, 560 380",stroke:"url(#connGrad1)",strokeWidth:"1.2",fill:"none",filter:"url(#connGlow)"}),c.jsx("path",{d:"M 640 360 Q 780 200, 1100 160",stroke:"url(#connGrad1)",strokeWidth:"1.3",fill:"none",filter:"url(#connGlow)"})]})}),c.jsxs("div",{className:"de-dashboard-content",children:[c.jsxs("div",{className:"de-dashboard-left",children:[c.jsxs("div",{className:"de-card de-person-card de-person-card--compact",children:[c.jsxs("div",{className:"de-card-title-bar",children:[c.jsx("span",{className:"de-card-title-bar-text",children:"数字员工"}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Y(!0),children:"特性设置"})]}),c.jsx("div",{className:"de-card-body",children:c.jsxs("div",{className:"de-info-grid",children:[c.jsxs("div",{className:"de-info-item",children:[c.jsx("label",{children:"姓名"}),c.jsx("span",{children:(Qe==null?void 0:Qe.name)??"同步中"})]}),c.jsxs("div",{className:"de-info-item",children:[c.jsx("label",{children:"单位"}),c.jsx("span",{children:(Qe==null?void 0:Qe.company)??"同步中"})]}),c.jsxs("div",{className:"de-info-item",children:[c.jsx("label",{children:"岗位"}),c.jsx("span",{children:(Qe==null?void 0:Qe.position)??(Qe==null?void 0:Qe.major)??"同步中"})]}),c.jsxs("div",{className:"de-info-item",children:[c.jsx("label",{children:"当前状态"}),c.jsx("span",{className:Vt?"de-status-resting":"de-status-working",children:mu})]})]})})]}),c.jsxs("div",{className:"de-card de-template-manager-card",children:[c.jsx("div",{className:"de-card-title-bar",children:c.jsx("span",{className:"de-card-title-bar-text",children:"任务设置"})}),c.jsxs("div",{className:"de-card-body de-template-manager-body",children:[c.jsxs("div",{className:"de-workday-toolbar",children:[c.jsxs("label",{children:[c.jsx("span",{children:"日期"}),c.jsx("input",{type:"date",value:a,onChange:v=>{Wn.current=!1,ie(!1),C(null),i(v.target.value||Jf())}})]}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:h,onClick:()=>K(!0),children:"任务设置"}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:h||b==="flush_management_sync",onClick:Ni,title:"立即同步数字员工本地状态到管理端",children:[c.jsx(ri,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:b==="flush_management_sync"?"同步中...":"同步管理端"})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:h||b==="pull_plan_step_dispatch_policy",onClick:ic,title:"从管理端拉取 PlanStep 派发策略",children:[c.jsx(Hf,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:b==="pull_plan_step_dispatch_policy"?"拉取中...":"拉取策略"})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:h||b==="pull_risk_approval_policy",onClick:Bl,title:"从管理端拉取风险审批策略",children:[c.jsx(Eg,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:b==="pull_risk_approval_policy"?"拉取中...":"风险策略"})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:h||b==="pull_route_decision_policy",onClick:Hn,title:"从管理端拉取入口路由策略",children:[c.jsx(jo,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:b==="pull_route_decision_policy"?"拉取中...":"路由策略"})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:h||b==="pull_approval_updates",onClick:zs,title:"从管理端拉取审批更新",children:[c.jsx(ri,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:b==="pull_approval_updates"?"拉取中...":"审批更新"})]})]}),c.jsxs("div",{className:`de-management-sync-strip de-management-sync-strip--${ka}`,title:Za||Ts,children:[c.jsx("span",{className:`de-badge ${fs(ka)}`,children:tc}),c.jsx("span",{children:Ts})]}),nc.length>0&&c.jsx("div",{className:"de-management-sync-failures","aria-label":"同步失败明细",children:nc.map(v=>c.jsxs("button",{type:"button",className:"de-management-sync-failure",title:v.error||v.id,onClick:()=>Ye(v),children:[c.jsx("span",{children:Zg(v)}),c.jsx("strong",{children:Mr(v.entityType)}),c.jsx("em",{children:v.id}),c.jsx("small",{children:qC(v)})]},v.id))}),(O||R||I||(s==null?void 0:s.demo_reason))&&c.jsx("div",{className:`de-schedule-result ${R?"de-schedule-result--error":"de-schedule-result--success"}`,style:{marginBottom:10},children:R||O||I||(s==null?void 0:s.demo_reason)}),(yi.length>0||js)&&c.jsxs("div",{className:"de-management-sync-failures","aria-label":"入口路由干预",style:{marginBottom:10},children:[js&&c.jsx("p",{className:"de-empty-text",children:js}),yi.slice(0,4).map(v=>{const U=v.intervention_status,P=!v.resolved_at&&["pending","blocked","approved"].includes(U),pe=`route-intervention:${v.route_decision_id}:approved`,fe=`route-intervention:${v.route_decision_id}:rejected`;return c.jsxs("div",{className:"de-management-sync-failure",title:v.blocked_reason||v.route_decision_id,children:[c.jsx("span",{children:v.entrypoint||"route"}),c.jsxs("strong",{children:[v.route_kind," / ",v.intent_kind]}),c.jsx("em",{children:U}),c.jsx("small",{children:v.blocked_reason||v.matched_intent||v.approval_id||v.route_decision_id}),P&&c.jsxs("div",{className:"de-task-agent-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:b===pe,onClick:()=>{Fa(v,"approved")},children:U==="approved"?"恢复":"通过"}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:b===fe,onClick:()=>{Fa(v,"rejected")},children:"拒绝"})]})]},v.route_decision_id)})]}),On.length>0&&c.jsx("div",{className:"de-management-sync-failures","aria-label":"服务状态处理",style:{marginBottom:10},children:On.map(v=>{const U=`managed-service:${v.service_id}:restart`,P=VC(v);return c.jsxs("div",{className:"de-management-sync-failure",title:v.error||bo(v),children:[c.jsx("span",{children:v.kind}),c.jsx("strong",{children:v.name}),c.jsx("em",{children:v.status_label}),c.jsx("small",{children:bo(v)}),P&&c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:b===U,onClick:pe=>{pe.stopPropagation(),Hl(v)},title:`安全重启 ${v.name}`,children:[c.jsx(ri,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:b===U?"重启中...":"重启"})]})]},v.service_id)})}),ae&&!O&&!R&&c.jsx("div",{className:"de-schedule-result de-schedule-result--success",style:{marginBottom:10},children:"当前选择尚未确认,自动刷新不会覆盖你的勾选。"}),c.jsxs("div",{className:"de-template-overview",children:[c.jsxs("button",{type:"button",className:`de-template-overview-item de-template-overview-item--total ${L==="all"?"active":""}`,onClick:()=>le("all"),children:[c.jsx("span",{className:"de-template-overview-label",children:"总任务"}),c.jsx("span",{className:"de-template-overview-value",children:ea.length})]}),c.jsxs("button",{type:"button",className:`de-template-overview-item de-template-overview-item--scheduled ${L==="selected"?"active":""}`,onClick:()=>le("selected"),children:[c.jsx("span",{className:"de-template-overview-label",children:"已选择"}),c.jsx("span",{className:"de-template-overview-value",children:Rt.length})]}),c.jsxs("button",{type:"button",className:`de-template-overview-item de-template-overview-item--runnable ${L==="pending"?"active":""}`,onClick:()=>le("pending"),children:[c.jsx("span",{className:"de-template-overview-label",children:"待选择"}),c.jsx("span",{className:"de-template-overview-value",children:ga.length})]})]}),c.jsxs("div",{className:"de-task-date-context",children:[c.jsxs("span",{children:["当前日期 ",aa]}),c.jsx("em",{children:Si}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:Ei,disabled:Rt.length===0,children:"一键取消"})]}),c.jsxs("div",{className:"de-task-manager-preview de-task-manager-preview-scroll de-template-task-list",children:[c.jsxs("div",{className:"de-task-manager-preview-head",children:[c.jsx("span",{children:aa}),c.jsxs("strong",{children:[du," ",ya.length]})]}),h?c.jsx("div",{className:"de-loading-skeleton",style:{height:96}}):tn.length===0?c.jsx("p",{className:"de-empty-text",children:"暂无任务,首页不会再展示硬编码任务。"}):ya.length===0?c.jsx("p",{className:"de-empty-text",children:"当前筛选下暂无任务,点击总任务查看全部内容。"}):ya.map(v=>c.jsxs("div",{className:`de-task-manager-preview-row ${g.has(v.id)?"is-selected":""}`,title:v.summary,children:[c.jsxs("button",{type:"button",className:"de-template-task-main",onClick:()=>wa(v),children:[c.jsx("strong",{children:v.title}),c.jsx("span",{children:v.resultText})]}),c.jsxs("div",{className:"de-template-item-actions",children:[c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!v.implemented||v.readyStepCount===0||!!b,title:v.readyStepCount>0?"推进此计划的 Ready 步骤":"暂无可推进 Ready 步骤",onClick:()=>{Us(v)},children:[c.jsx(xf,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:b===`orchestrate:${v.id}`?"推进中":"推进"})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!v.implemented||b===`schedule:${v.id}`,onClick:()=>ce(v),children:[c.jsx(Ng,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:"定时"})]}),c.jsxs("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:!v.implemented||b===`execute:${v.id}`,title:Rr(v)||"立即执行此任务",onClick:()=>Ce(v),children:[c.jsx(Ag,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:"执行"})]})]})]},v.id))]})]})]})]}),c.jsxs("div",{className:"de-dashboard-center",style:{justifyContent:"center",padding:"0 0 16px",overflow:"visible"},children:[c.jsx("div",{className:"de-avatar-wrapper",style:{minHeight:470,maxWidth:560,transform:"translateY(-6px)",display:"flex",alignItems:"flex-end",justifyContent:"center"},children:c.jsx(tC,{avatarSrc:Ll.src,altText:`数字员工-${Ll.label}`,statusLabel:Ll.label})}),c.jsxs("div",{className:"de-speech-bubble de-speech-bubble--employee",style:{top:"38%",left:"29%",right:"auto",transform:"translateX(-50%)",width:268,padding:"10px 12px",zIndex:16},children:[c.jsx("span",{className:"de-speech-label",children:"数字员工播报"}),c.jsx("p",{className:"de-speech-text",children:_u}),c.jsxs("button",{type:"button",className:"de-speech-workflow de-execution-detail-trigger",onClick:Pa,title:"打开运行明细",children:[c.jsx("span",{children:"当前动作"}),c.jsx("strong",{children:Un}),c.jsx("small",{children:Rs}),c.jsx("span",{children:"下一步"}),c.jsx("small",{children:$s})]})]})]}),c.jsx("div",{className:"de-dashboard-right",children:c.jsxs("div",{className:"de-right-panels",children:[c.jsxs("div",{className:"de-workbench de-workday-execution de-workday-execution--clickable",role:"button",tabIndex:0,"aria-label":"打开运行明细",title:"打开运行明细",onClick:gu,onKeyDown:oc,children:[c.jsxs("div",{className:"de-card-title-bar de-workbench-head de-workbench-head--bar",children:[c.jsx("div",{className:"de-workbench-title-row",children:c.jsx("h3",{children:"今日执行"})}),c.jsx("span",{className:`de-badge ${Ci}`,children:ji})]}),c.jsxs("div",{className:"de-workday-execution-body","aria-live":"polite",children:[c.jsxs("div",{className:"de-execution-status-strip",children:[c.jsxs("span",{children:[c.jsx("em",{children:"已选任务"}),c.jsx("strong",{children:Rt.length})]}),c.jsxs("span",{children:[c.jsx("em",{children:"运行记录"}),c.jsx("strong",{children:Cs.length})]}),c.jsxs("span",{children:[c.jsx("em",{children:"已完成"}),c.jsx("strong",{children:ta.length})]}),c.jsxs("span",{children:[c.jsx("em",{children:"异常"}),c.jsx("strong",{children:$t.length})]})]}),(jt||$e&&$e.total>0)&&c.jsxs("div",{className:"de-observation-strip-stack",children:[$e&&$e.total>0&&c.jsxs("div",{className:"de-route-summary-strip",children:[c.jsxs("span",{children:[c.jsx("em",{children:"入口路由"}),c.jsx("strong",{children:$e.total})]}),c.jsxs("span",{children:[c.jsx("em",{children:"已映射"}),c.jsx("strong",{children:$e.mapped_count})]}),c.jsxs("span",{children:[c.jsx("em",{children:"治理审计"}),c.jsx("strong",{children:$e.governance_mapped_count??$e.mapped_count})]}),($e.governance_blocked_count??0)>0&&c.jsxs("span",{className:"is-warning",children:[c.jsx("em",{children:"治理拦截"}),c.jsx("strong",{children:$e.governance_blocked_count})]}),c.jsxs("span",{className:$e.attention_count>0?"is-warning":"",children:[c.jsx("em",{children:"需关注"}),c.jsx("strong",{children:$e.attention_count})]}),($e.blocked_count??0)>0&&c.jsxs("span",{className:"is-warning",children:[c.jsx("em",{children:"阻断"}),c.jsx("strong",{children:$e.blocked_count})]}),($e.approval_required_count??0)>0&&c.jsxs("span",{className:"is-warning",children:[c.jsx("em",{children:"待审"}),c.jsx("strong",{children:$e.approval_required_count})]}),($e.pending_intervention_count??0)>0&&c.jsxs("span",{className:"is-warning",children:[c.jsx("em",{children:"待干预"}),c.jsx("strong",{children:$e.pending_intervention_count})]}),($e.restored_count??0)>0&&c.jsxs("span",{children:[c.jsx("em",{children:"已恢复"}),c.jsx("strong",{children:$e.restored_count})]}),c.jsxs("small",{children:[qn?`${qn.route_kind} / ${qn.intent_kind} · ${qn.status_label}`:"暂无路由决策",$e.policy_source?` · 策略${$e.policy_source==="remote"?"远端":"本地"}`:"",` · 治理审计已映射 ${$e.governance_mapped_count??$e.mapped_count} 项`,($e.governance_blocked_count??0)>0?` · 拦截/失败 ${$e.governance_blocked_count} 项`:"",$e.latest_intervention_status?` · 干预${$e.latest_intervention_status}`:"",$e.policy_last_pull_error?" · 拉取失败":""]})]}),jt&&c.jsxs("div",{className:"de-diagnostic-summary-strip",children:[c.jsxs("span",{className:ba>0?"is-warning":"",children:[c.jsx("em",{children:"诊断异常"}),c.jsx("strong",{children:ba})]}),c.jsxs("span",{className:bt>0?"is-warning":"",children:[c.jsx("em",{children:"审计风险"}),c.jsx("strong",{children:bt})]}),c.jsxs("span",{children:[c.jsx("em",{children:"估算请求"}),c.jsx("strong",{children:jt.cost.request_count})]}),c.jsxs("span",{children:[c.jsx("em",{children:"Token"}),c.jsx("strong",{children:dC(jt.cost.total_tokens)})]}),c.jsxs("span",{children:[c.jsx("em",{children:"估算成本"}),c.jsx("strong",{children:fC(jt.cost.estimated_cost_usd)})]}),c.jsx("small",{children:xi?`${xi.category} · ${xi.message}`:"诊断、审计和成本投影正常"})]})]}),c.jsx("div",{className:"de-task-summary-scroll",children:c.jsx("div",{className:"de-task-summary-grid","aria-label":"任务执行汇总",children:Ln.length===0?c.jsx("p",{className:"de-empty-text",children:"左侧选择任务后,这里会按任务生成执行次数和成功情况。"}):Ln.map(v=>c.jsxs("button",{type:"button",className:`de-task-summary-card de-live-feed-row--${v.latest_status_tone||"info"}`,onClick:()=>wa(Rt.find(U=>U.id===v.id)??Rt[0]),title:[v.description,v.ai_summary||v.business_summary].filter(Boolean).join(`
|
||
`),children:[c.jsx("span",{className:"de-task-summary-title",children:v.title}),c.jsx("span",{className:`de-badge ${fs(v.latest_status_tone)}`,children:v.latest_status_label}),c.jsxs("div",{className:"de-task-summary-counts",children:[c.jsxs("span",{children:[c.jsx("em",{children:"执行"}),c.jsx("strong",{children:v.total_count})]}),c.jsxs("span",{children:[c.jsx("em",{children:"成功"}),c.jsx("strong",{children:v.success_count})]}),c.jsxs("span",{children:[c.jsx("em",{children:"失败"}),c.jsx("strong",{children:v.failure_count})]})]})]},v.id))})}),Sn.length>0&&c.jsx("div",{className:"de-task-agent-control-strip","aria-label":"Task Agent 控制台",children:Sn.slice(0,2).map(v=>{const U=b===`task-agent:${v.task_id}:retry_task`,P=b===`task-agent:${v.task_id}:skip_task`,pe=b===`task-agent:${v.task_id}:cancel_task`;return c.jsxs("div",{className:`de-task-agent-control de-live-feed-row--${v.status_tone||"info"}`,children:[c.jsxs("div",{className:"de-task-agent-control-main",children:[c.jsx("span",{children:"Task Agent"}),c.jsx("strong",{children:v.title}),c.jsxs("small",{children:[v.status_label," · ",v.next_action]})]}),c.jsxs("div",{className:"de-task-agent-control-actions",children:[v.can_retry&&c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!!b,title:"记录重试任务命令",onClick:()=>{Ls(v,"retry_task")},children:[c.jsx(ri,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:U?"重试中":"重试"})]}),v.can_skip&&c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!!b,title:"记录跳过任务命令",onClick:()=>{Ls(v,"skip_task")},children:[c.jsx(Tg,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:P?"跳过中":"跳过"})]}),v.can_cancel&&c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-task-agent-cancel-btn",disabled:!!b,title:"记录取消任务命令",onClick:()=>{Ls(v,"cancel_task")},children:[c.jsx(Dg,{size:12,"aria-hidden":"true"}),c.jsx("span",{children:pe?"取消中":"取消"})]})]})]},v.agent_id)})}),(Dt.length>0||Rl)&&c.jsxs("div",{className:"de-task-agent-control-strip de-blocked-step-control-strip","aria-label":"PlanStep 阻塞处理",children:[Rl&&c.jsx("p",{className:"de-empty-text",children:Rl}),Dt.slice(0,3).map(v=>{const U=Ff(v),P=b===`blocked-plan-step:${v.step_id}:retry_task`,pe=b===`blocked-plan-step:${v.step_id}:skip_task`,fe=b===`blocked-plan-step:${v.step_id}:cancel_task`,Ke=b===`blocked-plan-step:${v.step_id}:provide_task_input`,mt=!!b||!(U!=null&&U.task_id),et=!!b||!v.task_id;return c.jsxs("div",{className:"de-task-agent-control de-blocked-step-control de-live-feed-row--danger",children:[c.jsxs("div",{className:"de-task-agent-control-main",children:[c.jsx("span",{children:"Blocked PlanStep"}),c.jsx("strong",{children:v.title}),c.jsx("small",{children:JC(v)})]}),c.jsxs("div",{className:"de-task-agent-control-actions",children:[c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:mt,title:U!=null&&U.task_id?"重试首个阻塞前置任务":"缺少可重试的前置任务",onClick:()=>{Sa(v,"retry_task")},children:[c.jsx(ri,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:P?"重试中":"重试前置"})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:mt,title:U!=null&&U.task_id?"跳过首个阻塞前置任务":"缺少可跳过的前置任务",onClick:()=>{Sa(v,"skip_task")},children:[c.jsx(Tg,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:pe?"跳过中":"跳过前置"})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:et,title:v.task_id?"补充当前阻塞步骤所需输入":"当前步骤缺少可补充输入的任务",onClick:()=>{Qa({step:v,dependency:null}),Va("")},children:[c.jsx(jo,{size:13,"aria-hidden":"true"}),c.jsx("span",{children:Ke?"提交中":"补充输入"})]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-task-agent-cancel-btn",disabled:et,title:v.task_id?"取消当前阻塞步骤":"当前步骤缺少可取消的任务",onClick:()=>{Sa(v,"cancel_task")},children:[c.jsx(Dg,{size:12,"aria-hidden":"true"}),c.jsx("span",{children:fe?"取消中":"取消此步骤"})]})]})]},v.step_id)})]}),c.jsxs("div",{className:"de-stage-feed-tools",children:[c.jsxs("span",{children:["展示 ",Cs.length," / 共 ",Pt.length," 条",As?" · 已暂停":" · 自动滚动"]}),c.jsxs("div",{children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>be(v=>!v),children:oe?"继续滚动":"暂停滚动"}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:Pa,children:"查看全部记录"})]})]}),c.jsxs("div",{className:"de-run-detail-panel",children:[c.jsxs("div",{className:"de-run-detail-head",children:[c.jsx("span",{children:"运行明细"}),c.jsxs("small",{children:["展示 ",wn.length," / 共 ",na.length," 条"]})]}),c.jsxs("div",{className:"de-run-detail-list de-run-detail-list-scroll","aria-label":"运行明细",children:[c.jsxs("div",{className:"de-run-detail-row de-run-detail-row--head",children:[c.jsx("span",{children:"时间"}),c.jsx("span",{children:"任务名称"}),c.jsx("span",{children:"步骤名称"}),c.jsx("span",{children:"执行状态"}),c.jsx("span",{children:"结果"})]}),wn.length===0?c.jsx("p",{className:"de-empty-text",children:"任务执行后,这里会滚动显示每个步骤的时间、任务、步骤和结果。"}):wn.map(v=>c.jsxs("button",{type:"button",className:`de-run-detail-row de-live-feed-row--${v.status_tone||"info"}`,onClick:()=>{const U=Pt.find(P=>P.id===v.id);U&&hu(U)},title:v.business_detail,children:[c.jsx("span",{children:YC(v)}),c.jsx("strong",{children:v.task_name}),c.jsx("span",{children:v.step_name||v.operation_name||"执行步骤"}),c.jsx("span",{children:c.jsx("i",{className:`de-badge ${fs(v.status_tone)}`,children:v.status_label})}),c.jsx("em",{children:v.business_detail})]},v.id))]})]})]})]}),c.jsxs("div",{className:"de-report-summary",children:[c.jsxs("div",{className:"de-card-title-bar de-report-summary-head de-report-summary-head--bar",children:[c.jsx("div",{className:"de-report-summary-title-row",children:c.jsx("h3",{children:"日报生成"})}),c.jsx("span",{className:`de-report-badge ${(Ne==null?void 0:Ne.status)==="ready"?"de-report-badge--ready":"de-report-badge--waiting"}`,children:(Ne==null?void 0:Ne.status)==="ready"?"已生成":"待生成"})]}),c.jsxs("div",{className:"de-report-summary-body",children:[c.jsxs("div",{className:"de-report-schedule-row",children:[c.jsxs("label",{children:[c.jsx("span",{children:"生成时间"}),c.jsx("input",{type:"time",value:Xa,onChange:v=>Zr(v.target.value||"18:00")})]}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:b==="update_report_schedule",onClick:()=>{Ti()},children:"设置时间"}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:b==="generate_daily_report",onClick:()=>{Di()},children:b==="generate_daily_report"?"生成中...":"生成日报"}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-report-preview-btn",disabled:!Es,onClick:()=>ht(!0),title:Es?"预览日报文字内容":"生成日报后可预览文字内容",children:[c.jsx(Mo,{size:14,"aria-hidden":"true"}),"预览日报"]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-report-download-btn",disabled:!(Ne!=null&&Ne.pdf_available),onClick:qs,title:Ne!=null&&Ne.pdf_available?"下载本地日报文本":"生成日报后可下载本地日报",children:[c.jsx(ps,{size:14,"aria-hidden":"true"}),"下载日报"]})]}),c.jsxs("div",{className:"de-report-meta",children:[c.jsx("p",{children:(Ne==null?void 0:Ne.summary)??"点击生成日报后,AI 会基于当天所有任务写出总分结构日报。"}),((Ne==null?void 0:Ne.detail_lines)??[]).slice(0,3).map(v=>c.jsx("p",{children:v},v))]})]})]})]})})]}),Ae&&Ne&&c.jsx("div",{className:"de-task-manager-modal-overlay de-report-preview-overlay",role:"presentation",onClick:()=>ht(!1),children:c.jsxs("div",{className:"de-report-preview-modal",role:"dialog","aria-modal":"true","aria-label":"日报预览",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"DAILY REPORT"}),c.jsx("h3",{children:Ne.title||"数字员工日报"}),c.jsxs("p",{children:[aa," 生成时间 ",Ne.report_schedule_time,",来源:",Ne.generated_by==="ai"?"AI 生成":"规则兜底"]})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>ht(!1),children:"×"})]}),c.jsxs("div",{className:"de-report-preview-summary",children:[c.jsxs("div",{children:[c.jsx("span",{children:"任务总数"}),c.jsx("strong",{children:Bn})]}),c.jsxs("div",{children:[c.jsx("span",{children:"执行次数"}),c.jsx("strong",{children:nn})]}),c.jsxs("div",{children:[c.jsx("span",{children:"成功次数"}),c.jsx("strong",{children:ec})]}),c.jsxs("div",{children:[c.jsx("span",{children:"失败次数"}),c.jsx("strong",{children:fu})]})]}),c.jsx("div",{className:"de-report-preview-content",children:Ol.length===0?c.jsx("p",{className:"de-empty-text",children:"当前日报暂无可预览文字。"}):Ol.map((v,U)=>c.jsx("p",{children:v},`${U}-${v}`))}),c.jsxs("div",{className:"de-event-modal-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>ht(!1),children:"关闭"}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-report-download-btn",disabled:!Ne.pdf_available,onClick:qs,children:[c.jsx(ps,{size:14,"aria-hidden":"true"}),"下载日报"]})]})]})}),vi&&c.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:()=>Qa(null),children:c.jsxs("div",{className:"de-profile-settings-modal de-blocked-input-modal",role:"dialog","aria-modal":"true","aria-label":"补充阻塞步骤输入",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"BLOCKED PLANSTEP"}),c.jsx("h3",{children:"补充输入"}),c.jsx("p",{children:vi.step.title})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>Qa(null),children:"×"})]}),c.jsxs("label",{className:"de-blocked-input-field",children:[c.jsx("span",{children:"补充内容"}),c.jsx("textarea",{value:$l,onChange:v=>Va(v.target.value),placeholder:"输入用于解除当前阻塞的信息"})]}),c.jsxs("div",{className:"de-event-modal-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Qa(null),children:"取消"}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:!$l.trim()||!!b,onClick:()=>{Bs()},children:"提交输入"})]})]})}),Be&&c.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:()=>Y(!1),children:c.jsxs("div",{className:"de-profile-settings-modal",role:"dialog","aria-modal":"true","aria-label":"数字员工特性设置",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"PROFILE"}),c.jsx("h3",{children:"特性设置"}),c.jsx("p",{children:"维护数字员工在首页展示的姓名、单位、岗位和当前状态。"})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>Y(!1),children:"×"})]}),c.jsxs("div",{className:"de-profile-settings-grid",children:[c.jsxs("label",{children:[c.jsx("span",{children:"姓名"}),c.jsx("input",{value:kn.name,onChange:v=>ha(U=>({...U,name:v.target.value}))})]}),c.jsxs("label",{children:[c.jsx("span",{children:"单位"}),c.jsx("input",{value:kn.company,onChange:v=>ha(U=>({...U,company:v.target.value}))})]}),c.jsxs("label",{children:[c.jsx("span",{children:"岗位"}),c.jsx("input",{value:kn.position,onChange:v=>ha(U=>({...U,position:v.target.value}))})]}),c.jsxs("div",{className:"de-profile-status-toggle",children:[c.jsx("span",{children:"当前状态"}),c.jsxs("div",{children:[c.jsx("button",{type:"button",className:kn.currentStatus==="working"?"active":"",onClick:()=>ha(v=>({...v,currentStatus:"working"})),children:"工作中"}),c.jsx("button",{type:"button",className:kn.currentStatus==="resting"?"active":"",onClick:()=>ha(v=>({...v,currentStatus:"resting"})),children:"休息中"})]})]})]}),c.jsxs("div",{className:"de-event-modal-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Y(!1),children:"取消"}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:b==="update_profile",onClick:()=>{sc()},children:b==="update_profile"?"保存中...":"保存设置"})]})]})}),Ue&&c.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:()=>Ye(null),children:c.jsxs("div",{className:"de-event-detail-modal",role:"dialog","aria-modal":"true","aria-label":"同步失败详情",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"SYNC FAILURE"}),c.jsx("h3",{children:"同步失败详情"}),c.jsxs("p",{children:[Mr(Ue.entityType)," / ",Ue.operation]})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>Ye(null),children:"×"})]}),c.jsxs("div",{className:"de-event-detail-grid",children:[c.jsxs("div",{children:[c.jsx("span",{children:"Outbox"}),c.jsx("strong",{children:Ue.id})]}),c.jsxs("div",{children:[c.jsx("span",{children:"实体"}),c.jsx("strong",{children:Ue.entityId})]}),((dc=Ue.entitySummary)==null?void 0:dc.title)&&c.jsxs("div",{children:[c.jsx("span",{children:"业务"}),c.jsx("strong",{children:Ue.entitySummary.title})]}),((fc=Ue.entitySummary)==null?void 0:fc.status)&&c.jsxs("div",{children:[c.jsx("span",{children:"业务状态"}),c.jsx("strong",{children:Ue.entitySummary.status})]}),c.jsxs("div",{children:[c.jsx("span",{children:"类型"}),c.jsx("strong",{children:Mr(Ue.entityType)})]}),c.jsxs("div",{children:[c.jsx("span",{children:"操作"}),c.jsx("strong",{children:Ue.operation})]}),c.jsxs("div",{children:[c.jsx("span",{children:"重试"}),c.jsxs("strong",{children:[Ue.attempts," 次"]})]}),c.jsxs("div",{children:[c.jsx("span",{children:"上次尝试"}),c.jsx("strong",{children:Zg(Ue)})]}),c.jsxs("div",{children:[c.jsx("span",{children:"下次重试"}),c.jsx("strong",{children:Wv(Ue)})]}),c.jsxs("div",{children:[c.jsx("span",{children:"状态"}),c.jsx("strong",{children:Ue.dueForRetry?"等待补偿":"退避中"})]})]}),c.jsxs("div",{className:"de-event-detail-result",children:[c.jsx("span",{children:"失败原因"}),c.jsx("p",{children:Ue.error||"暂无错误详情。"})]}),(($i=Ue.entitySummary)==null?void 0:$i.summary)&&c.jsxs("div",{className:"de-event-detail-result",children:[c.jsx("span",{children:"业务摘要"}),c.jsx("p",{children:Ue.entitySummary.summary})]}),(((mc=Ue.attemptHistory)==null?void 0:mc.length)??0)>0&&c.jsxs("div",{className:"de-sync-attempt-history",children:[c.jsx("span",{children:"重试历史"}),c.jsx("div",{className:"de-sync-attempt-list",children:(_c=Ue.attemptHistory)==null?void 0:_c.map(v=>c.jsxs("div",{className:`de-sync-attempt-row de-sync-attempt-row--${BC(v.status)}`,children:[c.jsxs("div",{children:[c.jsxs("strong",{children:["第 ",v.attemptNo," 次"]}),c.jsx("em",{children:LC(v.status)}),c.jsx("span",{children:Ha(v.finishedAt)||v.finishedAt})]}),v.error&&c.jsx("small",{children:v.error})]},`${v.attemptNo}-${v.finishedAt}`))})]}),c.jsxs("div",{className:"de-event-modal-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Ye(null),children:"关闭"}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>{la(Ue)},children:[c.jsx(Gx,{size:14}),"复制诊断"]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Os(Ue),children:[c.jsx(ps,{size:14}),"导出诊断"]}),Ue.managementRecordUrl&&c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>window.open(Ue.managementRecordUrl||"","_blank","noopener,noreferrer"),children:[c.jsx(Mo,{size:14}),"查看管理端记录"]}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:b==="flush_management_sync",onClick:()=>{Ni().then(()=>Ye(null))},children:b==="flush_management_sync"?"同步中...":"立即重试"})]})]})}),Z&&c.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:Is,children:c.jsxs("div",{className:"de-event-detail-modal",role:"dialog","aria-modal":"true","aria-label":"执行记录详情",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"EXECUTION DETAIL"}),c.jsx("h3",{children:"执行记录详情"}),c.jsx("p",{children:"这条记录已被锁定,滚动不会把它刷掉。"})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:Is,children:"×"})]}),c.jsxs("div",{className:"de-event-detail-grid",children:[c.jsxs("div",{children:[c.jsx("span",{children:"业务"}),c.jsx("strong",{children:Z.plan_title})]}),c.jsxs("div",{children:[c.jsx("span",{children:"操作"}),c.jsx("strong",{children:Z.task_title})]}),c.jsxs("div",{children:[c.jsx("span",{children:"状态"}),c.jsx("strong",{children:Xg(Z)})]}),c.jsxs("div",{children:[c.jsx("span",{children:"计划时间"}),c.jsx("strong",{children:Pv(Z)})]}),c.jsxs("div",{children:[c.jsx("span",{children:"执行时间"}),c.jsx("strong",{children:eb(Z)})]}),c.jsxs("div",{children:[c.jsx("span",{children:"数据来源"}),c.jsx("strong",{children:ji})]})]}),c.jsxs("div",{className:"de-event-detail-result",children:[c.jsx("span",{children:"操作结果"}),c.jsx("p",{children:Eo(Z)})]}),c.jsxs("div",{className:"de-event-modal-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:Is,children:"关闭"}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",onClick:()=>yu(Z),children:"打开任务中心详情"})]})]})}),de&&c.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:cc,children:c.jsxs("div",{className:"de-event-history-modal",role:"dialog","aria-modal":"true","aria-label":"全部执行记录",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"EXECUTION HISTORY"}),c.jsx("h3",{children:"运行明细"}),c.jsxs("p",{children:["当前日期共 ",Pt.length," 条记录,本窗口展示最新 ",Math.min(zl.length,Kg)," 条。"]})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:cc,children:"×"})]}),c.jsx("div",{className:"de-event-history-toolbar",children:sC.map(v=>c.jsx("button",{type:"button",className:`de-filter-chip ${he===v.id?"active":""}`,onClick:()=>J(v.id),children:v.label},v.id))}),c.jsx("div",{className:"de-event-history-list",children:zl.length===0?c.jsx("p",{className:"de-empty-text",children:"当前筛选下没有执行记录。"}):Pr.map(v=>c.jsxs("button",{type:"button",className:`de-event-history-row de-live-feed-row--${v.status_tone||"info"}`,onClick:()=>{ne(v),H(!1),re(!0)},children:[c.jsxs("span",{children:[c.jsx("em",{children:"业务"}),c.jsx("strong",{children:v.plan_title})]}),c.jsxs("span",{children:[c.jsx("em",{children:"操作"}),c.jsx("strong",{children:v.task_title})]}),c.jsxs("span",{children:[c.jsx("em",{children:"状态"}),c.jsx("strong",{children:Xg(v)})]}),c.jsxs("span",{children:[c.jsx("em",{children:"操作结果"}),c.jsx("strong",{children:Eo(v)}),c.jsx("small",{children:Pg(v)})]})]},v.id))})]})}),ee&&c.jsx("div",{className:"de-task-manager-modal-overlay de-plan-action-overlay",role:"presentation",onClick:()=>ce(null),children:c.jsxs("div",{className:"de-plan-action-modal",role:"dialog","aria-modal":"true","aria-label":"定时任务",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"PLAN SCHEDULE"}),c.jsx("h3",{children:"定时任务"}),c.jsx("p",{children:"定时会把任务注册到后端调度链路,每天按设置时间自动派发。"})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>ce(null),children:"×"})]}),c.jsxs("div",{className:"de-plan-action-body",children:[c.jsxs("div",{className:"de-event-detail-result",children:[c.jsx("span",{children:"任务"}),c.jsx("p",{children:ee.title})]}),c.jsxs("label",{className:"de-plan-action-field",children:[c.jsx("span",{children:"每日定时时间"}),c.jsx("input",{type:"time",value:F,onChange:v=>me(v.target.value||"09:00")})]}),c.jsxs("div",{className:"de-event-detail-grid de-plan-action-grid",children:[c.jsxs("div",{children:[c.jsx("span",{children:"调度注册"}),c.jsx("strong",{children:Vg(F)})]}),c.jsxs("div",{children:[c.jsx("span",{children:"任务步骤"}),c.jsxs("strong",{children:[ee.stepCount," 步"]})]}),c.jsxs("div",{children:[c.jsx("span",{children:"执行步骤"}),c.jsxs("strong",{children:[ee.taskCount," 项"]})]})]}),c.jsx("div",{className:"de-schedule-result de-schedule-result--success",children:"这里不是本地假定时;提交后如果后端调度链路不可用,会直接显示真实失败原因。"})]}),c.jsxs("div",{className:"de-event-modal-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>ce(null),children:"取消"}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:b===`schedule:${ee.id}`,onClick:()=>{rc(ee)},children:b===`schedule:${ee.id}`?"注册中...":"确认定时"})]})]})}),ve&&c.jsx("div",{className:"de-task-manager-modal-overlay de-plan-action-overlay",role:"presentation",onClick:()=>Ce(null),children:c.jsxs("div",{className:"de-plan-action-modal",role:"dialog","aria-modal":"true","aria-label":"执行任务",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"PLAN EXECUTION"}),c.jsx("h3",{children:"执行任务"}),c.jsx("p",{children:"确认后立即创建并派发任务步骤,不需要先进入任务中心设置。"})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>Ce(null),children:"×"})]}),c.jsxs("div",{className:"de-plan-action-body",children:[c.jsxs("div",{className:"de-event-detail-result",children:[c.jsx("span",{children:"任务"}),c.jsx("p",{children:ve.title})]}),c.jsxs("div",{className:"de-event-detail-grid de-plan-action-grid",children:[c.jsxs("div",{children:[c.jsx("span",{children:"当前状态"}),c.jsx("strong",{children:ve.statusLabel})]}),c.jsxs("div",{children:[c.jsx("span",{children:"任务步骤"}),c.jsxs("strong",{children:[ve.stepCount," 步"]})]}),c.jsxs("div",{children:[c.jsx("span",{children:"执行步骤"}),c.jsxs("strong",{children:[ve.taskCount," 项"]})]})]}),c.jsx("div",{className:`de-schedule-result ${Dr(ve)?"de-schedule-result--success":"de-schedule-result--pending"}`,children:Dr(ve)?"确认后立即调用后端派发接口,按任务步骤进入真实执行链路。":Rr(ve)})]}),c.jsxs("div",{className:"de-event-modal-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Ce(null),children:"取消"}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:b===`execute:${ve.id}`||!Dr(ve),onClick:()=>{pu(ve)},children:b===`execute:${ve.id}`?"触发中...":"确认执行"})]})]})}),Ml&&Ja&&c.jsx("div",{className:"de-task-manager-modal-overlay de-workday-guide-overlay",role:"presentation",onClick:Hs,children:c.jsxs("div",{className:"de-task-manager-modal de-workday-guide-modal",role:"dialog","aria-modal":"true","aria-label":"开始今天的任务",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head de-workday-guide-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"WORKDAY START"}),c.jsx("h3",{children:"开始今天的任务"}),c.jsx("p",{children:"像值班员早上交接一样,先确认日期和执行内容,再让数字员工开始接单、外呼、汇总和汇报。"})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:Hs,children:"×"})]}),c.jsx("div",{className:"de-workday-guide-steps","aria-label":"开工引导步骤",children:cC.map((v,U)=>c.jsxs("div",{className:"de-workday-guide-step",children:[c.jsx("span",{children:U+1}),c.jsx("strong",{children:v.title}),c.jsx("p",{children:v.body})]},v.title))}),c.jsxs("div",{className:"de-workday-guide-body",children:[c.jsxs("section",{className:"de-task-manager-column de-workday-guide-column",children:[c.jsxs("div",{className:"de-task-manager-section-head",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"选择今天要执行的任务"}),c.jsxs("span",{children:[Rt.length," 项已选,",ea.length," 项总任务,",ga.length," 项待选择"]})]}),c.jsx("span",{className:`de-badge ${Ci}`,children:ji})]}),c.jsx("div",{className:"de-workday-guide-duty-list",children:h?c.jsx("div",{className:"de-loading-skeleton",style:{height:220}}):tn.length===0?c.jsx("p",{className:"de-empty-text",children:"暂无任务,首页不再展示硬编码任务。请先在任务中心创建或同步。"}):tn.map(v=>Ri(v,"guide"))})]}),c.jsxs("aside",{className:"de-workday-guide-side",children:[c.jsxs("div",{className:"de-workday-guide-summary",children:[c.jsx("span",{children:"日期"}),c.jsx("strong",{children:a}),c.jsx("p",{children:Ai})]}),c.jsxs("div",{className:"de-workday-guide-summary",children:[c.jsx("span",{children:"确认后会发生什么"}),c.jsx("strong",{children:"右侧进入执行滚动"}),c.jsx("p",{children:"首页会展示当前动作、下一步、操作状态和操作结果;需要人工决策时会在右侧停下来提示。"})]}),(R||ae||(s==null?void 0:s.demo_reason))&&c.jsx("div",{className:`de-schedule-result ${R?"de-schedule-result--error":"de-schedule-result--success"}`,children:R||(ae?"已调整任务勾选,点击确认后生效。":s==null?void 0:s.demo_reason)}),c.jsxs("div",{className:"de-workday-guide-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:Hs,children:"稍后设置"}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:b==="confirm_workday"||h,onClick:()=>{Ms()},children:b==="confirm_workday"?"确认中...":"确认并开始任务"})]})]})]})]})}),E&&c.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:()=>K(!1),children:c.jsxs("div",{className:"de-task-manager-modal",role:"dialog","aria-modal":"true","aria-label":"任务设置",onClick:v=>v.stopPropagation(),children:[c.jsxs("div",{className:"de-task-manager-modal-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"TASK MANAGER"}),c.jsx("h3",{children:"任务设置"}),c.jsx("p",{children:"像员工早上确认工作一样,勾选今天要执行的内容,必要时进入详情或处理待决策事项。"})]}),c.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>K(!1),children:"×"})]}),c.jsxs("div",{className:"de-task-manager-modal-body",children:[c.jsxs("section",{className:"de-task-manager-column de-task-manager-column--duties",children:[c.jsxs("div",{className:"de-task-manager-section-head",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"任务设置清单"}),c.jsxs("span",{children:[Rt.length," 项已选,",ea.length," 项总任务,",ga.length," 项待选择"]})]}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:b==="confirm_workday"||h,onClick:()=>{Ms()},children:b==="confirm_workday"?"确认中...":Me!=null&&Me.confirmed?"重新任务执行":"确认并开始任务"})]}),c.jsx("div",{className:"de-task-manager-duty-list",children:h?c.jsx("div",{className:"de-loading-skeleton",style:{height:180}}):tn.length===0?c.jsx("p",{className:"de-empty-text",children:"暂无任务,首页不会显示硬编码任务。可进入任务中心创建。"}):tn.map(v=>Ri(v,"manager"))})]}),c.jsxs("aside",{className:"de-task-manager-column de-task-manager-column--actions",children:[c.jsx("div",{className:"de-task-manager-section-head",children:c.jsxs("div",{children:[c.jsx("strong",{children:"待解决事项"}),c.jsx("span",{children:va.length>0?`${va.length} 项需要人处理`:"暂无阻塞事项"})]})}),c.jsx("div",{className:"de-task-manager-decision-list",children:((s==null?void 0:s.decisions)??[]).length===0?c.jsx("p",{className:"de-empty-text",children:"没有需要你确认的事项。"}):((s==null?void 0:s.decisions)??[]).map(v=>{var ct;const U=w[v.id]??ds,P=`approval-action:${v.id}:`,pe=b===`${P}comment`,fe=b===`${P}delegate`,Ke=b===`${P}mark_timeout`,mt=b===`${P}mark_risk`,et=b===`${P}clear_risk`,Se=(ct=v.conflict)!=null&&ct.active?v.conflict:null;return c.jsxs("div",{className:"de-task-manager-decision-card",children:[c.jsxs("div",{className:"de-log-entry-meta",children:[c.jsx("strong",{children:v.title}),c.jsx("span",{children:v.status_label})]}),c.jsx("p",{children:v.scenario}),c.jsxs("div",{className:"de-approval-summary-grid",children:[Se&&c.jsx("span",{className:"de-badge de-badge-danger",children:"跨端冲突"}),c.jsx("span",{className:`de-badge ${fs(mC(v.risk_level))}`,children:_C(v.risk_level)}),c.jsx("span",{className:`de-badge ${fs(pC(v.sla_status))}`,children:hC(v.sla_status)}),c.jsx("span",{children:v.due_at?`截止 ${Ha(v.due_at)||v.due_at}`:"未设置截止"}),c.jsx("span",{children:v.comment_count?`评论 ${v.comment_count} 条`:"暂无评论"}),c.jsx("span",{children:v.delegate_to?`转交 ${v.delegate_to}`:"未转交"}),c.jsx("span",{children:v.last_action?`最近 ${Ef(v.last_action)} · ${v.last_actor||"未知"}`:"暂无审批动作"}),c.jsx("span",{children:v.approval_step_count?`步骤 ${v.approval_step_index||1}/${v.approval_step_count}`:"单步审批"}),c.jsx("span",{children:v.current_step_label?`当前 ${v.current_step_label}`:"当前步骤待确认"}),c.jsx("span",{children:v.current_participant?`处理人 ${v.current_participant}`:"未指定处理人"}),c.jsx("span",{children:v.next_step_label?`下一步 ${v.next_step_label}`:"无后续步骤"})]}),Se&&c.jsxs("div",{className:"de-decision-chain-note de-decision-chain-note--conflict",children:[c.jsx("span",{className:"de-badge de-badge-danger",children:"人工排查"}),c.jsxs("span",{children:[gC(Se.reason),":本地 ",Qg(Se.local_status??v.status),",管理端 ",Qg(Se.remote_status),"。",Se.detected_at?` 检测 ${Ha(Se.detected_at)||Se.detected_at}`:""]})]}),Se&&c.jsx("div",{className:"de-workbench-actions de-approval-governance-actions",children:[["keep_local","保留本地"],["accept_remote","采纳管理端"],["mark_reviewed","标记已复核"]].map(([Fe,an])=>{const Gn=`approval-conflict:${v.id}:${Fe}`;return c.jsx("button",{type:"button",className:Fe==="accept_remote"?"de-workbench-action-accent":"",disabled:b===Gn,onClick:()=>{Ul(v,Fe)},children:c.jsx("span",{children:b===Gn?"记录中...":an})},Fe)})}),c.jsxs("div",{className:"de-approval-action-fields",children:[c.jsx("input",{value:U.comment,placeholder:"评论 / 风险原因",onChange:Fe=>In(v.id,{comment:Fe.target.value})}),c.jsx("input",{value:U.delegateTo,placeholder:"转交对象",onChange:Fe=>In(v.id,{delegateTo:Fe.target.value})}),c.jsx("input",{type:"datetime-local",value:U.dueAt,onChange:Fe=>In(v.id,{dueAt:Fe.target.value})})]}),c.jsxs("div",{className:"de-workbench-actions de-approval-governance-actions",children:[c.jsxs("button",{type:"button",title:"记录审批评论",disabled:pe,onClick:()=>{ia(v,"comment")},children:[c.jsx(jo,{size:13}),c.jsx("span",{children:pe?"记录中...":"评论"})]}),c.jsxs("button",{type:"button",title:"转交审批",disabled:fe,onClick:()=>{ia(v,"delegate")},children:[c.jsx(Wx,{size:13}),c.jsx("span",{children:fe?"转交中...":"转交"})]}),c.jsxs("button",{type:"button",title:"标记 SLA 超时",disabled:Ke,onClick:()=>{ia(v,"mark_timeout")},children:[c.jsx(xf,{size:13}),c.jsx("span",{children:Ke?"标记中...":"超时"})]}),c.jsxs("button",{type:"button",title:"标记审批风险",disabled:mt,onClick:()=>{ia(v,"mark_risk")},children:[c.jsx(Eg,{size:13}),c.jsx("span",{children:mt?"标记中...":"风险"})]}),c.jsxs("button",{type:"button",title:"清除审批风险",disabled:et,onClick:()=>{ia(v,"clear_risk")},children:[c.jsx(Hf,{size:13}),c.jsx("span",{children:et?"清除中...":"清除"})]})]}),c.jsxs("div",{className:"de-decision-chain-note",children:[c.jsx("span",{className:`de-badge ${Se?"de-badge-danger":"de-badge-success"}`,children:Se?"冲突保护":"本地记录"}),c.jsx("span",{children:Se?"直接同意/驳回已暂停,请先同步或在管理端工作台排查。":Tf(v.status)?"处理结果会写入 qimingclaw runtime event。":"该事项已在本地状态中处理。"})]}),c.jsxs("div",{className:"de-workbench-actions",children:[v.actions.map(Fe=>c.jsx("button",{type:"button",className:Fe.tone==="primary"?"de-workbench-action-accent":"",disabled:b===`${v.id}:${Fe.id}`||!Tf(v.status)||!!Se,onClick:()=>{Xt(v,Fe.id)},children:b===`${v.id}:${Fe.id}`?"处理中...":Fe.label},Fe.id)),c.jsx("button",{type:"button",onClick:()=>t({tab:"missions",date:a,missionId:v.id}),children:"查看上下文"})]})]},v.id)})})]})]})]})})]})}function ys({children:t,className:a="",style:i}){return c.jsx("div",{className:`de-card ${a}`,style:i,children:t})}function Vr({title:t,children:a}){return c.jsxs("div",{className:"de-card-title-bar",children:[c.jsx("span",{className:"de-card-title-bar-text",children:t}),a]})}const rA={info:"de-badge-info",success:"de-badge-success",warning:"de-badge-warning",danger:"de-badge-danger"};function Pf({variant:t,label:a}){return c.jsx("span",{className:`de-badge ${rA[t]}`,children:a})}function Wf(t){return Array.isArray(t)?t:[]}function ko(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function Ie(t,a=""){return typeof t=="string"?t:typeof t=="number"?String(t):a}function Ss(t){return/[\u4e00-\u9fff]/.test(t)}const ty={queued:"排队中",ready:"就绪",idle:"待执行",pending:"待处理",pending_authorization:"待授权",waiting_input:"待输入",draft:"草稿",reviewing:"审核中",approved:"已批准",preparing:"准备中",running:"执行中",active:"运行中",blocked:"已阻塞",succeeded:"已完成",success:"成功",finished:"已完成",complete:"已完成",completed:"已完成",failed:"失败",error:"错误",cancelled:"已取消",canceled:"已取消",aborted:"已终止",rejected:"已拒绝",deferred:"已暂缓",dispatched:"已下发",scheduled:"已设置定时",enabled:"已启用",disabled:"已停用",paused:"已暂停",unknown:"未知"},ny={plan:"计划",task:"任务",task_running:"处理中",task_done:"任务完成",run:"执行开始",run_done:"执行完成",skill_tool:"技能调用",artifact:"产物",task_summary:"结果",entered_session:"会话",start:"目标",RunStarted:"开始调用",RequestDispatched:"请求已发出",ResponseReceived:"收到返回",RunSkipped:"本次跳过",RunCompleted:"执行完成",waiting_for_authorization:"等待授权",pending_authorization:"等待授权",authorization_approved:"授权通过",authorization_rejected:"授权拒绝",authorization_deferred:"稍后处理",failed:"执行失败",completed:"执行完成"};function un(t,a="未知"){const i=Ie(t).trim();if(!i)return a;const s=ty[i]??ty[i.toLowerCase()];return s||(Ss(i)?i:a)}function cA(t){const a=Ie(t).trim();return a?ny[a]??ny[a.toLowerCase()]??(Ss(a)?a:"事件"):"事件"}function tb(t,a="暂无事件内容"){const i=Ie(t).trim();if(!i)return a;if(Ss(i))return i;const s=un(i,"");if(s)return s;const o=i.match(/^(Succeeded|Failed|Running|Completed)\s*\(attempt\s*#(\d+)\)$/i);return o?`${un(o[1])}(第 ${o[2]} 次)`:/request failed/i.test(i)?"请求失败":/backend unavailable/i.test(i)?"后端服务不可达":/not found/i.test(i)?"未找到对应资源":a}function $r(t,a="未命名内容"){const i=Ie(t).trim();if(!i||/unnamed/i.test(i))return a;if(Ss(i))return i;const s=un(i,"");if(s)return s;const o=nb(i);return o||i}function em(t){return["succeeded","success","finished","complete","completed"].includes(t.toLowerCase())}function tm(t){return["failed","error","cancelled","canceled","aborted","rejected","deadletter"].includes(t.toLowerCase())}function oA(t,a){const i=Ie(t).trim().toLowerCase();return a.length===0?i||"pending":a.some(s=>tm(s.status))?"failed":a.some(s=>["running","active","leased"].includes(s.status.toLowerCase()))?"running":a.some(s=>["queued","ready","pending"].includes(s.status.toLowerCase()))?"queued":a.every(s=>em(s.status))?"succeeded":i||"pending"}function uA(t,a){const i=Ie(t,"unknown").trim().toLowerCase();return em(i)||tm(i)?i:a.some(s=>tm(s.status))?"failed":a.some(s=>["running","active","queued","leased"].includes(s.status.toLowerCase()))?"running":a.length>0&&a.every(s=>em(s.status))?"succeeded":i||"unknown"}function ay(t){return t?t.map(a=>{const i=Ie(a.plan_id),o=Wf(a.steps).map(_=>{const p=Wf(_.tasks).map(h=>({id:Ie(h.task_id),title:$r(h.title,"子任务"),description:Ie(h.description),status:Ie(h.status,"pending"),assignedSkillId:h.assigned_skill_id?Ie(h.assigned_skill_id):null,startedAt:h.started_at?Ie(h.started_at):null,finishedAt:h.finished_at?Ie(h.finished_at):null}));return{id:Ie(_.step_id),title:$r(_.title,"任务步骤"),description:Ie(_.description),status:oA(_.status,p),preferredSkills:Array.isArray(_.preferred_skills)?_.preferred_skills:[],tasks:p}}),u=[];for(const _ of o)for(const g of _.tasks)u.push(g.id);return{id:i,title:$r(a.title,"未命名任务"),objective:$r(a.objective||a.description,"暂无任务说明"),status:uA(a.status,o),createdAt:a.created_at?Ie(a.created_at):null,updatedAt:a.updated_at?Ie(a.updated_at):null,steps:o,sourceIds:{planId:i||void 0,taskIds:u}}}):[]}const Df={"decision-analyzer":"决策分析","git-log-collector":"Git 日志采集","number-generator":"数据生成","office-export-xlsx":"Excel 导出","task-tracker":"任务跟踪","weekly-report-writer":"周报撰写","zhihu-hotlist-detail":"知乎热榜明细","zhihu-hotlist":"知乎热榜","tq-lineloss-report":"台区线损报表","archive-workorder-grid-push-monitor":"归档工单推送监控","available-balance-below-zero-monitor":"可用余额监控","command-center-fee-control-monitor":"费用管控监控","sgcc-todo-crawler":"SGCC 待办爬取","appointment-workorder-monitor":"约时工单监控","fault-location-monitor":"故障定位监控","fudian-failure-monitor":"复电失败监控","important-service-expiry-monitor":"服务到期预警","by-95598-customer-satisfaction-report":"95598 满意率日报","by-daily-report-statistics":"日报统计","by-fire-fault-monthly-report":"火警故障月报","by-risk-control-next-day-plan-report":"风控次日计划","by-risk-control-week-plan-report":"风控周计划","by-supervision-workorder-detail-report":"督办工单明细","age-file-encryption":"文件加解密","anonymous-file-upload":"匿名文件上传","browser-automation-agent":"浏览器自动化","bulk-github-star":"批量仓库标星","changelog-generator":"更新日志生成","code-reviewer":"代码审查","commit-automation":"自动提交","crypto-trading-signal":"交易信号分析","csv-to-json":"CSV 转 JSON","data-analysis":"数据分析","deep-research":"深度调研","dependency-updater":"依赖更新","deploy-automation":"自动部署","dns-lookup":"DNS 查询","document-generator":"文档生成","email-automation":"邮件自动化","file-converter":"文件格式转换","git-history-analyzer":"Git 历史分析","github-issue-manager":"Issue 管理","image-optimizer":"图片优化","json-schema-validator":"JSON Schema 校验","log-analyzer":"日志分析","markdown-to-pdf":"Markdown 转 PDF","meeting-summarizer":"会议纪要","news-aggregator":"新闻聚合","pdf-extractor":"PDF 提取","performance-profiler":"性能分析","pr-review-bot":"PR 审查","release-notes-generator":"发布说明生成","screenshot-automation":"截图自动化","search-engine-scraper":"搜索引擎抓取","sentiment-analysis":"情感分析","shell-command-runner":"命令执行","slack-notification":"Slack 通知","spreadsheet-generator":"电子表格生成","text-summarizer":"文本摘要","torrent-search":"资源搜索","translate-text":"文本翻译","web-scraper":"网页抓取","website-monitor":"网站监控","whitepaper-analyzer":"白皮书分析","xml-to-json":"XML 转 JSON"};function nb(t){if(Df[t])return Df[t];for(const[a,i]of Object.entries(Df))if(t.includes(a)||a.includes(t))return i;return null}function ly(t,a){const i=nb(t);return i||(Ss(a)?a:"自动化技能")}const iy={"decision-analyzer":"数字化","git-log-collector":"数字化","number-generator":"数字化","office-export-xlsx":"办公","task-tracker":"办公","weekly-report-writer":"报表","zhihu-hotlist-detail":"数字化","zhihu-hotlist":"数字化","tq-lineloss-report":"报表","archive-workorder-grid-push-monitor":"监控巡检","available-balance-below-zero-monitor":"监控巡检","command-center-fee-control-monitor":"监控巡检","sgcc-todo-crawler":"监控巡检","appointment-workorder-monitor":"监控巡检","fault-location-monitor":"监控巡检","fudian-failure-monitor":"监控巡检","important-service-expiry-monitor":"监控巡检","by-95598-customer-satisfaction-report":"报表","by-daily-report-statistics":"报表","by-fire-fault-monthly-report":"报表","by-risk-control-next-day-plan-report":"报表","by-risk-control-week-plan-report":"报表","by-supervision-workorder-detail-report":"报表","age-file-encryption":"数字化","anonymous-file-upload":"通信","browser-automation-agent":"数字化","bulk-github-star":"发展","changelog-generator":"发展","chat-logger":"通信","check-crypto-address-balance":"财务","city-distance":"发展","city-tourism-website-builder":"营销","crawl-websites-at-scale":"数字化","csv-data-summarizer":"财务","d3js-data-visualization":"数字化","database-query-and-export":"数字化","file-tracker":"综合","free-geocoding-and-maps":"发展","free-translation-api":"综合","free-weather-data":"综合","generate-asset-price-chart":"财务","generate-qr-code-natively":"数字化","get-crypto-price":"财务","git-worktree-cli":"发展","github-stats":"发展","html-to-markdown":"数字化","image-compressor":"综合","json-to-csv":"数字化","llm-council":"数字化","markdown-table-generator":"综合","multi-format-converter":"综合","npm-package-info":"发展","pdf-generator":"综合","random-number-generator":"综合","readability-score":"综合","rss-feed-reader":"通信","sql-formatter":"数字化","text-diff":"综合","torrent-search":"通信","unit-converter":"综合","url-shortener":"通信","youtube-transcript":"通信","zip-extractor":"综合"};function sy(t){return iy[t]?iy[t]:"综合"}function dA(t){return t==="core"||t==="standard"||t==="specialized"||t==="experimental"?t:"standard"}function fA(t,a,i){const s=Ie(a).trim();return s&&Ss(s)?s:t.includes("monitor")?`${i}能力,用于按排班自动巡检并提示异常。`:t.includes("report")?`${i}能力,用于自动生成和整理业务报表。`:`${i}能力,可由数字员工按需执行或定时处理。`}function mA(t){return t?t.map(a=>{const i=Ie(a.skill_id,Ie(a.id)),s=ko(a.governance);return{id:i,name:ly(i,Ie(a.name,i)),version:a.version?Ie(a.version):null,enabled:!!a.enabled,description:fA(i,a.description,ly(i,Ie(a.name,i))),category:a.category?Ie(a.category,sy(i)):sy(i),capabilityLevel:dA(a.capability_level??a.capabilityLevel),source:"skill-api",serverId:a.server_id?Ie(a.server_id):null,transport:a.transport?Ie(a.transport):null,running:typeof a.running=="boolean"?a.running:null,toolCount:ry(a.tool_count),tools:Rf(a.tools),allowTools:Rf(a.allow_tools??(s==null?void 0:s.server_allow_tools)??(s==null?void 0:s.global_allow_tools)),denyTools:Rf(a.deny_tools??(s==null?void 0:s.server_deny_tools)??(s==null?void 0:s.global_deny_tools)),governancePolicy:_A(a.governance_policy??(s==null?void 0:s.effective_policy)),policySource:pA(a.policy_source),remotePolicy:ko(a.remote_policy),localPolicy:ko(a.local_policy),recentCalls:Wf(a.recent_calls).map(o=>{const u=ko(o)??{};return{eventId:Ie(u.event_id,Ie(u.id)),message:Ie(u.message),status:u.status?Ie(u.status):null,occurredAt:Ie(u.occurred_at,Ie(u.occurredAt)),toolName:u.tool_name?Ie(u.tool_name):null,projectId:u.project_id?Ie(u.project_id):null}}).filter(o=>o.eventId||o.message),callCount:ry(a.call_count)??0,lastCalledAt:a.last_called_at?Ie(a.last_called_at):null}}):[]}function Rf(t){return Array.isArray(t)?t.filter(a=>typeof a=="string"&&a.trim().length>0).map(a=>a.trim()):[]}function ry(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"&&t.trim()){const a=Number(t);return Number.isFinite(a)?a:null}return null}function _A(t){return t==="allow"||t==="deny"||t==="open"||t==="disabled"?t:null}function pA(t){return t==="remote"||t==="local"||t==="open"?t:null}function ou(t){return t.replace(/[^a-zA-Z0-9_-]/g,"_")}function hA(t){switch(t){case"succeeded":case"completed":return"success";case"failed":case"error":return"danger";case"running":case"active":return"info";default:return"warning"}}function gA(t){return["draft","reviewing","approved"].includes(t.toLowerCase())}function yA(t){const a=`${t.id} ${t.title} ${t.objective}`.toLowerCase();return a.includes("month")||a.includes("monthly")||a.includes("月")?"月度任务":a.includes("week")||a.includes("weekly")||a.includes("周")?"周任务":a.includes("临时")||a.includes("adhoc")||a.includes("hotlist")||a.includes("monitor")?"临时任务":"日常任务"}function ui(t){return["succeeded","success","finished","complete","completed"].includes(t.toLowerCase())}function ab(t){return["failed","error","cancelled","canceled","aborted","rejected","deadletter"].includes(t.toLowerCase())}function vA(t){const a=t.steps.length;if(a===0)return un(t.status);const i=t.steps.filter(_=>ui(_.status)).length,s=t.steps.filter(_=>ab(_.status)).length,o=t.steps.filter(_=>["running","active","queued","leased"].includes(_.status.toLowerCase())).length,u=[`已完成 ${i}/${a}`];return s>0&&u.push(`失败 ${s}`),o>0&&s===0&&u.push(`处理中 ${o}`),u.join(",")}function bA(t){const a=t.steps.find(o=>ab(o.status));if(a)return`执行失败:${a.title}`;const i=t.steps.find(o=>["running","active"].includes(o.status.toLowerCase()));if(i)return`正在处理:${i.title}`;const s=t.steps.find(o=>!ui(o.status));return s?`准备处理:${s.title}`:ui(t.status)?"本轮任务已完成,等待你查看结果":t.status.toLowerCase()==="failed"?"执行遇到异常,等待你检查后重新执行":"等待你委托数字员工开始处理"}function kA(t,a){const i=t.status.toLowerCase();return i==="failed"||i==="error"?"查看详情后重新执行本任务":["running","active"].includes(i)?"等待完成或查看过程":ui(i)?"查看产物,必要时重新执行":a?"确认目标后点击委托执行":"查看详情确认当前状态"}function xA(t){const a=`${t.title} ${t.objective}`.toLowerCase();return a.includes("excel")||a.includes("xlsx")||a.includes("导出")||a.includes("报表")?"导出报表":a.includes("brief")||a.includes("简报")||a.includes("日程")?"工作简报":a.includes("snapshot")||a.includes("快照")||a.includes("热榜")?"结果快照":ui(t.status)?"查看完成结果":"完成后生成"}function lb(t){if(!t)return"";const a=new Date(t);return Number.isNaN(a.getTime())?"":[a.getFullYear(),String(a.getMonth()+1).padStart(2,"0"),String(a.getDate()).padStart(2,"0")].join("-")}function ib(){return lb(new Date().toISOString())}function SA(t){if(!t)return"时间未记录";const a=new Date(t);return Number.isNaN(a.getTime())?"时间未记录":a.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1})}function wA(t){if(!t)return"";const a=new Date(t);return Number.isNaN(a.getTime())?"":a.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})}function jA(t){const a=`${t.title} ${t.id}`.match(/(?:^|\D)(\d{1,2})[::](\d{2})(?:\D|$)/);if(!a)return null;const i=Number(a[1]),s=Number(a[2]);return!Number.isInteger(i)||!Number.isInteger(s)||i>23||s>59?null:`${String(i).padStart(2,"0")}:${String(s).padStart(2,"0")}`}function CA(t){return t.steps.flatMap(a=>a.tasks.flatMap(i=>[i.startedAt,i.finishedAt])).filter(a=>!!a)}function AA(t,a){return CA(t).filter(s=>lb(s)===a).sort((s,o)=>o.localeCompare(s))[0]??null}function NA(t,a){const i=AA(t,a);if(i)return`实际执行 ${SA(i)}`;const s=a===ib()?"今日未执行":"当日未执行";return`计划执行 ${jA(t)||"待确认"};${s}`}function EA({mission:t,onSelect:a,onRun:i,onRestart:s,dateFilter:o,selected:u,focusLabel:_,running:g}){const p=gA(t.status),h=ui(t.status)||t.steps.some(A=>ui(A.status)),k=o||ib(),b=wA(t.updatedAt||t.createdAt);return c.jsxs("div",{id:`mission-card-${ou(t.id)}`,className:`de-mission-card ${u?"de-mission-card--selected":""}`,onClick:()=>a(t),onKeyDown:A=>{(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),a(t))},role:"button",tabIndex:0,children:[c.jsxs("div",{className:"de-mission-card-header",children:[c.jsx("span",{className:"de-mission-card-title",children:t.title}),c.jsxs("div",{className:"de-mission-card-badges",children:[_&&c.jsx("span",{className:"de-mission-card-focus-chip",children:_}),c.jsx(Pf,{variant:hA(t.status),label:un(t.status)})]})]}),t.objective&&c.jsxs("p",{className:"de-mission-card-desc",children:["业务目标:",t.objective]}),c.jsxs("div",{className:"de-mission-card-meta",children:[c.jsxs("span",{children:["周期:",yA(t)]}),c.jsxs("span",{children:["当前进度:",vA(t)]}),b&&c.jsxs("span",{children:["同步于 ",b]})]}),c.jsx("div",{className:"de-mission-card-meta",children:c.jsx("span",{children:bA(t)})}),c.jsxs("div",{className:"de-mission-card-meta",children:[c.jsxs("span",{children:["下一步:",kA(t,p)]}),c.jsxs("span",{children:["产物入口:",xA(t)]})]}),c.jsxs("div",{className:"de-mission-card-actions",children:[c.jsxs("span",{className:"de-mission-card-time",children:[NA(t,k),h?";重新执行可能覆盖本任务结果":""]}),c.jsx("button",{type:"button",className:"de-btn-restart",disabled:g,onClick:A=>{A.stopPropagation(),g||s==null||s(t)},title:h?"重新执行本任务,可能覆盖已有结果":"重新执行本任务",children:"重新执行本任务"}),c.jsx("button",{type:"button",className:"de-btn-run",disabled:!p||g,onClick:A=>{A.stopPropagation(),p&&!g&&(i==null||i(t))},children:g?"执行中...":p?"委托执行":un(t.status)})]})]})}function cy(t){switch(t){case"succeeded":case"completed":case"Succeeded":return"success";case"failed":return"danger";case"Failed":return"danger";case"running":case"active":case"Running":return"info";default:return"warning"}}function kl(t){return t?new Date(t).toLocaleString("zh-CN",{hour12:!1}):"未记录"}function oy(t){const a=`${t.id} ${t.title} ${t.objective}`.toLowerCase();return a.includes("month")||a.includes("monthly")||a.includes("月")?"月度任务":a.includes("week")||a.includes("weekly")||a.includes("周")?"周任务":a.includes("临时")||a.includes("adhoc")||a.includes("hotlist")||a.includes("monitor")?"临时任务":"日常任务"}function TA(t){return["succeeded","success","finished","complete","completed"].includes(t.toLowerCase())}function zr(t){return["failed","error","cancelled","canceled","aborted","rejected","deadletter"].includes(t.toLowerCase())}function uy(t){const a=t.steps.length;if(a===0)return un(t.status);const i=t.steps.filter(_=>TA(_.status)).length,s=t.steps.filter(_=>zr(_.status)).length,o=t.steps.filter(_=>["running","active","queued","leased"].includes(_.status.toLowerCase())).length,u=[`已完成 ${i}/${a}`];return s>0&&u.push(`失败 ${s}`),o>0&&s===0&&u.push(`处理中 ${o}`),u.join(",")}function dy(t){return t.replace(/^启动计划:/,"接收委托:").replace(/^准备步骤:/,"准备工作:").replace(/^创建任务:/,"安排工作:").replace(/^任务失败:/,"工作失败:").replace(/^开始处理:/,"开始处理:").replace(/^完成任务:/,"完成工作:").replace(/^调用技能:/,"数字员工处理:").replace(/^执行开始:/,"开始执行:").replace(/^执行完成:/,"执行完成:").replace(/^执行失败:/,"执行失败:").replace(/,将使用[^,。]+/,"").replace(/,分配给[^,。]+/,"")}function To(t){return/失败|failed|error|timeout|unavailable/i.test(t)}function fy(t,a=""){return To(a)?"失败":t==="artifact"?"产物":t==="task_summary"?"结果":t==="task_running"||t==="run"?"处理中":t==="task_done"||t==="run_done"?"完成":"过程"}function DA(t){return t==="user"?"用户":t==="assistant"?"数字员工":t==="system"?"系统":"消息"}function $f(t){return $r(t||"",t||"自动化技能")}function RA(t,a,i){const s=a==="true"?"成功":"失败";return t.includes("zhihu-hotlist")&&t.includes("extract_hotlist")?`调用技能:知乎热榜采集,结果:${s},耗时 ${i}ms`:t.includes("office-export-xlsx")&&t.includes("export_xlsx")?`调用技能:Excel 导出,结果:${s},耗时 ${i}ms`:`调用技能:${t},结果:${s},耗时 ${i}ms`}function Mf(t){return typeof t=="string"?t:""}function Vo(t){return t.occurred_at||""}function my(t){return t.filter(a=>!!a).sort((a,i)=>a.localeCompare(i))[0]||null}function $A(t){var i;const a=new Map;for(const s of t){const o=((i=s.message.split(",结果:")[0])==null?void 0:i.split(",状态:")[0])||s.message,u=a.get(o);(!u||Vo(s).localeCompare(Vo(u))>0)&&a.set(o,s)}return Array.from(a.values())}function MA(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function _y(t){return t.replace(/\\\\/g,"\\")}function zA(t,a,i,s,o){const u=[],_=(p,h,k,b)=>{k.trim()&&u.push({event_id:b,kind:p,occurred_at:h??null,message:k})},g=(p,h,k,b)=>{let A=!1;try{const j=MA(JSON.parse(p));if(j){const w=typeof j.label=="string"?j.label.trim():"",$=j.value;w&&$!==void 0&&$!==null&&_("task_summary",h,`${w}:${String($)}`,`metric-${k}-${b}`);const I=typeof j.output_path=="string"?j.output_path.trim():"";I&&(A=!0,_("artifact",h,`产物生成:${_y(I)}`,`artifact-${k}-${b}`))}}catch{}const O=p.match(/"row_count"\s*:\s*(\d+)/);O!=null&&O[1]&&_("task_summary",h,`数据处理完成:共 ${O[1]} 条记录`,`rows-${k}-${b}`);const C=p.match(/"output_path"\s*:\s*"([^"]+\.(?:xlsx|xls|csv|json|html|pdf|png|jpg|jpeg|txt))"/i),R=C==null?void 0:C[1];R&&!A&&_("artifact",h,`产物生成:${_y(R)}`,`artifact-regex-${k}-${b}`)};if(_("plan",t.createdAt||t.updatedAt,`启动计划:${t.title},目标:${t.objective}`,`plan-${t.id}`),a.length===0)for(const p of t.steps){const h=p.preferredSkills.map($f).join("、")||"自动化技能";_("task",t.updatedAt||t.createdAt,`准备步骤:${p.title},将使用 ${h}`,`step-${p.id}`)}for(const p of a){const h=$f(p.assigned_skill_id),k=i.filter(O=>O.task_id===p.task_id),b=my(k.map(O=>O.created_at)),A=my([p.created_at,p.started_at,b]);if(_("task",A,`创建任务:${p.title||"子任务"},分配给 ${h}`,`task-create-${p.task_id}`),p.started_at&&_("task_running",p.started_at,`开始处理:${p.title||"子任务"}`,`task-start-${p.task_id}`),p.finished_at){const O=zr(p.status)?"任务失败":"完成任务",C=zr(p.status)&&p.error_message?`,原因:${p.error_message}`:"";_("task_done",p.finished_at,`${O}:${p.title||"子任务"},状态:${un(p.status)}${C}`,`task-finish-${p.task_id}`)}}for(const p of i){const h=a.find(O=>O.task_id===p.task_id),k=(h==null?void 0:h.title)||"任务执行",b=$f(p.skill_id||(h==null?void 0:h.assigned_skill_id));if(s.some(O=>(O.content||"").includes(`[Task ${p.task_id}] tool_call`))||_("skill_tool",p.created_at,`调用技能:${b},处理:${k}`,`run-skill-${p.run_id}`),_("run",p.created_at,`执行开始:${k},第 ${p.attempt_no||1} 次`,`run-start-${p.run_id}`),p.completed_at){const O=zr(p.lifecycle)?"执行失败":"执行完成";_("run_done",p.completed_at,`${O}:${k},结果:${un(p.lifecycle)}`,`run-done-${p.run_id}`)}for(const[O,C]of(p.events||[]).entries())g(Mf(C.message),C.occurred_at||p.completed_at||p.created_at,`run-${p.run_id}-${C.event_id||O}`,p.skill_id||(h==null?void 0:h.assigned_skill_id)||"run");for(const[O,C]of(p.artifacts||[]).entries()){const R=Mf(C.uri),j=Mf(C.name)||R;(R||j)&&_("artifact",p.completed_at||p.created_at,`产物生成:${j}${R&&R!==j?`(${R})`:""}`,`run-artifact-${p.run_id}-${O}`)}}for(const p of s){const h=p.content||"",k=h.match(/\[Task ([^\]]+)\] tool_call name=([^\s]+) success=(true|false) elapsed_ms=(\d+) args=(.*?) output=(.*)$/s);if(k){const A=k[1]||"",O=k[2]||"",C=k[3]||"false",R=k[4]||"0",j=k[6]||"";_("skill_tool",p.created_at,RA(O,C,R),`tool-${A}-${p.created_at}-${O}`),g(j,p.created_at,`message-${p.created_at}`,O);continue}const b=h.match(/共采集到\s*\**\s*(\d+)\s*条/);if(b!=null&&b[1]){_("task_summary",p.created_at,`采集完成:获得 ${b[1]} 条知乎热榜数据`,`summary-hotlist-${p.created_at}`);continue}h.includes("[Task ")&&h.includes("Excel")&&_("task_summary",p.created_at,"导出完成:Excel 文件已生成",`summary-excel-${p.created_at}`)}if(u.length<=1)for(const p of o||[])_(p.kind,p.occurred_at,tb(p.message,p.message),p.event_id);return u.sort((p,h)=>(p.occurred_at||"").localeCompare(h.occurred_at||"")).slice(-40)}function OA({mission:t,onClose:a}){const[i,s]=x.useState([]),[o,u]=x.useState([]),[_,g]=x.useState(null),[p,h]=x.useState(!0),[k,b]=x.useState([]),[A,O]=x.useState(!1),[C,R]=x.useState(!1),[j,w]=x.useState(!1),[$,I]=x.useState(null),te=t.sourceIds.planId||t.id;x.useEffect(()=>{let q=!1;const re=()=>{h(!0),Promise.allSettled([Y1(te),K1(te),Ig(te)]).then(([H,Z,ne])=>{var he;q||(H.status==="fulfilled"?(s(H.value.tasks??[]),u(H.value.runs??[])):(s([]),u([])),Z.status==="fulfilled"&&((he=Z.value)!=null&&he.events)&&Z.value.events.length>0?g(Z.value):g(null),ne.status==="fulfilled"&&ne.value.messages.length>0?b(ne.value.messages):b([]))}).finally(()=>{q||h(!1)})};re();const de=window.setInterval(re,3e3);return()=>{q=!0,window.clearInterval(de)}},[te]),x.useEffect(()=>{b([]),O(!1),R(!1),I(null)},[te]);const ae=async()=>{if(!j){O(!0),w(!0),I(null);try{const q=await Ig(te);q.messages&&q.messages.length>0?b(q.messages):b([])}catch(q){b([]),I(q instanceof Error?q.message:"读取会话失败")}finally{w(!1)}}},ie=x.useMemo(()=>{const q=new Map;for(const re of o){const de=q.get(re.task_id)||[];de.push(re),q.set(re.task_id,de)}for(const re of q.values())re.sort((de,H)=>(H.created_at||"").localeCompare(de.created_at||""));return q},[o]),L=x.useMemo(()=>zA(t,i,o,k,_==null?void 0:_.events),[_==null?void 0:_.events,t,o,k,i]),le=x.useMemo(()=>L.filter(q=>q.kind!=="skill_tool").slice(-12),[L]),we=x.useMemo(()=>{const q=L.filter(Z=>["artifact","task_summary"].includes(Z.kind)),re=L.filter(Z=>Z.kind==="task_done"),de=$A(L.filter(Z=>Z.kind==="run_done")),H=re.length>0?re:de;return[...q,...H].sort((Z,ne)=>Vo(Z).localeCompare(Vo(ne))).slice(-6)},[L]),W=x.useMemo(()=>L.reduce((q,re)=>re.occurred_at&&(!q||re.occurred_at.localeCompare(q)>0)?re.occurred_at:q,null),[L]),oe=t.updatedAt||W,be=()=>{const q=!C;R(q),q&&!A&&ae()};return c.jsxs("div",{className:"de-drawer",role:"dialog","aria-label":t.title,children:[c.jsxs("div",{className:"de-drawer-head",children:[c.jsxs("div",{className:"de-drawer-title-group",children:[c.jsx("span",{className:"de-drawer-eyebrow",children:"委托详情"}),c.jsx("h3",{children:t.title})]}),c.jsx("button",{className:"de-btn-secondary",onClick:a,"aria-label":"关闭",children:"✕"})]}),c.jsxs("div",{className:"de-drawer-status-line",children:[c.jsx(Pf,{variant:cy(t.status),label:un(t.status)}),c.jsx("span",{className:"de-drawer-meta",children:oy(t)}),c.jsx("span",{className:"de-drawer-meta",children:uy(t)})]}),c.jsxs("div",{className:"de-drawer-timeline",children:[c.jsxs("section",{className:"de-detail-section",children:[c.jsx("div",{className:"de-detail-section-head",children:c.jsx("h4",{children:"委托概览"})}),c.jsxs("div",{className:"de-detail-kv",children:[c.jsx("span",{children:"业务目标"}),c.jsx("strong",{children:t.objective||"未填写"}),c.jsx("span",{children:"周期"}),c.jsx("strong",{children:oy(t)}),c.jsx("span",{children:"当前进度"}),c.jsx("strong",{children:uy(t)}),c.jsx("span",{children:"启动时间"}),c.jsx("strong",{children:kl(t.createdAt)}),c.jsx("span",{children:"状态"}),c.jsx("strong",{children:un(t.status)}),c.jsx("span",{children:"更新时间"}),c.jsx("strong",{children:kl(oe)})]})]}),c.jsxs("section",{className:"de-detail-section de-execution-chain",children:[c.jsxs("div",{className:"de-detail-section-head",children:[c.jsx("h4",{children:"业务过程"}),c.jsxs("span",{className:"de-chain-plan-id",children:["最近更新:",kl(oe||t.createdAt)]})]}),p&&le.length===0?c.jsx("p",{className:"de-empty-text",children:"正在读取业务过程..."}):le.length===0?c.jsx("p",{className:"de-empty-text",children:"暂无业务过程。重新执行本任务后会显示处理进展。"}):c.jsx("div",{className:"de-chain-list",children:le.map(q=>c.jsxs("div",{className:`de-chain-row de-chain-row--${q.kind} ${To(q.message)?"de-chain-row--danger":""}`,children:[c.jsx("strong",{children:fy(q.kind,q.message)}),c.jsx("span",{children:dy(q.message)}),c.jsx("time",{children:kl(q.occurred_at)})]},`chain-${q.event_id}`))})]}),c.jsxs("section",{className:"de-detail-section",children:[c.jsx("h4",{children:"结果与产物"}),we.length>0?c.jsx("div",{className:"de-event-list",children:[...we].reverse().map(q=>c.jsxs("div",{className:`de-event-row ${To(q.message)?"de-event-row--danger":""}`,children:[c.jsx("strong",{children:fy(q.kind,q.message)}),c.jsx("span",{children:dy(q.message)}),c.jsx("time",{children:kl(q.occurred_at)})]},`result-${q.event_id}`))}):c.jsx("p",{className:"de-empty-text",children:"任务完成后,这里会显示结果摘要和产物入口。"})]}),c.jsxs("section",{className:"de-detail-section",children:[c.jsx("h4",{children:"步骤进展"}),p?c.jsx("p",{className:"de-empty-text",children:"正在读取执行情况..."}):null,t.steps.length===0?c.jsx("p",{className:"de-empty-text",children:"暂无步骤进展"}):t.steps.map((q,re)=>c.jsxs("div",{className:"de-step-node",children:[c.jsx("div",{className:`de-step-dot de-step-dot--${q.status}`}),re<t.steps.length-1&&c.jsx("div",{className:"de-step-line"}),c.jsxs("div",{className:"de-step-content",children:[c.jsx("strong",{children:q.title}),c.jsx("span",{children:un(q.status)})]})]},q.id))]}),c.jsxs("section",{className:"de-detail-section",children:[c.jsxs("div",{className:"de-detail-section-head",children:[c.jsx("h4",{children:"高级详情"}),c.jsx("button",{className:"de-btn-secondary de-btn-sm",onClick:be,disabled:j,children:C?"收起":"展开"})]}),C?c.jsxs(c.Fragment,{children:[c.jsxs("section",{className:"de-detail-section",children:[c.jsxs("div",{className:"de-detail-section-head",children:[c.jsx("h4",{children:"技术链路"}),c.jsx("span",{className:"de-chain-plan-id",children:"仅用于排障"})]}),L.length>0?c.jsx("div",{className:"de-event-list",children:L.slice(-20).reverse().map(q=>c.jsxs("div",{className:`de-event-row ${To(q.message)?"de-event-row--danger":""}`,children:[c.jsx("strong",{children:cA(q.kind)}),c.jsx("span",{children:q.message}),c.jsx("time",{children:kl(q.occurred_at)})]},q.event_id))}):c.jsx("p",{className:"de-empty-text",children:"暂无事件日志"})]}),c.jsxs("section",{className:"de-detail-section",children:[c.jsxs("div",{className:"de-detail-section-head",children:[c.jsx("h4",{children:"会话记录"}),c.jsx("button",{className:"de-btn-secondary de-btn-sm",onClick:ae,disabled:j,children:"刷新"})]}),$?c.jsxs("p",{className:"de-empty-text",children:["会话读取失败:",$]}):j?c.jsx("p",{className:"de-empty-text",children:"正在读取会话..."}):k.length===0?c.jsx("p",{className:"de-empty-text",children:"暂无会话消息。"}):c.jsx("div",{className:"de-session-message-list",children:k.map((q,re)=>c.jsxs("div",{className:`de-session-message de-session-message--${q.role==="user"?"user":"agent"}`,children:[c.jsx("div",{className:"de-session-message-role",children:DA(q.role)}),c.jsx("p",{children:tb(q.content,q.content)})]},`${q.role}-${re}`))})]}),c.jsxs("section",{className:"de-detail-section",children:[c.jsx("h4",{children:"任务与执行记录"}),i.length===0?c.jsx("p",{className:"de-empty-text",children:"暂无原始任务记录"}):i.map(q=>{const re=ie.get(q.task_id)||[],de=re[0];return c.jsxs("div",{className:"de-task-run-card",children:[c.jsxs("div",{className:"de-task-run-head",children:[c.jsx("span",{children:q.title||"子任务"}),c.jsx(Pf,{variant:cy(q.status),label:un(q.status)})]}),c.jsxs("div",{className:"de-task-run-meta",children:[c.jsxs("span",{children:["skill_id:",q.assigned_skill_id||"未分配"]}),c.jsxs("span",{children:["开始:",kl(q.started_at)]}),c.jsxs("span",{children:["结束:",kl(q.finished_at)]})]}),c.jsxs("div",{className:"de-task-run-meta",children:[c.jsxs("span",{children:["task_id:",q.task_id]}),c.jsxs("span",{children:["执行记录:",re.length," 次"]}),de?c.jsxs("span",{children:["最近结果:",un(de.lifecycle)]}):null]}),zr(q.status)&&q.error_message?c.jsxs("div",{className:"de-task-run-error",children:[c.jsx("strong",{children:"失败原因:"}),q.error_message]}):null]},q.task_id)})]})]}):c.jsx("p",{className:"de-empty-text",children:"默认隐藏排障信息;需要排障时可展开。"})]})]})]})}const py={zh:{"nav.dashboard":"仪表盘","nav.plans":"计划","nav.execution":"执行","nav.governance":"治理","nav.scheduler":"调度器","nav.skills":"技能","nav.agent":"智能体","nav.tools":"工具","nav.cron":"Cron 任务","nav.integrations":"集成","nav.memory":"记忆","nav.config":"配置","nav.cost":"成本追踪","nav.logs":"日志","nav.devtools":"工具","nav.swimlane":"泳道","nav.doctor":"诊断","nav.canvas":"画布","planb.nav.chat":"对话","planb.nav.browser":"AI浏览器","planb.nav.monitor":"运行监测","planb.nav.dashboard":"仪表盘","planb.nav.settings":"设置","planb.nav.more":"更多工具","planb.layout.switch_to_wide":"切换到宽屏模式","planb.layout.switch_to_compact":"切换到紧凑模式","planb.layout.pop_out":"弹出独立窗口","planb.browser.title":"AI浏览器","planb.browser.subtitle":"启动 SuperRPA 浏览器自动化","planb.browser.launch":"启动浏览器","planb.browser.url_placeholder":"https://example.com","planb.browser.active_sessions":"活跃会话","planb.browser.no_sessions":"没有活跃的浏览器会话,在上方输入 URL 启动。","planb.browser.status_launching":"启动中","planb.browser.status_running":"运行中","planb.browser.status_idle":"空闲","planb.browser.status_error":"错误","planb.browser.status_stopped":"已停止","planb.browser.launch_error":"启动浏览器失败","planb.browser.close_error":"关闭会话失败","planb.browser.backend_not_configured":"SuperRPA 未配置,请设置 SGCLAW_SUPERRPA_PATH 环境变量。","planb.chat.welcome":"今天我能帮你什么?","planb.chat.placeholder":"问点什么...","planb.chat.sessions":"对话历史","planb.chat.new_chat":"新对话","planb.chat.no_sessions":"暂无对话历史","planb.chat.untitled":"未命名对话","planb.chat.thought":"思考","planb.chat.chip_browse":"浏览网页","planb.chat.chip_code":"写代码","planb.chat.chip_analyze":"分析数据","planb.chat.chip_plan":"帮我规划","planb.chat.regenerate":"重新生成","planb.settings.quick":"快速设置","planb.settings.advanced":"高级配置","planb.settings.quick_hint":"快速设置功能即将推出。现在请使用高级配置编辑器修改 TOML 配置。","planb.settings.open_advanced":"打开高级配置","dashboard.title":"仪表盘","dashboard.provider":"提供商","dashboard.model":"模型","dashboard.uptime":"运行时间","dashboard.temperature":"温度","dashboard.gateway_port":"网关端口","dashboard.memory_backend":"记忆后端","dashboard.paired":"已配对","dashboard.channels":"频道","dashboard.health":"健康状态","dashboard.status":"状态","dashboard.overview":"概览","dashboard.system_info":"系统信息","dashboard.quick_actions":"快速操作","agent.title":"智能体对话","agent.send":"发送","agent.placeholder":"输入消息...","agent.start_conversation":"发送消息开始对话","agent.type_message":"输入消息...","agent.connecting":"连接中...","agent.connected":"已连接","agent.disconnected":"已断开","agent.reconnecting":"重新连接中...","agent.thinking":"思考中...","agent.tool_call":"工具调用","agent.tool_result":"工具结果","agent.connection_error":"连接错误,正在尝试重连...","agent.tool_call_prefix":"[工具调用]","agent.tool_result_prefix":"[工具结果]","agent.error_prefix":"[错误]","agent.unknown_error":"未知错误","agent.send_error":"发送消息失败,请重试。","agent.copy_message":"复制消息","agent.connected_status":"已连接","agent.disconnected_status":"已断开","tools.title":"可用工具","tools.name":"名称","tools.description":"描述","tools.parameters":"参数","tools.search":"搜索工具...","tools.empty":"暂无可用工具。","tools.count":"工具总数","tools.agent_tools":"智能体工具箱","tools.cli_tools":"CLI 工具箱","tools.parameter_schema":"参数结构","tools.path":"路径","tools.version":"版本","tools.category":"类别","tools.load_error":"加载工具失败","cron.title":"定时任务","cron.scheduled_tasks":"定时任务","cron.add":"添加任务","cron.add_job":"添加任务","cron.add_modal_title":"添加 Cron 任务","cron.delete":"删除","cron.enable":"启用","cron.disable":"禁用","cron.name":"名称","cron.name_optional":"名称(可选)","cron.command":"命令","cron.command_required":"命令","cron.schedule":"计划","cron.schedule_required":"计划","cron.next_run":"下次执行","cron.last_run":"上次执行","cron.last_status":"上次状态","cron.enabled":"已启用","cron.enabled_status":"启用","cron.disabled_status":"禁用","cron.empty":"暂无定时任务。","cron.confirm_delete":"确定要删除此任务吗?","cron.load_error":"加载定时任务失败","cron.validation_error":"计划和命令是必需的。","cron.add_error":"添加任务失败","cron.delete_error":"删除任务失败","cron.cancel":"取消","cron.adding":"添加中...","cron.id":"ID","cron.actions":"操作","cron.loading_run_history":"加载运行历史...","cron.load_run_history_error":"加载运行历史失败","cron.no_runs":"暂无运行记录。","cron.recent_runs":"最近运行","cron.yes":"是","cron.no":"否","cron.edit":"编辑","cron.edit_modal_title":"编辑 Cron 任务","cron.edit_error":"更新任务失败","cron.saving":"保存中...","cron.save":"保存","integrations.title":"集成","integrations.available":"可用","integrations.active":"活跃","integrations.coming_soon":"即将推出","integrations.category":"类别","integrations.status":"状态","integrations.search":"搜索集成...","integrations.empty":"未找到集成。","integrations.activate":"激活","integrations.deactivate":"停用","integrations.load_error":"加载集成失败","integrations.status_active":"活跃","integrations.status_available":"可用","integrations.status_coming_soon":"即将推出","memory.title":"记忆存储","memory.memory_title":"记忆","memory.search":"搜索记忆...","memory.search_placeholder":"搜索记忆条目...","memory.add":"存储记忆","memory.add_memory":"添加记忆","memory.add_modal_title":"添加记忆","memory.delete":"删除","memory.key":"键","memory.key_required":"键","memory.content":"内容","memory.content_required":"内容","memory.category":"类别","memory.category_optional":"类别(可选)","memory.timestamp":"时间戳","memory.session":"会话","memory.score":"分数","memory.empty":"未找到记忆条目。","memory.confirm_delete":"确定要删除此记忆条目吗?","memory.all_categories":"所有类别","memory.search_button":"搜索","memory.load_error":"加载记忆失败","memory.saving":"保存中...","memory.validation_error":"键和内容是必需的。","memory.store_error":"保存记忆失败","memory.delete_error":"删除记忆失败","memory.delete_confirm":"删除?","memory.yes":"是","memory.no":"否","memory.cancel":"取消","config.title":"配置","config.save":"保存","config.saving":"保存中...","config.reset":"重置","config.saved":"配置保存成功。","config.error":"配置保存失败。","config.loading":"加载配置中...","config.editor_placeholder":"TOML 配置...","config.configuration_title":"配置","config.sensitive_title":"敏感字段已隐藏","config.sensitive_hint":"API 密钥、令牌和密码已隐藏以保护安全。要更新已隐藏的字段,请将整个隐藏值替换为您的新值。","config.save_success":"配置保存成功。","config.save_error":"保存配置失败","config.toml_label":"TOML 配置","config.lines":"行","cost.title":"成本追踪","cost.session":"会话成本","cost.daily":"每日成本","cost.monthly":"每月成本","cost.total_tokens":"总 Tokens","cost.request_count":"请求数","cost.by_model":"按模型统计","cost.model":"模型","cost.tokens":"Token","cost.requests":"请求","cost.usd":"成本(美元)","cost.load_error":"加载成本数据失败","cost.session_cost":"会话成本","cost.daily_cost":"每日成本","cost.monthly_cost":"每月成本","cost.total_requests":"总请求数","cost.token_statistics":"Token 统计","cost.avg_tokens_per_request":"平均 Token / 请求","cost.cost_per_1k_tokens":"每 1K Token 成本","cost.model_breakdown":"模型细分","cost.no_model_data":"没有模型数据可用。","cost.cost":"成本","cost.share":"占比","logs.title":"实时日志","logs.live_logs":"实时日志","logs.clear":"清除","logs.pause":"暂停","logs.resume":"继续","logs.filter":"筛选日志...","logs.filter_label":"筛选","logs.empty":"暂无日志条目。","logs.connected":"已连接","logs.disconnected":"已断开","logs.events":"事件","logs.jump_to_bottom":"跳转到底部","logs.paused_hint":"日志流已暂停。","logs.waiting_hint":"等待事件...","doctor.title":"系统诊断","doctor.diagnostics_title":"系统诊断","doctor.run":"运行诊断","doctor.run_diagnostics":"运行诊断","doctor.running":"正在运行诊断...","doctor.running_btn":"运行中...","doctor.running_desc":"正在运行诊断...","doctor.running_hint":"这可能需要几秒钟。","doctor.ok":"正常","doctor.warn":"警告","doctor.error":"错误","doctor.severity":"严重程度","doctor.category":"类别","doctor.message":"消息","doctor.empty":"尚未运行诊断。","doctor.summary":"诊断摘要","doctor.issues_found":"发现问题","doctor.warnings_summary":"警告","doctor.all_clear":"一切正常","doctor.system_diagnostics":"系统诊断","doctor.empty_hint":'点击"运行诊断"检查您的 ZeroClaw 安装。',"auth.pair":"配对设备","auth.pairing_code":"配对码","auth.pair_button":"配对","auth.logout":"退出","auth.pairing_success":"配对成功!","auth.pairing_failed":"配对失败,请重试。","auth.enter_code":"请输入配对码以连接到智能体。","common.loading":"加载中...","common.error":"发生错误。","common.retry":"重试","common.cancel":"取消","common.confirm":"确认","common.save":"保存","common.delete":"删除","common.edit":"编辑","common.close":"关闭","common.yes":"是","common.no":"否","common.search":"搜索...","common.no_data":"暂无数据。","common.refresh":"刷新","common.back":"返回","common.actions":"操作","common.name":"名称","common.description":"描述","common.status":"状态","common.created":"创建时间","common.updated":"更新时间","health.title":"系统健康","health.component":"组件","health.status":"状态","health.last_ok":"上次正常","health.last_error":"上次错误","health.restart_count":"重启次数","health.pid":"进程 ID","health.uptime":"运行时间","health.updated_at":"最后更新","dashboard.provider_model":"提供商 / 模型","dashboard.since_last_restart":"自上次重启","dashboard.paired_yes":"是","dashboard.paired_no":"否","dashboard.cost_overview":"成本概览","dashboard.active_channels":"活跃频道","dashboard.filter_active":"活跃","dashboard.filter_all":"全部","dashboard.no_active_channels":"没有活跃频道","dashboard.component_health":"组件健康","dashboard.load_error":"加载仪表盘失败","dashboard.session_label":"会话","dashboard.daily_label":"每日","dashboard.monthly_label":"每月","dashboard.total_tokens_label":"总 Tokens","dashboard.requests_label":"请求","dashboard.no_channels":"未配置频道","dashboard.active":"活跃","dashboard.inactive":"非活跃","dashboard.no_components":"没有组件报告","dashboard.restarts":"重启次数","dashboard.tab_overview":"概览","dashboard.tab_sessions":"会话","dashboard.tab_channels":"频道","dashboard.sessions_title":"活跃会话","dashboard.no_sessions":"没有活跃会话","dashboard.session_id":"会话 ID","dashboard.session_channel":"频道","dashboard.session_started":"开始时间","dashboard.session_last_activity":"最近活动","dashboard.session_status":"状态","dashboard.session_messages":"消息数","dashboard.session_details":"会话详情","dashboard.session_history":"查看历史","dashboard.channels_title":"频道状态","dashboard.no_channels_detail":"没有频道详情","dashboard.channel_type":"类型","dashboard.channel_messages":"消息数","dashboard.channel_last_message":"最近消息","dashboard.channel_config":"配置摘要","dashboard.channel_enabled":"已启用","dashboard.channel_disabled":"已禁用","dashboard.loading_sessions":"加载会话中...","dashboard.loading_channels":"加载频道中...","dashboard.load_sessions_error":"加载会话失败","dashboard.load_channels_error":"加载频道失败","dashboard.never":"从未","settings.title":"设置","settings.tab.appearance":"外观","settings.tab.typography":"排版","settings.appearance":"外观设置","settings.typography":"字体设置","settings.fontUi":"界面字体","settings.fontMono":"代码字体","settings.fontSize":"界面字号","settings.fontMonoSize":"代码字号","settings.preview":"预览","settings.previewText":"界面字体预览文本","settings.fontNote":"字体设置需要刷新页面后生效","settings.language":"界面语言","theme.mode":"主题模式","theme.accent":"强调色","theme.system":"跟随系统","theme.dark":"深色","theme.light":"浅色","theme.oled":"纯黑","console.nav.commandDeck":"指挥舱","console.nav.missionCenter":"任务中心","console.nav.skillLibrary":"技能库","console.nav.dailyReport":"日报","console.nav.settings":"设置","console.role.finance":"财务","console.role.engineering":"工程","console.role.executive":"管理","console.role.hr":"人事","console.role.sales":"销售","console.state.loading":"加载中...","console.state.empty":"暂无数据","console.state.backendDown":"后端服务不可达","console.state.partialData":"部分数据源加载失败","console.state.stale":"数据已过期","console.state.unauthorized":"未授权","console.action.refresh":"刷新","console.action.approve":"批准","console.action.reject":"驳回","console.action.retry":"重试","console.action.create":"新建任务","console.skill.capabilityLevel":"能力等级","console.skill.enable":"启用","console.skill.disable":"停用","console.skill.core":"核心","console.skill.standard":"标准","console.skill.specialized":"专业","console.skill.experimental":"实验","console.report.dailyTitle":"日报","console.report.sourceLinks":"数据来源","console.report.noEvents":"当日无执行记录"},en:{"nav.dashboard":"Dashboard","nav.plans":"Plans","nav.execution":"Execution","nav.governance":"Governance","nav.scheduler":"Scheduler","nav.skills":"Skills","nav.agent":"Agent","nav.tools":"Tools","nav.cron":"Cron Jobs","nav.integrations":"Integrations","nav.memory":"Memory","nav.config":"Configuration","nav.cost":"Cost Tracker","nav.logs":"Logs","nav.devtools":"Tools","nav.swimlane":"Swimlane","nav.doctor":"Doctor","nav.canvas":"Canvas","planb.nav.chat":"Chat","planb.nav.browser":"AI Browser","planb.nav.dashboard":"Dashboard","planb.nav.settings":"Settings","planb.nav.more":"More Tools","planb.layout.switch_to_wide":"Switch to Desktop","planb.layout.switch_to_compact":"Switch to Compact","planb.layout.pop_out":"Pop Out Window","planb.browser.title":"AI Browser","planb.browser.subtitle":"Launch SuperRPA browser automation","planb.browser.launch":"Launch Browser","planb.browser.url_placeholder":"https://example.com","planb.browser.active_sessions":"Active Sessions","planb.browser.no_sessions":"No active browser sessions. Launch one above.","planb.browser.status_launching":"Launching","planb.browser.status_running":"Running","planb.browser.status_idle":"Idle","planb.browser.status_error":"Error","planb.browser.status_stopped":"Stopped","planb.browser.launch_error":"Failed to launch browser","planb.browser.close_error":"Failed to close session","planb.browser.backend_not_configured":"SuperRPA is not configured. Set SGCLAW_SUPERRPA_PATH environment variable.","planb.chat.welcome":"How can I help you today?","planb.chat.placeholder":"Ask anything...","planb.chat.sessions":"Chat History","planb.chat.new_chat":"New Chat","planb.chat.no_sessions":"No chat history","planb.chat.untitled":"Untitled","planb.chat.thought":"Thought","planb.chat.chip_browse":"Browse Web","planb.chat.chip_code":"Write Code","planb.chat.chip_analyze":"Analyze Data","planb.chat.chip_plan":"Plan Project","planb.chat.regenerate":"Regenerate","planb.settings.quick":"Quick Settings","planb.settings.advanced":"Advanced","planb.settings.quick_hint":"Quick settings are coming soon. Use the advanced editor to modify TOML configuration for now.","planb.settings.open_advanced":"Open Advanced Editor","dashboard.title":"Dashboard","dashboard.provider":"Provider","dashboard.model":"Model","dashboard.uptime":"Uptime","dashboard.temperature":"Temperature","dashboard.gateway_port":"Gateway Port","dashboard.memory_backend":"Memory Backend","dashboard.paired":"Paired","dashboard.channels":"Channels","dashboard.health":"Health","dashboard.status":"Status","dashboard.overview":"Overview","dashboard.system_info":"System Information","dashboard.quick_actions":"Quick Actions","agent.title":"Agent Chat","agent.send":"Send","agent.placeholder":"Type a message...","agent.start_conversation":"Send a message to start the conversation","agent.type_message":"Type a message...","agent.connecting":"Connecting...","agent.connected":"Connected","agent.disconnected":"Disconnected","agent.reconnecting":"Reconnecting...","agent.thinking":"Thinking...","agent.tool_call":"Tool Call","agent.tool_result":"Tool Result","agent.connection_error":"Connection error. Attempting to reconnect...","agent.tool_call_prefix":"[Tool Call]","agent.tool_result_prefix":"[Tool Result]","agent.error_prefix":"[Error]","agent.unknown_error":"Unknown error","agent.send_error":"Failed to send message. Please try again.","agent.copy_message":"Copy message","agent.connected_status":"Connected","agent.disconnected_status":"Disconnected","tools.title":"Available Tools","tools.name":"Name","tools.description":"Description","tools.parameters":"Parameters","tools.search":"Search tools...","tools.empty":"No tools available.","tools.count":"Total tools","tools.agent_tools":"Agent Tools","tools.cli_tools":"CLI Tools","tools.parameter_schema":"Parameter Schema","tools.path":"Path","tools.version":"Version","tools.category":"Category","tools.load_error":"Failed to load tools","cron.title":"Scheduled Jobs","cron.scheduled_tasks":"Scheduled Tasks","cron.add":"Add Job","cron.add_job":"Add Job","cron.add_modal_title":"Add Cron Job","cron.delete":"Delete","cron.enable":"Enable","cron.disable":"Disable","cron.name":"Name","cron.name_optional":"Name (optional)","cron.command":"Command","cron.command_required":"Command","cron.schedule":"Schedule","cron.schedule_required":"Schedule","cron.next_run":"Next Run","cron.last_run":"Last Run","cron.last_status":"Last Status","cron.enabled":"Enabled","cron.enabled_status":"Enabled","cron.disabled_status":"Disabled","cron.empty":"No scheduled jobs.","cron.confirm_delete":"Are you sure you want to delete this job?","cron.load_error":"Failed to load cron jobs","cron.validation_error":"Schedule and command are required.","cron.add_error":"Failed to add job","cron.delete_error":"Failed to delete job","cron.cancel":"Cancel","cron.adding":"Adding...","cron.id":"ID","cron.actions":"Actions","cron.loading_run_history":"Loading run history...","cron.load_run_history_error":"Failed to load run history","cron.no_runs":"No runs recorded yet.","cron.recent_runs":"Recent Runs","cron.yes":"Yes","cron.no":"No","cron.edit":"Edit","cron.edit_modal_title":"Edit Cron Job","cron.edit_error":"Failed to update job","cron.saving":"Saving...","cron.save":"Save","integrations.title":"Integrations","integrations.available":"Available","integrations.active":"Active","integrations.coming_soon":"Coming Soon","integrations.category":"Category","integrations.status":"Status","integrations.search":"Search integrations...","integrations.empty":"No integrations found.","integrations.activate":"Activate","integrations.deactivate":"Deactivate","integrations.load_error":"Failed to load integrations","integrations.status_active":"Active","integrations.status_available":"Available","integrations.status_coming_soon":"Coming Soon","memory.title":"Memory Store","memory.memory_title":"Memory","memory.search":"Search memory...","memory.search_placeholder":"Search memory entries...","memory.add":"Store Memory","memory.add_memory":"Add Memory","memory.add_modal_title":"Add Memory","memory.delete":"Delete","memory.key":"Key","memory.key_required":"Key","memory.content":"Content","memory.content_required":"Content","memory.category":"Category","memory.category_optional":"Category (optional)","memory.timestamp":"Timestamp","memory.session":"Session","memory.score":"Score","memory.empty":"No memory entries found.","memory.confirm_delete":"Are you sure you want to delete this memory entry?","memory.all_categories":"All Categories","memory.search_button":"Search","memory.load_error":"Failed to load memory","memory.saving":"Saving...","memory.validation_error":"Key and content are required.","memory.store_error":"Failed to store memory","memory.delete_error":"Failed to delete memory","memory.delete_confirm":"Delete?","memory.yes":"Yes","memory.no":"No","memory.cancel":"Cancel","config.title":"Configuration","config.save":"Save","config.saving":"Saving...","config.reset":"Reset","config.saved":"Configuration saved successfully.","config.error":"Failed to save configuration.","config.loading":"Loading configuration...","config.editor_placeholder":"TOML configuration...","config.configuration_title":"Configuration","config.sensitive_title":"Sensitive fields are masked","config.sensitive_hint":"API keys, tokens, and passwords are hidden for security. To update a masked field, replace the entire masked value with your new value.","config.save_success":"Configuration saved successfully.","config.save_error":"Failed to save configuration","config.toml_label":"TOML Configuration","config.lines":"lines","cost.title":"Cost Tracker","cost.session":"Session Cost","cost.daily":"Daily Cost","cost.monthly":"Monthly Cost","cost.total_tokens":"Total Tokens","cost.request_count":"Requests","cost.by_model":"Cost by Model","cost.model":"Model","cost.tokens":"Tokens","cost.requests":"Requests","cost.usd":"Cost (USD)","cost.load_error":"Failed to load cost data","cost.session_cost":"Session Cost","cost.daily_cost":"Daily Cost","cost.monthly_cost":"Monthly Cost","cost.total_requests":"Total Requests","cost.token_statistics":"Token Statistics","cost.avg_tokens_per_request":"Avg Tokens / Request","cost.cost_per_1k_tokens":"Cost per 1K Tokens","cost.model_breakdown":"Model Breakdown","cost.no_model_data":"No model data available.","cost.cost":"Cost","cost.share":"Share","logs.title":"Live Logs","logs.live_logs":"Live Logs","logs.clear":"Clear","logs.pause":"Pause","logs.resume":"Resume","logs.filter":"Filter logs...","logs.filter_label":"Filter","logs.empty":"No log entries.","logs.connected":"Connected","logs.disconnected":"Disconnected","logs.events":"events","logs.jump_to_bottom":"Jump to bottom","logs.paused_hint":"Log streaming is paused.","logs.waiting_hint":"Waiting for events...","doctor.title":"System Diagnostics","doctor.diagnostics_title":"Diagnostics","doctor.run":"Run Diagnostics","doctor.run_diagnostics":"Run Diagnostics","doctor.running":"Running diagnostics...","doctor.running_btn":"Running...","doctor.running_desc":"Running diagnostics...","doctor.running_hint":"This may take a few seconds.","doctor.ok":"OK","doctor.warn":"Warning","doctor.error":"Error","doctor.severity":"Severity","doctor.category":"Category","doctor.message":"Message","doctor.empty":"No diagnostics have been run yet.","doctor.summary":"Diagnostic Summary","doctor.issues_found":"Issues Found","doctor.warnings_summary":"Warnings","doctor.all_clear":"All Clear","doctor.system_diagnostics":"System Diagnostics","doctor.empty_hint":'Click "Run Diagnostics" to check your ZeroClaw installation.',"auth.pair":"Pair Device","auth.pairing_code":"Pairing Code","auth.pair_button":"Pair","auth.logout":"Logout","auth.pairing_success":"Pairing successful!","auth.pairing_failed":"Pairing failed. Please try again.","auth.enter_code":"Enter your pairing code to connect to the agent.","common.loading":"Loading...","common.error":"An error occurred.","common.retry":"Retry","common.cancel":"Cancel","common.confirm":"Confirm","common.save":"Save","common.delete":"Delete","common.edit":"Edit","common.close":"Close","common.yes":"Yes","common.no":"No","common.search":"Search...","common.no_data":"No data available.","common.refresh":"Refresh","common.back":"Back","common.actions":"Actions","common.name":"Name","common.description":"Description","common.status":"Status","common.created":"Created","common.updated":"Updated","health.title":"System Health","health.component":"Component","health.status":"Status","health.last_ok":"Last OK","health.last_error":"Last Error","health.restart_count":"Restarts","health.pid":"Process ID","health.uptime":"Uptime","health.updated_at":"Last Updated","dashboard.provider_model":"Provider / Model","dashboard.since_last_restart":"Since last restart","dashboard.paired_yes":"Yes","dashboard.paired_no":"No","dashboard.cost_overview":"Cost Overview","dashboard.active_channels":"Active Channels","dashboard.filter_active":"Active","dashboard.filter_all":"All","dashboard.no_active_channels":"No active channels","dashboard.component_health":"Component Health","dashboard.load_error":"Failed to load dashboard","dashboard.session_label":"Session","dashboard.daily_label":"Daily","dashboard.monthly_label":"Monthly","dashboard.total_tokens_label":"Total Tokens","dashboard.requests_label":"Requests","dashboard.no_channels":"No channels configured","dashboard.active":"Active","dashboard.inactive":"Inactive","dashboard.no_components":"No components reporting","dashboard.restarts":"Restarts","dashboard.tab_overview":"Overview","dashboard.tab_sessions":"Sessions","dashboard.tab_channels":"Channels","dashboard.sessions_title":"Active Sessions","dashboard.no_sessions":"No active sessions","dashboard.session_id":"Session ID","dashboard.session_channel":"Channel","dashboard.session_started":"Started","dashboard.session_last_activity":"Last Activity","dashboard.session_status":"Status","dashboard.session_messages":"Messages","dashboard.session_details":"Session Details","dashboard.session_history":"View History","dashboard.channels_title":"Channel Status","dashboard.no_channels_detail":"No channel details available","dashboard.channel_type":"Type","dashboard.channel_messages":"Messages","dashboard.channel_last_message":"Last Message","dashboard.channel_config":"Configuration","dashboard.channel_enabled":"Enabled","dashboard.channel_disabled":"Disabled","dashboard.loading_sessions":"Loading sessions...","dashboard.loading_channels":"Loading channels...","dashboard.load_sessions_error":"Failed to load sessions","dashboard.load_channels_error":"Failed to load channels","dashboard.never":"Never","settings.title":"Settings","settings.tab.appearance":"Appearance","settings.tab.typography":"Typography","settings.appearance":"Appearance","settings.typography":"Typography","settings.fontUi":"UI Font","settings.fontMono":"Code Font","settings.fontSize":"UI Font Size","settings.fontMonoSize":"Code Font Size","settings.preview":"Preview","settings.previewText":"The quick brown fox jumps over the lazy dog.","settings.fontNote":"Font changes apply on page reload.","settings.language":"Language","theme.mode":"Theme Mode","theme.accent":"Accent Color","theme.system":"System","theme.dark":"Dark","theme.light":"Light","theme.oled":"OLED Black","console.nav.commandDeck":"Command Deck","console.nav.missionCenter":"Mission Center","console.nav.skillLibrary":"Skill Library","console.nav.dailyReport":"Daily Report","console.nav.settings":"Settings","console.role.finance":"Finance","console.role.engineering":"Engineering","console.role.executive":"Executive","console.role.hr":"HR","console.role.sales":"Sales","console.state.loading":"Loading...","console.state.empty":"No data","console.state.backendDown":"Backend unreachable","console.state.partialData":"Partial data loaded","console.state.stale":"Data stale","console.state.unauthorized":"Unauthorized","console.action.refresh":"Refresh","console.action.approve":"Approve","console.action.reject":"Reject","console.action.retry":"Retry","console.action.create":"Create","console.skill.capabilityLevel":"Capability Level","console.skill.enable":"Enable","console.skill.disable":"Disable","console.skill.core":"Core","console.skill.standard":"Standard","console.skill.specialized":"Specialized","console.skill.experimental":"Experimental","console.report.dailyTitle":"Daily Report","console.report.sourceLinks":"Source Links","console.report.noEvents":"No events today"},tr:{"nav.dashboard":"Kontrol Paneli","nav.plans":"Planlar","nav.execution":"Yürütme","nav.governance":"Yönetişim","nav.scheduler":"Zamanlayıcı","nav.skills":"Beceriler","nav.agent":"Ajan","nav.tools":"Araçlar","nav.cron":"Cron Görevleri","nav.integrations":"Entegrasyonlar","nav.memory":"Hafıza","nav.config":"Yapılandırma","nav.cost":"Maliyet Takibi","nav.logs":"Kayıtlar","nav.devtools":"Araçlar","nav.swimlane":"Yüzme Şeridi","nav.doctor":"Doktor","nav.canvas":"Tuval","planb.nav.chat":"Sohbet","planb.nav.browser":"AI Tarayıcı","planb.nav.dashboard":"Kontrol Paneli","planb.nav.settings":"Ayarlar","planb.nav.more":"Daha Fazla","planb.layout.switch_to_wide":"Masaüstüne Geç","planb.layout.switch_to_compact":"Kompakta Geç","planb.layout.pop_out":"Pencereyi Ayır","planb.browser.title":"AI Tarayıcı","planb.browser.subtitle":"SuperRPA tarayıcı otomasyonunu başlat","planb.browser.launch":"Tarayıcıyı Başlat","planb.browser.url_placeholder":"https://example.com","planb.browser.active_sessions":"Aktif Oturumlar","planb.browser.no_sessions":"Aktif tarayıcı oturumu yok.","planb.browser.status_launching":"Başlatılıyor","planb.browser.status_running":"Çalışıyor","planb.browser.status_idle":"Boşta","planb.browser.status_error":"Hata","planb.browser.status_stopped":"Durduruldu","planb.browser.launch_error":"Tarayıcı başlatılamadı","planb.browser.close_error":"Oturum kapatılamadı","planb.browser.backend_not_configured":"SuperRPA yapılandırılmamış.","planb.chat.welcome":"Bugün size nasıl yardımcı olabilirim?","planb.chat.placeholder":"Bir şey sor...","planb.chat.sessions":"Sohbet Geçmişi","planb.chat.new_chat":"Yeni Sohbet","planb.chat.no_sessions":"Sohbet geçmişi yok","planb.chat.untitled":"Başlıksız","planb.chat.thought":"Düşünce","planb.chat.chip_browse":"Webde Gezin","planb.chat.chip_code":"Kod Yaz","planb.chat.chip_analyze":"Veri Analizi","planb.chat.chip_plan":"Proje Planla","planb.chat.regenerate":"Yeniden Oluştur","planb.settings.quick":"Hızlı Ayarlar","planb.settings.advanced":"Gelişmiş","planb.settings.quick_hint":"Hızlı ayarlar yakında gelecek. Şimdilik gelişmiş düzenleyiciyi kullanın.","planb.settings.open_advanced":"Gelişmiş Düzenleyiciyi Aç","dashboard.title":"Kontrol Paneli","dashboard.provider":"Sağlayıcı","dashboard.model":"Model","dashboard.uptime":"Çalışma Süresi","dashboard.temperature":"Sıcaklık","dashboard.gateway_port":"Ağ Geçidi Portu","dashboard.locale":"Dil","dashboard.memory_backend":"Hafıza Motoru","dashboard.paired":"Eşleştirilmiş","dashboard.channels":"Kanallar","dashboard.health":"Sağlık","dashboard.status":"Durum","dashboard.overview":"Genel Bakış","dashboard.system_info":"Sistem Bilgisi","dashboard.quick_actions":"Hızlı İşlemler","dashboard.provider_model":"Sağlayıcı / Model","dashboard.since_last_restart":"Son Yeniden Başlatmadan Beri","dashboard.paired_yes":"Evet","dashboard.paired_no":"Hayır","dashboard.cost_overview":"Maliyet Genel Bakışı","dashboard.active_channels":"Aktif Kanallar","dashboard.filter_active":"Aktif","dashboard.filter_all":"Tümü","dashboard.no_active_channels":"Aktif kanal yok","dashboard.component_health":"Bileşen Sağlığı","dashboard.load_error":"Kontrol paneli yüklenemedi","dashboard.session_label":"Oturum","dashboard.daily_label":"Günlük","dashboard.monthly_label":"Aylık","dashboard.total_tokens_label":"Toplam Token","dashboard.requests_label":"İstekler","dashboard.no_channels":"Kanal yapılandırılmamış","dashboard.active":"Aktif","dashboard.inactive":"Aktif Değil","dashboard.no_components":"Bileşen raporlamıyor","dashboard.restarts":"Yeniden Başlatmalar","dashboard.tab_overview":"Genel Bakış","dashboard.tab_sessions":"Oturumlar","dashboard.tab_channels":"Kanallar","dashboard.sessions_title":"Aktif Oturumlar","dashboard.no_sessions":"Aktif oturum yok","dashboard.session_id":"Oturum Kimliği","dashboard.session_channel":"Kanal","dashboard.session_started":"Başlangıç","dashboard.session_last_activity":"Son Etkinlik","dashboard.session_status":"Durum","dashboard.session_messages":"Mesajlar","dashboard.session_details":"Oturum Ayrıntıları","dashboard.session_history":"Geçmişi Görüntüle","dashboard.channels_title":"Kanal Durumu","dashboard.no_channels_detail":"Kanal ayrıntısı yok","dashboard.channel_type":"Tür","dashboard.channel_messages":"Mesajlar","dashboard.channel_last_message":"Son Mesaj","dashboard.channel_config":"Yapılandırma","dashboard.channel_enabled":"Etkin","dashboard.channel_disabled":"Devre Dışı","dashboard.loading_sessions":"Oturumlar yükleniyor...","dashboard.loading_channels":"Kanallar yükleniyor...","dashboard.load_sessions_error":"Oturumlar yüklenemedi","dashboard.load_channels_error":"Kanallar yüklenemedi","dashboard.never":"Hiç","agent.title":"Ajan Sohbeti","agent.send":"Gönder","agent.placeholder":"Bir mesaj yazın...","agent.start_conversation":"Sohbeti başlatmak için mesaj gönderin","agent.type_message":"Bir mesaj yazın...","agent.connecting":"Bağlanıyor...","agent.connected":"Bağlandı","agent.disconnected":"Bağlantı kesildi","agent.reconnecting":"Yeniden bağlanıyor...","agent.thinking":"Düşünüyor...","agent.tool_call":"Araç Çağrısı","agent.tool_result":"Araç Sonucu","agent.connection_error":"Bağlantı hatası. Yeniden bağlanmaya çalışılıyor...","agent.tool_call_prefix":"[Araç Çağrısı]","agent.tool_result_prefix":"[Araç Sonucu]","agent.error_prefix":"[Hata]","agent.unknown_error":"Bilinmeyen hata","agent.send_error":"Mesaj gönderilemedi. Lütfen tekrar deneyin.","agent.copy_message":"Mesajı kopyala","agent.connected_status":"Bağlandı","agent.disconnected_status":"Bağlantı kesildi","tools.title":"Mevcut Araçlar","tools.name":"Ad","tools.description":"Açıklama","tools.parameters":"Parametreler","tools.search":"Araç ara...","tools.empty":"Araç bulunamadı.","tools.count":"Toplam araç","tools.agent_tools":"Ajan Araçları","tools.cli_tools":"CLI Araçları","tools.parameter_schema":"Parametre Şeması","tools.path":"Yol","tools.version":"Sürüm","tools.category":"Kategori","tools.load_error":"Araçlar yüklenemedi","cron.title":"Zamanlanmış Görevler","cron.scheduled_tasks":"Zamanlanmış Görevler","cron.add":"Görev Ekle","cron.add_job":"Görev Ekle","cron.add_modal_title":"Cron Görevi Ekle","cron.delete":"Sil","cron.enable":"Etkinleştir","cron.disable":"Devre Dışı Bırak","cron.name":"Ad","cron.name_optional":"Ad (isteğe bağlı)","cron.command":"Komut","cron.command_required":"Komut","cron.schedule":"Zamanlama","cron.schedule_required":"Zamanlama","cron.next_run":"Sonraki Çalıştırma","cron.last_run":"Son Çalıştırma","cron.last_status":"Son Durum","cron.enabled":"Etkin","cron.enabled_status":"Etkin","cron.disabled_status":"Devre Dışı","cron.empty":"Zamanlanmış görev bulunamadı.","cron.confirm_delete":"Bu görevi silmek istediğinizden emin misiniz?","cron.load_error":"Cron görevleri yüklenemedi","cron.validation_error":"Zamanlama ve komut gereklidir.","cron.add_error":"Görev eklenemedi","cron.delete_error":"Görev silinemedi","cron.cancel":"İptal","cron.adding":"Ekleniyor...","cron.id":"ID","cron.actions":"İşlemler","cron.loading_run_history":"Çalıştırma geçmişi yükleniyor...","cron.load_run_history_error":"Çalıştırma geçmişi yüklenemedi","cron.no_runs":"Henüz çalıştırma kaydı yok.","cron.recent_runs":"Son Çalıştırmalar","cron.yes":"Evet","cron.no":"Hayır","cron.edit":"Düzenle","cron.edit_modal_title":"Cron Görevini Düzenle","cron.edit_error":"Görev güncellenemedi","cron.saving":"Kaydediliyor...","cron.save":"Kaydet","integrations.title":"Entegrasyonlar","integrations.available":"Mevcut","integrations.active":"Aktif","integrations.coming_soon":"Yakında","integrations.category":"Kategori","integrations.status":"Durum","integrations.search":"Entegrasyon ara...","integrations.empty":"Entegrasyon bulunamadı.","integrations.activate":"Etkinleştir","integrations.deactivate":"Devre Dışı Bırak","integrations.load_error":"Entegrasyonlar yüklenemedi","integrations.all":"Tümü","integrations.status_active":"Aktif","integrations.status_available":"Mevcut","integrations.status_coming_soon":"Yakında","memory.title":"Hafıza Deposu","memory.memory_title":"Hafıza","memory.search":"Hafıza ara...","memory.search_placeholder":"Hafıza girişleri ara...","memory.add":"Hafıza Ekle","memory.add_memory":"Hafıza Ekle","memory.add_modal_title":"Hafıza Ekle","memory.delete":"Sil","memory.key":"Anahtar","memory.key_required":"Anahtar","memory.content":"İçerik","memory.content_required":"İçerik","memory.category":"Kategori","memory.category_optional":"Kategori (isteğe bağlı)","memory.timestamp":"Zaman Damgası","memory.session":"Oturum","memory.score":"Puan","memory.empty":"Hafıza girişi bulunamadı.","memory.confirm_delete":"Bu hafıza girişini silmek istediğinizden emin misiniz?","memory.all_categories":"Tüm Kategoriler","memory.search_button":"Ara","memory.load_error":"Hafıza yüklenemedi","memory.saving":"Kaydediliyor...","memory.validation_error":"Anahtar ve içerik gereklidir.","memory.store_error":"Hafıza kaydedilemedi","memory.delete_error":"Hafıza silinemedi","memory.delete_confirm":"Sil?","memory.yes":"Evet","memory.no":"Hayır","memory.cancel":"İptal","config.title":"Yapılandırma","config.save":"Kaydet","config.saving":"Kaydediliyor...","config.reset":"Sıfırla","config.saved":"Yapılandırma başarıyla kaydedildi.","config.error":"Yapılandırma kaydedilemedi.","config.loading":"Yapılandırma yükleniyor...","config.editor_placeholder":"TOML yapılandırması...","config.configuration_title":"Yapılandırma","config.sensitive_title":"Hassas alanlar gizlendi","config.sensitive_hint":"API anahtarları, belirteçler ve parolalar güvenlik için gizlendi. Maskeli bir alanı güncellemek için, tüm maskeli değeri yeni değerinizle değiştirin.","config.save_success":"Yapılandırma başarıyla kaydedildi.","config.save_error":"Yapılandırma kaydedilemedi","config.toml_label":"TOML Yapılandırması","config.lines":"satır","cost.title":"Maliyet Takibi","cost.session":"Oturum Maliyeti","cost.daily":"Günlük Maliyet","cost.monthly":"Aylık Maliyet","cost.total_tokens":"Toplam Token","cost.request_count":"İstek Sayısı","cost.by_model":"Modele Göre Maliyet","cost.model":"Model","cost.tokens":"Token","cost.requests":"İstekler","cost.usd":"Maliyet (USD)","cost.load_error":"Maliyet verileri yüklenemedi","cost.session_cost":"Oturum Maliyeti","cost.daily_cost":"Günlük Maliyet","cost.monthly_cost":"Aylık Maliyet","cost.total_requests":"Toplam İstek","cost.token_statistics":"Token İstatistikleri","cost.avg_tokens_per_request":"Ortalama Token / İstek","cost.cost_per_1k_tokens":"1K Token Başına Maliyet","cost.model_breakdown":"Model Detayı","cost.no_model_data":"Model verisi mevcut değil.","cost.cost":"Maliyet","cost.share":"Pay","logs.title":"Canlı Kayıtlar","logs.live_logs":"Canlı Kayıtlar","logs.clear":"Temizle","logs.pause":"Duraklat","logs.resume":"Devam Et","logs.filter":"Kayıtları filtrele...","logs.filter_label":"Filtre","logs.empty":"Kayıt girişi bulunamadı.","logs.connected":"Bağlandı","logs.disconnected":"Bağlantı kesildi","logs.events":"olay","logs.jump_to_bottom":"En alta atla","logs.paused_hint":"Kayıt akışı duraklatıldı.","logs.waiting_hint":"Olay bekleniyor...","doctor.title":"Sistem Tanıları","doctor.diagnostics_title":"Tanılar","doctor.run":"Tanı Çalıştır","doctor.run_diagnostics":"Tanı Çalıştır","doctor.running":"Tanı çalıştırılıyor...","doctor.running_btn":"Çalıştırılıyor...","doctor.running_desc":"Tanı çalıştırılıyor...","doctor.running_hint":"Bu birkaç saniye sürebilir.","doctor.ok":"Tamam","doctor.warn":"Uyarı","doctor.error":"Hata","doctor.severity":"Şiddet","doctor.category":"Kategori","doctor.message":"Mesaj","doctor.empty":"Henüz tanı çalıştırılmadı.","doctor.summary":"Tanı Özeti","doctor.issues_found":"Sorunlar Bulundu","doctor.warnings_summary":"Uyarılar","doctor.all_clear":"Her Şey Yolunda","doctor.system_diagnostics":"Sistem Tanıları","doctor.empty_hint":'ZeroClaw kurulumunuzu kontrol etmek için "Tanı Çalıştır" düğmesine tıklayın.',"auth.pair":"Cihaz Eşleştir","auth.pairing_code":"Eşleştirme Kodu","auth.pair_button":"Eşleştir","auth.logout":"Çıkış Yap","auth.pairing_success":"Eşleştirme başarılı!","auth.pairing_failed":"Eşleştirme başarısız. Lütfen tekrar deneyin.","auth.enter_code":"Akıllı birine bağlanmak için eşleştirme kodunuzu girin.","common.loading":"Yükleniyor...","common.error":"Bir hata oluştu.","common.retry":"Tekrar Dene","common.cancel":"İptal","common.confirm":"Onayla","common.save":"Kaydet","common.delete":"Sil","common.edit":"Düzenle","common.close":"Kapat","common.yes":"Evet","common.no":"Hayır","common.search":"Ara...","common.no_data":"Veri mevcut değil.","common.refresh":"Yenile","common.back":"Geri","common.actions":"İşlemler","common.name":"Ad","common.description":"Açıklama","common.status":"Durum","common.created":"Oluşturulma","common.updated":"Güncellenme","health.title":"Sistem Sağlığı","health.component":"Bileşen","health.status":"Durum","health.last_ok":"Son Başarılı","health.last_error":"Son Hata","health.restart_count":"Yeniden Başlatmalar","health.pid":"İşlem Kimliği","health.uptime":"Çalışma Süresi","health.updated_at":"Son Güncelleme","settings.title":"Ayarlar","settings.tab.appearance":"Görünüm","settings.tab.typography":"Tipografi","settings.appearance":"Görünüm","settings.typography":"Tipografi","settings.fontUi":"Arayüz Yazı Tipi","settings.fontMono":"Kod Yazı Tipi","settings.fontSize":"Arayüz Boyutu","settings.fontMonoSize":"Kod Boyutu","settings.preview":"Önizleme","settings.previewText":"Tembel köpek üzerinde hızlı kahverengi tilki zıplar.","settings.fontNote":"Yazı tipi değişiklikleri sayfa yeniden yüklendikten sonra geçerli olur.","settings.language":"Dil","theme.mode":"Tema Modu","theme.accent":"Vurgu Rengi","theme.system":"Sistem","theme.dark":"Koyu","theme.light":"Açık","theme.oled":"OLED Siyah","console.nav.commandDeck":"Command Deck","console.nav.missionCenter":"Mission Center","console.nav.skillLibrary":"Skill Library","console.nav.dailyReport":"Daily Report","console.nav.settings":"Settings","console.role.finance":"Finance","console.role.engineering":"Engineering","console.role.executive":"Executive","console.role.hr":"HR","console.role.sales":"Sales","console.state.loading":"Loading...","console.state.empty":"No data","console.state.backendDown":"Backend unreachable","console.state.partialData":"Partial data loaded","console.state.stale":"Data stale","console.state.unauthorized":"Unauthorized","console.action.refresh":"Refresh","console.action.approve":"Approve","console.action.reject":"Reject","console.action.retry":"Retry","console.action.create":"Create","console.skill.capabilityLevel":"Capability Level","console.skill.enable":"Enable","console.skill.disable":"Disable","console.skill.core":"Core","console.skill.standard":"Standard","console.skill.specialized":"Specialized","console.skill.experimental":"Experimental","console.report.dailyTitle":"Daily Report","console.report.sourceLinks":"Source Links","console.report.noEvents":"No events today"}};let qA="zh";function nm(t){var a;return((a=py[qA])==null?void 0:a[t])??py.en[t]??t}const Do=["qimingclaw-client-readiness","qimingclaw-remote-task-ingress","qimingclaw-daily-report"],LA=[{key:"all",label:"全部委托"},{key:"daily",label:"日常任务"},{key:"weekly",label:"周任务"},{key:"monthly",label:"月度任务"},{key:"adhoc",label:"临时任务"}];function am(t){const a=typeof t.updated_at=="string"?t.updated_at:typeof t.created_at=="string"?t.created_at:"",i=a?new Date(a).getTime():0;return Number.isFinite(i)?i:0}function di(t){if(!t)return"";const a=new Date(t);return Number.isNaN(a.getTime())?"":[a.getFullYear(),String(a.getMonth()+1).padStart(2,"0"),String(a.getDate()).padStart(2,"0")].join("-")}function si(){return di(new Date().toISOString())}function hy(t,a){const i=t?new Date(`${t}T12:00:00`):new Date;return Number.isNaN(i.getTime())?si():(i.setDate(i.getDate()+a),di(i.toISOString()))}function Om(t){const a=`${t.title} ${t.id}`.match(/(?:^|\D)(\d{1,2})[::](\d{2})(?:\D|$)/);if(!a)return null;const i=Number(a[1]),s=Number(a[2]);return!Number.isInteger(i)||!Number.isInteger(s)||i>23||s>59?null:{text:`${String(i).padStart(2,"0")}:${String(s).padStart(2,"0")}`,minutes:i*60+s}}function qm(t){return t.steps.flatMap(a=>a.tasks.flatMap(i=>[i.startedAt,i.finishedAt])).filter(a=>!!a)}function BA(t,a){return qm(t).map(di).filter(Boolean).includes(a)||Om(t)?!0:[t.updatedAt,t.createdAt].map(di).includes(a)}function UA(t){return Om(t)&&`${t.title}`.trim().toLowerCase()||t.id}function HA(t,a){return qm(t).some(i=>di(i)===a)}function gy(t,a){const i=HA(t,a)?1e4:0,s=Do.includes(t.id)?1e3:0,o=[t.updatedAt,t.createdAt].map(di).includes(a)?100:0;return i+s+o+am({updated_at:t.updatedAt||"",created_at:t.createdAt||""})/1e13}function IA(t,a){const i=new Map;for(const s of t){const o=UA(s),u=i.get(o);(!u||gy(s,a)>gy(u,a))&&i.set(o,s)}return Array.from(i.values())}function yy(t,a){const i=Om(t);if(i)return i.minutes;const s=qm(t).filter(o=>di(o)===a).sort();if(s[0]){const o=new Date(s[0]);return o.getHours()*60+o.getMinutes()}return 1440}function GA(t){const a=`${t.id} ${t.title} ${t.objective}`.toLowerCase();return a.includes("month")||a.includes("monthly")||a.includes("月")?"monthly":a.includes("week")||a.includes("weekly")||a.includes("周")?"weekly":a.includes("临时")||a.includes("adhoc")||a.includes("hotlist")||a.includes("monitor")?"adhoc":"daily"}async function sb(t,a,i={}){const s=Date.now(),o=await No({command_kind:t,context_refs:a,payload:{source:"digital-mission-center",...i},correlation_id:`mission-${t}-${s}`,idempotency_key:`mission-${t}-${Object.values(a).join("-")||"new"}-${s}`});if(!o.accepted)throw new Error(o.message||`command 未被接受:${o.command_id||t}`);return o}async function Xn(t,a,i={}){return sb(a,{plan_id:t},i)}async function vy(t){const a=t.sourceIds.planId;if(!a)return null;const i=t.status.toLowerCase();if(i==="draft")await Xn(a,"submit_plan",{requested_action:"mission_dispatch"}),await Xn(a,"approve_plan",{requested_action:"mission_dispatch"});else if(i==="reviewing")await Xn(a,"approve_plan",{requested_action:"mission_dispatch"});else if(!["approved","active","running"].includes(i))return await Xn(a,"amend_plan",{requested_action:"reopen_for_execution",summary:"数字员工任务中心请求重新执行任务"}),null;return await Xn(a,"activate_plan",{requested_action:"mission_dispatch"}),a}function YA(t){const a=t.steps.map((i,s)=>{const o=new Set;i.preferredSkills.forEach(_=>{_.trim()&&o.add(_)}),i.tasks.forEach(_=>{var g;(g=_.assignedSkillId)!=null&&g.trim()&&o.add(_.assignedSkillId)});const u=[i.description,...i.tasks.map(_=>_.description),i.title,t.objective,t.title].find(_=>typeof _=="string"&&_.trim());return{title:i.title||`${t.title} 第 ${s+1} 步`,description:u||i.title||t.objective||t.title,skills:Array.from(o),depends_on:s===0?[]:[`step-${s}`]}}).filter(i=>i.skills.length>0);if(a.length===0)throw new Error("当前任务没有可复用的 skill,不能创建真实重新执行计划。");return a}function rb(t){return`${t.replace(/(\s*重新执行)+$/u,"").trim()||t} 重新执行`}async function KA(t){var o,u;const a=await sb("create_plan",{session_id:"digital-mission-center",plan_id:t.sourceIds.planId||t.id},{requested_action:"mission_restart",title:rb(t.title),description:t.objective||t.title,steps:YA(t),original_plan_id:t.sourceIds.planId||t.id}),i=typeof((o=a.result)==null?void 0:o.plan_id)=="string"?a.result.plan_id:"";if(!i)throw new Error("重新执行计划已提交,但后端没有返回 plan_id。");const s=typeof((u=a.result)==null?void 0:u.status)=="string"?a.result.status.toLowerCase():"";return s==="draft"?(await Xn(i,"submit_plan",{requested_action:"mission_restart"}),await Xn(i,"approve_plan",{requested_action:"mission_restart"}),await Xn(i,"activate_plan",{requested_action:"mission_restart"})):s==="reviewing"?(await Xn(i,"approve_plan",{requested_action:"mission_restart"}),await Xn(i,"activate_plan",{requested_action:"mission_restart"})):s==="approved"&&await Xn(i,"activate_plan",{requested_action:"mission_restart"}),i}function QA({focusMissionId:t,focusTaskId:a,focusDate:i}){const s=i||si(),[o,u]=x.useState([]),[_,g]=x.useState(null),[p,h]=x.useState(!0),[k,b]=x.useState(!1),[A,O]=x.useState("all"),[C,R]=x.useState(()=>s),[j,w]=x.useState(!1),[$,I]=x.useState(null),[te,ae]=x.useState(!1),[ie,L]=x.useState(null),[le,we]=x.useState(null),[W,oe]=x.useState(null),be=x.useRef(null),q=x.useRef(!1);x.useEffect(()=>(q.current=!0,()=>{q.current=!1}),[]);const re=x.useCallback(async()=>{h(!0),b(!1);try{const F=await G1();if(!q.current)return[];const me=new Map,Be=Ye=>{const Dt=typeof Ye.plan_id=="string"?Ye.plan_id:"";Dt&&!me.has(Dt)&&me.set(Dt,Ye)};(Array.isArray(F)?F:[]).forEach(Be);const Y=Do.filter(Ye=>!me.has(Ye));if(Y.length>0){const Ye=await Promise.allSettled(Y.map(async Dt=>({id:Dt,plans:await Yg(Dt,20)})));for(const Dt of Ye)if(Dt.status==="fulfilled"){const pa=Dt.value.plans.find(hi=>hi.plan_id===Dt.value.id);pa&&Be(pa)}}const Ae=Do.map(Ye=>me.get(Ye)).filter(Ye=>!!Ye),Ue=[...[...me.entries()].filter(([Ye])=>!Do.includes(Ye)).map(([,Ye])=>Ye).sort((Ye,Dt)=>am(Dt)-am(Ye)),...Ae];if(Ue.length>0){const Ye=ay(Ue);return u(Ye),Ye}return u([]),[]}catch(F){return q.current?(console.error("[MissionCenter] fetch failed:",F),u([]),b(!0),[]):[]}finally{q.current&&h(!1)}},[]);x.useEffect(()=>{re()},[re]),x.useEffect(()=>{R(i||si()),w(!1)},[i]);const de=x.useCallback(F=>{g(F),we(F.id),window.setTimeout(()=>{var me;(me=be.current)==null||me.scrollIntoView({block:"start",inline:"nearest",behavior:"smooth"})},40)},[]),H=x.useCallback(F=>{de(F),oe({kind:"selected",missionId:F.id,title:F.title,planId:F.sourceIds.planId})},[de]);x.useEffect(()=>{if(!t&&!a)return;const F=o.find(me=>me.id===t||me.sourceIds.planId===t||(a?me.sourceIds.taskIds.includes(a):!1));F&&(O("all"),H(F),window.setTimeout(()=>{var me;(me=document.getElementById(`mission-card-${ou(F.id)}`))==null||me.scrollIntoView({block:"center",behavior:"smooth"})},80))},[t,a,o,H]);const Z=x.useCallback(async F=>{if(I(F.id),b(!1),L(null),!F.sourceIds.planId){L("当前任务没有 qimingclaw Plan 记录,无法委托执行。"),I(null);return}try{const me=await vy(F),Be=await re();if(O("all"),me){const Y=Be.find(Ae=>Ae.id===me||Ae.sourceIds.planId===me);if(Y)de(Y),oe({kind:"dispatched",missionId:Y.id,title:Y.title,planId:me});else{const Ae=await Yg(me,5),ht=ay(Ae).find(Ue=>Ue.id===me);ht?(de(ht),oe({kind:"dispatched",missionId:ht.id,title:ht.title,planId:me})):g(null)}}else g(Y=>(Y==null?void 0:Y.id)===F.id?null:Y)}catch(me){console.error("[MissionCenter] dispatch failed:",me),b(!1),L(me instanceof Error?me.message:"任务委托失败")}finally{I(null)}},[re,de]),ne=x.useCallback(async F=>{if(I(F.id),b(!1),L(null),!F.sourceIds.planId){L("当前任务没有 qimingclaw Plan 记录,无法重新执行。"),I(null);return}try{const me=await KA(F),Be=await re();O("all");const Y=Be.find(Ae=>Ae.id===me||Ae.sourceIds.planId===me);Y?(de(Y),oe({kind:"created",missionId:Y.id,title:Y.title,planId:me})):(we(me),oe({kind:"created",missionId:me,title:rb(F.title),planId:me}))}catch(me){console.error("[MissionCenter] restart failed:",me),b(!1),L(me instanceof Error?me.message:"重新执行失败")}finally{I(null)}},[re,de]),he=C||si(),J=IA(j?o:o.filter(F=>BA(F,he)),he),E=J.filter(F=>F.sourceIds.planId&&["draft","reviewing","approved"].includes(F.status.toLowerCase())),K=x.useCallback(async()=>{if(E.length!==0){ae(!0),b(!1);try{for(const F of E)I(F.id),await vy(F);await re(),g(null)}catch(F){console.error("[MissionCenter] batch dispatch failed:",F),b(!1),L(F instanceof Error?F.message:"批量委托失败")}finally{I(null),ae(!1)}}},[re,E]),ce=(A==="all"?J:J.filter(F=>GA(F)===A)).map((F,me)=>({mission:F,index:me})).sort((F,me)=>{const Be=Y=>(Y.id===le?2:0)+(Y.id===(_==null?void 0:_.id)?1:0);return Be(me.mission)-Be(F.mission)||yy(F.mission,he)-yy(me.mission,he)||F.index-me.index}).map(({mission:F})=>F),ve=(W==null?void 0:W.kind)==="created"?"刚创建重新执行任务":(W==null?void 0:W.kind)==="dispatched"?"刚委托执行任务":"当前查看任务",Ce=F=>F.id!==le?null:(W==null?void 0:W.missionId)===F.id&&W.kind==="created"?"刚创建":(W==null?void 0:W.missionId)===F.id&&W.kind==="dispatched"?"刚委托":"当前查看";return c.jsx("div",{className:"de-mission-center-page",children:c.jsxs("div",{className:"de-mission-center-layout",children:[c.jsx("div",{className:"de-mc-list",children:c.jsxs(ys,{children:[c.jsxs(Vr,{title:"任务委托",children:[c.jsx("button",{onClick:K,className:"de-btn-primary de-btn-sm",disabled:te||E.length===0,children:te?"委托中...":`委托可执行任务(${E.length})`}),c.jsx("button",{onClick:re,className:"de-btn-secondary de-btn-sm",children:nm("console.action.refresh")})]}),c.jsxs("div",{className:"de-card-body",children:[ie&&c.jsx("div",{className:"de-schedule-result de-schedule-result--error",style:{marginBottom:12},children:ie}),W&&c.jsxs("div",{className:"de-mission-focus-notice",children:[c.jsx("strong",{children:ve}),c.jsx("span",{children:W.title}),W.planId&&c.jsx("code",{children:W.planId})]}),c.jsxs("div",{className:"de-date-filter-row",children:[c.jsxs("label",{className:"de-date-filter-field",children:[c.jsx("span",{children:"选择日期"}),c.jsx("input",{type:"date",value:he,onChange:F=>{w(!1),R(F.target.value||si())}})]}),c.jsxs("div",{className:"de-date-filter-actions","aria-label":"日期切换",children:[c.jsx("button",{type:"button",className:"de-filter-chip",onClick:()=>{w(!1),R(hy(he,-1))},children:"前一天"}),c.jsx("button",{type:"button",className:"de-filter-chip active",onClick:()=>{w(!1),R(si())},children:"今天"}),c.jsx("button",{type:"button",className:"de-filter-chip",onClick:()=>{w(!1),R(hy(he,1))},children:"后一天"})]}),c.jsx("span",{className:"de-date-filter-summary",children:j?`全部 ${J.length} 项任务`:`${J.length} 项任务`})]}),c.jsx("div",{className:"de-filter-row",children:LA.map(F=>c.jsx("button",{className:`de-filter-chip ${A===F.key?"active":""}`,onClick:()=>O(F.key),children:F.label},F.key))}),p?c.jsx("div",{className:"de-loading-skeleton",style:{height:300}}):k?c.jsx("p",{className:"de-empty-text",children:nm("console.state.backendDown")}):ce.length===0?c.jsxs("div",{className:"de-mission-empty-panel",children:[c.jsx("strong",{children:"当前日期暂无任务"}),c.jsx("p",{children:"这个日期没有匹配到 qimingclaw 任务记录,可以临时查看全部任务。"}),c.jsxs("div",{className:"de-mission-empty-actions",children:[c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",onClick:()=>{w(!0),O("all")},children:"查看全部任务"}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>{w(!1),R(i||si())},children:"返回当前日期"})]})]}):c.jsx("div",{className:"de-mc-card-list",children:ce.map(F=>c.jsx(EA,{mission:F,selected:(_==null?void 0:_.id)===F.id,focusLabel:Ce(F),dateFilter:he,running:$===F.id,onSelect:H,onRun:Z,onRestart:ne},F.id))})]})]})}),c.jsx("div",{className:"de-mc-detail",ref:be,children:_?c.jsx(OA,{mission:_,onClose:()=>g(null)}):c.jsx(ys,{children:c.jsx("div",{className:"de-card-body",children:c.jsxs("div",{className:"de-mission-empty-panel de-mission-empty-panel--detail",children:[c.jsx("strong",{children:"选择一个任务后,右侧会显示执行步骤、运行记录和交付结果。"}),c.jsx("p",{children:"任务详情会优先展示 qimingclaw 本地 Plan / Task / Run / Event 记录,以及从执行 payload 中整理出的产物线索。"})]})})})})]})})}const VA=[{value:"all",label:"全部任务"},{value:"daily",label:"日常任务"},{value:"weekly",label:"周任务"},{value:"monthly",label:"月度任务"},{value:"adhoc",label:"临时任务"}],XA={daily:"日常",weekly:"周",monthly:"月度",adhoc:"临时"},ZA={allow:"白名单",deny:"黑名单",open:"开放",disabled:"停用"};function cb(t){const a=`${t.id} ${t.name} ${t.description} ${t.category}`.toLowerCase();return/weekly|week|周/.test(a)?"weekly":/monthly|month|月报|月度/.test(a)?"monthly":/monitor|crawler|巡检|监控|待办|日程|日报|日终|收件箱|工作台|客户跟进/.test(a)?"daily":"adhoc"}function zf(t){const a=`${t.id} ${t.name} ${t.description} ${t.category}`.toLowerCase();return t.capabilityLevel==="specialized"||t.capabilityLevel==="experimental"||/加密|深度|分析|自动化|部署|代码|审查|调研|批量|converter|crypto|github|deploy|review|research/.test(a)}function JA(t){const a=`${t.id} ${t.name} ${t.description} ${t.category}`.toLowerCase();return/日报|周报|报表|待办|日程|巡检|客户|知识库|经营|费用|收件箱|工作台/.test(a)}function FA(t){const a=t.name,i=`${t.id} ${t.name} ${t.description} ${t.category}`.toLowerCase();return/report|报表|日报|周报|月报|汇报/.test(i)?`自动整理${a}材料,减少手工汇总和重复填报。`:/monitor|巡检|监控|预警/.test(i)?`按约定频率完成${a},及时提示异常和遗漏。`:/todo|待办|task|看板|日程/.test(i)?`帮你梳理${a},把后续处理事项集中呈现。`:/客户|crm|回访|满意/.test(i)?"汇总客户相关信息,形成可直接跟进的处理建议。":/知识|文档|制度|模板/.test(i)?"查找和核对资料内容,减少人工翻找和版本确认。":t.description}function PA(t,a,i){return t.enabled?"已学习":t.enabled?i?"需确认后学习":a?"建议学习":"可学习":"暂不使用"}function WA(t){var i,s;const a=[];return t.serverId&&a.push(t.serverId),t.running!==null&&t.running!==void 0&&a.push(t.running?"运行中":"未运行"),t.policySource==="remote"&&a.push("远端策略"),t.remotePolicy&&t.remotePolicy.enabled===!1&&a.push("管理端禁用"),t.governancePolicy&&a.push(ZA[t.governancePolicy]),typeof t.toolCount=="number"&&a.push(`${t.toolCount} 工具`),(i=t.allowTools)!=null&&i.length&&a.push(`allow ${t.allowTools.length}`),(s=t.denyTools)!=null&&s.length&&a.push(`deny ${t.denyTools.length}`),a.slice(0,5)}function e2(t){var s;const a=(s=t.recentCalls)==null?void 0:s[0];return a?`${a.toolName?`${a.toolName} · `:""}${a.message||a.status||"最近调用"}`:typeof t.callCount=="number"&&t.callCount>0?`${t.callCount} 次调用`:null}function t2({skill:t,recommended:a=!1,advanced:i=!1,selected:s=!1,updating:o=!1,onSelect:u,onToggle:_}){const g=cb(t),p=PA(t,a,i),h=WA(t),k=e2(t);return c.jsxs("div",{id:`skill-card-${ou(t.id)}`,className:`de-skill-card ${s?"de-skill-card--selected":""}`,role:"button",tabIndex:0,onClick:()=>u==null?void 0:u(t),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),u==null||u(t))},children:[c.jsxs("div",{className:"de-skill-card-head",children:[c.jsx("span",{className:"de-skill-name",children:t.name}),c.jsx("span",{className:`de-skill-status ${t.enabled?"enabled":"disabled"}`,children:p})]}),c.jsx("p",{className:"de-skill-desc",children:FA(t)}),h.length>0&&c.jsx("div",{className:"de-skill-meta-row",children:h.map(b=>c.jsx("span",{className:"de-skill-meta-chip",children:b},b))}),k&&c.jsxs("p",{className:"de-skill-recent",children:["最近:",k]}),c.jsxs("div",{className:"de-skill-card-foot",children:[c.jsxs("span",{className:"de-skill-version",children:["适用任务:",XA[g]]}),c.jsx("button",{className:`de-skill-btn ${t.enabled?"de-skill-btn--danger":""}`,disabled:o,title:t.enabled?"暂时停用此技能,后续路由不会选择它。":"恢复使用此技能。",onClick:b=>{b.stopPropagation(),o||_==null||_(t)},children:o?"处理中...":t.enabled?"暂不使用":"恢复使用"})]})]})}function n2({focusSkillId:t}){const[a,i]=x.useState([]),[s,o]=x.useState(!0),[u,_]=x.useState(!1),[g,p]=x.useState(""),[h,k]=x.useState("all"),[b,A]=x.useState(t??null),[O,C]=x.useState(null),[R,j]=x.useState(!1),[w,$]=x.useState(null),[I,te]=x.useState(null),ae=x.useRef(!1);x.useEffect(()=>(ae.current=!0,()=>{ae.current=!1}),[]);const ie=x.useCallback(async()=>{o(!0),_(!1);try{const J=await Q1();if(!ae.current)return;i(Array.isArray(J)?mA(J):[])}catch(J){if(!ae.current)return;console.error("[SkillLibrary] fetch failed:",J),i([]),_(!0)}finally{ae.current&&o(!1)}},[]);x.useEffect(()=>{ie()},[ie]),x.useEffect(()=>{t&&(A(t),k("all"),p(""),window.setTimeout(()=>{var J;(J=document.getElementById(`skill-card-${ou(t)}`))==null||J.scrollIntoView({block:"center",behavior:"smooth"})},80))},[t,a.length]);const L=x.useCallback(async J=>{const E=!J.enabled;C(J.id),$(null),te(null);try{const K=await V1(J.id,E);if(!K.ok)throw new Error(K.error||"技能状态变更失败");i(ee=>ee.map(ce=>ce.id===J.id?{...ce,enabled:E}:ce)),A(J.id)}catch(K){$(K instanceof Error?K.message:"技能状态变更失败")}finally{C(null)}},[]),le=x.useCallback(async()=>{j(!0),$(null),te(null);try{const J=await D1();if(!J.ok)throw new Error(J.error||"技能策略拉取失败");await ie(),te(J.skipped?"技能策略无需重复拉取。":"技能策略已更新。")}catch(J){$(J instanceof Error?J.message:"技能策略拉取失败")}finally{j(!1)}},[ie]),we=a.filter(J=>h==="all"||cb(J)===h).filter(J=>g?[J.name,J.description,J.category,J.serverId,...J.tools??[],...J.allowTools??[],...J.denyTools??[]].filter(Boolean).join(" ").includes(g):!0),W=we.filter(zf),oe=new Set(W.map(J=>J.id)),be=we.filter(J=>J.enabled&&!oe.has(J.id)),q=we.filter(J=>!J.enabled&&JA(J)&&!zf(J)),re=we.filter(J=>!J.enabled&&!zf(J)),de=(q.length>0?q:re).slice(0,4),H=new Set(de.map(J=>J.id)),Z=re.filter(J=>!H.has(J.id)),ne=[{key:"recommended",title:"推荐学习",hint:"优先补齐高频工作能力,适合让数字员工尽快接手重复事务。",skills:de,emptyText:"暂无推荐学习项。"},{key:"learnable",title:"可学习技能",hint:"可纳入数字员工日常工作的业务能力,学习入口待接入后启用。",skills:Z,emptyText:"当前没有可学习技能。"},{key:"learned",title:"已学技能",hint:"数字员工已经掌握并可被业务场景调用的能力。",skills:be,emptyText:"当前还没有已学习技能。"},{key:"advanced",title:"高级技能",hint:"适合有明确边界或需要确认后再交给数字员工处理的能力。",skills:W,emptyText:"暂无高级技能。"}],he=J=>c.jsxs("section",{style:{display:"grid",gap:10},children:[c.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:12},children:[c.jsxs("div",{children:[c.jsx("h3",{style:{margin:0,fontSize:16,color:"var(--de-text-primary)"},children:J.title}),c.jsx("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--de-text-muted)"},children:J.hint})]}),c.jsxs("span",{className:"de-capability-badge de-capability-standard",children:[J.skills.length," 项"]})]}),J.skills.length===0?c.jsx("p",{className:"de-empty-text",style:{margin:0},children:J.emptyText}):c.jsx("div",{className:"de-skill-grid",children:J.skills.map(E=>c.jsx(t2,{skill:E,recommended:J.key==="recommended",advanced:J.key==="advanced",selected:b===E.id,updating:O===E.id,onSelect:K=>A(K.id),onToggle:L},`${J.key}-${E.id}`))})]},J.key);return c.jsx("div",{style:{padding:"14px 18px"},children:c.jsxs(ys,{children:[c.jsxs(Vr,{title:"学习技能",children:[c.jsx("button",{onClick:le,disabled:R,className:"de-btn-secondary de-btn-sm",children:R?"拉取中...":"拉取策略"}),c.jsx("button",{onClick:ie,className:"de-btn-secondary de-btn-sm",children:"刷新"})]}),c.jsxs("div",{className:"de-card-body",children:[w&&c.jsx("div",{className:"de-schedule-result de-schedule-result--error",style:{marginBottom:12},children:w}),I&&c.jsx("div",{className:"de-schedule-result",style:{marginBottom:12},children:I}),c.jsxs("div",{className:"de-skill-toolbar",children:[c.jsx("input",{type:"text",className:"de-input",placeholder:"搜索业务能力...",value:g,onChange:J=>p(J.target.value)}),c.jsx("div",{className:"de-filter-row",children:VA.map(J=>c.jsx("button",{className:`de-filter-chip ${h===J.value?"active":""}`,onClick:()=>k(J.value),children:J.label},J.value))})]}),s?c.jsx("div",{className:"de-loading-skeleton",style:{height:300}}):u?c.jsx("p",{className:"de-empty-text",children:"技能目录暂不可用,请检查 qimingclaw bridge 或稍后刷新。"}):we.length===0&&a.length>0?c.jsx("p",{className:"de-empty-text",children:"无匹配技能,请调整搜索或筛选条件"}):we.length===0?c.jsx("p",{className:"de-empty-text",children:"暂无可展示的学习技能。"}):c.jsx("div",{style:{display:"grid",gap:18},children:ne.map(he)})]})]})})}const a2={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12},xo={border:"1px solid var(--de-glass-border-lighter)",borderRadius:10,padding:"12px 14px",background:"linear-gradient(180deg, rgba(244,250,255,0.82), rgba(235,246,255,0.58))"};function l2(){const t=new Date;return[t.getFullYear(),String(t.getMonth()+1).padStart(2,"0"),String(t.getDate()).padStart(2,"0")].join("-")}function i2(t){return(t==null?void 0:t.status)==="ready"?"已生成":(t==null?void 0:t.status)==="generating"?"生成中":(t==null?void 0:t.status)==="failed"?"生成失败":"待生成"}function s2(t){return(t==null?void 0:t.status)==="ready"?"de-report-badge--ready":"de-report-badge--waiting"}function r2(t){return t?t.generated_by==="ai"?`AI 已生成日报${t.model?`:${t.model}`:""}`:"AI 不可用时已使用规则兜底生成日报":"AI 将基于当天任务和运行明细生成日报"}function c2(t){if(!t)return[];const a=t.duties.filter(i=>i.selected).map(i=>i.id);return a.length>0?a:t.duties.filter(i=>i.implemented).map(i=>i.id)}function ob(t){if(!t)return"暂未生成";const a=new Date(t);return Number.isNaN(a.getTime())?t:a.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function o2(t,a){const i=new Blob([a],{type:"text/plain;charset=utf-8"}),s=URL.createObjectURL(i),o=document.createElement("a");o.href=s,o.download=t,document.body.appendChild(o),o.click(),o.remove(),window.setTimeout(()=>URL.revokeObjectURL(s),1e3)}function by(t,a,i){const s=new Blob([a],{type:i}),o=URL.createObjectURL(s),u=document.createElement("a");u.href=o,u.download=t,document.body.appendChild(u),u.click(),u.remove(),window.setTimeout(()=>URL.revokeObjectURL(o),1e3)}function u2(t){const a=window.atob(t),i=new Uint8Array(a.length);for(let s=0;s<a.length;s+=1)i[s]=a.charCodeAt(s);return i}function Of(t){return`qimingclaw-digital-report-${t}.txt`}function d2(t,a,i,s,o){return[a.title||`${t} 数字员工日报`,`日期:${t}`,`生成时间:${ob(a.generated_at)}`,`生成来源:${a.generated_by==="ai"?"AI":"qimingclaw adapter"}`,"","## 摘要",a.summary||"暂无摘要。","","## 指标",`任务总数:${a.totals.task_count}`,`执行次数:${a.totals.execution_count}`,`成功次数:${a.totals.success_count}`,`失败次数:${a.totals.failure_count}`,`运行中:${a.totals.running_count??0}`,"","## 任务汇总",...i.length>0?i.map(u=>`- ${u.title}:${u.latest_status_label},执行 ${u.total_count} 次,成功 ${u.success_count},失败 ${u.failure_count}。${u.ai_summary||u.business_summary||""}`):["暂无任务汇总。"],"","## 运行明细",...s.length>0?s.map(u=>`- ${u.time||"--:--"} ${u.task_name} / ${u.step_name||u.operation_name||"任务执行"}:${u.status_label},${u.business_detail}`):["暂无运行明细。"],"","## 产物来源",...o.length>0?o.map(u=>`- ${u.name}:${u.source_label||u.source_type||"未知来源"}${u.uri?`,${u.uri}`:""}`):["暂无产物来源。"],"","## 详情",...(a.detail_lines??[]).length>0?a.detail_lines:["暂无详情。"]].join(`
|
||
`)}function f2({sections:t}){return t.length===0?c.jsx("p",{className:"de-empty-text",style:{padding:"18px 0 6px"},children:"今天还没有可汇总的任务。"}):c.jsx("div",{className:"de-task-summary-grid","aria-label":"日报任务汇总",children:t.map(a=>c.jsxs("div",{className:`de-task-summary-card de-live-feed-row--${a.latest_status_tone||"info"}`,children:[c.jsx("span",{className:"de-task-summary-title",children:a.title}),c.jsx("span",{className:"de-badge de-badge-info",children:a.latest_status_label}),c.jsxs("strong",{children:["执行次数 ",a.total_count]}),c.jsxs("small",{children:["成功次数 ",a.success_count," · 失败次数 ",a.failure_count]}),c.jsx("em",{children:a.ai_summary||a.business_summary})]},a.id))})}function m2({details:t}){return t.length===0?c.jsx("p",{className:"de-empty-text",style:{padding:"18px 0 6px"},children:"任务执行后,这里会展示时间、任务、步骤和执行情况。"}):c.jsxs("div",{className:"de-run-detail-list de-run-detail-list-scroll","aria-label":"日报运行明细",children:[c.jsxs("div",{className:"de-run-detail-row de-run-detail-row--head",children:[c.jsx("span",{children:"时间"}),c.jsx("span",{children:"任务名称"}),c.jsx("span",{children:"步骤名称"}),c.jsx("span",{children:"执行状态"}),c.jsx("span",{children:"执行情况"})]}),t.map(a=>c.jsxs("div",{className:`de-run-detail-row de-live-feed-row--${a.status_tone||"info"}`,children:[c.jsx("span",{children:a.time||"--:--"}),c.jsx("strong",{children:a.task_name}),c.jsx("em",{children:a.step_name||a.operation_name||"任务执行"}),c.jsx("i",{className:"de-badge de-badge-info",children:a.status_label}),c.jsx("span",{children:a.business_detail})]},a.id))]})}function _2({artifacts:t}){var C,R;const[a,i]=x.useState(null),[s,o]=x.useState(null),[u,_]=x.useState(null),[g,p]=x.useState(null);if(t.length===0)return c.jsx("p",{className:"de-empty-text",style:{padding:"18px 0 6px"},children:"运行产物出现后,这里会展示文件、输出和来源记录。"});const h=(j,w)=>({...j,retention_status:String((w==null?void 0:w.retention_status)||j.retention_status||"unmanaged"),retention_until:String((w==null?void 0:w.retention_until)||j.retention_until||"")||null,last_retention_action:String((w==null?void 0:w.last_retention_action)||j.last_retention_action||"")||null,cleanup_status:String((w==null?void 0:w.cleanup_status)||j.cleanup_status||"")||null,deleted_at:String((w==null?void 0:w.deleted_at)||j.deleted_at||"")||null,cleanup_reason:String((w==null?void 0:w.cleanup_reason)||j.cleanup_reason||"")||null,cleanup_event_id:String((w==null?void 0:w.cleanup_event_id)||j.cleanup_event_id||"")||null,access:(w==null?void 0:w.access)||j.access}),k=async(j,w)=>{if(!j.id||a)return;const $=`${j.id}:${w}`;i($),o(null);try{const I=await Xv(j.id,w);if(!(I!=null&&I.ok)){o((I==null?void 0:I.error)||"产物访问被拒绝");return}if(w==="preview"){const te=I.preview||{};_({title:String(te.name||j.name||"产物预览"),text:String(te.text||`${te.mime||j.kind||"artifact"} · ${te.size??"unknown"}`)})}else o(w==="download"?"已打开产物":"已打开位置")}catch(I){o(I instanceof Error?I.message:"产物访问失败")}finally{i(null)}},b=async j=>{if(!(!j.id||a)){i(`${j.id}:detail`),o(null);try{const[w,$]=await Promise.all([Cf(j.id),Af(j.id)]);p({artifact:h(j,w),item:w,versions:$})}catch(w){o(w instanceof Error?w.message:"读取产物详情失败")}finally{i(null)}}},A=async j=>{const w=g==null?void 0:g.artifact;if(!(!(w!=null&&w.id)||a)){i(`${w.id}:${j}`),o(null);try{const $=await Z1(w.id,j,{reason:"digital_employee_artifact_governance"});if(!($!=null&&$.ok)){o(($==null?void 0:$.error)||"保留策略写入失败");return}const[I,te]=await Promise.all([Cf(w.id),Af(w.id)]);p({artifact:h(w,I),item:I,versions:te}),o("保留策略已记录")}catch($){o($ instanceof Error?$.message:"保留策略写入失败")}finally{i(null)}}},O=async()=>{const j=g==null?void 0:g.artifact;if(!(!(j!=null&&j.id)||a)){i(`${j.id}:cleanup`),o(null);try{const w=await J1(j.id,{reason:"digital_employee_artifact_cleanup",retention_status:j.retention_status||null,last_retention_action:j.last_retention_action||null});if(!(w!=null&&w.ok)){o((w==null?void 0:w.error)||"清理文件失败");return}const[$,I]=await Promise.all([Cf(j.id),Af(j.id)]);p({artifact:h(j,$),item:$,versions:I}),o("清理已记录")}catch(w){o(w instanceof Error?w.message:"清理文件失败")}finally{i(null)}}};return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"de-artifact-source-list","aria-label":"日报产物来源",children:t.map(j=>{var te,ae,ie,L;const w=!!((te=j.access)!=null&&te.previewable),$=!!((ae=j.access)!=null&&ae.downloadable),I=!!((ie=j.access)!=null&&ie.openable);return c.jsxs("div",{className:"de-artifact-source-row",children:[c.jsx("strong",{children:j.name}),c.jsx("span",{children:j.source_label||j.source_type||"未知来源"}),c.jsxs("div",{className:"de-artifact-source-actions",children:[c.jsx("button",{type:"button",className:"de-icon-btn",disabled:!w||a!==null,onClick:()=>k(j,"preview"),title:"预览","aria-label":"预览",children:c.jsx(Mo,{size:15})}),c.jsx("button",{type:"button",className:"de-icon-btn",disabled:!$||a!==null,onClick:()=>k(j,"download"),title:"下载","aria-label":"下载",children:c.jsx(ps,{size:15})}),c.jsx("button",{type:"button",className:"de-icon-btn",disabled:!I||a!==null,onClick:()=>k(j,"open_location"),title:"位置","aria-label":"位置",children:c.jsx(Qx,{size:15})}),c.jsx("button",{type:"button",className:"de-icon-btn",disabled:a!==null,onClick:()=>b(j),title:"版本","aria-label":"版本",children:c.jsx(Vx,{size:15})})]}),c.jsxs("div",{className:"de-artifact-source-meta",children:[c.jsx("span",{children:j.version||"local-v1"}),c.jsx("span",{children:j.retention_status||"unmanaged"}),j.cleanup_status?c.jsx("span",{children:j.cleanup_status}):null,j.delivery_status?c.jsx("span",{children:j.delivery_status}):null,(L=j.access)!=null&&L.last_access_status?c.jsx("span",{children:j.access.last_access_status}):null]}),j.uri?c.jsx("code",{children:j.uri}):c.jsx("em",{children:j.kind||"artifact"})]},j.id)})}),s?c.jsx("p",{className:"de-inline-notice",children:s}):null,u?c.jsxs("div",{className:"de-artifact-preview",children:[c.jsxs("div",{children:[c.jsx("strong",{children:u.title}),c.jsx("button",{type:"button",className:"de-btn-secondary",onClick:()=>_(null),children:"关闭"})]}),c.jsx("pre",{children:u.text})]}):null,g?c.jsxs("div",{className:"de-artifact-preview",children:[c.jsxs("div",{children:[c.jsx("strong",{children:g.artifact.name}),c.jsx("button",{type:"button",className:"de-btn-secondary",onClick:()=>p(null),children:"关闭"})]}),c.jsxs("div",{className:"de-artifact-source-meta",children:[c.jsx("span",{children:g.artifact.retention_status||"unmanaged"}),g.artifact.cleanup_status?c.jsx("span",{children:g.artifact.cleanup_status}):null,g.artifact.deleted_at?c.jsx("span",{children:g.artifact.deleted_at}):null]}),c.jsxs("div",{className:"de-artifact-retention-actions",children:[c.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>A("mark_keep"),children:"保留"}),c.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>A("mark_expire"),children:"到期"}),c.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>A("mark_review"),children:"复核"}),c.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>A("clear_retention"),children:"清除"}),c.jsxs("button",{type:"button",className:"de-btn-secondary",disabled:a!==null||g.artifact.cleanup_status==="deleted"||!(g.artifact.retention_status==="expired"||g.artifact.last_retention_action==="mark_expire")||!((C=g.artifact.access)!=null&&C.downloadable||(R=g.artifact.access)!=null&&R.openable),onClick:()=>{O()},children:[c.jsx(Px,{size:14})," 清理文件"]})]}),c.jsx("div",{className:"de-artifact-version-list",children:(g.versions.length>0?g.versions:[g.item]).filter(Boolean).map(j=>{var w;return c.jsxs("div",{children:[c.jsx("strong",{children:String(j.version||"local-v1")}),c.jsx("span",{children:String(((w=j.delivery_summary)==null?void 0:w.delivery_status)||j.source_label||"未记录")}),c.jsx("em",{children:String(j.created_at||"")})]},String(j.artifact_id||j.version_key||j.created_at))})})]}):null]})}function p2({focusSection:t}){const a=x.useMemo(()=>l2(),[]),[i,s]=x.useState(null),[o,u]=x.useState("18:00"),[_,g]=x.useState(!0),[p,h]=x.useState(null),[k,b]=x.useState(null),A=x.useRef(!1),O=(i==null?void 0:i.source)==="live",C=O?(i==null?void 0:i.daily_report)??null:null,R=O?(C==null?void 0:C.task_sections)??(i==null?void 0:i.execution_summaries)??[]:[],j=O?(i==null?void 0:i.run_details)??[]:[],w=O?(C==null?void 0:C.artifact_sources)??[]:[],$=O?null:(i==null?void 0:i.demo_reason)??"当前没有真实运行投影,日报区域暂不展示兜底数据。",I=(C==null?void 0:C.totals)??{task_count:R.length,execution_count:R.reduce((W,oe)=>W+oe.total_count,0),success_count:R.reduce((W,oe)=>W+oe.success_count,0),failure_count:R.reduce((W,oe)=>W+oe.failure_count,0),running_count:R.reduce((W,oe)=>W+oe.running_count,0)},te=x.useCallback(async()=>{var W;g(!0),b(null);try{const oe=await ms(a);if(!A.current)return;s(oe),u(oe.source==="live"&&((W=oe.daily_report)==null?void 0:W.report_schedule_time)||"18:00")}catch(oe){if(!A.current)return;b(oe instanceof Error?oe.message:"日报数据加载失败")}finally{A.current&&g(!1)}},[a]);x.useEffect(()=>(A.current=!0,te(),()=>{A.current=!1}),[te]),x.useEffect(()=>{!t||_||window.setTimeout(()=>{var W;(W=document.getElementById(`report-section-${t}`))==null||W.scrollIntoView({block:"center",behavior:"smooth"})},80)},[t,_]);const ae=x.useCallback(async()=>{var W;h("update_report_schedule"),b(null);try{const oe=await ci({action:"update_report_schedule",date:a,report_schedule_time:o});if(!A.current)return;s(oe),u(oe.source==="live"&&((W=oe.daily_report)==null?void 0:W.report_schedule_time)||o),b("日报生成时间已更新。")}catch(oe){if(!A.current)return;b(oe instanceof Error?oe.message:"日报生成时间设置失败")}finally{A.current&&h(null)}},[o,a]),ie=x.useCallback(async()=>{var W;h("generate_daily_report"),b(null);try{const oe=await ci({action:"generate_daily_report",date:a,duty_ids:O?c2(i):[],report_schedule_time:o});if(!A.current)return;s(oe),u(oe.source==="live"&&((W=oe.daily_report)==null?void 0:W.report_schedule_time)||o),b("日报已生成,可下载本地文本。")}catch(oe){if(!A.current)return;b(oe instanceof Error?oe.message:"日报生成失败")}finally{A.current&&h(null)}},[O,i,o,a]),L=x.useCallback(()=>{!C||C.status!=="ready"||o2(C.download_filename||Of(a),C.text_content||d2(a,C,R,j,w))},[w,C,j,R,a]),le=x.useCallback(async W=>{if(!C||C.status!=="ready")return;const oe=W==="html"?C.html_artifact_id:C.pdf_artifact_id;if(oe){h(W==="html"?"download_html":"download_pdf"),b(null);try{const be=await Xv(oe,"download");if(!(be!=null&&be.ok)){b((be==null?void 0:be.error)||"日报导出失败");return}const q=be.preview||{};if(W==="html")by(C.html_filename||Of(a).replace(/\.txt$/,".html"),String(q.text||C.html_content||""),"text/html;charset=utf-8"),b("HTML 日报已导出。");else{const re=String(q.base64||"");if(!re){b("PDF 日报内容不可用");return}by(C.pdf_filename||Of(a).replace(/\.txt$/,".pdf"),u2(re),"application/pdf"),b("PDF 日报已导出。")}}catch(be){if(!A.current)return;b(be instanceof Error?be.message:"日报导出失败")}finally{A.current&&h(null)}}},[C,a]),we=x.useCallback(async W=>{if(!(C!=null&&C.report_id))return;h({send:"send_report",confirm:"confirm_report",request_approval:"request_approval"}[W]),b(null);try{const be=await X1({reportId:C.report_id,action:W,status:W==="send"?"sent":W==="confirm"?"confirmed":"pending",actor:W==="confirm"?"management":"digital_employee_operator",endpoint:"management-console"});if(!(be!=null&&be.eventId)&&!(be!=null&&be.event_id)){b("日报交付记录未写入");return}b(W==="send"?"日报发送记录已写入。":W==="confirm"?"管理端确认回执已写入。":"日报发送审批已创建。"),await te()}catch(be){if(!A.current)return;b(be instanceof Error?be.message:"日报交付记录失败")}finally{A.current&&h(null)}},[te,C==null?void 0:C.report_id]);return c.jsx("div",{style:{padding:"14px 18px"},children:c.jsxs(ys,{children:[c.jsx(Vr,{title:"日报生成",children:c.jsx("span",{className:"de-card-meta-text",children:a})}),c.jsx("div",{className:"de-card-body",children:_?c.jsx("div",{className:"de-loading-skeleton",style:{height:420}}):c.jsxs(c.Fragment,{children:[c.jsxs("section",{id:"report-section-today",className:"de-report-summary",style:{marginBottom:12},children:[c.jsxs("div",{className:"de-report-summary-head",children:[c.jsxs("div",{className:"de-report-summary-title-row",children:[c.jsx("h3",{children:(C==null?void 0:C.title)||"数字员工日报"}),c.jsx("p",{children:r2(C)})]}),c.jsx("span",{className:`de-report-badge ${s2(C)}`,children:i2(C)})]}),c.jsxs("div",{className:"de-report-summary-body",children:[c.jsxs("div",{className:"de-report-schedule-row",children:[c.jsxs("label",{children:[c.jsx("span",{children:"生成时间"}),c.jsx("input",{type:"time",value:o,onChange:W=>u(W.target.value||"18:00")})]}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:p==="update_report_schedule",onClick:()=>{ae()},children:"设置时间"}),c.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:p==="generate_daily_report",onClick:()=>{ie()},children:p==="generate_daily_report"?"生成中...":"生成日报"}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-report-download-btn",disabled:!(C!=null&&C.pdf_available),onClick:L,title:C!=null&&C.pdf_available?"下载本地日报文本":"生成日报后可下载本地日报",children:[c.jsx(ps,{size:14,"aria-hidden":"true"}),"下载日报"]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(C!=null&&C.html_artifact_id)||p==="download_html",onClick:()=>{le("html")},title:"导出 HTML 日报",children:[c.jsx(Kx,{size:14,"aria-hidden":"true"}),"导出 HTML"]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(C!=null&&C.pdf_artifact_id)||p==="download_pdf",onClick:()=>{le("pdf")},title:"导出 PDF 日报",children:[c.jsx(ps,{size:14,"aria-hidden":"true"}),"导出 PDF"]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(C!=null&&C.report_id)||p==="send_report",onClick:()=>{we("send")},title:"记录日报发送",children:[c.jsx(Jx,{size:14,"aria-hidden":"true"}),"记录发送"]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(C!=null&&C.report_id)||p==="confirm_report",onClick:()=>{we("confirm")},title:"写入管理端确认",children:[c.jsx(Ix,{size:14,"aria-hidden":"true"}),"确认回执"]}),c.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(C!=null&&C.report_id)||p==="request_approval",onClick:()=>{we("request_approval")},title:"发起日报审批",children:[c.jsx(Hf,{size:14,"aria-hidden":"true"}),"发起审批"]})]}),c.jsxs("div",{className:"de-report-metrics",children:[c.jsxs("div",{className:"de-report-metric",children:[c.jsx("span",{children:"任务总数"}),c.jsx("strong",{children:I.task_count})]}),c.jsxs("div",{className:"de-report-metric",children:[c.jsx("span",{children:"执行次数"}),c.jsx("strong",{children:I.execution_count})]}),c.jsxs("div",{className:"de-report-metric",children:[c.jsx("span",{children:"成功次数"}),c.jsx("strong",{children:I.success_count})]}),c.jsxs("div",{className:"de-report-metric",children:[c.jsx("span",{children:"失败次数"}),c.jsx("strong",{children:I.failure_count})]})]}),c.jsxs("div",{className:"de-report-meta",children:[c.jsx("p",{children:(C==null?void 0:C.summary)||"点击生成日报后,AI 会基于当天所有任务写出总分结构日报。"}),$?c.jsx("p",{children:$}):null,c.jsxs("p",{children:["计划生成时间:",o,";最近生成:",ob(C==null?void 0:C.generated_at)]}),k?c.jsx("p",{children:k}):null]})]})]}),c.jsxs("div",{style:a2,children:[c.jsxs("section",{id:"report-section-tasks",style:xo,children:[c.jsx("h3",{className:"de-settings-heading",style:{marginTop:0},children:"任务汇总"}),c.jsx(f2,{sections:R})]}),c.jsxs("section",{id:"report-section-details",style:xo,children:[c.jsx("h3",{className:"de-settings-heading",style:{marginTop:0},children:"运行明细"}),c.jsx(m2,{details:j})]}),c.jsxs("section",{id:"report-section-artifacts",style:xo,children:[c.jsx("h3",{className:"de-settings-heading",style:{marginTop:0},children:"产物来源"}),c.jsx(_2,{artifacts:w})]}),c.jsxs("section",{id:"report-section-summary",style:xo,children:[c.jsx("h3",{className:"de-settings-heading",style:{marginTop:0},children:"日报内容"}),((C==null?void 0:C.detail_lines)??[]).length===0?c.jsx("p",{className:"de-empty-text",style:{padding:"18px 0 6px"},children:"生成日报后会展示 AI 整理后的分项说明。"}):c.jsx("div",{className:"de-report-meta",children:((C==null?void 0:C.detail_lines)??[]).map(W=>c.jsx("p",{children:W},W))})]})]})]})})]})})}const ub=[{id:"plans",label:"计划"},{id:"tasks",label:"任务"},{id:"runs",label:"运行"},{id:"events",label:"事件"},{id:"artifacts",label:"产物"},{id:"approvals",label:"审批"}],h2={padding:"14px 18px"},g2={display:"grid",gridTemplateColumns:"minmax(180px, 1fr) repeat(4, minmax(120px, 160px)) auto",gap:8,alignItems:"end",marginBottom:12},y2={display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(280px, 360px)",gap:12,alignItems:"start"},v2={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},b2={width:"100%",minWidth:840,borderCollapse:"collapse"},ky={border:"1px solid var(--de-glass-border-lighter)",borderRadius:8,background:"rgba(255,255,255,0.72)",overflow:"hidden"},k2={padding:18,color:"var(--de-text-muted)",fontSize:13},xy={entity:"",status:"",syncStatus:"",updatedFrom:"",updatedTo:"",pageSize:20};function Sy(t){return ub.some(a=>a.id===t)?t:"plans"}function Tt(t,a="-"){return t==null||t===""?a:String(t)}function Sl(t){return Tt(t.entity_id||t.plan_id||t.task_id||t.run_id||t.event_id||t.artifact_id||t.approval_id,"unknown")}function db(t){return Tt(t.title||t.summary||t.kind||Sl(t),"未命名业务对象")}function lm(t){return Tt(t.updated_at||t.occurred_at||t.finished_at||t.started_at||t.created_at)}function x2(t,a){return a==="plans"?`任务 ${Tt(t.task_count,"0")} / 运行 ${Tt(t.run_count,"0")}`:a==="runs"?Tt(t.last_event_message||t.duration_ms,"无最近事件"):a==="events"?Tt(t.kind,"event"):a==="artifacts"?Tt(t.cleanup_status||t.deleted_at||t.uri||t.kind,"artifact"):a==="approvals"?Tt(t.approval_conflict_resolution||t.approval_conflict_resolved_at||t.decision||t.approval_conflict_reason||t.kind,"approval"):Tt(t.assigned_skill_id||t.operation||t.kind)}function S2(t,a){return{entity_id:t.entity.trim()||null,status:t.status.trim()||null,sync_status:t.syncStatus.trim()||null,updated_from:t.updatedFrom||null,updated_to:t.updatedTo||null,page_no:a,page_size:t.pageSize}}function w2(t){const a=String(t||"").toLowerCase();return["failed","error","rejected","conflict"].some(i=>a.includes(i))?"de-badge de-badge-danger":["pending","running","syncing","ready"].some(i=>a.includes(i))?"de-badge de-badge-warning":"de-badge de-badge-info"}function j2({row:t,onClose:a}){if(!t)return c.jsx("aside",{style:ky,children:c.jsx("div",{style:k2,children:"选择一行业务对象查看详情。"})});const i=t.business_view||t.payload?{business_view:t.business_view??null,payload:t.payload??null}:null;return c.jsxs("aside",{style:ky,"aria-label":"业务视图详情",children:[c.jsxs("div",{className:"de-artifact-preview",children:[c.jsxs("div",{children:[c.jsx("strong",{children:db(t)}),c.jsx("button",{type:"button",className:"de-icon-btn",onClick:a,title:"关闭","aria-label":"关闭",children:c.jsx(Co,{size:15})})]}),c.jsx("pre",{children:[`实体:${Sl(t)}`,`状态:${Tt(t.status)}`,`同步:${Tt(t.sync_status)}`,`Plan:${Tt(t.plan_id)}`,`Task:${Tt(t.task_id)}`,`Run:${Tt(t.run_id)}`,`时间:${lm(t)}`,t.sync_record_url?`Sync Record:${t.sync_record_url}`:"",t.summary?`摘要:${t.summary}`:""].filter(Boolean).join(`
|
||
`)})]}),i?c.jsxs("details",{className:"de-business-json",open:!0,children:[c.jsx("summary",{children:"JSON 详情"}),c.jsx("pre",{children:JSON.stringify(i,null,2)})]}):null]})}function C2({initialKind:t,focusEntityId:a}){const[i,s]=x.useState(()=>Sy(t)),[o,u]=x.useState({...xy,entity:a||""}),[_,g]=x.useState(1),[p,h]=x.useState([]),[k,b]=x.useState(0),[A,O]=x.useState(null),[C,R]=x.useState(null),[j,w]=x.useState(!1),[$,I]=x.useState(null);x.useEffect(()=>{s(Sy(t))},[t]),x.useEffect(()=>{a&&u(L=>({...L,entity:a}))},[a]);const te=x.useCallback(async()=>{w(!0),I(null);try{const L=await q1(i,S2(o,_));h(L.items??[]),b(L.total??0),O(L.source??null),R(le=>le?(L.items??[]).find(we=>Sl(we)===Sl(le))??null:null)}catch(L){h([]),b(0),I(L instanceof Error?L.message:"业务视图加载失败")}finally{w(!1)}},[o,i,_]);x.useEffect(()=>{te()},[te]);const ae=x.useMemo(()=>Math.max(1,Math.ceil(k/o.pageSize)),[o.pageSize,k]),ie=(L,le)=>{u(we=>({...we,[L]:le})),g(1)};return c.jsx("div",{style:h2,children:c.jsxs(ys,{children:[c.jsx(Vr,{title:"业务视图",children:c.jsx("span",{className:"de-card-meta-text",children:A||"qimingclaw 本地业务查询"})}),c.jsxs("div",{className:"de-card-body",children:[c.jsx("div",{className:"de-segmented-tabs",role:"tablist","aria-label":"业务视图类型",children:ub.map(L=>c.jsx("button",{type:"button",className:L.id===i?"active":"",onClick:()=>{s(L.id),g(1),R(null)},children:L.label},L.id))}),c.jsxs("div",{style:g2,className:"de-business-toolbar",children:[c.jsxs("label",{children:[c.jsx("span",{children:"关键词 / 实体 ID"}),c.jsx("input",{value:o.entity,onChange:L=>ie("entity",L.target.value),placeholder:"plan / task / artifact"})]}),c.jsxs("label",{children:[c.jsx("span",{children:"状态"}),c.jsx("input",{value:o.status,onChange:L=>ie("status",L.target.value),placeholder:"pending"})]}),c.jsxs("label",{children:[c.jsx("span",{children:"同步状态"}),c.jsx("input",{value:o.syncStatus,onChange:L=>ie("syncStatus",L.target.value),placeholder:"synced"})]}),c.jsxs("label",{children:[c.jsx("span",{children:"起始时间"}),c.jsx("input",{type:"date",value:o.updatedFrom,onChange:L=>ie("updatedFrom",L.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"结束时间"}),c.jsx("input",{type:"date",value:o.updatedTo,onChange:L=>ie("updatedTo",L.target.value)})]}),c.jsxs("div",{className:"de-business-actions",children:[c.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{te()},title:"搜索","aria-label":"搜索",children:c.jsx(Zx,{size:15})}),c.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{u(xy),g(1)},title:"重置","aria-label":"重置",children:c.jsx(ri,{size:15})})]})]}),$?c.jsx("p",{className:"de-inline-notice",children:$}):null,c.jsxs("div",{style:y2,className:"de-business-layout",children:[c.jsx("section",{style:v2,"aria-label":"业务视图列表",children:c.jsxs("table",{style:b2,className:"de-business-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{children:"标题 / 实体"}),c.jsx("th",{children:"状态"}),c.jsx("th",{children:"关联"}),c.jsx("th",{children:"扩展字段"}),c.jsx("th",{children:"同步"}),c.jsx("th",{children:"更新时间"}),c.jsx("th",{children:"详情"})]})}),c.jsx("tbody",{children:p.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:7,children:j?"加载中...":"暂无业务对象"})}):p.map(L=>c.jsxs("tr",{className:C&&Sl(C)===Sl(L)?"active":"",children:[c.jsxs("td",{children:[c.jsx("strong",{children:db(L)}),c.jsx("code",{children:Sl(L)})]}),c.jsx("td",{children:c.jsx("span",{className:w2(L.status),children:Tt(L.status)})}),c.jsxs("td",{children:[c.jsx("span",{children:Tt(L.plan_id)}),c.jsx("span",{children:Tt(L.task_id)}),c.jsx("span",{children:Tt(L.run_id)})]}),c.jsx("td",{children:x2(L,i)}),c.jsx("td",{children:Tt(L.sync_status)}),c.jsx("td",{children:lm(L)}),c.jsx("td",{children:c.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>R(L),title:"详情","aria-label":"详情",children:c.jsx(Mo,{size:15})})})]},`${i}:${Sl(L)}:${lm(L)}`))})]})}),c.jsx(j2,{row:C,onClose:()=>R(null)})]}),c.jsxs("div",{className:"de-business-pagination",children:[c.jsxs("span",{children:["共 ",k," 条"]}),c.jsxs("label",{children:[c.jsx("span",{children:"每页"}),c.jsxs("select",{value:o.pageSize,onChange:L=>ie("pageSize",Number(L.target.value)||20),children:[c.jsx("option",{value:10,children:"10"}),c.jsx("option",{value:20,children:"20"}),c.jsx("option",{value:50,children:"50"})]})]}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_<=1,onClick:()=>g(L=>Math.max(1,L-1)),children:"上一页"}),c.jsxs("span",{children:[_," / ",ae]}),c.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_>=ae,onClick:()=>g(L=>Math.min(ae,L+1)),children:"下一页"})]})]})]})})}const A2=["sales","engineering","hr","finance","executive"],im="qimingclaw:digital-role-preferences",sm="sgrobot-role-preferences",Or={workStart:"09:00",workEnd:"18:00",notification:"system",reportTime:"17:30",avatarStyle:"professional",reminderLevel:"important"},N2={compact:"紧凑",balanced:"均衡",presentation:"汇报"},E2=[{id:"medium",label:"中风险"},{id:"high",label:"高风险"},{id:"critical",label:"严重风险"}],wy=[{id:"governance.run_schedule_now",label:"立即运行调度"},{id:"plan_step.dispatch_ready_steps",label:"派发 Ready 步骤"},{id:"managed_service.restart.fileServer",label:"重启文件服务"},{id:"artifact.access.open_location",label:"打开产物位置"}],jy={enabled:!0,approval_required_risk_levels:["high","critical"],approval_required_actions:[],auto_reject_actions:[],updated_at:null,source:"local",remote_updated_at:null,last_pulled_at:null,last_pull_error:null},Cy={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12},ua={display:"flex",flexDirection:"column",gap:6,border:"1px solid var(--de-glass-border-lighter)",borderRadius:10,padding:"12px 14px",background:"linear-gradient(180deg, rgba(244,250,255,0.82), rgba(235,246,255,0.58))"},li={minHeight:34,borderRadius:8,border:"1px solid var(--de-glass-border-light)",background:"rgba(255,255,255,0.72)",color:"var(--de-text-primary)",padding:"0 10px"};function T2(){try{const t=localStorage.getItem(im)??localStorage.getItem(sm);return t?{...Or,...JSON.parse(t)}:Or}catch{return Or}}function D2(t){return!t||typeof t!="object"||Array.isArray(t)?Or:{...Or,...t}}function R2(){const{role:t,profile:a,setRole:i}=aS(),[s,o]=x.useState(T2),[u,_]=x.useState(jy),[g,p]=x.useState(!1),h=x.useRef(null);x.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]),x.useEffect(()=>{let w=!1;return Zy().then($=>{if(w||!($!=null&&$.rolePreferences))return;const I=D2($.rolePreferences);o(I);try{localStorage.setItem(im,JSON.stringify(I)),localStorage.removeItem(sm)}catch{}}),()=>{w=!0}},[]),x.useEffect(()=>{let w=!1;return $1().then($=>{w||_($)}).catch(()=>{w||_(jy)}),()=>{w=!0}},[]);const k=()=>{p(!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>p(!1),2e3)},b=w=>{o(w);try{localStorage.setItem(im,JSON.stringify(w)),localStorage.removeItem(sm)}catch{}Jy({rolePreferences:w},{action:"update_role_preferences",metadata:{preferences:w}}),k()},A=(w,$)=>{b({...s,[w]:$})},O=w=>{i(w),k()},C=w=>{const $={...u,...w};_($),M1(w).then(I=>_(I)).catch(()=>_(u)),k()},R=w=>{const $=new Set(u.approval_required_risk_levels);$.has(w)?$.delete(w):$.add(w),C({approval_required_risk_levels:Array.from($)})},j=(w,$)=>{const I=new Set(u[w]);I.has($)?I.delete($):I.add($),C({[w]:Array.from(I)})};return c.jsx("div",{style:{padding:"14px 18px"},children:c.jsxs(ys,{children:[c.jsx(Vr,{title:"角色偏好",children:g&&c.jsx("span",{className:"de-card-meta-text",children:"已保存"})}),c.jsxs("div",{className:"de-card-body",children:[c.jsxs("section",{className:"de-settings-section",children:[c.jsx("h3",{className:"de-settings-heading",children:"数字员工角色"}),c.jsx("p",{className:"de-settings-desc",children:"选择日常协作身份,数字员工会按你的岗位重点调整提醒和汇总口径。"}),c.jsx("div",{className:"de-role-grid",children:A2.map(w=>c.jsxs("button",{className:`de-role-card ${t===w?"active":""}`,onClick:()=>O(w),children:[c.jsx("span",{className:"de-role-label",children:nm(Lr[w].labelKey)}),c.jsxs("span",{className:"de-role-density",children:[N2[Lr[w].density]??"均衡","视图"]})]},w))})]}),c.jsxs("section",{className:"de-settings-section",children:[c.jsx("h3",{className:"de-settings-heading",children:"工作偏好"}),c.jsxs("div",{style:Cy,children:[c.jsxs("label",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"工作开始时间"}),c.jsx("input",{style:li,type:"time",value:s.workStart,onChange:w=>A("workStart",w.target.value)})]}),c.jsxs("label",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"工作结束时间"}),c.jsx("input",{style:li,type:"time",value:s.workEnd,onChange:w=>A("workEnd",w.target.value)})]}),c.jsxs("label",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"默认日报时间"}),c.jsx("input",{style:li,type:"time",value:s.reportTime,onChange:w=>A("reportTime",w.target.value)})]}),c.jsxs("label",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"通知方式"}),c.jsxs("select",{style:li,value:s.notification,onChange:w=>A("notification",w.target.value),children:[c.jsx("option",{value:"system",children:"系统通知"}),c.jsx("option",{value:"email",children:"邮件提醒"}),c.jsx("option",{value:"silent",children:"只在页面显示"})]})]}),c.jsxs("label",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"数字员工形象偏好"}),c.jsxs("select",{style:li,value:s.avatarStyle,onChange:w=>A("avatarStyle",w.target.value),children:[c.jsx("option",{value:"professional",children:"专业稳重"}),c.jsx("option",{value:"friendly",children:"亲和协作"}),c.jsx("option",{value:"concise",children:"简洁高效"})]})]}),c.jsxs("label",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"任务提醒偏好"}),c.jsxs("select",{style:li,value:s.reminderLevel,onChange:w=>A("reminderLevel",w.target.value),children:[c.jsx("option",{value:"important",children:"只提醒重要事项"}),c.jsx("option",{value:"all",children:"所有进展都提醒"}),c.jsx("option",{value:"quiet",children:"尽量少打扰"})]})]})]})]}),c.jsxs("section",{className:"de-settings-section",children:[c.jsx("h3",{className:"de-settings-heading",children:"风险审批策略"}),c.jsx("p",{className:"de-settings-desc",children:"调整客户端高风险动作在执行前是否需要人工审批,或直接拒绝。"}),c.jsxs("div",{style:Cy,children:[c.jsxs("label",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"启用策略"}),c.jsxs("select",{style:li,value:u.enabled?"enabled":"disabled",onChange:w=>C({enabled:w.target.value==="enabled"}),children:[c.jsx("option",{value:"enabled",children:"启用"}),c.jsx("option",{value:"disabled",children:"关闭"})]})]}),c.jsxs("div",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"按风险等级审批"}),E2.map(w=>c.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8},children:[c.jsx("input",{type:"checkbox",checked:u.approval_required_risk_levels.includes(w.id),onChange:()=>R(w.id)}),c.jsx("span",{children:w.label})]},w.id))]}),c.jsxs("div",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"指定动作需审批"}),wy.map(w=>c.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8},children:[c.jsx("input",{type:"checkbox",checked:u.approval_required_actions.includes(w.id),onChange:()=>j("approval_required_actions",w.id)}),c.jsx("span",{children:w.label})]},w.id))]}),c.jsxs("div",{style:ua,children:[c.jsx("span",{className:"de-role-label",children:"指定动作直接拒绝"}),wy.map(w=>c.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8},children:[c.jsx("input",{type:"checkbox",checked:u.auto_reject_actions.includes(w.id),onChange:()=>j("auto_reject_actions",w.id)}),c.jsx("span",{children:w.label})]},w.id))]})]})]}),c.jsxs("details",{className:"de-settings-section",style:{marginBottom:0},children:[c.jsx("summary",{className:"de-settings-heading",style:{cursor:"pointer"},children:"高级技术设置"}),c.jsxs("p",{className:"de-settings-desc",children:["默认隐藏,仅供技术人员排查使用。当前角色刷新阈值:",Math.round(a.staleDataThresholdMs/1e3)," 秒。"]})]})]})]})})}const fb=[{id:"home",label:"首页"},{id:"missions",label:"任务中心"},{id:"skills",label:"技能库"},{id:"reports",label:"日报"},{id:"business",label:"业务视图"},{id:"settings",label:"设置"}],$2="qimingclaw:digital-close",M2=[{id:"info",label:"消息"},{id:"warn",label:"提醒"},{id:"error",label:"异常"},{id:"action",label:"待处理"}],z2=[{id:"task_finished",label:"任务完成"},{id:"task_failed",label:"任务异常"},{id:"need_approval",label:"审批"},{id:"need_input",label:"输入"},{id:"task_progress",label:"进度"}],qf={enabled:!0,desktop_enabled:!0,muted_kinds:[],muted_levels:[],updated_at:null},mb="qimingclaw:digital-desktop-notified:v1",O2=new Set(["action","warn","error"]);function _b(t){return!!(t&&fb.some(a=>a.id===t))}function q2(t){const a=t.split("/").filter(Boolean),i=a.length>0?a[a.length-1]:null;return _b(i)?i:null}function Ay(t,a){const i=new URLSearchParams(a),s=i.get("tab");return{tab:_b(s)?s:q2(t)??"home",date:i.get("date"),missionId:i.get("mission"),taskId:i.get("task"),skillId:i.get("skill"),reportSection:i.get("section"),businessKind:i.get("kind"),entityId:i.get("entity")}}function L2({target:t,onNavigate:a}){switch(t.tab){case"home":return c.jsx(sA,{onNavigate:a});case"missions":return c.jsx(QA,{focusMissionId:t.missionId,focusTaskId:t.taskId,focusDate:t.date});case"skills":return c.jsx(n2,{focusSkillId:t.skillId});case"reports":return c.jsx(p2,{focusSection:t.reportSection});case"business":return c.jsx(C2,{initialKind:t.businessKind,focusEntityId:t.entityId});case"settings":return c.jsx(R2,{})}}function B2(){if(window.parent&&window.parent!==window){const t=window.location.origin==="null"?"*":window.location.origin;window.parent.postMessage({type:$2},t);return}window.close()}function U2(t){return t==="action"?"待处理":t==="error"?"异常":t==="warn"?"提醒":"消息"}function H2(t){return t==="resolved"?"已解决":t==="dismissed"?"已忽略":t==="read"?"已读":"未读"}function I2(t){const a=new Date(t);return Number.isNaN(a.getTime())?t:new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit"}).format(a)}function rm(t){return t?t==="notification_unavailable"?"系统桌面通知不可用或未授权":t==="notification_settings_unavailable"?"当前平台无法自动打开系统通知设置":t==="qimingclaw_bridge_unavailable"?"客户端通知桥接尚不可用":t:null}function Ny(t){return rm(t.reason)??t.error??"通知未能发送"}function G2(){try{const t=window.localStorage.getItem(mb),a=t?JSON.parse(t):[];return new Set(Array.isArray(a)?a.filter(i=>typeof i=="string"):[])}catch{return new Set}}function Y2(t){try{window.localStorage.setItem(mb,JSON.stringify(Array.from(t).slice(-300)))}catch{}}function K2(t,a){return!a.enabled||!a.desktop_enabled||t.status!=="unread"||!O2.has(t.level)||a.muted_levels.includes(t.level)?!1:!a.muted_kinds.includes(t.kind)}async function Q2(t,a){const i=G2(),s=t.filter(u=>K2(u,a)&&!i.has(u.notification_id));return s.length===0?null:(s.forEach(u=>i.add(u.notification_id)),Y2(i),(await Promise.all(s.slice(0,3).map(u=>Vv({notification_id:u.notification_id,title:u.title,body:u.body,level:u.level,kind:u.kind,status:u.status}).catch(_=>({ok:!1,shown:!1,error:_ instanceof Error?_.message:String(_)}))))).find(u=>u.ok===!1||u.shown!==!0)??null)}function V2(){const t=Fn(),a=dm(),[i,s]=x.useState(()=>Ay(t.pathname,t.search)),[o,u]=x.useState(!1),[_,g]=x.useState([]),[p,h]=x.useState(0),[k,b]=x.useState(!1),[A,O]=x.useState(!1),[C,R]=x.useState(!1),[j,w]=x.useState(qf),[$,I]=x.useState(null),[te,ae]=x.useState(!1),[ie,L]=x.useState(!1),[le,we]=x.useState(!1),[W,oe]=x.useState(null),[be,q]=x.useState({}),re=x.useCallback(async()=>{ae(!0);try{I(await N1())}catch(Y){I({supported:!1,platform:"unknown",can_open_settings:!1,reason:Y instanceof Error?Y.message:String(Y)})}finally{ae(!1)}},[]),de=x.useCallback(async()=>{b(!0);try{const[Y,Ae,ht]=await Promise.all([S1("all"),w1(),j1().catch(()=>qf)]);g(Y),h(Ae),w(ht),Q2(Y,ht).then(Ue=>{Ue&&oe({tone:"warning",message:"自动桌面通知发送失败",detail:Ny(Ue)})})}catch{g([]),h(0),w(qf)}finally{b(!1)}},[]);x.useEffect(()=>{s(Ay(t.pathname,t.search))},[t.pathname,t.search]),x.useEffect(()=>{de()},[de]),x.useEffect(()=>{C&&re()},[C,re]);const H=x.useCallback(Y=>{s(Y);const Ae=new URLSearchParams;Y.tab!=="home"&&Ae.set("tab",Y.tab),Y.date&&Ae.set("date",Y.date),Y.missionId&&Ae.set("mission",Y.missionId),Y.taskId&&Ae.set("task",Y.taskId),Y.skillId&&Ae.set("skill",Y.skillId),Y.reportSection&&Ae.set("section",Y.reportSection),Y.businessKind&&Ae.set("kind",Y.businessKind),Y.entityId&&Ae.set("entity",Y.entityId),a({pathname:t.pathname,search:Ae.toString()?`?${Ae.toString()}`:""},{replace:!1})},[t.pathname,a]),Z=x.useCallback(async Y=>{await L1(Y),await de()},[de]),ne=x.useCallback(async Y=>{await B1(Y),await de()},[de]),he=x.useCallback(async Y=>{const Ae=(be[Y]??"").trim();Ae&&(await U1(Y,Ae),q(ht=>({...ht,[Y]:""})),await de())},[de,be]),J=x.useCallback(async()=>{O(!0);try{await A1()}finally{O(!1),await de()}},[de]),E=x.useCallback(async Y=>{const Ae=await C1(Y);w(Ae),await de()},[de]),K=x.useCallback(Y=>{const Ae=new Set(j.muted_levels);Ae.has(Y)?Ae.delete(Y):Ae.add(Y),E({muted_levels:Array.from(Ae)})},[j.muted_levels,E]),ee=x.useCallback(Y=>{const Ae=new Set(j.muted_kinds);Ae.has(Y)?Ae.delete(Y):Ae.add(Y),E({muted_kinds:Array.from(Ae)})},[j.muted_kinds,E]),ce=x.useCallback(async()=>{L(!0);try{const Y=await Vv({notification_id:`desktop-notification-test-${Date.now()}`,title:"数字员工桌面通知测试",body:"如果看到这条通知,系统桌面通知入口已可用。",level:"info",kind:"task_progress",status:"unread"});oe(Y.ok!==!1&&Y.shown===!0?{tone:"success",message:"测试桌面通知已发送",detail:null}:{tone:"warning",message:"测试桌面通知发送失败",detail:Ny(Y)}),await re()}catch(Y){oe({tone:"warning",message:"测试桌面通知发送失败",detail:Y instanceof Error?Y.message:String(Y)})}finally{L(!1)}},[re]),ve=x.useCallback(async()=>{we(!0);try{const Y=await E1();oe(Y.success?{tone:"success",message:"已打开系统设置",detail:null}:{tone:"warning",message:"无法打开系统设置",detail:rm(Y.reason)??Y.error??"当前平台不支持自动打开"}),await re()}catch(Y){oe({tone:"warning",message:"无法打开系统设置",detail:Y instanceof Error?Y.message:String(Y)})}finally{we(!1)}},[re]),Ce=(W==null?void 0:W.tone)==="warning"||($==null?void 0:$.supported)===!1?"warning":"success",F=(W==null?void 0:W.message)??(te?"正在检查桌面通知":($==null?void 0:$.supported)===!1?"系统桌面通知不可用":"系统桌面通知可用"),me=(W==null?void 0:W.detail)??rm($==null?void 0:$.reason)??($!=null&&$.platform?`平台:${$.platform}`:null),Be=($==null?void 0:$.can_open_settings)===!0||Ce==="warning";return c.jsx(nS,{children:c.jsxs("div",{className:"de-shell",children:[c.jsx("header",{className:"de-header",children:c.jsxs("div",{className:"de-header-content",children:[c.jsxs("div",{className:"de-header-left",children:[c.jsx("div",{className:"de-header-accent-bar"}),c.jsx("h1",{className:"de-header-title",children:"智能数字人系统"})]}),c.jsx("div",{className:"de-header-center",children:fb.map(Y=>c.jsx("button",{className:`de-nav-btn ${i.tab===Y.id?"active":""}`,onClick:()=>H({tab:Y.id}),children:c.jsx("span",{children:Y.label})},Y.id))}),c.jsxs("div",{className:"de-header-right",children:[c.jsx("span",{className:"de-header-welcome",children:"欢迎您,"}),c.jsx("span",{className:"de-header-username",children:"王琦"}),c.jsx("button",{type:"button",className:"de-header-icon",title:"消息",children:c.jsx(Xx,{size:16})}),c.jsxs("div",{className:"de-notification-anchor",children:[c.jsxs("button",{type:"button",className:`de-header-icon ${o?"active":""}`,title:"通知",onClick:()=>{u(Y=>!Y),de()},children:[c.jsx(Ux,{size:16}),p>0&&c.jsx("span",{className:"de-notification-count",children:p>99?"99+":p})]}),o&&c.jsxs("div",{className:"de-notification-popover",children:[c.jsxs("div",{className:"de-notification-head",children:[c.jsxs("div",{className:"de-notification-head-title",children:[c.jsx("strong",{children:"通知"}),c.jsx("span",{children:p>0?`${p} 条未读`:"暂无未读"})]}),c.jsxs("div",{className:"de-notification-head-actions",children:[c.jsx("button",{type:"button",className:`de-header-icon de-notification-close ${A?"active":""}`,title:"同步通知",onClick:()=>{J()},disabled:A,children:c.jsx(ri,{size:14})}),c.jsx("button",{type:"button",className:`de-header-icon de-notification-close ${C?"active":""}`,title:"通知设置",onClick:()=>R(Y=>!Y),children:c.jsx(Fx,{size:14})}),c.jsx("button",{type:"button",className:"de-header-icon de-notification-close",title:"关闭",onClick:()=>u(!1),children:c.jsx(Co,{size:14})})]})]}),C&&c.jsxs("div",{className:"de-notification-preferences",children:[c.jsxs("label",{className:"de-notification-switch",children:[c.jsx("input",{type:"checkbox",checked:j.enabled,onChange:Y=>{E({enabled:Y.target.checked})}}),c.jsx("span",{children:"接收通知"})]}),c.jsxs("label",{className:"de-notification-switch",children:[c.jsx("input",{type:"checkbox",checked:j.desktop_enabled,onChange:Y=>{E({desktop_enabled:Y.target.checked})}}),c.jsx("span",{children:"桌面通知"})]}),c.jsxs("div",{className:`de-notification-desktop-status de-notification-desktop-status--${Ce}`,children:[c.jsxs("div",{className:"de-notification-desktop-copy",children:[c.jsx("span",{children:"桌面通知状态"}),c.jsx("strong",{children:F}),me&&c.jsx("small",{children:me})]}),c.jsxs("div",{className:"de-notification-desktop-actions",children:[c.jsxs("button",{type:"button",className:"de-notification-desktop-btn",title:"测试桌面通知",onClick:()=>{ce()},disabled:ie,children:[c.jsx(Bx,{size:13}),c.jsx("span",{children:"测试桌面通知"})]}),Be&&c.jsxs("button",{type:"button",className:"de-notification-desktop-btn",title:"打开系统设置",onClick:()=>{ve()},disabled:le,children:[c.jsx(Yx,{size:13}),c.jsx("span",{children:"打开系统设置"})]})]})]}),c.jsxs("div",{className:"de-notification-preference-group",children:[c.jsx("span",{children:"静音等级"}),c.jsx("div",{className:"de-notification-segment-row",children:M2.map(Y=>c.jsx("button",{type:"button",className:j.muted_levels.includes(Y.id)?"active":"",title:`${Y.label}静音`,onClick:()=>K(Y.id),children:Y.label},Y.id))})]}),c.jsxs("div",{className:"de-notification-preference-group",children:[c.jsx("span",{children:"静音类型"}),c.jsx("div",{className:"de-notification-toggle-grid",children:z2.map(Y=>c.jsxs("label",{children:[c.jsx("input",{type:"checkbox",checked:j.muted_kinds.includes(Y.id),onChange:()=>ee(Y.id)}),c.jsx("span",{children:Y.label})]},Y.id))})]})]}),c.jsxs("div",{className:"de-notification-list",children:[k&&c.jsx("div",{className:"de-notification-empty",children:"加载中"}),!k&&_.length===0&&c.jsx("div",{className:"de-notification-empty",children:"暂无通知"}),!k&&_.map(Y=>c.jsxs("article",{className:`de-notification-item de-notification-item--${Y.level}`,children:[c.jsxs("div",{className:"de-notification-item-head",children:[c.jsx("span",{className:"de-notification-level",children:U2(Y.level)}),c.jsx("span",{className:"de-notification-time",children:I2(Y.created_at)})]}),c.jsxs("div",{className:"de-notification-title-row",children:[c.jsx("h3",{children:Y.title}),c.jsx("span",{children:H2(Y.status)})]}),c.jsx("p",{children:Y.body}),Y.reply&&c.jsx("div",{className:"de-notification-reply",children:Y.reply}),Y.status!=="resolved"&&Y.status!=="dismissed"&&c.jsxs("div",{className:"de-notification-actions",children:[Y.status==="unread"&&c.jsx("button",{type:"button",className:"de-notification-icon-btn",title:"标记已读",onClick:()=>void Z(Y.notification_id),children:c.jsx(Hx,{size:14})}),c.jsx("button",{type:"button",className:"de-notification-icon-btn",title:"忽略",onClick:()=>void ne(Y.notification_id),children:c.jsx(Co,{size:14})})]}),Y.kind==="need_input"&&Y.status!=="dismissed"&&c.jsxs("div",{className:"de-notification-reply-row",children:[c.jsx("input",{value:be[Y.notification_id]??"",onChange:Ae=>q(ht=>({...ht,[Y.notification_id]:Ae.target.value}))}),c.jsx("button",{type:"button",className:"de-notification-icon-btn",title:"回复",onClick:()=>void he(Y.notification_id),children:c.jsx(jo,{size:14})})]})]},Y.notification_id))]})]})]}),c.jsx("button",{type:"button",className:"de-header-icon de-header-close",title:"关闭",onClick:B2,children:c.jsx(Co,{size:17})})]})]})}),c.jsx("div",{className:"de-shell-body",children:c.jsx(L2,{target:i,onNavigate:H})})]})})}function X2(){return c.jsx(Cx,{children:c.jsxs(nx,{children:[c.jsx(Bf,{path:"/digital/*",element:c.jsx(V2,{})}),c.jsx(Bf,{path:"*",element:c.jsx(ex,{to:"/digital",replace:!0})})]})})}ak.createRoot(document.getElementById("root")).render(c.jsx(J0.StrictMode,{children:c.jsx(X2,{})}));
|